ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ПУТЕЙ СООБЩЕНИЯ
Кафедра «Электронные вычислительные машины»
Курсовой проект
по дисциплине «Теория автоматов»
Проектирование операционного устройства.
Выполнил
ст. гр. ИНФО-810
Бабкин А. Н.
Проверил
Ефимова Р. С.
САНКТ-ПЕТЕРБУРГ
2000
В вычислительной технике применяются так называемые операционные устройства. Эти устройства могут выполнять различные операции над кодовыми словами. Любая операция может быть представлена конечной последовательностью действий, эти действия называются микрооперациями.
В данной работе проводится проектирование операционного устройства, выполняющего операцию сложения двоичных чисел с фиксированной запятой в обратных кодах.
Содержание
Введение.________________________________________________________________4
1. Разработка структурной схемы операционного автомата.
1.1. Разработка содержательного графа операции
сложения двоичных чисел в обратных кодах._____________________________5
1.2. Разработка структурной схемы операционного автомата.__________________8
2. Разработка функциональной схемы операционного автомата.
2.1. Синтез блока П._____________________________________________________10
2.2. Синтез блока C._____________________________________________________11
3. Разработка функциональной схемы управляющего автомата.
3.1. Структурная схема управляющего автомата._____________________________28
3.2. Закодированная граф-схема работы управляющего
автомата и граф управляющего автомата.________________________________28
3.3. Синтез комбинационных схем, реализующих функции возбуждения
элементов памяти управляющего автомата.______________________________31
4. Функциональная схема операционного устройства.
4.1. Организация связей между ___________________________________________33
операционным и управляющим автоматами.
4.2. Описание работы операционного устройства
на заданном отрезке времени.__________________________________________33
Заключение.______________________________________________________________34
Литература.______________________________________________________________34
Приложение._____________________________________________________________35
Введение
Задачей данного курсового проекта является разработка операционного устройства для выполнения заданной операции сложения с фиксированной запятой чисел, представленных обратными двоичными кодами
на уровне логических схем. Эта задача разбивается на две: разработку схем операционного автомата и управляющего автомата.
Все непосредственные операции действий над словами, вычисления логических условий, хранения данных возлагаются на операционный автомат.
Управляющий автомат вырабатывает последовательность управляющих сигналов в соответствии микропрограммой функционирования операционного устройства. Эти управляющие сигналы поступают на вход операционного устройства.
.
1.
Разработка структурной схемы операционного автомата
1.1. Разработка содержательного графа операции сложения двоичных чисел в обратных кодах
Для составления формального описания работы операционного устройства (ОУ) необходимо проанализировать словесное описание алгоритма выполнения заданной операции и с учетом исходных данных дать описание с помощью Ф-языка:
· слов (наименование, тип, формат);
· микроопераций;
· логических условий;
Описание слов показано в табл. 1.
Таблица 1
Слово
|
Назначение слова
|
Тип слова
|
А(1:25)
|
Первое слагаемое
|
Входное, внутреннее
|
В(1:25)
|
Второе слагаемое
|
Входное, внутреннее
|
С(1:26)
|
Результат
|
Внутреннее, выходное
|
П(1)
|
Признак переполнения
|
Внутреннее, выходное
|
Описание микроопераций дано в табл. 2.
Таблица 2
Пункт алгоритма
|
Словесное описание
|
Условное
обозначение
|
Формальное описание
|
1
|
Начало
|
y0
|
2
|
Присвоение слову П(1) и старшему разряду слова С(1:26) значение нуля
|
y1
|
П(1):=0
С(1):=0
|
3
|
|
4.1
|
Слову С(1:26) присвоить значение суммы слов В(1:25) и А(1:25) с инверсией числовых разрядов последнего
|
y2
|
C(1:26):=00.В(2:25)+01.ùА(2:25)
|
5.1
|
Слову С(1:26) присвоить значение суммы слов А(1:25) и В(1:25) с инверсией числовых разрядов последнего
|
y3
|
C(1:26):=00. А(2:25) + 01.ùВ(2:25)
|
6.1
|
К слову С(1:26) прибавить единицу младшего разряда
|
y4
|
С(1:26):= С(1:26)+1
|
7.1
|
Образование в С(1:26) прямого кода результата
|
y5
|
С(1:26):= С(1:2).ùС(3:26)
|
8
|
Слову С(1:26) присвоить значение суммы слов А(1:25) и В(1:25)
|
y6
|
C(1:26):=00. А(2:25) + 00.В(2:25)
|
9.1
|
Слову П(1) присваивается значение единицы
|
y7
|
П(1):=1
|
9.2
|
Знаковому разряду слова С(1:26) присвоить значение знакового разряда слова А(1:25)
|
y8
|
С(2):=А(1)
|
10
|
Конец
|
y0
|
Логические условия, под действием которых вырабатываются управляющие сигналы, описаны в табл. 3.
Таблица 3
Пункт алгоритма
|
Словесное описание логических условий
|
Условное
обозначение
|
Формальное описание
|
3
|
Проверка знака слова А(1:25)
|
x1
|
|
4,5
|
Проверка знака слова В(1:25)
|
x2
|
|
6
|
Проверка старшего разряда слова С(1:26)
|
x3
|
|
7,9
|
Проверка знака слова С(1:26)
|
x4
|
|
Для проектирования ОУ необходимо удостоверится в правильности алгоритма, для этого "прогонка" (проверка) алгоритма проводилась по всем возможным случаям знака множителей, а также на случай переполнения. В результате этой проверки выяснено, что алгоритм верен, и на его основе можно ОУ (см. Приложение табл. 20).
Чтобы связи между ступенями алгоритма представлялись яснее, весь алгоритм можно изобразить в виде содержательного графа, который дает визуальное представление об алгоритме данной операции. Содержательный граф-схема микрооперации предсталена на рис. 1.1.1.
1.2
В структурном отношении операционный автомат может быть разбит на блоки, каждый из которых содержит в себе элементы памяти и комбинационные схемы, количество блоков определяется количеством слов с памятью.
Память – это регистр, длина которого совпадает с длиной слова.
Если микрооперации выполняются над отдельными разрядами слова и при этом различны в разных разрядах, то в регистре выделяются так называемые поля, то есть совокупности разрядов объединенных общей совокупностью микроопераций или общим участием в формировании условий. Например, поле знаковых разрядов.
Разбиение на поля данных слов при заданной операции описано в табл. 4.
Таблица 4
Имя блока
|
Множество микроопераций в блоке
|
Множество логических условий
|
Поля
|
А
|
x1
|
А(1), А(2:25)
|
В
|
x2
|
В(1), В(2:25)
|
С
|
y1
, y2
, y3
, y4
, y5
, y6
, y8
|
x3
, x4
|
С(1), С(2), С(3:25), С(26)
|
П
|
y1
, y7
|
П(1)
|
1.2 Разработка структурной схемы операционного автомата.
Структурная схема дает представление о количестве блоков, входящих в структуру, их назначении, описание особенностей и о связях между блоками в процессе реализации функций устройства.
Количество блоков равно количеству слов с памятью, то есть необходимо четыре блока.
Связь между блоками (регистрами) осуществляется при передаче информации из блока в блок или при занесении информации извне.
Входными сигналами в операционный автомат являются сигналы из управляющего автомата, они дают команду на выполнение микроопераций над словами. Выходными сигналами из операционного автомата являются значения логических условий, которые в свою очередь поступают на входы управляющего автомата.
Тогда с помощью данных из таблиц 1, 2, 3, 4 можно составить структурную схему операционного автомата, которая представлена на рис. 1.2.1.
Рис. 1.2.1.
2. Разработка функциональной схемы операционного автомата
2.1. Синтез блока П
Для синтеза комбинационной схемы каждого разряда необходимо четко знать какие микрооперации выполняются в блоке, какие логические условия вычисляются в нем и какие поля выделены. Это видно из таблицы 4.
Тогда можно приступать к синтезу комбинационной схемы разрядов каждого поля, но так как разряды каждого поля обрабатываются одинаково, то можно синтезировать только один разряд из соответствующего поля.
Синтез поля П(1).
Над этим полем выполняются несколько микроопераций, поэтому синтез осуществляется на каждом поле отдельно, а потом эти результаты объединяются. То есть будут составляться функции возбуждения триггера для каждой микрооперации, а далее эти функции объединяются в функцию окончательного результата путем выполнения операции дизъюнкции функций возбуждения, полученных для каждой микрооперации. Это возможно, так как над одним и тем же полем одновременно может выполняться только одна микрооперация. Все эти условия распространяются и на все другие поля всех блоков.
y1
:
П(1):=0
Можно составить каноническую таблицу переходов автомата (табл. 5).
Табл. 5
t
|
t+1
|
t
|
П(1)
|
П(1)
|
J
|
K
|
0
|
0
|
0
|
0
Ú
1
|
1
|
0
|
0
Ú
1
|
1
|
Из табл. 5 можно написать функцию возбуждения для триггера по входам J и K.
J=0,
K=1.
y7
:
П(1):=1
Можно составить каноническую таблицу переходов автомата (табл. 6).
Табл. 6
t
|
t+1
|
t
|
П(1)
|
П(1)
|
J
|
K
|
0
|
1
|
1
|
0
Ú
1
|
1
|
1
|
0
Ú
1
|
0
|
Из табл. 6 можно написать функцию возбуждения для триггера по входам J и K.
J=1,
K=0.
Теперь можно написать общий вид функции возбуждения поля П(1).
Логическая схема поля П(1) будет выглядеть так, как показано на рис. 2.1.1.
Рис. 2.1.1.
2.2. Синтез блока С
В блоке С выделено несколько полей, соответственно синтез будет производиться для каждого из них отдельно.
Поле С(1).
y1
:
С(1):=0
Таблица и функции аналогичны таблице 5 и функциям для микрооперации y1
над полем П(1).
J=0, K=1.
y2
:
С(1):=P(1), где P(1) – перенос в первый разряд из второго.
Так как р поле С(1) было обнулено при микрооперации y1
, то в таблице 7 можно рассматривать только наборы, где С(1)=0.
Таблица 7
t
|
t+1
|
t
|
С(1)
|
P(1)
|
С(1)
|
J
|
K
|
0
|
0
|
0
|
0
|
0Ú1
|
0
|
1
|
1
|
0Ú1
|
1
|
Дополнив функцию на невозможных наборах, получаются следующие выражения функций возбуждения.
J=P(1),
K=1.
Функция P(1) будет найдена при синтезе поля С(2), так как она зависит от значения самого поля, переноса в этот разряд и значения слагаемых, сумма которых записывается в разряд С(2).
y3
:
В этой микрооперации все аналогично таблице 7, то есть
J=P(1), K=1.
y6
:
С(1):=0
Таблица переходов аналогична таблице 5, значит сразу известны выражения для J и K.
J=0, K=1.
y4
:
C(1):=C(1)+P(1)
J=P(1)
K=P(1)
Окончательный результат синтеза поля С(1) может быть представлен в виде:
Логическое условие:
x3
=С(1).
Логическая схема поля С(1) будет выглядеть так, как это показано на рис. 2.2.1.
Рис. 2.2.1.
Данной схеме можно сопоставить условное изображение "черного ящика", то есть известно, что на входе и, что на выходе. Эта схема представлена на рисунке 2.2.2.
Рис. 2.2.2.
Поле С(2).
y2
:
С(2):=1+P(2)
Можно перейти к булеву выражению этого разряда
С(2)=
Соответственно таблица функций (табл. 8) возбуждения будет выглядеть так:
Таблица 8
T
|
t+1
|
t
|
С(2)
|
P(2)
|
С(2)
|
P(1)
|
J
|
K
|
0
|
0
|
1
|
0
|
1
|
0Ú1
|
0
|
1
|
0
|
1
|
0
|
0Ú1
|
1
|
0
|
1
|
0
|
0Ú1
|
0
|
1
|
1
|
0
|
1
|
0Ú1
|
1
|
Из данной канонической таблицы необходимо написать выражения функций J, K, P(1).
y3
:
Абсолютно аналогично y2
:
y6
:
С(2):=P(2)
Соответственно таблица функций (табл. 9) возбуждения будет выглядеть так:
Таблица 9
T
|
t+1
|
t
|
С(2)
|
P(2)
|
С(2)
|
P(1)
|
J
|
K
|
0
|
0
|
0
|
0
|
0
|
0Ú1
|
0
|
1
|
1
|
0
|
1
|
0Ú1
|
1
|
0
|
0
|
0
|
0Ú1
|
1
|
1
|
1
|
1
|
0
|
0Ú1
|
0
|
Из данной канонической таблицы необходимо написать выражения функций J, K, P(1).
y8
:
С(2):=А(1)
Таблица аналогична таблице 9, только столбец P(2) заменяется на А(1). А функции выглядят так:
y4
:
C(2):=C(2)+P(2)
J=P(2)
K=P(2)
P(1)=P(2)C(2)
Составляются результирующие функции возбуждения элемента памяти и переноса в старший разряд, а также выражение функции логического условия.
Выражение для P(2) будет найдено при синтезе поля С(3:25).
Логическая схема для С(2) выглядит как показано на рис. 2.2.3.
Рис. 2.2.3.
На рис. 2.2.4. представлено условное обозначение разряда С(2).
Рис. 2.2.4.
Логическая схема переноса в С(1) представлена на рис. 2.2.5.
Рис. 2.2.5.
Поле С(3:25).
Здесь для синтеза можно выбрать любой разряд этого поля, и обозначить его как С(i).
y2
:
C(i):=ùA(i-1)+B(i-1)+P(i)
В виде логической функции это получится так,
, здесь P(i) перенос в i-ый разряд
Примечание.
Следует заметить, что выражение для переноса
P(i) будет выглядеть совершенно идентично выражению для
P(2) и P(i-1), в таком случае можно ограничится синтезом только
P(i-1).
Составляется каноническая таблица переходов для поля C(i) (табл. 10)
Таблица 10
t
|
t+1
|
t
|
C(i)
|
A(i-1)
|
B(i-1)
|
P(i)
|
C(i)
|
P(i-1)
|
J
|
K
|
0
|
0
|
0
|
0
|
1
|
0
|
1
|
0Ú1
|
0
|
0
|
0
|
1
|
0
|
1
|
0
|
0Ú1
|
0
|
0
|
1
|
0
|
0
|
1
|
0
|
0Ú1
|
0
|
0
|
1
|
1
|
1
|
1
|
1
|
0Ú1
|
0
|
1
|
0
|
0
|
0
|
0
|
0
|
0Ú1
|
0
|
1
|
0
|
1
|
1
|
0
|
1
|
0Ú1
|
0
|
1
|
1
|
0
|
1
|
0
|
1
|
0Ú1
|
0
|
1
|
1
|
1
|
0
|
1
|
0
|
0Ú1
|
1
|
0
|
0
|
0
|
1
|
0
|
0Ú1
|
0
|
1
|
0
|
0
|
1
|
0
|
1
|
0Ú1
|
1
|
1
|
0
|
1
|
0
|
0
|
1
|
0Ú1
|
1
|
1
|
0
|
1
|
1
|
1
|
1
|
0Ú1
|
0
|
1
|
1
|
0
|
0
|
0
|
0
|
0Ú1
|
1
|
1
|
1
|
0
|
1
|
1
|
0
|
0Ú1
|
0
|
1
|
1
|
1
|
0
|
1
|
0
|
0Ú1
|
0
|
1
|
1
|
1
|
1
|
0
|
1
|
0Ú1
|
1
|
Составляются функции возбуждения и функция переноса P(i-1) из таблицы 10:
J
B(i-1)P(i)
C(i)A(i-1)
|
00
|
01
|
11
|
10
|
00
|
1
|
0
|
1
|
0
|
01
|
0
|
1
|
0
|
1
|
11
|
*
|
*
|
*
|
*
|
10
|
*
|
*
|
*
|
*
|
K
B(i-1)P(i)
C(i)A(i-1)
|
00
|
01
|
11
|
10
|
00
|
*
|
*
|
*
|
*
|
01
|
*
|
*
|
*
|
*
|
11
|
0
|
1
|
0
|
1
|
10
|
1
|
0
|
1
|
0
|
y3
:
C(i):=A(i-1)+ùB(i-1)+P(i),
Аналогично y2
с заменой в табл. 10 столбца A(i-1) на B(i-1), а B(i-1) на A(i-1), соответственно получается:
y5
:
C(i):=ùC(i), необходимо перейти к выражению в виде булевой функции,
Таблица функций возбуждения триггера (табл. 11) будет выглядеть так,
Таблица 11
T
|
t+1
|
t
|
C(i)
|
C(i)
|
J
|
K
|
0
|
1
|
1
|
0Ú1
|
1
|
0
|
0Ú1
|
1
|
Из таблицы 11 можно написать выражения для J и K.
J=1
K=1
y6
:
C(i):=A(i-1)+B(i-1)+P(i), переход к булевой функции,
Составляется каноническая таблица функций возбуждения (табл. 12),
Таблица 12
t
|
t+1
|
t
|
C(i)
|
A(i-1)
|
B(i-1)
|
P(i)
|
C(i)
|
P(i-1)
|
J
|
K
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0Ú1
|
0
|
0
|
0
|
1
|
1
|
0
|
1
|
0Ú1
|
0
|
0
|
1
|
0
|
1
|
0
|
1
|
0Ú1
|
0
|
0
|
1
|
1
|
0
|
1
|
0
|
0Ú1
|
0
|
1
|
0
|
0
|
1
|
0
|
1
|
0Ú1
|
0
|
1
|
0
|
1
|
0
|
1
|
0
|
0Ú1
|
0
|
1
|
1
|
0
|
0
|
1
|
0
|
0Ú1
|
0
|
1
|
1
|
1
|
1
|
1
|
1
|
0Ú1
|
1
|
0
|
0
|
0
|
0
|
0
|
0Ú1
|
1
|
1
|
0
|
0
|
1
|
1
|
0
|
0Ú1
|
0
|
1
|
0
|
1
|
0
|
1
|
0
|
0Ú1
|
0
|
1
|
0
|
1
|
1
|
0
|
1
|
0Ú1
|
1
|
1
|
1
|
0
|
0
|
1
|
0
|
0Ú1
|
0
|
1
|
1
|
0
|
1
|
0
|
1
|
0Ú1
|
1
|
1
|
1
|
1
|
0
|
0
|
1
|
0Ú1
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
0Ú1
|
0
|
Составляются функции возбуждения и функция переноса P(i-1) из таблицы 12:
J
B(i-1)P(i)
C(i)A(i-1)
|
00
|
01
|
11
|
10
|
00
|
0
|
1
|
0
|
1
|
01
|
1
|
0
|
1
|
0
|
11
|
*
|
*
|
*
|
*
|
10
|
*
|
*
|
*
|
*
|
K
B(i-1)P(i)
C(i)A(i-1)
|
00
|
01
|
11
|
10
|
00
|
*
|
*
|
*
|
*
|
01
|
*
|
*
|
*
|
*
|
11
|
1
|
0
|
1
|
0
|
10
|
0
|
1
|
0
|
1
|
y4
:
C(i):=C(i)+P(i)
J=P(i)
K=P(i)
P(i-1)=C(i)P(i)
Составляются результирующие функции J, K и P(i-1), по ним на рис. 2.2.6., рис. 2.2.7. изображены логические схемы C(i), P(i-1), а на рис. 2.2.8. и рис. 2.2.9. соответственно даны их условные обозначения.
Рис. 2.2.6.
Рис. 2.2.7.
Рис. 2.2.8.
Рис. 2.2.9.
Поле С(26).
y2
:
C(26):=ùA(25)+B(25)
В виде логической функции это получится так,
,
Составляется таблица 13 функций возбуждения элементов памяти, по этой таблице будет так же определяться функция переноса P(25).
Таблица 13
t
|
t+1
|
t
|
C(26)
|
A(25)
|
B(25)
|
C(26)
|
P(25)
|
J
|
K
|
0
|
0
|
0
|
1
|
0
|
1
|
0Ú1
|
0
|
0
|
1
|
0
|
1
|
0
|
0Ú1
|
0
|
1
|
0
|
0
|
0
|
0
|
0Ú1
|
0
|
1
|
1
|
1
|
0
|
1
|
0Ú1
|
1
|
0
|
0
|
1
|
0
|
0Ú1
|
0
|
1
|
0
|
1
|
0
|
1
|
0Ú1
|
1
|
1
|
1
|
0
|
0
|
0
|
0Ú1
|
1
|
1
|
1
|
1
|
1
|
0
|
0Ú1
|
0
|
Составляются функции:
J
А(25)В(25)
С(26)
|
00
|
01
|
11
|
10
|
0
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
K
А(25)В(25)
С(26)
|
00
|
01
|
11
|
10
|
0
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
y3
:
C(26):= A(25)+ ùB(25)
В виде логической функции это получится так,
,
Аналогично таблице 13 с заменой столбцов А(25) на В(25) и В(25) на А(25).
y4
:
С(26):=С(26)+1,
Таблица идентична таблице 11, соответственно функции имеют вид,
J=1, K=1, P(25)=C(26).
y5
:
С(26):=ùС(26),
Таблица идентична таблице 11, соответственно функции имеют вид,
J=1, K=1.
y2
:
C(26):=A(25)+B(25)
В виде логической функции это получится так,
,
Составляется таблица 14 функций возбуждения элементов памяти, по этой таблице будет так же определяться функция переноса P(25).
Таблица 14
t
|
t+1
|
t
|
C(26)
|
A(25)
|
B(25)
|
C(26)
|
P(25)
|
J
|
K
|
0
|
0
|
0
|
0
|
0
|
0
|
0Ú1
|
0
|
0
|
1
|
1
|
0
|
1
|
0Ú1
|
0
|
1
|
0
|
1
|
0
|
1
|
0Ú1
|
0
|
1
|
1
|
0
|
1
|
0
|
0Ú1
|
1
|
0
|
0
|
0
|
0
|
0Ú1
|
1
|
1
|
0
|
1
|
1
|
0
|
0Ú1
|
0
|
1
|
1
|
0
|
1
|
0
|
0Ú1
|
0
|
1
|
1
|
1
|
0
|
1
|
0Ú1
|
1
|
Составляются функции:
J
А(25)В(25)
С(26)
|
00
|
01
|
11
|
10
|
0
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
K
А(25)В(25)
С(26)
|
00
|
01
|
11
|
10
|
0
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
Составляются результирующие функции J, K и P(25), по ним на рис. 2.2.10., рис. 2.2.11. изображены логические схемы C(26), P(25) соответственно, а на рис. 2.2.12. и рис. 2.2.13. соответственно даны их условные обозначения.
Рис. 2.2.10.
Рис. 2.2.11.
Рис. 2.2.12.
Рис. 2.2.13.
3.Разработка функциональной схемы управляющего автомата
3.1 Структурная схема управляющего автомата
В структурном отношении управляющий автомат типа Мура может быть представлен в виде, изображенном на рис. 3.1.1.
Рис. 3.1.1.
Память П автомата образуют элементарные полные автоматы Мура – элементы памяти (ЭП), которые являются JK–триггерами. Каждому состоянию автомата Аf
(Аf
А, где - множество состояний автомата) ставится в соответствие вектор длины R (R – количество элементов памяти, образующих память автомата), компонентами которого являются состояния ЭП автоиата T1
, T2
, …,TR
. Переход управляющего автомата из состояния Аd
в Аf
осуществляется под действием входного сигнала, кодируемого вектором длины L; компонентами этого вектора являются состояния входов x1
, x2
, …,xL
. При этом на выходе автомата формируется выходной сигнал, кодируемый вектором длины N; компонентами этого вектора являются состояния выходов Y1
, Y2
, …,YL
. Изменения состояния на переходе происходит под действием сигналов из множества , формируемых на выходах схемы КС1.
Схема КС2 может быть реализована в виде стандартного блока – дешифратора, выполняющего функции дешифрации состояний автомата: некоторому состоянию Аf
ставится в соответствие сигнал Yr
=1 на выходе дешифратора.
3.2 Закодированная граф – схема и граф управляющего автомата
Исходной информацией для определения числа входов, выходов и различных состояний, в которых может находиться управляющий автомат, является содержательный граф алгоритма, представленный закодированной граф – схемой алгоритма (ГСА).Каждой операторной вершине содержательного графа можно поставить в соответствие состояние автомата и выходной сигнал Yn
; условной вершине ставится в соответствие вход xl
управляющего автомата. ГСА, эквивалентная содержательному графу изображена на рис. 3.2.1.
Рис. 3.2.1.
Существуют различные методы структурного синтеза управляющего автомата. Одним из таких методов является графический метод синтеза. Автомат представляется в виде графа. Количество вершин графа соответствует количеству различных отметок Af
на ГСА автомата. Производится кодирование состояний автомата векторами длины (где F – мощность множества А), компонентами которых являются состояния T1
, …,TR
ЭП. Полученные в результате кодирования векторы длины R записываются в соответствующие вершины графа.
Связь между TR
и Af
показана в таблице 15, DC – дешифратор.
Таблица 15
A
T
|
A0
|
A1
|
A2
|
A3
|
A4
|
A5
|
A6
|
A7
|
A8
|
T1
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
1
|
T2
|
0
|
0
|
0
|
0
|
1
|
1
|
1
|
1
|
0
|
T3
|
0
|
0
|
1
|
1
|
0
|
0
|
1
|
1
|
0
|
T4
|
0
|
1
|
0
|
1
|
0
|
1
|
0
|
1
|
0
|
Выход DC
|
0
|
1
|
2
|
3
|
4
|
5
|
6
|
7
|
8
|
Путям перехода в ГСА на графе соответствуют дуги, указывающие направления перехода.
Если в ГСА на пути перехода из вершины с отметкой Ad
в вершину с отметкой Af
находятся условные вершины, отмеченные символами xl
, то на дугах графа записываются конъюнкции, ранг которых определяется числом условных вершин, через которые проходит путь перехода. При xl
=0 в конъюнкции появится член , в при xl
=1 его прямое значение.
Граф управляющего автомата представлен на рис. 3.2.2.
Рис. 3.2.2.
3.3. Синтез комбинационных схем, реализующих функции возбуждения элементов памяти управляющего автомата
Количество ЭП, составляющих память автомата, определяется по выражению
,
где F – мощность множества А.
Для каждого TR
(где ) по графу составляется каноническая таблица функций переходов и выходов, а на основе этих таблиц составляются функции возбуждения ЭП. Соответственно для T1
, T2
, T3
, T4
это будут таблицы 16, 17, 18, 19.
Таблица 16
A
|
x1
|
x2
|
x3
|
x4
|
T1
(t)
|
T1
(t+1)
|
J1
|
K1
|
A0
|
---
|
---
|
---
|
---
|
0
|
0
|
0
|
0Ú1
|
A1
|
1
|
0
|
---
|
---
|
0
|
0
|
0
|
0Ú1
|
0
|
1
|
---
|
---
|
0
|
0
|
0
|
0Ú1
|
0
|
0
|
---
|
---
|
0
|
0
|
0
|
0Ú1
|
1
|
1
|
---
|
---
|
0
|
0
|
0
|
0Ú1
|
A2
|
---
|
---
|
0
|
0
|
0
|
0
|
0
|
0Ú1
|
---
|
---
|
1
|
---
|
0
|
0
|
0
|
0Ú1
|
---
|
---
|
0
|
1
|
0
|
0
|
0
|
0Ú1
|
A3
|
---
|
---
|
0
|
0
|
0
|
0
|
0
|
0Ú1
|
---
|
---
|
1
|
---
|
0
|
0
|
0
|
0Ú1
|
---
|
---
|
0
|
1
|
0
|
0
|
0
|
0Ú1
|
A4
|
---
|
---
|
---
|
0
|
0
|
0
|
0
|
0Ú1
|
---
|
---
|
---
|
1
|
0
|
0
|
0
|
0Ú1
|
A5
|
---
|
---
|
---
|
---
|
0
|
0
|
0
|
0Ú1
|
A6
|
---
|
---
|
---
|
1
|
0
|
0
|
0
|
0Ú1
|
---
|
---
|
---
|
0
|
0
|
1
|
1
|
0Ú1
|
A7
|
---
|
---
|
---
|
---
|
0
|
0
|
0
|
0Ú1
|
A8
|
---
|
---
|
---
|
---
|
1
|
0
|
0Ú1
|
0
|
Таблица 17
A
|
x1
|
x2
|
x3
|
x4
|
T2
(t)
|
T2
(t+1)
|
J2
|
K2
|
A0
|
---
|
---
|
---
|
---
|
0
|
0
|
0
|
0Ú1
|
A1
|
1
|
0
|
---
|
---
|
0
|
0
|
0
|
0Ú1
|
0
|
1
|
---
|
---
|
0
|
0
|
0
|
0Ú1
|
0
|
0
|
---
|
---
|
0
|
1
|
1
|
0Ú1
|
1
|
1
|
---
|
---
|
0
|
1
|
1
|
0Ú1
|
A2
|
---
|
---
|
0
|
0
|
0
|
0
|
0
|
0Ú1
|
---
|
---
|
1
|
---
|
0
|
1
|
1
|
0Ú1
|
---
|
---
|
0
|
1
|
0
|
1
|
1
|
0Ú1
|
A3
|
---
|
---
|
0
|
0
|
0
|
0
|
0
|
0Ú1
|
---
|
---
|
1
|
---
|
0
|
1
|
1
|
0Ú1
|
---
|
---
|
0
|
1
|
0
|
1
|
1
|
0Ú1
|
A4
|
---
|
---
|
---
|
0
|
1
|
0
|
0Ú1
|
1
|
---
|
---
|
---
|
1
|
1
|
1
|
0Ú1
|
0
|
A5
|
---
|
---
|
---
|
---
|
1
|
0
|
0Ú1
|
1
|
A6
|
---
|
---
|
---
|
1
|
1
|
1
|
0Ú1
|
0
|
---
|
---
|
---
|
0
|
1
|
0
|
0Ú1
|
1
|
A7
|
---
|
---
|
---
|
---
|
1
|
0
|
0Ú1
|
1
|
A8
|
---
|
---
|
---
|
---
|
0
|
0
|
0
|
0Ú1
|
Таблица 18
A
|
x1
|
x2
|
x3
|
x4
|
T3
(t)
|
T3
(t+1)
|
J3
|
K3
|
A0
|
---
|
---
|
---
|
---
|
0
|
0
|
0
|
0Ú1
|
A1
|
1
|
0
|
---
|
---
|
0
|
1
|
1
|
0Ú1
|
0
|
1
|
---
|
---
|
0
|
1
|
1
|
0Ú1
|
0
|
0
|
---
|
---
|
0
|
1
|
1
|
0Ú1
|
1
|
1
|
---
|
---
|
0
|
1
|
1
|
0Ú1
|
A2
|
---
|
---
|
0
|
0
|
1
|
0
|
0Ú1
|
1
|
---
|
---
|
1
|
---
|
1
|
0
|
0Ú1
|
1
|
---
|
---
|
0
|
1
|
1
|
0
|
0Ú1
|
1
|
A3
|
---
|
---
|
0
|
0
|
1
|
0
|
0Ú1
|
1
|
---
|
---
|
1
|
---
|
1
|
0
|
0Ú1
|
1
|
---
|
---
|
0
|
1
|
1
|
0
|
0Ú1
|
1
|
A4
|
---
|
---
|
---
|
0
|
0
|
0
|
0
|
0Ú1
|
---
|
---
|
---
|
1
|
0
|
0
|
0
|
0Ú1
|
A5
|
---
|
---
|
---
|
---
|
0
|
0
|
0
|
0Ú1
|
A6
|
---
|
---
|
---
|
1
|
1
|
1
|
0Ú1
|
0
|
---
|
---
|
---
|
0
|
1
|
0
|
0Ú1
|
1
|
A7
|
---
|
---
|
---
|
---
|
1
|
0
|
0Ú1
|
1
|
A8
|
---
|
---
|
---
|
---
|
0
|
0
|
0
|
0Ú1
|
Таблица 19
A
|
x1
|
x2
|
x3
|
x4
|
T4
(t)
|
T4
(t+1)
|
J4
|
K4
|
A0
|
---
|
---
|
---
|
---
|
0
|
1
|
1
|
0Ú1
|
A1
|
1
|
0
|
---
|
---
|
1
|
0
|
0Ú1
|
1
|
0
|
1
|
---
|
---
|
1
|
1
|
0Ú1
|
0
|
0
|
0
|
---
|
---
|
1
|
0
|
0Ú1
|
1
|
1
|
1
|
---
|
---
|
1
|
0
|
0Ú1
|
1
|
A2
|
---
|
---
|
0
|
0
|
0
|
0
|
0
|
0Ú1
|
---
|
---
|
1
|
---
|
0
|
0
|
0
|
0Ú1
|
---
|
---
|
0
|
1
|
0
|
1
|
1
|
0Ú1
|
A3
|
---
|
---
|
0
|
0
|
1
|
0
|
0Ú1
|
1
|
---
|
---
|
1
|
---
|
1
|
0
|
0Ú1
|
1
|
---
|
---
|
0
|
1
|
1
|
1
|
0Ú1
|
0
|
A4
|
---
|
---
|
---
|
0
|
0
|
0
|
0
|
0Ú1
|
---
|
---
|
---
|
1
|
0
|
1
|
1
|
0Ú1
|
A5
|
---
|
---
|
---
|
---
|
1
|
0
|
0Ú1
|
1
|
A6
|
---
|
---
|
---
|
1
|
0
|
1
|
1
|
0Ú1
|
---
|
---
|
---
|
0
|
0
|
0
|
0
|
0Ú1
|
A7
|
---
|
---
|
---
|
---
|
1
|
0
|
0Ú1
|
1
|
A8
|
---
|
---
|
---
|
---
|
0
|
0
|
0
|
0Ú1
|
Функциональная схема управляющего автомата приведена на функциональной схеме операционного устройства, где показаны связи между операционным и управляющим автоматами.
4
. Функциональная схема операционного устройства
4.1. Организация связи между операционным и управляющим автоматами
Связи между операционным и управляющим автоматами организуются так. Сигналы с выходов управляющего автомата подаются на его же входы, а также на входы операционного автомата. На входы управляющего автомата подаются также сигналы логических условий. Каждая микрооперация выполняется строго при поступлении синхроимпульса и при подаче соответствующего управляющего сигнала, который в свою очередь вырабатывается на основе сигналов логических условий, вычисленных в предыдущий такт работы операционного устройства.
Графически связи между операционным и управляющим автоматами показаны на функциональной схеме операционного устройства, приведенной на масштабно–координатной бумаге.
4.2. Описание работы операционного устройства на заданном отрезке времени
Дано:
А=1.1010010
В=0.0011101
После выполнения микрооперации y1
на входы управляющего автомата приходит сигнал Y1
и сигналы логических условий, =1 и =0, под действием этих сигналов и при поступлении синхроимпульса из генератора синхроимпульсов (ГСИ) триггеры управляющего автомата переходят в состояния: T1
=0, T2
=0, T3
=1, T4
=0 (см. общую схему). В свою очередь на дешифраторе вырабатывается сигнал Y2
, при котором в операционном автомате выполняется микрооперация y2
.
Которая заключается в следующем. Полю С(1) присваивается значение переноса в этот разряд P(1), который можно вычислить по схеме на рис. 2.2.5., а схема С(1) изображена на рис. 2.2.1. Полю С(2) присваивается значение инверсии переноса в этот разряд P(2) (рис. 2.2.7.), схема С(2) изображена на рис. 2.2.3. На поле С(3:25) происходит присвоение C(i) суммы B(i-1), инверсии A(i-1) и переноса P(i)(схема для С(i) на рис. 2.2.6., а для P(i) на рис. 2.2.7), где i = 3-25. Но перенос P(25) определяется иначе, на основе схемы рис. 2.2.11. На поле С(26) происходит подобная операция (С(26):=А(25)+В(25)) только без учета переноса, так как его не может быть (С(26) – последний разряд), схема дана на рис. 2.2.10. В результате этой микрооперации слово С принимает следующий вид: С=01.1001010
Далее на входы управляющего автомата подается сигнал y2
и сигналы логических условий =0 и =1. Тогда при поступлении сигнала из ГСИ и сигнала Y2
триггеры управляющего автомата переходят в состояния: T1
=0, T2
=1, T3
=0, T4
=1, что на выходе дешифратора соответствует сигналу Y5
, под действием которого в операционном автомате выполняется микрооперация y5
(см. общую схему).
При этой микрооперации значения полей С(1) и С(2) не меняются, см. соответственно рис. 2.2.1.и рис. 2.2.3. Разрядам полей С(3:25) и С(26) присваивается значение инверсии этих разрядов, что можно вычислить из схем на соответственно рис. 2.2.6. и рис. 2.2.10. Тогда в данном примере значение слова С будет таким: С=01.0110101
Далее, когда на входы управляющего автомата приходит сигнал Y5
и сигнал из ГСИ, триггеры управляющего автомата обнуляются, то есть T1
=0, T2
=0, T3
=0, T4
=0, а на выходе дешифратора вырабатывается сигнал Y0
(см. общую схему), который означает, что операционное устройство готово к выполнению следующего цикла операции арифметического сложения чисел с фиксированной запятой в обратных двоичных кодах.
Примечание.
В примере использовались восьмиразрядные слова А и В, а также девятиразрядное слово С , то есть полю С(3:25) соответствует поле С(3:8), а полю С(26) поле С(9).
Заключение
В данном курсовом проекте разработано операционное устройство, выполняющее операцию арифметического сложения чисел с фиксированной запятой в обратных двоичных кодах. Также приведена общая схема устройства, состоящая из двух главных частей: операционного автомата и управляющего автомата. В работе предполагалось, что вся информация, необходимая для выполнения операции (операнды А и В), была уже занесена в память устройства.
Литература
1. Проф. А. А. Эйлер, доц. Р. С. Ефимова, ст. преп. В. В. Жевержеева Методические указания к выполнению курсовой работы по дисциплине "Арифметические и логические основы цифровых автоматов". Ленинград: ЛИИЖТ, 1983
2. Б. Г. Лысиков Арифметические и логические основы цифровых автоматов Минск: Высшая школа, 1980
Приложение
Прокрутка алгоритма операции приведена в таблице 20.
Таблица 20
Пункт
алгоритма
|
Выполнение микрооперации или вычисление лог. условия
|
Условие перехода
|
Пункт перехода
|
Коментарии
|
1
|
2
|
3
|
4
|
5
|
1
|
А:=0.0011101
В:=0.1010010
|
Безуслов
|
2
|
Операнды с одинаковыми знаками (положительные)
|
2
|
П(1):=0
С(1):=0
|
Безуслов
|
3
|
Обнуление
|
3
|
А(1)1
|
x1
=0
|
5
|
Проверка знака слова А
|
5
|
В(1)1
|
x2
=0
|
8
|
Проверка знака слова В
|
8
|
А:=0.0011101
+
В:=0.1010010
С:=00.1101111
|
Безуслов
|
9
|
Сложение А и В с занесением в С
|
9
|
С(2)1
|
x4
=0
|
9.2
|
Проверка знака слова С
|
9.2
|
С(2):=0
|
Безуслов
|
10
|
Присвоение С знака А
|
10
|
Конец
|
1
|
А:=0.0011101
В:=0.1110011
|
Безуслов
|
2
|
Операнды с одинаковыми знаками (положительные) с переполнением
|
2
|
П(1):=0
С(1):=0
|
Безуслов
|
3
|
Обнуление
|
3
|
А(1)1
|
x1
=0
|
5
|
Проверка знака слова А
|
5
|
В(1)1
|
x2
=0
|
8
|
Проверка знака слова В
|
8
|
А:=0.0011101
+
В:=0.1110011
С:=01.0010000
|
Безуслов
|
9
|
Сложение А и В с занесением в С
|
9
|
С(2)=1
|
x4
=1
|
9.1
|
Проверка знака слова С
|
9.1
|
П(1):=1
|
Безуслов
|
10
|
Регистрация переполнения
|
10
|
Конец
|
1
|
А:=1.0011101
В:=1.1010010
|
Безуслов
|
2
|
Операнды с одинаковыми знаками (отрицательные)
|
2
|
П(1):=0
С(1):=0
|
Безуслов
|
3
|
Обнуление
|
3
|
А(1)=1
|
x1
=1
|
4
|
Проверка знака слова А
|
4
|
В(1)=1
|
x2
=1
|
8
|
Проверка знака слова В
|
8
|
А:=0.0011101
+
В:=0.1010010
С:=00.1101111
|
Безуслов
|
9
|
Сложение А и В с занесением в С
|
9
|
С(2)1
|
x4
=0
|
9.2
|
Проверка знака слова С
|
9.2
|
С(2):=1
|
Безуслов
|
10
|
Регистрация переполнения
|
10
|
Конец
|
1
|
А:=1.0011101
В:=1.1110011
|
Безуслов
|
2
|
Операнды с одинаковыми знаками (отрицательные) с переполнением
|
2
|
П(1):=0
С(1):=0
|
Безуслов
|
3
|
Обнуление
|
3
|
А(1)=1
|
x1
=1
|
4
|
Проверка знака слова А
|
4
|
В(1)1
|
x2
=0
|
8
|
Проверка знака слова В
|
8
|
А:=0.0011101
+
В:=0.1110011
С:=01.0010000
|
Безуслов
|
9
|
Сложение А и В с занесением в С
|
9
|
С(2)=1
|
x4
=1
|
9.1
|
Проверка знака слова С
|
9.1
|
П(1):=1
|
Безуслов
|
10
|
Регистрация переполнения
|
10
|
Конец
|
Продолжение табл. 20
1
|
2
|
3
|
4
|
5
|
1
|
А:=1.0011101
В:=0.1010010
|
Безуслов
|
2
|
Операнды с разными знаками
|
2
|
П(1):=0
С(1):=0
|
Безуслов
|
3
|
Обнуление
|
3
|
А(1)=1
|
x1
=1
|
4
|
Проверка знака слова А
|
4
|
В(1)1
|
x2
=0
|
4.1
|
Проверка знака слова В
|
4.1
|
А:=1.1100010
+
В:=0.1010010
С:=10.0110100
|
Безуслов
|
6
|
Сложение инверсии А с В и занесением в С
|
6
|
С(1)=1
|
x3
=1
|
6.1
|
Проверка переноса из знакового разряда слова С
|
6.1
|
С(1:26):=С(1:26)+1
С=10,0110101
|
Безуслов
|
7
|
Прибавление единицы
|
7
|
С(2)1
|
x4
=0
|
10
|
Проверка знака слова С
|
10
|
Конец
|
1
|
А:=0.0011101
В:=1.1010010
|
Безуслов
|
2
|
Операнды с разными знаками
|
2
|
П(1):=0
С(1):=0
|
Безуслов
|
3
|
Обнуление
|
3
|
А(1)1
|
x1
=0
|
5
|
Проверка знака слова А
|
5
|
В(1)=1
|
x2
=1
|
5.1
|
Проверка знака слова В
|
5.1
|
А:=0.0011101
+
В:=1.0101101
С:=01.1001010
|
Безуслов
|
6
|
Сложение инверсии А с В и занесением в С
|
6
|
С(1)1
|
x3
=0
|
7
|
Проверка переноса из знакового разряда слова С
|
7
|
С(2)=1
|
x4
=1
|
7.1
|
Проверка знака слова С
|
7.1
|
С(1:26):=С(1:2).ùС(3:26)
С=01.0110101
|
Безуслов
|
10
|
Инвертирование числовых разрядо
(образование прямого кода)
|
10
|
Конец
|
|