Микропрограммный процессор с контролем
Иллюстрации
Показать всеРеферат
ен к4СРя@ . Я Я
Qf 5 JI,-- ...
С. Н. Ткаченко, Г. H. Тимонькин, В. С. Х и А. П. Плахтеев (72) Авторы изобретения (7Ф) Заявитель (54) МИКРОПРОГРАММНЦЙ ПРОЦЕССОР С КОНТРОЛЕМ
Изобретение относится к вычислительной технике, в частности к процессорам с контролем функционирова- .. ния и восстановлением при сбоях.
Известен программный процессор, включающий в себя операционный блок, блок памяти микрокоманд, регистр мик-. рокоманд, регистр адрвса микрокоманд, счетчик микрокоманд, триггер фиксации сбоя, элементы И, ИЛИ:, НЕ (l ).
Недостатком указанного устройства является низкая оперативность контроля и восстановления работы устройства, большой объем контрольного оборудования.
Известен также микропрограммный, процессор с восотановлением при сбоях, содержащий операционный блок, блок памяти, регистры адреса и микрокоманд, счетчик, регистр адреса повтора, элементы .И, ИЛИ 2
Недостатками этого устройства являются ограниченные функциональные возможности, обусловленные тем, что, 2 восстановление информации осущестМ» вляется путем рвторения микрокоманд, при выполнении которых обнаружен сбой. Это предъявляет дополнительные требования к характеру микроз команд и средствам их восстановления.
Наиболее близким к предлагаемому по технической сущности является процессор, содержащий регистр логических условий, счетчик микрокоманд, четыре блока элементов И, первый элемент ИЛИ, элемент И, элемент
ИЛИ-WE, элемент задержки, первый одновибратор, триггер фиксации сбоя, регистр микрокоманд,,регистр адреса, блок памяти и операционный блок, первый вход которого связан с входом процессора и первым входом первого .
20 блока элементов И, второй, третий, и четвертый входы, первый и второй выходы соединены с единичным выходом триггера фиксации сбоя,.входом синхронизирующих импульсов, первым вы985791 ходом регистра микрокоманд, выходом результата операции и первым выходом третьего блока элементов И соответственно, третий выход соединен с вторым входом первого блока элементов
И и первым входом элемента ИЛИ-НЕ, четвертый выход соединен с вторым входом, элемента ИЛИ-HE и установочным входом регистра адреса, пятый выход соединен с входом управления 10 считывания блока памяти и счетным входом счетчика микрокоманд, выходы которого через первый элемент ИЛИ, первый элемент И и одновибратор соединены с единичным входом триггера 11 фиксации сбоя, а установочный вход соединен с выходом четвертого блока элементов И, первый вход которого соединен с выходом регистра логических условий, информационный вход ко- 20 торого связан с выходом третьего блока элементов И и первым выходом второго блока элементов И, выход которого, второй и третий входы соеди,нены соответственно с первым входом 25 регистра адреса, выходом элемента
ИЛИ-НЕ и вторым выходом регистра микрокоманд, третий выход которого соединен с вторым входом третьего и четвертого блоков элементов И, четвертый выход соединен с третьим вхо™ дом четвертого блока элементов И и через элемент задержки с установоч.ным входом первого регистра логических условий, пятый выход соединен с третьим входом одноименного блока элементов И и вторым входом первого элемента И, вход соединен с выходом блока памяти, вход которого соединен с выходом регистра адреса j 3
Недостатком этого процессора яв-. ляется низкая оперативность восстановления работы при сбоях. (При обнар..жении ошибки работа процессора блокируется и происходит об- 4> ращение к ОЗУ для вызова программы анализа ошибки и восстановления работы устройства. Очевидно, что это сравнительно длительный процесс, так как такую программу необходимо вызвать, запросить соответствующие исходные данные слово состояния программы ), проанализировать промежуточные результаты решения, если таковые имеются и т,д. Кроме того, 55 программно необходимо формировать адрес микрокоманды повтора, что реализовать затруднительно, так как, например, в EC ЭВМ нельзя в программе задавать адреса микрокоманд.Это приводит к необходимости повторного выполнения операции, при выполнении которой произошел сбой, хотя в этом, может быть и нет необходимости ввиду того, что восстановление зачастую можно начать с некоторой внутренней микрокоманды операции.
Цель изобретения - повышение быстродействия восстановления вычислительного процесса при сбоях.
Поставленная цель достигается тем, что в микропрограммный процессор с контролем, содержащий операционный блок, регистр адреса, регистр микрокоманд, первый регистр логических условий, счетчик микрокоманд, блок памяти, триггер фиксации сбоя, первый, второй, третий и четвертый блоки элементов И, элемент ИЛИ, элемент И, элемент ИЛИ-НЕ, элемент задержки и первый одновибратор, причем вход кода операции микропрограммного процессора соединен с первым входом первого блока элементов И и входом кода операции операционного блока, выход результата операции которого является выходом результата операции микропрограммного процессора, выход триггера фиксации сбоя соединен с управляющим входом операцик онного блока, выход начала операции которого .соединен с вторым входом первого блока элементов И и первым входом элемента ИЛИ-НЕ, вход синхронизации микропрограммного процессора соединен с входом синхронизации опе рационного блока, выход конца операции которого соединен с вторым входом элемента ИЛИ-НЕ и установочным входом регистра адреса, выходы адреса и микроопераций регистра микрокоманд соединены соответственно с первым входом второго блока элементов И и с входом микроопераций операционного блока, выход чтения микрокоманд которого соединен с управляющим входом блока памяти и счетным входом счетчика микракоманд, выход логических условий операционного блока соединен с первым входом первого блока элементов И, выход которого соединен с третьим входом второго блока элементов И, выход которого соединен с первым информационным входом регистра. адреса, выход регистра адреса соединен с адресным входом
985
5 блока памяти, выход которого соединен с входом регистра микрокоманд, выход логических условий регистра микрокоманд соединен с вторым. входом третьего блока элементов И и первым входом четвертого блока элементов И, выход которого соединен с установочным входом счетчика микрокоманд, первый управляющий выход регистра микрокоманд соединен с. вторым входом 1р четвертого блока элементов И и через элемент задержки с установочным входом первого регистра логических условий, выход которого соединен с третьим входом четвертого блока эле- 15 ментов И, выходы счетчика микрокоманд соединены с входами элемента ИЛИ, выход которого соединен с первым входом элемента И, второй управляющий выход регистра микрокоманд соеди- 2О нен с третьим входом третьего блока элементов И и вторым входом элемента И, выход которого через первый одновибратор соединен с единичным входом триггера фиксации сбоя, введены регистр кода операции, регистр адреса повтора, второй регистр логических условий, анализатор кодов, пятый, шестой и седьмой блоки элементов И, блок элементов ИЛИ и второй одновибратор, причем выход первого блока элементов И соединен с входом регистра кода операции и первым входом блока элементов ИЛИ, выход которого соединен с вторым информационным вхо35 дом регистра адреса, выход регистра кода операции соединен С первым входом пятого. блока элементов И, выход которого соединен с пераым информационным входом анализатора кодов, единичный выход триггера фиксации сбоя соединен с вторым входом пятого блока элементов И и управляющим входом анализатора кодов, первый управляющий выход которого через второй
4S одновибратор соединен с нулевым входом триггера фиксации сбоя и установочным входом второго регистра логических условий, выход которого соединен с вторым информационным входом анализатора кодов, выход регист50 ра адреса и первый управляющий выход регистра команд соединены соответственно с первым и вторым входами шестого блока элементов И, выход которого соединен с входом регистра адреса повтора, выход регистра адреса повтора соединен с первым входом седьмого блока элементов И, выход
791 6 которого соединен с вторым входом блока элементов ИЛИ, второй и третий управляющие выходы анализатора кодов соединены соответственно с вторым входом седьмого блока элементов
И и выходом программного восстановления устройства.
Кроме того, анализатор кодов содержит первый и второй блоки элементов И, дешифратор, первый, второй и третий элементы ИЛИ, причем первый и второй информационные входы анализатора кодов соединены с первыми входами первого и второго блоков элементов И соответственно, выходы которых соединены соответственно с первым и вторым входами дешифратора, управляющий вход анализатора кодов соединен с вторыми входами первого и второго блоков элементов И, первая и вторая группы выходов дешифраторов соединены с входами первого и второго элементов ИЛИ соответственно, выход третьего элемента ИЛИ является первым управляющим выходом анализатора кодов, выход первого элемента ИЛИ соединен с первым входом третьего элемента ИЛИ и является вторым управляющим выходом анализатора кодов, выход второго элемента ИЛИ соединен с вторым входом третьего элемента ИЛИ и является третьим управляющим выхо,", дом анализатора кодов.
Сущность изобретения состоит в восстановлении работы процессора путем повторения последней линейной последовательности микрокоманд либо всей микропрограммы в зависимости от кода операции и значений логических условий, при которых произошел сбой.
Это обеспечивается хранением кода операции адреса первой микрокоманды линейной последовательности и кода логических условий, при которых выполняется линейная последовательность. При фиксации сбоя посредством анализатора кодов анализируется код операции и логические условия, устанавливается в нуль триггер фиксации сбоя. При возможности восстановления работы процессора повторением линейной последовательности микрокоманд адрес ее первой микрокоманды заносится в регистр адреса, после чего начинается повторное выполнение данной линейной последовательности.
В противном случае происходит обращение в ОЗУ для программнога восстановления работы процессора.
985791
Реализация процедуры восстановления работы процессора достигается использованием следующих новых связей и элементов.
Введение регистра кода операции, пятого блока элементов И, второго регистра логических условий и обусловленных ими связей позволяет хранить и анализировать код операции, логические условия и при возникновении сбоя выдавать сигнал сброса триггера фиксации сбоя и сигналы восстановления повторением линейной последовательности либо программного восстановления.
Введение шестого блока элементов
И, регистра адреса повтора, седьмого блока элементов И и обусловленных ими связей позволяет в начале каждой линейной последовательности по сигналу с первого управляющего выхода регистра микрокоманд записывать адрес ее первой микрокоманды.
При восстановлении работы процессора после сбоя повторением линейной последовательности по единичному сигналу с выхода анализатора кодов адрес из регистра повтора через блок элементов ИЛИ записывается в регистр адреса.
Соединение первого управляющего выхода анализатора кодов через второй одновибратор с нулевым входом триггера фиксации сбоя и установочным входом второго регистра логических условий позволяет устанавливать их в нуль, прекращая тем самым подачу кода операции через пятый блок элементов на вход анализатора кодов.
Введение укаэанных связей и элементов позволяет повысить скорость восстановления вычислительного процесса при сбоях за счет автоматического повтора линейной последовательности микрокоманд, либо обращения к программным средствам восстановления (повторному выполнению соответствующих операций).
На фиг. 1 изображена функциональная схема микропрограммного процессора с контролем; на фиг. 2 - форматы реализуемых микрокоманд; на фиг. 3 - функциональная схема анализатора кодов; на фиг. 4 - примеры восстановления микропрограмм, поясняющие работу анализатора кодов; на Фиг. 5 " функциональная схема узла местного управления операционного блока.
На фиг. 1 обозначены второй одновибратор 1, триггер 2 фиксации сбоя, вход 3 кода операции микропроцессора, вход 4 синхроимпульсов, операционный блок 5, состоящий из блока 6 местного управления, блока 7 регистров, сумматора 8, выход 9 ре10 зультата операции, выходы 10 и 11 начала и конца операций операционного блока соответственно, выход 12 чтения микрокоманд, выход 13 логических условий операционного блока, nep>s вый блок 14 элементов И, регистр 15 кода операции, пятый 16 и шестой 17 блоки элементов И, регистр 18 адреса повтора, анализатор 19 кодов, седьмой блок 20 элементов И, выход
20 2f n o e Ho o eoccTBHoBJIeHHR процессора, элемент ИЛИ-НЕ 22, второй блок 23 элементов И, блок 24 элементов ИЛИ, регистр 25 адреса, блок 26 памяти, регистр 27 микрокоманд, раз25 деленный на пять полей: поле 28 микроопераций, поле 29 адреса следующей микрокоманды, поле 30 задания проверяемых логических условий (признаков) или кода. числа микрокоманд в послезо довательности, первый 31 и второй 32 управляющие разряды соответственно, второй регистр 33 логических условий, третий блок 34 элементов И, элемент задержки 35, первый регистр 36 логи" ческих условий, четвертый блок 37 weментов И, счетчик 38 микрокоманд, первый элемент ИЛИ 39, элемент И 40 и первый одновибратор 41.
На фиг. 2а изображен формат Ф1 первой микрокоманды.; на фиr.2б формат Ф2 второй — последующих микрокоманд (кроме последней ); на фиг. 2в - формат Ф3 последней микрокоманды линейной последовательности.
В полях 28-29 форматов Ф1-Ф3 записаны сигналы микроопераций (ИО ) и адрес следующей микрокоманды (А) соответственно. В поле 30 формата Ф1 задается код числа микрокоманд в последовательности (Й>), а в формате
Ф3 — код проверяемых. логических условий (Х). В формате Ф2 поле 30 пусто. В разрядах 31 и 32 форматов Ф1Ф3 записаны соответственно 10,00,01. затор кодов 19 (фиг. 3) содержит первый 64 и второй 65 блоки элементов И; дешифратор 66, первый 67, 9 9857 второй 68 третий .69 элементы ИЛИ соответственно.
На фиг. 4 использованы обозначе-. ния: 1(1 К5 -.Коды операции L1 „- -L4
L> - Lj - лйнейные последовательности S
1 4 (микропрограммы) микрокоманд, Х „- Х коды логических условий. Стрелками показаны возможные точки восстановления.
Блок местного управления 6 операционного блока 5 (фиг.5) содержит первую группу блоков 42 элементов И, блок 43 элементов ИЛИ, вторую группу блоков 44 элементов И, буферный регистр 45, дешифратор 46, первую груп- 1 пу элементов И 47, вторую группу элементов И 48, первый 49 и второй 50 элементы ИЛИ, элемент И 51, входы 5257 блока б местного управления, выходы 58-63 блока 6 местного управ- 20 пения.
Элемент ИЛИ 39 управляется выходами счетчика 38. Попе 30 регистра 27 предназначено дпя задания кода псг гических условий в микрокоманде пред- шествующей разветвлению (формат ф3), Кроме того, это поле используется в первой микрокоманде последовательности для задания кода числа микрокоманд в последовательности (формат 30
Ф1), сигналы с разрядов 31 и 32 используются для управления работой процессора. Разряд 31 является идентификатором первой микрокоманды в последовательности (Формат ф1), а 35 разряд 32 - последней (формат Ф3).
На вход 3 устройства поступает код операции. С выхода 12 чтения блока 5 поступает сигнал в счетчик 38 для вычитания единицы. 40
Первый регистр логических условий 36 предназначен дпя хранения зна.чений сигналов логических условий признаков. вход 52 из соответствующего регистра блока регистров 7, через требуемый блок элементов И 42 и блок weментов ИЛИ 43 на выход 58 и далее в сумматор 8> передача информации, поступающей на вход 54 из сумматора 8, через соответствующий блок элементов
И 44 на выход 59 и далее в один из регистров блока регистров 7; Формирование сигналов начала (выход 61) и конца (выход 62 } операции элементами И 47, ИЛИ 49, И 48, ИЛИ 50 соответственно.
Регистр 45 хранит код операции, 1 который поступает на выход 58. Ro этому коду осуществляется настройка сумматора 8. Дешифратор 46 дешифриру" ет код операции и в зависимости от этого сигналы начала и конца опера" ции формируются на выходах соответствующих элементов И 47 и И 48. Элемент И 51 управляет подачей сигналов считывания на выход 63 зависимости от состояния триггера 2.
Предлагаемый процессор содержит средства контроля и восстановления.
К средствам контроля относится первый регистр логических условий 36, элемент задержки 35, третий 34 и четвертый 37 блоки элементов И, счетчик 38, элемент ИЛИ 39, элемент И 40 и первый одновибратор 41. Средства восстановления работы процессора при сбоях включают регистр кода операции 15, второй регистр логических условий 33, регистр адреса повтора 18, анализатор кодов 19, пятый, шестой и седьмой блоки элементов И 16, 17 и
20, соответственно, блоки элементов
ИЛИ 24, второй одновибратор 1.
Анализатор 19 кодов (фиг.3,4) осуществляет анализ кода логических условий, кода операции и выработку на этой основе сигналов управления восстановлением. Блоки элементов
И 64 и. 65 управляют подачей кодов операции и логических условий на дешиф" ратор 66, который в -зависимости от их значений формирует сигнал на одном из своих выходов. В зависимости от этого появляются сигналы на выходе элемента ИЛИ 67 (если восстановление возможно путем возврата начала линейной последовательности) или на выходе элемента ИЛИ 68 (если.восстановление возможно только программным путем). Сигнал с выхода элемента ИЛИ 69 подается на первый
43
Операционный блок 5 осуществляет арифметические и логические операции. Блок местного управления 6(фиг.5) управляет передачей информации между сумматором 8 и блоком регистров 7 se и формирует сигналы. логических условий начала, конца операции и чтения микрокоманд при поступлении соответствующих микроопераций. Сигналы микроопераций поступают на вход 53 бло- у ка 6.
По этим сигналам производится и передача информации, поступающей на
91 10
985791
010
0010
010
1011
010
1100
0010
100
100
1011
100
1 100 выход анализатора кодов и далее н," одновибратор 1. Алгоритм преобразования кодов в данном узле состоит в следующем (фиг.4). при Х =0010, Х = 1011, Х =1100, Выполнение команды в процессоре состоит из двух циклов: выборки из оперативного запоминающего устройства и преобра-о зования адреса и исполнения команды в соответствии с кодом операции. По этим из двух циклов работает и операционный блок 5, а управляющая часть процессора реализует две мик35 ропрограммы, соответствующие этим циклам. 4ерез вход 3 на операционный блок поступает на ОЗУ код операции.
После этого блок 6 выдает на выход 10 сигнал начала операции. С входа 4 на блок 6 поступают синхроимпульсы. Блок 6 разрешает прохождение этих сигналов на выход чтения микрокоманд, если триггер 2 находится в нулевом состоянии и отсутствуют сбои при вычислениях;
В процессе работы блоком 6 на выходе 60 на основе состояния блока
7 и сумматора 8 формируются различные признаки (логические условия), например, u) - признак отрицательного результата, Ч - признак переполнения, в1с п " признак знака и т.п.
Эти признаки с выхода 13 поступают
55 в управляющую часть и управляют хо- . дом работы устройства (т.е. определяют направления ветвления микК=010, К = 100.
Работа анализатора кодов может описываться следующей таблицей (при по-даче единичного сигнала на управляющий вход от триггера 2). ропрограммы) . По окончанию формирования результата операции формируется признак (сигнал) конца операции, который выдается с выхода .11 блока 5.
Результат операции поступает через выход 9 в ОЗУ, либо запоминается в блоке регистров 7.
В конце цикла выборки команды и адресных преобразований операционный блок 5 возбуждает сигнал на выходе начала операций 10, по которому код операции через первый блок элементов И 14 и блок элементов ИЛИ 24 передается в регистр 25 и начинает исполнение микропрограммы цикла ис" полнения команды.
В конце цикла исполнения команды, операционный блок возбуждает сигнал на выходе 11 конца операции, который устанавливает в нуль регистр адреса 25 и осуществляется переход к выполнению цикла выборки следующей команды.
В ходе выполнения микропрограммы любого из .циклов сигналы на выходах 10 и 11 блока 5 отсутствуют, поэтому выходом элемента ИЛИ-НЕ 22 второй блок 23 элементов И открыт.
4ерез второй блок 23 элементов И с выхода поля 29 адреса следующей микрокоманды регистра 27 на вход регист985791 ра 25 адреса поступает адрес следующей микрокоманды.
Сигналы логических условий с выхода 13 операционного блока 5 поступают на входы элементов И первого s блока 34, на другие входы которых с выхода поля 30 регистра 27 в заданные моменты времени подается код проверяемых. логических условий. При этом в зависимости от значений проверяемых логических условий, .которые поступают на часть входов второго блока 23 элементов И с выходов элементов И третьего блока 34, адрес !
5 следующей микрокоманды может модифицироваться.
В предлагаемом процессоре осуществляются контроль последовательности микрокоманды и восстановление при сбоях.
Рассмотрим работу процессора при контроле последовательности микрокоманд, т.е. контроль регистра 25 и схем управления выборкой из памяти микрокоманд. На этом этапе процессор
25 функционирует аналогично прототипу.
Любая микропрограмма состоит из линейных последовательностей микрокоманд, содержащих одну. и более микрокоманд. Порядок выполнения последовательностей определяется значениями проверямых логических условий, поступающих из операционного блока °
Сущность контроля состоит в подсчете числа микрокоманд в каждой линейной последовательности, а не во всей микропрограмме и сравнении его с заданным. При несовпадении фиксируется сбой в микропрограмме с помощью триггера 2.
Первая микрокоманда последовательности имеет формат Ф1 (фиг.2 а). При ее выполнении с выхода поля 28 регистра 27 на вход операционного блока 5 поступают сигналы микроопераций, с выхода поля 29 считывается адрес следующей микрокоманды, а с выхода поля 30 считывается код числа микрокоманд в данной последовательности, который поступает на входы элемента И четвертого блока 37. Поскольку первый регистр 36 логических условий находится в нулевом состоянии, то по сигналу с разряда 31 регистра 27 элементы И блока 37 срабатывают и код числа микрокоманд в последовательности записывается в счетчик микрокоманд 38.
После этого считывается вторая и последующие микрокоманды последовательности, которые имеют формат Ф2
{фиг.2), по сигналам с выхода 12 опе рационного блока 5. При этом с каждой микрокомандой происходит вычитание единицы от содержимого счетчика 38 импульсом считывания с выхода
12 блока 5.
Последняя микрокоманда последовательности имеет формат Ф3 (фиг.2в), С выхода поля 30 регистра 27 микрокоманд считывается код проверяемых логических условий, который поступает на вход второго регистра условий и на входы элементов И третьего блока 34, на первые входы которых с выхода 13 операционного блока 5 поступают- сигналы логических условий.
По сигналу с разряда 32 регистра
27 элементы И третьего блока 34, срответствующие единичным значениям логических условий, срабатывают и значения соответствующих логических условий записываются в первый регистр логических условий 36, а также одновременно с этим модифицируют часть адреса следующей микрокоманды на втором блоке 23 элементов И. По сигналу с разряда 32 регистра 27 микрокоманд опрашивается элемент ИЛИ 39. При этом, если счетчик микрокоманд 38 находится в нулевом состоянии, то число микрокоманд в последовательности соответствует заданному. Поэтому элемент И 40 не срабатывает и триггер сбоя 2 не изменяет своего состояния. Тем самым разрешается дальнейшая работа процессора. Если же счетчик 38 находится не в нулевом состоянии, то по сигналу с выхода элемента ИЛИ 39 элемент И 40 срабатывает и через первый одновибратор
41 устанавливает триггер 2 в единицу, фиксируя сбой, который блокирует операционный блок 5.
При нормальном функционировании процессор вновь переходит к реализации первой микрокоманды следующей последовательности с форматом Ф1 (фиг.2а). В этом случае с выхода поля 28 регистра 27 на вход операционного блока 5 считываются сигналы микроопераций, а с выхода поля 29 адрес следующей микрокоманды последовательности. С выхода поля 30
985791
16 считывается код числа микрокоманд в последовательности, которая соответствует значениям проверяемых в предыдущей микрокоманде логических условий. Этот код поступает на входы элементов И четвертого блока 37, открытых сигналом с выхода разряда 31 регистра 27. На третьи входы элементов И блока 37 поступает информация с выходов первого регистра 36 10 логических условий и значения проверяемых в предыдущей микрокоманде логических условий. В случае ненулевых значений логических условий сигналы с соответствующих выходов ре- >s гистра 36 модифицируют код числа микрокоманд в лоследова1ельности.
- При этом код записывается с выходов элементов И четвертого блока 37 в счетчик 38. Еали же регистр 36 на- щ ходится в нулевом состоянии (в случае, когда значения проверяемых логических условий равны нулю, либо когда предыдущая последняя микрокоманда принадлежала одно" из сходя- 2g щихся к данной первой микрокоманде ветвей микропрограммы и после этой предыдущей микрокоманды не проверялись логические условия), то в счетчик микрокоманд 38 записывается без модификации код с выходов поля 30 регистра 27 После записи кода счетчик 38 сигналом с выхода элемента задержки 3 в первый регистр логических условий 36 устанавливается в исходное состояние.
Работа процессора при восстановлении состоит в следующем.
При сбое единичный сигнал с выхода триггера фиксации сбоя открывает элементы И пятого блока 16 и код. операции с регистра 1 поступает на вход анализатора кодов 19. Одновременно на третий вход анализатора кодов поступает код логических условий из регистра 33. При единичном сигнале от триггера фиксации сбоя анализатор 19 кодов осуществляет анализ кодов операции и логических условий.
Если анализ показывает, что восстановление работы процессора можно осуществить с начала линейной госледовательности, то на вход блока 20 элементов И подается единичный сигнал и адрес первой микрокоманды линейной
55 последовательности из регистра 18 адреса повтора через блок 20 элементов И и блок 24 элементов ИЛИ поступает на вход регистра адреса. Одновременно сигналом из анализатора 19 кодов через одновибратор 1 триггер фиксации сбоя и Второи регистр усло" вий 33 устанавливается в "0". Тем самым снимается блокировка работы операционного блока и повторяется линейная последовательность микрокоманд.
Далее устройство функционирует аналогично описанному выше.
Если же восстановление работы процессора возможно лишь программными средствами, то на выходе 21 анализатора 19 кодов возникает единичный сигнал и одновременно выполняется установка в нуль триггера 2 и регистра 33. При этом осуществляется повторение всей микропрограммы операции.
С введением в процессор второго регистра условий, регистров кода операции и адреса повтора, анализатора кодов, блоков элементов И и ИЛИ, одновибратора и указанных связей в предлагаемом устройстве возможно восстановление работы процессора повторением линейной последовательности микрокоманд, на которой возник сбой, в то время как в прототипе повторяется выполнение всех предшествующих линейных последовательностей.
Формула изобретения
1. Иикропрограммный процессор с контролем, содержащий операционный блок, регистр адреса, регистр микрокоманд, первый регистр логических условий, счетчик микрокоманд, блок памяти, триггер фиксации сбоя, первый, второй, третий и четвертый блоки элементов И, элемент ИЛИ, элемент И, элемент ИЛИ-НЕ, элемент задержки и первый одновибратор, причем вход кода операции микропрограммного процессора соединен с первым входом первого блока элементов И и входом кода операции операционного блока, выход результата операции кот торого является выходом результата операции микропрограммного процессора, выход триггера фиксации сбоя соединен с управляющим входом операционного блока, выход начала операции которого соединен с вторым входом первого блока элементов И и первым входом элемента ИЛИ-НЕ, вход синхронизации микропрограммного процессора соединен с входом синхронизации операционного блока, выход
985791 18 конца операции которого соединен с вторым входом элемента ИЛИ-НЕ и установочным .входом регистра адреса, выходы адреса и микроопераций регистра микрокоманд соединены соответственно S с первым входом второго блока элементов И и с входом микроопераций операционного блока, выход чтения микрокоманд которого соединен с управляющим входом блока памяти и счет-fO ным входом счетчика микрокоманд, выход логических условий операционного блока соединен с первым входом первого блока элементов И, выход которого соединен с третьим входом второго И блока элементов И,.выход которого соединен с первым инФормационным входом регистра адреса, выход регистра адреса соединен с адресным входом блока памяти, выход которого соеди- 2в нен с входом регистра микрокоманд, выход логических условий регистра микрокоманд соединен с вторым входом третьего блока элементов И и первым входом четвертого блока элементов И, 2s выход которого соединен с установочным входом счетчика микрокоманд, первый управляющий выход регистра микрокоманд соединен с вторым входом четвертого блока элементов И и через зв элемент задержки с установочным входом первого, регистра логических условий, выход которого соединен с третьим входом четвертого блока элементов И, выходы счетчика микрокомандз соединены с входами элемента ИЛИ, выход которого соединен с первым входом элемента И, второй управляющий выход регистра микрокоманд соединен с третьим входом третьего блока элементов И и вторым входом элемента И, выход которого через первый одновибратор соединен с единичным входом триггера фиксации сбоя, о тл. и ч а ю шийся тем, что, с целью повышения быстродействия восстановления вычислительного процесса при сбоях, в микропрограммный процессор введены регистр кода операции, регистр адреса повтора, второй регистр логических условий, анализатор кодов, пятый, шестой и седьмой блоки элементов И, блок элементов ИЛИ и второй одновибратор, причем выход первого блока элементов И соединен с входом. регистра кода операции и первым входом блока элементов ИЛИ, выход которого соединен с вторым информационным входом регист ра адреса, выход регистра кода операции соединен с первым входом пятого блока элементов И, выход которого соединен с первым информационным входом анализатора кодов, единичный выход триггера фиксации сбоя соединен с вторым входом пятого блока элементов И и управляющим входом анализатора кодов, первый управляющий выход которого через второй одновибратор соединен с нулевым входом триггера фиксации сбоя и установочным входом второго регистра логических условий, выход которого соединен с вторым информационным входом анализатора кодов, выход регистра адреса и первый управляющий выход регистра команд соединены соответственно с первым и вторым входами шестого блока элементов
И, выход которого соединен с входом регистра адреса повтора, выход регистра адреса повтора соединен с первым входом седьмого блока элементов
И, выход которого соединен с вторым входом блока элементов ИЛИ, второй, третий управляющие выходы анализато" ра кодов соединены соответственно с вторым входом седьмого блока элементов И и выходом программного восстановления микропрограммного процессора.
2. Процессор по п.1, о т л и ч аю шийся тем,,что анализатор кодов содержит первый и второй блоки элементов И, дешифратор, первый, второй и третий элементы ИЛИ, причем первый и второй информационные входы анализатора кодов соединены с первыми входами первого и второго блоков элементов И соответственно, выходы которых соединены соответственно с первым и вторым входами дешифратора, управляющий вход анализатора кодов соединен с вторыми входами первого и второго блоков элементов И, первая и вторая группы выходов дешифратора соединены с входами первого и второго элементов ИЛИ соответственно, выход третьего элемента ИЛИ является первым управляющим выходом анализатора кодов, выход первого элемента ИЛИ соединен с первым входом третьего элемента ИЛИ и является вторым управляющим выходом анализатора. кодов, выход второго элемента
ИЛИ соединен с вторым входом третьего элемента ИЛИ и является третьим управляющим выходом анализатора кодов.
Источники информации, принятые во вниеание при экспертизе
1. Авторское свидетельство СССР
У 485274, кл. G 06 F 9/16, 1974.
985791
2. Авторское свидетельство СССРпо заявке М 2776555/18-24, кл. G 06 F 9/16, 1979.
3. Авторское свидетельство СССР по заявке и 2649225/18-24, кл. G 06 Г 15/20, 1979 (прототип).
985791
Составитель H. Сигалов тор Н Стащишина Техр Ж Кастелевич Корректор О.Билак.
/9 р 73 Подписное
ВНИИПИ Государственного комитета СССР по делам изобретений и открытий
113035, Москва, 5-35, Раушская наб., д. 4/5
Филиал ППП "Патент", г. Ужгород, ул. Проектная, 4