Микропрограммное устройство управления
1. МИКРОПРОГРАММНОЕ УСТРОЙСТВО УПРАВЛЕНИЯ, содержащее блок микропрограммной памяти, выход которого подключен к информационному вхо.- ду регистра микрокоманд, а адресный вход подключен к выходу регистра адреса и первому информационному входу стека адресов возврата, блок формирования адреса, первый, второй и третий информационные входы которого подключены соответственно к выходу адресной части регистра микрокоманд , выходу стека адресов возврата и входу условий перехода устройства , а выход подключен к информационному входу регистра адреса, первый указатель стека, информационный вход которого соединен с информационным входом устройства, блок управления, вход которого соединен с операционньлм выходом регистра микрокоманд, первый выход блока управления соединен с управляющим входом блока формирования адреса, второй выход - с управляияцими входами блока микропрограммной памяти, регистра микрокоманд, стека гщресов возврата, регистра адреса, третий и четвертый выходы - с перв|лм и вторым управляющими входами первого указателя стека, пятый выход блока управления соединен с выходом уст;ройства- , отличающееся тем, целью повышения быстроцействия и расишрения функциональных возможностей за счет обеспечения перемещаемости микропрограмм, оно содержит второй указатель стека и мультиплексор, выход которого соединен с вторым информационным входом стека адресов возврата, управляющий вход мультиплексора соединен с шесты1 1 выходом блока управления, седьмой и восьмой выходы которого подключены соответственнок первому и второму управляющим входам второго указателя стека, выход которого соединен с первым, информационным вхо;дом мультиплексора, второй информационный вход которого соединен с выходом первого указателя стека и информационным входом второго указа- § теля стека,, выход регистра адреса (Л подключен к четвертому информационному входу блока формирования адреса содержащего арифметико-логический блок, первый и второй входы которого подключены к выходеил первого и второго мультиплексоров, причем выход арифметико-логического блока является выходом блока формирования адре са, первый и второй информационные входы первого мультиплексора являются первым и третьим информационными входами блока формирования адреса, первый информационный вход второго мультиплексора является вторым информационным входом блока формирования адреса, второй информационный вход второго мультиплексора подключен к третьему информационному входу первого мультиплексора, и является четвертым информационным входом блока формирования адреса, а управляющие входы арифметико-логического блока и мультиплексоров являются упрайляющим входам блока формирования адреса. 2. Устройство по п. 1, о т л и ,чающееся тем, что блок уп равления содержит генератор фазовых
СОЮЗ СОВЕТСКИХ
СОЦИАЛИСТИЧЕСКИХ.
РЕСПУБЛИН (19) (11) 01 А
3(> 0 06 F 9/22
ОПИСАНИЕ ИЗОБРЕТЕНИЯ
Н АВТОРСН0МУ СВИДЕТЕЛЬСТВУ
ГОСУДАРСТВЕННЫЙ КОМИТЕТ СССР
ПО ДЕЛАМ ИЗОБРЕТЕНИЙ И ОТНРЫТИЙ (21 ) 3381339/18-24 (22) 19.10.81 (46) 23.12.83. Бюл. Р 47 (72) В.В. Сыров.и В.A. Иванов (71) Ордена Ленина институт кибернетики AH Украинской CCP (53) 681.325(088.8) (56) 1. Хассон С. Микропрограмглное управление ° . M., "Мир", 1973, с. 46.
2. "Вычислительная техника", 1974, В 20, с. 23-26 (прототип). (54)(57) 1. МИКРОПРОГРАММНОЕ УСТРОЙСТВО УПРУ.ВЛЕНИЯ, содержащее блок микропрограммной памяти, выход которого подключен к информационному вхо» ду регистра микрокоманд, а адресный вход подключен к выходу регистра адреса и первому. информационному входу стека адресов возврата, блок формирования адреса, первый, второй и третий информационные входы которого подключены соответственно к выходу адресной части регистра микрокоманд, выходу стека адресов возврата и входу условий перехода устройства, а выход подключен к информационному входу регистра адреса, первый указатель стека, информационный вход которого соединен с инфорглационным входом устройства, блок управления, вход которого соединен с операционным выходом регистра микрокоманд, первый выход блока управления соединен с управляющим входом блока формирования адреса, второй выход — с управляющими входами блока микропрограммной памяти, регистра микрокоманд, стека адресов возврата, регистра адреса, третий и четвертый выходы - с первьгм и вторым туправляющими входами первого указателя стека, пятый выход блока управления соединен с выходогл уст;ройства; о т л и ч а ю щ е е с я тем, чторс целью повышения быстроцействия и расъгирения функциональных возможностей за счет обеспеченйя перемещаемости микропрограмм, оно содержит второй указатель стека и мультиплексор, выход которого соединен с вторым информационным входом стека адресов возврата, управляю™ щий вход мультиплексора соединен с шестым выходом блока управления, седьмой и восьмой выходы которого подключены соответственно к первому и второму управлягощим входам второго указателя стека, выход которого соединен с первым инфорглационным входом мультиплексора, второй информаци,онный вход которого соединен с выходом первого указателя стека и ин- . формационным входом второго указателя стека,. выход регистра адреса подключен к четвертому информационному входу блока формирования адреса содержащего арифметике-логические блок, первый и второй входы которого подключены к выходам первого и вто- Я рого мультиплексоров, причем выход арифметиКо-логического блока является выходом блока формирования адре са, первый и второй информационные входы первого мультиплексора являются первым и третьим информационными входами блока формирования адреса, первый информационный вход второго мультиплексора является вторым информационным входом блока формирования адреса, второй информационный вход второго мультиплексора подключен к третьему информационному входу первого мультиплексора, и является четвертым информационным входом р блока формирования адреса, а управляющие входы арифметико-логического блока и мультиплексоров являются управляющим входам блока формирования адреса.
2. Устройство по п. 1, о т л и,ч а ю щ е е с я тем, что блок управления содержит генератор фазовых
1062701
10 импульсов, первый„ второй и третий выходы которого через первый, второй и третий формирователи тактовых импульсов подключены к второму выходу блока, вход блока подключен к информационным входам первого, второго и третьего дешифраторов, выходы первого и второго дешифраторов подключены соответственно к пятому и первому выходам блока, второй выход генератора фазовых импульсов соединен с управляющим входом второго дешифратора и с первыми входами первого и второго элементов И, 1
Изобретение относится к вычислительной технике и предназначено для прйменения в устройствах управления цифровых вычислительных машин.
Известно микропрограммное устройствО управления, содержащее блок микропрограммной памяти, регистр адреса, регистр микрокоманд, регистр адреса возврата или стек адресов возврата, указатель стека, блок формирования адреса и блок местного управления (1) .
Недостатком устройства является ограниченные функциональные возможности, не позволяющие увеличивать число возложенных программ.
Наиболее близким к предлагаемому по технической сущности является устройство микропрограммного управления, содержащее последовательно соединенные указатель стека, стек адресов возврата, блок формирования адреса, регистр адреса, блок микропрограммного управления, регистр микрокоманд j2j .
Недостатками известного устройства являются дополнительные задержки времени и формировании адреса микрокоманды при необходимости перехода на программу и ограниченные функциональные возможности. Действительно, помимо затрат времени, необходимых в обычных микрокомандах, на формирование адреса в блоке формирования адреса и записи на регистр адреса микрокоманд при переходе на подпрограмму необходимо время на увеличение указателя стека и запись в стек.
В то же время развитие интегральной технологии и все более широкое гцрименение принципа динамического микропрограммирования на основе оперативной микропрограммной памяти требуют расширения функциональных
45 вторые входы которых соединены соответственно с первым и вторым выходами третьего дешифратора, выход первого элемента И подключен к третьему и восьмому выходам блока, выход второго элемента И подключен к четвертому и шестому выходам блока, третий выход генератора фазовых импульсов подключен к первому входу третьего элемента И, второй вход которого соединен с вторым выходом третьего дешифратора, а выход третьего элемента И.соединен с седьмым входом блока.
2 возможностей блока формирования адреса ° При этом наиболее важной из них представляется обеспечение перемещаемости микропрограмм, что наиболее эффективно достигается при сочетании естественной адресации и принудительной по алгебраическому приращению адреса, указанному в адресной части макрокоманды.
Целью изобретения является увеличение быстродействия и расширение функциональных возможностей микропрограммного устройства управления.
Поставленная цель достигается тем, что в микропрограммное устройство управления, содержащее блок мик. ропрограммной памяти, выход которого подключен к информационному входу регистра микрокоманд, а адресный вход подключен к выходу регистра адреса и первому информационному входу стека адресов возврата, блок формирования адреса, первый, второй и третий информационные входы которого подключены соответственно к выходу адресной части регистра микрокоманд, выходу стека адресов возврата и входу условий перехода устройства, а выход подключен к информационному входу регистра адреса, первый указатель стека, информационный вход которого соединен с информационным входом устройства, блок управления, вход которого соединен с операционным выходом регистра.микрокоманд, первый выход блока управления соединен с управляющим входом блока формирования адреса, второй выход — с управляющим входами блока микропрограммной памяти, регистра микрокоманд, стека адресов возврата, регистра адреса, третий и четвертый выходы - с первым и вторым управляющими входами первого указателя стека, пятый выход блока управления соединен с выходом устройства, вве1062701 дены второй указатель стека и мультиплексор, выход которого соединен с вторым информационным входом стека адресов возврата, управляющий вход мультиплексора соединен с шестым выходом блока управления, седьмой и восьмой выходы которого подключены соответственно к первому и второму управляющим входам второго указателя стека, выход, которого соединен с первым информационным входом мультиплексора, второй информационный вход которого соединен с выходом первого указателя стека и информационным входом второго указателя стека, выход регистра адреса подключен к четвертому информационному входу блока форглирования адреса, содержащего арифметико-логический блок, первый и второй входы которого подключены к выходам первого и второго мультиплексоров, причем выход арифметико-логического блока является выходом блока формирования адреса, первый и второй информационные входы первого мультиплексора являются первым и третьигл информационными входами .блока формирования адреса, первый информационный вход второго мультиплексора является вторым информационным входом блока формирования адреса, второй информационный вход второго мультиплексора подключен к третьему информационному входу первого мульти плексора и является четвертым информационным входом блока формирования адреса, а управляющие входы арифглетико-логического блока и мультиплексоров являются управляющим входом блока формирования адреса.
Причем блок управления содержит генератор фазовых импульсов, первый второй и третий выходы которого через первыи, второй и третий формирователи таковых импульсов подключены к второму выходу блока, вход блока подключен к информационным входам первого, второго и третьего дешифраторов, выходы первого и второго дешифраторов подключены соответственно к пятому и первому выходам блока, второй выход генератора фазовых импульсов соединен с управляющим входом второго дешифратора и с первыми входами первого и второго элементов И, вторые входы которых соединены соответственно с первым и вторым выходами третьего дешифратора, выход первого элемента И под30
45 ключен к третьему и восьмому выходам блока, выход второго элемента И подключен к четвертому и шестому вы« 60 ходам блока, третий выход генератора фазовых импульсов подключен к первому входу третьего элемента И, второй вход которого соединен с вторым выходом третьего дешифратора, а выход третьего элемента И соединен с седьмым входом блока.
kla фиг. 1 приведена функциональная схема устройства, на фиг. 2 вариант реализации блока управления, на фиг. 3 - временная диаграмма функционирования блока. управления.
Устройство содержит блок 1 микропрограммной памяти, регистр 2 микрокоманд, регистр 3 адреса, стек 4 адресов возврата, блок 5 формирования адреса, содержащий арифметикологический блок б, мультиплексоры
7 и 8, вход 9 логических условий устройства, операционный выход 10 регистра 2, блок 11 упраЬления, выходы 12-14 блока 11, указатель 15 стека, выходы 1б.и 17 блока 11, мультиплексор 20, выходы. 21 и 22 блока 11, информационный вход 23.
Блок 11 управления содержит формирователи 24-26 тактовых импульсов, генератор 27 фазовых импульсов с выходами 28-30, дешифраторы 31-33, элементы И 34-36.
Принцип работы предлагаемого микропрограммного устройства управления заключается в следующем.
В его работе можно выделить фазу приема микрокоманды (Ф1) из блока 1 микропрограммной памяти в регистр 2 микрокоманд и фазу дешифрации и выполнения считанной микрокоманды. ,Цешифрация микрокоманды осуществляется блоком 11 управления, на вход которого поступает операционная часть регистра 2 микрокоманд. В результате вырабатываются внешние управляющие сигналы 12, управлягощие устройствами и блоками ЭВМ. Кроме того, вырабатываются управляющие сигналы на выходах 21 и 22, синхронизирующие работу микропрограммного устройства управления, .поступающие на управляющие входы блока 5 формирования адреса, регистра 3 адреса, блока 1 микропрограммной памяти, регистра 2 микрокоманд, .стека 4 адресов возврата, а также сигналы на выходах 13, 14, 16, 17 и 19, управггягощие работой указать; леи 15 и 18 стеков и мультиплексора 20.
Одновременно с фазой выполнения гликрокоманды осуществляются формирование адреса следующей микрокоманды (фаза 2) и обращение к блоку
1 микропрограммной памяти (фаза 3).
Адрес следующей микрокоманды форглируется блоком 5 формирования адреса с учетом адресной части гликрокоманды, поступающей на вход блока 5, кода на входе 9 условий и адреса текущей микрокоманды, поступающей на вход блока 5. При выполнении мик. рокоманды "Возврат из подпрограммы" формируется адрес возврата, считываемый на вход блока 5 иэ стека 4
1062701 адресов возврата. Сформированный адрес следующей микрокоманды эаносит1 ся в регистр 3 адреса. На этом фаза Ф заканчивается.
Способ формирования адреса определяется сигналами, вырабатываемыли 5 блоком 11 местного управления на выходах ?1 и поступающими на управляющие входы арифметико-логического блока 6 и мультиплексоров 7 и 8.
Эти управляющие сигналы вырабатыва- )Q ются в результате дешифрации части кода микрокоманды, поступающей на выходы 10, и определяют следующие основные операции форглирования адреса: PA+1 РА+ЪМК, РЛ+ РМК ЩУ), PAB+1 РАВ+РМК, где PA - содержимое регистра 3 адреса, РМК - содержимое адресной части регистра 2 микрокоманд, Ш вЂ” код на входе 9 условий, PAB — регистр адреса возврата из стека 4 адресов возврата.
Ук.-.занные операции определяют фор мирование адреса по алгебраическому приращению, обеспечивая перемещаеглость микропрограмм. Возможны и другие операции формирования адреса, определяемые структурой блока 5 формирования адреса и функциягли арифметико-логического блока 6, в качестве которого может быть применено арифметико-логическое устройство на микросхемах К155ИПЗ.
На фазе Ф осуществляется обра" щение к блоку 1 микропрограммной памяти по адресу в регистре 3 адреса.
Одновременно происходит занесение 35 этого адреса в стек 4 адресов возврата. Номер регистра стека 4 адресов возврата определяется содержиiëûì указателя 15 стека, которое поступает на адресный вход стека 4 4Q адресов возврата через мультиплексор 20. Остановимся на выполнении микрокоманд "Уход на подпрограмму" и "Выход иэ подпрограммы". При выполнении микрокоманды "Переход на подпрограмму" на фазе Ф происходит увеличение на единицу содержимого указателя 15 стека по сигналу на выхсде 13 блока 11. В связи с этим на фазе Ф в стек 4 адресов возврата сформированный адрес подпрограммы и всех последующих адресов микрокоманд данной подпрограммы заносится по увеличенному содержимому указателя 15 стека. Поскольку адрес самой микрокоманды "Переход на подпрограмму" занесен в стек на фазс Ф предыдущего цикла, для выполнения микрокоманды "Выход из под. программы" необходимо иметь предыдущее значение указателя 15 стека. 60
В предлагаемом микропрограммном устройстве управления оно хранится г указателе 18 стека. Поэтому при выполнении микрокоманды "Выход из подпрограммы" на фазе 9g номер ре- 65 гистра стека 4 адресов возврата, из которого считывается адрес возврата на вход блока 5 формирования адреса, определяется содержимым указателя 18, поступающего на адресный вход стека 4 адресов возврата через мультиплексор 20. На этой же фазе под действием сигнала на выходе 14 блока 11 происходит уменьшение содержимого указателя 15 стека на единицу. На фазе Ф уменьшается на единицу содержимое указателя стека под действием сигнала на выходе
17 блока 11. Коммутация выходов указателей 15 и 18 стеков осуществляется мультиплексором 20 под управлением сигнала на выходе 19 блока 11, Для обеспечения хранения в указателе 18 стека предыдущего значения указателя 15 стека возможно несколько вариантов. В частности, при включении устройства и появлении сигнала "Сброс" или "Начальный установ" гложет быть осуществлена их необходимая предварительная установка (например, можно сбросить указатель 15 стека в "0", а указатель
18 стека .установить в "1") . B последующем работа гложет быть обеспечена выполнением следующих действий при переходе на подпрограмму, на фазе
Ф увеличить указатель 15 стека на единицу, а на фазе Ф увеличить указатель 18 стека. Однако это не всегда удобно, в частности тогда, когда предусматривается возможность изменения в последовательностях подпрограмм путем занесения произвольного кода в указатель 15 стека
/ (например, по входу 23) . В связи с этим в.предлагаемом микропрограм.— мном устройстве управления при выполнении микрокоманды "Переход на подпрограмму" на фазе Ф перед увеличением указателя 15 стека происходит занесение его предыдущего содержимого в указатель 18 стека под действием управляющего сигнала
16 на выходе блока 11. Необходимо отметить, что при этом часто можно объединить сигналы на выходах 13 и 16, например, при использовании в качестве указателей =тека реверсивных счетчиков, выполненных на микросхемах типа К155ИЕ7, используя ту особенность, что занесение информации в них осуществляется по переднему фронту сигнала, а изменение кодов на выходах при работе по счетным входам — по заднему фронту сигнала.
Блок управления функционирует следующим образом.
Генератор 27 вырабатывает такти рующие сигналы на выходах 28, 29 и 30, соответствующие фазам Ф, Фг и Ф, которые поступают на фор1062701
10 мирователи 24, 25 и 26 для выработки управляющих сигналов. На выходе 22> синхронизирующих работу регистра 2 микрокоманд, регистра 3 адреса, стека 4 адресов возврата, блока 1 микропрограммной памяти.
Дешифратор 31 вырабатывает внешние управляющие сигналы 12. В качестве формирователей 24-26 могут использоваться, например, элементы серии К155ЛА12.
Дешифратор 32 на фазе Ф вырабатывает сигналы на выходе 21, управляющие работой блока формирования адреса. Дешифратор 33 вырабатывает на своих выходах признаки ухода и 15 выхода на подпрограммы соответственно. В результате элемент И 34 на фазе Ф вырабатывает сигналы на выходах 13 и 16, элемент И 35 — сигналы на выходах 14 и 19, а элемент 20
И 36 на фазе Ф - сигнал на выходе
17, управляющие работой указателей стеков 15 и 18 и мультиплексора 20.
Положительный эффект предлагаемого микропрограммного устройства управления заключается в увеличении быстродействия и функциональных возможностей по сравнению с известными устройствами.
Увеличение быстродействия достигается тем, что при переходе на
ЗО подпрограмму отсутствуют дополнительные потери времени, связанные с увеличением указателя стека и записи в стек, так как запись в стек. осуществляется не в начале цикла мик-З5 рокоманды "Переход на подпрограмму", а на фазе обращения к блоку микропрограммной памяти (Ф ) предыдущего цикла. Увеличение же указателя стека осуществляется параллельно с фазой формирования следующего адреса (@ZAN .
Кроме того, следует .иметь в виду, что запоминание текущего адреса происходит всегда, а не только при переходах на подпрограммы. В связи с этим создаются удобства для работы предлагаемого микропрограммного устройства управления при прерываниях внутри микропрограмм, в частности при возникновении различных ошибок.
Увеличение функциональных возможностей достигается за счет универсальной структуры блока 5 формирования адреса, обеспечивающего как традиционные способы формирования адреса, так и его формирование по алгебраическому приращению, заданному в адресной части микрокоманды.
Этим обеспечивается перемещаемость микропрограмм, что особенно важно при динамическом микропрограммиро-! вании.!
При использовании современной эле-! ментной базы, в частноСти микросхем, серии К155, время сокращения цикла микропрограммного устройства управления будет не менее 50 нс.Для цикла, например, 300 нс это означает
его сокращение приблизительно на
17% и соответствующее увеличение быстродействия ЭВМ.
1062701
1062701
1062701
М
J0
13 fg 46/11
12 p "
А А
i1 l %
Составитель Л. Логачева
Редактор Н.Лазаренко Техред М.Тепер Корректор М. Демчик и
Заказ 19219/50 Тираж 706 Подписное
ВНКИПИ 1 осударственнсго комитета СССР по делам изобретений и открытий
113035, Москва, Ж-35, Раушская наб., д. 4/5
Филиал ППП "Патент", r. Ужгород, ул. Проектная, 4







