Смекни!
smekni.com

Синтез операционных автоматов

Министерство образования Российской Федерации

Саратовский государственный технический университет

Синтез операционных автоматов

лабораторная работа по курсу “Организация ЭВМ и систем”

Выполнил: студент группы ***

***

Проверил: преподаватель кафедры ***

***

Саратов

Построим содержательные графы выполнения трёх команд языка Ассемблера:

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 jm Z=jm(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

Структурная схема М-автомата: