Микропрограммное устройство управления — SU 1140120 (original) (raw)
ГОСУДАРСТВЕННЫЙ КОМИТЕТ СССПО ДЕЛАМ ИЗОБРЕТЕНИЙ И ОТНРЫТИ(54)(57) МИКРОПРОГРАММНОЕ УСТРОЙСТВО УПРАВЛЕНИЯ, содержащее генератор так товых импульсов, вход запуска которого является управлякицим входом уст ройства, блок памяти, счетчик микро- команд, и) дешифраторов, регистр, счетчик тактов, узел свертки, схему сравнения, первый элемент НЕ и элемент 2 И-ИЛИ, выход которого соединен со счетным входом счетчика микрокоманд, первый, второй и третий входы записи которого соединены соответственно с первым вьжодом и)-го дешифратора, первым выходом (и) - 1) -го дешифратора и первым выходом первого дешифратора, первая и вторая группы информационньж входов счетчика микрокоманд соединены соответственно с первой группой входов внешнего адреса микрокоманд устройства и группой информационных выходов регистра, тре тья группа информационных входов счетчика микрокоманд соединена с группой информационных выходов устройства, группой выходов блока памяти, группами информационных входов дешифратбров, группой информационных входов счетчика тактов и первой1 группой информационных входов регистра, вторая и третья группы информационных входов которого соединены соответственно с группой информационных вьжодов счетчика микрокоманд и первой группой информационных входов устройства, первый, второй и третий входы записи регистра соединены соответственно с вторым выходом первого дешифратора, первым выходом второго дешифратора и первым выходом третьего дешифратора, счетный вхоп счетчика тактов соединен с первым выходом (в)-2)-го дешифратора и через первый элемент НЕ с первым входом элемента 2 И-ИЛИ, второй вход которо- а го соединен с выходом счетчика тактов, вход записи которого соединен с третьим выходом первого дешифратора, чет- вертый выход которого соединен со стробирующими входами остальных дешифраторов, выходы дешифраторов подключены к соответствующим входам первой группы входов узла свертки, группа выходов -го (=1,2ш) дешифратора соединена с -й группой управляющих выходов устройства, выход узла свертки соединен с первым информационным входом схемы сравнения, второй информационный вход которой подключен к вьжоду контрольных разрядов блока памяти, выход схемы сравнения является выходом индикации исправности устройства, о т л и ч а ющ е е с я тем, что, с целью сокращения оборудования, оно содержит элемент И, второй элемент НЕ, элемент ИЛИ, коммутатор адреса и элемент задержки, причем выход генератора тактовых импульсов соединен с первым входом элемента И, выход которого1140120 20 соединен со стробирующим входом схемысравнения, входом чтения блока памяти и третьим входом элемента 2 И-ИЛИ,второй вход элемента И соединен черезвторой элемент НЕ с выходом элементаИЛИ, входом записи блока памяти иуправляющим входом коммутатора адреса, группа выходов. которого соединена с группой адресных входов блокапамяти и второй группой входов узласвертки, первая и вторая группы информационных входов коммутатора адреИзобретение относится к вычислительной технике и может быть использовано в устройствах управления цифровых вычислительных машин.Известно микропрограммное Устройство управления, содержащее генератор тактовых импульсов, блок памяти,счетчик микрокоманд, регистр и ш дешифраторов Я .Недостатком данного устройства явОляется необходимость значительныхзатрат оборудования на его реализацию.Когда по ходу выполнения программы не требуется выдавать на выходыустройства никаких микроопераций в, 15течение определенного отрезка времени (тактов), необходимо оставлять впамяти микрокоманд зоны нулевьм ячеек, число .которых равно количествурежимов "Трата" в программе. Числонулевых ячеек в каждой зоне зависитот количества тактов, в течение которых необходимо произвести режим"Трата". Все это приводит к значительному увеличению затрат памяти 25микрокоманд при реализации такогоустройства управления,.Наиболее близким к предлагаемому по технической сущности и достигаемому положительному результату явля 30 ется микропрограммное устройство управления, содержащее генератор тактовых импульсов, вход запуска которого является управляющим входом устройства, блок памяти, счетчик мик-З 5 рокоманд, п 1 дешифраторов, регистр счетчик тактов, узел свертки, схе. му сравнения, первый элемент НЕ и са соединены соответственно с второйгруппой входов внешнего адреса микрокоманд устройства и группой информационных выходов счетчика,микрокоманд, первый вход элемента ИЛИсоединен через элемент задержкис первым выходом 1 -го дешифратора,а второй - с входом записи устройства, группа информационных входов блока памяти является второй группой информационных входов устройства. элемент 2 И-ИЛИ, выход которого соединен со счетным входом счетчика микрокоманд, первый, второй и третийвходы записи которого соединены соответственно с первым выходом ю-годешифратора, первым выходом (М)го дешифратора и первь 1 М выходом первого дешифратора, первая и втораягруппы информационных входов счетчика микрокоманд соединены соответственно с первой группой входов внешнего адреса микрокоманд устройстваи группой информационных выходов регистра, третья группа информационныхвходов счетчика микрокоманд соединенас группой информационных выходов устройства, группой вьмодов блока памяти, группами информационных входов дешифратора, группой информационных входов счетчика тактов и первойгруппой информационных входов регистра, вторая и третья группы информа"ционных входов которого соединенысоответственно с группой информационньм выходов счетчика микрокоманд ипервой группой информационных входовустройства, первый, второй и третийвходы записи регистра соединены соответственно с вторым выходом первого дешифратора, первым выходом второго дешифратора и.первым выходомтретьего дешифратора, счетный входсчетчика тактов соединен с первымвыходом (Ф)-го дешифратора и черезпервый элемент НЕ с первым входомэлемента 2 И-ИЛИ, второй вход которого соединен с выходом счетчикатактов, вход записи которого сорди11401нен с третьим выходом первого деши-фратора, четвертый выход которого соединен со стробирующими входами остальных дешифраторов, выходы дешифраторов подключены к соответствующим входам первой группы узла свертки, группа выходов -го (х 1,2щ) дешифратора соединена с -й группой управляющих выходов устройства, выход узла свертки соеди нен с первым информационным входом схемы сравнения, второй информационный вход которой подключен к выходу контрольных разрядов блока памяти, выход схемы сравнения является выхо дом индикации исправности устройства 2 .Недостатком известного микропрограммного устройства управления является отсутствие возможности опера тивного изменения содержимого любой ячейки блока памяти, а следовательно, и набора микроопераций в ходе выполнения микропрограммы по результатам работы других устройств ЭВМ,что при водит к значительному расходу ячеек блока памяти при организации циклических микропрограмм с модификацией констант или наборов микроопераций внутри цикла. Так, например,для под- З 0 готовки к выдаче в абоненты модифицированных констант в ходе выполнения циклических микропрограмм (значение констант меняется в каждом цикле) в известном микропрограммном устройстве требуется в общем случае ( щ;) .и +3 р ячеек (где п - число циклов, р - число групп констант, выдаваемых в одном цикле (под группой подразумеваются подряд записанные константы 40 в блоке памяти);щ- число констант в данной группе) .Кроме того, в указанном микропрограммном устройстве в принципе невозможна выдача модифицированных кон стант (наборов микроопераций) при выполнении циклических микропрограмм, если значения выдаваемых констант (наборов микроопераций) в очередном цикле определяются результатами вы полнения предыдущего (предыдущих) цикла.Указанный недостаток снижает функциональные возможности, гибкость программирования известного микро программного устройства управления и приводит к значительному увеличению затрат оборудования (количества яче 2 О 4ек блока памяти) при. организации циклических микропрограмм с модификацией констант или наборов микрооперацийвнутри цикла.Цель изобретения - сокращение оборудования микропрограммного устройства управления.Поставленная цель достигается тем, что в микропрограммное устройство управления, содержащее генератор тактовых импульсов, вход которого является управляющим входом устройства, блок памяти,:счетчик.микрокоманд, щ дешифраторов, регистр, счетчик тактов, узел свертки, схему сравнения, первый элемент НЕ и элемент 2 И-ИЛИ, выход которого соединен со счетным входом счетчика микрокоманд, первый, второй и третий входы записи которого соединены соответственно с первым входом щ-го дешифратора, первым выходом (щ) -го дешифратора и первым выходом первого дешифратора, первая и вторая группы информационных входов счетчика микрокоманд соединены соответственно с первой груп-, пой входов внешнего адреса микрокоманд устройства и группой информационных выходов регистра, третья группа информационных входов счетчи ка микрокоманд соединена с группой информационных выходов устройства, группой выходов блока памяти, группами информационных входов дешифраторов, группой информационных входов счетчика тактов и первой группой информационных входов регистра, вторая и третья группы информационных входов которого соединены соответственно с группой информационных выходов счетчика микрокоманд и первой группой информационных .входов устройства, первый, второй и третий. входы записи регистра соединены соответственно с вторым выходом первого дешифратора, первым выходом второго дешифратора и первым выходом третьего дешифратора, счетный вход счетчика тактов соединен с первым выходом (щ) -го дещифратора и через первый элемент НЕ с первым входом элемента 2 И-ИЛИ второй вход которого соединен с выходам счетчика тактов, вход записи. которого соединен с третьим выходом первого дешифратара,.четвертый выход которого соединен со стробирующими входами остальных дешифраторов, выходы дешифраторов подключены к соответст 1140120вующим. входам первой группы входов узла свертки, группа выходов -го (1 = 1,2, ,ш). дешифратора соединена с х-й группой. управляющих выходов устройства, выход узла свертки сое динен с первым информационным входом схемы сравнения, второй информационный вход которой подключен к выходу контрольных разрядов блока памяти, выход схемы сравнения является выхо О дом индикации исправности устройства, дополнительно введены элемент И, второй элемент НЕ, элемент ИЛИ, коммутатор адреса и элемент задержки, причем, выход генератора тактовых 15 .импульсов соединен с первым входом элемента И, выход которого соединен со стробирующим входом схемы сравнения, входом чтения блока. памяти и третьим входом элемента 2 И-ИЛИ, вто рой вход элемента И соединен через второй элемент НЕ с выходом .элемента ИЛИ, входом записи блока памяти и управляющим входом коммутатора ад" реса, группа выходов которого соеди иена с группой адресных входов блока памяти и второй группой входов узла свертки, первая и вторая группы ьн- . формационных входов коммутатора адреса соединены соответственно с вто рой группой входов внешнего адреса микрокоманд устройства и группой информационных выходов счетчика микро- команд, первый вход элемента ИЛИ соединен через элемент задержки с первым З 5 выходом -го дешифратора, а второй - с-входом записи устройства, группа информационных входов блока памяти является второй группой информационных входов устройства. 40На чертеже представлена функциональная схема. устройства.Микропрограммное устройство управления содержит. генератор 1 тактовых импульсов, блок 2 памяти, счетчик453 микрокоманд, дешифраторы 4 -4ре- гистр 5, счетчик 6 тактов, узел 7 свертки, схему 8 сравнения, первый элемент НЕ 9, элемент. 2 И-ИЛИ 10, элемент И 11, второй элемент НЕ 12, элемент ИЛИ 13, коммутатор 14 адреса и элемент 15 задержки,Устройство работает следующим образом.Первоначально производится загруз ка информации,в блок 2 памяти следующим образом. Команда записи с входа записи устройства через второй вход элемента ИЛИ 13 воздействует на вход записи блока 2 памяти, на управляющий вход коммутатора 14 адреса и через второй элемент НЕ 12 на второй вход элемента И 11, блокируя уровнем 0 прохождение импульсов с выхода генератора 1 на вход чтения блока 2 памяти, и стробирующий вход схемы 8 сравнения, а также прибавление единицы в счетчик 3 микрокоманд.Уровень ".1" с выхода элемента ИЛИ 13 разрешает прохождение информации с первой группы информационных входов коммутатора 14 адреса, соединенных с второй группой входов внешнего адреса микрокоманд устройства, через коммутатор адреса 14 на группу адресных входов блока 2 памяти и соответствующие входы второй группы входов. узла 7 свертки. По сигналу, поступающему на вход записи блока 2 памяти, информация с группы информационных входов блока 2 памяти сое/ диненных с второй группой инфор- формационных входов устройства, записывается в ячейку, адрес которой соответствует информации, поступающей с второй группы входов внешнего адреса микрокоманд устройства.Генератор 1 тактовых импульсоввырабатывает сигналы, по которым приналичии уровня "1" на втором входеэлемента И 11 производится считывание информации из блока 2 памяти и состояние счетчика 3 микрокоманд изменяется на единицу после каждого опроса памяти 2 блока. Сигнал с выхода генератора 1 тактовых импульсов поступает при наличии уровня "1"на втором входе элемента И 11 на счет-ный вход счетчика микрокоманд 3 через элемент 2 И-ИЛИ 10 при условии,что на первый вход элемента 2 И-ИЛИ 10 поступает разрешающий сигнал уровня "1" с выхода первого элемента НЕ 9, Уровень."1" на выходе первого элемента НЕ 9 соответствует уровню "0" первого выхода дешифратора 4 . Микро- команда, считанная из блока памяти 2, по адресу, указанному в счетчике 3микрокоманд, поступает на группы информационных входов дешифраторов 41 4 4 4 4 , и в соответствии с кодом, записанным в каждой группе, на выходах этих дешифраторов.вырабатываются микрооперации,7 11401 которые подаются к устройствам цифровой вычислительной машины (не показана) для выполнения соответствующих действий,Значение счетчика микрокоманд увеличивается на единицу,. производится считывание микрокоманды из следующей ячейки блока памяти 2 и ее расшифровка, цикл работы устройства повторяется. 1 ОЧтение констант из блока 2 памяти и передача их в абоненты устройства управления происходит следую - щим образом.1151Каждому выходу дешифратора 4 соответствует абонент устройства управления, которому записывается константа из блока 2 памяти, При возбуждении хотя бы одного из выходов дешифратора 41, на его четвертом выходе, связанном со стробирующими входами остальных дешифраторов, появляется сигнал, запрещающий выработку микроопераций на выходах дешифраторов 4, 4, 4; 4. Поэтому при считывании константы из блока 2 памяти и передачи ее абоненту дешифратора 4 дешифраторы 4 , 4 З, 4, 4 не работают и ложные микроопера- Фции не вырабатываются.Изменение содержимого любой ячейки блока 2 памяти происходит следующим образом.35При расшифровке соответствующей микрокоманды возбуждается первый выход 1-го дешифратора, соединенный с входом элемента 15 задержки. Элемент задержки 15 осуществляет задержОку входного сигнала на время, равное периоду следования импульсов генератора 1.Сигнал с выхода. элемента 15 за 45 .держки, проходя через первый вход элемента ИЛИ 13, воздействует на вход записи блока 2 памяти, на управляющий вход коммутатора 14 адреса и через второй элемент НЕ 12 на второй. вход элемента И 11, блокируя уровнем "0" с выхода второго элемента НЕ 12 прохождение импульсов с выхода генератора 1 на вход чтения блока 2 памяти и стробирующий вход схемы сравнения, а также прибавление единицы в счетчик 3 микрокоманд.Уровень "1" с выхода элемента ИЛИ 13 разрешает прохождение информации 20 8с первой группы информационных входов коммутатора 14 адреса, соединенных с второй группой входов внешнего адреса микрокоманд устройства,на группу выходов коммутатора 14 адреса и, следовательно, на группу адресных входов блока 2 памяти. Такимобразом, по сигналу, поступающему навход записи блока 2 памяти, информация с группы информационных входовблока 2 памяти записывается в ячейку,адрес которой соответствует информации, поступающей с второй группывходов внешнего адреса микрокомандустройства,Режим лТратал в микропрограммепроизводится следующим образом.На счетчик тактов 6 по группе информационных входов производитсязапись константы из блока памяти2 по микрооперации, вырабатываемойтретьим выходом дешифратора 4 4 и появляющейся на входе записи. счетчика6 тактов. Значение константы, записываемой на счетчик 6 тактов, должнолбыть равно 2 -К (где и - число разрядов счетчика тактов 6; К - числотактов, в течение которых осуществляется режим лТрата") . Затем производится обращение за следующей микрокомандой, и на первом выходе дешифратора 4,появляется микрооперация, которая воздействует на счетный вход счетчика тактов 6 и черезпервый элемент НЕ 9 блокирует прохождение сигналов с выхода генератора1 тактовых импульсов через элемент2 И-ИЛИ 10 на счетный вход счетчика3 микрокоманд. При этом с выхода генератора 1 тактовых импульсов навход чтения блока 2 памяти продолжают поступать сигналы считывания информации, и на первом выходе дешифратора 4 ,каждый раз вырабатываетсямикрооперация, воздействующая насчетный вход счетчика 6 тактов иблокирующая изменение значения счетчика 3 микрокоманд,Состояние счетчика тактов 6 изменяется на единицу после прихода каждого импульса на его счетный вход с первого выхода дешифратора 4,лКогда состояние. счетчика 6 тактов характеризуется числом (2 -1), т.е. всели разрядов счетчика тактов 6 находятся в единичном состоянии, то по приходу очередного импульса,на счетный вход. счетчика б тактов на его9 11401 выходе вырабатывается сигнал переполнения, который через схему 2 И-ИЛИ 10 воздействует яа счетный вход счетчика 3 микрокоманд. Счетчик 3 микро- команд.к .следующему такту изменяет свое состояние, на единицу из следуюУщей ячейки .блока 2 .памяти производит.ся считывание информации.Для осуществления безусловных переходов .в микропрограмме.производится 10 обращения к блоку 2 памяти за константой и запись считанной константы по третьей группе .информационных входов на счетчик 3 микрокоманд по микрооперации,.вырабатываемой первым выходом дешифратора 41 и появляющейся на третьем входе записи счетчика З.микрокоманд.Условные переходы в микропрограмме осуществляются следующим образом,Если по ходу программы необходимо проанализировать состояние первой группы входов внешнего адреса мик рокоманд. устройства, связанных с первой группой информационных входов 25 счетчика 3 микрокоманд, или группы информационных выходов регистра 5, связанных со второй .группой информационных входов счетчика 3 микрокоманд, то на первый и второй входы записи счетчика З,микракоманд, связанные с первыми выходами соответственно а-го и (а)-го дешифраторов, поступают микрооперации, по которым информация с первой группы входов внеш 35 него адреса микрокоманд устройства или с группы информационных выходов регистра 5 записывается.на счетчик 3 микрокоманд и управление передается той ячейке блока 2 памяти, адрес которой. соответствует состоянию первой группы входов внегднего адреса микрокоманд устройства, связанных с первой группой информационных входов счетчика .микрокоманд 3, или сос тоянию группы информационных выходов регистра 5Запись константы на регистр 5 производится из блока 2 памяти по первой .группе информационныхвходов и микрооперации, вырабатывае 50мой вторым. выходом дешифратора 4 ипоявляющейся на первом входе записирегистра 5.С целью расширения функциональных возможностей при организации условных переходов информация.на регистр, 5 может записываться также спервой группы. информационных входов 20 10устройства, связанных с третьей группой информационных вхоцов регистра 5, и с группы информационных вьгходов счетчика 3 микрокоманд, связанных с второй группой информационных входов регистра 5,.по микрооперациям, вырабатываемым первыми выходами дешифраторов 4 и 4 и поступающим соответственно:а второй и третий входы записи регистра 5.Контроль правильности работы микропрограммного устройства управления в ходе выполнения микропрограммы осуществляется следующим образом,В каждой ячейке блока 2 памяти записаны контрольные разряды по модулю 1 (таос 11) когда адреса данной ячейки,1 блока 2 памяти и кода вьгходов дешифаторов 4 1 4 4 44 г ответствующих информации в данной ячейке блокапамяти 2, Выход контрольных разрядов блока 2 памяти подключен к второму информационному входу схемы 8 сравнения. Узел 7 свертки осуществляет свертку кода адреса и кода выходов дешифраторов 4 1, 4, 4, 4 4 по гпос 11. Вьгход узла 7 свертки подключен к первому информационному входу схемы 8 сравнения.В каждом такте работы устройства управления сравнивается выход контрольных разрядов блока 2 памяти с выходом узла 7 свертки. В случае формирования ложных микроопераций (или невыработки необходимых микроопераций) из-эа искажения информации в блоке 2 памяти,или кода адреса выход,контрольных разрядов блока 2 памяти не совпадает с выходом узла 7 свертки .и схема 8 сравнения вырабатывает сигнал несравнения, сигнализирующий о сбое или неисправности устройства управления.В предлагаемом микропрограммномустройстве. управления для подготовки выдачи, например, модифицированных констант в ходе выполнения циклических,микропрограмм (значения констант меняются в каждом цикле) требуется в общем случае (.5: ш ) п ячеек блока 2 памяти, т.е. йа 3 р ячеек меньше, чем в известном устройстве,Кроме того, в предлагаемом микропрограммном устройстве в отличие от известного возможна выдача модифицированньи консгант.(наборов микроопе.Проектв раций) при выполнении. циклическихмикропрограмм, если значения выдаваемых констант (наборов микроопераций) в очередном цикле определяются результатами выполнения предыдущего (предыдущих) цикла.