1
Изобретение относится к вычислительной технике, а именно, к устройствам программного и микропрограммного управления повышенной надежности.
В известных устройствах при контроле хода выполнения nporpaNiM используется специальная избыточность в кодах команд и микрокоманд, а также специально введенные в. исходные программы и микропрограммы избыточные слова с контрольной информацией.
Известно микропрограммное устройство управления, содержащее память микропрограмм, регистр адреса и регистр микрокоманд, аппаратуру переходов, регистр возврата р схемы срав:нения. В устройстве для контроля правильности порядка следования микрокоманд используются разряды четности. Причем каждая микрокоманда содержит бит четности адреса выбранного слова и бит четности адреса следующей микрокоманды т. е. каждое слов ЗУ содержит два разряда четности Щ
Недостатками устройства являются .большие затраты оборудования, обусловленные ростом числа разрядов микрокоманд. Кроме того, для рассмотренного устройства характерна невысокая обнаружающая способность. Все ошибки
в ходе выполнения микропрограмма (ошибочная работа дешифратора адреса, неправильное считывание, ошибки при передаче адреса и т.п.), ведущие к неправильному считыванию микрокоманды, бит чётности адреса которой совпадает с признаком четности регистра адреса, не обнаруживается. Вероятность появления необнаруженной ошибки дан0ном случае (контроль по fflod2) составляет 0,5.
На:иболее близким по технической сущности к предлагаемому является микропрограммное устройство управле5ния с контролем переходов, содержаiijee блок памяти микрокоманд, регистр адреса, регистр микрокоманд, блок управления переходами, сдвигающий .регистр и. схему .сравнения. В извест-0;ном устройстве для контроля хода. выполнения программы используются специально.введенные контрольные микрокоманды, содержащие контрольную информацию о соответствующих участках
5 исполнения пpoгpaм вл. При этом каждый участок исполнения интерпретируется как определенная последовательность нулей и единиц, где 1 соответствует единичному значению опрашиваемого
0 на участке логического условия, а
О нулевому значению логического условия или безусловному переходу. По мере исполнения участков на сдвйгакицем регистре Лормируется ин-формация о реализуемом фрагменте, которая в конце участка (в контрольном слове) сравнивается с контрольной информацией. Характер используемой .контрольной информации позволяет достичь значительно более высокой о6,наруживакадей способности и обнаружить все ложные переходы внутри участков и почти все ложные переходы с участка на участок, так как полное совпадение контрольных кодов различных участков маловероятно. При этом в устройстве не наблюдается увеличение разрядности микрокоманд, а добавление некоторого числа слов не ведет к большим затратам оборудования.
Однако обнаружение отклонения от правильного исполнения микропрограммы производился только по окончанию исполн ния участка в контрольном слове участка. Даже если ошибка произошла йа первой микрокоманде участка/ то ее наличие обнаруживается в конце участка с запаздыванием, величина которого пропорциональна, длине контролируемого участка. Кроме неоперативного обнаружения ошибки следует отметить низкую локализационную способность рассматриваемого устройства, так как независимо от места ошибки на участке, она локализуется с точностью до участка. Наличие избыточных микрокоманд в основных микропрограммах ведет к снижению производительности микропрограммного устройства.
При необходимости перестановки контрольных точек и вводе новых контрольных слов необходима значительная перестановка основного блока памяти микропрограмм 2j .
Недостатками известного, устройства являются низкая оперативность обнаружения ошибки, вызванная наличием большого промежутка времени от момета возникновения до момента обнаружения ошибки, низкая локализационная способность устройства, низкая производительность микропрограммного устройства, обусловленная наличием избыточных контрольных микроопераций в микропрограммах, сложность перестройки устройства при перестановке контрольных точек и ввода новых контроль ных слов.
Целью изобретения является повышение эффективности контроля, без снижения обнаруживающей способности устройства, зй счет сокрахчения до минимума промежутка времени от момента возникновения ошибки до моментаее обнаружения, увеличения произво дительности микропрограммного устрюйства, а также за счет легкости перестройки блока памяти микрокоманд;
Поставленная цель достигается тем что в микропрограммное устройство управления с контролем переходов, -содержащее блок памяти микрокоманд, регистр адреса, регистр микрокоманд первый регистр сдвига и блок управления переходами, причем выход блока управления переходами соединен с первыми входами первого регистра сдвига и регистра адреса, выход которого соединен со входом блока памяти, выход блока памяти соединен со входом регистра микрокоманд, выход которого соединен со вторым входом регистра адреса, введен блок ассоциативной памяти, регистр начала участк и второй регистр сдвига, причем выход регистра микрокоманд соединен с пер вым входом второго регистра сдвига и со входом регистра начала участка, выход которого соединен с первым входом блока ассоциативной памяти, выход блока ассоциативной памяти, соединен со вторыми входами первого и второго регистра сдвига, выходы первого и второго регистров сДвига соединены соответственно со вторым и третьим входами блока ассоциативной памяти. , .
На чертеже приведена схема многопрограммного устройства управления с контролем переходов. Устройство содержит блок 1 памяти микрокоманд, регистр 2 адреса, регистр 3 микрокоманд, блок 4 управления переходами первый регистр 5 сдвига регистр 6 ,начала участка, блок 7 ассоциативной памяти, второй регистр 8 сдвига.
Для целей контроля исходные микропрограмли разбиты.на участки, отделяемые в блоке 1 друг от друга меткой. Для метки может использоваться, например, определенный разряд микрокоманды. Контрольная информация для каждого участка, представлякнцая код из нулей и единиц, где 1 срответствует единичному значению логического условия, а О - нулевому значению логического условия или бе.зусловному переходу, размещается в специально введенном для ее хранения ассоциативном блоке 7 ассоциативной памяти. Каждое слово блока 7 представляет контрольный код для какоголибо участка микропрограммы.
Длина разных участков может быть различной, при этом их максимальная величина ограничивается разрядностью слов блока 7, а минимальная - допустимыми пределами увеличения числа слов в блоке 7.
Регистр 5 предназначен для хранения формируемой при исполнении алгоритма реальной информации о конфигурации участка, а регистр 8 яведен дл регистрации числа микрокоманд, выполненных от начала исполнения контр лируемого участка. Регистр начала участка служит для хранения адреса начала контролируемого учас1ка во время его исполнения от начала до конца. Устройство работает следующим образом-. I Очередная микрокоманда выбирается из блока 1 на регистр 3 по адресу, записанному на регистр 2. Адрес следующей микрокоманды передается с пер вого выхода регистра 3 на второй вхо регистра 2. При выполнении команд ус ловного перехода, в зависимости от значения опрашиваемого логического условия, возможна модификация переданного адреса по сигналу из блока 4, который поступает такжена информационный вход регистра 5, где одно- временно со сдвигом по сигналу с выхода блока 7 записывается в крайнюю левую позицию регистра5. Если выполняется микрокоманда безусловного перехода, в регистре 5 производится сдвиг информации с записью нуля в крайний левый разряд. . Регистрация числа выполненных мик рокоманд на каждом участке производится следующим образом. В конце пра ВИЛЬНО выполненного участка по метке, идущей с выхода регистра 3, производится начальная установка в йоль регистра 8. Когда выполняется первая микрокоманда следующего участ ка, то синхронно с записью соответст вующей информации в регистр 5 по сиг налу из блока 7 в первую позицию регистра 8 заносится единица. При выполнении следу{рщей микрокоманды в регистре 8 вместо кода 1000...О за писывается код 11000...О и т. д. В регистр 6 по метке перехода на новый контролируемый участок с выхода регистра 3 записывается адрес пер вой микрокоманды контролируемого уча стка. Адрес начала участка хранится на регистре 6 до появления следующей метки. Контроль правильности выполнения микропрограммы производится сравнени ем содержимого регистра 5 с группой контрольных слов блока 7, в разрядах отмеченных единицами регистра 8. Таким образом, peiTiCTp 8 выполняет рол Маски, определякхцей длину поля призн ковой информации для блока 7 ассоциативной памяти. Это позволяет оперативно обнаруживать ючшбку и ходе в полнения микрокоманды, а не в конце участка, как в известном устройстве. , Такая возможность появилась за счет изменения длины сравниваемых ксздов в процессе исполнения участка, соответ ственно числу реализованных микрокоманд. Если какой-либо участок -состоит из п микрокоманд, то при вьшолКении он контролируется по частям, состоящим из 1,2,... , 1 ,.,i ,п микрокоманд . Наличие адреса начала участка на ..регистре б позволяет при контроле производить сравнение содержимого регистра 5 не со всем массивом слов блока 7, а только с группами контрольных слов, соответствующих участкам алгоритма, начинающимся с этого адреса (будем называть эти участки смежными). Полное совпадение контрольных несмежных участков маловероятно, однако в реальных алгоритмах начальная конфигурация таких участков (в пределах 1-4 микрокоманд) может совпадать. В связи, с этим, выделение в блоке 7 для сравнения группы смежных участков позволяет всегда обнаруживать ложные переходы нанесмежный участок, даже в случаях совпадения конфигурации выполненной .части алгоритма с контрольным кодом этого участка. При этом обнаружение ошибки в предлагаемом устройстве происходит не в конце контролируемого участка, либо в момент отклонения микропрограммы от нормального исполнения (в момент ошибки), яибо с задержкой до дьух-трех микрокоманд, для случаев (невероятных в реальных алгоритмах), когда смежные участки после раз.ветвлення отличаются друг от друга не сразу, а после выполнения нескольких микрокоманд. Для таких, хотя и редких, случаев указанное частичное совпадение легко устранить, вводам дополнительных пустых микрокоманд. При первом же несовпадении содержимого регистра 5 с одним из контрольных кодов определенной группы смежных участков на выходе блока 7 вырабатывается сигнал ошибки. Таким образом, в микропрограммном устройстве управления с контролем переходов по сравнению с известньии, при высокой обнаруживающей способности достигается уменьшение до минимума промежутка ед емени от момента возникновения до момента обнаружения ошибки, увеличивается точность локализации ошибки, повышается производительность основного блока памяти, достигается гибкая перестройка контрольного оборудования и йаглядность контроля, что в совокупности обеспечивает повышение эффективности контроля хода программ и микропрограмм. Формула изобретения Микропрограммное устройство управления с контролем переходов, содержащее блок памяти микрокоманд, регистр адреса, регистр микрокоманд, первый регистр сдвига и блок управления переходами, причем выход блока управления переходами соединен с первь 4и входами первого регистра сдвига регистра адреса, выход которого содинен со входом блока памяти, выход
Шока памяти соединен со входом реIHCTpa микрокоманд, выход которого ;оединен со вторым входом регистра щреса, отличающееся гем, что, с целью повышения произвоштельности, в устройство введен блок 1ссоциативной памяти, регистр начала гчастка и второй регистр сдвига, при1ем вьаход регистра микрокоманд соедиjeH с первьлм входом второго регистра ;двига и со входом регистра начала гчастка, выход которого соединен с 1ервым входрм блока ассоциативной 1амяти, выход блока ассоциативной памяти соединен со вторыми входами
первого и второго регистра сдвига выходы первого и второго {эёгистров сдвига соединены соответственно со вторым и третьим входами блока ассоциативной памяти.
Источники информации, принятые во внимание при экспертизе
1.Cook Robert W., SLsso-n WllUam H., Storey Tomas F. OesFgh of a selfchecking microprogram control.- IEEE Trans. Comput., 1973, 22, № 3, c. 255262.
2.Авторское свидетельство СССР по заявке I 2527265/24,
кл. G 06 F 9/14, 31,08.78 (прототип).
название | год | авторы | номер документа |
---|---|---|---|
Микропрограммное устройство с контролем переходов | 1977 |
|
SU711573A1 |
Микропрограммное устройство управления с контролем переходов | 1981 |
|
SU985787A1 |
Микропрограммное устройство управления с исправлением ошибок | 1981 |
|
SU985789A1 |
Микропрограммное устройство управления с контролем переходов | 1980 |
|
SU966694A1 |
Многоканальная система для контроля и диагностики цифровых блоков | 1984 |
|
SU1269137A1 |
Микропрограммное устройство управления с исправлением ошибок | 1978 |
|
SU741267A1 |
Микропрограммное устройство управления с контролем переходов | 1981 |
|
SU1018118A1 |
Микропрограммный процессор | 1986 |
|
SU1365091A1 |
Микропрограммное устройство управления | 1983 |
|
SU1104515A1 |
Микропрограммное устройство управления с контролем переходов | 1987 |
|
SU1411743A1 |
Авторы
Даты
1981-02-23—Публикация
1978-07-19—Подача