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

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

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

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

Добавлен: 23.10.2024

Просмотров: 109

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Глава четвертая

ГРАФ-СХЕМЫ АЛГОРИТМОВ

4 -1. Микропрограммы работы дискретных устройств

При описании работы широкого класса дискретных систем автома­ тики, вычислительной техники и телефонии в большинстве случаев оказывается удобным представить эти системы в виде двух частей: операционного устройства и устройства управления. Так, в вычисли­ тельной машине к операционному устройству относят блоки памяти, регистры, сумматоры, каналы передачи информации, шифраторы и дешифраторы, а к устройству управления — ту часть машины, кото­ рая, координируя действия всех перечисленных устройств, определяет последовательность переработки информации. Задачей устройства управления является, таким образом, выработка распределенной во времени последовательности управляющих сигналов, под воздейст­ вием которых в операционном устройстве осуществляется некоторая операция. Иногда целесообразно многоступенчатое представление дискретной системы. Так, в одних случаях, например при. проектиро­ вании центрального устройства управления ЦВМ, арифметическое устройство (АУ) в целом рассматривается как часть операционного устройства, тогда как при проектировании самого АУ в нем выде­ ляется свой автомат управления, а к операционной части АУ отно­ сятся его регистры, сумматор, регистр кодов арифметических опера­ ций и счетчик сдвигов.

Задача синтеза операционных устройств вследствие их регуляр­ ности и большой повторяемости в настоящее время хорошо изучена и не представляет серьезных трудностей. Иначе обстоит дело с уст­ ройством управления, которое является наименее регулярной частью дискретной системы и совершенно не повторяется при переходе от од­ ной системы к другой. В связи с этим проектирование устройства уп­ равления представляет наибольшую сложность и, более того, часто проектирование системы после выбора основных частей операцион­ ного устройства сводится, в основном, к проектированию устройства управления.

Порядок выполнения операций в дискретном устройстве опреде­ ляется микропрограммой, представляющей собор совокупность мик­ роопераций и логическихусловий. Под микрооперацией мы будем понимать элементарный процесс переработки информации в дискрет­ ной системе или какой-либо ее части, происходящий за время одного такта работы автомата (промежуток между двумя последовательными моментами дискретного автоматного времени) [7]. Для выполнения той или иной микрооперации устройство управления должно выраба­ тывать управляющие сигналы, которые будем называть сигналами микроопераций и обозначать строчными буквами с индексами: y lt . . . , уп, . . . , yN. Если в устройстве одновременно реализуется несколько микроопераций, то это множество микроопераций назовем микроко­ мандой и будем обозначать прописной буквой Y с индексами. Так, если Y t = \уп , . . . , уш, . . . , уш ] — микрокоманда, то микроопе-

53


рации уп , . . . , уи,, ■■■, ijtu выполняются одновременно в один и тот же момент автоматного времени. При U — 1 микрокоманда Y, со­ стоит из одной микрооперации. Не исключен случай U = О, когда множество микроопераций, образующих микрокоманду, пусто. Микро­ команду, состоящую из пустого множества микроопераций, будем обо­ значать символом Y 0. Реализация такой микрокоманды равносильна отсутствию выполнения каких-либо элементарных операций. В слу­ чае синхронных дискретных устройств микрокоманду К0 удобно ин­ терпретировать как пропуск такта, когда не поступают никакие сиг­ налы от устройства управления к операционному устройству.

Выполнение микропрограммы состоит в последовательном выпол­ нении отдельных микрокоманд. Эта последовательность определяется

булевыми

функциями а,-,- множества двоичных переменных X =

= {л*!,

Xj, . . . , xL\, поступающих на вход устройства управле­

ния. Если в микропрограмме все микрокоманды различны (а если это не так, то их всегда можно перенумеровать), то каждой паре микро­ команд К,-, Yj (не исключен случай і = у) соответствует функция сс,-,-, равенство единице которой разрешает выполнение микрокоманды Y; после завершения выполнения микрокоманды У). Очевидно, что среди множества функций а п , . . . ,- <xiR (R — число различных микроко­ манд в микропрограмме) в каждый момент времени не может быть бо­ лее одной, равной единице. В противном случае процесс реализации микропрограммы не был бы детерминированным, т. е. нельзя было бы с определенностью сказать, какая из микрокоманд будет выполняться в следующий момент времени после микрокоманды Yt.

Для записи микропрограмм работы дискретных устройств будем использовать язьік граф-схем алгоритмов и логических схем алго­ ритмов.

4-2. Граф-схемы алгоритмов

Граф-схема алгоритма (ГСА) — ориентированный связный граф, содержащий вершины четырех типов: начальную, конечную, опера­ торную и условную (рис. 4-1).

Конечная, операторная и условная вершины имеют по одному входу, начальная вершина входов не имеет. Начальная и операторные вершины имеют по одному выходу, а условная — два выхода, поме­ ченных символами 1 и 0. Конечная вершина выходов не имеет. ГСА удовлетворяет следующим условиям:

1. Содержит конечное число вершин, каждая из которых принад­ лежит одному из перечисленных выше типов.

2.Имеет одну начальную и одну конечную вершины.

3.Входы и выходы вершин соединяются друг с другом с помощью дуг, направленных всегда от выхода ко входу.

4.Каждый выход соединен только с одним входом.

5.Любой вход соединяется по крайней мере с одним выходом.

6.Для любой вершины графа существует по крайней мере один путь из этой вершины к конечной вершине.

54


7.Один из выходов условной вершины может соединяться с ее входом, что недопустимо для операторной вершины.

8.В каждой условной вершине записывается один из элементов множества X = {хг, . . . , xh . . . , xL), называемого множеством ло­ гических условий. Разрешается в различных условных вершинах за­ пись одинаковых элементов множества X.

9.В каждой операторной вершине записывается оператор (микро­

команда)

Y t

— подмножество множества Y =

\ух,

. . . , уп, . . . , yN],

называемого

множеством

микроопераций1:

 

 

 

Y {

I Уіі> ■• ■> УіиI

■• ■! Уіи}’ Уіи

^

1

U •

При

U = 0 Yt = 0 ,

что допустимо. Разрешается

также запись

в различных операторных вершинах одинаковых подмножеств мно­ жества микроопераций.

При большом числе дуг, приходящих на один вход вершины, на­ глядность графического изображения может потеряться, в связи с чем позволим изображать дуги, входящие в вершины, так, как показано на рис. 4-2.

 

 

 

О

Рис. 4-1.

Вершимы ГСА

Рис. 4-2. Допустимое изображение

 

 

 

вершин ГСА

Пример ГСА,

содержащей

16 условных и 11

операторных вершин,

приведен на рис. 4-3.

 

 

Предположим, что в операторных вершинах

ГСА записаны опера­

торы Уф, . . . , Y т— все разные, так что операторную вершину можно отождествить с записанным в ней оператором. Начальной вершине

поставим в соответствие оператор

У0, а конечный — Уг+1. Пусть в

ГСА имеется путь из вершины

Уг (і. — 0,

1,

. . . , Т)

в вершину У;-

(/ = 1, . . . ,

Т + 1) вида

 

 

 

 

 

 

 

 

у іРа ■■■ Ріг

■■■ Pir Y j

 

(4-1)

проходящий только через условные вершины рп ...........piR.

 

Очевидно,

что каждому такому

пути

соответствует конъюнкция

а,.. = х?(і • • •

х \ у . . . х‘иг, тде

x.r

£

X — логическое

условие,

за­

писанное в условной вершине pir\

eir

£

(0,

1) — символ, приписан­

ный выходу

условной вершины ріг,

через

который

проходит

путь

(4-1); х\г= хіг\ х°іг = хіг.

1 Слова «микрокоманда» и «оператор» при описании .ГСА рассматриваются как синонимы. В случае содержательных граф-схем алгоритмов (см. следующий параграф) всегда будем использовать термин «микрокоманда», что чаще встре­ чается в литературе, например в [7].

55


Г-н

Если между вершинами У,- и Уу имеется несколько (например, Н)

путей,

проходящих

через условные вершины, то аі}

равно дизъюнк-

ции конъюнкций,

соответствующих всем путям, т.

е.

н

а..— V а *.,

где а'ң — конъюнкция, соответствующая /t-му пути из У;

в Уу. Назо­

вем а

функцией перехода от оператора (микрокоманды)

У£ к опера­

тору (микрокоманде) Уу.

 

 

 

Очевидно, что множество функций а .

аі.т-и

является орто-

 

 

 

 

 

Рис. 4-3. Пример ГСА

тональным (а,-уа;/; О; /г = 1............Т -|- 1) и полным V а,-у= 1 •

Полное ортогональное множество функций называют нормальным [8 ]. Всевозможные наборы значений переменных а^ и. . . , xL обозна­ чим через Др . . . , Д2і.. Определим процесс выполнения ГСА, начи­

ная с оператора У0 (начальный оператор) на произвольной бесконеч­ ной последовательности наборов Дт1, . . . , Amq, . . . следующим об­ разом1:

Выписываем оператор

У0.

1

В

дальнейшем будем

предполагать, что значения логических условии

*і, .

. . ,

Xi могут изменяться только в моменты выполнения операторов.

56