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

Блок РОН представляет собой 8 регистров доступ к которым осуществляется:
Запись - по шине Cm и последующее дешифрирование с помощью дешифратора для выявления необходимого регистра для записи
Чтение – как управляющий сигнал шин Am, Bm на дешифраторы A и B.
Регистры построены по следующему принципу:

Регистр IR 16-разрядный регистр, построенный на 16-ти D-триггерах.
Коды обращения к регистрам:
R0 – 000
R1 – 001
R2 – 010
R3 – 011
T0 – 100
T1 – 101
PC – 110
IR – 111
6. Разработка управляющего устройства уу.
Схема управляющего устройства:

CSAI здесь Control Store Address Incrementer, инкрементирует данный адрес.
Блок управления позволяет считывать 32-разрядные данные, представляющие собой набор микрокоманд, описанных ниже из блока памяти ПМП на управляющий регистр; на вход блока памяти подается адрес ячеек хранения команд, который может изменяться посредством изменения 2 битов условия (COND) на выходе управляющего регистра.
В зависимости от значений COND выполняется одно из 4-х условий:
Next – 00
Decode – 01
JC – 10
JImm – 11
Если выполняется команда, Next счетчик адреса увеличивается на 1.
Если выполняется команда Decode, адрес слагается из передаваемого в блок Кода операции.
Если выполняется команда JC, то если флаг CF=1, то адрес передается из старших битов выхода управляющего регистра (Jump), иначе выполняется команда Next.
Когда адрес памяти достигает крайнего состояния, из блока управления на РОН подается сигнал INC PC о повышении счетчика PC на 1.
Если выполняется команда JImm, то происходит непосредственный переход на определенный адрес.
После выполнения команды цикл повторяется.
7. Формат микрокоманд
|
A |
A MUX |
B |
B MUX |
C |
C MUX |
RD |
WR |
ALU |
COND |
JMP ADDRESS |
| ||||||||||
|
3 бита |
1 |
3 бита |
1 |
3 бита |
1 |
2 |
1 |
3 |
2 |
8 бит | |||||||||||
A, B, C – номер регистра для осуществления чтения (A, B) или записи (C)
A MUX, B MUX, C MUX – откуда брать номер регистра
(0 – из команды IR, 1 – из микрокоманды MIR)
RD – чтение из ОЗУ
При этом адрес памяти берется с шины B, а результат подается на шину С. Но при этом 2 бита RD еще указывают, откуда подать информацию на шину С: с ОЗУ, с АЛУ.
WR – запись в ОЗУ
При этом адрес памяти берется с шины B, а данные - с шины A.
ALU – код операции АЛУ
|
КОП АЛУ |
Операция АЛУ |
|
000 |
SET |
|
001 |
ADD |
|
010 |
SLC |
|
011 |
SHRA |
|
100 |
NAND |
COND – условие для определения адреса следующей выполняемой микрокоманды
|
COND |
Куда переходим | |
|
00 |
NEXT |
на следующую микрокоманду |
|
01 |
DECODE |
декодирование команды, Address =1[KOP]000 |
|
10 |
JC |
условный переход по флагу переноса |
|
11 |
JImm |
переход |
JMP ADDRESS – адрес в памяти микропрограмм, куда осуществляется переход
