Устройство для сложения операндов с плавающей точкой с контролем

Иллюстрации

Показать все

Реферат

 

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

СОЮЗ СОВЕТСКИХ

СОЦИАЛИСТИЧЕСНИХ

РЕСПУБЛИК

„.SU„„1310826 А1 (51) 4 С, 06 F 11/10 7/50

ОПИСАНИЕ ИЗОБРЕТЕНИЯ

Н А ВТОРСКОМ,Ф СВИДЕТЕЛЬСТВУ

ГОСУДАРСТВЕННЫЙ НОМИТЕТ СССР

Il0 ДЕЛАМ ИЗОБРЕТЕНИЙ И ОТКРЫТИЙ (21) 4030818/24-24 (22) 31.01.86 (46) 15.05.87. Бюл. У 18 (72) А.В.Дрозд, Е.Л.Полин, В,A.Кравцов, В.С.Волощук и А.Г.Шипита (53) 681.325 (088.8) (56) Авторское свидетельство СССР

N 885994, кл. G 06 F 7/38, 1979.

Процессор EC 2366. Техническое описание, ч. З.M., 1983, с. 21, 154. (54) УСТРОЙСТВО ДЛЯ СЛОЖЕНИЯ ОПЕРАНДОВ С ПЛАВАЮЩЕЙ ТОЧКОЙ С КОНТРОЛЕМ (57) Изобретение относится к вычислительной технике и может быть использовано в контролируемых устройствах для сложения чисел с различными порядками. Целью изобретения является повьппение эффективности контроля.

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

И с соответствующими связями. t ил.

1 13108

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

Цель изобретения — повышение эффективности контроля.

На чертеже представлена схема устройства для сложения операндов с плавающей точкой с контролем. 10

Устройство для сложения операндов с плавающей точкой с контролем содержит входы 1 и 2 мантисс первого и второго операндов устройства, первый и второй блоки 3 и 4 свертки по 15 модулю три, вычитатель 5, входы 6 и 7 контрольных кодов первого и второго операндов устройства, первый сдвигатель 8, первый — пятый мультиплексоры 9-13, первый и второй сум- Zp маторы 14 и 15 по модулю два, второй сдвигатель 16, шестой мультиплексор

17, сумматоры 18-21 по модулю два с третьего по шестой соответственно, элемент И 22, сумматор 23 по модулю 25 три, позиционный сумматор 24, третий блок 25 свертки по модулю три, седьмой и восьмой сумматоры 26 и 27 по модулю два, первый и второй кбммутаторы 28 и 29, входы 30 и 31 порядков 30 первого и второго операндов.устройства, выход 32 результата устройства и выход 33 ошибки устройства, Устройство для сложения операндов с плавающей точкой с контролем работает следующим образом.

В начальный момент времени через входы 1 и 2 устройства заносятся мантиссы чисел А и В соответственно.

Они представлены в обратном коде и 4р содержат разряды с 1-го по 8-й знаковый, 1-е разряды — младшие. Через .входы 6 и 7 устройства заносятся коды остатков по модулю три чисел А и В, являющиеся контрольными кодами этих чисел. Через входы 30 и 31 устройства на входы вычитателя 5 поступают коды порядков чисел В и А.

Вычитатель 5 определяет разность порядков в дополнительном коде (вычи- 5р тается порядок числа А), Эта разность определяет величину сдвига мантисс чисел А и В с целью выравнивания их порядков, Знак разности ЗнР определяет, какая из мантисс чисел А или

В должна быть сдвинута. В случае ЗнР=

=0 дополнительный код разности совпадает с прямым кодом, а меньшим порядком обладает число А,поэтому его ман26 2 тисса должна быть сдвинута влево.

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

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

В случае ЗнР=1 меньшим порядком обладает число В, мантисса которого для сдвига влево поступает с входа 2 на информационный вход второго сдвигателя 16. Для выравнивания порядков мантиссу числа В необходимо сдвинуть на величину прямого кода разности порядков. В этом случае прямой код отличается от дополнительного и равен его инверсии, увеличенной на единицу младшего разряда . Поэтому код разности порядков (без знака) поступает с выхода вычитателя 5 на инверсный вход величины сдвига второго сдвигателя 16, а с его выхода снимается мантисса числа В,сдвинутая влево на одну позицию меньше требуемого (высвобождаемые позиции заполняются значениеми знакового разряда). Мантиссы чисел А и В до и после сдвига, снимаемые соответствен»о с входов 1 и 2, с выхода сдвигателя 8 поступают соответственно на первый и второй информационные входы коммутатора 28, на второй информационный вход коммутатора 29, на первый информационный вход которого поступает информация с выхода сдвигателя 16 со сдвигом влево на один разряд и распространением знака. На управляющие входы коммутаторов 28 и 29 поступает значение знака разности с выхода вычитателя 5. Полученные величины суммируются на позиционном сумматоре 24, с выхода которого мантисса результата поступает на выход 32 устройства.

Контроль описанных выше действий выполняется следующим образом.

Контрольный код по модулю три содержит минимально два разряда: первый или нечетный (т.е. стоящий на нечетной позиции) и второй или нечетный (т.е. стоящий на четной позиции).

Нечетный разряд имеет вес 2 или 1, а четный разряд — вес 2 или, что то же самое по модулю три, -1. Аналогичные веса по модулю три имеют и нечет3 13108 ные, и четные разряды двоичногя числа.

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

В такой сумме пара рядом стоящих единичных (или имеющих одинаковые значе-. . 10 ния) разрядов взаимно компенсирует свои значения. Следовательно, контрольный код заполняемой части равен нулю при сдвиге на четное количество позиций и равен единице в против,ном случае. Поскольку при сдвиге чис ла веса его разрядов изменяются, то определяемые контрольные коды первоначально вычисляются относительно весов числа до сдвига.

Четырехразрядный контрольный код отбрасываемых разрядов, дополненный для вариантов сдвига на нечетное количество позиций значениями знаков чисел (т.е ° включающий в себя контрольный код заполняемой части числа), составлен разрядами-функци ями f„,f,f и Е„ с весами по модулю три -1, 1, -1 и 1 соответственно.

Функция Е„реализуется в устройст- 3р ве мультиплексором 13, на информационные входы которого с нулевого по седьмой поступают соответственно первый разряд числа А, трижды первый разряд S1 кода с выхода первого блока 3 свертки по модулю три, трижды первый разряд Q1 кода с выхода второго блока 4 свертки по модулю три и первый разряд числа В;

S1 и $2 — первый и второй разряды . результата свертки по модулю три шести младших разрядов числа А: S2S1=

=/А/6,5,4,3,2,1//mod 3, аналогично

Q2Q1. /В/ 6,5,4,3,2,1//mod 3.

Функция реализуется в устройст-45

2 ве четвертым мультиплексором 12, на информационные входы которого, с нулевого по седьмой, поступают соответственно второй разряд числа А, трижды второй разряд S2 кода с выхо- gp ,ца первого блока 3 свертки по модулю три, трижды второй разряд Q2 кода с выхода второго блока 4 свертки по модулю три и второй разряд числа В.

На управляющие входы четвертого и пятого мультиплексоров 12 и 13 поступают три старших разряда разности порядков: ЗнР, 4Р и ЗР, с выхода вычитателя 5.

26

Функция реализуется в устройстве третьим мультиплексором 11, на информационные входы которого, с нулевого по пятнадцатый, поступают со-! ответственно второй, третий, шестой и пять раз седьмой разряды числа А, пять раз седьмой и по одному разу шестой, третий и второй разряды числа В. На управляющие входы третьего мультиплексора 11 поступают четыре старших разряда разности порядков:

ЗнР, 4Р, ЗР и 2Р.

Функция f может быть представлена через функции Г и 1, являющиеся ее частными случаями, которые реализуются первым и вторым мультиплексорами 9 и 10, на информационные входы которых, с нулевого по третий, поступают соответственно первый, третий, пятый и седьмой разряды числа А и восьмой, шестой, четвертый и второй разряды числа В.

На управляющие входы мультиплексоров 9 и 10 поступают разряды разности порядков ЗР и 2Р с выхода вычитателя 5.

Функция реализуется шестым мультиплексором 17, на информационные входы которого, с нулевого по седьмой, поступают соответственно значения функции 1 с выхода первого мультиплексора 9, девятый (знаковый) и дважды восьмой разряды числа А, дважды и один раз девятый (знаковый) разряды числа В и значение функции fg с выхода второго мультиплексора 10. На управляющие входы шестого мультиплексора поступают разряды разности порядков ЗнР, 4Р и 1Р.

Сдвиг числа на четное количество позиций сохраняет веса его разрядов по модулю три, сдвиг числа на нечетное количество позиций меняет знак весов его разрядов на противоположный, что равносильно инвертированию контрольного кода. Для учета возможного изменения знака весов разрядов чисел значения функций и f„поступают нз первые вхо3 ды сумматоров 20-27 по модулю два соответственно. На вторые входы этих сумматоров по модулю два поступает разряд 1Р с выхода вычитателя 5, что обеспечивает при 1Р=О трансляцию функций на выходы сумматоров по модулю два без изменений, а при 1Р=1 (что соответствует сдвигу числа на нечетное количество позиций) — получение инверсий этих функций.

10826 6

f5

13

Аналогично первый и втдрой разряды контрольного кода числа А поступают с входа 6 контрольного кода первого операнда на первые входы третьего и четвертого сумматоров 18 и 19 по модулю два, которые пропускают контрольный код на выходы без изменения или инвертируют его соответственно при нулевом и единичном значениях разряда 1Р, заведенного на вторые входы сумматоров по модулю два с младшего выхода вычитателя 5.

Полученный код с выходов третьего и четвертого сумматоров 18 и 19 по модулю два поступает на вход сумматора 23 по модулю три. На другой его вход подается контрольный код числа В с входа 7 контрольного кода второго операнда. Сумматор 23 по модулю три формирует контрольный код суммы чисел A и В для случая сдвига числа А (без учета отбрасываемых и заполняющих знаковых разрядов).

На входы элемента И 22 поступают

ЗнР и младший 1Р разряды разности порядков с выхода вычитателя 5. Конъюнкция этих разрядов принимает значение нуля в случае сдвига чисел на четное количество позиций (когда веса по модулю три разрядов чисел и по контрольным кодам не изменяются), а также при сдвиге числа A.

В укаэанных случаях первый и второй сумматоры 14 и 15 по модулю два (управляемые по вторым входам конъюнкцией разрядов с выхода элемента И 22) транслируют через вторые входы код с выходов сумматора 23 по модулю три на выходы без изменения. Выход элемента И 22 принимает единичное значение в случае сдвига числа В на нечетное количество по— зиций. В этом случае контрольный код суммы чисел А и В равен инверсии кода на выходе сумматора -23 по модулю три, что обеспечивается прохождением кода через сумматоры 14 и 15 по модулю два.

Контрольный код суммы чисел с выходов первого и второго сумматоров

14 и 15 по модулю два и контрольный код отбрасываемых и заполняющих разрядов с выходов пятого, шестого, седьмого и восьмого сумматоров 20-27 по модулю два поступают на входы.блока 25 свертки по модулю три. На другой вход блока 25 свертки по модулю три подается код суммы чисел А и В с выхода сумматора 24 (этот код

55 имеет четное количество разрядов).

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

Выработка на выходе блока 25 свертки по модулю три кода, отличного от нулевого, указывает на неисправность устройства. Код с выхода блока 25 поступает на выход 33 устройства.

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

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

7 13108 мультиплексоров и восемь сумматоров по модулю два, причем информационные входы первого мультиплексора соединены соответственно с входами четырех младших разрядов мантиссы первого операнда устройства, входы мантисс первого и второго операндов устройства соединены соответственно с информационными входами первого и второго сдвигателей, вход величины сдвига второго сдвигателя соединен с входом величины сдвига первого сдвигателя,выход второго сдвигателя соединен со сдвигом на один разРяд в сторону младших разрядов с 15 первым информационным входом второго коммутатора, выход и второй информационный вход которого соединены соответственно с входом второго слагаемого позиционного сумматора и с выходом первого сдвигателя, выходы разрядов сумматора по модулю три соединены соответственно с первыми входами первого и второго сумматоров по модулю два выходы которых сое 25 динены соответственно с вторым и третьим входами третьего блока свертки по модулю три, выход знака вычитателя соединен с первым входом элемента

И, выход которого соединен с вторыми входами первого и второго сумматоров по модулю два, выходы второго и третьего разрядов разности вычитателя соединены соответственно с первым и вторым управляющими входами первого, второго и третьего мультиплексоров, третий и четвертый управляющие входы третьего мультиплексора соединены соответственно с выходами четвертого разряда разности и знака 4О вычитателя соответственно, выходы третьего и четвертого разрядов разности и знака которого соединены соответственно с управляющими входами четвертого и пятого мультиплексо- 45 ров, управляющие входы шестого мультиплексора соединены соответственно с выходами первого и четвертого раз-. . рядов разности и знака вычитателя, входы разрядов контрольного кода первого операнда соединены соответственно с первыми входами третьего и четвертого сумматоров по модулю два, выходы которых соединены соответственно с входами разрядов второго слагае-;5 мого сумматора по модулю три, информационные входы второго мультиплексора соединены соответственно с входами восьмого, шестого, четвертого

26 8 и второго разрядов мантиссы второго операнда устройства, входы второго, третьего и шестого разрядов мантиссы первого операнда устройства соединены соответственно с первым, вторым и третьим информационными входами третьего мультиплексора,вход седьмого разряда мантиссы первого операнда устройства соединен с информационными входами с четвертого по восьмой третьего мультиплексора, информационные входы с девятого по тринадцатый которого соединены с входом седьмого разряда мантиссы второго операнда устройства, входы шестого, третьего и .второго разрядов мантиссы второго операнда которого соединены соответственно с информационными входами с четырнадцатого по шестнадцатый третьего мультиплексора, первые информационные входы четвертого и пятого мультиплексоров соединены соответственно с входами второго и первого разрядов мантиссы первого операнда устройства, выходы первого и второго разрядов первого блока свертки по модулю три соединены с вторым, третьим и четвертым информационными входами соответственно пятого и четвертого мультиплексоров, пятый, шестой и седьмой информационные входы которых соединены соответственно с выходами первого и второго разрядов второго блока свертки по модулю три,восьмые информационные входы четвертого и пятого мультиплексоров соединены соответственно с входами второго и первого разрядов мантиссы второго операнда у-стройства, выход первого мультиплексора соединен с первым информационным входом шестого мультиплексора, второй информационный вход которого соединен с входом девятого разряда мантиссы первого операнда устройства, вход восьмого разряда мантиссы первого операнда устройства соединен с третьим и четвертым информационными входами шестого мультиплексора, пятый и шестой информационные входы которого объединены и соединены с входом восьмого разряда мантиссы второго операнда устройства, седьмой и восьмой информационные входы шестого мультиплексора соединены соответственно с входом девятого разряда мантиссы второго операнда устройства и с выходом второго мультиплексора, выходы шестого, третье13

ВНИИПИ Заказ 1893/46 Тираж 673 Подписное

Произв.-полигр. пр-тие, г. Ужгород, ул. Проектная, 4 го, четвертого и пятого мультиплексоров соединены соответственно с первыми входами пятого, шестого, Седьмого и восьмого сумматоров по модулю два, вторые входы которых объединены с вторыми входами элемента И и третьего и четвертого сумма108? 6 10 торов по модулю два,и подключены к выходу первого разряда разности вычитателя, выходы пятого, шестого, седьмого и восьмого сумматоров по модулю два соединены соответственно с четвертым, пятым, шестым и седьмым входамч третьего блока свертки по модулю три.