Академический Документы
Профессиональный Документы
Культура Документы
2015 год
DI
DO
Операционное
F устройство
Clk
.
.
.
P0
P8 y1 y1 y1
АЛБ MS DMS
yk ys yr
.
.
.
Q S S1 S2 Sr
R S R
d) e) b1 b2 f)
== y1
CMP M2 ИНВ y2
< = >
x1 x2 x3 x
Q
DL DR
Q Rg Q Rg CNT
D C OE R D C RL RR R +1 -1
y1 [y2] [y3] y1 y2 y3 y1 y2 y3
d) Q e) Q
T TT
R S D C
y1 y2 D y1
äà íåò
предполагает следующую циклическую
a0= b0
s:= 0 s:= 1
последовательность действий после проверки условия
корректности деления:
a0:= 0
0 ñ0 1
очередной цифре частного присвоить
D[15]:= 1 D[15]:= 0 значение «1»;
C:= A-B C:= A+B
– если остаток отрицательный, то
D:= L1(D)
необходимо добавить к нему делитель, а
n:= n-1
íåò
n=0
очередной цифре частного присвоить
äà
C:= D
значение «0»;
c0:= s
A B
a0 Рг А b0 Рг В
Сч |n|
R S
a0 b 0
Сум/Выч
0 15
R S M2 Q d0 Рг D
Тг s
x1
s
c0 Рг C
0 15
R S
Тг OV
OV
A B
x3
a0 Рг А b0 Рг В
Сч |n|
R S
a0 b 0
Сум/Выч
0 15
R S M2 Q d0 Рг D
Тг s
s
x1
s
c0 Рг C
0 15
x2
R S
DC “0”
Тг OV
OV S Z C
A B
y10
x3
y3 a0 Рг А y4 b0 Рг В y8
Сч |n| y15
y9 R S
y5
a0 b 0 y13
y1 y2 Сум/Выч y14
0 15
R S M2 Q d0 Рг D
Тг s
s
x1 y17 y11 y12
s
y16
c0 Рг C
0 15
x2
y6 y7
R S
DC “0”
Тг OV
OV S Z C
y10
x3
y3 a0 Рг А y4 b0 Рг В y8
Сч |n| y15
y9 R S
y5
a0 b 0 y13
y1 y2 Сум/Выч y14
0 15
R
Тг s
S M2 Q d0 Рг D
s
x1 y17 y11 y12
s
y16
c0 Рг C
0 15
x2
Список микроопераций и логиче
ских условий
y6 y7
y1: s := 0 y9: A := C
R S
DC “0”
y2: s := 1 y10: A := L1(A)
Тг OV y3: a0 := 0 y11: D[15] := 1
y4: b0 := 0 y12: D[15] := 0 x1: a0 = b0
OV S Z C x2: c0
y5: C := R + S y13: C := R - S x3: Сч = 0
y6: OV := 0 y14: D := L1(D)
y7: OV := 1 y15: Сч:=Сч-1
y8: n := 16 y16: C := D
y17: c0 := s
4
() Устройства ЭВМ 2015 год 23 / 108
От ГСА операции и структуры ОА – к микропрограмме
Связи между приведёнными на схеме элементами, а также
управляющие ими микрооперации показаны на рисунке 8. Там же
приведен полный список микроопераций и логических условий.
1 0
x1 Микропрограмма рассматривается в качестве
y1 a2 y2 a3 исходных данных при проектировании
управляющего (микропрограммного) автомата.
y3, y4 a4
При этом содержимое операторной вершины графа
y5 a5
соответствует действиям, выполняемым устройством
x2 0
1
в один такт дискретного времени.
y6, y8 a6 y7 a7 При проектировании цифровых устройств обычно
АЛУ 1
Цифровой автомат 1
Начало
1 0
x1
Для выполнения примера возмём
y1 y2 фрагмент микропрограммы деления,
рассмотренной ранее (10).
y3, y4
Напомним, что семантика
y5
микропрограммы не влияет на процесс
x2 0 построения автомата, важно лишь,
1
чтобы она была синтаксически
y6, y8 y7 правильна.
Конец
Начало
a1
1 0
x1
y1 a2 y2 a3
Каждой операторной вершине ставим
y3, y4 a4 в соответствие уникальное состояние
автомата (произвольно).
y5 a5
Начальной и конечной вершинам
x2 0 назначаем состояние a1 .
1 a7
a6 y6, y8 y7
Конец a1
x1
a1 a2
Отмечаем на графе множества
x1 состояний A = {a1 , a2 , . . . a7 },
a7
a3 алфавит входных символов
X = {x1 , x2 } и функцию переходов
x2
(помеченные рёбра графа).
a6 x2 a4 Начальным состоянием автомата
a5 будем считать a1 .
yk
x1
Каждой вершине графа (состоянию
a1 y1
a2
автомата) сопоставим группу
x1
y2 выходных символов – содержимое
a7
a3 соответствующей операторной
y7
вершины микропрограммы.
x2
y3, y4
a6 x2 a4 В конечном состоянии автомат
y6, y8
a5
y5
должен формировать микрооперацию
yk – сигнал завершения операции.
3
() Устройства ЭВМ 2015 год 38 / 108
Выражения для функций Di
D1 = a2 ∨ a3 ∨ a4 ∨ a5
D2 = a1 ∨ a5
D3 = a1 x 1 ∨ a4 ∨ a5 x 2 ∨ a6 ∨ a7
y1 = a2 y5 = a5
y2 = a3 y6 = a6
y3 = a4 y7 = a7
y4 = a4 y8 = a6
yk = a1
11 13 12 14
x1 11
1 1 2 y1
x2 12 3 y2
4 y3
2
1 4 y4
3
y5
C D TT
4 5
10
5 6 y6
10 7 y7
C
6 y8
1 yk
1
1
D TT DC 0 1
5
x1 1
2
2
x2 3
3
C x3 4
4
1 5
5
& 6
6
13 7
7
1
4
D TT
6
7
C
14
&
5
1
b4
1/y5 b3
y6, y8 y7
b1
Конец
Очевидно,
D 1 = Q 1 Q2 ∨ Q1 Q 2 , D 2 = Q 1 Q 2 ∨ Q1 Q 2 = Q 2 ;
y 1 = Q 1 Q 2 x1 , y2 = Q 1 Q 2 x 1 , y3 = Q 1 Q2 , y4 = Q 1 Q 2 ,
y 5 = Q 1 Q 2 , y6 = Q1 Q2 x2 , y7 = Q1 Q2 x 2 , y8 = Q1 Q2 x 2 .
1 3 2 4
x1 1
5
& y1
1 1 1
x2 2
5
& y2
6 3
1
7 D TT
5
8
& y6
C Q1 DC 0
C x1 1
6 2
7 y8
2
x2 8
3 8
& y7
4
y3
D TT 6
Q2 y4
C
7 y5
{y} {x}
Aíà÷.
Ðåãèñòð ìèêðîêîìàíä
Óñòðîéñòâî
DO ôîðìèðîâàíèÿ
àäðåñà
Çàïîìèíàþùåå ìèêðîêîìàíä
CLK
RD óñòðîéñòâî
ìèêðîêîìàíä A
Y1 Y2 ... Yk x A1 A0
à) á)
y4
0 1 0
x2 x2
1
y6, y8 1 0 0
x1 x5
1 x5
1
y10 0
1 0 0
1 x3 x4 x4
y11 0 1
y13
Y1 Y2 ... Yk x A1 A0
Y1 Y2 ... Yk x i A1
Поле микроопераций Поле адресации
2
Иногда добавляют однобитовое поле i.
() Устройства ЭВМ 2015 год 70 / 108
Достоинства и недостатки естественной адресации
Достоинство:
длина микрокоманды уменьшается на длину поля одного адреса.
Недостатки:
1) усложняется блок формирования адреса микрокоманд;
2) снижается гибкость в размещении микрокоманд в памяти.
{y} {x}
Aíà÷.
Ðåãèñòð ìèêðîêîìàíä
Óñòðîéñòâî
DO ôîðìèðîâàíèÿ
àäðåñà
Çàïîìèíàþùåå ìèêðîêîìàíä
CLK
RD óñòðîéñòâî
ìèêðîêîìàíä A
Y1 Y2 ... Yk x A1 A0
– принудительная адресация
Ïîëå ìèêðîîïåðàöèé Ïîëå àäðåñàöèè
1 x i A1 - микрокоманда переадресации
0 1
x1 На этапе проектирования управляющего
автомата семантика ГСА
1 y1, y4, y7 y1, y5, y8 7
не рассматривается.
2 y3, y5 y2, y9 8
Просто имеется синтаксически правильно
построенная ГСА и требуется разработать
3 y4 устройство, реализующее это поведение.
4 y11,y12,y13
1
Построим автомат с естественной
x2
адресацией и смешанным способом
0
5 y10 кодирования микроопераций.
Ограничимся единственным форматом
6 Êîíåö
микрокоманды.
() Устройства ЭВМ 2015 год 76 / 108
Определение формата микрокоманды
Y 2 = {y4 , y5 , y12 , y6 , yk }
Y 3 = {y7 , y8 , y13 , y9 }
В множество Y 2 дополнительно включена со всеми совместимая
микрооперация yk , которая извещает автомат верхнего уровня о
завершении выполнения микропрограммы.
Y 2 = {y4 , y5 , y6 , y9 , y12 , yk }
Y 3 = {y7 , y8 , y13 }
Теперь можно определить размеры полей микрокоманды.
Поле микроопераций будет состоять из трёх подполей – Y 1, Y 2, Y 3
длиной 3, 3 и 2 бита соответственно.
Y1 Y2 Y3 X A1
3 3 2 2 4
Закодируем поля микрокоманды
Код Y 1 Y 2 Y 3
000 ∅ ∅ ∅
001 y1 y4 y7 Код x
010 y2 y5 y8 00 Const «0»
011 y3 y6 y13 01 x1
100 y10 y9 10 x2
101 y11 y12 11 Const «1»
110 − yk
111 − −
() Устройства ЭВМ 2015 год 82 / 108
Теперь можно составлять таблицу «прошивки» ПЗУ
Адрес Y1 Y2 Y3 x A1
0 010 011 00 01 0111(7)
1 001 001 01 00 xxxx
2 011 010 00 00 xxxx
3 000 001 00 00 xxxx
4 101 101 11 10 1001(9)
5 100 000 00 00 xxxx
6 000 110 00 00 xxxx
7 001 010 10 00 xxxx
8 010 100 00 11 0011(3)
9 000 000 00 01 0111(7)
10 000 000 00 11 0001(1)
В операторных
()
вершинах опущенУстройства
префиксЭВМ«y» перед номерами2015 год 89 / 108
Микропрограмма на языке микроассемблера АЛУ-1
OV = (a7 ≡ b7 )&(c7 ⊕ b7 )
S = {A, X , Y , δ, λ, a1 },
где
A = {a1 , a2 , . . . , aM } — множество (алфавит) внутренних состояний;
X = {x1 , x2 , . . . , xF } — алфавит входных сигналов;
Y = {y1 , y2 , . . . , yG } — алфавит выходных сигналов;
δ — функция переходов, реализующая отображение множества
Dδ ⊆ A × X в A: as = δ(am , xf );
λ — функция выходов, реализующая отображение множества
Dλ ⊆ A × X в Y : yg = λ(am , xf );
a1 — начальное состояние автомата.
δ a1 a2 a3 λ a1 a2 a3
x1 a3 a1 a1 x1 y1 y1 y2
x2 a1 a3 a2 x2 y1 y2 y1
δ a1 a2 a3 a4 λ a1 a2 a3 a4
x1 a2 a3 a4 − x1 y1 y3 y3 −
x2 a3 − a2 a2 x2 y2 − y1 y2
λ y1 y1 y3 y2 y3
δ a1 a2 a3 a4 a5
x1 a2 a5 a5 a3 a3
x2 a4 a2 a2 a1 a1
e
=
E
e, b e, s
s
B S
> b <
Ïàìÿòü
ÊÑõ 1 ÊÑõ 2 Âûõîä
Âõîä (Ôóíêöèÿ
àâòîìàòà (Ôóíêöèÿ
ïåðåõîäîâ) (âíóòðåííèå âûõîäîâ)
ñîñòîÿíèÿ)