Изобретение относится к вычислительной технике, в частности к способам суммирования чисел и может быть использовано при построении арифметических устройств ЭВМ.
Известен способ сложения двоичных чисел, в котором, с целью ускорения процесса суммирования, формируют два слова: сумму по модулю 2 исходных слагаемых и конъюнкцию исходных слагаемых со сдвигом на один разряд влево, после чего одноименные разряды полученных слов разбивают на группы специальным образом. [Авторское свидетельство СССР N 176724, класс МКИ G 06 F 7/50, 1965].
Недостатком способа является то, что он применим только для двоичных чисел и, ускоряя каждую отдельную операцию сложения, не позволяет уменьшить количество операций сложения при полном переборном P-ичном суммировании n-разрядного числа X с массивом V n-разрядных чисел от 0 до Pn, уменьшить разрядность сумматоров, повысить интегральное быстродействие суммирования чисел, а также перейти от степенной к линейной зависимости общего количества операций сложения от разрядности чисел.
Наиболее близким по технической сущности к изобретению является способ суммирования чисел, при котором суммирование производят параллельно во всех группах разрядов, на которые разделен сумматор, при этом в каждую группу разрядов условно прибавляют "единицу" или "нуль" переноса, а затем осуществляют выбор окончательного результата суммирования. [Авторское свидетельство СССР N 249050, класс МКИ G 06 F 7/50, 1969].
Недостатком способа является то, что он повышает только быстродействие каждой операции сложения, но не позволяет уменьшить количество операций сложения при полном переборном P-ичном суммировании n-разрядного числа X с массивом V n-разрядных чисел от 0 до Pn, уменьшить разрядность сумматоров, повысить интегральное быстродействие суммирования чисел, а также перейти от степенной к линейной зависимости общего количества операций сложения от разрядности чисел.
Решаемая задача - создание способа суммирования чисел, в котором разбиение исходного числа на блоки, новое поблочное суммирование и формирование требуемых чисел позволило уменьшить количество операций сложения при полном переборном P-ичном суммировании n-разрядного числа X с массивом V n-разрядных чисел от 0 до Pn, уменьшить разрядность сумматоров, повысить интегральное быстродействие суммирования чисел, а также перейти от степенной к линейной зависимости общего количества операций сложения от разрядности чисел.
Задача решается предлагаемым изобретением. Сущность изобретения заключается в том, что в способе суммирования чисел исходное n-разрядное P-ичное число X разбивают на k блоков x1,...,xi,...,xk по m разрядов в каждом, производят параллельное на нескольких сумматорах или последовательное на одном сумматоре добавление единицы к каждому числу x1,...,xi,...,xk с формированием в (m+1)-ом разряде "единиц" или "нулей" переноса, полученные числа записывают соответственно в массивы Z1,...,Zi,...,Zk, повторяют эти действия Pm раз и получают (m+1)-разрядные массивы Z1,...,Zi,...,Zk, содержащие в каждом Pm P-ичных чисел, формируют строки требуемого массива Y, причем в качестве текущих значений в каждом массиве Z1,...,Zi,...,Zk выбирают первые числа, записывают их в первую строку и переходят к формированию следующей строки требуемого массива Y, в массиве Z1 в качестве текущего значения выбирают следующую строку и записывают это число в первые m разрядов, затем переходят к следующему массиву Zi и проверяют наличие сигнала перехода к новому текущему значению, при этом сигнал перехода получают из предыдущего массива Zi-1 в том случае, если в предшествующей строке массива Zi-1 в (m+1)-м разряде был "нуль", а в текущей строке массива Zi-1 в (m+1)-м разряде "единица", если сигнал перехода есть, то в массиве Zi в качестве текущего значения выбирают следующую строку и записывают это число в следующие m разрядов формируемой строки массива Y, повторяют указанные действия (k-l) раз до формирования полной строки, а затем повторяют все действия по формированию следующей строки массива Y (Pn-1) раз до полного формирования всех строк массива Y, причем если в любом массиве Zi текущим значением выбирают последнюю строку, то в качестве следующего текущего значения массива Zi выбирают его первую строку, осуществляют представление всего полученного массива Y, содержащего Pn n-разрядных P-ичных чисел.
Автору не известен способ суммирования чисел, совокупность существенных признаков формулы изобретения которого идентична совокупности существенных признаков формулы заявляемого изобретения. Следовательно, заявляемое изобретение удовлетворяет условию новизны.
Автору не известен способ суммирования чисел, совокупность отличительных признаков формулы изобретения которого идентична совокупности отличительных признаков формулы изобретения заявляемого изобретения. Следовательно, заявляемое изобретение соответствует условию уровня техники.
На чертеже показан вариант устройства для осуществления способа суммирования чисел. Устройство содержит блок 1 представления исходного числа X (БПИЧ), k блоков 2, 3, 4, 5, 6 выделения m-разрядных чисел (БВМЧ), блок 7 сумматоров (БСУМ), k блоков 8, 10, 12, 14, 16 фиксации промежуточных массивов Z1,...,Zi,...,Zk (БФПМ), (k-1) блок 9, 11, 13, 15 фиксации единиц переноса (БФЕП), k блоков 17, 19, 21, 23, 25 формирования строки массива Y (БФСМ), (k-1) блок 18, 20, 22, 24 анализа единиц переноса (БАЕП), блок 26 формирования текущей строки массива Y (БФТС) и блок 27 представления всего массива Y (БПИМ). Каждый из k блоков 8, 10, 12, 14, 16 фиксации промежуточных массивов Z1,...,Zi,...,Zk и из (k-1)-го блока 9, 11, 13, 15 фиксации единиц переноса содержит Pm чисел, а блок 27 представления всего массива Y содержит Pn n-разрядных P-ичных чисел.
Блок 1 представления исходного числа X имеет k выходов, которые соответственно своему номеру соединены со входами 2, 3, 4, 5, 6 блоков выделения m-разрядных чисел. Каждый выход блоков 2, 3, 4, 5, 6 выделения m-разрядных чисел соединен соответственно своему номеру со входами блока 7 сумматоров. Нечетные выходы блока 7 сумматоров, начиная с 1 и до 2k-1, соединены с соответствующими входами k блоков 8, 10, 12, 14, 16 фиксации промежуточных массивов Z1, . ..,Zi,...,Zk. Четные выходы блока 7 сумматоров, начиная с 2 и до 2k-2, соединены с соответствующими входами (k-1)-го блока 9, 11, 13, 15 фиксации единиц переноса. Выходы блоков 8, 10, 12, 14, 16 фиксации промежуточных массивов Z1,...,Zi,...,Zk соединены с первыми входами соответствующих k блоков 17, 19, 21, 23, 25 формирования строки массива Y, выходы блоков 9, 11, 13, 15 фиксации единиц переноса соединены соответственно со входами (к-1)-го блока 18, 20, 22, 24 анализа единиц переноса. Выходы блоков 18, 20, 22, 24 анализа единиц переноса соединены соответственно со вторыми входами следующих за ними блоков 17, 19, 21, 23, 25 формирования строки массива Y, причем выход блока 20 анализа единиц переноса ANALi-1 соединен со вторым входом блока 21 формирования строки массива Y FORMi. Выходы k блоков 17, 19, 21, 23, 25 формирования строки массива Y соединены соответственно своим номерам со входами блока 26 формирования текущей строки массива Y. Выход блока 26 формирования текущей строки массива Y соединен со входом блока 27 представления всего массива Y.
Способ осуществляется следующим образом. В блок 1 представления исходного n-разрядного P-ичного числа X записывают исходное число X. С выходов этого блока 1 представления исходного числа X сигналы поступают на входы соответствующих k блоков 2, 3, 4, 5, 6 выделения m-разрядных чисел, в которых фиксируют числа x1,...,xi,...,xk. С выходов всех k блоков 2, 3, 4, 5, 6 выделения m-разрядных чисел сигналы одновременно или последовательно поступают на соответствующие входы блока 7 сумматоров. В блоке 7 сумматоров производят параллельное на нескольких сумматорах или последовательное на одном сумматоре добавление единицы к каждому числу x1,...,xi,...,xk с формированием в (m+1)-ом разряде "единиц" или "нулей" переноса, повторяют эти действия Pm раз и получают (m+1)-разрядные массивы чисел. Сигналы с нечетных выходов блока 7 сумматоров, начиная с 1 и до 2k-1, поступают на входы соответствующих k блоков 8, 10, 12, 14, 16 фиксации промежуточных массивов Z1,...,Zi,.. .,Zk. Во всех k блоках 8, 10, 12, 14, 16 фиксации промежуточных массивов Z1, . . .,Zi,...,Zk производят фиксацию промежуточных массивов Z1,...,Zi,...,Zk. Сигналы с четных выходов блока 7 сумматоров, начиная с 1 и до 2k-2, поступают на входы соответствующих (k-1)-гo блоков 9, 11, 13, 15 фиксации единиц переноса. Во всех блоках 9, 11, 13, 15 фиксации единиц переноса производят фиксацию соответственно "единиц" или "нулей" переноса.
Сигналы с выходов k блоков 8, 10, 12, 14, 16 фиксации промежуточных массивов Z1, . ..,Zi,...,Zk поступают на первые входы соответствующих k блоков 17, 19, 21, 23, 25 формирования строки массива Y. Сигналы с выходов (k-1)-го блоков 9, 11, 13, 15 фиксации единиц переноса поступают на входы соответствующих (k-1)-го блока 18, 20, 22, 24 анализа единиц переноса.
Формируют строки требуемого массива Y. Прежде всего, в качестве текущих значений в каждом массиве Z1,...,Zi,...,Zk выбирают первые строки, сформированные сигналы с выходов k блоков 8, 10, 12, 14, 16 фиксации промежуточных массивов Z1,...,Zi,...,Zk поступают на первые входы соответствующих k блоков 17, 19, 21, 23, 25 формирования строки массива Y, в блоках 17, 19, 21, 23, 25 формирования строки массива Y фиксируют текущие значения чисел, затем сигналы с выходов k блоков 17, 19, 21, 23, 25 формирования строки массива Y поступают на соответствующие входы блока 26 формирования текущей строки массива Y, в блоке 26 формирования текущей строки массива Y получают первую строку требуемого массива Y и сигнал с выхода блока 26 формирования текущей строки массива Y поступает на вход блока 27 представления всего массива Y, в котором записывают первую строку требуемого массива Y.
Переходят к формированию следующей строки требуемого массива Y. В блоке 16 фиксации промежуточного массива Z1 в массиве Z1 в качестве текущего значения выбирают следующую строку, сформированный сигнал поступает из блока 16 фиксации промежуточного массива Z1 на вход блока 17 формирования строки массива Y FORM1, в блоке 17 формирования строки массива Y FORM1 формируют новое текущее значение числа, а затем сигнал из блока 17 формирования строки массива Y FORM1 поступает на соответствующий вход блока 26 формирования текущей строки массива Y, в котором записывают это текущее число в первые m разрядов.
Затем переходят к следующему блоку 21 формирования строки массива Y FORMi, который соединен с блоком 12 фиксации промежуточного массива Zi и проверяют в предшествующем блоке 20 анализа единиц переноса ANALi-1, который соединен с блоком 13 фиксации единиц переноса массива Zi-1, наличие сигнала перехода к новому текущему значению в блоке 21 формирования строки массива Y FORMi. При этом, сигнал перехода формируют в предыдущем блоке 20 анализа единиц переноса ANALi-1, только в том случае, если в предшествующей строке в блоке 13 фиксации единиц переноса массива Zi-1 был "нуль", а в текущей строке в блоке 13 фиксации единиц переноса массива Zi-1 "единица". Если сигнал перехода сформирован в предыдущем блоке 20 анализа единиц переноса ANALi-1, то в блоке 21 формирования строки массива Y FORMi в качестве текущего значения выбирают следующую строку из блока 12 фиксации промежуточного массива Zi, формируют сигнал из блока 12 фиксации промежуточного массива Zi, который поступает на вход блока 21 формирования строки массива Y FORMi, фиксируют текущее значение числа из массива Zi, затем формируют сигнал с выхода i-го блока 21 формирования строки массива Y FORMi, который поступает на соответствующий вход блока 26 формирования текущей строки массива Y, в котором записывают это текущее число в следующие m разрядов формируемой строки массива Y. Повторяют указанные действия (k-1) раз до формирования полной строки в блоке 26 формирования текущей строки массива Y. В блоке 26 формирования текущей строки массива Y получают следующую строку требуемого массива Y и посылают сигнал с выхода блока 26 формирования текущей строки массива Y на вход блока 27 представления всего массива Y, в котором записывают следующую строку требуемого массива Y.
Затем повторяют все действия по формированию следующей строки массива Y (Pn-1) раз до полного формирования всех строк массива Y в блоке 27 представления всего массива Y, в котором записывают все строки требуемого массива Y. Причем если в любом массиве Zi в блоке 12 фиксации промежуточного массива Zi, текущим значением выбирают последнюю строку, то в качестве следующего текущего значения массива Zi выбирают его первую строку.
Заявляемое изобретение может быть использовано при построении арифметических устройств ЭВМ для повышения быстродействия решения задач математического моделирования, для значительного сокращения времени обработки целочисленных переборных задач специального назначения, имеющих важное народно-хозяйственное значение, решение которых без внедрения данного изобретения не представляется возможным. Общее количество операций сложения KS при известных способах суммирования определяют как Pn, а в заявляемом изобретении определяют на этапе суммирования как k раз по Pm (m+1)-разрядных операций сложения:
Заявляемое изобретение позволяет решить поставленную задачу, уменьшить количество операций сложения при полном переборном P-ичном суммировании n-разрядного числа X с массивом V n-разрядных чисел от 0 до Pn, уменьшить разрядность сумматоров, повысить интегральное быстродействие суммирования чисел, а также перейти от степенной к линейной зависимости общего количества операций сложения от разрядности чисел. Следовательно, заявляемое техническое решение удовлетворяет условию промышленной применимости.
название | год | авторы | номер документа |
---|---|---|---|
НЕЙРОПРОЦЕССОР, УСТРОЙСТВО ДЛЯ ВЫЧИСЛЕНИЯ ФУНКЦИЙ НАСЫЩЕНИЯ, ВЫЧИСЛИТЕЛЬНОЕ УСТРОЙСТВО И СУММАТОР | 1998 |
|
RU2131145C1 |
Устройство для суммирования М-чисел | 1987 |
|
SU1545216A1 |
Генератор периодических идеальных троичных последовательностей | 2017 |
|
RU2665290C1 |
Генератор периодических псевдослучайных двоичных последовательностей сложной структуры | 2018 |
|
RU2690765C1 |
ДЕЛИТЕЛЬ НА НЕЙРОНАХ | 2003 |
|
RU2249846C1 |
УСТРОЙСТВО ДЛЯ ДЕЛЕНИЯ | 1991 |
|
RU2018934C1 |
УСТРОЙСТВО ПОЛУЧЕНИЯ ИЗОБРАЖЕНИЙ (ВАРИАНТЫ) | 2005 |
|
RU2319187C2 |
УСТРОЙСТВО ДЛЯ ДЕЛЕНИЯ | 1991 |
|
RU2018933C1 |
СПОСОБ ОРГАНИЗАЦИИ УМНОЖЕНИЯ ЧИСЕЛ С ПЛАВАЮЩЕЙ ЗАПЯТОЙ, ПРЕДСТАВЛЕННЫХ В СИСТЕМЕ ОСТАТОЧНЫХ КЛАССОВ | 2012 |
|
RU2485574C1 |
СПОСОБ ОРГАНИЗАЦИИ УМНОЖЕНИЯ ЧИСЕЛ С ПЛАВАЮЩЕЙ ЗАПЯТОЙ, ПРЕДСТАВЛЕННЫХ В СИСТЕМЕ ОСТАТОЧНЫХ КЛАССОВ | 2012 |
|
RU2500018C1 |
Изобретение относится к вычислительной технике, в частности к способам суммирования чисел, и может быть использовано при построении арифметических устройств ЭВМ для повышения их быстродействия. Технический результат изобретения заключается в создании способа суммирования n-разрядного числа с массивом чисел от 0 до Pn, который позволит повысить быстродействие и перейти от степенной к линейной зависимости общего количества операций сложения от разрядности чисел. Исходное n-разрядное Р-ичное число Х разбивают на k блоков x1....хi...хk по m разрядов в каждом. Производят параллельное на нескольких сумматорах добавление единицы к каждому числу х1..., хi, хk. Формируют в (m+1)-м разряде "единицы" или "нули" переноса. Получают (m+1)-разрядные массивы Z1, . ..Zi,...Zk. Формируют строки требуемого массива Y. В качестве текущих значений в каждом массиве Z1,...Zi,...Zk выбирают первые числа. 1 з. п. ф-лы, 1 ил.
US 4229802 A, 21.10.1980 | |||
US 5327369 A, 05.07.1997 | |||
US 3675001 A, 04.07.1972 | |||
СИСТЕМА ВЕНТИЛЯЦИИ, В КОТОРОЙ ИСПОЛЬЗУЕТСЯ СИНХРОНИЗИРОВАННАЯ ПОДАЧА ВЕНТИЛЯЦИИ С ПОЛОЖИТЕЛЬНЫМ И ОТРИЦАТЕЛЬНЫМ ДАВЛЕНИЕМ | 2007 |
|
RU2445984C2 |
US 5390135 A, 14.02.1995 | |||
СПОСОБ СУММИРОВАНИЯ ЦИФРОВЫХ СИГНАЛОВ | 1993 |
|
RU2051407C1 |
СПОСОБ СУММИРОВАНИЯ ЧИСЕЛ | 0 |
|
SU249050A1 |
Авторы
Даты
2000-01-27—Публикация
1998-10-23—Подача