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

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

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

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

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

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

***

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

***

Саратов

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

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

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