Файл: Баранов, С. И. Синтез микропрограммных автоматов.pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 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