и выходов автомата по графу алгоритма
Микропрограммным автоматом принято называть конечный автомат, реализующий микропрограмму работы дискретного устройства. Функциональными операторами микропрограммы являются управляющие сигналы из множества Y=íy1,....yný, которые отождествляются с микрооперациями, то есть каждому управляющему сигналу ставится в соответствие микрооперация. Для синтеза микропрограммных автоматов удобно использовать язык графов алгоритмов, содержащий вершины четырех типов: начальную, конечную, операторную и условную. В каждой условной вершине записывается один из элементов множества X=íx1,...xlý входных переменных. В каждой операторной вершине записывается микрокоманда Yt=íyt1,....ytкý- подмножество множества всех микроопераций Y=íy1,....yný.
При проектировании операционного устройства предварительно составляется содержательный граф алгоритма, в котором внутри условных и операторных вершин записываются не элементы множеств X и Y, а логические условия и микрооперации в содержательных терминах языка функционального микропрограммирования (Ф-языка). Этот язык позволяет описывать алгоритм, реализующий заданную микропрограмму работы операционного устройства в виде наборов микроопераций и условий. Основными элементами языка являются слова, поля и действия, обеспечивающие вычисление значений слов. Переход от содержательного графа к закодированному графу осуществляется путем установления соответствия между условиями и микрооперациями и элементами множеств X и Y.
Описание работы дискретного устройства с помощью закодированного графа рассмотрим на примере (рис.3.1). Приведенный граф имеет четыре условных и пять операторных вершин. Для этого графа X=íx1,x2,x3ý, Y=íy1,y2,y3,y4ý, поэтому у соответствующего дискретного устройства должно быть три входных и четыре выходных каналов. В устройстве реализуются пять различных микрокоманд:
1.Y0=Æ ; 2.Y1=íy1,y3ý=Y5 ; 3.Y2=íy1ý ; 4.Y3=íy12 ,y3,y4ý; 5.Y4=íy1,y3ý
начало Y0 x 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 a1 xY0 конец Рис.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 и т.д.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.