Микропрограммный процессор

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

Авторы: Елисеев, Крупин, Ленкова, Петушков

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

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

Текст

Союз Советских Социалистических РеспубликОП ИСАНИЕИЗОБРЕТЕНИЯК АВТОРСКОМУ СВИДЕТЕЛЬСТВУ(22) Заявлено 18 Р 1.80 (21) 2871059/18-24 51)М, Кл,зЪС 06 Г 15/00с присоединением заявки Йо Государственный комитет СССР по делам изобретений н открытий(088.8) Дата опубликования описания 30,09.81(54) МИКРОПРОГРАММИЫИ ПРОЦЕССОР Изобретение относится к.вычислительной технике и может быть использовано в цифровой вычислительной машине.5Известен микропрограммный процессор, содержащий арифметические блоки с регистрами операндов и результата, память микропрограмм с регистрами адреса и микрокоманды и дешифратором микроопераций, регистр состояния Ы.Недостатком известного процессора является невозможность обработки информационных слов произвольной (но в пределах разрядности арифметики) длины за один рабочий такт про цессора, Обработка таких слов в известном процессоре выполняется в течение нескольких рабочих тактов, малыми порциями за такт побайтно, потетрадно или побитно (команды ти па память-память, в ЕС ЭВМ, некоторые ситуации арифметикис плавающей точкой, команды с маскированием операций в отдельных байтах, адресная арифметика, процедуры обработ- ки прерываний и т.д.), что приводит к снижению быстродействия известного процессора.Наиболее близким к предлагаемому является микропрограммный процессор,. 30 содержащий й идентичных арифметических блоков, регистры результата первого и второго операндов, узел маскирования, память микропрограмм с регистрами адреса и микрокоманды, дешифратор микроопераций и регистр состояния (23 .В известном процессоре для цели обработки информации нефиксированной длины использован принцип маскирования: конкретная величина обрабатываемого информационного слова задается специальными масками, которые управляют работой узла маскирования на выходе арифметических блоков. Кроме того, что узел маскирования сам по себе вносит дополнительное увеличение времени срабатывания арифметики (как дополнительная ступень), известный процессор имеет низкие функциональные возможности, не- позволяющие выполнять ряд часто используемых операций по обработке данных и адресов за один рабочий. такт. Например, операция базирования адреса (сложение 24-разрядной базы адреса с 12-разрядным смещением) требует двух рабочих тактов - выделение смещения из 32-разрядного слова или 16-разрядного полуслова путеммаскирования (перный такт) и сложение базы со смещением (второй такт). По указанным причинам быстродействие известного процессора является низким.Цель изобретения - повышение быстродействия процессора.Поставленная цель достигается тем, что в микропрограммный процессор, содержащий группу из й арифметических блоков, регистр результата, регистры первого и второго операндов, память микропрограмм регистр адреса, регистр состояния регистр микрокоманды, дешифратор микроопераций, причем выходы арифметическихблоков соединены с соответствующими входами регистра результата, выходы которого соединены с соответствующими входами регистров первого и второго операндов, выходы регистра первого операнда соединеиы с первыми информационными входами соответствующих арифметических блоков, вторые информационные входы которых соединены с соответствующими выходами регистра вхорого операнда, выход памяти микропрограмм подключен ко входам регистра микрокоманд, адресный выход которого соединен со входом регистра адреса, ныход которого подключен ко входу памяти микропрограмм, управляющий выход регистра микрокоманд соединен со входом дешифратора микроопераций, первый выход которого подключен ко входу регистра состояний, введены шифратор, Формирователь кодов и группа из й селекторов, причем выход каждого селектора подключен к управляющему входу соответствующего арифметического блока, выход регистра состояния соединен с первым входом Формирователя кодов и первым входом дешифратора, выходы которого соединены с управляющими входами соответствующих селекторов, первые информационные входы которых подключены к выходу операций регистра микрокоманд, а вторые информационные входы - к соответствующим входам Формирователя кодов, второй вход которого соединен со вторым выходом дешифратора и вторым входом шифратора.Причем, Формирователь кодов содержит дна элемента И, три элемента ИЛИ, элемент НЕ, генератор логического йуля и три мультиплексора, причем первый вход Формирователя кодов соединен со вторыми входами элементов И, второй вход формирователя кодов соединен с первыми входами элементов И, с четырьмя входами первого элемента ИЛИ, с тремя входами второго элемента ИЛИ, третьим и четнертым входами третьего элемента ИЛИ, первый и второй входы которого соединены с выходами первого и второго элементов И соответственно, выходы 15 20 25 30 35 40 45 50 55 6 О 65 элементон ИЛИ соединены с управляющими входами трех мультиплексоров, выходы которых соединены с выходами формирователя кодов, выход генератора логического нуля соединен с информационными входами мультиплексоров и входом элемента НЕ, выход которого соединен с информационными входами мультиплексоров.Введение дополнительных узлов позволяет н предлагаемом процессоре выполнять одновременно различные опе,рации над различными группами разрядов входной информации арифметических блоков, тогда как и известномпроцессоре может выполняться толькоодна операция.Возможность выполнения различныхопераций н разных арифметическихблоках или н разных группах арифметических блоков приводит к возможностисовмещения в одном рабочем тактепредлагаемого процессора совокупностьразных действий, которые выполняютсян известном процессоре за несколькорабочих тактов, Кроме этого, в предлагаемом процессоре увеличено быстродействие цепочки регистры первогои второго операндов - арифметическиеблоки - регистр результата за счетустранения задержки, вводимой в известном процессоре узлом маскирования,На фиг. 1 изображена блок-схемамикропрограммного процессора; нафиг. 2 - схема шифратора и регистрасостояний, на фиг. 3 - схема формирователя кодов.Микропрограммный процессор содер-,жит арифметические блоки 1, регистр2 результата, разрядные группы 3регистра 2 результата, регистры 4 и5 первого и второго операндов, разрядные группы 6 регистра 4 первогооперанда, разрядные группы 7 регистра 5 второго операнда, селекторы 8,регистр 9 адреса, память 10 микропрограмм, регистр 11 .микрокоманды,операционная группа 12 разрядов регистра 11 микрокоманды, управляющаягруппа 13 разрядов регистра 11 микрскоманды, адресная группа 14 разрядов регистра 11 микрокоманды, дешифратор 15 микроопераций, выходы 16шифратора 17, выходы 18 формирователя 19 кодов, выход 20 регистра 21состояний, первый выход 22 дешифратооа 15 микроопераций, второй выход23 дешифратора 15 микроопераций,элементы ИЛИ 24-31, элементы И 32-37,линии 38-43 микроопераций НОРМАЛИЗАЦИЯ, ПЕРЕСЫЛКА ЗОН, ПЕРЕСЫЛКА ЦИФР,БАЗИРОВАНИЕ, ИНДЕКСИРОВАНИЕ и ОПЕРАЦИЯ ПО МАСКЕ соответственно, триггеры 44-47 масок соответственно нулевого, первого, второго и третьегобайтов и триггеры 48 и 49 соответственно нулевой базы и нулевого индексов, мультиплексоры 50-52, элементы ИЛИ 53-55, элементы И 56 и 57,линии 58 и 59 состояния соответственно ИНДЕКС НУЛЕВОЙ и БАЗА НУЛЕВАЯ,шины 60-65 кодов 0000, 0011, 1111,1001, 1010 и 1100, генератор бб логического нуля, элемент НЕ 67.Выход первого, второго,и М-гоарифметических блоков 1 в регистре2 результата соответственно соединены со входами первой, второй, иМ-й разрядных групп 3, выходы которых в регистрах 4 и 5 первого и второго операндов соответственно соединены со входами первых, вторых,и М-х разрядных групп б и 7. К первому и второму входам арифметическихблоков 1 подключены выходы соответствующих разрядных групп б и 7 регистров 4 и 5 первого и второго операндов соответственно. К управляющимвходам арифметических блоков 1подключены выходы соответствующих 20селекторов 8,Выход регистра 9 адреса соединенсо входом памяти 10 микропрограмм,выход которой в регистре 11 микрокоманды соединен со входами операцион- р 5ной, управляющей и адресной группы12, 13 и 14 разрядов. К первым информационным входам селекторов 8 подключен выход операционной группы 12разрядов ко входу дешифратора 15микроопераций - выход управляющейгруппы 13 разрядов и ко входу регистра 9 адреса - выход адресной группы14 разрядов регистра 11 микрокоманды.Первый, второй, и М-й выходы 16шифратора 17 соединены с управляющими входами первого, второго, иМ-го селекторов 8 соответственно.Первый, второй, и М-й выходы 18формирователя 19 кодов соединены совторыми информационными входами 40первого, второго, и М-го селектора8 соответственно. Выход 20 регистра 21 состояний соединен с первыми входами шифратора 17 и формирователя 19 кодов. Первый и второй выходы 22 и 23 дешифратора 15 микроопераций соединены, соответственно со входом регистра 21 состояний и со вторыми входами шифратора 17 и формирователя 19 кодов. В шифраторе 17 выходы элементов ИЛИ 24-31 подключены к соответствующим выходам 16 шифратора 17. Выходы элементов И 32-35 соединены с первыми входами элементов ИЛИ 24 и 25, 26 и 27, 28 и 29, 30 и 31 соответственно. Выход элемента И 37 Ысоединен со вторыми входами элементов ИЛИ 26-31, выход элемента И 36 соединен с третьими входами элементов ИЛИ 29-31. Второй выход 23 дешифратора 15 микроопераций состоит из шести сигнальных линий 38-43 микроопераций. Линия 38 микрооперации НОРМАЛИЗАЦИЯ в шифраторе 17 соединена со вторыми входами элементов ИЛИ 24 и25, линия 39 микрооперации ПЕРЕСЫЛКА ЗОН соединена с третьими входамиэлементов ИЛИ 24, 26 и 28 и с четвертым входом элемента ИЛИ 30. Линия40 микрооперации ПЕРЕСЫЛКА ЦИФР соединена с третьими входами элементовИЛИ 25 и 27 и с четвертыми входамиэлементов ИЛИ 29 и 31, линия 42 микрооперации ИНДЕКСИРОВАНИЕ соединенас первым входом элемента И 37, линия41 микрооперации БАЗИРОВАНИЕ соединена с первым входом элемента И 36и с четвертыми входами элементовИЛИ 26-28, линия 43 микрооперацииОПЕРАЦИЯ ПО МАСКЕ соединена с первыми входами элементов И 32-35. Регистр 21 состояний содержит триггеры44-47 масок соответственно нулевого,первого, второго и третьего байтов,а также триггеры 48 и 29 нулевойбазы и нулевого индекса соответствен-,но,.с входами триггеров 44-49 в регистре 21 состояний соединен первыйвыход 22 дешифратора 15 микроопераций,выходы триггеров 44-49 соединены свыходом 20 регистра 21 состояний ив шифраторе 17 соответственно соединены со вторыми входами элементовИ 32-37. В формирователе 19 кодов кодовыйвыход мультиплексора 50 соединен с первым и вторым, мультиплексора 51 - с третьим, четвертым и пятыммультиплексора 52 - с шестым, седьмым и восьмым выходами 18 формирователя 19 кодов. Выходы элементов ИИЛИ 53-55 соединены с управляющимивходами мультиплексоров 50-52, Первый, второй, третий и четвертый входы элемента ИЛИ 53 соединены с линиями 38, 39, 40 и 43 микрооперацийНОРМАЛИЗАЦИЯ, ПЕРЕСЫЛКА ЗОН, ПЕРЕСЫЛКА ЦИФР и ОПЕРАЦИЯ ПО МАСКЕ соответственно. Первый, второй и третий входы элемента ИЛИ 54 соединены с линиями 38, 40 и 42 микроопераций НОРМАЛИЗАЦИЯ, ПЕРЕСЫЛКА ЦИФР и ИНДЕКСИРОВАНИЕ соответственно,. ПерВый ивторой входы элемента ИЛИ 55 соединены с выходами элементов И 56 и 57соответственно, третий и четвертыйвходы - с линиями 38 и 39 микроопераций НОРМАЛИЗАЦИЯ и ПЕРЕСЫЛКА ЗОН соответственно. С первыми входами элементов И 56 и 57 соединены соответственно линии 42 и 41 микрооперацийИНДЕКСИРОВАНИЕ и БАЗИРОВАНИЕ. Выход20 регистра 21 состояний в формирователе 19 кодов соединен со вторымивходами элементов И 56 и 57 линиями58 и 59 состояний ИНДЕКС НУЛЕВОЙ иБАЗА НУЛЕВАЯ соответственно. Первый -четвертый и восьмой кодовые вводымультиплексора 50 и первый кодовыйвход мультиплексора 51 соединеныс шиной 60 кода 0000. Второй кодовый вход мультиплексора 51 и пятыекодовые входы мультиплексоров 50-52соединены с шиной 61 кода 0011. Шестой и седьмой кодовые входы мультиплексоров 50-52 соединены с шиной62 кода 1111. Первый кодовый вход мультиплексора 52 и третьи кодовые входы мультиплексоров 51 и 52 соединены с шиной 63 кода 1001, Второй кодовый вход мультиплексора 52 и четвертые кодовые входы мультиплексоров 51 и 52 соединены с шиной 64 кода 1010. Восьмые кодовые входы мультиплексоров 51 и 52 соединены с шиной 65 кода 1100. Каждая из шин 60-65 включает четыре разрядных линии. С выходом генератора бб логического нуля соединены все разрядные линии шины 60 кода 0000, первая и вторая разрядные линии шины 61кода 0011, вторая и третья разрядные линии шины 63 кода 1001, вторая и 15 четвертая разрядные линии шины 64кода 1010, третья и четвертая разрядные линии шины 65 кода 1100 и вход элемента НЕ 67, с выходом которого соединены третья и четвертая-разряд-ные линии шины 61 кода 0011, все разрядные линии шины 62 кода 1111, первая и четвертая разрядные линии шины 63 кода 1001, первая и третья Разрядные линии шины 64 кода 1010, первая и вторая разрядные линии шины 65 кода 1100.В описываемом варианте процессорсодержит восемь четырехразрядных арифметических блоков 1, каждый из регистров 2, 4 и 5 результата, первого и второго операндов включает по восемь четырехразрядных групп 3, б и 7, а шифратор 17 и формирователь 19 кодов имеют по восемь выходов 16 и 18.35Процессор работает следующим образом.В каждом рабочем такте из памяти 10 микропрограмм в регистр 11 микрокоманды по адресу, сформированно О му в регистре 8 адреса, считывается микрокоманда, управляющая выполнением совокупности действий данного рабочего такта. Адрес очередной микрокоманды в микропрограммной после- щ 5 довательности определяется адресной группой 14 разрядов регистра 11 микрокоманды, По содержимому управляющей группы 13 разрядов дешифратор 15 микроопераций вырабатывает набор управляющих сигналов данного рабочего такта, Операционная группа 12 разрядов определяет операцию, выполняегую в данном рабочем такте арифметическими блоками 1. При этом на входы арифметических блоков 1 подаютср .первый и второй операнды из регистров 4 и 5 первого и второго операндов, а результат операции с выходов арифметических блоков 1 заносится в регистр 2 результата. При Я обработке данных фиксированной длины .исходные 32-разрядные операнды занимают полный объем регистров 4и 5 первого и второго операндов так,что каждая разрядная группа б и 7 65 этих регистров содержит четыре разряда (тетраду) исходных данных, а в регистр 2 результата заносится 32- разрядный результат обработки так, что в каждую разрядную группу 3 помещается тетрада результата. На всех выходах 16 шифратора 17 вырабатывается сигнал, по которому. через селекторы 8 на управляющие входы всех арифметических блоков 1 передается содержимое операционной группы 12 разрядов регистра 11 микроманды. При обработке операндов фиксированной длины все арифметические блоки 1 выполняют одну и ту же операцию, заданную операционной группой 12 разрядов. Процессор выполняет такую обработку в том случае, если управляющая группа 13 разрядов регистра 11 микрокоманды не задает ни один из режимов специальной обработки. В описываемом варианте процессора режимы специальной обработки могут быть заданы одйой из следующих микроопераций: БАЗИРОВАНИЕ, ИНДЕКСИРОВАНИЕ, ПЕРЕСЫЛКА ЗОН, ПЕРЕСЫЛКА ЦИФР, 1 НОРМАЛИЗАЦИЯ, ОПЕРАЦИЯ ПО МАСКЕ,Если управляющая группа 13 разрядов регистра 11 микрокоманды указывает одну из перечисленных микроопераций, на втором выходе 23 дешифратора 15 микроопераций возбуждается соответствующая линия 38-43 микрооперации, по которой шифратор 17. и формирователь 18 кодов настраиваетсяна выполнение специальной операции.На выходах 16 шифратора 17 вырабатывается набор сигналов, управляющихработой селекторов 8. Если на управляющий вход какого-либо селектора 8с соответствующего выхода 16 шифратора 17 подан уровень логическогонуля, на управляющий вход соответствующего арифметического блока 1 передается код с выхода операционнойгруппы 12 разрядов регистра 11 микрокоманды. При логической единице науправляющем входе селектора 8 науправляющий вход соответствующегоарифметического блока 1 передаетсякод с соответствующего выхода 18формирователя 19 кодов, В зависимости от выполняемой специальной операции на выходах 16 шифратора 17 формируется та или иная совокупностьуправляющих сигналов, а на выходах18 формирователя 19 кодов - совокупность кодов, каждый из которых вданном рабочем такте может быть использован для управления соответствующим арифметическим блоком 1, Список, функций, выполняемых любым арифметическим блоком 1, соответствующие этим функциям управляющие кодыи применяемые в тексте обозначенияфункций следующие:код 0000, сложение в данном арифметическом блоке 1 содержимого соответствующей разрядной группы брегистра 4 первого операнда с переносом из предыдущего арифметическогоблока 1, обозначение функции - ПЕРЕДАЧА А;код 0011, на выходе данного арифметического блока 1 формируется нулевая информация, обозначение - выработка нулей;код 1001, сложение в данном арифметическом блоке 1 содержимого соответствующих разрядных групп 6 и 7регистров 4 и 5 первого и второгооперандов, обозначение - СЛОЖЕНИЕ;код 1010, пересылка через данныйарифметический блок 1 содержимогосоответствующей разрядной группы 7регистра 5 второго операнда, обозначение - ПЕРЕДАЧА В;код 1100, сложение в данном арифметическом блоке удвоенного содержимого соответствующей разрядной группы 6 регистра 4 первого операнда спереносом из предыдущего арифметического блока 1, обозначение - СДВИГВЛЕВО,код 1111, вычитание в данном арифметическом блоке 1 единицы из содержимого соответствующей разряднойгруппы б регистра 4 первого операнда,обозначение - А МИНУС 1.Для любой из перечисленных функцийрезультат обработки с выхода данногоарифметического блока 1 заноситсяв соответствующую разрядную группу3 регистра 2 результата,Адресная арифметикаПроцесс вычисления адресов в ЕСЭВМ сводится, в основном, к двумоперациям: БАЗИРОВАНИЕ И ИНДЕКСИРОВАНИЕ. В предлагаемом микропрограммном процессоре каждая из указанныхопераций выполняется за один рабочийтакт. При базировании в шесть младших разрядных групп б регистра 4первого операнда помещается 24-разрядная база адреса (две старших разрядные группы б содержат произвольную информацию) и в три младших разрядных группы 7 регистра.5 второгооперанда помещается 12-разрядное смещение, информация в старших разряд,ных группах 7 также произвольна.Микрокоманда, управляющая рабочимтактом базирования, содержит в операционной группе 12 разрядов регистра 11 микрокоманды код функции СЛОЖЕНИЕ, а в управляющей группе 13разрядов - код микрооперации БАЗИРО.ВАНИЕ, в результате чего на второмвыходе 23 дешифратора 15 микроопераций возбуждается линия 41 микроопеРаЦии БАЗИРОВАНИЕ,Если в регистре 21 состоянийтриггер 48 нулевой базы. установленв нуль (это говорит о необходимостиполноразрядного базирования), в шифраторе 17 на элементе И 36 отсутствуют совпадения и по. возбужденнойлинии 41 микрооперации БАЗИРОВАНИЕ срабатывают элементы ИЛИ 26-28, чтовызывает появление сигналов на соответствующих выходах 16 шифратора 17.В результате возбуждаются толькотретий-пятый выходы 16 шифратора 17,и первый, второй, шестой, седьмой ивосьмой выходы 16 остаются невозбужденными. В формирователе 19 кодовне срабатывает ни один из элементовИЛИ 53-55, так как возбуждена тольколиния 41 микрооперации БАЗИРОВАНИЕ,а элемент И 57 заперт запрещающимпотенциалом на линии 59 состоянияБАЗА НУЛЕВАЯ. На управляющие входымультиплексоров 50-52 подается нулевой код, в результате чего через 15 мультиплексоры 50-52 передается код,соответствующий коммутации их первых кодовых входовВ частности, через мультиплексор 51 на третий-пятыйвыходы 18 формирователя 19 кодов 2 О выдается код 0000, соответствующийфункции ПЕРЕДАЧА А.На управляющие входы первого, второго, шестого, седьмого и восьмогоарифметических блоков 1 (фиг.1) через соответствующие селекторы 8 поступает код функции СЛОЖЕНИЕ из операционной группы 12 разрядов, а науправляющие входы третьего-пятогоарифметических блоков 1 - код функции ПЕРЕДАЧА А из формирователя 19 ЗО 1 кодов. Таким образом, в шестом-восьмом арифметических блоках .1 выполняется сложение 12-разрядного смещенияс младшими двенадцатью разрядами базы, а в третьем-пятом арифметическихблоках 1 выполняется распространениепереноса на стадии 12-ти разрядовбазы. Функция первого и второго арифметических блоков 1 в данной операции безразлична, так как результи О рующий адрес состоит только из 24-хразрядовПосле завершения выполнения операции базирования адрес с выходов третьего-восьмого арифметических блоков 1 заносится в третью-вось" ф 5 мую соответственно разрядные группы3 регистра 2 результата.Если в регистре 21 состоянийтриггер 48 нулевой базы установленв единицу (необходимость в баэирощ вании отсутствует) в шифраторе 17по возбужденной линии 41 микрооперации БАЗИРОВАНИЕ срабатывает элементИ 36 и в результате возбуждаютсяэлементы ИЛИ 26-31, что вызываетпоявление сигналов на втором-вось,мом выходах 16 шифратора 17. Первыйи второй выходы 16 остаются невозбужденными.В формирователе 19 кодов разрешающий потенциал на линии 59 состоя- ЬО ния БАЗА НУЛЕВАЯ приводит к срабатыванию элемента И 57 и, далее, элемента ИЛИ 55. На управляющие входымультиплексоров 50-52 подается код001, в результате чего через эти 65 мультиплексоры передается код, со 868766 1251 О 15 20 25 ЗО 35 40 45 50 55 бб 65 ответствующий коммутации их вторых кодовых входов. В частности, через муЛьтиплексор 51 на третий-пятый выходы 18 формирователя 19 кодов выдается код 0011, соответствующий функции ВЫРАБОТКА НУЛЕЙ, а через мультиплексор 52 на шестой-восьмой выходы 18 - код 1010, соответствующий функции ПЕРЕДАЧА В. На управляющие входы первого и второго арифметических блоков 1 с выхода операционной группы 12 разрядов регистра 11 микрокоманды подается код функции СЛОЖЕНИЕ (в данном случае безразлично, какой код подается в старшие разряды, так как они не участвуют в формировании адреса), на управляющие входы третьего-пятого арифметических блоков 1 - код функции ВЫРАБОТКА НУЛЕЙ и на управляющие входы шестого-восьмого арифметических блоков 1 - код функции ПЕРЕДАЧА В с-боот ветствующих выходов 18 формирователя 19 кодов. Таким образом, шес- . той-восьмой арифметические блоки 1 выполняют передачу беэ изменения 12- разрядного смещения, а третьим-пятым арифметическим блокам 1 в старших разрядах адреса формируются нули,Таким образом, операция БАЗИРОВАНИЕ выполняется в течение одного рабочего такта, управляемого одной микрокомандой, причем совокупность функций, выполняемая арифметическими блоками 1, определяется равенством нулю или единице триггера 48 нулевой базы в регистре 21 состояний (т.е. признаком, указывающим наличие или отсутствие необходимости использовать базу при формировании адреса),При индексировании (в предположении, что оно выполняется после базирования) в шесть младших разрядных групп 6 регистра 4 первого операнда помещается 24-разрядный индекс адреса, а в шесть младших разрядных групп 7 регистра 5 второго операнда-разрядный пробазированный адрес. Микрокоманда, управляющая рабочим тактом индексирования, содержит в операционной группе 12 разрядов ре.гистра 11 микрокоманды код функции СЛОЖЕНИЕ, а в управляющей группе 13разрядов - код микрооперации ИНДЕКСИРОВАНИЕ, На втором выходе 23 дешифратора 15 микроопераций возбуждается линия 42 микрооперации ИНДЕКСИРОВАНИЕ. Если в регистре 21 состоянийтриггер 49 нулевого индекса установрен в нуль (т.е. необходимо выполнять индексирование), в шифраторе 17 на элементе И 37 отсутствует совпадение и не срабатывает ни один иэ элементов ИЛИ 24-31, в результате чего все арифметические блоки 1 выполняют операцию СЛОЖЕНИЕ, Если же триггер 49 нулевого индекса установлен в единицу, в шифраторе 17 срабатывает элемент И 37 и, по его выходу, элементы ИЛИ 26-31. В формирователе 19 кодов срабатывает элемент И 56 (потенциал на линии 58 состояния ИНДЕКС НУЛЕВОЙ решает срабатывание), и на выходах элементов ИЛИ 53-55 формируется код 011, соответствующий передаче через мультиплексоры 50-52 информации на их четвертых кодовых входах. В частности, через мультиплексоры 51 и 52 на третий-восьмой выходы 18 формирователя 19 кодов выдается код 1010, соответствующий функции ПЕРЕДАЧА В. Таким образом при необходимости выполнять индексирование в арифметических блоках 1 пробазированный адрес и индекс складываются, а при отсутствии такой необходимости пробазированный адрес передается через арифметические блоки 1 беэ изменения,Потетрадная перекомпоновка.Рассматривают работу процессора на примере выполнения операций с замещением старшей или младшей тетрад в каждом байте исходных операндов (команды ПЕРЕСЫЛКА ЗОН и ПЕРЕСЫЛКА ЦИФВ в ЕС ЭВМ). При выполнении пересылки зон возбуждения линии 39 микрооперации ПЕРЕСЫЛКА ЗОН, а при пересылке цифр - линия 40 микрооперации ПЕРЕСЫЛКА ЦИФР, причем в первом случае в шифраторе 17 срабатывают элементы ИЛИ 24, 26, 28 и 30 и возбуждены все нечетные выходы 16 шифратора 17, во втором случае возбуждены все четные выходы 16 шифратора 17. Микрокоманда, управляющая рабочимтактом пересылки зон или цифр, в операционной группе 12 разрядов регистра 11 микрокоманды содержит код функции. ПЕРЕДАЧА В, а в управляющей разрядной группе 13 разрядов - код микрооперации ПЕРЕСЫЛКА ЗОН или ПЕРЕСЫЛКА ЦИФР. На всех выходах 18 формирователя 19 кодов вырабатывается код функции ПЕРЕДАЧА А. Таким образом, при пересылке эон нечетные (первый, третий и т.д.) арифметические блоки 1 выполняют функцию ПЕРЕДАЧА А, а все четные - функцию ПЕРЕДАЧА В, После завершения выполнения рабочего такта пересылки зон в регистре 2 результата формируется информация, каждый байт которой в старшей тетраде (нечетные разрядные группы 3) содержит соответствующую тетра,цу из регистра 4 первого операнда,а в младший тетраде (четные разрядные группы 3) - соответствующую тет-. раду иэ регистра 5 второго операнда.Операция пересылки цифр выполняетсясовершенно аналогично, только вшифраторе 17 возбуждаются все четные выходы 16, функцию ПЕРЕДАЧА А выполняют четные, а ПЕРЕДАЧА В - нечетные арифметические блоки 1, в старших тетрадах байтов регистра 2 результата формируется информация из регистра 5 второго операнда, а в младшихФормула изобретения тетрадах - из регистра 4 первого операнда.Плавающая арифметики и маскирование.фОперация нормализации в плавающей арифметике заключается в выполйении левых сдвигов мантиссы и одновременном вычитании единицы их характеристики. В предлагаемом процессоре сдвиг мантиссы выполняется в шести младших арифметических блоках 1, а вычитание единицы их характеристики в двух старших, При этом первому и второму арифметическим блокам 1 с выхода формирователя 19 кодов задается выполнения функции А МИНУС 1 (самым старшим арифметическим блоком 1 5 эта функция интерпретируется как вычитание только при появлении заема из предыдущей тетрады), третьему- восьмому арифметическим блокам 1 с выхода операционной группы 12 разря- щ дов регистра 11 микрокоманды задается выполнение функции. СДВИГ ВЛЕВО. Исходное число с плавающей точки помещается в регистр 4 первого операнда, после каждого шага нормализации нормализуемое число через регистр 2 результата вновь пересылается в регистр 4 первого операнда.Предлагаемый процессор позволяет также выполнять обычные операции маскирования, т.е. выделение из исходной информации определенных байтов по маске. Для каждого байта данных в регистре 21 состояний предусмотрен триггер маски (триггеры 44-47 масок нулевого-третьего байтов). Если обработка какого-либо байта запрещена (замаскирована) соответствующим триггером 44-47 маски, то по микро- операции ОПЕРАЦИЯ ПО МАСКЕ (возбуждена линия 43 микрооперации ОПЕРАЦИЯ 40 ПО МАСКЕ) возбуждается соответствующая пара выходов 16 шифратора 17, и соответствующая пара арифметических блоков 1 выполняет функцию ВЫРАБОТКА НУЛЕЙ, задаваемую формиро вателем 19 кодов. Если обработка данного байта разрешена, то в соответствующей паре. арифметических бло.ков 1 выполняется функция, определяемая операционной группой 12 разрядов регистра 11 микрокоманды.Учет повышения быстродействия процессора только на адресной арифметике показывает, что предлагаемый процессор позволяет сократить на один рабочий такт как операцию базирования, так и операцию индексирования. Поскольку базирование и индексирование выполняются в выборке каждой команды ВХ формата, базирование однократно в выборке каждой команды . фб В 5, 51 и дважды - 55 форматов, то в программах, использующих и базирование, и индексирование, время выполнения для команды В 5 и 51 форматов уменьшается на один рабочий такт, И а для наиболее весомых команд форматов ВХ и 55 - на два рабочих такта,например, операция сложения с фиксированной запятой (и большинствоаналогичных команд) формата ВХ вЭВМ ЕМвыполняется за семь-девять рабочих тактов, применение предлагаемого устройства позволяет сократить это время на один-два такта,что означает увеличение быстродействия на таких командах примерно на 191. Микропрограммный процессор, содержащий группу из М арифметических блоков, регистр результата, регистры первого и второго операндов, память микропрограмм, регистр адреса, регистр состояния, регистр микрокоманды, дешифратор микроопераций, причем выходы арифметических блоков соединены с соответствующими входами регистра результата, выходы которого соединены с соответствующими входами регистров первого и второГо операндов, выходы регистра первого операнда соединены с первыми информационными входами соответствующих арифметических блоков, вторые информационные входы которых соединены с соответствующими выходами регистра второго операнда,. выход памяти микропрограмм подключен ко входам регистра микрокоманд, адресный выход которого соединен со входом регистра адреса, выход которого подключен ко входу памяти микропрограмм, управляющий выход регистра микрокоманд соединен со входом дешифратора микроопераций, первый выход которого подключен к входу регистра состояний, о т л и ч а ю щ и йс я тем, что, с целью повышения быстродействия, в него введены шифратор, формирователь кодов и группа из М селекторов, причем выход каждого селектора подключен к управляющему входу соответствующего арифметического блока, выход регистра состояния соединен с первым входом формирователя кодов и первым входом шифратора, выходы которого соединены с управляющими входами соответствующих селекторов, первые информационные входы которых подключены к выходу операций регистра микрокоманд, а вторые информационные входы - к соответствующим выходам формирователя кодов, вторбй вход которого соединен со вторым выходом дешифратора и вторым входом шифратора.2. Процессор по п.1, о т л и ч а ю щ и й с я тем, что формирователь кодов содержит два элемента И, три элемента ИЛИ, элемент НЕ, генератор логического нуля и три мультиплексора, причем первый вход форми 15 8 б 8766рователя кодов соединен со вторымивходами элементов И, второй входформирователя .кодов соединен с первыми входами элементов И, с четырьмявходами первого элемента ИЛИ, стремя входами второго элемента ИЛИ,третьим и четвертым входами третьего элемента ИЛИ, первый и второйвходы которого соединены с выходамипервого и второго элементов И соответственно, выходы элементов ИЛИсоединены с управляющими входамитрех мультиплексоров, выходы которых соединены с выходами формирователя кодов, выход генератора логического нуля соединен с информационными входами мультиплексоров и входом элемента НЕ, выход которого соединен с информационными входами мультиплексоров.Источники информации,принятые во внимание при экспертизе1, Авторское свидетельство СССР9525956, кл, 6 06 Г 15/20, 1976.2. Патент Великобритании Р 1390385,кл. О 4 А, 1975 (прототип).8687 бб ВНИИПИ Закаэ 8330/71Тираж 748 Подписное лиал ППЪ Пат Ужгород,ул.Про тУтная,

Смотреть

Заявка

2871059, 18.01.1980

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

ЕЛИСЕЕВ АЛЕКСАНДР АЛЕКСАНДРОВИЧ, КРУПИН ВЛАДИМИР АЛЕКСАНДРОВИЧ, ЛЕНКОВА ВАЛЕНТИНА МИРОНОВНА, ПЕТУШКОВ АЛЕКСАНДР НИКОЛАЕВИЧ

МПК / Метки

МПК: G06F 15/00

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

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

Код ссылки

<a href="https://patents.su/9-868766-mikroprogrammnyjj-processor.html" target="_blank" rel="follow" title="База патентов СССР">Микропрограммный процессор</a>

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