
книги из ГПНТБ / Баранов, С. И. Синтез микропрограммных автоматов
.pdfДалее, если мы хотим минимизировать и условные вершины в по лученных подграфах, необходимо воспользоваться методом миними зации из § 7-1 или искать (путем перебора) близкую к минимальной систему скобочных формул перехода. Система (7-8) уже представляет собой систему скобочных формул, притом минимальную — это оче видно из полученных выражений. По системе (7-8) построена мини мальная граф-схема алгоритма на рис. 7-16.
Таблица 7-18
Минимальный автомат Мура
Исходное состояние н пыходноі'1 сигнал
Щ(Го)
а г ( Г і )
a»(Yt)
a i ( Y a )
ЩоОС)
МП )
Як(Гк)
Состояние |
Входной |
перехода |
сигнал |
СІ-2 |
1 |
“ з |
х і |
0 .1 |
* і |
о 2 |
1 |
|
|
й 1 0 |
. х і |
« и |
X . , |
Як |
1 |
|
|
ак |
1 |
ак |
1 |
7-4. Объединение граф-схем алгоритмов
При описании алгоритма работы сложной системы часто представ ляется целесообразным построение нескольких ГСА, каждая из ко торых описывает часть общего поведения системы (частные ГСА). На пример, при проектировании устройства управления арифметического устройства проще отдельно построить граф-схемы алгоритмов выпол нения операций сложения, вычитания, умножения и деления! Оче видно, что в этих ГСА некоторые операторные и условные вершины будут одинаковыми, и если для каждой ГСА синтезировать отдельный автомат управления, то результат синтеза может быть далеко не оп тимальным. В связи с этим возникает задача объединения частных ГСА в единую граф-схему, решение которой позволит минимизиро вать суммарное число операторных и условных вершин. -
167
Пусть имеются ГСА Г х, . . . , Гч, . . . , r Q, в каждой из которых операторы не повторяются, но среди различных граф-схем могут встречаться одинаковые операторы. Требуется построить объединен ную ГСА, которая равносильна каждой из ГСА Гч при тех условиях, когда должна выполняться эта ГСА r q (q = 1, . . . , Q).
Параллельно будем рассматривать пример объединения трех графсхем Г х, Г.,, Г3, изображенных на рис. 7-17. Решение задачи объеди нения разбивается на ряд этапов.
1. |
Для |
каждой ГСА f q строится соответствующая ей MCA N |
(q = |
1, . . . , Q). В нашем примере это MCA М х, М „ М 3, приведенные |
|
в табл. 7-19, |
7-20, 7-21. |
|
2. |
Каждая |
MCA |
M q |
кодируется |
вектором |
(eqll . . . , |
eqn, . . . |
||||
eqN), где eqn f |
(0, |
1], N |
> |
] |
log2Q |
[; ] а |
[, как и ранее, означает наи |
|||||
меньшее целое число, большее а или равное ему, |
если а — целое. |
|||||||||||
|
Закодируем MCA М х, М 2, М 3 |
следующими кодами: |
|
|||||||||
|
|
|
|
Мі —(00); |
М 2 — (11); |
М3 —(01). |
|
|||||
|
3. |
Каждой |
MCA M q ставится |
в соответствие конъюнкция Р = |
||||||||
= |
p[ql ■• • Рп" • • |
■Pn” >_ где |
К . - |
■■■■ V ) |
т код МСА м г |
Р°п = |
||||||
~ |
Рп’ |
Рп = Рп' |
|
~ Р\Р2' |
^2 ~~' Р\ 7*2’ ^3 |
“ |
Р\?2- |
|
|
4. Строится объединенная MCA М, строки и столбцы которой от мечены всеми операторами, входящими в объединение множеств опера-
168
Уо
V i
Yо
^3
У4
Уъ
у 0
^0
Уі
Уо
^3
^4
^7
^8
У і |
Y„ |
A'l
X<2
>'і |
Y о |
*7*1
Хо
Таблица 7-19
MCA M i
y 3 |
У-а |
Г к |
*1*3
*1*3*0
л'з
А'з-Ѵе
хз
х 3х
*4*3
MCA M.
Уз
*7*1*5
Л'5
*5
*4
ѵ л
Л'зЛГб
*3*0
*4*3
|
|
*4 |
|
|
1 |
|
|
Таблица 7-20 |
Уі |
^8 |
І'к |
аѴѴ1'Ѵ5 |
*ѵ7 |
|
*5 |
|
|
Л'б |
|
|
1
1
169
|
|
|
|
|
|
Таблица 7-21 |
|
|
|
|
|
M C A М3 |
|
|
|
|
|
Г4 |
У , |
у 8 |
У* |
у 7 |
Ук |
|
Го |
* 1 |
|
|
* 1 * 5 |
* 1 * 5 |
|
|
Г . |
|
X ., |
|
|
|
|
|
|
|
|
|
|
|
|
|
У , |
|
|
|
* 5 |
Л*5 |
|
|
Г з |
|
|
|
хь |
Л*5 |
|
|
|
|
|
|
|
|
|
|
Г4 |
|
|
* 4 |
|
|
|
|
У 7 |
|
|
|
|
|
1 |
торов MCA M x, |
. . . , Mq1. Элементы atj MCA M |
равны \ / |
((a,;-)9 Pq), |
||||
где (a,y) |
— элемент MCA /И^, |
стоящий |
|
q=\ |
|
||
на пересечении строки Yi и |
|||||||
столбца |
Yj. |
|
|
|
|
|
|
Объединенная MCA АТ, построенная по MCA М г, М 2, M s, приве дена в табл. 7-22.
Поскольку конъюнкция Pq (q = 1...........Q) равна единице все время, пока MCA М «работает» как MCA M q, ни один оператор не ме няет значений переменных p lt . . . , pN (относительно этих перемен ных имеем пустое распределение сдвигов), в связи с чем MCA М можно упростить. Так, переход к оператору У5 (столбец У5 в табл. 7-22) про
исходит всегда при р, = р, = 0 (<р^_ = PjP2), поэтому в строке У5
можно переменные р г и р 2 заменить на р х = р 2 = 0. Точно так же
в строку |
Ув подставим значения р х = р 2 = |
0, в строку У7 |
— значе |
ние р 2 = |
1, в строку У8 — значения Рі = р 2 = 1, в результате чего |
||
получим |
проминимизированную с учетом |
распределения |
сдвигов |
MCA М' |
(табл. 7-23). |
|
|
Для перехода от MCA AT к объединенной ГСА Г необходимо раз бить MCA М' на подматрицы и воспользоваться методом построения минимальной ГСА, изложенным в § 7-1, или попытаться найти (путем перебора) близкую к минимальной систему скобочных формул пере хода для каждой из подматриц. В обоих случаях следует учесть не определенности двух типов, которые возникают при объединении ча стных ГСА:
1 Среди строк, как и выше, пет оператора Ук, а среди столбцов—опера тора Y n.
170
У а
У і
У 2
y 4
П
'Y e
Y 7
y 8
Таблица 7-22
О б ъ е д и н е н н а я M C A М
У і |
I |
V 'a |
1 |
K 3 |
у * |
Г |
n |
У * |
\ |
У і |
\ |
Y * |
1 |
у к |
Р і Ргх х |
|
|
|
|
_ P l P 2 x lx 3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
РіР2^іх зх а |
|
P l P2X lX 3%Q |
|
|
Р і Р 2 х 1Х 1Х Ъ |
|
Р х Р з х і |
|
|
|
P i P :ix ix i |
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
Рі Р г х іх іх ъ |
|
|
|
Р і Р 2Х 1Х 3 |
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|||
P x Pxx X |
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
РіР'2Х 1Х Ъ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
P l P 2 x 2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Pi P2X 2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Pl P 2 X 2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
P l PiX 3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Р у Ргх зх й |
|
P l P 2x‘ 3x G |
|
|
Р 2Р 2 Ч |
|
|
|
|
|
|
|
|
|
РхРз-Ч |
|
|
|
Р х Р з Ч |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
Р \ Ріх Ь |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
_ РхРзх з |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Р х Р 2х Зх В |
|
P l P i x 3x 0 |
|
|
Р і Р ^ Ъ |
|
|
|
|
|
|
|
|
|
Р х Р з Ч |
|
|
|
Ъ х р г ч |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
Р і Р і Х Ь |
|
|
|
|
|
|
|
|
|
|
|
|
|
P x P2X Xx 3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Pl P 2 x i |
|
|
|
Р і Р г х іх з |
|
|
|
|
|
|
|
|
|
|
Pl P 2 x i |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Р х Р 2х І |
|
|
|
|
|
|
|
|
|
|
|
! |
|
|
Р х Р 2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
Р 1 Р 2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Р х Р 2 |
|
|
■ |
1 |
|
1 |
|
|
1 |
|
|
1 |
|
|
Р 1Р 2 |

N
К»
Ко
Уі
К2
Уз
у ,
к 5
К0
К7
MCA M', минимизированная с учетом распределения сдвигов
Уі |
1 к 2 |
У0 |
У4 |
Уз |
Ув 1 k7 |
Р і Р ц Х1_
Рі Р 2 х ТХ 1 P l P l x l
P i P 2 x 2
P l P 2 X 2
P l P 2 X 2
P :P;Xj Л '-j |
|
|
|
P i P ' i X j - V j , |
P l p 2 X l X 3X G |
P ] P 2X 7X l X 3 |
|
PiPi^V s |
Р і Р г х і х ь |
||
|
|||
P l P 2X 1X -i |
|
|
P i P i x 3 |
|
|
|
P l P 2 x 3x 3 |
P l P 2 X3X B |
P_lP2X 5 |
|
Р \ Р г х ь |
P l P l X ö |
||
|
|||
P l P l x b |
|
|
|
_ P l P 2 x 3 |
|
Р і Р г - Ч |
|
P l P 2 x 3x 0 |
P l P 2 X 3X G |
||
P l P l x 3 |
Р і Р г Ч |
||
|
|||
P l P 2 x 6 |
|
|
|
P l P i x i x 3 |
|
|
|
P i P 2 x 4 |
|
Р і Р г х 4х з |
|
P l P z x 4 |
|
|
Таблица 7-23
Уз Ук
P l P 2 X l
хі
1
P i
P i
К8 |
1 |
1. Если число Q объединяемых ГСА меньше 2 Ы , т. е. не все наборы значений переменных р 4, . . . , pN используются для кодирования MCA М г, . . . . M Q, все формулы перехода (или отмеченные покрытия формул перехода) не определены на тех наборах значений переменных
p L, . . . , |
pN, |
*4, |
. . . , |
xL, которые покрываются кубами (esl . |
. . esN |
|
X . . . х), |
где |
(esl |
. . . esN) — неиспользуемый набор |
значений |
пере |
|
менных |
р, . |
. . , |
рдг. |
В рассматриваемом примере |
не используется |
набор р ±, р а = (10), т. е. все формулы перехода не определены на кубе
(10* . . • -ѵ). |
Y t не |
встречается |
в каких-то MCA M q |
||
2. |
Если |
оператор |
|||
(q = |
1, . . |
. , Q), то |
формула |
перехода для |
Y t (отмеченное покры |
тие Yj) не определена на тех наборах значений переменных, которые
покрываются |
кубом |
(eql . . |
. eqN х . . . х), |
где |
(eql . . . eqN) — код |
||
MCA M q. В нашем примере |
Y r> не встречается в М» и М 3, а потому |
||||||
формула перехода для Е6 |
не |
определена |
на кубах |
(11* . . . *) и |
|||
(01* . . . *). Точно так же формула перехода для |
Y e не определена |
||||||
на кубах (И* . . . *) и (01* |
. . . *), для К7 — на |
кубе |
(00* . . . *) и |
||||
для Е8 — на кубах (00* . . . *) |
и (01* . . . *). |
|
|
||||
Подматрицы, полученные в результате разбиения MCA-М', приве |
|||||||
дены в табл. 7-24, 7-25, 7-26, 7-27. |
|
|
|
||||
Если для подматриц М\, |
/И2, Л43 н ЛГ4 построить соответствующие |
||||||
подграфы Г1, |
Г2, Г3 |
и Г 1, то после объединения одинаковых исходя |
щих и входящих операторных вершин в одну вершину придем к объе диненной ГСА Г, изображенной на рис. 7-18. Эта ГСА построена с по мощью программ для ЦВМ М-220, реализующих алгоритмы из § 7-1. К тому же результату можно было бы прийти, если выписать из под матриц формулы перехода, доопределить их на неиспользуемых на борах значений переменных, после чего проминимизировать и при вести к системе скобочных формул. К сожалению, алгоритма подобных преобразований формул перехода, гарантирующего получение реше ния, близкого к минимальному, нет. Особые трудности возникают в не полностью определенных формулах перехода, и требуется значитель ный опыт и многократные попытки для получения хорошего решения. Например, чтобы прийти к той же граф-схеме, которая была получена с помощью методов § 7-1, необходимо доопределить формулы перехода с помощью выражений, заключенных в квадратные скобки, и преобра зовать их в систему скобочных формул следующим образом:
у 0 -> (РіРз*і V РіРз*7*Л/ РіРз*і V [Pi/WCi]) Yi V
V (№*1*3 V PlPA*3*e V PlP2*7*l*5 V РіРзхіхъV
V \РіРзхіхзх 7 V РіРгх іхзх вх ~У) E4V ІРіРзх іхзхе V [РіР-гх іхзхвх ~}) У 5 V
V (РіРв*7*1*6 V ~PlPlXlXb) Y 7 V (PlP3*7 V [РіРз*7І) ^S =
= Pi (x7Y 8 V x~(-И (Рг (хъУ 7 V хьУ -i) V Рг (хз (хс,Уa V *6_Ел) V хзУ 4)) V
V хіУ і)) V pi (xi (Рг (хьУ 7 V *пЕ4) V J2 (хз (хбУ 5 V y ^ j )
173
|
|
|
|
|
|
Таблица 7-24 |
|
|
Подматрица Ж[ |
|
|
||
|
У і |
^ 4 |
|
Уь . |
|
У в |
|
|
W p 2х і х з |
|
|
|
|
^0 |
Р 1 Р 2Х --4 |
P i P a - W e |
|
P l p 2 x 7 x l x 5 |
Р і Р 2 х 7 |
|
Р і Р 2 Х 7Х 1Х Ъ |
Р і Р 2 х 1х Зх 0 |
|
||||
|
Р і Р а л'і |
|
Р і Р 2 Х1Х Ь |
|
||
|
Р \ Р 2Х \ Х 3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Р і Р а А"з |
|
|
|
|
У 2 |
|
Р іР а -'-’з -'о |
|
Р іР а - ѵ5 |
|
|
|
Р 1 Р 2Ч |
Р і Р а А'з л’о |
2Х Ъ |
|
||
|
|
|
Р і Р |
|
||
|
|
Р 1 Р 2Ч |
|
|
|
|
|
|
Р і Р г - ѵз |
|
|
|
|
Уз |
|
Р і Р 2 Ѵ3-Ѵ0 |
|
Р 1Р 2А*5 |
|
|
|
Р і Р 2 Х Ь |
Р і Р а А'з А'о |
|
|
||
|
|
|
Р і Р 2х Ъ |
|
||
|
|
~Р1Р 2х Ъ |
|
|
|
|
|
|
Таблица 7-25 |
|
Таблица 7-26 |
||
|
Подматрица Ж, |
|
Подматрица Ж3 |
|||
|
|
У 2 |
|
У з |
|
У з |
|
|
Р і Р 2 х 2 |
|
Р і Р а А' і А'з |
|
|
Ух |
|
Р \ Р г х 2 |
У л |
Р і Р 2 х і |
Р і Р а х і х з |
|
|
|
Р і Р 2 Х 2 |
|
Р і Р 2 х і |
|
|
Таблица 7-27
Подматрица Ж4
Y K
У г, |
х 4 |
1
Р і
к ,
Р і
У» |
1 |
174