(54) МИКРОПРОГРАММНЫЙ ПРОЦЕССОР
название | год | авторы | номер документа |
---|---|---|---|
Микропрограммный процессор | 1974 |
|
SU535567A1 |
Микропрограммное устройство управления | 1983 |
|
SU1109751A1 |
Микропрограммный процессор с контролем | 1981 |
|
SU985791A1 |
Микропрограммное устройство для контроля и управления | 1985 |
|
SU1325476A1 |
Микропрограммное устройство управления | 1983 |
|
SU1103230A1 |
Микропрограммное устройство управления | 1981 |
|
SU985790A1 |
Микропрограммное устройство управления (его варианты) | 1983 |
|
SU1125625A1 |
Микропрограммное устройство управления | 1983 |
|
SU1130864A1 |
Устройство для программного управления и контроля | 1985 |
|
SU1280574A1 |
Микропрограммное устройство управления | 1983 |
|
SU1142833A1 |
1
Изобретение относится к вычислительной технике, в частности к самоконтролируемым процессорам.
В основном изобретении по авт. 5 свил. № 535567 описан микропрограмный процессор , содержащий операционный блок, первый выход которого че- рез блок сопряжения с оперативной памятью и регистр кода операций сое- Ю динен с первым входом элемента И, выход которого через первый элемент ИЛИ соединен с первым входом регистра адреса микрокоманд, выход которого через блок памяти микрокоманд 15 соединен с входом регистра микрокоманд, первый и второй выходы которого соединены с первыми и вторыми входами операционного блока, второй и третий выходы которого шинами на- 20 Чсша и конца операции соединены с вторыми входами первого элемента И и регистра адреса микрокоманд соответственно и с входами второго элемента ИЛИ, выход которого через пер- 25 вый элемент НЕ соединен с первыми входами второго и третьего элементов Ы, выходы которого через первый и третий элементы ИЛИ соответственно соединены с первым и третьим вхо- 30
дами регистра адреса микрокоманд, четвертый вход которого соединен с первым входом счетчика микрокоманд .и шиной синхронизации с четвертым выходом операционного блока, пятый выход которого соединен с вторым входом счетчика микрокоманд, а шестой . выход соединен с управляющим входом блока памяти микрокоманд и с первым входом четвертого элемента И, выход которого соединен с единичным входом триггера фиксации сбоя, единичный выход которого соединен с третьим входом операционного блока, седьмой выход которого соединен с первым входом первого узла;ветвления, второй вход которого соединен с третьим выходом регистра микрокоманд, третий выход соединен с вторым входом второго элемента И и выходом регистра микрокоманд, четвертый выход которого соединен с вто рым входом третьего элемента И, выход первого узла ветвления через третий элемент-ИЛИ соединен с третьим входом регистра адреса микрокоманд, а первый вход второго узла ветвления соединен с одноименным входом первого узла ветвления, второй вход которого соединен с первыми
входами пятого и шестого элементов И, через второй элемент НЕ - с первыми входами седьмого и восьмого элементов И, через четвертый элемент ИЛИ и третий элемент НЕ - с третьим входом второго элемента И и с первым входом пятого элемента ИЛИ, с вторым входом второго уэла ветвления, третий вход которого соединен с третьим входом первого узла ветвления и с первым входом девятого элемета И,а выход второго узла ветвления соединен с вторым входом пятого элемента И, второй вход шестого элемента И соединен с четвертым выходом операционного блока, а выход соедине с единичным входом триггера, единичный выход которого соединен с входом четвертого элемента ИЛИ и с вторым входом седьмого элемента И, выход которого соединен с вторым входом девятого элемента И, выход пятого и девятого элементов И и пятого элемента ИЛИ через шестой элемент ИЛИ соединены с первым входом сумматора приращения, первый выход которого соединен с третьим входом счетчика микрокоманд, первый выход которого соединен с вторым входом сумматора приращений и через узел проверки нуля - с первым входом элемента ИСКЛЮЧЛКМЦЕЕ ИЛИ, второй вход которого соединен с выходом второго элемента ИЛИ и выходом пятого элемента ИЛИ, выход элемента ИСКЛЮЧАЮЩЕЕ ИЛИ и вторые выходы счетчика микрокоманд и сумматора приращений через седьмой элемент ИЛИ соединены с вторым входом четвертого элемента И, второй вход восьмого элемента И соединен с шестым выходом операционного блока, а вьисод соединен с нулевым входом триггера.
Низкая оперативность диагностирования этого устройства обусловлена тем, что результаты контроля вьвдаются только по окончании реализации операции, что ограничивает применение такого процессора в составе ЭВМ работанвдих в реальном масштабе времени, и тем самым сужает область его возможного применения,- а низкая глубина диагностирования обусловлен невозможностью идентификации микроподпрограммы или перехода, на которых произошел сбой в микропрограмме
Цель изобретения - повышение надежности устройства.
Это достигается тем, что в микропрограммный процессор по авт.свид. № 535567 дополнительно введены второй триггер, узел проверки единицы, дешифратор, четвертый элемент НЕ и с десятого по четырнадцатый элемент И, причем выход дешифратора подключе к четвертому входу операционного блока, вход дешифратора соединен с выходом десятого элемента И, первый вход которого соединен с единичным
выходом триггера фиксации сбоя, второй вход десятого элемента И подключен к выходу счетчика микрокоманд и входу узла проверки единицы, первый вход одиннадцатого элемента И соединен с единичным выходом второго триггера и с первым входом двенадцатого элемента И, нулевой выход второго триггера соединен с первым входом тринадцатого элемента И, второй вход которого соединен с первым входом четырнадцатого элемер та И, с вторым входом одиннадцатого элемента И, через четвертый элемент НЕ - с вторым входом двенадцатого элемента И и с третьим выходом регистра микрокоманд, выход узла проверки единищл соединен с единичным входом второго триггера и с вторым входом четырнадцатого элемента И, выход которого соединен с дополнительным четвертым входом седьмого элемента ИЛИ, пятый дополнительный вход которого соединен с выходом тринадцатого элемента И, дополнительный шестой вход -седьмого элемента ИЛИ соединен с выходом двенадцатого элемента И, третий вход которого соединен с третьим входом одиннгщцатого элемента И и с первым входом счетчика микрокоманд, нулевой вход второго триггера соединен с выходом одиннадцатого элемента И.
Сущность изобретения состоит в осуществлении контроля каждой микроподпрограммы, что позволяет повысить оперативность диагностирования. Кроме того, в процессоре при получении сигнала сбоя после реализации микроподпрограммы возможна идентификаг ия места сбоя между сбоем при ветвлении и q6peM во время реализации линейной части микропрограммы. Этим достигается повышение глубины диагностирования.
На чертеже приведена функциональная схема микропрограммного процессора.
Процессор содержит аппаратуру собственно процессора (элементы 1-26) и аппаратуру контроля (элементы 2752), Аппаратура собственного процессора состоит из второго 1 и четвертого 2 элементов ИЛИ, первого 3 и третьего 4 элементов НЕ,, первого 5 и второго 6 элементов И, первого элемента ИЛИ 7, третьего элемента И 8, третьего элемента ИЛИ 9, регистра адреса 10, памяти микрокоманд 11, регистра микрокоманд 12, содержащего поле 13 микрокоманды, поле 14 ветвления, поле 15 адреса иразряд 16 удлинения адресного поля, операционный блок 17 с выходами конца операции 18, начала операции 19, логических условий 20 чтения микрокоманд 21, гшаения счетчика микрокоманд 22 и тактовых импульсов (шина синхронизации) 23, блока -24 сопряжения с ОЗУ
первого узла ветвления 25, регистра 26 кода операции. Аппаратура контроля процессора состоит из восьмого 27 и шестого 28 элементов И, второго элемента НЕ 29, первого триггера 30, седьмого элемента И 31, второго узла ветвления 32, пятого элемента ИЛИ 33, девятого 34 и пятого 35 элементов И, шестого элемента ИЛИ 36, девятого элемента И 37, дешифратора 38 сумматора 39 приращений, счетчика 40 микрокоманд, узла проверки руля 41, узла проверки единицы 42, элемента 42, элемента ИСКЛЮЧАЮЩЕЕ ИЛИ 43, одиннадцатого элемента И 44, четвертого элемента НЕ 45, четырнадцатого элемента И 46, второго триггера 47, двенадцатого 48 и триннгузцатого 49 элементов И, седьмого элемента ИЛИ 50, четвертого элемента И 51 и триггера фиксации сбоя 52.
Микрокоманды считываиотся из блока памяти 11 в регистр микрокоманд 12 по сигналу в операционный блок 17, который осуществляет необходимые преобразования информации и, кроме тогсу контролируют правильность их выполнения. Правильность считывания из блока памяти 11 в регистр 12 также контролируется блоком 17.
Информация с выходов полей 14 и 15 используется для формирования адреса следующей микрокоманды. При это поле ветвлений 14 используется в зависимости от состояния разряда 16. В линейных микрокомандах значение разрда 16 равно О и поля 14 и 15 совместно образуют адрес следующей микрокоманды. При этом сигналы с поля 14 через элементы И 6, ИЛИ 7 поступают по тактовому импульсу с выхода 23 операционного блока 17 в старшие разряды регистра адреса 10, в младшие разряды которого через элементы И 8 и ИЛИ 9 записывается информация с поля 15 регистра микрокоманд 12.
В микрокомандах ветвления значение разряда 16 равно единице, а в поле 14 записаны код Логических уелоВИЙ. Поэтому через элементы ИЛИ 2 и НЕ 4 блокируется запись информации в регистр адреса 10 с выхода поля 14. Код логических условий и сигнеиты логических условий поступают на входы первого узла ветвления 25 с поля 14. и выхода 20 операционного блока 17 соответственно. С выхода узла 25 код значений логических условий через элемент ИЛИ 9 записывается в регистр адреса 10, модифицируя тем самым адрес следующей микрокоманды в соответствии со значениями логических условий.
Выполнение команды разделено на два цикла. Один цикл выборки и адресных преобразований, который является общим для всех команд, и цикл исполнения команд, который включает (различные микропрограг/чмы для разных.
команд. В конце цикла выборки код операции передается в регистр 26 и операционный блок 17 возбуждает на выходе 19 начала операции. При этом содержимое регистра 26 через элементы И 5, ИЛИ 7 записывается в 5 старшие разряды регистра адреса 10. Прсле этого начинает выполняться микропрограмма цикла исполнения команды.
В конце микрокоманды цикла исполнения операционный блок 17 возбуждает сигнал конца операции на выходе 18, который сбрасывает регистр адреса 10 и осуществляет переход к выполнению микропрограммы цикла выборки следующей команды.
Сигналами с выходов 18 и 19 операционного блока 17 блокируется запись в регистре адреса 10 с регистра микрокоманд 12 и осуществляется лиQ бо прием информации из регистра 26, либо yciaHOBKa регистра адреса 10 в нуль соответственно. Для возбуждения сигналов на выходах 18 и 19 операционного блока 17 используются фиксированные значения кодов ветвления.
Контроль гликропрограммы осуществляется следующим образом. В начЕше микроподпрограммы в счетчик 40 записан код числа микрокоманд в последовательности, которьай затем уменьшается на единицу с каждой следуклдей микрокомандой. В предпоследней микрокоманде последовательности в счетчике 40 записана единица. Если следующей выполняется микрокоманда ветвления, что подтверждается единицей в разряде 16 регистра микрокоманд 12, то сигнгш сбоя
0 отсутствует. При любом другом порядке появления единицы в счетчике .и единицы в разряде 16 формируется сигнал сбоя. Таким образом осуществляется оперативный контроль каждой .
линейной микроподпрограммы.
Контроль правильности реализации переходов осуществляется следующим образом. В микрокоманде ветвления к содержимому счетчика прибавляется
код логических условий ветвления. В первой микрокоманде следующей последовательности к содержимому счетчика 40 прибавляется уменьшенный на единицу код числа микрокоманд в последовательности и вычитается увеличенный на единицу код логических
условий. Поэтому при правильной реализации ветвления в счетчике 40 остается код числа микрокоманд в пос ледовательности, а при сяйибочной код, отличный от кода числа микрокоманд в последовательности, что буДет обнаружено при контроле числа микрокоманд в микрокоманде ветвления, либо в микрокоманде линейной
последовательности, следующей за той. 7 в которой содержимое счетчика 40 рав но единице. Для идентификации места сбоя между линейной последовательностью и переходом служит дешифратор 38, который включается в работу по сигналу обнаружения ошибки. Дешифратор анализирует содержимоесчетчика 40 и в случае, если код счетчика соответствует одной из возможных разностей кодов логических условий (соответствующих ошибочным переходам) выдает в операционный блок 17 призна ошибочного перехода. Если же код сче чика не соответствует ошибочному переходу, то, следовательно, сбой произошел во время реализации данной ли нейной последовательности. В зависимости от одного из двух возможных результатов диагностирования опе рационный блок 17 выдает команду на повторение микропрограммы, начиная либо с конкретной линейной последовательности, либо организует повторную реализацию ошибочного перехода. Это позволяет реализовать оперативны контроль микропрограммного процессора в процессе реализации операции. Рассмотрим функционирование аппаратуры контроля процеосора. В первой микрокоманде микроподпрограммы из поля ветвления 14 регистра микрокоманд 12 через элементы И 34j ИЛИ 36, и сумматор 39 в счетчик 40 записывается уменьшенный на единицу код числа микрокоманд в этой последовательности. В каждой следующей микрокоманде через элементы ИЛИ 33 и 36 и сумматор 39 от содержимого счетчика 40 вычитается единица, срабатывает узел проверки единицы 42, который устанавливает в единицу второй триггер 47, который открывает элементы И 44 и 48. В последней микрокоманде, в которой осуществляется ветвление, из счетчика 40 единица не вычитается, а с выхода второго узла ветвления 32 через элемент И 35,, открытый сигналом с выхода разряда 16 регистра микрокоманд 12, элемент ИЛИ 36 и сум матор 39 добавляется код ветвящих разрядов адреса. Одновременно по сиг налу с выхода разряда 16 регистра ми рокоманд 12 через элемент И 44 второй триггер 47 устанавливается в нул блокируя формирование сигнала сбоя. Первая микрокоманда Кс1ждой микропрограммы определяется по состоянию первого триггера 30. Если триггер ус тановлен в единицу, то этим идентифи цируется первая после ветвления микр команда. .Если же второй триггер 40 находится в нуле, то в поле ветвлени 14 регистра микрокоманд 12 содержитс либо код ветвления (при единичном значении разряда 16 регистра микро команд 12), либо старшие разряды адре .ia следующей микрокоманды (при нулевом значении разряда 16 регистра микрокоманд 12J. Установка первого триггера 30 в единицу осуществляется по тактовому импульсу и единичному сигналу с выхода разряда 16, которые открывают элемент И 27. в следующей микрокоманде после ветвления через открытый в этом такте элемент И 28 первый триггер 30 устанавливается в нуль. В первой микрокоманде следующей микроподпрограммы, к которой произошел переход, из содержимого счетчика 40 вычитается увеличенный на единицу код логических условий и добавляется уменьшенное на единицу число микрокоманд в этой микроподпрограмме. Эта информация поступает из поля ветвления 14 регистра микрокоманд 12 через элементы И 28, ИЛИ 29. Далее при отсутствии сбоев процессор функционирует аналогично описанному выше. В последней микрокоманде последней микроподпрограммы в разряде 16 регистра Микрокоманд 12 записана единица. При этом из счетчика 40 микрокоманд вычитается единица, он принимает нулевое значение, возбуждается сигнал на выходе 19 операционного блока 17 и происходит переход к микропрограмме цикла исполнения команды. Сбои в процессоре могут возникать в схемах формирования адреса или в схемах выборки памяти микрокоманд 11, а также в первом узле ветвления 25, Это приводит 1 тому, что В- счетчике оказываются записанными коды, отличные от заданных. Перед ветвлением микропрограммы правильным является следующий порядок прохождения микрокоманд: первой выдается микрокоманда Ml (предпоследняя в микроподпрограмме), которой соответствует единичный код в счетчике; затем выдается микрокоманда М2 (последняя в микропЬдпрограмме), которая имеет единичное значение разряда ветвления 16. Если сбой произошел при выполнении предыдущего данной микроподпрограмме ветвления или в самой микроподпрограмг/ie, то это в функциональном отношении приводит к следующим трем случаям; после микрокоманды Ml не вьадается микрокоманда М2, микрокоманда М2 выдается раньше микрокоманды Ml; микрокоманды М2 и Ml выдаются одновременно. Рассмотрим работу аппаратуры контроля в этих случаях, В первом случае после срабатывания узла 42 устанавливается в единицу триггер 47. Если в следующем такте разряд 16 регистра микрокоманд 12 имеет нулевое значение, то сигналом с выхода элемента НЕ 45 элемент И 48 открывается и через элемент ИЛИ 50
и И 51 триггер фиксации -сбоя 52 устанавливается в единицу, блокирует операционный блок 17 и, кроме того, открывает элемент И 37. Через элемент И 37 содержимое счетчика 40 поступает в дешифратор 38 для анализа. Если причиной ошибки является неверный переход, то на выходе дешифратора 38, соответствующем номеру этого перехода, возникает сигнал, который поступает в операционный блок. Если же содержимое счетчика не соответствует одному из воз можных. остатков при неверном переходе, то принимается решение о сбо при реализации данной линейной последовательности микрокоманд.
Во втором случае по сигналу с выхода разряда 16 регистра микрокоманд 12 срабатывает элемент И 49, открыты нулевым выходом второго триггера 47 и через элементы ИЛИ 50 и И 51 триггер фиксации сбоя 52 устанавливается в единицу. Далее аналогично описанному производится диагностика сбо
В третьем случае по сигналам с выходов узла проверки единицы 42 и разряда 16, регистра микрокоманд 12 срабатывает элемент И 46, который аналогично описанному устанавливает тригер фиксации сбоя 52 в единицу и работа устройства повторяется.
Диагностирование осуществляется описанным выше способом.
В предпоследней микрокоманде последней микроподпрограммы счетчик 40 устанавливается в единицу, а в последней микрокоманде с выхода 16 регистра микрокоманд 12 поступает сигнал метки, поэтому схема контроля не срабатывает и устройство переходи к следующему циклу работы.
Отсутствие сигнала на шинах 22 начала операции и 24 конца операции ,при равенстве нулю счетчика 40 воспринимается как сбой аппаратуры. Кроме того, сигналы отрицательного знака счетчика 40 и переполнения сумматора 39, которые поступают на первые два входа элемента ИЛИ 50 также воспринимаются, как сбой.
Элемент ИСКЛЮЧАЮЩЕЕ ИЛИ 43 возбуждается либо, когда содержимое счетчика 40 микрокоманд равно нулю, но нет сигналов на шинах 22 и 24, либо в противоположном случае.
Таким образом, введение в процессор дешиЪратора, второго триггера, узла проверки единицы и указанных связей позволяет существенно повысит оперативность, и глубину диагностирования.
По сравнению с устройством, описанным в основном авторском свидетельстве, проверяется правильность
функционирования после реализации каждой микроподпрограммы, а не все микропрограммы.
Кроме того, оперативно выявляется и место возникновения сбоя при реализации линейной части микpoпpoгpa tмы, либо при ветвлении, что облегчает процесс восстановления информации и уменьшает время поиска неисправности.
10
Формула изобретения
Микропрограммный процессор по авторскому свидетельству № 535567,
5 отличают и-йс я тем, что, с целью повышения надежности устройства, в него дополнительно введен второй триггер, узел проверки единицы, дешифратор, четвертый элемент НЕ,и с десятого по .четырнадца0тый элементы И, причём выход дешифратора соединен с четвертым входом операционного блока, вход дешифратора соединен с выходом десятого элемента И, первый вход которого сое5динен с единичным выходом триггера фиксации сбоя, второй вход десятого элемента И соединен с выходом счетчика микрокоманд и с входом узла проверки единицы, первый вход одиннад0цатого элемента И соединен с единичным выходом второгчз триггера и с первым входом двенадцатого элемента И j нулевой выход второго триггера соединен с первым входом тринащцатого эле5мента И, второй вход которого соединен с первым входом четырнадцатого элемента И, с вторым входом одиннадцатого элемента И, через четырнадцатый элемент НЕ с вторым входом двенадцатого элемента И и с третьим выходом
0 регистра микрокоманд, выход узла проверки единицы соединен с единичным выходом второго триггера и с вторым входом четырнадцатого элемента И, выход которого соединен с дополни5тельным четвертым входом седьмого элемента ИЛИ, пятый дополнительный вход которого соединен с выходом тринадцатого элемента И, дополнительный шестой вход седьмого элемента ИЛИ
0 : соединен с выходом двенадцатого элемента И, третий вход -которого соединен с третьим входом одиннадцатого элемента И и с первым входом счетчика микрокоманд,нулевой вход второго
5 триггера соединен с выходом одиннадцатого элемента И.
Источники информации, принятые во внимание при экспертизе
0 (прототип).
Авторы
Даты
1980-09-23—Публикация
1978-11-09—Подача