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