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

 

ОП ИСАНИЕ

ИЗОБРЕТЕН ИЯ

Х АВТОРСКОМУ СВИДЕТЕЛЬСТВУ

Союз Советскик

Соцмалмстыческыи

Рвслублмк

Опубликовано 15.06.82. Бюллетень № 22

Дата опубликования описания 15.06.82 (5) )М. Кл.

G 06 F 9/22

9кудэрэтээияы9 кэмитет

СССР ио двиэм изо4ретеиий я открытий (53) УДК681.325.

5 (088. 8) (72) Авторы изобретения

А. П. Плахтеев, В. С. Харченко, Г. Н. Тиманькин и С. Н. Ткаченко

/ (71) Заявитель 54) МИКРОПРОГPANHHOE УСТРОЙСТВО УПРАВЛЕНИЯ

Изобретение относится к вычислительной технике и может быть использовано в качестве устройства управления высоконадежных микропрограммных процессоров.

Известно микропрограммное устройство управления с контролем и восстановлением (1).

Недостатком этого устройства является низкая функциональная надеж1о ность, вызванная потерей работоспособности процессором, если выполнение любой из микрокоманд сопровождается устойчивым отказом. При обнаружении сбоев в таких устройствах осущестт5 вляется повторение соответствующих микрокоманд и, если после определенного числа повторений сбой не устраняется, производится блокировка работы и переход в режим диагностирования.

Наиболее близким к изобретению по технической сущности и достигаемому положительному эффекту из микропрограммных устройств управления явля-. ется устройство, содержащее два регистра адреса, три дешифратора, три блока памяти, регистр логических условий, буферный регистр, шифратор, счетчик числа микрокоманд, счетчик адреса, два триггера, генератор тактовых импульсов, три элемента задержки, два элемента НЕ, пять элементов

И, три блока элементов И j2 3.

Однако у этого устройства низкая функциональная надежность, вследствие которой процессор теряет работоспособность в случае отказа при выполнении любой из микрокоманд.

Цель изобретения - повышение функциональной надежности устройства, Поставленная цель достигается тем, что микропрограммное устройство управления, содержащее два регистра адреса, три дешифратора, три блока памяти, регистр логических условий, буферный регистр, шифратор, счетчик числа микрокоманд, счетчик адреса, 935960 два триггера, генератор тактовых импульсов, три элемента задержки, два элемента НЕ, пять элементов И, три блока элементов И, причем первый, второй, третий и четвертый выходы первого блока памяти соединены соответственно с установочным входом адресного регистра, информационным входом регистра логических условий, входом шифратора, первым входом буферного регистра, установочный вход которого соединен с установочным входом первого дешифратора, установок ними входами регистра логических условии, счетчика адреса и с выходом первого элемента И, первый вход которого подключен к выходу генератора импульсов, а входу первого элемента задержки и к первому входу второго элемента И, второй вход которого через первый элемент НЕ соединен с выходом третьего элемента И, вторым входом первого элемента И и первым входом четвертого элемента И, выход которого подключен к первому входу первого блока элементов И, второй вход которого соединен с выходом буt5

25 ферного регистра, второй вход которого подключен к выходу второго блока элементов И, первый вход которого является входом логических условий устройства, а второй вход соединен с выходом регистра логических условий, выхсд первого блока элементов И соединен с первым входом первого регистра адреса, второй вход которого подключен к входу кода операций устройства, а выход - к входу первого дешифратора, выход которого соединен с входом первого блока памяти, второй вход третьего элемента И соеди35

Ф и нен с выходом первого элемента задержки и входом второго элемента задержки, выход которого соединен с первым входом пятого элемента И, входы третьего элемента И подключены к выходам счетчика vèñëà микрокоманд, вход которого соединен с первым выходом шифратора, второй выход которого подключен к входу счетчика адреса, выход которого соединен с.входом второго дешифратора, установочный вход которого соединен с выходом второго элемента И, а выход - с входом второro дешифратора. выход которого соединен с входом третьего блока памяти, ro блока памяти, выход второго реги- 55 стра адреса подключен к входу третьепервый выход которого соединен с первым входом третьего блока элементов

И, дополнительно содержит четвертый запоминающий блок, четвертый дешифратор, второй счетчик адреса, шестой, седьмой, восьмой, девятый и десятый элементы И, четвертый блок элементов

И, первый и второй блоки элементов

ИЛИ, элемент ИЛИ-НЕ, причем выход второго блока памяти соединен с первым входом первого блока элементов

ИЛИ, второй вход которого подключен к входу адреса устройства, а выходк входу второго регистра адреса, вход управления перезаписью устройства соединен с первым входом шестого элемента И, а через второй элемент НЕс третьими входами первого, второго и четвертого элементов И, четвертые входы которых подключены к второму входу пятого элемента И, к первому входу седьмого элемента И, к нулевому входу первого триггера и к нулевому выходу второго триггера, единичный выход которого соединен с единичным входом первого триггера, с первыми входами восьмого и девятого элементов И, тактирующий вход первого триггера подключен к второму входу восьмого элемента И и к выходу девятого элемента И, первый вход которого соединен с выходом второго элемента задержки, второй вход - с выходом элемента ИЛИ-НЕ, первый вход которого соединен с единичным входом второго триггера, с первым входом десятого элемента И, со вторым выходом третьего блока памяти и с тактирующим входом второго счетчика адреса, второй вход элемента ИЛИ-НЕ подключен к нулевому входу второго триггера и первому выходу четвертого блока памяти, второй выход которого подключен к первому входу четвертого блока элементов И, второй вход которого соединен с единичным выходом первого триггера и с вторым входом десятого элемента И, выход которого подключен к асинхронному инверсному входу первого триггера, нулевой выход которого соединен с вторым входом третьего блока элементов И, выход которого соединен с первым входом второго блока элементов ИЛИ, второй вход которого подключен .к выходу четвертого блока элементов И, а выходк выходу микрооперации устройства, вход четвертого блока памяти соеди935960 нен с выходом четвертого дешифратора, установочный вход которого соединен с выходом девятого элемента И, второй вход которого подключен к выходу первого элемента задержки и к второму входу седьмого элемента И, выход которого соединен с установочным входом третьего дешифратора .и с вторым входом шестого элемента И, выход которого подключен 1О к управляющему входу третьего блока памяти, информационный вход которого соединен с входом данных устройства, третий выход- третьего блока памяти соединен с информационным вхо- 1З дом второго счетчика адреса, управляющий вход которого подключен к выходу восьмого элемента И, а выходк входу четвертого дешифратора, выход первого элемента НЕ подключен го через третий элемент задержки с третьим входом пятого элемента И.

Сущность изобретения состоит в повышении функциональной надежности путем, замены микрокоманд, при вы- 2$ полнении которых фиксируется устойI чивый отказ, эквивалентными последо. вательностями других микрокоманд.

На чертеже представлена функциональная схема предлагаемого микропро- зв граммного устройства управления.

Устройство содержит регистр 1 адреса, дешифратор. 2, блок 3 памяти, регистр 4 логических условий, блок 5 элементов И, буферный регистр 6, блок

7 элементов И, шифратор 8, счетчик 9 микрокоманд, элемент И 10, элемент

HE 11, элемент И 12, счетчик 13 адреса, дешифратор 14, блок 15 памяти, ! 40 генератор 16 тактовых импульсов, зле мент 17 задержки, элемент И 18, эле-. мент 19 задержки, элемент И 20, элемент НЕ 21, элемент 22 задержки, элемент И 23, блок 24 элементов ИЛИ, регистр 25 адреса операционных микро45 команд, элементы И .26 и 27, дешифратор 28, блок 29 памяти, счетчик 30 адреса, элемент ИЛИ-HE 31, элементы .И 32-34, дешифратор 35, блок 36 памяти, блоки 37 и 38 элементов И, блок

39 элементов ИЛИ, триггеры 40 и 41 элемент И 42, вход кода операции, вход проверки логических условий, вход 43 управления перезаписью, вход

44 адреса, вход 45 данных, выход 46 устройства.

Рассмотрим работу предлагаемого устройства.

В исходном состоянии все регистры и элементы памяти находятся в нулевом состоянии.

Устройство имеет следующие режимы работы: перезаписи информации в sanoминающий блок 29; выполнение хранимых в запоминающих блоках 3, 15 и 29 мик» ропрограмм; автоматической коррекции микропрограмм.

Первый режим используется при начальной записи информации в блок 29 и коррекции его содержимого. В этом режиме на вход 43 поступает единичный сигнал управления перезаписью, который разрешает прохождение импульсов записи через элемент И 27. Одновременно через элемент НЕ 11 закрываются элементы И 12, 18 и 23 ° Со входа 44 через блок 24 на регистр 25 поступает последовательность адресов, а на вход 45 - последовательность кодов данных. Тактовые импульсы от генератора 16 через элемент 17 задержки и открытый элемент И 26 запускают дешифратор 28. Через элемент И 27 на вход блока 29 поступают единичные импульсы записи и данные со входа 45 записываются по адресу, определяемому содержимым регистра 25. На выходе блоков 29 и 36 при этом нулевые сигналы.

При подаче нулевого сигнала на вход 43 закрывается элемент И 27:и запрещается поступление единичных им- пульсов записи, блок 29 переходит в режим считывания информации. Одновременно единичным выходным сигналом элемента НЕ 11 открываются элементы

И 12, 18 и 23. Перед выполнением очередной линейной последовательности счетчик 9 микрокоманд находится в нулевом состоянии, и на выходе элемента И 10 устанавливается единичный сигнал. Этим сигналом открываются элементы И 12 и 18 и через элемент

HE 21 закрывается элемент И 23. Еди-, ничный сигнал на нулевом выходе триг" гера 40 также открывает элементы

И 12, 18, 20, 23 и 26 по соответствующим входам. Тактовый импульс с выхода генератора 16 через элемент И 18 устанавливает в "0" счетчик 13 адреса, буферный регистр 6 и запускает, дешифратор 2 адреса. На регистр 1 ад.реса в начале микропрограмм поступа- ет код операции и по соответствующе" му ему адресу производится считывание из блока 3. С выхода блока 3 код

9359 следующего адреса записывается в буферный регистр 6, код проверяемых логических условий поступает на регистр 4, откуда через блок элементов

И, на второй вход которого поступает код логических условий, подается на буферный регистр 6, где таким образом формируется следующий адрес.

Импульсом с выхода блока 3 регистр 1 адреса устанавливается в нулевое со 0 стояние и подготавливается к приему информации. Номер текущей последовательности поступает на вход шифраторов 8, где он преобразуется в код начального адреса текущей линейной последовательности, записываемый в счетчик 13, и код числа микрокоманд в линейной последовательности, записываемый в счетчик 9 микрокоманд, Задержанный тактовый импульс с выхода элемента 17 задержки через элемент

И 12 открывает блок 7 элементов И, и код следующего адреса перезаписывается из буферного регистра 6 в регистр

1 адреса. Как только счетчик 9 уста25 навливается в отличное от нуля состояние, на выходе элемента И 1О появляется нулевой сигнал, закрывающий элементы И 12 и 18. Элемент И 23 при этом .открывается. Задержанный элементом 22 низкий уровень сигнала на входе элемента И 20 не позволяет импульсу с выхода элемента 19 изменить состояние счетчиков 9 и 13.

Следующий тактовый импульс от генера- З> тора 16 через элемент И 23 запускает дешифратор 14, и из блока 15 осуществляется считывание по адресу, опрецеляемому счетчиком 13. Адрес операционной микрокоманды с выхода блока 40

15 через блок 24 элементов ИЛИ записывается в регистр 25 адреса операционных микрокоманд. После установления кода адреса в регистре 25 на элемент И 26 поступает задержанный тактовый импульс 5 с выхода элемента 17. Так как элемент

И 26 открыт, этот импульс запускает;-; дешифратор 28, и из блока 29 считывается код операционной микрокоманды, который через блоки 37 и 39 элементов 0

И и элементов ИЛИ поступает на выход

46. После окончания считывания микрокоманды из блока 29 появляется задержанный тактовый импульс на выходе элемента 19, который проходит через открытый элемент И 20, уменьшая на единицу содержимое счетчика 9 и увеличивая на единицу содержимое счетчи60 -8 ка 13 адреса. Таким образом, по адресам, считываемым из блока 15, считываются остальные операционные микрокоманды линейной последовательности.

После считывания последней микрокоманды текущей линейной последовательности счетчик 9 микрокоманд устанавливается в нулевое состояние. Далее осуществляется считывание из блока 3 и считвание микрокоманд следующей линейной последовательности описанным образом.

В процессе функционирования процессора в его операционной части возникают отказы, в результате чего некоторые микрокоманды не могут быть выполнены. Однако, благодаря естественной функциональной избыточности системы микрокоманд, возможна замена одних микрокоманд эквивалентными им послЕдовательностями других микрокоманд и соответствующая коррекция микропрограмм. В этом режиме в блоке 29 по адресам, соответствующим операционным микрокомандам, при выполнении которых фиксируется отказ, записаны коды, содержащие поле операционной микрокаманды, поле адреса и поле метки. В поле операционной микрокоманды записыва-, ется первая операционная микрокоманда эквивалентной последовательности микрокоманд. В поле адреса записывается адрес второй микрокоманды эквива.лентной последовательности, хранимой в блоке 36. В поле метки записывается единица, определяющая переход к вы полнению эквивалентной последовательности микрокоманд. Коррекция содержимого запоминающего блока 29 осуществляется в первом режиме по результатам диагностики.

Если при считывании операционной микрокоманды из блока 29 поступает единичный сигнал, то переход к выполнению эквивалентной последовательности микрокоманд осуществляется следующим образом.

Первая операционная микрокомандв с выхода блока 29 через блоки 37 и

39 элементов И и ИЛИ поступает на выход устройства 46. По единичному сигналу в счетчик 30 записывается адрес микрокоманды эквивалентной последовательности. Одновременно триггер 40 устанавливается в единичное состоя ние. При этом закрываются элементы

И 12, 18, 20, 23 и 26 и открываются элементы И 34 и 35. После считывания

9359

Формула изобретения

9 информации из блока 29 на вход элемента И 32 поступает задержанный тактовый импульс с выхода элемента

19. Но элемент ИЛИ-НЕ 31 и элемент

И 32 закрыты, и перезаписи состояния 5 триггера 40 в триггер 41 не происходит. Не изменяется также содержимое счетчика 31 и при поступлении следую щего тактового импульса, задержанного элементом 17, элемент И 26 закрыт, и дешифратор 28 не запускается.

Но импульс с выхода элемента 17 через открытый элемент И 34 запускает дешифратор 35, и по адресу, определяемому содержимым счетчика 30, произво- 1 дится считывание операционной микрокоманды эквивалентной последовательности из блока 36. Задержанный тактовый импульс с выхода элемента 19 через элемент И 32 синхронизирует пере- 20 запись состояния триггера 40 в триггер 41, а через последовательно соединенные элементы И 32 и 33 осуществляется приращение на единицу содержимого счетчика 30. Триггер 41 устанавливается в единичное состояние в момент, когда на выходе запоминающего блока 36 считана операционная микракоманда эквивалентной последовательности. Тогда происходит переключение, и через открытый блок 38 элементов И и блок 39 элементов ИЛИ на выход 46 поступает операционная микрокоманда эквивалентной последовательности, записанная в блоке 36.

Далее, аналогичным образом считываются последующие микрокоманды зкви" валентной последовательности из блока 36. Состояние счетчиков 9 и 13 не изменяется, так как элемент И 20 закрыт и импульсы с выхода элемента

19 через него не проходят. При считывании последней микрокоманды эквивалентной последовательности единичный сигнал устанавливает триггер 42 в нулевое состояние. При этом элементы

И 33 и 34 закрываются, а элементы

И 12, 18, 20, 23 и 26 открываются.

Таким образом, осуществляется пере" ход к считыванию из блока 28. Задержанный импульс с выхода элемента 19 через элемент И 20 уменьшает на единицу содержимое счетчика 9 и увеличивает на единицу содержимое счетчика

13. Таким образом, вся эквивалентная последовательность микрокоманд фиксируется как одна микрокоманда. В следующем такте производится считывание

60 l0 микрокоманды из блока 28 описанным образом. Так как на вход элемента ИЛИНЕ 31 поступают нулевые сигналы, то единичным выходным сигналом он от. крывает элемент И 32, и задержанный тактовый импульс с выхода элемента

19 поступает на вход синхронизации триггера 41. Триггер 41 устанавливается в нулевое состояние и к выходу

45 через блоки 37 и 39 элементов И и

ИЛИ подключается выход блока 28, на выходе которого уже считана очередная операционная микрокоманда. Далее устройство функционирует описанным образом, последовательно считывая операционные микрокоманды.

Среднее время между отказами процессора с предлагаемым микропрограммным устройством управления, когда восстановление его работы возможИэ только заменой функциональных блоков, можно оценить с помощью следующей

Формулы = где 62= 1 сум"

2 v".ì ey" марная интенсивйость отказов при вы" полнении микрокоманд подмножества 2.

Выигрыш по среднему времени между отказами процессора известного устройства и предлагаемого устройства управления определяется следующей формулой

ы т Ад. 7 )-„ ."

91 „. 9

Поскольку В. р ф и g фф, то К >1

Микропрограммное устройство управления, содержащее два регистра адреса, три дешифратора, три блока памяти, регистр логических условий, бу"

Ферный регистр, шифратор, счетчик чи. сла микрокоманд, счетчик адреса, два триггера, генератор тактовых импульсов, три элемента задержки, два элемента НЕ, пять элементов И, три блока элементов И, причем первый, второй, третий и четвертый выходы первого блока памяти соединены соответственно с установочным входом регистра адреса, информационным входом регист— ра логических условий, входом шифра" тора, первым входом буферного регистра, установочный вход котррого соеди" нен с установочным входом первого де".

9359

30 шифратора, установочными входами регистра логических условий, счетчика адреса и с выходом первого элемента

И, первый вход которого подключен к выходу генератора импульсов, к входу первого элемента задержки и к первому входу второго элемента И, второй вход которого через первый элемент

НЕ соединен с выходом третьего элемента И, вторым входом первого элемента

И и первым входом четвертого элемента И, выход которого подключен к первому входу первого блока элементов

И, второй вход которого соединен с выходом буферного регистра, второй вход которого подключен к выходу второго блока элементов И, первый вход которого является входом логических условий устройства, а второй вход соединен с выходом регистра логических условий, выход первого блока элементов И соединен с первым входом первого регистра адреса, второй вход которого подключен к входу кода операций устройства, а выход - к входу первого дешифратора, выход которого соединен с входом первого блока памяти, второй вход третьего элемента И соединен с выходом первого элемента задержки и входом второго элемента задержки, выход которого соединен с первым входом пятого элемента И, входы третьего элемента И подключены к выходам счетчика числа микрокоманд, вход которого соединен с первым выходом шифратора, второй выход которого подключен к входу счетчика адреса, выход которого соединен с входом второго дешифратора, установоч40 ный вход которого соединен с выходом второго элемента И, а выход - с входом второго блока памяти, выход второго регистра адреса подключен к входу третьего дешифратора, выход

45 которого соединен с входом третьего блока памяти, первый выход которого соединен. с первым входом третьего блока элементов И, о т л и ч а ю щ е е с я тем, что, с целью повышения надежности за счет коррекции мик50 ропрограмм, оно содержит четвертый блок памяти, четвертый дешифратор, второй счетчик адреса, шестой, седьмой, восьмой, девятый и десятый элементы И, четвертый блок элементов И, первый и второй блоки элементов ИЛИ, элемент ИЛИ-НЕ, причем выход второго блока памяти соединен с первым

60 22 входом первого блока элементов ИЛИ, второй вход которого подключен к входу адреса устройства, а выход - к входу второго регистра адреса, вход управления перезаписью устройства соединен с первым входом шестого элемента И, а через второй элемент

НЕ - с третьими входами первого, второго и четвертого элементов И, чет1 вертые входы которых подключены к второму входу пятого элемента И, к первому входу седьмого элемента И, к нулевому, входу первого триггера и к нулевому выходу второго триггера, единичный выход которого соединен с единичным входом первого триггера, с первыми входами восьмого и девятого элементов И, тактирующий вход первого триггера подключен к второму входу восьмого элемента И и к выходу девятого элемента И, первый вход которого соединен с выходом второго элемента задержки, второй вход - с выходом элемента ИЛИ-НЕ, первый вход которого соединен с единичным входом второго триггера, с первым входом десятого

1 элемента И, с вторым выходом третьего блока памяти и с тактирующим входом второго счетчика адреса, второй вход элемента ИЛИ-НЕ подключен.к нулевому входу второго триггера и первому выходу четвертого блока памяти, второй .выход которого подключен к первому входу четвертого блока элементов И, второй вход которого соединен с единичным выходом первого триггера и со вторым входом десятого weмента И, выход которого подключен к асинхронному инверсному входу первого триггера, нулевой выход которого соединен с вторым входом третьего блока элементов И, выход которого со1 единен с первым входом второго блока элементов ИЛИ, второй вход которого подключен к выходу четвертого блока элементов И, а выход - к выходу микрооперации устройства, вход четвертого блока памяти соединен с выходом четвертого дешифратора, установочный вход которого соединен с выходом девятого элемента И, второй вход которого подключен к выходу первого эле-: мента задержки и к второму входу седьмого элемента И, выход которого соединен с установочным входом третьего дешифратора, и с вторым входом шестого элемента И, выход которого подключен к управляющему входу третьего

13 935960 14 блока памяти, информационный вход ко- третий элемент задержки к третьему торого соединен с входом данных уст- входу пятого элемента И. ройства, третий выход третьего блока Источники информации памяти соединен с информационным вхо- принятые во внимание при экспертизе дом второго счетчика адреса, управля- 5 1. Авторское свидетельство СССР ющий вход которого подключен к выхо- IP 705457, кл. G 06 F 9/22, 1979 ду восьмого элемента И, а выход — к 2. Авторское свидетельство СССР входу четвертого дешифратора, выход по заявке Ю 2802977/ 18-24, первого элемента НЕ подключен через кл. G 06 Г 9/22, 1979 прототип).

Заказ 421)/ 2 Тираж 731 Подписное

ВНИИПИ

Филиал ППП "Патент", г. Ужгород, ул. Проектная, 4

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

 

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

Изобретение относится к области цифровой вычислительной техники, применяется при построении алгоритмически распределенных устройств (систем) микропрограммного управления вычислительных и управляющих систем высокой производительности

Изобретение относится к автоматике и вычислительной технике

Изобретение относится к автоматике и вычислительной технике

Изобретение относится к автоматике и вычислительной технике и может быть использовано при построении алгоритмически распределенных устройств микропрограммного управления вычислительных и управляющих систем высокой производительности, реализующих параллельные алгоритмы обработки информации

Изобретение относится к автоматике и вычислительной технике и может быть использовано при построении распределенных систем программного управления, а также подсистем логического управления многоуровневых АСУ

Изобретение относится к автоматике и вычислительной технике и может быть использовано при построении систем управления технологическими процессами

Изобретение относится к автоматике и вычислительной технике и может быть использовано при построении систем управления технологическими процессами

Изобретение относится к автоматике и цифровой вычислительной технике и может найти применение при построении управляющих и вычислительных систем высокой производительности, а также подсистем логического управления многоуровневых иерархических автоматизированных систем управления

Изобретение относится к автоматике и цифровой вычислительной технике и может быть использовано при построении алгоритмически распределенных устройств микропрограммного управления вычислительных и управляющих систем высокой производительности, проектируемых на базе однотипных БИС (СБИС) и реализующих параллельные алгоритмы обработки информации

Изобретение относится к автоматике и вычислительной технике, предназначено для выполнения требуемых функций программного управления с автоматическим перезапуском при «зависании» прикладной программы и автоматическим переходом в режим сохранения оперативной информации с помощью резервного источника напряжения питания при отключении или аварии основного источника напряжения питания и может быть использовано, например, в качестве ядра микроконтроллерной или микропроцессорной системы (М-системы) обработки информации и управления в реальном времени с поддержкой режима аппаратного сторожевого таймера для перезапуска при «зависании» прикладной программы М-системы, проектируемой с учетом следующих основных принципов [1]: программного управления, магистрального обмена информацией, модульного построения и наращивания вычислительной мощности
Наверх