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

 

СОЮЗ СОВЕТСКИХ

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

РЕСПУБЛИН

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

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

ООИСАНИЕ ИЗОБРЕТЕНГ Я: к ABTopcHQMY свидБтепьстВу (21 ) 3393226/18-24 . (22) 09. 02, 82 (46) 23.06.83. Бюл, И 23 (72) И.П ..Барбаш, С.Ю, Петунин, А.П, Плахтеев, Г.Н. Тимонькин, С.Н. Ткаченко и В.С. Харченко (53) 681,3(088.8) (56) 1. Авторское свидетельство СССР

0 481036, кл. G 06 F 9/ 14, 1976.

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

N 535567, кл. G 06 F 9/ 14, 1977, 3 ° Авторское свидетельство СССР и 814120, кл. G 06 F 9/14, 1981 (прототип). (54) (57) МИКРОПРОГРАММНОЕ УСТРОЙСТВО

УПРАВЛЕНИЯ, содержащее регистр кода операции, регистр микрокоманд, регистр адреса, формирователь адреса микрокоманды, блок памяти, триггер формирования сигнала ошибки, первый, второй и третий блоки элементов И, первый и второй элементы И, элементы

ИЛИ> элемент задержки, первый и второй элементы НЕ, причем выход блока памяти соединен с входом регистра микрокоманд, первый, второй и третий выходы которого соединены соответственно с выходом микроопераций устройства, первым входом первого блока элементов И и первым информационным входом формирователя адреса микрокоманды, выход которого соединен с первым информационным входом регистра адреса, выход которого соединен с адресным входом блока памяти, первый и второй входы устройства соединены соответственно с входом регистра кода операции и вторым входом первого блока элементов И, выход ко„„SU„„1024920 А у G 06 Т 9/22> 6 06 F 1 1/00 торого соединен с вторым информацион-" ным входом формирователя адреса мик- . рокоманды. и с информационными входами регистра логических условий, управляющий вход которого соединен с выходом элемента задержки, выход первого элемента НЕ соединен с первым входом второго блока элементов И, выход первого элемента И соединен с единичным входом триггера ошибки, единичный выход которого является выходом сигнала ошибки, о т л ич а ю щ е е с я тем, что, с целью повышения оперативности, обнаружения сбоев и сокращения объема оборудования, в устройство введены накапливаю- Я щий сумматор, первый и второй сумматоры по модулю два, второй элемент задержки триггер начала операции, четвертый блок элементов И, третий элемент И, второй и третий элементы

ИЛИ, причем первый вход устройства соединен с входами второго элемента

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

НЕ и вторым входом третьего элемента И, шестой выход регистра микрокоманд соединен с вторым входои третьего элемента ИЛИ, третий вход устройства соединен с вторым входои второго элемента И.

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

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

И, ИЛИ, НЕ (1).

Недостатком указанного устройства является низкая оперативность контроля и большой объем контроЛьного оборудования.

Известно также микропрограммное устройство управления с контролем, содержащее блок памяти, регистры ад" 20 реса и микрокоманд, триггер сбоя, сумматор и логические элементы (21.

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

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

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

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

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

Целью изобретения является повышение оперативности обнаружения сбоев и сокращения объема блока памяти.

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

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

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

И, третьим входом четвертого блока элементов И, третьим входом третьего блока элементов И, входом первого элемента HE и вторым входом третьего элемента И, шестой выход регистра 1S микрокоманд "соединен с вторым входом третьего элемента ИЛИ, третий вход устройства соединен с вторым входом второго элемента И.

Сущность изобретения состоит s Ж уменьшении длины поля логических ус. ловий микрокоманды за счет Записи контрольного признака (числа микро" команд) в полях логических условий нескольких микрокоманд, помеченных меткой. При этом. записываемое число микрокоманд модифицируется кодом логических условий, соответствующим варианту ветвления после предыдущей линейной последовательности. . 30

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

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

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

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

На. Фиг, 1 представлена функцио-. нальная схема предлагаемого устрой« ства; на фиr. 2 - функциональная схема формирователя адреса микрокоманды.

Функциональная схема предлагаемого устройства содержит регистр 1 кода операций, регистр 2 адреса, блок

3 памяти и регистр 4 микрокоманд.

Формирователь 5 адреса микрокоманды, первый блок 6 элементов И, второй элемент НЕ 7, третий элемент

И 8, первый элемент 9 задержки, регистр 10 логических условий, второй сумматор 11 по модулю два, первый элемент HE 12, второй блок 13 элементов И, второй элемент 14 задержки, накапливающий сумматор 15, третий

16 и четвертый 17 блоки элементов И, первый сумматор 18 по модулю два, второй элемент ИЛИ 19, первый элемент

И 20, первый элемент ИЛИ 21, второй элемент И 22, триггер 23 Фиксации сбоя, третий элемент ИЛИ 24, триггер

25.начала операции, вход 26 кода операции, Вход 27 логических условий, выход 28, вход 29 сигналов чтения и выход 30 сигнала ошибки устройства, поля регистра микрокоманд 4, поле

31 микроопераций, поле 32 адреса следующей микрокоманды, поле 33 задания логических условий контрольного кода и числа микрокоманд в последовательности, первый 34 и второй 35 управляющие разряды, поле 36 конца операции.

Формирователь адреса микрокоманды

5 (фиг, 2) содержит rpynny сумматоров 37 по модулю два,.осуществляющих модификацию адреса следующей микрокаманды, группу эМЬментов И 38, обеспе.чивающих запись сформированного адре" са в регистр адреса 2 при ветвлении.

Кроме того схема содержит вход

39 следующего адреса, вход 40 логических условий, вход 41 управления, выход 42 информации в регистр 2 адре" са.

Предлагаемое микропрограммное уст" ройство управления содержит средства управления и средства контроля.

1024920

Средства управления включают регистр 1 кода операции, регистр 2 адреса, блок 3 памяти, регистр 4 микрокоманд, формирователь 5 адреса . микрокоманд, первый блок 6 элементов И, второй элеМент HE 7, третий элемент И 8, первый элемент 9 задержки, первый блок элементов ИЛИ 21, третий элемент ИЛИ 24, триггер 25 начала операции, второй элемент И 22.1ð .Средства контроля включают регистр

1О логических условий, сумматор 11 по модулю два, второй блок 13 weментов И, второй элемент 14 задержки, йервый элемент НЕ 12, накапливающий сумматор 15, третий блок 16 элементов И, четвертый блок 17 элементов И, первый сумматор 18 по модулю два, второй элемент ИЛИ первый элемент И 20 и триггер 23 -фик- р сации сбоя.

В исходном состоянии регистры 1 и 2, накапливающий сумматор 15,и, триггеры 23 и 25 находятся в нулевом состоянии. В исходное состояние уст" ройство приводится перед началом работы и перед- приходом каждого нового кода операции. Связи, обеспечивающие установку устройства в исходное, на схеме не показаны. В блоке 3 памяти хранятся микропрограммы операций, микрокоманды которых содержат шесть полей. Код поля 33 выполняет различнйе функции е зависимости от кода, хранящегося в управляющих разрядах

34 и 35. Комбинацией "10" в этих раз- 35 рядах отмечаются микрокоманды, в поле 33 которых записаны слагаемые числа микрокоманд в линейной последовательности, комбинацией "01" помечают" . я микрокоманды, в поле 33 которых 4р записан код проверяемых логических условий. В поле 33 микрокоманд, помеченных комбинацией "11", хранится контрольный код.

Микропрограммное устройство управ.45 ления работает следующим образом.

Код операции, поступающий на вход 26 через регистр 1 кода операции записывает в регистр 2 адреса, Одновременно код операции через 5Р элемент ИЛИ 21 приводит триггер

25 в единичное состояние, хоторый своим единичным выходом разрешает прохождение сигналов чтения с входа 29 через элемент И 23 в блок 3 55 памяти, А по записанному в регистре

2 адресу по сигналу считывания из блока 3 памяти первая микрокоманда микропрограммы поступает в регистр 4 микрокоманд 4. Код поля 31, определяющий содержание микроопераций, no" ступает на выход 28 устройства управления. Код поля следующего адреса

32 поступает в формирователь 5. В конце каждой линейной последовательности подается микрокоманда ветвлв" ния с кодом "01" в разрядах 34 и 35.

Значения логических условий поступает на вход формирователя адерса микрокоманд и модифицирует код следующего адреса. Нулевой сигнал с выхода поля 34 через элемент .НЕ 7 и единичный сигнал с выхода поля 35 поступают на элемент И 7, на выходе которого формируется единичный сигнал управления, Сформированный сигнал через элемент 9 задержки, обеспечивающий предварительное обнуление регистра логических условий, поступает на управляющий вход формирователя 5 адреса микрокоманды и разрешает запись модифицированного кода в регистр 2 адреса. После окончания выполнения микропрограммы данной операции в поле 36 появляется единичный сигнал, который через элемент ИЛИ 24 обнуляет триггер 25 начала. операции.

В результате сигналы чтения прекращают поступать через элемент И 22 в блок 3 памяти. Одновременно происхо" дит установка всего устройства в ис" ходное состояние. Далее повторяются описанные действия, начиная с подачи очередного кода операции на вход 26 устройства.

Работа средств контроля. В начале каждой линейной последовательности располагается последовательность. микрокоманд, помеченных в полях 34 и

35 кодом "10". Коды поля 33 в этих микрокоманд, численно равные длине линейной последовательности, модифицируются кодом логических условий из регистра 10 и накапливаются в сумматоре 15. Одновременно в каждом такте через элемент 14 задержки производится вычитание единицы "1" из содержимого сумматора 15, т.е. к концу линейной последовательности содержимое сумматора должно равняться нулю.

При поступлении микрокоманды, помеченной кодом "ll открываются блоки элементов И,16 и 17. При этом код операции, код из поля 33 и содержимое накапливающего сумматора 15 поразрядно суммируются по модулю два ° Если

1024920 на выходе хотя бы одного разряда сумматора возникает единичный сигнал, то он через элемент ИЛИ 19 и открытый элемент И 20 устанавливает в единичное состояние триrrep 23 фикса"

5 ции сбоя, формирующий сигнал ошибки, а через элемент ИЛИ 24 обнуляет триггер 25, тем самым прекращая подачу через элемент И 22 сигналов чтения на блок 3 памяти, Таким образом, контролируется соответствие выполняемой линейной последовательности микропрограммы коду выполняемой операции.

Если на выходах сумматора 18 присутствуют нулевые сигналы, то выполнение линейной последовательности продолжается описанным образом до момента поступления микрокоманды ветвления, помеченной кодом "О1", T,å. последней микрокоманды линейной последовательности. Код проверяемых логических условий из поля 33 через блок 6 элементов И записывается в регистр 10 логических условий по сигналу синхронизации с выхода элемента И. 8 червз элемент 9..задЕр рки..

Прямом сигнал с элемента И 8 производит предварительное обнуление регистра 10 время задержки выбирается меньше; чем время конт30 ролируется содержимое накапливающего сумматора 15. Так как эле менты И блоков 16 и 17 закрыты, то на второй и третий входы суммато" ра 18 по модулю два поступают нуле- З5 вые сигналы; Если содержимое сумматора 15 не равно "0" на выходе элемента ИЛИ 19 возникает единичный сигнал, который через открытый элемент И 20 устанавливает в единичное состояние триггер 23 фиксации сбоя, а через элемент ИЛИ 24 обнуляет триггер 25, тем самым прекращая подачу через элемент И 22 сигналов чтения на блок 3 памяти. Дальнейшее выполнение микропрограммы блокируется. Это свидетельствует о пропуске или ошибочном переходе при ветвлении. Восстановление работы устройства управления осуществляется программным путем. При этом, а также в случае отсутствия сбоя, на вход 26 поступает код операции, который через элемент ИЛИ 21 устанавливает в нуль все средства контроля, после чего начинается выполнение микропрограммы очередной операции.

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

-увеличение числа контрольных проверок позволяет повысить оперативность йойтроля микропрограмм.

1 024920

1024920

5 Тираж О Подписное

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

113035 Москва 3-35 Раувская наб., 4/5 аказ 39

Филиал ППП атент, r. Ужгород, ул. роектная, Составитель И. Сигалов Редактор Н. Рогулич Техред Т. Матоцка Корректор В ° Гирняк

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

 

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