Устройство для микропрограммногоуправления c контролем
Иллюстрации
Показать всеРеферат
ОП ИСАНИЕ
ИЗОБРЕТЕНИЯ
К АВТОРСКОМ)(СВИДЕТЕЛЬСТВУ («)809183
Союз Советскик
Социалистических
Республик
Ф
Р
1 (61) Дополнительное к авт. свид-ву—, 22) Заявлено 05.03.79 (21) 2732270/18-24 (51) М. Кл.з
G 06Г9/16
G 06F 11/22 с присоединением заявки №вЂ”
Государственный комитет (23) Приоритет— ао делам изобретений и открытий
Опубликовано 28.02.81. Бюллетень ¹8
Дата опубликования описания 28.02.81 (53) УДК 68! .325 (088.8) В. С. Харченко, В. Б. Самарский. С. Н. Ткаченко, Г. Н. Тимонькин и И. П. Барбаш (72) Авторы изобретения (71) Заявитель (54) УСТРОЙСТВО ДЛЯ МИКРОПРОГРАММНОГО УПРАВЛЕНИЯ
С КОНТРОЛЕМ
Изобретение относится к вычислительной технике и может быть использовано при построении самоконтролируемых устройств управления вычислительных машин и других систем.
Известно микропрограммное устройство управления, содержа1цее два запоминающих блока, регистры, логические элементы И и
ИЛИ, элементы задержки, дешифраторы и генератор тактовых импульсов (1}.
Недос гаток этого устройства — низкая достоверность функционирования, обусловленная отсутствием контроля его работоспособности.
Наиболее близким к предлагаемому по технической сущности и достигаемому результату является устройство для микропрограммного управления, содержащее генератор импульсов и дешифратор логических условий, выход которого соединен с информационным входом регистра логических условий, выходом подключенного к управляющим входам элементов И первой группы, установочные входы которых являются входами буферного регистра, выход буферного регистра соединен с первыми входами элементов И второй группы, выходы которых подключены к первым входам регистра адреса, установочный вход которого является входом кода операции устройства, а выход соединен с информационным входом первого дешифратора, выход которого подключен к управляющим входам первого запоминающего блока, первым информационным входом соединенного со вторым входом буферного регистра, вторым информационным выходом — с первым входом дешифратора логических условий и первым счетным входом
1о счетчика микрокоманд, третьим информационным выходом — со вторым входом дешифратора логических условий и информационным входом счетчика адреса, четвертым информационным входом — со вторым входом регистра адреса, выходы счетчика микрокоманд через первый элемент И соединены с первым входом второго элемента И и через первый элемент И соединены с первым входом второго элемента И и через первый элемент НŠ— с первым входом третьего эле з мента И, выход первого элемента задержки подключен ко второму входу второго элемента И и через второй элемент задержки— к первому входу четвертого элемента И, выходом соединенного со вторыми входами
809183
З5
4S элементов 4 второй группы, выход второго элемента И подключен к установочным входам регистра логических условий, буферного регистра, первого дешифратора и счетчика адресов, выходом соединенного с первым информационным входом второго дешифратора, выход которого подключен к управляющему входу второго запоминающего блока, информационный вход которого является информационным входом устройстваР3, Недостаток устройства состоит в низкой надежности, обусловленной отсутствием контроля правильности выполнения заданной микропрограммы.
Цель изобретения — повышение надежности устройства.
Указанная цель достигается тем, что устройство содержит третий элемент задержки, триггер, элемент ИЛИ, пятый, шестой, седьмой, восьмой и девятый элементы И, второй третий и четвертый элементы НЕ, счетчик идентификаторов и дешифратор идентификаторов, первый и второй информационные входы которого соединены соответственно со вторым и третьим информационными выходами первого запоминающего, блока, а выход — с информационным входом счетчика идентификаторов, обнуляющий вход которого подключен к управляющему выходу второго запоминающего блока и через второй элемент НŠ— к первому входу шестого элемента И, а выходы через седьмой элемент
И вЂ” ко второму входу шестого, к первому входу восьмого элементов И и ко входу третьего элемента НЕ, выход которого соединен с первым входом девятого элемента И, выход первого элемента И подключен ко вторым входам четвертого и девятого элементов И и через четвертый элемент НŠ— ко второму входу восьмого элемента И, выходы шестого, восьмого и девятого элементов И соединены с соответствующими входами элемента ИЛИ, выходом подключенного к входу триггера, инверсный выход которого подсоединен к третьему входу второго, третьему входу четвертого и первому входу пятого элементов И, второй вход пятого элемента И подключен к выходу генератора импульсов, а выход — ко входу первого элемента задержки и второму входу третьего элемента И, выходом соединенного со вторым информационным входом второго дешифратора и через третий элемент задержки — со вторым счетным входом счетчика микрокоманд.
На фиг. 1 изображена схема устройства; на фиг. 2 и 3 — примеры выполнения микропрограмм с искаженным начальнь1м адресом и числом микрокоманд.
Устройство содержит дешифратор 1 логических условий, регистр 2 логических условий, первую и вторую группы 3 и 4 элементов И, буферный регистр 5, первый, второй, третий, четвертый, пятый, шестой, седьмой, восьмой и девятый элементы И 6 — 14, регистр 15 адреса, первый и второй дешиф5 о
1S тю
Z$ за раторы 16 и 17, первый и второй запоминающие блоки 18 и 19, дешифратор 20 идентификаторов, счетчик 21 идентификаторов, счетчик 22 микрокоманд, счетчик 23 адреса, первый, второй, третий и четвертый элементы НЕ 24 — 27, элемент ИЛИ 28, первый, второй и третий элементы 29 — 31 задержки, триггер 32, генератор 33 импульсов вход 34 логических условий, вход 35 кода операции, первый, второй, третий и четвертый информационные выходы 36 — 39 первого запоминающего блока, информационный вход 40 и управляющий выход 41 второго запоминающего блока.
На фиг. 2 и 3 обозначен адрес, по которому считывается i-тая микрокоманда а; (i = 1,23), справа от адреса указывается значение идентификатора (О или 1) для данной микрокоманды, адрес первой микрокоманды
А, число микрокоманд N>, число линейных участков или единичных значений идентификатора в последовательности n>(j = 1,2) и параметры, аналогичные искаженной линейной последовательности.
Устройство работает следующим образом
В исходном состоянии все элементы памяти находятся в нуле. Код операции поступает на вход 35 регистра 15 и задает адрес соответствующей ячейки в запоминающем блоке 18.
Первый импульс генератора 30 через открытый элемент И 10, элемент 29 задержки и элемент 7 производит установку в нуль регистра 5 и регистра 2, а также через первый дешифратор 16 производится считывание первого информационного слова из запоминающего блока 18. С выхода 36 запоминающего блока 18 косвенный адрес первой микрокоманды очередной последовательности записывается в регистр 5. С выхода
37 в счетчиках 22 записывается число микрокоманд в первой линейной последовательности микропрограммы. С выхода 38 в счетчик 23 записывается адрес первой микрокоманды этой последовательности, одновременно сигналы с выхода 37 и 38 поступают на входы дешифратора 1, который формирует признак проверяемых логических условий и записывает его в регистр 2, эти сигналы поступают также на вход дешифратора 20, который формирует код числа идентификаторов в выполняемой последовательности и
t производит запись кода в счетчик 21. Если последовательность состоит из одного линейного участка, в счетчик 21 записывается единица. В противном случае в счетчик 21 заносится число последовательно записанных в запоминающем блоке 19 линейных участков, из которых состоит выполняемая последовательность. Сигнал с выхода 39 запоминающего блока !8 устанавливает в нуль регистр 15. Второй импульс генератора
33 через элемент И 10 и эгемент И 8 открывает дешифратор 17, и из запоминающего блока 19 начинается считывание микрокоманд. При считывании каждой микроко809!83 ведет к появлениK) елпппчH()ï) спгна I;l и;. выходе одного из s. l: чентов И 1З 0ëï и послелуюшечу срабатыв; пию триггера 32
Предположим, из започинаюшего бгп)ка .l должна быть ачитана послеловатсльность микрокоманд с параметрачп А» = 04. X» =
= 10, п» = 2. Пусть в результате отказа адрес первой микрокочанлы исказился и
At = а тогда после считывания из започинак) 0 шего блока 19 микрокоманлы с аëðåñî÷ фз счетчик 21 обнулится. а в счетчике 22 останется код, равный единице. Это приведет к тому. что на входах элемента И !3 появятся единичные сигналы, поступаюшие с выхода элемента И 12 и элемента НЕ 2 .
В результате через элемент ИЛИ 28 поступит сигнал отказа. который установит триггер 32 в единичное оосостояние.
Триггер 32 нулевым сигналом со своего нулевого выхода закроет элеченты И 9, !О
20 и 7, и генератор ЗЗ прекратит полачу тактовых импульсов. После этого устройство переходит в режим повторного выполнения микропрограммы или локализации отказа.
Устройство работает аналогично и в другом случае, когда адрес первой микрокоманды Л = 0» Ai = 0»„. Тогда после считывания микрокоманлы с алресоч Q,g произойлет обнуление счетчика 21, а в счетчике
22 будет записан кол, равный четь)рем.
Работа устройства при искажении информации о числе микрокоманл, которое может
Зо произойти вследствие отказа в запоминаВшем блоке 18 на выходе 37, счетчике 22, счетчике 23, лешифраторе 17 или запоминаюшем блоке 19 на выхоле 41. манды из блока !9 содержимое счетчиков
22 и адреса 23 соответственно уменьшается и увеличивается на единицу. При считывании последней микрокоманды первого линейного участка содержимое счетчика 21 уменьшается на единицу и из запоминающего блока 19 продолжается считывание микрокоманд. При считывании последней микрокоманды последнего линейного участка последовательности единичным сигналов идентификатора обнуляется счетчик 21 и на выходе элемента И 12 появляется единичный сигнал. Одновременно с обнулением счетчика
21 происходит обнуление счетчика 22 и на выходе элемента И !6 также появляется единичный сигнал.
Если последовательность микрокоманд, считываемых из запоминающего блока, состоит из одного линейного участка, то обнуление счетчиков 21 и 22 происходит при появлении первого единичного значения идентификатора.
При правильном функционировании устройства обнуление счетчиков 21 и 22 происходит одновременно. Элементы И 13 и 14 закрыты нулевыми сигналами с выходов элементов HE 27 и 26 соответственно, а элемент
И 11 — нулевым сигналом с выхода элемента НЕ 25, инвертируюшим единичное значение идентификаторов. Поэтому на выходе элемента ИЛИ 28 сигнал отсутствует и триггер 32 остается в нулевом состоянии.
Очередной импульс через открытый элемент 9 поступает на элементы 4 группы 4, и в регистр 15 из регистра 5 записывается адрес очередного информационного слова.
Этот адрес формируется в регистре 5 в зависимости от кода, записанного в регистре 2, и значений логических условий, поступающих на вход 34 группы 3 элементов И.
По следующему тактовому импульсу происходит установка в нуль через открытый элемент И 7 регистра 2 и регистра 5 и запуск дешифратора 16. Из запоминающего блока 18 считывается информация от очередной линейной последовательности и работа устройства продолжается аналогично описанному.
Работа устройства при возникновении в нем отказа.
При искажении адреса первой микрокоманды очередной линейной последовательности, которая может произойти вследствие отказа в запоминающем блоке 8 на выходе
38, счетчике 23 или дешифраторе 17, микропрограммное устройство управления перейдет к выполнению непредусмотренной линейной последовательности микрокоманд.
Поскольку из запоминающего блока 19 будет считываться последовательность" с другим начальным адресом, то число и момент появл ния, единичных значений идентификаторов на выходе 41 не будет соответствовать числу микрокоманд, записанному в счетчик 22. В этом случае обнуление счетчиков
35 10
22 и 2! произойлет пе»)лноврече)пн), )то прпОтказы указанных узлов привелут к выполнениЮ укороченной пли удлиненной микропрограмчы. а это в свою очередь — к неодновременночу обнулению счетчиков 22 и
23. Предположим, что вместо микропрограммы с параметрами At — — Q», Х» = 13, nt =
= 3 выполняется микропрограмма с парамет рами А» = С!», М» = 1,4, п» вЂ”вЂ” 3. Такое искажение может произойти из-за то о. что в результате отказа в запоминающем блоке 18 на выходе 37 в счетчик 22 был записан код vt = !4 )Х», в с )етчике 22 был пропушен один импульс (не уменьшен кол, записанный в счетчике после считывания очерелной микрокоманлы, в результате отказа счетчика 23 или дешифратора 17 или на выхоле
41 запоминающего блока 19 была пропущена одна микрокоманла. Появление любой из указанных причин приведет к тому, что после считывания микрокоманлы с адресом
О з произойдет обнуление счетчика 21, а в счетчик 22 будет записан кол, равный единице. В результате элемент И 13 сформирует сигнал отказа. который приведет к срабатыванию триггера 32.
При выполнении микропрограммы, в которой, число микрокоманл меньше требуемого
809183 зо
Формула изобретения
50
7 (Np = 4 (Nz), после считывания микрокоманды с адресом произойдет обнуление счетчика 22 до прихода микрокоманды с единичным значением идентификатора и обнуления счетчика 21. При этом с выхода элемента И 6. и элемента НЕ 26 на входы элемента И 14 поступят единичные сигналы, что приведет к срабатыванию триггера 32.
В случае возникновения отказов, приводящих к другим искажениям параметров выполняемой микропрограммы, обнуление счетчиков 21 и 22 происходит также неодновременно, что фиксируется схемой контроля.
В процессе функционирования микропрограммного устройства управления возможен отказ в работе дешифратора 20 или счетчика 21, что приводит к его преждевременному обнулению или сохранению устойчивого ненулевого состояния.
Если в процессе функционирования произошло преждевременное обнуление счетчика 21, то на выходе элемента И 12 появляется единичный сигнал, который поступает на 2О вход элемента И 11, на другой вход которого поступает единичный сигнал с элемента НЕ
25. На выходе элемента И 11 формируется сигнал управления, который поступает на первый вход элемента ИЛИ 28 и далее на единичный вход триггера 32. Элемент И 11 формирует сигнал отказа также в ситуации, когда произошло одновременное обнуление счетчиков 21 и 22 при нулевом значении идентификатора. Такая ситуация возникает при кратных отказах в двух и более узлах уст ойства. аким образом, в предлагаемом микропрограммном устройстве управления осуществляется контроль правильности функционирования основных узлов и соответствия выполняемых микропрограмм. Кроме того, средства контроля в устройстве являются самопроверяемыми и позволяют блокировать работу устройства и фиксировать состояние элементов памяти в момент обнаружения отказа. Это позволяет существенно повысить надежность микропрограммного устройства управления.
Устройство для микропрограммного управления с контролем, содержащее генератор импульсов и дешифратор логических условий, выход которого соединен с информационным входом регистра логических условий, выходом подключенного к управляющим входам элементов И первой группы, установочные входы которых являются входами логических условий устройства, а выходы соединены с первыми входами буферного регистра, выход буферного регистра соединен с первыми входами элементов И второй группы, выходы которых подключены к первым входам регистра адреса, установочный вход которого является входом кода опе рации устройства, а выход соединен с информационным входом первого дешифратора, выход которого подключен к управляющему входу первого запоминающего блока, первым информационным выходом соединенного со вторым входом буферного регистра, вторым информационным выходом— с первым входом дешифратора логических условий И, первым счетным входом счетчика микрокоманд, третьим информационным выходом — со вторым входом дешифратора логических условий и информационным входом счетчика адреса, четвертым информационным выходом — со вторым входом регистра адреса, выходы счетчика микрокоманд через первый элемент И соединены с первым входом второго элемента И и через первый элемент НŠ— с первым входом третьего элемента И, выход первого элемента задержки годключен ко второму входу элемента И и через второй элемент задержки— к первому входу четвертого элемента И, выходом соединенного со вторыми входами элементов И второй группы, выход второго элемента И подключен к установочным входам регистра логических условий, буферного регистра, первого дешифратора и счетчика адресов, выходом соединенного с первым информационным входом второго дешифратора, выход которого подключен к управляющему входу второго запоминающего блока, информационный вход которого является информационным входом устройства, отли ающееся тем, что, с целью повышения надежности устройства, оно содержит третий элемент задержки, триггер, элемент
ИЛИ, пятый, шестой, седьмой, восьмой и девятый элементы И, второй, третий и четвертый элементы НЕ, счетчик идентификаторов и дешифратор идентификааторов, первый и второй информационные входы которого соединены соответственно со вторым и третьим информационными выходами первого запоминающего блока, а выход — с информационным входом счетчика идентификаторов, обнуляющий вход которого подключен к управляющему выходу второго запоминающего блока и через второй элемент HE к первому входу шестого элемента И, а выходы через седьмой элемент И вЂ” ко второму входу шестого, к первому входу восьмого элементов И и ко входу третьего элемента
НЕ, выход которого соединен с первым входом девятого элемента И, выход первого элемента И подключен ко вторым входам четвертого и девятого элементов И и через четвертый элемент HE — ко второму входу восьмого элемента И, выходы шестого, восьмого и девятого элементов И соединены с соответствующими входами элемента ИЛИ выходом подключенного к входу триггера, инверсный выход которого подсоединен к третьему входу второго, третьему входу четвертого и первому входу пятого элементов И, второй вход пятого элемента И подключен к выходу генератора импульсов, а
809183 выход — ко входу первого элемента задержки и второму входу третьего элемента И, выходом соединенного со вторым информационным входом второго дешифратора и через третий элемент задержки — со вторым счетным входом счетчика микрокоманд.
Источники информации, принятые во внимание при экспертизе
1. Авторское свидетельство СССР № 437072, кл. G 06 F 9/12. 1",75
2. Авторское свидетельство СССР по заявке № 2472560, кл. G 06 F 9/16, 04.04.77 (прототип) .
111= 11Ч н,=ю
n1 = 2 л =а> !
809133
Редактор H. Бушаева
Заказ l 8/59
Составитель И. Алексеев
Техред A. Бойкас Корректор Н. Швыдкая
Тираж 756 Подписное
ВНИИПИ Государственного комитета СССР по делам изобретений и открытий
113035, Москва, Ж вЂ” 35, Раушская наб., д. 4/5
Филиал ППП «Патент», r. Ужгород, ул. Проектная, 4