Изобретение относится к вычислительной технике и может быть использовано в микропрограммных устройствах управления с жесткой логикой, например в устройствах управления быстродействующих специализированных ЭВМ. Целью изобретения является упрощение. Автомат содержит сдвиговый регистр 1, блок 2 элементов И, блок 3 элементов ИЛИ, элемент ИЛИ 4, блок 5 элементов ИЛИ. Использование единичного кодирования состояний абстрактного автомата позволяет значительно упростить структуру комбинационной части автомата при одновременном увеличении разрядности сдвигового регистра 1 до N, где N-число состояний абстрактного автомата. 5 ил.
Изобретение относится к вычислительной технике и может быть использовано в микропрограммных устройствах управления с жесткой логикой, например в устройствах управления быстродействующих специализированных ЭВМ.
Целью изобретения является упрощение автомата.
На фиг. 1 представлена структурная схема автомата; на фиг. 2 и 3 - часть микропрограммы алгоритма; на фиг. 4 - пример функциональной схемы блока элементов И, блоков элементов ИЛИ и элемента ИЛИ с комбинационной частью автомата; на фиг. 5 - временные диаграммы работы автомата.
Микропрограммный автомат (фиг. 1) содержит сдвиговый регистр 1, блок 2 элементов И, блок 3 элементов ИЛИ, элемент ИЛИ 4, блок 5 элементов ИЛИ. Входы 6
1,...,6
L автомата подключены к входам второй группы блока 2 элементов И, входы первой группы которого и входы блока 5 элементов ИЛИ соединены с информационными выходами сдвигового регистра 1. Выходы 7
1,...,7
H блока 2 элементов И соединены с соответствующими входами блока 3 элементов ИЛИ, выходы блока 5 элементов ИЛИ подключены к выходам 8
1,...,8
K автомата, выходы 9
1, . ..,9
P блока 3 элементов ИЛИ соединены с соответствующими информационными входами сдвигового регистра 1, а выходы 10
1,...,10
G блока 3 элементов ИЛИ подключены к соответствующим входам элемента ИЛИ 4, выход 11 которого соединен с первым входом режима сдвигового регистра 1. Тактовый вход, вход сброса, последовательный информационный вход и второй вход режима сдвигового регистра 1 подключены соответственно к входам 12, 13, 14, 15 автомата.
Микропрограмма алгоритма (фиг. 2) представлена четырьмя операторными вершинами с соответствующими управляющими сигналами Y
K, Y
K+1, Y
K+2 и двумя условными вершинами с соответствующими сигналами

, где переменные

,

могут принимать одно из двух состояний: "0" и "1" и обозначаться соответственно

X
l, 
, X
l+1.
На фиг. 3 показан граф автомата Мура для представленной на фиг. 2 микропрограммы. В вершины графа вписаны соответствующие состояния a
i,...,a
i+3 автомата Мура и управляющие сигналы Y
k,...,Y
k+2. В начале стрелок записаны условия перехода.
Блок 2 элементов И (фиг. 4) содержит пять элементов И 16,..., 20, причем первые входы элементов И 16, 17 подключены к (i+1)-у выходу Q
i+1, а первые входы элементов И 18, 19, 20 - к (i+3)-у выходу Q
i+3 сдвигового регистра 1. Вторые входы элементов И 16, 17, 18 подключены к входам 6
1, 6
2, 6
3, на которые поступают сигналы X
l,

соответственно, а вторые и третьи входы элементов И 19, 20 соединены с входами 6
1, 6
2 и 6
4соответственно, на которые поступают сигналы X
l,

и X
l+1. Выходы элементов И 16,...,20 подключены к выходам 7
1,...,7
5 соответственно. Блок 3 элементов ИЛИ содержит шесть элементов ИЛИ 21, 26, причем выход 7
1 подключен к первому инверсному входу элемента ИЛИ 21 и первому входу элемента ИЛИ 24, выход 7
2 - к второму инверсному входу элемента ИЛИ 21 и первому входу элемента ИЛИ 23, выход 7
3 - к первому инверсному входу элемента ИЛИ 22 и первому входу элемента ИЛИ 25, выход 7
4 - к второму инверсному входу элемента ИЛИ 22 и второму входу элемента ИЛИ 24, выход 7
5 - к второму входу элемента ИЛИ 23. Второй вход элемента ИЛИ 25 соединен с выходом элемента ИЛИ 21, а входы элемента ИЛИ 26 - с выходами элементов ИЛИ 22, 23. Выходы элементов ИЛИ 25, 24, 26 подключены к выходам 9
1, 9
2, 9
3, а выходы элементов ИЛИ 23, 24 и первый вход элемента ИЛИ 25 соединены соответственно с выходами 10
1, 10
2 и 10
3. Элемент ИЛИ 4 содержит элемент ИЛИ 27, входы которого подключены к выходам 10
1, 10
2, 10
3, а выход - к выходу 11. Блок 5 элементов ИЛИ содержит элемент ИЛИ 28, входы которого подключены к i-у и (i + 2 ) - y выходам Q
i и Q
i+2сдвигового регистра 1, а выход - к выходу 8
1, выходы 8
2 и 8
3 соединены с (i+1)-м и (i+3)-м выходами Q
i+1 и Q
i+3 сдвигового регистра 1.
Автомат работает следующим образом.
В связи с тем, что кодирование состояний автомата Мура реализуется следующим образом: a
i - 0...10000...0, a
i+1 - 0...01000...0, a
i+2 - 0...00100...0, a
i+3 - 0...00010...0, в процессе работы в каждом такте необходимо выполнить сдвиг информации в сдвиговом регистре 1 на один разряд в сторону старших разрядов таким образом, что за время выполнения алгоритма, представленного соответствующей линейной микропрограммой, единица, предварительно зафиксированная в первом разряде сдвигового регистра 1, последовательно проходит через все разряды N сдвигового регистра. Таким образом, в сдвиговом регистре осуществляется сдвиг единичного кода вида 0...010...0. Количество разрядов N сдвигового регистра 1 определяется максимальным числом неповторяющихся состояний автомата Мура, реализуемым на линейной цепи граф-схемы автомата (фиг. 3). Поскольку все вершины граф-автомата могут быть объединены в три линейные цепи: C
1 = {a
i, a
i+1, a
i+2}, C
2 = {a
i, a
i+1, a
i+3, a
i+3, a
i+2}, C
3 = {a
i,a
i+1,a
i+3, a
i+3, a
i+1, a
i+2} и линейная цепь C
3 содержит максимальное количество операторных вершин и переходов, то N = 4. Выходами линейных цепей являются операторные вершины a
i+1 и a
i+3, а входами - a
i+2, a
i+3, a
i+1. На любом переходе, принадлежащем линейной цепи, а также при условии, что состояния линейной цепи следуют одно за другим в порядке возрастания индексов состояний, т.е. в виде a
i, a
i+1...., a
i+j,..., где j = 0, 1, 2, 3,..., код нового состояния автомата Мура образуется путем сдвига текущего состояния на один разряд в сторону старших разрядов сдвигового регистра 1. Во всех остальных условиях, а также при переходах между выходами и входами линейных цепей и автомата Мура выполняются параллельная засылка кода нового состояния и стирание кода текущего состояния в сдвиговом регистре 1 путем возбуждения информационных входов D
i,...,D
i+3. Таким образом, элемент ИЛИ 4 задействован в обоих случаях, поскольку формирует управляющий сигнал сдвига в сторону старших разрядов сдвигового регистра 1 и сигнал разрешения записи по параллельным информационным входам сдвигового регистра, а блок 3 элементов ИЛИ - только во втором случае, поскольку формирует сигнал установки в единичное состояние и сигнал обнуления соответствующих разрядов сдвигового регистра 1.
Таким образом, блок 2 элементов И является преобразователем кодов состояний сдвигового регистра 1 и входных сигналов автомата в сигналы возбуждения. Блок 3 элементов ИЛИ осуществляет формирование сигналов сброса в "ноль" и установки в "единицу" разрядов сдвигового регистра 1. Элемент ИЛИ 4 формирует сигналы разрешения записи (S1=1) или сдвига (S1=0) содержимого сдвигового регистра. Блок 5 элементов ИЛИ формирует выходные сигналы автомата.
Перед началом работы автомата происходит обнуление сдвигового регистра 1 по сигналу, поступающему на вход 13, а начальным состоянием сдвигового регистра является такое состояние, когда присутствует единичный сигнал Q
1 на выходе первого разряда сдвигового регистра. Установка в начальное состояние выполняется с приходом тактового сигнала и при наличии единичных сигналов на входах 14 и 15, т.е. при следующей комбинации сигналов на входах сдвигового регистра 1: DSR = 1, S0 = 1, Q
1= 1. Единичный сигнал Q
1 с выхода первого разряда сдвигового регистра 1 поступает на первые входы блоков 2 и 5 и участвует в формировании соответствующих управляющих сигналов Y
1,...,Y
K, а также при наличии условных переходов, пройдя через блок 3 элементов ИЛИ и элемент ИЛИ 4, формирует сигналы, поступающие на соответствующие информационные параллельные входы D
1,...,D
n и вход S1 сдвигового регистра 1. Если между состояниями a
1 и a
2 автомата нет условного перехода, то с приходом следующего тактового сигнала и при наличии сигналов DSR=0, S0=1, S1= 0 на входах сдвигового регистра 1 в нем выполняется сдвиг вправо его содержимого, в результате чего появляется единичный сигнал на выходе Q
2сдвигового регистра. Если между состояниями a
1 и a
i автомата существует условный переход, на первом выходе 7
1 блока 2 формируется единичный сигнал, который поступает на вход блока 3, в результате чего на вход D
1сдвигового регистра 1 поступает нулевой сигнал, а на вход D
i - единичный сигнал с одновременным формированием элементом ИЛИ 4 единичного сигнала на выходе 11. Таким образом, при наличии сигналов S0=1, S1=1 на входах сдвигового регистра 1 с поступлением следующего тактового сигнала в последнем происходит смена состояний. Аналогичные действия выполняются на каждом безусловном и условном переходах автомата Мура.
В соответствии с граф-схемой автомата (фиг. 3) на соответствующих выходах 8
1, ...,8
K блока 5 необходимо получить управляющие сигналы Y
k, Y
k+1, Y
k+2 с учетом сигналов

и

, поступающих на соответствующие входы 6
1,. ..,6
L блока 2.
Предположим, что сдвиговый регистр 1 находится в состоянии a
i, т.е. на его i-м выходе Q
i присутствует единичный сигнал, который, поступая на вход блока 5 и пройдя через элемент ИЛИ 28, формирует на соответствующем выходе 8
1 сигнал Y
k (фиг. 4). Поскольку переход к состоянию a
i+1 (фиг. 3) является безусловным, то с приходом следующего тактового сигнала на управляющих входах сдвигового регистра 1 присутствуют следующие сигналы: S0=1, S1=0, что приводит к сдвигу информации на один разряд вправо, т.е. к появлению единичного сигнала на (i+1)-м выходе Q
i+1 сдвигового регистра 1. Это вызывает появление единичного сигнала на выходе 8
2, соответствующем сигналу Y
k+1, и срабатывание одного из двух элементов И 16, 17 в зависимости от наличия одного из двух сигналов X
l и

(фиг. 4). С учетом этого происходит на следующем такте работы автомата, либо условный переход к состоянию a
i+2, либо условный переход к состоянию a
i+3 автомата (фиг. 3). Для примера рассмотрим случай, когда выполняется условие

=1. Тогда единичный сигнал Q
i+1 через элемент И 17 с выхода 7
2поступает на соответствующий вход блока 3, т.е. на входы элементов ИЛИ 21 и 23 (фиг. 4). Вместе с этим единичный сигнал Q
i+1, поступая на вход блока 5, появляется на выходе 8
2, соответствующем сигналу Y
k+1. На выходах элементов ИЛИ 21 и 23 формируются соответственно сигналы D
i+1(0)и D
i+3(1), которые в дальнейшем участвуют в обнулении (i+1)-го и установке в единичное состояние (i+3)-го разрядов сдвигового регистра 1. Единичный сигнал D
i+3(1) через элемент ИЛИ 26 поступает на выход 9
3, который соединен с (i+3)-м информационным входом D
i+3 сдвигового регистра, а с выхода 10
1 поступает через элемент ИЛИ 27 на выход 11 (фиг. 4). Нулевой сигнал D
i+1(0) через элемент ИЛИ 25 поступает на выход 91, который соединен с (i+1)-м информационным входом D
i+1сдвигового регистра 1. Таким образом, с приходом следующего тактового сигнала на управляющих входах сдвигового регистра присутствуют следующие сигналы: S0=1, S1=1, что приводит к записи информации по (i+1)-у и (i+3)-у параллельным входам D
i+1 и D
i+3, т.е. к принудительной установке состояния a
i+3. Единичный сигнал на (i+3)-м выходе Q
i+3 сдвигового регистра 1 участвует в формировании сигнала Y
k+2 на соответствующем выходе 8
3. Из состояния a
i+3 возможны три условных перехода (фиг. 3). Рассмотрим случай, когда выполняется условие

=1, X
l+1=1. Единичный сигнал Q
i+3 через элемент И 20 с выхода 7
5 поступает на соответствующий вход блока 3, т.е. на один из входов элемента ИЛИ 23 (фиг. 4). На выходе элемента ИЛИ 23 формируется единичный сигнал D
i+3(1), который поступает на выход 10
1 и через элемент ИЛИ 26 на выход 9
3. Таким образом, на выходе 11 формируется единичный сигнал S1= 1, что позволяет с приходом следующего тактового сигнала записать единичный сигнал в (i+3)-й разряд сдвигового регистра 1, т.е. подтвердить его текущее состояние. Аналогично выполняются все указанные на фиг. 3 условные и безусловные переходы между состояниями автомата Мура.
На фиг. 5 приняты следующие обозначения Б2, Б3, Э4, Б5 - блоки 2, 3, элемент ИЛИ 4, блок 5 соответственно; t
1, t
2, t
3, t
4, t
5 - время срабатывания сдвигового регистра 1 и блоков 2, 3, элемента 4, блока 5 соответственно, причем t
5= t
2, t
3 = t
31 = t
4, где t
31 - время срабатывания первого уровня логических схем блока 3 (фиг. 4); T
ц - длительность цикла, причем T
ц = t
1 + t
2 + t
3.
Формула изобретения
МИКРОПРОГРАММНЫЙ АВТОМАТ, содержащий сдвиговый регистр, блок элементов И, два блока элементов ИЛИ и элементов ИЛИ, причем информационные выходы сдвигового регистра соединены с входами первой группы блока элементов И, входы второй группы которого подключены к группе входов автомата, а выходы соединены с соответствующими входами первого блока элементов ИЛИ, выходы первой группы которого подключены к соответствующим параллельным информационным входам сдвигового регистра, первый вход режима которого соединен с выходом элемента ИЛИ, выходы второго блока элементов ИЛИ являются выходами автомата, тактовый вход и вход сброса сдвигового регистра подключены соответственно к входу синхронизации и входу установки в нулевое состояние автомата, отличающийся тем, что, с целью упрощения, выходы второй группы первого блока элементов ИЛИ соединены с соответствующими входами элемента ИЛИ, второй вход режима и последовательный информационный вход сдвигового регистра соединены соответственно с входом положительного потенциала и входом установки в начальное состояние автомата, а информационные выходы сдвигового регистра подключены также к соответствующим входам второго блока элементов ИЛИ.
РИСУНКИ
Рисунок 1,
Рисунок 2,
Рисунок 3,
Рисунок 4,
Рисунок 5