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