ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 23.10.2024
Просмотров: 111
Скачиваний: 0
Из |
Шаг |
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