Реферат: Синтез операционных автоматов - Refy.ru - Сайт рефератов, докладов, сочинений, дипломных и курсовых работ

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

Рефераты по информатике » Синтез операционных автоматов

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

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


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

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


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

***

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

***


Саратов

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


Команда умножения двоичных чисел без знака mul:



Команда преобразования типов cwde:


Логическая команда 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

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


Z