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

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

Авторы: Кравцов, Мельников, Самошин

ZIP архив

Текст

(5) 4 С 06 Г 9 22 11 00 ОПИСАНИЕ ИЗОБРЕТЕНИЯ/-,ГОСУДАРСТВЕННЫЙ КОМИТЕТ СССРПО ДЕЛАМ ИЗОБРЕТЕНИЙ И ОТКРЫТИЙ Н АВТОРСКОМУ СВИДЕТЕЛЬСТВУ(56) Авторское свидетельство СССРВ 1103231, кл. С 06 Г 9/22, 1983,Авторское свидетельство СССРВ 1277 105, кл. С 06 Р 9/22, 11/00,(57) Микропрограммное устройство управления относится к вычислительнойтехнике и может быть использованопри построении отказоустойчивых микропрограммных процессоров программируемых контроллеров, вычислительныхи управляющих систем с микропрограммным управлением. Цель изобретения -повьппение отказоустойчивости устройства. Микропрограммноеустройство управления содержит блок памяти 1 мик1 Э рокоманд, группу блоков памяти 2,1- 2.п нанокоманд, блок формирования адреса 3, регистр 4 команд, регистры адреса 5 и 7, буферный регистр 6, регистр нанокоманд 8, блоки контроля 9 и 10, блок 11 коммутации, коммутаторы адреса 12, 13 и 14, мультиплек 9029сор логических условий 15, блок элементов И 16, триггер 17 запуска, триггер 18 отказа, генератор 19 тактовых импульсов, блок элементов НЕ 20, четыре элемента И 21, 22, 23 и 24, два элемента ИЛИ 25 и 26, одно- вибратор 27, 7 ил.Изобретение относится к вычислительной технике и может быть использовано при построении отказоустойчивых микропрограммных процессоров,программируемых контроллеров, вычислительных и управляющих систем с микропрограммным управлением,Целью изобретения является повышение отказоустойчивости устройства.На фиг. 1 представлена функциональная схема микропрограммного устройства управления; на фиг, 2 - функциональная схема первого блока контроля; на фиг. 3 - функциональная схема второго блока контроля; на фиг,4 - 15функциональная схема блока формирования адреса; на фиг5 - функциональная схема блока коммутации; на фиг,6 -функциональная схема преобразователякодов; на фиг. 7 - пример формирования нанокоманды из трех слогов блоком коммутации.Микропрограммное устройство управления (фиг. 1) содержит блок 1 памяти микрокоманд, группу блоков 2.1-2,ппамяти нанокоманд, блок 3 формирования адреса, регистр 4 команд, первыйрегистр 5 адреса, буферный регистр 6с полями логических условий 6,1 модифицируемого разряда адреса 6. 2, немодифицируемых разрядов адреса 6.3 адреса нанокоманды 6.4 признака четности информации 6,5, второй регистр7 адреса, регистр 8 нанокоманд, первый блок 9 контроля, второй блок 10 35контроля, блок 11 коммутации, первыйкоммутатор 12 адреса второй коммутатор 13 адреса, третий коммутатор14 адреса, мультиплексор 15 логических условий, блок 16 элементов И 16, 10триггер 17 запуска, триггер 18 отказа, генератор 19 тактовых импульсов,блок 20 элементов НЕ 20, первьй элемент И 21,второй элемент И 22, тре(ь.=1,п) преобра(фиг, 6) содергруппу блоков И,Кроме того, -и зователь кодов 47,. жит дешифратор 49 и 50.1-50.п элементов Сущность изобретения заключается в следующем. Микропрограммное устройство управления разделено на два канала: адресный и операционный, В каждом канале содержится соответствующий блок памяти: в адресном - блок памяти микрокоманд, в операционном - блок памяти нанокоманд, Нанокоманды интерпретируют микрокоманды. Разделение устройства на два канала позволятий элемент И 23, четвертый элементИ 24, второй элемент ИЛИ 25, первыйэлемент ИЛИ 26, одновибратор 27, информационный вход 28 устройства, вход29 пуска устройства, вход 30 логических и информационные выходы 31 устройства.Первьй блок 9 контроля (фиг. 2)содержит элемент 32 суммы по модулюдва, счетный триггер 33, первый одновибратор 34, второй 35 и третий 36одновибраторы, первьй элемент И 37,второй элемент И 38 и элемент 39 задержки,Второй блок 10 контроля (фиг, 3)содержит элемент 40 суммы по модулюдва, счетчик 41 ошибок, дешифратор42, одновибратор 43.Блок формирования адреса (примерреализации на ПЛМ, фиг, 4) содержитгруппу инверторов 44. 1-44.ш, первую45.1-45.п и вторую 46.1-46.ш группарезисторов.Блок 11 коммутации (фиг, 5) содер-.жит блок преобразователей 47.1-47,пкодов (где п - число слогов нанокоманды), группу блоков 48.1-48.п элементов ИЛИ.13190 ет не иметь фиксированного наборамикрокоманд, так как действие микрокоманды полностью определяется интерпретирующей ее нанопрограммой, Приэтом блок памяти разбит на и блоков,что повышает гибкость формированиянанокоманд (операционных микрокоманд) на основе операции конкатенации (сцепления) отдельных слогов управляемого слова. Каждый канал (блок 10памяти) контролируется отдельно: выходные слова контролируются на четность. (нечетность). Если в адресномканале при считывании микрокомандыобнаруживается ошибка, происходит 15блокирование операционного канала иповторное обращение к блоку памятимикрокоманд по инверсному адресу,хранящему копию микрокоманды. Еслиобнаруживается .ошибка и по инверсному адресу, формируется сигнал (признак) отказа. В операционном каналепри возникновении ошибки производит- .ся динамическое изменение адреса иосуществляется реконфигурация отдельных слогов нанокоманды. Рассмотрим работу микропрограммного устройства управления. В исходномсостоянии элементы памяти устройства 30находятся в нулевом состоянии (заисключением триггера регистра 8 нанокоманд, определяющего конец работыустройства),Текущая команда с шины управленияпоступает на вход 28 устройства изаносится в регистр 4 команд (сигналы синхронизации не показаны). Сигналы,определяющие код операции, передаютсячерез коммутаторы 12 и 13 адреса на 40информационный вход регистра 5 адреса. Начало работы устройства определяется путем подачи с входа 29 устройства импульса, По этому .импульсу триггер 17 переходит в единичное состояние и разрешает тем самым формирование импульсов с выходагенератора 19 для организации синхронной работы устройства. По первому тактовому импульсу код адреса первой микрокодманды заносится в регистр 5 адреса, По этому адресу происходит выборка информации из блока 1 микрокоманд, и по второму тактовому импульсу сосчитанная микрокоманда заносится в буферный регистр 6.Если в считанной микрокоманде блоком 9 контроля ошибки не обнаружива 29 4ется, адрес нанокоманды с поля 64 буферного регистра 6 через коммутатор 14 адреса поступает на информационный вход регистра 7 адреса и по третьему импульсу адрес заносится в регистр 7 адреса. Из группы блоков 2,1-2,п памяти нанокоманд сосчитываются слоги нанокоманды, которые поступают на информационные входы блока 11 коммутации. Так как на управляющий вход блока 11 коммутации поступает нулевой код, отдельные слоги нанокоманды без их перестроения (реконфигурации) по четвертому тактовому импульсу заносятся в регистр 8 нанокоманд,Если в сформированной нанокоманде блок 10 контроля ошибки не обнаруживает, с выхода регистр 8 нанокоманд через блок 16 элементов И нанокоманда поступает на выход 31 устройства. Если очередная микрокоманда является микрокомандой линейной последовательности, ее адрес определяется содержимым поля 6,3 буферного регистра 6 немодифицируемых разрядов адреса.Если выбранная микрокоманда является микрокомандой ветвления, модифицируемый разряд адреса с выхода 6.2. буферного регистра 6 модифицируется логическими условиями с входа 30 устройства на мультиплексоре 15 логических условий.Если в выбранной микрокоманде при контроле на четкость блоком 9 обнаруживается ошибка, происходит блокирование операционного канала и обращение к блоку 1 памяти микрокоманд по инверсному адресу,Если по инверсному адресу в сосчитанной микрокоманде блоком 9 ошибка не обнаруживается, триггер 33 ошибки (фиг2) переходит в нулевое состояние.Блок 9 контроля функционирует следующим образом. Считываемые из блока 1 микрокоманды контролируются элементом 32 суммы по модулю два на четность (нечетность).При несовпадении контролируемых признаков на выходе одновибратора 34 формируется импульс, который устанавливает триггер 33 ошибки в единичное состояние (при считывании микрокоманды по прямому адресу). При переходе триггера 33 в единичное состоя- .че на выходе одновибратора 35 фор 1319029мируется признак ошибки, Одновременно с этим при определении наличия ошибки в сосчитанной микрокоманде импульс с выхода одновибратора 34 поступает на вход элемента 39 задержки. Если определяется ошибка и по инверсному адресу (триггер 33 ошибки переходит в нулевое состояние) то на выходе одновибратора 36 формируется импульс, который поступает на выход 1 О элемента И 37, формируя тем самым признак отказа адресного канала, Если по инверсному адресу ошибка в микрокоманде элементом 32 суммы до модулю два не определяется (триггер 33 ошибки находится в единичном состоянии), импульс с выхода элемента 39 задержки через элемент И 38 обнуляет триггер 33 ошибки блока 9 контроля, При определении блоком 9 контроля признака 20 отказа адресного канала этот признак через элемент ИЛИ 26 устанавливает триггер 18 отказа в единичное состояние, На выходе одновибратора 27 формируется импульс, который через элемент ИЛИ 25 устанавливает триггер 17 запуска в нулевое состояние, и устройство на этом заканчивает работу,Если по инверсному адресу в сосчитанной микрокоманде блоком 9 контроля 30 ошибка не обнаруживается, устройство продолжает функционировать. Адрес нанокоманды с поля 6,4 буферного регистра 6 через коммутатор 14 адреса поступает на информационный вход регистра 7 адреса, При поступлении тактового импульса с выхода генератора 19 через элемент И 23 на синхронизирующий вход регистра 7 ад- щ 0 реса адрес выбираемой нанокоманды заносится в регистр 7, По очередному тактовому импульсу сосчитанные слоги нанокоманды через блок 11 коммутации заносятся в регистр 8 нанокоманд, Блок 10 контроля осуществляет контроль сосчитанной информации на четность (нечетность). Если ошибки не обнаружено, то нанокоманда с выхода регистра 8 через блок элементов И 16 поступает на выход 31 устройства на управление, например, арифметико-логическим устройством или другим операционным блоком.Если в сосчитанной нанокоманде оп ределяется ошибка, блок 10 контроля формирует признак ошибки, Этот признак запрещает выдачу выбранной нано- команды на управление операционным блоком и блокирует адресный каналпутем запрещения прохождения тактовыхимпульсов через элементы И 21 и 22на синхронизирующие входы регистра 5адреса и буферного регистра 6.При определении блоком 10 контроля (фиг. 3) ошибки в нанокоманде состояние счетчика 41 ошибок отлично отнулевого, Этот код поступает на управляющий вход блока 3. Код адресананокоманды с поля 6,4 буферного ре-гистра 6, поступая на информационный вход блока 3, модифицируется,Модифицированный код адреса нанокоманды через коммутатор 14 адреса заносится в регистр 7 адреса. Кроме того, с выхода блока 3 на управляющийвход блока 11 коммутации поступаеткод настройки. Код настройки определяет процедуру перестроения отдельныхслогов нанокоманды при формированииуправляющего слова.Если в сосчитанной нанокомандеошибка не обнаруживается, нанокоманда через блок 16 элемента И поступает на выход 31 устройства, котороепродолжает функционировать аналогично описанному,При выдаче последней нанокомандывыдается признак окончания работыустройства, который через элементИЛИ 25 устанавливает триггер 17 запуска в нулевое состояние и черезкоммутатор 12 адреса разрешает перезапись нового кода операции с выходарегистра 4 команд для его дальнейшегопреобразования,Блок 3 формирования адреса реализует формирование адреса (функцию) спомощью программируемой логическойматрицы (ПЛМ).Блок 3 предназначен для модификацииадреса при появлении отказов в блоках2.1-2,п памяти операционного канала.Код количества отказов формируется вблоке 10 контроля и поступает на управляющий вход блока 3 (фиг, 1). Вслучае нулевого кода отказов модификации кода адреса в блоке 3 не происходит и на управляющий вход блока 11коммутации поступает нулевой код. На входы блока ассоциативной памяти поступает код адреса нанокоманды А (коды адресов слогов нанокоманды) и код номера отказа О. По этой информации блок ассоциативной памяти формирует коды адресов очередных слогов нанокоманды и код настройки (пе29 7 13190 рестроения слогов при формировании нанокоманды в блоке коммутации 11. Формула изобретения 5 Микропрограммное устройство управления, содержащее блок памяти, микро- команд, группу блоков памяти нанокоманд, три коммутатора адреса, два 10 блока контроля, регистр команд, два регистра адреса, буферный регистр, мультиплексор логических условий, регистр нанокоманд, блок элементов И, блок элементов НЕ, триггер запуска, генератор тактовых импульсов, триггер отказа, четыре элемента И, два элемента ИЛИ, одновибратор, причем информационный вход устройства соединен с входом регистра команд, выход 20 которого соединен с первым информационным входом первого коммутатора адреса, вход пуска устройства соединен с единичным входом триггера запуска, прямой выход которого соединен с входом пуска генератора тактовых импульсов первый выход которого соединен с прямым входом первого элемента И, выход которого соединен с синхронизирующим входом пер- З 0 вого регистра адреса, выход первого регистра адреса соединен с входом адреса блока памяти микрокоманд, выход которого соединен с информационным входом буферного регистра, выход поля З 5 кода логических условий буферного ре/ гистра соединен с управляющим входом мультиплексоралогических условий,выход поля модифицируемого разряда адреса буферного регистра соединен с первым ин-щ формационным входом мультиплексора логических условий, выход поля немодифицируемых разрядов адреса буферного регистра соединен с входом немодифицируемых , разрядов адреса второго информационного входа первого коммутатора адреса, выход мультиплексора логическихусловий соединен с входом модифицируемого разряда адреса второго информационного входа первого коммутатора 50адреса, вход логических условий устройства соединен с вторым информационным входом мультиплексора логических условий, второй выход генераторатактовых импульсов соединен с прямым 55входом второго элемента И, выход которого соединен с синхронизирующим входом буферного регистра, третий выЯход генератора тактовых импульсов соединен с прямым входом третьего элемента И, выход которого соединен с синхронизирующим входом второго регистра адреса, выходы полей которого соединен с адресными входами соответствующих блоков памяти нанокоманд группы, четвертый выход генератора тактовых импульсов соединен с прямым входом четвертого элемента И, выход которого соединен с синхронизирующим входом регистра нанокоманд, выход первого коммутатора адреса соединен с первым информационным входом второго коммутатора адреса и входом блока элементов НЕ, выход которого соединен с вторым информационным, входом второго коммутатора адреса, выход которого соединен с информационным входом первого регистра адреса, выход поля адреса нанокоманды буферного регистра соединен с первым информационным входом третьего коммутатора адреса, выход которого соединен с информационным входом второго регистра адреса, выходы поля кода логических условий, поля немодифицируемых разрядов адреса, поля адреса нанокоманды буферного регистра соединены с информационным входом первого блока контроля, выход поля признака четности буферного регистра соединен с входом признака четкости первого блока контроля, выход признака ошибки первого блока контроля соединен с прямым и инверсным управляющими входами второ-. го коммутатора адреса и инверсными входами третьего и четвертого элементов И, выход признака отказа первого блока контроля соединен с первым входом первого элемента ИЛИ, выход которого соединен с единичным входом триггера отказа, прямой выход которого соединен с входом запуска одновибратора, выход которого соединен с первым входом второго элемента ИЛИ, выход которого соединен с нулевым входом триггера запуска, выход информационного поля регистра нанокоманд соединен с информационным входом блока элементов И и информационным входом второго блока контроля, выход поля признака четности регистра нано- команд соединен с входом признака четности второго блока контроля, выход признака ошибки которого соединен с инверсным управляющим входом блока элементов И,инверсными входами пер 319029 10ваго и второго элементов И, инверсным и прямым управляющими входамитретьего коммутатора адреса, выходпризнака отказа второго блока контроля соединен с вторым входом первогоэлемента ИЛИ, выход признака окончания работы блока элементов И соединенс вторым входом второго элемента ИЛИ,прямым и инверсным управляющими входами первого коммутатора адреса, опе Орационные выходы блока элементов Исоединены с информационными выходамиустройства, о т л и ч а ю щ е е с ятем, что, с целью повыщения отказоустойчивости, дополнительно содержит 15блок формирования адреса и блок коммутации, причем выход поля адреса нанокоманды буферного регистра соединенс информационным входом блока формирования адреса, выход которого соединен с вторым информационным входомтретьего коммутатора и управляющимвходом блока коммутации, выходы блоков памяти нанокоманд группы соединены с соответствующими информационными входами блока коммутации, выходыблока коммутации соединены с информационными входами соответствующих разрядов регистра нанокьманд, выход кода настройки второго блока контролясоединен с управляющим входом блокаформирования адреса.1319029 Составитель Д. Ванюхи Техред М. Ходанич рректор Г. Решетник едактор О. Буги каз 2513/ Тираж 672ИИПИ Государственного кпо делам изобретений иМосква, Ж, Раушская одписноеССР е ткрыти аб д 30 Производственно-полиграфическое предприятие, г, Ужгород, ул, Проектная, 4

Смотреть

Заявка

3919527, 26.06.1985

ЛЕНИНГРАДСКИЙ ПОЛИТЕХНИЧЕСКИЙ ИНСТИТУТ ИМ. М. И. КАЛИНИНА

МЕЛЬНИКОВ ВЛАДИМИР АЛЕКСЕЕВИЧ, САМОШИН ВЛАДИМИР НИКОЛАЕВИЧ, КРАВЦОВ СЕРГЕЙ ГЕОРГИЕВИЧ

МПК / Метки

МПК: G06F 11/36

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

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

Код ссылки

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

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