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

Информация - Компьютеры, программирование

Другие материалы по предмету Компьютеры, программирование

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

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

***

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

***

 

 

 

 

Саратов

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

 

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

 

 

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

 

  1. Логическая команда xor:

 

 

 

 

 

 

 

 

 

 

 

 

Синтез канонического автомата

 

Входные и выходные слова:

 

Тип словаСловоКомментарийВходное/выходноеA [0:31]Первый операнд\результат операцииВходное/выходноеB [0:63]Второй операнд\результат операцииВыходноеС [26]Ограничение счётчика числом 32ВыходноеB [63]Разряд, анализируемый мультиплексоромВыходноеП [0]Перенос из старшего разряда младшего словаВыходноеПП [0]Признак переполнения младшего словаВыходноеA [0]Старший разряд первого операндаВыходноеB [0]Старший разряд второго операнда

 

Логические условия:

 

ОбозначениеУсловиеКомментарийX1C [26]Ограничение счётчика числом 32 X2B [63]Разряд, анализируемый мультиплексоромX3П [0]Перенос из старшего разряда младшего словаX4ПП [0]Признак переполнения младшего словаX5A [0]Анализ старшего разряда первого операндаX6B [0]Анализ старшего разряда второго операнда

 

Микрооперации:

 

ОбозначениеМикрооперацияY1C [0:31]:=000…0Y2C [0:31]:=C [0:31] + 1 Y3B [33:63]:=B [32:62]Y4B [1:32]:=B [0:31] + 000…0Y5B [1:32]:=B [0:31] + A [0:31]Y6П [0]:=1Y7ПП [0]:=1Y8B [0:15]:=111…1Y9B [0:15]:=000…0Y10A [0]:=1Y11A [0]:=0Y12A [0:31]:=A [1:31].A [0]Y13B [0:31]:=B [1:31].B [0]

 

 

 

 

 

 

Построим логическую схему канонического автомата:

Синтез М-автомата

 

Распределение регистров по шинам A1 и A2: A1 (C, B, ПП) и A2 (A).

 

Операторы, реализуемые М-автоматом:

 

YmМикрооперацииA1=SiA2=SjZ=(A1,A2)Sk=ZY1C [0:31]:=000…0A1=CZ [0:31]:=000…0C [0:31]:=Z [0:31]Y2C [0:31]:=C [0:31] + 1 A1=CZ [0:31]:=A1 [0:31] + 1 C [0:31]:=Z [0:31] Y3B [33:63]:=B [32:62]A1=BZ [33:63]:=A1 [32:62]B [33:63]:=Z [33:63]Y4B [1:32]:=B [0:31] + 000…0A1=BZ [1:32]:=A1 [0:31] + 000…0B [1:32]:=Z [1:32]Y5B [1:32]:=B [0:31] + A [0:31]A1=BA2=AZ [1:32]:=A1 [0:31] + A2 [0:31]B [1:32]:=Z [1:32] Y7ПП [0]:=1A1=ППZ [0]:=1ПП [0]:=Z [0]Y8B [0:15]:=111…1A1=BZ [0:15]:=111…1B [0:15]:=Z [0:15]Y9B [0:15]:=000…0A1=BZ [0:15]:=000…0B [0:15]:=Z [0:15]Y10A [0]:=1A2=AZ [0]:=1A [0]:=Z [0]Y11A [0]:=0A2=AZ [0]:=0A [0]:= Z [0]Y12A [0:31]:=A [1:31].A [0]A2=AZ [0:31]:=A2 [1:31].A2 [0]A [0:31]:= Z [0:31]Y13B [0:31]:=B [1:31].B [0]A1=BZ [0:31]:=A1 [1:31].A1 [0]B [0:31]:= Z [0:31]

 

Управляющие сигналы и микрооперации:

 

Выборка операндовПреобразование словЗагрузка результатаaiA1=SibjA2=SjmZ=m(A1,A2)dkSk=Za1A1=Cb1A2=A1Z [0:31]:=000…0d1C [0:31]:=Z [0:31]a2A1=B2Z [0:31]:=A1 [0:31] + 1 d2B [33:63]:=Z[33:63]a3A1=ПП3Z [33:63]:=A1 [32:62]d3B [1:32]:=Z [1:32]4Z [1:32]:=A1 [0:31] + 000…0d4ПП [0]:=Z [0]5Z [1:32]:=A1 [0:31] + A2 [0:31]d5B [0:15]:=Z [0:15]6Z [0]:=1d6A [0]:=Z [0]7Z [0:15]:=111…1d7A [0:31]:= Z [0:31]8Z [0:15]:=000…0d8B [0:31]:= Z [0:31]9Z [0]:=010Z [0:31]:=A2 [1:31].A2 [0]11Z [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

 

Кодирование микроопераций наборами управляющих сигналов:

 

Y1a1-1d1Y2a1-2d1Y3a2-3d2Y4a2-4d3Y5a2b15d3Y7a3-6d4Y8a2-7d5Y9a2-8d5Y10-b16d6Y11-b19d6Y12-b110d7Y13a2-11d8

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