Синтез операционных автоматов
Министерство образования Российской Федерации
Саратовский государственный технический университет
Синтез операционных автоматов
лабораторная работа по курсу “Организация ЭВМ и систем”
Выполнил: студент группы ***
***
Проверил: преподаватель кафедры ***
***
Саратов
Построим содержательные графы выполнения трёх команд языка Ассемблера:
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 | |
|
Структурная схема М-автомата: