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

 

МИКРОПРОГРАММНОЕ УСТРОЙСТВО УПРАВЛЕНИЯ, содержа Щее регистр адреса , первый дешифратор, блок памяти, регистр микрокоманд, блок проверки логических условий, сумматор по модулю два, генератор тактовых импульсов , причем выходы кода операций устройства соединены с первой Группой информационных входов регистра адреса , выходы которого соединены с входами первого дешифратора, выходы первого дешифратора соединены с адресными входами блока памяти, первый и второй выходы генератора тактовых импульсов соединены соответственно с управляющим входом регистра адреса и управляющим входом блока памяти , выходы которого соединены с входами регистра микрокоманд, выходы микроопераций немодифицированной части адреса, модифицируемой части адреса и некоммутируемых логических условий регистра микрокоманд соединены соответственно с группой выходов микроопераций устройства, с входами немодифицируемой части адреса информационных входов второй группы регистра адреса, первой группы входов сумматора по модулю два, группы входов проверки логических условий, входы логических условий соединены с второй группой входов блока проверки логических условий, выходы которого соединены с второй группой входов сумматора по модулю два, отличающееся тем, что, с целью сокращения объема оборудования , в него введены буферный регистр, .второй дешифратор, коммутатор и триггер пуска, причем входы кода опера- sg ций устройства соединены с входами (Л буферного регистра, выходы которого соединены с входс1ми второго дешифратора , выходы второго дешифратора соединены с управляющими входами ком мутатора, выходы которого соединены 5 с третьей группой входов блока проверки логических условий, выходы коммутируемых логических условий и выходы микроопераций Конец операции ел регистра микрокоманды соединены со сд ответственно с информационными вхрдами коммутатора и нулевым входом триггера пуска, выход которого соеди s| нен с управляющим входом генератора, go вход запуска устройства соединен с единичным входом триггера, выхода сумматора по модулю два соединены с входами модифицируемой части адреса второй группы информационных входов-регистра адреса.

„.Я0„„1059573 А

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

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

РЕСПУБЛИК

MSD G 06 F 9 22, G 06 F 11 00

ОПИСАНИЕ ИЗОБРЕТЕНИЯ /,",;

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

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

ПО ДЕЛАМ ИЗОБРЕТЕНИЙ И ОТКРЫТИЙ (2 t ) 3467444/18-24 (22) 08.07 ° 82 (46) 07.12 ° 83. Бюл. 9 45 (72) В.С.Харченко, Г.Н.Тимонькин, Н.П.Благодарный, С.Н.Ткаченко и В.Л.Кальницкий (53) 681. 325 (088. 8) (56) 1. Авторское свидетельство СССР

Р 456271, кл. G 06 F 9/22, 1973.

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

М 467350, кл. G 06 F 9/22, 19733. Авторское свидетельство СССР по заявке Р 2633719/24,кл. G 06 F 9/22, 1978 (прототип). (54)(57) МИКРОПРОГРАММНОЕ УСТРОЙСТВО

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

105 9573

Изобретение относится к вычисли- тельной технике и может быть использовано при проектировании управляющих устройств ЭВМ и вычислительных. систем с микропрограммным управлениS ем.

Известны микропрограммные устройства управления, содержащие блок памяти микрокоманд, узел формирования адреса, регистр микрокоманд, регистр адреса, дешифратор Г1 ) и 2j, Недостатком указанных устройств является избыточность блока памяти микрокоманд.

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

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

Недостатком. прототипа является большая избыточность блока памяти.

B прототипе разрядность поля логических условий формируемых микро- 60 команд определяется; общим количеством проверяемых логических условий, хотя при выполнении каждой конкретной микропрограммы проверяются не все, а влояне определенное количество логи- 65 веских условий, существенно меньшее общего чисЛа логических условий, проверяемых устройством в процессе функционирования. Следовательно, для хранения информации об этих логических условиях необходима существенно меньшая разрядность поля логических условий в формате микрокоманд, формируемых устройством.

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

Цель изобретения - сокращение объема оборудования устройства.

Поставленная цель достигается тем, что в микропрограммное устройство управления, содержащее регистр адреса, первый дешифратор, блок памяти, регистр микрокоманд, блок проверки логических условий, сумматор по модулю два, генератор тактовых импульсов, причем выходы кода операций устройства соецинены с первой группой инфор-. мационных входов регистра адреса, выходы которого соединены с входами первого дешифратора, выходы первого дешифратара соединены с адресными входами блока памяти„ первый и второй выходы генератора тактовых импульсов соединены соответственно с управляющим входом регистра адреса. и управляющим входом блока памяти, выходы которого соецинены с входами регистра микрокоманд, выходы микроопераций не.— модифицируемой части адреса, модифицируемой части адреса и некоммутируемых логических условий регистра микрокоманд соединены соответственно с группой выходов микроопераций устройства, с входами немодифицируемой части адреса информационных входов второй группы регистра адреса, первой группой входов сумматора по модулю два с первой группой входов блока проверки логических условий, входы логических условий устройства соединены с второй группой входов блока проверки логических условий, выходы которого соединены с вторыми входами сумматора по модулю два, дополнительно введены буферный регистр, второй дешифратор, коммутатор и триггер пуска, причем входы кода операций устройства соединены с входами буферного регистра, выходы которого соединены с входами второго дешифратора, выходы второго дешифратора соединены с управляющими входами коммутатора, выходы которого соединены с третьей группой входов блока проверки логических условий, выходы коммутируемых логических условий и выход микроопераций "Конец операций" регистра микрокоманд соединены соответственно с информационнйми входами коммутатора и нулевым входом триггера пуска, вы1059573 ход которого соединен с управляющим входом генератора, вход запуска устройства соединен с единичным входом триггера, выходы сумматора по модулю два соединены с входами модифицируемой части адреса второй группы

5 информационных входов регистра адреса.

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

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

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

Сущность изобретения состоит в уменьшении объема оборудования путем сокращения поля логических условий.

Разрядность формируемых устройством-прототипом микрокоманд является

25 суммой М„ множества логических условий, которые проверяются при выполнении каждой микрокоманды, а суммирование распространяется на число микропрограмм, реализуемых устройством. 30

Так как при выполнении j-й микропрограммы проверяется только часть логических условий, то для их хранения необходимо поле меньшей раэ2 рядности, чем для выполнения всех 35 микропрограмм. Тогда необходимая разрядность поля логических условий, а следовательно, и формат микрокоманд, уменьшится.

Так как разрядность поля У2 мень- 40 ше разрядности поля ., то для

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

В качестве оператора отображения выбирается код операции. Это вызвано тем, что код операции определяет

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

С целью уменьшения сложности ком мутатора логические условия, которые проверяются в большинстве микрокоманд, относятся к классу некоммутируемых, а остальные логические условия - к классу коммутируемых логических условий. Код некоммутируемых логических условий поступает с поля некоммутируемых логических условий регистра микрокоманд непосредственно 60 на блок проверки логических, условий, а код коммутируемых логических условий с поля коммутируемых логических условий поступает в этот блок через коммутатор. 65

На фиг.1 приведена функциональная схема устройства, на фиг.2 — фрагмент функциональной схемы, на которой приведены пример реализации коммутатора и блока проверки логических условий на уровне стандартных элементов. функциональная схема устройства (фиг.1 ) состоит из регистра 1 адреса, первого дешифратора 2, блока 3 памяти, регистра 4 микрокоманд с полями: 4.1. — микроопераций, 4.2. немодифицируемой части адреса, 4.3. модифицируемой части адреса, 4.4. некоммутируемых логических условий, 4.5. - коммутируемых логических условий, буферного регистра 5, второго дешифратора б, формирователя 7 адреса сумматора по модулю два, триггера

8 пуска, генератора 9, коммутатора

10, блока 11 проверки логических условий 11. Кроме того, на фиг.1 позициями 12-15 обозначены входы кода операций, вход пуска, выходы микроопераций, входы значений логических условий устройства соответственно. Коммутатор 10 фиг.2) состоит из первого шестого элементов И 16-21. Позициями

22-25 обозначены входы коммутатора

10, 26-31 — выходы коммутатора 10, 32-34 — выходы некоммутируемых логических условий поля 4 ° 4. регистра 4 микрокоманд.. Блок 11 проверки логических условий (фиг.2! состоит из седьмого — пятнадцатого элементов И

35-43 соответственно. Кроме того, позициями 44- 52 обозначены шины сигналов логических условий X - М9 .

Назначение основных узлов устройства состоит в следующем. Регистр 1 адреса служит для хранения адреса очередной микрокоманды.

Первый дешифратор 2 служит для выбора линейки при обращении к блоку

3 памяти, который предназначен для хранения микрокоманд. Считывание информации иэ него синхронизированно тактовыми импульсами, поступающими с первого выхода генератора 9. Регистр

4 микрокоманд с полями 4.1. — 4.5. предназначен для хранения микрокоманд, считанных из блока 3 памяти.

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

Сумматор 7 по модулю два выполняет функцию модификации адресной части очередной микрокоманды. Триггер 8 предназначен.для управления пуском и остановом устройства. Генератор 9 служит для обеспечения синхронизации записи информации в регистр 1 и считывания микрокоманд иэ блока 3 памяти.

1059573

Коммутатор 10 предназначен для коммутации логических условий в соответствии с кодом операции, преобразуемым дешифратором б. Блок 11 проверки логических условий. используется для маскирования значений логических условий (выделения значений требуемых логических условий, пришедших на входы 15 в зависимости от значений кода логических условий ).

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

После прихода на вход 13 сигнала

"Пуск" триггер 8 разрешает выдачу тактовых импульсов от генератора 9. 15

По первому импульсу код (номер) операции через вход 12 поступает на регистр 1 и задает начальный адрес соответствующей линейки в блок 3 памяти. Преобразованный в дешифраторе 2 Я код операции возбуждает шину соответствующей линейки блока 3 памяти. По второму тактовому импульсу, пришедшему с генератора 9, микрокоманда считывается из блока 3 памяти и запи- 25 сывается в регистр 4 микрокоманд. На выходы 14 с поля 4.1 поступает код микрооперации. Немодифицируемая часть адреса, хранимая в поле 4.2, подается на регистр 1, а модифицируемая 3() часть адреса с поля 4.3 подается на сумматор 7 по модулю два. С поля

4.4 в блок 11 проверки логических условий поступает код некоммутируемых логических условий. Код коммутируемых логических условий,содержащийся в поле 4.5, поступает на коммутатор 10. Одновременно с записью в регистр 1 код операции асинхронно записывается в буферный ре- @ гистр 5. Этот код затем возбуждает определенную выходную шину дешифратора б, связанную с соответствующим управляющим входом коммутатора 10, и последний на время выполнения одной микропрограммы коммутирует разряды кода, хранимого в поле 4.5, на требуемые входы блока 11, задавая таким образом код-маску оставшихся (коммутирувмых )логических условий.

Значения логических условий, поступающих на вход 15, маскируются в блоке 11 объединенным кодом, состоящим из двух частей, поступающих с поля 4.4 и выхода коммутатора 10. Выделенные в блоке 11 значения логических условий модифицируют затем переменную часть, адреса, например, путем суммирования по модулю два в блоке 7. Модифицированная и немодифицируемая части адреса записываются по 60 очередному тактовому импульсу в регистр 1, а по сдвинутому на время записи информации в регистр 1 импульсу с первого выхода генератора 9 из блока 3 считывается очередная микроко- 65 манда. Далее устройство функционирует аналогично рассмотренному выше алгоритму. После считывания последней микрокоманды данной микропрограммы сигналом "Конец операции" производится обнуление триггера 8, который запрещает выдачу импульсов генератором 9 до прихода очередного кода операций.

Рассмотрим пример конкретного выполнения блоков 10 и 11 на уровне стандартных элементов и алгоритм их работы при выполнении арифметических операций.

B табл.1 приведены данные о логических условиях, которые проверяются в микрокомандах сложения, вычитания, умножения и деления. Всего в этих четырех микропрограммах встречается 9 логических условий х -х9. Звездочками отмечены логическйе условия,проверяемые при выполнении соответствующих операций.

Таблица 1

Операция

Логическое условие

2 3 4 6 ц 9

Сложение

1Вычитание Мумножение

Деление +

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

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

Отыскивается микропрограмма, в которой проверяется наибольшее число логических условий.

1059573

Логическое условие

Операция

1 2 3 4 5 Ь 7 х8 х9

«15

Сложение

Вычитание +

Умножение

Деление

Сложение Ф

Вычитание + +

\ ь%) %) +

Умножение

Деление

B преобразованной согласно п.1 таблице выбираются и первых столбцов.

Остальные логические условия переносятся в h первых столбцов, при этом необходимо, чтобы число коммутируемых столбцов было минимальным.

В соответствии с этим алгоритмом преобразуют табл.1 в табл.2.

Т аблица 2

Для этого столбцы табл.1 переставляют в порядке убывания число звездочек в столбцах слева-направо. При этом слева сгруппируются столбцы, со-35 ответствующие логическим условиям х., :1 1

2 х 3g x5/ х 7f которые наиболее то встречаются в микропрограммах.

Звездочки, соответствующие логическим условиям х,х, и х, х9, переносят 0

Р ЯУ в третий и второй столбцы соответственно (эта операция показана на таблицах стрелками j. °

В результате получают табл.3. т аблица 3

Операция Логическое условие

1 2 3 5 1 + 6 8 Я5() В этой таблице пунктирными стрелками показан порядок коммутации разрядов при выполнении операции умножения и деления, Таким образом, вместо

9-разрядного кода логических условий, в предлагаемом устройстве хранится

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

4. 4. (выходы 32-34 соответственно ), а разряды, соответствующие логическим условиям х,х, х 9 и х3,x рх группируются в поле 4.5. (выходй 22 и 23 соответственно ). Выходы 32-34 поля некоммутируемых логических условий подключаются к входам элементом И

35-37 блока 11 проверки логических условий, на информационные входы которых поступают значения логических условий х х х с входа 15 через шины 50-52 соответственно.

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

4 ° 5 проходят через элементы И 18 и

19 на входы элементов И 40 и 41 спответственно. Вторые входы этих элементов 48 и 47 подключены к входам логических условий х > и х. В результате . происходит маскирование этих логических условий на элементах И 40, 41.

Если выполняется операция умножения, то на выходе 24 дешифратора б (входе коммутатора 10 ) появляется единичный сигнал, который в течение всей микропрограммы умножения разрешает прохождение информации через элементы И 1б, И 21. Поэтому первый разряд кода поля 4,5 через элемент И

1б поступает на элемент И 38, соответствующий логическому условию х, а второй разряд = через элемент И

21 — на элемент И 43, соответствующий логическому условию х4. Следовательно, при выполнении микропрограммы умножения в поле 4 ° 5 задается код маска логических условий хб,х .

При выполнении операции деления единичный сигнал присутствует на вхо.де 25 коммутатора 10, открывая элементы И 17, 20, которые разрешают прохождение кода маски логических условий х и х8 соответственно. Этот код затем поступает на элементы И 39, 42, на информационные входы которых подаются значения логических условий х и х 8 с входа 15.

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

1059573

1059573

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

Редактор A.Âëàñåíêo Техред М.Надь . КорректорА.Тяско

Заказ 9842/53 Мираж 706 Подписное

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

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

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

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

 

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