Микропрограммное устройство управления
Иллюстрации
Показать всеРеферат
Изобретение относится к области вычислительной техники и может быть |1спользовано в устройствах управления ЭВМ. Целью изобретения является повышение достоверности функциони-« рования. Устройство содержит коммутатор , счетчик адреса, блок памяти, регистр микрокоманд, блок анализа логических условий, элемент свертки по модулю, счетчик, триггер, два элемента И, два элемента ИЛИ, элемент НЕ. Цель достигается за счет введения элемента НЕ, счетчика и блока с $ анализа логических условий. 3 ил.
СОЮЗ СОВЕТСНИХ
СОЦИАЛИСТИЧЕСКИХ
РЕСПУБЛИК ()m SU (n) l 2 4 1 5 (дц 4 С 06 F 9/22 ч ?у Я
1 с
Ф
? йф
ОПИСАНИЕ ИЗОБРЕТЕНИЯ
g g y, . ?Аа" РЪ
ГОСУДАРСТВЕННЫЙ КОМИТЕТ СССР
RO ДЕЛАМ ИЗОБРЕТЕНИЙ И ОТКРЫТИЙ
К А ВТОРСКОМ .Ф СВИДЕТЕЛЬСТВУ (21) 3919432/24-24 (22) 15.05.85 (46) 30.10.86. Бюл. М) 40 (72) В.А.Андреев (53) 681.32(088.8) (56) Авторское свидетельство СССР
У 1003084, кл. G 06 F 9/22, 1982.
Авторское свидетельство СССР
У 830383, кл. G 06 F 9/22, 1978. (54) МИКРОПРОГРАММНОЕ УСТРОЙСТВО
УПРАВЛЕНИЯ (57) Изобретение относится к области вычислительной техники и может быть яспользовано в устройствах управления 3ВМ. Целью изобретения является повышение достоверности Аункциони рования. Устройство содержит коммутатор, счетчик адреса, блок памяти, регистр микрокоманд, блок анализа логических условий, элемент свертки по модулю, счетчик, триггер, два элемента И, два элемента ИЛИ, элемент
НЕ. Цель достигается за счет введения элемента НЕ, счетчика и блока анализа логических условий. 3 ил.
1267415
Изобретение относится к вычислительной технике и может быть использовано в устройствах управления цифровых вычислительных машин.
Целью изобретения является повышение достоверности функционирования.
На фиг. 1 представлена функциональная схема устройства; на фиг. 2 функциональная схема блока анализа логических условий; на фиг. 3 — вре- 10 менная диаграмма работы устройства.
Устройство содержит коммутатор 1, счетчик 2 адреса, блок 3 памяти, регистр 4 микрокоманд, блок 5 анализа логических условий, узел 6 свертки l5 по модулю, счетчик 7, триггер 8, элементы ИЛИ 9, 10, элементы И 11, 12, элемент НЕ 13, входы 14 кода команды
15 логического условия перехода, 16 логического условия приема кода ко- 20 манды устройства., первый 17 и второй
18 входы тактовых импульсов устроиства, входы 19 начальной установки, 20 выборки микрокоманды, 21 логического условия обращения к резервной 25 зоне памяти устройства, выходы 22 кода микрооперации, 23 индикации правильной работы, 24 индикации неправильной работы устройства.
Блок анализа логических условий ЗО содержит дешифратор 25, элементы И
26-29, элемент НЕ 30, элементы ИЛИ
31, 32, выходы 33 признаков режимов приема кода команды, 34 записи адреса перехода, 35 последовательного выполнения микрокоманц, Устройство работает сл:едующим образом.
При включении питаний на устройство по входу 19 подается сигнал сброса, например, от блока управления вычислительного устройства (не показано}.
При этом в счетчике 2 адреса устанавливается нулевой код адреса, в регистре 4 микрокоманд устанавливается нулевой код микрокоманды, счетчик 7 устанавливается в "0" (шина сброса счетчика не показана). Сигналом сброса с входа 19 через элемент ИЛИ 10 сбрасывается триггер 8, который при этом на выход 23 выдает признак запрета, например, в блок управления вычислительного устройства (не показан). Сигнал "0" с выхода 23 в блоке управления вычислительного устройства 55 может быть использован, например, для запрещения выполнения даннои микрокоманды процессором.
С выхода триггера 8 сигнал "0" поступает также на первый вход элемента И 29 блока 5, закрывая его для прохождения тактового импульса с входа 17, При этом блок 5 сигналы на выходе не вырабатывает.
Работа устройства производится при подаче на входы 17 и 18 тактовых импульсов и на вход 20 сигнала выборки микрокоманды, например, от блока управления вычислительного устройства (не показан). Названные сигналы подаются в соответствии с временной диаграммой (фиг. 3).
Сигнал с входа 20 поступает на управляющий вход блока 3 .памяти и ре-, гистр 4 микрокоманд. Так как счетчик обнулен, то с его второго выхода (второй разряд счетчика) через элемент ИЛИ 9 на второй адресный вход блока 3 памяти (например, на вход старшего разряда адреса) поступает сигнал "0" при этом считывание производится с ячеек рабочей зоны блока
3 памяти.
Считанная микрокоманда с блока 3 передается HB информационный вход регистра 4 микрокоманд. По заднему фронту сигнала с входа 20 информация записывается в регистр 4„
Микрокоманда разделена на три поля: в 1-м поле размещены логические условия режима работы устройства, во
2-м — адрес следующей микрокоманды, в 3-м — код опереционнои части микрокоманды. Признаки логических условий поступают на информационный вход дешифратора 25 блока 5, адрес следующей микрокоманды — на первый вход коммутатора 1 код операционной микрокоманды - на выход 22 устройства.
В предлагаемом устройстве поле логических условий содержит два разряда, состояние которых определяет выполнение следующих операций (режимов):
"00" — прием кода команды, "01" последовательное выполнение микрокоманд, "10" — безусловный переход, 11- условный переход.
В первом поле может быть и другое количество разрядов. Кроме того, с выхода регистра 4 микроманд сигналы со всех разрядов, включая контрольные, поступают на узел 6 свертки.
Последний производит свертку кода микрокоманды, например, по модулю два, причем при достоверности данных на выходе узла 6 c .Båðòêè устанавливается сигнал )",, Результат с вы267415 4
30
55
3 1 хода узла 6 свертки поступает на вход элемента И 11, а через элемент НЕ
13 на вход элемента И 12. На другие входы элементов И 11, 12 с входа 17 поступает тактовый импульс первый (см. временную диаграмму,фиг. 3), При отсутствии в коде микрокоманды ошибки, на выходе элемента И 11 по тактовому импульсу с входа 17 вырабатывается сигнал, который поступает на вход установки в ноль счетчика 7 и вход установки в единицу триггера 8. По данному сигналу подтверждается нулевое состояние счетчика 7, а триггер 8 устанавливается в единичное состояние и выдает на выход 23 сигнал разрешения выполнения опера,ционной микрокоманды,например в блок управления вычислительного устройства. Кроме того, сигналом разрешения с выхода триггера 8 открывается элемент И 29 блока 5. При этом тактовый импульс с входа 17 проходит на стробирующий вход дешифратора 25. Микрокоманда IIo нулевому адресу блока в
3-м поле содержит пустую операцию, при выполнении которой содержимое, например, регистров процессора не изменяется. Во 2-м поле — нулевой код адреса следующей микрокоманды и в
1-м поле признаков — также нулевой . код, что соответствует "загрузке", По нулевому коду признака условий, поступающему на информационный вход дешифратора 25, последний вырабатывает по тактовому импульсу с входа
17 сигнал на выходе 33. Сигнал с выхода 33 дешифратора 25 блока 5 посту-. пает на первый вход элемента И 28 и на управляющий вход коммутатора 1.
При этом вход 14 подключается к информационному входу счетчика 2 адреса. При отсутствии сигнала на входе
16 блок 5 на выходах 34 и 35 сигналов не вырабатывает, а следовательно, и не изменяет содержимого счетчика
2 адреса, при этом и с блока 3 памяти будет постоянно выбираться нулевая ячейка, т.е. режим ожидания приема кода команды.
При наличии сигнала, поступающего на устройство по входу 16, подтверждающего, что код команды на входе 14 выставлен, на выходе элемента И 28 вырабатывается сигнал. Сигнал с вы= хода элемента И 28 блока 5 через эле- мент ИЛИ 31 поступает на синхронизи рующий вход счетчика 2 адреса. По заднему фронту сигнала с выхода 34 данные, поступающие на информационный вход счетчика 2. адреса, заносятся в последний. Затем, на входе 20 выставляется сигнал, а на входе 18 тактовый импульс (фиг. 3). С входа
18 тактовый сигнал поступает через элемент ИЛИ 10 на вход установки в ноль триггера 8, последний сбрасывается и выставляет на выходе 23 сигнал IIOf1.
По сигналу с входа 20, аналогично вышеописанному, считывается первая микрокоманда микропрограммы, которая считывается из рабочей зоны блока 3 по адресу, принятому в счетчике 2.
Считанная микрокоманда заносится в регистр 4 микрокоманд. Микрокоманда передается на выход 22 устройства.
После свертки кода микрокоманды в узле 6 свертки по тактовому импульсу с входа 17 при отсутствии ошибки в данных на выходе элемента И 11 вырабатывается сигнал на вход установки в единицу триггера 8.
Триггер 8 устанавливается в единичное состояние и выдает на выход
23 сигнал индикации правильной работы, т.е. разрешения выполнения микрокоманды.
В зависимости от кода признаков условий в 1-м поле микрокоманды на дешифраторе 25 блока 5 вырабатываются сигналы на одном из era выходов.
При последовательной выработке микрокоманд из блока 3 памяти вырабатывается сигнал на третьем выходе дешифратора 25 блока 5, который через элемент ИЛИ 32 поступает с выхода 35 блока 5 на счетный вход счетчика 2 адреса. При этом содержимое счетчика 2 увеличивается на единицу. Микропрограммы имеют и общие (одни и те же) микрокоманды. По коду "10" признака безусловного перехода сигнал вырабатывается на втором выходе дешифратора 25 блока 5, который через элемент ИЛИ 31 передается на синхронизирующий вход счетчика 2 адреса. Так как на коммутатор 1 сигнал с первого выхода дешифратора 25 блока 5 не вырабатывается, то по сигналу "О". с выхода 33 блока 5 через ИЛИ 9 к информационному входу счетчика 2 адреса подключены выходы регистра 4, микрокоманд (код 2-ro поля микрокоманды) .
Код 2-го поля микрокоманды по сигналу с выхода 34 блока .5 заносится в рокоманды. При подаче следующего сигнала обращения на вход 20 с рабочеи зоны блока 3 памяти считывается повторно та же микрокоманда. Повторное считывание производится для определения неисправность это или сбой. При повторном считывании данных с рабочей зоны блока 3 памяти и их достоверности с выхода узла 6 свертки выдается сигнал "1" на вход элементов НЕ 13 и И 11. По тактовому импульсу с входа 17 на выходе элемента И 11 вырабатывается сигнал, который поступает на вход установки в ноль счетчика 7 на вход установки в единицу триггера 8, Последний устанавливается и выдает на выход 23 сигнал разрешения, при этом устройство продолжает исправно функционировать.
При повторном считывании микрокоманды с рабочей зоны блока 3 памяти и обнаружении сбоя, на выходе узла 6 свертки вырабатывается сигнал
"0", который через элемент НЕ 13 открывает элемент И 12. По тактовому импульсу с входа 17 на выходе элемента И 12 вырабатывается сигнал, который поступает на счетный вход счетчика 7 и увеличивает на единицу его содержимое, т..е. на счетчике 7 устанавливается сигнал на выходе второго разряда. Сигнал с выхода второго рязряда счетчика 7 поступает через элемент ИЛИ 9 на второй адресный вход блока 3 памяти, тем самым к выборке подключается резервная зона блока 3 памяти. В счетчике 2 адреса адрес не изменяется, так как блок 5 при сигнале запрета с триггера 8 сигналов на выходах 33-35 не вырабатывает.
По следующему сигналу с входа 20 происходит считывание той же микрокоманды с резервной зоны ячеек блока
3 памяти. По заднему фронту сигнала с входа 20 считанная с резервной зоны
3 блока микрокоманда записывается в регистр 4 микрокоманд.
При достоверности считанной микрокоманды с узла 6 свертки выдается сигнал 1, который открывает элемент И 11. С выхода элемента И 11 сигнал поступает на вход установки в ноль счетчика 7 и на вход установки в единицу триггера 8. Счетчик 7 сбрасывается, на втором адресном входе блока 3 памяти устанавливается сигнал
"0", тем самым к выборке подключается рабочая зона ячеек блока 3 памя-. ти, и далее устройство продолжает нор.
5 1267415 б регистр 2 адреса и определяет адрес следующей микрокоманды, В командах микропрограммы условного перехода используется признак проверки условия перехода, при этом..1
5 ,сигнал вырабатывается на четвертом выходе дешифратора 25 блока 5. Сигнал с четвертого выхода дешифратора 25 поступает на элементы И 26, 27, На вторые входы элементов И 26, 27 поступает сигнал с входа 15 устройства, причем на элемент" И 27 с входа 15 сигнал поступает через элемент НЕ 30.
Сигнал на вход 15 может выставляться, например,- с флаговой логики процессора (не показан). В зависимости от зназначения ("0" или "1") сигнала на входе 15, вырабатывается сигнал на выходе элемента И 27 или И 26 соответственно, который через элемент
ИЛИ 31 или.через элемент ИЛИ 32 поступает на синхронизирующий или счетный соответственно входы счетчика
2 адреса. Это позволяет изменить последовательность выбираемых микрокоманд в зависимости от значения сигнала внешнего условия на входе 15. При выборке и исполнении всей последовательности микрокоманд микропрограммы устройство осуществляет переход к
30 выборке нулевой ячейки. Переход осуществляется, как было выше описано, по коду "10" признака условия "прием". При этом устройство переходит на режим ожидания приема следующей команды с входа 14, т,е. выбирается ъ5 постоянно нулевая ячейка блока 3 па- мяти.
При возникновении сбоя в коде микрокоманды, считанной с рабочей зоны
40 блока 3 памяти с узла 6 свертки выдается сигнал "0", который через элемент НЕ 13 открывает по второму входу элемент И 12. При этом тактовый импульс с входа 17 проходит через
45 элемент И t2 на счетный вход счетчика 7 подключения резерва, °
Сигнал на установку триггера 8 с выхода элемента И 11 не вырабатывается, поэтому триггер 8 не снимает
50 сигнала запрета с выхода 23. 1ак как сигналом запрета с входа 23 закрыт элемент И 29 блока 5, то с выхода названного элемента И 29 сигнал на стробирующий вход дешифратора 25 не поступает и блок 5 сигналы на шинах
33-35 не вырабатывает.
В результате чего в счетчике 2 адреса сохраняется адрес сбойной мик7 12674 мально функционировать как это описано выше, При обнаружении ошибки в коде микрокоманды, считанной с резервной 30ны блока 3 памяти, вырабатывается сигнал на выходе элемента И 12, который увеличивает содержимое счетчика
7 на единицу. При этом в названном счетчике 7 устанавливается единица в первом и во втором разрядах. Триггер 8 продолжает находиться в сброшенном состоянии, так как на выходе элемента И 11 сигнал не вырабатывается, и с выхода триггера 8 продолжается выдача сигнала запрета на выход
23. В результате чего изменения адреса в счетчике 2 адреса не происходит.
С второго выхода счетчика 7 выдается сигнал "1", который через элемент ИЛИ 9 поступает на второй адресный вход блока 3 памяти, тем самым подключая к выборке резервную зону ячеек блока 3 памяти.
По следующему сигналу обращения с шины 20 выбирается повторно та же микрокоманда с резервной зоны блока
3 памяти, Аналогично, при достоверности считанной микрокоманды на выходе элемента И 11 вырабатывается сигнал, который сбрасывает счетчик 7 ,и устанавливает триггер 8. Последний выставляет сигнал разрешения на выходе 23, а счетчик 7 подключает к выборке рабочую зону блока 3 и устрой35 ство продолжает исправно функционировать.
При обнаружении сбоя в коде микрокоманды, аналогично описанному, на выходе элемента И 12 вырабатывается
40 сигнал, который поступает на счетный вход счетчика 7 и увеличивает его содержимое на единицу. При этом в счетчике 7 устанавливается единица в третьем разряде,. так как предыду45 щее значение счетчика 7 равнялось трем. Сигнал с третьего разряда упомянутого счетчика 7 поступает на выход 24 устройства и сигнализирует о
его неисправности. Данный сигнал мо50 жет использоваться, например, для останова устройства Для проверки исправности ячеек памяти резервной зоны,блока 3 памяти, например, в диагностических тестах, используется второй вход элемента ИЛИ 9. По входу
21 на вход элемента ИЛИ 9 подается сигнал, например, от блока управления вычислительного устройства (не
15 8 показан). С выхода элемента ИЛИ 9 сигнал поступает на второй адресный вход блока 3 памяти, при этом к выборке будет постоянно подключена резервная зона блока 3 памяти. По наличию сигнала на входе 21 судят о неисправности ячеек памяти резервной зоны блока 3.
Формула изобретения
Микропрограммное устройство управления, содержащее коммутатор, счетчик адреса, блок памяти, регистр микрокоманд, узел свертки по модулю, триггер, два элемента ИЛИ, два элемента И, причем выход коммутатора подключен к информационному входу счетчика адреса, выход которого подключен к входу младших разрядов адреса блока памяти, выход которого подключен к информационному входу регистра микрокоманд, выход поля операционной части микрокоманды регистра микрокоманд подключен к выходу кода микрооперации устройства, информационному входу узла свертки по модулю, первый информационный вход коммутатора подключен к входу кода команды устройства, о т л и ч а ю щ е е с я тем, что, с целью повьппения достоверности функционирования, в него введены элемент HF. счетчики и блок анализа логических условий, причем вход выборки микрокоманды устройства подключен к входу записи — считывания блока памяти и к синхровходу регистра микрокоманд, вход начальной установки устройства подключен к входам установки в ноль счетчика адреса и регистра микрокоманд и к первому входу первого элемента ИЛИ, выход которого подключен к входу установки в ноль триггера, первый вход тактовых импульсов устройства подключен к первому стробирующему входу блока анализа логических условий и к первым входам первого и второго элементов И, выход первого элемента И подключен к входу установки в ноль счетчика и к входу установки в единицу триггера, выход которого подключен к выходу индикации правильной работы устройства и к входу разрешения анализа логических условий, выход узла свертки по модулю подключен к второму входу первого элемента И и через элемент НŠ— к второму входу второго элемента И, выход которого подключен
9 12674 к счетному входу счетчика, выходы второго и третьего разрядов которого подключены соответственно к перво- му входу второго элемента ИЛИ и к выходу индикации неправильной работы устройства, вход логического условия обращения к резервной оне памяти устройства подключен к второму входу второго элемента ИЛИ, выход которого подключен к входу старшего разряда адреса блока памяти, выходы признаков режимов приема кода команды, записи адреса перехода и последователь- ного выполнения микрокоманд блока анализа логических условий подключены соответственно к управляющему входу коммутатора, входу записи и счетному входу счетчика адреса, выходы поля адреса следующей микрокоманды и поля логических условий режима ре, гистра микрокоманд подключены соответственно к второму информационному входу коммутатора и.к информационному входу блока анализа логических усло вий, второй и третий, стробирующие входы которого подключены соответственно к входам логических условий перехода и приема кода команды устройства, второй вход тактовых импульсов устройства подключен к второму входу первого. элемента ИЛИ, причем блок анализа логических условий содержит дешифратор, четыре элемента И, два элемента ИЛИ и элемент НЕ, первый стробирующий вход блока анализа логи35 ческих условий подключен к первому входу первого элемента И блока анализа логических условий, второй вход и выход которого подключены соответственно к входу разрешения анализа алогических условий блока анализа лл-
15 10 гических условий и к стробирующему входу дешифратора, информационный вход которого попключен к инсоормационному входу блока анализа логически> условий, второй счробирующий вход блока анализа логических условий под ключен к первому входу второго элемента И блока анализа логических условий и через элемент НЕ блока анали за логических условий — к первому входу третьего элемента И блока анализа логических условий, первый выход дешифратора подключен к первому входу четвертого .элемента И блока анализа логических условий, второй вход и выход которого подключены соответственно к третьему стробирующему входу блока анализа логических условий и к первому входу первого элемента ИЛИ блока анализа логических условий, второй и третий входы которого подключены соответственно к второму выходу дешифратора и к выходу третьего элемента И блока анализа логических условий, выход второго элемента И блока анализа логических условий подключен к первому входу второго элемента ИЛИ блока анализа логических условий, второй вход которого подключен к третьему выходу дешифратора, четвертый выход которого подключен к вторым входам второго и третьего элементов И блока анализа логических условий, выходы которых подключены соответственно к выходам признаков режимов записи адреса перехода и последовательного выполнения микрокоманд блока анализа логических условий, выход признака режима приема кода команды блока анализа логических условий подключен к первому выходудешифратора.
), / ) г
1267415
Составитель N. Силин
Редактор Н.Слободяник Техред М.Коданич
Корректор Е.Рошко
Заказ 5775/47 Тираж 671
ВНИИПИ Государственного комитета СССР по делам изобретений и открытий
113035, Москва, Ж-35, Раушская наб., д. 4/5
«С
Подписное
Производственно-полиграфическое предприятие, г, Ужгород, ул. Проектная, 4