Изобретение относится к вычислительной технике и микроэлектронике и может быть использовано при построении устройств, работающих в системе остаточных классов. Устройство содержит n семивходовых одноразрядных сумматоров, n одноразрядных двоичных сумматоров, сумматор двух чисел по модулю 2n-1 , входы семи операндов с первого по n-й разряд, n выходов результата. На входы поступают разряды с первого по n-й семи операндов
. На выходах формируются значения n-разрядного результата R (суммы по модулю 2n-1 семи входных операндов, которые могут иметь различные знаки). При этом
, R
{0, 1, ..., 2n-2} , и если некоторый операнд Xj суммируется с отрицательным знаком, то на входы устройства он поступает в обратном коде. Достоинством устройства являются широкие функциональные возможности, простая конструкция, высокое быстродействие. 1 ил.
Изобретение относится к вычислительной технике и микроэлектронике и может быть использовано при построении устройств, работающих в системе остаточных классов.
Известен сумматор по модулю семь, содержащий элементы сложения по модулю два, ИЛИ-НЕ, И, ИЛИ [1].
Недостатком сумматора являются низкие функциональные возможности, так как он не выполняет операцию сложения по различным модулям.
Наиболее близким по функциональным возможностям и конструкции техническим решением к предлагаемому является сумматор по модулю 2
n-1, содержащий в каждом разряде элементы ИЛИ, И, ИЛИ-НЕ, РАВНОЗНАЧНОСТЬ и НЕРАВНОЗНАЧНОСТЬ [2].
Недостатком известного сумматора по модулю 2
n-1 являются низкие функциональные возможности, поскольку он не обеспечивает сложение по модулю более двух операндов.
На чертеже представлена схема устройства для сложения и вычитания семи чисел по модулю 2
n-1 при n = 5.
Устройство содержит n = 5 семивходовых одноразрядных сумматоров 1
1... 1
5, n = =5 одноразрядных двоичных сумматоров 2
1...2
5, сумматор 3 двух чисел по модулю 2
n - 1 = 31, входы j-го (j=

) операнда с первого по пятый (n-1) разряд соответственно 4
j..8
j, n = 5 выходов 9
1...9
5 результата.
В общем случае устройство для сложения и вычитания семи чисел по модулю 2
n-1 содержит сумматор двух чисел по модулю 2
n-1, n одноразрядных двоичных сумматоров и n семивходовых одноразрядных сумматоров, j=й (j=

) вход i-го (i=

) из которых соединен с входом i-го разряда j-го операнда. Первый вход i-го одноразрядного двоичного сумматора соединен с выходом суммы i-го семивходового одноразрядного сумматора, второй вход k-го (k=

) одноразрядного двоичного сумматора - с выходом младшего переноса (k+1)-го семивходового одноразрядного сумматора, третий вход l-го (l=

) одноразрядного двоичного сумматора - с выходом старшего переноса (l+2)-го семивходового одноразрядного сумматора, второй вход n-го одноразрядного двоичного сумматора - с выходом младшего переноса первого семивходового одноразрядного сумматора, третий вход (n+h-2)-го (h = 1, 2) одноразрядного двоичного сумматора - с выходом старшего переноса h-го семивходового одноразрядного сумматора, выход суммы i-го одноразрядного двоичного сумматора - с первым входом i-го разряда сумматора двух чисел по модулю 2
n-1, второй вход k-го разряда которого соединен с выходом переноса (k+1)-го одноразрядного двоичного сумматора. Выход переноса первого одноразрядного двоичного сумматора соединен с вторым входом n-го разряда сумматора двух чисел по модулю 2
n-1, выход -го разряда которого соединен с выходом i-го разряда устройства.
Устройство для сложения и вычитания семи чисел по модулю 2
n-1 при n = 5 работает следующим образом.
На входы 4
j. ..8
j поступают соответственно разряды с первого по пятый x
j1. ..x
j5 j-го (j=

) операнда X
j = 16x
j1 + 8x
j2 + 4x
j3 + 2x
j4 + +x
j5. На выходах 9
1. ..9
5 формируются значения соответственно разрядов с первого по пятый r
1...r
5 результата R = 16r
1 + 8r
2 + 4r
3 + 2r
4 + r
5(суммы по модулю 2
n - 1 = 31 семи входных операндов, которые могут иметь различные знаки). При этом R=

X

mod31, и X
j 
{0, 1,...,31}, R

{0, 1,..,30}, x
j5 
{0, 1}, r
s
{ 0, 1 },j=

, s=

.
Если некоторый операнд X
j суммируется с отрицательным знаком, то на входы 4
j...8
j подаются соответственно инверсные значения его разрядов:

. ..

, т.е. на входы 4
j...8
j поступает обратный код операнда X
j.
Семивходовые одноразрядные сумматоры 1
1...1
5, входящие в состав заявляемого устройства, формируют позиционный двоичный код числа единиц, присутствующих на их входах. При подаче на входы такого сумматора двоичных переменных z
1, z
2,...,z
7 на его выходах формируются сигналы суммы f
0, младшего переноса f
1 и старшего переноса f
2. При этом z
1 + z
2 +...+ z
7 = 4f
2 + 2f
1 + f
0.
Структуры семивходовых одноразрядных сумматоров известны. Например, семивходовый одноразрядный сумматор по авт. св. СССР N 1592846, кл. G 06 F 7/50, 1988, имеет простую конструкцию и высокое быстродействие.
Сумматор 3 по модулю 2
n-1 выполняет сложение двух полных операндов. В качестве такого сумматора может быть использовано устройство-прототип из [2].
Рассмотрим работу предлагаемого устройства на примере выполнения следующей операции сложения-вычитания по модулю тридцать один (n = 5) семи операндов Х
1, Х
2,..,Х
7: R= (-X
1-X
2+X
3-X
4+X
5-X
6-X
7)mod31 при Х
1 = 10010, Х
2 = 01010, Х
3 = 11111, Х
4 = =11011, Х
5 = 11101, Х
6 = 10010, Х
7 = 00100.
Следовательно, на входы 4
1, 4
2,...,4
7 поступают соответственно первые разряды операндов Х
1, Х
2,...,Х
7: (

,

, x
31,

, x
51,

,

)=(0110101), на входы 5
1, 5
2,...,5
7 поступают соответственно вторые разряды операндов Х
1, Х
2,...,Х
7: (

,

, x
32,

, x
52,

,

)=(1010111), на входы 6
1, 6
2,...,6
7 поступают соответственно третьи разряды операндов Х
1, Х
2,...,Х
7: (

,

, x
33,

, x
53,

,

)=(1111110), на входы 7
1, 7
2,...,7
7 поступают соответственно четвертые разряды операндов Х
1, Х
2,...,Х
7: (

,

, x
34,

, x
54,

,

)=(0010001), на входы 8
1, 8
2,...,8
7 поступают соответственно пятые разряды операндов Х
1, Х
2,...,Х
7: (

,

, x
35,

, x
55,

,

)=(1110111).
На выходах первого семивходового одноразрядного сумматора 1
1формируются значения функций f
2 = 1, f
1 = 0, f
0 = 0, на выходах второго семивходового одноразрядного сумматора 1
2 - значения функций f
2 = 1, f
1= 0, f
0 = 1, на выходах третьего семивходового одноразрядного сумматора 1
3 - значения функций f
2 = 1, f
1 = 1, f
0 = 0, на выходах четвертого семивходового одноразрядного сумматора 1
4 - значения функций f
2 = 0, f
1= 1, f
0 = 0, на выходах пятого семивходового одноразрядного сумматора 1
5- значения функций f
2 = 1, f
1 = 1, f
0 = 0.
На выходах первого одноразрядного двоичного сумматора 2
1 сигналы переноса р = 0 и сигналы суммы s = 1, на выходах второго одноразрядного двоичного сумматора 22 сигналы переноса р = 1 и сигналы суммы s = 0, на выходах третьего одноразрядного двоичного сумматора 2
3 сигналы переноса р = 1 и сигналы суммы s = 0, на выходах четвертого одноразрядного двоичного сумматора 2
4 сигналы переноса р = 1 и сигналы суммы s = 0, на выходах пятого одноразрядного двоичного сумматора 2
5 сигналы переноса р = 0 и сигналы суммы s = =1.
Тогда на входы 10
1...10
5 сумматора 3 по модулю тридцать один поступает двоичный код 10000, на входы 11
1...11
5 - двоичный код 11101. На выходах 9
1. ..9
5 сумматора 3 формируются разряды результата r
1...r
5соответственно: (10000 + 11101) mod31 = 01110.
Таким образом, R = (-X
1 - X
2 + X
3 - X
4 + X
5 - X
6 - X
7)mod31 = =(-10010 - 01010 + 11111 - 11011 +
+ 11101 - 10010 - 00100)mod31 = 01110.
В десятичной системе счисления
R = (-X
1 - X
2 + X
3 - X
4 + X
5 - X
6 - X
7)mod31= = (-18 - 10 + 31 - 27 + 29 - 18 - 4)mod31 =
=(-17)mod31 = (31 - 17)mod31 = 14.
Достоинством предлагаемого устройства для сложения и вычитания семи чисел по модулю 2
n-1 являются широкие функциональные возможности и высокое быстродействие, определяемое малой глубиной схемы.
Формула изобретения
УСТРОЙСТВО ДЛЯ СЛОЖЕНИЯ И ВЫЧИТАНИЯ СЕМИ ЧИСЕЛ ПО МОДУЛЮ 2
n-1, содержащее сумматор двух чисел по модулю 2
n - 1, выход i-го (i=

) разряда которого соединен с выходом i-го разряда устройства, отличающееся тем, что содержит n одноразрядных двоичных сумматоров и n семивходовых одноразрядных сумматоров, j-й (j=

) вход i-го из которых соединен с входом i-го разряда j-го операнда, первый вход i-го одноразрядного двоичного сумматора соединен с выходом суммы i-го семивходового одноразрядного сумматора, второй вход k-го (k=

) одноразрядного двоичного сумматора соединен с выходом младшего переноса (k + 1)-го семивходового одноразрядного сумматора, третий вход l-го (l=

) одноразрядного двоичного сумматора соединен с выходом старшего переноса (l + 2)-го семивходового одноразрядного сумматора, второй вход n-го одноразрядного двоичного сумматора соединен с выходом младшего переноса первого семивходового одноразрядного сумматора, третий вход (n + h - 2)-го (h = 1, 2) одноразрядного двоичного сумматора соединен с выходом старшего переноса h-го семивходового одноразрядного сумматора, выход суммы i-го одноразрядного двоичного сумматора соединен с первым входом i-го разряда сумматора двух чисел по модулю 2
n - 1, второй вход k-го разряда которого соединен с выходом переноса (k + 1)-го одноразрядного двоичного сумматора, выход переноса первого одноразрядного двоичного сумматора соединен с вторым входом n-го разряда сумматора двух чисел по модулю 2
n - 1.
РИСУНКИ
Рисунок 1