- •«Разработка процессора»
- •Гопта е. А.
- •1. Постановка задачи
- •2. Разработка формата команд, кодировки команд
- •3. Разработка структурной схемы процессора:
- •4. Разработка блока алу:
- •5. Разработка блока рон:
- •6. Разработка управляющего устройства уу.
- •7. Формат микрокоманд
- •Оценка размера памяти микропрограмм.
- •Формат микрокоманд:
- •Загрузка и декодирование.
- •Команда nor rd, Imm8.
- •Команда inc rd.
- •Команда st rd, Imm8, rs.
3. Разработка структурной схемы процессора:
Разработку структурной схемы ведем на основе информации о составе и форматах команд, а также на основе исходных данных об архитектуре процессора: он является магистральным с общим АЛУ, а устройство управления у него – микропрограммное с памятью микропрограмм.
Общую структуру реализуемого магистрального процессора можно представить примерно следующим образом:

Процессор состоит из операционного устройства (Data Section) и устройства управления (Control Section). Data Section включает, прежде всего, АЛУ и блок регистров общего назначения (РОН).
АЛУ соединено двумя шинами (А и В) с блоком РОН для выборки операндов в двухадресных командах. Выход результата работы блока АЛУ осуществляется по одной шине С, которая связана с блоком РОН для записи результата. Поскольку запись в РОН может происходить как с выхода АЛУ, так и из памяти, то необходимо предусмотреть мультиплексор шины C.
Адрес следующей команды находится в регистре PC (Program Counter) процессора. Он относится к управляющим регистрам процессора. В данном случае он непосредственно не является программно доступным, так как у процессора нет команд, адресующих его явно, а есть только условная команда, которая может его модифицировать. Регистр PC выводит адрес на шину адреса процессора, как отмечалось выше, в данном случае разрядность шины выбрана равной 8 битам. После выполнения обычных команд PC увеличивается на единицу, а при выполнении условных команд (JС) он может перезаписываться адресом, указанным в команде.
Следующая выполняемая команда загружается в регистр команд IR и хранится там до загрузки очередной. Регистр команд связан с блоком управления (с него поступает код команды), с блоком РОН (так как в команде закодированы регистры-операнды, со входом регистра PC, с мультиплексором на шине А, B, C и с мультиплексором на шине данных Main Memory.
Непосредственно устройство управления включает в себя блок памяти микропрограмм Store (ПЗУ), а также – регистр микрокоманды (РМК – MIR). Регистр микрокоманды должен содержать необходимые биты для управления всеми нужными мультиплексорами и содержать признаки команд, которые нужны в различных местах процессора для управления.
4. Разработка блока алу:
На вход АЛУ подаются два числа А и B (8-бит).
Результат число С (8-бит).
Коды операций АЛУ:
|
КОП АЛУ |
Операция |
Результат |
Флаг CF |
|
000 |
SET |
C = A или B |
не изменяется |
|
001 |
ADD |
A + B |
CF=1 if A+B>0 |
|
010 |
SLC |
A*2 с учетом переноса |
CF=старший выдвинутый бит |
|
011 |
SHRA |
A/2 с учётом знака |
не изменяется |
|
100 |
NAND |
not(A || B) |
не изменяется |
Схема АЛУ:

Блок АЛУ выполняет операции, код которых подается на дешифратор DC. Далее выполняется одна из 5-ти операций, входными данными которых являются шины A, B, а выходными – шина C. Значения флага CF суммируется и подается на выход.
SET:

Биты передают на шину С без изменения.
ADD:

Блок представляет собой сумматор с последовательным переносом.
SLC:

Блок представляет собой сдвигатель на 1 разряд влево.
SHХA:
SHRA


DC 1


SHLA
sel
Блок представляет собой арифметический сдвигатель на 1 разряд в обе стороны.
SHRA:

SHLA:
A0 C0
A1 C1
A2 C2

A3 C3

A4 C4

A5 C5

A6 C6

A7 C7



NAND:

Блок представляет собой 8 блоков И-НЕ, где происходит побитовое сложение.

