Микропрограммный процессор с контролем

 

Изобретерше относится к вычис ительной технике, в частности к процессорам с контролем. Пелью изобретения является повышение достоверности контроля микропрограммного процессора гтутем суммирования кодов микрокоманд и сравнения их суммы с контрольной суммой. В микропрограммный процессор с контролем дополнительно введены сумматор 18, регистр контрольной суммы 19, регистр команды 2, первый 3 и второй 4 мультиплексоры. Он также содержит операционный блок 1, регистр 6 адреса микрокоманд, блок 7 памяти микрокоманд, регистр 8 микрокоманд , схему сравнения 20, триггер фиксации сбоя 21, одновибратор 22, элемент И 5. 1 з.н. ф-лы, 5 ил. к

СОЮЗ СОВЕТСКИХ

СОЦИАЛИСТИЧЕСКИХ

РЕСПУБЛИК

< 11 1 G 06 Р 11/00

ВСГгГЧ 1 о Ф

1

ОПИСАНИЕ ИЗОБРЕТЕНИЯ

К АBTOPCKOMV СВИДЕТЕЛЬСТВУ

Я » 1.- !

ГОСУДАРСТВЕННЫЙ НОМИТЕТ СССР

ПО ДЕЛАМ ИЗОБРЕТЕНИЙ И ОТКРЫТИЙ (21) 4126733/24-24 (22) 16. 06. 86 (46) 07.02.88. Бюл. Р 5 (71) уфимский авиационный институт им. Серго Орджоникидзе (72) А,И.Иванов, Ю.П.Бг тяев и В. Е. Кладов (53) 681.3 (088.8) (56) Авторское свидетельство СССР

Ф 490122, кл. G 06 F 15/06, 1973.

Авторское свидетельгтво СССР

11- 705452, кл. G 06 F 15/00, 1977. (54) ИИКРОПРОГРАК1НЫ11 ПРОЦЕССОР С

КОИТРОЛЕГ1 (57) Изобретение относится к вычис ительной технике, в частности к про„„SU„„1372328 А1 цессорам с контролем. Целью изобретения является повышение достоверности контроля микропрограммного процегсора путем суммирования кодов микрокоманд и сравнения их суммы с контрольной суммой. В микропрограммный процессор с контролем дополнительно введены сумматор 18, регистр контрольной суммы 19, регистр команды 2, первый 3 и второй 4 мультиплексоры. Он также содержит операционный блок 1, регистр 6 адреса микрокоманд, блок 7 памяти микрокоманд, регистр 8 микрокоманд, схему сравнения 20, триггер фиксации сбоя 21, одновибратор 22, элемент И 5. 1 з.п. ф-лы, 5 ил.

1372328

Изобретение относится к вычислительной технике, в частности к процессорам с контролем.

)(ель изобретения — повышение достоверности контроля микропрограммного процессора.

На Фиг.) приведена функциональная схема микропрограммного процессора с контролем; на фиг.2 — функциональная схема операционного блока, на фиг.3-5 — временные диаграммы работы устройства.

Микропрограммный процессор (фиг.)) содержит операционный блок 1, регистр 2 команд, первый мультиплексор

3, второй мультиплексор 4, элемент И

5, регистр 6 адреса микрокоманд, блок 7 памяти микрокоманд, регистр 8 микрокоманд с полями: условного перехода (УП ) 9, кода операции (КОП) 10, адреса микрокоманды (АМК) )1, конца команды (КК) )2, выход 13 подтверждения перехода (ПП), входы условного перехода 14 и кода операции 15, выход )6 управления обменом и информационный вход — выход 17 операционного блока 1 сумматор )8, регистр 19 суммы, схему 20 сравнения, триггер

2) фиксации сбоя, одновибратор 22, вход 23 синхронизации операционного блока, первый 24 и второй 25 входы синхронизации устройства.

Операционный блок ) (фиг.2) содер" жит арифметический узел 26, приемопередатчик 27, схему 28 сравнения, первый элемент И 29, элемент ИЛИ-HE

30, второй элемент И 3!, буферный усилитель 32, вход 33 направления передачи приемопередатчика, вход 34 кода операции арифметического узла, первый вход 35 второго элемента И, первый вход 36 eMeHT HJfH-HE, первый вход 37 первого элемента И, выход 38 буферного усилителя, информационный вход-выход 39 приемопередатечика, выход 40 первого элемента И.

На фиг.3 приведена схема, поясняющая синхронизацию работы блоков микропрограммного процессора, где Ф) сигналы на первой линии синхронизации, Ф2 — сигналы на второй линии синхронизации.

На фиг.4 приведена временная диаграмма работы микропрограммного процессора в нормальном режиме, где Ф) синхросигналы на линии Ф! 24, Ф2 синхросигналы на линии Ф2 25, РАМК—

55 адрес микрокоманды на выходе регистрз 6 РК вЂ” код команды, записанный в регистре 2, КОП вЂ” поле KOI1

10 микрокоманды на выходе регистра 8, ИК вЂ” сигнал "Конец команды на выходе регистра 8, УП вЂ” сигнал условного перехода нп выходе регистра 8, )Пl — сигнал на входе 13, РС вЂ” код регистра 19, "Сброс" — сигнал сброса на выходе одновибратора 22.

На фиг.5 приведена временная диаграмма работы микропрограммного процессора при наличии сбоя в его аппаратуре, где Фl — синхросигналы на линии Ф) 24, Ф2 — синхросигналы на линии Ф2 25, РК вЂ” код команды, PAMK— адрес микрокоманды, КОП вЂ” поле КОП

10 микрокоманды, КК вЂ” сигнал бита

КК )2, РС вЂ” код регистра 19, СС— сигнал на выходе первой схемы 20 сравнения, "Сбой" — сигнал на выходе триггера 21 фиксации сбоя, Сброс сигнал сброса на выходе одновибратора 22.

Микропрограммный процессор работает следующиМ образом.

Операционный блок 1 производит логическую и арифметическую обработки информации, поступающей на информационный вход 17 процессора из внешних устройств. При этом данные и адреса поступают в блок 1, а коды команд — в регистр 2. Команда, поступающая на вход регистра 2, порождает микропрограмму, вырабатываемую блоками 3, 4, 6-8 процессора. Микрокоманда йикропрограммы управляет процес)сом обработки Информации в блоке 1 и процессом выборки следующей микрокоманды микропрограммы из блока 7. В процессе исполнения команды в регистре 2 хранится ее код, в регистре 6— адрес следующей микрокоманды, в блоке 7 — коды микропрограмм, в регистре 8 — код исполняемой микрокоманды.

Первый и второй мультиплексоры 3 и 4 управляют процессом формирования адреса следующей микрокоманды.

Операционный блок функционирует следующим образом.

В качестве узла 26 может быть использована БИС К)804ВС2, Разряды поля КОП 10 микрокоманды поступают на е вход 15 блока 1. При этом часть разрядов по линиям 3) через буфер 32 поступают на выход 16 блока 1 и являются управляющими сигналами процессора при обмене информацией с внешними

1372328

Выполнение команд в предложенном процессоре осуществляется следующим образом (фиг.3, 4).

Код исполняемой команды поступает на информационный вход регистра 2.

55 устройствами. По линии 33 поля КОП 10 в блок l на управляющий вход приемопередатчика 27 поступает сигнал управления режимом работы приемопере-!! !!

5 датчика: 0 — линии 17 подключены к информационному входу узла 26, "1" — информационный выход узла 26 подключается к шине )7 блока 1. По линиям 34 поля KOII 10 микрокоманды на управляющий вход узла 26 поступает код инструкции, который задает тип выполняемой инструкции, а именно арифметикологическое преобразование информации, находящейся во внутренних регистрах узла 26, прием информации с информационного входа узла 26 в один из внутренних регистров узла 26, выдачу информации из одного из внутренних регистров узла 26 на 20 информационный выход узла 26. С выхода кода условий на первый вход схемы

28 сравнения поступают 4 бита условий, вырабатываемых схемами узла 26 при выполнении следующих операций: 25

Е, результат равен "0"!; С, бита переноса; V есть переполнение; F, результат (О.

Внутренние схемы арифметического узла синхроииэируются синхросигнала- 3р ми Ф2 25, передаваемыми по синхролинии 35 на синхронизирующий вход узла 26. Поле условий иэ КОП 10 и биты условий из узла 26 используются для реализации услов юго перехода в 3 микропрограммах процессора. Управляет условным переходом бит УП 9 микрокоманды, передаваемый с входа 15 блока 1 на второй вход второго элемента И 31. Если после исполнения эа- 40 данной операции код условий узла 26 и код условий на линиях 34 совпадут, то на выходе схемы сравнения 28 появляется "1", и если бит УП 9 микрокоманды установлен в 1, т.е. прове- 45 ряется условие перехода, то на выходе второго элемента И 31 появляется

"1" сигнала подтверждения перехода

40, который подается с выхода 13 блока 1 на управляющий вход второго

50 мультиплексора 4 и управляет процессc)M формирования адреса следующей микрокоманды микропрограммы.

При этом í 1 у11pëíляющем входе ре гистра 2 с выхода элемента И 5 подает H !! !!

), разрешающая запись к!!манды в ре— гистр 2. Запись в регистр 2 с1!нхрс низируется передним фронтом синхроимпульса Фl 24, "1" на выходе элемента И 5 появляется в результате того, что на его входы подан!тся: 1 с инверсного выхода триггера 21, поскольку последний н нормальном состоянии установлен в "0", "1" бита KK 12 исполняемой микрокоманды, поскольку бит КК 12 в микрокоманде означает конец микропрограм!ы. Итак, последняя микрокоманда микропрограммы записывает код новой команды в регистр. Одновременно бит КК 12 запрещает работу блока 1. Это связано с организацией контроля функционирования процессора.

Бит КК 12 управляет работой первого мультиплексора 3. "1" на его управляющем входе разрешает прохождение информации с его первого информационного входа на выход. Таким образом, с выхода регистра 2 код команды подается через первый мультиплексор 3 на информационный вход регистра 6. По заднему фронту синхросигнала Фl 24 код команды записывается в регистр 6.

Таким образом, код кбманды является адресом начала микропрограммы, реализующей данную команду.

Адрес микрокоманды с выхода регистра 6 подается на вход блока 7, с его выхода код считанной микрокоманды поступает на информационный вход регистра 8, в который микрокоманда записывается по переднему фронту синхросигнала Ф2 25. С выхода регистра 8 поля подаются следующие микрокоманды: бит УП9 на вход 14 блока ) и включает схему выработки сигнала подтверждения перехода при реализации условного перехода в микропрограмме; поле КОП 10 на вход )5 блока 1 и управляет работой ОБ1, а также подается в схему контроля работы процессора; поле AMK 11 через первый и второй мультиплексоры 3 и 4 в регистр 6 для выработки адреса следующей микрокоманды; бит КК 12, сигналиэирующий о том, что исполняется последняя микрокоманда микропрограммы.

Исполнение микрокоманды в блоке синхронизируется задним фронтом синхросигнала Ф2 25. Поле АМК 11 через второй мультиплексор 4, открытый сигналом "0" ПП 13, подается на второй

1372328 информационный вход первого мультиплексора 3, поскольку бит КК 12 равен

"0" (микрокоманда не последняя), информация с второго информационного входа первого мультиплексора 3 передается на его выход, Адрес следующей микрокоманды поступает на информационный вход РАМК. Далее процесс исполнения микрокоманды повторяется. 1О

При исполнении микрокоманды условного перехода в блоке 1 проверяется соответствие кода условий, выработанного узлом 26 (фиг.2), и кода условий поля КОП 10 микрокоманды. При этом бит УП 9 установлен в "1". Если код условий совпадает, то на выходе

I3 блока 1 появляется "1", которая подключает первый информационный вход второго мультиплексора 4 к его выхо- 20 ду. В этом случае часть разрядов

КОП 10 используется для задачи адреса условного перехода. При этом бит

УП запрещает в данном такте работу узла 26. Если коды условий не совпа- 25 дают, то в регистр 6 будет передано содержимое поля АМК ll микрокоманды, т.е. условный переход в микропрограмме не произойдет. В предпоследней микрокоманде выполняемой микропрограммы производится обращение операционного блока к запоминающим устройствам за кодом следующей команды, в результате к моменту извлечения последней микрокоманды микропрограммы на информационном входе регистра 2 команд находится код следующей команды. В последней микрокоманде БИТ КК установлен в "1", поэтому в качестве адреса микропрограммы будет исполь- 4р зован код очередной команды.

При работе блоков предложенного процессора производится контроль исполнения микропрограммы, так как сбои в аппаратуре процессора могут привес- 45 ти к выполнению другой последовательности микрокоманд или к выборке неправильного кода микрокоманды. При этом в процессоре контролируется все поле микрокоманды и осуществляется контроль последовательности выполнения микрокоманд.

Сбой в работе блоков 1, 3, 6, 7, 8 и 4 может привести к следующим ситуациям: искажено поле КОП 10 очередной микрокоманды, в результате вы55 полнится другая инструкция в ОБ1; искажен бит УП9 очередной микрокоманды, в результате выполняется непредусмотренный переход в микропрограмме, что вызывает невыполнение инструкции в ОБ1 и искажение последовательности микрокоманд; искажен бит

КК 12 очередной микрокоманды, в результате этого прервано выполнение микропрограмм, искажено после АМК очереднои микрокоманды, что приводит к искажению последовательности микрокоманд.

Это означает, что в любом случае сбой в работе блоков 1, 3, 6, 7, 8 и 4 приведет к неправильному выполнению микропрограммы. Предлагаемое устройство позволяет зафиксировать подобные сбои и устранить их последствия. Это достигается при помощи дополнительно выделенных блоков: сумматора 13, регистра 2 команд, регистра

19 суммы, одновибратора 22. С их помощью в устройстве реализуется подсчет контрольной суммы кодов микрокоманд выполняемой микропрограммы. В поле КОП 10 последней микрокоманды записан код эталонной контрольной суммы, которая сравнивается с вычисленной суммой. Эталонная сумма сравнивается с полученной. Несовпадение сумм означает, что в работе блоков 1, 3, 6, 7, 8 и 4 был сбой. Предложенное устройство, зафиксировав таким образом сбой, организует повторение микропрограммы.

С помощью блоков 18, 19, 22, 21 и 22 осуществляется подсчет контрольной суммы выполняемой последовательности микрокоманд и сравнение с эталонной в конце микропрограммы. При несовпадении контрольных сумм осуществляется повторное исполнение микропрограммы, в которой был зафиксирован сбой. Для этого по заднему фронту бита КК 12 последней микрокоманды каждой микропрограммы, если при исполнении микропрограммы в аппаратуре процессора не было сбоев, приведших к искажению микрокоманды, на выходе одновибратора 22 вырабатывается импульс сброса, который обнуляет регистр 19 и триггер 21 (фиг.5). Затем начинается исполнение очередной микропрограммы, определяемой кодом команды, хранящимся в регистре 2. При выборке каждой микрокоманды производится накопление контрольной суммы микропрограммы с помощью сумматора 18 и регистра 19, на которых реализуется функция

7 1372328 го выхода триггера 21 блокируе; первый элемент И 6, а сигнал с его выхода — запись в РК 2 кода слeлуюшeй команды. Таким образом, в регистре 2 будет сохранен код команды, при выполнении которой был зафиксирован сбой в работе блоков процессора. Код этой команды вновь будет передан че10 рез первый мультиплексор 3 в регистр

6 и будет вновь выполняться прежняя микропрограмма.

КС, = КС;, + КОП;, микрокоманд.

Запись результата суммирования в регистр 19 производится по заднему фронту синхроимпульса Ф2 25. "О" бита КК 12 микрокоманды разрешает запись информации в регистр 19.

Таким образом, после исполнения микропрограммы в регистре суммы бу- 15 дет храниться результат суммирования полей КОП 10 исполненных микрокоманд

КС. Проверка КС производится после выборки последней микрокоманды исполняемой микропрограммы. В последней 20 микрокоманде исполняемой микропрограммы бит КК )2 микрокоманды равен

"1". В этом случае поле КОП 10 является эталонной КС исполненной микропрограммы. Эталонная КС подается на 25 первый вход схемы 20 сравнения, на второй вход первой схемы сравнения подается КС с выхода регистра 19.

"1" бита КК 12 микрокоманды в этом такте работы процессора запрещает за- 30 пись в регистр 19 и разрешает работу схемы 20 сравнения. Если полученная

КС и эталонная КС совпадают, то на выходе первой схемы 20 сравнения будет сигнал "0". Триггер 21 остается в нулевом состоянии. Поэтому элемент

И 5 открыт сигналом "1" с инверсного выхода триггера 21 и сигнал бита К)

12 разрешает запись кода новой команды в регистр 2. Код команды является 40 адресом начала новой микропрограммы и через первый мультиплексор 3 передается в регистр 6. Таким образом, начинается исполнение новой микропрограммы. После записи в регистр 8 кода первой микрокоманды бит KK 12 меняется на "0". Фронт бита КК 12 запускает одновибратор 22. Сигнал с его выхода обнуляет регистр 19. Далее выполняется микропрограмма. где КОП; — поле КОП )О i-й выполненной микрокоманды;

КС вЂ” контрольная сумма полей

КОП 10 i-х выполненных

Если в конце микропрограммы полученная КС не совпадает с эталонной, то на выходе первой схемы 20 сравнения в цикле выполнения последней микрокоманды (бит КК 12 ") ") появится

"1". Поэтому задним фронтом синхросигнала Ф2 25 триггер 21 установится в "1". В этом случае "Îн с инверсноФормула изобретения

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

1372328 адреса микрокоманд регистра микрокоманд соединен с вторым информационным входом второго мультиплексора, управляющий .вход которого соединен с выходом подтверждения перехода операционного блока, второй вход синхронизации процессора подключен к входам синхронизации операционного блока, регистра суммы, регистра микрокоманд и триггера фиксации сбоя, выход поля конца команды регистра микрокоманд соединен с входом запуска одновибратора, управляющим входом схемы сравнения, входом разрешения записи регистра суммы, управляющим входом первого мультиплексора, первым входом элемента И и входом конца команды операционного блока, второй вход элемента И соединен с инверсным выходом триггера фиксации сбоя, выход сумматора соединен с информационным входом регистра суммы, выход которого соединен с вторыми информационными входами сумматора и схемы сравнения, выход которой соединен с информационным входом триггера фиксации сбоя, выход одновибратора соединен с входами сброса регистра суммы и триггера фиксации сбоя, выход управления обменом операционного блока является выходом управления обменом процессора, 2. Процессор по п.1, о т л и— ч а ю шийся тем, что операционный блок содержит арифметический уэ ел, схему сравнения, два элемента И, элемент ИИ1-НЕ, приемопередатчик и буферный усилитель, причем раэ5 ряды входа кода операций операционного блока подключены к входу направления передачи приемопередатчика, к входу кода операций арифметического узла, к первому входу схемы сравнения и через буферный усилитель — к выходу управления обменом операционного блока, первый вход элемента ИЛИНЕ является входом конца команды операционного блока, второй вход элемен15 та ИЛИ НЕ и первый вход первого элемента И подключены к входу условного перехода операционного блока, второй вход первого элемента И соединен с выходом схемы сравнения, второй вход

20 которой соединен с выходом кода условий арифметического узла, вход синхронизации которого соединен с выходом второго элемента И, первый вход которого является входом синхронизации

25 операционного блока, второй вход второго элемента И соединен с выходом элемента ИДИ-НЕ, информационные вход и выход арифметического узла соединены соответственно с информационными

30 выходом и входом приемопередатчика, информационный вход-выход которого является информационным входом-выходом операционного блока, выход первого элемента И является выходом подтверждения перехода операционного блока.

1372328

Запись 6 РН

PlL8 3

Н00

КК

fll7

Сброс

1372328 з

9 Ь

Ь 1ь

Составитель Д. Ванюхин

Техред М. Ходанич

Редактор В.Данко

Корректор А.Зимокосов

Заказ 484/41

Тираж 704 Подписное

BHHHHH Государственного комитета СССР по делам изобретений и открытий

113035, Москва, Ж-35, Раушская наб., д. 4/5

Производственно-полиграфическое предприятие, r. Ужгород, ул. Проектная, 4

Микропрограммный процессор с контролем Микропрограммный процессор с контролем Микропрограммный процессор с контролем Микропрограммный процессор с контролем Микропрограммный процессор с контролем Микропрограммный процессор с контролем Микропрограммный процессор с контролем Микропрограммный процессор с контролем 

 

Похожие патенты:

Изобретение относится к автоматике и вычислительной технике и может быть использовано в ЭВМ и вычислительных системах с микропрограммным управлением

Изобретение относится к вычислительной технике и может быть использовано при настройке paзpaбaтывae «llx и контроле серийно выпускаемых цифровых узлов

Изобретение относится к вычислительной цифровой технике и может быть использовано для контроля функционирования логических блоков ЭВМ

Изобретение относится к вычислительной технике, может найти примененение в автоматизированных системах управления, и является усовершенствованием устройства по авт.св.№ 1291987

Изобретение относится к автоматике и вычислительной технике и может быть использовано при построении устройств контроля и управления технологическими процессами цифровых систем с микропрограммным управлением

Изобретение относится к автоматике и вычислительной технике и может быть использовано в ЭВМ и вычислительных системах с микропрограм- MHbiM принципом управления

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

Изобретение относится к области вычислительной техники и может быть использовано при создании микро- ЭВМ, микроконтроллеров и другихустройств на основе микропроцессоров

Изобретение относится к области вычислительной техники, может быть использовано для контроля и наладки периферийных устройств системы ЕС ЭВМ и является усовершенствованием

Изобретение относится к информационно-управляющим системам и предназначено для сбора информации, решения боевых задач и выработки сигналов управления системами вооружения и техническими средствами, в частности, корабельным оружием и оружием берегового базирования

Изобретение относится к способу контроля выполнения компьютерных программ в соответствии с их назначением

Изобретение относится к области вычислительной техники

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

Изобретение относится к области тестирования приложений, Техническим результатом является облегчение тестирования приложений

Изобретение относится к области антивирусной защиты

Изобретение относится к способу и устройству для сравнения выходных данных по меньшей мере двух исполнительных блоков микропроцессора

Изобретение относится к области вычислительной техники, а именно к системам и способам профилирования и трассировки виртуализированных вычислительных систем

Изобретение относится к области настройки и/или конфигурирования программного обеспечения в устройствах
Наверх