Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

43_Ho3 / 8-АВТОМАТЫ С ЖЕСТКОЙ ЛОГИКОЙ

.DOC
Скачиваний:
52
Добавлен:
11.02.2016
Размер:
190.46 Кб
Скачать

3.6. УПРАВЛЯЮЩИЕ АВТОМАТЫ С «ЖЕСТКОЙ» ЛОГИКОЙ

Управляющие автоматы с «жесткой» логикой представляют собой логические схемы, вырабатывающие распределенные во времени управляющие функциональные сигналы. В отличие от управляющих устройств с хранимой в памяти логикой у этих автоматов можно изменить логику работы только путем пере­делок схем автомата.

Рис. 3.14. Структура управляю­щего автомата с жесткой ло­гикой

Типичная структурная схема управляющего автомата с «жесткой» логикой показана на Рис. 3.14. В состав схемы вхо­дят регистр кода операции, являющийся частью регистра ко­манд, счетчик тактов, дешифратор тактов и дешифратор кода операции, а также логические схемы образования управляющих функциональных сигналов.

На счетчик тактов поступают сигналы от блока синхросиг­налов, и счетчик с каждым сигналом меняет свое состояние. Состояния счетчика представляют собой номера тактов, изме­няющиеся от 1 до и. Дешифратор тактов формирует на i-м вы­ходе единичный сигнал при i-м состоянии счетчика тактов т. е. вовремя i-го такта.

Дешифратор кода операции вырабатывает единичный сиг­нал на j-м выходе, если исполняется j-я команда.

Логические схемы образования управляющих функцио­нальных сигналов для каждой команды возбуждают формиро­ватели функциональных сигналов для выполнения требуемых в данном такте микроопераций.

Принцип построения логических. схем образования упра­вляющих сигналов поясняется на Рис. 3.15. Здесь показан фраг­мент схемы, обеспечивающей выработку управляющего сигна­ла vk в i-м и n-м тактах выполнения j-и команды.В общем случае значения управляющих сигналов зависят еще и от оповещающих сигналов, отражающих ход вычислительного процесса.

Рис. 3.14. Фрагмент схемы образо­вания управляющих функциональ­ных сигналов:

Дш КОп - дешифратор кода операции; ДшТ — дешифратор тактов

Для реали­зации этих зависимостей эле­менты, представленные на Рис. 3.14, берутся многовходовыми и на них заводятся требуемые сигналы логических условий.

Рис. 3.8. Фрагмент схемы образо­вания управляющих функциональ­ных сигналов с реализацией зависи­мости от оповещающих сигналов

Если, например, необходи­мо, чтобы при исполнении j-й команды управляющий сигнал vk появлялся в 1-м такте только при значениях оповещающих сигналов и1 = 0 и u3 = 1, а в п-м такте всегда, то схема, приведенная на Рис. 3.7, изменится и примет вид, представ­ленный на Рис. 3.8.

Серьезным недостатком рассмотренных схем является оди­наковое число тактов для всех команд. Это требует выравнива­ния числа тактов исполнения команд по наиболее «длинной» команде, что ведет к непроизводительным затратам времени. Чтобы устранить этот недостаток, схемы строят с использова­нием нескольких счетчиков тактов.

Схема формирования тактовых сигналов (датчик тактовых сигналов) может строиться на основе использования регистра сдвига, по которому двигается одна 1 (регистр с «бегущей еди­ницей»), что не требует использования дешифратора.

Построение управляющих автоматов с «жесткой» логикой формализуется на основе интерпретации микропрограмм авто­матами.

Работу операционного блока можно описать микропро­граммой, например, на языке микроопераций или в виде графа. По микропрограмме строится соответствующий управляющий автомат типа Мура или Мили.

Рассмотрим способ построения автомата Мура. Пусть ми­кропрограмма работы некоторого операционного блока имеет вид, представленный на Рис. 3.9, а. Блок ожидает возникновения u1 = 1 и затем производит выработку управляющих функцио­нальных сигналов v1 v6 в определенной последовательности, зависящей от значений сигналов и2 и u3.

Каждой микрокоманде, отдельно представленной на графе, ставится в соответствие отдельное состояние автомата. Состоя­ния автомата отмечаются управляющими функциональными сигналами соответствующих микрокоманд.

Условия перехода от микрокоманды к микрокоманде пред­ставляются в виде конъюнкции входных сигналов, влияющих на переход. Каждая конъюнкция выписывается так, чтобы набор значений входных переменных, обращающих конъюнкцию в 1, соответствовал условию перехода. При безусловном переходе конъюнкция заменяется на константу 1.

Начало и конец микропрограммы отображаются начальным состоянием Qo автомата Мура, при этом предполагается, что автомат является циклическим, т. е. допускающим многократ­ную повторяющуюся выработку последовательностей управ­ляющих сигналов.

Рис. 3.9. Микропрограмма, представленная графом (в), и граф автомата Мура (б), интерпретирующего микропрограмму

Рис. 3.10. Микропрограмма (о) и граф автомата Мили (б),

интерпре­тирующего микропрограмму

Граф автомата Мура, построенного по описанным прави­лам для рассматриваемой микропрограммы, представлен на Рис. 3.9,6.

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

Переход от микропрограммы к автомату Мили иллюстри­руется на Рис. 3.10, на котором показаны рассмотренный выше граф микропрограммы и граф автомата Мили, интерпретирую­щего ее. Начало и конец микропрограммы представляются на­чальным состоянием автомата Q0. Каждая дуга, выходящая из прямоугольника, представляющего собой микрокоманду, отме­чается меткой х и символом состояния автомата. Исключение составляют дуги, идущие к конечной или начальной вершине, которые не отмечаются. Если несколько дуг с меткой х вхо­дят в один блок графа микропрограммы, то все они отмечают­ся одинаковым символом состояния.

Условия перехода по микропрограмме от одной метки со­стояния к другой, соседней, задают функцию переходов авто­мата. Эти условия записываются в виде конъюнкций так же, как это делалось для автоматов Мура. Для каждого перехода, кро­ме того, фиксируется набор выходных переменных, принимаю­щих при переходе единичное значение (задание функции выхо­дов).

Автомат Мили, построенный по микропрограмме, имеет число состояний, как правило, меньшее числа состояний экви­валентного ему автомата Мура. С этой точки зрения использо­вание автомата Мили предпочтительно. Однако применение автомата Мили в качестве управляющего автомата не всегда возможно. Объясняется это тем, что УА работает в контуре с операционным блоком ОБ (Рис. 3.11). У автомата Мили пере­ход в новое состояние осуществляется одновременно с форми­рованием выходного сигнала. Поэтому, если ОБ вырабатывает оповещающие сигналы u1, ...,un сразу при возникновении управляющих сигналов, а управляющий автомат является ав­томатом Мили, возможна следующая недопустимая ситуация: автомат Мили еще не сменил состояние, а на его входы при­шли новые значения оповещающих сигналов, требующие вы­полнения иного перехода.

Для исключения возможных сбоев в работе управляющих автоматов ставятся специальные схемы задержки или, что то же самое, один из двух автоматов (управляющий либо опера­ционный) выполняют в виде автомата Мура, который меняет выходной сигнал после смены состояния (перехода).

Рассмотрим, каким образом, имея описание управляющего автомата, можно построить схему автомата.

Зная число состояний автомата r, определяем число элемен­тарных автоматов (двухступенчатых триггеров), требуемых для представления состояний автомата. Это число равно k = ] log2 r[. Затем поставим в соответствие наборы значений со­стояний триггеров состояниям автомата. Пусть, например, ну­левое состояние всех триггеров представляет собой Q0, набор состояний триггеров 00...001 соответствует Q1 и т. д. Далее можно построить схему из k триггеров и дешифратора с r вы­ходами. Единичный сигнал на одном из выходов дешифратора указывает соответствующее состояние автомата. Выбрав для определенности D-триггеры, получаем схему выделения состоя­ний управляющего автомата, показанную на Рис. 3.12.

Рис. 3.11. Взаимодействие уп­равляющего автомата и опера­ционного блока

Рис. 3.12. Схема выделе­ния состояний управляю­щего автомата

Для реализации схемы формирования управляющих сигна­лов следует выписать для каждого управляющего сигнала его булеву функцию. Для автомата Мура эти функции (функции выходов) имеют вид vi = j Qij.= Qi1Qi2 ...Q,iw, где Qij состояние автомата, отмеченное vi.

Так, для автомата, представленного на Рис. 3.9, имеем сле­дующие функции выходов:

Vl = Q1  Q4; v2 = Q2  Q4;

v3=Ql; v4=Qз;

v5 = Q3; v6 =Q5

По этим функциям легко строится схема формирования управляющих сигналов (Рис. 3.13, а). Выдача выходных сигна­лов синхронизируется так, чтобы она происходила в то время, когда сигналы не меняются.

Для автомата Мили функции выхода имеют вид vi = j (Qij ( Kj)), где Qij. - состояние, из которого выходит дуга, отмеченная выходным сигналом vj а  Кj дизъюнкция всех конъюнкций, записанных на дугах, выходящих из Qij. и отме­ченных выходным сигналом.

Для автомата, представленного на Рис. 3.10, функции выхо­дов имеют вид

v1 = Q0(u1) Q3 Q4(ū2 ū3 );

v2 = Q1(u2)Q3Q42 ū3 ); v3 = Q0 (u1);

v4 = Q12)  Q2; v5 = Q12); v6 = Q42 u3u2 ū3 )

Преобразовав выражения с учетом общих частей формул. получим более простые зависимости:

v1 = v3  ; v2 = Q1 (u2)  ; v3 = Q0 (u1)

v4 = v5; v5 = Q1 (ū2) Q2;

v6 = Q42u3)  Q4 (u2 ū3);  = Q3  Q42 ū3)

По этим выражениям строим схему, представленную на Рис. 3.13,6. Выходные сигналы здесь синхронизированы, как и в схеме на Рис. 3.13, а.

Автомат содержит схему, реализующую смену состояний триггеров в соответствии с функцией переходов.

При смене состояний автомата QiQj происходит смена состояний отдельных триггеров, так как они представляют со­бой состояния автомата. Следовательно, для каждого триггера

Рис. 3.13. Схема выработки управляющих сигналов для автоматов Мура (а) и Мили (б)

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

Для каждого перехода (указаны на графе автомата дугами) выписываются исходное состояние перехода, набор исходных состояний триггеров, набор состояний триггеров после перехо­да, а также конъюнкции входных сигналов, представляющие собой условие перехода. По наборам исходных состояний и состояний после перехо­да выделяются отдельно для каждого триггера ситуации, при которых значения его входов должны быть единичными. Опи­сав все случаи, требующие выработки единичного сигнала, бу­левыми функциями состояний автомата и входных сигналов, получаем так называемые функции возбуждения, по которым строятся схемы формирования сигналов на входах триггеров. Поясним сказанное примером. Пусть состояния автомата, заданного графом на Рис. 3.9, представлены следующими наборами состояний триггеров:

Таблица3.1

Состояние автомата

Состояние триггеров

Состояние автомата

Состояние триггеров

Тг1

2

Тгз

Тг1

2

Тгз

Q0

0

0

0

Q3

0

1

1

Q1

0

0

1

Q4

1

0

0

Q2

0

1

0

Q5

1

0

1

Тогда функции переходов можно представить табл. 7.2, по которой строим булевы функции возбуждения D1, D2 и D3):

D1 = Q3  Q4 ū2 ū3  Q4 ū2 u3  Q4 u2 ū3;.

D2 = Q1 u2  Q1 ū 2  Q2;

D3 = Q0 u1Q1 ū2  Q2  Q4 ū 2u3  Q4u2 ū3;

Упростив выражения, получим

D1 = Q3  Q4 ū2  Q4 ū3 ;.

D2 = Q1  Q2;

D3 = Q0 u1Q1 ū2  Q2  Q4 ū 2u3  Q4u2 ū3;

По упрощенным выражениям строим схему (Рис. 3.14).

Объединив схему формирования выходных сигналов (Рис. 3.13,а) и схему формирования функций возбуждения (Рис. 3.14), получим схему, реализующую автомат, предста­вленный на Рис. 3.9.

Рис. 3.14. Схема формирования функций возбуждения

Рис. 3.15. Схема неполного вы­деления состояний автомата

Для получения более экономных схем выделение состояний автомата часто делается неполным, при этом триггеры разде­ляются на две или более группы, каждая из которых связывает­ся с отдельным дешифратором.

Число выходов схемы неполного выделения состояний ре­зко сокращается и составляет s = 2(k/l)+1, где l число групп по k/l триггеров.

Таблица 3.2

Исходное состояние

Исходное состояние триггеров

Состояние триггера после перехода

Условие перехода

Входные сигналы, вызывающие нужные переходы триггеров

Тг1

2

Тгз

Тг1

2

Тгз

D1

D2

D3

Q0

0

0

0

0

0

0

ū1

0

0

0

Q0

0

0

0

0

0

1

u1

0

0

1

Q1

0

0

1

0

1

0

u2

0

1

0

Q1

0

0

1

0

1

1

ū2

0

1

1

Q2

0

1

0

0

1

1

1

0

1

1

Q3

0

1

1

1

0

0

1

1

0

0

Q4

1

0

0

1

0

0

ū2 ū3

1

0

0

Q4

1

0

0

1

0

1

ū2 u3

1

0

1

Q4

1

0

0

1

0

1

u2 ū3

1

0

1

Q4

1

0

0

0

0

0

u2 u3

0

0

0

Q5

1

0

1

0

0

0

1

0

0

0

Пример такой схемы с l = 2 представлен на Рис. 3.15.

Для полного выделения состояния в этом случае необходи­мо сигналы с выходов раздельных дешифраторов подать на элемент И. Это можно делать непосредственно в схемах фор­мирования выходных сигналов и функций возбуждения, что дает в итоге более экономную общую схему.

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

Соседние файлы в папке 43_Ho3