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

 

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

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

 

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

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

Изобретение относится к автоматике и вычислительной технике

Изобретение относится к автоматике и вычислительной технике

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

Изобретение относится к автоматике и вычислительной технике и может быть использовано при построении распределенных систем программного управления, а также подсистем логического управления многоуровневых АСУ

Изобретение относится к автоматике и вычислительной технике и может быть использовано при построении систем управления технологическими процессами

Изобретение относится к автоматике и вычислительной технике и может быть использовано при построении систем управления технологическими процессами

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

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

Изобретение относится к автоматике и вычислительной технике, предназначено для выполнения требуемых функций программного управления с автоматическим перезапуском при «зависании» прикладной программы и автоматическим переходом в режим сохранения оперативной информации с помощью резервного источника напряжения питания при отключении или аварии основного источника напряжения питания и может быть использовано, например, в качестве ядра микроконтроллерной или микропроцессорной системы (М-системы) обработки информации и управления в реальном времени с поддержкой режима аппаратного сторожевого таймера для перезапуска при «зависании» прикладной программы М-системы, проектируемой с учетом следующих основных принципов [1]: программного управления, магистрального обмена информацией, модульного построения и наращивания вычислительной мощности
Наверх