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

книги из ГПНТБ / Баранов, С. И. Синтез микропрограммных автоматов

.pdf
Скачиваний:
81
Добавлен:
19.10.2023
Размер:
6.76 Mб
Скачать

Ц7100 = 110Ö — OOOj-= 1; r ül0 = 1010 — 000|2 = I . Выбираем /С4 = 1 0 0 :

00 01 11 10

И

После удаления закодированных пар из матрицы М' имеем новую матрицу:

 

3

6

 

 

 

 

 

4

6

 

ОС

6

 

М' =

4

8

6; М0 =

4

6

ß o = {3, 4);

6

4

6

4

 

 

 

 

6

8

 

6

СО

 

 

8

1

 

 

 

 

С‘ = (101, ПО);

= (101,

011); £>' = С\ U С '=

(101, ПО, 011).

Г ш =

I 101— 001|2 +

|101 — 100 |2 +

| 101 —

100 I2 = 3

\17П0 =

I 110 — 001[2 +

110— 100 I2 +

I 110

100 I2 = 5

W011 =

I 011 — 001Г- +

I011 — 100 I2 +

I 011

100 I2 = 7

и7101 =

min (tt+oi,Wu0, ^oulВыбираем /Со = 101:

ToTg

00 01 11 10

о1

Новая матрица М':

 

 

 

 

4

8

4

8

Ве= { 4, 6, 1);

М' = 6

8

Y — 8; М8 = 6

8

8

1

8

1

 

С' = (110ПО); CgС‘ =

W+o =

=

IFoio =

*О =

(111);

Cj = (010);

D> = C'U C' U С| = {110, 111, 010);

ПО

100 I2 +

I 110

— 101I2 +

I110-000 I2 =

5;

111

100 I2 +

I 111

— 101I2 +

I111 — 000 I2 =

6

О О

•100 I2 +

I 010

— 101I2 +

I010 — 000 I2 =

6

min (ll^iio, U7m , W'oiolВыбираем /С8=110:

т2тэ

00 01 11 10

0 1 3

1

4

6

8

По матрице М определяем число k, характеризующее качество кодирова­ ния. В числителе дроби записываем сумму кодовых расстояний для каждой пары матрицы М, а в знаменателе — число строчек этой матрицы:

k = -1

1,25.

 

8

87

5-6. Синтез микропрограммного С-автомата

В первой главе было определено, что в абстрактном С-автомате

имеются две функции выходов Ку и /Ц, первая из которых

реализует

отображение множества А X Z на W, а вторая — А на U,

где А

множество состояний

автомата, Z — множество входных

сигналов,

W — множество выходных сигналов типа 1, U — множество выход­

ных сигналов типа 2.

—ч

 

При переходе к структурному С-автомату каждый выходной сиг­

нал

we £

W

кодируется набором сигналов на

выходных

каналах

 

 

 

 

Уіу ■■■, Уп> ■■■. Уа’>а выходной

 

 

 

 

сигнал

uh (-

U — набором сигна­

 

 

 

 

лов на выходных каналах rlt

. . . ,

 

 

 

 

rq, . . . , i'q. Очевидно, что выход­

 

 

 

 

ной

сигнал типа

1

является

вы­

 

 

 

 

ходным сигналом в модели Мили,

 

 

 

 

а типа

2 — в модели Мура. При

 

 

 

 

тактировании

 

входных

сигналов

 

 

 

 

автомата Мили

обычно

выходные

 

 

 

 

сигналы

по

длительности

совпа­

 

 

 

 

дают с длительностью

тактирую­

 

 

 

 

щих импульсов. Иначе говоря,

 

 

 

 

микрооперации на выходных кана­

 

 

 

 

лах г/і,

. . . , yN — короткие

мик­

 

 

 

 

рооперации, тогда как в автомате

 

 

 

 

Мура выходной

сигнал

снимается

 

 

 

 

все время, пока автомат

находится

 

 

 

 

в

соответствующем

состоянии,

 

 

 

 

в связи с чем можно

сказать,

что

 

 

 

 

микрооперации

на

выходных

ка­

 

 

 

 

налах

Гу, . . .

,

 

rQ— длинные.

Рис.

5-9.

ГСА

с микрокомандами

Естественно,

что

подобное деление

на

короткие

и

длинные

сигналы

 

 

двух типов

носит сугубо прикладной характер,

но позволяет существенно приблизить модель к реальным физическим задачам.

Поведение устройства, моделью которого является С-автомат, бу­ дем описывать с помощью граф-схем алгоритмов. В этих ГСА внутри операторных вершин наряду с элементами множества У jt/j, . . . , уп, . . . , yN) — короткими микрооперациями могут записываться элементы множества R = . . . , rq...........Гд) — длинные микро­ операции. Таким образом, каждой операторной вершине ГСА соот­ ветствует пара микрокоманд Yt, Rj (У,- С У, R С R), причем микро­ команда У,- выдается на переходе автомата из одного состояния в дру­ гое, а Rj — в течение всего времени нахождения автомата в состоянии,- соответствующем Rj. Описание работы микропрограммного С-авто- мата поясним на примере рис. 5-9. Приведенная ГСА имеет одну на­ чальную, одну конечную, 7 условных и 9 операторных вершин. Так как для этой ГСА X = [ху, . . . , х6\, У = \уъ . . . , r/6), R = {гу, . . .,

88

Лі), то у соответствующего автомата должно быть пять входных кана­ лов (не считая канала от ГСИ), шесть выходных каналов для коротких

сигналов

и четыре — для

длинных. В общем случае если число ко­

ротких и длинных микроопераций равно N и Q, то каждой паре микро­

команд

Yh

Rj

(Yi = (yn , . . .

,

tjlu, . . . ,

ум], Rj

= (/-Д, . . . ,

rjl.........rjv\)

соответствуют

два

векторных

выходных

сигнала

{уI, . . .

, уп, . .

. ,

уд,) и (гц .

. .

,

rq,

. . .

, rQ), компоненты которых

определяются следующим образом:

 

 

 

 

 

 

 

 

 

 

f l,

если yn £ Y t\

 

 

 

 

 

 

 

 

[О,

если

yn (cYit

п =

1,

. . . .

УѴ;

 

 

 

 

= (1,

если

rq£ Rj',

 

 

 

 

 

 

 

 

Q

ІО,

если

rq§Rj,

<7= 1, . . . .

Q.

 

Микрокоманды

Yt {Rj)

с пустым множеством микроопераций обо­

значим через

У0 {R 0). Очевидно,

что в соответствующих им выходных

сигналах все компоненты равны нулю. Для простоты в случае выпол­

нения микрокоманды

Yt {Rj) будем

говорить,

что выдаются выход­

ные сигналы уп , . . .

, у;ц (гд, . . .

, rjv), т.

е. будем перечислять

лишь те компоненты, которые в структурном выходном сигнале при­ нимают значение единицы. Используя такое допущение, можно ска­ зать, что при выполнении микрокоманд У0 и R 0 выходные сигналы не выдаются.

С начальной вершиной ГСА (рис. 5-9) сопоставляется некоторое начальное состояние дискретного устройства, при котором выпол­

няется пара микрокоманд (У„,

R a).

Если в этом состоянии на вход х ±

поступает сигнал, равный единице

(л'4 = 1), то независимо от сигна­

лов на остальных каналах х г,

. . .

, хь при приходе импульса от ГСИ

= 1)

автомат выдаст выходной сигнал </4, по длительности совпа­

дающий

с синхронизирующим

импульсом, и перейдет в некоторое

новое состояние, в котором будет выдавать сигнал л2 = 1.

Если в этом

состоянии на входе появятся,

например, сигналы хА =

0 и х5 = 1,

то при р = 1 автомат выдаст сигнал ув и перейдет в другое состояние,

которому соответствуют длинные сигналы /:3 = г, =

1, и т. д.

шаге,

При построении микропрограммного С-автомата

на первом

как и в случае автомата Мили, входы всех вершин, следующих за начальной и операторными, а также вход конечной вершины отме­ чаются символами аи . . . , ат, . . . , ам . Далее эти отметки отождест­ вляются с состояниями автомата Мили S', который также будем за­ давать обратной таблицей переходов. Очевидно, что автомат S' (табл. 5-11), построенный по рис. 5-9, не учитывает наличия двух ти­ пов микрокоманд, У) и R / . 1

Рассмотрим сначала синтез С-автомата по граф-схеме, в которой внутри операторных вершин, непосредственно предшествующих ко­ нечной, нет длинных микрокоманд.

1 Символы Qi и Q., на рис. 5-9 потребуются в шестой главе.

89

 

Таблица переходов автомата S'

Таблица 5-11

 

 

Исходное

Состояние

Входной

Выходной

Состояние

состояние

перехода

сигнал

сигнал

С- автомата

Лз

«1

*3*2

Ух

Ьх

 

*4*2

Ух

Ьх

 

 

«1

 

*1

У«Гз

Ь2

 

Яо

*1*2

УзГх

^3

 

*1*2

Уз

ь*

 

 

я3

 

Ух, Уз, Г\

Ьц

«2

 

*4

Уг, Уз* Н

Ьь

а2

 

*3*0

Уз, г3’ гл

Ьа

аз

а3

Ух, Гз

Ьз

«4

 

*4*6

Уз, Гз, г,.

be

«4

 

*4*0

Ух, гз

bs

аг

аі

*4*5

УзУі

b7

04

*4*5

УзУі

b7

 

Каждому состоянию as (s= 1, . . . , 4) из второго столбца табл. 5-11 поставим в соответствие Bs — множество всевозможных пар вида (as, Rj), где — длинная микрокоманда, записанная в массиве пе­ реходов в состояние as:

ЯоЖ ®2= ((^2і Тг), (О.т, /'l), (во, Ro)l

В з — {(аз> гз)< (Оз, (Т8, г4))}'> B i= [(ai> Ro)).

Будем говорить, что состояние as порождает множество Bs. Пере­ нумеровав различные пары символами Ьъ Ьй, . . . , получим множество

4

В = U Bs= [blt . . . , £>,}. В пятом столбце табл. 5-11 запишем сим-

S=1

 

 

 

=

(as,

Rj).

 

вол bf в строке amasX (ат, а5) (YhRj), если

 

Определим микропрограммный С-автомат. S, реализующий ГСА на

рис. 5-9, следующим образом.

Положим

В =

[bf \bf =

(as, Rj)] —

множество состояний. Каждому состоянию

bf =

{as,

Rj)

припишем

длинный выходной сигнал Rj (длинная микрокоманда).

Каждой строке

табл. 5-11 вида amasX (ат , as) (К,-, Rj) bf поставим

в соответствие пе­

реход автомата S

из всех состояний bk

£ В,п в состояние bf под дей­

ствием входного

сигнала X (ат,

as) с

выдачей короткого

выходного

сигнала Y t. Табл. 5-12 есть обратная таблица переходов С-автомата, построенного по табл. 5-11. Выходной сигнал типа Rj записан рядом с соответствующим состоянием bj.

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

90

Пусть, например, при построении автомата S' по некоторой граф-схеме получена обратная таблица переходов, часть которой приведена в табл. 5-13.

Исходное

состояние

Ьь

be

'b7

Ь,

Ь;, h

bi

Ь.у

Ьз

bl ■

ь ѣ

b-

^2

bl

bl

^2

bi

bl

Таблица переходов С-автомата

Состояние

перехода

bl ( - )

bo ( Г о )

b3 (' i)

b i(~ )

bs ( r 3)

ba (г3г і)

bi ( - )

Входной сигнал

¥ 2

X^X 0

*4*2

*1

*1*2

Л'з

*3

*1*2

*4

*4

*4

*3*2

*3*2

* 4 * 2

X 4 X 5

*4*5

* 4 * 5

*4*5

*4*5

*4*5

*4*5

*4*5

Таблица 5-12

Выходной

сигнал

Уі

Уі

Уі

Уі

Уі

УіУз

УіУз

Уъ

УзУз

УіУз УіУз

Уі

Уі

Уі

Уз

Уз

Уз

Уз

УіУі УіУі

УіУі

УіУі

При построении С-автомата и в этом случае можно было бы по­ ступить так, как изложено выше, т. е. из множества состояний Вх = = [Ьъ Ь2, Ь3\, порождаемых ах, задать переходы в 612 под действием

сигнала х5х'4. Однако соображения практического характера часто требуют, чтобы автомат после реализации некоторого пути по ГСА от

начальной вершины к конечной

вернулся

в начальное состояние.

Для этого разделим множество Вх

на два, В

х — В'{ (J В" и В| = {&х],

91

 

Фрагмент таблицы переходов С-автомата

Таблица 5-13 -

 

 

1Ісходпос

Состояние

Входной

Выходной

Состояние

состояние

перехода

сигнал

снгпал

С-автомата

аъ

 

*3*7

У . і

У і

Ьх

« о

 

*3*7

У к

Гз

^2

 

 

*С*.1

У - к У і ,

г3- г.,

ь3

0.1

* 5 * 4

у,, г. .

Ьі2

где — состояние, соответствующее паре (alt R 0), а В\ — все осталь­

ные состояния, порождаемые аЛ. Переходы из В 4 определим следую­ щим образом: из всех состояний В\ построим переходы в состояние Ьг

(начальное состояние) под действием сигнала единицы, т. е. факти­ чески под действием тактирующего сигнала р. Из состояния Ь1 будут переходы во все состояния Ь/— (as, Rj), если в автомате S' есть пе­ реход из состояния аг в состояние as с выдачей длинного сигнала Rj. В рассматриваемом примере из состояния Ьѵ будет переход в состоя­

ние 612 под действием сигнала х5 х4 с выдачей короткого сигнала г/2. Если же множество В[ — 0 (перед конечной вершиной нет опера­

торных вершин без длинной микрокоманды), то вводим дополнитель­

ное состояние

Ь± — оно будет начальным, В[

полагаем равным (6і),

В 4 = В[ U ßp

а из всех состояний bt

В\ определим переходы

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

Минимизация полностью определенного микропрограммного С-ав- томата отличается от минимизации автомата Мили лишь тем, что од­ ноэквивалентным состояниям должны соответствовать одинаковые микрокоманды.

Глава шестая

СИНТЕЗ ЛОГИЧЕСКОЙ СХЕМЫ МИКРОПРОГРАММНОГО АВТОМАТА

6-1. Структурная таблица микропрограммного автомата

Структурные таблицы микропрограммного автомата являются расширением таблиц переходов, рассмотренных в § 5-3. Структурная таблица автомата Мили (табл. 6-1) имеет семь столбцов.

Состояния ат, из которых осуществляются переходы, указываются в первом столбце. Коды этих состояний К (ат ) после кодирования за­ носятся во второй столбец. В третьем и четвертом столбцах записы-

92

 

 

 

 

 

 

Таблица 6-1

 

 

О б щ и й в и д с т р у к т у р н о й т а б л и ц ы

 

 

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

Код исход­ ного состояиия

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

Код состоя­ ния перехо­ да

Входной сигнал

Выходной сигнал

Обязатель­ ные функции возбуждения

ат

К к . )

«S

К (as)

X (а,п, as) Y

т , а$)

F (ат, as)

ваются состояния as, в которые происходят переходы, и их коды К (as). Пятый и шестой столбцы содержат входные X (ат, as) и выходные сигналы Y (ат, as), входящие в пути перехода. В седьмом столбце таб­

лицы перечисляются обязательные функции возбуждения F (ат, as), вырабатываемые на соответствующих переходах.

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

Прямая структурная таблица автомата Мили

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

Кодисход­ ногосостоя­ ния

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

Кодсостоя­ нияперехода

Входнойси­ гнал

 

 

 

 

Выходной сиг­

 

 

 

 

нал

«1

001

а 2

010

*1

 

У і

 

 

 

 

а 3

011

*1

У г <

У з . У і

, У з

а 2

010

аз

011

1

У з ,

У з ,

У і

. У з

« 3

011

а і

100

Х о

 

У з

 

 

 

 

«4

100

* 2

 

У і

 

 

«4

100

Чі

001

* 2 * 3

 

У 12

 

 

 

а5

101

* 2 * 3

 

У в

 

 

 

 

Оо

по

* 2

 

У з

 

 

а Гі

101

а 6

по

1

 

У з

 

 

Яв

ПО

Оі

'001

*4

 

 

 

 

 

а з

011

*4

 

У і о >

У

ч

Таблица 6-2

Обязатель­ ные функции возбуждения

Фг> Фз ф2

Фз

Фі, ФзФз Фі. ф2. Фз

Фі. Фз Фз Фг

ф2. Фз

ФіФа- Фз ФіФз

93

Структурные таблицы, так же как и таблицы переходов микропро­ граммного автомата, могут быть прямые и обратные. В прямой таб­ лице последовательно перечисляются все переходы сначала из первого состояния, затем из второго и т. д. Табл. 6-2 представляет собой пря­ мую структурную таблицу автомата Мили, построенную по таблице переходов 5-1.

Для простоты в этой таблице в качестве кода каждого состояния взят двоичный эквивалент его номера, например К (я3) = 011, /С'(я4)= = 100 и т. д. В обратной структурной таблице столбцы обозначены так же, но сначала записываются все переходы в первое состояние, затем во второе и т. д. В табл. 6-3 приведена обратная структурная таблица того же автомата.

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

ай

а1

а\

(2,2

O ß

а3

а3

с*

ал

а3

Таблица 6-3

Обратная структурная таблица автомата Мили

исход­

состоя-

Код

ного ния

100

п о

001

001

0 1 0

ПО

011

011

100

100

101 '

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

Код состоя­ ния перехо­ да

Входной си-' гнал

 

 

 

1

«1

001

*2*3

 

 

 

 

*4

а

2

010

*1

а

3

011

Х 1

 

 

 

 

1

 

 

 

*4

о4

100

Л*2

 

 

 

*2

 

 

101

*2*3

 

 

 

Ü Q

 

110

*2

 

 

 

 

 

 

1

Выходной сиг­

Обязательные

 

 

нал

 

функции

воз­

 

 

 

 

 

буждения

 

 

1/1-2

 

Фі-

Ф з

 

 

 

 

Фі-

3[>2,

фз

 

 

У і

 

 

Ф 2ф з

 

1/2.

У

і ’

У і ’

1/3

фо

 

У і ’

у 3

У і ’

У ъ

Ф з

 

 

У іо’ У и

 

Фі- Ф з

 

 

1/0

 

 

Ф і ’ Ф з ’

ф з

 

 

У і

 

 

Фі. Фа. Фз

 

 

У н

 

 

ф з

 

 

 

У 9

 

 

ф2

 

 

 

У і

 

 

Ф 2

'Фз

 

Структурные таблицы автомата Мура— как прямая, так и обрат­ ная, будут иметь на один столбец меньше, так как выходной сигнал в них записывается рядом с исходным состоянием (в прямой таблице) или с состоянием перехода (в обратной). В табл. 6-4 построена обрат­ ная структурная таблица автомата Мура, таблица переходов которого представлена таблицей 5-4.

94

Таблица 6-4

О б р а т н а я с т р у к т у р н а я т а б л и ц а а в т о м а т а М у р а

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

Код

 

исходного

 

состояния

° 7

0111'

о »

1001

« 1

0001

« 1

0001

а г

0010

« 3

ООП

° 8

1000

а-.і

оо'п

a s

1000

0 .1

0100

« з -

0101

0 . !

0100

а і>

0101

d o

о н о

о ?

0111

o 4

0100

О з

0101

Состояние

Код

перехода

состояния

 

 

перехода

° 1

( — )

0001

0 2 (Уг)

0010

 

а 3

ООП

5 . 1/з. 1/4. Уз)

 

di

(Уі)

0100

Оь (Уа)

0101

d o

( У в )

о н о

 

а -

Ы

0111

as ( l / i o > Уп)

1000

« 9

{Уи)

1001

Входной

сигнал

- н

1

* 1

* 1

1

Л"о

А'2

А'2

А'о

* 2 * 3

A2A';,

А2

*12

*4

*2 * 3

*2 * 3

6 -2. Построение схемы по структурной таблице

Обязательные

функции

возбуждения

Ч’г > Фз Фі

Фз. Фз

ф з

ф4

ф 2 , ф з , ф 4

Фі ф2

фа . Фз Фі, ф2, ф4

Фз

Ф з . ф 4

Фз. Ф4

Фз

Ф4

Ф і . Фз> Фз. Фі

Фі . Фг- ф.1

Ф і . Фа

Структурный синтез микропрограммного автомата проиллюстри­ руем на примере автомата Мили, синтезированного по ГСА на рис. 6-1. После отметки состояний (рис. 6-1) построим обратную структурную таблицу микропрограммного автомата (табл. 6-5).

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

95

турного синтеза автоматов. Так, для срх и у7 из табл. 6-5 имеем1:

Фі — рТ іТ ях3 х.,х-\/рТіТоТ 3X3X0\урТ{ГчТ3X3X3X4X11;

 

Уі — рг^іТ'іТ'зхіхвх2 \ / рТ іТ2зА'іХсх.]\ / рТ уТоТ 3 х3 х2 х^\/

(6- 1)

V рТуТ2Т3xsx4.

 

Однако для встречающихся на практике микропрограммных авто­ матов подобные выражения очень сложны: они представляют собой

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

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

ках

структурной таблицы. Так, конъюнкция из третьей строчки

1

Относительно символа р см. замечание в § 5-1.

96