Министерство образования Российской Федерации
Саратовский государственный технический университет
Синтез операционных автоматов
лабораторная работа по курсу “Организация ЭВМ и систем”
Выполнил: студент группы ***
***
Проверил: преподаватель кафедры ***
Саратов
Построим содержательные графы выполнения трёх команд языка Ассемблера:
1. Команда умножения двоичных чисел без знака mul:
2. Команда преобразования типов cwde:
3. Логическая команда xor:
Синтез канонического автомата
Входные и выходные слова:
Тип слова
Слово
Комментарий
Входное/выходное
A [0:31]
Первый операнд\результат операции
B [0:63]
Второй операнд\результат операции
Выходное
С [26]
Ограничение счётчика числом 32
B [63]
Разряд, анализируемый мультиплексором
П [0]
Перенос из старшего разряда младшего слова
ПП [0]
Признак переполнения младшего слова
A [0]
Старший разряд первого операнда
B [0]
Старший разряд второго операнда
Логические условия:
Обозначение
Условие
X1
C [26]
X2
X3
X4
X5
Анализ старшего разряда первого операнда
X6
Анализ старшего разряда второго операнда
Микрооперации:
Микрооперация
Y1
C [0:31]:=000…0
Y2
C [0:31]:=C [0:31] + 1
Y3
B [33:63]:=B [32:62]
Y4
B [1:32]:=B [0:31] + 000…0
Y5
B [1:32]:=B [0:31] + A [0:31]
Y6
П [0]:=1
Y7
ПП [0]:=1
Y8
B [0:15]:=111…1
Y9
B [0:15]:=000…0
Y10
A [0]:=1
Y11
A [0]:=0
Y12
A [0:31]:=A [1:31].A [0]
Y13
B [0:31]:=B [1:31].B [0]
Построим логическую схему канонического автомата:
Синтез М-автомата
Распределение регистров по шинам A1 и A2: A1 (C, B, ПП) и A2 (A).
Операторы, реализуемые М-автоматом:
Ym
Микрооперации
A1=Si
A2=Sj
Z=(A1,A2)
Sk=Z
A1=C
Z [0:31]:=000…0
C [0:31]:=Z [0:31]
Z [0:31]:=A1 [0:31] + 1
A1=B
Z [33:63]:=A1 [32:62]
B [33:63]:=Z [33:63]
Z [1:32]:=A1 [0:31] + 000…0
B [1:32]:=Z [1:32]
A2=A
Z [1:32]:=A1 [0:31] + A2 [0:31]
A1=ПП
Z [0]:=1
ПП [0]:=Z [0]
Z [0:15]:=111…1
B [0:15]:=Z [0:15]
Z [0:15]:=000…0
A [0]:=Z [0]
Z [0]:=0
A [0]:= Z [0]
Z [0:31]:=A2 [1:31].A2 [0]
A [0:31]:= Z [0:31]
Z [0:31]:=A1 [1:31].A1 [0]
B [0:31]:= Z [0:31]
Управляющие сигналы и микрооперации:
Выборка операндов
Преобразование слов
Загрузка результата
ai
bj
m
Z=m(A1,A2)
dk
a1
b1
1
d1
a2
2
d2
B [33:63]:=Z[33:63]
a3
3
d3
4
d4
5
d5
6
d6
7
d7
8
d8
9
10
11
Обобщённый оператор: Z = A3 + A4, где:
000…0; 1, 8
A1 [0:31]; 2, 4, 5
A1 [32:62]; 3
1[0]; 6
111…1; 7
0 [0]; 9
A2 [1:31].A2 [0]; 10
A1 [1:31].A1 [0]; 11
000…0; 1, 3, 4, 6, 7, 8, 9, 10, 11
1 [31]; 2
A2 [0:31]; 5
Кодирование микроопераций наборами управляющих сигналов:
-
Структурная схема М-автомата: