Содержание
1. Постановка задачи
2. Форматы команд и их кодировка
3. Структурная схема процессора
4. Регистры
5. АЛУ
6. Формат микрокоманд
7. Микрокод
8. Кодировка микрокода
9. Примеры выполнения команд
10. Основные сигналы и регистры процессора
11. Примеры программ
12. Определение производительности
Постановка задачи
Синтезировать структуру простого магистрального процессора с одним АЛУ, выполняющего 8 заданных команд. Разработать формат команд, кодировку команд. Разработать структурную схему процессора, функциональные схемы всех блоков процессора, функциональную схему процессора в целом с указанием всех шин и управляющих сигналов.
Разработать формат микрокоманд, организацию управления всеми устройствами процессора, микрокод для каждой из заданных команд. Привести примеры выполнения каждой команды с указанием значения всех основных сигналов и содержимого основных регистров на каждом такте. Привести 2 примера небольших программ с указанием значения основных сигналов и содержимого основных регистров на каждом такте.
Определить максимальную тактовую частоту процессора. Определить производительность процессора в операциях в секунду (IPS), а также выраженную в числе выполняемых тестовых программ в секунду. Указать способы повышения производительности процессора.
Характеристика процессора
Простой процессор магистрального типа с одноблочным универсальным АЛУ.
Разрядность регистров РОН и АЛУ процессора - 8 бит.
Число РОН - 4.
Адресуемая память - 256 слов.
Устройство управления - микропрограммное с ПЗУ микропрограмм.
Способ выполнения команд – последовательное выполнение или JMP или JC.
Адресация памяти - прямая.
Арифметика в дополнительном коде.
Вариант: 54 = «2 2 2 3»
Без использования непосредственной адресации.
3х-адресные команды.
Операции АЛУ: NOP, ADD + SHRA, NAND.
Состав команд: LD, ST, ADD, SHR + JC, DEC, SUB, NAND.
Форматы команд и их кодировка
Коды команд
КОП Команда Действие 000 ADD Rx,Ry,Rz Rx=Ry+Rz сложение 001 NAND Rx,Ry,Rz Rx=!(Ry&Rz) И-НЕ 010 SHR Rx,Ry Rx=Ry/2 арифметический сдвиг вправо 011 JC address jmp on carry условный переход по переносу 100 DEC Rx,Ry Rx=Ry-1 декремент (уменьшение на 1) 101 SUB Rx,Ry,Rz Rx=Ry-Rz вычитание 110 LD Rx,address Rx=Mem(address) загрузка из ОЗУ в регистр 111 ST Ry,address Mem(address)=Rx запись из регистра в ОЗУ
Формат команд
ADD Rx,Ry,Rz
КОП Rx Ry Rz не используется
0 0 0 x x y y z z NAND Rx,Ry,Rz
КОП Rx Ry Rz не используется 0 0 1 x x y y z z SHR Rx,Ry
КОП Rx Ry не используется 0 1 0 x x y y JC address
КОП не использ. address 0 1 1 a a a a a a a a
DEC Rx,Ry КОП Rx Ry не используется 1 0 0 x x y y
Сокращения:
КОП – код команды
Rx – регистр приемник
Ry – регистр источник 1
Rz – регистр источник 2
address – 8-битный адрес
SUB Rx,Ry,Rz
КОП Rx Ry Rz не используется 1 0 1 x x y y z z LD Rx,address КОП Rx не исп. address 1 1 0 x x a a a a a a a a ST Rx,address КОП не исп Ry address 1 1 1 y y a a a a a a a a Структурная схема процессора
Регистры Номер При записи (по шине С) При чтении (по шине A и B) 000 0 Rg0 программно-доступные регистры Rg0 программно-доступные регистры 001 1 Rg1 Rg1 010 2 Rg2 Rg2 011 3 Rg3 Rg3 100 4 Temp0 Temp0 101 5 PC PC 110 6 IR_HI (старшая часть IR) IR константа 1 111 7 IR_LO (младшая часть IR) IR_LO
При чтении старшей части регистра команд, на шину A или B поступает единичная константа (00000001). ............