Микропрограммное устройство управления
Похожие патенты | МПК / Метки | Текст | Заявка | Код ссылки
Текст
80115607 СОЮЗ СОВЕТСНИХСОЦИАЛИСТИЧЕСНИХРЕСПУБЛИН 22 ОПИСАНИЕ ИЗОБРЕТЕНИ о СССР 2, 1981 эле-.И ГОСУДАРСТВЕННЫЙ НОМИТЕТ СССР ПО ДЕЛАМ ИЗОБРЕТЕНИЙ И ОТНРЫТИ А 8 ТОРСКОМУ СВИДЕТЕЛЬСТВУ(5 б) Авторское свидетельство СССРВ 503240, кл. С 06 Р 9/16,(54)(57) МИКРОПРОГРАММНОЕ УСТРОЙСТВОУПРАВЛЕНИЯ, содержащее блок памятимикрокоманд, регистр микрокоманд,дешифратор микроопераций, блокментов И связи, блок элементовусловий, мультиплексор адреса и регистр адреса, вход и выход которогосоединены соответственно с выходоммультиплексора адреса и первым входом блока элементов И связи, вход ивыход блока памяти микрокоманд подключены соответственно к выходу регистра адреса и входу. регистра микрокоманд, выход поля микроопераций которого соединен с входом дешифратора микроопераций, а первыйвход блока элементов И условий подключен к входу внешних условий устройства, о т л и ч а ю щ е е с ятем, что, с целью повышения быстродействия, оно содержит мультиплексор условий., сумматор адрес, счетчик возврата, блок элементов ИЛИ,блок элементов И возврата, дна элемента ИЛИ, три элемента И и трн элемента НЕ, причем первый и второйвходы и выход мультиплексора условий соединены соответственно с выходом поля условий регистра микрокоманд, входом внутренних условий устройства и входом приращения сумматора адреса, первый и второй информационные входы которого подключены соответственно к выходу поля адреса регистра микрокоманд и выходу блока элементов И условий, первый и второй входы первой группы входовмультиплексора адреса соединены соответственно с выходом счетчика возврата и первым выходом дешифратора микроопераций, второй, третий, четвертый и пятый выходы которого подключены соответственно к второ- д му входу блока элементов И условий, Е первому, второму и третьему входам первого элемента ИЛИ, вход записи, счетный вход и информационный вход счетчика возврата соединены соответственно с выходом первого элемен- Я та ИЛИ, четвертым выходом дешифратора микроопераций и выходом блока элементов ИЛИ, кроме того, информационный вход счетчика возврата под" ключен к третьему выходу дешифрато" ра микроопераций, вход и выход первого элемента НЕ соединены соответственно с пятым выходом дешифратораФеей микроопераций и вторым входом блока элементов И связи, выход которого подключен к первому входу блока элементов ИЛИ, первый и второй входы и выход блока элементов И возврата Дфоп соединены соответственно с информационным входом устройства, пятым выходом дешифратора микроопераций и вторым входом блока элементов ИЛИ, первый, второй и третий входы первого элемента И подключены соотвегственно к выходу второго элемента1156071 НЕ, пятому выходу дешифратора микроопераций и нхоу признака прерывания устройства, первый, второй итретий входы и выход второго элемента И соединены соответственно с информационным нходом устройства,пятым выходом дешифратора микроопераций, входом признака прерыванияустройства и входом второго элементаНЕ, первый и второй входы и ньжодтретьего элемента И подключены соответственно к входу признака прерывания устройства, пятому выходу дешифратора микроопераций и первому входу второго элемента ИЛИ, второй вход Изобретение относится к вычислительной технике и может быть использонано в процессорах специализированных ЭВМ и системах с развитым внутренним языком программирования, допускающим расширение пользователем системы команд.Цель изобретения - повышение быстродействия с одновременным расширением функциональных возможностей , 1 р и сокращением объема блока памяти микрокоманд. Н фиг. 1 приведена функциональная схема устройства микропрограммного управления, на фиг.2 - блоксхема алгоритма, поясняющего работу этого устройства.Иикропрограммное устройство управления имеет информационный вход 120 устройства и содержит блок 2 памяти микрокоманд, счетчик 3 возврата, блок 4 элементов И связи, блок 5 лементон И счетчика возврата, регистр 6 адреса, блок 7 элементов И адреса возврата, первый блок 8 элементов И начального адреса команды, второй блок 9 элементов И начального адреса команды, блок 10 элементов И адреса блока памяти, один из входон которого соединен с выходом сумматора 11 адреса микрокоманды, соединенного своим входом 1" с выходом мультиплексора 12 условий, дешифратор 13 микроопераций, шину 14 адреса, образующую вместе с и выход которого соединены соответ"ственно с первым выходом дешифратора микроопераций и входом третьегоэлемента НЕ, первый и второй входывторой группы входов, первый и второй входы третьей группы входов ипервый и нторой входы четвертойгруппы входов мультиплексора адресаподключены. соответственно к выходупервого элемента И и информационному входу устройства, вчходу второ- .го элемента И и информационному входу устройства, выходу третьего элемента НЕ и выходу суматора адре-,са. элементами И 7-10 мультиплексор(коммутатор) адреса микрокоманды,регистр 15 микрокоманд, блок 16элементов ИЛИ, элемент НЕ 17, элемент ИЛИ 18, элемент НЕ 19, вход 20внешних условий устройства, поля регистра 15 микрокоманц: 21 - адреса,22 - условий, 23 - микроопераций,элемент ИЛИ 24, элемент НЕ 25, элементы И 26 и 27, .вход 28 внутреннихусловя устройства, элемент И 29,вход 30 условия прерывания устройства и блок 31 элементов И условий,соединенный одним из входов с входом 20 устройства, вход 30 устройства соединен с одним из входовэлементов И 26, 27 и 29, а вход28 устройства - с одним из входовмультиплексора 12 условий. Алгоритм(фиг,2), поясняющий работу устройства (фиг.1) представлен позициями32-46,Рассмотрим работу предлагаемогоустройства (фиг.1) с помощью алгоритма (фиг.2). Микропрограммное устройство управления обеспечивает выбор следующей микрокоманды иэ блока 2 памяти или считывание новых команд с магистрали данных (вход 1 устройства) в необходимой для реализации заданного алгоритма последовательности,При этом формирование адреса следующей мнкрокоманды происходит на3 1156 выполняемой (текущей) микрокоманде, т.е. на микрокоманде, записанной в регистр 15 микрокоманд и хранимой в нем до окончания машинного цикла устройства (т.е, в течение времени, необходимого для выполнения текущей микрокоманды).Если выполняемая микрокоманда содержит признак считывания новой команды (т.е. на 5-м выходе дешифрато р ра 13 присутствует сигнал - условие 32 выполняется), то адрес следующей за выполняемой микрокоманды будет, считываться с магистрали данных (по входу 1 устройства).15При этом на микрокоманде проверяется наличие/отсутствие условия прерывания (наличие/отсутствие сигнала на входе 30 устройства - выполнение/ невыполнение условия 33 (фиг.2),Если условие прерывания в выполняемой микрокоманде прнсутствует, выполняется микропрограмма обработки .прерывания (выполняется вершина 46 действия - фиг.2).25При этом адрес первой микрокоманды микропрограммы обработки прерывания (при счиаъвании новой команды) формируют эа счет признака прерывания (наличие сигнала на входе 30 устройства) и адресной части микро- . командц, на которой считывается новая команда (содержимое поля 21 регистра 15 микрокоманд), а именно: сигнал с входа 30 устройства (вход условия прерывания) блокирует по третьим входам элементов И 26 и 27 прохождение информации в регистр 6 через блоки 8 и 9 элементов И, а на выходе элемента И 29 формирует сигнал, которнй через второй вход эле 40 мента ИЛИ 24 и элемент НЕ 19 разрешает прохождение в регистр 6 адреса (через сумматор 11, блок 10 элементов И и шину 14 адреса) содержимого адресного поля 21 регистра 15 микро"45 команд. Содержимое поля 21 в этом случае является начальным адресом микропрограммы обработки прерывания. Если условие прерывания отсутствуО . ет (отсутствует сигнал на входе 30 устройства, условная вершина 33 не выполняется), проверяется наличие/от-сутствие признака расширенной системы команд на выполняемой микрокоманде (выполнение/невыполнение условной вершины 34), т,е. наличие/отсутствие определенного кода части кода опера 071 4ции команды на первом входе элемен. та И 27 с входа 1 устройства.При наличии признака считывания иотсутствии признаков прерывания ирасширенной системы команд (условнаявершина 32 выполняется, а вершины 33и 34 - не выполняются) выполняется ,вершина 35 действия (фиг,2), т.е. выполняются следующие действия: считывание кода операции команды в регистре 6 адреса микрокоманДы, считывание кода операции команды черезблок 5 элементов И в счетчик 3 возврата, т.е. Формируются адрес первоймикрокоманды считываемой команды,а также адрес возвратаиз микропро"граммы,Своеобразие Формирования адресавозврата в этом случае (при считывании новой команды) заключается в том,что этот адрес возврата формируют эасчет измененного каким-либо образомкода операции этой считываемой команды.Рассмотрим подробнее, что происходит в устройстве при считыванииновой команды.На пятом выходе дешифратора 13(фиг.1) присутствует сигнал, появление которого определяется кодом вполе 23 микроопераций регистра 15микрокоманд, заложенным при микропрограммировании, а считывание кодаоперации команды в регистр 6 адресамикрокоманд происходит с выхода бло-.ка 8 элементов И начального адресакоманды при наличии сигнала на вто;ром входе его. В результате в регистре 6 получаем адрес первой микрокоманды считываемой команды (микропрограммы), по которому из блока 2 памяти выбирается эта первая микрокоманда. Далее эта микрокоманда переписывается в регистр 15 микрокоманд, гдеона хра" нится в течение машинного цикла (до момента окончания ее выполнения), Смена содержимого в регистре 15 микрокоманд означает окончание предыдущей и начало новой микрокома яды.Одновременно с Формированием адреса первой микрокоманды при считывании новой команды Формируют адрес возврата из микроподпрограммы, для чего считывают код операции команды через блок 5 элементов И по первому входу н через первый вход бло 115607ка ИЛИ 16 в счетчик 3 возврата, по управляющему входу счетчика 3 через первый вход второго элемента ИЛИ с пятого выхода дешифратора 13.Этот адрес в дальнейшем при необходимости (по определенному признаку) может быть использован для выбора микрцкоманды, на которую необходимо вернуться после выполнения микроподлрограммы. 10При выполнении условных вершин 32 и 34 и невыполнении условной вершины 33 (наличие признака считывания новой команды и признака прерывания) выполняется вершина 36 действия 15 (фиг,2),В этом случае обеспечивается считывание команды расширенной системы команд при определенном (исходно заданном) количестве разрядов кода операции команды путем формирования дополнительного старшего разряда за счет части кода операции считываемой команды, являющейся признаком расширенной системы команд.При этом из признака расширеннойсистемы команд (часть кода операции команды) формируют необходимые дополнительные старшие разряды адреса и записывают в регистр 6 .адреса микрокоманд эти разряды и разряды ко-: манды в количестве, равном коду слерации, исключив разряды признака расширенной системы команд, а также считывают код операции команды через блок 5 элементов И счетчика возврата в регистр 3 возврата, т.е. формируют адрес первой микрокоманды считываемой команды для случая расширенной системы команд и адрес возврата из микроподпрограммы.Рассмотрим, что происходит при это этом в устройстве(фиг.1),Управляющее воздействие с пятого выхода дешифратора 13 поступает на второй вход элемента И 27, а часть кода операции команды с первой группы шин информационного входа 1 устройства поступает на второй вход этого элемента.При этом на выходе элемента И 27 формируется старший (к примеру, девятый) разряд адреса, который одновременно является разрешающим воздействием для блока элементов И 9 адреса. Далее этот старший разряд кода вместе с младшими разрядами начальной микрокоманды, поступающими 1 бс второй группы шин магистрали данных (с входом 1 устройства) и представляющими собой разряды команды вколичестве кода операции беэ числаразрядов, характеризующих признакрасширенной системы команд, поступа"ет через блок 9 элементов И и черезшину 14 адреса в регистр 6 адреса..Сигнал с выхода элемента И 27 через элемент НЕ 25 блокирует по ;третьему входу элемент И 26, запрещая считывание кода операции через блок 8 элементов И начального адреса команды.Совпадение на элементе И 29 воздействия с пятого выхода дешифратора 13 с отсутствием сигнала на входе30 устройства приводит к формированию сигнала на выходе элемента И 29,который через элемент ИЛИ 24 по второму входу и элемент НЕ 19 блокируетпрохождение содержимого поля 21 адреса через сумматор 11 и блок 10 элементов И адреса блока памяти в ре-,:гистр 6 адреса.Блок 7 элементов И адреса возврата заблокирован отсутствием разрешающего сигнала на первом выходе дешифратора 13,Формирование адреса возврата вэтом случае аналогично указанному:код операции команды через блок 5и элемент ИЛИ 16 поступает на входсчетчика 3 возврата, а затем поуправляющему воздействию на пятомвыходе дешифратора 13 - через элемент ИЛИ 18 - этот код заносится всчетчик 3 возврата.По адресу, сформированному в регистре 6 адреса в результате выполнения вершины 35 или 36 действия,выбирают первую микрокоманду считываемой команды (микропрограммы) и записывают ее в регистр 15 микрокоманд,а затем выполняют ее (выполняетсявершина 37 действия - фиг,2).В процессе выполнения выбраннойтаким образом микрокоманды так же,как на предыдущей микрокоманде, проверяется наличие/отсутствие признака считывания новой команды (выполнение/невыполнение условной вершины 32). Если условная вершина 32 выполняется, т,е. выполняемая микрокоманда является микрокомандой считывания новой команды, проверяетсявыполнение/невыполнение условныхвершин 33 и 34 (см.алгоритм нафиг.2 и приведенное описание его).1156071Наличие в микропрограммах одина- ченный на единицу, является адресомковых последовательностей, а также микрокоманды, на которую необходимоодинакових микрокоманд позволило вернуться в микропрограмму после вы.использовать в предлагаемом устрой- полненгя микроподпрограммы (адресстве микроподпрограммы. Причем эти 5 возврата), Если выполняемая микроко- .микроподпрограммы могут располагать- манда не является микрокомандой счися по всему обьему блока 2 памяти, тывания ловой команды (условная вертак как переход на первую микроко- шина 32 не выполняется) и не содерианду микроподпрограимы осуществля- жит первый признак формирования адется за счет адресного поля 21 ре реса возврата (условная вершина 38гистра 15 микрокоманд, при этом не- не выполняется), то проверяется налиобходимо обеспечить воэможность воз- чие/отсутствие в ней второго приз-.вращения в свою микропрограмму после нака формирования адреса возвратаокончания выполнения микроподпрограм- (выполнение/невыполнение условной15 вершины 39), и соответственно нали. Формирование адреса возврата в ,чие/отсутствие сигнала на третьеммикропрограмму при считывании новой выходе дешифратора 13.команды (выполнение условной вершины Если выполняемая микрокоманда яв 32) и для случая расширенной системы ляется микрокоиандой перехода накоманд (выполнение условных вершин . ф микрополпрограиму и на третьем выходе32 и 34) уже описано вьппе. дешифратора 13 присутствует сигналРассмотрим, каким образом форми- (условия вершины 39 выполняется,руется адрес возврата при выполнении т.е. микрокоманда содержит второйтекущей микрокоманды (условная вер- признак формирования адреса возврашина 32 после вершины 37 действия 25 та), то адрес иикрокоманды, на котоне выполняется). рую необходимо вернуться после выполЕсли выполняема. нения микроподпрограммы(адрес воэврасли выполняемая иикрокомандата), формируется логическим сложениемне является иикрокомандой считыва-ния новой к (сигнала с третьего выхода дешифратония ново команды (условная вершина32 не выполня ),511 ра 13 и содержимого регистра 6 в блоне выполняется), проверяется наличие/отсутстке 16 элементов ИЛИ с последующимличие отсутствие в ней первого привоздействиеи результата этого сложезнака ормирования адреса возвратания на счетчик 3 по управляющему возвыполнение невыполнение условной,вершины 38 алгоритмдействию с выхода элемента ИЛИ 18,вершины алгоритма и, соответствен"но, наличие/отсутствие сигнала на 55 Использование адреса возврата,четвертом выходе дешифратора 13 - сформированного одним из описанныхспособов и хранимого в счетчике .3,Если выполняемая микрокоманда яв- производится по особому признакуляется микрокомандой, на которой осу- (наличие сигнала на первом выходеществляется переход на микропрограи ф дешифратора 13), который может бытьму,. и иа четвертом выходе дешифрато- заложен в последней микрокоманде люра 13 присутствует. сигнал (выполне- бой иикроподпрограммы. В этом случаеюние условнои вершины 38), то адрес (возврат из микроподпрограммы) сигвозврата из. микроподпрограммы форин- нал с первого выхода дешифратора 13руется эа счет содержимого регистра 45 через элемент ИЛИ 24 и элемент НЕ6 адреса,.представляющего собой ад" 19 блокирует прохождение содержимогорес этой выполняемой микрокоманды. адресного поля 21 через сумматор 11,Содержимое регистра 6 адреса по блок 10 элементов И и шину 14, а поуправляющему воздействию выхода эле- второму входу блока 7 элементов И -мента ИЛИ 18 на первый вход счетчи ф разрешает прохождение содержимогока 3 возврата записывается в него, счетчика 3 через блок 7 и шину 14а воздействием по второму управляюще- в регистр 6, т.е. при положительномму входу счетчика 3 возврата с чет- решении вершины 43 .при необходкмосвертаго выхода дешифратора 13 содер- ти возврата в микропрограмму послежимое счетчика 3 возврата увеличива выполнения микроподпрограимы выполняется на единицу. Полученный таким об- ется вершина 40 (фиг.2). В результаРазом ндрес, представляющий собой те содержимое. счетчика 3 записываетадрес выполняемой.микрокоианды, увели- ся в регистр 6 и выбирает по данноо данному,адресу в блоке 2 памяти микрокоманду, на которую необходимо вернутьсяпосле выполнения микроподпрограммы,т.е. осуществляется возврат из микроподпрограммы в выполняемую микропрограмму.При невыполнении условной вершины43, т.е. при отсутствии необходимости возврата в микропрограмму,проверяется выполнение/невыполнение 10условной вершины 44 (наличие/отсутствие признака условного переходаилн выполнение условия и соответственно наличие сигнала на входе 28(вход внутренних условий) или на вхо- Иде 20 (внешних условий устрдйства),Если условная вершина 44 выполняется, т,е. выполняемая микрокомандаявляется условной микрокомандой,требующей анализа условий, поступаю- эрщих на вход 20 или 28, о выполняет-.ся вершина действия 45, а именно:в регистр 6 записывается арифметическая сумка кода поля 21, являющегося адреснсй частью выполняемоймикрокоманды, результата выходногосостояния мультиплексора 12 и кодаусловий.Рассмотрим подробнее, каким образом формируется адрес следующей микрокоманды для случая условной микрокоманды (условная вершина 44 выполняется), т.е. адрес перехода.Если на вход 28 (вход внутреннихусловий устройства) поступают условия, то код ноля 22 регистра 15ЗЗопределяет порядковый номер проверяемого условия, а выход мультиплексора 12 определяет, выполняется данноеусловие или нет. Если проверяемоеусловие, поступающее на вход 28, выполняется, то адресная часть поля 21регистра 15, поступающая на вход Лсумматора 11 увеличивается на единицу, а если условие не выполняется,адресная часть поля регистра 15 неизменяется,Еслй при этом с входа 20 (внеш- . них условий) также поступает код условия на первый вход блока 31 эле- ф ментов И, а на второй вход последнего поступает сигнал с второго выхода дешифратора 13, то адрес следующей микрокоманды (адрес микрокоманды условного перехода) будет арифметической суммой сигналов на трех входах: адресной части поля 21 регистра 15, выходе блока элементов И 1 10и выходе мультиппексора 12. Такое формирование адреса микрокоманды условного перехода значительно расширяет возможности условных переходов в микропрограммах.Если условная вершина 44 не вьг полняется, т,е, выпрлияемая микрокоманда не является условной микрокомандой, то выполняется вершина 46 действия, а именно в регистр 6 записывается содержимое адресного поля .21 регистра 15 выполняемой микро- команды, представляющее собой адрес следующей микрокоманды, т,е, в блоке 2 памяти выбиратеся следующая микрокоманда. В этом случае на каждом машинном цикле выбора микрокоманды из блока 2 памяти и занесения ее в регистр 15 содержимое поля 21 регистра 15 через сумматор 11, блок 10 элементов И и шину 14 записывается в- регистр 6. Отсутствие сигналов на первом и пятом выходах дешифратора 13 (отсутствие признаков возврата из микроподпрограммы и считывания новой команды) блокирует блоки 7-9 элементов И и разрешает прохождение содержимого поля 21 регистра 15 через сумматор 11, блок 1 О элементов И и цину 14 в регистр 6. Таким образом, совокупность аппаратных средств устройства позволяет построить микропрограммы так, что каждая микрокоманда блока 2 памяти может быть использована более чем в одной микропрограмме, т.е. позволя" ет создавать микроподпрограммы, переход на которые возможно осуществлять по любому адресу блока 2. При этом использование блока 5 элементов И в данном устройстве позволяет сформировать адрес возврата из микроподпрограммы на первой микрокоманде команды (микропрограммы). Формирование адреса возврата с помощью блока 5 и использование при этом признака формирования возврата обеспечивает воэможность выполнения двух и более микроподпрограмм подряд без промежуточного возвращения в свою микропрограмму, что позволяет значительно сократить объем блока 2 памяти.Использование в устройстве отдельных от счетчика 3 мультиплексора 12 и сумматора 11, позволяющих формировать адрес микрокоманды нри условных переходах за счет арифметической суммы кодов, поступающих на вход11 11 сумматора 11, расширяются функциональные возможности описанного устройства при выполнении условных переходов.Кроме того, предложенное устройство обеспечивает расширение системы команд благодаря особенностям формирования адреса начальной микро- команды микропрограмм (команды), позволяющим сформировать дополнительный разряд адреса начальной микро- команды, выбранной из оперативной 560712памяти команды (ь икропрограммы)для выполнения за счет испопьзования признака расширенной системы ко"манд, аложенного в коде операциикоманды,Быстродействие устройства повышается засчет сокращения выборки начальной микрокоманды считываемой команды, достигаемого в устройстве10 ввиду отсутствия микрооперации записи кода операции команды в регистркоманд,
СмотретьЗаявка
3554301, 06.12.1982
ПРЕДПРИЯТИЕ ПЯ А-1736
МИХАЙКИЙ АЛЬБЕРТ ТИМОФЕЕВИЧ, ПАНГА АЙВАР ВИЛФРИДОВИЧ, ПЕТРАКОВ ВЛАДИМИР НИКОЛАЕВИЧ, ТАРАСОВ ВЛАДИМИР ГРИГОРЬЕВИЧ, ЦВЕТКОВ ЯН ЯНОВИЧ
МПК / Метки
МПК: G06F 9/22
Метки: микропрограммное
Опубликовано: 15.05.1985
Код ссылки
<a href="https://patents.su/8-1156071-mikroprogrammnoe-ustrojjstvo-upravleniya.html" target="_blank" rel="follow" title="База патентов СССР">Микропрограммное устройство управления</a>
Предыдущий патент: Устройство для умножения частоты на код
Следующий патент: Устройство управления микропроцессором
Случайный патент: Устройство для поштучной подачи плоских деталей