Задание
Дано:
- состав операций ;
(примечание: фиксируется остаток, частное игнорируется; сумматор имеет разрядность, вчетверо меньшую, чем длина);
- критический параметр - ;
- функциональный тип триггера - D;
- модель автомата – автомат Мура;
- алгоритмы решения задач
Сложение с плавающей точкой (Рис. 1)
Умножение прямых кодов (Рис. 2)
Деление прямых кодов (Рис. 3)
Объединение алгоритмов решения задач
-
Объединим три имеющихся алгоритма в один (Рис. 4).
-
Пронумеруем условия (Х), микрокоманды (Y) и микроприказы (z) со сквозной нумерацией. При условии полного совпадения элементов индексы повторяются (Рис. 5).
-
Составляем абстрактную граф-схему и проставляем точки останова со сквозной нумерацией. В случае с автоматом Мура точки останова будут находится непосредственно в блоках микрокоманд (Рис. 6).


(Рис. 4)


(Рис. 5)


(Рис. 6)
Таблица логических условий
Осведомительный
сигнал
|
Логическое
условие
|
Комментарий
|
00
|
|
Режим ожидания
|
01
|
|
Выбор команды «Сложение с плавающей точкой»
|
10
|
gif" align=bottom>
|
Выбор команды «Умножение прямых кодов»
|
11
|
|
Выбор команды «Деление прямых кодов»
|
Х3
|
СЕ 1
|
Проверка мантиссы
|
Х4
|
ЕА = 0
|
Проверка порядка
|
Х5
|
SB
|
Проверка знака
|
Х6
|
SC
|
Проверка знака
|
Х7
|
СЕ 2
|
Проверка мантиссы
|
Х8
|
D [23]
|
Проверка 23-го разряда
|
Х9
|
СF 1
|
Проверка мантиссы
|
Х10
|
C [0]
|
Проверка 0-го разряда
|
Х11
|
CTR = 0
|
Проверка счётчика на обнуление
|
Х12
|
AH [n – 1]
|
Проверка знакового разряда регистра «АН»
|
Х13
|
CTR = n – 1
|
Проверка счётчика на занесение в него числа «n – 1»
|
Таблица управляющих сигналов
Управляющий сигнал
(микроприказ)
|
Микрооперация
|
Микрокоманда
|
Z1
|
OE = 0
|
Y1
|
Z2
|
UE = 0
|
Y1
|
Z3
|
EA: = (EB + d) + + 1
|
Y1
|
Z4
|
D: = |MC|
|
Y2
|
Z5
|
D: = R 1 (D)
|
Y3 , Y6
|
Z6
|
EA: = EA – 1
|
Y3 , Y19
|
Z7
|
|MC|: = D
|
Y4
|
Z8
|
(EB + d): = (EC + d)
|
Y5
|
Z9
|
D: = |MB|
|
Y5
|
Z10
|
EA: = EA + 1
|
Y6 , Y13
|
Z11
|
|MB|: = D
|
Y7 , Y15
|
Z12
|
EA: = (EB + d)
|
Y8
|
Z13
|
MA: = |MB| + + 1
|
Y9
|
Z14
|
MA: = |MB| + |MC|
|
Y10
|
Z15
|
MA: = + |MC| + 1
|
Y11
|
Z16
|
D: = |MA|
|
Y12
|
Z17
|
D: = 1. R 1 (D)
|
Y13
|
Z18
|
OE: = 1
|
Y14
|
Z19
|
(EB + d): = EA
|
Y15
|
Z20
|
|MB|: = |MA|
|
Y16
|
Z21
|
SB: = 0
|
Y17
|
Z22
|
SB: = 1
|
Y18
|
Z23
|
MA: = + 1
|
Y18
|
Z24
|
D: = L 1 (D)
|
Y19
|
Z25
|
UE: = 1
|
Y20
|
Z26
|
A: = 0
|
Y21
|
Z27
|
CTR: = n – 1
|
Y21 , Y26
|
Z28
|
SF: = B [n – 1] C [n – 1]
|
Y21
|
Z29
|
AH: = AH + B [n – 2 : 0]
|
Y22
|
Z30
|
A: = CF. R 1 (A)
|
Y23
|
Z31
|
C: = R 1 (C)
|
Y23
|
Z32
|
CTR: = CTR – 1
|
Y23 , Y30
|
Z33
|
DH: = 0. SF. AH [n – 2 : 1]
|
Y24
|
Z34
|
DL: = AH [0]. R 1 (AL)
|
Y24
|
Z35
|
A: = L 1 (A)
|
Y25 , Y30
|
Z36
|
TS: = AH [n – 1]
|
Y26
|
Z37
|
OF: = 0
|
Y26
|
Z38
|
AH [n – 1]: = 0
|
Y27
|
Z39
|
AH: = AH + 1. + 1
|
Y28
|
Z40
|
C [0]: = 0
|
Y29
|
Z41
|
AH: = AH + 0. B [n – 2 : 0]
|
Y29
|
Z42
|
C: = L 1 (C)
|
Y30
|
Z43
|
OF: = 1
|
Y31
|
Z44
|
C [0]: = 1
|
Y32
|
Z45
|
AH [n – 1]: = TS
|
Y33
|
Z46
|
C [n – 1]: = TS B [n – 1]
|
Y33
| |