Файл: Баранов, С. И. Синтез микропрограммных автоматов.pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 23.10.2024

Просмотров: 123

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Ц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