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

Иллюстрации

Показать все

Реферат

 

О П И С А Н И ее. т1674017

ИЗОБРЕТЕНИЯ

К АВТОРСКОМУ СВИДВТВЛЬСТВУ

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

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

Респубяин (61) Дополнительное к авт. свил-ву N. 538362 (22) Заявлено 17;03.77 (21)2462563/18-24 с присоединением заявки № (23) Приоритет

Опубликовано15. g7.7g Бюллетень № 26 (5)) М. Кл

6 06 Р 7/38

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

СССР в делем кэебретеккк н еткрыткй (53) УДК 681. 325 (088. 8)

Даы опубликования описания 18.07.79 (72) Автор изобретения

И. П. Селезнев (71) Заявитель

{54) УСТРОЙСТВО ДЛЯ ВЫПОЛНЕНИЯ АРИФМЕТИЧЕСКИХ

И ЛОГИЧЕСКИХ ОПЕРАЦИЙ

Изобретение относится к области вычислительной техники.

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

2 входами выходного коммутатора, первый вход блока управления соединен с вторым входом устройства, а второй - с вторым выходом сумматора; .устройство,. кроме того, содержит блок формирования маски, 5 дополнительный сумматор и вычит атель, первые входы которых объединены и под«

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

674017

3 .: В известном устройстве вырабатывается недостаточное количество признаков результата операций над полями. Эти признаки используются для реализации операторов ветвления (операций условной передачи управления) в алгоритмах задач, решаемых устройством обработки информации, в состав которого входит такое устройство для выполнения арифметических и логических операций. При выполнении !о операций над числами с форсированной запятой, представленными в дополнительном коде (значение знака числа указывается в старшем разряде), обычно формируются следующие признаки результата: признак 9 — значение знакового (старшего) разряда -результата; признак Z — признак нулевого значения результата (все раз- ряды результата имеют нулевое значение); признак С - признак расширения, опре» деляемый значением cur, E5 нала переноса из старше- го разряда при выполнении операции сложения над операциями; признак V — признак переполнения, козе торый принимает единичное значение, если при сложении чисел имеется перенос в знаковый разряд и отсутствует перенос из знаково-:

;го разряда (складываются

3» два положительных числа), либо отсутствует перенос в знаковый разряд и имеется перенос из знакового

40 разряда (складываются два отрицательных числа).

Иэ всех указанных признаков в известном устройстве <аппаратурно вырабатывается только признак С(на втором выходе

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

50 формации через устройство). Это требует дополнительных затрат времени и, следовательно, снижает быстродействие устройства.

Целью изобретения является повышение

55 быстродействия.

Это достигается тем, что предлагаемое устройство содержит сумматор по модулю два, блок элементов И, дешифратор, nept

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

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

Устройство для выполнения арифмети» ческих и логических операций (фиг. 1) содержит сумМатор 1, блок логических операций 2, выходной коммутатор 3, сдвигатель комбинационного типа 4, преобразователь кода 5, блок управления 6, блок формирования маски 7, дополнительный сумматор 8„ вычитатель 9, блок элементов И 10, дешифратор 11, первый коммутатор 12, второй коммутатор 13„ сумматор по модулю два 14.

Устройство обеспечивает выполнение арифметических и логических операций над двумя информационными полями, расположенными в словах А и А . Разрядность слов m = 2, причем нулевой разрядстарший, а (rn -1)-й разряд - младший.

Информационное поле в слове А задает( ся двумя параметрами: базой 5<, определяющей положение первого элемента (бита) поля, . и длиной R, соответсч вующей количеству элементов в поле, уменьшенному на единицу. Аналогичным образом положение поля в слове А2 задается базой b . Параметр 3 одинаков для обоих полей. Сдвигатель 4 комбинационного типа обеспечивает быстрый сдвиг числа А, с целью выравнивания положения полей в словах А и А . Сдвигатель 4 осуществляет циклический сдвигслов только влево. Если 6 р Ь2 то величина сдвига С = 61 — Ь2 . Если Ь2, то следует произвести ! сдвиг вправо на величину c "-bg — Ь что эквивалентно сдвигу влево на взличи ну с =rA- (b - be )= rr + (Ь,— Ьр). На

674017

5 выходе fj разрядного вычитателя 9 формируются разность (Q - Ь ), либо дополнительный код числа Ь» . Блок 7 формирования маски обеспечивает выработку, ٠— разрядного двоичного слова 5

М, содержашего единственную группу символов "1, в которой отсутствуют символы 0" (например слово 00111100).

Положение группы символов "3. в маске определяется адресами начальной (ot4) и конечной (l3 ) единиц (отсчет позиций производится слева направо). ЗначеИИЯ Сб И О, 04(йи,обт » m-! ПОСТУлают на входы блока 7 со входа устрой» ства и с выхода n — разрядного допол15 нительного сумматора 8, соответственно.

На входы этого сумматора подаются параметры tt и E . Преобразователь 5 кода обеспечивает формирование на своем выходе прямого или обратного кода числа А

Ко входам блока 2 логических операций подключены выходы блока 7 формирования маски, сдвигателя 4 и преоб25 разователя 5 кода. На выходе этого блока вырабатывается слово Ь, причем значения сигнала Я на выходе 1 — го разряда формируются в соответствии с одной из шестнадцати логических функций

It 1, .зо от аргументов а и о (< -сиг- нал на выходе» -го разряда сдвигателя

tt

4, о(.; - сигнал на выходе < -ro разряда преобразователя 5 кода) при единичб ном значении сигнала на выходе s -го разряда блока 7 формирования маски

35 (JU 4 = 1 ) . Вид логической функции определяется сигналами из блока 6 управления, Если р 0, то на выходе < -го разряда блоха 2 всегда

40 формируется сигнал "1 (Я =1) . Блок 2логических операций подсоединен своим выходом к первому входу сумматора 1, на второй вход которого подается число с выхода преобразователя 5 кода. Из блока 6 управления возможна подача сйгна ла р переноса в младший разряд сумматора 1 .

Выходной коммутатор 3 обеспечиваетформирование на выходе устройства резуль-0 тата Я выполнения операций. На входы . этого коммутатора поступают сигналы,щ у

А, А4 б и 8 (выходной

1 сигнал разряда сумматора 1). На выходах тех разрядов коммутатора 3, для которых р О ., формируются сигналы, соответствуюшие определенной логической функции от аргументов с ; и а(. (в

Ч частном случае это могут быть логиче

6 ские константы "О" или 1 ). На тех выходах коммутатора 3, для которых

JU»=1, формируется результат выполнения заданной арифметической или логической операции над полями.

На входы элементов И блока 10 посту» и пают маска М с выхода блока 7 и результат Я с выхода коммутатора 3. На выходе блоха 10 вырабатывается значение признака Z нулевого значения информации в зоне слова Я, которая соответствует положению группы символов "1" маски. Работа блока 10 определяется логическим выражением и)-! ttt-1 =, (/ VS)=h (Р; Р,,)=y,Р, где P - значение -го разряда слова

R .

Дешифратор 11 вырабатывает rA-разрядное слово 2 в коде "J. из Я " на основании значения разрядов маски М. Положение единственной единицы в слове 10 совпадает с:положением крайней слева единицы в маске М, т. е. с положением старшего (знакового) разряда поля, соответствующего результату выполнения операции над полями в слове R . Значения сигналов 8; на выходах дешифратора 11 декодирования формируются в соответствии с логической формулой

Дешифратор может быть выполнен также в виде классического дешифратора (преобразователя p — разрядного кода в код "1 иэ Ю " разрядности М -"Х ), на вход которого подается адрес а начальной единицы маски М. Значение a вырабатывается на одном из входов блока 7 формирования маски.

Первый коммутатор 12 обеспечивает формирование признака б. На один из входов этого коммутатора подается ре-. зультат операции R . Другой вход подсоединен к.выходу дешифратора 11. Значение сигнала 5 на выходе коммутатора 12 определяется логическим выражением.

tIt- 3 т P йу б

»=0

Второй коммутатор 13 по посчроению аналогичен первому коммутатору 12. Его входы связаны с выходом блока 11 дек и дирования и с третьим выходом сумматора

1, на котором формируются сигналы Р

Р, ...., Pttt 1 переноса. Сиг6 4О1 V=P f Y T" »... нал переноса иэ» -го разряда сумматора формируется в соответствии с формулой

11 = » о » "Л ;. )» =Ф.) "1п . { ) причем и гп 1 -1 mгде P — перенос в младший разряд сумматора, поступающий из блока 6 управления.»О

Логическое выражение для сигнала Р

1 на выходе второго коммутатора 13 определяется логическим выражение

Следовательно, значение сигнала Р

1 соответствует значен|по сигнала перено са из разряда сумматора, непосредственно

20 следующего эа старшим (знаковым} разрядом поля, которое является результатом выполнения заданной операции.

При выполнении арифметическйх операций над полями значения сигналов на выходах тех разрядов блока 2 логических операций, для которых p = », опре"!

1 деляется - логический ф нкцией неравнозначно сти (»| =K; А. Y ь . с ) .

На тех выходах блока 2, для которых

Я1» = 0, устанавливается сигнал "1" (3» =1). Из выражения (1) следует, что сигнал переноса из разряда сумматора

1, соответствующего положению старше-. го разряда результирующего поли, рас35 пространяется до выхода переноса из нулевого (старшего) разряда этого сумматора (второй выход сумматора), так как для старших разрядов сумматора, не отнОсящихся К резулььтирую|цему ПОлю 4о ,»0, = 4 . Таким образом, на втором вы»

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

Ко входаМ сумматора по Модулю два 45

14 подключены выход второго коммутатора 13 (отсюда поступает сигнал Р ) и

If второй выход сумматора 1 (здесь формируется признак С). На выходе сумматора по модулю два 14 формируется значение признака V Фере||олйенИГЪ cooтветст -

ВИИ C BbIP &ÆeIfmeÌ;

Работу устройства рассмотрим на примере выполнения операции сложения двух пятираэрядных полей (фиг. 2) . В первом поле (слово А() задано положительное число 5 (старший разряд — знаковый), По8 ложецие поля определяется базой Ь « 9

»

Второе поле (слово А2 содержит отрицательное число 4 (число представлено в дополнительном коде) . Положение поля определяется базой Ь2=4. Очевидно, что в рассматриваемом примере E =-4. Параметры 60, Ь и Е операнды А

0 2

A и соответствующий код операции КО поступают на входы устройства. На выходе вычитателя 9 формируется значение параметра С= ܄— о - 5, .обеспечивающее сдвиг влево слова А и выравнивание положения обрабатываемых полей. Формируемые в данном случае значения раэря» дов слов М и U указаны на фиг. 2.

РД Р5 J 6 О» {Ц8 1 4

Здесь же приведены значения разрядов слова .. При выполнении операции сложе ия полей сигналы переноса РЬ РЬ-1

В результате выполнения заданйой ойерации получается положительное число 1. 8 остальных разрядах слова результата Я для рассматриваемого примера сохранены зйаче»нйя соответствуюп|их разрядов слова

А (поля А и А ). Признаки результа1И та имеют следующие значение

С=Е4 =1 1" = Р =1 8=Р4 =О 2 =О У =О

В предлагаемом устройстве обеспечивается одновременное формирование результата выполнения операции над полями и значений признаков Е, Ь, С, V для этого результата. Это приводит к повышению производительности предлагаемого устройства в основнща, по двум причйнам.:

В устройстве по авт. св. Л> 538362 значения признаков 2, С и V получаются на основе признака С (второй выход сумматора 1) в результате выполнения дополнительных операций в устройстве.

Значение признака Z вырабатывается на втором выходе сумматора, если из нулевого числа вычесть результат выполнения операции над полями (ед|иничное значение формируется при нулевом результате операции). Значение признака Z может быть получено на втором выходе суммаI тора при выполнении дополнительной операции сложения знакового (старшего) разряда результирующего поля с единицей (единичное значение Ь формируется при единичном значении знакового разряда).

Для получения значения признака Т переполнения следует выполнить последовательность из 4-5 дополнительных операций (например, значение 5 можно определить

6740Х 7

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

Фиг.2

Тираж 779

Подписное

Филиал ППП. "Патент", г. Ужгород, ул. Проектная, 4 программным способом на основе логического выражения 7=(Х 6) Ц ) (X 6) < ) (где Х „, Q ц — значения старц1их (знаковых) разрядов соответственно первого операнда, второго операнда и резуль- 5 тата, а через 9 обеспечена логическая операция неравнозначности). Выполнение дополнительных операций в известном устройстве требует дополнительных затрат времени и, следовательно, снижает бысъ- 10 родействие устройства.

Если требуется выполнить ветвление в программе (микропрограмме) по значению не одного, а нескольких признаков из мвовестве (Z,Â, С;Ч, то в вввестном устройстве последовательно вы- полняется несколько команд (микрохоманд) передачи управления, каждая из которых обеспечивает ветвление только по одному признаку. В предлагаемом устройстве ветвление может быть выполнено по состоянию нескольких (и даже всех) признаков s одной команде (микрокоманде) условной передачи управления.

Следовательно использование предлагаемого устройства улучшает один из основных технихо-экономических показателей ПВМ вЂ” производительность.

БНИИПИ Заказ 4079/45

Устройство для выполнения арифметических и логических операций по авт. св. №538362, отличающееся тем, что, с целью повышения быстродей- . ствия устройства, в него введены сумматор по модулю два, блок элементов И, дешифратор, первый и,второй коммутаторы, причем первая группа входов элементов И подключена,к выходам блока формирования маски, вторая группа входов блока элементов И подключена к выходам выходного коммутатора, вход дешифратора подсоединен к выходу блока формирования маски, а выход дешифратора соединен с первыми входами первого и второго коммутатофои,, вторые входы которых соединенй соответственно с выходом выходного коммутатора и с третьим выходом сумматора, входы сумматора по модулю два соответственно связаны с выходом второго коммутатора и вторым выходом сумматора, выходы блока. элементов И, первого коммутатора, сумматора по модулю два, а также второй выход сумматора подк)почены к, выходам устройства.