Микропрограммное устройство управления
Иллюстрации
Показать всеРеферат
МИКРОПРОГРАММНОЕ УСТРОЙСТВО УПРАВЛЕНИЯ, содержащее блок памяти микропрограмм, регистр адреса микрокоманд, регистр микрокоманд, генератор тактовых импульсов, триггер пуска и коммутатор адреса микрокоманд, причем группа выходов блока памяти микропрограмм соединена с группой информационных входов регистра микрокоманд, группа выходов кода микроопераций которого является группой управляющих выходов устройства , выход признака конца команды регистра микрокоманд соединен с управляющим входом коммутатора адреса микрокоманд , группа выходов которого соединена с группой информационных входов регистра адреса микрокоманд, группа выходов которого соединена с группой адресных входов блока памяти микропрограмм, вход пуска устройства соединен с входом установки в единицу триггера пуска, выход которого соединен с входом запуска генератора тактовых импульсов, первый и второй выходы которого соединены соответственно с входами синхронизации регистра адреса микрокоманд и регистра микрокоманд, j-й выход (J 1,2, ...,п, где п - количество немодифицируемых разрядов адреса микрокоманды ) немодифицируемого разряда адреса микрокоманды которого соединен с J-M информационным входом первой группы коммутатора адреса микрокоманд, вторая группа информационных входов которого является группой входов кода команды устройства , отличающееся тем, что, с целью сокращения оборудования, оно содержит элемент И, первую, вторую и третью группы m элементов И (гп 1,2,..., где m - количество анализируемых логических условий ), первую и вторую группы m триггеров, группу m коммутаторов логических условий , мультиплексор логических условий и дешифратор логических условий, причем выход признака конца работы регистра микрокоманд соединен с первым входом элемента И, второй вход которого соединен с вторым выходом генератора тактовых импульсов , выход элемента И соединен с входом € установки в ноль триггера пуска, группа выходов кода логических условий регистра миксл рокоманд соединена с группой управляющих входов мультиплексора логических условий и с группой входов дешифратора логических условий, стробирующий вход которого соединен с выходом признака задержки анализа логических условий регистра микрокоманд , выход признака проверки логических условий которого соединен с первыми входами гп элементов И третьей группы и со о: стробируюшим входом мультиплексора логических условий, i-й информационный вход СХ) которого (i 1,2, ..., m) соединен с выхосо со ;о дом i-ro коммутатора логических устовий группы, (т + 1)-й информационный вход мультиплексора логических условий соединен с выходом модифицируемого разряда адреса микрокоманды регистра микрокоманд, выход мультиплексора логических условий соединен с (п + 1)-м информационным входом первой группы коммутатора адреса микрокоманд , третий выход генератора тактовых импульсов соединен с первыми входами элементов И первой и второй групп, вторые входы которых соединены с соответствующими выходами дещифратора логических условий, третий вход i-ro элемента И первой группы соединен с первым ннформашиш
СОЮЗ СОВЕТСКИХ
СОЦИАЛИСТИЧЕСКИХ
РЕСПУБЛИК
ОПИСАНИЕ ИЗОБРЕТЕНИЯ
К А ВТОРСКОМ,Ф СВИДЕТЕЛЬСТВУ
ГОСУДАРСТВЕННЫЙ КОМИТЕТ СССР
ПО ДЕЛАМ ИЗОБРЕТЕНИЙ И ОТКРЫТИЙ (21) 3702126/24-24 (22) 15.02.84 (46) 23.07.85. Бюл. № 27 (72) С. Н. Ткаченко, В. С. Харченко, Г. Н. Тимонькин, М. А. Курносов и О. А. Танасийчук (53) 681.325 (088.8) (56) Авторское свидетельство СССР № 1029178, кл. G 06 F 9/22, 1981.
Авторское свидетельство СССР № 817714, кл. G 06 F 9/22, 1979. (54) (57) МИКРОПРОГРАММНОЕ УСТРОЙСТВО УПРАВЛЕНИЯ, содержащее блок памяти микропрограмм, регистр адреса микрокоманд, регистр микрокоманд, генератор тактовых импульсов, триггер пуска и коммутатор адреса микрокоманд, причем группа выходов блока памяти микропрограмм соединена с группой информационных входов регистра микрокоманд, группа выходов кода микроопераций которого является группой управляющих выходов устройства, выход признака конца команды регистра микрокоманд соединен с управляющим входом коммутатора адреса микрокоманд, группа выходов которого соединена с группой информационных входов регистра адреса микрокоманд, группа выходов которого соединена с группой адресных входов блока памяти микропрограмм, вход пуска устройства соединен с входом установки в единицу триггера пуска, выход которого соединен с входом запуска генератора тактовых импульсов, первый и второй выходы которого соединены соответственно с входами синхронизации регистра адреса микрокоманд и регистра микрокоманд, j é выход (j = 1, 2, ..., п, где п — количество немодифицируемых разрядов адреса микрокоманды) немодифицируемого разряда адреса микрокоманды которого соединен с
j-м информационным входом первой группы коммутатора адреса микрокоманд, вторая
„„Я0„„1168939 д (51)4 G 06 F 9/22 группа информационных входов которого является группой входов кода команды устройства, отличающееся тем, что, с целью сокращения оборудования, оно содержит элемент И, первую, вторую и третью группы
m элементов И (m = 1,2, ..., где п1 — количество анализируемых логических условий), первую и вторую группы m триггеров, группу m коммутаторов логических условий, мультиплексор логических условий и дешифратор логических условий, причем выход признака конца работы регистра микрокоманд соединен с первым входом элемеllта И, второй вход которого соединен с вторым выходом генератора тактовых импульсов, выход элемента И соединен с входом установки в ноль триггера пуска, группа выходов кода логических условий регистра микрокоманд соединена с группой управляюгцих входов мультиплексора логических условий и с группой в одов дешифратора логических условий, стробирующий вход которого соединен с выходом признака задержки анализа логических условий регистра микрокоманд, выход признака проверки логических условий которого соединен с первыми входами m элементов И третьей группы и со стробирующим входом мультиплексора логических условий, i-й информационный вход которого (i = 1, 2, ..., m) соединен с выходом i-ro коммутатора логических условий группы, (m + 1) -й информационный вход мультиплексора логических условий соединен с выходом модифицируемого разряда адреса микрокоманды регистра микрокоманд, выход мультиплексора логических условий соединен с (и + 1) -м информационным входом первой группы коммутатора адреса микрокоманд, третий выход генератора тактовых импульсов соединен с первыми входами элементов И первой и второй групп, вторив входы которых соединены с соотв«тству!(!шими выходами дешифратора логич««ких условий, третий вход 1-го элемента И п«рвой группы соединен с первым информапиоп!
168939
40 ным входом i-го коммутатора логических условий и является i-м входом логических условий группы устройства, второй информационный вход i-го коммутатора логических условий соединен с выходом i-ro триггера первой группы, вход установки в единицу которого соединен с выходом i-го элемента И первой группы, входы установки в ноль
i-x триггеров первой и второй групп соединены с выходом i-ro элемента И третьей группы, вход установки в единицу i-го
Изобретение относится к вычислительной технике и может быть использовано в устройствах управления ЭВМ.
Цель изобретения — сокращение объема оборудования устройства путем сокращения объема блока памяти микропрограмм.
На фиг. 1 изображена функциональная схема устройства; на фиг. 2 и 3 — фрагменты граф-схем соответственно алгоритма нерасщепленной и расщепленной микропрограмм.
Устройство содержит блок 1 памяти микропрограмм, регистр 2, адреса микрокоманд, регистр 3 микрокоманд, первую 4 и вторую 5 группы триггеров, дешифратор 6 логических условий, мультиплексор 7 логических условий, генератор 8 тактовых импульсов, триггер 9 пуска, коммутатор 10 адреса, группу коммутаторов 11.1 — 11.m логических условий, группы 12.1 — 12.m, 13.1 — 13.m, 14.1—
14 m элементов И, элемент И 15, группу 16 входов кода команды, вход 17 пуска, группу 18 входов логических условий, группу 19 управляющих выходов, выход 20 признака конца работы регистра микрокоманд, выход
21 признака конца команды регистра микрокоманд, группу 22 выходов немодифицируемых разрядов адреса регистра микрокоманд, группу 23 выходов кода логических условий регистра микрокоманд, выход 24 признака задержки анализа логических условий регистра микрокоманд, выход 25 признака проверки логических условий, выход 26 модифицируемого разряда адреса регистра микрокоманд и выходы 27 — 30 генератора тактовых импульсов.
Предлагаемое устройство работает следующим образом.
Рассмотрим его функционирование по тактам в пределах одного рабочего цикла.
Импульс запуска поступает на вход 17 устройства, устанавливая триггер 9 пуска в триггера второй группы соединен с выходом i-го элемента И второй группы, второй вход которого соединен с четвертым выходом генератора тактовых им пульсо в, единичный выход i-го триггера второй группы соединен с третьим входом i-ro элемента И третьей группы и с первым управляющим входом i-го коммутатора логических условий, второй управляющий вход которого соединен с нулевым выходом i-го триггера второй группы. единичное состояние. Единичный сигнал с выхода триггера 9 запускает генератор 8, который начинает последовательно формировать тактовые импульсы на выходах 29 и 30.
Первому такту рабочего цикла соответствует сигнал на выходе 27 генератора 8.
Тактовый импульс с выхода 27 поступает на вход синхронизации регистра 3, обеспечивая занесение в данный регистр кода микрокоманды, установленного на выходе блока 1.
Одновременно данный тактовый импульс поступает на вход элемента И 15, который однако в данном цикле (и последующих, за исключением вспомогательного) за крыт нулевым сигналом с выхода 20 регистра 3, так что сброс в «О» триггера 9 и соответственно останов устройства не происходит.
Второму такту соответствует сигнал на выходе 28 генератора 8. В данном такте в зависимости от состояния признаков g и р возможны следующие три режима и ссютветствующие им действия.
В первом режиме g = О и р = О. В данном случае позиционный код на выходе дешифратора 6 не вырабатывается, т.е. элементы 12.1 — 12.m и 13.1 — 13 m находятся в закрытом состоянии и блокируют прохождение тактового импульса на вход соответствующих триггеров 4.1 — 4.m, 5.1 — 5.m.
Информация на входах мультиплексора 7 не меняется и модифицируемый разряд передается с выхода 26 на выход без изменения, т.е. в данном режиме модификация адреса следующей микрокоманды не происходит и осуществляется режим последовательной выбор ки м и кр оком а нд.
Во втором режиме g = 1 и р = О. В дан ном случае дешифратор 6 под действием единичного управляющего сигнала, поступающего с выхода 24, осуществляет дешифрацию кода логических условий, поступающего на группу его информационных входов и
1168939
3 формирует на выходе позиционный код, содержащий единичное значение в одном из разрядов. Единичный сигнал с i-го (i = 1, m) выхода дешифратора 6 поступает на вход элементов И 12.i и 13.i. На второй вход элементов И 121 и 13л поступает тактовый импульс с выхода 28 генератора 8, который разрешает установку соответствующего значения логического условия с отложенной проверкой, поступающего с группы 18 входов устройства, триггера 4.i, и вызывает установку единичного значения в триггере 5.i
На этом действие тактового импульса заканчивается. Независимо от возможного изменения информации на входах значений логических условий мультиплексора 7 модифицируемый разряд адреса следующей микрокоманды передается с выхода 26 на выход мультиплексора без изменения (так как р = О), т.е. осуществляется режим последовательной выборки микрокоманд.
В третьем режиме g = 0 и р = 1. В данном случае осуществляется проверка логического условия и модификация адреса следующей микрокоманды. Единичный сигнал
20 поступает на управляющий вход мультиплексора 7, обеспечивая тем самым реализацию модификации адреса следующей микрокоманды. Модифицируемый разряд поступает по выходу 26 на мультиплексор 7. Непосредственное значение i-й (i = 1, m) логической переменной, определяющее порядок модификации адреса, поступает на соот- р ветствующий вход мультиплексора 7 через соответствующий коммутатор 11.i. Если в предшествующих циклах значение данной логической переменной запоминалось в триггере 41, то на выходе коммутатора 11 1 имеет место эта переменная. Прохождение данного З сигнала через коммутатор 11.i обеспечивается единичным сигналом на прямом выходе триггера 5.i Значение логической переменной, поступающее с группы 18 входов на соответствующий вход коммутатора 111, в 40 данном случае блокируется нулевым сигналом на его другом входе, который поступает с инверсного выхода триггера 5.i.
Таким образом, обеспечивается возможность запоминания логических условий с отложенной проверкой в триггерах 4.1 — 4.m до момента проверки. В момент проверки таких условий проверяется то значение, которое было сформировано ранее, независимо от того, в каком состоянии находится соответствующая ему переменная в данный мо- gp мент.
Значения логических переменных не запоминаются в триггерах 4.1 — 4.m, если они формируются и используются в пределах одного цикла, т.е. являются M гновенными.
В этом случае значение i-й мгновенной логической переменной поступает на группу 18 входов и через соответствующий коммута4 тор 11.i поступает на соответствующий вход мультиплексора 7. Прохождение значения
i-й мгновенной логической переменной через коммутатор 11л обеспечивается единичным сигналом с инверсного выхода триггера 5.; . Этот разряд находится в нулевом состоянии, так как запоминание значения логической переменной с отложенной проверкой в триггерах 4.1 — 4.m не проводилось, а соответственно не устанавливались триггеры 5.1 — 5 m, отмечающие факт готовности данного логического условия для проверки.
Третий такт определяется сигналом на выходе 29 генератора 8. Тактовый импульс поступает на синхровход регистра 2 адреса микрокоманд, обеспечивая занесение адреса следующей микрокоманды, установленного на выходе коммутатора 10. Установка адреса микрокоманды на выходе коммутатора 10 происходит следующим образом. В первом такте первого цикла реализации каждой микропрограммы в регистр 3 заносится микрокоманда, расположенная в блоке 1 по нулевому адресу. Это обеспечивается тем, что в исходном состоянии регистр 2 адреса микрокоманд находится в нулевом состоянии. Данная микрокоманда является исходной и содержит единичное значение в разряде, соответствующем выходу 21 регистра 3.
Единичный сигнал с данного выхода поступает на прямой управляюгций вход коммутатора 10, обеспечивая возможность передачи с группы 16 входов на его выход кода команды, являющегося адресом начала микропрограммы ее реализации. Код команды должен быть установлен на группе 16 входов к началу третьего такта исходного цикла. Сигнал с выхода 21 одновременно поступает на инверсный управляющий вход коммутатора 10, блокируя подачу на его выход адреса следующей микрокоманды с группы 22 выходов регистра 3 в течение данного цикла. Очередная и все последующие микрокоманды микропрограммы содержат в разряде, соответствующем выходу 21 регистра
3, нулевое значение. Нулевой сигнал поступает на прямой управляющий вход коммутатора 10, блокируя подачу кода операции на информационные входы регистра 2. Одновременно данный сигнал поступает на управляющий вход коммутатора 10, обеспечивая возможность подачи через него адреса очередной микрокоманды на информационные входы регистра 2 с группы 22 выходов регистра 3.
Четвертый такт определяется сигналом на выходе 30 генератора 8. Тактовый импульс поступает на входы элементов И 14.!в
14.m, которые используются для установки в нулевое состояние соответствующего триггера 4.i и 5.i. Единичный сигнал с прямого выхода триггера 5.i поступает на со1168939
5 ответствующий вход элемента 14 1. Если, кроме того, на другом входе элемента 14.i установлен единичный сигнал с выхода 25 регистра 3, т.е. в данном цикле была осуществлена проверка хранящегося в триггерах 4.1 — 4.m значения логических условий, то под действием тактового импульса элемент И 14.i открывается и на его выходе появляется единичный сигнал. Данный сигнал поступает на вход установки нулевого состояния триггеров 4.1 — 4.m и 5.1 — 5 m, сбрасывая i-й разряд триггеров 41 и 5 i в ноль. Таким образом, если во втором такте данного цикла осуществлялась проверка логического условия с отложенной проверкой, то в четвертом такте оно обнуляется.
Во всех циклах реализации микропрограммы устройство функционирует аналогично. В последнем цикле реализации микропрограммы в регистр 3 заносится микрокоманда, содержащая нулевое значение адреса следующей микрокоманды и единицу в разряде, соответствующем выходу 20.
Единичный сигнал с данного выхода открывает элемент И 15. Поэтому в первом такте следующего (вспомогательного) цикла тактовый импульс с выхода 27 генератора 8 через данный элемент поступает на вход установки нулевого состояния триггера 9 пуска, сбрасывая его в ноль. Нулевой сигнал с прямого выхода триггера 9 выключает генератор 8 и устройство переходит в исходное состояние. С приходом очередного импульса запуска на вход 17 может быть инициировано выполнение очередной микропрограммы аналогично описанному.
Таким образом, предлагаемое устройство управления реализует как расщепленные так и нерасщепленные микропрограммы.
При реализации расщепленных микропрограмм необходимость в запоминании логических условий отсутствует, так как логические условия формируются и используются в течение одного цикла. Схемно это реализуется так, что значение логической переменной, поступая на вход логических условий устройства через соответствующий коммутатор, непосредственно поступает на мультиплексор, определяя порядок модификации адреса следующей микрокоманды микропрограммы. Однако при реализации расщепленных микропрограмм требуется значительно больший объем блока памяти микропрограмм.
Ь
При реализации нерасщепленных микропрограмм существует необходимость в запоминании логических условий, которые могут формироваться в одном цикле, а использоватьсяя в другом. Для за пом ина ния данных логических условий вводится соответствующая группа триггеров 4.1 — 4 m, а для идентификации факта запоминания логических условий и обеспечения возможности их коммутации на мультиплексор вводится группа триггеров 5.1 — 5.m. Введение данных групп триггеров и соответствующих им логических схем не оказывает сушественного влияния на экономичность устройства, так как нерасшепленная микропрограмма требует значительно меньшего объема блока памяти микропрограмм. На фиг. 2 приведен фрагмент граф-схемы алгоритма, в которой логическое условие x) входит в распределение сдвигов А; (вырабатывается оператором А;), а используется после выполнения оператора А . Если в устройстве управления не предусмотрен элемент для запоминания данного логического условия, то к моменту выполнения микрокоманды А>, которая использует условие x), оно будет потеряно, что может привести к нарушению порядка выполнения микрокоманд. Чтобы исключить возникновение подобных ситуаций, не усложняя устройство управления элементами для запоминания таких логических условий, осушествляют их перенос к микрокоманде выработки (расшепление) соответствующего оператора по значениям логической переменной. Тогда микропрограмма преобразуется так, как это показано на фиг. 3, где осушествлен перенос логического условия х) к оператору его выработки А1 (осушествлено расщепление оператора. А,).
Очевидно, что при реализации расщепленной микропрограммы нет необходимости в запоминании и хранении мгновенных логических условий. Однако при увеличении числа условных вершин метод расщепления микропрограмм приводит к значительному увеличению длины программы за счет появления дополнительного числа одинаковых микрокоманд в линейных участках соседних ветвей микропрограммы. Поэтому расщепленная микропрограмма требует по сравнению с исходной значительно большего объема блока памяти и снижает экономичность устройства.
1168939
1168939
Г )g ри8. Г
8 /
° ° !
1 г-, Составитель Ю. Ланцов
Техред И. Верес Корректор Л. Бескид
Тираж 710 Подписное
ВНИИПИ Государственного комитета СССР по делам изобретений и открытий
l l3035, Москва, Ж вЂ” 35, Раушская наб., д. 4/5
Филиал ППП «Патент», г. Ужгород, ул. Проектная, 4
Редактор P. Цицика
3а ка з 4 614/42