Ходят слухи, что он, танцуя по небу разит мечом словно ветер, что даже во тьме звёздный свет отражается от его меча солнечным днём
Кто-нибудь смыслить в микропрограммировании?
Необходимо расписать микрокоманды и потом их оптимизировать.
1. CPI d8 (сравнение - двух байтовая команда) (S3S2S1S0M : Q:=A − B
2. CALL Adr (вызов подпрограммы - 3 байтная команда)
Способ микропрограммирования – горизонтальный
_____________________
С выборкой команд проблем не возникло, а вот с выполнением самой команды есть.
Необходимо расписать микрокоманды и потом их оптимизировать.
1. CPI d8 (сравнение - двух байтовая команда) (S3S2S1S0M : Q:=A − B

2. CALL Adr (вызов подпрограммы - 3 байтная команда)
Способ микропрограммирования – горизонтальный
_____________________
С выборкой команд проблем не возникло, а вот с выполнением самой команды есть.
В данном случае 3 байтовая.
_______________________
Выборка команды CPI d8
Сигнал/ Микроператор(ы)/ Коментарий
Выборка первого байта команды (ПБК)
РСШ16:/ ША(15-0):=РС(15-0);/ выдача адреса ПБК из счечика команд на шину адреса
ШАРАП:/ РАП(15-0):=ША(15-0);/ Занесение адреса ПБК в регистр адреса памяти
ЧтЗУ:/ РДП(7-0):=ОП[РАП](7-0);/ Считывание ПБК из ячейки основной памяти и его занесение в регистр данных памяти
РДПШД:/ ШД(7-0):=РДП(7-0);/ Выдача ПБК на шину даных
ШДРК1:/ РК(23-16):=ШД(7-0);/ Занесение ПБК с ШД в старший байт регистра команды
Д:=decod(РК(23-16));/ Декодирование кода операции, содержащегося в ПБК
РСШ16:/ Ш16(15-0):=РС(15-0);/ Выдача адреса из счёкика команд на внутреннюю шину блока регистров
Ш16ID:/ ID(15-0):=PC(15-0);/ Занесение адреса из РС в схему инкремента/декремента
+1ID/ ID:=ID+1;/ Формирование адреса второго байта команды
IDШ16:/ Ш16:=ID;/ Выдача адреса ВБК на внутреннюю шину блока регистров
Ш16РС:/ РС:=Ш16;/ Занесение адреса ВБК в счечик команд
РСШ16:/ ША:=РС;/ Выдача адреса ВБК из счкчика команд на шину адреса
ШАРАП:/ РАП:=ША;/ Занесение ВБК в регистр адреса памяти
ЧтЗУ:/ РДП:=ОП[РАП];/ Считывание ВБК из ячейки основной памяти и его занесение в регистр данных памяти
РДПШД:/ ШД:=РДП;/ Выдача ВБК на шину данных
ШДРК2:/ РК(15-8):=ШД(7-0);/ Занесение ВБК с ШД во второй байт регистра команды
Формирование адреса следующей команды
РСШ16:/ Ш16:=РС;/ Выдача адрема из счечика команд на внутреннюю шину блока регистров
Ш16ID/ ID:=PC;/ Занесение адреса из РС в схему инкремента/декремента
"+1ID:/ ID:=ID+1;/ Формирование адреса очередной команды
IDШ16:/ Ш16:=ID;/ Выдача полученного адреса на внутреннюю шину блока регистров
Ш16РС/ РС:=Ш16;/ занесение адреса очередной команды в счекик команд