Реализация программы в ЭВМ сводится к последовательному выполнению команд. Каждая команда, в свою очередь, выполняется как последовательность микрокоманд, реализующих элементарные действия над операционными элементами процессора.
В программной модели учебной ЭВМ предусмотрен Режим микрокоманд, в котором действие командного цикла реализуется и отображается на уровне микрокоманд. Список микрокоманд текущей команды выводится в специальном окне Микрокомандный уровень.
Задание 5.1
Выполнить снова последовательность команд по варианту задания 1 (см. табл. 3), но в режиме Шаг. Зарегистрировать изменения состояния процессора и памяти в форме табл. 11, в которой приведены состояния ЭВМ при выполнении примера 1 (фрагмент).
Задание 5.2
Записать последовательность микрокоманд для следующих команд модели учебной ЭВМ:ADD R3ADD @R3
- ADD @R3+
- ADD -@R3
- JRNZ R3,M
- MOV R4,R2
- JMP M
- CALL M
- RET: PUSH R3
- POP R5
Контрольные вопросы
- Какие микрокоманды связаны с изменением состояния аккумулятора?
- Какие действия выполняются в модели по микрокоманде MRd? RWr?
- Попробуйте составить микропрограмму (последовательность микрокоманд, реализующих команду) для несуществующей команды «умножение модулей чисел».
- Что изменится в работе процессора, если в каждой микропрограмме микрокоманду увеличения программного счетчика PC:= PC + 1 переместить в самый конец микропрограммы?
Таблица 11. Состояние модели в режиме моделирования на уровне микрокоманд
Адрес | Мнемокод
|
Mикрокоманда
|
ОЗУ | CR | АУ | Ячейки | |||||
(PC) | MAR | MDR | COP | ТА | ADR | Acс | DR | 020 | 030 | ||
000 | RD #20 | MAR := PC | 000 | 000000 | 00 | 0 | 000 | 000000 | 000000 | 000000 | 000000 |
MRd | 000 | ||||||||||
CR := MDR | 211020 | ||||||||||
PC ™ PC + 1 | 21 | 1 | 020 | ||||||||
001 | Acс := 000.ADR | ||||||||||
WR 30 | MAR := PC | 000020 | |||||||||
MRd | 001 | ||||||||||
CR — MDR | 220030 | ||||||||||
PC := PC + 1 | 22 | 0 | 030 | ||||||||
002 | MAR := ADR | ||||||||||
MDR := Acс | 030 | ||||||||||
MWr | 000020 | ||||||||||
ADD #5 | MAR := PC | 000020 | |||||||||
MRd | 002 | ||||||||||
CR := MDR | 231005 | ||||||||||
PC := PC + 1 | 23 | 1 | 005 | ||||||||
003 | DR := 000ADR | ||||||||||
FAУ := ALI | 000005 | ||||||||||
WR @30 | MAR:=PC | 000025 |