- •Введение.
- •Задание.
- •3.Определение минимального набора операций алу.
- •4.Алгоритмы микропрограмм выполнения минимально необходимого набора операций алу.
- •5.Синтез операционного автомата с общими микрооперациями.
- •6. Форматы команд и операндов
- •7.Закодированные алгоритмы микроопераций
- •8. Микропрограмма алу
- •Список использованной литературы.
5.Синтез операционного автомата с общими микрооперациями.
Для каждой микрооперации ym из полного списка Y микроопераций, реализуемых операционным автоматом, находятся все операторы, составляющие эту операцию.
Нахождение операторов сводится к построению таблицы табл.5.1, в которой указаны операторы, соответствующие микрооперациям.
Табл.5.1 содержит в себе список операторов, необходимый для реализации микроопераций из Y в автомате с общими микрооперациями. По этой таблице составляется табл.5.2. В ней перечислены операторы (микрооперации), выполняемые соответствующими подсхемами этого автомата. В таблицу заносятся только попарно различные операторы, которым ставятся в соответствие управляющие сигналы ai , bj , , ck .
Таблица 5.1
№ПП |
Микрооперации |
Операторы |
| |||
A1:=Si |
A2:=Sj |
Z:=φm(A1,A2) |
Sk:=Z | |||
y1 |
MP:=0 |
|
|
|
MP:=Z | |
y2 |
RG(0)=RG(1) |
|
A2:=RG |
Z:=L1(A2.0) |
RG(0):=Z | |
y3 |
RG(2:16):=˥RG(2:16)+2^-15 |
|
A2:=RG |
Z:=˥A2(2:16)+1 |
Rg(2:16):=Z | |
y4 |
RG:=RG+RG1(1:15) |
A1:=RG |
A2:=RG1 |
Z:=A1+A2(2:16) |
RG:=Z | |
y5 |
RG:=RG+11.˥RG1(1:15)+2^-15 |
A1:=RG |
A2:=RG1 |
Z:=A1+11.˥A2(2:16)+1 |
RG:=Z | |
y6 |
ПП:=1 |
|
|
Z:=1 |
ПП:=Z | |
y7 |
RG1(0):=˥GR1(0) |
|
A2:=RC1 |
Z:=˥A2 |
RG1(0):=Z | |
y8 |
RG2:=RG(1:16).0 |
|
A2:=RG |
Z:=L1(A2.0) |
RG2:=Z | |
y9 |
RG:=0 |
|
|
|
RG:=Z | |
y10 |
CT:=15 |
|
|
Z:=15 |
CT:=Z | |
y11 |
RG2(1:16):=R1(RG(16).RG2(1:16)) |
A1:=RG |
A2:=RG2 |
Z:=R1(A1(16).A2(1:16)) |
RG2(1:16):=Z | |
y12 |
RG(1:16):=R!(0.RG(1:16)) |
|
A2:=RG |
Z:=R1(0.A2(1:16)) |
RG(1:16):=Z | |
y13 |
CT:=CT-1 |
|
A2:=CT |
Z:=A2-1 |
CT:=Z | |
y14 |
RG:=RG+2^-15 |
A1:=RG |
|
Z:=A2+1 |
RG:=Z | |
y15 |
RG(0:1):=Rg(1) |
A1:=RG |
|
Z:=1100..00 |
RG(0:1):=Z | |
y16 |
RG2(0):=RG(1) |
|
A2:=RG |
Z:=L1(A2.0) |
RG(0):=Z |
|
y17 |
RG:=L1(RG.0) |
|
A2:=RG |
Z:=L1(A2.0) |
RG:=Z |
|
y18 |
CT:=0 |
|
|
|
CT:=Z |
|
y19 |
RG2(1:16):=0 |
|
|
|
RG2(1:16):=Z |
|
y20 |
RG2(1:16):=L1(RG2(1:16).˥RG(0)) |
A1:=RG |
A2:=RG2 |
Z:=L1(A2(1:16).˥A1(0)) |
RG2(1:16):=Z |
|
y21 |
RG:=RG2(1:15) |
|
A2:=RG2 |
Z:=R1(0.A2(1:16)) |
RG2(2:16):=Z |
|
y22 |
RG(0:1):=00 |
|
|
|
RG(0:1):=Z |
|
y23 |
RG(0:1):=˥Rg(0:1) |
|
A2:=RG |
Z:=˥A2 |
RG(0:1):=Z |
|
y24 |
RG(2:16):=L1(RG(2:16):0) |
|
|
Z:=L1(A2.0) |
RG(2:16):=Z |
|
y25 |
MP:=1 |
|
|
Z:=1 |
MP:=Z |
|
y26 |
RG2:=2-k |
|
|
Z:=216-k |
RG2:=Z |
|
y27 |
RG3:=2-k |
|
|
Z:=216-k-1 |
RG3:=Z |
|
y28 |
RG4:=RG(1:16) |
|
A2:=RG |
Z:=A2 |
RG4:=Z |
|
y29 |
CT1:=2-p |
|
|
Z:=216-p-1 |
CT1:=Z |
|
Y30 |
RG(1:16):=RG4 |
|
A2:=RG4 |
Z:=A2 |
RG(1:16):=Z |
|
y31 |
RG(1:16):=RG4 |
|
A2:=RG4 |
Z:=A2 |
RG(1:16):=Z |
|
y32 |
RG2(0:1):=˥ RG2(0:1) |
|
A2:=RG2 |
Z:=˥A2 |
RG2(0:1):=Z |
|
y33 |
RG(1:16):=CT1 |
|
A2:=CT1 |
Z:=A2 |
RG(1:16):=Z |
|
y34 |
RG(2:16):=L1(RG(2:16),0) |
|
A2:=RG |
Z:=L1(A2.0) |
RG(2:16):=Z |
|
y35 |
RG2:=RG(1:16) |
|
A2:=RG |
Z:=A2 |
RG2=Z |
|
y36 |
RG:=RG+2-p |
|
A2:=RG |
Z:=A2+216-p-1 |
RG:=Z |
|
y37 |
RG1(0:15):=RG5(1:16) |
|
A2:=RG5 |
Z:=A2 |
RG1(0:15):=Z |
|
y38 |
RG1:=RG3 |
|
A2:=RG3 |
Z:=A2 |
RG1:=Z |
|
Y39 |
CT1:=CT1+2-p |
|
A2:=CT1 |
Z:=A2+216-p-1 |
CT1:=Z |
|
Y40 |
RG3:=RG(1:16) |
|
A2:=RG |
Z:=A2 |
RG3:=Z |
|
Y41 |
RG(1:16):=RG3 |
|
A2:=RG3 |
Z:=A2 |
RG(1:16):=Z |
|
Y42 |
RG1:=RG2(0:15) |
|
A2:=RG2 |
Z:=R1(0.A2(1:16)) |
RG1:=Z |
|
Таблица 5.2
Выборка операндов
|
Преобразование слов
|
Загрузка результатов | |||||
ai |
A1:=Si |
bj |
A2:=Sj |
φm |
Z:=φm(A1,A2) |
Ck |
Sk:=Z |
a1 |
A1:=RG |
b1 |
A2:=RG |
φ1 |
Z:=L1(A2.0) |
C1 |
MP:=Z |
|
|
b2 |
A2:=RG1 |
φ2 |
Z:=˥A2(2:16)+1 |
C2 |
RG(0):=Z |
|
|
b3 |
A2:=RG2 |
φ3 |
Z:=A1+A2(2:16) |
C3 |
RG(2:16):=z |
|
|
b4 |
A2:=CT |
φ4 |
Z:=A1+11.˥A2(2:16) |
C4 |
RG:=Z |
|
|
b5 |
A2:=RG4 |
φ5 |
Z:=1 |
C5 |
ПП:=Z |
|
|
b6 |
A2:=CT1 |
φ6 |
Z:=˥A2 |
C6 |
RG1(0):=Z |
|
|
b7 |
A2:=RG3 |
φ7 |
Z:=15 |
C7 |
RG2:=Z |
|
|
|
|
φ8 |
Z:=R1(A1(16).A2(1:16)) |
C8 |
CT:=Z |
|
|
|
|
φ9 |
Z:=R1(0.A2(1:16)) |
C9 |
RG2(1:16):=Z |
|
|
|
|
φ10 |
Z:=A2-1 |
C10 |
RG(1:16):=Z |
|
|
|
|
φ11 |
Z:=A1+1 |
C11 |
RG(0:1):=Z |
|
|
|
|
φ12 |
Z:=1100..00 |
C12 |
RG2(0):=Z |
|
|
|
|
φ13 |
Z:=L1(A2(1:16).˥A1(0)) |
C13 |
RG3:=Z |
|
|
|
|
φ14 |
Z:=216-k |
C14 |
RG4:=Z |
|
|
|
|
φ15 |
Z:=216-k-1 |
C15 |
CT1:=Z |
|
|
|
|
φ16 |
Z:=A2 |
C16 |
RG1:=Z |
|
|
|
|
φ17 |
Z:=216-p-1 |
C17 |
RG2:=(2:16) |
|
|
|
|
φ18 |
Z:=A2+216-p-1 |
C18 |
RG2(0:1):=Z |
|
|
|
|
|
|
C19 |
RG1(0:15):=Z |
|
|
|
|
|
|
|
|
Каждая микрооперация кодируется набором управляющих сигналовai, bj, , ck, под воздействием которых она выполняется. Наборы сигналов определяются по табл.5.1, 5.2 и представляются в виде табл.5.3.
Таблица 5.3
-
Микрооперации
Набор управляющих сигналов
ai
bi
φm
ck
y1
_
_
_
c1
y2
_
b1
φ1
c2
y3
_
b1
φ2
c3
y4
a1
b2
φ3
c4
y5
a1
b2
φ4
c4
y6
_
_
φ5
c5
y7
_
b2
φ6
c6
y8
_
b1
φ1
c7
y9
_
_
_
c4
y10
_
_
φ7
c8
y11
_
b3
φ8
c9
y12
_
b1
φ9
c10
y13
_
b4
φ10
c8
y14
a1
φ11
c4
y15
a1
φ12
c11
y16
_
b1
φ1
c12
y17
_
b1
φ1
c4
y18
_
_
_
c8
y19
_
_
_
c9
y20
a1
b3
φ13
c9
y21
_
b3
φ9
c3
y22
_
_
_
c11
y23
_
b1
φ6
c11
y24
b1
φ1
c3
y25
_
_
φ5
c1
y26
_
_
φ14
c7
y27
_
_
φ15
c13
y28
_
b1
φ16
c14
y29
_
_
φ17
c15
Y30
_
b5
φ16
c10
y31
_
b5
φ16
c10
y32
_
b3
φ6
c19
y33
_
b3
φ16
c4
y34
_
b1
φ1
c3
y35
_
b1
φ16
c7
y36
_
b1
φ18
c4
Y37
b8
φ16
C16
Y38
b7
φ16
c16
Y39
b6
φ18
c15
Y40
b1
φ16
c13
Y41
b7
φ16
c10
Y42
b3
φ9
c16
Структурная схема автомата представлена в приложении 1. Закодированный граф микропрограммы АЛУ приведён в Приложении 2.