Микропрограммный процессор с контролем
Иллюстрации
Показать всеРеферат
ОПИСАНИЕ
ИЗОВРЕТЕНИЯ
Саюеэ Ceaercwx
Сецвалистичеавик и 862 1 44
К АВТ©ИЗ®ММ 5N (63)Дополнительное мает. сеид-ву(22) Залелено150180 (23) 2869691/18-24 с присоединением залекн ЙЮ(23) ПриоритетОпублимовано . 070981. Ьюллетань Н9 ЗЗ (51)фд. яд.е
G 06 f 15/00
8 06 F 11/00
3 осулврственмый коинтет
СССР ве ледам взобретений. в открытмй (И) УДК 681»5 (088. 8) Дата опубликование аеиаанил 070981
l3.ñ. нкиченко, в.5, ннинрнкии, .H, икинннко, .н. Тиианькин и и.н. нарнии к и 1 ° и .) О (72) Авторы.(54) ИИКРОПРОГРИЯ4НЫЙ ПРОЦЕССОР С КОНТРОЛЕМ
Микропрограммный процессор с кднт ролем относится к области цифровой вычислительной техники н может. бЫть использован в ЭВМ.с микропрограммным управлением.
Известен микропрограммный процессор с контролем, содержащий операционный блок, регистры адресов микрокоманц и собственно микрокомьтнд, блок:памяти микрокоманд, узел сравнения, триггер фиксации сбоя и лОгические элементы И, ИЛИ, HE 1) .
Недостатком устройства являются низкая достоверность функциойирования и низкая оперативность контроля.
Наиболее близким по технической сущности и достигаемому эффекту из известных устройств к изобретению . является микропрограммный процессор, содержащий операционный блок, блок памяти микрокоманд, регистр ьвткро-, команд, два регистра адреса, регистр кода операций, блок сравнения, триггер фиксации сбоя, десять элементов
И, четыре элемента ИЛИ, два элемента
ИЕ, элемент задержки. Выход кода операции. операционного блока соединен с входом регистра кода операции, выход которого соединен с первым вхо домм первого элемента И, второй вход
2 которого соединен с выходом начала операции опарационного блоха и nep.3@F4 входом вервого элемента или. Выход первого элемента И соединен с
Первым входом первого регистра адреса, второй вход которого соединен с выходом. второго элемента И, а выход - e перзыви входаье блока. па О мяти, третьего И четвертого элементов . Веорой вход третьего элемента
И соедннен с Эвакщом чтения микрокоманд операционного блока,:вторым входом блока амяти микрокоманд, а также через элемент задержки с
1Ф первьв» ВхоДом плтогО элемента" И.
Выход .третьего элемейта И соединен с нервьве входом второго регистра адреса. Выход блока памяти микрокоманд соединен с входом регистра
+ микрокоманд, выход макрокоманд соединен с пераым входом операционного блока, адресный выход - с вторым
Входом опарациОнного блока и.первым входож amyoro элемента И, выход
+ логлческих условий - с первым входом щестоге элемента И. Второй вход вто.рого элемеита И через первый элемент
ИЖ соединен.с выходом первого элемента ЮЗИ; второй вход которого соединен
- Е с выводом конца операции операционно862144
ro блока, первым входом седьмого элемента И, третьим входом первого регистра адреса, вторым входом второго регистра адреса, выход которого соединен с вторым входом пятого элемента И. Второй вход седьмого элемента
И соединен с адресным выходом регистра микрокоманд, выход - с первым входом второго элемента ИЛИ, выход которого соединен с первым входом блока сравнения. Второй вход второго элемента ИЛИ соединен с выходом шестого элемента И, второй вход которого соединен с выходом элемента задержки и первым входом третьего элемента ИЛИ, второй вход которого соединен с выходом первого элемента ИЛИ и вторым входом четвертого элемента И, выход которого соединен с третьим входом второго. элемента ИЛИ. Первый вход восьмого элемента И соединен с выходом регистра кода операций, а выход - c первым входом четвертого элемента ИЛИ, второй вход которого соединен с выходом пятого элемента И, а выход — с вторым входом блока сравнения, третий вход которого соединен с выходом девятого элемента И, первый вход которого соединен с выходом третьего элемента ИЛИ. Второй вход девятого элемента И через второй элемент НЕ соединен с выходом метки регистра микрокоманд и первым входом десятого элемента И, второй вход которого соединен с выходом логических условий регистра микрокоманд, а третий вход — с выходом логических условий операционного блока, третий вход которого соединен с выходом триггера фиксации сбоя, вход которого соединен с выходом блока сравнения. Выход десятого элемента И соединен с четвертым входом первого регистра адреса 2 .
Недостатком устройства является низкая оперативность контроля соответствия выполняемой микропрограммы той микропрограмме, код которой записан в регистре кода операции.
Целью изобретения является повышение оперативности контроля и достоверности функционирования микропрограммного процессора.
Поставленная цель достигается тем, что в микропрограммный процессор с контролем дополнительно введены триггер признака, сумматор по модулю два, одиннадцатый и двенадцатый элементы И, пятый элемент ИЛИ, . Первый вход сумматора по модулю два соединен с выходом логических условий операционного блока, выход - с четвертым входом второго элемента
ИЛИ, второй вход сумматора по модулю два — с выходом одиннадцатого элемента И,первый вход которого соединен с выходом логических условий регистра микрокоманд, второй вход одиннадцатого элемента И вЂ” с выходом двенадцатого элемента И, четвертым входом блока сравненйя и первым входом пятого элемента ИЛИ, второй вход которого соединен с выходом первого элемента ИЛИ, а выход - с вторым входом восьмого элемента И. Первый вход двенадцатого элемента И соединен с выходом второго элемента НЕ, второй вход - с единичным выходом триггера признака, единичный вход которого соединен с выходом метки
1© регистра микрокоманд. Нулевой вход триггера признака соединен с выходом девятого элемента И, а нулевой выход — с третьими входами пятого и шестого элементов И, третий вход
15 двенадцатого элемента И соединен с выходом элемента задержки.
Сущность изобретения состоит в повышении оперативности контроля за счет увеличения числа проверок соот2О ветствия выполняемой микропрограммы . заданному коду операции, а также в повышении достоверности функционирования за счет осуществления контроля правильности ветвления иикро15 программы
При этом контроль соответствия выполняемой микропрограмм заданному коду операции и контроль правильности выполнения ветвлений в микропрограиме осуществляются одновременно
З® общиии средствами проверки. Однако временный контроль реализуется после считывания первой микрокоманды, следующей за очередным ветвлением и в микропрограмме. Это позволяет
З5 повысить оперативность контроля соответствия заданного кода операции выполняемой микропрограмме и довести ее до среднего времени между ветвлениями, а также повысить достоверность
4Q функционирования за счет органиэации контроля ветвлений.
На чертеже приведена функциональная схема микропрограммного процессора с контролем.
На чертеже использованы следующие обозначения." операционный блок 1, выходы логических условий, начала операции, конца операции, кода операции и чтения мнкрокоманд 2-6 соответственно, первый элемент ИЛИ 7, и регистр кода операций 8, первый элемент НЕ 9, первый элемент Й 10, второй элемент
И 11, десятый элемент И 12 первый регистр адреса 13, блок памяти мик55 рокоманд 14, регистр иикрокоманд 15 с полями адресными 16, микрокоманд
17, логических условий 18, метки 19, седьмой элемент И 20, второй элемент
НЕ 21, одиннадцатый элемент И 22, щ сумматор по модулю два 23, триггер признака 24, двенадцатый элемент
И 25, элемент задержки 26, шестой элемент И 27, второй элемент ИЛИ 28, третий элемент И 29, второй регистр адреса 30, пятый элемент И 31, чет862144
Через четвертый элемент ИЛИ 33 адрес, записанный во второй регистр адреса 30, поступает на второй вход
41 блока сравнения 39.
С выхода элемента задержки 26 через время сигнал считывания микрокоманд поступает на первый вход девятого элемента И 35 через третий эЛемент ИЛИ 34, на второй вход которого поступает разрешающий сигнал с выхода метки 19 регистра микрокоманд 15. Сформированный сигнал с выхода девятого элемента И 35 поступает на третий вход 42 блока сравнения
39. При этом контролируется правильность считывания микрокоманды путем сравнения поступивших на его первые
S0
46
65 вертый элемент И 32, четвертый элемент ИЛИ 33, третий элемент ИЛИ . 34„ девятый элемент И 35, пятый элемент
ИЛИ 36, восьмой элемент И 37, триг« гер фиксации сбоя 38, блок сравнения 39, первый — четвертый входы 4043 блока сравнения соответственно, выход 44 блока сравнения.
Первый регистр адреса 13 предназначен для хранения адреса очередной микрокоманды во время выполнения текущей микрокоманды.
Второй регистр адреса 30 предназначен для хранения кода адреса, поступившего с первого регистра адреса 13 на время считывания микрокоманды из блока памяти микрокоманд 14.
Микропрограммный процессор работа ет следующим образом.
Выполнение каждой команды разделе-. но на два цикла: цикл выборки команды и цикл ее исполнения в соответствии с кодом операции. Первый цикл является общим для всех команд, в то время как цикл исполнения состоит из различных микропрограмм для различных команд.
В конце цикла выборки команды и адресных преобразований код операций поступает в регистр кода операций 8; и операционный блок 1 формирует сигнал начала операции. По этому сигналу код операции поступает через первый элемент И 10 в первый регистр адреса 13.
Правильность записи кода опера- ции в регистр адреса 13 контролируется путем сравнения его содержимого с содержимым регистра кода операций
8 по сигналу начала операции, поступающего из операционного блока 1.
По этому сигналу адрес первой микрокоманды с выхода первого регистра адреса 13 поступает через четвертый элемент И 32 на третий вход второго элемента ИЛИ 28 и далее на первый вход 40 блока сравнения 39.
Одновременно с этим сигнал начала операции с выхода первого элемента ИЛИ 7 поступает через пятый элемент ИЛИ 36 на второй вход восьмого элемента И 37, Разрешая прохождение кода операции с выхода регистра кода операции .8 через четвертый элемент
ИЛИ 33 на второй вход блока сравнения 39. Далее происходит сравнение указанных кодов по сигналу начала операции, который поступает с выхода первого элемента ИЛИ 7 через третий элемент ИЛИ 34 и открытый девятый элемент И 35 на третий вход 42 блока сравнения 39. Если коды he совпадают, то на выходе 44 блока сравнения 39 формируется сигнал, который поступает на вход триггера фиксации сбоя
38 и запрещает дальнейшую работу операционного блока 1. Если коды совпадают, то работа процессора про- должается. На выходе чтения микро5
Я
ЗО
45 комаид 6 операцгэнного блока 1 формируется сигнал, по которому происходит считывание микрокоманды по соответсòàóþùåìó адресу из блока памяти ta .крокоманд 14. Этот же сигнал поступает на второй вход третьего элемента И 29, и адрес микрокоманды записывается во второй регистр адреса 30. Через время Г (время счнты9 вания одной микрокоманды из блока памяти микрокоманд 14) в адресном поле 16 регистра микрокоманд 15 формируется адрес следующей микрокоманды, который поступает на первый вход второго элемента И 11, открытый элементом НЕ 9.(во время выполнения ьякропрограмьи сигнала на выходах начала и конца операции и выходе элемента ИЛИ 7 отсутствуют), и на второй вход операционного блока 1.
Проходя через элемент И 11„ адрес записывается в первый регистр адреса 13.
На первый вход операционного блока 1 поступает операционная часть считанной микрокоманды с поля микрокоманд 17 регистра микрокоманд 15.
С поля логических условий 18 регистра микрокоманд 15 считывается адрес исполняемой микрокоманды, который поступает на первый вход шестого элемента И 27. В это время на его второй вход поступает сигнал с выхода чтения микрокоманд 6 через элемент задержки 26, а на третий вход — единичный сигнал с нулевого выхода триггера признака 24. Адрес выполняемой микрокоманды через второй элемент ИЛИ 28 поступает на первый вход 40 блока сравнения 39. После записи адреса выполняемой микрокоманды во второй регистр адреса 30 через время 7 на первый вход пятого элемента И 31 поступит сигнал, разрешающий передачу адреса, записанного во втором регистре адреса, на второй вход четвертого элемента ИЛИ
33. Передача адреса возможна, поскольку на третий вход пятого элемента
И 31 поступает единичный сигнал с нулевого выхода. триггерапризнака 24
862144 два входа кодов. В зависимости от результатов сравнения кодов адресов работа процессора аналогична описанной выше. В дальнейшем при считывании микрокоманд из блока памяти микрокоманд 14 контроль порядка и правильности их считывания осуществляется аналогично.
При выполнении микрокоманды ветвления в поле логических условий.
18 регистра.микрокоманд 15 записывается код проверяемого логического условия. Он поступает на второй вход десятого элемента И 12, на первый его вход поступает единичное значение с выхода метки 19 регистра микрокоманд
15, а на третий - значение проверяемого логического условия. В результате формируется (модифицируется) адрес следующей микрокоманды. Единичным сигналом с выхода метки 19 регистра микрокоманд 15 триггер приз- 2О нака 24 устанавливается в единичное состояние, и на его единичном выходе появляется разрешающий сигнал, который поступает на второй вход двенадцатого элемента И 25. as
При этом .не происходит сравнения значений кодов, записанных в поле логических условий 1Р регистра микрокоманд 15, и содержимого второго регистра адреса 30, поскольку на вто- рр ройовход девятого элемента И 35 поступает нулевое значение с выхода метки 19 регистра микрокоманд 15 и сигнал на разрешение сравнения отсутствует, На третий вход шестого элемента И 27 поступает нулевой сигнал с нулевого выхода триггера признака 24, запрещая передачу информации в блок сравнения 39. После считывания первой мнкрокоманды после ветвления в поле метки 19 регистра 40 микрокоманд .15 появляется нулевой сигнал, который инвертируется вторым элементом HE 21 и поступает на первый вход двенадцатого элемента
И 25, на второй вход которого пос- 45 тупает единичный сигнал с выхода триггера признака 24 и с выхода чтения микрокоманд 6.,На выходе формируется сигнал разрешения, который ,поступает на второй вход одиннадца- Sg того элемента И 22. На первый вход элемента И 22 поступает контрольный признак, записанный в поле логических условий 18 первой микрокоманды после ветвлений. B качестве контрольного признака выступает код операции, модифицированный значением проверяемого. логического условия. Модифицированный таким образом код поступает на второй вход сумматора по модулю два 23, на первый вход которого пос- 40 тупает значение проверяемого логического условия. На выходе сумматора
nî-модулю два 23 в результате форми-. руется фактическое значение кода операции, которое поступает на чет- 65 вертый вход второго элемента ИЛИ 28 и далее на первый вход 40 блока cpasнения 39.
Сигнал разрешения с выхода двенадцатого элемента И .25 поступает также на первый вход пятого элемента
ИЛИ 36 и с его выхода на второй вход восьмого элемента И 37. В результате действительное значение кода операции с выхода регистра кода операции
8 через четвертый. элемент ИЛИ ЗЗ поступает на второй вход 41 блока сравнения 39. Одновременно с этим на четвертый его вход 43 поступает сигнал на разрешение сравнения кодов с выхода элемента И 35, а затем сигналом с выхода элемента Й 35 триггер признака 24 устанавливается в нуль. Далее работа процессора аналогична описанной выше.
Одновременно с контролем соответствия выполняемой микропрограммы заданному коду операции осуществляется контроль правильности ветвлений.
При ошибочном переходе похъученный в результате суммирования контрольного. признака и значения проверяемого логического условия код не совпадает с требуемюм кодом операции и на выходе 44 блока сравнения 39 формируется сигнал отказа.
В дальнейшем процессор реализует оставшуюся часть микропрограмма, осуществляя контроль правильности считывания и порядка следования мнкрокоманд и проверяя принадлежность микрокоманд заданной микропрограмме по описанным .выше алгоритмам.
При считывании последней микрокоманды в поле логических условий 18 регистра ьыкрокоманд 15 записывается адрес считанной микрокоманды, а в адресном поле 16 - код выполняемой операции. По сигналу считывания, задержанному элементом задержки 26, блок сравнения 39, аналогично описанному выше, осуществляет сравнение кодов, поступивших из поля логических условий 18 регистра микрокоманд
15 и второго регистра адреса 30. . По сигналу конца операции первый и второй регистры адреса 13 и 30 соответственно обнуляются, а блок сравнения 39 сравнивает содержимое адресного поля 16 регистра микроко манд 15 и регистра кода операций 8.
При этом на первый вход 40 блока сравнения 39 через второй элемент
ИЛИ 28 с выхода седьмого элемента
И 20 поступает..фактическое значе-. ние кода.операции, а на второй вход
41 - требуемое значение кода операции с выхода регистра кода операции
8..Кроме того, на первый вход блока сравнения 30 поступает код через четвертый элемент И 32, Если суммарный код первого регистра адреса 13 и адресного поля 16 регистра микроко862144 манд 15 равен коду, записанному в регистре кода операции 8,. это означает, что микропрограмма выполнена в соответствии с заданным кодом операции, а первый регистр адреса 13 работоспособен и находится в нулевом состоянии. В этом случае процессор переходит к выполнению цикда выборки следующей команды. б
Если сравниваемые коды не равны, блок сравнения 39 формирует сигнал, который триггер фиксации сбоя 38, передает в операционный блок i. В результате операционный блок 1 инициирует повторение участка микропрограммы или выполнение диагностической микропрограмма.
В процессоре проверяются также средства контроля его функционирова-. ния. При их отказе коды, сравниваемые блоком сравнения 39, будут отличать« ся., что приведет к срабатыванию триг- 20 гера фиксации сбоя 38.
Таким образом, введение новых элементов и связей позволяет существенно повысить достоверность функционирования микропрограммного процес- 25 сора за счет повышения полноты контроля всех этапов выполнения микро-. програюн. При этом также увеличивается оперативность контроля соответствия выполняемой микропрограммы заданному коду операции. Это, в свою очередь, позвоЛяет более эффективно решать задачу восстановления искаженной информации и задачу локализации отказавших элементов, поскольку момент обнаружения отказа (начало, конец операции, линейный участок, ветвление) дает возможность значительно уменьшить количество подозреваемых элементов.
4О
Формула изобретения
Микропрограммный процессор с контРолем, содержащий операционный блок, 4g блок памяти микрокоманд, регистр микрокоманд, два регистра адреса, регистр кода операций, блок сравнения, триггер фиксации сбоя, десять элементов И, четыре элемента ИЛИ, два эле- ц мента НЕ, элемент задержки, причем выход кода операции операционного блока соединен с входом регистра.«ода операции, выход которого соединен с первым входом первбго элемента И, второй вход которого соединен с выходом начала операции операционного блока и первым входом первого элемента.ИЛИ, выход первого элемента И соединен с первым входом первого регистра адреса, второй вход которого 40 соединен с выходом второго элемента
И, а выход — с первыми входами блока памяти, третьего и четвертого элементов И, второй вход третьего элемента И соединен с выходом чтения микрокоманд операционного блока, втор м входом блока памяти микрокоманд, а также через элемент задержки с первым входом пятого элемента И, выход третьего элемента И соединен с первым входом второго регистра адреса, выход блока памяти микрокоманд соединен с входом регистра микрокоманд, выход микрокоманд которого соединен с первым входом операционного блока, адресный выход - с вторым входом операционного блока и первым входом второго элемента И, выход логических условий — с первым входом шестого элемента И, второй вход второго элемента И через первый элемент НЕ соединен с выходом первого элемента ИЛИ, второй вход которого соединен с выходом конца операции операционного блока, первым входом седьмого элемента И, третьим входом первого регистра адреса, вторым входом второго регистра адреса, выход которого. соединен с вторым входом пятого элемента И, второй вход седьмого элемента И соединен с адресным выходом регистра микрокоманд, выход седьмого элемента И соединен i с первым входом:второго элемента ИЛИ, выход которого соединен с первым входом блока сравнения, второй вхоп второго элемента ИЛИ соединен с выходом шестого элемента И, второй вход которого соединен с выходом элемента задержки и первым входом третьего элемента ИЛИ, второй вход которого соединен с выходом первого элемента
ЛИ и вторым входом четвертого эле ента И, выход которого соединен с
Ретьим. входом второго элемента ИЛИ, первый вход восьмого элемента И соединен с выходом регистра кода операций, а выход — с первым входом четвертого элемента ИЛИ, второй вход которого соединен с выходом пятого элемента И, а выход - с вторым входом блока сравнения, третий вход которого соединен .с выходом девятого элемента И, первый вход которого соединен с выходом третьего элемента
ИЛИ, второй Вход девятого элемента
И через второй элемент НЕ соединен с выходом метки регистра микрокоманд и первым. входом десятого элемента и,. второй вход которого соединен с выходом логических условий регистра мнкрокоманд, а третий вход - с выходом логических условий операционного блока, третий вход которого соединен с выходом триггера фиксации сбоя, вход которого соединен с выходом блока сравнения, выход десятого элемента И соединен с четвертым входом первого регистра адреса, о т л ич а ю шийся тем, что., с целью повышения достоверности функционирования и оперативности контроля, в него введены триггер признака, сумматор по модулю два, одиннадцатый и
862144
12 двенадцатый эЛементы И, пятый элемент ИЛИ, причем первый вход сумматора по модулю два соединен с выходом логических .условий операционного ,блока, выход — с четвертым входом второго элеМента ИЛИ, второй вход сумматора по модулю два — с выходом одиннадцатого элемента И, первый вход которого соединен с выходом логических условий регистра микрокоманд, второй вход — с выходом двенадцатого элемента И, четвертым входом блока сравнения и первым входом пятого элемента ИЛИ, второй вход которого соединен с выходом первого элемента
ИЛИ, а выход — с вторым входом восьмого элемента И, первый вход двенад- 1$ цатого элемента И соединен с выходом второго элемента НЕ, второй вход— с единичным выходом триггера признака, единичный вход которЬго соединен с выходом метки регистра микрокоманде нулевой вход триггера признака соединен с выходом девятого элемента И, а нулевой выход - с третьими входами пятого и шестого элементов И, третий вход двенадцатого элемента
И соединен с выходом элемента задержки.
Источники информации, принятые во внимание при экспертизе
1. Авторское свидетельство СССР
9 512471, кл. G 06 F 15/00, G 06 F 9/16, 1975.
2. Авторское. свидетельство СССР. по заявке 9 2756704/18-24, кл. G 06 F 15/20, G 06 F 11/00, 1978 (прототип).