RU2015537C1 - Modulo two multiplier - Google Patents
Modulo two multiplier Download PDFInfo
- Publication number
- RU2015537C1 RU2015537C1 SU5007084A RU2015537C1 RU 2015537 C1 RU2015537 C1 RU 2015537C1 SU 5007084 A SU5007084 A SU 5007084A RU 2015537 C1 RU2015537 C1 RU 2015537C1
- Authority
- RU
- Russia
- Prior art keywords
- multiplier
- inputs
- group
- adder
- outputs
- Prior art date
Links
Landscapes
- Complex Calculations (AREA)
Abstract
Description
Изобретение относится к вычислительной технике и может быть использовано в цифровых вычислительных устройствах, а также в устройствах для формирования элементов конечных полей. The invention relates to computer technology and can be used in digital computing devices, as well as in devices for forming elements of finite fields.
Известен умножитель на два по модулю, содержащий два сумматора, элементы ИЛИ-НЕ и элементы ИЛИ с соответствующими связями. Недостатком этого устройства является низкая скорость вычислений. A modulo two multiplier is known, containing two adders, OR-NOT elements and OR elements with corresponding connections. The disadvantage of this device is the low speed of calculations.
Целью изобретения является повышение быстродействия. The aim of the invention is to increase performance.
На чертеже показана схема умножителя на два по модулю. The drawing shows a diagram of a multiplier by two modulo.
Умножитель содержит сумматор 1 и мультиплексор 2. Входы 3 и 4 служат для подачи кода числа и инверсного кода модуля. Выходы 5 являются информационными. The multiplier contains an adder 1 and a multiplexer 2. Inputs 3 and 4 are used to supply the code number and the inverse code of the module. Outputs 5 are informational.
Умножитель на два по модулю работает следующим образом. The multiplier by two modulo works as follows.
На входы 3 подается код числа из диапазона чисел 0<Х ≅ Р-1, где Х - умножаемое на два число, Р - величина модуля, который поступает в сумматор 1 и мультиплексор 2 сдвинутым в сторону старших разрядов на один разряд. Этим достигается умножение на два числа. Если значение произведения превышает значение модуля, то в сумматоре 1 за счет перевода инверсного кода модуля в дополнительный код происходит вычитание из полученного произведения значения кода модуля, на выходе переноса сумматора 1 появляется управляющий сигнал, переключающий вторые информационные входы мультиплексора 2 на его выходы, и значение остатка с выходов сумматора 1 через вторые входы мультиплексора 2 поступают на информационные выходы 5 умножителя. Если значение произведения не превышает значение модуля, то с выхода переноса сумматора 1 управляющий сигнал на вход мультиплексора 2 не подается, первые его информационные входы остаются скоммутированными на информационные выходы и значение произведения с входов сумматора 1 через мультиплексор 2 поступают на информационные выходы 5 умножителя. At the inputs 3, a code of a number from the range of numbers 0 <X ≅ P-1 is supplied, where X is the number multiplied by two, P is the value of the module, which enters the adder 1 and multiplexer 2 shifted to the higher order by one bit. This achieves multiplication by two numbers. If the value of the product exceeds the value of the module, then in adder 1, by translating the inverse code of the module into additional code, the value of the module code is subtracted from the resulting product, the control signal appears on the transfer output of adder 1, switching the second information inputs of multiplexer 2 to its outputs, and the value the remainder of the outputs of the adder 1 through the second inputs of the multiplexer 2 are fed to the information outputs 5 of the multiplier. If the value of the product does not exceed the value of the module, then the control signal is not supplied to the input of multiplexer 2 from the transfer output of adder 1, its first information inputs remain switched to information outputs and the value of the product from the inputs of adder 1 through multiplexer 2 goes to information outputs 5 of the multiplier.
Рассмотрим работу умножителя на два по модулю на конкретном примере. Let us consider the operation of a two-modulo multiplier using a specific example.
Пусть Х=1010=010102, Р=1210=011002. Тогда на вторых входах сумматора 1 и первых входах мультиплексора 2 имеют 2Х=2010= 101002. На выходах сумматора 1 образуется число А=2Х++1=101002+100112+1= =1010002, на выходе переноса (шестой разряд) образуется единица, которая коммутирует первые пять разрядов сумматора 1 на выходы мультиплексора 2. В результате имеют А=011002= 810=2.1010MOD1210.Let X = 10 10 = 01010 2 , P = 12 10 = 01100 2 . Then at the second inputs of the adder 1 and the first inputs of the multiplexer 2 have 2X = 20 10 = 10100 2. At the outputs of the adder 1, the number A = 2X + + 1 = 10100 2 +10011 2 + 1 = 101000 2 , a unit is formed at the transfer output (sixth digit), which commutes the first five bits of adder 1 to the outputs of multiplexer 2. As a result, they have A = 01100 2 = 8 10 = 2 . 10 10 MOD12 10 .
Пусть теперь Х= 510=001012, Р=1210= =011002, =100112. На входах сумматора 1 имеют 2Х= 010102= 1010, на выходах сумматора 1 имеют А=2Х++1= 010102+100112+1= = 111102. Так как на выходе переноса сумматора 1 ноль, то мультиплексор 2 коммутирует со своими выходами входы сумматора 1. В результате на его выходах оказывается код числа 1010. Не трудно также убедиться, что если 2Х=Р, то на выходе мультиплексора будет код нуля.Now let X = 5 10 = 00101 2 , P = 12 10 = = 01100 2 , = 10011 2 . At the inputs of the adder 1 have 2X = 01010 2 = 10 10 , at the outputs of the adder 1 have A = 2X + + 1 = 01010 2 +10011 2 + 1 = = 11110 2 . Since the output of the adder 1 transfer is zero, the multiplexer 2 commutates the inputs of the adder 1 with its outputs. As a result, the code number 10 10 appears at its outputs. It is also not difficult to verify that if 2X = P, then the multiplexer will output a zero code.
Claims (1)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
SU5007084 RU2015537C1 (en) | 1991-10-29 | 1991-10-29 | Modulo two multiplier |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
SU5007084 RU2015537C1 (en) | 1991-10-29 | 1991-10-29 | Modulo two multiplier |
Publications (1)
Publication Number | Publication Date |
---|---|
RU2015537C1 true RU2015537C1 (en) | 1994-06-30 |
Family
ID=21587742
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
SU5007084 RU2015537C1 (en) | 1991-10-29 | 1991-10-29 | Modulo two multiplier |
Country Status (1)
Country | Link |
---|---|
RU (1) | RU2015537C1 (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2445681C2 (en) * | 2009-12-15 | 2012-03-20 | Государственное образовательное учреждение высшего профессионального образования "Ставропольский государственный университет" | Doubler by module |
RU2630386C1 (en) * | 2016-11-28 | 2017-09-07 | федеральное государственное автономное образовательное учреждение высшего образования "Северо-Кавказский федеральный университет" | Multiplier by module |
RU2751802C1 (en) * | 2020-07-07 | 2021-07-19 | федеральное государственное автономное образовательное учреждение высшего образования "Северо-Кавказский федеральный университет" | Modulo multiplier |
RU2755734C1 (en) * | 2020-08-25 | 2021-09-20 | федеральное государственное автономное образовательное учреждение высшего образования "Северо-Кавказский федеральный университет" | Apparatus for multiplying numbers by an arbitrary modulus |
-
1991
- 1991-10-29 RU SU5007084 patent/RU2015537C1/en active
Non-Patent Citations (1)
Title |
---|
Пухальский Т.И., Новосельцева Т.Я. Проектирование дискретных устройств на интегральных микросхемах.: Справочник. М.: Радио и связь, 1990, с.205, рис.3.131. * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2445681C2 (en) * | 2009-12-15 | 2012-03-20 | Государственное образовательное учреждение высшего профессионального образования "Ставропольский государственный университет" | Doubler by module |
RU2630386C1 (en) * | 2016-11-28 | 2017-09-07 | федеральное государственное автономное образовательное учреждение высшего образования "Северо-Кавказский федеральный университет" | Multiplier by module |
RU2751802C1 (en) * | 2020-07-07 | 2021-07-19 | федеральное государственное автономное образовательное учреждение высшего образования "Северо-Кавказский федеральный университет" | Modulo multiplier |
RU2755734C1 (en) * | 2020-08-25 | 2021-09-20 | федеральное государственное автономное образовательное учреждение высшего образования "Северо-Кавказский федеральный университет" | Apparatus for multiplying numbers by an arbitrary modulus |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4754421A (en) | Multiple precision multiplication device | |
US6523055B1 (en) | Circuit and method for multiplying and accumulating the sum of two products in a single cycle | |
Wang et al. | VLSI architectures for computing multiplications and inverses in GF (2 m) | |
Feng | A VLSI architecture for fast inversion in GF (2/sup m/) | |
Wei | VLSI architectures for computing exponentiations, multiplicative inverses, and divisions in GF (2/sup m/) | |
EP0080836A2 (en) | Monolithic discrete-time digital convolution circuit | |
EP0504996B1 (en) | Arithmetic unit for multiplying long integers modulo M and R.S.A. converter provided with such multiplication device | |
RU2015537C1 (en) | Modulo two multiplier | |
US4996527A (en) | Pipelined residue to mixed base converter and base extension processor | |
Chren Jr | Low delay-power product CMOS design using one-hot residue coding | |
JPH05204608A (en) | High-speed multiplier | |
SU1716609A1 (en) | Encoder of reed-solomon code | |
RU2006919C1 (en) | Device for multiplication of integers with s-bit length in position-remainder number system | |
Cardarilli et al. | Efficient modulo extraction for CRT based residue to binary converters | |
SU1441395A1 (en) | Modulo three adder-multiplier | |
Choi et al. | A self-timed divider using RSD number system | |
RU2032934C1 (en) | Modulo p adder | |
RU1783518C (en) | Binary full summer | |
SU1444758A1 (en) | Digital function converter | |
SU1136153A1 (en) | Device for calculating value of function x = square root of sum of two squared numbers | |
SU1809438A1 (en) | Divider | |
Lee et al. | A fast and flexible residue decoder based on the Chinese Remainder Theorem | |
SU1621022A1 (en) | Multiplication device | |
SU824198A1 (en) | Device for adding in redundancy notation | |
SU1619256A1 (en) | Division device |