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

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

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

перанд.

Команда DEC уменьшает значение операнда на единицу, не влияет на флаги. В роли операнда может выступать память/регистр размерностью один или два байта.

Формат команды: MOV операнд1 операнд2.

Пересылает источник операнда, размещенный в регистре, памяти или непосредственные данные, в приемник операнда. Исходный операнд остается без изменений, а операнд-приемник перезаписывается исходными данными. Флаги не устанавливаются.

Формат команды: PUSH операнд.

Данная операция помещает операнд в вершину стека. Для этого указатель стека ESP уменьшается на 2, если размер операнда 16 бит, и на 4, если 32 бита. Операнд (регистр общего назначения, сегментныйрегистр, или непосредственные данные) помещается на вершину стека, указываемую ESP.

Если стек организуется из 64К (максимальный размер), то при полном его заполнении каждое следующее включение разрушает ранее записанную информацию. Если стек имеет меньший размер, то при полном его заполнении каждое следующее включение разрушает область памяти, находящуюся вне стекового сегмента. Регистр флажков не модифицируется.

Если размер операнда - 32 бит, а в стек помещается сегментный 16-битный регистр, то перед засылкой в стек процессор дополняет содержимое регистра нулями до 32 бит. Это позволяет выдержать размер двойного слова.

При выполнении процессором инструкций PUSH ESP и PUSH SP, в стек помещается содержимое указателя стека, существовавшее до выполнения инструкции. В этом отличие выполнения этих инструкций от процессора 8086, который помещает в стек новое значение (уже уменьшенное на два).

Формат команды: JA/JNBE метка.

Данный переход относится к беззнаковым переходам, т.е. эта команда осуществляет переход, если выполнено условие сравнения двух чисел, интерпретированных, как беззнаковые.

Допустим, арифметические флажки установлены в результате сравнения двух беззнаковых чисел командой CMP. Тогда переход осуществляется, если флаги CF и ZF равны нулю. Регистр флажков не модифицируется.

Формат команды:

)JMP SHORT метка

Относительный переход типа NEAR. Диапазон перехода -128 - +127 байт. Если осуществляется переход назад, оператор SHORT можно опустить.

)JMP метка типа NEAR

Относительный переход типа NEAR. Диапазон перехода -32768 - +32767 байт.

)JMP метка типа FAR

Прямой переход типа FAR: значение off загружается в IP, значение seg загружается в CS.

)JMP регистр/память

Косвенный переход типа NEAR. Адрес перехода загружается из 16-битового общего регистра или слова памяти

Команда JMP осуществляет безусловный переход, модифицируя указатель команд IP (при переходе типа NEAR) или пару регистров CS:IP (при переходе типа FAR). Старое значение регистров IP и CS теряется.

 

2. ПОСТАНОВКА ЗАДАЧ ПРОЕКТА

 

2.1 Требования к структуре и интерфейсу гипотетического микропроцессора

 

К разработке микропроцессора выдвигаются следующие требования:

  • разработать общую структуру гипотетического микропроцессора для реализации заданного подмножества команд микропроцессора - прототипа при реальном режиме адресации с заданными способами адресации;
  • определить состав операционных элементов и интерфейс каждого элемента при объединении их в структуре микропроцессора;
  • разработать алгоритмы выполнения команд заданного подмножества и микропрограмму обработки команд устройства управления.

 

2.2 Требования к структуре и интерфейсу АЛУ микропроцессора

 

Разработать структуру АЛУ ЗМО и микропрограммы реализации в АЛУ операций для заданных команд и способа адресации операционного автомата.

 

2.3 Требования к структуре микро ЭВМ

 

Микро ЭВМ должно быть спроектировано на основе гипотетического микропроцессора. Также необходимо разработать программу эмуляции выполнения трех команд заданного подмножества команд (по одной команде из каждой группы) в разработанной микро ЭВМ. Предусмотреть режимы пошагового и автоматического исполнения команд с отображением динамики исполнения на структурной схеме ЭВМ с детализацией операционных элементов микропроцессора.

3. РАЗРАБОТКА АЛУ МИКРОПРОЦЕССОРА

 

3.1 Разработка ОА для отдельных операций АЛУ

 

3.1.1 Разработка ОА для операции сложения ADD

По заданию к КП операция ADD выполняется с регистром и памятью (8 бит). Поэтому n=8.

На рисунке 3.1 изображена структурная схема операции сложения ADD.

 

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

 

Состав ОА:

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

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

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

НСМ[1, п] - знак первого операнда

Р1[1] - знак второго операнда

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

1)Y1: НСМ := НСМ + Р1;

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

3)Y3: НСМ := НСМ[1] НСМ[п]. НСМ[2:n];

4)Y4: ТП :=1;

5)Y5: CF :=1;

6)Y6: CF :=0;

7)Y7: 0F :=1;

8)Y8: 0F :=0.

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

1)X1: Р1[1];

2)X2: НСМ[1];

3)X3: НСМ[п].

 

3.1.2 Разработка ОА для операции умножения по алгоритму с младших разрядов множителя со сдвигом частичных сумм вправо MUL(A)

Для выполнения операции умножения MUL АЛУ содержит следующие элементы:

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

-сумматор (СМ);

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

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

По заданию к КП операция MUL выполняется с регистром и непосредственным операндом (8 бит). Поэтому n=8, а накапливающий сумматор 16-разрядный. Структурная схема АЛУ представлена на рисунке 3.2.

 

?/p>