Министерство образования Российской Федерации
Саратовский государственный технический университет
Синтез операционных автоматов
лабораторная работа по курсу “Организация ЭВМ и систем”
Выполнил: студент группы ***
***
Проверил: преподаватель кафедры ***
***
Саратов
Построим содержательные графы выполнения трёх команд языка Ассемблера:
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 |
Структурная схема М-автомата:
! |
Как писать рефераты Практические рекомендации по написанию студенческих рефератов. |
! | План реферата Краткий список разделов, отражающий структура и порядок работы над будующим рефератом. |
! | Введение реферата Вводная часть работы, в которой отражается цель и обозначается список задач. |
! | Заключение реферата В заключении подводятся итоги, описывается была ли достигнута поставленная цель, каковы результаты. |
! | Оформление рефератов Методические рекомендации по грамотному оформлению работы по ГОСТ. |
→ | Виды рефератов Какими бывают рефераты по своему назначению и структуре. |