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

Иллюстрации

Показать все

Реферат

 

МИКРОПРОГРАММНОЕ УСТРОЙСТВО УПРАВЛЕНИЯ, содержащее блок памяти микрокоманд, регистр адреса, регистр микроопераций, блок сравнения, блок свертки, триггер отказа, первый и второй элементы И, первый, второй и третий элементы РШИ, причем выход регистра адреса соединен с адресным входом блока памяти микрокоманд, р.егистр микроопераций которого соединен с информационным входом регистра микроопераций , отличающееся тем, что, с целью повьппения достоверности функционирования, в него введены регистр тактовых импульсов, триггер пуска, триггер управления, триггер значений проверяемых логических условий, схема сравнения, мультиплексор логических условий, третий и четвертый элементы И, причем вход запуска устройства соединен с единичным входЛм триггера пуска, единичный выход которого соединен с входом генератора тактовых импульсов, второй и первый выходы генератора тактовых импульсов соединены соответственно с входом синхронизации регистра адреса, с входом синхронизации регистра микроопераций , выход поля метки блока памяти микрокоманд соединен с первыми входами первого и второго элементов И, выход первого элемента И соединен с входом синхронизации регистра контрольного признака, выход второго элемента И соединен с первым входом первого элемента ИЛИ и информационным входом триггера значений проверяемых логических условий, йыход микроопераций блока памяти микрокоманд соединен с первым входом блока свертки, выход которого соединен с первым входом блока сравнения, выход контрольного (Л признака блока памяти микрокоманд соединен с управлянщим входом мультис плексора логических условий, с вторым входом блока свертки, с информационным входом регистра контрольного признака , выход которого соединен с вторым входом блока сравнения, выход эо адреса очередной микрокоманды блока О 00 00 00 микрокоманд соединен с третьим входом блока свертки и с первым информационным входом коммутатора адреса, выход мпадшего разряда выхода адреса очередной микрокоманды блока памяти микрокоманд соединен с вторым входом первого элемента ИЛИ, выход которого :оединен с входом младшего разряда lepBoro информационного входа коммутатора адреса, вход кода операций устройства соединен с вторым информационным входом коммутатора адреса,выход которого соединен с информационным входом регистра гщреса, информационный выход регистра микроопераций является выходом микрооперагдий устрочст

СОЮЗ СОВЕТСНИХ

СОЦИАЛИСТИЧЕСКИХ

РЕСПУБЛИН (19) (11) (51)4 (; 06 F 9/22 11/00

ОПИСАНИЕ ИЗОБРЕТЕНИЯ

К ABTOPCKOMV СВИДЕТЕЛЬСТВУ

ГОСУДАРСТВЕННЫЙ НОМИТЕТ СССР

ПО ДЕЛАМ ИЗОБРЕТЕНИЙ И ОТНРЫТИЙ (21) 3708705/24-24 (22) 11.03.84 (46) 23.09.85. Бюл. )и 35 (72) В.С.Харченко, Г.Н.Тимонькин, В.Б.Самарский, С.Н.Ткаченко, А.В.Королев и Л.С.Сорока (53) 681.3 (088.8) (56) Авторское свидетельство СССР

Р 1020827, кл, G 06 F 9/22, 1983.

Авторское свидетельство СССР

1П 1015384, кл. G 06 F 11/00, 1983.

Авторское свидетельство СССР

)и 1007109, кл. С 06 F 11/00, 1983. (54) (57) МИКРОПРОГРАММНОЕ УСТРОЙСТВО

УПРАВЛЕНИЯ, содержащее блок памяти микрокоманд, регистр адреса, регистр микроопераций, блок сравнения, блок свертки, триггер отказа, первый и второй элементы И, первый, второй и третий элементы ИЛИ, причем выход регистра адреса соединен с адресным входом блока памяти микрокоманд, регистр микроопераций которого соединен с информационным входом регистра микроопераций, о т л и ч а ю щ е е с я тем, что, с целью повьппения достоверности функционирования, в него введены регистр тактовых импульсов, триггер пуска, триггер управления, триггер значений проверяемых логических условий, схема сравнения, мультиплексор логических условий, третий и четвертый элементы И, причем вход запуска устройства соединен с единичным входбм триггера пуска, единичный выход которого соединен с входом генератора тактовых импульсов, второй и первый выходы генератора тактовых импульсов соединены соответственно с входом синхронизации регистра адреса, с входом синхронизации регистра микроопераций, выход поля метки блока памяти микрокоманд соединен с первыми входами первого и второго элементов

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

10 ва,выход конца команды выхода микроопераций регистра микроопераций соединен с управляющим входом коммутатора адреса, выход конца работы выхода микро. операций регистра микроопераций соединен с первым входом второго элемента ИЛИ, вход логических условий устройства соединен с информационным входом мультиплексора логических условий, выход которого соединен с вторым входом второго элемента И, выход метки регистра микроопераций соединен с первыми входами третьего и четвертого элемента И, второй выход генератора тактовых импульсов соединен с входами J и С триггера управле" ния, вторым входом третьего элемента

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

Целью изобретения является повышение достоверности функционирования устройства. б

На фиг. 1 представлена функциональная схема микропрограммного устройства управления; на фиг. 2— време",ные диаграммы его работы.

Микропрограммное устройство управления содержит блок 1 памяти микрокоманд, блок 2 свертки, блок 3 сравнения, регистр 4 адреса, регистр

5 микроопераций, регистр 6 контрольного признака, триггер 7 пуска, генератор 8 тактовых импульсов, триггер 9 щ значений проверяемых логических условий, триггер 10 управления, триггер

1 1 отказа, мультиплексор 12 логических условий, первый элемент И 13, схема 14 сравнения, коммутатор 15 адре- 25 са, третий элемент И 16, второй элемент И 17, первый элемент ИЛИ 18,вто-, рой элемент ИЛИ 19, четвертый элемент

И 20, третий элемент ИЛИ 21, вход 22 пуска устройства, вход 23 кода опера- ЗО его элемента И, выход которого соеди-: нен с первым входом третьего нулевого потенциала, выход которого соединен с К-входом триггера управления, выход которого соединен с четвертым входом третьего элемента И, выход младшего разряда регистра адреса соединен с первым входом схемы сравнения, единичный выход триггера управления соединен с вторым входом схемы сравнения, выход которой соединен с вторым входом четвертого элемента И, выход четвертого элемента И соединен с вторым входом третьего элемента ИЛИ, выход которого соединен с информационным входом триггера отказа„ единичный выход триггера отказа соединен с выходом отказа устройства и с вторым входом второго элемента ИЛИ, выход которого соединен с нулевым входом триггера пуска.

2 ь ций устройства, вход 24 логических условий устройства, выход 25 поля метки регистра 5 микроопераций, выход

26 адреса очередной микрокоманды выход 27 блока контрольного признака блока 1„ выход 28 микроопераций блока 1 памяти микрокоманд, выход 29 микроопераций устройства, выход 30 отказа устройства.

На фиг. 2 обозначены: первый и второй выходы 31 и 32 генератора 8 тактовых импульсов соответственно, выход 33 регистра 4 адреса, выход 34 . регистра 5 микроопераций, выход 35 регистра 6 контрольного признака, значение 36 метки на первом выходе

28 блока 1 памяти микрокоманд, единичный выход 37 триггера 10 управления, единичный выход 38 триггера 9 значений проверяемых логических условий.

В блоке 1 памяти микрокоманд хранятся реализуемые устройством микропрограммы. Формат микрокоманд, считываемых из блока 1 памяти микрокоманд, разбит на три поля: адресное поле, микрооперационное поле и поле логических условий.

Блок 2 свертки осуществляет определение числа единичных разрядов в

1180888 микрокоманде, считанной иэ блока 1 памяти, и формирует фактическое значение контрольного признака.

В регистре 5 микроопераций хранится операционная часть микрокоманды и метка-идентификатор.

В регистре 6 контрольного признака хранится контрольный признак, записанный в поле логических условий микрокоманд, не являющихся микрско- 10 мандами ветвления.

Мультиплексор 12 логических условий осуществляет по коду логических условий выделение значения проверяемого логического условия. 15

Блок 3 сравнения осуществляет сравнение фактического значения контрольного признака с требуемым значением.

Триггер 10 управления управляет работой третьего элемента И 16, раэ- 20 решая формирование сигнала результа— та сравнения только после реализации первой микрокоманды микропрограммы.

Триггер 9 значений проверяемых логических условий предназначен для 25 хранения значения условия перехода: в узле ветвления микропрограммы.

Триггер 11 отказа формирует сигнал отказа (сбоя) и блокирует работу устройства. 30

В формате каждой микрокоманды; считываемой из блока 1 памяти микро" команд, записывается адрес очередной микрокоманды, код проверяемых логических Условии HJIH KoHTPQJIBHbIH IIPH3 35 нак в зависимости от типа считываемых микрокоманд, микрооперационная часть.

В микрооперационной части каждой микрокоманды, кроме того, записывают-4О ся признак окончания команды и признак окончания работы устройства.

Значение метки равно"1" для всех микрокоманд ветвления, а во всех остальных микрокомандах микропрограммы 15 равно "0".

Значение контрольного признака, записанного в поле логических условий 1-й микрокоманды, определяет количество единичных разрядов в формате50 очередной (j+1)-й микрокоманды.

Реализация микропрограммы и контроль правильности считывания микрокоманд из блока 1 памяти микрокоманд в предлагаемом устройстве осуществля-55 ется следующим образом.

После считывания j-й микрокоманды из блока 1 памяти микрокоманд на его выходах появляется следующая информация: адрес очередной микрокоманды, который поступает на вход коммутатора 15 адреса, а также блок ? свертки, контрольный признак R,, который поступает на входы блока 2 свертки, регистра 6 контрольных признаков и мультиплексора 12 логических условий, микрооперационная часть 1-ой микрокоманды, которая поступает на вход блока, 2 свертки и на вход регистра 5 микроопераций. Если считываемая 3-я микрокоманда не является микрокомандой ветвления, то знечение разряда в поле метки равно "0". В этом случае информация с выхода поля логических условий загишется в регистр 6 контрольного признака. После записи микрооперационной части j-й микрокоманды в регистр 5 микроопераций произойдет запись адреса очередной (j+1)-й микрокоманды в регистр 4 адреса. Кроме того, блок 3 свертки, проанализировав информацию на своих входах, выдает на своем выходе код фактического значения контрольного признака (фактического значения числа единичных разрядов считанной 1-й микрокоманде).

В таблице поясняется. работа блока

2 свертки, на входы которого поступает код микрокоманды с выходов блока

1 памяти (адресная часть — с выхода

26, код логических условий (контрольного признака) — с выхода. 27, микрооперационная часть — с вьгьода 28), а на выходе формируется код числа единиц в коде микрокоманды.

Так, например, если на входы блока 2 поступает код микрокоманды

1011111100111100111, содержащий !3

"единиц", то на выходе формируется двоичный код этого числа 1101. Блок

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

В блок 3 сравнения с выхода регистра 6 контрольного признака поступит требуемое значение контрольного признака, записанное в него при считывании (j-1)-й микрокоманды.

В зависимости от требуемого и фактического значения контрольного признака на выходе блока 3 сравнения будет сформирован единичньй сигнал в случае несовпадения требуемого и фактического значений контрольного признака и нулевой — в случае их

«8О888 равенства. Таким образом, произойдет сравнение фактического значения контрольного признака, полученного в блоке 2 свертки после считывания

1-й микрокоманды требуемого его зна— чения, записанного в регистр 6 конт1 рольного признака при считывании (j-1)-й микрокоманды. При неправильном функционировании устройства . 10 (сбое или отказе в адресных или операционных цепях устройства) сигнал с выхода блока 3 сравнения поступит на вход триггера 11 отказа, и в устройстве будет блокирована работа 15 генератора 8 тактовых импульсов. В случае правильной реализации 1-й микрокоманды работа устройства будет продолжена. В этом случае в регистр.

6 запишется требуемое значение конт- 20 рольного признака (j+1)-й микрокоманры. После ее считывания из блока

1 памяти микрокоманд на выходе блока

2 завертки будет сАормировано фактическое значение контрольного призна- 25 ка (1+1)-й микрокоманды.

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

После считывания микрокоманды ветвления из блока 1 памяти микрокоманд, как и в случае реализации обычных микрокоманд, произойдет проверка требуемого значения контрольного признака, записанного в регистр 6, и фактического значения контрольного признака, сформированного .на выходе блока 2 свертки. В случае их совпадения работа устройства будет осу- 40 ществляться следующим образом. Поскольку значение метки в микрокомандах ветвления равно "I" то информация в регистр 6 записана не будет.

На выходе мультиплексора 12 логичес- 45 ких условий по значениям логических условий, поступившим от объекта управления, будет сформирован сигнал значений логических условий.

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

sa микрокомандой ветвления. Значение младшего разряда адреса очередной микрокоманды, к которой осуществляется переход, будет равно "1".

При отрицательном исходе проверки значений логических условий значение этого разряда равно 10 . Признак результата исхода проверки значения логических условий записывается в триггер 9 логических условий. После записи адреса очередной микрокоманды, к которой осуществляется переход в микропрограмме в регистр 4 адреса, значение младшего разряда этого адреса с выхода регистра 4 адреса поступает на вход схемы 14 сравнения.

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

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

Микропрограммное устройство управления работает следующим образом.

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

Значение сигнала на выходе 29 регистра 5 микроопераций равно "1" (цепи установки исходного состояния условно не показаны). Код операции поступает на второй инАормационный вход коммутатора 15 адреса и далее на информационный вход регистра 4 адреса.

На единичный вход триггера 7 пуска поступает сигнал пуска, и на его единичном выл(оде появляется сигнал, который включает генератор 8 тактовых импульсов. По заднему фронту первого импуль..а, поступившего с его выхода на синхровход регистра 4 адреса, произойдет запись кода операций в регистр 4 адреса. По этому коду из блока 1 памяти микрокоманд будет считана первая микрокоманда микропрограммы. На адресном выходе 26 блока

1 памяти микрокоманд появится адрес очередной микрокоманды. На выходе 27 логических условий появится контрольный признак, записанный в поле логиче ких условий считанной микрокоман7 118П888 8 ды. На выходе 27 микроопераций — мик- сов на синхровход регистра 4 адреса, рооперационная часть первой микро- произойдет запись адреса второй команды. Информация с этих выходов микрокоманды в этот регистр и ее блока 1 памяти микрокоманд поступит е из лока памяти микро1 этом значение младшего также на соответствующие входы блока 5 команд. При этом значе

2 свертки, на выходе которого будет разряда кода адреса микрокоманды

° сформировано фактическое значение пает на первьы вход схемы 1 контрольного признака. ения, на второи вход которой .Поскольку в исходном состоянии поступает нулевой и улевой сигнал с единичнлвсе элементы памяти находятся в нуле- 1p ro выхода тригге 9 ггера логических усвом состоянии, то на выходе поля мет- ловий Сигнал р нал результата сравнения ки регистра 5 микроопераций и на еди- поступает с выхода схемы 14 сравненичных выходах триггеров 9-11 будет ния на. второй вх . второи вход четвертого элеприсутствовать нулевой сигнал. Нуле- мента И 20 которьй ив которьй по-прежнему завой сигнал, поступающий с единичного 15 крыт нулевым сигналом с выхода поля выхода триггера 10 управления на чет- метки регистра 5 кр ". Н микрооперации. На вертый вход третьего элемента И 16, выходе четвертого элемента И 20 будет блокирует его. Нулевой сйгнал, посту- сформирован нулевоч сигнал . С выхопающий с поля метки регистра 5 на пер- дов 26-28 блоков 1 памяти микровьй вход четвертого элемента И 20, gp команд информация поступит на соотблокирует работу этого элемента. По ветствующие входы блока 2 свертки, синхроимпульсу, поступающему с второ- а также на входы коммутатора 15 адго выхода генератора 8 тактовых им- реса регистра 5 микроо е

У микроопераций и ре:пульсов, на выходах третьего 16 и гистра 6 контрольного признака, соотчетвертого 20 элементов И будет сфор- 25 ветственно. мирован нулевой сигнал, которьй,прой- На выходе блока 2 свертки будет дя через третий элемент ИЛИ 21 посту- сформировано фактическое значение пит на,информационный вход триггера контрольного признака, которое посту11 отказа. По этому же импульсу на пит на первый информационный вход выходе первого элемента И 13 будет ЗО блока 3 сравнения. На второй вход сформирован единичный сигнал, кото- этого блока поступит требуемое знаый поступит на синхровход регистра чение R контрольного признака. При

6 контрольного признака и разрешит правильном функционировании устройсттем самым запись в него контрольного ва на третий вход открытого третьего признака, поступающего с второго выхо- элемента И 16 поступит нулевой сиг35 да 27 блока 1 памяти микрокоманд и нал, который закрывает его. В том записанного в поле логических усло- случае, если на выходе блока 3 сраввий первой микрокоманды. По заднему нения будет единичный сигнал что у ° фронту этого импульса микроопераци- говорит о неравенстве R u R, после онная часть первой микрокоманды и поступления импульса опроса на вто40 метка запишутся в регистр 5 микро- рой вход третьего элемента И 16 едиопераций, триггер 10 управления пе - ничный сигнал через третий элемент рейдет в единичное состояние, а в ИЛИ 21 поступит на вход триггера 11 триггере 9 и триггере 11 по заднему отказа. По заднему фронту этого же фронту этого импульса будет под45 импульса триггер 11 отказа перейдет тверждено их нулевое состояние. в единичное состояние и через второй значения сигналов микрооперацИД элемент ИЛИ 19 установит в "0" триг-, поступят с выхода 29 регистра 5 гер 7 пуска. В результате Работа роопераций на выход устройства. H устРойства будет блокиРована. левой сигнал с выхода конца команды 50 В этом случае, если микрокоманда считана правильно, устройство будет поступит на первый управляющий вход функционировать до тех пор, пока не коммутатора 15 адреса, и адрес оче- . будет считана из блока 1 памяти микреднрй микрокоманды поступит на ин- рокомапд микрокоманда ветвления. формационный вход регистра 4 адреса. 55 При этом произойдет контроль правильПо заднему фронту очередного тактово- ности ее считывания из блока памяти

ro импульса, поступившего с первого микрокоманд по рассмотренному алговыхода генератора 8 тактовых импуль- ритму. Сигнал метки с выхода 28 бло1 180 " 88 ка 1 памяти микрокоманд закрывает первый элемент И 13 и открывает второй элемент И 17. Код проверяемых логических условий с выхода 27 блока

1 памяти микрокоманд поступает на вход мультиплексора 12 логических условий.

Значение проверяемого логического условия формируется. на выходе мультиплексора 12. 10

При положительном исходе проверки значений логических условий единичный сигнал поступит на второй вход второго элемента И 17.и далее на вход первого элемента ИЛИ 18, на второй вход которого поступает нулевое значение модифицируемого младшего разряда адреса. Модифицированный таким образом адрес первой микрокоманды, следующей за микрокомандой щ ветвления, поступает на первый информационный вход коммутатора 15 адреса и далее в регистр 4 адреса. Единичный сигнал с выхода второго элемента И 17 поступает также на инфор- 25 мационный вход триггера 3 логических условий. По тактовому импульсу, поступающему с второго выхода генератора 8 на второй вход третьего элемента И 16 произойдет опрос результата контроля правильности считывания микрокоманды ветвления из блока 1 памяти микр ок оманд.

Если микрокоманда ветвления считана правильно, то по заднему фронту

35 этого импульса будет подтверждено нулевое состояние триггера 11 отказа, триггер 9 логических условий перейдет в единичное состояние, в регистр 5 микроопераций будет записана микрооперационная часть микрокоманды ветвления. На выходе поля метки этого регистра будет сформирован единичный сигнал, который закроет третий элемент И 16 и откроет четвертый элемент

И 20. По очередному тактовому импульсу, поступившему с первого вьйода 8, произойдет запись кода адреса микрокоманды, следующей за микрокомандой ветвления, в регистр 4 адреса и считывания этой микрокоманды из блока 1 памяти микрокоманд. Значение младшего разряда кода адреса этой микрокоманды поступает на первый вход схемы 14 сравнения. Условием правильного перехода в микропрограмме по положительному исходу проверки логических условий является единичное значение младшего рязряда кода адреса. Таким образом, в случае правильного, перехода в микропрограмме на первый вход схемы

14 сравнения поступает единичный сигнал и на его выходе будет сформирован нулевой сигнал. В случае неправильного выполнения перехода значение сигнала на выходе четвертого 20 элемента И будет равно "1", сигнал с выхода четвертого элемента И 20 поступит через третий элемент ИЛИ 21 на информационный вход триггера 11 отказа и по заднему Фронту импульса с второго выхода генератора 8 установит его в "1",и работа устройства будет блокирована.

В том случае, если значение проверяемых логических условий будет равно "0", модификация адреса микрокоманды перехода производиться не будет, и триггер 9 логических условий останется в нулевом состоянии.

После записи кода адреса микрокоманды перехода в регистр 3 адреса произойдет сравнение значения младшего разряда кода адреса этой микрокоманФ ды и нулевого сигнала с единичного выхода триггера 9 логических условий.

Результатом ошибочного перехода в микропрограмме будет единичное значение младшего разряда кода адреса микрокоманды перехода. Тогда на выходе схемы 14 сравнения будет сформирован единичный сигнал, который установит триггер 11 в "1" и блокирует работу устройства.

26

1101

1010

1101

»01

1010

1010

1011

1011

1011

1011

0410

101101

101111

100011

011011

Входы

1180888

10110»10

0100»00

11100» 1

01101101

11»0010

00» 01 1 1

Выходы

1180888

Составитель И. Сигалов

Редактор В.Данко Техред М. Гергель Корректор М.Максимишинец

Зака.з 5926/47 Тираж 709 Подписное

ВНИИПИ Государственного комитета СССР по делам изобретений и открытий

113035, Москва, Ж-35, Раушская наб., д.4/5

Филиал ППП "Патент", r.Óæãîðoä, ул,Проектная,4