Министерство образования Российской Федерации
Саратовский государственный технический университет
Синтез операционных автоматов
лабораторная работа по курсу “Организация ЭВМ и систем”
Выполнил:
студент группы ***
***
Проверил:
преподаватель кафедры ***
***
Саратов
Построим содержательные графы выполнения трёх команд языка Ассемблера:
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]<
/td>
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
|
a1 | A1=C | b1 | A2=A | j1 | Z [0:31]:=000…0 | d1 | C [0:31]:=Z [0:31] |
a2 | A1=B | j2 | Z [0:31]:=A1 [0:31] + 1 | d2 | B [33:63]:=Z[33:63] | ||
a3 | A1=ПП | j3 | Z [33:63]:=A1 [32:62] | d3 | B [1:32]:=Z [1:32] | ||
j4 | Z [1:32]:=A1 [0:31] + 000…0 | d4 | ПП [0]:=Z [0] | ||||
j5 | Z [1:32]:=A1 [0:31] + A2 [0:31] | d5 | B [0:15]:=Z [0:15] | ||||
j6 | Z [0]:=1 | d6 | A [0]:=Z [0] | ||||
j7 | Z [0:15]:=111…1 | d7 | A [0:31]:= Z [0:31] | ||||
j8 | Z [0:15]:=000…0 | d8 | B [0:31]:= Z [0:31] | ||||
j9 | Z [0]:=0 | ||||||
j10 | Z [0:31]:=A2 [1:31].A2 [0] | ||||||
j11 | Z [0:31]:=A1 [1:31].A1 [0] |
Обобщённый оператор: Z = A3 + A4, где:
000…0; j1, j8
A1 [0:31]; j2, j4, j5
A1 [32:62]; j3
|
1[0]; j6
111…1; j7
0 [0]; j9
A2 [1:31].A2 [0]; j10
A1 [1:31].A1 [0]; j11
000…0; j1, j3, j4, j6, j7, j8, j9, j10, j11
|
1 [31]; j2
A2 [0:31]; j5
Кодирование микроопераций наборами управляющих сигналов:
Y1 | a1 | - | j1 | d1 |
Y2 | a1 | - | j2 | d1 |
Y3 | a2 | - | j3 | d2 |
Y4 | a2 | - | j4 | d3 |
Y5 | a2 | b1 | j5 | d3 |
Y7 | a3 | - | j6 | d4 |
Y8 | a2 | - | j7 | d5 |
Y9 | a2 | - | j8 | d5 |
Y10 | - | b1 | j6 | d6 |
Y11 | - | b1 | j9 | d6 |
Y12 | - | b1 | j10 | d7 |
Y13 | a2 | - | j11 | d8 |
Структурная схема М-автомата:
|