Микропрограммное устройство управления
Иллюстрации
Показать всеРеферат
СОЮЗ СОВЕТСКИХ
СОЦИАЛИСТ ИЧЕСНИХ
РЕСПУБЛИН (!9) (И) (511 С 06 F 9/22
ОПИСАНИЕ ИЗОБРЕТЕНИЯ
Н ABT0PCH0MV СВИДЕТЕЛЬСТВУ (21) 3519429/18- 24 .:,(22) 08. 12. 82 (46) 07. 04. 84. Бюл. И- 13 (72) Б.М. Дворецкий (53) 681.325 (088.8) ГОСУДАРСТВЕННЫЙ НОМИТЕТ СССР .IlO ДЕЛАМ ИЗОБРЕТЕНИЙ И ОТНРЬГГИЙ (56) 1. Хассон С. Микропрограммное управление. М., "Мир", 1975, с. 9, рис. 6.2.
2. Авторское свидетельство СССР
Ф 934473, кл. G 06 F 9/22, (прототип) . (5 ) (57) 1. МИКРОПРОГРАММНОЕ УСТРОЙСТВО УПРАВЛЕНИЯ, содержащее блок памяти микрокоманд, выходы старших .разрядов адреса которого соединены со старшими разрядами первого информационного входа регистра адреса микрокоманд, выход которого сойди-нен с адресным входом блока памяти микрокомаид, дешифратор переключения микрооперации, первый мультиплексор и элемент И, о т л и ч а ющ е е с я тем, что, с целью повы,шения его быстродействия и расширения функциональных воэможностей за счет переключения микроопераций в зависимости от условий ветвле ния, введены регистр модификации микрокоманды, блок условных переходов, второй и третий мультиплексоры, группу дешифраторов микроопераций, (3 элемент задержки и дешифратор модификации микрокоманды, причем выходы старших разрядов адреса блока памяти микрокоманд соединены с первым информационным входом первого мультиплексора, выход которого соединен с информационным входом регистра модификации микрокоманды, I выход которого соединен с первым информационным входом второго мультиплексора, второй информационный вход которого соединен со вторым информационным входом первого мультиплексора, первым информационным входом третьего мультиплексора и выходом блока условных переходов, выходы младших разрядов адреса блока памяти микрокеманд соединены с вторым информационным входом третьего мультиплексора, выход которого соединен с младшими разрядами первого информационного входа регистра адреса микрокоманд, выход второго мультиплексора соединен с входом а
:дешифратора переключения микроопераций, выход микроопераций блока памяти микрокоманд соединен с информационными входами дешифраторов микроопераций группы, выходы которых являются выходами устройства, входы блокировки дешифраторов микроопераций группы соединены с соответствующими выходами дешифратора переключения микроопераций, выход поля ветвлений блока памяти микрокоманд соединен с первым входом блока условных переходов, второй вход которого является входом условий ветвления устройства, два разряда выхода поля ветвления блока памяти микрокоманд соединены с входом дешифратора модификации йикрокоманд, первый, второй и третий выходы которого соединены с управляющими входами первого, второго и третьего мультиплексоров соответственно, выход бита модификации микрокоманд блока памяти микрокоманд через элемент задержки соединен с первым входом элемента И, второй вход которого
1084793 соединен с тактовыми входом устройст- ва и с входом синхронизации регистра адреса микрокоманд, а выход - с входом синхронизации регистра модификации микрокоманд, вход кода операции устройства соединен со вторым информационным входом регистра адреса микрокоманд.
2. Устройство по п.1, о т л ич а ю щ е е с я тем, что блок условных переходов содержит группу мультиплексоров ветвления и группу
Изобретение относится к вычислительной технике, в частности к проектированию процессоров с микропрограммным управлением.
Известно микропрограммное устройство управления, содержащее память микрокоманд, иа вход которой через дешифратор подключен регистр адреса мнкрокоманды, регистр микрокоманд, элементы задержки, дешифраторы микроопераций и узел условных переходов (1) .
Недостатком этого микропрограммного устройства является отсутствие возможности многофункционального использования одних и тех же полей микрокомандного слова.
Наиболее близким к изобретению по технической сущности является микропрограммное устройство управо пения, содержащее блок памяти микрокоманд, вход которого соединен с выходом адресного регистра, регистр признака результата, блок операций, первый дешифратор и блок регистров, причем первый и второй выходы блока памяти микрокоманд соединены с одноименными входами блока операций, первый выход которого соединен с входом блока регистров, первый выход которого соединен с третьим входом блока операций и с первым входом адресного регистра, второй вход
: которого соединен с третьим выходом .блока памяти микрокоманд, четвертый вход блока операций соединен с выхо-! .дом регистра признака результата, первый вход которого соединен с выходом первого дешифратора. Кроме элементов И, первые входы которых соединены с выходами соответствующих мультиплексоров ветвления, вторые входы соединены соответственно с первым входом блока условных переходов и с управляющими входами мультиплексоров ветвления, информационные входы которых соединены соответственно с вторым входом блока, а выходы элементов И соединены с соответствующими выходами блока условных переходов.
2 того, устройство содержит второй дешифратор, элемент И, элемент ИЛИ и коммутатор, причем вход второго дешифратора соединен с четвертым выходом блока памяти микрокоманд, первый выход второго дешифратора соединен с управляющим входом коммутатора и с первым входом эле, мента ИЛИ, второй вход которого
10 соединен с вторым вьиодом второго дешифратора, а выход — с первым входом элемента И, второй вход которого соединен с вторым выходом блока операций, а выход — с третьим
15 входом регистра признака результата, первый вход коммутатора соединен с выходом блока регистров, второй вход коммутатора соединен с частью разрядов второго выхода
2О блока памяти микрокоманд, другая часть разрядов которого соединена с входом первого дешифратора, выход коммутатора соединен с вторым входом регистра признака результа2S та, а третий выход второго дешифратора соединен с пятым входом блока операций.
В этом устройстве с целью использования некоторого поля по различным назначениям вводится дополнительное поле, код в котором показывает на ту функцию; которая отводится основному микрооперацион- ному полю в данной микрокоманде..
В этом случае число функций использования некоторого микрооперационного поля составит 2 " где 1 .:количество разрядов дополнительного поля (2) .
4793
3 108
Недостатком известного устройства является низкое быстродействие при получении окончательной микрооперации. Действительно, время получения микрооперации 1 о на выходе устройства относительно появления адреса микрокоманды на адресном коде блока памяти микрокоманд в этой устройстве составляет и где,, — время выборки информации из блока памяти микрокоманд;
15 время дешифрации дополнительного поля; и С1р — время стробирования дешифратора микрооперации основного микрооперационного поля..
Кроме того, недостатком являются недостаточно широкие функциональные возможности. Это объясняется тем, что в нем отсутствует возмож25 ность в зависимости от условий ветвления осуществлять условное подключение того или иного дешифратора элементарных микроопераций к многофункциональному микрооперационному полю. Причем наличие дополнительного поля, указывающего на назначение некоторого микрооперационного поля, также как и в известном (11, приводит к неэффективному использованию разрядов микрокомандного слова. 35
Цель изобретения — повышение быстродействия устройства микропрограммного управления и расширение его функциональных возможностей за счет переключения микроопераций в 4О зависимости от условий ветвления.
Поставленная цель достигается тем, что в микропрограммное устройство управления, содержащее блок памяти микрокоманд, выходы старших разрядов адреса которого соединены со старшими разрядами первого информационного входа регистра адреса микрокоманд, выход которого сое динен с адресным входом блока па- 5О мяти микрокоманд, дешифратор переключения микроопераций, первый муль. типлексор и элемент И, введены. регистр модификации микрокоманды, блок условных переходов, второй и 55 третий мультиплексоры, группу дешифраторов микроопераций, элемент задержки и дешифратор модификации микрокоманды, причем выходы старших разрядов адреса блока памяти микрокоманд соединены с первым информационным входом первого мультиплексора, выход которого соединен с информационным входом регистра модификации микрокоманды, выход которого соединен с первым информационным входом второго мультиплексора, второй информационный вход которого соединен со вторым информационным входом первого мультиплексора,выходом блока условных переходов, выходы младших разрядов адреса блока памяти микрокоманд соединены с вторым информационным входом третьего мультиплексора,выход которого соединен с младшими разрядами первого информационного входа регистра адреса микрокоманд выход второго мультиплексора соединен с входом дешифратора переключения микроопераций, выход микроопераций блока памяти микрокоманд соединен с информационными входами дешифраторов элементарных микроопераций группы, выходы которых являются выходами устройства, входы блокировки дешифраторов элементарных микроопераций группы соединены с соответствующими выходами дешифратора переключения микроопераций, выход поля ветвлений блока памяти микрокоманд соединен с первым входом блока условных переходов, второй вход которого является входом условий ветвления устройства, два разряда выхода поля ветвления блока памяти микрокоманд соединены с входом дешифратора модификации микрокоманд, первый, второй и третий выходы которого соединены с управляющими входами первого, второго и третьего мультиплексоров соответственно, выход бита модификации микрокоманд блока памяти микрокоманд через элемент задержки соединен с первым входом элемента И, второй вход которого соединен с тактовым входом устройства и с входом синхронизации регистра адреса микрокоманд, а выход - с входом синхронизации регистра модификации микрокоманд, вход кода операции устройства соединен со вторым информационным входом регистра адреса микрокоманд.
При этом блок условных переходов содержит группу Мультиплексоров
1084793 ветвления и группу элементов И,первые входы которых соединены с выходами соответствующих мультиплексоров ветвления, вторые входы соединены соответственно с первым входом блока условных переходов с управляющими входами мультиплексоров ветвления, информационные входы которых соединены соответственно с вторым входом блока, а выходы эле/ агентов И соединены с соответствую ими выходами блока условных переодов.
На чертеже приведена функциональная схема микропрограммного устройства управления.
Устройство содержит блок 1 памяти микрокоманд с выходом 2 адреса, выходом 3 микроопераций, выходом 4 поля ветвлений, выход 5 бита модификации микрокоманд, регистр 6 адреса микрокоманд, мультиплексоры
7-9, блок 10 условных переходов, регистр 11 модификации микрокоманды, дешифратор 12 переключения микроопераций, группу дешифраторов 13 микроопераций, выход 14 устройства, элемент И 15, элемент 16 задержки, тактовый вход 17 устройства, дешифратор 18 модификации микрокоманд, вход 19 условий ветвления устройства, вход 20 кода операций устройства, группу мультиплексоров 21 ветвления и группу элементов И 22.
Микропрограммное устройство управления работает следующим образом.
На тактовый вход 17 устройств поступают тактовые импульсы с периодом, равным циклу работы микропрограммного устройства управления.
В последней микрокоманде любой микропрограммы в двух разрядах поля ветвления, поступающих на вход дешифратора 18 модификации микрокоманды, записывается нулевой код, по которому на выходах дешифратора
18 отсутствуют управляющие сигналы, и мультиплексоры 7-9 настроены на передачу информации с блока 1 °
Вход в микропрограмму осущестВляется по коду (адресу), который поступает на вход регистра 6 адреСа микрокоманды через вход 20 кода
Операций устройства и фиксируется а нем. Одновременно осуществляется установка в ноль регистра 11 по
35 ао
55 сиг нану иэ центрального устройства управления. .Зтот же сигнал осуществляет подключение входа 20 кода операций для записи его в регистр 6. адреса микрокоманды.
lIo содержимому регистра 6 из блока 1 памяти микрокоманд выбирается микрокоманда, в поле адреса (выход 2 блока 1) которой записывается адрес следующей, микрокоманды, который, в свою очередь, поступает на первый вход регистра б адреса микрокоманд, причем младшие разряды адреса поступают через мультиплексор 9 и по переднему фронту тактового импульса записывается в него. По обновленному содержимому регистра 6 выбирается из блока 1 следующая микрокоманда и т.д. Организуется последовательность микрокоманд, составляющая некоторую микропрограмму.
Если текущая микрокоманда не требует опроса условий ветвления, то в поле ветвления записывается нулевой код.
При необходимости ветвления микропрограммы в ходе ее выполнения, в микрокоманде, опрашивающей условия ветвления, в поле ветвлейия (выход 4 блока 1) записывается соответствующий код ветвления, вызыванмций появление сигнала на третьем выходе дешифратора 18 модификации микрокоманд. Это вызывает переключение мультиплексора
9 на передачу информации по другому входу. Одновременно код ветвления с выхода,4 блока 1 поступает и на первые входы блока 10 условных переходов, что, в свою очередь, вызывает выработку на его выходе (при наличии на его соответствующих входах 19 опрашиваемых одного или несколько условий ветвления) кода младших разрядов адреса следующей микрокоманды. Последний через мультиплексор 9 параллельно со старшими разрядами адреса, идущими непосредственно с выхода 2, поступает на первый вход регистра 6 адреса микрокоманд. Таким образом происходит модификация младших разрядов адреса. Сформированный, таким образом, адрес по фронту тактового сигнала фиксируется в регистре 6 адреса микрокоманд и далее осуществляется выборка из блока 1 памяти микрокоманд следующей микрокоманды.
1084793
Поле микроопераций (выход 3 блока I) является многофункциональным, т,е. это поле может использоваться для выработки различных групп элементарных операций. Каждая группа элементарных микроопераций вырабатывается своим дешифратором микроопераций из группы дешифраторов 13.
Подключение поля микроопераций к конкретному дешифратору 13 осуществляется следующим образом.
Все поле микропрограммной памяти условно разбивается на два массива.
Иикрокоманда, в которой используется определенная группа микроопераций, размещается в определенном массиве микропрограммного поля памяти блока 1, с тем расчетом, что при выборки данной микрокоманды из блока 1 старших разрядов ее адреса указывают на подключение требуемого дешифратора 13 элементанных микроопераций к много функциональному полю микроопераций. В предыдущей микрокоманде в модификации микрокоманд (выход 5 блока 1) записывается "1".
Тогда при выборке данной микрокоманды единичный сигнал с выхода
5 блока 1 поступает через элемент
16 задержки на первый вход элемента И 15, разрешая, тем самым, прохождение тактового импульса на вход: синхронизации записи регистра 11 модификации микрокоманд для фиксации в нем и старших разрядов адреса выбираемой. микрокоманды. Одновременно, по фронту тактового импульса полный адрес выбираемой микрокоманды с выхода
2 блока 1 заносится в регистр
6 адреса микрокоманд и по содержимому последнего начинается выборка данной микрокоманды.
Параллельно с этим процессом содержимое регистра 11 модификации микрокоманд через мультиплексор
8 поступает на. вход дешифратора 12 переключения микроопераций. На соответствующем выходе дешифратора
12 появляется разрешающий сигнал, который поступает на вход блокировки соответствующего дешифратора
13 элементарных микроопераций разрешая, тем самым, дешифрацию последним кода поля 1 микроопераций.
За счет того, что выборка данной микрокоманды из блока 1 памяти макрокоманд и срабатывание дешиф- .
15 ратора 12 переключения микрооперации, осуществляющей подключение соответствующего дешифратора 13, происходит одновременно, и очевидно, что
I Ъ л ВыБ "РС м 1
1 где .С D — время срабатывания дешифратора 12, (ц — время задержки прохождения сигнала через мультиплексор 8, во время получения элементарной микрооперации на выходе устройства относительно появления адреса на входе блока 1, в отличие от известного, меньше и составляет то "выб ЭСмо 7 где CD, †. время срабатывания де20 шифратора 13 элементарных микроопераций.
В ряде случаев, для сокращения времени ветвящихся микропрограмм предлагаемое устройство позволяет, 25 в отличие от известного, осуществлять условное подключение поля микроопераций к соответствующему дешифратору 13 по условиям ветвления на входах 19 устройства без выхода на микрокоманду, в которой производится безусловная выработка ,некоторой микрооперации из соответ.ствующей группы.
Такое ветвление осуществляется следующим образом.
В поле микроопераций микрокоманды, в которой необходимо ветвление записывается такой код, который при дешифрации одним дешифратором
40 13 микроопераций вырабатывает на соответствующем его выходе ту микрооперацию, которую необходимо получить при отсутствии условий ветвления, а при дешифрации этого кода другим дешифратором 13 вырабатывает на его одноименном выходе ту микрооперацию, которую необходимо полу:чить при наличии условия ветвления. Кроме того, в поле ветвления записывается соответствующий код ветвления, по которому на втором выходе дешифратора 18 появляется сигнал, переключающий мультиплексор 8 на передачу информации с
5$ выхода блока 10 условных переходов.
Код ветвления, поступая также и на опросные входы блока 10, вырабатывает на его выходе (при наличии на его соответствующих входах од1084793
I0 ного или несколько опрашиваемых условий ветвления) код, который, поступая через второй вход мультиплексора
8 на вход дешифратора 12, дешифрируется им и на соответствующем выходе 5 дешифратора 12 вырабатывается разрешающий сигнал, осуществляющий подключение того, или иного дешифра.тора 13 на дешифрацию основного микрооперационного поля. Выбранный, таким образом, дешифратор 13 осуществляет дешифрацию поля микроопераций и вырабатывает на соответствующем выходе 14 устройства требуемую микрооперацию. 15
Блок 10 условных переходов работает следующим образом.
При поступлении кода ветвления на опросные входы блока 10 производится выборка одноименных направлений на 2О всех мультиплексорах ветвлений и подача разрешающего сигнала иа один или несколько (в зависимости от числа направлений ветвления) элементов из группы элементов И 22. Если к этому 25 моменту сигналы ветвления на соответствующих входах 19 условий ветвления устройства присутствуют, то они через вход выбранного направления мультиплексоров 21 ветвлений поступают на gg первые входы элементов И 22. Те элементы И из группы И 22, на которые ранее с первых входов блока 10 подают разрешающие сигналы, срабатывают и на выходах элементов И 22, а значит и на выходе блока 10 условных переходов, вырабатывается ненулевой код младших разрядов адреса следующей микрокоманды.
В противном случае на выходе блока 10 вырабатывается нулевой код младших разрядов адреса следующей микрокоманды, и микропрограмма идет по участку, соответствующему отсутствию, на момент опроса, опрашиваемых условий ветвления.
Таким образом, добавление соответствующего оборудования и новых связей позволяет достигнуть целей изобретения.
Технико-экономическая эффективность предлагаемого технического решения заключается в том, что в отличие от известного в предлагаемом устройстве выше быстродействие при получении микроопераций инициируемых многофункциональным микрооперационным полем.
Кроме того, предлагаемое микропрограммное устройство управления имеет более широкие функциональные возможности. Это обеспечивается прежде всего тем, что помимо традиционной возможности ветвлений по условиям с выходом на альтернативные участки микропрограммы, в предлагаемом устройстве имеется возможность недетерминированного подключения дешифраторов элементарных микроопераций к многофункциональному микрооперационному полю в зависимости от условий ветвления. Последнее обстоятельство, кроме того, в ряде случаев позволяет сократить длину ветвящихся микропрограмм и тем самым дополнительно повысить быстродействие устройства при обработке микропрограмм.
Попутно решена задача более эффективного использования разрядов микрокомандного слова, так как в предлагаемом устройстве подключение цешифраторов элементарных микроопераций осуществляется не дополнительным полем микрокомандного слова, как в известном устройстве и в базовом объекте, а старшими разрядами адре-! са микрокоманды.
1084793
ЗНИИПИ Заказ 2032/44 Тирак 699 Подиисное
Филиал ШВ "батей", г.Ужгород, ул.йроектнав, 4