(54 ) М ИКРСЭТРСГРАММ НОЕ УСТРОЙСТВО УПРАВЛЕНИЯ С КОНТРОЛЕМ ПЕРЕХОДСв . Изобретение относится к вычистштель ной технике, а именно к устройствам программного и микропрограммного управления повьпиенной надежности. Известно микропрограммное устрюйст- во с контролем переходов, в которе для проверки правильности обращения по;вдресу в каждом из слов микропрограммы записывается бит обшей четности для информационной и адресной частей микрокоманды. После считывания даииых контрольиый код адреса вычитается из считанного общего контрольного кода, после чего формируется контрольный код числа и сравнивается с кодом, полученным пос- ле вычитания С 1 5. Контроль по четности этого устройства не позволяет выявить все возможные отклонения от правильного выполнения микропрограммы, так как для контроля по модулю два характерна высокая- вероятность пропуска ошибки - 0,5, а необходимость запоминания контрольных кодов обуславливает увеличение разрядности всех слов аапсминаюшего устройства, что ведет к значительным затратам обору до- . вания. На ход выполнения микропрограмм решающее значение оказывает правильность выполнения микрокоманд условного перехода (модификации текущего адреса в соответствии со зиачением опрошенного логического условия), поэтому существенным жазывается праксльность записи хранения, считывания и. дальнейшего использования кода номера логического условия. Применение в рассмотрешюм устрЫ)стве для проверки правильности записи и использова{шя кода (ера л огического условия контроля по модулю поЁре- чет за собойеще больший рост, разрядных цепей и потребует схем свертки, ио не позволит достичь существенного повышения обнаруживающей) .способности. Повьпиение обнаруживающей способности пу тем увеличения модуля конт{хм1я приведет к еще 5ошзшим: аппаратурным затратам (увеличению разрядиости всех слов памя- . ти микрокоманд), при этом обнаружившо398щая спосоОнсють увеличивается незначительно. Так, для контроля по модулю три необходимы уж два контрольных разряда в слове, а вероятность пропуска ошибки остается высокой - 0,33. Контроль правильности опроса значений логических условий MoxtHo проводить в микропрограм1м- ных устройствах известным методом: дублирование аппаратуры выбора значений логических условий. Однако дублирование в сочетании с контролем по модулю требует значительных аппаратурных затрат. Наиболее близким к предлагаемому по технической сущности является : икpoпpoграммное устройство управления с контролем переходов, содержащее блок, памяти микропрограмм, регистр адреса, регистр микрокоманд, блок сравнения, блок упрашхения переходами и сдвигающий регистр. В данном устройстве с целью контроля порядка следования микрокоманд в микропрограмму введены специальные контроль ные микрокоманды, содержащие контрольную информацию для соответствующих, участков исходной микропрограммы.Конт- рольный код участка алгоритма формируется на основе структуры конкретного участка с учетом порядка, следования мик рокоманд условного и безусловного перехода, значений опрашиваемых на участке логических условий и представляет собой последовательность нулей и единиц, где 1 соответствует единичному значению оп рашиваемого логического условия, а О нулевому значению логического условия и безусловному переходу. В процессе исполнения микропрограммы на сдвигающем регистре формируется контрольная информация о реальном вы-i полняемом участке, которая в конце учас ка сравнивается со считанным из памяти контрольным кодом. Использование в качестве контрольных кодов информации о структуре выполняемых участков микропрограммы увеличивает обнаруживающую способность данного устройства по сравнению с рассмотренными выше и поз воляет обнаружить практически все ошибки, связанные с ложными переходами вну ри одного контролируемого участка, а также ложные переходы на новые участки микропрограммы. Исключение составляют ложные переходы на смежные участ ки в местах разветвлений. Достижение высокой обнаруживающей способности получено при сравнительно небольших затратах дополнительного оборудования f 2J 7 Однако в данном устройстве не контролируется правильность записи, хранения и считывания кода номера логического условия и работа блока управления переходами. Повысить обнаруживающую способность устройства можно было бы рассмотренными выше известными методами, т.е. для контроля записи .и считывания кода номера логического условия использовать контроль по модулю, а для контроля блока управления переходами - дублирование. Такое решение является неэффективным, так как контроль по модулю требует разрядных цепей основной памяти и применения схем сварки, что совместно с дублированием блока управления переходами потребует значительных затрат ; оборудования, которые будут расти с уве-j личением модуля контроля. Применение же с целью уменьшения оборудования малого модуля контроля (два или три) дает недостаточную обнару живаюшую способность. Цель изобретения - повышение эффективности контроля за счет повышения обнаруживающей способности устройства при меньших аппаратурных затратах. Поставленная цель достигается тем, что в микропрограммное устройство управления с контролем переходов, содержащее блок памяти микрокоманд, регистр адреса, регистр микрокоманд, дешифратор микрокоманд, дешифратор логических условий, первый коммутатор и первый блок сравнения, сдвигающий регистр и элемент НЕ, причем выход первого коммутатора соединен с информационным входом сдвигающего регистра и первым входом регистра адреса, выг.од которого соединен с входом блока памяти микрокоманд, выход блока памяти микрокоманд соединен с входом регистра микрокоманд, первый, второй третий и четвертый выходы которого соединены соответственно с вторым входом регистра адреса, с входом дешифратора логических условий, с входом дешифратора микрокоманд, с первым входом первого блока сравнения, выход дешифратора микрокоманд соединей с входом элемента НЕ и управляющим входрм первого блока сравнения, выход которого соединен с входом сдвига сдав гаюшего регистра, выход дешифратора логических условий соединен с первым информационным входом первого коммутатора, выход которого соединен с установочным входом сдвигающего регистра, выход элем1еита HE соединен с управляющим входом первого коммутатора, второй ин- формашюнный вход которого соединен с входом логических условий устройства, введены второй блок сравнения, сумматор по модулю два, второй коммутатор, первый и второй блоки элементов И, блок элементов ИЛИ и элемент ИЛИ, причем пятый выход регистра микрокоманд и выход дешифратора микрокоманд соединены соответственно с первым и вторым входами первого блока элементов И, выход которого соединен с первым входом блока элементов ИЛИ, выход которого соединен с информационным входом сумматора по модулю два, управляющий вход которого соединен с выходом дешифратор . ра микрокоманд, выходы дешифратора логических условий и элемент НЕ соединены соответственно с первыми и вторыми входами второго блока элементов И, выход которого соединен.. с первым входом второго коммутатора и вторым входом блока элементов ИЛИ, вход логических условий устройства, соединен с вторым входом второго коммутатора, выход кото рого соединен с первым входом второго блока сравнения, первого разряда сдвигающего регистра соединен с вторым входом второго блока сравнения, выходы сумматора по модулю два первого и второго блоков сравнения соединены соответ ственно с первым, вторым и третьим входами элемента ИЛИ, выход которого является выходом устройства. На чертеже приведена схема микропрограммного устройства управления с контролем переходов. В устройство входят блок. 1 памяти микрокоманд, регистр 2 адреса, регистр 3 микрокоманд, дешифратор 4 логичес ких условий и дешифратор 5 микрокоманд сдвигающий регистр 6, коммутаторы 7 и 8, блоки 9 и 10 элементов И, блок 11 и 12 сравнения, сумматор 13 по модулю два, элемент НЕ 14, блок элементов ИЛИ 15, элемент ИЛИ 16. Единичное значение выхода дешифрато ра 5 микрокоманд соответствует выполнению контрольной микрокслланды. Если реализуемая микрокоманда не является контрольной, нулевое значение выхода де шифратора 5 блокирует передачу сигнала ошибки с сумматора 13 на элемент ИЛИ 16 и передачу кодов с регистра 3 микрокоманд на блок 12 сравнения и сумматор 13. Лля повышения эффектиетости контроля Хода микропрограмм в них введены 9 876 контрольные микрокоманды, позволяющие прокоятролировать выполнение участков микропрограммы. Контрольные микрокоманды размещаются в конце соответствующих участков и состоят из двух групп контрольных разрядов. Первая группа контрольных разрядов соответствует контрольному коду для участка микропрограммы, описанному в прототипе. Вторая группа контрольных разрядов содержит информацию о номерах опрашиваемых на участке логических условий. При этомразрядность второй группы соответствует числу различных логических условий в микропрограмме и наличие еди- ницы в какой-либо позиции указывает на номер опрашиваемого на данном участке логического условия. Общее число разрядов контрольного слова соответствует сумме числа микрокоманд ксжтролируемого участка и количества различных логических условий в микропрограмме. Сдвигающий регистр 6 и сумматор 13 предназначены для формирования и хранения контрольной информации о реализуемых участках микропрограм1 а 1; При этом к мснленту шлполнения контрольной микрокоманды в конце участка содержимое регистра 6 соответствует реальной последовательности выполнения микрокоманд безусловного и условного (опроса логических условий) перехода. Содержимое сумматора 13 схютветствует номерам реально опрошенных на участке логических условий. Например, после безошибочного выполнения последовательности микрокоманд Xg V x,X;jV, х,( микрокоманды безусловного перехода, х X.J - микрокоманды условного перехода по нулевым и единичньд значениям логических условий х ) микропрограммы, обрабатывающей 9 различных логических условий, содержимое сдвигающего регистра 6) и сумматора 13 соответственно равно 1О01ООО и 011ОИООО. Устройство работает следующим образом. Если при вьшолнении микропрограммы считана микрокоманда условного перехода, то после дешифрации номера опращиваемого логического условия дешифратором 4 состояние выходов этого дешифратора (унитарный код с единицей в позиции опрошенного условия) передается с выхода блока 9 элементЬов И через блок 15 элементов ИЛИ на сумматор 13 и складывается по модулю Два с его содержимым. В то же время значение опрощенного логического уело- ВИЯ с выхода коммутатора 7 подается на регистр 2 адреса для модификации адреса следующей микрокоманды. Одновременно это значение- (1 или О) поступает на информационный вход сдвигающего регистpa 6 и со сдвигом записывается в его первый разряд. После записи значение первого разряда сдвигающего регистра подается на первый вход блока 11 сравнения. На второй вход блока 11 сравнения через коммутатор 8 поступает значение опрошенного логического условия в соответствии с выходом дешифратора 4. На второй вход коммутатора 8 через блок 9 элементов И подается информация с вы хода дешифратора логических условий. Такое построение схемь позволяет проверить правильность считывания, передачи и записи в сдвигающий регистр значения опрошенного логического условия. При заПиси в первый разряд сдвигающего регистра 6 значения, не соответствующего состоянию опрошенного разряда регистра логических условий, на выходе блока 11 сравнения вырабатывается сигнал ошибки, поступающий на элемент ИЛИ 16, единичное значение выхода которой блокирует работу устройства. Если считана микрокоманда безусловного, перехода, в сдвигающем регистре 6 производится сдв)дг информации с записью нуля в первый разр5Щ. При этом на сумматор 13 никакой кнформагши не поступает. При вьшолнении контрольной микрокоманды (на выхо/ е дешифратора 5 - едини«а) первая группа контрольных разрядов подается на первый .вход блока 12 сравнения, а вторая группа - передается через блок 10 элементов И на вход сумматора 13 и складывается по модулю fl&a с его содержимым. Если выполнении .участка отсутствовали ошибки лояоюго перехода на другие фрагменты микропрограммы, либо ложные переходы внутри участка, то на выходе блока сравнения 12 появляется сигнал (нулевой) отсутствия ошибки, устанавливающий регистр 6 Б противном случае сигнал наличия ошибки подается на вход элемента ИЛИ 16. Волн при выполнении участка отсутствова ли ошибки записи, хранения, считьюания и дешифрации кодов номеров опрашиваемы на участке логических условий, то содержимое сумматора 13 дет нулевым, чтр свидетельствует о совпадении номеров реально опрошеншлх логических условий с эталонным KOHfрольным кодом на регис ре 3 микрокоманд. В случае, если в результате ошибки произошел опрос логического условия, которого не было на участке, то на сумматоре 13 фиксируются две единицы, одна из которых соответствует номеру ошибочно пропущенного, а другая - ошибочно опрошенного логического условия. При этом с выхода сумматора 13 подается сигнал ошибки на элемент ИЛИ 16. Счиытвание информации накапливающего сумматора осуществляется только в период вьшолнения контрольной микрокоманды по сигналу от дешифрагтора контрольной микрокоманды. При отсутствии описанных вЫше ошибок производится считъгеание и вьшолнение очередной микрокоманды. Таким образом, предлагаемое устройрство позволяет не только эффективно обнаружить ошибки ложных переходов, но и с меньшими затратами выявить все ошибки, связанные с неправильной записью, зфанением, считыванием и дешифрацией кодов номеров логических условий, а также оперативно определить неправльный опрос и запись в сдвигающий регистр 6 значений логических условий. Достоинством предлагаемого устройства является то, что оно может быть эффективно исполЕ)Зовано не только для конт роля правильности вьшолнения микропрограмм в процессе эксплуатации устройства, но и для проверки правильности записи в памяти микрокоманд, т.. е. для отладки микропрограмм. Простота отладки достигается за счет введения дополнительных блоков, которые упрощают локализацию места ошибки. Так при наличии ошибки замены номера логического условия оператор, ведущий отладку, может не только предполагать причину ошибки (неверная запись в память, считывание из памяти, декодирование номера логического условия), но и сопоставлением содержимого сумматора 13 с регистром 3 микрокоманд может точно определить логическое условие, номер которого был воспринят неверно. Установление факта неправильного считывания значения логического условия позволяет (этеративно выявить ошибку по считыванию и передаче на выход значения логического условия, номер которого легко определить по значению кода номера логических на регистре 3 микрокоманд. Таким образом, изобретение позволяет достичь более высокой обнаружнвакядей способности меньшими аппаратными 3ai ратами н тем самым повысить эффективность контроля. 99 Значительный эффект может дать применение предлагаемого устройства при микропрограммном и программном управлении реальными объектами для которых требуется высокая вероятность правилыного выполнения управляющих программ и наличие оперативных и гибких средств их отладки. формула изобретения Микропрограммное устройство управления с контролем переходов, содержащее блок памяти микрокоманд, регистр адреса регистр мтсрокоманд, дешифратор микрокоманд, дешифратор логических условий, первый коммутатор, первый блок сравнения, сдвигающий регистр и элемент НЕ, причем выход первого коммутатора соеди нен с информационным входом сдвигающего регистра и первым входом регистра ад реса, выход которого соединен с входом блока памяти микрокоманд, выход блока памяти микрокоманд соединен с входом регистра микрокоманд, первый, второй, третий и четвертый выходы которого соединены соответственно с вторым входом регистра адреса, с входом дешифратора логических условий, с входом дешкфратора микрокоманд, с первым входом первсм го блока сравнения, выход дешифратора микрокоманд соединен с входом элемента НЕ и с управляющим входом первого блока сравнения, выход которого соединен с входом сдвига сдвигающего регистра, выход дешифратора логических условий соединен с первым информационным входом первого коммутатора, выход которого соединен с установочным входом сдвигаю- щего регистра, выход элемента НЕ соеди . нен с управл5Пошим входом первого коммутатора, второй информационный вход которого соединен с входом логических условий устройства, отличающеес я тем, что, с целью повьшения эффективности контроля, в устройство введены второй блок сравнения, сумматор по модулю два, второй коммутатор, первый и второй блоки элементе И, блок элементов ИЛИ и элемент ИЛИ, причем пятый выход регистра микрокоманд и выход дешифратора микрокоманд соединены соот ветственно с первым я вторым входами первого блока алементов И, выход которого соединен с первым входом блока элементов ИЛИ, выход которого соединен с информационным входом сумматора по модулю два, управляющий вход которого соединен с выходом дешифратора микрокоманд, выходы дешифратора логических условий и элемента НЕ соединены соответственно с первыми и вторыми входами второго блока элементов И, выход которого соединен с первым входом второго коммутатора и вторым входом блока элементов ИЛИ, вход логических условий устройства соединен с вторым входом второго коммутатора, выход которого соединен с первым входом второго блока сравнения, выход первого разряда сдвигающего регистра соединен с вторым входом второго блока сравнения, выходы сумматора по модулю два первого и второго блоков сравнения соединены соответственно с первым, вторым и третьим входами элемента ИЛИ, выход которого является вы ходом устройства. Источники информации, принятые во внимание при экспертизе 1.Патент США № 3789204, кл. G 06 К 11/ОО, опублик. 1974. 2.Авторское свидетельство СССР N9 711573, кп. GO6 F 9/14, 1980 (прототип).
название | год | авторы | номер документа |
---|---|---|---|
Микропрограммное устройство управления | 1981 |
|
SU968814A1 |
Микропрограммное устройство с контролем переходов | 1981 |
|
SU972508A2 |
Микропрограммное устройство управления | 1981 |
|
SU1015383A1 |
Микропрограммное устройство управления с контролем | 1989 |
|
SU1702370A1 |
Мультимикропрограммная управляющая система с контролем и восстановлением | 1988 |
|
SU1704147A1 |
Микропрограммное устройство управления | 1986 |
|
SU1310818A1 |
Микропрограммное устройство с контролем | 1984 |
|
SU1208556A1 |
Микропрограммное устройство управления | 1983 |
|
SU1100625A1 |
Микропрограммное устройство управления с контролем | 1980 |
|
SU920727A1 |
Микропрограммное устройство с контролем переходов | 1977 |
|
SU711573A1 |
Авторы
Даты
1982-12-30—Публикация
1981-07-15—Подача