
книги из ГПНТБ / Баранов, С. И. Синтез микропрограммных автоматов
.pdfИз |
Шаг |
1. |
Придаем переменным х х, . . . |
, xL значения из набора Дт1. |
|||||
множества |
функций |
перехода сс01, . |
. . , а от выбираем |
функцию |
|||||
ао. |
(/'j |
£ |
(1, . . |
. |
, |
Г)), |
принимающую |
значение единицы |
на .этом |
наборе |
[а^ (Дщ1) |
= |
Г|. |
В строчку рядом с Y 0 записываем |
Y.: |
||||
Из |
Шаг 2. |
Придаем переменным x lt . . . , xL значения из набора Д,п2. |
|||||||
множества |
функций |
перехода а. р . . . , а. т выбираем |
функцию |
||||||
a.,fj (/2 |
(: |
(1, . . ■, |
Г)), |
такую, что‘ а.^ (A„J = 1. В строчку ря |
|||||
дом с Y . записываем Y . : |
|
ч |
|||||||
^ |
|
Іі |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Y 0 Y uY lt и т. |
д. |
|
Пусть перед некоторым 17-м шагом имеем строчку операторов
YoYiY, Y;'<7—1‘
Если на наборе Д„1? некоторая функция <*iq_ ltq равна единице
(і |
£ |
(1, . . . , Т )), то в выписанную строчку |
операторов добавляем |
||||
Y, |
. Если |
оказывается, что |
<ziq_ lT-\-\ (Amq) = |
1, |
то |
в строчку вслед |
|
за |
У,- |
, |
записываем Y T+\ |
(конечный оператор) |
и |
процесс выполне |
ния ГСА прекращается.
Строчка Y qY ^ Y ^ . . . Yiq_ xYiq называется значением ГСА на последовательности наборов Дш1, Дт2, . . . . Д,п 7_,, Amq.
Если каждому оператору Y t (t = 0, 1, . . . , Т 1) граф-схемы поставлено в соответствие некоторое подмножество В ( логических ус ловий, элементы которого могут изменяться во время выполнения опе ратора Yt, то говорят, что задано распределение сдвигов. Распределе ние сдвигов является дополнительной к ГСА информацией о логике работы устройств, и эта дополнительная информация может быть ис пользована для упрощения ГСА.1
Пусть процесс выполнения ГСА рассматривается для некоторой последовательности наборов значений логических условий
^ml» ^ш2і • • • I ^mqy ^m- <7+1
и пусть набор Amq предшествует моменту выполнения оператора Ylqj
а набор |
Am |
|
j устанавливается непосредственно |
после выполнения |
оператора |
Уг |
. Последовательность наборов называется допустимой |
||
для ГСА |
при |
заданном распределении сдвигов, |
если всякий набор |
Д,„ „,, либо совпадает с набором А__ либо отличается от него только значениями переменных из множества Biq.
ГСА Г х и Гп равносильны при данном распределении сдвигов
(Гх = |
Г 2), если для |
всякой последовательности наборов, допустимой |
для ГСА Г х или Г 2 |
при этом распределении сдвигов, значения этих |
|
ГСА совпадают [4]. |
|
|
1 |
Этот вопрос подробно разбирается в седьмой главе. |
57
Описание работы дискретного устройства с помощью граф-схемы алгоритмов поясним на примере рис. 4-3. Приведенная ГСАГимеет одну начальную, одну конечную, 16 условных и 11 операторных вер шин. Так как для этой граф-схемы X = (х'ъ . . . , ,v8), Y — [ух...........
г/0}, то у соответствующего дискретного устройства должно быть 8 входных и 9 выходных каналов, т. е. предполагается, что для каждой
микрооперации |
имеется выходной канал. |
В общем случае, если число |
|||
микроопераций |
равно N, т. е. |
У = {ylt |
. . . . |
уп...........yN}, то каж |
|
дому оператору Yt = \уп , . . |
. , у(и, . |
. . , уш \, |
представляющему |
||
подмножество множества микроопераций |
Yt С |
Y, |
соответствует век |
торный выходной сигнал (ylt . . . , уп, . . . , yN), компоненты которого определяются следующим образом:
если yn ^ Y t\
если уп (£ У,, п = 1, . . . , N.
В частности, оператору У0 соответствует выходной сигнал, у ко
торого для всех п = 1, . . . , N |
уп |
= 0 (уг = . . . — |
yN = 0). Для |
простоты в случае выполнения оператора Y, будем говорить, что вы |
|||
даются выходные сигналы уп , |
, |
yt,„ ■■■, Уш, т. |
е. будем пере |
числять лишь те компоненты, которые в соответствующем структур ном выходном сигнале принимают значение единицы. Используя такое допущение, можно сказать, что при выполнении оператора У0 выход ные сигналы не выдаются.
Начальной вершине ГСА соответствует некоторое начальное со стояние дискретного устройства, при котором выполняется оператор У0. Если теперь идти из начальной вершины по граф-схеме в направ лении ориентации дуг графа, выписывая при выходе из условной вер шины по «1» логическое условие, стоящее в этой вершине, а при вы
ходе по «0» — его отрицание, то, |
пройдя путь хъ мы придем к опера |
||||
торной |
вершине, |
в которой записан оператор |
Y 1 — [ylt г/2), путь |
||
XiXgX-2 |
У2 = |
Уз\' х-^ХдХ* |
или Xi-Vß.iy |
У.} |
-—{у7 , Уд\, ХіХ^х^х? |
—Ys = (Уі , г/зЬ x^gXgXi — У8 = \Уъ Ув)1- -
Этому соответствует следующая работа дискретного устройства.
Если в начальном состоянии на вход х х придет сигнал, равный еди нице (хх = 1), то независимо от сигналов на остальных входных ка налах устройство перейдет в некоторое новое состояние и на первом и втором выходных каналах появятся сигналы, равные единице (г/х= = у 2 = 1), а на остальных выходных каналах — сигналы, равные нулю. Согласно принятому выше допущению можно сказать, что уст ройство выдаст выходные сигналы у г, у 2, т. е. будет выполнен опера тор Y 2 . Таким образом, а 0 1 = x lt т. е. равняется конъюнкции содер жимого условных вершин, лежащих на пути между вершинами У0 и
1 Здесь для краткости операторные вершины |
отождествлены с записанными |
||
в них операторами. Кроме того, предполагается, |
что вершина В следует за вер |
||
шиной А или |
что вершина, А предшествует вершине |
В, если на граф-схеме |
|
имеется дуга, |
идущая от выхода вершины А ко входу |
вершины В. |
58
Уг (с учетом выходов по «1» и «О»), Аналогично а 0, = х ^ Х о , а оі =
= |
Xj^XgX-2 V XiXexit а 09 = |
a os = x 1XßXix7, |
a 03 |
= |
a oi = a 06 — |
||
= |
a 07 = |
« o . i o = a o . n = |
0 . |
|
|
|
|
|
Остановимся еще на двух частных случаях соответствия между |
||||||
функциями перехода и путями в граф-схеме: |
|
|
следует опе |
||||
|
1. После операторной вершины |
Уъ непосредственно |
|||||
раторная |
вершина П10. |
Поскольку |
путь между |
У5 и |
У1 0 содержит |
пустое множество условных вершин, а конъюнкция пустого множества
логических переменных равна единице, |
то а 5Л0 = 1. |
2. После операторной вершины У10 |
стоит условная вершина, один |
из выходов которой соединен с ее входом. Будем называть такие ус
ловные вершины возвратными. Между У 10 |
и Уіг есть два пути, |
в связи |
|
с чем а 10Л, = «j011 V а Іо.п = % V W |
* = |
Так как ло’ |
|
гическое условие а ^ ,,, соответствующее второму |
пути, равно |
нулю, |
а 10И фактически определяется только первым путем, поэтому в даль
нейшем будем учитывать лишь те пути через возвратную вершину, которые проходят через выход, не соединенный с ее входом, и будем считать, что на рис. 4-3 имеется один путь вида (4-1) из вершины У10 в вершину 7 ц .
Очевидно также, что после |
оператора У1 0 не может выполниться |
|
никакой оператор, до тех пор |
пока х 3 |
не примет значение единицы, |
т. е. с помощью возвратной |
вершины |
можно описывать ожидание |
в работе дискретных устройств. В связи с этим будем иногда называть возвратную вершину ждущей вершиной.
4-3. Содержательные граф-схемы алгоритмов
Обычно при проектировании различных устройств предварительно составляется так называемая содержательная граф-схема алгоритма, в которой внутри условных и операторных вершин записаны не эле менты множеств X и У, а логические условия и микрооперации в со держательных терминах.
В качестве примера рассмотрим алгоритм выполнения операции
деления в арифметическом устройстве (АУ) параллельного |
действия |
||
с фиксированной запятой. |
АУ содержит накапливающий |
сумматор |
|
(Б), на котором до |
начала |
операции находится делимое, |
регистр Z |
(делитель) и регистр |
У ■— на нем после завершения операции полу |
чается частное. Проследим выполнение операции деления по содержа тельной граф-схеме, изображенной на рис. 4-4.
В начале операции определяется знак -Частного. Если знаки дели мого и делителя не совпадают (sign Z Ф sign 2), в знаковый разряд результата (sign У) записывается единица — частное отрицательно. Если знаки совпадают, то это действие пропускается. Далее сбрасы
ваются регистр |
У, счетчик тактов (СТ) и знаковые разряды регистра |
Z и сумматора. |
Затем, если знак сумматора равен нулю (вначале он |
всегда равен нулю, так как в предыдущей микрокоманде его сбро сили),из делимого вычитается делитель, для чего на сумматор подается обратный код регистра Z (Б : = Е + Zo6p). Если на первом такте
59
(CT = 0) после вычитания на сумматоре оказывается положительное число (sign 2 = 0), то делимое больше делителя, т. е. имеет место пе реполнение, и после записи единицы в триггер переполнения (ТП : — != 1) операция прекращается. Если же sign 2 = 1, то наращивается счетчик тактов (СТ: = СТ-|- 1), сумматор и регистр Y сдвигаются
Рис. 4-4. |
СодержательнаяГСА |
Рис. |
4-5. |
ГСА операции |
|
операции |
деления |
|
|
деления |
|
на 1 разряд |
влево |
(2: = L1 (2); Y : = |
L1 (V)) |
и |
начинается второй |
такт. Если после вычитания на некотором такте на сумматоре оказы вается отрицательное число, то на следующем такте вместо вычитания содержимого регистра Z из содержимого сумматора производится их сложение (2: = 2 + Z), т. е. реализуется .операция деления без вос становления остатка. Если на некотором такте, кроме первого, после вычитания на сумматоре получается положительное число (sign 2 = = 0), то в младший п-й разряд результата записывается единица (Y [п] := 1). По прошествии п тактов (СТ = п) операция заканчи вается. Результат деления записан в регистре Y.
60
После построения содержательной ГСА логические условия и мик рооперации кодируются символами Х; xL и Уі >
у ■■■■> Ум соответственно:
Условные вершины
А'і : sign Z = sign 2, x2 : sign 2 = 1,
А'з : CT = 0, x., : CT = n
Операторные вершины
Уі ■sign Y : = 1, y * : Y : = 0,
Уз : CT : = 0, y4 : signZ : = 0, !/&■sign 2 : = 0, ya : 2 : = 2 + Z ,
y7 : 2 : — 2 + Zo6p,
Уа : Y [n ) : = 1, y9 : CT : = t T + l , Ую ■2 : = L i (2),
Уп : Y - ^ L ^ Y ) ,
Уп : ТП : = 1
При таком кодировании вершин содержательной ГСА, приведен ной на рис. 4-4, получим ГСА, изображенную на рис. 4-5.
4-4. Логические схемы алгоритмов
Для задания алгоритмов при программировании на ЦВМ А. А. Ля пунов предложил записывать их в виде конечной строчки, состоя
щей из символов операторов, логических условий и верхних и ниж-
і І
них стрелок, которым приписаны натуральные числа ( ] , I ; і = 1, 2, . . .) [12]. Такая запись алгоритма носит название логической схемы алгоритма (ЛСА). Рассматриваемые ниже ЛСА удовлетворяют следующим условиям:
1.Содержат один начальный (Ун) и один конечный оператор (Ук);
2.Перед оператором Y tt и после оператора Ук стрелок быть не должно.
3.Вслед за каждым логическим условием всегда стоит верхняя
стрелка.
4. Не существует двух одинаковых (с одинаковыми цифрами) ниж них стрелок.
І
5.Для каждой нижней стрелки .|. должна быть по крайней мере одна верхняя стрелка.
6.Для каждой верхней стрелки должна быть точно одна нижняя
стрелка.
Вопросы равносильных преобразований ЛСА были исследованы Ю. И. Яновым [24]. Использование ЛСА для описания работы дис кретных устройств получило широкое развитие в работах В. Г. Лаза
рева и его учеников [8 ]. |
как и в случае граф- |
||||
Множество операторов и логических условий, |
|||||
схем алгоритмов, |
обозначим соответственно через |
Y = |
[У-!, . . . , Y T} |
||
и X — {*!, . . . , |
Хі]. |
Описание поведения дискретного |
устройства |
||
с помощью ЛСА поясним на следующем примере: |
|
|
|
||
|
Y „Ai t Уі і а2 t Y 2Ys ! Y 4 Y k. |
|
|
(4-2) |
|
Эта ЛСА имеет операторы начала и конца (Ун и Ук), |
четыре опера |
||||
тора (У4 — У4) |
и два |
логических условия. Начальному |
оператору |
61
соответствует некоторое начальное состояние дискретного устройства, при котором никакие выходные сигналы не выдаются. Если в началь ном состоянии на вход х4 устройства придет сигнал, равный единице (х4 = 1), то устройство перейдет в некоторое новое состояние, в кото
ром выполняется оператор 1 У4 — первый справа после логического
1
условия х 1. Если х4 = 0, то выходим по верхней стрелке f и ищем
1
нижнюю стрелку с той же цифрой ( I ). После нее стоит логическое ус-
2
ловие д'., со стрелкой f , за ней—операторы У4, Y 3, а вслед за нижней
Рис. 4-6. ГСА, равносильная ЛСА (4-2)
2
стрелкой I —оператор У4. В смысле поведения устройства такое описание интерпретируется следую
щим образом. Если х 1 — 0 и х2 = 1 (х4х2 = 1), то устройство из начального переходит в некоторое новое
|
|
1 |
1 |
2 |
состояние с выдачей оператора У„ (х4 t . . . |
I |
л'2 | |
||
Yo), а если х ^ О |
и х, = 0 |
(х1х« = 0), то |
выдается |
|
1 |
1 “ 2 |
2 |
выполне |
|
оператор У4(хх і |
. . . !• х2 г . . . \ У4). После |
|||
ния оператора И., |
независимо от значений логических |
условий выполняется стоящий справа от У.2 опера тор У3, затем У4 и т. д. Очевидно, что приведенная ЛСА описывает работу устройства точно так же, как и ГСА на рис. 4-6.
При задании ЛСА оказывается удобным |
исполь |
|||
зовать логические |
условия, |
тождественно |
равные |
|
нулю — всегда ложные |
логические условия. Их |
|||
обычно обозначают |
через |
со. |
Применение |
логичес |
кого условия со поясним на примере ЛСА: |
|
|||
. . . У2со ! I У3 . . . ! Y, . . . |
(4-3) |
Так как со = 0, после оператора У2 всегда выполняется оператор
/
Yt, а переход к У3 возможен только по стрелке f .
Очевидно, |
что в ЛСА можно ввести понятие путей между опера |
|||
торами, аналогичное путям вида (4-1) |
в ГСА, и функций перехода а ц |
|||
из оператора |
У£ к оператору У/. Так, |
в ЛСА (4-2): а 01 |
= |
х4; а 02 = |
= х4х2; cXq4 |
XjXо, а 12 х2, сс44 = х2, сзс23 = сс34 = ос4к |
= |
1, осталь |
ные функции перехода равны нулю. Понятия значения ЛСА на допу стимой последовательности наборов, распределения сдвигов и равно сильности логических схем алгоритмов будем понимать точно так же, как и подобные понятия для ГСА, введенные в § 4-2.
Изложим алгоритм перехода от ГСА к ЛСА на примере граф-схемы, изобра женной на рис. 4-7.
1.Входы всех вершин ГСА (условных и операторных), к которым подхо
более одной стрелки, а также вход конечной вершины, даже если к ней подхо
1 При описании работы устройства на языке ЛСА под оператором, как и в случае ГСА, понимается множество микроопераций, выполняемых в устройстве одновременно.
62
дит только одна стрелка, отмечаем символами 1 |
s. В ГСА на рис. 4-7 |
s = 9.
2.Записываем оператор Ун, соответствующий начальной вершине ГСА.
3.Если вход вершины, следующий за начальной, отмечен символом / в п. 1,
то после оператора У„ ставим нижнюю стрелку ф. В рассматриваемом примере
этого нет.
4. Если за начальной вершиной ГСА следует операторная вершина, в ко торой записан оператор Y(, то справа к У„ приписываем У/. Если же за началь ной вершиной следует условная вершина, в которой записано логическое усло-
Рис. 4-7. Иллюстрация перехода от ГСА к ЛСА
вне хт, то справа к Уп приписываем хт. Справа от хт ставим верхнюю стрелку, над которой записываем і, если вход вершины, следующей за рассматриваемой условной вершиной по выходу «О», отмечен меткой і. Если такой метки нет, то
справа от хт ставим просто верхнюю стрелку. В нашем примере имеем: Упх1'|'. 5. Если в п. 4 рассматривалась операторная вершина и вход следующей
за ней вершины отмечен в п. 1 символом р, то вслед за У; ставим нижнюю стрелку
р
ф, после которой записываем содержимое вершины, следующей за операторной вершиной с оператором У/. Если в п. 4 рассматривалась условная вершина с ло
гическим условием хт, то после ее верхней стрелки записываем нижнюю стрелку
р
ф, если вход вершины, следующей за этой условной вершиной по выходу «1», отмечен символом р. В противном случае нижняя стрелка не ставится. После этого справа к xmf приписываем содержимое вершины, следующей за рассмат риваемой условной вершиной по выходу «1». В нашем примере имеем:
УпХі і Уѵ
6. Продолжаем аналогичным образом до тех пор, пока:
63
s
а) после некоторого оператора Y ( не окажется нижняя стрелка ф, где s — от метка конечной вершимы. Тогда после У; ставится ложное логическое условие
S
со с верхней стрелкой s: . . . У^шф;
ч
б) после некоторого оператора Y t не окажется нижняя стрелка ф, такая, что
<1
слева от нее на каком-либо месте в этой строчке уже есть инжияя стрелка ф.
<?
Тогда нижняя стрелка ф после Yt убирается, а вместо нее ставится тождественно
|
|
<7 |
<7 |
ложное логическое условие со с верхней стрелкой f(cof); |
|||
в) |
в этой строчке после некоторого логического условия хт со своей верх- |
||
ней стрелкой |
S |
|
|
не окажется нижняя стрелка ф, где s — отметка конечной вер |
|||
шины. |
Тогда |
после л-,,,! ставится тождественно ложное логическое условие со |
|
с верхней стрелкой s: |
|
||
|
|
f ^ [ I |
|
г) |
в этой строчке после некоторого логического условия хт со своей верх- |
||
|
|
17 |
|
ней стрелкой (хт^) не окажется нижняя стрелка ф (это означает, что в ГСА за ус ловной вершиной, в которой записано это хт, по выходу «1» следует вершина,
вход которой отмечен символом q), |
а слева от хт в этой строчке уже есть ннж- |
17 |
<7 |
няя стрелка ф. Тогда нижняя стрелка ф после хт^ убирается, а вместо нее запи-
'7
сывается тождественно ложное условие со с верхней стрелкой фч
<7
• ■ ■хт f со j .
В нашем примере написание первой строчки закончилось после того, как
1
вслед за У7 оказалась нижняя стрелка ф, для которой ранее уже была нижняя стрелка (см. условие «б»):
1 |
8 4 |
2 |
5 6 |
8 |
1 |
УНЛ'і І УI |
! А'з [ Х2 \ X-J J |
|
ф YЗ.ѵ8 I |
фХх і IУ7 ф. |
. После записи іо вслед за У7 с верхней стрелкой f получим:
|
1 |
8 4 2 5 |
6 8 |
1 |
•(4- |
|
УіЛ I Уі J |
хз t Х2Ii J Уз-'s t |
J -'-Tt |
ФУ710 I |
|
7. |
Над первой слева верхней стрелкой без цифры в ЛСА (4-4) |
записываем |
|||
число s + 1 , где s — наибольший |
номер отметки |
в п. 1 : |
|
||
|
|
ю |
|
|
|
|
Унл'і і Уі • • • |
s+ 1 |
|
|
|
8. |
|
|
вслед за которой запи |
||
Начинаем новую строчку с нижней стрелки ф , |
сываем содержимое вершины, следующей по выходу «О» за условной вершиной
с логическим условием х г (над стрелкой после х х мы записали s + |
1 = 10): |
|||||||
|
|
|
|
10 |
|
|
|
|
9. Продолжаем далее, так же как при построении первой строчки, с той |
||||||||
лишь разницей, что условия п. |
6 проверяются по всем построенным ранее строч |
|||||||
кам., В результате получим шесть строчек: |
|
|
|
|
||||
10 |
І_ |
11 |
12 |
8 4 |
2 5 |
6 8 |
1 |
|
УнА-'і t |
У Л -Kst |
*Л |
*7 Т j |
УЗ.ѵ8н |
*1 f фУ7со f , |
(4-5) |
64
10 |
13 |
'3 |
1 |
i |
-v-Gt |
-v2t |
Y 2co f > |
|
11 |
2 |
‘1 |
|
|
1 х2f со f , |
|
||
12 |
86 |
14 |
9 |
|
1 У0.V0t U-7 t |
У0ш t . |
|||
13 |
6 3 |
5 |
|
|
1 |
ПУ., cot, |
|
||
|
14 |
CO |
9 |
|
|
>— |
—Ч |
|
|
|
|
3 |
|
|
(4-6)
(4-7)
(4-8)
(4-9)
(4-10)
Первая, вторая и пятая строчки обрываются после выполнения условия 66,
третья — условия 6г, а четвертая |
и шестая — 6а. |
10. После выполнения п. 9 оказалось, что больше нет иенадписанных верх |
|
них стрелок. Находим такое г (I к |
г < s, где s — число отметок на ГСА в п. 1), |
|
г |
что в построенных строчках пет нижней стрелки ф. После этого строим новую
г
строчку, начинающуюся со стрелки ф, вслед за которой записано содержимое вер шины, отмеченной символом г. В нашем примере г = 2 и 7:
2 з
1 х.і f щ I .
11. Продолжая далее как и выше, получаем еще две строчки:
|
2 |
15 |
з |
|
|
|
|
U „ t |
cot, |
|
|
(4-П) |
|
15 |
5 |
7 |
7 |
8 |
5 |
|
Л -Л П Л о U 3 U 4t y u m t. |
(4-12) |
|||||
|
|
|
|
|
|
s |
12. Последняя строчка для любой граф-схемы состоит из нижней стрелки где s — отметка конечной вершины, и символа конечного оператора. В нашем примере:
|
|
|
|
|
|
|
|
I |
Ук- |
|
|
|
|
|
|
(4-13) |
|
|
13. Строчки (4-5) |
— (4-13) записываем |
|
в одну строчку |
таким |
образом,что |
|||||||||||
вначале стоит |
|
первая |
строчка |
(4-5), в конце — последняя |
(4-13), аостальные |
||||||||||||
располагаются в произвольном порядке1: |
|
|
|
|
|
|
|
|
|||||||||
|
10 |
1 |
11 |
12 |
|
8 4 |
|
2 5 |
6 8 |
1 |
10 |
13 |
3 |
1 |
|
|
|
Ун*1 t |
УЛ Х 3 t |
*2 f |
*7 N |
У3*8 f U |
l t |
I У7“ |
f I *G f |
*2 t УоМ t |
|
|
|||||||
|
|
|
|
11 |
|
2 |
. 4 12 |
8 6 14 |
|
|
9 13 |
G3 |
5 14 |
9 2 15 |
3 |
||
|
|
|
|
i |
X21 Ш11 |
У0*6 f U 71 y 9co f I |
t I У4С0 tI |
y 8w f |
U 41 |
COt |
|||||||
15 |
5 |
7 |
|
7 |
8 |
|
5 9 |
|
|
|
|
|
|
|
|
|
|
i |
*5 t Ув^іо I *at xi t УцСО f 1 Ук- |
|
|
|
|
|
|
|
(4-14) |
Из самого способа построения ЛСА видно, что она равносильна ГСА па рис. 4-7. Нетрудно также показать, что число операторов и логических условий (без тождественно ложных) в построенной таким образом ЛСА совпадает соот ветственно с числом операторных и условных вершин в исходной граф-схеме.
Алгоритм перехода от ЛСА к ГСА..очевиден. Соответствующая ГСА имеет одну начальную и 1 конечную вершины, число ее операторных вершин равно
1 Окончательная ЛСА занимает три строчки лишь потому, что она не поме стилась в одну строчку.
65
числу операторов в ЛСА, а число условных вершин — числу логических усло вии в ЛСА (без учета тождественно ложных). Выход начальной вершины ГСА соединяется дугой со входом вершины, соответствующей в ЛСА ближайшему справа от У„ оператору или логическому условию. Аналогично в граф-схеме проводятся дуги из операторных вершин. Единичный выход из условной вер шины в ГСА, соответствующей в ЛСА логическому условию хт< соединяется со входом вершины, соответствующей ближайшему справа от хт оператору или логическому условию. Если после логического условия хт в ЛСА стоит-верхняя
стрелка ф, то нулевой выход условной вершины, соответствующей хт, соеди няется со входом вершины, соответствующей оператору или логическому усло
вию, перед которыми стоит нижняя стрелка ф. Если после оператора Y t в ЛСА
стоит тождественно ложное логическое условие (о с верхней стрелкой і (шф), то выход операторной вершины, соответствующей Yt, соединяется со входом вершины, которая соответствует оператору или логическому условию, стоящему
после нижней стрелки ф. Точно так же если после логического условия хт со
своей стрелкой (д'т ф) стоит соф, то единичный выход условной вершины, соот ветствующей хт, соединяется со входом вершины, которая соответствует опера
тору пли логическому условию, стоящему после нижней стрелки ф.
Если от ЛСА (4-14) перейти к ГСА, то получим граф-схему на рис. 4-7.
4-5. Формулы перехода |
|
|
|
|
Тот факт, что от любого оператора Y t |
возможен переход к некото |
|||
рым операторам из множества (У), |
. . . , |
У., . . . , Уг+1], молено опи |
||
сать с помощью выражения: |
|
|
|
|
где а,у — функция |
перехода от У,- |
к У;- — булева функция перемен |
||
ных х х, . . . , xL; |
aijYj — отмеченная булева функция. |
|||
Отмеченная функция |
|
|
|
|
|
'Yj, |
если |
ос,у= 1; |
|
|
0, |
если |
а,у = 0. |
Над логическими функциями, входящими в отмеченные функции, можно производить все преобразования алгебры логики. В работе [20] определены правила, которые совместно с полной системой ак сиом алгебры логики образуют систему правил тождественного преоб разования отмеченных функций:
1. ( a V ß J ^ o r t W ß ^ .
2. а &Y№ ¥ , = <* фУЫуУ,).
3. |
Если а = ß (а эквивалентно ß), то а У, = ßy,-. В этих выраже |
ниях а, ß и у — булевы функции переменных х х, . . . , xL. |
|
Формулы вида (4-15) носят названия формул перехода для опера |
|
тора |
YI. Множество формул перехода для всех і — 0, 1...........Т об- |
66