Разработка структуры гипотетического микропроцессора и центральной части МЭВМ на его базе. Эмуляция выполнения команд

Курсовой проект - Компьютеры, программирование

Другие курсовые по предмету Компьютеры, программирование

 исунок 3.2 - Структурная схема операции умножения

Состав ОА:

1)НСМ - накапливающий сумматор (первый операнд);

2)РМт - регистр множителя;

)РМн - регистр множимого;

)СТ - счетчик тактов.

Список микроопераций:

1)Y1: НСМ:=0;

2)Y2: НСМ:=0.R1(НСМ);

3)Y3: НСМ:=НСМ+РМн;

4)Y4: РМт:=НСМ[n].R1(РМт);

5)Y5: СТ:=n;

6)Y6: СТ:=СТ-1;

)Y7: 0F :=1;

8)Y8: 0F :=0.

Осведомительные сигналы:

1)X1: РМт[n];

2)X2: СТ=0;

)X3: НСМ=0.

 

3.1.3 Разработка ОА для операции декремента DEC

Структурная схема операции DEC приведена на рисунке 3.3.

 

Рисунок 3.3 Структурная схема операции декремента

 

Список микроопераций:

) Y1: Р1:=Р1 - 1.

3.2 Разработка общего ОА АЛУ

 

На рисунке 3.4 приведена структурная схема общего ОА АЛУ.

 

Рисунок 3.4 Структурная схема ОА АЛУ ЗМО

 

Состав ОА:

1)НСМ - накапливающий сумматор;

2)Р1 - регистр (первый операнд);

)Р2 - регистр (второй операнд);

)СТ - счетчик тактов;

)ТП - триггер переполнения;

)РКО - регистр кода операции;

7)BR1, BR2 - буферные регистры.

Список микроопераций:

1)Y1: НСМ:=0;

2)Y2: НСМ:=BR1;

3)Y3: Р1:=BR1;

4)Y4: Р2:=BR2;

5)Y5: НСМ:=0.R1(НСМ);

6)Y6: НСМ:=НСМ+Р2;

7)Y7: Р1:=НСМ[n].R1(Р1);

8)Y8: СТ:=n;

9)Y9: СТ:=СТ-1;

10)Y10: НСМ := НСМ + Р2;

11)Y11: НСМ := НСМ + Р2[1]Р2[1]. Р2[2:n];

12)Y12: НСМ := НСМ[1] НСМ[п]. НСМ[2:n];

13)Y13: ТП :=1;

14)Y14: Р1:= Р1-1;

15)Y15: CF:= 0;

16)Y16: CF:= 1;

17)Y17: OF:= 0;

18)Y18: OF:= 1;

19)Y19: РКО:= КОП;

20)Y20: АЛУ:= 0;

21)Y21: РР[0:n] := НСМ;

22)Y22: РР[n+1:2n]:= Р1. Осведомительные сигналы:

1)X1: Р1[n];

2)X2: НСМ[1];

3)X3: НСМ[п];

4)X4: СТ=0;

5)X5: РКО = ADD;

6)X6: РКО = MUL;

7)X7: РКО = DEC;

8)X8: АЛУ;

9)X10: НСМ.

 

3.3 Разработка микропрограмм выполнения операций в АЛУ

 

3.3.1 Арифметическая операция сложения ADD

На рисунке 3.5 изображена микропрограмма сложения:

Рисунок 3.5 - Микропрограмма сложения

 

Команда ADD выполняет сложение побитно. При переполнении ТП устанавливается в единицу.

 

3.3.2 Арифметическая операция беззнакового умножения MUL по алгоритму с младших разрядов множителя со сдвигом частичных сумм вправо

На рисунке 1.5 изображен алгоритм умножения по алгоритму с младших разрядов множителя со сдвигом частичных сумм вправо:

 

Рисунок 3.6 - Микропрограмма умножения

MUL- целочисленное умножение без знака AL или AX на заданный операнд (регистр или переменная) и помещает результат в AX или AX:DX, соответственно. Если результат операции превосходит размер операнда, то OF и CF устанавливаются в 1, иначе оба флага сбрасываются.

 

3.3.3 Арифметическая операция декремента DEC

На рисунке 3.7 изображенa микропрограмма декремента:

 

Рисунок 3.7 - Микропрограмма декремента

 

Команда DEC выполняет вычитание единицы из операнда.

 

3.4 Разработка объединенной микропрограммы АЛУ

 

Данная микропрограмма выполняет три команды: ADD, MUL и DEC.

На рисунке 3.8 представлена объединенная микропрограмма АЛУ.

 

Рисунок 3.8 - Микропрограмма работы АЛУ

4. РАЗРАБОТКА ГИПОТЕТИЧЕСКОГО МИКРОПРОЦЕССОРA

 

4.1 Разработка структуры микропроцессора

 

Поскольку в данном проекте реализуется выполнение лишь нескольких команд, то структура микропроцессора значительно упрощается по сравнению со структурой процессора-прототипа. Такая упрощенная структура изображена на рисунке 4.1.

 

Рисунок 4.1 Структура гипотетического микропроцессора

 

Состав:

1.БАД - буфер адреса данных;

2.СФА - сумматор физического адреса;

.Сегментные регистры:

-CS - регистр сегмента кода;

-DS - регистр сегмента данных.

4.EIP - программный счетчик (указатель программы);

5.BR1, BR2 - буферные регистры операндов АЛУ;

.РО - регистр обмена;

.ОК - очередь команд;

.РК - регистр команд;

.Регистры общего назначения:

-EAX - аккумулятор;

-ECX - счетчик;

-EDX - регистр данных.

10.Регистры циклов:

-ESI - смещение для источника;

-EDI - смещение для приемника.

11.АЛУ - арифметико-логическое устройство;

12.РФ - регистр флагов;

.РР - регистр результата;

.МУУ - местное устройство управление;

.УУ и С - устройство управления и синхронизации

.ША - шина данных;

.ШД - шина адреса.

Осведомительные сигналы пуск и стоп запускают и прекращают работу микропроцессора соответственно.

 

4.2 Система команд микропроцессора

 

Система команд гипотетического микропроцессора включает шесть команд: арифметические команды ADD, MUL и DEC, команду пересылки MOV и команды перехода JMP и JA.

 

4.2.1 Команда ADD AL,imm8

Команда ADD выполняет сложение побитно.

Код операции: 82 C0 или 14 XX,

где XX - непосредственный операнд (8 бит).

Размер команды: 16 бит.

Алгоритм выполнения:

) извлечь из регистра значение;

2) поместить непосредственный операнд в ОП;

) поместить операнды в АЛУ;

) выполнить ADD;

) извлечь результат и поместить в регистр;

) установить значения флагов.

 

4.2.2 Команда MUL r8

Команда MUL выполняет умножение беззнаковых двоичных чисел. MUL воспринимает старший бит в качестве бита данных, а не бита знака. Операция подразумевает, что множимое располагается в регистре AL. Результаты помещаются в AX.

Влияет на состояние флагов CF и OF следующим образом(флаги AF, PF, SF и ZF не определены): если старшая половина результата (AH) содержит только нули, т. е. результат целиком помещается в младшей половине, то флаги CF и OF устанавливаются в н?/p>