Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
мой курсач.doc
Скачиваний:
6
Добавлен:
16.09.2019
Размер:
756.74 Кб
Скачать

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. СФА – сумматор физического адреса;

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

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

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

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

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

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

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

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

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

  • EAX – аккумулятор;

  • ECX – счетчик;

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

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

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

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

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

  2. РФ – регистр флагов;

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

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

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

  6. ША – шина данных;

  7. ШД – шина адреса.

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

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

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

4.2.1 Команда add al,imm8

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

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

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

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

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

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

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

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

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

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

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

4.2.2 Команда mul r8

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

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

Код операции: |11110110|mod 100 reg|,гре mod – два бита режима адресации, reg – три бита регистра.

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

В данном ПП данная команда реализована в виде MUL BL, ее машинный код – F6E3.

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

  1. извлечь из AL значение;

  2. извлечь значение из BL;

  3. установить n = 8;

  4. выполнить операцию умножения для n-го разряда;

  5. установить n : =n – 1;

  6. если n равно 0, то закончить выполнение, иначе перейти к пункту 4;

  7. поместить результат в АХ;

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

4.2.3 Команда DEC AL

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

Код операции:FE C8

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

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

1) уменьшить AL на единицу.

4.2.4 Команда MOV r/m8,r8

MOV – пересылает регистр в регистр/память размерностью 8 бит.

Код операции: 88 XX

где R – код регистра, XX – код заданного регистра (8 бит).

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

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

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

2) пересылка данных в регистр/память.

4.2.5 Команда JMP (относительная адресация)

Команда JMP выполняет переход к заданной метке.

Формат команды: EB SS,

где S – смещение.

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

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

  1. к содержимому регистра IP прибавляется смещение метки.

4.2.6 Команда JА (относительная адресация)

Команда JА выполняет переход к заданной метке при условии, что флаги СF и ZF равны нулю.

Формат команды: 77 SS,

где S – смещение.

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

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

1) к содержимому регистра IP прибавляется смещение метки.

5 РАЗРАБОТКА СТРУКТУРЫ ЦЕНТРАЛЬНОЙ ЧАСТИ МИКРОЭВМ НА БАЗЕ ГИПОТЕТИЧЕСКОГО МИКРОПРОЦЕССОРА

5.1 Разработка структуры микроЭВМ

На базе спроектированного микропроцессора можно построить микро-ЭВМ, структурная схема которой, как и схема самого микропроцессора, в значительной мере отражает функциональные возможности системы команд микропроцессора. Так для данного ограниченного набора команд нецелесообразно использовать сложную операционную систему, поэтому можно ограничиться ПЗУ, которое содержало бы базовый набор команд ввода-вывода, и позволяло загружать несколько программ в оперативную память, следовательно, нам необходимо ОЗУ и периферийное устройство. Шинный интерфейс будет выглядеть так: шина данных – 20 бит, шина адреса – 32 бита, шина управления – 4 бит. Структурная схема микро-ЭВМ приведена на рисунке 5.1.

Рисунок 5.1 – Структурная схема микро-ЭВМ

Состав схемы на рисунке 4.1:

1) МП- разработанный гипотетический микропроцессор (координирует работу устройств микро-ЭВМ);

2) ОЗУ- оперативное запоминающее устройство (хранит программы выполнения);

3) ПЗУ- постоянное запоминающее устройство;

4) ПУ – периферийные устройства (служат для обмена информации с внешним миром).