Процессор с микропрограммным управлением

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

Авторы: Барашко, Власов, Еремин, Курбатов, Румянцев, Соловьев

Есть еще 22 страницы.

Смотреть все страницы или скачать ZIP архив

Текст

(19) И С 06 Р 15/00 ффффЩ ш т1аале .в ИЗОБР ИСАЙ ЕН ЬСТВ 13 .Курбатов,н,Ф.С,Влас заявка48,1976.граммирование,2-113 (прототип ГОСУДАРСТВЕННЫЙ КОМИТЕТ СССРРО делАм изоБРетений и ОтнРыти АВТОРСКОМУ СВ(54) (57) ПРОЦЕССОР С МИКРОПРОГРАММНЫЧ УПРАВЛЕНИЕМ, содержащий арифметико-логический блок, блок памяти,блок управления микропрограммой, информационные выходы которых подключены соответственно к первому, второму и третьему информационным входам коммутатора данных, информационные входы соединены с выходом коммутатора данных, синхронизирующие входыподключены к входу синхронизациипроцессора, выход кодов микрокомандблока управления микропрограммойсоединен с входами микрокоманд арифметико-логического блока и блока памяти, о т л и ч а ю щ и й с я тем,что, с целью повышения производительности, в него введены блок управления данными, блок управленияпрограммой и коммутатор элементовпрограммы, входы которого соединенысоответственно с выходами данныхарифметико-логического блока, выходами элементов программы блока управления данными и блока управленияпрограммой, выход коммутатора данныхподключен к первому информационному входу блока управления данными и к первому адресному входу блока управления программой, информационные выходы которых подключены соответственно к четвертому и пятому информационным входам коммутатора данных, синхронизирующие входы подключены к входу синхронизации процессора, а входы микрокоманд подключены к выходу кодов микрокоманд блока управления микропрограммой, выход коммутатора элементов программы соединен с адресным входом блока управления микропрограммой, с вторым адресным входом блока управления про-Р че граммон, с входом данных арифметикологического блока и с вторым информационным входом блока управления данными, адресный выход которого подключен к адресному входу блока памяти, выход признака условного перехода арифметико-логического блока, вход прерывания и вход требования вывода процессора подключены соответственно к первому, второму и третьему входам признаков блока равления микропрограммой, причем блок управления данными содержит эле менты И, мультиплексор кода операции, дешифратор управления, регистры кода операции, дешифратор адреса, регистр адреса прерывания, мультиплексоры первого и второго слагаемых, регистры первого и второго слагаемых, сумматор, четыре регистра общего назначения, регистр выдачи данных, регистр выдачи элементов, программы, регистр выдачи адреса, регистр уровня прерывания и мультиплексор адреса, выход которого подсрабатывают элементы И 70-72, и выра батываются синхросигналы Т 1, Т 2, Т 5. За блоком 4 управления программой закреплен 3-й разряд поля КСП.При наличии единицы в этом разряде 5 срабатывает элеиенты И 121-124 и вырабатываются синхросигналы Т 2, Т 3, Т 5, Т 6. За блокои 5 управления микропрограммой закреплен 4-й разряд поля КСП. При наличии единицы н этом разряде срабатывают элементы И 174-179, и вырабатываются синхросигналы Т 1-Т 6, Если какие-либо блоки в этом такте не работают, в соответствующие им разряды поля КСП записывается "О". 15 Благодаря наличию поля КСП однии те же области поля КСП можно использовать для управления различными блоками, т,е. используется "плаваю.щий формат поля КУП, Указателем отого или иного формата служит значение поля КСП,Эти форматы являются базовыми,построенными для блоков минимальной длины. Если микрокоманда какоголибо блока содержит дополнительныеполя, то они размещаются в поле КУПза счет исключения из него микрокоманд некоторых других блоков, Формирование микрокоманды процессора 30является основным этапои микропрограммирования операторов, Совмещениемикрокоманд блоков должно обеспечивать выполнение следующих условий:алгоритмическую совместимость зада- дваемых операций, получение расширенного формата микрокоманды, т.е.обеспечение размещения н поле КУПкодов совмещаемых микрокоманд сучетом дополнительных полей, отсутст 40вие конфликтных ситуаций при передаче информации.Формат микрокоманды арифметикологического блока 1 (значение нулевого разряда кода структуры процессора равно "1") состоит из следующей полей; НО - поля непосредственного операнда, КОп - поля кодаоперации, ДКОп - лоля расширения кода операции, А - поля адреса регистра общего назначения.Формат микрокоманды блока 2 управления данными (значение первогоразряда кода структуры процессораравно "1") имеет два варианта раз- умещения в поле КУП микрокомандыпроцессора и содержит поля НО, КОпи А. В некоторых микрокомандах поле А может использоваться как расширение кода операции - ДКОп,Формат микрокоманды блока 3 памяти (значение второго разряда кодаструктуры процессора равно "1") состоит (фиг. 10) из одного поля КОпи имеет дна варианта размещения вполе КУП микрокоманды процессора,Формат микрокоманды блока 4 управления программой (значение третье.го разряда кода структуры равно "1")состоит (фиг, 11) из двух полей КОп иполя А и может быть размещен в поле КУП микрокоманды процессора тремяспособами,Формат микрокоманды блока 5 управления микропрограммой (значениечетвертого разряда кода структурыпроцессора равно "1") состоит(фиг. 12) из полей непосредственныхоперандов НО 1 и НО 2, поля КОп, некоторые микрокоманды блока 5 могутсодержать А - код адреса регистраобщего назначения. Возможны дваварианта размещения в поле КУП микрокоманды процессора. Прохождение информации через мультиплексор 30приведено в табл, 4, На регистр 25 иинформации с мультиплексора 23 записывается по сигналу 41 прямым кодом, по сигналу 42 - обратным кодом,по с:.гзалу 43 - со сдвигом вленона од: н разряд, по сионалу 44 на регистр 25 записывается информация из8-15 разрядов шины 9. На регистр 27признаков перехода по сигналу 45заносится признак перехода первогознака результата операции, по сигналу 46 заносится признак переходавторого - результата операции, равного нулю, по сигналу 47 заносится признак перехода третьего - переполнения, по сигналу 48 заноситсяпризнак перехода четвертого - значения переноса из нулевого разрядасумматора.Обращение к блоку 3 памяти дляисполнения операций чтения и записи выполняется под управлением микрокоманд этого блока. Формирование исполнительного адреса выполняетсяблоком 2 управления данными. Исполнительный адрес формируется следующим образом: передачей в шину 8 значения, содержащегося в поле непосред.ственного операнда микрокоманды блока 2 (прямая адресация), передачейв шину 8 содержимого одного из реги17 11492 стров общего назначения блока 2 (регистровая адресация), передачей в шину 8 содержимого коммутатора 6 данных (косвенная адресация), модификацией значения адреса, ранее 5 содержищегося в шине 8. В блоке 2 предусмотрены широкие возможности модификации адресов, а также предусмотрен ряд микрокоманд, обеспечивающих простую реализацию программных методов адресации памяти.Блок 4 управления программой обеспечивает выполнение микрокоманд в соответствии с табл, 10.Обращение к узлу 145 осуществля ется под управлением микрокоманд блока 4. Исполнительный адрес в зависимости от кода микрокоманды блока 4 может быть равен: содержимому одного из регистров 135-138 общего назна чения блока 4, содержимому счетчика 139 элементов программ; содержимому коммутатора 6 данных, что позволяет организовать косвенную адресацию к узлу памяти программ сос тавному значению базового и относительного адреса, причем базовое назначение размещается в старших восьми разрядах одного из регистров 135-138 блока 4, а относительное значение 30 адреса размещается в младших, восьми разрядах коммутатора 7 элементов программ.Блок 5 управления микропрограммойобеспечивает выполнение микрокомандв соответствии с табл. 15,Блок 5 управления микропрограммойобеспечивает управление работой процессора в четырех режимах, Режимработы определяется значением трехразрядного регистра режима в соответствии с табл. 22.Микрокоманды блока 5 имеют следующие назначения: Переход по имениоператора (КОп 10001), Вход в подпрограмму" (КОп 10011), "Возвратиз микроподпрограммы" (КОп 10100),(КОп 01111), "Окончание прерывания" (КОп 01100), "Загрузка счетчика из коммутатора 6" (КОп 10000),"Безусловный переход по значению 738коммутатора 6" (КОп 10010), "Переход по коду прерывания " (КОп 01001)Адрес коммутатора 6 на счетчики194-197 принимается по синхросигналу Т 6 в отладочных режимах для вызова произвольных микропрограмм с инженерного пульта. В этом случаеначальный адрес необходимой микропрограммы заносится на регистр данныхпульта, и инициируется процедуравызова микропрограммы по адресу,заданному на этом регистре.Основной режим задается передначалом выполнения любого операторамикрокомандойПереход по имениоператора" при отсутствии запросана прерывание (регистр 190 в "0")путем записи кода 000 на регистр 184режима. Микрокоманда "Переход по имени оператора" обеспечивает обращение в таблице адресов микропрограмм,используя в качестве адреса значение поля 236 - кода оператора, т.е.эта микрокоманда служит для перехода к микропрограмме обслуживанияоператора по имени этого оператора,которое читается предварительно изузла 145 и заносится в 8-15 разряды коммутатора 7 элементов программ.Переключение в режим подпрограммыосуществляется микрокомандой Входв подпрограмму, которая устанавливает первый разряд регистра 184 в"1". Начальный адрес подпрограммызадается в микрокоманде.Микрокоманда Возврат из микроподпрограммы" реализует возвратна основную микропрограмму и устанавливает первый разряд регистра184 в "0",Система прерываний процессораобеспечивает реакцию программы навсе программно-независимые события,которые должны быть обработаны процессором. Переключение процессорав режим прерывания осуществляетсяпри наличии внешнего запроса (состояние регистра 189 = "1"). Имеется два типа входа в режим прерывания по внешнему запросу - в концеисполнения оператора и внутри его.Переключение в конце операторапроизводится при выполнении микрокоманды "Переход по имени оператора", В качестве адреса следующеймикрокоманды аппаратно формируетсякод, являющийся начальным адресоммикропрограммы входа в прерывание, 1149273 20и второй разряд регистра 184 режима устанавливается в "1".Вход в прерывание производит запоминание состояния процессора в специальной зоне блока 3 памяти и5 запуск программы обслуживания прерывания.Переключение внутри оператора требует предварительной установки н О"10 триггера 188 при помощи микрокоманды Снятие блокировки прерывания". Разрешение прерывания внутри оператора необходимо только для операторов, время выполнения которых пре 15 вышает 50 мкс, Это объясняется тем, что микропрограмма прерывания внутри оператора занимает в несколько раз больше времени, чем микропрограмма прерывания в конце оператора зя счет20 большого объема перезапоминяемой информации, Поэтому и в длинньгх операторах производится блокировка прерывания за 30-40 мкс до его окончания чтобы избежать возможных прерываний25 перед окончание оператора, спепиаль - ной микрокомандой "Блокировка прерывания внутри оператора устанавливается единичное значение в регистре 188.Включение режима прерывания может производиться микропрограммно микро- командой Вход в прерывание , при этом перед ней ставится микрокомандя "Блокировка прерывания" для блокировки прерываний от внешних запросов. 35Переключение процессора с режима прерывания в основной режим осуществляется микрокомандои Окончание прерывания40Режим вставки обеспечивает асинхронный обмен информацией между процессорами и устройствами ввода- вывода. Его инициирование осуществ 11 ляется специальной микрокомандой Запуск вставки" при наличии сигнала 11 требования вывода, поступающего от устройств ввода-вывода. Эти команды являются "сканирующими", т.е. должны присутствовать во всех микропрограм- у мах с периодом повторения не менее 20-30 тактов, Микрокоманда "Запуск вставки при наличии сигнала 11) устанавливает в 1 третий разряд регистра 184 режима и Формирует ад- у рес следующей микрокомянды, равный 0100, являющийся начальным адресом микропрограммы обмена. Переключение (возврат) в предшествующий режим осуществляется аппаратной установкой в 0 третьего разряда регистра 184 при снятии сигала (11) требования вывода.При обращении к узлу 199 памятимикрокоманд возможны следующие способы формирования исполнительного адреса: аппаратное формирование адреса при входе в режим прерывания по внешнему запросу и при входе в режим вставки, формирование адреса по счет чикам, находящимся в блоке 5 микропрограммного управления (при выборе очередной микрокоманды из узла 199 значение счетчика увеличивается на "1"). Непосредственное (прямое) задание адреса в микрокоманде используется в микрокомандах передач управления блока 5: "Белусловный переход", "Условный переход по 1", Условный переход по 0 , Вход в подпрограмму, формирование адреса по содержимому коммутаторов 6 и 7 выполняется микрокомандами передач управления блока 5: "Безусловный переход по значению коммутатора 6", Переход по имени оператора , Переход по коду прерывания , которые в качестве адресов используют содержимое коммутаторов 6 и 7.с,ановкя начальных адресов на счетчи:.и 194-197 выполняется по микрокоманде этого подпроцессораЗагрузка счетчиков из коммутатора 6", при этом значения адресов задаются в коммутаторе 6 данных причем установка адресов выполняется только на те счетчики, которые не используются в текущем режиме работы процессора. Для пояснения сущности работыпроцессора рассмотрим в качествепримера реализацию оператораУправление по счетчику , Микропрограммапредназначена для управления ходомвыполнения программы. Оператор состоит из пяти байтов: 1-й байтномер оператора; 2-й байт - относительный адрес ячейки блока 3памяти, в которой организован программный счетчик; 3-й и 4-й байты -непосредственный операнд (эталон);5-й байт - метка перехода,К содержимому ячейки блока 3памяти с относительным адресом,указанным во втором байте оператора, прибавляется "1" и полученная сумма сравнивается с непосредственным операндом, заданным в 3-м и 4-м байтах оператора. Если результат сравнения больше или равен "0" 5 то управление передается по метке, указанной в пятом байте оператора, если результат сравнения меньше "0", то выполняется следующий оператор. На фиг. 13 представлена микропрограм ма оператора "Управление по счетчику" которая состоит иэ семи микрокоманд процессора. В первых пяти разрядах (0-4) микрокоманды процессора указан КСП, единица в этих разрядах говорит о том, какие блоки работают в данном такте, а в разрядах 8-31 в поле КУП размещены микрокоманды этих блоков (цифра в поле КУП на Фиг. 13 показывает номер блока, 20 микрокоманда которого занимает указанные на рисунке разряды КУП).Выполнение оператора осуществляется за 7 машинных тактов. Последовательность микроопераций при выполнении оператора приведена на фиг.14. По оси абсцисс отложено время в тактах, по оси ординат - блок, выполняющий данную микрооперацию. Чтение двух первых байтов оператора 30 (микрооперация М 01) и переход на начало микропрограммы (микрооперация М 02) производят в конце микропрограм. мы предыдущего оператора.В первом такте работают блоки 2 и 4. В поле КУП (Фиг. 13) используется первый Формат (Фиг. 9) микро- операции блока 2 и второй формат (Фиг. 11) микрооперации блока 4. В разрядах 20-23 поля КУП указы р вается КОп (111) микрооперации Формирования исполнительного адреса блока 2, в разрядах 24,25 - адрес (00) регистра общего назначения, в разрядах 26-29 - КОп (1101) микрооперации чтения старшего байта иэ узла памяти программ блока 4. В блоке 2 формируется исполнительный адрес (микрооперация МОЗ) блока 3 памяти (Фиг. 14), К содержимому регистра общего назначения с адресом (00) прибавляется содержимое коммутатора 7, где находится относительный адрес (АС 01) ячейки блока 3, и сформированный адрес подается в шину 8. Элемент И 73 разрешает выдачу разрядов 20-25 шины 9 через мультиплексор 74, которые эапоминаются на регистре 75 (КОп) и на регистре 76 (адрес) по синхросигналу Т 2. На дешифраторе 77 появляются сигналы 103, 106, 110 и 111, на дешифраторе 78 - сигнал 113. Сигналы 95, 99 и 100 (код 000) разрешают передачу содержимого регистра 86 через мультиплексор 80 и по синхросигналу Т 2 и разрешающему сигналу 103 запоминаются на регистре 82, Сигналы 97 и 98 (код 11) разрешают передачу содержимого коммутатора 7 через мультиплексор 81, и по синхросигналу Т 2 и разрешающему сигналу 106 содержимое коммутатора 7 запоминается на регистре 83. Результат сложения, полученный на сумматоре 84 через мультиплексор 93 (управляющий сигнал 110 равен "0"), запоминается на регистре 94 по сигналу 111 и синхросигналу Т 5. В блоке 4 читается старший байт непосредственного операнда (микрооперация М 04) и передается в старшие разряды Окоммутатора 7, младшие разряды 8-151 обнуляются, к содержимому счетчика 139 прибавляется "1" Элементы 125 и 126 разрешают выдачу разрядов 26-29 шины 9 через мультиплексор 128 и разрядов ЗР, 3 1 через мультиплексор 127. Адрес запоминается на регистре 129 по синхросигналу ТЗ, код операции - на регистре 130 по синхросигналу ТЗ. На дешифраторе 132 появляются сигналы 153-158, 160, 162, 163, 164 и 167. Управляющие сигналы 153-155 (код 110), 156-158 (код 110) разрешают передачу содержимого счетчика 139 через мультиплексоры 140 и 141 и запоминание его на регистре 142 по синхросигналу ТЗ. К содержимому регистра 142 на сумматоре 143 прибавляется "+1" (сигнал .160), и результат заносится в счетчик 139 (сигнал 162) по синхросигналу Т 6. С регистра 142 адрес выдается в узел 145 памяти программ, сигнал обращения к которому Формируется по сигналу 163 и синхросигналу Т 2. Старший байт из узла 145 записывается на регистр 146 по синхросигналу Т 5 (сигнал 164), Регистр 146 обнуляется (сигнал 167) .Во втором такте работают блоки 1 и 4 и блок 3 памяти. В поле КУП (Фиг, 13) используется Формат микро- операции блока 1 (Фиг. 8), второй Формат (фиг. 10) блока 3 памяти, третий Формат (Фиг. 11) микроопе 11492732324рации блока 4. В разрядах 16- 19(указывается КОп (0100) микроперации:вычитание из первого операнда, хранящегося на одном иэ регистров общего назначения, второго операнда, 5хранящегося на другом регистре общего назначения. В разрядах 20-22(хранится адрес (010) первого операндав разрядах 23-251 - адрес (010) второго операнда, в разрядах 26-29(10указывается КОп (1110) микрооперации чтения младшего байта иэ узлапамяти программ блока 4, в разрядах30,31 указан КОп (01) микрооперацийчтения слова из ячейки блока 3 памятиВ блоке 1 формируется "1" в младшемразряде регистра 34 (микрооперацияМ 05), из содержимого регистра 34 вычитается содержимое этого же регистраприбавляется "1" в младший разряд,и результат заносится в регистр 34,По синхросигналу Т 1 разряды 16-22(шины 9 заносятся на регистр 18,а разряды 23-25 - на регистр 20. На(дешифраторе 19 появляются сигналы40, 42, 45, 47, 49 - 53, на дешифраторе 20 - сигнал 56, В данной микрооперации в разрядах 20-221 и 23-25(шины 9 записан один и тот же адрес(010), поэтому содержимое регистра 3034 передается через мультиплексоры22 и 23, синхросигналу Т 2 и сигналу40 запоминается в регистре 24 посинхросигналу Т 2 и сигналу 42 выдачивторого операнда в обратном коде-на Зрегистре 25.Вычитание производится на сумматоре 26, где по числу 49 прибавляется "1" в младший разряд. Результат через мультиплексор 30, управляемый сигналами 51-53 (код 000),выдается на регистр 34, где запоминается по управляющему сигналу 50,56 и синхросигналу Т 5, В блоке 3памяти иэ ячейки по адресу, находящемуся в шине 8, читается слово вкоммутатор данных (микрооперацияМ 06). В блоке 4 читается младший байтнепосредственного операнда (микрооперация МО 11) и передается в младшие разряды 8-15( коммутатора 7,к содержимому счетчика 139 прибавляется "1", Элемент ИЛИ 125 и элемент И 126 разрешают выдачу разрядов 26-29 шины 9 через мультиплексор 128. Код операции блока 4 запоминается на регистре 30 по синхросигналу Т 3. На дешиАраторе 132 появляются сигналы 153-158, 160, 162, 163 и 166. Управляющие сигналы 153- 1 55 (код 1 10), 156- 158 (код 110) разрешают передачу содержимого счетчика 139 через мультиплексоры 140 и 14 1 и запоминание его на регистре 142 по синхросигналу ТЗ, К содержимому регистра 142 на сумматоре 143 прибавляется "+1" (сигнал 160), и результат заносится в счетчик 139 (сигнал 162) по синхросигналу Тб, С регистра 142 адрес выдается в узел 145 памяти программ, сигнал обращения к узлу формируется по сигналу 163 и синхросигналу Т 2. Младший байт из узла памяти программ записывается на регистр 147 выдачи в коммутатор 7 (сигнал 166) по синхросигналу Т 5.В третьем такте работают блоки 1 и 2, В поле КУП (фиг. 13) используется формат (фиг, 8) микрооперации блока 1 и второй формат (фиг. 9) микрооперации блока 2. В разрядах (16-19(указывается КОп (1000) микро- операции Сложение первого операнда, хранящегося на одном из регистров общего назначения со вторым операндом, хранящимся на втором регистре общего назначения". В разрядах (23-25( хранится адрес первого операнда (1 10), в разрядах 20-22( адрес второго операнда (010), в разрядах (26-29 ( указан КОп (1000) микрооперации блока 2, запись содержимого коммутатора б на регистр 87, адрес которого (01) указан в разрядах 30 и 31 поля КУП. В блоке 2 (микрооперация МО 7) элемент И 73 разрешает выдачу разрядов 26-311 шины 9 через мультиплексор. 74, которые запоминаются на регистрах 75 и 76 по синхросигналу Т 2, На дешнфраторе (77 появляются управляющие сигналы 106 и 112, на дешифраторе 78 сигнал 114. На регистр 82 по синхросигналу Т 2 записываются "0". Комбинация управляющих сигналов 97 и 98 (00) разрешает передачу содержимого коммутатора б через мультиплексор 81, которое по управляющему сигналу 106 и синхросигналу Т 2 записывается на регистр 83, Сложение двух операндов производится на сумматоре 84, и результат записывается .на регистр 87 по сигналам 112 и 114 и синхросигналу Т 5. В блоке 1 (микрооперация МО 8) в качестве первого операн 1149273 26да используется коммутатор б, а в качестве второго - регистр 34, где в младшем разряде записана "1", результат заносится в регистр 38. По синхросигналу Т 1 разряды 1 б 5 шины 9 записываются на регистр 18, на выходе дешифратора 19 появляются сигналы 40, 4 1, 46, 50-53. На регистр 20 по синхросигналу Т 1 записываются разряды 23-25 шины 9,10 на дешифраторе 21 появляется сигнал 60. На регистр 24 по сигналу 40 и синхросигналу Т 2 записывается содержимое коммутатора 6, на регистр 25 по сигналу 41, синхросигналу Т 2 содержимое регистра 34. Сложение двух операндов производится на сумматоре 26, и результат через мультиплексор, управляемый сигналами 51 - 53 (код 000) заносится на регистр 38 сигналами 50 и 60 по синхросигналу Т 5.В четвертом такте работают блоки 1, 3 и 4, В поле КУП (фиг. 13) используется формат (Фиг.8) микрооперации блока 1, второй Формат (фиг. 10) блока 3 памяти, третий Формат (Фиг.11) микрооперации блока 4. В разрядах 116-19 указывается КОп (0111) микро- операции: Вычитание из первого опе- ЗО ранда, хранящегося на одном иэ регистров общего назначения, второго операнда, хранящегося на другом регистре с занесением признака перехода на регистр 20,в разрядах 123-25 адрес (110) первого операнда, в разрядах 120-22 - адрес (111) второго операнда. В разрядах 26-29 указь 1- вается КОп (1111) последовательного чтения байтов оператора. В разрядах 40 30,31 указан КОп (10) микрооперации записи слова в ячейку блока 3 памяти. В блоке 3 в ячейку с адресом. находящимся в шине 8, записывается слово иэ коммутатора 6 данных (микрооперация М 010). В блоке 1 происходит сравнение суммы, находящейся в коммутаторе 6 данных, с непосредственным операндом, находящимся в коммутаторе 7 элементов программы, результат заносится в регистр 38 (микро- операция МО 9). По сигхросигналу Т 1 разряды 16-22 шины 9 записываютсяна регистр 18 команд, на дешифраторе19 появляются сигналы 40, 42, 46, 550-53, разряды 23-25 шины 9 записываются на регистр 20 адреса, на дешифраторе 21 появляется сигнал 60. Содержимое коммутатора 6 передается через мультиплексор 22 (код управляю. щих сигналов - 110) и запоминается на регистре 24 по управляющему сигналу 40 и синхросигналу Т 2. Содержимое коммутатора 7, передается через мультиплексор 23 (код управляющих сигналов - 111) и запоминается на регистре 25 по управляющему сигналу 42 и синхросигналу Т 2.Сложение двух операндов производится на сумматоре 26, и результат через мультиплексор 30 (код управляющих сигналов - 000) заносится на регистр 38 по сигналам 50, 60 и синхросигналу Т 5. В данной микрооперации на регистр 27 записывается приз нак условного перехода по сигналу 46 и синхросигналу Т 4 и через мультиплек сор (код управляющих сигналов указан в разрядах 24, 251 шин 9 - 10) по связи 13 передается в блок 5В блоке 4 читается пятый байт операнда в 18-151 разряды коммутатора 7, к содержимому счетчика 139 прибавляется "1" (микрооперация М 01). Элементы 125 и 126 разрешают выдачу разрядов 26-29 шины 9 через мультиплексор 128, которые запоминаются на регистре 130 по синхросигналу ТЗ. На дешифраторе 132 появляются управляющие сигналы 153-158, 160, 162, 163, 165 и 166. Комбинация управляющих сигналов 153-158 разрешает передачу содержимого счетчика 139 через мультиплексоры 140 и 141 и запоминание его на регистре 142 по синхросигналу ТЗ. Далее к содержимому регистра 142 на сумматоре 143 прибавляется "+ 1" (управляющий сигнал 160), и результат заносится в счетчик 139 (сигнал 162) по синхросигналу Т 6. С регистра 142 адрес выдается в узел 145 памяти программ. Сигнал обращения к памяти формируется по сигналу 163 и сиихросигналу Т 2. Прочитанный байт оператора из узла памяти программ записывается на регистр 147 по сигналу 166 и синхросигналу Т 5, разряды 10-7 ре" гистра 146 обнуляются (сигнал 165).В пятом такте работают блоки 4 и 5. В поле КУП (фиг. 13) используется второй формат (фиг. 11) микрооперации блока 4 и первый формат (фиг. (Фиг. 12) микрооперации блока 5, В разрядах 26-29 шины 9 указывается КОп (0010) "Чтение слова по адресу, указанному в разрядах Якоммч 27281149273татора 7", из зоны памяти, заданнойв 0-7 разрядах регистра 136,адрес которого (01) задан в 30,31разрядах шины 9, в разрядах 21-25шины 9 указан КОп (00010) микрооперации условного перехода по значению признака, равного "0". В разрядах19-20 указан адрес счетчика (00)в разрядах 16-18, 8-15 - непосред 10ственные операнды - адрес перехода.В блоке 4 читается слово иэ памятипрограмм (микрооперация М 012). Элементы 125 и 126 осуществляют выдачуразрядов 30,31 шины 9 через мультиплексор 127 и выдачу разрядов26-291 шины 9 через мультиплексор128. Адрес и код операции запоминаются соответственно на регистрах129 и 130 по синхросигналу Т 3. Надешифраторе 131 адреса появляетсясигнал 150, на дешифраторе 132управляющие сигналы 153-159, 16 1,163 и 166. Соответствующая комбинация управляющих сигналов 153-155(код 011) и 156-158 (код 000) разрешает передачу через мультиплексор140 разрядов 0-7 регистра 136 ичерез мультиплексор 141 разрядов8-15 коммутатора 7, которые запоминаются на регистре 142 по синхро- ЗОсигналу ТЗ, Далее к содержимому регистра 142 на сумматоре 143 прибавляется (+2) - сигнал 161 и результатзаносится на регистр 136 (сигнал 159)по синхросигналу Тб, С регистра 142 дадрес выдается в узел 145 памятипрограмм. Сигнал обращения формируется по управляющему сигналу 163и синхросигналу Т 2, Слово из узлапамяти программ записывается на реги стры 146 и 147 по управляющим сигналам 164 и 166 и синхросигналу Т 5. Вблоке 5 происходит условный переходпо признаку перехода, равному "0"(микрооперация М 013) на начало микро 45программы по непосредственному операнду, указанному в разрядах 16-18,8-15 шины 9, если признак переходаравен "1", то к содержимому счетчику прибавляется "1" Через мультиплекс 50сор 182 (управляющий сигнал - разряд 0 шины 9) разряды 21-25 передаются на дешифратор 183, и вырабатываются управляющие сигналы 209.Адрес, разряды 19,20 шины 9 по усинхросигналу Тб записываются на регистр 180, и на дешифраторе 181 появляется сигнал 205. При наличии сигнала признака перехода (вход 13), равного "0", на дешифраторе 186 появится комбинация сигналов 225-227 (код 001), разрешающая передачу через мультиплексор 201 разрядов 8-18 шины 9, и при наличии сигнала признака перехода, равного "1", на дешнфраторе 186 появляется комбинация сигналов 225-227 (код 011), разрешающая передачу через мультиплексор 201 содержимого счетчика 194. Информация, прошедшая через мультиплексор 201, запоминается на регистре 202 по синхросигналу т 1, откуда адрес выдается в узел 199 памяти микропрограмм, Сигнал обращения формируется по управляющему сигналу 215 и синхросигналу Т 2. Слово из узла 199 запоминается на регистре 198 по сигналу 214 и синхросигналу Т 5, К содержимому регистра 202 на сумматоре 191 прибавляется "1" (сигнал 217) и через мультиплексор 93 (разрешающий сигнал с Т 3 по Т 5) записывается на счетчик 194 по управляющему сигналу 228.В шестом такте работают блоки 2 и 4. В поле КУП (фиг, 13) используется первый формат (фиг, 9) микро- операции блока 2 и второй формат (фиг. 11) микрооперации блока 4. В разрядах 20-23 указан КОп (0011) чтения содержимого регистра 88, адрес которого (10) указан в 24,25 разрядах шины 9, в коммутаторе 6. В разрядах 26-29 указывается КОп (1111) микрооперации последовательного чтения байтов оператора и узла 145 памяти программ. В блоке 2 происходит восстановление в коммутаторе 6 данных содержимого ячейки блока 3 памяти (микрооперация М 014). Элемент И 73 разрешает выдачу разрядов 20-251 шины 9 через мультиплексор 74, которые запоминаются на регистрах 75 и 76 по синхросигналу Т 2, и на дешифраторе 77 появляются управляющие сигналы 103, 106 и 107. Комбинация сигналов 95, 99 и 100 разрешает передачу содержимого регистра 88 через мультиплексор 80, которое запоминается по управляющему сигналу 103 и синхросигналу Т 2 на регистре 82. На регистр 83 по синхросигналу Т 2 запишутся "0" (отсутствие разрешающего сигнала 106).Сложение двух операндов производится на сумматоре 84, и результатзаписывается ня регистр 90 по сигналу 107 и синхросигнялу Т 5, В блоке 4 читается первый байт (номер) следующего оператора из памяти программ, передается в разряды 8-151 коммутатора 7, старшие разряды 0-7 коммутатора 7 обнуляются, к со держимому счетчика 139 прибавляется "1" (микрооперация М 01), ЭлементыО 125 и 126 разрешают выдачу разрядов 26-29 шины 9 через мультиплексор 128, которые запоминаются на регистре 130 по синхросигнялу ТЗ. На дешифраторе 132 появляются управляющие сигналы 153-158, 160, 162, 163,5 165 и 166. Комбинация управляющих сигналов 153-158 разрешает передачу содержимого счетчика 139 через мультиплексоры 140 и 141, запоминание его на регистре 142 по синхросигна 20 лу ТЗ. Лялее к содержимому регистра 142 на сумматоре 143 прибавляется "1" (управляющий сигнал 160), и результат заносится в счетчик 139 (сигнал 162) по синхросигналу Тб. С25 регистра 142 яирес выдается н узел 145 памяти программ. Сигнал обращения формируется по сигналу 163 и синхросигналу Т 2. Прочитанный байт оператора из уз.па 145 заносится на регистр 147 по сигналу 166 и синхросигналу Т 5, разряды 0-71 регистра 146 обнуляются (сигнал 165).В седьмом такте работает блоки3-5 памяти, В поле КУП (Фиг. 13) 35 используется первьгй формат (фиг,10) блока 3, второй формат (фиг. 11) блока 4 и второй формат (ттиг. 12) блока 5. В разрядах Яшины 9 указан КОп (10001) перехода по имени 40 оператора. В разрядах 14, 15 шины 9 указан КОп (10) записи слова в ячейку блока 3 памяти, В разрядах 26-29 шины 9 указан КОп (1111) микрооперации последовательного чтения байтов 45 оператора иэ памяти программ. Вблоке 3 памяти в ячейку с адресом, находящимся в шине 8, записываетсяслово из коммутатора б данных (микро- операция 1010), В блоке 4 читается втовторой байт следующего оператора в8-15 разряды коммутатора 7, к содержимому счетчика 139 прибавляется "1" (микрооперация МО 1). Элементы125 и 126 разрешают выдачу разрядов 5526-29 шины 9 через мультиплексор128, которые запоминаются на регистре 130 по синхросигналу ТЗ. На дешифраторе 132 появляются уттравляющие сигналы 153 в 1, 160, 162, 163, 165 и 166. Комбинация уттрявляюптих сигналов 153-158 разрешает передачу содержимого счетчика 139 через мультиплексоры 140 и 141, которое запоминается ня регистре 42 по синхросигналу ТЭ. К содержимому регистра 142 на сумматоре 143 прибавляется "1" (сигнал 160) и результат заносится в счетчик 139 (сигнал 162) по синхросигналу Тб, С регистра 142 адрес выдается в узел 145 гамятиСигнал обращения к узлу 145 формируется по сигналу 163 и синхросигналу Т 2. Прочитанный байт оператора из узла 145 заносится на регистр 147 по сигналу 166 и синхросигналу Т 5, разряды 0-7регистра 146 обнуляются (сигнал 165). В блоке 5 происходит переход в таблицу адресов микропрограмм по значению разрядов 8-15 коммутатора 7 на начало следующей микропрограммы (микрооперация МО 2), Через мультиплексор 182 (разрешающий сигнал - разряд ОД шины 9) разряды Япередаются на дешифратор 183, и вырабатываются управляющие сигналы 209-215, Комбинация сигналов 22)-227 (000) дешифратора 186 разрешает передачу через мультиплексор 201 содержимого комму - татора 7, которое по сийхросйгналу Т 1 записывается на регистр 202, откуда адрес выдается в узел 199 памяти микропрограмм. Сигнал обращения к памяти формируется по управляющему сигналу 215 и синхросигналу Т 2. Информация, выдаваемая из узла 199 памяти микропрограмм, является началоммикропрограммы следующего оператораи по сигналу 214 и синхросигналуТ 5 записывается на регистр 198,Результаты оценки быстродействияприведены в табл. 23, в которойприняты следующие обозначения:А - процессор с традиционнойархитектурой, выполненной на инте"гральных схемах средней и высокойстепени интеграции,В - предлагаемый процессор, выполненный на интегральных схемахмалой и средней степени интеграции(АБИС),С - предлагаемый процессор, выпол-,ненный на интегральных схемах среднейи высокой степени интеграцииКак видно иэ табл. 23, на выбранных наборах алгоритмов, кроме набора 01, отношение быстродействия пропессоров А и В равно в среднем 1, 1 - 1,2. Это же соотношение дляпроцессоров Л и С выполненных на элементной баэе одного уровня, достигает 2-2,5.,"в хх хо ос ол л лх хххо ооо л л л 1149273-хл л о а Х ХРм ооиР Р - Р о.о г фк х о о Н Н Р РНл л х ххах ооц сч Р Р Ю Р)хх хх оо эЭххЕ ФЮ Е8 хх аРбв в ф х х х о и ех хоойфа СНй бН Р 2 аН Н О Н Х Н Х й х х оощощИ аиключен к информационному входу регистра выдачи адреса, вход микрокоманд блока управления данными соединен с первыми входами первого, второго и третьего элементов И, с первым и вторым входами четвертого элемента И, с информационными входами мультиплексора кода операции, с первым информационным входом мультиплексора второго слагаемого, вход синхронизации блока управления данными подключен к вторым входам первого, второго и третьего элементов И, выход первого из которых подключен к тактовым входам регистра адреса прерывания и регистра уровня прерывания, выход второго элемента И подключен к тактовым входам первого и второго регистров кода операции, регистра первого слагаемого, регистра второго слагаемого, выход третьего элемента И соединен с первым входом пятого элемента И, с тактовыми входами регистра выдачи данных, регистра выдачи элементов программы и регистра выдачи адреса, выход четвертого элемента И подключен к разрешающему входу мультиплексора кода операции, выходы которого подключены соответственно к информационным входам первого и второго регистров кода операции, к разрешающим входам мультиплексора первого слагаемого и мультиплексора второго слагаемого, выходы которых соединены соответственно с информационными входами регистра первого слагаемого и региСтра второго слагаемого, выходы разрядов первого и второго регистров кода операции соединены соответственно с входами дешифратора управления, выходы которого подключены соответст венно к второму входу пятого элемента И, к входам разрешения записи регистров первого слагаемого и второго слагаемого, регистра выдачи адреса, регистра выдачи элементов программы, регистра уровня прерывания, регистра выдачи данных, регистра адреса прерывания, к разрешающему входу мультиплексора адреса, к входу управления мультиплексора пер. вого слагаемого, к входам сложения чисел один и два сумматора, информационные входы которого подключены соответственно к выходам разрядов регистров первого и второго слагае- Фмых, выход сумматора подключен к информационным входам регистров общего назначения, регистра выдачи данных и к первому информационному входу мультиплексора адреса, второй информационный вход которого соединен с выходами разрядов регистра уровня прерывания, вход дешифратора адреса соединен с выходами разрядоввторого регистра кода операции,выходы подключены соответственно кадресным входам первого, второго, третьего .и четвертого регистров общего назначения, тактовые входы которых соединены с выходом пятого элемента И, а выходы которых подключены к первому, второмутретьему и четвертому информационным входам мультиплексора первого слагаемого, пятый информационный вход которого соединен с выходами разрядов регистра адреса прерывания, выходы разрядов регистра выдачи адреса соединены с адресным выходом блока управления данными, с информационнымивходами регистра адреса прерывания и регистра уровня прерывания, с шестым информационным входом мультиплек сора первого слагаемого, с вторым информационным входом мультиплексоравторого слагаемого, третий информационный вход которого является первым информационным входом блока управц:ния данными, второй информационный вход которого соединен с седьмым информационным входом мультиплексора первого слагаемого и с четвертым информационным входом мультиплексора второго слагаемого, выходы разрядов регистра выдачи данных подключены к информационному выходу блока управления данными и к информационному входу регистра выдачи элементов программы, выходы разрядов которого являются выходом элементов. программы, блока управления данными, а блок управления программой содержит элементы И, ИЛИ, мультиплексор адреса, мультиплексор кода операции, регистр адреса, регистр кодаоперации, дешифратор адреса, дешифратор управления, четыре регистра общего назначения, счетчик элементовпрограммы, мультиплексор старших разрядов адреса, мультиплексор младших разрядов адреса, регистр задания адреса, сумматор, узел памяти программ, регистр выдачи данных, два регистра выдачи элементов программы, ,выходы разрядов которых являются вы1149273 36 Таблица 3 Таблица 2 Информация, проходящая на выКод управляющих сигналов Код управляющих сигналов20 р 21 р 22 р 32 О 0 32 10 33 33 34 34 36 36 37 38 38 39 39 Таблица 4 Информация, проходящая на выходмультиплексора 30 Код управляющих сигналов 51 52 53 Результат с сумматора Резу,;ьтат со сдвигом вправо на 1 р Результат со сдвигом вправо на 2 р Результат со сдвигом влево на 1 р,Результат логического умножения Результат логического сложения Результат по модулю 2С регистра 27Таблица 5 Код управляющих сигналов 25 р 24 р Признак 423 р 24 р 25 р Информация, проходящая на выход мультиплексора 22с регистра О 1 15 0 11 0 1 0 1 1 Информация, проходящая на выход мультиплексора 28 Признак Признак Признак ход мультиплексора 23 с реги- страх о а на СО ь 4 СО СО СО СО СО42 1149273 41 С шины 8 0 100 С шины 9 0 15 1 С шины 8 0 Код управляющих сигналов 95 99 100 0 0 0 0 0 1 1 0 1 0 1 1 Таблица 7 Информация, проходящая на выход 5 мультиплексора80 С регистра 86 С регистра 87 С регистра 88 С регистра 89 С регистра 79 С коммутатора 7 Константа - 2 Код управляющих сигналов 97 98 Код управляющих сигналовИнформация, проходящая на выход мультиплексора 81 С коммутатора 6 С коммутатора 7 Таблица 9 Информация, проходящая на выход мультиплексора 93 С сумматораС регистра 92+ о в о м р О В 1 е о о- л а,л Ю .р Ц СЛ м Ое в рв ЯЯ Цр рц О 1 а 1 Орр О 1 - 11м 1 л и о о о о о о о, г ф ЮЛ рД флх х о с О аи46 1149273 Код управляющих сигналов Код управляющих сигналовход мультиплексора 128 Яр - 11 р26 р - 29 р 12 р, 13 р 30 р, 31 р 10 153 154 155 О О 156 158 О Таблица 11 Информация, проходящая на выход мультиплексора127 Код управляющих сигналов Код управляющих сигналов 157Таблица 12 Информация, проходящая на выТаблица 13 Информация, проходящая на выход мультиплексора 140 С коммутатора 7 (Орр) С коммутатора 6 (Орр) С регистра 135 (Орр) С регистра 136 (Орр) С регистра 137 (Орр) С регистра 138 (Орр) С регистра 139 (Орр) Таблица 14 Информация, проходящая на выход мультиплексора 141" Входные сиг- налы Сигналы на выходах дешифратора185 ИнФормация, про ходящая на вы 5 ход мультиплексора 182 Ход управляющих сигналов 11 221 222 223 224 218 219 220 0 0 О 1 18 р - 12 р 21 р - 25 р 10 1 0 00 1 0 0 0 1 15 Таблица 18 Сигналы на выходах Сигналы 208 212 228 229 230 1 Т 4 Тб 1 Т 4 1 Т 4 1 Тб Т 4 О 0 0 0 О 0 0 0 0 0 0 0 1 0 1 0 1 0 0 1 0 1 0 1 Тб Тб Т 4 Тб Тб 1 Тб Т 4 Тб Т 4 Т 4 Тб 1 Тб Т 4 Тб Т 4 Тб Т 4 1П р и м е ч а н и е. При составлении микропрограмм не допускается равенства номера рабочего регистра(221-224) и номера загружаемого регистра (205-208) 221 222 223 224 205 206 207 231149273 53 Код управляющих сигналов ход мультиплексораС сумматора 191 ТЗ по Т 5 С коммутатора 6 Т 5 по ТЗ 225 226 С коммутатора 7С шины 9 О О О С шины 6 Со счетчика 194 Со счетчика 195 О Со счетчика 196 О Со счетчика 197 Код управляющих сигналов 19 р 20 р Сигналы управления Таблица 91 Информация проходящая на выТаблица 20 Информация, проходящая на выход мультиплексора Таблица 21 Информация, проходящая на выход мультиплек- сора С регистра 19 чС регистра 195 С регистра 196С регистра 1971 ходом элементов программы блока управления программой, вход микрокоманд которого соединен с первыми входами с первого по пятый элементов И, элемена ИЛИ, с информационными входами мультиплексоров адреса и кода операции, .вход синхронизации блока управления программой соединен с вторыми входами с первого по четвертый элементов И, выход первого элемента И подключен к первому входу шестого элемента И, выход второго элемента И подключен к тактовым входам регистра адреса, регистра кода операции и регистра задания адреса, выход третьего элемента И подключен к тактовым входам первого и второго регистров выдачи элементов программы и регистра выдачи данных, выход четвертого элемента И подключен к первым входам седьмого и восьмого элементов И, выход элемента ИЛИ соединен с вторым входом пятого элемента И, выход которого подключен к разрешающим входам мультиплексора адреса и мультиплексора кода операции, выходы которых соединены соответственно с информационными входами регистра адреса и регистра кода операции, выходы разрядов которых соединены соответственно с входами дешифратора адреса и дешифратора управления, выходы дешифратора управления подключены соответственно к вторым входам шестого, седьмого и восьмого элементов И, к разрешающим входам мультиплексоров старших разрядов адреса и младших разрядов адреса, к входам разрешения записи и к входам установки первого и второго регистров выдачи элементов программы, к входу разрешения 149273записи регистра выдачи данных к входам сложения чисел один и два сумматора, выходы дешифратора адресаподключены соответственно к адресным входам с первого по четвертыйрегистров общего назначения, тактовые входы которых соединены с выходом седьмого элемента И, информационные входы подключены к выходу сумматора, выходы разрядов каждого регистра общего назначения соединены соответственно с первыми, вторыми, третьими и четвертыми информационными входами мультиплексора старших разряцов адреса и мультиплексора младших разрядов адреса, пятыеинформационные входы которых соединены с выходами разрядов счетчика элементов программы, информационный вход которого подключен к выходу сумматора, а тактовый вход соединен с выходом восьмого элемента И, шестой и седьмой информационные входымультиплексора старших разрядов адреса и мультиплексора младших раз" рядов адреса соединены соответственно с первым и вторым адресными входами блока управления программой, выходы подключены к информационному входу регистра задания адреса, вьмоды разрядов которого подключены к информационному входу сумматора и к адрес" ному входу узла памяти программ, разрешающий вход которого подключен к выходу шестого элемента И, а выход соединен с информационными входами первого и второго регистроввыдачи элементов программы, выход сумматора соединен с информационным входом регистра выдачи данных, выходы разрядов которого являются информацкониьи выходом блока управления программой .Изобретение относится к вычислительной технике и может быть использовано для обработки данных в вычислительных системах.Известен процессор, содержащий 5 функциональный блок для выполнения логических (арифметических) операций, блок регистров, средства выработки адресов микрокоманд, средства выработки адресов микрокоманд, управляющую память 11 .Недостатком этого процессора является низкая производительность, так как используется макрокоманда фиксированной длины, трехуровневый процесс обработки информации (макро56 1149273 Таблица 22 Счетчик Режим 1 р 2 р Основной 195 Микроподпрограммный 196 0 прерывания Х 197 вставки Для каждого режима предусмотрен свой счетчик 194-197) Таблица 23 Время выполнения, с Наборалгоритмов 02 03 04 О, 763 06 0,652 0,015 0,109 0,994 0,884 1, 041 0, 836 О, 036 О, 093 О, 733 0,682 0,018 О, 047 0,376 0,341 0,382 0,326команда - микрокоманда - управляющая команда) и единая шина связипроцессора с управляющей памятью ипамятью данных.Наиболее близким по техническойсущности к изобретению является процессор, содержащий основную память,арифметическое и логическое устройства, блоки регистров или местную сверхбыстродействующую память и блок уп Оравления, подсоединенные к общимшинам, причем первые входы основнойпамяти, первые входы арифметическогои логического устройства., первыевходы блока регистров, первые выходы блока управления соединены с первой шиной, вторые входы-выходы основной памяти, вторые входы-выходыарифметического и логического устройства, вторые входы-выходы блока ре- щгистров, вторые входы-выходы блокауправления соединены с второй шинойтретьи входы-выходы основной памяти,третьи входы-выходы арифметическогои логического устройства, третьи 25входы-выходы блока регистров и третьивходы-выходы блока управления - стретьей шиной, четвертые входы-выхоцы арифметического и логическогоустройства, четвертые входы-выходыблока регистров, четвертые входы-выходы блока управления соединены счетвертой шиной 21,Недостатком известного процессора является снижение производитель 35ности, вызванное невозможностью одновременной обработки информации и Формирования адресов основной памятиа также одновременного обращенияблоков процессора к регистрам общегоназначения местной сверхбыстродействующей памяти), с которыми блокисвязаны единой шиной.Целью изобретения является повышение производительности процессора,Поставленная цель достигаетсятем, что в процессор, содержащийарифметико-логический блок,. блокпамяти, блок управления микропрограмбмой, информационные выходы которыхподключены соответственно к первому, второму и третьему информационным входам коммутатора данных. инФормационные входы соединены с выходом коммутатора данньм, синхронизирующие входы подключены к входу синхронизации процессора, выход кодов микрокоманд блока управлениямикропрограммой соединен с входамимикрокоманд арифметико-логическогоблока и блока памяти, введены блокуправления данными, блок управленияпрограммой и коммутатор элементовпрограммы, входы которого соединенысоответственно с выходами данныхарифметико"логического блока, выходами элементов программы блока управления. данными и блоками управления программой, выход коммутатора данных подключен к первому инФормационному входу блока управленияданными и к первому адресному входу блока управления программой, инФормационные выходы которых подключены соответственно к четвертомуи пятому информационным входам коммутатора данных, синхронизирующие входи - к входу синхронизации процессора, а входы микрокоманд - к выходукодов микрокоманд блока управлениямикропрограммой, выход коммутатораэлементов программы соединен с адресным входом блока управления микропрограммой, с вторым адресным входом блока управления программой, свходом данных арифметико-логическогоблока и с вторым информационнымвходом блока управления данными,адресный выход которого подключен кадрег му входу блока памяти, выход изнака условного переходаарифмс;ико-логического блока, входпрерывания и вход требования выводапроцессора подключены соответственнок первому второму и третьему входам признаков блока управления микропрограммой, причем блок управленияданными содержит элементы И, мультиплексор кода операции, дешифраторуправления, регистры кода операции,цепъфратора адреса, регистр адресапрерывания, мультиплексоры первогои второго слагаемых, регистры первого и второго слагаемых, сумматор,четыре регистра общего назначениярегистр вЫцачи данных, регистр выдачи элементов программы, регистр выдачи адреса, регистр уровня прерывания и мультиплексор адреса, выходкоторого подключен к информационному входу регистра выдачи адреса,вход микрокоманд блока управленияданными соединен с первыми входамипервого, второго и третьего элементов И, с первым и вторым входамичетвертого элемента И, с информационными входами мультиплексора кода операции, с первым информационным входом мультиплексора второго слагаемого, вход синхронизации блока уп равления данными подключен к .вторым входам первого, второго и третьего элементов И, выход первого из которых подключен к тактовым входам регистра адреса прерывания и регистра уровня прерывания, выход второго элемента И подключен к тактовымвходам первого и второго регистров кода операции, регистра первого слагаемого, регистра второго слагаемого,выход третьего элемента И соединен с первым входом пятого элемента И, с тактовыми входами регистра выдачи данных, регистра выдачи элементов программы и регистра выдачи адреса, о выход четвертого элемента И подключен к разрешающему входу мультиплексора кода операции, выходы которого подключены соответственно к информационным входам первого и второго регистров кода операции, к разрешающим входам мультиплексора первого слагаемого и мультиплексора второго слагаемого, выходы которых соединены соответственно с информационными 30 входами регистра первого слагаемого и регистра второго слагаемого, выходы разрядов первого и второго регистров кода операции - соответственно с входами дешифратаря управления, З 5 выходы которого подключены соответственно к второму входу пятого элемента И, к входам разрешения записи регистров первого слагаемого и второго слагаемого, регистра выдачи адре О са, регистра выдачи элементов программы, регистра уровня прерывания, регистра выдачи данных, регистра адреса прерывания, к разрешающему входу мультиплексора адреса, к входу управ 45 ления мультиплексора первого слагаемого, к входам сложения чисел адин и два сумматора, информационные входы которого подключены соответственнок вьгходам разрядов регистров первого О и второго слагаемого, выход сумматора подключен к информационным входам регистров общего назначения, регистра выдачи данных и к первому информационному входу мультиплексора адреса 5 з второй информационных вход которого соединен с выходами разрядов регистра уровня прерывания, вход дешифраторя адреса - с выходами разрядов второго регистра кала операции, выходы подключены соответственно к адресным входам первого, второго, третьего и четвертого регистров общего назначения,. тактовые входы которых соединены с выхсдам пятого элемента И, а выходы подключены к первому, второ му третьему и четвертому информационным входам мультиплексора первого слагаемого, пятый информационный вход которого соединен с выходами разрядов регистра адреса прерывания, выходы разрядов регистра выдачи адреся - с адресным Вь,ходом блока управления данными, с информационными входами регистра адреса прерывания и регистра уровня прерывания, с шестым информационным входом мультиплексора первого слагаемого, с вторым иформационным входом мультиплексо - ря второго слагаемого, третий информационный вход которого является первым информационным, входом блока управления данными, второй информационый вход которого соединен с седьмым информационным входом мультиплексора первого слагаемого и с четиформационным входом типлексаря второго слагаемого, выходы разрядов регистра вь.дачи данных подключены к инфсрмяционному выходу блока управления данными и к информацианнаыу входу регистра выдачи элементов программы, выходы разрядов которого являются выходом элементов прогряммь 1 блока управления данными, блок управления программой содержит элементы И, ИЛИ, мультиплек. сар адреса, мультиплексор кода операции, регистр адреса, регистр кода операции, дешифратор адреса, дешифратор управления, четыре регистра общего назначения, счетчик элементов программы, мультиплексор старших разрядов адреса, мультиплексор младших разрядов адреса, регистр задания адреса, сумматор, узел памяти программ, регистр выдачи данных, два регистра выдачи элементов праграм мы, выходы разрядов которых являются выходам элементов программы блока справления программой, вход микро- команд которого соединен с первыми зхадями с первого по пятый элемен - тав И, элемента ИЛИ, с информационным входами мультиплексоров адреса и кода операции, вход синхро 1149273низации блока управления программой - с вторыми входами с перного по четвертый элементов И, выход первого элемента И подключен к первому входу шестого элемента И, выход второ го элемента И - к тактоным входамрегистра адреса, регистра кода операции и регистра задания адреса, выход третьего элемента И - к тактовым входам первого и второго регистров вьдачи элементов программы и регистра вьдачи данных, выход четвертого элемента И - к первым входам седьмого и восьмого элементов И, выход элемента ИЛИ соединен с вторым 15 входом пятого элемента И, выход которого подключен к разрешающим входам мультиплексора адреса и мультиплексора кода операции, выходы которых соединены соответственно с ин Формационными входами регистра адреса и регистра кода операции, выходы разрядов которых соединены соответственно с входами дешифратора адреса и дешифратора управления, выходы 25 дешифратора управления подключены соответственно к вторым гходам шестого, седьмого и восьмого элементов И, к разрешающим входам мультиплексоров старших разрядов адреса и млад ших разрядов адреса, к входам разрешения записи и к входам установки первого и второго регистров вьдачи элементов программы, к входу разрешения записи регистра выдачи данных к входам сложения чисел один и дна сумматора, выходы дешифратора адреса подключены соотнетственно к адресным входам с первого по четвертый регистров общего назначения, тактовые входы которых соединены с выходом седьмого элемента И, информационные входы подключены к выходу суммато - ра, выходы разрядов каждого регистра общего назначения соединены соот ветственно с первыми, вторыми. третьи ми и четвертыми информационными входами мультиплексора старших разрядов адреса и мультиплексора младших разрядов адреса, пятые информационные входы которых соединены с выходами разрядов счетчика элементов программы, информационный вход которого подключен к выходу сумматора, а тактовый вход соединен с выходом восьмого элемента И, шестой и седьмой информационные входы мультиплексора старших разрядов адреса и мультиплексора младших разрядов адреса - соответственно с первым и вторым адресными входами блока управления программой, выходы подключены к информационному входу регистра задания адреса, выходы разрядов которого подключены к информационному входу сумматора и к адресному входу узла памяти программ, разрешающий вход которого подключен к выходу шестогоэлемента И, а ныход соединен с информационными входами первого и второго регистров выдачи элементов программы, выход сумматора - с информационным входом регистра выдачиданных, выходы разрядов которогоявляются информационным выходом блока управления программой.На Фиг. 1 представлена структурная схема процессора; на фиг, 2ункциональ зя схема арифметико-логического блока; на Фиг. 3 - схемаблока управления данными, на фиг, 4схема блока управления программой, нана фиг, 5 - схема блока управлениямикропрограммой; на Фиг, 6 - Формат микрокоманды оператора) процессора" ,на фиг. 7 - микрокомандапроцессора, общий вид; на фиг, 8формат микрокоманды арифметико-логического блока; на Фиг, 9 - Форматмикро:,оманды блока управления данными, на фиг. 10 - Формат микрокоманды блока памяти; на Фиг. 11 - Формат микрокоманды блока управленияпрограммой; на фиг, 12 - форматымикрокоманды другого блока управления микропрограммой; на фиг, 13микропрограмма оператораУправление по счетчику", на фиг, 14 - последовательность микроопераций опеиратора Управление по счетчику".Б тексте приняты следующие буквенные обозначения:КСП - код структуры процессора;КУП - код управления процессора;КС - код структуры блоков,НО - непосредственный операнд,КОп - код операции,ДКОп - дополнительный код операции;А - адрес;Е - шинаГОН - регистр общего назначения;Т - тактовый синхросигнал;АСО 1 - относительный адрес ячейки блока 3,Н - память,Т- такт процессора.На Фиг. 1-14 приняты следующие обозначения: ариФметико-логический блок 1, блок 2 управления данными, блок 3 памяти, блок 4 управления программой, блок 5 управления микропрограммой, коммутатор 6 данных, коммутатор 7 элементов программы, шина 8 адреса, шина 9 микропрограммного управления, вход 10 синхронизации, вход 11 требования вывода,1 О вход 12 прерывания, связь 13 признаков условного перехода, элементы И 14-17, регистр 18 команд, дешиФратор 19 команд, регистр 20 адреса, дешиФратор 21 адреса, мультиплексоры 22 и 23 первого и второго операндов, регистр 24 первого операнда, регистр 25 второго операнда, сумматор 26, регистр 27 признаков перехода, мультиплексор 28 признака, элемент И 29, мультиплексор 30 результата элемент И 31, регистры 32-37 общего назначения, регистр 38 выдачи данных, регистр 39 выдачи элементов программ, сигнал 40 записи первого операнда, сигнал 41 выдачи второго операнда прямым кодом, сигнал 42 выдачи второго операнда1л обратнъм кодом, сигнал 4 э выдачи второго операнда со сдвигом влево на 30 один разряд, сигнал 44 передачи содержимого младших разрядов кодамикрокоманды в качестве второго операнда, сигнал 45 выработки первого признака перехода, сигнал 46 выработки второго признака перехода, сигнал 47 выработки третьего признака перехода, сигнал 48 выработки четвертого признака перехода, сигнал 49 выработки + 1на сумматор, сигнал 40 50 записи результата, управляющие сигналы 51-53 мультиплексором результата, сигнал 54 адрес (000) регистра общего назначения, сигнал 55 адреса (001) регистра общего назначения, 45 сигнал 56 ацреса (010) регистра общего назначения, сигнал 57 адреса (011) регистра общего назначения, сигнал 58 адреса (100) регистра общего назначения, сигнал 59 адреса 50 (101) регистра общего назначения, сигнал 60 адреса (110) регистра выдачи данных, сигнал 61 адреса (111) регистра выдачи элементов программ, выходы 62-67 регистров общего назна чения вход 68 данных, вход 69 элементов программ, элементы И 70-73, мультиплексор 74 кода операции, регистры 75 и 76 кода операции, дешифратор 77 управления, дешиФратор 78 адреса, регистр 79 адреса прерывания, мультиплексор 80 первого слагаемого, мультиплексор 81 второго слагаемого, регистр 82 первого слагаемого регистр 83 второго слагаемого, сумматор 84, элемент И 85, регистры 86- 89 общего назначения, регистр 90 выда чи данньл, регистр 91 выдачи элементов программ, регистр 92 уровня прерываний, мультиплексор 93 адреса, регистр 94 выдачи адреса, сигналы 95-100 кода операции, сигнал 101 записи на регистр адреса, используемого в режиме прерывания, сигнал 102 (-2), сигнал 103 записи на регистр первого слагаемого, сигнал 104 (+ 1), сигнал 105 (+2), сигнал 106 записи на регистр второго слагаемого сигнал 107 записи на регистр выдачи данных, сигнал 108 записи на регистр уровня прерываний, сигнал 109 записи на регистр выдачи элементов программ, сигнал 110 управления мультиплексором адреса, сигнал 111 записи на регистр выдачи адреса, сигнал 112 записи результата, сигнал 113 адреса (00) регистра общего назначения, сигнал 114 адреса (01) регистра общего назначения, сигнал 115 адреса (10) регистра обшего назначения сигнал 116 адреса (11) регистра общего назначения, выходы 117-120 регистров общего назначения, элементы И :21 в 1, элемент ИЛИ 125, элемент И 126, мультиплексор 127 адреса, мультиплексор 128 кода операции. регистр 129 адреса, регистр 130 кода операции, дешиФратор 131 адреса, дешиФратор 132 управления, элементы И133 и 134 регистры 135-138 общегоназначения, счетчик 139 элементовпрограммы, мультиплексор 140 старших разрядов адреса, мультиплексор 141 младших разрядов адреса, регистр 142задания адреса, сумматор 143, элемент И 144, узел 145 памяти программу регистр 1 ч 6 выдачи элементов программы, регистр 147 выдачи элементов программы, регистр 148 выдачи данных, сигнал 149 адреса (00) регистра общего назначения, сигнал 150 адреса (01) регистра общего назначения, сигнал 151 адреса (10) регистра общего назначения, сигнал 152 адреса (11) регистра общего назначения,сигналы 153-158 управления мульти 1 49273 12плексорами адреса, сигнал 159 записи результата, сигнал 160 выработки "+1" на сумматор, сигнал 161 выработки "+2" на сумматор, сигнал 162 записи на счетчик элементов про граммы, сигнал 163 обращения к узлу памяти программ, сигнал 164 записи на регистр выдачи элементов программы старших разрядов, сигнал 165 установки в0" старших разрядов регистра вьдачи элементов программы, сигнал 166 записи на регистр вьда- чи элементов программы младших разрядов, сигнал 167 установки в "0" младших разрядов регистра вьдачи элементов программы, сигнал 168 записи на регистр вьдачи данных, выходь 169- 172 регистров общего назначения, выход 173 счетчика элементов программы, элементы И 174-179, регистр 180 о адреса, дешифратор 181 адреса, мультиплексор 182 кода операции, дешифратор 183 команд, регистр 184 режимов работы, дешифратор 185 режима, дешифратор 186, дешифратор 187 адреса, триггер 188 блокировки прерывания, триггер 189 запроса, триггер 190 прерывания, сумматор 191, триггер 192 результата, мультиплексор 193 результата, счетчики 194-197 30 адресов, регистр 198 вьдачи кода микрокоманды, узел 199 памяти микропрограмм, элемент И 200, мультиплексор 201 адреса, регистр 202 адреса, мультиплексор 203 адресов, регистр 204 вьдачи данных, сигнал 205 адреса (ОО) счетчика адресов, сигнал 206 адреса (01) счетчика адресов, сигнал 207 адреса (10) счетчика адресов, сигнал 208 адреса (11) счет- до чика адресов, сигнал 209 записи на триггер блокировки прерывания, сигнал 2 10 записи на триггер прерывания, сигнал 211 записи на регистр режима сигнал 212 записи на счет чики с сумматора, сигнал 213 формирования управляюпщх сигналов мультиплексора адреса, сигнал 214 записи на регистр выдачи кода микрокоманды, сигнал 215 обращения к узлу 50 памяти микропрограмм, сигнал 216 записи на регистр выдачи данных, выход 217 триггера прерывания, выходы 218-220 регистра режима, выходы 221-224 дещифратора режима, сигна лы 225 - 227 управления мультиплексором адреса , сигналы 228-23 записи на счетчики адресов выходы 232 - 235 счетчиков адресов.Формат оператора состоит из полей: 236 - номера оператора, 237 - данных, 238 - меток.В табл. 1 приведен список микро- команд арифметико-логического блока, в табл. 2 - прохождение информации через мультиплексор для перного операнда блока 1, в табл, 3 прохождение информации через мультиплексор для второго операнда блока 1, в табл. 4 - прохождение информации через мультиплексор для результата блока 1, в табл. 5 - прохождение информации через мультиплексор блока 1; в табл. б - список микро- команд блока 2 управления данными, в табл, 7 - прохождение информации через мультиплексор для первого слагаемого б;ока 2; в табл. 8 - прохождение информации через мультиплексор для второго слагаемого блока 2, в табл. 9 - прохождение информации через мультиплексор адреса блока 2, в табл, 10 - список микрокоманд блока 4 управления программой, в табл,11 прохождение информации через мультиплексор для селекции адреса регистра общего назначения блока 4, в табл. 12 - прохождение информации через,.ультиплексор для селекции кода операции блока 4, в табл. 13 - про хождение информации через мультиплексор селекции адреса старших разрядов для памяти программ, в табл, 14 - прохождение информации через мультиплексор селекции адреса младших разрядов для памяти программ; в табл. 15 - список микро- команд блока 5 управления микропрограммой, в табл. 16 - прохождение инФормации через мультиплексор для се- лекции кода операции блока 5, в табл. 17 - появление информации на выходе дешифратора блока , втабл, 18 - выработка сигнала записи на счетчики адресов блока 5; в табл, 19 - прохождение информации через мультиплексор в табл. 20 - прохождение информации через мультиплексор; в табл. 21 - прохождение инФормации через мультиплексор, в табл. 22 - режимы работы процессора, в табл, 23 - сравнительные характеристики по быстродействию.Каждый блок процессора представляет собой автономное устройствообработки и хранения информации, которое имеет собственную систему микро- команд, специализированную на выполнение определенного круга функций вобщем вычислительном процессе. 5Блок 1 предназначен для выполнения арифметических и логическихопераций над байтами, битами словами, а также для выработки и запоминания признаков результата операций.Блок 2 служит для формированияадресов данных, система микрокомандэтого блока позволяет некоторыедействия над данными. 15Блок 3 памяти тредставляет собойзапоминающее устройство с произвольной выработкой для записи и чтения информации, работающее под управлением микрокоманды, МБлок 4 предназначен для формирования адресов текущих элементов программ и констант.Блок 5 обеспечивает формированиеадресов микрокаманд и выдачу кодов 25микракоманд процессора.Функциональные воэможности процессора можно расширить, подключаянеобходимые блоки, например блокумножения-деления, блок ввода-вывода и т,д,Для эффективной загрузки всехимеющихся блоков предпочтительнымиявляются сложные макрокоманды (операторы), обеспечивающие наличие необходимого числа совместимых микроопераций, Поэтому в качестве макрокоманд процессора использованымногослоговые операторы, позволяющие по сравнению с обычными коман адами более оптимально использоватьимеющееся оборудование. В общемслучае Формат операторов (Фиг. 6) содержит поля трех типов: поле 236номера оператора, поле 237 - данных,поле 238 - меток. Наличие поля 236номера оператора является адресом начала микропрограммы, Поле 237 данных и поле 238 меток могут состоять из нескольких подполей, максимальное количество подполей не Фиксируется, Наличие полей 237 данных и 238 меток, их структура и размер определяются Функциями, реализуемыми каждым конкретным оператором. В поле 237 данных могут указываться: адреса операндов, задаваемые в соответствии с выбранным способом адресации, номера программных модулей, непосредственные операнды всех предусмотренных типов данных любой структуры. Лоле 238 меток содержится в тех операторах, которые предусматривают возможность передачи управления, в этом поле задаются адреса (метки) перехада.Наряду с относительна простымиоператорами общего назначения типа:"Переход па счетчику, 10 бнуление массива слов", и т,д, разработаны сложные операторы: "Цепочка условныхпереходов, Вычисление длины вектора", "Поворот системы координати т.д,Работа процессора осуществляет- .ся пад управлением программы, записанной в узле 145 памяти программна языке операторов. По значениюномера оператора (поле 236) в процессоре запускается управляющаяпрограмма второго уровня - микропрограмма исполнения, которая реализует весь процесс обработки, последовательно читая остальные поля оператора и интерпретируя их в соответствии с запрограммированным алгоритмом.Миткрапраграммный принцип управленияпроцессором заключается в задании каждому блоку инструкции (микрокоманд),которая в нем реализуется в падпроцессоре. Так как все блоки автономныи догускают параллельную работу,микракоманда процессора представляет собой композицию из одной или нескольких микрокаманд отдельных блоков. В общем случае микракоманда процессора представлена на Фиг. 7 и состоит иэ полей КСП и КУП. ПослеКПС определяет, какие блоки работаютв текущем такте и, следовательно,микрокаманды таких подпроцессоровдолжны быть размещены в поле КУП.За каждым блокам закрепляется одинразряд поля КСП, в который записывается "1", если этот блок долженработать в данном такте и разрешается выдача синхросигналов в соответствующий блок. За блоком 1 закреплен нулевой разряд поля КСП. Приналичии единицы в этом разряде срабатывают элементы И 14-17, и вырабатываются синхросигналы Т 1, Т 2, Т 4, Т 5в блоке 1. За блоком 2 управления данными закреплен 1-й разряд поля КСП.При наличии единицы в этом разряде

Смотреть

Заявка

3577773, 15.04.1983

ПРЕДПРИЯТИЕ ПЯ М-5769

СОЛОВЬЕВ АЛЕКСЕЙ АЛЕКСЕЕВИЧ, КУРБАТОВ БОРИС ЮРЬЕВИЧ, БАРАШКО ВИКТОР СЕРГЕЕВИЧ, ЕРЕМИН АЛЕКСЕЙ ТИМОФЕЕВИЧ, ВЛАСОВ ФЕЛИКС СЕРГЕЕВИЧ, РУМЯНЦЕВ ВЛАДИМИР ИЛЬИЧ

МПК / Метки

МПК: G06F 9/06, G06F 9/22

Метки: микропрограммным, процессор, управлением

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

Код ссылки

<a href="https://patents.su/39-1149273-processor-s-mikroprogrammnym-upravleniem.html" target="_blank" rel="follow" title="База патентов СССР">Процессор с микропрограммным управлением</a>

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