Абстрактная и структурная теории конечных автоматов. Структура операционного устройства. Способы задания автоматов, страница 15

       и выходов автомата по графу алгоритма

Микропрограммным автоматом принято называть конечный автомат, реализующий микропрограмму работы дискретного устройства. Функциональными операторами микропрограммы являются управляющие сигналы из множества Yy1,....yný, которые отождествляются с микрооперациями, то есть каждому управляющему сигналу ставится в соответствие микрооперация. Для синтеза микропрограммных автоматов удобно использовать язык графов алгоритмов, содержащий вершины четырех типов: начальную, конечную, операторную и условную. В каждой условной вершине записывается один из элементов множества Xx1,...xlý входных переменных. В каждой операторной вершине записывается  микрокоманда Ytyt1,....yý- подмножество множества всех микроопераций Yy1,....yný.

При проектировании операционного устройства предварительно составляется содержательный граф алгоритма, в котором внутри условных и операторных вершин записываются не элементы множеств X и Y, а логические условия и микрооперации в содержательных терминах языка функционального микропрограммирования (Ф-языка). Этот язык позволяет описывать алгоритм, реализующий заданную микропрограмму работы операционного устройства в виде наборов микроопераций и условий. Основными элементами языка являются слова, поля и действия, обеспечивающие вычисление значений слов.  Переход от содержательного графа к закодированному графу осуществляется путем установления соответствия между условиями и микрооперациями и элементами множеств X и Y.

Описание работы дискретного устройства с помощью закодированного графа рассмотрим на примере (рис.3.1). Приведенный граф имеет четыре условных и пять операторных вершин. Для этого графа Xx1,x2,x3ý, Yy1,y2,y3,y4ý, поэтому у соответствующего дискретного устройства должно быть три входных и четыре выходных каналов. В устройстве реализуются пять различных микрокоманд:

1.Y0=Æ ;   2.Y1y1,y3ý=Y;   3.Y2y1ý ;   4.Y3y12 ,y3,y4ý;   5.Y4y1,y3ý

 начало   Y0

a1

0                  Y1   

 x 2              y1 y3     

1                    

0                  Y2

x1x3                            y2                   x  a2

0               1     

1     Y3                                x1

Y5                   

y2y3y4              x3     0    y1 y3                  Y4

y1 y4

1                      

axY0

конец

Рис.3.1


Начальной вершине графа алгоритма соответствует некоторое начальное состояние дискретного устройства, при котором выполняется микрокоманда Y0, то есть выходные сигналы не выдаются. Если идти из начальной вершины по графу алгоритма в направлении ориентации дуг графа, выписывая при выходе из условной вершины по единице входную переменную, стоящую в одной вершине, а при выходе по нулю - отрицание этой переменной, то пройдя путь 2, прейдем к операторной вершине, в которой записана микрокоманда Y1={y1,y3}.

Этому соответствует следующая работа дискретного устройства. Если в начальном состоянии на вход x2 придет сигнал, равный нулю (x2=0), то независимо от сигналов на остальных входных каналах, устройство перейдет в некоторое новое состояние, и на первом и третьем выходных каналах появятся сигналы равные единице (y1,y3=1), а на остальных выходных каналах - сигналы, равные нулю. То есть, будет выполнена микрокоманда Y1. Обозначим логическое условие перехода от Y0 к Y1  как a01=2. Переход от Y2 к Y0 равен 1x3 (a20=1x3), то есть равняется логическому произведению условных вершин, лежащих на пути между вершинами Y2 и Y0. При этом, если выход из условной вершины по единице, то содержимое берется в прямом виде, если по нулю - в инверсном. Так как путь между Y5 и Y0 содержит пустое множество условных вершин, а логическое произведение пустого множества логических переменных равно единице, то переход a50=1. Таким образом: a03 = x2x1x3, a02 = x23, a14 = x1, a15 =13,  a25 = 13,  a30 =1 и т.д.