RU2023346C1 - Device for formation of remainder by optional modulus of number - Google Patents
Device for formation of remainder by optional modulus of number Download PDFInfo
- Publication number
- RU2023346C1 RU2023346C1 SU4935610A RU2023346C1 RU 2023346 C1 RU2023346 C1 RU 2023346C1 SU 4935610 A SU4935610 A SU 4935610A RU 2023346 C1 RU2023346 C1 RU 2023346C1
- Authority
- RU
- Russia
- Prior art keywords
- input
- output
- register
- adder
- information
- Prior art date
Links
Images
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.
Целью изобретения является повышение быстродействия. The aim of the invention is to increase performance.
Сущность изобретения заключается в реализации следующего алгоритма приведения по модулям чисел. The essence of the invention lies in the implementation of the following algorithm for reduction by modules of numbers.
Известно, что позиционные системы счисления строятся следующим образом. Выбирается некоторое число m - основание системы счисления, и каждое число А представляется в виде комбинации его степеней с коэффициентами аi, i=i = . Для случая двоичной системы счисления (m=2) всякое число А можно представить в виде следующего выражения: А=аk2k+...+а121+aо, где ai, i=i = - принимают значения "0" или "1".It is known that positional number systems are constructed as follows. A certain number m is selected — the base of the number system, and each number A is represented as a combination of its degrees with coefficients a i , i = i = . For the case of the binary number system (m = 2), any number A can be represented in the form of the following expression: A = a k 2 k + ... + a 1 2 1 + a о , where a i , i = i = - take the values "0" or "1".
Для вычисления остатка от числа А по модулю достаточно просуммировать частичные остатки по модулю Р от числа 2i для max i, для которых коэффициент аi=1. Способ вычисления частичного остатка состоит в следующем. Частичный остаток от 2о для любого модулю Р≥2 всегда равен единице. Частичный остаток от 21 в два раза превышает (с учетом операции приведения по модулю) частичный остаток от 2 и т.д., т.е. частичный остаток от 2i в два раза превышает частичный остаток от 2i-1. Таким образом, вычисления частичного остатка от 2i заключается в умножении на два частичного остатка от 2i-1 и приведения результата по модулю Р. Операция приведения по модулю Р для чисел, не превышающих величину 2Р-1, реализуется следующим образом. Если число не превышает величину Р, то оно остается без изменения, если же число лежит в интервале от Р до 2Р-1, то из него вычитается модуль Р, а результат является остатком.To calculate the remainder of the number A modulo it is enough to sum the partial residues modulo P of the
Операция умножения на два (как видно из представленного выражения), может быть реализована сдвигом всех разрядов умножаемого числа на один влево, либо подачей разрядов множимого на выход результата в такой последовательности: 2i разряд множимого на 2i+1 разряд произведения, i=i = .The operation of multiplying by two (as can be seen from the presented expression) can be realized by shifting all the bits of the multiplied number by one to the left, or by applying the bits of the multiplicable result to the output in the following sequence: 2 i bit of the product multiplied by 2 i + 1 bit of the product, i = i = .
Таким образом, вычисления остатка от числа А по модулю Р может быть выполнено в следующий последовательности:
1. Вычисляется частичный остаток от 2i (на первом такте i=0).Thus, the calculation of the remainder of the number A modulo P can be performed in the following sequence:
1. The partial remainder of 2 i is calculated (on the first measure i = 0).
2. Анализируется ai - коэффициент (в формуле числа А, если он равен единице, то производится накапливающее суммирование соответствующего частичного остатка, одновременно вычисляется частичный остаток от 2i+1 (на умножение 2i на 2 время не затрачивается), если же этот коэффициент равен нулю, то данный частичный остаток не суммируется, а вычисляется частичный остаток от 2i+1, и т.д. пока не будут проанализированы все разряды регистра, в котором записано число А. По окончании работы на выходе накапливающего сумматора будет сформирован остаток по модулю Р от числа А.2. We analyze a i - coefficient (in the formula of the number A, if it is equal to one, then the accumulating sum of the corresponding partial remainder is performed, at the same time, the partial remainder of 2 i + 1 is calculated (it does not take 2 times to multiply 2 i ), if this the coefficient is zero, then this partial remainder is not summed up, but the partial remainder from 2 i + 1 is calculated, etc. until all digits of the register in which the number A is written are analyzed. At the end of the work, the remainder will be formed by my zero P of the number A.
На фиг. 1 представлена функциональная схема устройства для формирования остатка по произвольному модулю от числа, на фиг. 2 - функциональная схема накапливающего сумматора по модулю, а на фиг. 3 - функциональная схема блока формирования частичных остатков. In FIG. 1 is a functional diagram of a device for generating a remainder modulo an arbitrary number, FIG. 2 is a functional diagram of an accumulating adder modulo, and in FIG. 3 is a functional block diagram of the formation of partial residues.
Устройство содержит (см. фиг. 1) регистры 1, 2, блок 3 формирования частичных остатков, накапливающий сумматор 4 по модулю, генератор 5 тактовых импульсов, счетчик 6, мультиплексор 7, триггер 8, элементы И 9, 10, элемент ИЛИ 11, элемент задержки 12, вход 13, числа устройства, вход модуля 14 устройства, вход начала вычисления 15 устройства, информационные выходы 16 устройства и выход 17 окончания работы устройства. The device contains (see Fig. 1) registers 1, 2, a block 3 for forming partial residues, accumulating an adder 4 modulo, a clock generator 5, a counter 6, a multiplexer 7, a trigger 8, AND elements 9, 10, an OR element 11, delay element 12, input 13, device numbers, input of device module 14, input to start computing 15 of the device, information outputs 16 of the device, and output 17 of the end of the device.
Накапливающий сумматор 4 по модулю содержит (см. фиг. 2) сумматор 18, блок формирования частичных остатков 19 и регистр 20. The accumulating adder 4 modulo contains (see Fig. 2) an
В состав блока 3 формирования частичных остатков (см. фиг. 3) входят сумматоры 21, 22, элемент И 23, элемент НЕ 24 и ключ 25. The composition of the block 3 of the formation of partial residues (see Fig. 3) includes
Устройство для формирования остатка по произвольному модулю от числа работает следующим образом. A device for generating a remainder modulo an arbitrary number modulus works as follows.
В исходном состоянии триггер 8 (см. фиг. 1, 2, 3), счетчик 6, регистры 1, 2 и 20 обнулены. Перед началом работы на вход 13 устройства подается число Ак, от которого необходимо сформировать остаток, а на входы модуля 14 код модуля Рi, по которому формируется остаток.In the initial state, trigger 8 (see Fig. 1, 2, 3), counter 6, registers 1, 2 and 20 are reset. Before starting work, the number A k is supplied to the input 13 of the device, from which it is necessary to form a remainder, and to the inputs of module 14, the code of module P i , from which the remainder is formed.
Начало работы устройства определяется моментом подачи на его вход 15 единичного потенциала. Этот потенциал устанавливает триггер 8 в единичное состояние, записывает единицу в младший разряд регистра 2, устанавливает счетчик 6 в единичное состояние, записывает код числа Аk в регистр 1, поступает на обнуляющий вход регистра 20 накапливающего сумматора 4 и поступает на вход элемента 11 ИЛИ. После установки счетчика 6 в единичное состояние, на адресные входы мультиплексора 7 поступит код единицы. Мультиплексор 7 скоммутирует свой первый вход, подключенный к 2о разряду регистра 1 в результате чего на выходе мультиплексора 7 окажется логический потенциал, записанный в 2о разряде регистра 1, который поступит на вход элемента 10 И. К этому же времени с выхода элемента 11 ИЛИ, через элемент задержки 12, на другой вход элемента 10 И поступит единичный потенциал. Одновременно, на информационный вход накапливающего сумматора 4 поступит частичный остаток от 2о=1 с выхода регистра 2. Если коэффициент ао числа Аk равен единице, то на выходе элемента 10 И появится импульс, который поступит на вход записи накапливающего сумматора 4 и осуществит запоминание частичного остатка от 2о. Если же коэффициент ао=0, то такой импульс на вход записи накапливающего сумматора 4 не поступит и запоминания частичного остатка от 2о не произойдет.The start of operation of the device is determined by the moment of supplying to its input 15 unit potential. This potential sets the trigger 8 to a single state, writes a unit to the low order of
Как только в регистр 2 будет записана единица, параллельно с вышеописанной работой устройства, осуществляется формирование частичного остатка в блоке 3. Причем, выходы регистра 2 соединены со входами блока 3 со сдвигом на один разряд влево, т.е. число на его входах всегда в 2 раза больше числа, записанного в регистре 2. Поэтому блок 3 формирует частичный остаток по модулю Pi от числа 21.As soon as a unit is recorded in
Далее работа устройства осуществляется следующим образом. Через открытый элемент 9 И на вход записи регистра 2 с выхода генератора 5 поступают тактовые импульсы. Эти же импульсы поступают на счетный вход счетчика 6 и на вход элемента 11 ИЛИ. Период тактовых импульсов превышает сумму времени распространения сигнала через элементы 11 ИЛИ, 10 И задержки 12 и время записи в регистр 20 накапливающего сумматора 4. По каждому тактовому импульсу осуществляется запись очередного частичного остатка в регистр 2, увеличение содержимого счетчика 6 на единицу, накапливающее суммирование частичного остатка по модулю Рi, записанного в регистре 2, в случае равенства соответствующего коэффициента аi, в представлении числа Аk, единице. После того, как будет сформирован самый старший частичный остаток и в зависимости от значения самого старшего коэффициента ai произойдет или не произойдет его накапливающее суммирование в накапливающем сумматоре 4, счетчик 6 выдаст на свой выход переполнения импульс (объем счетчика 6 равен количеству разрядов регистра 1, а количество разрядов регистра 1 равно количеству разрядов регистра 2), который обнулит триггер 8 и поступит на выход 17 окончания работы устройства, свидетельствуя о том, что формирование остатка от числа Аk по модулю Рi закончено. При этом на вход 13 устройства может быть подано другое число, от которого необходимо сформировать остаток, а на входе 14 может быть сменен модуль.Further, the operation of the device is as follows. Through the open element 9 And the input of the
Накапливающий сумматор 4 по модулю (см. фиг. 2) работает следующим образом. Сумматор 18 суммирует коды чисел, поступающие на его входы. Причем одно число поступает извне, а второе с выходов регистра 20. Блок 19 формирования частичных остатков осуществляет формирование остатка по модулю Рi от числа, поступающего с выходов сумматора 18. Результат с выхода блока 19 записывается в регистр 20 под воздействием импульса на его вход записи. Таким образом, в регистре 20 всегда записано число, не превышающее величину модуля Рi и равное сумме всех чисел, поступивших на вход блока 4 и стробируемых импульсом записи.The accumulating adder 4 modulo (see Fig. 2) works as follows. The
Блоки формирования 19 и 3 частичных остатков (см. фиг. 3) работают следующим образом. Сумматор 21 совместно с элементом НЕ 24 выполняют функцию вычитания модуля из числа, от которого необходимо сформировать частичный остаток. Если разность меньше нуля, то сумматор 22 добавляет к этой разности код модуля (т.е. входное число было меньше модуля), если же разность больше нуля, то ключ 25 оказывается закрытым и эта разность поступает без изменения через сумматор 22 блока. Таким образом, на выходе блока формирования частичных остатков будет сформирован остаток от числа, воздействующего на его входы по модулю Рi.Blocks forming 19 and 3 of partial residues (see Fig. 3) work as follows. The
Claims (3)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
SU4935610 RU2023346C1 (en) | 1991-05-12 | 1991-05-12 | Device for formation of remainder by optional modulus of number |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
SU4935610 RU2023346C1 (en) | 1991-05-12 | 1991-05-12 | Device for formation of remainder by optional modulus of number |
Publications (1)
Publication Number | Publication Date |
---|---|
RU2023346C1 true RU2023346C1 (en) | 1994-11-15 |
Family
ID=21574182
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
SU4935610 RU2023346C1 (en) | 1991-05-12 | 1991-05-12 | Device for formation of remainder by optional modulus of number |
Country Status (1)
Country | Link |
---|---|
RU (1) | RU2023346C1 (en) |
-
1991
- 1991-05-12 RU SU4935610 patent/RU2023346C1/en active
Non-Patent Citations (2)
Title |
---|
1. Авторское свидетельство СССР N 1633495, кл. H 03M 7/18, 1991. * |
2. Авторское свидетельство СССР N 1658388, кл. H 03M 7/18, 1991. * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2023346C1 (en) | Device for formation of remainder by optional modulus of number | |
RU2661797C1 (en) | Computing device | |
RU2020759C1 (en) | Device for forming remainder for random module of number | |
RU2804380C1 (en) | Pipeline calculator | |
RU2029434C1 (en) | Device for formation of remainder by arbitrary modulus of number | |
SU1472901A1 (en) | Function generator | |
RU2760927C1 (en) | Device for forming the remainder of an arbitrary modulus of the number | |
RU1837401C (en) | Device for forming arbitrary modulo residue | |
RU2755734C1 (en) | Apparatus for multiplying numbers by an arbitrary modulus | |
SU1140115A1 (en) | Device for calculating value of polynominal of degree n | |
RU2024924C1 (en) | Device for forming arbitrary modulo residue | |
RU2007036C1 (en) | Device which produces members of multiplicative groups of galois fields gf(p) | |
RU1815635C (en) | Device for taking antilogarithms | |
SU696453A1 (en) | Multiplier | |
SU1008749A1 (en) | Computing device | |
RU2007037C1 (en) | Recurrent generator of remainders of arbitrary modulo | |
SU1166134A1 (en) | Walsh function generator | |
SU744564A1 (en) | Dividing device | |
RU2028661C1 (en) | Function calculator | |
SU1665387A1 (en) | Device for calculation of interval correlation function | |
SU1156069A1 (en) | Device for scaling digital differential analyser | |
SU1444817A1 (en) | Device for computing walsh coefficients | |
SU1617437A1 (en) | Device for dividing binary numbers | |
RU2011220C1 (en) | Device for determination of duration of computing experiment which runs on computer | |
SU1171774A1 (en) | Function generator |