ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 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