Изобретение относится к автоматик и вьшислительггой технике, в частности к устройствам контроля ЭВМ, и может быть использовано при построении устройств программного и микропрограммного управления с высокой достоверностью функционирования.
Цель изобретения - повьшение быстродействия.
На фиг. 1 приведена функциональная схема устройства для контроля хода микропрограммы; на фиг. 2 - структура контрольной части микрокоманды; на фиг. 3 - структурная схема микропрограммы.
Устройство для контроля хода микропрограммы (фиг. 1) содержит блок 1 памяти, Коммутатор 2, сумматор 3, регистр 4, элемент И-НЕ 5, первый элемент И 6, элемент ИЛИ 7, триггер 8, элемент 9 задержки, схему 10 сравнения, второй элемент И 11, вход 12 кода микропрограммы устройства,вход 13 признака кода микропрограммы устройства, вход 14 кода поправки устройства, .вход 15 тактовых импульсов устройства, вход 16 признака конца контроля устройства, вход 17 условия перехода устройства, вход 18 признака условия перехода устройства, вход 19 признака контроля перехода устройства, выход 20 сигнала ошибки уст .ройс.тва, вход 21 начальной установки устройства.
Контрольная часть микрокоманды (фиг. 2) содержит поле 22, в котором записывается 1, если необходимо контролировать правильность условного перехода при ветвлениях в микропрограмме, и О, если правильность условного перехода не контролируется поле 23, в котором записывается значение признака условного перехода, по которому при ветвлениях в микро- ПРогра 1ме должен осуществляться переход, поле 24, в котором записывается код поправки, численное значение которого для каждой микрокоманды определяется следующим образом.
Максимальное число тактов,.за которое может быть выполнена микропрограмма, - контрольное число тактов. Так, для микропрограммы (фиг.З) контрольное число тактов равно семи. .Тогда для микрокоманд 25-31 код поправки равен единице, а для микрокоманды 32 - трем. Таким образом, для любого пути в микропрограмме суммарное значение кодов поправок должно равняться контрольному числу тактов для данной микропрограммы, При этом минимальное значение кода поправки
любой микрокоманды не должно быть равно нулю.
В микропрограмме (фиг. 3) микрокоманды 25 и 31 являются соответственной первой и последней микрокомандами, микрокоманда 26 - микрокомандой условного перехода, после выполнения которой происходит- переход на вьтолнение микрокоманды 27, если значение сигнала условия перехода равно
1, или переход на выполнение
микрокоманды 32, если значение сигнала условия перехода равно О. При этом в поле 22 контрольной части микрокоманд 27 и 32 должна быть записана 1, а в поле 23 контрольной части микрокоманд 27 и 32 - 1 и О соответственно. В поле 22 контрольной части остальных микрокоманд мик- пропрограммы (фиг. 3) записывается
О, так как правильность условного перехода здесь не контролируется.
Устройство для контроля хода микропрограммы работает следующим образом.
В исходном положении триггер 8 находится в нулевом состоянии, в которое он устанавливается в начале работы устройства по входу 21 устройства. В запоминающем устройстве 1 по
адресам, определяемым кодами микропрограмм, находятся контрольные числа тактов соответствующих микрокоманд, записанные в обратном коде. После выполнения последней микрокоманды микропрограммы на вход 16 ; устройства поступает единичный сигнал признака конца контроля,который открывает по второму входу элемент И 6. Если ход микропрограммы не нарушен, т.е. не пропущена ни одна микрокоманда, и не выполнено ни одной лишней микрокоманды, то все выходы регистра 4 должны находиться в единичном состоянии, а единичный выход триггера 8 - в нулевом. С выхода элемента И-НЕ 5 на первый вход элемен- та И 6 поступает нулевой сигнал, а на его выходе единичный сигнал отсутствует. Если при выполнении микропрограммы бьта пропущена хотя бы одна микрокоманда, то после выполнения последней микрокоманды микропрограммы не все выходы регистра 4 находятся в единичном состоянии, на выходе
элемента И-НЕ 5 присутствует единичный сигнал. После выполнения последней микрокоманды микропрограммы единичный сигнал, поступающий на вход 16 устройства сформирует на выходе элемента И 6 также единичный сигнал, который поступает на первый вход элемента ИЛИ 7, На вьгходе элемента ИЛИ 7 формируется единичный сигнал, которьй поступает на вход 20 устрой- ства и свидетельствует об ошибке- в ходе микропрограммы. Если при выполнении микропрограммы выполнена лишня микрокоманда, то после выполнения последней микрокоманды или еще до вы полнения последней микрокоманды микропрограммы единичный сигнал с выход переноса из старшего разряда сумматора 3 по переднему фронту тактового импульса заносится на триггер 8, ( единичного выхода которого он поступает на второй вход элемента ИЖ 7, и на вьпсоде 20 устройства формируется единичный сигнал, свидетельствующий об ошибке в ходе, микропрограммы.
При выполнении последней микрокоманда текущей микропрограммы на вход, 12 устройства поступает код очередной микропрограммы. По заднему фронту тактового импульса, соответствующего последней микрокоманде текущей микропрограммы на вход 13 устройства поступает единичный сигнал. При этом по первому информационному входу коммутато.ра 2 из блока 1 памяти на первый вход сумматора 3 с выхода коммутатора 2 поступает обратный код контрольного числа тактов для очередной микропрограммы. На второй вход сумматора при выполнелии первой микрокомандь выбранной микропрограммы поступает код поправки, записанный в поле 2А контрольной части первой микрокоманды. По заднему фронту тактового импульса, соответ- ствующему первой микрокоманде, единичный сигчал на входе 13 устройства сбрасывается, в регистр 4 с выхода суммы сумматора 3 заносится результат операции сложения, а в триггер 8 - значение сигнала переноса из старшего разряда сумматора 3. При выполнении последующих микрокоманд устройство, работает аналогичным образом только на первый вход сумматора 3 через коммутатор 2 по второму информационному входу коммутатора 2 поступает информация с выхода регистра 4,
j 5 0 5
так как на входе 13 устройства единичный сигнал отсутствует.
Проверка правильности условного перехода при ветвлениях в микропрограмме осуществляется следующим образом.
При выполнении микрокоманды условного перехода на вход 17 устройства поступает фактически сигнал условия перехода, сформированный в машине. При выполнении следующей микрокоманды на вход 19 устройства поступает единичный сигнал, записанный в поле 22 контрольной части этой микрокоманды, который открывает по второму входу элемента И 11. На первый вход элемента И 1 1 поступает сигнал с выхода схемь 10 сравнения, на первый вход которой с выхода элемента задержки 9 поступает задержанньш на один такт фактический сигнал условия перехода. На второй вход схемы сравнения 10 с входа 18 устройства из поля 23 контрольной части выполняющейся микрокоманды поступает эталонное значение сигнала признака условия перехода. Если условный переход осуществлен правильно, то на первый и второй входы схемы 10 сравнения поступают одинаковые сигналы, с выхода схемы 10 сравнения на первый 1зход элемента И 11 поступает нулевой сигнал. Если условный переход осуществлен неправильно, то на первьй и второй входы схемы 10 сравнения поступают разные сигналы, с выхода схемы 10 сравнения на первый вход элемента И 11 поступает единичный сигнал и с выхода элемента И 11 единичньй СИ1- нал поступает на третий вход элемента ИЛИ 7, На выходе 20 устройства сформируется единичный сигнал, сви- дётельствующий об ошибке в ходе микропрограммы.
Если правильность условного перехода при выполнении некоторой микрокоманды контролировать не требуется, то в поле 22 контрольной части выполняющейся микрокоманды записьгаается О. При этом на вход 19 устройства не поступает единичный сигнал признака контроля перехода, элемент И П закрыт и анализ правильности условного перехода не производится.
Таким образом, предлагаемое устройство превосходит известное по быстродействию, так как проверка правильности хода микропрограммы осуще-
ствляется в процессе выполнения основных рабочих микрокоманд и не требует выполнения контрольных микрокоманд.
Кроме того, предлагаемое устройство позволяет обнаруживать зацикливание в любой микрокоманде микропрограммы, в то время как известное уст ройство не обладает способностью контролировать зацикливание на командах условного перехода. Так, код поправки, записанной в поле 24 контрольной части любой микрокоманды, не равен нулю. Тогда при зацикливании в микрокоманде на выходе переноса из старшего разряда сумматора 3 появится единичный сигнал, который по заднему фронту тактового импульса .запи- сывается в триггер 8, с единичного выхода которого он поступает на второй вход элемента ИЛИ 7, и-на выходе 20 устройства формируется единичный сигнал, свидетельствующий об ошибке. Таким образом, предлагаемое устройство обнаруживает ошибки типа зацикливание в любой микрокоманде.
Предлагаемое устройство позволяет также контролировать команды микропрограмм на запрещенные комбинации. При этом в блок 1 памяти по адресам, соответствующим запрещенным комбинациям, записывается минус единица: 111... 112. Тогда при поступлении на вход 12 устройства запрещенной комбинации на первьй вход сумматора 3 из блока 1 памяти по первому информационному входу коммутатора 2 поступает код MHtiyc единицы. На второй вход сумматора 3 поступает -не нулевой код ;поправки, записанный в поле 24 контрольной части выбранной микрокоманды После выполнения операции сложения на выходе переноса из старшего раз- ряда сумматора 3 появится единичный сигнал, который по заднему фронту тактового импульса записывается на триггер 8, с единичного выхода которого он поступает на второй вход эле мента ИЛИ 7, и на выходе 20 устройства формируется единичный сигнал, свидетельствующий об ошибке.
Q j 2о 25
Q
5
0
5
0
Формула изобретения
Устройство для контроля хода микропрограммы, содержащее два элемента И, элемент И-НЕ, элемент ИЛИ и схему сравнения, причем первый и второй входы первого элемента И подключены соответственно к выходу элемента И-НЕ и к входу признака конца контроля устройства, выход первого элемента И соединен с первым входом элемент-а 1-ШИ, второй вход которого соединен с выходом второго элемента И, первый и второй входы которого подключены соответственно к выходу несравнения схемы сравнения и входу признака контроля перехода устройства, выход элемента ИЛИ является выходом ошибки устройства, отличающееся тем, что, с целью повьщгения быстродействия, в устройство введены блок памяти, сумматор, регистр, коммутатор и элемент задержки, причем вход блока памяти является входом кода микропрограммы устройства, выход блока памяти соединен с информационным входом коммутатора, группа информационных входов которого соединена с группой разрядных выходов рет истра, управляющий вход коммутатора является входом признака кода микропрограммы устройства, первый и второй входы сумматора соединены соответственно с выходом коммутатора и входом кода поправки устройства, информационный выход и и выход переноса сумматора соединены соответственно с информационным входом регистра и D-входом триггера,син- хровход регистра подклю1|ен к тактовому входу устройства, группа разрядных выходов регистра соединена с группой входов элемента И-НЕ, R и С входы.триггера подключены соответственно к входу начальной установки и тактовому входу устройства, выход триггера соединен с третьим входом элемента ИЛИ, вход условного перехода устройства подключен через элемент задержки к первому входу схемы сравнения, второй вход которой подключен к входу Ттризнака условного перехода устройства.
Фиг.1
ФVIZ.Z
Фиг,3
Составитель И, Сафронова Редактор М.Недолуженко Техред Л.Сердюкова
Заказ 3293/50Тираж 671Подписное
ВНИИГО Государственного комитета СССР
по делам изобретений и открытий . 113035, Москва, Ж-35, Раушская наб., д. 4/5
Производственно-полиграфическое предприятие, г. Ужгород, ул. Проектная, 4
Корректор Решетник
название | год | авторы | номер документа |
---|---|---|---|
Устройство для контроля хода микропрограммы | 1985 |
|
SU1305690A1 |
Устройство для отладки программ | 1986 |
|
SU1410038A1 |
Микропрограммное устройство с контролем | 1984 |
|
SU1208556A1 |
Микропрограммное устройство управления | 1983 |
|
SU1130865A1 |
Микропрограммное устройство управления с контролем | 1983 |
|
SU1270772A1 |
Микропрограммное устройство управления | 1981 |
|
SU968814A1 |
Устройство для управления восстановлением микропрограмм при сбоях | 1982 |
|
SU1056193A1 |
Микропрограммное устройство управления с контролем | 1984 |
|
SU1280627A1 |
Микропрограммное устройство управления | 1984 |
|
SU1180888A1 |
ПРОЦЕССОР ПОВЫШЕННОЙ ДОСТОВЕРНОСТИ ФУНКЦИОНИРОВАНИЯ | 2010 |
|
RU2439667C1 |
Изобретение относится к области автоматики и вычислительной техники, в частности к .устройствам контроля ЭВМ, и может быть использовало при построении устройств программного и микропрограммного управления с высокой достоверностью функционирования. Целью изобретения является повышение быстродействия. Устройство содержит блок памяти, коммутатор, сумматор, регистр j элемент И-НЕ5 два элемента И, элемент ИЛИ, триггер, элемент задержки, схему сравнения. Проверка правильности хода программы осуществляется в процессе выполнения основных рабочих микрокоманд и не требует выполнения контрольных микрокоманд, а также позволяет обнаруживать зацикливание в любой микрокоманде. 3 ил. Ю 00 00 00 vi
Микропрограммное устройство управления с контролем | 1980 |
|
SU920727A1 |
Приспособление для точного наложения листов бумаги при снятии оттисков | 1922 |
|
SU6A1 |
Устройство для контроля хода программы | 1980 |
|
SU892446A1 |
Приспособление для точного наложения листов бумаги при снятии оттисков | 1922 |
|
SU6A1 |
Авторы
Даты
1986-06-15—Публикация
1984-11-20—Подача