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

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

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

















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

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















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

***

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

***





Саратов

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


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


Начало

C [0:31]:=000...0

C [26]

C [0:31]:=C [0:31] + 1

B [63]

B [33:63]:=B [32:62]

B [33:63]:=B [32:62]

B [1:32]:=B [0:31] + 000…0

B [1:32]:=B [0:31] + A [0:31]

П

ПП:=1

Конец

1

0

1

0

1

0



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


Начало

A [0]

B [0:15]:=111…1

B [0:15]:=000…0

Конец

1

0


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


Начало

C [0:31]:=000…0

C [26]

C [0:31]:=C [0:31] + 1

A [0]

B [0]

B [0]

A [0]:=0

A [0]:=1

Конец

1

0

1

0

1

0

1

0

A [0:31]:=A[1:31].A[0]

B [0:31]:=B [1:31].B [0]













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


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


Тип слова

Слово

Комментарий

Входное/выходное

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]








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



A



B

0

0


31

0


63

1 операнд

2 операнд

1

0

A [1:31].A [0]

Y10

Y11

Y12

B [32:62]

B [0:31]

000…0

A [0:31]

B [0:31]

111…1

000…0

B [1:31].B [0]

Y3

Y4

Y5

Y8

Y9

Y13



С

0


31

000…0

Y1

C [0:31]

1

Y2

П

ПП

1

Y6

Y7

S

S

1

111…1

B [0:63]

B [63]

П [0]

ПП [0]

A [0]

B [0]

A [0:31]


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


Распределение регистров по шинам 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

A3 =

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

A4 =

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


A


1ый операнд

d6 [0]

x

x

d7 [0:31]



B

2ой операнд

x

x

x

x

d2 [33:63]

d3 [1:32]

d5 [0:15]

d8 [0:31]


C

x

d1 [0:31]


ПП

x

d4

A1

x

a2

x

a1

A2

x

b1

A3

x

x

x

x

000…0; 1,8

A1 [0:31]; 2,4,5

A1 [32:62]; 3

A3 [0]; 6

x

x

x

x

111…1; 7

A3 [0]; 9

A2 [1:31].A2 [0]; 10

A1 [1:31].A1 [0]; 11


A4

x

x

x

000…0; 1,3,4,6, 7,8,9,10,11

A4 [31]; 2

A2 [0:31]; 5


1

1

0

П


Нравится материал? Поддержи автора!

Ещё документы из категории информатика:

X Код для использования на сайте:
Ширина блока px

Скопируйте этот код и вставьте себе на сайт

X

Чтобы скачать документ, порекомендуйте, пожалуйста, его своим друзьям в любой соц. сети.

После чего кнопка «СКАЧАТЬ» станет доступной!

Кнопочки находятся чуть ниже. Спасибо!

Кнопки:

Скачать документ