RU2814657C9 - Modulo conveyor accumulating adder - Google Patents
Modulo conveyor accumulating adder Download PDFInfo
- Publication number
- RU2814657C9 RU2814657C9 RU2023127194A RU2023127194A RU2814657C9 RU 2814657 C9 RU2814657 C9 RU 2814657C9 RU 2023127194 A RU2023127194 A RU 2023127194A RU 2023127194 A RU2023127194 A RU 2023127194A RU 2814657 C9 RU2814657 C9 RU 2814657C9
- Authority
- RU
- Russia
- Prior art keywords
- bit
- information
- information inputs
- bits
- adder
- Prior art date
Links
Images
Abstract
Description
Область техники, к которой относится изобретениеField of technology to which the invention relates
Изобретение относится к вычислительной технике и может быть использовано в цифровых вычислительных устройствах конвейерного типа, а также в синтезаторах частот и делителях частоты с дробным коэффициентом деления и в криптографических приложениях.The invention relates to computer technology and can be used in conveyor-type digital computing devices, as well as in frequency synthesizers and frequency dividers with fractional division coefficients and in cryptographic applications.
Уровень техникиState of the art
Из существующего уровня техники известен накапливающий сумматор [1, рис. 5-250, стр. 741], содержащий 3 сумматора и 3 регистра, выполняющий операцию накапливающего суммирования по модулю 2n, где n - разрядность устройства.An accumulating adder is known from the existing level of technology [1, Fig. 5-250, p. 741], containing 3 adders and 3 registers, performing an accumulative summation operation modulo 2n , where n is the bit capacity of the device.
Недостатком данного сумматора является ограниченный функционал, а именно отсутствие операции суммирования по произвольному модулю.The disadvantage of this adder is its limited functionality, namely the absence of an arbitrary summation operation.
Наиболее близким к заявленному техническому решению по технической сущности и достигаемому техническому результату, выбранному в качестве прототипа, является накапливающий сумматор по модулю, содержащий n-разрядный сумматор, n-разрядный регистр, (n+1)-разрядный сумматор и n-разрядный мультиплексор [2], выполняющий операцию накапливающего суммирования по произвольному модулю. Технической проблемой, которая не может быть решена при использовании данного технического решения при конвейерной обработке информации, является низкая производительность операций накапливающего суммирования чисел по произвольному модулю при конвейерной обработке информации, так как суммирование очередных чисел по модулю в потоке не может быть начато до тех пор, пока не завершено суммирование по модулю предыдущих чисел.The closest to the claimed technical solution in terms of technical essence and achieved technical result, selected as a prototype, is a modulo accumulating adder containing an n-bit adder, an n-bit register, an (n+1)-bit adder and an n-bit multiplexer [ 2], which performs the operation of cumulative summation over an arbitrary modulo. A technical problem that cannot be solved when using this technical solution in pipeline information processing is the low performance of the operations of cumulative summation of numbers modulo arbitrary in pipeline information processing, since the modulo summation of successive numbers in a stream cannot be started until until the summation modulo the previous numbers is completed.
Техническим результатом, обеспечиваемым приведенной совокупностью признаков, является повышение производительности операций накапливающего суммирования чисел по произвольному модулю.The technical result provided by the given set of features is to increase the productivity of operations of cumulative summation of numbers modulo arbitrary.
Раскрытие сущности изобретения.Disclosure of the invention.
Указанный технический результат при осуществлении изобретения достигается тем, что в конвейерный накапливающий сумматор по модулю содержащий n-разрядный сумматор, (n+1)-разрядный регистр, (n+1)-разрядный сумматор, мультиплексор, первые информационные входы устройства, тактовый вход, вторые информационные входы устройства, информационные выходы устройства, причем первые n разрядов первых информационных входов (n+1)-разрядного сумматора соединены со вторыми информационными входами устройства, на (n+1)-й разряд первых информационных входов и на вход переноса подается сигнал логической единицы, первые n разрядов вторых информационных входов соединены с первыми информационными входами мультиплексора, вторые информационные входы которого соединены с первыми n разрядами информационных выходов (n+1)-разрядного сумматора, управляющий вход соединен с выходом переноса (n+1)-разрядного сумматора, а вход синхронизации (n+1)-разрядного регистра соединен с тактовым входом устройства, введен (2n)-разрядный регистр, вход синхронизации которого соединен с тактовым входом устройства, младшие n разрядов информационных входов соединены с первыми информационными входами устройства, старшие n разрядов информационных входов соединены с информационными выходами мультиплексора и с информационными выходами устройства, младшие n разрядов информационных выходов соединены с первыми информационными входами n-разрядного сумматора, старшие n разрядов соединены со вторыми информационными входами n-разрядного сумматора, информационные выходы которого соединены с младшими n разрядами информационных входов (n+1)-разрядного регистра, а выход переноса соединен с (n+1)-м разрядом информационных входов (n+1)-разрядного регистра, информационные выходы которого соединены со вторыми информационными входами (n+1)-разрядного сумматора.The specified technical result when implementing the invention is achieved by the fact that the conveyor accumulating adder modulo contains an n-bit adder, an (n+1)-bit register, an (n+1)-bit adder, a multiplexer, the first information inputs of the device, a clock input, second information inputs of the device, information outputs of the device, and the first n bits of the first information inputs of the (n+1)-bit adder are connected to the second information inputs of the device, a logical signal is supplied to the (n+1)th bit of the first information inputs and to the transfer input units, the first n bits of the second information inputs are connected to the first information inputs of the multiplexer, the second information inputs of which are connected to the first n bits of the information outputs of the (n+1)-bit adder, the control input is connected to the transfer output of the (n+1)-bit adder, and the synchronization input of the (n+1)-bit register is connected to the clock input of the device, a (2n)-bit register is introduced, the synchronization input of which is connected to the clock input of the device, the lowest n bits of information inputs are connected to the first information inputs of the device, the highest n bits of information inputs are connected to the information outputs of the multiplexer and to the information outputs of the device, the low n bits of the information outputs are connected to the first information inputs of the n-bit adder, the high n bits are connected to the second information inputs of the n-bit adder, the information outputs of which are connected to the low n bits of the information inputs (n+1)-bit register, and the carry output is connected to the (n+1)-th bit of the information inputs of the (n+1)-bit register, the information outputs of which are connected to the second information inputs of the (n+1)-bit adder.
Сущность изобретения заключается в реализации следующего способа накопительного суммирования чисел Ai по модулю Р. Поступающие на вход накапливающего сумматора целые числа Ai (i=1, 2, 3,…), 0≤Ai<Р, потактово суммируются в двух раздельных потоках с числами, записанными в его памяти на предыдущих тактах, образуя две независимые выходные последовательности чисел, сопряженные соответственно с нечетными и четными номерами тактов. Нечетная и четная выходные последовательности поступают на выход накапливающего сумматора поочередно. Суммирование для нечетного и четного потоков чисел может осуществляться для разных модулей Р1 и Р2 соответственно. Обозначим сумму по модулю для первого (нечетного) потока чисел S1,i, а для второго (четного) потока чисел S2,i. ТогдаThe essence of the invention is to implement the following method of cumulative summation of numbers A i modulo P. The integer numbers A i (i=1, 2, 3,...), 0≤A i <P, arriving at the input of the accumulating adder, are summed clockwise in two separate streams with the numbers recorded in its memory on previous measures, forming two independent output sequences of numbers, paired with odd and even numbers of measures, respectively. Odd and even output sequences are supplied to the output of the accumulating adder alternately. Summation for odd and even number streams can be carried out for different modules P 1 and P 2 , respectively. Let us denote the modulo sum for the first (odd) stream of numbers S 1,i , and for the second (even) stream of numbers S 2,i . Then
Накапливающий сумматор имеет две ячейки памяти, выполненные, например, в виде регистра.The accumulating adder has two memory cells, made, for example, in the form of a register.
Первая ячейка памяти имеет размерность 2n, где n - разрядность входных чисел, а вторая ячейка памяти имеет размерность (n+1). Первая ячейка памяти на каждом такте сохраняет входные числа Ai разрядностью n, выходные числа S1,i на четном такте и выходные числа S2,i на нечетном такте разрядностью n.The first memory cell has a dimension of 2n, where n is the width of the input numbers, and the second memory cell has a dimension of (n+1). The first memory cell at each clock cycle stores input numbers A i with n-bit capacity, output numbers S 1,i at an even clock cycle and output numbers S 2,i at an odd clock cycle with n-bit capacity.
Вторая ячейка памяти сохраняет в течение очередного такта сумму (Ai+S1,i) на четном такте и сумму (Ai+S2,i) на нечетном такте. На выходе второй ячейки памяти осуществляется приведение по модулю Pk суммы (Ai+Sk,i), где k=1,2. Если указанная сумма больше модуля Pk, соответственно производится вычитание из нее этого модуля, в противном случае сумма без изменения поступает на выход устройства.The second memory cell stores during the next clock cycle the sum (A i +S 1,i ) on the even clock cycle and the sum (A i +S 2,i ) on the odd clock cycle. At the output of the second memory cell, the sum (A i +S k,i ) is reduced modulo P k , where k=1.2. If the specified sum is greater than the module P k , this module is correspondingly subtracted from it, otherwise the sum without change is sent to the output of the device.
Повышение производительности операций накапливающего суммирования чисел по произвольному модулю в предлагаемом устройстве достигается за счет того, что операция суммирования по модулю для потока последовательных чисел выполняется сразу для двух пар чисел.Increasing the productivity of the operations of cumulative summation of numbers modulo arbitrary in the proposed device is achieved due to the fact that the modulo summation operation for a stream of sequential numbers is performed for two pairs of numbers at once.
Краткое описание чертежей.Brief description of the drawings.
Сущность изобретения поясняется чертежами.The essence of the invention is illustrated by drawings.
На фиг. 1 представлена схема конвейерного накапливающего сумматора по модулю. Конвейерный накапливающий сумматор по модулю содержит 2n-разрядный и (n+1)-разрядный регистры 1 и 3, где n - разрядность обрабатываемых чисел, n-разрядный и (n+1)-разрядный сумматоры 2 и 4, мультиплексор 5, первые 6 и вторые 8 информационные входы устройства, информационные выходы устройства 9 и тактовый вход устройства 7, который соединен со входами синхронизации 2n-разрядного и (n+1)-разрядного регистров 1 и 3. Младшие n разрядов информационных входов 2n-разрядного регистра 1 соединены с первыми информационными входами устройства 6, старшие n разрядов информационных входов соединены с информационными выходами устройства 9 и с информационными выходами мультиплексора 5, младшие n разрядов информационных выходов соединены с первыми информационными входами n-разрядного сумматора 2, а старшие n разрядов информационных выходов соединены со вторыми информационными входами n-разрядного сумматора 2. Информационные выходы n-разрядного сумматора 2 соединены с младшими n разрядами информационных входов (n+1)-разрядного регистра 3, а выход переноса соединен с (n+1)-м разрядом информационных входов (n+1)-разрядного регистра 3, n разрядов информационных выходов разрядного регистра 3 соединены с первыми n разрядами вторых информационных входов (n+1)-разрядного сумматора 4 и с первыми информационными входами мультиплексора 5, а (n+1)-й разряд информационных выходов соединен с (n+1)-м разрядом первых информационных входов (n+1)-разрядного сумматора 4. Первые n разрядов первых информационных входов (n+1)-разрядного сумматора 4 соединены с первыми информационными входами устройства 8, а на (n+1)-й разряд первых информационных входов и на вход переноса подается сигнал логической единицы. Вторые информационные входы мультиплексора 5 соединены с первыми n разрядами информационных выходов разрядного сумматора 4, управляющий вход соединен с выходом переноса (n+1)-разрядного сумматора 4.In fig. Figure 1 shows a diagram of a conveyor modulo accumulating adder. The modulo pipeline accumulating adder contains 2n-bit and (n+1)-
Осуществление изобретения.Implementation of the invention.
Конвейерный накапливающий сумматор по модулю работает следующим образом (см. Фиг. 1).The modulo conveyor accumulating adder operates as follows (see Fig. 1).
В исходном состоянии 2n-разрядный и (n+1)-разрядный регистры 1 и 3 обнулены. На тактовый вход устройства 7 поступают тактовые импульсы i=1,2,3,…. На первые информационные входы устройства 6 с каждым тактовым импульсом подаются числа Ai. На вторые информационные входы устройства 8 на четных тактах подается инверсный код модуля Р1, а на нечетных тактах (начиная с 3) подается инверсный код модуля Р2. Сумма S1,i-1 по модулю P1 для чисел Ai (i=2, 4, 6,…) и сумма S2,i-1 по модулю Р2 для чисел Ai (i=1, 3, 5, …) снимается с информационных выходов устройства 9. Причем 0≤Ai (i=2, 4, 6, …)<P1, а 0≤Ai (i=1, 3, 5, …)<Р2. Длина конвейера составляет две ступени. Латентный период работы конвейера равен одному такту.In the initial state, 2n-bit and (n+1)-
На первом такте работы устройства первое n-разрядное число А1 записывается в 2n-разрядный регистр 1. Причем оно записывается в младшие n разрядов, а старшие n разрядов обнулены. С младших n разрядов информационных выходов 2n-разрядного регистра 1 число А1 поступает на первые информационные входы n-разрядного сумматора 2, а на вторые информационные входы поступает нулевое значение со старших n разрядов информационных выходов 2n-разрядного регистра 1. На информационных выходах n-разрядного сумматора 2 образуется значение суммы А1+S1,0. Так как на первом такте значение S1,0 равно 0, то на информационных выходах n-разрядного сумматора 2 образуется значение A1. Это значение затем на следующем такте запишется в (n+1)-разрядный регистр 3.On the first clock cycle of the device, the first n-bit number A 1 is written to the 2n-
На втором такте работы устройства второе n-разрядное число А2 записывается в 2n-разрядный регистр 1, а значение А1 с выходов n-разрядного сумматора 2 записывается в (n+1) разрядов (n+1)-разрядного регистра 3. Число А2 записывается в младшие n разрядов 2n-разрядного регистра 1, при этом в старшие n разрядов записывается нулевое значение. С младших n разрядов информационных выходов 2n-разрядного регистра 1 число А2 поступает на первые информационные входы n-разрядного сумматора 2, а на вторые информационные входы поступает нулевое значение со старших n разрядов информационных выходов 2n-разрядного регистра 1. На информационных выходах n-разрядного сумматора 2, образуется значение суммы (А2+S2,0). Так как на втором такте значение S2,0 равно 0, то на информационных выходах n-разрядного сумматора 2 образуется значение А2. При этом на первые информационные входы (n+1)-разрядного сумматора 4 с информационных выходов (n+1)-разрядного регистра 3 поступит значение А1, а на младшие n разрядов вторых информационных входов поступит n-разрядный инверсный код модуля который дополняется до (n+1)-го разряда значением логической единицы, поступающей на (n+1)-й разряд вторых информационных входов (n+1)-разрядного сумматора 4. Так как на вход переноса (n+1)-разрядного сумматора 4 поступает сигнал логической единицы, то этим сумматором по существу выполняется операция вычитания (A1+S1,0)-Р1.On the second clock cycle of the device, the second n-bit number A 2 is written to 2n-
На следующих тактах работа устройства осуществляется аналогичным образом.On the following cycles, the device operates in a similar way.
В случае, если значение (Ai+Sk,i-1)≥Pk, то на выходе переноса (n+1)-разрядного сумматора 4 образуется сигнал переноса, который поступит на управляющий вход мультиплексора 5 и скоммутирует с его информационным выходом его второй информационный вход, на который поступает значение (Ai+Ski-1) - Pk с информационных выходов (n+1)-разрядного сумматора 4. Если же значение (Ai+Sk,i-1) < Pk, то сигнал переноса на выходе переноса (n+1)-разрядного сумматора 4 отсутствует и с информационным выходом мультиплексора окажется скоммутирован его первый информационный вход, на который с информационного выхода (n+1)-разрядного регистра 3 поступает значение (Ai+Sk,i-1). В результате на информационном выходе мультиплексора 5, а следовательно и на информационном выходе 9 устройства будут формироваться значения Sk,i отдельно для нечетного потока чисел S1,i и для четного потока чисел S2,i.If the value (A i +S k,i-1 )≥P k , then a carry signal is generated at the transfer output of the (n+1)-
Значения чисел в десятичном виде на входах и выходах элементов устройства при его работе на конкретном примере приведены в табл. 1.The values of numbers in decimal form at the inputs and outputs of the device elements during its operation using a specific example are given in Table. 1.
Изобретение позволяет при конвейерной обработке информации за промежуток времени, при котором устройство прототип выполняет операцию суммирования по модулю для потока последовательных чисел, выполнять операцию суммирования по модулю для двух пар чисел. Таким образом, производительность вычисления суммы чисел по модулю при конвейерной обработке информации у предлагаемого устройства будет выше в два раза.The invention allows, during pipeline processing of information for a period of time during which the prototype device performs a modulo summation operation for a stream of consecutive numbers, to perform a modulo summation operation for two pairs of numbers. Thus, the performance of calculating the sum of numbers modulo during pipeline processing of information for the proposed device will be twice as high.
Источники информации.Information sources.
1. Тарабрин Б.В. Справочник по интегральным микросхемам / Б.В. Тарабрин, С.В. Якубовский, Н.А. Барканов и др./ Под ред. Б.В. Тарабрина. - 2-е изд., перераб. и доп. - М.: Энергия, 1981.1. Tarabrin B.V. Handbook of integrated circuits / B.V. Tarabrin, S.V. Yakubovsky, N.A. Barkanov et al. / Ed. B.V. Tarabrina. - 2nd ed., revised. and additional - M.: Energy, 1981.
2. Патент на изобретение RU 2500017 С1. МПК G06F 7/72 (2006.01), G06F 7/50 (2006.01). Накапливающий сумматор по модулю. Опубликован 27.11.2013 Бюл. №33.2. Patent for invention RU 2500017 C1.
Claims (1)
Publications (2)
Publication Number | Publication Date |
---|---|
RU2814657C1 RU2814657C1 (en) | 2024-03-04 |
RU2814657C9 true RU2814657C9 (en) | 2024-06-11 |
Family
ID=
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090043836A1 (en) * | 2007-08-10 | 2009-02-12 | Atmel Corporation | Method and system for large number multiplication |
RU2500017C1 (en) * | 2012-06-05 | 2013-11-27 | Федеральное государственное автономное образовательное учреждение высшего профессионального образования "Северо-Кавказский федеральный университет" | Modulo adder-accumulator |
US9343122B2 (en) * | 2013-07-10 | 2016-05-17 | Robert Bosch Gmbh | Circuit configuration for selecting and outputting digital input data and operating method for same |
RU2754122C1 (en) * | 2020-12-29 | 2021-08-26 | Акционерное общество "Концерн "Созвездие" | High-speed accumulating adder modulo of arbitrary natural number |
RU2791441C1 (en) * | 2022-07-13 | 2023-03-07 | федеральное государственное автономное образовательное учреждение высшего образования "Северо-Кавказский федеральный университет" | Modulo accumulator |
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090043836A1 (en) * | 2007-08-10 | 2009-02-12 | Atmel Corporation | Method and system for large number multiplication |
RU2500017C1 (en) * | 2012-06-05 | 2013-11-27 | Федеральное государственное автономное образовательное учреждение высшего профессионального образования "Северо-Кавказский федеральный университет" | Modulo adder-accumulator |
US9343122B2 (en) * | 2013-07-10 | 2016-05-17 | Robert Bosch Gmbh | Circuit configuration for selecting and outputting digital input data and operating method for same |
RU2754122C1 (en) * | 2020-12-29 | 2021-08-26 | Акционерное общество "Концерн "Созвездие" | High-speed accumulating adder modulo of arbitrary natural number |
RU2791441C1 (en) * | 2022-07-13 | 2023-03-07 | федеральное государственное автономное образовательное учреждение высшего образования "Северо-Кавказский федеральный университет" | Modulo accumulator |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Yang et al. | A new RSA cryptosystem hardware design based on Montgomery's algorithm | |
US7257609B1 (en) | Multiplier and shift device using signed digit representation | |
JP2011134346A (en) | Arithmetic processor | |
JPH0661792A (en) | Digital filter | |
KR100591761B1 (en) | Montgomery Modular Multiplication Method Using Montgomery Modular Multiplier and Carry Store Addition | |
JP2004326112A (en) | Multiple modulus selector, accumulator, montgomery multiplier, method of generating multiple modulus, method of producing partial product, accumulating method, method of performing montgomery multiplication, modulus selector, and booth recorder | |
CN110377267B (en) | Signed number adder/subtracter based on probability calculation concentrated sequence | |
RU2814657C9 (en) | Modulo conveyor accumulating adder | |
US20020161810A1 (en) | Method and apparatus for multiplication and/or modular reduction processing | |
Leu et al. | Design methodology for Booth-encoded Montgomery module design for RSA cryptosystem | |
RU2823898C1 (en) | Two-channel modulo adder-accumulator | |
RU2799035C1 (en) | Conveyor totalizer by modulo | |
RU2804380C1 (en) | Pipeline calculator | |
RU2823911C1 (en) | Pipeline adder-accumulator by arbitrary modules | |
RU2797164C1 (en) | Pipeline module multiplier | |
KR100946256B1 (en) | Scalable Mongolian multiplier on dual field using multi-precision carry save adder | |
Kim et al. | Digit-serial modular multiplication using skew-tolerant domino CMOS | |
RU2661797C1 (en) | Computing device | |
RU2791441C1 (en) | Modulo accumulator | |
RU2791440C1 (en) | Pipeline generator of remainders by an arbitrary modulus | |
Yang et al. | The IC design of a high speed RSA processor | |
Monfared et al. | A new multiplicative inverse architecture in normal basis using novel concurrent serial squaring and multiplication | |
RU2797163C1 (en) | Pipeline calculator | |
RU2755734C1 (en) | Apparatus for multiplying numbers by an arbitrary modulus | |
RU2829089C1 (en) | Modulus multiplier |