Микропрограммное устройство управления с контролем

 

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

COOS СОВЕТСКИХ

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

РЕСПУБЛИК

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

ПО ДЕЛАМ ИЗОБРЕТЕНИЙ И ОТНРЬП ИЙ (21) 3655521/24-24 (22) 24.10.83 (46) . 15.02 .85. Бюл. Ф 6 (72) В.П.Супрун, Г.H.Òèìîíüêèí, С.Н.Ткаченко и В.С.Харченко (53) 681.3(088.8) (56) 1. Авторское свидетельство СССР

У 928356, кл. -G 06 F 9/22, 1980.

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

У 1007106, кл. G 06 F 9/22, 198t °

3. Майоров С.А. и Новиков Г.И.

Структура электронных вычислительных машин. Л., "Машиностроение", 1979, с. 312-314, рис. 10.4 (прототип) . (54) (51) МИКРОПРОГРАММНОЕ УСТРОЙСТВО

УПРАВЛЕНИЯ С КОНТРОЛЕМ, содержащее блок постоянной памяти, регистры адреса и микроопераций, коммутатор, мультиплексор логических условий, триггер пуска и генератор тактовых импульсов, причем вход пуска устройства соединен с единичным входом триггера пуска, выход которого соединен с входом генератора тактовых импульсов, вход кода операции устройства и выход конца команды регистра мнкроопераций соединены соответственно с первым информационным и управляющим входами коммутатора, выход которого соединен с информационным входом регистра адреса, выход регистра адреса соединен с входом блока постоянной памяти, выходы мо4(51) С 06 F 9/22, G 06 Р 11/00 дифицируемого разряда адреса, кода логических условий и микроопераций блока постоянной памяти соединены соответственно с первым информационным и управляющим входами мультиплексора логических условий и информацион ным входом регистра микроопераций, выход которого является выходом микроопераций устройства; вход логических условий устройства соединен с вторым информационным входом мультиплексора, выход которого и выход немодифицируемых разрядов адреса блока постоянной памяти соединены с вторым информационным входом коммутатора, отличающееся тем, что, с целью повышения достоверности контроля, в него введены элемент И-НЕ, триггер ошибки и элемент ИЛИ, причем первый и второй выходы генератора тактовых импульсов соединены свходами синхронизации соответственно регистра адреса и регистра микроопераций, выходы конца команды и конца работы регистра микроопераций соединены соответственно с входами синхро,низации триггера ошибки и первым входом элемента KIH выход кода логических условий блока постоянной памяти соединен с входом элемента И-НЕ, выход которого соединен с информационным входом триггера ошибки, выход триггера ошибки соединен с выходом ошибки устройства и вторым входом элемента KIN выход которого соединен с нулевым входом триггера пуска.

1140121 2

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

Известно микропрограммное устройство управления, содержащее регистр адреса, триггер, двя запоминающих блока, дешифратор, элементы И и HE (11.

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

ИЛИ, а также триггер (21 .

Недостатком такого устройства так- 20 же является низкая достоверность функционирования.

Наиболее близким к предлагаемому по технической сущности и достигаемому положительному эффекту является 25 микропрограммное устройство управления, содержащее блок памяти, триггер пуска и генератор импульсов, регистры адреса и микрокоманд, формирователь адреса микрокоманд (коммутатор),30 мультиплексор, причем вход пуска устройства и выход микрооперации "Конец работы" регистра микрокоманд сое- q динены соответственно с единичным и нулеВым Входями триггера пуска Вы ход которого соединен с входом генератора импульсов, выход которого соединен с синхровходом блока памяти, вход логических условий устройства и выход кода логических условий регист40 ра микрокоманд соединены соответственно с информационным и управляющим

L входами мультиплексора, выход которого соединен с первъ1м входомформирователя адреса микрокоманд, выход кото- 45 рого сдединен с информационным входом регистра адреса, выход регистра адреса соединен с адресным входом блока памяти, выход которого соединен с информациОнным ВхОдом регистря МНКро ,команд, выход микроопераций которого является выходом микроопераций устройства, выходы Конец команды 1 и адреса соединены с вторым и третьим входами формирователя адреса микрокоманд соответственно (3) .

Недостатком известного устройства является низкая достоверность функцирнирования, которая обусловлена отсутствием контроля входной информации

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

Цель изобретения — повышение достоверности контроля.

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

Способ контроля, реализуемый в устройстве, состоит в следующем.

В поле логических условий каждой !

5 начальной микрокоманды заносится фиксированный код, который соответствует номеру неиспользуемого логического условия. Например, если всего устройством проверяется десять логичес20 ких условий у 1, у,, y p кото рые кодируются четырехразрядными кодами 0001,0010,...1010 соответственно, то такими фиксированными кодами могут быть коды 1011, 1100,...,1111.

Предположим, что.в качестве такого фиксированного кода выбран код 1100.

Тогда он записывается в поле логических условий всех начальных микрокоманд. После считывания каждой первой микрокоманды проверяется содержимое поля кода логических условий. Если оно отлично от значения фиксированного кода 1100, то это означает, что. код, поступивший на вход устройства и воспринимаемый им как начальный 35 адрес микропрограммы, не является кодом операции вследствие его искажения в результате сбоя или отказа аппаратных (программных) средств верхнего уровня. В этом случае устройст- 40 вом формируется сигнал ошибки. Этот сигнал может являться также следствием дефектов в адресных цепях самого устройства, приводящих к тому, что по коду операции не может быть правильно считана соответствующая ему начальная микрокоманда. Таким образом, в предлагаемом устройстве контролируется правильность перехода от программного к микропрограммному 50 уровню.

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

121 4 фиксировать и хранить сигнал ошибки.

Элемент ИЛИ формирует сигнал останова устройства по сигналу ошибки.

На чертеже приведена функциональная схема микропрограммного устроиства управления.

Устройство содержит блок 1 постоянной памяти с полями немодифицируемых разрядов адреса 1.1, модифицируемого разряда адреса 1.2, кода логических условий 1.3 и микроопераций 1.4 регистр. 2 адреса, регистр 3 микроопераций,элемент И-НЕ 4, коммутатор 5, мультиплексор 6 логических условий, генератор 7 тактовых импульсов, триггер 8 пуска, триггер 9 ошибки, элемент ИЛИ 10,вход 11 пуска устройства, вход 12 кода операции устройства, вход 13 логических условий устройства, выход 14 микрооперации, в том числе выходы конца команпы 14. 1 и конца работы 14.2, выход 15 ошибки, а также первый 16.1 и второй

16.2 выходы генератора 7 тактовых импульсов. Вход 11 пуска устройства соединен с единичным входом триггера 8 пуска, выход которого соединен с входом генератора ? тактовых импульсов. Вход 12 кода операции устройства и выход 14. 1 конца команды регистра 3 микроопераций соединены соответственно с первым информационным и управляющим входами коммутатора 5, выход которого соединен с информационным входом регистра 2 адреса.Выход регистра 2 адреса соединен с входом блока 1 постоянной памяти, выходы модифицируемого разряда адреса 1.2, кода логических условий

1.3 и микроопераций 1.4 которого соединены соответственно с первым информационным и управляющим входами мультиплексора 6 логических условий и информационным входом регистра 3 микроопераций. Выход регистра 3 микроопераций является выходом !4 микроопераций устройства. Вход 13 логических условий устройства соединен с вторым информационным входом мультиплексора 6, выход которого и выход немодифицируемых разрядов адреса 1.1 блока 1 постоянной памяти соединены с вторым информационным входом коммутатора 5.

Первый 16.1 и второй 16 ° 2 выходы генератора 7 тактовых импульсов соединены с входами синхронизации соответственно регистра 2 адреса и ре- ..

1140121 гистра 3 микроопераций, выходы конца команды 14.1 и конца работы 14.2 которого соединены соответственно с входом синхронизации триггера 9 ошибки и первым входом элемента ИЛИ 5

10, Выход 1.3 кода логически< условий блока 1 постоянной памяти соеди- нен с входом элемента И-НЕ 4, выход которого соединен с информационным входом триггера 9 ошибки. Выход триг- 10 гера 9 ошибки соединен с выходом 15 ошибки устройства и вторым входом элемента ИЛИ 10, выход которого соединен с нулевым входом триггера 8 пуска.

Блок f постоянной памяти предназначен для хранения кодов микрокоманд.

Блок 1 постоянной памяти имеет четыре выхода. Выход 1.1 адреса следующей микрокоманды подключен к соответст- 20 вующим разрядам первого информационного входа коммутатора 5. На этом выходе считываются все разряды адреса, исключая младший модифицируемый разряд адреса. Выход 1.2 младшего разряда адреса следующей микрокоманды подключен к входу мультиплексора 6 логических условий. Выход 1.3 кода Логических условий соединен с входами мультиплексора 6 и элемента И- 30

НЕ 4. По коду логических условий, .считываемому из блока 1, мультиплексор

6 логических условий производит при необходимости анализ значения соответствующего логического условия и

35 модификацию значения младшего разряда адреса микрокоманды.

Выход 1.4 микроопераций подключен к информационному входу регистра

3 микроопераций, помимо внешних мик- 40 роопераций, выдаваемых на выход 14 устройства, на выходе 1.4 блока 1 считываются внутренние микрооперации

"Конец команды" и "Конец работы".

Каждая последняя микрокоманда микРо- 4 программы содержит микрооперацию "Конец команды, а последняя микрокоманда последней микропрограммы содержит, кроме того, микрооперацию "Конец работы". Эти микрооперации также посту-. пают на информационный вход регистра

3 микроопераций, Блок f постоянной памяти представляет собой блок .памяти статического типа, информация на выходах которого присутствует в течение всего времени наличия адреса микроманды на его входе. Адрес микрокоманды на вход блока 1 поступает с выхода регистра

2 адреса.

Регистр 2 адреса предназначен для хранения адреса очередной микрокоманды, который поступает Hа его информационный вход с выхода коммутатора 5.

Запись очередного адреса в регистр

2 адреса осуществляется по заднему фронту тактового импульса, поступающего на синхровход регистра 2 адреса с первого 16.1 выхода генератора 7 тактовых импульсов.

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

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

4, соответствующие нулевым разрядам фиксированного кода являются инверсными. При поступлении на его вход фиксированного кода, которым в поле логических условий отмечены все начальные микрокоманды микропрограммы, на выходе элемента И- НЕ 4 формируется нулевой сигнал, который поступает на D-вход триггера 9 ошибки. Например, пусть все начальные микрокоманды в поле логических условий содержат код 1100, Тогда элемент И-НЕ 4 имеет два инверсных входа, на которые посту- пают младшие нулевые разряды кода. В результате на выходе элемента И-HE 4 формируется нулевой сигнал.

Коммутатор 5 предназначен для передачи на вход регистра 2 адреса либо кода операции, поступающего на вход 12 устройства, либо адреса очередной микрокоманды, поступающего с адресного 1.1 выхода блока 1 и выхода мультиплексора 6 (младший модифицированный разряд адреса). Коммутация кода операции на вход регистра 2 адреса осуществляется при единичном сигнале, поступающем на управляющий вход коммутатора 5 с выхода 14.1 регистра 3 микроопераций. При нулевом сигнале на управляющем входе коммутатор 5 передает

114О1 на вход регистра 2 адрес очередной микрокоманды микропрограммы.

Мультиплексор 6 осуществляет выделение значения того логического условия из поступающих на его второй информационный вход, номер которого . указан в коде логических условий, поступающем на его управляющий вход с выхода 1.3 блока 1. Кроме того, мультиплексор 6 осуществляет пере- 1О а (В +В„)+у„В„+...+у„В„, Z

25 где а — младший модифицируемый раз0 ряд адреса микрокоманд; у а ° °

) у — значения логических условий;

БО=Х1У 30

4 ° )

x — конъюнкция значения разрядов нулевого кода логических условий, поступающего на управляющий вход мультиплексора;

Ф\

В =х л"

Х q у ° л хп

4 4 )

-конъюнкция значений разря.дов кода, которым отмечены начальные микрокоманды;

„в =. х -конъюнкции значений разрядов (Ц в 1 кода логических .условий (ji i) . О, если х =О, х =

1, если х1=1.

Из приведенной формулы следует, что при нулевом коде логических ус-. ловий, либо при .коде, которым отмечаются начальные микрокоманды,Е=ао, т.е. младший разряд адреса микрокоманды а, пропускается на выход мультиплексора 6 без изменения.

50

При других ненулевых кодах логи- 55 ческих условий Z = y> если на вход мультиплексора 6 поступает j-код логических условий. Так как во всех дачу младшего разряда адреса, кото.рый поступает на его второй информационный вход с выхода 1.2 блока 1, если модификация адреса не требуется.

Особенностью предлагаемого устройст- 15 ва является то, что модификация адреса не требуется как при нулевом коде логических условий, так и при коде, которым отмечены все начальные микрокоманды микропрограмм. Поэ- 20 тому логическая функция, реализуемая мультиплексором, имеет следующий вид:

21 микрокомандах ветвления записывается адрес с младшим разрядом à = О, то

его модификация заключается в замене а, значением того логического условия, которое проверяется при реализации ветвления.

Генератор 7 тактовых импульсов

Ф формирует на первом l6.1 и втором

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

16. 1 и 16.2 генератора 7 тактовых импульсов производится только при наличии единичного сигнала на его управляющем входе.

Триггер 8 пуска управляет работой генератора 7 тактовых импульсов. Он устанавливается в единичное состояние при поступлении единичного сигнала на вход 11 пуска устройства, который соединен с его S-входом.

Единичный сигнал на выходе триггера

8 разрешает функционирование генератора 7 тактовых импульсов. Триггер 8 пуска устанавливается в нулевое состояние при поступлении на его R-вход через элемент ИЛИ 10 либо сигнала микрооперации "Конец работы", который формируется на выходе 14.2 регистра

3 микроопераций, либо сигнала ошибки, который формируется на выходе триггера 9 ошибки.

Триггер 9 ошибки предназначен для фиксации ошибки в работе устройства из-за неправильного кода операции, поступившего на вход 12 устройства, либо в результате искажения значений

его разрядов при прохождении через коммутатор 5 или регистр 2 адреса °

Триггер 9 ошибки устанавливается в единичное состояние по заднему фронту сигнала микрооперации "Конец коfl манды, поступающего íà его синхровход с выхода 14.1 регистра Э микроопераций, если в этот момент на его

D-входе присутствует единичный сигнал с выхода элемента И-HE 4. Наличие этого сигнала свидетельствует о том, что микрокоманда, считанная из блока

1 по коду операции, поступившему на вход t2 устройства, не является начальной микрокомандой микропрограммы °

Предлагаемое устройство работает ,следующим образом.

1 1 401

В исходном состоянии вбе элементы, памяти установлены в "О". В единичном состоянии находится только один триггер регистра 3, которому соответствует выход 14 1 микрооперации конца команды.

Работа устройства начинается после поступления -на вход 11 сигнала

"Пуск", по которому устанавливается в единичное состояние триггер 8. 1б

По первому тактовому импульсу с выкода 16.1 генератора 7 в регистр 2 заносится код с входа 12. Этот код записывается в регистр 2 через ком.мутатор 5, на управляющий вкод которого подается единичный сигнал с выхода 14.1 регистра 3.

Затем по тактовому импульсу с выхода 16.2 генератора 7 в регистр 3 заносится часть кода первой микро- 2р команды, состоящая из кода микроопераций. По заднему фронту этого импульса исчезает единичный сигнал на выходе 14.1 регистра 3 и в триггер

9 ошибки записывается единичный 25 или нулевой сигнал. Единичный сигнал, формируемый элементом И-НЕ 4, в этот триггер запишется в том случае, если в поле 1,3 первой микрокоманды присутствует код, отличный от фиксированного кода, соответствующего начальной микрокоманде микропрограммы. Тогда единичный сигнал с выхода триггера 9 через элемент

ИЛИ 10 остановит работу устройства-.

В противном случае нулевое состояние триггера 9 не изменится и в регистр 2 по второму импульсу с выхода 16.1 генератора 7 запишется адрес следующей микрокоманды. Этот адрес поступает в регистр 2 с выхода

1. 1 блока 1 (немодифицируемая часть) и с выхода 1.2 блока 1 через мультиплексор 6 (модифицируемая часть) на коммутатор 5, на управляющий вход 4 которого подается нулевой потенциал с выхода 14.1 регистра 3. При этом младший модифицируемый адресный разряд проходит на выход мультиплексора 6 и далее в регистр 2 адреса без изменения.

По второму тактовому гжпульсу с выхода 16.2 генератора 7 коды микроопераций заносятся в регистр 3 и

21 далее работа устройства продолжается аналогично описанному.

В микрокомандах ветвления код логических условий поступает с поля

1.3 блока 1 в мультиплексор 6 и производит модификацию младшего адресного разряда в соответствии с реализуемой этим узлом логической функцией.

Алгоритм работы „стройства после считывания последней микрокоманды и перехода к выполнению следующей микропрограммы полностью аналогичен описанному алгоритму начальной фазы функционирования. После считывания в регистр 3 микрооперации конца работы сигналом с выхода 14.2 через элемент ИЛИ 10 обнуляется триггер 8 и работа устройства прекращается до подачи следующего сигнала ",Пуск".

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

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

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

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

1140121

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

Редактор Л.Пчелинская Техред А.Бабинец Корректор С.Шекмар

Заказ 265/38 Тираж 710 Подписное

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

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

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

Микропрограммное устройство управления с контролем Микропрограммное устройство управления с контролем Микропрограммное устройство управления с контролем Микропрограммное устройство управления с контролем Микропрограммное устройство управления с контролем Микропрограммное устройство управления с контролем Микропрограммное устройство управления с контролем 

 

Похожие патенты:
Наверх