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

Иллюстрации

Показать все

Реферат

 

Союз Советских

Социалистических

Республик

ОП ИСАНИЕ

ИЗОБРЕТЕНИЯ

К АВТОРСКОМУ СВИДЕТЕЛЬСТВУ пп868766 (61) Дополнительное к авт. свид-ву (22) Заявлено 18Ð1.80 (21) 2871059/18-24 я)м. к,.

G 06 F 15/00! с присоединением заявки ¹

Государственный комитет

СССР по делам изобретений н открытий (23) Приоритет

Опубликовано 300931, Бюллетень № 36 (53) УДК 681. 3 (088.8) Дата опубликования описания 3009.81

Фд

А.А.Елисеев, В.А. Крупин, В.М. Ленкова и А . Н.Петуащюф,".- -: (72) Авторы изобретения ( р (71) Заявитель (54) МИКРОПРОГРАММИЫИ ПРОЦЕССОР

Изобретение относится к.вычислительной технике и может быть использовано в цифровой вычислительной машине.

Известен микропрограммный процессор, содержащий арифметические блоки с регистрами операндов и результата, память микропрограмм с регистрами адреса и микрокоманды и дешифратором микроопераций, регистр состояния ?11.

Недостатком известного процессора является невозможность обработки информационных слов произвольной (но в пределах разрядности арифметики) длины за один рабочий такт процессора. Обработка таких слов в известном процессоре выполняется в течение нескольких рабочих тактов, малыми порциями за такт побайтно, потетрадно или побитно (команды типа память-память, в ЕС ЭВМ, некоторые ситуации арифметики с плавающей точкой, команды с маскированием операций в отдельных байтах, адресная арифметика, процедуры обработ- ки прерываний и т.д.), что приводит к снижению быстродействия известного процессора.

Наиболее близким к предлагаемому является микропрограммный процессор, 3() содержащий и идентичных арифметических блоков, регистры результата первого и второго операндов, узел маскирования, память микропрограмм с регистрами адреса и микрокоманды, дешифратор микроопераций и регистр состояния (23 .

В известном процессоре для цели обработки информации нефиксированной длины использован принцип маскирования: конкретная величина обрабатываемого информационного слова задается специальными масками, которые управляют работой узла маскирования на выходе арифметических блоков.

Кроме того, что узел маскирования сам по себе вносит дополнительное увеличение времени срабатывания арифметики (как дополнительная ступень), известный процессор имеет низкие функциональные возможности, непозволяющие выполнять ряд часто используемых операций по обработке данных и адресов за один рабочий. такт. Например, операция базирования адреса (сложение 24-разрядной базы адреса с 12-разрядным смещением) требует двух рабочих тактов - выделение смещения из 32-разрядного слова или 16-разрядного полуслова путем

868766 маскирования (первый такт) и сложение базы со смещением (второй такт).

По указанным причинам быстродействие известного процессора является низким.

Цель изобретения — повышение быстродействия процессора.

Поставленная цель достигается тем, что в микропрограммный процессор, содержащий группу из и арифметических блоков, регистр результата, регистры первого и второго операндов, память микропрограмм, регистр адреса, регистр состояния, регистр микрокоманды, дешифратор микроопераций, причем выходы арифметических блоков соединены с соответствующими входами регистра результата, выходы которого соединены с соответствующими входами регистров первого и второго операндов, выходы регистра первого операнда соединеиы с первыми информационными входами соответствующих арифметических блоков, вторые информационные входы которых соединены с соответствующими выходами регистра второго операнда, выход памяти микропрограмм подключен ко входам регистра микрокоманд, адресный выход которого соединен со входом регистра адреса, выход которого подключен ко входу памяти микропрограмм, управляющий выход регистра микрокоманд соединен со входом дешифратора микроопераций, первый выход которого подключен ко входу регистра состояний, введены шифратор, формирователь кодов и группа из и селекторов, причем выход каждого селектора подключен к управляющему входу соответствующего арифметического блока, выход регистра состояния соединен с первым входом формирователя кодов и первым входом дешифратора, выходы которого соединены с управляющими входами соответствующих селекторов, первые информационные входы которых подключены к выходу операций регистра микрокоманд, а вторые информационные входы — к соответствующим входам формирователя кодов, второй вход которого соединен со вторым выходом дешифратора и вторым входом шифратора.

Причем, формирователь кодов содержит два элемента И, три элемента

ИЛИ, элемент НЕ, генератор логического йуля и три мультиплексора, причем первый вход формирователя кодов соединен со вторыми входами элементов И, второй вход формирователя кодов соединен с первыми входами элементов И, с четырьмя входами первого элемента ИЛИ, с тремя входами второго элемента ИЛИ, третьим и четвертым входами третьего элемента ИЛИ, первый и второй входы которого соединены с выходами первого и второго элементов И соответственно, выходы

65 элементов ИЛИ соединены с управляющими входами трех мультиплексоров, выходы которых соединены с выходами формирователя кодов, выход генератора логического нуля соединен с информационными входами мультиплексоров и входом элемента НЕ, выход которого соединен с информационными входами мультиплексоров.

Введение дополнительных узлов позволяет в предлагаемом процессоре выполнять одновременно различные опе,рации над различными группами разрядов входной информации арифметических блоков, тогда как в известном процессоре может выполняться только одна операция.

Возможность выполнения различных операций в разных арифметических блоках или в разных группах арифметических блоков приводит к возможности совмещения в одном рабочем такте предлагаемого процессора совокупность разных действий, которые выполняются в известном процессоре за несколько

7 рабочих тактов. Кроме этого, в предлагаемом процессоре увеличено быстродействие цепочки регистры первого и второго операндов — арифметические блоки — регистр результата за счет устранения задержки, вводимой в известном процессоре узлом маскирования.

На фиг. 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 микроопераций, элементы HJIH 24-31, элементы И 32-37, линии 38-43 микроопераций НОРМАЛИЗАЦИЯ ПЕРЕСЫЛКА ЗОН ПЕРЕСЫЛКА ЦИФР

БАЗИРОВАНИЕ, ИНДЕКСИРОВАНИЕ и ОПЕРА»

ЦИЯ ПО МАСКЕ соответственно, триггеры 44-47 масок соответственно нулевого, первого, второго и третьего байтов и триггеры 48 и 49 соответственно нулевой базы и нулевого индексов, мультиплексоры 50-52, эле868766 менты ИЛИ 53-55, элементы И 56 и 57, линии 58 и 59 состояния соответственно ИНДЕКС НУЛЕВОЙ и БАЗА НУЛЕВАЯ, шины 60-65 .кодов 0000, 0011, 1111, 1001, 1010 и 1100, генератор бб логического нуля, элемент НЕ 67.

Выход первого, второго, ... и й-го арифметических блоков 1 в регистре

2 результата соответственно соединены со входами первой, второй,... и

N-й разрядных групп 3, выходы которых в регистрах 4 и 5 первого и второго операндов соответственно соединены со входами первых, вторых,... и N-х разрядных групп б и 7. К первому и второму входам арифметических блоков 1 подключены выходы соответствующих разрядных групп б и 7 регистров 4 и 5 первого и второго операндов соответственно. К управляющим входам арифметических блоков 1 подключены выходы соответствующих 20 селекторов 8.

Выход регистра 9 адреса соединен со входом памяти 10 микропрограмм, выход которой в регистре 11 микрокоманды соединен со входами операционной, управляющей и адресной группы

12, 13 и 14 разрядов. К первым инфор. мационным входам селекторов 8 подключен выход операционной группы 12 разрядов ко входу дешифратора 15 микроопераций — выход управляющей группы 13 разрядов и ко входу регистра 9 адреса — выход адресной группы

14 разрядов регистра 11 микрокоманды.

Первый, второй,... и N é выходы 16 шифратора 17 соединены с управляющими входами первого, второго,... и й-го селекторов 8 соответственно.

Первый, второй,... и N é выходы 18 формирователя 19 кодов соединены со вторыми информационными входами 40 первого, второго,... и N-го селектора

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 в perzoтре 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 соединены с шиной

868766

62 кода 1111. Первый кодовый вход мультиплексора 52 и третьи кодовые входы мультиплексоров 51 и 52 соединены с шиной 63 кода 1001. Второй кодовый вход мультиплексора 52 и четвертые кодовые входы мультиплексоров 51 и 52 соединены с шиной 64 кода 1010. Восьмые кодовые входы мультиплексоров 51 и 52 соединены с шиной 65 кода 1100. Каждая из шин 60-65 включает четыре разрядных линии. С выходом генератора 66 логического нуля соединены все разрядные линии шины 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.

Процессор работает следующим образом.

В каждом рабочем такте из памяти

10 микропрограмм в регистр 11 микрокоманды по адресу, сформированно- 4О му в регистре 8 адреса, считывается микрокоманда, управляющая выполнени ем совокупности действий данного рабочего такта. Адрес очередной микрокоманды в микропрограммной после- щ5 довательности определяется адресной группой 14 разрядов регистра 11 микрокоманды. По содержимому управляющей группы 13 разрядов дешифратор

15 микроопераций вырабатывает набор управляющих сигналов данного рабочего такта. Операционная группа 12

Разрядов определяет операцию, выполняег ую в данном рабочем такте арифметическими блоками 1. При этом на входы арифметических блоков 1 подаютср .первый и второй операнды из регистров 4 и 5 первого и второго операндов, а результат операции с выходов арифметических блоков 1 заносится в регистр 2 результата. При Я} обработке данных фиксированной длины .исходные 32-разрядные операнды занимают полный объем регистров 4 и 5 первого и второго операндов так, что каждая разрядная группа 6 и 7 65 этих регистров содержит четыре разряда (тетраду) исходных данных, а в регистр 2 результата заносится 32разрядный результат обработки так, что в каждую разрядную группу 3 помещается тетрада -результата. На всех выходах 16 шифратора 17 вырабатывается сигнал, по которому. через селекторы 8 на управляющие входы всех арифметических блоков 1 передается содержимое операционной группы 12 разрядов регистра 11 микроманды.

При обработке операндов фиксированной длины все арифметические блоки

1 выполняют одну и ту же операцию, заданную операционной группой 12 разрядов. Процессор выполняет такую обработку в том случае, если управляющая группа 13 разрядов регистра

11 микрокоманды не задает ни один из режимов специальной обработки.

B описываемом варианте процессора режимы специальной обработки могут быть заданы одйой из следующих микроопераций: БАЗИРОВАНИЕ, ИНДЕКСИРОВАНИЕ, ПЕРЕСЫЛКА ЗОН, ПЕРЕСЫЛКА ЦИФР, 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 содержимого соответствующей разрядной группы б

868766

10 регистра 4 первого операнда с переносом из предыдущего арифметического блока 1, обозначение функции — ПЕРЕДАЧА А; код 0011, на выходе данного арифметического блока 1 формируется нулевая информация, обозначение — выработка нулей; код 1001, сложение в данном арифметическом блоке 1 содержимого сооТ ветствующих разрядных групп 6 и 7 регистров 4 и 5 первого и второго операндов, обозначение — СЛОЖЕНИЕ; код 1010, пересылка через данный арифметический блок 1 содержимого соответствующей разрядной группы 7 регистра 5 второго операнда, обозначение — ПЕРЕДАЧА В; код 1100, сложение в данном арифметическом блоке удвоенного содержимого соответствующей разрядной группы 6 регистра 4 первого операнда с переносом из предыдущего арифметического блока. 1, обозначение — СДВИГ

ВЛЕВО, код 1111, вычитание в данном арифметическом блоке 1 единицы из содержимого соответствующей разрядной группы б регистра 4 первого операнда, I обозначение — А МИНУС 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 кодов

QQ выдается код 0000, соответствующий функции ПЕРЕДАЧА А.

На управляющие входы первого, второго, шестого, седьмого и восьмого арифметических блоков 1 (фиг.1) через соответствующие селекторы 8 поступает код функции СЛОЖЕНИЕ из операционной группы 12 разрядов, а на управляющие входы третьего-пятого арифметических блоков 1 — код функции ПЕРЕДАЧА А из формирователя 19

ЗО кодов. Таким образом, в шестом-восьмом арифметических блоках .1 выполняется сложение 12-разрядного смещения с младшими двенадцатью разрядами базы, а в третьем-пятом арифметических блоках 1 выполняется распространение переноса на стадии 12-ти разрядов базы. Функция первого и второго арифметических блоков 1 в данной операции безразлична, так как результи® рующий адрес состоит только из 24-х разрядов. После завершения выполнения операции базирования адрес с выходов третьего-восьмого арифметических блоков 1 заносится в третью-вось" ф5 мую соответственно разрядные группы

3 регистра 2 результата.

Если в регистре 21 состояний триггер 48 нулевой базы установлен в единицу (необходимость в баэирощ вании отсутствует) в шифраторе 17 по возбужденной линии 41 микрооперации БАЗИРОВАНИЕ срабатывает элемент

И 36 и в результате возбуждаются элементы ИЛИ 26-31, что вызывает появление сигналов на втором-вось.мом выходах 16 шифратора 17. Первый и второй выходы 16 остаются невозбужденными.

В формирователе 19 кодов разрешающий потенциал на линии 59 состоя60 ния БАЗА НУЛЕВАЯ приводит к срабатыванию элемента И 57 и, далее, элемента ИЛИ 55. На управляющие входы мультиплексоров 50-52 подается код

001, в результате чего через эти

Я мультиплексоры передается код, со868766

12 ответствующий коммутации их вторых кодовых входов. В частности, через муЛьтиплексор 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 второго операнда24-разрядный пробазированный адрес.

Микрокоманда, управляющая рабочим тактом индексирования, содержит в операционной группе 12 разрядов ре.гистра 11 микрокоманды код функции

СЛОЖЕНИЕ, а в управляющей группе 13 разрядов — код микрооперации ИНДЕКСИРОВАНИЕ, На втором выходе 23 дешифратора 15 микроопераций возбуждается линия 42 микрооперации ИНДЕКСИ РОВАННЕ. Если в регистре 21 состояний триггер 49 нулевого индекса установ рен в нуль (т.е. необходимо выполнять индексирование), в шифраторе 17 на элементе И 37 отсутствует совпадение и не срабатывает ни один иэ элементов ИЛИ 24-31, в результате чего все арифметические блоки

1 выполняют операцию СЛОЖЕНИЕ. Если же триггер 49 нулевого индекса установлен в единицу, в шифраторе

17 срабатывает элемент И 37 и, по

3S

55 бб

65 его выходу, элементы ИЛИ 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 кодов вырабатывается код функции ПЕРЕДАЧА A. Таким образом, при пересылке эон нечетные (первый, третий и т.д.) арифметические блоки 1 выполняют функцию ПЕРЕДАЧА А, а все четные — функцию ПЕРЕДАЧА В. После завершения выполнения рабочего такта пересылки зон в регистре 2 результата формируется информация, каждый байт которой в старшей тетраде (нечетные разрядные группы 3) содержит соответствующую тетра,цу из регистра 4 первого операнда, а в младший тетраде (четные разрядные группы 3) — соответствующую тет-. раду иэ регистра 5 второго операнда.

Операция пересылки цифр выполняется совершенно аналогично, только в шифраторе 17 возбуждаются все четные выходы 16, функцию ПЕРЕДАЧА А выполняют четные, а ПЕРЕДАЧА  — нечетные арифметические блоки 1, в старших тетрадах байтов регистра 2 результата формируется информация из регистра 5 второго операнда, а в младших

868766

Формула изобретения

1. Микропрограммный процессор, содержащий группу из М арифметических блоков, регистр результата, регистры первого и второго операндов, память микропрограмм, регистр адреса, регистр состояния, регистр микрокоманды, дешифратор микроопераций, причем выходы арифметических блоков соединены с соответствующими входами регистра результата, выходы которого соединены с соответствующими входами регистров первого и второГо операндов, выходы регистра первого операнда соединены с первыми информационными входами соответствующих арифметических блоков, вторые информационные входы которых соединены с соответствующими выходами регистра второго операнда,. выход памяти микропрограмм подключен ко входам регистра микрокоманд, адресный выход которого соединен со входом регистра адреса, выход которого подключен ко входу памяти микропрограмм, управляющий выход регистра микрокоманд соединен со входом дешифратора микроопераций, первый выход которого подключен к входу регистра состояний, о т л и ч а ю щ и йс я тем, что, с целью повышения быстродействия, в него введены шифратор, формирователь кодов и группа из N селекторов, причем выход каждого селектора подключен к управляющему входу соответствующего арифметического блока, выход регистра состояния соединен с первым входом формирователя кодов и первым входом шифратора, выходы которого соединены с управляющими входами соответствующих селекторов, первые информационные входы которых подключены к выходу операций регистра микрокоманд, а вторые информационные входы — к соответствующим выходам формирователя кодов, вторбй вход которого соединен со вторым выходом дешифратора и вторым входом шифратора.

2. Процессор по п.1, о т л и ч а ю шийся тем, что формирователь кодов содержит два элемента И, три элемента ИЛИ, элемент НЕ, генератор логического нуля и три мультиплексора, причем первый вход формитетрадах — из регистра 4 первого операнда.

Плавающая арифметики и маскирование. °

Операция нормализации в плавающей арифметике заключается в выполйении левых сдвигов мантиссы и одновременном вычитании единицы их характеристики. В предлагаемом процессоре сдвиг мантиссы выполняется в шести младших арифметических блоках 1, а вычитание единицы их характеристики в двух старших. При этом первому и второму арифметическим блокам 1 с выхода формирователя 19 кодов задается выполнения функции А МИНУС 1 (самым старшим арифметическим блоком 1 !5 эта функция интерпретируется как вычитание только при появлении заема из предыдущей тетрады), третьемувосьмому арифметическим блокам 1 с выхода операционной группы 12 разря- 2й дов регистра 11 микрокоманды задается выполнение функции. СДВИГ ВЛЕВО.

Исходное 4исло с плавающей точки помещается в регистр 4 первого операнда, после каждого шага нормализации нормализуемое число через регистр 2 результата вновь пересылается в регистр 4 первого операнда.

Предлагаемый процессор позволяет также выполнять обычные операции маскирования, т.е. выделение из исходной информации определенных байтов по маске. Для каждого байта данных в регистре 21 состояний предусмотрен триггер маски (триггеры 44-47 масок нулевого-третьего байтов). Если обработка какого-либо байта запрещена (замаскирована) соответствующим триггером 44-47 маски, то по микрооперации ОПЕРАЦИЯ ПО МАСКЕ (возбуждена линия 43 микрооперации ОПЕРАЦИЯ 40

ПО МАСКЕ) возбуждается соответствующая пара выходов 16 шифратора

17, и соответствующая пара арифметических блоков 1 выполняет функцию

ВЫРАБОТКА НУЛЕЙ, задаваемую формиро- 4 вателем 19 кодов. Если обработка данного байта разрешена, то в соответствующей паре. арифметических бло.ков 1 выполняется функция, определяемая операционной группой 12 разрядов регистра 11 микрокоманды.

Учет повышения быстродействия процессора только на адресной арифметике показывает, что предлагаемый процессор позволяет сократить на один рабочий такт как операцию базирования, так и операцию индексирования.

Поскольку базирование и индексирование выполняются в выборке каждой команды RX формата, базирование однократно в выборке каждой команды - ф}

RS, SI и дважды — SS форматов, то в программах, использующих и базирование, и индексирование, время выполнения для команды RS-u SI форматов уменьшается на один рабочий такт, И а для наиболее весомых команд форматов RX u SS — на два рабочих такта, например, операция сложения с фиксированной запятой (и большинство аналогичных команд) формата RX в

ЭВМ EM-1022 выполняется за семь-девять рабочих тактов, применение предлагаемого устройства позволяет сократить это время на один-два такта, что означает увеличение быстродействия на таких командах примерно на 19Ъ15

8б 8766

16 рователя кодов соединен со вторыми входами элементов И, второй вход формирователя .кодов соединен с первыми входами элементов И, с четырьмя входами первого элемента ИЛИ, с тремя входами второго элемента ИЛИ, третьим и четвертым входами третьего элемента ИЛИ, первый и второй входы которого соединены с выходами первого и второго элементов И соответственно, выходы элементов ИЛИ соединены с управляющими входами трех мультиплексоров, выходы которых соединены с выходами формирователя кодов, выход генератора логического нуля соединен с информационными входами мультиплексоров и входом элемента НЕ, выход которого соединен с информационными входами мультиплексоров.

Источники информации, принятые во внимание при экспертизе

1. Авторское свидетельство СССР

Р525956, кл. 6 06 Г 15/20, 1976.

2. Патент Великобритании @1390385, кл. G 4 А, 1975 (прототип).