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

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

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

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

Добавлен: 23.10.2024

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

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

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

после приведения по переменным х4, .v3, x lt а'3, л*в будет иметь вид:

Уt -> Ä'i (l2^^i\/^JÄ1feVfA/A-a (A-5r 4V.v5r 7))V/A-1Vr4))V

V *i ( й СчУсѴхіУ^Ѵх, (хі А зК Д А і№ W ) ) V ^ » ) ) . (4-20)

Очевидно, что каждому выражению вида (4-19) соответствует под­ граф, изображенный на рис. 4-8. После приведения к скобочной форме переход от формулы перехода к ГСА не представляет затруднений и сводится к построению цепочек условных вершин в соответствии с по­ следовательностью разложения формулы перехода. ГСА для выра­

жения (4-20) приведена на рис. 4-9. Необходимо отметить, что для одинаковых подформул строится один подграф ГСА (подчеркнутым одинаковым выражениям в (4-20) соответствует обведенная штриховой линией часть ГСА на рис. 4-9).

Ясно, что число условных вершин в ГСА зависит от порядка при­ ведения, что сразу видно из выражений (4-17) и (4-18), где первое при­

ведение формулы

перехода для У3 требует двух условных

вершин,

а второе — трех.

Кроме того, сложность ГСА определяется

тем, как

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

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

68

4-6. Матричная схема алгоритма

Пусть ГСА Г имеет начальную (У0), конечную (Ук) и Т оператор­ ных вершин с записанными в них различными операторами Ух, . . . ,

Y T. Матричная схема алгоритма (MCA) М,

соответствующая ГСА Г,

есть квадратная матрица, строки которой

 

отмечены символами Y 0,

Ух, . . . ,

Y T, а столбцы — Уг, . . . , Y T,

YK. В этой матрице на пе­

ресечении

строки У, и столбца У,- стоит функция перехода ац из опе­

ратора Уг

к оператору Уу. MCA для ГСА

на рис. 4-5 приведена в

табл. 4-1. Для простоты нулевые функции перехода в матрицу не за­ носятся.

Таблица 4-1

 

 

MCA, соответствующая ГСА на рис. 4-5

 

 

 

Уі

У2 Уз

У4

Уг,

У.

к 7

У8

Ук

Уо

*1

 

 

 

 

 

 

Ѵі

 

1

 

 

 

 

 

 

У2

 

Л*2

х2

 

 

 

 

 

Уз

 

 

 

*2*3

*2

 

Х о Х з

 

У.І

 

 

 

*2*3

X2

 

*2*3

 

У5

 

 

 

 

1

 

 

 

Уо

 

 

 

 

 

*4

 

*4

у.

 

х 2

Хо,

 

 

 

 

 

Ув

 

 

 

 

 

 

 

1

Переход от ГСА к MCA очевиден: 'по ГСА необходимо найти все

функции перехода и занести их в соответствующие

клетки матрицы.

Переход от MCA к ГСА состоит в последовательном получении системы формул перехода, системы скобочных формул перехода и после этого— граф-схемы алгоритма.

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

69


Глава пятая

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

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

Конечный автомат, реализующий микропрограмму работы дискрет­ ного устройства, принято называть микропрограммным автоматом [6,8]. Синтез микропрограммного автомата по граф-схеме алгоритма осуществляется

 

в два

этапа:

 

 

 

 

 

 

 

 

 

1. Получение отмеченной ГСА.

 

 

 

 

2. Построение графа автомата.

 

ГСА

 

На

этапе

получения

отмеченной

 

входы вершин, следующих за оператор­

 

ными,

отмечаем символами

alt а2, . . . по

 

следующим правилам:

 

 

 

 

 

 

а)

символом

отмечаем вход вершины,

 

следующей за

начальной, а также вход

 

конечной

вершины;

 

 

 

 

 

 

б) входы всех вершин, следующих за

 

операторными, должны быть отмечены;

 

 

в)

если вход

вершины отмечается,

то

 

только одним символом;

 

 

 

 

 

 

 

г)

входы различных вершин, за

исклю­

 

чением конечной, отмечаются различными

 

символами.

 

 

 

 

 

 

 

 

 

Ясно,

что

для проведения отметок

по­

 

требуется конечное число

символов.

Пред­

 

положим

для

определенности,

что

для

 

отметки входов вершин граф-схемы исполь­

 

зовались символы ал , . . . , а„„ . . . , ам.

 

Результатом 1-го этапа является отме­

 

ченная

ГСА,

 

которая

служит

основой

 

для

2-го

этапа — перехода

к графу

авто­

 

мата.

 

 

 

 

 

 

 

 

 

 

Применение

1-го этапа к граф-схеме

 

алгоритма операции деления Г на рис. 4-5

 

дает отмеченную ГСА, изображенную

на

Рис.

5-1. Отмеченная ГСА рис. 5-1.

 

 

 

 

 

 

 

 

при синтезе автомата Мили

Если идти от одной отметки ат к другой

ГСА,

отметке as в направлении

ориентации

дуг

выписывая содержимое

лежащих

на этом пути

вершин,

то

каждому такому пути можно поставить в соответствие слово в ал­ фавите

X L Y

> ЛЬ > 1 1'

70


где

[1

при

выходе

из

условной

вершины

по

единице

в соот-

 

ві = Iветствующем

пути;

 

 

 

 

 

 

 

 

 

ІО при

выходе из условной вершины по нулю;

 

 

 

 

 

 

x\ = xt \ x°l = xl (/= 1 ,

. . . ,

L).

 

 

 

Чтобы подчеркнуть,

что выписанное слово соответствует пути из

а в as,

будем ограничивать

это слово слева и справа символами ат

и as соответственно.

 

будут

интересовать слова

вида

 

 

В дальнейшем нас

 

 

 

 

, y enn

y emr

* Xm Rl Y t a s K

a!с

 

))

 

(5-1)

или

 

m'vm1 ‘

‘ ' Xmr

 

 

 

 

 

 

Yemr

 

 

 

 

 

 

 

 

 

 

 

a x e"n

 

' ■■X mR a i К

6 [<-

 

м ))■

 

(5-2)

 

 

umx ml

• ** Xmr

 

 

 

Соответствующие этим словам пути на граф-схеме будем называть

путями перехода. В пути вида (5-1)

 

 

 

 

 

 

 

не исключен случай R = 0:

 

 

От

 

 

 

 

 

 

 

a,nY tas.

 

 

(5-3) а)

 

 

1Чщ

 

 

Таким

образом,

путь

вида

 

1Х(П-т*аз)

 

 

 

 

 

 

 

 

(5-1) — это

путь по

ГСА из одной

 

 

?Xf(OnJ,flj)P%h

(Чщ14$)

отметки

ат в другую

 

отметку as

 

 

 

 

(допустимо

ат = as),

содержащий

 

 

 

 

 

 

 

одну операторную вершину. Путь —

 

 

 

 

 

 

вида

(5-2) — это

путь из некоторой IУ(От,О;)

 

Y(Om:Os)

 

 

отметки

ат

в

отметку

(недо­

 

 

 

 

 

 

 

 

 

 

 

пустимо

ат =

аг),

 

проходящий

 

 

 

 

'Os

 

 

только

через условные

вершины.

 

 

 

 

 

 

 

 

 

 

 

 

 

Каждому пути (или слову) вида

 

 

 

 

 

 

 

(5-1)

или (5-2)

можно

поставить

рИс.

5-2. Условное изображение

в соответствие конъюнкцию

 

пути

перехода

между ат и

as:

а

X K « ßs)

ml

 

 

 

 

YmR

 

 

один путь, б Н путей

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

mR ■

 

 

 

 

атХ (ат, as) Y

(ат,

Для

краткости эти

 

пути

будем

обозначать

as) as и атХ (ат, аг) аг,

где V (ат, as) =

Yt.

 

 

 

как

Схематично путь перехода

из ат в as

можно изобразить так,

показано на рис. 5-2, а, где волнистая линия соответствует пути через условные вершины.

В тех случаях когда нас будет интересовать не конъюнкция вида хт іц ■• • хм$> а некоТорое множество тех же, что и в конъюнкции, букв ІдЛ'п.......... А'с"ія]., мы будем использовать для этого множества то же обозначение, что и для конъюнкции, но с тильдой. Так,

v emR

a s ) = X m T

AmR

но

remR \

 

 

XmR

)

71


Может случиться, что между ат и as имеется несколько путей вида

а,пХ н (а„„ as) Y (а,„, as) as (h = 1, . . . , Н), проходящих через одну и ту же операторную вершину (рис. 5-2, б). Будем считать, что этому

Н

множеству путей соответствует дизъюнкция X (ат, as) = \ / Х п (ат, as), h=1

а само множество путей обозначать атХ (ат, as) Y (ат , as) as, называя его обобщенным путем перехода.

После получения отмеченной ГСА построим граф автомата Мили S, состояниями которого являются ал ...........ат, . . . . ам , причем а1 — начальное состояние. Переходы и выходные сигналы в этом автомате определим следующим образом.

Находим все пути перехода на отмеченной ГСА. Если при некото­

ром г (г =

1,

. . . ,

R)

имеется несколько

вхождений

символа

хегг

в путь перехода, то все символы х‘г, кроме одного,

из этого пути уда­

ляются. Если при некотором г (г — 1, .

. . , R) в путь перехода вхо­

дит как хп так и хг,

то такой путь перехода в дальнейшем не рассмат­

ривается.

 

 

 

 

 

 

 

атХ {а,п,

as) Y (а,п,

as) as

 

Каждому

пути

перехода

 

вида

(am,

as £ {Oi, . . . , ам))

поставим

в

соответствие

переход

автомата S

из состояния а,п в состояние

 

as

под

действием

входного сигнала

X (а,п, as) с выдачей выходного сигнала

Y (ат, as).

Каждому пути пе­

рехода вида amY (ат, as) as (ат, as

 

 

...........ад,))

поставим

в

со­

ответствие

переход

автомата

5

из

состояния

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

as,

где

ат и as определяются так лее,

как и раньше.

Входной сигнал на этом

переходе также равен

конъюнкции

содержимого

условных

вершин

в этом пути. Так как множество условных вершин в данном случае пусто, а конъюнкция пустого множества переменных равна единице, то соответствующий входной сигнал полагаем равным единице, а вы­ ходной сигнал, как и раньше, Y (от, as).

Каждому пути перехода вида атХ (ат, at) аг ставим в соответст­ вие переход из ат в аг. При этом ат и входной сигнал определяются, как и раньше, а выходной сигнал полагаем равным К0 (пустой опера­ тор).

В результате получаем граф автомата Мили 5, имеющий столько лее состояний, сколько символов потребовалось для отметки входов вершин ГСА. Граф автомата Мили, соответствующий ГСА на рис. 5-1, приведен на рис. 5-3.

Входными сигналами автомата S, имеющего L входных каналов, является множество L-компонентных векторов Дг . . . , Д;-.......... Д2ь, где Д^. = (е^, . . .,

ВЦ, . . . . Cji), а компонента ец (/' = 1,

. . . , 2L, I ~ 1 , . . . , ! ) может принимать

два значения: 0 или 1. В то же время,

если на ГСА между отметками а,п и as есть

путь перехода атХ (ат , as) Y (ат, as) aSt проходящий через операторную вер­ шину Y {а„1, as), то дуге графа автомата приписывается входной сигнал X (ат, as) и выходной сигнал Y (ат , as). Отличительная особенность микропрограммных автоматов, синтезированных рассмотренным выше способом, состоит в том, что приписанные дугам графа входные сигналы являются элементарными произве­ дениями и, таким образом, булевыми функциями тех переменных, которые вхо­ дят в соответствующие пути перехода, причем длина этих произведении сущест­ венно меньше числа L всех входных переменных. Очевидно, что переход (о,„, as)

72


с выдачей выходного сигнала Y (ат , as) будет иметь место под действием тех входных наборов из множества | Аt, . . . , А2/„), на которых булева функция

X (ат , as) принимает значение единицы.

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

торого состояния ат есть более одного перехода, то, выбрав произвольно два

из них, например в состояния as п а/,12можно убедиться в том, что в конъюнк­

циях X (яш, а„) и Л' (ат, arf

какая-либо переменная, например д>, встречается

в одном случае без инверсии

(хг), а в другом случае — с инверсией (хг). Это

объясняется тем,

что при определении путей перехода атХ (ат , as) V (ат , as) as

и атХ (ат , at) Y

(ат, af) at всегда найдется общая для них некоторая условная

вершина, в которой записана хг, причем

 

 

 

такая, что в первом пути мы выходим из

нее

 

 

 

по единице, а во втором — по нулю.

В

силу

 

 

 

этого

с

каждым состоянием ат автомата

S

 

 

 

можно связать разбиение множества всех

 

 

 

входных

сигналов —• наборов значений

пере­

 

 

 

менных на входных каналах

автомата Лх, ....

 

 

 

А/. . . . .

A2l на R +

1

попарно

не

пересе­

 

 

 

кающихся

классов

Е

 

Е

г, . . . .

£^ +1,

 

 

 

где

R — число

различных

конъюнкций

 

 

 

X], . . . .

 

Хг, . . . ,

X r ,

которые

приписаны

 

 

 

дугам графа автомата S,

выходящим

из этого

Рис. 5-3. Автомат Мили, по­

состояния

ап1.

Если

из

ат

выходит только

строенный по ГСА на рис. 5-1

одна

дуга,

которой приписан сигнал

единица

 

 

 

(случай

пути

amY

т ,

as) as,

т. е.

когда

 

 

вершиной),

вершина

Y (ат , as) следует непосредственно за другой операторной

то полагаем R = 0.

 

 

 

 

 

А/

=

(е;1, . . . .

ец, . . . , е;х)

однозначно

Очевидно, что каждому набору

соответствует конституента единицы

 

. .

. х;'1 . . .

— булева

функция L

переменных, принимающая значение единицы лишь на наборе Ау и значение нуля на остальных наборах. Тогда к каждому из первых R классоз Ег (г= 1, . . . , R) отнесем те и только те наборы значений входных переменных, для которых соответствующие конституенты единицы поглощаются определяющей этот класс конъюнкцией Хг, т. е.

 

Ег = [Д; I Xr\Jxen . . . хСП . .

. //X = Хг} ,

(5-4)

где /-=1, . . . .

R] / 6 { і ........... 2l };

е;/ ($ {0,1);

x°t = xt \

x\ = xt .

К R + 1-му классу

отнесем все

остальные наборы:

 

 

 

e r + \ =

( А г • • • , А у.,

. . . ,

А 2 l ) \ Ö { е 'г -

( 5 - 5 )

Если R = 0,

то образуем один класс,

состоящий из всех 2L

наборов.

Рассмотренное разбиение множества

наборов Ар

, A2l

на классы по­

зволяет определить, какой переход имеет место под действием каждого из этих наборов. Так как функция Хг принимает значение единицы на множестве на­ боров Ег {г = 1, . , . , R), то переход автомата из состояния ат под действием любого входного набора, попадающего в один из Ег классов, н соответствующий выходной сигнал совпадают с переходом автомата под действием определяющей этот класс конъюнкции и с выдаваемым при этом выходным сигналом, тогда как

1 Не исключен случай s = t, т. е. два перехода в одно и то же состояние. 2 А \ В обозначает разность множества А и В: А \ В = А(~\В.

73