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

Номер патента: 1062701

Авторы: Иванов, Сыров

ZIP архив

Текст

ГОСУДАРСТВЕННЫЙ ИО ПО ДЕЛАМ ИЗОБРЕТЕНИ ОПИСАНИЕ Н АВТОРСКОМУ СВ 3381339/18-2419.10.8123.12.83. Бюл. Р 47В.В. Сыров.и В.А. ИвановОрдена Ленина институт киАН Украинской ССР681.325(088.8)( ) 1. Хассон С. Микропрограммное управление, М., "Мир", 1973, с. 46.2. "Вычислительная техника", 1974, В 20, с. 23-26 (прототип). (54)(57) 1. МИКРОПРОГРАММНОЕ УСТРОЙСТВО УПРУ,ВЛЕНИЯ, содержащее блок микропрограммной памяти, выход которого подключен к информационному вхо ду регистра микрокоманд, а адресный вход подключен к выходу регистра адреса и первому. информационному входу стека адресов возврата, блок формирования адреса, первый, второй и третий информационные входы которого подключены соответственно к выходу адресной части регистра микрокоманд, выходу стека адресов возврата и входу условий перехода устройства, а выход подключен к информационному входу регистра адреса, первый указатель стека, информационный вход которого соединен с инфорглационным входом устройства, блок управления, вход которого соединен с операционным выходом регистра микрокоманд, первый выход блока управления соединен с управляющим входом блока формирования адреса, второй выход " с управляющими входа" ми блока микропрограммной памяти, регистра микрокоманд, стека адресов возврата, регистра адреса, третий и четвертый выходы - с первьгм и вторым управляющими входами первого указателя стека, пятый выход блока управления соединен с выходогл уст,ройства; о т л и ч а ю щ е е с я тем, чтос целью повышения быстроцействия и расюирения Функциональных возможностей за счет обеспеченйя перемещаемости микропрограмм, оно содержит второй указатель стека и мультиплексор, выход которого соединен с вторым информационным входом стека адресов возврата, управляющий вход мультиплексора соединен с шестым выходом блока управления, седьмой и восьмой выходы которого под ключены соответственно к первому и второму управлягощим входам второго указателя стека, выход которого соединен с первым инфорглационным входом мультиплексора, второй информаци,онный вход которого соединен с выходом первого указателя стека и ин- , формационным входом второго указателя стека выход регистра адресаподключен к четвертому информационному входу блока Формирования адреса содержащего арифметико-логический блок, первый и второй входы которого подключены к выходам первого и второго мультиплексоров, причем выход арифметиКо-логического блока является выходом блока формирования адреса, первый и второй информационные входы первого мультиплексора являются первым и третьим информационными входами блока формирования адреса, первый информационный вход второго мультиплексора является вторым информационным входом блока Формирования адреса, второй информационный вход второго мультиплексора подключен к третьему информационному входу первого мультиплексора, и является четвертым информационным входом блока формирования адреса, а управляющие входы арифметико-логического блока и мультиплексоров являются управляющим входам блока формирования адреса.2. Устройств1, о т л и,чающееся то блок управления содерж атор фазовых1062701 10 импульсов, первый второй и третий выходы которого через первый, второй и третий формирователи тактовых импульсов подключены к второму выходу блока, вход блока подключен к информационным входам первого, второго и третьего дешифраторов, выходы первого и второго дешифрато" ров подключены соответственно к пятому и первому выходам блока, второй выход генератора фазовых импульсов соединен с управляющим входом второго дешифратора и с первыми входами первого и второго элементов И,К 1Изобретение относится к вычислительной технике и предназначенодля прйменения в устройствах управления цифровых вычислительных машин.Известно микропрограммное устрой"ствО управления, содержащее блокмикропрограммной памяти, регистрадреса, регистр микрокоманд, регистрадреса возврата или стек адресоввозврата, указатель стека, блок формирования адреса и блок местногоуправления 1 .Недостатком устройства является ограниченные функциональные возможности, не позволяющие увеличивать число возложенных программ.Наиболее близким к предлагаемому по технической сущности является устройство микропрограммного управления, содержащее последовательно соединенные указатель стека, стек адресов возврата, блок формирования адреса, регистр адреса, блок микропрограммного управления, регистр микрокоманд 2 .Недостатками известного устройства являются дополнительные задержки времени и формировании адреса микрокоманды при необходимости перехода на программу и ограниченные функциональные возможности. Действительно, помимо затрат времени, необходимых в обычных микрокомандах, на формирование адреса в блоке формирования адреса и записи на регистр адреса микрокоманд при переходе на подпрограмму необходимо время на увеличение указателя стека и запись в стек.В то же время развитие интегральной технологии и все более широкое гцрименение принципа динамического микропрограммирования на основе оперативной микропрограммной памяти требуют расширения функциональных 15 20 25 30 35 40 45 вторые входы которых соединены соответственно с первым и вторым выходами третьего дешифратора, выход первого элемента И подключен к третьему и восьмому выходам блока, выходвторого элемента И подключен к четвертому и шестому выходам блока,третий выход генератора фазовыхимпульсов подключен к первому входутретьего элемента И, второй входкоторого соединен с вторым выходомтретьего дешифратора, а выходтретьего элемента И"соединен с седьмым входом блока. 2возможностей блока формирования адресаПри этом наиболее важной из них представляется обеспечение перемещаемости микропрограмм, что наиболее эффективно достигается при сочетании естественной адресации и принудительной по алгебраическому приращению адреса, указанному в адресной части макрокоманды,Целью изобретения является увеличение быстродействия и расширение функциональных возможностей микропрограммного устройства управления.Поставленная цель достигается тем, что в микропрограммное устройство управления, содержащее блок мик ропрограммной памяти, выход которого подключен к информационному входу регистра микрокоманд, а адресный вход подключен к выходу регистра адреса и первому информационному входу стека адресов возврата, блок формирования адреса, первый, второй и третий информационные входы которого подключены соответственно к выходу адресной части регистра микрокоманд, выходу стека адресов возврата и входу условий перехода устройства, а выход подключен к информационному входу регистра адреса, первый указатель стека, информацион. ный вход которого соединен с информационным входом устройства, блок управления, вход которого соединен с операционным выходом регистра.микрокоманд, первый выход блока управления соединен с управляющим входом блока формирования адреса, второй выход - с управляющим входами блока микропрограммной памяти, регистра микрокоманд, стека адресов возврата, регистра адреса, третий и четвертый выходы - с первым и вторым управляющими входами первого указателя стека, пятый выход блока управления соединен с выходом устройства, введены второй указатель стека и мультиплексор, выход которого соединен с вторым информационным входом стека адресов возврата, управляющий вход мультиплексора соединен с шестым выходом блока управления, седь" мой и восьмой выходы которого подключены соответственно к первому и второму управляющим входам второго указателя стека, выход, которого соединен с первым информационным входом мультиплексора, второй информационный вход которого соединен с выходом первого указателя стека и информационным входом второго указателя стека, выход регистра адреса подключен к четвертому информационному входу блока формирования адреса, содержащего арифметико-логический блок, первый и второй входыкоторого подключены к выходам первого и второго мультиплексоров, причем выход арифметико-логического блока является выходом блока формирования адреса, первый и второй инФормационные входы первого мультиплексора являются первым и третьигл информационными входами блока формирования адреса, первый информационный вход второго мультиплексора является вторым информационным входом блока Формирования адреса, второй информационный вход второгомультиплексора подключен к третьему информационному входу первого мульти плексора и является четвертым информационным входом блока формированияадреса, а управляющие входы арифглетико-логического блока и мультиплексоров являются управляющим входом блока формирования адреса.Причем блок управления содержит генератор фазовых импульсов, первый второй и третий выходы которого через первый, второй и третий Формирователи таковых импульсов подключены к второму выходу блока, вход блока подключен к информационным входам первого, второго и третьего дешифраторов, выходы первого и второго дешифраторов подключены соответственно к пятому и первому выходам блока, второй выход генератора Фазовых импульсов соединен с управляющим входом второго дешифратора ис первыми входами первого и второго элементов И, вторые входы которых соединены соответственно с первым и вторым выходами третьего дешифратора, выход первого элемента И под 30354045 ключен к третьему и восьмому выходамблока, выход второго элемента Иподключен к четвертому и шестому вы 60ходам блока, третий выход генератора фазовых импульсов подключен кпервому входу третьего элемента И,второй вход которого соединен свторым выходом третьего дешифратора,а выход третьего элемента И соединен с седьмым входом блока.Иа Фиг. 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.1Одновременно с Фазой выполнения гликрокоманды осуществляготся формирование адреса следующей микрокоманды фаза 2) и обращение к блоку 1 микропрограммной памяти (фаза 3). Адрес следующей микрокоманды формируется .блоком 5 формирования адреса с учетом адресной части микрокоманды, поступающей на вход блока 5, кода на входе 9 условий и адреса текущей микрокоманды, поступающей на вход блока 5. При выполнении мик рокоманды "Возврат из подпрограммы" формируется адрес возврата, считываемый на вход блока 5 иэ стека 4адресов возврата. Сформированныйадрес следующей микрокоманды эаносит 1ся в регистр 3 адреса. На этом фаза Ф заканчивается.Способ формирования адреса определяется сигналами, вырабатываемыми 5блоком 11 местного управления на выходах 21 и поступающими на управляющие входы арифметико-логическогоблока 6 и мультиплексоров 7 и 8.Эти управляющие сигналы вырабатыва Оются в результате дешифрации частикода микрокоманды, поступающей навыходы 10, и определяют следующиеосновные операции Форлирования адреса: РА+1, РА+ЪМК, РЛ+ РМК ШУ) г 15РАВ+1; РАВ+РМК, где РА - содержимоерегистра 3 адреса, РМК - содержимоеадресной части регистра 2 микрокоманд, ЬВ - код на входе 9 условий,РАВ - регистр адреса возврата изстека 4 адресов возврата.Указанные операции определяют формкрование адреса по алгебраическомуприращению, обеспечивая перемещаелость микропрограмм. Возможны идругие операции Формирования адреса,определяемые структурой блока 5Формирования адреса и Функциялиаркфметико-логического блока 6, вкачестве которого может быть применено арифметкко-логическое устройствона микросхемах К 155 ИПЗ,На фазе Ф осуществляется обра"щенке к блоку 1 микропрограммнойпамяти по адресу в регистре 3 адреса.Одновременно происходит занесение ЗЗэтого адреса в стек 4 адресов возврата. Номер регкстра стека 4 адресов возврата определяется содержилым указателя 15 стека, котороепоступает на адресный вход стека 4 49адресов возврата через мультиплексор 20. Остановимся на выполнениимикрокоманд "Уход на подпрограмму"и "Выход иэ подпрограммы". При выполнении микрокоманды "Переход наподпрограмму" на Фазе Ф происходитувеличение на единицу содержимогоуказателя 15 стека по сигналу навыхсде 13 блока 11. В связи с этимна Фазе Фв стек 4 адресов возврата сформированный адрес подпрограммы и всех последующих адресов микрокоманд данной подпрограммы заносится по увеличенному содержимомууказателя 15 стека. Поскольку адрес самой микрокоманды "Переход наподпрограмму" занесен в стек на Фазс Ф предыдущего цикла, для выполнения микрокоманды "Выход из подпрограммы" необходимо иметь предыдущее значение указателя 15 стека, 60В предлагаемдм микропрограммномустройстве управления оно хранитсяг указателе 18 стека. Поэтому привыполнении микрокоманды "Выход изподпрограммы" на Фазе Ф номер ре гистра стека 4 адресов возврата, из которого считывается адрес возврата на вход блока 5 формирования адреса, определяется содержимым указателя 18, поступающего на адресный вход стека 4 адресов возврата через мультиплексор 20. На этой же фазе под действием сигнала на выходе 14 блока 11 происходит уменьшение содержимого указателя 15 стека на единицу. На фазе Ф уменьшается на единицу содержимое указателя стека под действием сигнала на выходе 17 блока 11. Коммутация выходов указателей 15 и 18 стеков осуществляется мультиплексором 20 под управ- . лением сигнала на выходе 19 блока 11,Для обеспечения хранения в указателе 18 стека предыдущего значения указателя 15 стека возможно несколько вариантов. В частности, при включении устройства и появлении сигнала "Сброс" или "Начальный установ" ложет быть осуществлена их необходимая предварительная установка (например, можно сбросить указатель 15 стека в "0", а указатель 18 стека .установить в "1") . В последующем работа может быть обеспечена выполнением следующих действий при переходе на подпрограмму, на Фазе Ф 2 увеличить указатель 15 стека на единицу, а на Фазе ф 9 увеличить указатель 18 стека. Однако это не всегда удобно, в частности тогда, когда предусматривается возможность изменения в последовательностях подпрограмм путем занесения произвольного кода в указатель 15 стека /например, по входу 23) . В связи с этим в,предлагаемом микропрограм. - мном устройстве управления при выполнении микрокоманды "Переход на подпрограмму" на фазе Ф 2 перед увеличением указателя 15 стека происходит занесение его предыдущего содержимого в указатель 18 стека под действкем управляющего сигнала 16 на выходе блока 11. Необходимо отметить, что при этом часто можно объединить сигналы на выходах 13 и 16, например, при использовании в качестве указателей :тека реверсивных счетчиков, выполненных на мик. росхемах типа К 155 ИЕ 7, используя ту особенность, что занесение инФормации в них осуществляется по переднему Фронту сигнала, а изменение кодов на выходах при работе по счетным входам - по заднему Фрон. ту сигнала. Блок управления Функционируетследующим образом.Генератор 27 вырабатывает тактирующие сигналы на выходах 28, 29и 30, соответствующие фазам Ф,Фу и Ф, которые поступают на фор10 мирователи 24, 25 и 26 для выработки управляющих сигналов, На выходе 22 синхронизирующих работу регистра 2 микрокоманд, регистра 3 адреса, стека 4 адресов возврата, блока 1 микропрограммной памяти.5Дешифратор 31 вырабатывает внешние управляющие сигналы 12. В качест. ве формирователей 24-26 могут использоваться, например, элементы серии К 155 ЛА 12.Дешифратор 32 на фазе Ф 2 вырабатывает сигналы на выходе 21, управ" ляющие работой блока формирования адреса. Дешифратор 33 вырабатывает на своих выходах признаки ухода и 15 выхода на подпрограммы соответственно. В результате элемент И 34 на фазе ф вырабатывает сигналы на выходах 13 и 16, элемент И 35 - сигналы на выходах 14 и 19, а элемент 20 И 36 на Фазе Ф - сигнал на выходе 17, управляющие работой указателей стеков 15 и 18 и мультиплексора 20.Положительный эффект предлагаемого микропрограммного устройства управления заключается в увеличении быстродействия и Функциональных возможностей по сравнению с известными устройствами.Увеличение быстродействия достигается тем, что при переходе на30 подпрограмму отсутствуют дополнительные потери времени, связанные с увеличением указателя стека и записи в стек, так как запись в стек. осуществляется не в начале цикла микрокоманды "Переход на подпрограмму", а на фазе обращения к блоку микропрограммной памяти ф) предыду. щего цикла. Увеличение же указателя стека осуществляется параллельно с фазой Формирования следующего адреса (Ф ) .Кроме тОго, следует, иметь в виду, что запоминание текущего адреса происходит всегда, а не только при переходах на подпрограммы. В связи с этим создаются удобства для работы предлагаемого микропрограммного устройства управления при прерываниях внутри микропрограмм, в частности при возникновении различных ошибок.Увеличение Функциональных возможностей достигается за счет универсальной структуры блока 5 формирования адреса, обеспечивающего как традиционные способы Формирования адреса, так и его формирование по алгебраическому приращению, заданному в адресной части микрокоманды. Этим обеспечивается перемещаемость микропрограмм, что особенно важно при динамическом микропрограммировании. 1При использовании современной эле. ;ментной базы, в частноети микросхем ,серии К 155, время сокращения цикла микропрограммного устройства управления будет не менее 50 нс.Для цикла, например, 300 нс это означает его сокращение приблизительно на 17 и соответствующее увеличение быстродействия ЭВМ./1 l .ФАЗСоставитель Л. ЛогачеваРедактор Н.Лазаренко Техред М.Тепер Корректор М. ДемчикйЗаказ 10219/50 Тираж 706 ПодписноеВНКИПИ 1 осударственнсго комитета СССРпо делам изобретений и открытий113035, Москва, Ж, Раушская наб., д. 4/5филиал ППП "Патент", г, Ужгород, ул. Проектная, 4

Смотреть

Заявка

3381339, 19.10.1981

ОРДЕНА ЛЕНИНА ИНСТИТУТ КИБЕРНЕТИКИ АН УССР

СЫРОВ ВИКТОР ВАЛЕНТИНОВИЧ, ИВАНОВ ВЛАДИМИР АНДРЕЕВИЧ

МПК / Метки

МПК: G06F 9/22

Метки: микропрограммное

Опубликовано: 23.12.1983

Код ссылки

<a href="https://patents.su/8-1062701-mikroprogrammnoe-ustrojjstvo-upravleniya.html" target="_blank" rel="follow" title="База патентов СССР">Микропрограммное устройство управления</a>

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