(5) МИКРОПРОГРАММНОЕ УСТРОЙСТВО УПРАВЛЕНИЯ
название | год | авторы | номер документа |
---|---|---|---|
Микропрограммное устройство управления | 1981 |
|
SU985790A1 |
Микропрограммное устройство управления | 1980 |
|
SU943728A1 |
Устройство микропрограммного управления | 1980 |
|
SU960814A1 |
Микропрограммное устройство управления | 1983 |
|
SU1092505A1 |
Микропрограммное устройство управления | 1983 |
|
SU1113802A1 |
Микропрограммное устройство управления | 1980 |
|
SU955058A1 |
Микропрограммное устройствоупРАВлЕНия | 1979 |
|
SU830386A1 |
Микропрограммное устройство управления | 1983 |
|
SU1130864A1 |
Микропрограммное устройство управления | 1981 |
|
SU1005049A1 |
Микропрограммное устройство управления | 1982 |
|
SU1020826A1 |
Изобретение относится к вычислительной технике и может быть использовано в качестве устройства управле ния высоконадежных микропрограммных процессоров. Известно микропрограм(ное устройство управления с контролем и восста новлением l. Недостатком этого устройства является низкая функциональная надежность, вызванная потерей работоспосо ности процессором, если выполнение любой из микрокоманд сопровождается устойчивым отказом. При обнаружении сбоев в таких устройствах осуществляется повторение соответствующих микрокоманд и, если после определенного числа повторений сбой не устраняется, производится блокировка рабо ты и переход в режим диагностирования. Наиболее близким к изобретению по технической сущности и достигаемому положительному эффекту из микропрограммных устройств управления явля-. ется устройство, содержащее два регистра адреса, три дешифратора, три блока памяти, регистр логических условий, буферный регистр, шифратор, счетчик числа микрокоманд, счетчик адреса, два триггера, генератор тактовых импульсов, три элемента задержки, два элемента НЕ, пять элементов И, три блока элементов И L2 . Однако у этого устройства низкая функциональная надежность, вследствие которой процессор теряет работоспособность в случае отказа при выполнении любой из микрокоманд. Цель изобретения - повышение функциональной надежности устройства. Поставленная цель достигается тем, что микропрограммное устройство управления, содержащее два регистра адреса, три дешифратора, три блока памяти, регистр логических условий, буферный регистр, шифратор, счетчик числа микрокоманд, счетчик адреса. два триггера, генератор тактовых импульсов, три элемента задержки, два элемента НЕ, пять элементов И, три блока элементов И, причем первый, второй, третий и четвертый выходы первого блока памяти соединены соответственно с установочным входом адресного регистра, информационным входом регистра логических условий, входом шифратора, первым входом буферного регистра, установочный вход которого соединен с установочным входом первого дешифратора, установо нами входами регистра логических условий, счетчика адреса и с выходом первого элемента И, первый вход которого подключен к выходу генератора импульсов, № входу первого элемента задержки и к первому входу второго элемента И, второй вход которого через первый элемент НЕ соединен с выходом третьего элемента И, вторым входом первого элемента И и первым входом четвертого элемента И, выход которого подключен к первому входу первого блока элементов И, второй вход которого соединен с выходом буферного регистра, второй вход которо го подключен к выходу второго блока элементов И, первый вход которого является входом логических условий устройства, а второй вход соединен с выходом регистра логических условий, выход первого блока элементов И соединен с первым входом первого регистра адреса, второй вход которого подключен к входу кода операций устройства, а выход - к входу первого дешифратора, выход которого соединен с входом первого блока памяти, второй вход третьего элемента И соединен с выходом первого элемента задер ки и входом второго элемента задержки, выход которого соединен с первым входом пятого элемента И, входы третьего элемента И подключены к выходам счетчика числа микрокоманд, вход которого соединен с первым выходом шифратора, второй выход которого под ключен к входу счетчика адреса, выход которого соединен с.входом второго дешифраторе, установочный вход которого соединен с выходом второго элемента И, а выход - с входом второ го блока памяти, выход второго регистра адреса подключен к входу третье го дешифратора, выход которого соеди нен с входом третьего блока памяти. 9 04 первый выход которого соединен с первым входом третьего блока элементов И, дополнительно содержит четвертый запоминающий блок, четвертый дешифратор, второй счетчик адреса, шестой, седьмой, восьмой, девятый и десятый элементы И, четвертый блок элементов И, первый и второй блоки элементов ИЛИ, элемент ИЛИ-НЕ, причем выход второго блока памяти соединен с первым входом первого блока элементов ИЛИ, второй вход которого подключен к входу адреса устройства, а выход к входу второго регистра адреса, вход управления перезаписью устройства соединен с первым входом шестого элемента И, а через второй элемент НЕ с третьими входами первого, второго и четвертого элементов И, четвертые входы которых подключены к второму входу пятого элемента И, к первому входу седьмого элемента И, к нулевому входу первого триггера и к нулевому выходу второго триггера, единичный выход которого соединен с единичным входом первого триггера, с первыми входами восьмого и девятого элементов И, тактирующий вход первого триггера подключен к второму входу восьмого элемента и и к выходу девятого элемента И, первый вход которого соединен с выходом второго элемента задержки, второй вход - с выходом элемента ИЛИ-НЕ, первый вход которого соединен с единичным входом второго триггера, с первым входом десятого элемента И, со вторым выходом третьего блока памяти и с тактирующим входом второго счетчика адреса, второй вход элемента ИЛИ-НЕ подключен к нулевому входу второго триггера и первому выходу четвертого блока памяти, второй выход которого подключен к первому входу четвертого блока элементов И, второй вход которого соединен с единичным выходом первого триггера и с вторым входом десятого элемента И, выход которого подключен к асинхронному инверсному входу первого триггера, нулевой выход которого соединен с вторым входом третьего блока элементов И, выход которого соединен с первым входом второго блока элементов ИЛИ, второй вход которого подключен к выходу четвертого блока элементов И, а выход к выходу микрооперации устройства, вход четвертого блока памяти соеди5нен с выходом четвертого де.шифратора , установочный вход кото рого соединен с выходом девятого элемента И, второй вход которого под ключен к выходу первого элемента задериски и к второму входу седьмого элемента И, выход которого соединен с установочным входом третьего дешифратора и с вторым входом шестого элемента И, выход которого подключен к управляющему входу третьего блока памяти, информационный вход которого соединен с входом данных устройст ва, третий выход-третьего блока памяти соединен с информационным входом второго счетчика адреса, управляющий вАод которого подключен к выходу восьмого элемента И, а выход к входу четвертого дешифратора, выход первого элемента НЕ подключен через третий элемент задержки с третьим входом пятого элемента И. Сущность изобретения состоит в повышении функциональной надежности путем .замены микрокоманд, при выполнении которых фиксируется устойчивый отк-аз, эквивалентными последовательностями других микрокоманд. На чертеже представлена функциональная схема предлагаемого микропро С граммного устройства управления. ( .Устройство содержит регистр 1 адр са, дешифратор. 2, блок 3 памяти, регистр k логических условий, блок 5 элементов И, буферный регистр 6, бло 7 элементов И, шифратор 8, счетчик 9 микрокоманд, элемент И 10, элемент НЕ 11, элемент И 12, счетчик 13 адре са, дешифратор 1,.блок 15 памяти, генератор 16 тактовых импульсов, эле мент 17 задержки, элемент И 18, элемент 19 задержки, элбмент И 20, элемент НЕ 2V, элемент 22 задержки, эле мент И 23, блок 24 элементов ИЛИ, ре гистр 25 адреса операционных микрокоманд, элементы И 26 и 27, дешифратор 28, блок 29 памяти, счетчик 30 адреса, элемент ИЛИ-НЕ 31, элементы И 32-34, дешифратор 35, блок 36 памя ти, блоки 37 и 38 элементов И, блок 39 элементов ИЛИ, триггеры 40 и 41, элемент И 42, вход кода операции, вход проверки логических условий, вход 43 управления перезаписью, вход 44 адреса, вход 45 данных, выход 46 устройства. Рассмотрим работу предлагаемого устройства. 60 В исходном состоянии все регистры и элементы памяти находятся в нулевом состоянии. Устройство имеет следующие режимы работы: перезаписи информации в запоминающий блок 29; выполнение хранимых в запоминающих блоках 3, 15 и 29 микропрограмм; автоматической коррекции микропрограмм. Первый режим используется при начальной записи информации в блок 29 и коррекции его содержимого. В этом режиме на вход поступает единичный сигнал управления перезаписью, который разрешает прохождение импульсов записи через элемент И 27. Одновременно через элемент НЕ 11 закрываются элементы И 12, 18 и 23. Со входа kk через блок 2k на регистр 25 поступает последовательность адресов, а на вход 45 - последовательность кодов данных. Тактовые импульсы от генератора 16 через элемент Г/ задержки и открытый элемент И 26 запускают дешифратор 28. Через элемент И 27 на вход блока 29 поступают единичные импульсы записи и данные со входа 5 записываются по адресу,, определяемому содержимым регистра 25. На выходе «„„ «о иа :. d ьмлиде блоков 29 и 3° при этом нулевые сиг- п лсвис .ш НЗЛЫ При подаче нулевого сигнала на вход 3 закрывается элемент И 27 и запрещается поступление единичных импульсов записи, блок 29 переходит в режим считывания информации. Одновременно единичным выходным сигналом элемента НЕ 11 открываются элементы И 12, 18 и 23- Перед выполнением очередной линейной последовательности счетчик 9 микрокоманд находится в нулевом состоянии, и на выходе элемента И 10 устанавливается единичный сигнал. Этим сигналом открываются элементы И 12 и 18 и через элемент НЕ 21 закрывается элемент И 23. Еди-. ничный сигнал на нулевом выходе триггера 40 также открывает элементы И 12, 18, 20, 23 и 26 по соответствующим входам. Тактовый импульс с выхода генератора 16 через элемент И 18 устанавливает в О сметчик 13 адреса , буферный регистр 6 и запускает . дешифратор 2 адреса. На регистр 1 аД реса в начале микропрограмм поступает код операции и по соответствующему ему адресу производится считывание из блока 3. С выхода блока 3 код следующего адреса записывается в буферный регистр 6, код проверяемых логических условий поступает на регистр 4, откуда через блок элементов И 5 на второй вход которого поступает код логических условий, подаетс на буферный регистр 6, где таким образом формируется следующий адрес. Импульсом с выхода блока 3 регистр 1 адреса устанавливается в нулевое состояние и подготавливается к приему информации. Номер текущей последовательности поступает на вход шифраторов 3, где он преобразуется в код начального адреса текущей линейной последовательности, записываемый в счетчик 13, и код числа микрокоманд в линейной последовательности, записываемый в счетчик 9 микрокоманд. Задержанный тактовый импульс с выхода элемента 17 задержки через элемен И 12 открывает блок 7 элементов И, и крд следующего адреса перезаписывает ся из буферного регистра 6 в регистр 1 адреса. Как только счетчик 9 устанавливается в отличное от нуля состо яние, на выходе элемента И 10 появляется нулевой сигнал, закрывающий элементы И 12 и 18. Элемент И 23 при этом открывается. Задержанный элементом 22 низкий уровень сигнала на входе элемента И 20 не позволяет импульсу с выхода элемента 19 изменить состояние счетчиков 9 и 13. Следующий тактовый (мпульс от генера тора 16 через элемент И 23 запускает дешифратор 14, и из блока 15 осуществляется считывание по адресу. определяемому счетчиком 13. Адрес опе ерационной микрокоманды с выхода блока 15 через блок 2k элементов ИЛИ записывается в регистр 25 адреса операционных микрокоманд. После установления кода адреса в регистре 25 на элемент И 26 поступает задержанный тактовый импуль с выхода элемента 17 Так как элемент И 26 открыт, этот импульс запускает, дешифратор 28, и из блока 29 считывается код операционной микрокоманды, который через блоки 37 и 39 элементов И и элементов ИЛИ поступает на выход 46. После окончания считывания микрокоманды из блока 29 появляется задержанный тактовый импульс на выходе элемента 19, который проходит через открытый элемент И 20, уменьшая на единицу содержимое счетчика 9 и увеличивая на единицу содержимое счетчи 9 0,8 ка 13 адреса. Таким образом, по адресам, считываемым из блока 15. считываются остальные операционные микрокоманды линейной последовательности. После считывания последней микрокоманды текущей линейной последовательности счетчик 9 микрокоманд устанавливается в нулевое состояние. Далее осуществляется считьшание из блока 3 и считвание микрокоманд следующей линейной последовательности описанным образом. В процессе функционирования процессора в его операционной части возникают отказы, в результате чего некоторые микрокоманды не могут быть выполнены. Однако, благодаря естественной функциональной избыточности системы микрокоманд, возможна замена одних микрокоманд эквивалентными им последовательностями других микрокоманд и соответствующая коррекция микропрограмм. В этом режиме в блоке 29 по адресам, соответствующим операционным микрокомандам, при выполнении которых фиксируется отказ, записаны коды, содержащие поле операционной микрокомандь, поле адреса и поле метки. В поле операционной микрокоманды записыва- . ется первая операционная микрокоманда эквивалентной последовательности микрокоманд. В поле адреса записывается адрес второй микрокоманды эквивалентной последовательности, хранимой в блоке 36. В поле метки записывается единица, определяющая переход к выйолнению эквивалентной последовательности микрокоманд. Коррекция содержимого запоминающего блока 29 осущестрляется в первом режиме по резуль- к ь- к j татам диагностики. I . . . . Если при считывании операционной микрокоманды из блока -29 поступает единичный сигнал, то переход к выполнению эквивалентной последовательности микрокоманд осуществляется следующим образом. Первая операционная микрокоманда с выхода блока 29 через блоки 37 и 39 элементов И и ИЛИ поступает на выход устройства 46. По единичному сигналу в счетчик 30 записывается адрес микрокоманды эквивалентной последовательности. Одновременно триггер 40 устанавливается в единичное состоя ние. При этом закрываются элементы И 12, 18, 20, 23 и 26 и открываются элементы И 34 и 35- После считывания
информации из блока 29 на вход элемента И 32 поступает задержанный тактовый импульс с выхода элемента 19- Но элемент ИЛИ-НЕ 31 и элемент И 32 закрыты, и перезаписи состояния триггера kQ в триггер 41 не происходит. Не изменяется также содержимое счетчика 31 и при поступлении следую щего тактового импульса, задержанного элементом 17 элемент И 26 закрыт, и дешифратор 28 не запускается Но импульс с выхода элемента 17 чере открытый элемент И 3 запускает дешифратор 35, и по адресу, определяемому содержимым счетчика 30, произво дится считывание операционной микрокоманды эквивалентной последовательности из блока Зб. Задержанный тактовый импульс с выхода элемента 19 через элемент И 32 синхронизирует пере
запись состояния триггера tO в триггер А1, а через последовательно соединенные элементы И 32 и 33 осуществляется приращение на единицу содержимого счетчика 30. Триггер V устанавливается в единичное состояние в момент, когда на выходе запоминающего блока 36 считана операционная микрокоманда эквивалентной последовательности. Тогда происходит переключение, и через открытый блок 38 элементов И и блок 39 элементов ИЛИ на выход Й6 поступает операционная микрокоманда эквивалентной последовательности, записанная в блоке Зб. Далее, аналогичным образом считываются последующие микрокоманды эквивалентной последовательности из блока 36. Состояние счетчиков 9 3 не изменяется, так как элемент И 20 закрыт и импульсы с выхода элемента Т9 через него не проходят. При считывании пбследНей микрокоманды эквивалентной последовательности единичный сигнал устанавливает триггер 42 в нулевое состояние. При этом элементы И 33 и 34 закрываются, а элементы И 12, 18, 20, 23 и 26 открываются. Таким образом, осуществляется пере ход к считыванию из блока 28. Задержанный импульс с выхода элемента 19 .через элемент И 20 уменьшает на единицу содержимое счетчика 9 и увеличивает на единицу содержимое счетчика 13. Таким образом, вся эквивалентная последовательность микрокоманд фиксируется как одна микрокоманда. В следующем такте производится считывание
микрокоманды из блока 28 описанным образом. Так как на вход элемента ИЛНЕ 31 поступают нулевые сигналы, то единичным выходным сигналом он открывает элемент И 32, и задержанный тактовый импульс с выхода элемента 19 поступает на вход синхронизации триггера 41. Триггер 41 устанавливается в нулевое состояние и к выходу 45 через блоки 37 и 39 элементов И и ИЛИ подключается выход блока 28, на выходе которого уже считана очередная операционная микрокоманда. Далее устройство функционирует описанным образом, последовательно считывая операционные микрокоманды.
Среднее время между отказами процессора с предлагаемым микропрограммным устройством управления, когда восстановление его работы возможИЪ только заменой функциональных блоков можно оценить с помощью следующей
т (
где Л-- S Xi « умформулы V
2
v.:M.e9
марная интенсивность отказов при выполнении микрокоманд подмножества . Выигрыш по среднему времени между отказами процессора известного устройства и предлагаемого устройства управления определяется следующей формулой ,.
-г- АS . А;
Avt .WjeR.
К-Лг
Vi-.
Поскольку ,тоК7К
Формула изобретения
Микропрограммное устройство управления, содержащее два регистра адресЗ, три дешифратора, три блока памяти, регистр логических условий, буферный регистр, шифратор, счетчик числа микрокоманд, счетчик адреса, два триггера, генератор тактовых импульсов, три элемента задержки, два элемента НЕ, пять элементов И, три блока элементов И, причем первый, второй, и четвертый выходы первого . блока памяти соединены соответственно с установочным входом регистра адреса, информационным входом регист ра логических условий, входом шифратора, первым входом буферного регистра, установочный вход котррого соединен с установочным входом первого дешифратора, установочными входами регистра логических условий, счетчика адреса и с выходом первого элемента И, первый вход которого подключен к выходу генератора импульсов, к входу первого элемента задержки и к первому входу второго элемента И, второй вход которого через первый элемент НЕ соединен с выходом третьего элеме та И, вторым входом первого элемента И и первым входом четвертого элемен-та И, выход которого подключён к пер вому входу первого блока элементов И, второй вход которого соединен с выходом буферного регистра, второй вход которого подключен к выходу вто рого блока элементов И, первый вход которого является входом логических условий устройства, а второй вход соединен с выходом регистра логичес ких условий, выход первого блока ЗЙементов И соединен с первым входом первого регистра адреса, второй вход которого подключен к входу кода oneраций устройства, а выход - к входу первого дешифратора, выход которого соединен с входом первого блока памя ти, второй вход третьего элемента И соединен с выходом первого элемента задержки и входом второго элемента задержки, выход которого соединен с первым входом пятого элемента И, вхо ды третьего элемента И подключены к выходам счетчика числа микрокоманд, вход которого соединен с первым выходом шифратора, второй выход которого подключен к входу счетчика адреса , выход которого соединен с входом второго дешифратора, установочный вход которого соединен с выходом второго элемента И, а выход - с входом второго блока памяти, выход второго регистра адреса подключен к входу третьего дешифратора, выход которого соединен с входом третьего блока памяти, первый выход которого соединен с первым входом третьего блока элементов И, отличающееся тем, что, с целью повышения надежности за счет коррекции мик ропрограмм, оно содержит четвертый блок памяти, четвертый дешифратор, второй счетчик адреса, шестой, седьмой, восьмой, девятый и десятый элементы И, четвертый блок элементов И, первый и второй блоки элементов ИЛИ, элемент ИЛИ-НЕ, причем выход второго блока памяти соединен с первым ВХОДОМ первого блока элементов ИЛИ, второй вход которого подключен к входу адреса устройства, а выход - к входу второго регистра адреса, вход управления перезаписью устройства соединен с первым входом шестого элемента И, а через второй элемент НЕ - с третьими входами первого, второго и четвертого элементов И, четIвертые входы которых подключены к второму входу пятого элемента И, к первому входу седьмого элемента И, к нулевому, входу первого триггера и к нулевому выходу второго триггера, единичный выход которого соединен с единичным входом первого триггера, с первыми входами восьмого и девятого элементов И, тактирующий вход первого триггера подключен к второму входу восьмого элемёнта И и к выходу девятого элемента И, первый вход которого соединен с выходом второго элемента задержки, второй вход - с выходом элемента ИЛИ-НЕ, первый вход которого соединен с единичным входом второго триггера, с первым входом десятого 1 ,элемента И, с вторым выходом третьего блока памяти и с тактирующим входом второго счетчика адреса, второй вход элемента .ИЛИ-НЕ подключен.к нулевому входу второго триггера и первому выходу четвертого блока памяти, второй -выход которого подключен к первому входу четвертого блока элементов И, второй вход которого соединен с единичным выходом первого триггера и со вторым входом десятого элемента И, выход которого подключен к асинхронному инверсному входу первого триггера, нулевой выход которого соединен с вторым входом третьего блока элементов И, выход которого соединен с первым входом второго блока элементов ИЛИ, второй вход которого подключен к выходу четвертого блока элементов И, а выход - к выходу микрооперации устройства, вход четвертого блока памяти соединен с выходим четвертого дешифратора, установочный вход которого соединен с выходом девятого элемента И, второй вход которого подключен к выходу первого эле-: мента задержки и к второму входу седьмого элемента И, выход которого соединен с установочным входом третьего дешифратора, и с вторым входом шестого элемента И, выход которого подключен к управляющему входу третьего
блока памяти, информационный вход которого соединен с входом данных устройства, третий выход третьего блока памяти соединен с информационным входом второго счетчика адреса, управляющий вход которого подключен к выходу восьмого элемента И, а выход - к входу четвертого дешифратора, выход первого элемента НЕ подключен через
третий элемент задержки к третьему входу пятого элемента И.
Источники информации, принятые во внимание при экспертизе
кл. G Об F 9/22, 1979 (прототип).
Авторы
Даты
1982-06-15—Публикация
1980-10-13—Подача