Микропрограммный процессор с самоконтролем

Иллюстрации

Показать все

Реферат

 

1. МИКРОПРОГРАММНЫЙ ПРОЦЕССОР С САМОКОНТРОЛЕМ, содержащий арифметико-логический блок, блок памяти микрокоманд, регистр кода операции , регистр микрокоманд, регистр адреса, буферный регистр, блок анализа , триггер фиксации сбоя, первый, второй , третий, четвертый, пятый, шестой, седьмой и восьмой блоки элементов И, первый и второй элементы И, первый и второй блоки элементов ИЛИ, первый и второй элементы ИЛИ , первый и второй элементы НЕ и элемент задержки, причем первмй и второй входы процессора соединены соответственно с входами операндов и синхроимпульсов арифметико-логического блока , выход операндов которого является выходом процессора, выход логических условий арифметико-лоп ческого блока соединен с первым управляю(цим входом первого блока элементов И, выход которого соединен с первым информационным входом регистра адреса, выходы второго и третьего блоков элементов И , .соединены соответственно с вторым и третьим информационными входами регистра адреса, выход которого соединен с адресным входом блока памяти микрокоманд и информационными входами четвертого и пятого блоков элементов И, выход начала операции арифметико-логического блока соединен с управляющим входом третьего блока элементов И и первым входом первого элемента ИЛИ, выход которого соединен с первым входом второго элемента ИЛИ, управляющими входами четвертого и шестого блоков элементов И, а через первый элемент НЕ - с управляющим входом второго блока элементов И, выход конца операции арифметико-логического бло-;, . блока соединен с вторым входом первого элемента ИЛИ, установочными входа (/ ми регистра адреса, буферного регистра и управляющим входом седьмого блока элементов И, выход которого соеди ен с первым входом первого блока эле-S ментов ИЛИ, выход кода операции арифметико-логического блока соединен с входом регистра кода операции , выход ,которого соединен с информационными входами третьего и шестого блоков эле ментов И, выход управляющих сигналов считывания арифметико-логического бло ка соединен с управляющим входом блока памяти микрокоманд, управляющим входом пятого блока элементов И и через элемент задержки - с вторым входом второго элемента ИЛИ , выход которого соединен с первым входом первого элемента И, .выход пятого блока элементов И соединен с информационным входом буферного регистра, выходы четвертого , и шестого блоков элементов И соединены соответственно с вторым вхо дом первого блока элементов ИЛИ и пер

ÄÄSUÄÄ 1007109

COOS СОВЕТСНИХ

СОЦИАЛИСТИЧЕСНИХ

РЕСПУБЛИК

ГОСУДАРСТВЕННЫЙ НОМИТЕТ СССР

ПО ДЕЛАМ ИЗОБРЕТЕНИЙ И ОТНРЫТИЙ

ОПИСАНИЕ ИЗОБРЕТЕНИЯ

К ABTOPCHOMV СВИДЕТЕЛЬСТВУ ф " ж, ч с — ) (21) 3236793/18-24 (22) 08.12.80 (46) 23.03.83. Бюл. И .11 (72) И.,П. Ткачев, З.С.Харченко, И.П. Барбаш, Г.Н .Тимонькин и С .Н .Òêàченко (53) 681 - 3 (088. 8) (56) 1. Авторское свидетельство

СССР И 481036, кл.G Об F 9/1" т1975.

2. Авторское свидетельство СССР

N 512"71, кл. G 06 F 15/00, 1976.

3. Авторское свидетельство СССР . по заявке к 2756704/.18-24 кл. G 06 F 15/00, 1979 (прототип). (54} (57) 1. МИКРОПРОГРАНИНЦЙ ПРОЦЕССОР С САМОКОНТРОЛЕМ, содержащий арифметико-логический блок, блок памяти микрокоманд, регистр кода операции, регистр микрокоманд, регистр адреса, буферный регистр, блок анализа, триггер фиксации сбоя, первый, второй, третий, четвертый, пятый, шестой, седьмой и восьмой блоки элементов И, первый и второй элементы И, первый и второй блоки элементов ИЛИ, первый и второй элементы ИЛИ, первый и второй элементы НЕ и элемент задержки, причем первый и второй входы процессора соединены соответственно с входами операндов и синхроимпульсов арифметико"логического блока, выход операндов которого является выходом процессора, выход логических условий арифжетико"логического блока соединен с первым управляющим входом первого блока элементов Й, выход которого соединен с первым информационным входом регистра адреса, выходы второго и третьего блоков элементов

И,,соединены соответственно с вторым (ю 6 06 F 15/00; G 06 F 11/16 и третьим информационными входами регистра адреса, выход которого соединен с адресным входом блока памяти микрокоманд и информационными входами четвертого и пятого блоков элементов И, выход начала операции арифметико-логического блока соединен с управляющим входом третьего блока элементов И и первым входом первого элемента ИЛИ, выход которого соединен с первым входом второго элемента ИЛИ, управляющими входами четвертого и шестого блоков элементов И, а через первый элемент НЕ - с управляющим входом второго блока элементов И, выход конца операции арифметико-логического бло блока соединен с вторым входом перво- Е го элемента ИЛИ, установочными входами регистра адреса, буферного регист-. ра и управляющим входом седьмого .бло- С ка элементов И, выход которого соеди нен с первым входом первого блока эле Я ментов ИЛИ, .выход кода операции ариФметико-логического блока соединен с входом регистра кода операции, выход которого соединен с информационными входами третьего и шестого блоков эле

° 4 ментов И, выход управляющих сигналов считывания арифметико-логического бло ка соединен с управляющим входом бло- © ка памяти микрокоманд, управляющим входом пятого блока элементов И и через элемент задержки - с вторым входом второго элемента ИЛИ, выход которого соединен с первым входом первого ф элемента И, .выход пятого блока элемен» тов И соединен с информационным входом буферного регистра, выходы четвертого. и шестого. блоков элементов И соединены соответственно с вторым входом первого- блока элементов ИЛИ и пер100 вым входом второго блока элементов

ИЛИ, выходы которых соеДинены соотЬетственно с первым и вторым информационньЪи входами блока анализа, выход первого элемента И соединен с первым управляющим входом блока анализа, выход которого соединен с входом триггера фиксации сбоя, выход которого соединен с первым управляющим входом арифметико-логического блока, выход блока памяти микрокоманд соединен с входом регистра микрокоманд, выход адреса которого соединен с информационными входами второго и седьмого блоков элементов И и вторым управляющим .входом арифметико-логического блока, выход микроопераций регистра микрокоманд соединен с входом микро" операций арифметико-логического блока, выход кода логических условийрегистра микрокоманд соединен с информационными входами первого и восьмого блоков элементов И, выход которого соединен с третьим входом первого блока элементов ИЛИ, управляющий выход регистра микрокоманд соединен с вторым управляющим входом первого бло ка элементов И, а через второй элемент НЕ - с вторым входом первого элемента И, отличающийся тем, что, с целью повышения достоверности функционирования и оперативности контроля, введен третий элемент

НЕ причем выход конца операции ариф метико-логи еского баока через третий элемент НЕ соединен с управляющим входом восьмого блока элементов И, вы . ход элемента задержки и выход второго

7109 элемента НЕ соединен с первым и вторым входами второго элемента И, выход которого соединен с вторым управляющим входом блока анализа, выход ре гистра адреса соединен с третьим информационным входом блока анализа,выход буферного регистра соединен с вторым входом второго блока элементов

ИЛИ и четвертым управляющим входом блока анализа.

2. Процессор по и.1, о т л и ч а ю шийся тем, что блок анализа содержит комбинационыый сумматор схему сравнения, первый, второй и третий элементы И, и элемент ИЛИ, причем первый и второй информационные входы блока анализа соединены соответственно с первым и вторым входами схемы сравнения, выход которой соединен с первым входом первого элемента И, первый управляющий вход блока анализа соединен с вторым входом -первого элемента И, выход которого соединен с первым вхадом элемента ИЛИ, третий и четвертый информациоиные входы блока анализа соединены соответственно с первым и вторым входами комбинационного сумматора, выходы которого соединены с входами второго элемента И; второй управляющий вход блока анализа и выход второго элемента И соединены соответственно с прямым и инверсным входами третьего элемента И, выход которого соединен с вторым входом элемента ИЛИ, выход элемента ИЛИ является выходом блока анализа.

Изобретение относится к цифровой вычислительной технике и может быть использовано при построении самоконтролируемых процессоров ЭВИ с микропрограммным управлением. %

Известны микропрограммные процессоры с контролем, содержащие операционный блок, блок памяти микрокоманд, регистры адреса и микрокоманд, блок сравнения, триггер фиксации 1© сбоя, логические элементы И, ИЛИ, НЕ 513, j2).

Недостатками этих устройств являются низкие достоверность функционирования и оперативность контроля.

Наиболее близким по технической сущности и достигаемому положительному эффекту к предлагаемому является микропрограммный процессор с самоконтролем, содержащий блок памяти микрокоманд, арифметико-логический блок, регистр кода операции микрокоманд, регистр адреса, буферный регистр, блок анализа, триггер фикса3 1007 ции сбоя, элементы И, ИЛИ, HE и.элемент задержки причем первый выход арифметико-логического блока через первый элемент И соединен с первым входом регистра адреса, выход которого соединен с первыми входами второго и третьего элементов И и блока памяти, выход которого соединен с входом регистра микрокоманд, первый выход которого соед1нен с первым входом IQ арифметико-логического блока, а также..через четвертый элемент И и первый элемент ИЛИ с первым входом блока ана-. лиза, а через пятый элемент И с BTOрым входом регистра адреса, третий вход которого соединен с вторыми выходами арифметико-логического блока и четвертого элемента И, с первым входом буферного регистра, а также через второй элемент ИЛИ и первый элемент

НЕ с вторым входом пятого элемента И, второй выход регистра микрокоманд сое. динен с вторым входом арифметико-логи. ческого блока, третий выход которого соединен с входом регистра кода операций, выход которого соединен через шестой элемент И с четвертым входом регистра адреса, а через седьмой элемент И и третий элемент ИЛИ - с вторым входом блока анализа, выход которого соединен с единичным входом триггера сбоя, единичный выход которого соединен с третьим входом арифметикологического блока, четвертый выход которого соединен с вторыми входами второго- элемента ИЛИ и шестого элемента И, третий выход регистра микрокоманд соединен с вторым входом первого элемента И,. а через восьмой элемент И, с вторым входом первого элемента ИЛИ, пятый выход арифметико-логического блока соединен с вторыми входами блока памяти и второго.элемента И, выход которого соединен с вторым входом буферного регистра, а через элемент задержки, четвертый элемент ИЛИ и девятый элемент И пятый выход операционного блока соединен с третьим входом блока анализа четвертый выход регистра микрокоманд соединен стретьеим входомnepeoro эле-:.зв мента И, а через второй элемент НЕ " с вторым входом девятого элемента И, выход второго элемента ИЛИ соединен с вторыми входами четвертого элемента ИЛИ, седьмого и третьего элемен- ss та И, выход которого соединен с третьим входом первого элемента ИЛИ.

t09 Л

В указанном процессоре с целью повышения достоверности функционирования и оперативности контроля осуществляется контроль правильности выбора реализуемой микропрограммы пу" тем сравнения кода операции и адреса первой считываемой микрокоманды, а также осуществляется контроль соответствия каждой считанной. линейной микрокоманды ее адресу путем сравнения этого адреса с контрольным адресом, задаваемым в свободном поле логических условий линейных микрокоманд. Кроме того, в процессоре контролируется соответствие выполненной микропрограммы заданному коду операции путем сравнения кода операции с контрольным кодом, задаваемым в свободном поле адреса конечной микрокоманды микропрограммы 3, Недостатками известного процессора являются низкие достоверность функционирования и оперативность контроля.

Низкая достоверность функционирования обусловлена тем, что средствами контроля процессора не обнаруживаются искажения адресов микрокоманд, вызванные отказами и сбоями адресных разрядов ячеек блока памяти, а также сбоями регистра адреса или поля адреса регистра микрокоманд. Исключение составляют лишь те искажения, которые приводят к переходу в зону адресов микрокоманд, принадлежащих микропрограмме с другим кодом операции, и которые в процессоре могут быть обнаружены при сравнении кода операции с содержимым поля адреса конечной микрокоманды микропрограммы.

Вследствие этого в процессоре возможен пропуск микрокоманд, нарушение порядка их выполнения, а также переход к реализации микрокоманд, не принадлежащих реализуемой микропрограмме, т.е. возможно нарушение функции переходов. Контроль правильности считывания микрокоманд, реализуемый в процессоре путем сравнения адреса, по которому считана микрокоманда, с адресом, которыи записан в свободном поле логических условий, позволяет обнаружить лишь те нарушения функции переходов, которые вызваны отказами и сбоями схем управления выборки в блоке памяти.

Нарушения функции переходов, выз" ванные отказами регистра адреса или

5 10071 поля адреса. регистра микрокоманд, в процессоре могут быть косвенно обнаружены при сравнении кода операции с содержимым поля адреса конечной микрокоманды микропрограммы. Это возможно благодаря тому, что отказы поля адреса регистра микрокоманд приводят к искажению содержимого поля адреса конечной микрокоманды, а отказы регистра адреса. искажают нуле- 10 все состояние этого регистра при установке его в нуль, вследствие чего его содержимое, складываясь с содержимым поля адреса регистра микрокоманд, искажает записанный в этом 15 поле код.

Таким образом, отказы регистра адреса и поля адреса регистра микрокоманд, а также некоторые отказы и сбои адресных разрядов ячеек памяти щ обнаруживаются лишь в конце выполнения, микропрограммы, а не в момент их, возникновения, чем обуславливается низкая оперативность контроля., Низкая оперативность контроля обу-И славливает также и низкую глубину диагностирования указанного микропрограммного,. процессора, так как в момент обнаружения отказа отсутствует информация о моменте его возникно-З0 вения и состоянии аппаратуры. Это ограничивает применение известного процессора в системах, работающих в режиме реального времени °

Целью изобретения является повышение достоверности функционирования и оперативности контроля микропрограммного процессора.

Поставленная цель достигается тем, что в микропрограммный процессор с самоконтролем, содержащий арифметикологический блок, блок памяти микрокоманд, регистр кода операции, регистр микрокоманд, регистр адреса, бу ферный регистр, блок анализа, триггер фиксации сбоя, первый, второй, третий четвертый, пятый, шестой, седьмой и восьмой блоки элементов И, первый и второй элементы И, первый и второй блоки элементов ИЛИ, первый и второй элементы ИЛИ, первый и второй weменты НЕ и элемент задержки, причем первый и второй входы процессора соединены соответственно с входами операндов и синхроимпульсов арифметикологического блока, выход операндов которого является выходом процессора, выход логических условий арифметикологического блока соединен с первым

09 6 управляющим входом первого блока элементов И, выход которого соединен с первым информационным входом регистра адреса, выходы второго и третьего блоков элементов И соединены соответственно с вторым и третьим информационными входами регистра адреса, выход которого соединен с адресным входом блока памяти микрокоманд и информационными входами четвертого и пятого блоков элементов И, выход начала операций арифметико-логического блока соединен с управляющим входом третьего блока элементов И и первым .axo" дом первого элемента ИЛИ, выход которого соединен с первым входом второ.

ro элемента ИЛИ, управляющими входами четвертого и шестого блоков элементов И, а через первый элемент НЕс управляющим входом второго блока элементов И, выход конца операции арифметико-логического блока соединен с вторым входом первого элемента ИЛИ, установочными входами регистра адреса. буферного регистра и управляющим входом седьмого блока элементов И, выход которого соединен с первым входом первого блока элементов ИЛИ, выход кода операции арифметико-логического блока соединен с входом регистра кода операции, выход которого соединен с информационными входами третьего и шестого блоков элементов И, выход управляющих сигналов считывания арифметико логического блока соединен с управляющим входом блока памяти микрокоманд, управляют(им входом пятого блока элементов И и через элемент задержки - с вторым входом второго weмента ИЛИ, выход которого соединен с первым входом первого элемента И, выход пятого блока элементов И соединен с информационным входом буферного регистра, выходы четвертого и шестого блоков элементов И соединены соответственно с вторым входом первого блока элементов ИЛИ и первым входом второго блока элементов ИДИ, выходы которых соединены соответственно с первым и вторым информационными входами блока анализа, выход первого элемента И соединен с первым управляющим входом блока анализа, выход которого соединен с входом триггера фиксации сбоя, выход которого соединен с первым управляющим входом арифметико-логического блока, выход блока памяти микрокоманд соединен с входом регист-, ра микрокоманд, выход адреса которого

1007109 соединен с информационными входами второго и седьмого блоков элементов

И и вторым управляющим входом арифметико-логического блока, выход микроопераций регистра микрокоманд соединен с входом микроопераций арифме-. тико-логического блока, выход кода логических условий регистра микрокоманд соединен с информационными входами

nepsoro и восьмого блоков элементов

И, выход которого соединен с третьим входом первого .блока элементов ИЛИ, управляющий выход регистра микроко манд соединен с вторым управляющим входом первого блока элементов И, а через второй элемент HE - с вторым входом первого элемента И, дополнительно введен третий элемент НЕ, причем выход конца операции арифметикологического блока через третий элемент HE соединен с управляющим входом восьмого блока элементов И, выход элемента задержки и выход второго элемента HE соединены соответственно с первым и вторым входами второго элемента И, выход которого соединен с вторым управляющим входом блока анализа, выход регистра адреса соединен с третьим информационным входом блока анализа, выход буферного регистра соединен с вторым входом второго блока элементов ИЛИ и четвертым информационным входом блока анализа.

Блок анализа содержит комбинационный сумматор, сумматор по модулю два первый, второй и третий элементы К и элемент ИЛИ, причем первый и вто.рой информационные входы блока анализа соединены соответственно с первым и вторым входами схемы сравнения, вы- 4в ход которой соединен с первым входом первого элемента И, первый управляющий вход блока анализа соединен с вторым входом первого элемента И, выход которого соединен с первым входом элемента ИЛИ, третий и четвертый информационные входы блока анализа соединены соответственно с первым и вторым входами комбинационного сумматора, выходы которого соединены с входа-Ю ми второго элемента И, второй управляющий вход блока анализа и выход второго элемента И соединены соответственно с прямым и инверсным входами третьего элемента И, выход которого ss соединен с вторым входом элемента

ИЛИ, выход элемента ИЛИ является вы-, ходом блока анализа.

В

Сущность изобретения состоит в повышении достоверности функционирования и оперативности контроля микропрограммного процессора путем организации проверки соответствия адреса оче;редной микрокоманды адресу предшествовавшей ей микрокоманды. Это позволяет с задержкой не более одного такта обнаруживать искажения функции переходов процессора, вызванные отказами и сбоями адресных разрядов ячеек блока память и сбоями регистра ад- реса и поля адресов регистра микрокоманд. Кроме того, это позволяет сократить до одного такта время обнаруживания искажений функции переходов процессора, вызванные отказами регистра адреса и поля адреса в регистре микрокоманд.

Для реализации этой возможности в блоке анализа имеется комбинационный сумматор, в котором из адреса оче" редной микрокоманды вычитается адрес предшествовавшей ей микрокоманды.

При нарушении функции переходов эти адреса будут отличаться более чем на единицу. При этом формируется сиг" нал сбоя.

Кроме того, в данном микропрограммном процессоре сохраняются все виды контроля, имевшиеся в известном.

Так, при выполнении первой микрокоманды микропрограммы контролируется правильность выбора реализуемой микропрограммы путем сравнения-кода операции с адресом этой микрокоманды.

При этом одновременно контролируется нулевое состояние регистра адреса. и буферного регистра.

После считывания каждой линейной микрокоманды контролируется ее соответствие заданному адресу. С этой, целью в поле логических условий, которое в линейных микрокомандах свободно задается адрес этой микрокоманды, который сравнивается с адресом, установленным в регистре адреса. Это позволяет обнаружить нарушения функции пе" реходов процессора, вызванные отказами и сбоями схем управления выборкой микрокоманд в блоке памяти. е

Кроме того, в процессоре контролируется соответствие выполненной микро-программы заданному коду операции путем сравнения кода операции с контрольным кодом, заданным в свободном поле адреса конечной микрокоманды . микропрограммы. При этом одновремен1007!09 но проверяется установка в нуль буферного регистра и регистра адреса.

На фиг. 1 приведена функциональная схема микропрограммного процессора с самоконтролем; на фиг. 2 - функциональная схема блока анализа; на фиг. 3 " функциональная схема арифме-, тико-логического блока; на фиг. 4 функциональная схема преобразователя кодов. fв

Иикропрограммный процессор фиг.1 содержит арифметико-логический блок

1, первый элемент ИЛИ 2, первый элемент НЕ 3, регистр 4 кода-операции, третий 5 и шестой 6 блоки,элементов

И, третий элемент HE 7, .пятый

-„блок 8 элементов И, (буферный ре.Фгистр 9, первый 10 и второй 11 блоки элементов И, регистр 12 адреса, элемент 13 задержки, четвертый 14, седь- мой 15 и восьмой 16 блоки элементов

И, первый 17 и третий 18 блоки элементов ИЛИ, блок 19 памяти микрокоманд,. регистр 20 микрокоманд с полями адреса 21, микроопераций 22, кода логических условий 23 и управляющим (метки ветления ) 24, второй элемент

HE 25, второй элемент И 26, второй элемент ИЛИ 27, первый элемент И 28, блок 29 анализа и триггер 30 фиксации сбоя, выходы 31-35 соответст" венно логических условий, начала, конца и кода операции и импульсов считывания арифметико-логического блока, второй 36 и первый 37 управляющие входы, первый 38, второй 39, четвертый 40 и третий 41 информационные входы и выход 42 блока анализа, вход 43 микроопераций, второй 44 и первый 45 управляющие входы арифметико-логического блока, первый 46 и второй 47 входы и выход 48 процессора (вход операнда, синхроимпульсов р вход операндов.арифметико-логического блока ).

Блок анализа (фиг.2 ) содержит сум-45 матор 49 по модулю два, комбинацион ный сумматор 50, второй 51, первый

52 и третий 53 элементы И и элемент

ИЛИ 54.

-Арифметико-логический блок (фиг.3) >О содержит кодопреобразователь 55, регистр 56 операнда и сумматор 57.

Кодопреобразователь 52 (фиг.4) содержит дешифратор 58 и шифратор 59.

Входы 60 и 61 и выход 62 кодопреобра- 55 зоватепя соединены соответственно с выходами регистра операндов, сумматора и входом сумматора.

Ррифметико-логический блок 1(фиг.3) предназначен для выполнения операций над операндами, поступающими на вход

46 регистра операнда, по микрокомандам,поступающим на вход 43,атакже для формирования сигналов,задаюцих условия работы устройствауправления процессора. На выходе 3! формируются значения логических условий, на выходе 32сигнал начала операции, на выходе 33сигнал конца операции, на выходе 34 подается код операции, на выход 35 импульсы считывания микрокоманд из блока памяти.

Регистр 4 кода операции предназначен для записи и хранения кода операции до окончания выполнения операции.

Регистр 12 микрокоманд используется для записи и хранения адреса микрокоманды, считываемой из блока 19 памяти.

Блок 19 памяти служит для хранения микрокоманд и выдачи их на выход по сигналу считывания в соответствии с заданным адресом.

Регистр 20 микрокоманд предназначен для записи и хранения считанной микрокоманды. В поле 21 хранится адрес следующей микрокоманды, в поле 22 - код микрооперации, в поле

23 - код логических условий (задается только в микрокомандах ветления ), в поле 24 записывается метка, идентифицирующая микрокоманды ветления.

Буферный регистр 9 используется для записи и хранения адреса считанной микрокаманды до"момента начала считывания следующей за ней микрокоманды.

Блок 29 анализа служит для проверки совпадения адреса, по которому считана линейная микрокоманда, с контрольным адресом, записанным в ее свободном поле логических условий а также для сравиения адресов очередной и предшествовавшей ей микрокоманды. При совпадении адреса с со,:держимым поля логических условий или в случае, когда адреса очередной и предшествовавшей ей микрокоманд отпичаются более чем на единицу, на выходе 42 блока формируется сигнал сбоя.

Содержимое поля логических условий подается на вход 38 блока, а сравниваемый с ним адрес - на вход 39.

Выдача результата из сравнения происходит при подаче разрешающего сигнала на вход 37 блока. Адрес очередной

36

Элементы И блока 14 используется для управления подачей информации из регистра 12 адреса на блок 29 анализа.

Элементы И блока 15 предназначены для управления подачей информации из поля 21 адреса регистра 20 на блок 29 анализа.

Элементы И блока 16 служат для управления подачей информации из 23 поля логических условий регистра 2Р на блок 29 анализа. лемент НЕ 7 предназначен для управления блоком 16 элементов И.

Элементы ИЛИ блоков 17 и 18 исполь зуются для подачи информации на входы 38 и 39 блока 29 анализа.

Элемент И 26 предназначен для формирования сигнала разрешения выдачи результата сравнения адресов очередной и предшествовашей ей микрокоманд.

Элемент И 28 служит для формирова- ния сигнала разрешения выдачи резуль тата сравнения адреса микрокоманды г содержимым поля логических условий.

Элемент НЕ 25 предназначен для .И блокировки выдачи результатов сравнения при считывании микрокоманды ветвления.

11 10071 микрокоманды подается на вход 41 блока, а адрес предшествовавшей ей микрокоманды - на вход 40. Результат их сравнения выдается при подаче разрешающего сигнала на вход 36 блока.

Элемент ИЛИ 2 предназначен для формирования сигнала, управляющего подачей содержимого регистров 4 и 12 на блок 29 сравнения кодов, подачей вдреса на регистр 12, а также выда-.- 1о чей результата сравнения кода операции с адресом первой микрокоманды и с содержимым поля адреса конечной микрокоманды.

Элемент HE 3 и блок 11 элементов И. 1з используются для управления подачей адреса на регистр 12.

Элементы И блока 10 предназначены для модификации младших разрядов регистра 12 адреса в соответствии с ре- щ зультатом проверки логических условий.

Элементы И блока 5 служат для управления подачей кода операции на регистр 12 адреса. 2S

Элементы И блока 6 предназначены для управления подачей информации из регистра 4 кода операции на блок 29 анализа.

09

Элемент 13 задержки используется для задержки момента формирования сигналов разрешения сравнения на время, необходимое для считывания микрокоманды из блока 19 памяти.

Элемент ИЛИ 27 предназначен для управления элементом И 28.

Многопрограммый процессор с самоконтролем работает следующим образом, Выполнение каждой команды разделено на два цикла: цикл -выборки команды и цикл ее исполнения в соот" ветствии с кодом операции. Первый цикл является общим для всех команд в то время как цикл исполнения состоит из различных микропрограмм для различных команд.

В конце цикла выборки команды код операции поступает по шине 34 в регистр 4. Затем на выходе 32 операционного блока формируется сигнал начала операции, по которому код операции через блок элементов И 5 поступает в регистр 12 адреса.

Правильность записи кода операции в регистр 12 контролируется путем сравнения содержимого регистров 12 и

4 в блоке 29 анализа. При этом код из регистра 4 поступает на вход 30 через блок И 6 элементов и блок 18 элементов ИЛИ, а из регистра 12 «« через блок 14 элементов И и блок 17 элементов ИЛИ. блоки 6 и 14 элементов в это время открыты сигналом начала операции, проходящим через элемент ИЛИ 2.

Сигнал разрешения выдачи результата сравнения кодов поступает с вы,хода элемента ИЛИ 2 на вход 37 блока 29 анализа через элемент ИЛИ 27 и элемент И 28, открытый единичным сигналом с выхода элемента НЕ 25(разряд метки 24 регистра 20 равен нулю).

При этом одновременно проверяется нулевое состояние регистра 9. и поля .23 регистра 20, содержимое которых подается на входы 39 и 38 соответственно через блок 18 элементов ИЛИ и блоки 16 элементов И и 17 элементов

ИЛИ.

При несовпадении кодов блок 29 анализа формирует сигнал сбоя, по которому триггер 30 устаналивается в единичное состояние и блокирует ра" боту процессора. В противном случае начинает выпрлняться цикл исполнения команды.

При этом по первому сигналу на шине 35 из блока 19 памяти считыва13 10071 ется первая микрокоманда, которая записывается в регистр 20 микрокоманд.

Так как в ходе выполнения микропрограммы сигнала начала и конца операции на шинах 32 и 33 отсутствуют, то на выходе элемента HE 3 сохраняется единичный сигнал, открывающий блок 11 элементов И. Через этот блок в регистр

12 с поля 21 регистра 20 поступает адрес Ат .1+1 очередной микрокоманды, to

При считывании микрокоманды проверяется соответствие ее тому адресу .А ., который был задан в регистре 12 .

Для осуществления проверки этот адрес в начале такта считывания по сигналу is на шине 35 записывается в регистр 9 и подается с него на вход 39 блока

29 анализа. S поле логических условий 23 регистра 20 при правильном считывании линейной микрокоманды дол- рв жен быть записан ее адрес A, а в поле 24 метки должен быть нуль. Содержимое поля логических условий 23 пода ется на вход 38 блока 29 анализа через открытый блок 16 элементов И и блок 17 элементов ИЛИ и сравнивается с содержимым регистра 9 . Сигнал, разрешающий сравнение, подается на вход

37 блока 29 анализа через элемент

ИЛИ 27 и открытый элемент И 28 с выхода элемента !3 задержки. Результат сравнения фиксируется триггером 30.

Таким образом контролируется работа регистра 12, схем управления выборкой микрокоманд и поля логических условий блока 19 памяти, а также поля 23 регистра 20. Одновременнно контролируется работа блока элементов И 8 регистра 9, блоков 16 элементов И и

17 элементов ИЛИ, относящихся к. контрольному оборудованию.

46

Кроме того, при считывании микрокоманды контролируется функция переходов процессора путем проверки соответствия адреса А „очередной мик рокоманды адресы А считанной микрокоманды. В качестве контрольного признака используется величина разности адресов А; и A „. Так как проверка осушествляется только для линейных микрокоманд, адреса которых зако- в дированы последовательно, то для соседних микрокоманд величина этой разности не может превышать единицу.

Адрес А подается на вход 40 бло1 ка 29 анализа из регистра 9, а адрес А;+„ — на вход 41 этого блока с выхода регистра 12. Сигнал., разрешающий сравнение, подается на вход

09 14

36 блока 29 анализа с,выхода эле" мента 13 задержки через элемент И 26.

Если сравниваемые адреса отличаются более чем на единицу, на выходе 42 блока 29 анализа формируется сигнал сбоя.

Таким образом контролируется работа поля адреса блока 19 памяти,по ля 22 регистра 20, а также регистра

12.

При отсутствии сбоев на шине 35 появляется следующий сигнал считывания, по которому аналогично вышеопи-.в санному из блока 12 памяти по адресу, установленному в регистре 12, считывается следующая микрокоманда и осуществляется сравнение ее адреса с со- держимым поля 23 логических. условий и с адресом следующей микрокоманды, считанным из блока 9 памяти в регистр 12.

Если считаннная микрокоманда является условной микрокомандой ветвления,.то в поле 24 метки записывается единица. По сигналу с поля 24-метки запираются элементы И 26 и 28, запрещая сравнение адресов в блоке 29 анализа. а также отпиоается блок 10 элементов И,который в соответствии со значениями логическихусловий на шине

31 модифицирует младшие разряды регистра 12, заданные в поле 23 логических условий.

После считывания конечной микрокоманды реализуемой микропрограммы и осуществления вышеописанных проверок на шине 33 формируется сигнал конца операции по которому регистры 12 и 9 обнуляются, а блок 29 анализа сравнивает код операции, установленный на регистре 4, с содержимым поля 21 адреса регистра 20. В этом поле записан код выполненной операции.

Содержимое регистра 4 подается на вход 39 блока 29 анализа через блок

18 элементов ИЛИ и блок 6 элементов И, открытый сигналом с выхода

2 элемента ИЛИ.

Содержимое поля 21 адреса подается на вход 38 блока 29 анализа через блок 17 элементов ИЛИ и блок 15 элементов И, открытый сигналом с шины 33

Кроме того, через блок 18 элементов ИЛИ на вход 39 блока подается содержимое регистра 9, а на вход 38 через блок 17 элементов ИЛИ и открытый блок 14 элементов И подается содержимое регистра 12.

15 10071

Если суммарный код регистра 4 кода операции и регистра 9 равен суммарному коду, установленному в поле

21 адреса регистра 20 и в регистре 12 адреса, то это означает, чтл микропрограмма выполнена в соо-..ветствии с заданным кодом операции, а регистры 9 и 12, работоспособны и установлены в нуль. В этом случае процессор переходит к выполнению цикла >в выборки следующей команды.

Если же сравниваемые коды не равны, то это означает или сбой какоголибо из регистров 4,9,12 или поля 21 регистра 20, либо несоответствие выполненной микропрограммы заданному коду операции. В этом случае блок 29 анализа формирует сигнал сбоя, по которому процессор переходит к nos09 16 торению участка микропрограммы или к поиску места отказа.

Таким образом, в предлагаемом микропрограммном процессоре наряда с контролем правильности начала и конца выйолнения микропрограммы и работы схем управления выборкой микро" команд из блока памяти, имеввим место в известном, осуществляется контроль правильности задания адреса каждой очередной микрокоманды.

Исключение составляют адреса лишь тех микрокоманд, которые следуют за микрокомандами ветвления. кроме того, полностью сохраняется свойство самопроверяемости элементов процессора, входящих в состав контрольного оборудования.

I00 7109

1007109 бО

6l

ФУ

Составитель И. Сигалов

Редактор Т.Кугрышева Техред О. Неце Корректор,10 макаренко

Заказ 2146/72 Тираж 704 Подписное

ВНИИПИ Государственного коиитета СССР по делан изобретений и открытий

113035, Иосква, Ж-35, Рауаская наб., д. 4/5

Филиал llllfl "Патент", г. Ужгород, ул. Проектная, 4