Устройство для выполнения арифметических и логических операций над словами

Иллюстрации

Показать все

Реферат

 

О И И С А- Н И- Е

ИЗОБРЕТЕНИЯ

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

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

Республик (i ii767757 (61) Дополнительное к авт. свид-ву— (22) Заявлено 25.12.78 (21) 2701704/18-24 (5) ) 1у1 (.п с присоединением заявки K—

5 06 Р 7/38

Государстввниый комитет (23) ПриоритетОпубликовано 30.09.80. Бюллетень № 36 по делам изооретеиий и открытий (53) УДК 681.325 (088.8)

Дата опубликования описания 02.10.80

П. Н. Казмщев, M. Q. Корнев, Ж. Мамаев, I0. Л. Отрохов, Ю. M. Сокол, B. А. Яковлев, A. И. Березенко, Л. Н. Корягин, С. E. Калинин, Б. Л. Марков и В. А. Суворов (72) Авторы изобретения (71) Заявитель (54) УСТРОЙСТВО ДЛЯ ВЫПОЛНЕНИЯ АРИФМЕТИ -1ЕСКИХ

И ЛОГИЧЕСКИХ ОПЕРАЦИЙ НАД СЛОВАМИ

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

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

10 .Известно устройство для выполнения логических и арифметических операций над полноразрядными словами или полями битов (группами рядом стоящих битов), содержащее сумматор, блок логи-, 15 ческих операций, выходной коммутатор, сдвигатель, преобразователь кода, формирователь маски, цополнительные сум. матор и вычитатель, блок управления (1 (.

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

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

Это требует дополнительных затрат времени, а введенное в устройство оборудование (формирователь маски, дополнительные сумматор и вьтчислйтель) становится излишним.

Прототипом изобретения является устроиство для выполнения арифметических и логических операций нац ловами, содержащее арифметико-логич ский узел, сдвигатель, узел формиров сия признака нуля, регистр, коммутаторы и блок управления. Выход сдвигателя является первым выходом устройства и входсм узла формирования признака нуля, выход которого служит вторым выходом устройства. Выход арифметико поги:еского узла соединен с входом сдвигателя и пер- щ вым входом первого коммутатора, выход которого подключе ". к входу регистра, выход регистра - co вторым зходом первого коммутатора и первым входом второго К0ММ ВТорВ. Второй Вход Второго 15 коммутатора является первым информационным входом устройства, а выход вто рого коммутатсра - входом арифметикологического узла, другой вход которого служит вторьп единены с управляющими входами сдвига теля, арифметико-логического узла, коммутаторов, регистра и узла формирования признака куля. Вход блока управления является управляющим входом устройства f2).

При выполнении операций нац группами битов одного или двух слов в этом уст:ройстве требуе "ся предварительное выпол-,50 нение операций выделения битов, подлежа щих обработке, с помощью предварительно формируемых масок. В этом причина низ- кой производительности устройства при работе с группами битов. 35

11ель изобретения - повышение производительности устройства.

Эта цель достигается тем, что в устройство, содержащее арифметико-логичес40 кий узел, сдвигатель, узел формирования признака нуля, регистр, коммутаторы и блок управления, причем выход сдвигателя соединен с первым выходом устройства, а выход узла формирования признака нуля45 со вторым выходом устройства, выход арифметико-логического узла подключен ко входу сдвигателя и первому входу первого коммутатора, выход кото ого соединен со входом регистра, выход которо50 го связан со вторым входом первого ком мутатора и первым входом второго коммутатора, второй вход которого соединен с первым информационным входом устрой-. ства, выходы блока управления соединены: с управляющими входами сдвигателя, арифметико логического узла, регистра, пер вого и второго коммутаторов и узла фор мирования признака нуля, вход блока уп767757 равления соединен с управляющим входом устройства, ввецены узлы маскирования первого и второго операндов и узел маскирования результата. При этом первый вход узла маскирования первого операнда соединен со вторым информационным входом устройства, первый вход узла маскирования второго операнда:. - с выходом второго коммутатора, первый вход узла маскирования результата связан с выходом сдвигателя, вторые входы узлов маскирования операндов и результатас выходом регистра. Выходы узлов маскирования первого и второго операндов подключены к входам арифметико-логическогэ узла, управляющие входы умов маскирования первого и второго операндов и узла маскирования реэультатак выходам управляющих кодов маски блока управления, а выход узла маскирования результата — ко входу узла формирования признака нуля.

На фиг, 1 представлена блок-схема устройства; на фиг. 2 показан пример выполнения логической операции над полями слов.

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

1, сдвигатель 2, коммутатор 3, регистр

4, коммутатор 5, блок 6 управления, узел 7 маскирования первого операнда,, узел 8 маскирования второго операнда, узел 9 маскирования результата .и узел

10 формирования признака нуля.

Перечисленные узлы соединены в устройство следующим образом.

Входы арифметикологического узла 1 соединены с выходами узла 7 маскирова ния первого операнда и узла 8 маскирования второго операнда, выход его со входом сдвигателя 2 и с одним иэ входов коммутатора 3. Второй вход сдви гателя связан с выходом регистра 4, который; кроме того, соединен с одним из входов коммутатора 5, узла 7 маскирования первого операнда, узла 8 маскирования второго операнда и узла 9 маскирования результата, вторые входы этих узлов соединены соответственно со входами А> и Aq устройства, с выходом. коммутатора 5 и с выходом сдвигателя

2; выход коммутатора 3 соединен со

: входом регистра 4, а выход узла 9 маскирования результата - со входом узла

10 формирования признака нуля. Выход сдвигателя 2 соединен с первым выхо дом устройств а, а выход узла 10 формирования признака нуля - со вторым выхо

7677

Номер способа 1 2 3 4 5 6 7 8 9 10 с Счти Счв Счй Сии Сич С лю СИъ СЮ

Способ С преобразования

5 дом устройства. Работа всех перечисленных узлов и их взаимодействие осуществляется блоком 6 управления, выходы которого соединены со всеми узлами;, вход блока 6 соединен с управляющим входом устройства, на который подается код операции.

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

При выполнении операций над полноразрядными словами — операндами А и

А или группами битов, расположенных 20 в словах А и A>, устройство работает следующим образом.

При этом приняты следующие обозначения:

e, - значение операндов А или Ао г Я ° - значение маски, поступающее с регистра 4;

9,A> - логические операции дизъюнкции, конъюнкции и отрицания соответственно.

Преобразованные операнды с выходов

40 узлов маскирования первого 7 и второго

8 операндов поступают на вход арифметикологического узла 1, в котором выполняется какая-либо арифметическая или логическая операция нац полноразряднымИ операндами. Код этой операции проходит на управляющий вход арифметикологического узла 1 из блока 6 управления. Результат операции поступает на вход сдвигателя 2 и вход коммутатора 4.

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

9 маскирования результата. В этом узле выполняется поразрядная операция коньюнкции результата и маски и, поступа

57

Операнды Ag и:А со вкодч устройства поступают соответственно на вкоды узлов маскирования первого 7 и второго

8 операндов, в которых производится ик предварительное преобразование. В преобразовании кроме операндов А,и А участвует значение маски М, хранящейся на регистре 4. Это значение представляет собой полноразряцное двоичное слово, содержащее группы символов "1 в разрядах, соответствующих разрядам группы битов, подлежащих обработке в операндах А и А >, во всех остальных разрядах маски содержатся "символы 0".

Преобразование каждого операнда может быть различным и определяется уп равляющим кодом, поступающим из блока 6 управления. Все возможные виды преобразования операндов А и А пред1 ставлены в таблице. с ющей с регистра 4, в соответствии с которой на вход узла 10 формирования признака нуля поступает код, содержащий символы "0" во всех разрядак, не принадлежащих группе обрабатываемых битов. По этому коду узел формирования признака нуля вырабатывает признак нуль", если все разряды поступившего на ее вход слова содержат только символы "0", и признак "не нуль" - в противном случае. Выработанный признак направляется на второй выход устройства.

Со вкода коммутатора 3 результат операции арифметико логического узла 1 может быть записан на регистр 4 либо со сдвигом на один разряд влево или вправо, либо Geo сдвига. Кроме этого, содержимое регистра 4 также может быть подвергнуто операции сдвига влево или вправо в коммутаторе 3 с последующей записью из него снова HQ регистр 4.

Управление всеми указанными операциями осуществляется блоком 6, на вход которого поступает код управления с управляющего входа устройства.

767757

Рассмотрим отдельно примеры, поясняющие работу устройства лишь при выполнении операций над группам битов.

1. Логические операции над полями (фиг. 2). Соответствующий код операции поступает на вход блока 6 управления.

На первые входы узлов маскирования первого 7 и второго 8 операндов поступают соответственно операнды А и А, а на вторые входы указанных узловмаска щ из регистра 4. С выхода узла

7 маскирования неизмененный .операнд

А(поступает на первый вход арифметико логического узла 1. В узле 8 маскирования выполняется поразрядная операция конъюнкции операнда А и маски

ААЛЬ, в соответствии с которой в операнде А2 выделяются обрабатываемые поля, а во все разряды, не принадлежащие, группе обрабатываемых битов, эаписы- 20 ваются нули. Исключение составляет операция "коньюнкция полей, для которой в узле 8 маскирования во всех разрядах, не принадлежащих группе обрабатываемых битов, записываются единицы (на фиг. 2 обрабатываемые поля операндов А и

А2 обозначены соответственно через А,, 4 6 4 6

Aq, A и А<, Ар, Ag, а остальные пУЯ вЂ” чеРез А„, А<, А, А„иА.

f ъ 5 7 Я

А2, А . С выхода узла Ь маСкирОва- З0

7 ния преобразованный второй операнд Ag поступает ца второй вход арифметикологического узла 1, в котором выполняется соответствующая коду операции логическая операция над полноразрядными 35 словами. В результате па выходе узла 1 формируется слово Р, содержащее поля результата выполнения заданной логической операции, а в разряды, не пр тадлежащие группе обрабатываемых битов, пе <0 редаются значения соответствующих раз рядов операнда А

2. Операции пересылок полей. Операция пересылки полей выполняется так же, как логические операции с той лишь раз- <5 ницей, что в узле 7 маскирования первого операнда проводится поразрядная операция конъюнкции операнда А и обратного кода маски N, в соответствии с которой в операнде A q выделяются группы битов, соответствующие нулевым значениям маски Ь, а ио все разряды, соответствующие единичным значениям маски vn, записываются нули. Б арифме тико логическом узле 1 выполняется операция сложения, и в результате на выходе узла 1 формируется слово Р, в котором в поляк, выделенных маской содержатся соответствующие поля операнда А, а в остальных раэрядахзначения соответствующих разрядов операнда А . Поменяв операции, выполняемые в узлах 7 и 8 маскирования, в устройстве достигается пересылка полей по обратной маске. Этим повышается производительность обработки многословной информации при сдвиге одного операнда относительно другого благодаря использованию одной маски беэ перегрузки.

3. Операции пересылок инверснык по-. лей. Устройство работает так же, как при выполнении предыдущей операции, однако в узлах 7 или 8 маскирования перец соответствующей .операцией маскирова ния производится операция инверсии одного из операндов. В результате на выходе узла 1, формируется слово Р, в котором в поля одного из операндов встав лены инверсные поля другого операнда.

4. Сложение полей. В данном случае узлы 8 и 1 работают так же, как и в логических операциях, а в узле 7 маскирования первого операнда выполняется выделение обрабатываемых полей в операнде А, а во все разряды, не принадлежащие группе обрабатываемых битов, записываются единицы. Преобразованные операнды поступают на входы узла 1, в котором производится сложение полноразряднык слов. Если возникает сигнал переноса из разряда сумматора, соответствующего положению старшего разряда одного из полей, например А (фиг. 2), то ои

4 распространяется до следующего по стар2 шинству поля (А, так как в операнде

А выключенные из обработки биты установлены в единичное значение. Перенос из старшего поля распространяется до выхода переноса из старшего разряда сумматора, В результате операции получается сумма двух операндов с исключенными группами битов в каждом операнде. Используя в узлах 7 и 8 маскирования обратный ход маски ф, в устройстве достигается сложение полей по обратной маске, что дает дополнительный э<1iфект при сложении многословных операндов, когда один операнд сдвинут относительно другого.

Если не маскировать первый операнд. в узле 7, то в устройстве выполнится операция сложения полноразрядного кода операнда А ч выцеленнык полей операн да А .

767757

20

ЗО

5. Вычитание полей. Эта операция выполняется так же, как операция Сложение полей", с той лишь разницей, что на выходе узла.8 маскирования формируется обратный код преобразованного операнда А >, в узле 7 маскирования происходит выделение полей операнда А4 с обнулением разрядов, не принадлежаших группе обрабатываемых битов, а в узел

1 блоком управления подается сигнал переноса в младший разряд сумматора.

Таким образом, в разрядах сумматора, соответствующих выделенным полям, про» изводится сложение полей в дополнительном коде, т. е. вычитание.

Если не маскировать первый операнд в узле 7, то в устройстве выполнится операция вычитания из полноразрядного кода операнда А4 выделенных полей операнда А . Используя в этом случае B узле 8 маскирования обратный код маски Vn,,в устройстве достигается вычитание из кода операнда А 4 полей операнца А, выделяемых обратной:маской, что так же, как и при сложении полей, дает дополнительный эффект обработки многословных операндов.

6. Выделение полей. Соответствуюо щий код операции КО поступает на вход блока 6 управления. На входы арифметико-логического узла 1 поступает не- изменный операнд А4 со вхоца устройства, а в качестве второго операнда поступает маска и с регистра 4. В арифметико-логическом узле 1 выполняется соответствующая коду операции логическая или арифметическая операция над полноразрядными операндами. В результате возможных операций в устройстве можно выполнить выделение полей операнда А4, инверсию полей, обнуле- ние полей, вставление единиц в поля и т. д.

Принцип работы устройства при выполнении операций над полноразрядными словами и методы построения на базе этого устройства, если рассматривать его как отдельный модуль, многомодуль ных устройств аналогичны принципам и методам, описанным в (3).

Арифметическое устройство представляет собой комбинационную логическую схему с одним регистром, вследствие чего время выполнения всех основных операций определяется числом логических уровней в цепях, соединяющих входы .и выходы устройства. Это обеспечивает увеличение скорости выполнения опера- . ций над группами битов слова в 4-12 раз по сравнению со временем микропрограммного или программного исполнения этих операций в прототипе при условии исполнения обоих устройств на одинаковой элементной базе. Дополнительные затраты оборудования не превосходят 3% от общего объема оборудования прототипа.

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

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

А А (Pea 5 2

Д А

А

Р фж 2

ВНИИПИ Заказ 7196/45 Тираж 75 . Подписное

Филиал ППП Патент", г. Ужгород, ул. Проектная, 4 тата подключен ко входу узла формирова-, ния признака нуля.

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

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

М 538362, кл. Cj 06 F 7/38, 1975.

А,42

2ЛЧ,T Üoòàü Adams, ЬсоМ tA .5m 69

"Иои, "01 ;вС се аМ лев оотпрат е;Раг4 1, e atuoting ргооеве ьп eKe enhs", Е ес оп1сь, Ао ов 3,1978 прототип .

3.4- Ь expandable Юрова плс о—

5 Cont).îÈåã 5|Oi (47oi.Мопо1КЫс 4ewoИбв 1hco r po ated ката лог), Ос о"ое,1975.