Практическая работа №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) адресации.