ЛР Центральное устройство управления (1075156), страница 2
Текст из файла (страница 2)
Регистр возврата используют в командах «Переход с возвратом» при обращении к подпрограммам для хранения адреса возврата в основную программу.
В процессорах с внутренней памятью часто РИ, РС, SP, РВ размещают в регистрах общего назначения. Иногда РВ и А также размещают в РОН.
В процессорах со стековой памятью адрес возврата размещают в стеке.
Управляющий автомат формирует управляющие сигналы Y1, …, Ym на основе кода операции, поступающего из регистра команд и признаков выполнения микроопераций в АЛУ. В АЛУ формируются следующие признаки: 1) Z=1 – нулевой результат;
2) N=1 – отрицательный результат (единица в старшем разряде слова);
3) С=1 – перенос при сложении, вычитании и сдвиге вправо или влево;
4) Р=1 – переполнение.
Управляющий автомат может быть микропрограммным или схемно-логического типа. В лабораторной работе необходимо использовать УА
схемно-логического типа (рис. 3) на основе программируемых логических матриц (ПЛМ) и регистра состояния (Р).
Типовые машинные команды, используемые в работе
-
Трехадресная команда с прямой адресацией:
КОП | R | S1 | S2 | S3 |
О П[S1+U]*ОП[S2+U] ОП[S3+U]
Здесь И - индекс для модификации адресов. В поле R указывается адрес регистра (РОН), используемого для модификации адресов, либо адрес слова в странице оперативной памяти, в котором хранится индекс (адресом ОП будет F.R). Если для хранения индекса предусмотрен специальный индексный регистр, то в поле R записывают нуль. В команде можно модифицировать один, два или три адреса. Звездочка (*) определяет одну из операций в АЛУ (см. табл. 1) в том числе и операцию пересылки. При И=0 выполняется команда без модификации.
Р
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 |
О П [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 |
S 1 РОН[R], РИ, ОП [F.R], SP, …
Команду используют для установки начальных значений адресов, индексов и
т. д. в регистрах общего назначения.
-
Команда безусловного перехода по косвенному адресу (возврат из подпрограммы):
КОП | R |
Команда заносит адрес возврата в программный счетчик. Адрес возврата может храниться в стеке или в регистре возврата (в этом случае R=0), или в оперативной памяти по адресу F.R (в последнем случае в поле R записывают четырехразрядный адрес слова в странице F, где хранится адрес возврата).
-
Команда безусловного перехода по прямому адресу:
КОП | 0 | S1 |
S 1 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 |
| ||
Y48 | РИ:=A |
Таблица 3. Варианты заданий
Вариант | Код задания | Вариант | Код задания | Вариант | Код задания |
1 | 1-П3-1 | 21 | 10-П1-3 | 41 | 8-КР1-3 |
2 | 2-П2-2 | 22 | 11-КР2-4 | 42 | 9-Р-2 |
3 | 3-П1-3 | 23 | 1-КР1-5 | 43 | 10-П3-1 |
4 | 4-КР2-4 | 24 | 2-Р1 | 44 | 11-П2-2 |
5 | 5-КР1-5 | 25 | 3-П3-7 | 45 | 1-П1-3 |
6 | 6-Р-6 | 26 | 4-П2-8 | 46 | 2-КР2-4 |
7 | 7-П3-7 | 27 | 5-П1-9 | 47 | 3-КР1-5 |
8 | 8-П2-8 | 28 | 6-КР2-1 | 48 | 4-Р-6 |
9 | 9-П1-9 | 29 | 7-КР1-2 | 49 | 5-П3-7 |
10 | 10-КР2-1 | 30 | 8-Р-3 | 50 | 6-П2-8 |
11 | 11-КР1-2 | 31 | 9-П3-4 | 51 | 7-П1-7 |
12 | 1-Р-3 | 32 | 10-П2-5 | 52 | 8-КР2-6 |
13 | 2-П3-4 | 33 | 11-П1-6 | 53 | 9-КР1-5 |
14 | 3-П2-5 | 34 | 1-КР2-7 | 54 | 10-Р-4 |
15 | 4-П1-6 | 35 | 2-КР1-3 | 55 | 11-П3-3 |
16 | 5-КР2-7 | 36 | 3-Р-8 | 56 | 1-П2-2 |
17 | 6-КР1-8 | 37 | 4-П3-7 | 57 | 2-П1-1 |
18 | 7-Р-9 | 38 | 5-П2-6 | 58 | 3-КР2-7 |
19 | 8-П3-1 | 39 | 6-П1-5 | 59 | 4-КР1-8 |
20 | 9-П2-2 | 40 | 7-КР2-4 | 60 | 12-П3-8 |
Таблица 4