Микропрограммное устройство управления с контролем
Иллюстрации
Показать всеРеферат
Изобретение относится к автоматике и вычислительной технике и может быть использовано в ЭВМ и вычислительных системах с микропрограм- MHbiM принципом управления. Изобретение позволяет повысить достоверность функционирования микропрограммных устройств управления с контролем за счет увеличения оперативности и полноты контроля путем проверки по модулю последовательностей микрокоманд микропрограммы на основе мультиплексирования их микрооперационных частей . . Устройство содержит блок памяти микрокоманд 1, регистры микроопераций 2 и адреса 3, мультиплексоры 4 и 5, счетчик 9, коммутатор адреса 10, генератор 12 тактовых импульсов , триггеры 6-8, элементы ИЛИ 13 - 15, элементы И 16 и 17, элемент И-НЕ 11, поле 18 микроопераций, поле 19 логических условий, поле 20 немодифицируемых разрядов адреса, поле 21 модифицируемого разряда адреса, поля первой 22 и второй 23 меток блока памяти микрокоманд 1. 2 ил. 3 (Я со ел Oi со
СОЮЗ СОВЕТСКИХ
СОЦИАЛИСТИЧЕСКИХ
РЕСПУБЛИК (51) 4 G 06 F 9/22, 11/00
ОПИСАНИЕ ИЗОБРЕТЕНИЯ
1 Д
ГОСУДАРСТВЕННЫЙ КОМИТЕТ СССР
ПО ДЕЛАМ ИЗОБРЕТЕНИЙ И ОТКРЫТИЙ
Н А ВТОРСКОМУ СВИДЕТЕЛЬСТВУ (21) 4016108/24-24 (22) 29.01.86 (46) 23.04.87. Бюл. У 15 (72) Н.Ф.Сидоренко, В.С.Харченко, Г.Н.Тимонькин, С.Н.Ткаченко, Б.Ф.Остроумов и В.Б.Самарский (53) 681.3(088.8) (56) Авторское свидетельство СССР
В 849894, кл. G 06 F 9/22, G 06 F 11/00, 1979.
Авторское свидетельство СССР
У 1140121, кл. G 06 Г 9/22, G 06 F 11/00, 1983. (54) МИКРОПРОГРАММНОЕ УСТРОЙСТВО УПРАВЛЕНИЯ С КОНТРОЛЕМ (57) Изобретение относится к автоматике и вычислительной технике и может быть использовано в 3ВМ и вычислительных системах с микропрограммным принципом управления. Изобрете. SU„„1305679 А1 ние позволяет повысить достоверность функционирования микропрограммных устройств управления с контролем за счет увеличения оперативности и полноты контроля путем проверки по модулю последовательностей микрокоманд микропрограммы на основе мультиплексирования нх микрооперационных частей. Устройство содержит блок памяти микрокоманд 1, регистры микроопераций 2 и адреса 3, мультиплексоры
4 и 5, счетчик 9, коммутатор адреса 10, генератор 12 тактовых импульсов, триггеры 6 — 8, элементы ИЛИ
13 — 15, элементы И 16 и 17, элемент И-НЕ 11, поле 18 микроопераций, поле 19 логических условий, поле 20 немодифицируемых разрядов адреса, поле 21 модифицируемого разряда адреса, поля первой 22 и второй 23 меток блока памяти микрокоманд 1. 2 ил. лительных системах с микропрограммным принципом управления.
Целью изобретения является повышение достоверности функционирования микропрограммного устройства управления с контролем.
На фиг.i представлена функциональ-1р ная схема микропрограммного устройства управления с контролем; на фиг.2 — фрагмент микропрограммы, Микропрограммное устройство управления с контролем (фиг.1)с.содер- 15 жит блок 1 памяти микрокоманд, регистры микроопераций 2 и адреса З,первый 4 и второй 5 мультиплексоры, триггеры 6-8, счетчик 9, коммутатор
10 адреса, элемент И вЂ” НЕ 11, генера- 20 тор 12 тактовых импульсов, элементы
ИЛИ 13-15, первый и второй эпементы
И 16 и 17 соответственно, поле 18 микроопераций, поле 19 логических условий, поле 20 немодифицируемых разрядов адреса, поле 21 модифицируемого разряда адреса, поле 22 первой метки (метки логических условий), поле 23 второй метки (метки микрокоманд вхождения в цикл и микрокоманд 30 окончания контролируемых участков) блока памяти микрокоманд, выход 24 . микроопераций устройства, выход 24.1 признака конца команды и выход 24.2 признака конца работы регистра 2, вход 25 пуска устройства, первый и второй выходы 26 и 27 соответственно генератора 12 тактовых импульсов, вход 28 кода значений логических условий устройства, вход 29 кода 4р операции устройства, выход 30 отказа устройства.
Дисциплина функционирования микропрограммного устройства управления с контролем заключается в следу в 15 ющем.
Счетчик перед реализацией микропрограммы настраивается на некоторый модуль. Микрокоманды ветвления имеют метку ветвления равную едини- 5р це. Все остальные команды имеют метку ветвления равную нулю. Микрокоманды вхождения в цикл и микрокоманды конца контрольного участка также имеют соответствующую метку равную единице. Все остальные микрокоманды микропрограммы имеют метку вхождения в цикл равную нулю. При реализации линейных микрокоманд в поле логиче—
1 130567
Изобретение относится к автоматике и вычислительной технике и может быть использовано в ЭВМ и вычис-1
9 2 ских условий записываются коды номеров контролируемых разрядов операционных частей микрокоманды. Определение значения контролируемого разряда осущеcTBJIHeтс1 вторым мультиплексором.После считывания кода микрокоманды из блока памяти микрокоманд. происходит запись ее операционной части в регистр микроопераций. Код адреса микрокоманды передается через коммутатор адреса в регистр адреса и далее на вход блока памяти. В то же время второй мультиплексор осуществляет проверку значения соответствующего разряда кода операционной части микрокоманды. При этом единичном его значении содержимое счетчика увеличивается на единицу. При реализации микрокоманды, в которой метка вхождения в цикл равна единице, происходит определение состояния счетчика. При правильном функционировании предлагаемого устройства значение счетчика равно нулю. В противном случае — отлично от нуля. В случае, когда содержимое счетчика отлично от нуля, третий триггер установлен в единицу, и устройство прекращает реализацию заданного алгоритма. В случае отсутствия отказов работа устройства продолжается.
Ьлок 1 памяти микрокоманд предназначен для хранения реализуемых микропрограмм. Регистр 2 микроопераций— для хранения кодов микрооперационных частей реализуемых мирокоманд, регистр 3 адреса — для хранения кодов адресов микрокоманд, мультиплексор
4 — для модификации младших разрядов кодов адресов микрокоманд условных переходов, мультиплексор 5 — для определения значений контролируемых разрядов микрооперационных частей микрокоманд, триггер 6 — для фиксации отказа при неправильном выборе микропрограммы по коду операции.
Триггер 7 предназначен для управле— ния работой генератора 12, триггер
8 — для фиксации отказа при неправильной реализации микрокоманд микропрограммы, счетчик 9 — для определения числа контрольных микроопераций на контролируемом участке микропрограммы, коммутатор 10 адреса— для передачи кодов адресов микрокоманд.
Элемент И-НЕ 11 — для формирования сигнала ошибок при неправильном выборе микропрограммы по коду операции.
13056
Элемент И-НЕ 11 формирует единичный сигнал на своем выходе в том случае, когда в поле логических условий блока 1 (выход 19) присутствует код, отличный от кода, которым помечаются все начальные микрокоманды микропрограммы. Если в качестве такого кода выбран, например, код 10101, то первый, третий и пятый выходы поля
19 подключены к прямым, а второй и четвертый выходы поля 19 — к инверсным входам элемента И-НЕ 11. Контроль
"попадания устройства в начало микропрограммы по коду операции осуществляется в устройстве в полном соот-15 ветствии с тем, как это делалось в известном.
Генератор 12 предназначен для выработки импульсов синхронизации,синхронизирующих работу устройства,пер- 2р вый элемент ИЛИ 13 — для формирования сигналов установки триггера 7 в нулевое состояние, второй элемент
ИЛИ 14 — для передачи сигнала ошибки на выход устройства, третий эле- 25 мент ИЛИ 15 — для формирования сигнала ошибки при реализации микропрограммы,первый элемент И 16 — для управления работой счетчика 9, второй эле— мент И 17 — для управления. работой 30 триггера 8.
Контроль правильности реализации микропрограмм в предлагаемом устройстве осуществляется следующим образом.
Реализуемые микропрограммы хранятся в блоке 1. Один из фрагментов реализуемых микропрограмм представ— лен на фиг.2.
Синхронизацию устройства осуществляет генератор 12.
По коду операции, поступающему на вход 29 устройства, происходит считывание кода первой микрокоманды из блока 1. Код 01011101 микроопераций, например для микропрограммы, представленной на фиг.2, поступает на информационный вход регистра 2, куда он записывается по соответствующему им- 5О пульсу синхронизации. В поле логических условий первой микрокоманды записан контрольный код 1111 êoòoðûé поступает на вход элемента И-НЕ 11.
Если значение контрольного кода не соответствует требуемому, то триггер 6 установлен в единичное состояние и работа устройства блокирована.
Если контрольный код соответствует где F число контролируемых разрядов микрооперационной части микрокоманды; х х, Х„... х — конъюнкция значений разрядов кода, определяющего номер контролируемого разряда операционной части микрокоманды; управляющий сигнал на входе мультиплексора; значение i-ro операционной части микрокоманды.
Как следует из анализа этого выражения, единичный сигнал на выходе мультиплексора 5 будет в случае еди79
4 требуемому значению, то работа устройства продлена. Немодифицируемые разряды 001 кода 0010 адреса поступают на вход коммутатора 10. В мультиплексоре 4 модификация младшего разряда 0 кода 0010 адреса не осуществляется и в блок 1 поступает код
0010 адреса очередной микрокоманды.
В поле логических условий оставшихся микрокоманд за исключением микрокоманд ветвления записаны коды проверяемых микроопераций. Для микрокоманд первого линейного участка (вторая-четвертая микрокоманды) в качестве контролируемых операций выступают первый, четвертый и третий разряды микрооперационных частей этих микрокоманд.
Для микрокоманд второго участка (седьмая, восьмая и десятая) и для микрокоманд третьего контрольного участка (седьмая, восьмая и одиннадцатая микрокоманды) в качестве контрольного разряда выступают второй и третий и второй, третий и шестой разряды микрооперационных частей этих микрокоманд.
В мультиплексоре 5 происходит определение значения проверяемого разряда поля микроопераций. Определение значения проверяемого разряда осуществляется путем анализа поступивших на вход мультиплексора 5 кода номера проверяемого разряда, кода микроопераций и управляющего сигнала с выхода 22 блока 1. Функционирование мультиплексора 5 может быть описано логической функцией
1305679 где а g
Pg Х Х Х а ° Õ младший разряд (модифицируемый) кода адреса; значения логических условий; конъюнкция значений разрядов ну.левого кода лоничного значения контролируемого разряда операционной части микрокоманды при . и = О. Во всех остальных случаях Z> О.
При единичном значении контролируемого разряда микрооперационной части микрокоманды происходит увеличение на единицу содержимого счетчика 9. Счетчик 9 настроен на некоторый модуль (имеет коэффициент пере- 10 счета), равный числу единичных контролируемых разрядов микрооперационных частей микрокоманд на контролируемом участке. При реализации микC рокоманды вхождения в цикл или кон- 15 трольной микрокоманды значения сигнала на выходе 23 блока 1 равно единице. В случае микропрограммы, изображенной на фиг.2, в качестве контрольных микрокоманд выступают чет- 20 вертая, десятая и одиннадцатая микрокоманды. Если содержимое счетчика
9 равно нулю, то это говорит о правильном функционировании устройства на контролируемом участке микропро- 25 граммы. Если содержимое счетчика 9 равно нулю, то работа устройства продолжена. Далее при реализации микрокоманды ветвления значение сигнала на выходе 22 блока 1 равно единице. 30
В поле логических условий записан код 0001 номера проверяемого логического условия. На вход 23 устройства поступает значение проверяемого логического условия. В мультиплексоре
4 в зависимости от значений логических условий происходит модификация значения младшего разряда кода адреса.
Особенностью модификаций младшего 40 разряда кода адреса является то, что модификация адреса не происходит при нулевом коде номеров логических условий и при коде, которым отмечены все начальные микрокомандй микропро- 45 граммы. Поэтому логическая функция, реализуемая мультиплексором 4, имеет вид
/3,= х,,х х гических условий; конъюнкция значений разрядов кодов, которым отмечены начальные микрокоманды; конъюнкция значе1 ний разрядов кода логических условий.
Из приведенной формулы следует, что при нулевом коде логических условий или при коде, которым отмечены начальные микрокоманды Е = а .
Во всех остальных случаях происходит модификация разряда а таким образом,что Z„ у:, если на вход мультиплексора поступает j-й код логических условий, Так, например, в случае проверки логического условия с номером 0001 при X„ 1 осуществлена модификация младшего разряда адре- . са а путем изменения его значения с
Она1.
Аналогично выполнена модификация адреса при выполнении второй микрокоманды ветвления с кодом логических условий 0010. В этом случае при Х =
1 (младший разряд а адреса модифицирован путем изменения его значения с О на 1. При Х = О модификация не производится).
Для микропрограммы, изображенной на фиг.2, в качестве модуля пересчета выбрано число три. При правильном функционировании устройства при выполнении контрольных микрокоманд (четвертой, десятой или одиннадцатой) значение счетчика 9 должно быть равно нулю. Невыполнение этого .условия свидетельствует о возникновении отказа в работе устройства.
Микропрограммное устройство управления с контролем работает следующим образом.
В исходном состоянии все элементы памяти находятся в нулевом состоянии (цепи установки в нуль элементов памяти на фиг.1 условно не показаны).
Триггер регистра 2, которому соответствует выход 24.1 конца команды выхода регистра, находится в единичном состоянии (цепи его установки в единичное состояние, на фиг.1 условно не показаны}. !
1
Работа устройства начинается с поступления на вход 25 устройства сиг7 13056 нала "Пуск, по которому устанавливается в единичное состояние триггер
7, который разрешает работу генератора 12. По первому тактовому импуль-, су с выхода 27 генератора в регистр
3 заносится код операции с входа 29 устройства. Этот код записывается в регистр 3 через коммутатор 10, на управляющий вход которого поступает единичный сигнал с выхода 24.1 ре- 1р гистра 2. По тактовому импульсу с выхода 26 генератора 12 в регистр 2 записывается часть первой микрокоманды микропрограммы (операционная часть), По заднему фронту импульса синхронизации на выходе 24. 1 единичный сигнал исчезает и в триггер 6 записывается единичный или нулевой сигнал.
Единичный сигнал формируется элементом И-НЕ 11 в том случае, если в 20 поле логических условий первой микрокоманды (на выходе 19 блока 1) формируется код отличных от требуемого, соответствующего начальной микрокоманде микропрограммы. Тогда единичный сигнал с единичного выхода триггера 6 поступает через элемент ИЛИ 14 на вход 20 отказа устройства и через элемент ИЛИ 13 íà R-вход триггера 7.
В результате этого на выходе 30 уст- З0 ройства формируется сигнал отказа.
Триггер 7 устанавливается в нулевое состояние и блокирует работу генератора 12.
В противном случае нулевое состояние триггера 6 не меняется и в регистр 3 по заднему фронту импульса синхронизации с выхода 27 генератора 12 записывается код адреса второй микрокоманды микропрограммы. Этот ад- 40 рес поступает в регистр 3 с выхода
20 (немодифицируемая часть) и с выхода 21 (модифицируемая часть) на коммутатор 10 на управляющий вход которого поступает нулевой сигнал с 45 выхода 24.1 выхода регистра 2. При этом младший модифицируемый адресный разряд проходит на выход мультиплексора 4 и далее в регистр 3 адреса без изменения. С выхода регистра 3 адреса код адреса второй микрокоманды поступает на вход блока 1, и работа устройства продолжается следующим образом. Код операционной части микрокоманды поступает с выхода 18 блока 1 на информационный вход регистра
2, куда и записывается по заднему фронту импульса синхронизации с выхода 26 генератора 12 и на вход муль79 8 типлексора 5. Код номера проверяемого разряда операционной части микрокоманды поступает на входы мультиплексоров 4 и 5 и на вход элемента
И-НЕ 11. Значение метки на выходе 22 блока 1 равно нулю, если вторая микрокоманда не является микрокомандой ветвления. Значение метки на выходе
23 блока 1 равно нулю, если вторая микрокоманда не является микрокомандой вхождения в цикл или конечной микрокомандой контролируемого участка. Предположим, что сигналы на выходах 22 и 23 блока 1 равны нулю.
Тогда работа мультиплексора 4 блокируется, а мультиплексор 5 определяет значение контролируемого разряда.
При его единичном значении на выходе мультиплексора 5 сформирован единичный сигнал, который поступает на первый вход элемента И 16.По импульсу синхронизации с выхода 26 генератора
12 содержимое счетчика 9. становится равным единице.. При существовании нулевых сигналов на выходах 22 и 23 блока 1 работа устройства продолжается по описанному выше алгоритму.
При реализации последней микрокоманды контролируемого участка или микрокоманды вхождения в цикл сигнал на выходе 23 блока 1 равен единице.
Этот сигнал поступает на соответствующий вход элемента И 17. На другой вход элемента И 17 поступает сигнал с выхода элемента ИЛИ 15. Этот сигнал равен единице, если содержимое счетчика 9 отлично от нуля, и равен нулю в противном случае. В том случае, если на выходе элемента ИПИ 15 присутствует единичный сигнал,. что говорит о возникновении отказа при реализации контролируемого участка микропрограммы, на выходе элемента
И 17 сформирован единичный сигнал, который поступает на информационный вход триггера 8. По импульсу синхронизации с выхода 27 генератора 12 триггер 8 установлен в единичное состояние, в результате чего на выходе
30 устройства сформирован единичный сигнал отказа,а триггер 7 установлен в нулевое состояние. Работа устройства заблокирована. В том случае, если сигнал на выходе элемента ИПИ 15 равен нулю, элемент И 17 закрыт и работа устройства продолжается без изменений по описанному выше алгоритму, 1305679
В микрокомандах ветвления в поле логических условий записаны коды
1 номеров проверяемых логических условий. Сигнал на выходе 22 блока 1 равен единице. Работа мультиплексо5 ра 5 в этом случае блокируется, а мультиплексора 4 разрешается. Мультиплексор 4 осуществляет модификацию младшего разряда кода адреса микрокоманды перехода в соответствии с 10 реализуемой им логической функцией.
При считывании последней микрокоманды реализуемой микропрограммы алгоритм работы устройства полностью аналогичен описанному алгоритму на- f5 чальной фазы функционирования . После считывания в регистр 2 микроопераций кода конца работы устройства единичным сигналом с выхода 24.2 регистра
2 триггер 7 установлен в нулевое со- 20 стояние и нулевым сигналом с единичного выхода блокирует работу генератора 12 и всего устройства в целом.
Формула изобретения
Микропрограммное устройство управления с контролем, содержащее блок памяти микрокоманд, регистр микроопераций, регистр адре са, первый мультиплексор, коммутатор адреса,первый и второй триггеры, элемент И-НЕ, генератор тактовых импульсов и первый элемент ИЛИ, причем выход поля микроопераций блока памяти микрокоманд соединен с информационным входом регистра микроопераций, выход которого является выходом микроопераций устройства, выход признака конца работы регистра микроопераций соединен с первым входом первого элемента ИЛИ,а выход признака конца команды регистра микроопераций соединен с управляющим входом коммутатора адреса и входом синхронизации первого триггера, вход пуска устройства подключен к $-входу второго триггера, выход первого элемента ИЛИ соединен с К-входом второго триггера, единичный выход которого соединен с входом пуска генератора тактовых импульсов, первый выход генератора тактовых импульсов соединен с входом синхронизации регистра микроопераций, а второй выход генератора тактовых импульсов соединен с входом синхронизации регистра адреса, выходы поля логических условий блока памяти микрокоманд соединены с группой управляющих входов первого мультиплексора и входами элемента И-НЕ, вход кода значений логических условий устройства соединен с информационным входом первого мультиплексора,вход кода операции устройсТВВ подключен к первому информационному входу коммутатора адреса, выход поля модифицируемого разряда адреса блока памяти микрокоманд соединен с первым,улравляющим входом первого мультиплексора, выход которого и выход поля немодифицируемых разрядов
Э адреса блока памяти микрокоманд соединены с вторым информационным входом коммутатора адреса, выход которого соединен с информационным входом регистра адреса, выход регистра адреса соединен с адресным входом блока памяти микрокоманд, выход элемента И-HE соединен с информационным входом первого триггера, о т л и— ч а ю щ е е с я тем, что, с целью повышения достоверности функционирования устройства, оно содержит второй мультиплексор, счетчик, третий триггер, первый и второй элементы
И и второй и третий элементы ИЛИ,причем выход поля микроопераций блока
Ю памяти микрокоманд соединен с первым информационным входом второго мультиплексора, выход поля логических условий блока памяти микрокоманд соединен с вторым информационным входом я5 второго мультиплексора, выход поля первой метки блока памяти микрокоманд соединен с управляющим входом второго мультиплексора,и вторым управляющим входом первого мультиплексора, выход второгомультиплексора соединен с первым входом первого элемента И, выход поля второй метки блока памяти микрокоманд соединен с первым входом второго элемента И, выход которого соединен с информационным входом третьего триггера, первый выход генератора тактовых импульсов соединен с вторым входом первого элемента И, выход которого соединен с счетным входом счетчика, второй выход генератора тактовых импульсов соединен с входом синхронизации третьего триггера, единичный выход которого соединен с первым входом второго элемента ИЛИ,единичный выход первого триггера соединен с вторым входом второго элемента
ИЛИ, выход которого соединен с вторым входом первого элемента ИЛИ, и. является выходом отказа устройства, 1305679
ro соединен с вторым входом второго элемента И. выходы счетчика соединены с входами третьего элемента ИЛИ, выход котороСоставитель Д, Ванюхин
Техред Л.Олейник Корре кт ор Т. Колб
Тираж 673 Подписное
ВНИИПИ Государственного комитета СССР по делам изобретений и открытий
113035, Москва, Ж-35, Раушская наб., д.4/5
Производственно †полиграфическ предприятие, r.ужгород, ул.Проектная,4
Редактор Г. Гербер
Заказ 1452/46
) (71)