Содержание
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 | <
|||||||||