Проектируемый микропроцессор состоит из следующих функциональных блоков:
1. Окружение арифметико – логического устройства
2. Окружение блока регистров общего назначения
3. Окружение регистра команд
4. Окружение счётчика команд
5. Окружение оперативной памяти
Рассмотрим каждый из этих блоков в отдельности:
АЛУ предназначено для выполнения арифметических и логических операций. Разрядность АЛУ- 32.
Общая схема окружения АЛУ
Входные сигналы:
Сигнал Rtype – служит для выбора между тип выполняемой операции АЛУ.
Test – При низком уровне сигнала АЛУ производит арифметико-логические операции, при высоком уровне на выход АЛУ подаётся число, старшие 31 разряд которого равны нулю, самый младший же разряд является результатом логической операции сравнения, значение которого зависит от поданного кода IR[28..26], IR[2..0].
IR[28..26], IR[2..0] – код типа операции. Выбор между ними определяется сигналом test. АЛУ выполняет по шесть различных арифметико-логических либо операций сравнения данных.
Data1[31..0] – для подачи входного слова А на вход АЛУ.
Data2[31..0] – для подачи входного слова В на вход АЛУ. Оба слова подаются на вход АЛУ из регистров общего назначения.
Выходные сигналы:
Out[31..0] – шина выдачи результата операции из АЛУ.
Perepoln – сигнал переполнения арифметической операции.
Арифметико – логические операции (test=0).
Арифметическое сложение А + В |
Арифметическое сложение А + В |
Арифметическое вычитание А – В |
Арифметическое вычитание А – В |
Логическое умножение |
Логическое сложение А + В |
Сумма по модулю два А В |
Сдвиг входного слова B влево на шестнадцать разрядов |
Выражения проверки (test=1).
Активный уровень выходного сигнала – высокий.
A>B |
A=B |
AB |
A<B |
AB |
AB |
Временные диаграммы приведены в приложении.
Окружение файла регистра общего назначения GPR .
Схема окружение файла регистра общего назначения
Схема Caddr на рисунке генерирует адрес назначения.
Схема gpr состоит из тридцати двух тридцатидвухразрядных регистров.
Входные сигналы:
Data[31..0] – входная шина для загрузки данных в регистр общего назначения
ir[25..21] – по этому сигналу данные читаются из регистров и выставляются на шину DA[31..0].
ir[15..11] – по этому сигналу данные записываются в регистр с шины данных.
Ir[20..16] – по этому сигналу данные читаются из регистров и выставляются на шину DB[31..0].
Rtype – определяет на каких линиях шины IR[15..11], или IR[20..16] выставлен адрес регистра для записи или чтения.
Jlink – при высоком уровне сигнала выставляется адрес тридцать второго регистра, в противном случае регистр адресуется с шины адреса.
Выходные сигналы:
DA[31..0] – первая выходная шина для выдачи данных из регистра. Тридцатидвухразрядная.
DB[31..0] – вторая выходная шина для выдачи данных из регистра. Тридцатидвухразрядная.
Временные диаграммы приведены в приложении.
Окружение регистра команд IR.
Схема окружения регистра команд IR
Входные сигналы:
mdo[31..0] – тридцатидвухразрядная шина для загрузки данных в регистр IR
Jjump - указывает на команду перехода типа J-type
Irc – для синхронизации регистра команд IR, при его высоком уровне данные из mdo[31..0] записываются в регистр команд.
Shiftl - указывает на команду сдвига с непосредственным операндом – он выбирает подавать на выход в res[4..0] ir[10..6] или ir[4..0]
Выходные сигналы:
res[31..0] – шина для вывода данных из регистра.
Временные диаграммы приведены в приложении.
Окружение оперативной памяти.
Схема окружения оперативной памяти.
Схема контроллера ОЗУ
Схема памяти.
Входные сигналы:
ir[26], ir[27] – управляют методом записи в ячейку памяти.
MemWE – сигнал, разрешающий запись данных в память.
RE - сигнал, разрешающий чтение данных из памяти.
Data[31..0] – входная шина, данные с которой записываются в память.
Addr[10..0] – шина адреса памяти для записи и чтения данных.
Выходные сигналы:
DataOut[31..0] – выходная шина, на которую выдаются данные, считанные из памяти.
Временные диаграммы приведены в приложении.
Окружение счетчика команд.
Схема окружения счетчика команд
Входные сигналы:
Data[31..0] - входная тридцатидвухразрядная шина данных счётчика команд.
Reset – сигнал сброса счетчика команд.
Pcc – сигнал тактирования счетчика команд.
Выходные сигналы:
pc[31..0] – выходная шина данных счетчика команд
Приложение
Работа схемы окружения GPR.
Работа схемы окружения IR.
Работа схемы окружения PC
Работа схемы окружения памяти
АЛУ
Работа АЛУ - сложение
Работа АЛУ - вычитание
Работа АЛУ - Or
Работа АЛУ - And
Работа АЛУ - Xor
Работа АЛУ - Сдвиг влево на 16
Работа АЛУ – равно.
Работа АЛУ – a<b f[2..0]=001
Работа АЛУ – a>b f[2..0]=100
Работа АЛУ – a=b f[2..0]=010
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.