Микропрограммное устройство управ-ления c контролем переходов
Иллюстрации
Показать всеРеферат
Союз Советских
Социалистических
Респубпик (щ807289 (61) Дополнительное к авт. сеид«ву— (22) Заявлено 190778 (21) 2647019/18-24 51,.(„з
С 06 F 9/22
G 06 F 11/ОО
C ПРИСОЕ@ИИЕИИЕН ЗаЯВКИ Ио
Государствениый комитет
СССР no делам изобретений и .открытий (23) Приоритет—
Опубликовано 230281. Бюллетень ЙВ 7 (531 УДК 681. 326, 7 (088. 8) Дата опубликования описания 250281 (72) Авторы изобретения
В. A. Колосков, Г. П. Денисова и .А. П. (71) Заявитель.Курский политехнический институт (54) МИКРОПРОГРАММНОЕ УСТРОЙСТВО УПРАВЛЕНИЯ
С КОНТРОЛЕМ ПЕРЕХОДОВ
Изобретение относится к вычислительной технике, а именно, к устройствам программного и микропрограммно- го управления повышенной надежности.
B известных устройствах при контроле хода выполнения программ используется специальная избыточность в кодах команд и микрокоманд, а также специально введенные в исходные программы и микропрограммы избыточные слова с контрольной информацией.
Известно микропрограммное устройство управления, содержащее память микропрограмм, регистр адреса и регистр микрокоманд, аппаратуру переходов, регистр возврата и схемы сравнения. В устройстве для контроля правильности порядка следования микрокоманд используются разряды четности.
Причем каждая микрокоманда содержит бит четности адреса выбранного слава и бит четности адреса следующей Микрокоманды, т. е. каждое слов ЭУ содержит два разряда четности (1), Недостатками устройства являются . большие затраты оборудования, обусловленные ростом числа разрядов микрокоманд. Кроме того, для рассмотренного устройства характерна невысокая обнаружающая способность. Все ошибки в ходе выполнения микропрограммы (ошибочная работа дешифратора адреса, неправильное считывание, ошибки прн передаче адреса и т.п.), ведущие к неправильному считыванию микрокоманды, бит четности адреса которой совпадает с признаком четности регистра адреса„ не обнаруживаятся. Вероятность появления необнаруженной ошибки в.данном случае (кЬнтроль по mod2) составляет О, 5 .
Наиболее близким по технической сущности к предлагаемому является микропрограммное устройство управления с контролем переходов, содержа:„ее блок памяти микрокоманд, регистр адреса, регистр микрокоманд, блок управления переходами, сдвигающий регистр и. схему, сравнения. В извест-. ном устройстве для контроля хода выполнения программы используются специально. введенные контрольные микрокоманды, содержащие контрольную информацию о соответствующих участках исполнения программа. При этом каждый участок исполнения интерпретируетоя как определенная последовательность нулей и единиц, где "1" соответствует единичному значению опрашиваемого на участке логического условия, а
807289
"0" нулевому значению логического условия или безусловному переходу.
По мере исполнения участков на сдвигаюшем регистре формируется информация о реализуемом фрагменте, Которая в конце участка (в контрольном слове) сравнивается с контрольной информацией. Характер используемой контрольной информации позволяет достичь значительно более высокой обнаруживающей способности и обнару;жить все ложные переходы внутри участков и почти все ложные переходы с участка на участок, так как полное совпадение контрольных кодов различных участков маловероятно. При этом в устройстве не наблюдается увеличение разрядности микрокоманд, а добавление некоторого числа слов не ведет к большим затратам оборудования.
Однако обнаружение отклонения от правильного исполнения микропрограммы; 20 проиэводйтся только по окончанию исполнения участка в контрольном слове участка. Даже если ошибка. произошла на первой микрокоманде участка, то ее наличие обнаруживается в конце 5 участка с запаздыванием, величина которого пропорциональна длине контролируемого участка. Кроме неоперативного .обнаружения ошибки следует отметить низкую локализационную способность рассматриваемого устройства, так как независимо от места ошибки на участке, она локализуется с точностью до участка. Наличие избыточных микрокоманд в основных микропрограммах ведет к снижению производительности микропрограммного устройств а..
При необходимости перестановки контрольных точек и вводе новых контрольных слов необходима значительная 40 перестановка основного блока памяти микропрограмм (2) .
Недостатками известного устройства являются низкая оперативность обнаружения ошибки, вызванная наличием большого промежутка времени от момен- та возникновения до момента обнаружения ошибки, низкая локализационная способнссть устройства, низкая производительность микропрограммного устройства, обусловленная наличием избыточных контрольных микроопераций в микропрограммах, сложность перестройки устройства при перестановке контрольных точек и ввода новых контроль ных слов. целью изобретения является повышение эффективности контроля, без снижения обнаруживаюшей способности устройства, за счет сокращения до минимума промежутка времени от момен- 60 та возникновения ошибки до моментаее обнаружения, увеличения проиэводитепьности микропрограммного устройства, а также эа счет легкости первстройки блока памяти микрокоманд. Я
Поставленная цель достигается тем, что в микропрограммное устройство управления с контролем переходов, содержащее блок памяти микрокоманд, регистр адреса, регистр микрокоманд
J первый регистр сдвига и блок управле-. ния переходами, причем выход блока управления переходами соединен с первыми входами первого регистра сдвига и регистра адреса, выход которого соединен со входом блока памяти, выход блока памяти соединен со входом регистра микрокоманд, выход которого соединен со вторым входом регистра адреса, введен блок ассоциативной памяти, регистр начала участка и второй регистр сдвига, причем выход регистра микрокоманд соединен с первым входом второго регистра сдвига и со входом регистра начала участка, выход которого соединен с первым входом блока ассоциативной памяти, выход блока ассоциативной памяти.соединен со вторыми входами первого и второго регистра сдвига, выходы первого и второго регистров сдвига сое- динены соответственно со вторым и третьим входами блока ассоциативной памяти.
На чертеже приведена схема многопрограммного устройства управления с контролем переходов. Устройство содержит блок 1 памяти микрокоманд, регистр 2 адреса, регистр 3 микрокоманд, блок 4 управления переходами, первый регистр 5 сдвига регистр 6,начала участка, блок .7 ассоциативной памяти, второй регистр 8 сдвига.
Для целей контроля исходные микропрограммы разбиты на участки, отделяемые в блоке 1 друг от друга меткой. Для метки может использоваться, например, определенный разряд микрокоманды. Контрольная информация для каждого участка, представляющая код из нулей и единиц, где "1" соответствует единичному значению логического условия, а "0" — нулевому значению лОгического условия или безусловному переходу, размвшается в специально введенном для ее хранения ассоциативном блоке 7 ассоциативной памяти. Каждое слово блока 7 представляет контрольный код для какоголибо участка микропрограммы.
Длина разных участков может быть различной, при этом их максимальная величина ограничивается разрядностью слов блока 7, а минимальная — допустимыми пределами увеличения числа слов в блоке 7.
Регистр 5 предназначен для хранения формируемой при исполнении алгоритма реальной информации о конфигу.рации участка, а регистр 8 введен для регистрации числа микрокоманд, выполненных от начала исполнения контро лируемого участка. Регистр начала участка служит для хранения адреса
807239
Формула изобретения
Микропрограммное устройство управления с контролем переходов, содержащее блок памяти микрокоманд, регистр адреса, регистр микрокоманд, первый регистр сдвига и блок управления переходами, причем выход блока управления переходами соединен с первыми входами первого регистра сдвига и регистра адреса, выход которого соединен со входом блока памяти, выход начала контролируемого участка во время его исполнения от начала до конца.
Устройство работает следующим образом:
Очередная микрокоманда выбирается из блока 1 на регистр 3 по адресу, записанному на регистр 2. Адрес следующей микрокоманды передается с ервого выхода регистра 3 на второй вход регистра 2. При выполнении команд ус- 1Е ловного перехода, в зависимости от значения опрашиваемого логического условия, возможна модификация переданного адреса по сигналу из блока
4, который поступает также на. информационный вход регистра 5, где одновременно со сдвигом по сигналу с выхода блока 7 записывается s крайнюю левую позицию регйстра 5. Если выполняется микрокоманда безусловного перехода, в регистре 5 производится 20 сдвиг информации с записью нуля в крайний левый разряд.
Регистрация числа выполненных микрокоманд на каждом участке производится следующим образом. В конце пра- gg вильно выполненного участка по метке, идущей с выхода регистра 3, производится начальная установка в ноль регистра 8. Когда выполняется первая микрокоманда следующего участ- ЗО ка, то синхронно с записью соответствующей информации в регистр В по сигналу из блока 7 в первую позицию ре-. гистра 8 заносится единица. При выполнении следующей микрокоманды в регистре 8 вместо кода 1000...0 записывается код 11000.. ° 0 и т. д.
B регистр 6 по метке перехода на новый .контролируемый участок с выхода регистра 3 записывается адрес первой микрокоманды контролируемого уча- 40 стка. Адрес начала участка хранится на регистре 6 до появления следующей метки.
Контроль правильности выполнения микропрограммы производится сравнени- 45 ем содержимого регистра 5 с группой контрольных слов блока 7, в раэрядах, отмеченных единицами регистра 8. Таким образом, регистр 8 выполняет роль маски, определякщей длину поля приз"a%0 ковой информации для блока 7 ассоциативной .памяти. Это позволяет оперативно обнаруживать:ошибку в ходе выполнения микрокоманды, а не в конце участка, как s известном устройстве., Такая возможность появилась за счет изменения длины сравниваемых иощов в процессе исполнения участка, соответственно числу реализованнйх микрокоманд. Если какой-либо участок состо:ит из п микрокоманд, то при выпол- 40 ненни он контролируется по частям, состоящим из 1,2,...,i,...,ï микрокоманд.
Наличие адреса начала участка на, регистре 6 позволяет при контроле производить сравнение содержимого регистра 5 не со всем массивом слов блока 7, а только с группами контроль ных слов, соответствующих участкам алгоритма, начинающимся с этого адреса (будем называть эти участки смежными).
Полное .совпадение контрольных ко дов несмежных участков маловероятно, однако в реальных алгоритмах начальная конфигурация таких участков, в пределах 1-4 микрокоманд) может совпадать. В связи, с этим, выделение в блоке 7 для сравнения группы смежных участков позволяет всегда обнаруживать ложные переходы на.несмежный участок, даже в случаях совпадения конфигурации выполненной, части алгоритма с контрольным кодом этого участка.
При этом обнаружение ошибки в предлагаемом устройстве происходит не в конце контролируемого участка, либо в момент отклонения микропрограм. мы от нор сального исполнения (в момент ошибки), либо с задержкой до дьух-трех микрокоманд, для случаев (невероятных в реальных алгоритмах), когда смежные участки после разветвления отличаются друг от друга не сразу, а после выполнения нескольких микрокоманд. Для аких, хотя и редких, случаев указанное частичное совпадение легко устранить. вводам дополнительных пустых микрокоманд.
При первом же несовпадении содержимого регистра 5 с одним иэ контрольных кодов определенной группы смежных участков на выходе блока 7 вырабатывается сигнал ошибки.
Таким образом, в микропрограммном устройстве управления с контролем переходов по сравнению с известными, при высокой обнаруживающей способности достигается уменьшение до минимума промежутка времени от момента возникновения до момента обнаружения ошибки, увеличивается точность локализации ошибки, повышается производительность основного блока памяти, достигается гибкая перестройка контрольного оборудования и наглядность контроля, что в совокупности обеспечивает повышение эффективности контроля хода программ и микропрограмм.
807?89
Составитель И. Сигалов
Редактор В. Лазаренко Техред С. Мигунова Корректор H° . Муска
Заказ 292/73 Гираж 756 Подписное
ВНИИПИ Государственного комитета СССР по делам изобретений и открытий
113035, Москва, Ж-35, Раушская наб., д. 4/5
Филиал ППЛ "Патент",.г. Ужгород, ул. Проектная, 4
1лока памяти соединен со входом ре.истра микрокоманд, выход которого
:оединен со вторым входом регистра адреса, о т л и ч а ю щ е е с я гем, что, с целью повышения производительности, в устройство введен блок ассоциативной памяти, регистр начала участка и второй регистр сдвига, прихем выход регистра микрокоманд соеди«ен с первым входом второго регистра гдвига и со входом регистра начала участка, выход которого соединен с первым входом блока ассоциативной памяти, выход блока ассоциативной памяти соединен со вторыми входами первого и второго регистра сдвига выходы первого и второго регистров сдвига соединены соответственно со вторым и третьим входами блока ассоциативной памяти.
Источники информации, принятые во внимание при экспертиэе
1 ° Cook Rob ert W. S i sson Wi11 iam
Н., Storey Tomas F. Desi gh of à se1fchecking microprogram contro1.- IEЕЕ
Trans Comput 1973, 22, 9 3, с. 255262.
2. Авторское свидетельство СССР по заявке V." 2527265/24, кл. 6 06 F 9/14, 31.08.78 (прототип).