Микропрограммное устройство управления
Иллюстрации
Показать всеРеферат
Изобретение относится к автоматике и вычислительной технике и может быть использовано для построения реконфигурируемых управляющих и вычислительных систем с использованием ffloжecтвa однотипных микропрограммных устройств управления. Целью изобретения является повышение на дежностй функционирования устройства за счет устранения влияния сбоев на его работу и блокировки выдачи искаженной микрокоманды в операцион;Ное устройство. Устройство позволяет: вьшолнить такт, в котором зафиксиро-; вана ошибка. Если это был сбой, устройство продолжает работу, если же произошел отказ - устройство прекращает функционирование, При искажении операционного кода блок анализа формирует сигнал, запрещающий выдачу микрокоманды в операционное устройство. (Л эо 30
СОЮЗ СОВЕТСКИХ
СОЦИАЛИСТИЧЕСКИХ
РЕСГ1УБЛИК д1 (1% (И) (5р y G 06 Р 9/22, 11/00
ВСЕ.
ОПИСАНИЕ ИЗОБРЕТЕНИЯ
Н А ВТОРСИОМЪГ СВИДЕТЕЛЬСТВУ
ГОСУДАРСТВЕННЫЙ КОМИТЕТ СССР
ПО ДЕЛАМ ИЗОБРЕТЕНИЙ И ОТКРЫТИЙ (21) 4021 790/24-24 (22) 11,02,86 (46) 15.05.87. Бюл, Ф 18 (72) А.М.Заяц и А.А,Титов (53) 681, 3 (088. 8) (56) Авторское свидетельс тв о СССР
Р 596947 s кл. G 06 Р 9/22, 1978 °
Авторское свидетельство СССР
У 1133595, кл, G 06 F 11/00, 1983. (54) МИКРОПРОГРАММНОЕ УСТРОЙСТВО
УПРАВЛЕНИЯ (57) Изобретение относится к автоматике и вычислительной технике и может быть использовано для построения реконфигурируемых управляющих и вычислительных систем с использованием множества однотипных микропрограммных устройств управления. Целью изобретения является повьппение надежности функционирования устройства за счет устранения влияния сбоев на его работу и блокировки выдачи искаженной микрокоманды в операцион:ное устройство. Устройство позволяет выполнить такт, в котором зафиксиро-, вана ошибка. Если это был сбой, устройство продолжает работу, если же произошел отказ — устройство прекращает функционирование, При искажении операционного кода блок анализа формирует сигнал, запрещающий выдачу микрокоманды в операционное устрой @ ство.
13! 0818
Изобретение относится к автоматике и вычислительной технике и может быть использовано при построении реконфигурируемых управляющих и вычислительных систем с использованием 5 множества однотипных микропрограммных устройств управления.
Цель изобретения — повышение надежности за счет устранения влияния сбоев на работу и блокировки выдачи искаженной микрокоманды в операционное устройство;.
На фиг.1 представлена функциональная схема микропрограммного устройства управления; на фиг. 2 — функцио- !э нальная схема узла контроля на четность; на фиг.3 — функциональная схема блока анализа.
Микропрограммное устройство управления (фиг.lj содержит блок 1 памяти, 20 регистра 2 адреса, регистр 2 микрокоманд с полями; 3. 1 — кода логических условий; 3.2 — модифицируемого разряда адреса 3.3 — немодифицируемых
Э
2з разрядов адреса; 3.4 — кода микроопераций; 3.5 — признака конца. команды, 3.6 — контрольного признака четности, регистра 4 команд, блок 5 контроля на четность, блок 6 анализа, дешифратор 7, мультиплексор 8 логических условий, коммутатор 9 адреса, блок коммутаторов 10,1-!0.(n-1), четвертый элемент ИЛИ 11> вторую группу
12 элементов И, преобразователь 13 кода отказа в код номера модуля, 35 триггер 14 пуска, триггеры 15.1
15.п отказов, генератор 16 тактовых импульсов, первую группу 17 элементов И, блок 18 элементов ИЛИ, первый элемент ИЛИ 19, третий элемент 40
ИЛИ 20, второй элемент ИЛИ 21, одновибратор 22, третью группу 23 элементов И, входы 24 кода операции, входы 25.1 — 1-25,(п-1) адреса, вход
26 логических условий, вход 27 пуска, 4 управляющие 28 и информационные 29 ° 1—
29.(n-1) выходы устройства, Блок 5 контроля на четность (фиг,2) содержит первый 30 и второй
31 блоки элементов суммы по модулю 50 два, элемент 32 суммы по модулю два.
Блок анализа 6 (фиг.3) содержит триггер 33 ошибки в операционной информации, триггер 34 ошибки в адресной информации, элемент 35 задержки, элемент И 36 °
Блок 1 памяти предназначен для хранения микропрограмм управления, а также кодов передачи управления аналогичным модулям, регистр 2 адрес а — для задания адреса з апоминающего блока 1 при считывании из него информации, регистр 3 микрокоманд— для хранения считанных микрокоманд, регистр 4 команд — для хранения кода операций, необходимого для перекоммутации адреса передачи управления при возникновении отказа соответствующего модуля, блок 5 контроля на четйость — для обнаружения ошибки в адресном и операционном коде, блок
6 анализа — для определения места ошибки и повторного выполнения такта работы устройства, в котором была зафиксирована ошибка, дешифратор 7 для определения номера модуля, к оторому необходимо передать управление, мультиплексор 8 логических условий для формирования значения модифицируемого разряда адреса очередной микрокоманды, Коммутатор 9 адреса предназначен для коммутации адреса очередной микрокоманды. При наличии признака конца команды на выходе 3.5 регистра 3 микрокоманд очередной. адрес микрокоманды коммутируется с входа 24 кода операции. При отсутствии признака конца команды адрес очередной микрокоманды коммутируется в зависимости от хода выполнения микропрограммы, При наличии сигнала блокировки на одном из выходов блока 6 анализа ком-! мутация адреса очередной микроком анды не пр оиз водится, Блок коммутаторов 10. 1 — 10. (и — 1) определяет прохождение адреса передачи управления в соответствующий модуль, Элемент ИЛИ 11 предназначен для формирования управляющего сигнала, запрещающего коммутацию адреса, на основании наличия признака конца команды на выходе 3 ° 5 регистра 3 микрокоманд и сигнала блокировки адреса на одном из выходов блока 6 анализа, Группа 12 элементов И предназначена для блокировки приема операционной информации, считанной по искаженному адресу из блока 1 памяти, при наличии сигнала блокировки микрокоманды на одном из выходов блока 6 анализа, Преобразователь 13 кода отказа в код номера модуля предназначен для перекоммутации передачи адреса управ1310818 пения в блоках коммутаторов 10. 1—
10,(n-1) при появлении отказа в соотв етс т вующем модул е системы в 3 ав исимости от выполняемого кода операции, поступающего с выхода регистра
4 команд.
Триггер 14 пуска предназначен для запуска генератора 16, включение которого происходит по сигналу пуска с входа 27 или при поступлении адре — 10 са с входов 25,1-25,(n-1) с аналогичных модулей, Триггеры 15,1 — 15,п отказов предназначены для хранения признаков от— казов соответствующих модулей систе- 15 мы, поступающих с одного из выходов блока 6 анализа, генератор 16 — для синхронизации работы устройства.
Группа элементов И 17 предназначена для передачи в преобразователь 20
13 кода признака отказа того модуля, на который необходимо передать адрес управления.
Блок элементов ИЛИ 18 предназначен для сборки кода операции с входа
24 устройства и кодов адресов с входов 25.1 — 15 (п-1) с последующей передачей через коммутатор 9 на регистр
2 адреса.
Элемент ИЛИ 19 предназначен для 30 сборки сигналов на.начало работы модуля, элемент ИЛИ ?Π— для формирования сигнала на разрешение передачи адреса тому модулю, который определен преобразователем 13 кода. Эле- 35 мент ИЛИ 21 предназначен для сборки сигналов на прекращение работы устройством, Одновибратор 22 предназначен для формирования импульса по окончании 40 микропрограммы, что характеризуется появлением признака конца команды на выходе регистра 3 микрокоманд, Группа элементов И 23 предназначена для блокировки выдачи искажен- 45 ной микрокоманды при наличии на одном из выходов блока 6 анализа сигнала блокировки.
Микропрограммное устройство управления функционирует следующим обра- 50 зом.
В исходном состоянии регистры находятся в нулевом состоянии.
Начало работы устройства определяется поступлением на вход 27 устройства сигнала пуска. Данный сигнал через элемент ИЛИ 19 поступает на . S-вход триггера 14 пуска и устанавливает его в единичное состояние. Сигнал с прямого выхода триггера )4 разрешает прохождение с входа ?4 кода операции через блок 18 элементов ИЛИ и коммутатор 9 адреса на регистр 2 адреса по концу первого тактового импульса, поступающего с генератора
16 тактовых импульсов, Код операции определяет начальный адрес микропрограммы, По второму тактовому импуль-. су с выхода генератора 16 из блока 1 памяти по адресу, содержащемуся в регистре 2 адреса, через группу элементов И, 12 происходит считывание операционной информации в регистр 3 микрокоманд, При отсутствии на одном из выходов блока 6 анализа сигнала блокировки адреса, указывающего„ что искажена операционная информация, с регист. ра 3 микрокоманд на выход 28 через группу элементов И 23 выдается IIepвая микрокоманда на управление, например, операционным устройством.
На выходе 3,5 регистра 3 признак конца команды, сигнал логического нуля поступает через элемент ИЛИ 11 на управляющий вход коммутатора 9 адре— са и разрешает загись адреса очередной микрокоманды в зависимости от информации, находящейся в поле 3.1 кода логических условий, в поле 3,2 модифицируемого разряда адреса и в поле 3.3 немодифицируемых разрядов адреса. Если микрокоманда является микрокомандой линейной последовательности, то код адреса определяется кодом немодифицируемых разрядов адреса с выхода 3.3 и модифицируемым разрядом адреса с выхода 3,2 регистра 3. В этом случае модифицируемый разряд адреса при нулевом коде логических условий с выхода 3,1 регистра
3 чеРез мультиплексор 8 проходит без изменения.
Если микрокоманда является микрокомандой ветвления, то адрес очеред-. ной микрокоманды определяется постоянной частью кода адреса (немодифицируемой частью) и переменной частью (модифицируемьи разрядом адреса), Если проверяемое логическое условие выполнено, то модифицируемая часть кода адреса имеет единичное значение и сформированный таким образом адрес очередной микрокоманды через коммутатор 9 адреса поступает на регистр 2 адреса по такто13108 вому импульсу с выхода генератора
16. Импульс с выхода генератора 16 поступает на управляющий вход первого триггера 15. отказа и если он находится в единичном состоянии 5 (что свидетельствует о том, что в устройстве прбизошел отказ), то информация об этом передается на выходы 29,1-29,(п-1) аналогичным модулем, где учитывается при передаче 10 управления.
По мере выдачи информации микропрограммным устройством управления происходит ее контроль в блоке 5 íà 15 четность, При этом происходит контроль как адресной, так и операционной информации и при искажении одного из кодов блок 5 контроля на четность формирует сигнал ошибки х, и 2g сигналы, указывающие, какой из кодов, операционный (х ) или адресный (х ), искажен, Эти сигналы поступают на блок 6 анализа, сигналы, указывающие, что искажен операционный 25 код либо адресный код, поступают на
S-вход соответствующего триггера 33 ошибки либо 34, поступивший сигнал устанавливает триггер в единичное состояние, Если искажена операцион- 30 ная информация на инверсном выходе триггера 33 ошибки, формируется сигнал блокировки адреса, запрещающий прием очередного адреса в регистр 2 и выдачу искаженной микрокоманды на уравляющий выход 28, Этот сигнал поступает через элемент ИЛИ 11 на управляющий вход коммутатора 9 адреса и блокирует прием адреса, сформированного на основе искаженной опе- gg рационной информации, Одновременно этот сигнал поступает на группу элементов И 23, запрещая выдачу искаженной микрокоманды.
Если произошло искажение адресной информации, на инверсном выходе триггера 34 ошибки устанавливается нулевой уровень сигнала блокировки микрокоманды, этот сигнал поступает на группу элементов И 12 и запрещает 5g прием в регистр 3 микрокоманды информации, считанной по искаженному адресу.
Сигнал ошибки с блока 5 контроля
55 на четность поступает на элемент 35 задер>кки блока 6 анализа, длительность задержки которого равна такту работы устройства, и используется
l8 6 для формирования признака отказа в следующем такте работы.
Микропрограммное устройства управления повторно выполняет такт, в котором была зафиксирована ошибка, Первый и второй тактовый импульсы поступают соответственно на R-вход триггеров 34 и 33 ошибки и устанавливают их в нулевое состояние. Если в этом такте искажение адресной или операционной информации не проиэошлор на выходе блока 5 контроля на четность сигналы х„, х и х не формируются и устройство продолжает свое функционирование. Если в повторно выполняемом такте обнаружено искажение одного из кодов, то как и в предыдущем такте триггер 33 ошибки или
34 устанавливается в единичное состояние и на выходе элемента И 36 формируется признак отказа, который с приходом тактового импульса на управляющий вход триггера 15.! отказа перебрасывает данный триггер в единичное состояние, Сигнал, свидетельствующий об отказе устройства, с прямого выхода триггера 15.1 через элемент ИЛИ 21 поступает на R-вход триггера 14 пуска, и устройство прекращает работу.
Если устройство исправно, то по окончании микропрограммы для продолжения функционирования системы оно может передать управление аналогичному модулю системы.
Передача управления осуществляется следующим образом.
С выхода 3 ° регистра 3 микрокоманд передачи управления выдается код номера модуля, которому необходимо передать управление, Данный код поступает на вход дешифратора 7, По признаку конца команды с выхода
3,5 регистра микрокоманд возбуждается один из выходов дешифратора 7, соответствующий модулю для передачи управления, и адрес с выходов 3.2 и
3.3 регистра 3 через соответствующий коммутатор блока коммутаторов 10.110.(п-1) передается на один из выходов 29,1-29,(n-1) аналогичному устройству ° Данным образом устройство функционирует„ если соответствующий модуль системы исправен, Если модуль, которому необходимо передать управление, отказал (что определяется в укаэанном модуле аналогично тому, как было рассмотрено ранее), 13108
Формула то передача управления осуществляется в зависимости от выполняемой коЭ манды (кода операции, хранимого в регистре 4 команд) и номера отказав— шего модуля си стемы. Приз нак отказа
i-го модуля системы с входов 25.!в
25. (n-1) поступает íà S-вход триггеров 15.2-15,п, соответствующих определенному модулю. Для каждого кода операции вместо отказавшего модуля 10 может быть передано управление на другой определенный модуль системы, в котором хранится дубль нужной мик— ропрограммы или укороченная микропро грамма, 15
Функцию управления заменой отказавшего модуля выполняет преобразователь 13 кода, .на входы которого поступает признак того, что модуль, которому необходимо передать управление, отказал„ и код операции. По этой информации преобразователь 13 кода определяет модуль, которому необходимо передать управление вместо
° отказавшего. На одном из выходов преобразователя 13 кода появляется сигнал, определяющий тот номер модуля, которому необходимо передать управление вместо отказавшего. Этот сигнал поступает на соответствующий коммутатор 10.1 — 10.(n-1) и по признаку конца команды адрес передается на один из выходов устройства, После прихода от другого модуля системы по одному из входов 25 ° 1—
15, (и-1) адреса, с которого необходимо начать работу (выдачу микрокоманд), он через блок 18 элементов
ИЛИ поступает на информационный вход 40 коммутатора 9 адреса и на элемент
ИЛИ 19, На выходе элемента ИЛИ 19 появляется сигнал, который перебрасывает триггер 14 пуска в единичное состояние и тем самым запускает гене- 45, ратор 16 тактовых импульсов. Первым тактовым импульсом с входа генератора 16 информация через коммутатор 9 адреса заносится в регистр 2. По этому адресу происходит считывание информации из запоминающего блока 1.
Далее устройство работает аналогично рассмотренному ранее, изоб р ет е ния
Микропрограммное устройство управления, содержащее блок памяти, регистр адреса, регистр микрокоманд.
18 8 регистр команд, блок контроля на чет. ность, дешифратор, мультиплексор логических условий, коммутатор адреса, блок коммутаторов, преобразователь кода отказа в код номера модуля, триггер пуска, группу триггеров отказов, генератор тактовых импульсов, первую группу элементов И, блок элементов ИЛИ, первый элемент ИЛИ, второй элемент ИЛИ, третий элемент ИЛИ, одновибратор, причем выход коммутатора адреса соединен с информационным входом регистра адреса, выход поля адреса которого соединен с адресным входом блока памяти, выход поля кода логических условий регистра микрокоманд соединен с управляющим входом мультиплексора логических условий и входом дешифратора, выход поля модифицируемого разряда адреса регистра микрокоманд соединен с первым информационным входом мультиплексора логических условий, выходы поля немодифицируемых разрядов адреса регистра микрокоманд соединены с первым информационным входом коммутатора адреса и группой информационных входов блока коммутаторов, выходы дешифратора соединены с первой группой управляющих входов блока комму— таторов и с первыми входами элементов И первой группы, выходы блока коммутаторов являются информационными выходами устройства, выход мультиплексора логических условий соединен с входом модифицируемого разряда адреса первого информационного входа коммутатора адреса и входом немодифицируемого разряда адреса группы информационных входов блока коммутаторов, выход поля кода логических условий, выходы поля немодифицируемых разрядов адреса и выход поля микроопераций регистра микрокоманд соединены с первым входом блока контроля на четность, выход поля контрольного признака четности регистра микрокоманд соединен с вторым входом блока контроля на четность, выход поля адреса регистра адреса соединен с третьим входом блока контроля на четность, выход поля контрольного признака четности регистра адреса соединен с четвертым входом блока на четность, вход кода операции устройства соединен с информационным входом регистра команд и входом блока элементов ИЛИ, входы адреса уст1310818
5
g5
55 ствующих триггеров отказа группы, начиная с второго, прямые выходы которых соединены с вторыми входами соответствующих элементов И первой группы, выходы элементов И первой группы соединены с первой группой входов преобразователя кода отказа в код номера модуля, выходы регистра команд соединены с второй группой входов преобразователя кода отказа в код номера модуля, выходы которого соединены с второй группой управляющих входов блока коммутаторов и входами третьего элемента ИЛИ, выход которого соединен с третьей группой управляющих входов блока коммутаторов, выход поля признака конца команды регистра микрокоманд соединен с четвертой группой управляющих входов блока коммутаторов, разрешающим входом дешифратора и входом одновибратора, выход которого соединен с вторым входом второго элемента ИЛИ, отличающееся тем, что, с целью повышения надежности за счет устранения влияния сбоев на работу и блокировки выдачи искаженной микрокоманды в операционное устройство, в устройство введены блок анализа„ ройства соединены с группой входов блока элементов ИЛИ, выход которого соединен с вторым информационным входом коммутатора адреса, вход пуска устройства соединен с входом первого элемента ИЛИ, выход блока элементов ИЛИ соединен с группой входов первого элемента ИЛИ, выход которого соединен с S-входом триггера пуска, прямой и инверсный выходы триггера пуска соединены соответственно с первым и вторым входами генератора тактовых импульсов, выход которого соединен с входами синхронизации регистра адреса, регистра команд, регистра микрокоманд, первого триггера отказа группы, прямой выход триггера пуска соединен с первым управляющим входом коммутатора адреса, вход логических условий устройства соединен с вторым информационным входом мультиплексора логических условий, прямой выход первого триггера отказа группы соединен с выходом отказа устройства и первым входом второго элемента ИЛИ, выход которого соединен с R-входом триггера пуска, входы отказа устройства соединены с S-входами соответвторая группа элементов И, третья группа элементов И, четвертый элемент ИЛИ, причем выход ошибки блока контроля на четность соединен с первым входом блока анализа, выход ошибки в операционном коде блока контроля на четность соединен с вторым входом блока анализа, выход ошибки в адресном коде блока контроля на четность соединен с третьим входом блока анализа, четвертый вход блока анализа соединен с выходом генератора тактовых импульсов, выход признака отказа блока анализа соединен с
D-входом первого триггера отказа группы, выход блокировки микрокоман ды блока анализа соединен с первыми входами элементов И второй группы, выходы блока памяти соединены с вторыми входами элементов И второй группы, выходы элементов И которой соединены с информационными входами регистра микрокоманд, выход блокировки адреса блока анализа соединен с первыми входами элементов И третьей группы, выходы поля микроопераций регистра микрокоманд соединены с вторыми входами элементов И третьей группы, выходы элементов И которой образуют управляющий выход устройства, выход блокировки адреса блока анализа соединен с прямым входом четвертого элемента ИЛИ, выход поля конца команды регистра микрокоманд соединен с входом последнего элемента. И третьей группы с инверсным входом четвертого элемента ИЛИ, выход которого соединен с вторым управляющим входом коммутатора адреса, причем блок анализа содержит триггер ошибки в операционной информации, триггер ошибки в адресной информации элемент задержки и элемент И блока, анализа, выход которого является выходом признака отказа блока анализа, первый вход блока анализа подключен к первому входу элемента И блока анализа и через элемент задержки— к второму входу элемента И блока анализа, второй вход блока анализа подключен к S-входу триггера ошибки в операционной информации, инверсный выход которого является выходом блокировки адреса блока анализа, третий вход блока анализа подключен к
S-входу триггера ошибки в адресной информации, инверсный выход которого является выходом блокировки микро1310818
12 триггеров ошибок в операционной инФормации и в адресной информации, команды анализа, четвертый вход блока анализа ноцключен к R-âõoäàì.
Х Хг
Xs
Хз %
Хз
С фиа2
Quad
Составитель Д.Ванюхин
Редактор М.Дылын ТехредП.Олейник Корректор Г. Решетник
Заказ 1892/45 Тираж 673 Подписное
ВНИИПИ Государственного комитета СССР по делам изобретений и открытий
113035, Москва, Ж-35, Раушская наб,, д. 4/5
Производственно-полиграфическое предприятие, r. Ужгород, ул. Проектная, 4