способ организации вычислений суммы n m-разрядных чисел

Классы МПК:G06F7/50 для сложения; для вычитания
Автор(ы):,
Патентообладатель(и):Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования "Вятский государственный университет" ФГБОУ ВПО "ВятГУ" (RU)
Приоритеты:
подача заявки:
2011-12-05
публикация патента:

Изобретение относится к вычислительной технике и предназначено для построения быстродействующих многооперандных параллельно-конвейерных сумматоров, для обработки массивов целых положительных чисел. Техническим результатом является повышение скорости вычисления. Способ содержит этапы, на которых параллельно подсчитывают количество единиц bi (i=1, m) в m n-разрядных двоичных векторах, сдвигают двоичное число b1 на один разряд вправо, суммируют с числом b2, полученную сумму способ организации вычислений суммы n m-разрядных чисел, патент № 2491612 сдвигают на один разряд вправо и суммируют с числом b 3. Аналогичным образом осуществляют сдвиг полученных сумм и суммирование их с последующими числами до получения суммы способ организации вычислений суммы n m-разрядных чисел, патент № 2491612 . При этом младший разряд числа b1 является первым разрядом s1 суммы, младший разряд каждой полученной суммы способ организации вычислений суммы n m-разрядных чисел, патент № 2491612 является i-ым разрядом si суммы. Выполняют сдвиг двоичного числа способ организации вычислений суммы n m-разрядных чисел, патент № 2491612 на один разряд вправо, и в случае, если способ организации вычислений суммы n m-разрядных чисел, патент № 2491612 , вычисление прекращают, иначе младший разряд является sm+1-ым разрядом суммы, если способ организации вычислений суммы n m-разрядных чисел, патент № 2491612 , то выполняют сдвиг двоичного числа способ организации вычислений суммы n m-разрядных чисел, патент № 2491612 и полученное число является значениями старших разрядов искомой суммы, начиная с m+1 разряда. 1 ил. способ организации вычислений суммы n m-разрядных чисел, патент № 2491612

способ организации вычислений суммы n m-разрядных чисел, патент № 2491612

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

Способ суммирования n m-разрядных целых положительных двоичных чисел в позиционной системе счисления в суммирующем устройстве, заключающийся в том, что в суммирующем устройстве параллельно выполняется подсчет количества единиц в m n-разрядных двоичных векторах, составленных из первых разрядов n чисел, вторых разрядов n чисел, способ организации вычислений суммы n m-разрядных чисел, патент № 2491612 , k-х разрядов n чисел, способ организации вычислений суммы n m-разрядных чисел, патент № 2491612 , m-х разрядов n чисел; в результате параллельного подсчета количества единиц в m двоичных векторах формируется m двоичных чисел - значений количества единиц в соответствующих n-разрядных векторах, причем первое двоичное число b1 - значение количества единиц в первом n-разрядном векторе, второе двоичное число b2 - значение количества единиц во втором n-разрядном векторе, способ организации вычислений суммы n m-разрядных чисел, патент № 2491612 , k-e двоичное число bk - значение количества единиц в k-м n-разрядном векторе, способ организации вычислений суммы n m-разрядных чисел, патент № 2491612 , m-е двоичное число bm - значение количества единиц в m-м n-разрядном векторе; младший разряд числа b 1 является первым разрядом s1 суммы n m-разрядных исходных чисел; затем выполняется сдвиг двоичного числа b 1 на один разряд вправо, после чего полученный результат суммируется с числом b2, где младший разряд полученной суммы способ организации вычислений суммы n m-разрядных чисел, патент № 2491612 является вторым разрядом s2 суммы n m-разрядных исходных чисел; затем выполняется сдвиг двоичного числа способ организации вычислений суммы n m-разрядных чисел, патент № 2491612 на один разряд вправо, после чего полученный результат суммируется с числом b3, младший разряд полученной суммы способ организации вычислений суммы n m-разрядных чисел, патент № 2491612 является третьим разрядом s3 суммы n m-разрядных исходных чисел и так далее вычисления продолжаются аналогичным образом до вычисления суммы способ организации вычислений суммы n m-разрядных чисел, патент № 2491612 , где младший разряд которой является k-м разрядом s k суммы n m-разрядных исходных чисел; затем выполняется сдвиг двоичного числа способ организации вычислений суммы n m-разрядных чисел, патент № 2491612 на один разряд вправо, после чего полученный результат суммируется с числом bk+1, младший разряд полученной суммы способ организации вычислений суммы n m-разрядных чисел, патент № 2491612 является (k+1)-м разрядом sk+1, суммы n m-разрядных исходных чисел и так далее вычисления продолжаются аналогичным образом до вычисления суммы способ организации вычислений суммы n m-разрядных чисел, патент № 2491612 , где младший разряд которой является (m-1)-м разрядом sm-1 суммы n m-разрядных исходных чисел; затем выполняется сдвиг двоичного числа способ организации вычислений суммы n m-разрядных чисел, патент № 2491612 на один разряд вправо, после чего полученный результат суммируется с числом bm, младший разряд полученной суммы способ организации вычислений суммы n m-разрядных чисел, патент № 2491612 является m-м разрядом sm суммы n m-разрядных исходных чисел; затем выполняется сдвиг двоичного числа способ организации вычислений суммы n m-разрядных чисел, патент № 2491612 на один разряд вправо, и в случае, если способ организации вычислений суммы n m-разрядных чисел, патент № 2491612 , то вычисление прекращается, иначе младший разряд является sm+1-м разрядом суммы n m-разрядных исходных чисел; если способ организации вычислений суммы n m-разрядных чисел, патент № 2491612 , то выполняется сдвиг двоичного числа способ организации вычислений суммы n m-разрядных чисел, патент № 2491612 и полученное число является значениями старших разрядов искомой суммы, начиная с m+1 разряда искомой суммы; в итоге через m тактов сдвига будет сформирована сумма n m-разрядных исходных чисел - число s1, s2, способ организации вычислений суммы n m-разрядных чисел, патент № 2491612 , sk, способ организации вычислений суммы n m-разрядных чисел, патент № 2491612 , sm.

Описание изобретения к патенту

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

Известен итерационный способ суммирования массива целых положительных чисел, при котором первое m-разрядное слагаемое суммируется со вторым m-разрядным слагаемым, затем полученная сумма суммируется с третьим m-разрядным слагаемым и так далее, пока не будет получена (m-поразрядная искомая сумма. Недостаток состоит в том, что, во-первых, при итерационном способе суммирования чисел выполняется n-1 операций суммирования, а с учетом последовательного способа последовательного способа переносов в старшие разряды - количество тактов суммирования равно (m-1)·n. Во-вторых, процесс формирования суммы является последовательным процессом.

Техническим результатом от использования способа организации вычислений суммы n m-разрядных чисел является повышение скорости вычисления за счет замены серии из n арифметических операций сложения m параллельно исполняемыми операциями подсчета количества единичных бит в разрядных срезах, формируемых из разрядов суммируемых чисел. На основании анализа и модификации полученных значений сумм количества единиц во всех разрядных срезах выполняется формирование значения двоичного числа, являющегося значением искомой суммы. В результате количество тактов необходимых для формирования значения суммы массива целых двоичных чисел будет равно (log2 n)·m тактов. Таким образом, предлагаемый способ обеспечивает выполнение операции формирования суммы массива n m-разрядных чисел быстрее известного итерационного способа в ((m-1)·n)/((log 2n)·m) раз, например, при m=100, n=64 вычисления будут выполняться в 8 раз быстрее.

Описание работы устройства: каждое i-oe двоичное позиционное слагаемое можно представить в виде последовательности бит Ai(am, a m-1, способ организации вычислений суммы n m-разрядных чисел, патент № 2491612 , a2, a1), где m-разрядность числа, iспособ организации вычислений суммы n m-разрядных чисел, патент № 2491612 [1, n]. Тогда n слагаемых можно представить в виде матрицы:

способ организации вычислений суммы n m-разрядных чисел, патент № 2491612

Способ организации конвейерных вычислений суммы n m-разрядных чисел заключается в параллельном подсчете количества единиц в m двоичных векторах, являющихся столбцами приведенной выше матрицы. В результате формируется m двоичных чисел bi - значений количества единиц в соответствующих n-разрядных векторах, где iспособ организации вычислений суммы n m-разрядных чисел, патент № 2491612 [1, m].

Младший разряд числа b1 является первым разрядом s1 искомой суммы, затем выполняется сдвиг первого двоичного числа b1 на один разряд вправо, после чего полученный результат суммируется с числом b2, младший разряд полученной суммы способ организации вычислений суммы n m-разрядных чисел, патент № 2491612 является вторым разрядом s2 суммы n m-разрядных исходных чисел.

Затем выполняется сдвиг двоичного числа способ организации вычислений суммы n m-разрядных чисел, патент № 2491612 на один разряд вправо, после чего полученный результат суммируется с числом b3, младший разряд полученной суммы способ организации вычислений суммы n m-разрядных чисел, патент № 2491612 является третьим разрядом s3 суммы n m-разрядных исходных чисел. И так далее вычисления продолжаются аналогичным образом до вычисления суммы способ организации вычислений суммы n m-разрядных чисел, патент № 2491612 , младший разряд которой является k-м разрядом sk суммы n m-разрядных исходных чисел.

Затем выполняется сдвиг двоичного числа способ организации вычислений суммы n m-разрядных чисел, патент № 2491612 на один разряд вправо, после чего полученный результат суммируется с числом bk+1, младший разряд полученной суммы способ организации вычислений суммы n m-разрядных чисел, патент № 2491612 является (k+1)-м разрядом sk+1 суммы n m-разрядных исходных чисел. И так далее вычисления продолжаются аналогичным образом до вычисления суммы способ организации вычислений суммы n m-разрядных чисел, патент № 2491612 , младший разряд которой является (m-1)-м разрядом S m-1 суммы n m-разрядных исходных чисел.

Затем выполняется сдвиг двоичного числа способ организации вычислений суммы n m-разрядных чисел, патент № 2491612 на один разряд вправо, после чего полученный результат суммируется с числом bm, младший разряд полученной суммы способ организации вычислений суммы n m-разрядных чисел, патент № 2491612 является m-м разрядом sm суммы n m-разрядных исходных чисел.

Затем выполняется сдвиг двоичного числа способ организации вычислений суммы n m-разрядных чисел, патент № 2491612 на один разряд вправо, и в случае, если способ организации вычислений суммы n m-разрядных чисел, патент № 2491612 , то вычисление прекращается, иначе младший разряд является sm+1-м разрядом суммы n m-разрядных исходных чисел.

если способ организации вычислений суммы n m-разрядных чисел, патент № 2491612 , то выполняется сдвиг двоичного числа способ организации вычислений суммы n m-разрядных чисел, патент № 2491612 и полученное число является значениями старших разрядов искомой суммы, начиная с m+1 разряда искомой суммы. В итоге через m тактов сдвига будет сформирована сумма n m-разрядных исходных чисел - число s1, s2, способ организации вычислений суммы n m-разрядных чисел, патент № 2491612 , sk, способ организации вычислений суммы n m-разрядных чисел, патент № 2491612 , sm.

Пример: необходимо сложить четыре (m=4) трехбитных (n=3) операнда: a1=111, а 2=101, а3=001, а4=111. Запишем их в виде матрицы с элементами ai,j

способ организации вычислений суммы n m-разрядных чисел, патент № 2491612

Параллельно подсчитывается число единиц в столбцах матрицы: b1=100, b2=010, b 3=011. Так как младший бит b1 равен нулю, то бит результата s1=0.

Число b1 сдвигается на один разряд вправо и результат сдвига способ организации вычислений суммы n m-разрядных чисел, патент № 2491612 суммируется с числом b2=010. Сумма способ организации вычислений суммы n m-разрядных чисел, патент № 2491612 , ее младший разряд является вторым битом результата s 2=0.

Число способ организации вычислений суммы n m-разрядных чисел, патент № 2491612 сдвигается на один разряд вправо и результат сдвига способ организации вычислений суммы n m-разрядных чисел, патент № 2491612 суммируется с числом b3=011. Сумма способ организации вычислений суммы n m-разрядных чисел, патент № 2491612 , ее младший разряд является третьим битом результата s 3=1.

Число способ организации вычислений суммы n m-разрядных чисел, патент № 2491612 сдвигается на один разряд вправо и младший разряд результата сдвига способ организации вычислений суммы n m-разрядных чисел, патент № 2491612 является четвертым битом результата s4=0. Так как способ организации вычислений суммы n m-разрядных чисел, патент № 2491612 не равно нулю, то сдвиг повторяется: способ организации вычислений суммы n m-разрядных чисел, патент № 2491612 , младший бит является пятым битом результата s5 =1. Так как способ организации вычислений суммы n m-разрядных чисел, патент № 2491612 не равно нулю, то сдвиг повторяется: способ организации вычислений суммы n m-разрядных чисел, патент № 2491612 , после чего операция прекращается, так как способ организации вычислений суммы n m-разрядных чисел, патент № 2491612 равно нулю. В итоге получена искомая сумма (s3,3 , s3,2, s3,1, s2,1, s1,1 )=10100.

Если принять за время суммирования пары n-разрядных чисел n тактов работы устройства, то время вычисления суммы в устройстве на базе описанного способа равно p-m тактов, где p=log2n, в то время как время суммирования итерационным способом равно m·n тактов. Таким образом, быстродействие устройства на базе описанного способа в n/(log2n) раз выше по сравнению с быстродействием устройства на базе известного итерационного способа суммирования.

Примером построения устройства на базе способа организации вычислений суммы n m-разрядных чисел может служить ее программирование на программируемых логических интегральных схемах (ПЛИС).

На фигуре представлен вариант структурной схемы устройства, реализующего способ организации вычислений суммы n m-разрядных чисел в общем виде, где 1 - счетчик единичный бит в двоичных векторах, 2 - p-разрядный двухплечевой сумматор, где p=log2n, 3 - сдвиговый p-разрядный регистр, a1-an - m-разрядные информационные входы схемы, s1-Sm - одноразрядные информационные выходы схемы, b1-bm - р-разрядные выходы счетчиков 1, способ организации вычислений суммы n m-разрядных чисел, патент № 2491612 - разрядные выходы сумматоров 2.

Класс G06F7/50 для сложения; для вычитания

функциональная структура младшего разряда сумматора fcd( )ru для аргументов слагаемых ±[1,2nj]f(2n) и ±[1,2mj]f(2n) формата "дополнительный код ru" (варианты русской логики) -  патент 2524562 (27.07.2014)
одноразрядный полный сумматор с многозначным внутренним представлением сигналов -  патент 2504074 (10.01.2014)
накапливающий сумматор по модулю -  патент 2500017 (27.11.2013)
однородная вычислительная среда для конвейерных вычислений суммы m n-разрядных чисел -  патент 2486576 (27.06.2013)
функциональная структура второго младшего разряда, активизирующая результирующий аргумент (2smin+1)f(2n) "уровня 2" и (1smin+1)f(2n) "уровня 1" сумматора fcd( )ru для аргументов слагаемых ±[1,2nj]f(2n) и ±[1,2mj]f(2n) формата "дополнительный код ru" (варианты русской логики) -  патент 2484518 (10.06.2013)
функциональная вторая входная структура условно разряда "j" сумматора fcd( )ru с максимально минимизированным технологическим циклом t для аргументов слагаемых ±[1,2nj]f(2n) и ±[1,2mj]f(2n) формата "дополнительный код ru" с формированием промежуточной суммы ±[1,2sj]1 d1/dn второго слагаемого в том же формате (варианты русской логики) -  патент 2480816 (27.04.2013)
функциональная первая входная структура условно "j" разряда сумматора fcd( )ru с максимально минимизированным технологическим циклом t для аргументов слагаемых ±[1,2nj]f(2n) и ±[1,2mj]f(2n) формата "дополнительный код ru" с формированием промежуточной суммы (2sj)1 d1/dn "уровня 2" и (1sj)1 d1/dn "уровня 1" первого слагаемого в том же формате (варианты русской логики) -  патент 2480815 (27.04.2013)
функциональная выходная структура условно разряда "j" сумматора fcd( )ru с максимально минимизированным технологическим циклом t для промежуточных аргументов слагаемых (2sj)2 d1/dn "уровня 2" и (1sj)2 d1/dn "уровня 1" второго слагаемого и промежуточных аргументов (2sj)1 d1/dn "уровня 2" и (1sj)1 d1/dn "уровня 1" первого слагаемого формата "дополнительный код ru" с формированием результирующих аргументов суммы (2sj)f(2n) "уровня 2" и (1sj)f(2n) "уровня 1" в том же формате (варианты русской логики) -  патент 2480814 (27.04.2013)
полный сумматор -  патент 2475811 (20.02.2013)
реконфигурируемый вычислительный конвейер -  патент 2461867 (20.09.2012)
Наверх