Разработка горизонтального микропрограммного устройства управления операционной частью ЦП для выполнения операции умножения над числам
Автор: Виктор Свет • Апрель 14, 2024 • Контрольная работа • 913 Слов (4 Страниц) • 107 Просмотры
Разработка горизонтального микропрограммного устройства управления операционной частью ЦП для выполнения операции умножения над числами с фиксированной точкой, представленными в прямом коде по алгоритму умножения, начиная с младших разрядов множителя и сдвигом суммы частичных произведений вправо, при выполнении двухадресной команды с базовой адресацией первого операнда и прямой адресацией второго операнда, и записью результата на место второго операнда.
- Основные узлы ЦП без вентилей и связей.
[pic 1]
Рис. 1 «Структурная схема операционной части устройства цифровой обработки данных без вентилей и связей»
- Составление кода микроопераций и добавление связей.
(n – длина машинной команды в байтах, m – число разрядов в операндах)
1 этап. Выбор команды из памяти:
РАП:=СчК – адрес следующей команды подается на РАП
РЧП:=Чт(РАП) – выбор команды из ЗМ
РК:=РЧП – машинная команда из памяти передается на РК в ЦП
СчК:=СчК+n – модификация счетчика команд на длину выполняемой маш. команды в байтах
2 этап. Дешифрация кода операции.
3 этап. Формирование исполнительного адреса и выбор операндов:
Выбор 1-го операнда:
РАРП:=РК(B1) – номер базового регистра подается в РОНы
РЧРП:=Чт(РАРП) – выбор базы
РX:=РЧРП – пересылка базы на входной регистр АЛУ2
РY:=РК(D1) – выбор смещения
РZ:= РX + РY – вычисление ИА
РАП:=РZ – ИА подается на РАП
РЧП:=Чт(РАП) – выбор 1-го операнда
Р1:=РЧП – пересылка 1-го операнда на входной регистр АЛУ1
Выбор 2-го операнда:
РАП:=РК(А2) – на РАП подается номер регистра, где хранится 2-й операнд
РЧП:=Чт(РАП) – выбор 2-го операнда из ЗМ
Р2:=РЧП – пересылка 2-го операнда на входной регистр АЛУ1
4 этап. Выполнение операции в АЛУ:
Зн:=Р1[m]Р2[m] – формирование знака результата[pic 2]
Р1[m]:=0 – обнуление знакового разряда множимого
Р2[m]:=0 – обнуление знакового разряда множителя
СчЦ:=m – модификация счетчика циклов
РB:=0 – обнуление старшей части результата
Метка1:
Если (Р2[0]=0) то РA:=0 иначе РA:=Р1 – анализ младшего разряда множителя
SM:=РA+РB – вычисление суммы частичных произведений
РC:=SM>>1 – вычисление старшей части результата
Р3:=Р2>>1 \
Р3[m-1]:=SM[0] | – вычисление младшей части результата
Р2:=Р3 /
РB:=РC – запись старшей части результата в регистр PB
СчЦ:=СчЦ - 1 – декремент счетчика циклов
Если (СчЦ = 0) то продолжить иначе перейти к Метка1 – анализ счетчика циклов
РC[m]:=Зн – запись знака результата в старшую часть результата
5 этап. Запись результата:
РАП:=РК(А2) – получение адреса 2-го операнда
РЧП:=РС – чтение старшей части результата
Зп(РАП):=РЧП – запись старшей части результата по адресу 2-го операнда
РАП:=РК(А2)+1 – получение адреса 2-го операнда + 1
РЧП:=Р2 – чтение младшей части результата
...