Микропрограммное устройство с контролем

 

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

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

PECflYbflMH (19) (11) (59 4 0 06 F 11/10, 9/22

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

К АВТОРСКОМУ СВИДЕТЕЛЬСТВУ

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

ПО ДЕЛАМ ИЗОБРЕТЕНИЙ И ОТНРЫТИЙ (21) 3770291/24-24 (22) 09. 07. 84 (46) 30.01.86. Бюл. ¹ 4 (72) А.В.Сычев, В.П.Супрун, В.С.Харченко, Г.H.Òèìîíüêèí и С.Н.Ткаченко (53) 681 ° 3 (088. 8) (56} Авторское свидетельство СССР

¹ 928356, кл. G 06 F 9/22, 1980, Авторское свидетельство СССР № 1007106,кл. G 06 F 9/22, 1981.

Майоров С.А., Новиков Г.И, Структура электронных вычислительных машин. Л.: Машиностроение, 1979, с. 31?-314, рис. 10.4.

Авторское свидетельство СССР по заявке № 3655521/24, 1984. (54)(57) МИКРОПРОГРАММНОЕ УСТРОЙСТВО

С .КОНТРОЛЕМ, содержащее блок памяти микрокоманд, регистр адреса и регистр микроопераций, мультиплексор, генератор тактовых импульсов, триггер пуска, триггер ошибки, коммутатор адреса и первый элемент ИЛИ, причем вход пуска устройства соединен с единичным входом триггера пуска, нулевой вход которого соединен с выходом первого элемента ИЛИ, выход триггера пуска соединен с входом пуска генератора тактовых импульсов, пер-, вый и второй выходы которого соединены с входами синхронизации регистра адреса и регистра микроопераций соответственно, выходы регистра адре. са соединены с соответствующими адресными входами блока памяти микрокоманд, выходы регистра микроопераций являются информационными выходами устройства соответственно, выход триггера ошибки соединен с первым входом первого элемента ИЛИ и является выходом ошибки устройства, выходы признаков "Конец работы" и "Конец команды" регистра микроопераций соединены соответственно с вторым входом первого элемента ИЛИ и управляющим входом коммутатора адреса, информационный выход которого соединен с информационным входом регистра адреса, входы кода операций устройства соединены с первой группой информационных входов коммутатора адреса, входы логических условий устройства соединены с группой информационных входов мультиплексора, выход немодифицируемой части адреса блока памяти микрокоманд соединен с вторым информационным входом коммутатора адреса, выходы микроопераций блока памяти микрокоманд соединены с информационными входами регистра микроопераций соответственно, выходы кода логических условий блока памяти микрокоманд соединены с соответственными управляющими входами мультиплексора, о тл и ч а ю щ е е с я тем, что, с целью повышения достоверности .контроля, оно дополнительно содержит коммутатор ошибки, сумматор по модулю два, два элемента И, второй элемент

ИЛИ, причем метки контролируемого логического условия и метки проверки контрольного логического условия блока памяти микрокоманд соединены соответственно с первым инверс-, ным входом и вторым инверсным входом первого элемента И, выход которого и выход признака "Конец команды"

1208556

I5

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

Цепью изобретения является повышение достоверности контроля.

Сущность изобретения состоит в расширении области применения устройства и повышении достоверности контроля за счет организации проверки системы микропрограммное устройство управления — объект управления с использованием информации о распределении сдвигов операторов (РСО).

Наличие РСО является одним из источников естественной информационной избыточности, который может быть использован для целей контроля взаимодействия устройства и объекта управления.

Суть РСО состоит в следующем, Ес.ли логическое условие не изменяет своего значения после выполнения оператора (микрокоманды) А;, то оно не входит в распределение сдвигов оператора А, т,е. принадлежит подмножеству В, . Если х входит в

РС0 А;, то возможны следующие ситуации: -х после выдачи А всегда

1 и устанавливается в "О", т.е. входит в подмножество В,;; х после выдачи А; всегда устанавлйвается в "1", т.е, входит в подмножество B x. после выдачи А„ всегда изменяет свое значение на противоположное, т.е. ки, информационный выход которого и второй выход генератора тактовых импульсов соединены соответственно с информационным и синхровходом триггера ошибки, информационный выход мультиплексора соединен с вторым вхоцом сумматора по модулю два и первым входом второго элемента И, вых:.:д которого соединен с первым входом второго элемента ИЛИ,выход модифицируемой части адреса. блока памяти микрокоманд соединен с вторым входом второ. го элемента ИЛИ, выход которого соединен с третьим информационным входом коммутатора адреса. входит в подмножество В;е, х после выдачи А ° может изменить свое значе( ние с вероятностью 1 > р > О °

Зная информацию об РСО, можно в ходе выполнения микропрограммы осуществлять проверку соответствия фактических значений логических условий их требуемым значениям. Для этого достаточно задать номер логического условия и его требуемое значение

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

Устройство содержит блок 1 памяти микрокоманд с разрядами немодифицируемой 1.1 и модифицируемой

1.2 частей адреса, микроопераций

1.3, первой 1,4 и второй 1.5 меток контролируемого логического условия и проверки контрольного логического условия соответственно и кода логических условий 1,6,регистры адреса 2 и микроопераций 3, мультиплексор 4, генератор 5 тактовых импульсов, триггеры 6 пуска и ошибки 7, коммутаторы 8 адреса 9 ошибки,»

3 12 первый 10 и второй 11 элементы И, первый 12 и второй 13 элементы ИЛИ, сумматор 14 по модулю два, входы 15 кода операции, 16 логических условий и 17 пуска устройства и выходьг

18 микроопераций (в том числе конца работы 18,1 и конца команды 18,2) и 19 ошибки устройства.

Блок 1 памяти микрокоманд предназначен для хранения кодов микрокоманд и имеет шесть выходов. Выход

1.1 адреса следующей микрокоманды подключен к соответствующим разрядам второго информационного входа коммутатора 8, На этом выходе считываются все разряды адреса, за исключением младшего модифицируемого разряда адреса (поле 1 ° 2) .

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

В полях 1.4 и 1.5 блока 1 записываются управляющие метки М < и М,причем М, = 1 (0), если значение контролируемого логического условия должно быть равно 1 (О), М = 1 (O), если осуществляется проверка контрольного (рабочего) логического условия. Кроме того, комбинацией М, М = 1О помечается начальная микрокоманда каждой микропрограммы.

Выход 1,3 микроопераций подключен к информационному входу регистра 3 микроопераций. Помимо внешних микроопераций, выдаваемых на выход 18 устройства, на выходе 1.3 блока 1 считы" ваются внутренние микрооперации "Конец команды" и "Конец работы". Каждая последняя микрокоманда микропрограммы содержит микрооперацию "Ко-нец команды", а последняя микрокоманда последней микропрограммы содержит, кроме того, микрооперацию "Конец работы". Эти микрооперации также поступают на информационный вход регистра 3 микроопераций, Блок 1 пред. ставляет собой запоминающее устройство статического типа, информация на выходах которого присутствует в течение всего времени наличия адреса микрокоманды на его входе.

Регистр 2 адреса предназначен для хранения адреса очередной микрокоманды, который поступает на его информационный вход с выхода коммутатора 6. Запись очередного адреса в регистр 2 адреса осуществляет08556 ся по заднему фронту импульса, посту пающего на синхровход регистра 2 адреса с первого выхода генератора 5 тактовых импульсов, Регистр 3 микроопераций предназначен .для хранения сигналов микроопераций, поступающих на его информационный вход с выхода 1..3 блока

1. Запись микроопераций в регистр 3

1ð осуществляется по заднему фронту тактового импульса, поступающего на синхровход регистра 3 с второго вы,хода генератора 5 тактовых импуль-! сов, Мультиплексор 4 осуществляет выделение значения того логического условия из поступающих на его информационный вход, номер которого указан в коде логических условий, поступающем на его управляющий вход с выхода 1.6 блока 1.

Генератор 5 тактовых импульсов формирует на первом и втором выходах последовательности сдвинутых друг относительно друга тактовых импульсов, которые обеспечивают синхронизацию работы всех элементов устройства. Формирование последовательностей импульсов на выходах генератора 5 тактовых импульсов производится толь30 ко при наличии единичного сигнала на его управляющем входе.

Триггер 6 пуска управляет работой генератора 5 тактовых импульсов. Он устанавливается в единичное состояние

35 при поступлении единичного сигнала . на вход 17 пуска устройства. Единичный сигнал на выходе триггера 6 разрешает функционирование генератора

5 тактовых импульсов, Триггер 6 пус40 ка устанавливается в нулевое состояние при поступлении Ha его R -вход через элемент ИЛИ 13 сигнала микрооперации "Конец работы", который фор мируется на выходе 18.1 регистра 3

45 микрооперации, либо сигнала ошибки, который формируется на выходе триггера 7 ошибки.

Триггер 7 ошибки предназначен для фиксации ошибки в работе устрой50 ства и устанавливается в единичное состояние при наличии "1" на выходе коммутатора 9 по заднему фронту импульса с второго выхода генератора 5.

Коммутатор 8 предназначен для передачи на вход регистра 2 адреса кода операции, поступающего на вход

15 устройства, либо адреса очередl?0855

20 ной микрокоманды, поступающего с адресного 1.1 выхода блока и выхода элемента ИЛИ 13 (младттий модифицированный разряд адреса), Коммутация кода операции на вход регистра 2

5 адреса осуществляется при единичном сигнале, поступающем на управляющий вход коммутатора 8.

Коммутатор 9 ошибки выдает единичный сигнал в соответствии со следую- !О

lDpH o e l Aóíêöèåé (М,От) М +K,М М где х — фактическое значение контрольk l5 ного логического условия;

К вЂ” сигнал конца командь|.

Таким образом, сигнал ошибки формируется при несовпадении значения метки M (требуемого значения конт1 рольного логического условия ) и х„, если М = 1; при отсутствии сигнала конца команды в регистре 3 после обращения к микрокоманде, помеченной комбинацией М, = 1, М = 0; при отсутствии в микрокоманде, следующей после последней микрокоманды микропрограммы с сигналом К = 1, комбинации меток М М

Зпемент И 10 предназначен для фор,мирон ания к онъюнк ции меток M < М

Злемент И 11 осуществляет управление передачей значения логтческого условия для модификации младшего адресного разряда на элементе ИЛИ 13

При М = 1 цепь модификации адреса. блокируется. Так как во всех микрокомандах ветвления записывается адрес с младшим разрядом а = О, то его модификация заключается в за40 мене ао значением того логического условия, которое проверяется при реализации ветвления. Сумматор 14 по модулю два осуществляет сравнение значений сигналов M 1и х

Предлагаемое устройство работает следующим образом.

В исходном состоянии все элементы памяти установлены в нуль, В единичном состоянии находится только один триггер регистра 3, которому соответ- 50 ствует выход 18.2 микрооперации конца команды (цепи установки исходного условно не показаны).

Работа устройства начинается после поступления на вход 17 сигнала "Пуск" по которому устаттавливaeтся в единичное состояние триггер 6. По первому тактовому импульсу с первого выхода

6 Ь генератора 5 в регистр 2 заносится код с входа 15. Зтот код записывается в регистр 2 через коммутатор 8, на управляющий вход которого подается единичный сигнал с выхода 18.2 регистра 3. . Затем по тактовому импульсу с вто. рого выхода генератора 5 в регистр

3 заносится часть кода первой микрокоманды, состоящая из кода микрооттераций. По заднему фронту этого импульса исчезает единичный сигнал на выходе 18.2 регистра 3, и в триггер

7 ошибки записывается единичный или нулевой сигнал, Единичный сигнал в этот триггер записывается в том случае, если обращается в единицу выражение (1). В данной ситуации это произойдет в том случае, если в первой микрокоманде в полях

1.4 и 1.5 записана комбинация, отличная от комбинации 10, что свидетельствует об искажении кода. операции либо об отказе (сбое) адресных цепей устройства, Если триггер 7 остается в нулевом сос -оянии, то триггер 6 не изменяет своего единичного состояния, и в регистр 2 по второму импульсу с выхода генератора 5 записывается адрес следующей микрокоманды. Зтот адрес поступает в регистр 2 с выхода 1 блока l (немодифицируемая часть) через коммутатор 8, на управляющий вход которого подается нулевой потенциал с выходя 18.2 регистра 3. Если данная микрокоманда не является микрокомандой ветвления, то младший модифицируемый адресный разряд проходит на вход элемента ИЛИ 13 и далее в регистр 2 адреса без изменения.

По второму тактовому импульсу с выхода генератора 7 коды микроопераций заносятся в регистр 3, и далее работа устройства продолжается аналогично описанному.

В микрокомандах ветвления код логических условий поступает с поля

1 6 в мультиплексор 4, на выход которого проходит значение проверяемого условия. Этот сигнал через открытый элемент И 11 постуттает на элемент

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

1208556

О если (x„f B„,)9(x„(t-1) =0 x„E 8; $v(x„(k-1) 1, х„Е 8;,); х„

1, если (x„e B;,1÷(õê(t-

После считывания в регистр 3 микроаперации конца работы сигналом с выхода 18.1 через элемент ИЛИ 12 обнуляется триггер 6, и работа устройства прекращается до подачи следующего сигнала "Пуск", В процессе функционирования устройства вследствие отказов (сбоев) возможен ошибочный переход на началь>ную микрокоманду мйкропрограммы.

:В этом случае появляется единичный сигнал на выходе элемента

И 10. Поскольку сигнал на выходе 18.1 равен нулю,тообращается в"1" коньюк, ция М, И К„входящаяв выражение 1, и триггер 7 фиксирует ошибку. где х (t -1) — значение логического условия х„в предыдущем такте или при последующем ветвлении.

Если значения х„и М; не совпадают, то это говорит

Для контроля правильности взаимо. действия предлагаемого устройства с объектом управления и повышения достоверности функционирования в линейных микрокомандах в поле 1.6 задается код (номер ) контрольного логического условия х„, В этом случае в поле 1.5 записывается метка

М = 1, которая блокирует с помощью

10 элемента И 11 цепь модификации адреса (для того, чтобы не нарушить нормальный ход микропрограммы), а в поле 1.6 записывается требуемое зна

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

1208556

Составитель А,,Сиротская

Техред Т. Тулик

Редактор Л.Веселовская

Корректор С.Шекмар

Филиал ППП "Патент", г.ужгород, ул.Проектная, 4

Заказ 289/58 Тираж 673 Подписное

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

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

Микропрограммное устройство с контролем Микропрограммное устройство с контролем Микропрограммное устройство с контролем Микропрограммное устройство с контролем Микропрограммное устройство с контролем Микропрограммное устройство с контролем 

 

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

Микропрограммное устройство с контролем

Наверх