Практическая работа №4 по архитектуре — копия
.docxПрактическая работа №4
Тема: Построение последовательности машинных операций для реализации простых вычислений.
Цель: знакомство циклом работы процессора
Задание:
-
Выписать назначение регистров;
-
Ввести команды из таблицы 8.7;
-
Выписать назначения операторов из таблицы 8.6;
-
Разобраться с адресацией: таблица 8.7, файл «Способы адресации»;
-
Выполнить моделирование.
Регистры:
Асс — аккумулятор;
PC — счетчик адреса команды, содержащий адрес текущей команды;
SP — указатель стека, содержащий адрес верхушки стека;
RB — регистр базового адреса, содержащий базовый адрес;
RA — регистр адреса, содержащий исполнительный адрес при косвенной адресации;
IR — входной регистр;
OR — выходной регистр;
DR — регистр данных АЛУ, содержащий второй операнд;
МDR — регистр данных ОЗУ; MAR — регистр адреса ОЗУ; RDR — регистр данных блока РОН; RAR — регистр адреса блока РОН; CR — регистр команд, содержащий поля: COP — код операции; ТА — тип адресации; ADR — адрес или непосредственный операнд;
Регистры Асс, DR, IR, OR, CR и все ячейки ОЗУ и РОН имеют длину 6 десятичных разрядов, регистры PC, SP, RA и RB — 3 разряда.
RD #20 – чтение – тип адресации: непосредственная.
|
Код микрокоманды |
АЛУ |
РОН |
ОЗУ |
SP |
PC |
RA |
CR |
RA |
M(20) |
M(30) |
||||||||
|
Acc |
DR |
RDR |
RAR |
MDR |
MAR |
COP |
TA |
ADR |
||||||||||
|
Mrd |
000000 |
000000 |
000000 |
0 |
000000 |
000 |
000 |
000 |
000 |
00 |
0 |
000 |
000 |
000000 |
000000 |
|||
|
CR:= MDR |
000000 |
000000 |
000000 |
0 |
211020 |
000 |
000 |
000 |
000 |
00 |
0 |
000 |
000 |
000000 |
000000 |
|||
|
PC:= PC+1
|
000000 |
000000 |
000000 |
0 |
211020 |
000 |
000 |
000 |
000 |
21 |
1 |
020 |
000 |
000000 |
000000 |
|||
|
Acc:= ADR
|
000000 |
000000 |
000000 |
0 |
211020 |
000 |
000 |
001 |
000 |
21 |
1 |
020 |
000 |
000000 |
000000 |
|||
|
END_ COMMAND |
000020 |
000000 |
000000 |
0 |
211020 |
000 |
000 |
001 |
000 |
21 |
1 |
020 |
000 |
000000 |
000000 |
|||
WR 30 – запись – тип адресации: прямая (регистровая).
|
Код микрокоманды |
АЛУ |
РОН |
ОЗУ |
SP |
PC |
RA |
CR |
RA |
M(20) |
M(30) |
||||||||||||||
|
Acc |
DR |
RDR |
RAR |
MDR |
MAR |
|
|
|
COP |
TA |
ADR |
|
|
|
||||||||||
|
Mrd |
0000020 |
000000 |
000000 |
0 |
211020 |
001 |
000 |
001 |
000 |
21 |
1 |
020 |
000 |
000000 |
000000 |
|||||||||
|
CR:= MDR |
0000020 |
000000 |
000000 |
0 |
220030 |
001 |
000 |
001 |
000 |
21 |
1 |
020 |
000 |
000000 |
000000 |
|||||||||
|
PC:= PC+1
|
0000020 |
000000 |
000000 |
0 |
220030 |
001 |
000 |
001 |
000 |
22 |
0 |
030 |
000 |
000000 |
000000 |
|||||||||
|
MAR := ADR
|
0000020 |
000000 |
000000 |
0 |
220030 |
001 |
000 |
002 |
000 |
22 |
0 |
030 |
000 |
000000 |
000000 |
|||||||||
|
MDR := Acc |
0000020 |
000000 |
000000 |
0 |
220030 |
030 |
000 |
002 |
000 |
22 |
0 |
030 |
000 |
000000 |
000000 |
|||||||||
|
MWr |
0000020 |
000000 |
000000 |
0 |
000020 |
030 |
000 |
002 |
000 |
22 |
0 |
030 |
000 |
000000 |
000000 |
|||||||||
|
END_ COMMAND |
0000020 |
000000 |
000000 |
0 |
000020 |
030 |
000 |
002 |
000 |
22 |
0 |
030 |
000 |
000000 |
000000 |
|||||||||
ADD #5 – сложение – тип адресации: непосредственная.
|
Код микрокоманды |
АЛУ |
РОН |
ОЗУ |
SP |
PC |
RA |
CR |
RA |
M(20) |
M(30) |
||||||||||||
|
Acc |
DR |
RDR |
RAR |
MDR |
MAR |
COP |
TA |
ADR |
|
|
|
|||||||||||
|
Mrd |
000020 |
000000 |
000000 |
0 |
000020 |
002 |
000 |
002 |
000 |
22 |
0 |
030 |
000 |
000000 |
000020 |
|||||||
|
CR:= MDR |
000020 |
000000 |
000000 |
0 |
231005 |
002 |
000 |
002 |
000 |
22 |
0 |
030 |
000 |
000000 |
000020 |
|||||||
|
PC:= PC+1
|
000020 |
000000 |
000000 |
0 |
231005 |
002 |
000 |
002 |
000 |
23 |
1 |
005 |
000 |
000000 |
000020 |
|||||||
|
DR := ADR |
000020 |
000000 |
000000 |
0 |
231005 |
002 |
000 |
003 |
000 |
23 |
1 |
005 |
000 |
000000 |
000020 |
|||||||
|
ALU <-- COP |
000020 |
000005 |
000000 |
0 |
231005 |
002 |
000 |
003 |
000 |
23 |
1 |
005 |
000 |
000000 |
000020 |
|||||||
|
Start ALU |
000020 |
000005 |
000000 |
0 |
231005 |
002 |
000 |
003 |
000 |
23 |
1 |
005 |
000 |
000000 |
000020 |
|||||||
|
END_ COMMAND |
000025 |
000005 |
000000 |
0 |
231005 |
002 |
000 |
003 |
000 |
23 |
1 |
005 |
000 |
000000 |
000020 |
|||||||
WR @30 – запись – тип адресации: косвенная.
|
Код микрокоманды |
АЛУ |
РОН |
ОЗУ |
SP |
PC |
RA |
CR |
RA |
M(20) |
M(30) |
||||||||||||
|
Acc |
DR |
RDR |
RAR |
MDR |
MAR |
COP |
TA |
ADR |
|
|
|
|||||||||||
|
MRd |
000025 |
000005 |
000000 |
0 |
231005 |
003 |
000 |
003 |
000 |
23 |
1 |
005 |
000 |
000000 |
000020 |
|||||||
|
CR:= MDR |
000025 |
000005 |
000000 |
0 |
222030 |
003 |
000 |
003 |
000 |
23 |
1 |
005 |
000 |
000000 |
000020 |
|||||||
|
PC:= PC+1
|
000025 |
000005 |
000000 |
0 |
222030 |
003 |
000 |
003 |
000 |
22 |
2 |
030 |
000 |
000000 |
000020 |
|||||||
|
MAR := ADR |
000025 |
000005 |
000000 |
0 |
222030 |
003 |
000 |
004 |
000 |
22 |
2 |
030 |
000 |
000000 |
000020 |
|||||||
|
MRd |
000025 |
000005 |
000000 |
0 |
222030 |
030 |
000 |
004 |
000 |
22 |
2 |
030 |
000 |
000000 |
000020 |
|||||||
|
RA := MDR
|
000025 |
000005 |
000000 |
0 |
000020 |
030 |
000 |
004 |
000 |
22 |
2 |
030 |
000 |
000000 |
000020 |
|||||||
|
MAR := RA |
000025 |
000005 |
000000 |
0 |
000020 |
030 |
000 |
004 |
020 |
22 |
2 |
030 |
020 |
000000 |
000020 |
|||||||
|
MDR := Acc |
000025 |
000005 |
000000 |
0 |
000020 |
020 |
000 |
004 |
020 |
22 |
2 |
030 |
020 |
000000 |
000020 |
|||||||
|
MWr
|
000025 |
000005 |
000000 |
0 |
000025 |
020 |
000 |
004 |
020 |
22 |
2 |
030 |
020 |
000000 |
000020 |
|||||||
|
END_ COMMAND |
000025 |
000005 |
000000 |
0 |
000025 |
020 |
000 |
004 |
020 |
22 |
2 |
030 |
020 |
000025 |
000020 |
|||||||
JNZ 2 - переход, если не 0 – тип адресации: прямая (регистровая).
|
Код микрокоманды |
АЛУ |
РОН |
ОЗУ |
SP |
PC |
RA |
CR |
RA |
M(20) |
M(30) |
||||||||||||
|
Acc |
DR |
RDR |
RAR |
MDR |
MAR |
COP |
TA |
ADR |
|
|
|
|||||||||||
|
Mrd |
000025 |
00005 |
000000 |
0 |
000025 |
004 |
000 |
004 |
020 |
22 |
2 |
030 |
020 |
000025 |
000020 |
|||||||
|
CR:= MDR |
000025 |
00005 |
000000 |
0 |
120002 |
004 |
000 |
004 |
020 |
22 |
2 |
030 |
020 |
000025 |
000020 |
|||||||
|
PC:= PC+1
|
000025 |
00005 |
000000 |
0 |
120002 |
004 |
000 |
004 |
020 |
12 |
0 |
002 |
020 |
000025 |
000020 |
|||||||
|
JNZ
|
000025 |
00005 |
000000 |
0 |
120002 |
004 |
000 |
005 |
020 |
12 |
0 |
002 |
020 |
000025 |
000020 |
|||||||
|
END_ COMMAND |
000025 |
00005 |
000000 |
0 |
120002 |
004 |
000 |
002 |
020 |
12 |
0 |
002 |
020 |
000025 |
000020 |
|||||||
Ответы на контрольные вопросы:
-
Система команд – это форматы, способы адресации и систему операций.
-
Регистры процессора: Асс, PC, SP, RB, RA, IR, OR, DR, МDR, MAR, RDR, RAR, CR, COP, ТА, ADR.
-
В состояние Работа ЭВМ переходит по действию команд Пуск или Шаг. Команда Пуск запускает выполнение программы, представляющую собой последовательность команд, записанных в ОЗУ, в автоматическом режиме до команды HLT или точки останова. Программа выполняется по командам, начиная с ячейки ОЗУ, на которую показывает РС, причем изменение состояний объектов модели отображается в окнах обозревателей.
-
В модели представлены следующие классы команд: арифметико-логические и специальные, пересылки и загрузки, ввода/вывода, передачи управления, системные.
-
Команды передачи управления выполняют следующие действия: безусловный и шесть условных переходов, вызов подпрограммы, возврат из подпрограммы, цикл, программное прерывание, возврат из прерывания.
-
В командах ЭВМ применяется прямая (регистровая), непосредственная (#), косвенная (@), относительная ([ ]), косвенно-регистровая (@R), индексная с постинкрементом (@R+), индексная с предекрементном (-@R) адресации.
