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

Номер патента: 1140121

Авторы: Супрун, Тимонькин, Ткаченко, Харченко

ZIP архив

Текст

СОЮЗ СОВЕТСКИХСОЦИАЛИСТИЧЕСКИХРЕСПУБЛИК и 4 К 23 Р лэ"ъ рке,Ф "1 ф5:.1 б от эъ ег с. (53) 681.3(088.8) онькин ченко ГОСУДАРСТВЕННЫЙ КОМИТЕТ СССРПО ДЕЛАМ ИЗОБРЕТЕНИЙ И ОТНРЬПИЙ(56) 1. Авторское свидетельство СС У 928356, кл. С 06 Р 9/22, 1980.2. Авторское свидетельство СССР У 1007106, кл. С 06 Р 9/22, 19813, Майоров С.А. и Новиков Г,И. Структура электронных вычислительных машин, Л., "Машиностроение", 1979, с. 312-314, рис. 10.4 (прото тип) .(54)(57) МИКРОПРОГРАММНОЕ УСТРОЙСТВОУПРАВЛЕНИЯ С КОНТРОЛЕМ, содержащееблок постоянной памяти, регистры адреса и микроопераций, коммутатор,мультиплексор логических условий,триггер пуска и генератор тактовыхимпульсов, причем вход пуска устройства соединен с единичным входомтриггера пуска, выход которого соединен с входом генератора тактовыхимпульсов, вход кода операции устройства и выход конца команды регистра микроопераций соединены соответственно с первым информационным иуправляющим входами коммутатора, выход которого соединен с информационным входом регистра адреса, выходрегистра адреса соединен с входомблока постоянной памяти, выходы мо 06 Р 9/22, С 06 Р 11/О дифицируемого разряда адреса, кодалогических условий и микрооперацийблока постоянной памяти соединенысоответственно с первым информационным и управляющим входами мультиплексора логических условий и информационным входом регистра микроопераций,выход которого является выходом микроопераций устройства; вход логических условий устройства соединен свторым информационным входом мультиплексора, выход которого и выход немодифицируемых разрядов адреса блокапостоянной памяти соединены с вторыминформационным входом коммутатора,о т л и ч а ю щ е е с я тем, что, сцелью повышения достоверности контроля, в него введены элемент И-НЕ,триггер ошибки и элемент ИЛИ, при- Счем первый и второй выходы генератора тактовых импульсов соединены с .входами синхронизации соответственнорегистра адреса и регистра микроопераций, выходы конца команды и концаработы регистра микроопераций соединены соответственно с входами синхро;низации триггера ошибки и первым входом элемента ИПИ, выход кода логических условий блока постоянной памятисоединен с входом элемента И-НЕ,выход которого соединен с информационным входом триггера ошибки, выходтриггера ошибки соединен с выходомошибки устройства и вторым входомэлемента ИПИ, выход которого соеди-тнен с нулевым входом триггера пуска.Изобретение относится к автоматике и вычислительной технике и может быть использовано в ЭВМ и вычислительных системах с микропрограммным управлением. 5Известно микропрограммное устройство управления, содержащее регистрадреса, триггер, два запоминающихблока, дешифратор, элементы И и НЕ 11,Недостатком данного устройства является низкая достоверность функционирования, обусловленная отсутствием средств контроля,Известно микропрограммное устройство управления, содержащееблок памяти микрокоманд, регистры, счетчик адреса, генератортактовых импульсов, элементы И иИЛИ, а также триггер 21 .Недостатком такого устройства также является низкая достове.рностьфункционирования.Наиболее близким к предлагаемомупо технической сущности и достигаемому положительному эффекту является 25микропрограммное устройство управления, содержащее блок памяти, триггерпуска и генератор импульсов, регистры адреса и микрокоманд, формирователь адреса микрокоманд (коммутатор),З 0мультиплексор, причем вход пуска устройства и выход микрооперации "Конец работы" регистра микрокоманд сое-динены соответственно с единичным инулевым входами триггера пуска, вы-ход которого соединен с входом генератора импульсов, выход которого соединен с синхровходом блока памяти,вход логических условий устройства ивыход кода логических условий регист 40ра микрокоманд соединены соответственно с информационным и управляющимвходами мультиплексора, выход которого соединен с первь 1 м входомформирователя адреса микрокоманд, выход которого сдединен с информационным входомрегистра адреса, выход регистра адреса соединен с адресным входом блокапамяти, выход которого соединен с информационным входом регистра микРО,команд, выход микроопераций которогоявляется выходом микроопераций устройства, выходы нКоьец команды 1 и адреса соединены с вторым и третьим входами формирователя адреса микрокомандсоответственно 3 .Недостатком известного устройства является низкая достоверность функцир нирования, которая обусловлена отсутствием контроля входной информации В частности, в прототипе не контролируется правильность поступления кода начального адреса (кода операции), который задает точку начала микрокоманды. Если в одном или нескольких разрядах кода операции происходит искажение информации с нуля на единицу или наоборот, то устройство может начать выполнение микропрограммы с произвольной, а не с начальной микрокоманды,Цель изобретения - повышение достоверности контроля.Поставленная цель достигается тем, что в микропрограммное устройство управления с контролем, содержащее блок постоянной памяти, регистры адреса и микроопераций, коммутатор, мультиплексор логических условий, триггер пуска и генератор тактовых импульсов, причем вход пуска устройства соединен с единичным входом триггера пуска, выход которого соединен с входом генератора тактовых импульсов, вход кода операции устройства и выход конца команды регистра микроопераций соединены соответственно с первым информационным и управляющим входами коммутатора, выход которого соединен с информационным входом регистра адреса, выход регистра адреса соединен с входом блока постоянной памяти, выходы модифицируемого разряда адреса, кода логических условий и микроопераций блока постоянной памяти соединены соответственно с первым информационным и управляющим входами мультиплексора логических условий и информационным входом регистра микроопераций, выход которого является выходом микро- операций устройства, вход логических условий устройства соединен с вторым информационным входом мультиплексора, выход которого и выход немодифицируемых разрядов адреса блока постоянной памяти соединены с вторым информационным входом коммутатора, дополнительно введены элемент И-НЕ, триггер ошибки и элемент ИЛИ, причем первый и второй выходы генератора тактовых импульсов соединены с входами синхронизации соответственно регистра адреса и регистра микроопераций, выходы конца команды и конца работы регистра микроопераций соеди1140 нены соответственно с входом синхронизации триггера ошибки и первым входом элемента ИЛИ, выход кода логических условий блока постоянной памятисоединен с входом элемента И-НЕ,выход которого соединен с информационным входом триггера ошибки, выход триггера ошибки соединен с выходом ошибки устройства и вторым вхо. -дом элемента ИЛИ, выход которого соединен с нулевым входом триггера пуска,Способ контроля, реализуемыйв устройстве, состоит в следующем.В поле логических условий каждой15начальной микрокоманды заносится Фиксированный код, который соответствуетномеру неиспользуемого логическогоусловия, Например, если всего устройством проверяется десять логичес 20ф У ф У 1 О фрые кодируются четырехразрядными кодами 000 1 р 00 1 0 у1 0 10 соответственно, то такими фиксированными кодамимогут быть коды 1011, 11001111,25Предположим, что.в качестве такогофиксированного кода выбран код 1100.Тогда он записывается в поле логических условий всех начальных микрокоманд. После считывания каждой первоймикрокоманды проверяется содержимоеполя кода логических условий. Еслионо отлично от значения Фиксированного кода 1100, то это означает, чтокод, поступивший на вход устройстваи воспринимаемый им как начальный 35адрес микропрограммы, не являетсякодом операции вследствие его искажения в результате сбоя или отказа аппаратных (программных) средств верхнего уровня. В этом случае устройством формируется сигнал ошибки. Этотсигнал может являться также следствием дефектов в адресных. цепях самогоустройства, приводящих к тому, чтопо коду операции не может быть правильно считана соответствующая емуначальная микрокоманда. Таким образом, в предлагаемом устройстве контролируется правильность переходаот программного к микропрограммному 50уровню,Элемент И-НЕ и обусловленные имсвязи позволяют декодировать информацию, хранимую в поле кода логическихусловий, и формировать сигнал, соответствующий ситуации, когда считанная микрокоманда не является начальной. Триггер ошибки дает возможность 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 микроопераций является выходом 14 микроопераций устройства. Вход 13 логических условий устройства соединен свторым информационным входом мультиплексора 6, выход которого и выходнемодифицируемых разрядов адреса 1.1блока 1 постоянной памяти соединеныс вторым информационным входом коммутатора 5.Первый 16.1 и второй 162 выходыгенератора 7 тактовых импульсов сое.динены с входами синхронизации соответственно регистра 2 адреса и ре 1140121гистра 3 микроопераций, выходы конца команды 14.1 и конца работы 14.2которого соединены соответственнос входом синхронизации триггера 9ошибки и первым входом элемента ИЛИ 510, Выход 1.3 кода логически условий блока 1 постоянной памяти соеди-нен с входом элемента И-НЕ 4, выходкоторого соединен с информационнымвходом триггера 9 ошибки. Выход триг Огера 9 ошибки соединен с выходом 15ошибки устройства и вторым входомэлемента ИЛИ 10, выход которого соединен с нулевым входом триггера 8пуска,15Блок 1 постоянной памяти предназначен для хранения кодов микрокоманд.Блок 1 постоянной памяти имеетчетыре выхода, Выход 1.1 адреса следующеймикрокоманды подключен к соответствующим разрядам первого информационного входа коммутатора 5, На этом выходе считываются все разряды адреса,исключая младший модифицируемыйразряд адреса. Выход 1.2 младшегоразряда адреса следующей микрокоманды подключен к входу мультиплексора 6логических условий,Выход 1.3 кодалогических условий соединен с входами мультиплексора 6 и элемента И- ЗОНЕ 4. По коду логических условийсчитываемому из блока 1, мультиплексор6 логических условий производит принеобходимости анализ значения соответствующего логического условия и35модификацию значения младшего разряда адреса микрокоманды.Выход 1.4 микроопераций подключен к информационному входу регистра3 микроопераций, помимо внешних микроопераций, выдаваемых на выход 14устройства, на выходе 1.4 блока 1считываются внутренние микрооперации"Конец команды" и "Конец работы".Каждая последняя микрокоманда микропрограммы содержит микрооперацию нКонец команды, а последняя микрокоманда последней микропрограммы содержйт,кроме того, микрооперацию "Конец работы". Эти микрооперации также посту-,.пают на информационный вход регистра3 микроопераций,Блок 1 постоянной памяти представ"ляет собой блок .памяти статическоготипа, информация на выходах которого присутствует в течение всего времени наличия адреса микромандына его входе. Адрес микрокоманды на вход блока 1 поступает с выхода регистра 2 адреса.Регистр 2 адреса предназначен для хранения адреса очередной мнкрокоманды, который поступает на его информационный вход с выхода коммутатора 5. Запись очередного адреса в регистр 2 адреса осуществляется по заднему фронту тактового импульса, поступающего на синхровход регистра 2 адреса с первого 16.1 выхода генератора 7 тактовых импульсов.Регистр 3 микроопераций предназначен для хранения сигналов микроопераций, поступающих на его информационный вход с выхода 1,2 блока 1 постоянной памяти. Запись микроопераций в регистр 3 осуществляется по заднему фронту тактового импульса, поступающего на синхровход регистра 3 со второго 16.2 выхода генератора 7 тактовых импульсов.Элемент И-НЕ 4 предназначен для выявления Фиксированного кода, соответствующего начальным микрокомандам микропрограмм. Входы элемента И-НЕ 4, соответствующие нулевым разрядам фиксированного кода являются инверсными, При поступлении на его вход фиксированного кода, которым в поле логических условий отмечены все начальные микрокоманды микропрограммы, на выходе элемента И-НЕ 4 Формируется нулевой сигнал, который поступает на Р-вход триггера 9 ошибки. Например, пусть все начальные микрокоманды в поле логических условий содержат код 1100, Тогда элемент И-НЕ 4 имеет два инверсных входа, на которые посту- пают младшие нулевые разряды кода. В результате на выходе элемента И-НЕ 4 формируется нулевой сигнал.Коммутатор 5 предназначен для передачи на вход регистра 2 адреса либо кода операции, поступающего на вход 12 устройства, либо адреса очередной микрокоманды, поступающего с адресного 1.1 выхода блока 1 и выхода мультиплексора 6 (младший модифицированный разряд адреса). Коммутация кода операции на вход регистра 2 адреса осуществляется при единичном сигнале, поступающем на управляющий вход коммутатора 5 с выхода 14.1 регистра 3 микроопераций. При нулевом сигнале на управляющем входе коммутатор 5 передаетдачу младшего разряда адреса, который поступает на его второй информационный вход с выхода 1.2 блока 1,если модификация адреса не требуется.Особенностью предлагаемого устройства является то, что модификация адреса не требуется как при нулевом коде логических условий, так и прикоде, которым отмечены все начальные микрокоманды микропрограмм. Поэтому логическая функция, реализуемаямультиплексором, имеет следующий вид: а, ( +8) +У 8 + +У 811,2 25где а - младший модифицируемый раз 0ряд адреса микрокоманд; Уее)у - значения логических условий, В.=х , 30 1 ф)х - конъюнкция значения разрядовнулевого кода логическихусловий, поступающего науправляющий вход мультиплексора; ФВ =хл"Х улхп Ф Э)(Ж)О, если х 1=0,х =Ч 1, если х 1=1,Из приведенной формулы следует,что при нулевом коде логических условий, либо при .коде, которым отмечаются начальные микрокоманды,2=а 0,т.е, младший разряд адреса микрокоманды а, пропускается на выход мультиплексора 6 без изменения. 45 50 При других ненулевых кодах логических условий 2 = у 1, если на входмультиплексора 6 поступает 1-кодлогических условий. Так как во всехl114 О 1 на вход регистра 2 адрес очередной микрокоманды микропрограммы.Мультиплексор 6 осуществляет выделение значения того логического условия из поступающих на его второй информационный вход, номер которого, указан в коде логических условий, поступающем на его управляющий вход с выхода 1.3 блока 1. Кроме того, мультиплексор 6 осуществляет пере О 21микрокомандах ветвления записываетсяадрес с младшим разрядом а = О, тоего модификация заключается в заменеа, значением того логического условия, которое проверяется при реализации ветвления.Генератор 7 тактовых импульсовФформирует на первом 16.1 и втором16,2 выходах последовательностисдвинутых друг относительно другатактовых импульсов, которые обеспечивают синхронизацию работы всех элементов устройства. Формирование последовательностей импульсов на выходах16. 1 и 16.2 генератора 7 тактовыхимпульсов производится только приналичии единичного сигнала на егоуправляющем входе,Триггер 8 пуска управляет работойгенератора 7 тактовых импульсов. Онустанавливается в единичное состояние при поступлении единичного сигнала на вход 11 пуска устройства,который соединен с его Я-входом.Единичный сигнал на выходе триггера8 разрешает функционирование генератора 7 тактовых импульсов. Триггер 8пуска устанавливается в нулевое состояние при поступлении на его К-входчерез элемент ИЛИ 1 О либо сигнала микрооперации "Конец работы", которыйформируется на выходе 14.2 регистра3 микроопераций, либо сигнала ошибки,который формируется на выходе триггера 9 ошибки.Триггер 9 ошибки предназначен для фиксации ошибки в работе устройства из-за неправильного кода операции, поступившего на вход 12 устройства, либо в результате искажения значений его разрядов при прохождении через коммутатор 5 или регистр 2 адресаТриггер 9 ошибки устанавливается в единичное состояние по заднему фронту сигнала микрооперации "Конец ко 1манды , поступающего на его синхровход с выхода 14,1 регистра Э микро- операций, если в этот момент на его О-входе присутствует единичный сигнал с выхода элемента И-НЕ 4. Наличие этого сигнала свидетельствует о том, что микрокоманда, считанная из блока 1 по коду операции, поступившему на вход 12 устройства, не является начальной микрокомандой микропрограммыеПредлагаемое устройство работает ,следующим образом.114019В исходном состоянии вбе элементы, памяти установлены в "0", В единичном состоянии находится только один триггер регистра 3, которому соот-ветствует выход 14.1 микрооперации конца команды.Работа устройства начинается после поступления на вход 11 сигнала "Пуск", по которому устанавливается в единичное состояние триггер 8, 1 б По первому тактовому импульсу с выкода 16,1 генератора 7 в регистр 2 заносится код с входа 12. Этот код записывается в регистр 2 через ком.мутатор 5, на управляющий вкод которого подается единичный сигнал с выхода 14.1 регистра 3.Затем по тактовому импульсу с выхода 16.2 генератора 7 в регистр 3 заносится часть кода первой микро команды, состоящая из кода микроопераций. По заднему фронту этого импульса исчезает единичный сигнал навыходе 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 и далее работа устройства продолжается аналогично описанному,В микрокомандах ветвления кодлогических условий поступает с поля1.3 блока 1 в мультиплексор 6 и производит модификацию младшего адресного разряда в соответствии с реализуемой этим узлом логической функцией.Алгоритм работы у стройства послесчитывания последней микрокоманды иперехода к выполнению следующей микропрограммы полностью аналогичен описанному алгоритму начальной фазыФункционирования. После считывания врегистр 3 микрооперации конца работы сигналом с выхода 14.2 через элемент ИЛИ 10 обнуляется триггер 8 иработа устройства прекращается доподачи следующего сигнала ",Пуск".Микропрограммное устройства управления обеспечивает эффективный контроль однократных, двухкратных и т.д.ошибок в поступившем коде операциилибо при его прохождении через комму"татор 5 и регистр 2 адреса, если адреса начальных микрокоманд микропрограмм выбраны таким образом, что кодовое расстояние между ними равнодвум, трем и т.д. Обеспечить это припрограммировании блока 1 постояннойпамяти не составляет труда, так как вреальных задачах управления число начальных микрокоманд составляет 10 именее процентов от общего числа микрокоманд.В тех случаях, когда одна или несколько микропрограмм начинаются смикрокоманд ветвления, у которых поле логических условий занято, припрограммировании этих микропрограммвводятся дополнйтельно специальныеначальные микрокоманды.Благодаря введению новых элементов и связей вероятность пропускаошибки вследствие недостоверностивходной информации или дефекта адресных цепей существенно уменьшается,при этом объем дополнительно вводи"мого оборудования минимален.Таким образом, использование изобретения позволяет повысить достоверность функционирования микропрограммных управляющих устройств при несущественных аппаратных затратах.114 О 121 оставитель ехред А.Баб гал орректор С.Ше едактор Л,Пчелинская Тиражтвенног ПодписноеР Госуда ам из Москв етенииЖ, Р д. 4/5 илиал ППП "Патент", г. Ужгород, ул. Проектная аказ 265/38 ВНИИПИ по д 113035

Смотреть

Заявка

3655521, 24.10.1983

ПРЕДПРИЯТИЕ ПЯ А-7160

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

МПК / Метки

МПК: G06F 11/00, G06F 9/22

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

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

Код ссылки

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

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