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

ZIP архив

Текст

СОЮЗ СОВЕТСКИХСОЦИАЛИСТИЧЕСКРЕСПУБЛИК 1) 4 С 06 Г 9/22, 11/00 ОПИСАНИЕ ИЗОВРЕТЕН АВТОРСКОМУ СВИДЕТЕЛЬСТВУ(21) (22) (46) (72) 15С.Харченко,ченко, Б,Ф.Остльство ССС22,ств 9/2 МИКРО ПР ОГРАММНОЕ НИЯ С КОНТРОЛЕМ ОЙСТВО УпРАВЛ(57)матиможечислимным обретение отн и вычислитель авто ехнике и ЭВМ и выбыть использов тельных система принципом управ микропрограмия. ИзобретеГОСУДАРСТВЕННЫЙ КОМИТЕТ СССРПО ДЕЛАМ ИЗОБРЕТЕНИЙ И ОТКРЫТИЙ 4016108/24-24 29.01.86 23.04.87. Бюл. У Н,Ф.Сидоренко, ВГ.Н.Тимонькин, С.Н.Ткроумов и В,Б.Самарски(56) Авторское свиде 894, кл. С 06 Р Р 11/00, 1979. Авторское свидетелУ 1140121, кл, С 06 РС 06 Р 11/00, 1983. ние позволяет повысить достоверностьфункционирования микропрограммныхустройств управления с контролем эасчет увеличения оперативности и полноты контроля путем проверки по модулю последовательностей микрокомандмикропрограммы на основе мультиплексирования нх микрооперационных частей, Устройство содержит блок памяти микрокоманд 1, регистры микроопераций 2 и адреса 3., мультиплексоры4 и 5, счетчик 9, коммутатор адреса 10, генератор 12 тактовых импульсов, триггеры 6 - 8, элементы ИЛИ13 - 15, элементы И 16 и 17, элемент И-НЕ 11, поле 18 микроопераций,поле 19 логических условий, поле 20немодифицируемых разрядов адреса, поле 21 модифицируемого разряда адреса,поля первой 22 и второй 23 меток блока памяти микрокоманд 1. 2 ил.лительных системах с микропрограммным прйнципом управления.Целью изобретения является повышение достоверности функционированиямикропрограммного устройства управления с контролем,На фиг.1 представлена функциональОная схема микропрограммного устройства управления с контролем; нафиг.2 - фрагмент микропрограммы.Микропрограммное устройство управления с контролем (фиг.1)осодержит блок 1 памяти микрокоманд, регистры микроопераций 2 и адреса З,первый 4 и второй 5 мультиплексоры,триггеры 6-8, счетчик 9, коммутатор10 адреса, элемент И - НЕ 11, генератор 12 тактовых импульсов, элементыИЛИ 13-15, первый и второй эпементыИ 16 и 17 соответственно, поле 18микроопераций, поле 19 логическихусловий, поле 20 немодифицируемых 25разрядов адреса, поле 21 модифицируемого разряда адреса, поле 22 первойметки (метки логических условий),поле 23 второй метки (метки микрокоманд вхождения в цикл и микрокоманд ЗОокончания контролируемых участков)блока памяти микрокоманд, выход 24микроопераций устройства, выход 24.1признака конца команды и выход 24.2признака конца работы регистра 2,вход 25 пуска устройства, первый ивторой выходы 26 и 27 соответственно генератора 12 тактовых импульсов,вход 28 кода значений логическихусловий устройства, вход 29 кодаоперации устройства, выход 30 отказа устройства,Дисциплина функционирования микропрограммного устройства управления с контролем заключается в следующем,Счетчик перед реализацией микропрограммы настраивается на некоторый модуль. Микрокоманды ветвленияимеют метку ветвления равную единице. Все остальные команды имеют метку ветвления равную нулю. Микрокоманды вхождения в цикл и микрокомандыконца контрольного участка такжеимеют соответствующую метку равнуюединице. Все остальные микрокомандымикропрограммы имеют метку вхожденияв цикл равную нулю, При реализациилинейных микрокоманд в поле логиче 40 1 130567Изобретение относится к автоматике и вычислительной технике и может быть использовано в ЭВМ и вычис9 2ских условий записываются коды номеров контролируемых разрядов операционных частей микрокоманды, Определение значения контролируемого разряда осуществляется вторым мультиплексором,После считывания кода микрокоманды из блока памяти микрокоманд. происходит запись ее операционной части в регистр микроопераций. Код адреса микрокоманды передается через коммутатор адреса в регистр адреса и далее на вход блока памяти. В то же время второй мультиплексор осуществляет проверку значения соответствующего разряда кода операционной части микрокоманды. При этом единичном его значении содержимое счетчика увеличивается на единицу. При реализации микрокоманды, в которой метка вхождения в цикл равна единице, происходит определение состояния счетчика. При правильном функционировании предлагаемого устройства значение счетчика равно нулю. В противном случае - отлично от нуля. В случае, когда содержимое счетчика отлично от нуля, третий триггер установлен в единицу, и устройство прекращает реализацию заданного алгоритма. В случае отсутствия отказов работа устройства продолжается.Влок 1 памяти микрокоманд предназначен для хранения реализуемых микропрограмм. Регистр 2 микроопераций - для хранения кодов микрооперационных частей реализуемых мирокоманд, регистр 3 адреса - для хранения кодов адресов микрокоманд, мультиплексор 4 - для модификации младших разрядов кодов адресов микрокоманд условных переходов, мультиплексор 5 - для определения значений контролируемых разрядов микрооперационных чаСтей микрокоманд, триггер 6 - для фиксации отказа при неправильном выборе микропрограммы по коду операции. Триггер 7 предназначен для управле - ния работой генератора 12, триггер 8 - для фиксации отказа при неправильной реализации микрокоманд микропрограммы, счетчик 9 - для определения числа контрольных микроопераций на контролируемом участке микропрограммы, коммутатор 10 адреса - для передачи кодов адресов микрокоманд.Элемент И-НЕ 11 - для формирования сигнала ошибок при неправильном выборе микропрограммы по коду операции.130563Элемент И-НЕ 11 формирует единичный сигнал на своем выходе в том случае, когда в поле логических условий блока 1 (выход 19) присутствует код, отличный от кода, которым помечаются все начальные микрокоманды микропрограммы. Если в качестве такого кода выбран, например, код 10101, то первый, третий и пятый выходы поля 19 подключены к прямым, а второй и четвертый выходы поля 19 - к инверсным входам элемента И-НЕ 11. Контроль "попадания устройства в начало микропрограммы по коду операции осуществляется в устройстве в полном соответствии с тем, как это делалось в известном.Генератор 12 предназначен для выработки импульсов синхронизации,синхронизирующих работу устройства,пер вый элемент ИЛИ 13 - для формирования сигналов установки триггера 7 в нулевое состояние, второй элемент ИЛИ 14 - для передачи сигнала ошибки на выход устройства, третий эле мент ИЛИ 15 - для формирования сигнала ошибки при реализации микропрограммы,первый элемент И 16 - для управления работой счетчика 9, второй элемент И 17 - для управления работой 30 триггера 8. Контроль правильности реализациимикропрограмм в предлагаемом устройстве осуществляется следующим образом,Реализуемые микропрограммы хранятся в блоке 1. Один из фрагментовреализуемых микропрограмм представлен на фиг.2.40Синхронизацию устройства осуществляет генератор 12.По коду операции, поступающему навход 29 устройства, происходит считывание кода первой микрокоманды изблока 1. Код 01011101 микроопераций,например для микропрограммы, представленной на фиг.2, поступает на информационный вход регистра 2, куда онзаписывается по соответствующему импульсу синхронизации. В поле логических условий первой микрокоманды записан контрольный код 1111,.которыйпоступает на вход элемента И-НЕ 11,Если значение контрольного кода несоответствует требуемому, то триггер 6 установлен в единичное состояние и работа устройства блокирована.Если контрольный код соответствует 794требуемому значению, то работа устройства продлена. Немодифицируемые разряды 001 кода 0010 адреса поступают на вход коммутатора 1 О. В мультиплексоре 4 модификация младшего разряда 0 кода 0010 адреса не осуществляется и в блок 1 поступает код 0010 адреса очередной микрокоманды, В поле логических условий оставшихся микрокоманд за исключением микрокоманд ветвления записаны коды проверяемых микроопераций, Для микрокоманд первого линейного участка (вторая-четвертая микрокоманды) в качестве контролируемых операций выступают первый, четвертый и третий разряды микрооперационных частей этих микрокоманд.Для микрокоманд второго участка (седьмая, восьмая и десятая) и для микрокоманд третьего контрольного участка (седьмая, восьмая и одиннадцатая микрокоманды) в качестве контрольного разряда выступают второй и третий и второй, третий и шестой разряды микрооперационных частей этих микрокоманд.В мультиплексоре 5 происходит определение значения проверяемого разряда поля микроопераций. Определение значения проверяемого разряда осуществляется путем анализа поступивших на вход мультиплексора 5 кода номера проверяемого разряда, кода микроопераций и управляющего сигнала с выхода 22 блока 1. Функционирование мультиплексора 5 может быть описано логической функциейРЕ = Й Ч г,.7 Ь,1=1где Рчисло контролируемых разрядов микрооперационной части микрокоманды;х х х - конъюнкция значений разрядов кода,определяющего номер контролируемого разряда операционной части микрокоманды;управляющий сигнал на входе мультиплексора;значение -го разряда операционной части микрокоманды.Как следует из анализа этого выражения, единичный сигнал на выходе мультиплексора 5 будет в случае еди 1305679ничного значения контролируемого разряда операционной части микрокоманды при ц = О. Во всех остальных случаях 2= О.При единичном значении контролируемого разряда микрооперационной части микрокоманды происходит увеличение на единицу сЬдержимого счетчика 9. Счетчик 9 настроен на некоторый модуль (имеет коэффициент пере- Ю счета), равный числу единичных контролируемых разрядов микрооперационных частей микрокоманд на контролируемом участке. При реализации микрокоманды вхождения в цикл или кон трольной микрокоманды значения сигнала на выходе 23 блока 1 равно единице. В случае микропрограммы, изображенной на фиг,2, в качестве контрольных микрокоманд выступают чет вертая, десятая и одиннадцатая микрокоманды. Если содержимое счетчика 9 равно нулю, то это говорит о правильном функционировании устройства на контролируемом участке микропро граммы, Если содержимое счетчика 9 равно нулю, то работа устройства продолжена. Далее при реализации микрокоманды ветвления значение сигнала на выходе 22 блока 1 равно единице, 30 В поле логических условий записан код 0001 номера проверяемого логического условия. На вход 23 устройства поступает значение проверяемого логического условия. В мультиплексоре 4 в зависимости от значений логических условий происходит модификация значения младшего разряда кода адре 2 Ь 0(1 с н) "1+ "ЬЬц 1 50 младший разряд(модифицируемый)кода ад 0 еса;значения логических условий;конъюнкция значений разрядов ну.левого кода логде аУ 1 У У 1,Д,= х хх хса.Особенностью модификаций младшего 40 разряда кода адреса является то, что модификация адреса не происходит при нулевом коде номеров логических условий и при коде, которым отмечены все начальные микрокоманды микропро граммы. Поэтому логическая функция, реализуемая мультиплексором 4, имеет видХв ХХ Х гических условий;конъюнкция значений разрядов кодов, которым отмечены начальныемикрокоманды;конъюнкция значений разрядов кода логическихусловий.Из приведенной формулы следует, что при нулевом коде логических условий или при коде, которым отмечены начальные микрокоманды 2 = а,Во всех остальных случаях происходит модификация разряда а таким образом,что 2 = у , если на вход мультиплексора поступает 1-й код логических условий, Так, например, в случае проверки логического условия с номером 0001 при Х = 1 осуществлена модификация младшего разряда адре- . са а путем изменения его значения с О на 1.Аналогично выполнена модификация адреса при выполнении второй микро- команды ветвления с кодом логических условий 0010. В этом случае при Х =1 (младший разряд аадреса модифицирован путем изменения его значения с 0 на 1. При Х = 0 модификация не производится).Для микропрограммы, изображенной на фиг.2, в качестве модуля пересчета выбрано число три. При правильном функционировании устройства при выполнении контрольных микрокоманд (четвертой, десятой .или одиннадцатой) значение счетчика 9 должно быть равно нулю. Невыполнение этого .условия свидетельствует о возникновении отказа в работе устройства.Микропрограммное устройство управления с контролем работает следующим образом.В исходном состоянии все элементы памяти находятся в нулевом состоянии (цепи установки в нуль элементов памяти на фиг.1 условно не показаны). Триггер регистра 2, которому соответствует выход 24,1 конца команды выхода регистра, находится в единичном состоянии (цепи его установки в единичное состояние, на Фиг.1 условно не показаны).вРабота устройства начинается с поступления на вход 25 устройства сиг 7 13056 нала "Пуск 1, по которому устанавливается в единичное состояние триггеркоторый разрешает работу генератора 12. По первому тактовому импуль-, су с выхода 27 генератора в регистр 3 заносится код операции с входа 29 устройства, Этот код записывается в регистр 3 через коммутатор 10, на управляющий вход которого поступает единичный сигнал с выхода 24,1 ре п гистра 2. По тактовому импульсу с выхода 26 генератора 12 в регистр 2 записывается часть первой микрокоманды микропрограммы (операционная часть), По заднему фронту импульса синхронизации на выходе 24. 1 единичный сигнал исчезает и в триггер 6 записывается единичный или нулевой сигнал, Единичный сигнал формируется элементом И-НЕ 11 в том случае, если в поле логических условий первой микрокоманды (на выходе 19 блока 1) формируется код отличных от требуемого, соответствующего начальной микрокоманде микропрограммы. Тогда единич ный сигнал с единичного выхода триггера 6 поступает через элемент ИЛИ 14 на вход 20 отказа устройства и через элемент ИЛИ 13 на К-вход триггера 7. В результате этого на выходе 30 уст- З 0 ройства формируется сигнал отказа.Триггер 7 устанавливается в нулевое состояние и блокирует работу генератора 12.В противном случае нулевое состояние триггера 6 не меняетсяи в регистр 3 по заднему фронту импульса синхронизации с выхода 27 генератора 12 записывается код адреса второй микрокоманды микропрограммы. Этот ад рес поступает в регистр 3 с выхода 20 (немодифицируемая часть) и с выхода 21 (модифицируемая часть) на коммутатор 10, на управляющий вход которого поступает нулевой сигнал с 45 выхода 24.1 выхода регистра 2. При этом младший модифицируемый адресный разряд проходит на выход мультиплексора 4 и далее в регистр 3 адреса без изменения, С выхода регистра 3 адреса код адреса второй микрокоманды поступает на вход блока 1, и работа устройства продолжается следующим образом. Код операционной части микрокоманды поступает с выхода 18 блока 1 на информационный вход регистра 2, куда и записывается по заднему фронту импульса синхронизации с выхода 26 генератора 12 и на вход муль 79 8типлексора 5. Код номера проверяемого разряда операционной части микро- команды поступает на входы мультиплексоров 4 и 5 и на вход элемента И-НЕ 11. Значение метки на выходе 22 блока 1 равно нулю, если вторая микрокоманда не является микрокомандой ветвления. Значение метки на выходе 23 блока 1 равно нулю, если вторая микрокоманда не является микрокомандой вхождения в цикл или конечной микрокомандой контролируемого участка. Предположим, что сигналы на выходах 22 и 23 блока 1 равны нулю. Тогда работа мультиплексора 4 блокируется, а мультиплексор 5 определяет значение контролируемого разряда. При его единичном значении на выходе мультиплексора 5 сформирован единичный сигнал, который поступает на первый вход элемента И 16.По импульсу синхронизации с выхода 26 генератора 12 содержимое счетчика 9. становится равным единице При существовании нулевых сигналов на выходах 22 и 23 блока 1 работа устройства продолжается по описанному выше алгоритму. При реализации последней микрокоманды контролируемого участка илимикрокоманды вхождения в цикл сигнална выходе 23 блока 1 равен единице,Этот сигнал поступает на соответствующий вход элемента И 17. На другойвход элемента И 17 поступает сигналс выхода элемента ИЛИ 15. Этот сигнал равен единице, если содержимоесчетчика 9 отлично от нуля, и равеннулю в противном случае. В том случае, если на выходе элемента ИПИ 15присутствует единичный сигнал,. чтоговорит о возникновении отказа приреализации контролируемого участкамикропрограммы, на выходе элементаИ 17 сформирован единичный сигнал,который поступает на информационныйвход триггера 8. По импульсу синхронизации с выхода 27 генератора 12триггер 8 установлен в единичное состояние, в результате чего на выходе30 устройства сформирован единичныйсигнал отказа,а триггер 7 установленв нулевое состояние. Работа устройства заблокирована. В том случае,если сигнал на выходе элемента ИПИ 15равен нулю, элемент И 17 закрыт иработа устройства продолжается безизменений по описанному выше алгоритму,1305679 В микрокомандах ветвления в полелогических условий записаны коды 1номеров проверяемых логических условий, Сигнал на выходе 22 блока 1 равен единице. Работа мультиплексо 5 ра 5 в этом случае блокируется, а мультиплексора 4 разрешается. Мультиплексор 4 осуществляет модификацию младшего разряда кода адреса микрокоманды перехода в соответствии с 10 реализуемой им логической функцией.При считывании последней микро- команды реализуемой микропрограммы алгоритм работы устройства полностью аналогичен описанному алгоритму на чальной фазы функционирования . После считывания в регистр 2 микроопераций кода конца работы устройства единичным сигналом с выхода 24.2 регистра 2 триггер 7 установлен в нулевое со стояние и нулевым сигналом с единичного выхода блокирует работу генератора 12 и всего устройства в целом,Формула изобретения Микропрограммное устройство управления с контролем, содержащее блок памяти микрокоманд, регистр микро- операций, регистр адреса, первый мультиплексор, коммутатор адреса,первый и второй триггеры, элемент И-НЕ, генератор тактовых импульсов и первый элемент ИЛИ, причем выход поля микроопераций блока памяти микрокоманд соединен с информационным входом регистра микроопераций, выход которого является выходом микроопераций устройства, выход признака конца работы регистра микроопераций соединен с первым входом первого элемента ИЛИ,а выход признака конца команды регистра микроопераций соединен с управляющим входом коммутатора адреса и входом синхронизации первого триггера, вход пуска устройства подключен к Я-входу второго триггера, выход первого элемента ИЛИ соединен с К-входом второго триггера, единичный выход которого соединен с входом пуска генератора тактовых импульсов, первый выход генератора тактовых импульсов соединен с входом синхронизации регистра микроопераций, а второй выход генератора тактовых импульсов соединен с входом синхронизации регистра адреса, выходы поля логических условий блока памяти микрокоманд соединены с группой управляющих входов первого мультиплексора и входами элемента И-НЕ, вход кода значений логических условий устройства соединен с информационным входом первого мультиплексора,вход кода операции устройства подключен к первому информационному входу коммутатора адреса, выход поля модифицируемого разряда адреса блока памяти микрокоманд соединен с первым,улравляющим входом первого мультиплексора, выход которого и выход поля немодифицируемых разрядовУадреса блока памяти микрокоманд соединены с вторым информационным входом коммутатора адреса, выход которого соединен с информационным входом регистра адреса, выход регистра адреса соединен с адресным входом блока памяти микрокоманд, выход элемента И-НЕ соединен с информационным входом первого триггера, о т л и - ч а ю щ е е с я тем, что, с целью повышения достоверности функционирования устройства, оно содержит второй мультиплексор, счетчик, третий триггер, первый и второй элементы И и второй и третий элементы ИЛИ,причем выход поля микроопераций блока ЗО памяти микрокоманд соединен с первыминформационным входом второго мультиплексора, выход поля логических условий блока памяти микрокоманд соединен с вторым информационным входом 35 второго мультиплексора, выход поляпервой метки блока памяти микрокоманд соединен с управляющим входом второго мультиплексора,и вторым управляющим входом первого мультиплексора, вы ход второгомультиплексора соединен спервым входом первого элемента И, выход поля второй метки блока памяти микрокоманд соединен с первым входом второго элемента И, выход которого соединен с информационным входом третьего триггера, первый выход генератора тактовых импульсов соединен с вторым входом первого элемента И, выход которого соединен с счетным входом счетчика, второй выход генератора тактовых импульсов соединен с входом синхронизации третьего триггера, единичный выход которого соединен с первым входом второго элемента ИЛИ,единичный выход первого триггера соединен с вторым входом второго элементаИЛИ, выход которого соединен с вторым входом первого элемента ИЛИ, и.является выходом отказа устройства,1305679 го соединен с вторым входом второгоэлемента И,выходы счетчика соединены с входамитретьего элемента ИЛИ, выход которооставитель Д, Ванюхиехред Л.Олейник рректор Т.Кол Тираж 673 ВНИИПИ Государственн по делам изобретен 113035, Москва, Ж

Смотреть

Заявка

4016108, 29.01.1986

ПРЕДПРИЯТИЕ ПЯ М-5156

СИДОРЕНКО НИКОЛАЙ ФЕДОРОВИЧ, ХАРЧЕНКО ВЯЧЕСЛАВ СЕРГЕЕВИЧ, ТИМОНЬКИН ГРИГОРИЙ НИКОЛАЕВИЧ, ТКАЧЕНКО СЕРГЕЙ НИКОЛАЕВИЧ, ОСТРОУМОВ БОРИС ВЛАДИМИРОВИЧ, САМАРСКИЙ ВИКТОР БОРИСОВИЧ

МПК / Метки

МПК: G06F 11/36

Метки: контролем, микропрограммное

Опубликовано: 23.04.1987

Код ссылки

<a href="https://patents.su/7-1305679-mikroprogrammnoe-ustrojjstvo-upravleniya-s-kontrolem.html" target="_blank" rel="follow" title="База патентов СССР">Микропрограммное устройство управления с контролем</a>

Похожие патенты