АрхЭВМ_Лаб.Раб 2007 (1075195), страница 2
Текст из файла (страница 2)
Регистр возврата используют в командах «Переход с возвратом» при обращении к подпрограммам для хранения адреса возврата в основную программу.
В процессорах с внутренней памятью часто РИ, РС, SP, РВ размещают в регистрах общего назначения. Иногда РВ и А также размещают в РОН.
В процессорах со стековой памятью адрес возврата размещают в стеке.
Управление работой АЛУ
Таблица 1
Управляющие сигналы | Логические операции в АЛУ | Арифметические операции в АЛУ | |||
y11 | y12 | y13 | y14 | y15=1 | y15=0 |
0 | 0 | 0 | 0 | _ Х | X+1 |
0 | 0 | 0 | 1 | ____ ХУ | L1(X.1) |
0 | 0 | 1 | 0 | _ ХУ | X+2 |
0 | 0 | 1 | 1 | 0 | - |
0 | 1 | 0 | 0 | ____ ХУ | R1(0.X) |
0 | 1 | 0 | 1 | _ У | X+3 |
0 | 1 | 1 | 0 | ХУ | X-Y |
0 | 1 | 1 | 1 | _ ХУ | - |
1 | 0 | 0 | 0 | _ ХУ | R1(1.X) |
1 | 0 | 0 | 1 | ____ ХУ | X+Y |
1 | 0 | 1 | 0 | У | Y-X |
1 | 0 | 1 | 1 | ХУ | X+4 |
1 | 1 | 0 | 0 | FF | L1(X.0) |
1 | 1 | 0 | 1 | _ ХУ | - |
1 | 1 | 1 | 0 | ХУ | - |
1 | 1 | 1 | 1 | Х | X-1 |
Управляющий автомат формирует управляющие сигналы Y1, …, Ym на основе кода операции, поступающего из регистра команд и признаков выполнения микроопераций в АЛУ. В АЛУ формируются следующие признаки: 1) Z=1 – нулевой результат;
2) N=1 – отрицательный результат (единица в старшем разряде слова);
3) С=1 – перенос при сложении, вычитании и сдвиге вправо или влево;
4) Р=1 – переполнение.
Управляющий автомат может быть микропрограммным или схемно-логического типа. В лабораторной работе необходимо использовать УА
схемно-логического типа (рис. 3) на основе программируемых логических матриц (ПЛМ) и регистра состояния (Р).
Р
f1






D1
F1
Dk
Fk

D1
F1




f k










ПЛМ


X1
X2
Y 1
Ym
Dk



Fk

D1,D2,…,Dk – сигналы установки регистра Р;
F1,F2,…,Fk – выходные сигналы регистра Р;
X1,X2,… – осведомительные сигналы (признаки Z,N,C,P из АЛУ);
Y1, Y2 … - управляющие сигналы.
Типовые машинные команды, используемые в работе
-
Трехадресная команда с прямой адресацией:
КОП | R | S1 | S2 | S3 |
ОП[S1+ И]*ОП[S2+ И] ОП[S3+ И]
Здесь И - индекс для модификации адресов. В поле R указывается адрес регистра (РОН), используемого для модификации адресов, либо адрес слова в странице оперативной памяти, в котором хранится индекс (адресом ОП будет F.R). Если для хранения индекса предусмотрен специальный индексный регистр, то в поле R записывают нуль. В команде можно модифицировать один, два или три адреса. Звездочка (*) определяет одну из операций в АЛУ (см. табл. 1) в том числе и операцию пересылки. При И=0 выполняется команда без модификации.
-
Двухадресная команда с прямой адресацией и модификацией:
КОП | R | S1 | S2 |
ОП [S1+И]*ОП[S2+И] ОП [S1+И]
-
Двухадресная команда с косвенной адресацией и модификацией:
КОП | R | R1 | R2 |
ОП [РОН[R1]+И]*ОП[РОН[R2]+И] ОП [РОН[R1]+И]
Здесь в РОН с адресами R1 и R2 хранятся адреса операндов.
-
Одноадресная команда с прямой адресацией и модификацией:
КОП | R | S1 |
А*ОП[S1+И] ОП[S1+И], А
Результат выполнения операции может засылаться в оперативную память или/и
аккумулятор.
-
Одноадресная команда с косвенной адресацией и модификацией:
КОП | R | R1 |
А*ОП [РОН[R1]+И] ОП [РОН[R1]+И], А
-
Команды с прямой регистровой адресацией:
КОП | 0 | R1 | R2 |
РОН[R1]*РОН[R2] РОН[R1], А
-
Команды с непосредственной адресацией:
КОП | R | S1 |
S1 РОН[R], РИ, ОП [F.R], SP, …
Команду используют для установки начальных значений адресов, индексов и
т. д. в регистрах общего назначения.
-
Команда безусловного перехода по косвенному адресу (возврат из подпрограммы):
КОП | R |
Команда заносит адрес возврата в программный счетчик. Адрес возврата может храниться в стеке или в регистре возврата (в этом случае R=0), или в оперативной памяти по адресу F.R (в последнем случае в поле R записывают четырехразрядный адрес слова в странице F, где хранится адрес возврата).
-
Команда безусловного перехода по прямому адресу:
КОП | 0 | S1 |
S1 PC
Команда заносит адрес перехода из поля S1 в программный счетчик, в качестве которого можно использовать регистр программного счетчика или один из регистров общего назначения.
-
Команда обращения к подпрограмме (переход с возвратом):
КОП | R | S1 |
PС запомнить, S1 PC
Адрес возврата можно запоминать в стеке, в регистре возврата или в фиксированной ячейке памяти с адресом F.R .
-
Команда условного перехода по прямому адресу:
КОП | R | S1 |
S1, если P=1,
РС:=
PC+1, если P=0,
где Р – условие перехода.
Типовым условием перехода является положительный, отрицательный или нулевой результат, который может храниться в РОН[R], РИ или в ячейке ОП с адресом F.R , используемой для хранения индекса. Команды условного перехода могут быть одно-, двух - и трех - адресными:
S1, если РИ > 0;
РС:=
PC+1, если РИ < 0;
S1, если ОП [F.R]<0;
РС:= S2, если ОП [F.R]>0;
PC+1, если ОП [F.R]=0;
S1, если РОН [R]>0;
РС:= S2, если РОН [R]<0;
S3, если РОН [R]=0;
Здесь РС:= РС+1 означает переход к следующей команде, расположенной за командой условного перехода. В команде можно реализовать и другие условия перехода. Поля S2 и S3 можно использовать в двух-, и трехадресных командах.
-
Команда «Стоп»:
КОП | 0 |
Используется для завершения работы программы.
Все машинные команды выполняются в ЦУУ под управлением управляющего автомата. При разработке микропрограмм машинных операций необходимо использовать микрооперации, указанные в табл. 2. Порядок управления АЛУ, выбором регистром общего назначения и схемой инкремента-декремента приведен в табл.1,7 и 8.
Список микроопераций
Таблица 2
УС | Микрооперации | УС | Микрооперации |
y20 | А:=R | Y49 | PC: =0 |
Y21 | A: =S1 | Y50 | PC: =PC*A |
Y22 | A: =S2 | … | |
Y23 | A: =S3 | Y52 | SP: =A |
Y24 | A: =PC | Y53 | SP: SP*A |
Y25 | A: =PB | … | |
Y26 | A: =SP | Y55 | РОН[R]:=S1 |
Y27 | A: =РОН [R1] | Y56 | РОН[R1]:=A |
Y28 | A: =РОН [R2] | Y57 | РОН[R]:=РОН[R]*A |
Y29 | A: =РОН [T] | Y58 | РОН[T]:=РОН[T]*A |
Y30 | A: =ОП [PA] | … | |
Y31 | A: =A*B | Y60 | ОП[PA]:=A |
… | … | ||
Y35 | B: =РИ | Y62 | РК[31:16]:=ОП[PA] |
Y36 | B: =РОН[R] | Y63 | РК[31:8]:=ОП[PA] |
Y37 | B: =A*B | Y64 | РК[31:0]:=ОП[PA] |
Y38 | B: =F.R | … | |
… | Y66 | А:=Дисплей | |
Y41 | PA: =РОН [T] | Y67 | Дисплей:= А |
Y42 | PA: =A*B | Y68 | «Переполнение» |
Y43 | PA: =0 | Y69 | «Ошибка в ОП» |
… | Y70 | «Стоп» | |
Y45 | PB: =A | ||
… | |||
Y47 | РИ:=РИ+/-1 | ||
Y48 | РИ:=A |
Варианты заданий
Таблица 3
Вариант | Код задания | Вариант | Код задания | Вариант | Код задания | Вариант | Код задания | Вариант | Код задания |
I | I-П3-I | 21 | 5-П2-7 | 41 | 9-П3-9 | 61 | 13-П2-5 | 81 | 1-Р-8 |
2 | 2-П2-2 | 22 | 6-П1-8 | 42 | 10-КР1--7 | 62 | 14-П3-6 | 82 | 2-П3-9 |
3 | 3-П1-3 | 23 | 7-КР2-9 | 43 | 11-П1-7 | 63 | 15-КР1-4 | 83 | 3- П3-8 |
4 | 4-КР2-4 | 24 | 8-КР1-1 | 44 | 12-П3-6 | 64 | 16-Р-3 | 84 | 4-Р-7 |
5 | 5-КPI-5 | 25 | 9-Р-2 | 45 | 13-КР1-5 | 65 | 1-П2-2 | 85 | 5-Р-6 |
6 | 6-Р-6 | 26 | 10-П3-3 | 46 | 14-Р-4 | 66 | 2 - Р-3 | 86 | 6-П3 -5 |
7 | 7-ПЗ-7 | 27 | 11-П2-4 | 47 | 15-П2-3 | 67 | 3-КР2-4 | 87 | 7-П2-4 |
8 | 8-П2-8 | 28 | 12-П1-5 | 48 | 16-КР1-2 | 68 | 4-П1-5 | 88 | 8-Р - 3 |
9 | 9-П1-9 | 29 | 13-КР2-6 | 49 | 1-КР1-1 | 69 | 5-П1-6 | 89 | 9-КР2-2 |
10 | 10-КР2 -1 | 30 | 14-КР1-7 | 50 | 2-П1-2 | 70 | 6-КР1-7 | 90 | 10-П1-1 |
11 | 11-KPI-2 | 31 | 15-Р-8 | 51 | 3-П2-3 | 71 | 7-Р-8 | 91 | 11-Р-2 |
12 | 12-P-3 | 32 | 16-П1-9 | 52 | 4-КР1-4 | 72 | 8-П1-9 | 92 | 12-КР2-3 |
13 | 13-ПЗ-4 | 33 | 1-П1-1 | 53 | 5-КР2-5 | 73 | 9-П2-8 | 93 | 13-П1-4 |
14 | 14-П2-5 | 34 | 2-КР2-2 | 54 | 6-П2-6 | 74 | 10-Р-9 | 94 | 14-П1-5 |
15 | 15-П1-6 | 35 | 3-КР1-3 | 55 | 7-КР1-7 | 75 | 11-П3-8 | 95 | 15-КР2-6 |
16 | 16 -П3-8 | 36 | 4-П2-4 | 56 | 8-П3-8 | 76 | 12-П2-7 | 96 | 16-Р-7 |
17 | 1-КР2-3 | 37 | 5-П3-5 | 57 | 9-КР1-9 | 77 | 13-Р-6 | 97 | 1-КР2-6 |
18 | 2-КР1-4 | 38 | 6-КР2-6 | 58 | 10-П2-8 | 78 | 14- КР2 -5 | 98 | 2-КР1-7 |
19 | 3-Р-5 | 39 | 7-П1-7 | 59 | 11-КР2-7 | 79 | 15-П3-6 | 99 | 3-Р-9 |
20 | 4-П3-6 | 40 | 8-КР2-8 | 60 | 12-КР1-6 | 80 | 16-Р-7 | 100 | 4-КР2-8 |
101 | 5-КР1-3 | 107 | 11-КР1-7 | 113 | 1-П1-9 | 119 | 7-П1-2 | 125 | 13-П1-2 |
102 | 6-Р-2 | 108 | 12-Р-8 | 114 | 2-П2-6 | 120 | 8-П2-4 | 126 | 14-П2-3 |
103 | 7-П3-1 | 109 | 13-П3-9 | 115 | 3-П3-7 | 121 | 9-П3-6 | 127 | 15-П3-4 |
104 | 8-КР1-9 | 110 | 14-КР1-1 | 116 | 4-КР1-6 | 122 | 10-КР1-5 | 128 | 16-КР1-5 |
105 | 9-Р-5 | 111 | 15-Р-2 | 117 | 5-КР2-1 | 123 | 11-КР2-3 | 129 | 1-КР2-6 |
106 | 10-КР2-6 | 112 | 16-КР2-7 | 118 | 6-Р-8 | 124 | 12-Р-1 | 130 | 2-Р - 7 |
Характеристики команд