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