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

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

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

Далее, если мы хотим минимизировать и условные вершины в по­ лученных подграфах, необходимо воспользоваться методом миними­ зации из § 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

Ко = К3 - (pipoXa V Р.1Р 2З Д ; V PiPa-'V, V PiPa*5

V 1Р 2В Д ; V

V Рхр2*з1) К.! V ( W

A V

 

[ріРа*з*в1) Kr>\ / (ptp.,A'rV PiP.-.vБ) К7 =

= Pai^jL V

'KiК4) V РгС^з (a'qKг, V -v'ßK4)

V x s Y 4) ;

К 1 “■{ P l P - 2 X 2 . V P l P 2

X

2

V P l p 2 X 2 V [РіР2-''2І)

K2 = XoKo,

K4 -> (PlPoA'4^3

V P

l

p

2X i V Р1 Р2И V ІРдРз^ЗІ) K3 V

К ’ у_

- < ë > r — < é > r 15

Рис. 7-18. ГСА P, полученная в результате объединения граф-

схем Г I,

Г о

и

Г

3

V ( Р і Р 2х і х з V [РіРа*4*з]) К 0 =

Л-4

{ p

2 Y

s V Ра ( * з К 0 V ^ з))'-

К6 - *4УК;

К0 -> Ук;

к , - р і Кк ѵ р і Кк= к к ;

-К8 - Ук.

Очевидно, что одинаковым подформулам в этих выражениях (они одинаково подчеркнуты) соответствуют одни и те же подграфы объе­ диненной граф-схемы.

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

175

задач. Для этого разобьем исходные MCA М г, М 2, М 3 (рис. 7-19) на подматрицы М ц , УИ12, М 13, М и (разбиение М х), МІ21, М 22, А/23, М 2І, (разбиение М.2), М 31, М 32, М 33, Л43і (разбиение М 3):

 

 

 

 

М и

Их

Y i

И в

 

 

 

 

 

 

 

 

 

 

 

л -іЛ '3

 

 

 

 

 

 

 

 

 

 

И„

Л 'і

Л' l.V;tA'(j

Ѵ іѴ зѴ 'в

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

А'З

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ѵ з - 'в

 

 

 

 

 

 

 

 

 

 

 

А'З-V«

 

 

 

 

 

 

 

 

 

 

И 3

 

'Vs

 

 

 

 

 

 

 

 

 

 

 

V 3V,i

Ѵз-'Ѵ,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

М12

И.,

 

 

 

М 13 Y з и„

 

М и

Y K

 

 

и 7

Л о

 

 

 

И.,

ЧЧ Ѵ4Ѵ3

 

П Ч

 

 

 

 

 

 

 

 

 

 

 

 

И6

1

 

М , г |

И,

1

Y.i

1

 

И 7

И 8

 

М ,2

 

И.,

 

 

Vo

.V7.Vi

V7.Vx.V5

 

Ѵ7Ѵ1.Ѵ5

ѵ7

 

Их

 

ѵ2

М , л

И,<

 

 

J

 

 

И,

 

 

ѵ5

 

 

ЛЧ

1

 

 

 

 

И 7

1

 

 

 

 

!

 

М 33

 

И 3

 

 

 

 

 

 

J

1

 

1

И„

 

Из

 

 

ѵ5

 

 

ѵ'з

 

 

 

 

 

1 1

 

 

 

 

 

 

И.,

!

V.,

R

1

 

 

 

 

 

 

 

 

 

 

 

 

Мзі

Их

И.х

 

И7

M3,

Y,

 

Alл.) 1 Ик

 

\/

X1 V xV r,

A'x-Vr,

Их.

 

У7

1

 

 

* 0

 

 

 

 

 

 

 

И,

 

 

Ч

 

V'n

M33 1 Из

 

 

 

 

 

Из

 

 

Vr,

 

V 5

 

 

 

 

 

 

 

 

 

 

Их

 

 

 

 

 

 

 

 

 

 

 

 

 

V.1

 

 

 

 

На множестве полученных таким образом подматриц введем отно­ шение объединимости, согласно которому две подматрицы M t и M s

объединимы (М/ О Afs), если {(At П А ) Ф 0 ) V ((В/ П Bs) Ф 0 ) = = 1, где А ( (Bt) и As (ßs) — множества исходящих (входящих) опе­

176