Микропрограммное устройство управления
Похожие патенты | МПК / Метки | Текст | Заявка | Код ссылки
Текст
СОЮЗ СОВЕТСНИХСОЦИАЛИСТИЧЕСНИХРЕСПУБЛИН14817 19) 06 Г 9/22 ОПИСАНИЕ ИЗОБРЕТЕНИЯ ВТОРСКОМУ СВ ЕЛЬСТВ ельано ВМ ам- явяти дрето- нх ГОСУДАРСТВЕННЫЙ КОМИТЕТПО ИЗОБРЕТЕНИЯМ И ОТНРЫТИЯМПРИ ГКНТ СССР(54) МИКРОПРОГРАММНОЕ УСТРОСТВО УПРАВЛЕНИЯ(57) Изобретение относится к вычислитной технике и может быть использовв специализированных вычислительных Эи вычислительных системах с микропрогрмным управлением. Целью изобретенияляется сокращение объема блока паммикрокоманд за счет исключения поля аса микрокоманды. Устройство содержит счик 1 адреса микрокоманд, регистр 2 адрблок памяти 3 микрокоманд, регистр 4 миккоманд, управляющий регистр 5, мульплексор 6 логических условий, триггепрерывания, мультиплексор 8 млад разрядов адреса, блок памяти 9 адресов переходов, блок ключей 10 с тристабильным выходом, первый 11 элемент И, первый 12 и второй 13 элементы И - НЕ, второй 14 и третий 15 элементы И, элемент НЕ 16, четвертый 17 и пятый 18 элементы И, третий 19, четвертый 20, пятый 21, шестой 22 и седьмой 23 элементы И - НЕ. Сущность изобретения заключается в следующем, В формате микрокоманды отсутствует поле адреса перехода. Адреса переходов занимают несколько слов оперативной памяти процессора, причем адреса этих слов закодированы соответственно коду поля условий микрокоманды. Таким образом, номер условия является косвенным адресом перехода. Такая организация позволяет значительно сократить объем памяти микрокоманд. Вет- э вления в микропрограмме, предусмотренные управляющим алгоритмом, а также условные и безусловные переходы выполняются по команде Запись СК, Команда возникает аппаратно по сигналу Прерывание при выполнении микрокоманды с контролируемыми логическими условиями. Для выполнения ветвления в линейных частях программы, для вызова подпрограмм и для безусловных переходов микрокоманда Запись 00 СК устанавливается программно. 3 ил. фф330 закодированы соответственно коду поля условий микрокоманды, Таким образом, номер 35условия является косвенным адресом перехода. Такая организация позволяет значительно сократить объем микрокоманд,Ветвления в микропрограмме, предусмотренпые управляющим алгоритмом, а такжеусловные и безусловные переходы выполняются по команде Запись СК. Командавозникает аппаратно по сигналу Прерывание при выполнении микрокоманды с контролируемыми логическими условиями. Длявыполнения в линейных частях программы,для вызова программ и для безусловныхпереходов микрокоманда Запись СК устанавливается программно.Работа устройства рассматривается папримере выполнения алгоритма микропрограммы, показанного на фиг. 2. 50Устройство работает следующим образом.В блоке 3 памяти микрокоманд записаннабор управляющих программ векторногопроцессора. Выбор каждой очередной микрокоманды из блока памяти происходит поадресному счетчику 1, на счетный вход 55которого поступают тактовые импульсыТИ с входа 24 устройства (фиг. 3 а). По этимже тактовым импульсам происходит занесеИзобретение относится к вычислительной технике и может быть использовано в специализированных вычислительных ЭВМ, например векторных процессорах и вычислительных системах с микропрограммным управлением.Цель изобретения - сокращение объема блока памяти микрокоманд за счет исключения поля адреса микрокоманды.На фиг.приведена функциональная схема устройства; на фиг. 2 - пример алгоритма микропрограммы с переходами; на фиг. 3 - временная диаграмма работы устройства во время прерывания по услоЮию.Микропрограммное устройство (фиг. 1) содержит счетчик 1 адреса микрокоманд, регистр 2 адреса, блок 3 памяти микро- команд, регистр 4 микрокоманд, управляющий регистр 5, мультиплексор 6 логических условий, триггер 7 прерывания, мультиплексор 8 младших разрядов адреса, олок 9 памяти адресов переходов, блок 10 ключей с тристабильным выходом, первый элемент И 11, первый2, второй 13 элементы И - НЕ, второй 14, третий 15 элементы И, элемент НЕ 16, четвертый 17, пятый8элементы И, третий 19, четвертый 20, пятый 21, шестой 22, седьмой 23 элементы И - НЕ, первый 24, второй 25, третий 26 тактовыевходы, вход 27 значений логических условий устройства, выход 28 микрокоманды устройства.В формате микрокоманды отсутствуетиоле адреса перехода. Адреса переходов занимают несколько слов оперативной памяти процессора, причем адреса этих слов 5 10 15 20 25 ние выбранной микрокоманды с выхода 3 в регистр 4 микрокоманд, выходы которого управляют работой векторного процессора, Регистр 2 адреса в каждом такте копирует содержимое счетчика 1 по тактовым импульсам ТИ - вход 25 устройства (фиг. 3 б).Естественный порядок следования микро- команд (М, М 2М, фиг. 2) нарушается при наличии условного перехода в микропрограмме (А 1, фиг. 2).Четыре старших разряда микрокоманды составляют поле условий УО-УЗ. Если в программе необходимо выполнить переход по условию, то в микрокоманде условного перехода (А 1, фиг, 2) установлены разряды поля условий на опрос соответствующих признаков. Если при исполнении микро- команды опрашиваемый признак возник, то после данной микрокоманды следует команда перехода, занимающая 2 такта возникает прерывание текущей микропрограммы, Переход на нужную команду или вызов подпрограммы осуществляется по сиг-налу Прерывание, возникаюшему на выходе мультиплексора 6. На его управляющие входы поступают разряды поля условий микрокоманды, а на информационные входы - опрашиваемые признаки, возникающие при работе векторного процессора вход 27.Адреса переходов (адреса вызова подпрограмм и возврата в основную программу) хранятся в запоминающем устройстве 9. Причем оно может быть совмещено с основной оперативной памятью, например векторного процессора, в составе которого используется это устройство, содержашей данные для вычислений. В микрокоманде содержится поле адреса этой памяти. 4 младших разряда поля адреса микрокоманды АО-АЗ используются для вызова адресов переходов из блока 9 памяти. Таким образом, в конкретном примере 16 младших слов оперативной памяти процессора используется для хранения адресов переходов. Оперативная память векторного процессора оперирует словами двойной длины - 32 разряда, шина данных процессора делится на две - младшая часть (от 0 по 15 разряд) и старшая (от 16 по 31 разряд), Причем старшая и младшая часть шины могут при необходимости меняться местами. Зто обстоятельство удобно использовать для команды переходов - адрес вызова подпрограммы хранится в старшей части ячейки блока 9 памяти, а адрес возврата запоминается в младшей части той же ячейки. Счетчик 1 адреса, регистр 2 адреса подключены к старшей части шины. Переключение старшей и младшей части осуществляется ключами 10 под управлением элементов И - НЕ 22, 23.Рассмотрим как выпол няется переход по условию. Сигнал Прерывание возникает на выходе мультиплексора 6 и такте (1) выполнения микрокоманды условногоперехода (А 1, фиг. 2). Этот сигнал запоминается в триггере 7 (фиг. 3 г) по тактовому импульсу 26. Триггер 7 управляет переключением мультиплексора 8 на второй вход - разряды УО - УЗ копируются в разряды АО - АЗ поля адреса вначале следующего такта (2) по тактовому импульсу 24. Кроме того, под управлением 7 в следующем такте (2) на элементе И 15 пропускается тактовый импульс 24 на К-вход регистра 4 микрокоманд (фиг. 3 д). Следовательно, во втором такте регистр микро- команд обнулится, а в разрядах поля адреса оперативной памяти установится адрес вызова команды перехода (команда перехода для обработки данного прерывания хранится в блоке 9 памяти по адресу, закодированному также как поле опроса соответствующего признака). По данному состоянгно регистра микрокоманд во 2-м такте возникает команда записи в счетчик адреса микрокоманд 1 содержимого старшей части, прочитанной по адресу АО - АЗ ячейки блока 9 памяти в счетчикзаносится адрес подпрограммы, вызванной в данном случае.Управляют этим четыре разряда поля управления регистра микрокоманд 4 - разряды первый Пр. СК (признак счетчика команд), второй - Ст, (старшие разряды шины), третий - Зап. (запись в память 9) и четвертый - Мл. (младшие разрядь 1 шины),Инверсные выходы разрядов Пр. СК и Зап. формируют на выходе элемента И8 команду 3. СК (запись счетчика команд), которая по тактовым импульсам ТИ - вход 26 (фиг. 3 в) запоминается в пер вом разряде управляюц 1 его регистра 5. С выхода 18 команда 3. СК поступает на элемент И - НЕ 12, на второй вход которого поступают тактовые импульсы ТИ. Выход 12 (фиг. 3 ж) управляет входом занесения счетчика 1. В счетчик заносится содержимое старшей части ячейки блока 9 памяти, выбранной по адресу, установленному в разрядах АО - АЗ (память 9 включена на чтение - на вход управления записью подан единичный потенциал с инверсного выхода разряда Зап,). Выбор памяти 9 осуществляется по тактовым сигналам ТИь вход 24, обратной полярности. Инверсные выходы разрядов Ст. и Мл. регистра 4 формируют на выходах элементов И - НЕ 9 и 20 по тактовым импульсам ТИь поступающим с выхода инвертора 16, сигналы выбора старшей (фиг. 3 3) и младшей (фиг, 3 и) частей блока 9 памяти соответственно. Ключи0 переключения старшей и младшей частей шины в этом такте5 О 15 2 О 25 ЗО 35 40 45 50 Команда 3. СК с инвер:ного выхода первого разряда регистра 5 (фиг. 3 е) блокирует на элементе И 11 поступление тактовых импульсов ТИ " входа 24 на счетный вход счетчикаи вход синхронизации регистра 4 микрокоманд, а с прямого выхода разрешает прохождение ТИ через элемент И 14 (фиг. 3 к) на 8-вход разрядов Ст. и Зап Под возействйем 14 в третьем такте на прямых выходах разрядов Ст. и Згп. устанавливается единичный потенциал. Ьлок 9 памяти включается на запись (на инзерснос выходе разряда Зап. регистра 4 - нуль), выбранной оказывается только младшая часть памяти (фиг. 3 и). Ключи 10 переключают старшую часть шины даьных, поступзющую на первый информационный вход, в младшую (первый его выход подключен к младшей части шины) под управлением элемента И - НЕ 22 (на элементе 22 собраны прямые выходы разрядов Ст. и Зап. регистра 4). Одновременно на вход разрешения выходов регистра адреса 2 подается сигнал выборки с выхода элемента И 17 (фиг. 3 л), на котором собраны инверснь 1 й выход разряда Пр. СК, оставшийся в единичном состоянии с 2-го такта, прямой выход разряда Зап., установившийся в единичное состояние в 3-м такте и тактовый импульс ТИ с выхода 16, Следовзтельно, в З.м такте происходит запись содержимого регистра адреса 2 в младшуо часть выбранной ячейки блока 9 памяти - запоминается текущий адрес прерванной программы, т.е. адрес возврата.Регистр 2 адреса служит для хранения адреса последней микрокоманды перед переходом, адреса возврата. Если в микрокоманде опроса условий (А, фиг. 2) разряд УЗ регистра микрокоманд установлен в нуль, то в данном тактеблокируется поступление тактового импульса с входа 25 на вход синхронизации регистра 2 на элементе И - НЕ 3. В такте 2 разряд УЗ установлен в нуль по сбросу - также блокируется вход синхронизации. В такте 3 блокировка осуществляется элементом И 21 (фиг. 3 м), на котором собраны команды 3. СК и Ст. с прямых выходов регистра 5. Следовательно, к моменту записи содержимого регистра 2 в блок 9 памяти в нем сохранился адрес последней микрокоманды перед переходом. В следуюгцем такте (4) выполняется первая микрокоманда (ПМ 1, фиг. 2) вызванной подпрограммы.Последней командой каждой подпрограммы является команда возьратз - З.СК, разряды АО - АЗ которой закодированы также, как и разряды УО - УЗ команды вызова. Она отличается от команды вызова 3, СК тем, что разряд Ст. в микрокоманде установлен равным единице. На прямом выходе разряда Ст. и инверсном разряда Зап. регистра 4 появляется единичный потен 1481759Форщ,га игОбретения 50 циал, срабатывает элемент И - НЕ 23, который управляет мультиплексором 10 для переключения младшей части шины данных, поступающей на его второй информационный вход, в старшую (второй выход подключен к старшей части шины), содержимое младшей части ячейки памяти заносится в счетчик . В счетчике команд восстанавливается текущий адрес прерванной программы. В следующем такте автоматически устанавливается .команда С. СК, которая при возврате логического смысла не имеет, но в этом такте снята блокировка входа синхронизации регистра 2 с выхода элемента 21 (Выход второго разряда регистра 5 равен нулю) - регистр 2 копирует состояние счетчика 1 (адрес возврата). Это необходимо при повторных Вызовах подпрограммы, сли произошел ВОВВрат па команлч условного срсхо," )оз 1)а Г осуц 1:- ствляется либо на команду, Вызвавшую прерывание (А 1, фи 1. 2), либо па следуошей за пей (М.1, фиг. 2) В за 1 иснмости от состояния разряда УЗ, соответственно нуль или единица, в микрокоманде опроса условий (А 1, фиг. 2).В подпрограмме также может быть микрокоманда перехода (А 2, фиг. 2). При Выполнении условий микрокоманды А 2 осуществляется вызов подпрограммы следующего уровня аналогичным способом. Выполняотся микрокоманды подпрограммы ПМ ,ПМЗ, затем происходит возврат в подпрограмму первого уровня - выполняются микрокоманды ПМЗ, ПМ 4, далее происходит возврат в основную программу на микрокоманду и т.д.Возможность возврата из подпрограммы а микрокоманду, вызвавшую прерывание, ОбссГе ивает выполнение циклов микропрограммы. При такой организации команд условных переходов облегчен процесс программирования. Микропрограммное устройство управления, содержащее блок памяти микрокоманд, регистр адреса, регистр микрокоманд, мультиплексор логических условий, причем выход поля микрокоманды блока памяти микро- команд соединен с первым информационным входом регистра микрокоманд, вход логических условий устройства соединен с информационным входом мультиплексора логических условий, все выходы регистра микро- команд соединены с группой выходов устройства, выход 1 Оля условий регистра микрокомапд сосдипеп с уГ 11 аВляоц 1 им Входом мультиплексора логических условий, ог,гичаОи(ееея тем, что, с целью сокращения объема блока Гамяти микрокоманд за счет исключения поля адреса микрокоманды, В него введены счетчик адреса микрокоманд, блок памяти адресов переходов, блок клю 5 10 15 20 25 ЗО 35 че)1, управляющий регистр, триггер прерывания, мультиплексор младших разрядов адреса, с первого по пятый элементы И, с первого по седьмой элементы И - НЕ, элемент НЕ, причем информационный выход счетчика адреса соединен с информационным входом регистра адреса и адресным входом блока памяти микрокоманд, выход поля младших разрядов адреса оперативной памяти которого соединен с первым информационным входом мультиплексора младших разрядов адреса, второй информационный вход которого соединен с выходом поля условий регистра микрокоманд и с управляющим входом мультиплексора логи. ческих условий, выход которого соединен с информационным входом триггера прерывания, выход которого соединен с первым входом третьего элемента И и с у:равляющим Входом мультиплексора младших разрядов адреса, Вьход которого соединен с вторым информационным входом регистра микрокоманд, выход поля младших разрядоь адреса которого соединен с адресным входом блока памяти адресов переходов, инверсный Выход первого разряда поля управления регистра микрокоманд соединен с перВыми входами четвертого и пятого эле.;1 ентов И, выход пятого элемента И соединен с первым входом первого элемента И - НЕ и с первым информационным входом управляющего регистра, инверсный вы. ход второго разряда поля управления регистра микрокоманд соединен с вторым информационным входом управляющего регистра, прямой выход третьего разряда поля управления регистра микрокоманд соединен с первым входом шестого элемента И - НЕ и с вторым входом четвертого элемента И, инверсный выход третьего разряда поля управления регистра микрокомапд соединен с входом управления записью блока памяти адресов переходов, первым входом седьмого элемента И - НЕ и с в горым входом пятого элемента И, второй вход седьмого элемента И - НЕ соединен с вторым входом шестого элемента И - НЕ и прямым выходом второго разряда поля управления регистра микрокоманд. инверсный выход которого соединен с вторым информационным входом управляющего регистра и первым входом третьего элемента И - НЕ, инверсный выход четвертого разряда поля управления регистра микрокоманд соединен С первым входом четвертого элемента И - НЕ, второй вход которого соединен с вторым входом третьего элемента И - НЕ, третьим входом четвертого элемента И и с выходом элемента НЕ, выход четвертого элемента И соединен с входом разрешения управления третьим состоянием регисра адреса, выходы третьего и четвертого элементов И - НЕ соединены соотзетственно с первым и вторым входами выборки блока памяти адресов переходов, 1481759 10первый информационный вход-выход которого соединен с информационным входом счетчика адреса, с выходом регистра адреса, первым информационным входом блока ключей, второй информационный вход-выход блока памяти адресов перехода соединен с вторым информационным Входом и с первым выходом блока ключей, первый и второй управляюгцие входы которого соединены со- ОтВЕтСтВЕННО С ВЫХОДаМИ ЦЕСТОго И СЕДЬ- мого элементов И - НЕ, выход первого элемента И соединен с входом синхронизации регистра микрокоманд и счетным Вхо. дам счетчика адреса, первый тактовый вход устройства соединен с входом элемента НЕ, вторыми входамн второго и третьего элементов И и с первым входом первого элемента И, вход управления занесением счетчика адреса соединен с выходом первого элемента И НЕ, третий тактовый вход устройства сое инеи с входами синхронизации триггера прерывания . управляюгцего регисгра и с В горы:; Входом первого элемента И - НЕ, Вход синхронизации регистра адреса соединен с Выходом второго элемента ИНЕ, первый, Второй,третий входы которого соединены соответственно с первым разрядом выхода поля условий регистра микрокоманд, выходом пятого элемента И - НЕ, вторым тактовым 5 входом хстройства, вход хстановки в 0разрядов первого информя 1 ионного входа регистра микрокоманд, соедпнен с выходом третьего элемента И, Входы установки В 1 второго и третьего разрядов информационного входа полч ,правления регистра мнкрокоманд соединены с Выходом Второго элсента И, первый вход которого соединен с первым разрядом прямого выхода управляюгцего ре. Ветра и перьым входом пятого элементаНЕ, второй вход которого соединен с Вторым разрядом пряхого выхода гнрвлнюгцего регистра, перВый разряд инверсного выхода кОтО- рого соединен с втор м входом первого элемента И, Второй разряд инверсного выхода поля управления регистра микрокох.знд соединен с Втоыгч Входом третьего элемента И - -НЕ. Всрвый информационный Вход-выход блока гамяти адресов переходов соединен с вгорым выходом блока ключей.1481759 т опса ТаклыСоставитель А. СошкинРедактор С. Патрушева Техред И. Верес Корректор В, Гирняк Заказ 2691/50 Тираж 669 Подписное ВНИИПИ Государственного комитета по изобретениям и открытиям при ГКНТСССР113035, Москва, Ж - 35, Раушская наб., д. 4/5Производственно-издательский комбинат Патент, г. Ужгород, ул. Гагарина, 1 О 1
СмотретьЗаявка
4182645, 12.12.1986
ЛЬВОВСКИЙ ПОЛИТЕХНИЧЕСКИЙ ИНСТИТУТ ИМ. ЛЕНИНСКОГО КОМСОМОЛА
АГИЗИМ АРОН МАРКОВИЧ, ГОРЯЧЕВА ЕЛЕНА ДМИТРИЕВНА, КРАВЦОВ ВЛАДИМИР РУВИМОВИЧ
МПК / Метки
МПК: G06F 9/22
Метки: микропрограммное
Опубликовано: 23.05.1989
Код ссылки
<a href="https://patents.su/6-1481759-mikroprogrammnoe-ustrojjstvo-upravleniya.html" target="_blank" rel="follow" title="База патентов СССР">Микропрограммное устройство управления</a>
Предыдущий патент: Устройство выборки команд процессора
Следующий патент: Устройство для адресации памяти
Случайный патент: Барабанная сушилка