Микропрограммное устройство управления с контролем переходов
Иллюстрации
Показать всеРеферат
ОП ИСАНИЕ
ИЗОВЕЕтЕНИЯ
К АВТОРСКОМУ СВИДЕТЕЛЬСТВУ (iii985787
Союз Советских
Социалистических республик (6l ) Дополнительное к авт, свид-ву— (51)N. Кл.
0 06 F 9/22
G06 F 11/16 (22) Заявлено 15.07.81 (21) 3317087/18-24 с присоединением заявки М—
Гвеудзрстхевкьйт. ммктет .
CCCP вв аеим кзебретвикк в вткрвпкй (23) Пркоритет— (53) УДК681.3 (088.8) Опубликовано 30. 12.82. Бюллетень М 48
Дата опубликования описания30.12.82.
В. А. Колосков, Г; П. Колоскова. Н, Н. и А, П. Тнпикин / л
/
Курский политехнический инсщтут,:(72) Авторьа изобретения (7I) Заявитель (54) М ИКРОПРОГРАММ НОЕ УСТРОЙСТВО
УПРАВЛЕНИЯ С КОНТРОЛЕМ ПЕРЕКОДОВ
:1
Изобретение относится к вычислительной технике, а именно к устройствам программного и микропрограммного управления повышенной надежности.
Известно микропрограммное устройство с контролем переходов, в котором для проверки правильности обращения по,адресу в каждом иэ слов микропрограммы записывается бит обшей четности для информапнонной и адресной частей микрокоманды. После считывания данных контрольный код адреса вычитается иэ считанного общего контрольного кода, после чего формируется контрольный код числа и сравнивается с кодом, полученным пос» ле вычитания I. 1 j.
Контроль по четности этого устройства не позволяет выявить все возможные отклонения от правильного выполнения микропрограммы, так как для контроля по модулю два характерна высокая веро- ятность пропуска ошибки - 0,5, а необходимость запоминания контрольных кодов обуславливает увеличение разрядности
2 всех слов запоминающего устройства, что ведет к значительным затратам оборудования. На ход выполнения микропрограмм решающее значение оказывает правильность выпятнения микрокоманд условного
S перехода (модифнкапни текущего адреса в соответствии со значением опрошенного логического условия), поэтому сущест венным оказывается правильность записи, хранения, считывания и, дальнейшего ис« пользования кода номера логического ус;ловия. Применение в рассмотренном устройстве для проверки правильностй записи и использования кода номера логического условия контроля по модулю пощтечет за собой еше больший рост. разрядных пеней и потребует схем сверткй, но не позволит достичь существенного повышения обнаруживающей! .способности. По20 вышение обнаруживающей способности пу . тем увеличения модуля контроля приведет к еше -большим. аппаратурным затратам (увеличению разрядности всех слов паьп - . ти мнкрокоманд), при этом обнаруживаю3 98578 щая спосооность увеличивается незначительно.
Так, для контроля по модулю три необходимы уж два контрольных разряда в слове, а вероятность пропуска ошибки остается высокой — 0,33 ° Контроль правильности опроса значений логических условий Mo>lcHo проводить в микропрограМмных устройствах известным методом: дублирование аппаратуры выбора значений 30 логических условий. Однако дублирование в сочетании с контролем по модулю требует значи тельных аппаратурных затрат.
Наиболее близким к предлагаемому по технической сущности является микропро- g граммное устройство управления с контролем переходов, содер>кащее блок,памяти ми кропрограмм, реги с тр адреса, регистр микрокоманд, блок сравнения, блок управления переходами и сдвигающий регистр.
B данном устройстве с целью контроля порядка следования микрокоманд в микропрограмму введены специальные контрольные микрокоманды, содержащие контроль- ную информацию для соответствующих участков исходной микропрограммы. Контрольный код участка алгоритма формиру-. ется на основе структуры конкретного участка с учетом порядка, следования микрокоманд условного и безусловного перехода, значений опрашиваемых на участке логических условий и представляет собой последовательность нулей и единиц, где
1 соответствует единичному значению опрашиваемого логического условия, а 035 нулевому значению логического условия и безусловному переходу.
В процессе исполнения микропрограм- мы на сдвигающем регистре формируется
40 контрольная информация о реальном Вы
1 полняемом участке, которая в конце участка сравнивается со считанным из памяти контрольным кодом. Использование в качестве контрольных кодов информации
45 о структуре выполняемых участков микропрограммы увеличивает обнаруживающую способность данного устройства по сравнению с рассмотренными выше и позволяет обнаружить практически все ошибки, связанные с ложными переходами внут
50 ри одного контролируемого участка, а также ложные переходы на новые участки микропрограммы. Исключение составляют ложные переходы на смежные участ» ки в местах разветвлений. Йостижение высокой обнаруживающей способности получено при сравнительно небольших затратах допслнительйого оборудования f 2j, 7 4
Однако в данном устройстве не контролируется правильность записи, хранения и считывания кода номера логического условия и работа блока управления переходами.
Повысить обнаруживаюшую способность устройства можно было бы рассмотренными выше известными методами, т.е. для контроля записи .и считывания кода номера логического условия использовать конт» роль по модулю, а для контроля блока управления переходами — дублирование, Такое решение является неэффективным, так как контроль по модулю требует роста разрядных цепей основной памяти и применения схем сварки, что совместно с дублированием блока управления переходами потребует значительных затрат оборудования, которые будут расти с уве- личением модуля контроля. Применение же с целью уменьшения оборудования малого модуля контроля (два или три) дает недостаточную обнаруживающую способнос ть.
Ue>nь изобретения - повышение эффективности контроля эа счет повышения об» наруживаюшей способности устройства при меньших аппаратурных затратах.
Поставленная цель достигается тем, что в микропрограммное устройство управления с контролем переходов, содержащее блок памяти микрокоманд, регистр адреса, регистр микрокоманд, дешифратор микрокоманд, дешифратор логическйх условий, первый коммутатор и первый блок сравнения, сдвигающий регистр и элемент НЕ, причем выход первого коммутатора соединен с информационным входом сдвигаюшего регистра и первым входом регистра адреса, вы:-од которого соединен с входом блока памяти микрокоманд, выход блока памяти микрокоманд соединен с входом регистра микрокоманц, первый, второй третий и. четвертый выходы которого соединены соответственно с вторым входом регистра адреса, с входом дешифратора логических условий, с входом дешифратора микрокоманд, с первым входом первого блока сравнения, вы« ход дешифратора микрокоманд соединен с входом элемента HE и управляюшим входом первого блока сравнения, выход которого соединен с входом сдвига сдвиг гаюшего регистра, выход дешифратора логических условий соединен с первым информационным входом первого коммутатора, выход которого соединен с установочным входом сдвигаюшего регистра, выход
5 9857 элемента HE соединен с управляющим входом первого коммутатора, второй информационный вход которого соединен с входом логических условий устройства, введены второй блок сравнения, сумматор по модулю два, второй- коммутатор, первый и.второй блоки элементов И, блок элементов ИЛИ и элемент ИЛИ, причем пятый выход регистра микрокоманд и выход дешифратора микрокоманд соедине- 10 ны соответственно с первым и вторым входами первого блока элементов И, выход которого соединен с первым входом блока элементов ИЛИ, выход которого соединен с информационным входом сумматора по модулю два, управляющий вход которого соединен с выходом дешифрато. ра микрокоманд, выходы дешифратора логических условий и элемент IE соединены соответственно с первыми и вторыми 20 входами второго блока элементов И, выход которого соединен. с первым входом второго коммутатора и вторым входом блока элементов ИЛИ, вход логических условий устройства, соединен с вторым 25 входом второго коммутатора, выход кото-. рого соединен с первым входом второго блока сравнения, выход первого разряда сдвигаюшего регистра соединен с вторым входом второго блока сравнения, выходы сумматора по модулю asa первого и второго блоков сравнения соединены соответственно с первым, вторым и третьим входами элемента ИЛИ, выход которого является выходом устройства.
На чертеже приведена схема микропрограммного устройства управления с контролем переходов.
В устройство входят блок 1 памяти микрокоманд, регистр 2 адреса, регистр
3 микрокоманд, дешифратор 4 логичес ких условий и дешифратор 5 микрокоманд. сдвигающий регистр 6, коммутаторы 7 и
8, блоки 9 и 10 элементов И, блок 11 и 12 сравнения, сумматор 13 по моду45 лю два, элемент НЕ 14, блок элементов
ИЛИ 15, элемент ИЛИ 16.
Единичное значение выхода дешифратора 5 микрокоманд соответствует выполнению контрольной микрокоманды. Если
50 реализуемая микрокоманда не является контрольной, нулевое значение выхода дешифратора 5 блокирует передачу сигнала ошибки с сумматора 13 на элемент ИЛИ
16 и передачу кодов с регистра 3 микрокоманд на блок 12 сравнения и сумма55 тор 13.
Для повышения эффективности контроля хода микропрограмм в них введены
87 6 контрольные микрокоманды, позволяющие проконтролировать выполнение участков, микропрограммы. Контрольные микрокоманды размещаются в конце соответствующих участков и состоят из двух групп контрольных разрядов. Первая группа контрольных разрядов соответствует контрольному коду для участка микропрограммы, описанному в прототипе.
Вторая группа контрольных разрядов содержит информацию о номерах опрашиваемых на участке логических условий.
При этом*разрядность второй группы-соответствует числу различных логических условий в микропрограмме и наличие еди-. ницы в какой-либо позиции указывает на номер опрашиваемого на данном участке логического условия. Общее число разрядов контрольного слова соответствует сумме числа микрокоманд контролируемого участка и количества различных логических условий в микропрограмме.
Сдвигающий регистр 6 и сумматор 13 предназначены для формирования и хранения контрольной информации о реализуемых участках микропрограммы. При этом к моменту выполнения контрольной микрокоманды в конце участка содержимое регистра 6 соответствует реальной последовательности выполнения микрокоманд безусловного и условного (опроса логических условий) перехода. Содержимое сумматора 1 3 соответствует номерам реально опрошенных на участке логических условий. Например, после безошибочного выполнения последовательности микЪ рокоманд хб 1 Х2 ха 2 х 3 > ми рокома » ды безусловного перехода, x „- -х — мик-1 рокоманцы условного перехода по нуле-. вым и единичньцм значениям логических условий х ) микропрограммы, обрабатывающей 9 различных логических условий, содержимое сдвигающего регистра 6i и сумматора 13 соответственно равно
1001000 и 01101 1000.
Устройство работает следующим образом. 1
Если при выполнении микропрограммы считана микрокоманда условного перехода, то после дешифрации номера опрашиваемого логического условия дешифратором 4 состояние выходов этого дешифратора (унитарный код с единицей в позиции опрошенного условия) передается с выхода блока 9 элементов И через блок 15 зпементов ИЛИ на сумматор 13 и складывается по модулю два с его содержимым. В то же время значение опрошенного логического усло7 9857 вия с выхода коммутатора 7 подается на регистр 2 адреса для модификации адреса следующей микрокоманды. Одновременно это значение. (1 или 0) поступает на информационный вход сдвигаюшего регист- ра 6 и со сдвигом записывается в его первый разряд. После записи значение первого разряда сдвигаюшего регистра подается на первый вход блока 11 сравнения. На второй вход блока 11 сравнения 1р через коммутатор 8 поступает значение опрошенного логического условия в coom ветствии с выходом дешнфратора 4. На второй вход коммутатора 8 через блок
9 элементов И подается информация .с вы- g хода дешифратора логических условий. Такое построение схемы позволяет, проверить правильность считывания, передачи и записи в сдвигающий регистр значения опрошенного логического условия. Прн за2п писи в первый разряд сдвигающего регистра 6 значения, не соответствующего, состоянию опрошенного разряда регистра логических условий, на выходе блока 11 сравнения вырабатывается сигнал ошибки, у поступающий на элемент ИЛИ 16, единичное значение выхода которой блокирует работу устройства.
Если считана микрокоманда безусловного. перехода, в сдвигаюшем регистре 6 щ производится сдвиг информации с записью нуля в первый разряд. При этом на сумматор 13 никакой информации не поступает. При выполнении контрольной микроко- 35 манды (на выходе дешифратора 5 - esln-: ница) первая группа контрольных разрядов подается на первый, вход блока 12 сравнения, а вторая группа - передается через блок 10 элементов И на вход сум- матора 13 и складывается по модулю два с его содержимым. Если при выполнении .участка отсутствовали ошибки ложного перехода на другие фрагменты микропрограммы, либо ложные переходы внутри участка, то на выходе блока сравнения 12 появляется сигнал (нулевой) отсутствия ошибки, устанавливающий регистр 6 в 1 .
В противном случае сигнал наличия ошибки подается на вход элемента ИЛИ 16.
Если прн выполнении участка отсутствова ли ошибки записи, хранения, считывания и дешифрации кодов номеров опрашиваемых на участке логических условий, то содержимое сумматора 13 будет нулевым, что, свидетельствует о совпадении номеров. реально опрошенных логических условий с эталонным контрольным кодом íà регистр ре 3 микрокоманд. В случае, если в результате ошибки произошел опрос логического условия, которого не было на участке, то на сумматоре 13 фиксируются две единицы, одна из которых соответствует номеру ошибочно пропущенного, а другая — ошибочно опрошенного логического условия, При этом с выхода сумматора 13 подается сигнал ошибки на элемент ИЛИ 16. Счиытвание информации накапливающего сумматора осуществляется только в период выполнения контроль ной микрокоманды по сигналу от дешифратора контрольной микрокоманды.
При отсутствии отписанных выше ошибок производится считывание и выполнение очередной микрокоманды.
Таким образом, предлагаемое устройство позволяет не только эффективно обнаружить ошибки ложных переходов, но и с меньшими затратами выявить все ошибки, связанные с неправильной записью, хранением, считыванием и дешифрацией кодов номеров логических условий, а также оперативно определить неправльный опрос и запись в сдвигающий регистр 6 значений логических условий.
Лостоинством предлагаемого устройства является то, что оно может быть эффективно использовано не только для конт роля правильности выполнения микропрограмм в процессе эксплуатации,устройства, но и для проверки правильности записи в памяти микрокоманд, т.. е. для отладки микропрограмм. Простота отладки достигается за счет введения дополнительных блоков, которые упрощают локализацию места ошибки.
Так при наличии ошибки замены номера логического условия оператор, ведущий отладку, может не только предполагать причину ошибки (неверная запись в память, считывание из памяти, декодирование номера логического услсвия), но и сопоставлением содержимого сумматора 13 с регистром 3 мнкрокоманд может точно определить логическое условие, номер которого был воспринят неверно. Установление факта неправильного считывания значения логического условия позволяет оперативно выявить ошибку по считыванию и передаче на выход значения логического условия, номер которого легко определить по значению кода номера логических на регистре 3 микрокоманд.
Таким образом, изобретение позволяет достичь более высокой обнаруживающей способности меньшими аппаратными затратами и тем самым повысить эффективность контроля.
9 9857
Значительный эффект может дать применение предлагаемого устройства при микропрограммном и программном управлении реальными объектами, для которых требуется высокая вероятность правиль- 5 ного выполнения управляюших программ и наличие оперативных и гибких средств их отладки.
Формула изобретения
Микропрограммное устройство управления с контролем переходов, содержашее блок памяти микрокоманд, регистр адреса, 1 регистр микрокоманд, дешифратор микрокоманд, дешифратор логических условий, первый коммутатор, первый блок сравнения, сдвигаюший регистр и элемент НЕ, причем выход первого коммутатора соеди-20 нен с информационным входом сдвигаюшего регистра и первым входом регистра адреса, выход которого соединен с входом блока памяти микрокоманд, выход блока памяти микрокоманд соединен с входом . 25 регистра микрокоманд, первый, второй, третий и четвертый выходы которого соединены соответственно с вторым входом регистра адреса, с входом дешифратора логических условий, с входом дешифрато- щ ра микрокоманд, с- первым входом первого блока с равнения, выход дешифратора микрокоманд соединен с входом элемента
НЕ и с управляюшим входом первого блока сравнения, выход которого соединен с входом сдвига сдвигаюшего регистра, выход дешифратора логических условий соединен с первым информационным входом первого коммутатора, выход которого соединен с установочным входом сдвигающего регистра, выход элемента НЕ соеди. нен с управляющим входом первога; коммутатора, второй информационный вход
87 которого соединен с входом логических условий устройства, о т л и ч а ю ш е ес я тем, что, с целью повьпцения эффективности контроля, в устройство введены второй блок сравнения, сумматор по модулю два, второй коммутатор, первый и второй блоки элементов И, блок элемен тов ИЛИ и элемент ИЛИ, причем пятый выход регистра микрокоманд и выход де шифратора микрокоманд соединены соо ветственно с первым и вторым входами первого блока элементов И, выход которого соединен с первым входом блока элементов ИЛИ, выход которого соединен с информационным входом сумматора по мо дулю два, управляюший вход которого соединен с выходом дешифратора микрокомани, выходы дешифратора логических условий и элемента НЕ соединены соответс ° венно с первыми и вторыми входами второго блока элементов И, выход которого соединен с первым входом второго коммутатора и вторым входом блока элементов ИЛИ, вход логических условий устройства соединен с вторым входом второго коммутатора, выход которого соединен с первым входом второго блока сравнения, выход первого разряда сдвигаюшего регистра соединен с вторым входом второго блока сравнения, выходы сумматора по модулю два первого и второго блоков сравнения соединены соответственно с первым, вторым и третьим входами элемент& ИЛИ, выход которогo является вы» ходом устройства.
Источники информации, принятые во внимание при экспертизе
1. Патент США % 3789204, кл. G 06 К 11/00, опублик. 1974.
2. Авторское свидетельство СССР
l4 711573, кл. G 06 F 9/14, 1980 (прототип) .
985787
Составитель И. Сигалов
Редактор H. Сташишииа Техред Л.Пекарь Корректор О.Билак
Заказ 10166/69 Тираж 731 Подпис ное
ВНИИПИ Государственного комитета СССР по делам изобретений и открытий
113035, Москва, Ж-35, Раушская наб., д. 4/5
Филиал ППП Патент, r. Ужгород, ул. Проектная, 4