JP4643951B2 - CONVERTING DEVICE AND CONVERTING METHOD FOR CONVERTING RESIDUAL CONVERSION NUMBER TO BINARY NUMBER - Google Patents

CONVERTING DEVICE AND CONVERTING METHOD FOR CONVERTING RESIDUAL CONVERSION NUMBER TO BINARY NUMBER Download PDF

Info

Publication number
JP4643951B2
JP4643951B2 JP2004249153A JP2004249153A JP4643951B2 JP 4643951 B2 JP4643951 B2 JP 4643951B2 JP 2004249153 A JP2004249153 A JP 2004249153A JP 2004249153 A JP2004249153 A JP 2004249153A JP 4643951 B2 JP4643951 B2 JP 4643951B2
Authority
JP
Japan
Prior art keywords
modulus
bit string
partial
value
bits
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2004249153A
Other languages
Japanese (ja)
Other versions
JP2006065116A (en
Inventor
和幸 丸尾
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Advantest Corp
Original Assignee
Advantest Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Advantest Corp filed Critical Advantest Corp
Priority to JP2004249153A priority Critical patent/JP4643951B2/en
Publication of JP2006065116A publication Critical patent/JP2006065116A/en
Application granted granted Critical
Publication of JP4643951B2 publication Critical patent/JP4643951B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

本発明は、剰余系の被変換数を2進数に変換する変換装置及び変換方法に関する。特に本発明は、少ないハードウェア量で高速に変換を行う剰余系の被変換数を2進数に変換する変換装置及び変換方法に関する。   The present invention relates to a conversion apparatus and a conversion method for converting a converted number of a residue system into a binary number. In particular, the present invention relates to a conversion apparatus and a conversion method for converting a residue conversion number that performs high-speed conversion with a small amount of hardware into a binary number.

従来、ディジタル回路による数値演算は、2進数にもとづく論理回路により実現されている。また近年、剰余系(Residue Number System; RNS)による数値演算方法が提案されている(非特許文献1)。剰余系による加算、減算、及び乗算は、次に述べる理由により、従来の2進数による演算よりも高速に計算できることが知られている。   Conventionally, a numerical operation by a digital circuit is realized by a logic circuit based on a binary number. In recent years, a numerical calculation method using a residue number system (RNS) has been proposed (Non-Patent Document 1). It is known that addition, subtraction, and multiplication by a residue system can be performed at a higher speed than conventional binary arithmetic operations for the following reason.

2進数での加算は、各ビットの演算から桁上がり(キャリー)信号が生じ、さらにLSB側からMSB側に伝播する。このため、(i-1)番目のビットのキャリーが到達するまで。i番目の桁の計算結果は決定できない。したがって、演算対象となるオペランドのビット数に比例して遅延量は大きくなる。一方、剰余系による演算は、各剰余桁で独立して並列に計算することができ、計算速度が計算ビット数に依存しないため、高速化することができる。   In addition in binary numbers, a carry signal is generated from the operation of each bit and further propagates from the LSB side to the MSB side. For this reason, until the carry of the (i-1) th bit arrives. The calculation result of the i-th digit cannot be determined. Therefore, the amount of delay increases in proportion to the number of bits of the operand to be operated. On the other hand, computation by the residue system can be performed in parallel independently for each residue digit, and the computation speed does not depend on the number of computation bits, so that it can be speeded up.

剰余系では1つの数値Xを、N個の剰余数(剰余値)の組み合わせで表現する。   In the remainder system, one numerical value X is expressed by a combination of N remainder numbers (residue values).

Figure 0004643951
Figure 0004643951

式(1−1)においてxi = X mod mi(xi = |X|miとも表現する)であり、Xをi番目のモジュラス(modulus:法)miで割った剰余 (Residue)である。また,xiを剰余桁(Residue Digit) 、又は、モジュラスmiによる剰余値ともよぶ。ここで、modはmoduloの略であり、以下の式(1−2)が成立することを意味する。 Equation (1-1) x i = X mod m i in a (x i = | | X mi also expressed), X i-th modulus: in (modulus modulus) modulo divided by m i (Residue) is there. Further, the remainder digits of x i (Residue Digit), or, also referred to as a remainder value by the modulus m i. Here, mod is an abbreviation for modulo, and means that the following equation (1-2) is established.

Figure 0004643951
Figure 0004643951

ここでpはXをmiで割った商である。このときXとxiはモジュラスmiについて合同(congruent)であるといい、合同式(congruence)をもちいて以下の式により表現してもよい。 Where p is the quotient obtained by dividing the X in the m i. This time is called the X and x i are congruent (congruent) for modulus m i, may be expressed by the following equation using a congruence (congruence).

Figure 0004643951
Figure 0004643951

N個のモジュラスmi(i = 0,1,2,…,N-1)が互いに素(relatively prime)であるとき、以下に示す範囲のすべての数値Xを、N個の剰余数の一意的組み合わせで表現することができる。このとき、{m0, m1, m2, …, mN-1}をモジュラスセットとよぶ。 When N moduli m i (i = 0,1,2, ..., N-1) are relatively prime, all numerical values X in the range shown below are uniquely assigned to N remainder numbers. Can be expressed in a specific combination. At this time, {m 0 , m 1 , m 2 ,..., M N−1 } is called a modulus set.

Figure 0004643951
Figure 0004643951

例として、モジュラスセット{m0, m1, m2, m3}= {8,7,5,3}をもちいた剰余表現を考えると、この剰余系では M = 8×7×5×3 = 840個の整数を表現することができる。例えば、(0,0,0,0)RNS は 0 または 840 または 1680…、(1,1,1,1)RNS は 1 または 841 または 1681…、(0,1,3,2)RNS は 8 または 848 または 1688…、(0,1,4,1)RNS は 64 または 904 または 1744…、となる。そしてモジュラス セット{8,7,5,3}の場合、各剰余桁を表現するために必要となるビット数は、 [3bit, 3bit, 3bit, 2bit ] = 11bitである。 As an example, consider the remainder representation using the modulus set {m 0 , m 1 , m 2 , m 3 } = {8,7,5,3}. In this remainder system, M = 8 × 7 × 5 × 3 = 840 integers can be represented. For example, (0,0,0,0) RNS is 0 or 840 or 1680 ..., (1,1,1,1) RNS is 1 or 841 or 1681 ..., (0,1,3,2) RNS is 8 Or 848 or 1688 ..., (0,1,4,1) RNS is 64 or 904 or 1744 ... In the case of the modulus set {8, 7, 5, 3}, the number of bits necessary to express each remainder digit is [3 bits, 3 bits, 3 bits, 2 bits] = 11 bits.

剰余系においては、加算、減算、乗算について、各剰余桁同士を独立に演算することにより実現することができ、剰余桁間の情報の伝播は不要である。すなわち、次に示す定理が成立する。   In the remainder system, addition, subtraction, and multiplication can be realized by independently calculating each remainder digit, and propagation of information between the remainder digits is not necessary. That is, the following theorem holds.

(剰余系加減乗算の定理)
演算子「〇」を加算、減算、又は乗算を表現する演算子とし、剰余系のモジュラスを{m0,m1,…,mN-1}、オペランドをA= (a0,a1,a2,...,aN-1)、B= (b0,b1,b2,...,bN-1)とすると、Z=A〇Bは、オペランドの各モジュラスに対する剰余桁同士の演算により実現できる。
(Theoretical addition and subtraction theorem)
The operator “◯” is an operator expressing addition, subtraction, or multiplication, the modulus of the remainder system is {m 0 , m 1 ,..., M N-1 }, and the operand is A = (a 0 , a 1 , a 2 , ..., a N-1 ), B = (b 0 , b 1 , b 2 , ..., b N-1 ), Z = A〇B is the remainder for each modulus of the operand This can be realized by calculating between digits.

Figure 0004643951
Figure 0004643951

ここで、左辺はYのmiによる剰余値である。また、式(1−5)による演算を剰余加算、剰余減算、又は剰余乗算とよぶ。剰余系加減乗算の定理は、以下に示すように証明される。 Here, the left side is the remainder value by m i of Y. In addition, the calculation according to the expression (1-5) is referred to as residue addition, residue subtraction, or residue multiplication. The theorem of remainder addition / subtraction multiplication is proved as shown below.

(剰余系加減乗算の定理の証明)
剰余系の数値表現の定義から、以下の式(1−6)が成立する。
(Proof of the theorem of remainder addition and subtraction)
From the definition of the numerical expression of the residue system, the following expression (1-6) is established.

Figure 0004643951
Figure 0004643951

ここで、piはAをモジュラスmiで割った商であり、qiはBをモジュラスmiで割った商である。 Here, p i is the quotient obtained by dividing A by modulus m i, q i is the quotient obtained by dividing B by the modulus m i.

加減算においては、以下の式(1−7)が成立する。   In addition / subtraction, the following formula (1-7) is established.

Figure 0004643951
Figure 0004643951

ここで、(pi+qi)mi≡0より、以下の式(1−8)が成立する。 Here, from (p i + q i ) m i ≡0, the following expression (1-8) is established.

Figure 0004643951
Figure 0004643951

一方、乗算においては、以下の式(1−9)が成立する。   On the other hand, in the multiplication, the following expression (1-9) is established.

Figure 0004643951
Figure 0004643951

ここで、(piqimi+pibi+qiai)mi≡0より、以下の式(1−10)が成立する。 Here, from (p i q i m i + p i b i + q i a i ) m i ≡0, the following expression (1-10) is established.

Figure 0004643951
Figure 0004643951

上記の式(1−8)及び式(1−10)から、A及びBの各剰余桁同士の演算により、Yの各剰余桁を算出できることが分かる。したがって、式(1−5)の定理が成立することが証明される。   From the above formulas (1-8) and (1-10), it can be seen that each remainder digit of Y can be calculated by computing each remainder digit of A and B. Therefore, it is proved that the theorem of the equation (1-5) holds.

剰余系加減乗算の定理より、剰余系での加減乗算は、入力される2つのオペランドA及びBと、出力される演算結果Yの対応する剰余桁毎に、当該剰余桁についての演算を行う剰余演算ALU(Arithmetic Logic Unit)を設けることにより実現することができる。そして、ある剰余桁の計算は、他の剰余桁の計算と独立に行うことができる。各剰余桁に対応する剰余演算ALUでの演算においては、キャリー伝搬による遅延が当該剰余桁のビット数分に限定できるため、より高速に計算することができる。   According to the residue system addition / subtraction theorem, the addition / subtraction multiplication in the residue system is a residue that performs an operation on the corresponding residue digit for each of the two operand digits A and B that are input and the corresponding operation result Y that is output. This can be realized by providing an arithmetic ALU (Arithmetic Logic Unit). And the calculation of a certain remainder digit can be performed independently of the calculation of other remainder digits. In the calculation in the remainder calculation ALU corresponding to each remainder digit, the delay due to carry propagation can be limited to the number of bits of the remainder digit, so that the calculation can be performed at higher speed.

剰余系を用いて数値演算を高速化するためには、2進数系又は10進数系から剰余系への変換(Binary-to-Residue (B/R) converter)、および剰余系から2進数系又は10進数系への変換(Residue-to-Binary (R/B) converter)が必要である。B/R converterは比較的簡単に実現でき、R/B converterを実現する方法はいくつか検討されている。   In order to speed up the numerical operation using the residue system, the binary system or the decimal system is converted to the residue system (Binary-to-Residue (B / R) converter), and the residue system is converted to the binary system or A conversion to a decimal system (Residue-to-Binary (R / B) converter) is required. The B / R converter can be realized relatively easily, and several methods for realizing the R / B converter have been studied.

R/B converterとしては、中国人の剰余定理(Chinese Remainder Theorem)を用いるものが一般的である。モジュラスセットが{m0,m1,m2,m3}={8,7,5,3}の場合において、Y = (y0,y1,y2,y3)=(5,3,4,2)を10進数に変換する場合を例に示す。
(5,3,4,2)は、式(1−5)に示した剰余系加減乗算の定理から以下の式(1−11)に示すように変形でき、更に式(1−12)を得ることができる。
As an R / B converter, one using the Chinese Remainder Theorem is common. When the modulus set is {m 0 , m 1 , m 2 , m 3 } = {8,7,5,3}, Y = (y 0 , y 1 , y 2 , y 3 ) = (5,3 , 4,2) is converted to a decimal number as an example.
(5,3,4,2) can be modified as shown in the following formula (1-11) from the remainder system addition / subtraction theorem shown in formula (1-5), and formula (1-12) Obtainable.

Figure 0004643951
Figure 0004643951

Figure 0004643951
Figure 0004643951

このように、(1,0,0,0) , (0,1,0,0), (0,0,1,0), (0,0,0,1)に対応する10進数表現を予め求めておけば、以下の式(1−13)を用いて任意の剰余表現(y0,y1,y2,y3)を10進数表現に変換できる。 Thus, the decimal representation corresponding to (1,0,0,0), (0,1,0,0), (0,0,1,0), (0,0,0,1) If it is obtained in advance, an arbitrary remainder expression (y 0 , y 1 , y 2 , y 3 ) can be converted into a decimal number expression using the following equation (1-13).

Figure 0004643951
Figure 0004643951

ここで、(1,0,0,0)は、モジュラス8(=m0)に対する剰余が1、かつ、モジュラスのサブセット{7,5,3}={m1,m2,m3}に対する剰余が0である数値である。後者の条件は、m1, m2, m3の最小公倍数であることを条件として(1,0,0,0)を算出すれば満たすことができる。これらの条件は、以下の式(1−14)により表すことができる。 Here, (1,0,0,0) is the remainder for the modulus 8 (= m 0 ) and the modulus subset {7,5,3} = {m 1 , m 2 , m 3 } It is a numerical value whose remainder is 0. The latter condition can be satisfied by calculating (1,0,0,0) on condition that it is the least common multiple of m 1 , m 2 , and m 3 . These conditions can be represented by the following formula (1-14).

Figure 0004643951
Figure 0004643951

ここでβ0は自然数である。そして、m1,m2,m3が互いに素であれば、式(1−4)よりa)及びb)の条件は以下の式(1−15)に書き換えることができる。 Here, β0 is a natural number. If m 1 , m 2 , and m 3 are relatively prime, the conditions a) and b) can be rewritten to the following expression (1-15) from the expression (1-4).

Figure 0004643951
Figure 0004643951

上記の自然数β0を求めることにより、(1,0,0,0)の10進数表現を求めることができる。以下に、{8,7,5,3}剰余系について(1,0,0,0) , (0,1,0,0), (0,0,1,0), (0,0,0,1)の10進数表現を示す。 By obtaining the above natural number β 0 , a decimal number representation of (1,0,0,0) can be obtained. The following is (1,0,0,0), (0,1,0,0), (0,0,1,0), (0,0, Indicates the decimal representation of (0,1).

Figure 0004643951
Figure 0004643951

式(1−16)から、{8,7,5,3}剰余系で表現された数値(5,3,4,2)の10進数への変換は、5×105 + 3×120 + 4×336 + 2×280 = 2117となる。ただし、この剰余系で表現できる数値は0≦Y<M=840であるため、Y =|2117|M = 437となる。 The conversion of the numerical value (5,3,4,2) expressed in the {8,7,5,3} residue system into the decimal number from the expression (1-16) is 5 × 105 + 3 × 120 + 4. × 336 + 2 × 280 = 2117 However, since the numerical value that can be expressed in this remainder system is 0 ≦ Y <M = 840, Y = | 2117 | M = 437.

一般に,中国人の剰余定理は次式で導かれる。   In general, the Chinese remainder theorem is given by

Figure 0004643951
Figure 0004643951

ここで、βi・(M/mi)を、中国人の剰余定理における逆数(multiplicative inverse)(以後単に「逆数」)と呼ぶ。 Here, β i · (M / m i ) is called a multiplicative inverse (hereinafter simply “inverse”) in the Chinese remainder theorem.

中国人の剰余定理をそのまま用いる場合、式(1−17)に示すように、各剰余桁yiと定数βi・(M/mi)との乗算を行う必要があり、計算時間を要する。このため、剰余系で乗算するメリット(計算速度向上)を著しく損なう。 When the Chinese remainder theorem is used as it is, it is necessary to multiply each remainder digit y i by a constant β i · (M / m i ) as shown in the equation (1-17), which requires calculation time. . For this reason, the merit (computation speed improvement) of multiplying by a remainder system is remarkably impaired.

この問題に対して、特定のモジュラスセットを選択することにより、小規模な回路を用いて高速に中国人の剰余定理の計算を行う方法が開示されている(非特許文献2参照。)。   In order to solve this problem, a method of calculating a Chinese remainder theorem at high speed using a small circuit by selecting a specific modulus set has been disclosed (see Non-Patent Document 2).

非特許文献2においては、モジュラスセットをつぎのように定義する。

Figure 0004643951
In Non-Patent Document 2, the modulus set is defined as follows.
Figure 0004643951

ただしkは0以上の整数、pは自然数である。たとえばp=3, k=1のとき、Sk = {7, 9, 65}となる。式(1−4)から、式(1−18)の剰余系で表現できる数値の個数Mは以下の式(1−19) となる。

Figure 0004643951
However, k is an integer greater than or equal to 0, p is a natural number. For example, when p = 3 and k = 1, S k = {7, 9, 65}. From Expression (1-4), the number M of numerical values that can be expressed by the remainder system of Expression (1-18) is expressed by Expression (1-19) below.
Figure 0004643951

モジュラスセットSkにたいして中国人の剰余定理を適用するために、式(1−14)のb)の条件を満たすβiを求め、逆数を定める。 In order to apply the Chinese remainder theorem to the modulus set S k, β i satisfying the condition of b) in equation (1-14) is obtained, and the reciprocal is determined.

(1)m0(=2p-1) について
式(1−4)及び式(1−18)から、以下の式(1−20)をえる。

Figure 0004643951
(1) About m 0 (= 2 p −1) From the expressions (1-4) and (1-18), the following expression (1-20) is obtained.
Figure 0004643951

ここで、式(1−18)から2p mod m0=1となるため、式(1−20)は、以下の式(1−21)に変形することができる。

Figure 0004643951
Here, since 2 p mod m 0 = 1 from the expression (1-18), the expression (1-20) can be transformed into the following expression (1-21).
Figure 0004643951

さらに、式(1−14)のa)の条件を適用すると、式(1−21)は、以下の式(1−22)に変形することができる。

Figure 0004643951
Furthermore, when the condition of a) in the formula (1-14) is applied, the formula (1-21) can be transformed into the following formula (1-22).
Figure 0004643951

したがって、式(1−18)のモジュラスセットを用いた場合、以下の式(1−23)が成立する。

Figure 0004643951
Therefore, when the modulus set of Expression (1-18) is used, the following Expression (1-23) is established.
Figure 0004643951

(2)mi(=2^(2i-1p)+1、ただしi>0)について
式(1−14)のb)の条件、及び式(1−18)より、以下の式(1−24)が成立する。

Figure 0004643951
(2) m i (= 2 ^ (2 i-1 p) +1, where i> 0) From the condition of b) in equation (1-14) and equation (1-18), 1-24) is established.
Figure 0004643951

ここで、式(1−24)のAの部分は、以下の式(1−25)となる。

Figure 0004643951
この変形においては、式(1−18)により導かれる式2^(2i-1p) mod mi = -1をもちいた。 Here, the part A in the formula (1-24) is represented by the following formula (1-25).
Figure 0004643951
In this modification, the formula 2 ^ (2 i-1 p) mod m i = -1 derived from the formula (1-18) was used.

一方、式(1−24)のBの部分は、以下の式(1−26)となる。

Figure 0004643951
On the other hand, the portion B in the formula (1-24) is represented by the following formula (1-26).
Figure 0004643951

したがって、式(1−24)は、式(1−25)及び(1−26)により、以下の式(1−27)に変形することができる。

Figure 0004643951
Therefore, Formula (1-24) can be transformed into the following Formula (1-27) by Formulas (1-25) and (1-26).
Figure 0004643951

式(1−27)が1と合同であれば、式(1−14)のa)の条件と式(1−18)とを満たす。したがって、βi(-2k-i+2) ≡ 1 mod miをβiについて解くと、以下の式(1−28)をえる。

Figure 0004643951
If the formula (1-27) is congruent with 1, the condition of the formula (1-14) a) and the formula (1-18) are satisfied. Therefore, when β i (−2 k−i + 2 ) ≡1 mod m i is solved for β i , the following equation (1-28) is obtained.
Figure 0004643951

以上に示した式(1−23)及び(1−28)を式(1−17)に代入することにより、式(1−18)に示したモジュラスセットに対する中国人の剰余定理は、以下の式(1−29)となる。

Figure 0004643951
By substituting Equations (1-23) and (1-28) shown above into Equation (1-17), the Chinese remainder theorem for the modulus set shown in Equation (1-18) is Equation (1-29) is obtained.
Figure 0004643951

次に、Sk ={m0, m1, m2} = {7, 9, 65}として、式(1−29)の具体的な計算例を示す。
本例においては、k=1であるから、式(1−29)は、以下の式(1−30)となる。

Figure 0004643951
Next, a specific calculation example of Expression (1-29) is shown as S k = {m 0 , m 1 , m 2 } = {7, 9, 65}.
In this example, since k = 1, the expression (1-29) becomes the following expression (1-30).
Figure 0004643951

式(1−30)を展開して整理すると、式(1−31)がえられる。

Figure 0004643951
When formula (1-30) is expanded and arranged, formula (1-31) is obtained.
Figure 0004643951

式(1−31)の各項の逆数は全て2のべき乗であるから、2進数のビットシフト演算で実現できる。これより、式(1−31)の各項は、y0とy1の加減算とy2の加減算のみで計算可能である。k ≧ 2のときも、式(1−31)と同様の変形が可能である。したがって、非特許文献2の技術を利用することにより、従来乗算と加算が必要であった中国人の剰余定理の計算を加減算のみで実現することができる。この結果、中国人の剰余定理をハードウェアでインプリメントした場合に回路面積を小さくすることができ、かつ計算時間を短縮することができる。
B. Parhami, Computer Arithmetic, Oxford University Press, 2000年, pp. 54-72 W. Wang, M. N. S. Swamy, M.O. Ahmad, Y. Wang, "A Parallel Residue-to-Binary Converter," in Proc. IEEE Inte. Conf. Acoustics, Speech, ad Signal Processing, Phenix, AZ, 1999年3月, pp.1541-1544
Since the reciprocal number of each term in the formula (1-31) is a power of 2, it can be realized by a binary bit shift operation. From this, each term of Formula (1-31) can be calculated only by addition / subtraction of y 0 and y 1 and addition / subtraction of y 2 . Even when k ≧ 2, the same modification as that of the expression (1-31) is possible. Therefore, by using the technique of Non-Patent Document 2, the calculation of the Chinese remainder theorem, which conventionally required multiplication and addition, can be realized only by addition and subtraction. As a result, when the Chinese remainder theorem is implemented in hardware, the circuit area can be reduced and the calculation time can be shortened.
B. Parhami, Computer Arithmetic, Oxford University Press, 2000, pp. 54-72 W. Wang, MNS Swamy, MO Ahmad, Y. Wang, "A Parallel Residue-to-Binary Converter," in Proc. IEEE Inte. Conf. Acoustics, Speech, ad Signal Processing, Phenix, AZ, March 1999, pp.1541-1544

非特許文献2においては、式(1−31)の計算に、約4・2kpkビットの加算器及び/又は減算器が必要となる。たとえばk=1, p=3のとき、(y0 + y1)と(y0−y1)の演算にそれぞれpビットの加算器が必要となり、y2の加算には4・2kpビットの加算器が必要となる。そして、この加算を(モジュラス数−1)回(= k回)繰り返すので、合計で約4・2kpビット分の加算器が必要となる。 In Non-Patent Document 2, an adder and / or subtracter of about 4 · 2 k pk bits is required for the calculation of Equation (1-31). For example, when k = 1 and p = 3, a p-bit adder is required for the calculation of (y 0 + y 1 ) and (y 0 −y 1 ), and 4 · 2 k p is required to add y 2 A bit adder is required. Since this addition is repeated (modulus number-1) times (= k times), a total of about 4.2k p bits of adders are required.

そこで本発明は、上記の課題を解決することのできる変換装置及び変換方法を提供することを目的とする。この目的は特許請求の範囲における独立項に記載の特徴の組み合わせにより達成される。また従属項は本発明の更なる有利な具体例を規定する。   Therefore, an object of the present invention is to provide a conversion device and a conversion method that can solve the above-described problems. This object is achieved by a combination of features described in the independent claims. The dependent claims define further advantageous specific examples of the present invention.

本発明の第1の形態によると、剰余系により表現された被変換数を2進数に変換する変換装置であって、前記剰余系は、複数のモジュラスのそれぞれにより前記被変換数を割った複数の剰余値の組により、前記被変換数を表現するものであり、第1の前記モジュラスは、2を自然数によりべき乗した、当該第1モジュラスより小さい前記モジュラスの積より大きいべき乗値に、1を加えた値をとり、複数のモジュラスのそれぞれについて、当該モジュラスについての前記剰余値に当該モジュラス以外のモジュラスの積を乗じた値に基づく2進数の値である、当該モジュラスに対応するモジュラス対応変換値の、少なくとも一部に含まれる部分ビット列を生成する部分ビット列生成部と、前記複数のモジュラスのそれぞれについての前記部分ビット列に基づいて、前記複数のモジュラスのそれぞれについての前記モジュラス対応変換値を加算した2進数の前記被変換数を算出するモジュラス対応変換値加算部とを備え、前記モジュラス対応変換値加算部は、前記第1モジュラスより小さい少なくとも1つの前記モジュラスに対応する前記モジュラス対応変換値の和である第1部分和の一部に含まれる予め定められたビット数の下位ビット列を、当該下位ビット列より上位桁の上位ビット列として複製し、同一の上位ビット列及び下位ビット列を含む被加算数を生成する下位ビット列複製部と、前記被加算数に、前記第1モジュラスに対応する前記部分ビット列を加算して、前記第1部分和に前記第1モジュラスについての前記モジュラス対応変換値を加えた第2部分和の少なくとも一部に含まれる下位ビット列を算出するビット列加算部とを有する変換装置を提供する。   According to the first aspect of the present invention, there is provided a conversion device that converts a number to be converted expressed by a residue system into a binary number, wherein the residue system is a plurality obtained by dividing the number to be converted by each of a plurality of moduli. The converted number is expressed by a set of remainder values of the following: the first modulus is a power value greater than the product of the modulus less than the first modulus, which is a power of 2 by a natural number, and 1 For each of a plurality of moduli, a conversion value corresponding to a modulus corresponding to the modulus, which is a binary value based on a value obtained by multiplying the remainder of the modulus by a product of a modulus other than the modulus. A partial bit string generation unit that generates a partial bit string included in at least a part of the plurality of moduli, A conversion value addition unit corresponding to a modulus for calculating the binary converted number obtained by adding the conversion values corresponding to the moduli for each of the plurality of moduli, and the conversion value addition unit corresponding to the modulus A lower-order bit string of a predetermined number of bits included in a part of the first partial sum that is the sum of the modulus-corresponding conversion values corresponding to at least one of the moduli smaller than the first modulus is higher than the lower-order bit string A lower bit string duplicating unit that replicates as an upper bit string of digits and generates an added number including the same upper bit string and lower bit string, and adds the partial bit string corresponding to the first modulus to the added number; At least one of the second partial sums obtained by adding the modulus corresponding conversion value for the first modulus to the first partial sum. Which provides a conversion device having a bit sequence adder for calculating a low-order bit string included in.

最小の前記モジュラスは、2の自然数によるべき乗値から1を減じた2以上の自然数であり、前記複数のモジュラスのうち最小でない前記モジュラスのそれぞれは、2を自然数によりべき乗した、当該モジュラスより小さい前記モジュラスの積より大きいべき乗値に、1を加えた値をとり、前記下位ビット列複製部は、前記複数のモジュラスのうち最小でない前記モジュラスのそれぞれについて、当該モジュラスより小さい全ての前記モジュラスに対応する前記モジュラス対応変換値の和である前記第1部分和の一部に含まれる予め定められたビット数の下位ビット列を、当該下位ビット列より上位桁の上位ビット列として複製して、当該モジュラスについての前記被加算数を生成し、前記ビット列加算部は、前記複数のモジュラスのうち最小でない前記モジュラスのそれぞれについて、当該モジュラスについての前記被加算数に、当該モジュラスに対応する前記部分ビット列を加算して、前記第1部分和に当該モジュラスについての前記モジュラス対応変換値を加えた前記第2部分和の少なくとも一部に含まれる下位ビット列を算出してもよい。   The minimum modulus is a natural number of 2 or more obtained by subtracting 1 from a power value of a natural number of 2, and each of the non-minimum moduli of the plurality of moduli is smaller than the modulus that is a power of 2 by a natural number. A value obtained by adding 1 to a power value greater than the product of the moduli, and the lower bit string duplicating unit, for each of the non-minimum moduli of the plurality of moduli, corresponds to all the moduli smaller than the moduli. A lower bit string having a predetermined number of bits included in a part of the first partial sum, which is the sum of the conversion values corresponding to the modulus, is copied as an upper bit string having a higher digit than the lower bit string, and the subject for the modulus is copied. An addition number is generated, and the bit string addition unit generates a maximum of the plurality of moduli. For each of the moduli that is not, the first bit obtained by adding the partial bit string corresponding to the modulus to the addend number for the modulus and adding the modulus corresponding conversion value for the modulus to the first partial sum. A lower bit string included in at least a part of the two-part sum may be calculated.

前記複数のモジュラスは、以下の数32に示す値をとり、前記下位ビット列複製部は、前記複数のモジュラスのうち最小でない前記モジュラスmi(i=1,…,k+1)のそれぞれについて、当該モジュラスmiより小さい全てのモジュラスに対応する前記モジュラス対応変換値の和である前記第1部分和におけるp・2i-1ビットの下位ビット列を、当該下位ビット列より上位桁のp・2i-1ビットの上位ビット列として複製して、p・2iビットの前記被加算数を生成し、前記ビット列加算部は、前記複数のモジュラスのうち最小でない前記モジュラスmi(i=1,…,k+1)のそれぞれについて、当該モジュラスmiについての前記被加算数に、当該モジュラスmiに対応する前記モジュラス対応変換値における下位p・2iビットの前記部分ビット列を加算して、前記第1部分和に当該モジュラスについての前記モジュラス対応変換値を加えた前記第2部分和におけるp・2iビットの下位ビット列を算出してもよい。

Figure 0004643951
ただし、kは0以上の整数であり、pは自然数である。 The plurality of moduli take the values shown in the following equation 32, and the lower bit string duplicating unit, for each of the non-minimum moduli m i (i = 1,..., K + 1) among the plurality of moduli, The lower bit string of p · 2 i−1 bits in the first partial sum, which is the sum of the modulus-corresponding conversion values corresponding to all moduli smaller than the modulus m i , is assigned to the upper digit p · 2 i of the lower bit string. -1 bit as a high-order bit string to generate the p · 2 i bit added number, and the bit string adding unit is configured to generate the non-minimum modulus m i (i = 1,... for k + 1) respectively, to said augend for the modulus m i, and adding the partial bit string of the lower p · 2 i bits in the modulus corresponding conversion value corresponding to the modulus m i, the first 1 copy The modulus corresponding conversion value for the modulus may be calculated lower bit string of p · 2 i bits in the second partial sum plus the sum.
Figure 0004643951
However, k is an integer greater than or equal to 0, and p is a natural number.

前記ビット列加算部は、前記第1モジュラスmi1について、p・2i1ビットの前記被加算数に、前記モジュラス対応変換値におけるp・2i1ビットの前記部分ビット列を加算するp・2i1ビットの加算器と、第2の前記モジュラスmi2について、p・2i2ビットの前記被加算数に、前記モジュラス対応変換値におけるp・2i2ビットの前記部分ビット列を加算するp・2i2ビットの加算器とを含んでもよい。 The bit string adding unit, for the first modulus m i1, said p · 2 i1 bit augend, the p · 2 i1 bits for adding the partial bit string of p · 2 i1 bits in the modulus corresponding conversion value an adder, a second of said modulus m i2, p · 2 i2 of bits of the in augend, the addition of p · 2 i2 bits for adding the partial bit string of p · 2 i2 bits in the modulus corresponding conversion value May also be included.

前記ビット列加算部は、前記加算により前記被加算数及び前記部分ビット列のビット数を越える桁あふれが生じた場合に、前記加算の結果得られたビット列における前記被加算数と同一ビット数の下位ビット列の下位ビットに、前記桁あふれしたビットを加えて前記第2部分和の下位ビット列を算出してもよい。   The bit string adding unit, when the addition causes an overflow exceeding the number of bits to be added and the number of bits of the partial bit string, a lower bit string having the same number of bits as the number to be added in the bit string obtained as a result of the addition The lower bit string of the second partial sum may be calculated by adding the bits overflowing to the lower bits of.

本発明の第2の形態によると、剰余系により表現された被変換数を2進数に変換する変換装置であって、前記剰余系は、複数のモジュラスのそれぞれにより前記被変換数を割った複数の剰余値の組により、前記被変換数を表現するものであり、第1の前記モジュラスは、2を自然数によりべき乗した、当該第1モジュラスより小さい前記モジュラスの積より大きいべき乗値に、1を加えた値をとり、複数のモジュラスのそれぞれについて、当該モジュラスについての前記剰余値に当該モジュラス以外のモジュラスの積を乗じた値に基づいて、当該モジュラスに対応する2進数の値であるモジュラス対応変換値を生成するモジュラス対応変換値生成部と、前記複数のモジュラスのそれぞれについての前記モジュラス対応変換値を加算して、2進数の前記被変換数を算出するモジュラス対応変換値加算部とを備え、前記モジュラス対応変換値生成部は、前記第1モジュラスより小さい第2モジュラスにより前記被変換数を割った剰余値のビット列に基づいて、当該第2モジュラスに対応する前記モジュラス対応変換値の一部となる部分ビット列を生成する部分ビット列生成部と、当該第2モジュラスに対応する前記モジュラス対応変換値の複数箇所に前記部分ビット列を複製することにより、前記部分ビット列に前記第1モジュラスを乗じた当該モジュラス対応変換値を生成する部分ビット列複製部とを有する変換装置を提供する。   According to a second aspect of the present invention, there is provided a conversion device for converting a converted number expressed by a residue system into a binary number, wherein the residue system is a plurality of divisions obtained by dividing the converted number by each of a plurality of moduli. The converted number is expressed by a set of remainder values of the following: the first modulus is a power value greater than the product of the modulus less than the first modulus, which is a power of 2 by a natural number, and 1 For each of a plurality of moduli, a modulus-corresponding conversion that is a binary value corresponding to the modulus based on a value obtained by multiplying the remainder of the modulus by a product of a modulus other than the modulus A modulus-corresponding conversion value generation unit for generating a value, and adding the modulus-corresponding conversion value for each of the plurality of moduli A modulus-corresponding conversion value adding unit that calculates the number of conversions, and the modulus-corresponding conversion value generation unit is based on a bit string of a remainder value obtained by dividing the conversion number by a second modulus smaller than the first modulus. A partial bit string generation unit that generates a partial bit string that is a part of the modulus-corresponding conversion value corresponding to the second modulus, and the partial bit string at a plurality of locations of the modulus-corresponding conversion value corresponding to the second modulus. There is provided a conversion device including a partial bit string duplicating unit that generates a conversion value corresponding to a modulus obtained by duplicating the partial bit string and the first modulus.

最小の前記モジュラスは、2の自然数によるべき乗値から1を減じた2以上の自然数であり、前記複数のモジュラスのうち最小でない前記モジュラスのそれぞれは、2を自然数によりべき乗した、当該モジュラスより小さい前記モジュラスの積より大きいべき乗値に、1を加えた値をとり、前記部分ビット列生成部は、複数のモジュラスのうち最小でない前記モジュラスのそれぞれについて、前記被変換数の当該モジュラスによる剰余値を当該モジュラスに対応する前記自然数分のビット数だけ上位桁側にシフトした値から当該剰余値を減じた前記部分ビット列を生成してもよい。   The minimum modulus is a natural number of 2 or more obtained by subtracting 1 from a power value of a natural number of 2, and each of the non-minimum moduli of the plurality of moduli is smaller than the modulus that is a power of 2 by a natural number. The partial bit string generation unit takes a value obtained by adding 1 to a power value greater than the product of the moduli, and for each non-minimum modulus among a plurality of moduli, the partial bit string generation unit calculates a remainder value by the moduli of the number to be converted. The partial bit string may be generated by subtracting the remainder value from the value shifted to the upper digit side by the number of bits corresponding to the natural number.

前記複数のモジュラスは、以下の数33に示す値をとり、前記部分ビット列生成部は、複数のモジュラスのうち最小でない前記モジュラスmi(i=1,…,k+1)のそれぞれについて、前記被変換数の当該モジュラスmiによる剰余値を2i-1・pビット分上位桁側へシフトした値から当該剰余値を減じた2i・pビットの前記部分ビット列を生成し、前記部分ビット列複製部は、複数のモジュラスのうち最小及び最大でない前記モジュラスmiのそれぞれについて、当該モジュラスmiに対応する前記モジュラス対応変換値の複数箇所に、前記部分ビット列を2i・pビット間隔で複製することにより、当該モジュラスmiに対応する前記モジュラス対応変換値を生成してもよい。

Figure 0004643951
ただし、kは0以上の整数であり、pは自然数である。 The plurality of moduli takes the values shown in the following Equation 33, and the partial bit string generation unit is configured to calculate the non-minimum moduli m i (i = 1,..., K + 1) among the plurality of moduli. Generating the partial bit string of 2 i · p bits by subtracting the remainder value from the value obtained by shifting the remainder value by the modulus m i of the number to be converted to the upper digit side by 2 i−1 · p bits, and generating the partial bit string replication section replicates for each of the moduli m i not the minimum and maximum of the plurality of modulus, at a plurality of locations of the modulus corresponding conversion value corresponding to the modulus m i, the partial bit string by 2 i · p bit interval by may generate the modulus corresponding conversion value corresponding to the modulus m i.
Figure 0004643951
However, k is an integer greater than or equal to 0, and p is a natural number.

前記モジュラス対応変換値生成部は、前記第1モジュラスmi1について、前記被変換数の前記第1モジュラスmi1による剰余値に基づいて、2i1・pビットの第1の前記部分ビット列を生成する第1の前記部分ビット列生成部と、前記第2モジュラスmi2について、前記被変換数の前記第1モジュラスmi2による剰余値に基づいて、2i2・pビットの第2の前記部分ビット列を生成する第2の前記部分ビット列生成部と、前記第1の部分ビット列を2i1・pビット間隔で複製することにより、当該モジュラスmi1に対応する前記モジュラス対応変換値を生成する第1の前記部分ビット列複製部と、前記第2の部分ビット列を2i2・pビット間隔で複製することにより、当該モジュラスmi2に対応する前記モジュラス対応変換値を生成する第2の前記部分ビット複製部とを有してもよい。 The modulus corresponding conversion value generating unit, for the first modulus m i1, on the basis of the remainder value by said first modulus m i1 of the number of conversions to generate a first of said partial bit string of the 2 i1 · p bits For the first partial bit string generation unit and the second modulus m i2 , a second partial bit string of 2 i2 · p bits is generated based on a remainder value of the number to be converted by the first modulus m i2 The second partial bit string generation unit that performs the first partial bit string to generate the modulus-corresponding conversion value corresponding to the modulus m i1 by duplicating the first partial bit string at intervals of 2 i1 · p bits. by duplicating the bit string replication unit, the second partial bit string by 2 i2 · p bit interval, a second of said partial bit double generating the modulus corresponding conversion value corresponding to the modulus m i2 It may have a part.

本発明の第3の形態によると、剰余系により表現された被変換数を変換装置により2進数に変換する変換方法であって、前記剰余系は、複数のモジュラスのそれぞれにより前記被変換数を割った複数の剰余値の組により、前記被変換数を表現するものであり、第1の前記モジュラスは、2を自然数によりべき乗した、当該第1モジュラスより小さい前記モジュラスの積より大きいべき乗値に、1を加えた値をとり、複数のモジュラスのそれぞれについて、当該モジュラスについての前記剰余値に当該モジュラス以外のモジュラスの積を乗じた値に基づく2進数の値である、当該モジュラスに対応するモジュラス対応変換値の、少なくとも一部に含まれる部分ビット列を生成する部分ビット列生成段階と、前記複数のモジュラスのそれぞれについての前記部分ビット列に基づいて、前記複数のモジュラスのそれぞれについての前記モジュラス対応変換値を加算した2進数の前記被変換数を算出するモジュラス対応変換値加算段階とを備え、前記モジュラス対応変換値加算段階は、前記第1モジュラスより小さい少なくとも1つの前記モジュラスに対応する前記モジュラス対応変換値の和である第1部分和の一部に含まれる予め定められたビット数の下位ビット列を、当該下位ビット列より上位桁の上位ビット列として複製し、同一の上位ビット列及び下位ビット列を含む被加算数を生成する下位ビット列複製段階と、前記被加算数に、前記第1モジュラスに対応する前記部分ビット列を加算して、前記第1部分和に前記第1モジュラスについての前記モジュラス対応変換値を加えた第2部分和の少なくとも一部に含まれる下位ビット列を算出するビット列加算段階とを有する変換方法を提供する。   According to a third aspect of the present invention, there is provided a conversion method for converting a converted number expressed by a residue system into a binary number by a conversion device, wherein the residue system converts the converted number by each of a plurality of moduli. The converted number is expressed by a set of a plurality of remainder values divided, and the first modulus is a power value larger than the product of the modulus less than the first modulus obtained by raising 2 by a natural number. A modulus corresponding to the modulus, which is a binary value based on a value obtained by adding 1 and multiplying the remainder of the modulus by a product of a modulus other than the modulus for each of a plurality of moduli A partial bit string generation stage for generating a partial bit string included in at least a part of the corresponding conversion value, and each of the plurality of moduli. A modulus-corresponding conversion value adding step of calculating a binary converted number by adding the modulus-corresponding conversion value for each of the plurality of moduli based on the partial bit string In the adding step, a lower-order bit string having a predetermined number of bits included in a part of a first partial sum that is a sum of the modulus-corresponding conversion values corresponding to at least one modulus smaller than the first modulus A lower bit string duplicating step for generating an added number including the same upper bit string and lower bit string as a higher bit string having a higher digit than the bit string, and adding the partial bit string corresponding to the first modulus to the added number Then, the first partial sum is added with the modulus corresponding conversion value for the first modulus. To provide a conversion method and a bit sequence summing calculating a low-order bit string included in at least part of the partial sums.

本発明の第4の形態によると、剰余系により表現された被変換数を変換装置2進数に変換する変換方法であって、前記剰余系は、複数のモジュラスのそれぞれにより前記被変換数を割った複数の剰余値の組により、前記被変換数を表現するものであり、第1の前記モジュラスは、2を自然数によりべき乗した、当該第1モジュラスより小さい前記モジュラスの積より大きいべき乗値に、1を加えた値をとり、複数のモジュラスのそれぞれについて、当該モジュラスについての前記剰余値に当該モジュラス以外のモジュラスの積を乗じた値に基づいて、当該モジュラスに対応する2進数の値であるモジュラス対応変換値を生成するモジュラス対応変換値生成段階と、前記複数のモジュラスのそれぞれについての前記モジュラス対応変換値を加算して、2進数の前記被変換数を算出するモジュラス対応変換値加算段階とを備え、前記モジュラス対応変換値生成段階は、前記第1モジュラスより小さい第2モジュラスにより前記被変換数を割った剰余値のビット列に基づいて、当該第2モジュラスに対応する前記モジュラス対応変換値の一部となる部分ビット列を生成する部分ビット列生成段階と、当該第2モジュラスに対応する前記モジュラス対応変換値の複数箇所に前記部分ビット列を複製することにより、前記部分ビット列に前記第1モジュラスを乗じた当該モジュラス対応変換値を生成する部分ビット列複製段階とを有する変換方法を提供する。   According to a fourth aspect of the present invention, there is provided a conversion method for converting a converted number represented by a residue system into a conversion device binary number, wherein the remainder system divides the converted number by each of a plurality of moduli. In addition, the converted number is expressed by a set of a plurality of residue values, and the first modulus is a power value larger than the product of the modulus less than the first modulus, which is a power of 2 by a natural number, 1 is added, and for each of a plurality of moduli, a modulus that is a binary value corresponding to the modulus based on a value obtained by multiplying the remainder of the modulus by a product of a modulus other than the modulus A modulus-corresponding conversion value generation stage for generating a corresponding conversion value, and adding the modulus-corresponding conversion values for each of the plurality of moduli A modulus-corresponding conversion value adding step for calculating the binary converted number, wherein the modulus-corresponding conversion value generating step divides the converted number by a second modulus smaller than the first modulus. A partial bit string generation stage for generating a partial bit string that becomes a part of the modulus-corresponding conversion value corresponding to the second modulus, and a plurality of places corresponding to the modulus-corresponding conversion value corresponding to the second modulus. There is provided a conversion method including a partial bit string duplication step of generating a conversion value corresponding to a modulus obtained by multiplying the partial bit string by the first modulus by duplicating the partial bit string.

本発明の第5の形態によると、剰余系により表現された被変換数をコンピュータにより2進数に変換するプログラムであって、前記剰余系は、複数のモジュラスのそれぞれにより前記被変換数を割った複数の剰余値の組により、前記被変換数を表現するものであり、第1の前記モジュラスは、2を自然数によりべき乗した、当該第1モジュラスより小さい前記モジュラスの積より大きいべき乗値に、1を加えた値をとり、当該プログラムは、前記コンピュータを、複数のモジュラスのそれぞれについて、当該モジュラスについての前記剰余値に当該モジュラス以外のモジュラスの積を乗じた値に基づく2進数の値である、当該モジュラスに対応するモジュラス対応変換値の、少なくとも一部に含まれる部分ビット列を生成する部分ビット列生成部と、前記複数のモジュラスのそれぞれについての前記部分ビット列に基づいて、前記複数のモジュラスのそれぞれについての前記モジュラス対応変換値を加算した2進数の前記被変換数を算出するモジュラス対応変換値加算部として機能させ、前記モジュラス対応変換値加算部は、前記第1モジュラスより小さい少なくとも1つの前記モジュラスに対応する前記モジュラス対応変換値の和である第1部分和の一部に含まれる予め定められたビット数の下位ビット列を、当該下位ビット列より上位桁の上位ビット列として複製し、同一の上位ビット列及び下位ビット列を含む被加算数を生成する下位ビット列複製部と、前記被加算数に、前記第1モジュラスに対応する前記部分ビット列を加算して、前記第1部分和に前記第1モジュラスについての前記モジュラス対応変換値を加えた第2部分和の少なくとも一部に含まれる下位ビット列を算出するビット列加算部とを有するものであるプログラムを提供する。   According to a fifth aspect of the present invention, there is provided a program for converting a converted number expressed by a remainder system into a binary number by a computer, wherein the remainder system divides the converted number by each of a plurality of moduli. The converted number is expressed by a set of a plurality of remainder values, and the first modulus is a power value larger than the product of the modulus less than the first modulus obtained by raising 2 to a power of a natural number, and 1 The program is a binary value based on a value obtained by multiplying the remainder of the modulus by a product of a modulus other than the modulus for each of a plurality of moduli. A partial bit string generator that generates a partial bit string included in at least a part of the modulus-corresponding conversion value corresponding to the modulus. And a modulus-corresponding conversion value adding unit that calculates the binary converted number by adding the modulus-corresponding conversion value for each of the plurality of moduli based on the partial bit string for each of the plurality of moduli The modulus-corresponding conversion value adding unit is included in a part of a first partial sum that is a sum of the modulus-corresponding conversion values corresponding to at least one of the moduli smaller than the first modulus. A lower bit string replicating unit that replicates a lower bit string of the number of bits as an upper bit string of an upper digit than the lower bit string, and generates an added number including the same upper bit string and lower bit string; and The partial bit string corresponding to the modulus is added to the first partial sum to the first modulus. Providing have been the modulus corresponding is converted value as it has a bit string adder for calculating a low-order bit string included in at least part of the second partial sum plus program.

本発明の第6の形態によると、剰余系により表現された被変換数をコンピュータにより2進数に変換するプログラムであって、前記剰余系は、複数のモジュラスのそれぞれにより前記被変換数を割った複数の剰余値の組により、前記被変換数を表現するものであり、第1の前記モジュラスは、2を自然数によりべき乗した、当該第1モジュラスより小さい前記モジュラスの積より大きいべき乗値に、1を加えた値をとり、当該プログラムは、前記コンピュータを、複数のモジュラスのそれぞれについて、当該モジュラスについての前記剰余値に当該モジュラス以外のモジュラスの積を乗じた値に基づいて、当該モジュラスに対応する2進数の値であるモジュラス対応変換値を生成するモジュラス対応変換値生成部と、前記複数のモジュラスのそれぞれについての前記モジュラス対応変換値を加算して、2進数の前記被変換数を算出するモジュラス対応変換値加算部として機能させ、前記モジュラス対応変換値生成部は、前記第1モジュラスより小さい第2モジュラスにより前記被変換数を割った剰余値のビット列に基づいて、当該第2モジュラスに対応する前記モジュラス対応変換値の一部となる部分ビット列を生成する部分ビット列生成部と、当該第2モジュラスに対応する前記モジュラス対応変換値の複数箇所に前記部分ビット列を複製することにより、前記部分ビット列に前記第1モジュラスを乗じた当該モジュラス対応変換値を生成する部分ビット列複製部とを有するものであるプログラムを提供する。   According to a sixth aspect of the present invention, there is provided a program for converting a converted number expressed by a residue system into a binary number by a computer, wherein the residue system divides the converted number by each of a plurality of moduli. The converted number is expressed by a set of a plurality of remainder values, and the first modulus is a power value larger than the product of the modulus less than the first modulus obtained by raising 2 to a power of a natural number, and 1 For each of a plurality of moduli, the program corresponds to the modulus based on a value obtained by multiplying the remainder of the modulus by a product of a modulus other than the modulus. A modulus-corresponding conversion value generating unit that generates a modulus-corresponding conversion value that is a binary value; Each of the modulus-corresponding conversion values is added to function as a modulus-corresponding conversion value adding unit that calculates the binary converted number, and the modulus-corresponding conversion value generating unit is smaller than the first modulus. A partial bit string generation unit that generates a partial bit string that is a part of the modulus-corresponding conversion value corresponding to the second modulus, based on a bit string of a remainder value obtained by dividing the number to be converted by a second modulus; A partial bit string duplicating unit that replicates the partial bit string at a plurality of locations of the modulus-corresponding conversion value corresponding to the modulus to generate the modulus-corresponding conversion value obtained by multiplying the partial bit string by the first modulus. Provide a program.

本発明の第7の形態によると、上記のプログラムを記録した、コンピュータにより読み取り可能な記録媒体を提供する。   According to a seventh aspect of the present invention, there is provided a computer-readable recording medium on which the above program is recorded.

なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではなく、これらの特徴群のサブコンビネーションもまた、発明となりうる。   The above summary of the invention does not enumerate all the necessary features of the present invention, and sub-combinations of these feature groups can also be the invention.

本発明によれば、少ないハードウェア量で高速に剰余系の数値を2進数に変換することができる。   According to the present invention, it is possible to convert a numerical value of a residue system into a binary number at a high speed with a small amount of hardware.

以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではなく、また実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。   Hereinafter, the present invention will be described through embodiments of the invention. However, the following embodiments do not limit the invention according to the scope of claims, and all combinations of features described in the embodiments are included. It is not necessarily essential for the solution of the invention.

以下に、本実施形態における、剰余系から2進数系へ変換する変換装置(R/B converter)の原理を示す。   Below, the principle of the converter (R / B converter) which converts from a remainder system to a binary number system in this embodiment is shown.

(1)式(1−18)のモジュラスセットに対する中国人の剰余定理の性質
式(1−18)のモジュラスセットに対する中国人の剰余定理においては、式(1−29)における逆数βi・(M/mi)の2進数表現のビット列は、以下の2つの性質を有する。なお、以下数値をビット列により表現するが、複数ビットをまとめて1桁と見なしてもよい。
(1) The nature of the Chinese remainder theorem for the modulus set of equation (1-18) In the Chinese remainder theorem for the modulus set of equation (1-18), the inverse β i · ( The bit string of the binary representation of M / m i ) has the following two properties. In the following, numerical values are expressed by bit strings, but a plurality of bits may be collectively regarded as one digit.

(1a)性質1:逆数の循環性
・β0・(M/m0)の場合
β0・(M/m0)の場合、以下の式(2−1a)が成立する。

Figure 0004643951
(1a) Property 1: In the case of reciprocal circulation • β 0 · (M / m 0 ) In the case of β 0 · (M / m 0 ), the following equation (2-1a) is established.
Figure 0004643951

すなわち、(2^(20p)+1)を1×(2^(20p)+1) = "00...01(pビット)" ×(2^(20p)+1)と見なせば、最下位ビットが"1"かつ他のビットが"0"のpビットのビット列"00…01"を、下位pビット、及びpビット分上位桁側にシフトしたpビットの部分に複製した2pビットのビット列"00…0100…01"(第0ビット(最下位ビット)及び第pビットが"1"、その他のビットは"0")であることがわかる。 That is, (2 ^ (2 0 p) +1) becomes 1 × (2 ^ (2 0 p) +1) = “00 ... 01 (p bits)” × (2 ^ (2 0 p) +1 ), The p-bit bit string "00 ... 01" with the least significant bit set to "1" and the other bits set to "0" is shifted to the upper digit side by the lower p bits and p bits. It can be seen that the 2p-bit bit string “00... 0100... 01” (the 0th bit (least significant bit) and the pth bit is “1” and the other bits are “0”) duplicated in the part.

同様に、上記の2pビットのビット列"00…0100…01"に(2^(21p)+1)を乗じれば、当該2pビットのビット列を下位2pビット、及び2pビット分上位桁にシフトした2pビットの部分に複製した4pビットのビット列"00…0100…0100…0100…01"となることがわかる。このビット列は、最下位ビットが"1"かつ他のビットが"0"のpビットのビット列"00…01"を、4箇所に複製したビット列であり、言い換えれば当該pビットのビット列を4つ結合したビット列である。 Similarly, if the above 2p bit string "00 ... 0100 ... 01" is multiplied by (2 ^ (2 1 p) +1), the 2p bit string will be converted into the lower 2p bits and the upper digits for 2p bits. It can be seen that the 4p-bit bit string "00 ... 0100 ... 0100 ... 0100 ... 01" replicated in the shifted 2p-bit part. This bit string is a bit string obtained by duplicating the p-bit bit string “00... 01” having the least significant bit “1” and the other bits “0” in four places, in other words, four bit strings of the p-bit. It is a combined bit string.

以下同様にして、(2^(22p)+1)、(2^(23p)+1)、…、(2^(2kp)+1)を順に乗じた値は、最下位ビットが"1"かつ他のビットが"0"のpビットのビット列"00…01"を、2k+1箇所に循環的(cyclic)に複製した2k+1 pビットのビット列となることがわかる。言い換えれば、当該pビットのビット列を、2k+1個結合したビット列である。 Similarly, (2 ^ (2 2 p) +1), (2 ^ (2 3 p) +1), ..., (2 ^ (2 k p) +1) This is a 2 k + 1 p-bit bit string that is a cyclic copy of the p-bit bit string “00… 01” with the lower bit “1” and the other bits “0” cyclically at 2 k + 1 locations. I understand that. In other words, it is a bit string obtained by combining 2 p + 1 bit strings of the p bits.

そして、上記の2k+1 pビットのビット列に2p-(k+1)を乗じた値は、上記の2k+1 pビットのビット列の下位桁にp-(k+1)個の"0"を付加することにより当該ビット列をp-(k+1)ビット分上位桁側にシフトしたビット列となる。 Then, the value obtained by multiplying the 2 k + 1 p-bit bit string by 2 p- (k + 1) is p- (k + 1) bits in the lower digits of the 2 k + 1 p-bit bit string. By adding “0”, the bit string is shifted to the upper digit side by p− (k + 1) bits.

・βi・(M/mi)の場合(ただし1≦i≦k+1)
β1・(M/m1)の場合、以下の式(2−1b)が成立する。

Figure 0004643951
・ In the case of β i・ (M / m i ) (1 ≦ i ≦ k + 1)
In the case of β 1 · (M / m 1 ), the following equation (2-1b) is established.
Figure 0004643951

すなわち、(2p-1)を上位pビットが"0"かつ下位pビットが"1"の2pビットのビット列"00…0011…11"と見なせば、この値に(2^(21p)+1)を乗じた値は、当該2pビットのビット列を、下位2pビット、及び2pビット分上位桁側にシフトした2pビットの部分に複製した4pビットのビット列"00…0011…1100…0011…11"(第0ビット(最下位ビット)から第p-1ビット、及び第2pビットから第3p-1ビットが"1"、その他は"0")となることがわかる。 That is, if (2 p -1) is regarded as a 2p-bit bit string "00 ... 0011 ... 11" in which the upper p bits are "0" and the lower p bits are "1", this value becomes (2 ^ (2 1 The value obtained by multiplying p) +1) is a 4p-bit bit string “00… 0011… 1100 ... which is a copy of the 2p-bit bit string and the 2p-bit part shifted to the upper digit side by 2p bits. ... 11 ”(0th bit (least significant bit) to the (p-1) th bit, 2nd bit to the 3rd p-1 bit are" 1 ", and the others are" 0 ").

以下β0・(M/m0)の場合と同様にして、(2^(22p)+1)、(2^(23p)+1)、…、(2^(2kp)+1)を順に乗じた値は、上位pビットが"0"かつ下位pビットが"1"の2pビットのビット列"00…0011…11"を、2k箇所に複製した2k+1 pビットのビット列となることがわかる。言い換えれば、当該2pビットのビット列を、2k個結合したビット列である。 Hereinafter, (2 ^ (2 2 p) +1), (2 ^ (2 3 p) +1), ..., (2 ^ (2 k p), as in the case of β 0 (M / m 0 ) ) +1) in order, 2 k + 1, which is a duplicate of a 2 p-bit bit sequence “00… 0011… 11” with the upper p bits being “0” and the lower p bits being “1” at 2 k locations. It can be seen that the bit string is p bits. In other words, it is a bit string obtained by combining 2 k bit strings of the 2p bits.

そして、β0・(M/m0)の場合と同様にして、上記の2k+1 pビットのビット列に2p-(k+1)を乗じた値は、上記の2k+1 pビットのビット列の下位桁にp-(k+1)個の"0"を付加することにより当該ビット列をp-(k+1)ビット分上位桁側にシフトしたビット列となる。 Similarly to the case of β 0 · (M / m 0 ), the value obtained by multiplying the bit string of 2 k + 1 p bits by 2 p- (k + 1) is 2 k + 1 p By adding p- (k + 1) “0” s to the lower digits of the bit sequence of bits, the bit sequence is shifted to the upper digits by p- (k + 1) bits.

また、(2p-1)を2pと-1の組み合わせと見なせば、(2p-1)は、第pビットが"1"、第0ビットが"-1"、かつ他のビットが"0"の2pビットのビット列"00…0100…0(-1)"と見なすことができる。ここで、式(2−1b)においては、1の補数表現の(-1)を、ハイフン付の"1"で表す。この表現形式を用いれば、式(2−1b)の(2 p -1)(2 2p -1)・・・(2^(2 k p)-1)の部分は、最下位ビットが"1"のpビットのビット列"00…01"と最下位ビットが"-1"のpビットのビット列の組を、2kp箇所に複製した2 k+1 pビットのビット列となることがわかる。そして、β 0 ・(M/m 0 )の場合と同様にして、上記の2 k+1 pビットのビット列に2 p-(k+1) を乗じた値は、上記の2 k+1 pビットのビット列の下位桁にp-(k+1)個の"0"を付加することにより当該ビット列をp-(k+1)ビット分上位桁側にシフトしたビット列となる。
Also, if regarded as a combination of (2 p -1) of 2 p and -1, (2 p -1) is the p-th bit is "1", the 0th bit is "-1", and the other bits Can be regarded as a 2p-bit bit string "00 ... 0100 ... 0 (-1)". Here, in the expression (2-1b), (-1) in the complement of 1 is represented by “1” with a hyphen. If this expression format is used, the least significant bit is “1” in the part of (2 p −1) (2 2p −1)... (2 ^ (2 k p) −1) in equation (2-1b). "bit string of p bit of" 00 ... 01, "and the least significant bit is" -1 a set of bit strings of p-bit ", it can be seen that a 2 k p point 2 was replicated to the k + 1 p bit string of bits. Similarly to the case of β 0 · (M / m 0 ), the value obtained by multiplying the bit string of 2 k + 1 p bits by 2 p- (k + 1) is 2 k + 1 p By adding p- (k + 1) “0” s to the lower digits of the bit sequence of bits, the bit sequence is shifted to the upper digits by p- (k + 1) bits.

β1・(M/m1)の場合と同様に、βi・(M/mi)(i<k+1)の場合、以下の式(2−1c)が成立する。

Figure 0004643951
As in the case of β 1 · (M / m 1 ), the following equation (2-1c) is established in the case of β i · (M / m i ) (i <k + 1).
Figure 0004643951

すなわち、(2^(2i-1p)-1)を上位2i-1pビットが"0"かつ下位2i-1pビットが"1"の2ipビットのビット列"00…0011…11"と見なせば、この値に(2^(2ip)+1)を乗じた値は、当該2ipビットのビット列を、下位2ipビット、及び2 ipビット分上位桁側の2 ipビットの部分に複製した2 i+1pビットのビット列"00…0011…1100…0011…11"(第0ビット(最下位ビット)から第2i-1p-1ビット、及び第2・2i-1pビットから第3・2i-1p-1ビットが"1"、その他は"0")となることがわかる。 That is, (2 ^ (2 i-1 p) -1) is a 2 i p-bit bit string "00 ... 0011" in which the upper 2 i-1 p bits are "0" and the lower 2 i-1 p bits are "1". if ... 11 regarded as "value obtained by multiplying the (2 ^ (2 i p) +1) this value a bit string of the 2 i p bits, low-order 2 i p bits, and 2 i p bits higher 2 i p 2 were duplicated portions of bit i + 1 p-bit bit string "00 ... 0011 ... 1100 ... 0011 ... 11" (0th bit (the 2 i-1 p-1 bits from the least significant bit) digit side , And the 2 · 2 i-1 p bits to the 3 · 2 i-1 p-1 bits are “1” and the others are “0”).

以下β1・(M/m1)の場合と同様にして、(2^(2i+1p)+1)、…、(2^(2kp)+1)を順に乗じた値は、上位2i-1pビットが"0"かつ下位2i-1pビットが"1"の2ipビットのビット列"00…0011…11"を、2k-I+1箇所に複製した2k+1 pビットのビット列となることがわかる。言い換えれば、当該2 ipビットのビット列を、2k-i個結合したビット列である。 The value obtained by multiplying (2 ^ (2 i + 1 p) +1), ..., (2 ^ (2 k p) +1) in the same way as in the case of β 1 · (M / m 1 ) The 2 i p-bit bit string “00… 0011… 11” with the upper 2 i-1 p bits set to “0” and the lower 2 i-1 p bits set to “1” is copied to 2 k-I + 1 locations. It can be seen that the bit string is 2 k + 1 p bits. In other words, it is a bit string obtained by joining 2 ki bit strings of the 2 i p bits.

そして、β1・(M/m1)の場合と同様にして、上記の2k+1 pビットのビット列に2^(2i-1p-(k-i+2))を乗じた値は、上記の2k+1 pビットのビット列の下位桁に2i-1p-(k-i+2)個の"0"を付加することにより当該ビット列を2i-1p-(k-i+2)ビット分上位桁側にシフトしたビット列となる。 Then, the value obtained by multiplying the 2 k + 1 p-bit bit string by 2 ^ (2 i-1 p- (k-i + 2)) in the same manner as in the case of β 1 · (M / m 1 ) Adds 2 i-1 p- (k-i + 2) “0” s to the lower digits of the 2 k + 1 p-bit bit sequence to make the bit sequence 2 i-1 p- (k -i + 2) Bit string shifted to the upper digit side by bits.

また、(2^(2i-1p)-1)を2^(2i-1p)と-1の組み合わせと見なせば、(2^(2i-1p)-1)は、第2i-1pビットが"1"、第0ビットが"-1"、かつ他のビットが"0"の2ipビットのビット列"00…0100…0(-1)"と見なすことができる。この表現形式を用いれば、βi・(M/mi)は、最下位ビットが"1"の2i-1pビットのビット列"00…01"と最下位ビットが"-1"の2i-1pビットのビット列の組を、2k-I+1箇所に複製したビット列となることがわかる。 If (2 ^ (2 i-1 p) -1) is regarded as a combination of 2 ^ (2 i-1 p) and -1, then (2 ^ (2 i-1 p) -1) Assume that the 2 i p bit string “00… 0100… 0 (-1)” is the second i-1 p bit is "1", the 0th bit is "-1", and the other bits are "0" Can do. Using this representation format, β i · (M / m i ) is 2 i−1 p-bit bit string “00… 01” with the least significant bit “1” and 2 with the least significant bit “−1”. It can be seen that a bit string that is a duplicate of a bit string set of i-1 p bits is duplicated at 2 k-I + 1 locations.

βk+1・(M/m k+1)の場合、以下の式(2−1d)が成立する。

Figure 0004643951
In the case of β k + 1 · (M / m k + 1 ), the following equation (2-1d) is established.
Figure 0004643951

すなわち、(2^(2kp)-1)は、上位2kpビットが"0"かつ下位2kpビットが"1"の2k+1pビットのビット列"00…0011…11"と見なせる。そして、この2k+1 pビットのビット列に2^(2kp-1)を乗じた値は、上記の2k+1 pビットのビット列の下位桁に2kp-1個の"0"を付加して当該ビット列を2kp-1ビット分上位桁側にシフトしたビット列となる。 That is, (2 ^ (2 k p) -1) is a 2 k + 1 p bit string “00… 0011… 11” in which the upper 2 k p bits are “0” and the lower 2 k p bits are “1”. Can be considered. The value obtained by multiplying the 2 k + 1 p-bit bit string by 2 ^ (2 k p-1) is 2 k p-1 “0” in the lower digit of the 2 k + 1 p-bit bit string. The bit string is shifted to the upper digit side by 2 k p-1 bits by adding "."

(1b)性質2:被乗数のビット数
式(1−18)をモジュラスセットとする剰余系により表現された被変換数Y=(y0,y1,…,yk+1)の各剰余桁の剰余値yiは、以下に示す性質を有する。
(1b) Property 2: Number of bits of multiplicand Each residue digit of the converted number Y = (y 0 , y 1 ,..., Y k + 1 ) expressed by a residue system with the equation (1-18) as a modulus set The remainder value y i has the following properties.

・y0の場合
y0は、モジュラス(2p-1)の剰余値であるから、2進数pビットで表現できる。
・yi(1≦i≦k+1)の場合
yiは、モジュラス(2^(2i-1p)+1)の剰余値であるから、2進数2i-1p+1ビットで表現できる。ただし、最上位ビットが"1"となるのはyiが最大値2^(2i-1p)="100…00(2i-1p+1ビット)である場合のみであり、この場合最上位ビット以外のビットは全て"0"となる。
・ When y 0
Since y 0 is a modulus (2 p −1) remainder value, it can be expressed by binary p bits.
・ Y i (1 ≦ i ≦ k + 1)
Since y i is a remainder value of modulus (2 ^ (2 i−1 p) +1), it can be expressed by binary number 2 i−1 p + 1 bits. However, the most significant bit is "1" only when y i is the maximum value 2 ^ (2 i-1 p) = "100 ... 00 (2 i-1 p + 1 bits). In this case, all bits other than the most significant bit are “0”.

以下の式(2−2a)から(2−2d)に、剰余値yiのビット列を示す。

Figure 0004643951
ここで、an,bn,cn,及びdnは、2進表現の各桁である。 The following equation (2-2a) to (2-2d) shows a bit string of the remainder value y i .
Figure 0004643951
Here, a n , b n , c n , and d n are each digit of the binary representation.

(2)剰余桁毎の2進数への変換の高速化
上記の性質1及び性質2により、中国人の剰余定理の乗算部 は、被乗数yiを複製してして連結することにより実現することができる。これにより、本実施形態に係る変換装置においては、通常の乗算に必要なAND回路(部分積)と全加算器を不要とすることができる。
(2) Acceleration of conversion to binary number for each remainder digit By the above property 1 and property 2, the multiplication part of the Chinese remainder theorem is realized by duplicating and concatenating the multiplicand y i Can do. Thereby, in the conversion apparatus according to the present embodiment, an AND circuit (partial product) and a full adder necessary for normal multiplication can be eliminated.

y0についての計算例を、以下の式(2−3)に示す。

Figure 0004643951
A calculation example for y 0 is shown in the following equation (2-3).
Figure 0004643951

性質2に示したように、y0(="ap-1 ap-2 … a0")はpビットである。一方、式(2−1a)に示したように、β0・(M/m0)は、pビット毎に"1"となるビット列である。したがって、y0をpビット毎に複製していき下位ビットに"0"を付加すれば、乗算及び加算を行うことなくモジュラスm0に対応する剰余桁を2進数に変換したモジュラス対応変換値y0・β0・(M/m0)を求めることができる。 As shown in Property 2, y 0 (= “a p-1 a p-2 ... A 0 ”) is p bits. On the other hand, as shown in Expression (2-1a), β 0 · (M / m 0 ) is a bit string that becomes “1” for every p bits. Therefore, by copying y 0 every p bits and adding “0” to the lower bits, the modulus corresponding conversion value y obtained by converting the remainder digit corresponding to the modulus m 0 into a binary number without performing multiplication and addition. 0 · β 0 · (M / m 0 ) can be obtained.

次に、yiについての計算例を、以下の式(2−4)に示す。

Figure 0004643951
Next, a calculation example for y i is shown in the following equation (2-4).
Figure 0004643951

性質2に示したように、yi(="c2^(i-1)p c2^(i-1)p-1 … c0")は2i-1p+1ビットであるが、最大値は2^(2i-1p)である。このため、yiに(2^(2^i-1p)-1)(="00..0100..0(-1)")を乗じた値の最大値は、2^(2ip)- 2^(2i-1p)となり、2ipビットのビット列(="c2^ip-1' c2^ip-2' … c0'")で表現することができる。一方、式(2−1b)から(2−1d)に示したように、βi・(M/mi)は、2ipビット毎に"00…0100…0(-1)"となるビット列である。したがって、y0の場合と同様にしてyi・(2^(2^i-1p)-1) (="c2^ip-1' c2^ip-2' … c0'")のビット列を2ipビット毎に複製して下位ビットに"0"を付加すれば、当該ビット列に基づいて、乗算及び加算を行うことなくモジュラスmiに対応する剰余桁を2進数に変換したモジュラス対応変換値yi・βi・(M/mi)を求めることができる。
このモジュラス対応変換値yi・βi・(M/mi)を以下の式(2−5)に示す。

Figure 0004643951
As shown in Property 2, y i (= "c 2 ^ (i-1) p c 2 ^ (i-1) p-1 ... c 0 ") is 2 i-1 p + 1 bits. The maximum value is 2 ^ (2 i-1 p). Therefore, the maximum value of y i multiplied by (2 ^ (2 ^ i-1 p) -1) (= "00..0100..0 (-1)") is 2 ^ (2 i p) -2 ^ (2 i-1 p), which can be expressed by a 2 i p-bit bit string (= "c 2 ^ ip-1 'c 2 ^ ip-2 ' ... c 0 '"). On the other hand, as shown in equations (2-1b) to (2-1d), β i · (M / m i ) becomes “00... 0100... 0 (-1)” every 2 i p bits. It is a bit string. Therefore, as in the case of y 0 y i · (2 ^ (2 ^ i-1 p) -1) (= "c 2 ^ ip-1 'c 2 ^ ip-2' ... c 0 '") if adding "0" to the lower bits by replicating bit string of the every 2 i p bits, based on the bit string, and converts the remainder digits corresponding to the modulus m i without performing multiplications and additions to the binary number Modulus correspondence conversion values y i · β i · (M / m i ) can be obtained.
The modulus-corresponding conversion value y i · β i · (M / m i ) is shown in the following equation (2-5).
Figure 0004643951

(3)EAC(End-Around Carry)処理
中国人の剰余定理の式(1−17)によれば、被乗数と逆数の積和演算の後に、モジュラスセットSkによる剰余系で表現できる数値の最大個数M=2^(2k+1p)+1にたいする剰余を計算する必要がある。この剰余計算は、以下に示すEAC処理により実現することができる。
(3) EAC according to the equation (1-17) of (End-Around Carry) processing Chinese remainder theorem, after the product-sum operation of the multiplicand and the inverse, maximum value that can be represented by the residue system according modulus sets S k It is necessary to calculate the remainder for the number M = 2 ^ (2 k + 1 p) +1. This remainder calculation can be realized by the following EAC process.

式(1−18)に示したモジュラスセットを用いた場合、モジュラスM=2^(2k+1p)+1であるから、2^(2k+1p)≡1(mod M)が成立する。したがって、剰余系の加減乗算定理より、次の等式(2−6)が成立する。

Figure 0004643951
When the modulus set shown in Formula (1-18) is used, since modulus M = 2 ^ (2 k + 1 p) +1, 2 ^ (2 k + 1 p) ≡1 (mod M) is To establish. Therefore, the following equation (2-6) is established from the addition / subtraction multiplication theorem of the residue system.
Figure 0004643951

ここで、2^(2k+1p)は2k+1pビットの2進数である。したがって、式(2−6)は、以下の式(2−7)に示すように、2k+1pビットより上位のビット桁を、2k+1pビット下位桁側へシフトすることにより、モジュラスMによる剰余を算出できることを示す。

Figure 0004643951
Here, 2 ^ (2 k + 1 p) is a binary number of 2 k + 1 p bits. Therefore, the formula (2-6), as shown in the following equation (2-7), the upper bit digit of from 2 k + 1 p bits, by shifting the 2 k + 1 p bit lower digit side , It shows that the remainder by modulus M can be calculated.
Figure 0004643951

これを利用して、EAC処理においては、剰余桁の値と逆数を積和演算した値における2k+1pビットより上位のビット桁を最下位ビット側に循環シフト(cyclic shift)して加え、モジュラスMによる剰余値を算出する。 Using this, in EAC processing, a bit digit higher than 2 k + 1 p bits in the value obtained by multiply-and-accumulate the remainder digit value and the reciprocal value is cyclically shifted to the least significant bit side and added. Then, the remainder value by the modulus M is calculated.

式(2−5)に示したyi・βi・(M/mi)に対するEAC処理を以下の式(2−8)に示す。

Figure 0004643951
EAC processing for y i · β i · (M / m i ) shown in equation (2-5) is shown in equation (2-8) below.
Figure 0004643951

式(2−5)に示したように、yi・βi・(M/mi)における2k+1pビットより上位のビットは、2i-1p-(k-i+2)ビットである。一方、yi・βi・(M/mi)は、下位2i-1p-(k-i+2)ビットが"0"であるから、yi・βi・(M/mi)における2k+1pビットより上位のビット桁を、下位ビットに移動させるのみで、yi・βi・(M/mi)のMによる剰余値を求めることができる。 As shown in the equation (2-5), bits higher than 2 k + 1 p bits in y i · β i · (M / m i ) are 2 i-1 p- (k-i + 2) Is a bit. On the other hand, since y i · β i · (M / m i ) has the lower 2 i-1 p- (k-i + 2) bits "0", y i · β i · (M / m i ), The remainder value by M of y i · β i · (M / m i ) can be obtained only by moving the higher-order bit digits than 2 k + 1 p bits to the lower bits.

(4)剰余桁間の加算の高速化
式(1−29)におけるモジュラス対応変換値yi・βi・(M/mi)の加算は、以下に示す方法により回路規模の低減及び高速化を図ることができる。ここでは、簡単のため、式(1−18)においてp=3, k=2としたモジュラスセットを例として示す。すなわち、モジュラスセットSk ={m0, m1, m2, m3} = {7(=23-1), 9(=23+1), 65(=26+1), 4097(=212+1)}である。この剰余系で表現できる数値の個数Mは(224-1)である。この剰余系で表現されたある数値を(y0,y1,y2,y3)とすると、それぞれの2進数表現は、つぎの式(2−9a)から(2−9d)となる。

Figure 0004643951
(4) Speed up of addition between remainder digits Addition of conversion values y i · β i · (M / m i ) corresponding to the modulus in equation (1-29) is reduced and speeded up by the following method Can be achieved. Here, for simplicity, a modulus set in which p = 3 and k = 2 in Equation (1-18) is shown as an example. That is, the modulus set S k = {m 0 , m 1 , m 2 , m 3 } = {7 (= 2 3 -1), 9 (= 2 3 +1), 65 (= 2 6 +1), 4097 (= 2 12 +1)}. The number M of numerical values that can be expressed in this residue system is (2 24 -1). If a certain numerical value expressed in the remainder system is (y 0 , y 1 , y 2 , y 3 ), each binary expression is expressed by the following equations (2-9a) to (2-9d).
Figure 0004643951

上記の(1)で示した中国人の剰余定理の性質、(2)で示した剰余桁の性質、及び、(3)で示したEAC処理を用いれば、図1に示した計算方法により中国人の剰余定理の計算をすることができる。   Using the properties of the Chinese remainder theorem shown in (1) above, the properties of the residue digit shown in (2), and the EAC processing shown in (3), the calculation method shown in FIG. It is possible to calculate the person's remainder theorem.

まず、モジュラスm0に対応して、3(=p)ビットの部分ビット列y0(="a2 a1 a0")を上位桁の3ビットのビット列として複製し、同一の部分ビット列を上位ビット列及び下位ビット列として含む6ビットの被加算数"a2 a1 a0 a2 a1 a0"を生成する。この被加算数は、式(2−1a)における2pビットの"00…0100…01"とy0との積に対応するビット列であり、式(2−3)における"ap-1 ap-2 … a0 ap-1 ap-2 … a0"に対応する。 First, corresponding to the modulus m 0 , the partial bit string y 0 (= “a 2 a 1 a 0 ”) of 3 (= p) bits is copied as a 3-bit bit string of the upper digits, and the same partial bit string is A 6-bit addend number “a 2 a 1 a 0 a 2 a 1 a 0 ” including a bit string and a lower bit string is generated. This added number is a bit string corresponding to the product of 2p bits “00... 0100... 01” and y 0 in equation (2-1a), and “a p-1 a p in equation (2-3)”. -2 ... a 0 a p-1 a p-2 ... a 0 "

次に、モジュラスm1に対応して、4(=2(1-1)p+1)ビットの剰余値y1を3(=2(1-1)pビット上位桁側へシフトした値から当該剰余値y1を減じた6(=21p) ビットの部分ビット列"b5' b4' b3' b2' b1' b0'"を生成する。 Next, from the value obtained by shifting the remainder value y 1 of 4 (= 2 (1-1) p + 1) bits to the upper digit side of 3 (= 2 (1-1) p bits, corresponding to the modulus m 1 A 6 (= 2 1 p) -bit partial bit string “b 5 ′ b 4 ′ b 3 ′ b 2 ′ b 1 ′ b 0 ′” obtained by subtracting the remainder value y 1 is generated.

次に、上記の6ビットの被加算数"a2 a1 a0 a2 a1 a0"及び部分ビット列"b5' b4' b3' b2' b1' b0'"を、6ビット加算器により加算し、EAC処理を行って6ビットのビット列"s5 s4 s3 s2 s1 s0"をえる。このEAC処理は、本来24ビットの加算を行った結果最上位ビットのキャリーを最下位ビットに加えるものである。しかし、被加算数及びモジュラス対応変換値の規則性から、最上位ビットのキャリービットは下位6ビットの加算からえられるキャリービットと同一となるため、6ビット加算によるキャリービットを用いることができる。 Next, the 6-bit addend "a 2 a 1 a 0 a 2 a 1 a 0 " and the partial bit string "b 5 'b 4 ' b 3 'b 2 ' b 1 'b 0 '" Addition is performed by a 6-bit adder, and EAC processing is performed to obtain a 6-bit bit string “s 5 s 4 s 3 s 2 s 1 s 0 ”. In this EAC process, the carry of the most significant bit is added to the least significant bit as a result of the original 24-bit addition. However, because of the regularity of the added number and the modulus-corresponding conversion value, the carry bit of the most significant bit is the same as the carry bit obtained from the addition of the lower 6 bits, so a carry bit by 6-bit addition can be used.

ここで、モジュラスm0及びm1に対応するモジュラス対応変換値は、式(2−1a)、(2−1b)、(2−4)及び(2−5)に示したように上記の被加算数及び部分ビット列を4個結合したビット列である。したがって、モジュラスm0及びm1に対応するモジュラス対応変換値の和は、6ビットのビット列"s5 s4 s3 s2 s1 s0"を4個結合したビット列となる。そこで、この和にモジュラスm2に対応するモジュラス対応変換値を加えるために、当該6ビットのビット列"s5 s4 s3 s2 s1 s0"を上位桁6ビットのビット列として複製し、当該ビット列を上位ビット列及び下位ビット列として含む12ビットの被加算数"s5 s4 s3 s2 s1 s0 s5 s4 s3 s2 s1 s0"を生成する。 Here, the modulus-corresponding conversion values corresponding to the moduli m 0 and m 1 are the above-mentioned values as shown in the equations (2-1a), (2-1b), (2-4) and (2-5). This is a bit string obtained by combining the addition number and four partial bit strings. Therefore, the sum of the modulus-corresponding conversion values corresponding to the moduli m 0 and m 1 is a bit string obtained by combining four 6-bit bit strings “s 5 s 4 s 3 s 2 s 1 s 0 ”. Therefore, in order to add a modulus-corresponding conversion value corresponding to the modulus m 2 to this sum, the 6-bit bit string “s 5 s 4 s 3 s 2 s 1 s 0 ” is copied as a 6-bit bit string of upper digits, A 12-bit addend number “s 5 s 4 s 3 s 2 s 1 s 0 s 5 s 4 s 3 s 2 s 1 s 0 ” including the bit string as an upper bit string and a lower bit string is generated.

次に、モジュラスm2に対応して、7(=2(2-1)p+1)ビットの剰余値y2を6(=2(2-1)p)ビット上位桁側へシフトした値から当該剰余値y2を減じ、下位桁に"0 0 0 0"(=22-1p-(k-i+2) )ビットを付加したビット列"c11' c10' c9' c8' c7' c6' c5' c4' c3' c2' c1' c0' 0 0 0 0"を生成する。そして、式(2−8)に示したEAC処理を行い、12(=22p) ビットの部分ビット列"c7' c6' c5' c4' c3' c2' c1' c0' c11' c10' c9' c8'"を生成する。 Next, corresponding to the modulus m 2 , a value obtained by shifting the remainder value y 2 of 7 (= 2 (2-1) p + 1) bits to the upper digit side of 6 (= 2 (2-1) p) bits Bit sequence "c 11 'c 10 ' c 9 'c with the remainder y 2 subtracted from" 0 0 0 0 "(= 2 2-1 p- (k-i + 2)) bits added to the lower digit 8 'c 7' c 6 ' c 5' c 4 'c 3' c 2 'c 1' c 0 ' to generate a 0 0 0 0 ". Then, the EAC processing shown in Expression (2-8) is performed, and the 12 (= 2 2 p) bit partial bit string “c 7 ′ c 6 ′ c 5 ′ c 4 ′ c 3 ′ c 2 ′ c 1 ′ c generating a 0 'c 11' c 10 ' c 9' c 8 '".

次に、上記の12ビットの被加算数"s5 s4 s3 s2 s1 s0 s5 s4 s3 s2 s1 s0"及び部分ビット列"c7' c6' c5' c4' c3' c2' c1' c0' c11' c10' c9' c8'"を12ビット加算器により加算し、モジュラスm0及びm1に対する加算と同様にEAC処理を行って、12ビットのビット列"t11 t10 t9 t8 t7 t6 t5 t4 t3 t2 t1 t0"をえる。 Next, the 12-bit addend "s 5 s 4 s 3 s 2 s 1 s 0 s 5 s 4 s 3 s 2 s 1 s 0 " and the partial bit string "c 7 'c 6 ' c 5 ' c 4 'c 3 ' c 2 'c 1 ' c 0 'c 11 ' c 10 'c 9 ' c 8 '"is added by a 12-bit adder, and EAC processing is performed in the same way as addition to the modulus m 0 and m 1 To obtain a 12-bit bit string “t 11 t 10 t 9 t 8 t 7 t 6 t 5 t 4 t 3 t 2 t 1 t 0 ”.

以下同様にして、当該12ビットのビット列を上位桁12ビットに複製し、当該12ビットのビット列を上位ビット列及び下位ビット列として含む24ビットの被加算数を生成する。そして、当該被加算数に、モジュラスm3に対応するモジュラス対応変換値を加え、EAC処理を行うことにより、被変換数を2進数に変換した変換値を求めることができる。 Similarly, the 12-bit bit string is copied to the upper 12 bits, and a 24-bit addend number including the 12-bit bit string as the upper and lower bit strings is generated. Then, by adding a modulus-corresponding conversion value corresponding to the modulus m 3 to the added number and performing EAC processing, a converted value obtained by converting the converted number into a binary number can be obtained.

本実施形態に係る変換装置においては、以上に示したように、逆数の2進数表現が規則性をもつことを利用することにより、より少ないハードウェア量で高速に中国人の剰余定理を計算できる。   In the conversion device according to the present embodiment, as described above, the Chinese remainder theorem can be calculated at a high speed with a smaller amount of hardware by utilizing the fact that the binary representation of the reciprocal number has regularity. .

図2は、本実施形態に係る変換装置10の構成を示す。変換装置10は、剰余系により表現された被変換数を2進数に変換する。この剰余系は、複数のモジュラスmiのそれぞれにより被変換数Yを割った複数の剰余値yiの組により、被変換数Yを表現するものである。一例として、本実施形態に係る変換装置10は、この複数のモジュラスmiの組として、式(1−18)に示したモジュラスセットSkを用いる。 FIG. 2 shows a configuration of the conversion apparatus 10 according to the present embodiment. The conversion device 10 converts a converted number expressed by a residue system into a binary number. The coset is a set of a plurality of remainder value y i obtained by dividing the target conversion number Y by each of the plurality of modulus m i, is intended to represent the transformation number Y. As an example, conversion device 10 according to this embodiment, as a set of the plurality of modulus m i, using the modulus sets S k shown in equation (1-18).

式(1−18)に示したモジュラスセットSkにおける最小のモジュラスm0は、2の自然数pによるべき乗値から1を減じた2以上の自然数である。また、複数のモジュラスのうち最小でないモジュラスm1,…,mk+1のそれぞれは、2を自然数によりべき乗したべき乗値に1を加えた値をとる。ここで、当該べき乗値は、当該モジュラスより小さいモジュラスの積より大きい値をとり、当該モジュラスより小さいモジュラスの積より大きい最小のべき乗値2^(2i-1p)であってよい。 The minimum modulus m 0 in the modulus set S k shown in the equation (1-18) is a natural number of 2 or more obtained by subtracting 1 from the power value of the natural number p of 2. Each of the non-minimum moduli m 1 ,..., M k + 1 among the plurality of moduli takes a value obtained by adding 1 to a power value obtained by raising 2 to a power of a natural number. Here, the power value takes a value larger than the product of the modulus smaller than the modulus, and may be the smallest power value 2 ^ (2 i-1 p) larger than the product of the modulus smaller than the modulus.

本実施形態に係る変換装置10は、剰余値と中国人の剰余定理における逆数との積である2進数のモジュラス対応変換値yi・βi・(M/mi)を、ビット列の複製により実現する。これにより変換装置10は、被変換数Yを、少ないハードウェア量で高速に2進数に変換することができる。 The conversion apparatus 10 according to the present embodiment converts a binary modulus-corresponding conversion value y i · β i · (M / m i ), which is the product of the remainder value and the reciprocal in the Chinese remainder theorem, by duplicating the bit string. Realize. As a result, the conversion apparatus 10 can convert the converted number Y into a binary number at a high speed with a small amount of hardware.

変換装置10は、モジュラス対応変換値生成部100と、モジュラス対応変換値加算部130とを備える。
モジュラス対応変換値生成部100は、複数のモジュラスm0,…mk+1のそれぞれについて、当該モジュラスの剰余値yi(="α2^(i-1)p α2^(i-1)p-1 … α0")に当該モジュラスmi以外のモジュラスの積(M/mi)を乗じた値yi・ (M/mi)に基づいて、当該モジュラスに対応する2進数の値であるモジュラス対応変換値yi・βi・(M/mi)を生成する。
The conversion apparatus 10 includes a modulus-corresponding conversion value generation unit 100 and a modulus-corresponding conversion value adding unit 130.
The modulus-corresponding conversion value generation unit 100 calculates, for each of the plurality of moduli m 0 ,..., M k + 1 , the modulus remainder value y i (= “α 2 ^ (i−1) p α 2 ^ (i−1) ) p-1 ... α 0 " ) to the basis of the modulus m i other than the modulus of the product (M / m i) the value y i · multiplied (M / m i), 2 binary number corresponding to the modulus A modulus-corresponding conversion value y i · β i · (M / m i ) as a value is generated.

モジュラス対応変換値生成部100は、1又は複数の部分ビット列生成部110(110a〜d)と、1又は複数の部分ビット列複製部120(120a〜d)とを有する。部分ビット列生成部110a〜dのそれぞれは、当該部分ビット列生成部110に対応するモジュラスmiにより被変換数Yを割った剰余値yiに基づいて、当該モジュラスmiに対応するモジュラス対応変換値yi・βi・(M/mi)の一部となる部分ビット列(="α2^ip-1' α2^ip-2' … α0')を生成する。ここで、最小のモジュラスm0に対応する部分ビット列生成部110aは、部分ビット列として、y0(="ap-1 ap-2 … a0")の値を出力する。一方、最小でないモジュラスmiに対応する部分ビット列生成部110b〜dは、部分ビット列として、剰余値yiに(2^(2^i-1p)-1)(="00..0100..0(-1)")を乗じた値を出力する。 The modulus conversion value generation unit 100 includes one or more partial bit string generation units 110 (110a to d) and one or more partial bit string replication units 120 (120a to d). Each of the partial bit string generation units 110a to 110d is converted to a modulus-corresponding conversion value corresponding to the modulus m i on the basis of the remainder value y i obtained by dividing the conversion target Y by the modulus m i corresponding to the partial bit string generation unit 110. Generate a partial bit string (= "α 2 ^ ip-12 ^ ip-2 '… α 0 ') that is a part of y i · β i · (M / m i ), where the smallest The partial bit string generation unit 110a corresponding to the modulus m 0 outputs the value y 0 (= “a p-1 a p-2 ... A 0 ”) as the partial bit string, while corresponding to the non-minimum modulus m i . partial bit string generating unit 110b~d to as partial bit string, the remainder value y i of the (2 ^ (2 ^ i- 1 p) -1) (= "00..0100..0 (-1)") The multiplied value is output.

部分ビット列複製部120a〜dのそれぞれは、当該部分ビット列複製部120に対応するモジュラス対応変換値yi・βi・(M/mi)の複数箇所に部分ビット列生成部110が生成した部分ビット列を複製する。これにより部分ビット列複製部120は、部分ビット列に当該モジュラスmiを乗じたモジュラス対応変換値yi・βi・(M/mi)を生成する。ここで、最大のモジュラスmk+1に対応する部分ビット列複製部120dは、部分ビット列生成部110が生成したビット列を、モジュラス対応変換値yk+1・βk+1・(M/m k+1)の1箇所に複製する。 Each of the partial bit string duplication units 120a to 120d is a partial bit string generated by the partial bit string generation unit 110 at a plurality of locations of the modulus-corresponding conversion values y i · β i · (M / m i ) corresponding to the partial bit string duplication unit 120. Duplicate. This partial bit string duplication unit 120 by generates modulus corresponding conversion value y i · β i · multiplied by the modulus m i the partial bit string (M / m i). Here, the partial bit string duplication unit 120d corresponding to the maximum modulus m k + 1 uses the bit string generated by the partial bit string generation unit 110 as the modulus corresponding conversion value y k + 1 · β k + 1 · (M / m k +1 ).

モジュラス対応変換値加算部130は、複数のモジュラスm0,…mk+1のそれぞれについてのモジュラス対応変換値を加算して、2進数の被変換数bin Yを算出する。なお、以上に示した各部分ビット列生成部110及び各部分ビット列複製部120は、モジュラス毎に別個の回路により実現されるのが望ましいが、これに代えて同一の回路を用いてモジュラス毎に順次処理する構成を採ることもできる。
なお、被変換数Yの各剰余値yiの組は、モジュラスセットSkの順序と異なる並びで入力されてもよい。この場合、変換装置10は、複数の剰余値yiの順序をモジュラスセットSkの順序に並べ替える剰余値並べ替え部を更に備えてもよい。
The modulus-corresponding conversion value adding unit 130 adds the modulus-corresponding conversion values for each of the plurality of moduli m 0 ,... M k + 1 to calculate a binary converted number bin Y. Each partial bit string generation unit 110 and each partial bit string duplication unit 120 described above are preferably realized by separate circuits for each modulus, but instead, the same circuit is used for each modulus in turn. A configuration for processing can also be adopted.
Note that each set of remainder value y i of the transformation number Y may be entered in a different arrangement and order of the modulus sets S k. In this case, converter 10 may further comprise a sequence modulus set S remainder value sorting unit to sort the order of k multiple remainder value y i.

図3は、本実施形態に係る部分ビット列生成部110の構成を示す。図3に示した部分ビット列生成部110は、最小で無い各モジュラスm1,…mk+1に対応して設けられ、当該モジュラスmiについての剰余値yi(="α2^(i-1)p α2^(i-1)p-1 … α0")から、部分ビット列 (="α2^ip-1' α2^ip-2' … α0'")を生成する。この部分ビット列は、式(2−4)におけるビット列"c2^ip-1' c2^ip-2' … c0'"に対応する。 FIG. 3 shows a configuration of the partial bit string generation unit 110 according to the present embodiment. Partial bit string generation unit 110 shown in FIG. 3, the modulus m 1 not the smallest, ... m k + 1 provided corresponding to the remainder value y i of the modulus m i (= "α 2 ^ (i -1) Generate partial bit sequence (= "α 2 ^ ip-12 ^ ip-2 '… α 0 '") from p α 2 ^ (i-1) p-1 … α 0 ") . This partial bit string corresponds to the bit string "c 2 ^ ip-1 'c 2 ^ ip-2 '... C 0 '" in Expression (2-4).

部分ビット列生成部110は、補数演算器200と、加算器210とを含む。補数演算器200は、モジュラスmiに対応する2i-1p+1ビットの剰余値yi(="α2^(i-1)p α2^(i-1)p-1 … α0")を入力し、当該剰余値yiの補数を算出する。本実施形態に係る補数演算器200は、当該剰余値yiの2の補数である2ipビットのビット列を出力する。 Partial bit string generation unit 110 includes a complement calculator 200 and an adder 210. Complement calculator 200, the modulus m i corresponding to the 2 i-1 p + 1-bit remainder value y i (= "α 2 ^ (i-1) p α 2 ^ (i-1) p-1 ... α 0 ") is input, and the complement of the remainder value y i is calculated. The complement computing unit 200 according to the present embodiment outputs a 2 i p-bit bit string that is a 2's complement of the remainder value y i .

加算器210は、剰余値yi(="α2^(i-1)p α2^(i-1)p-1 … α0")の下位2i-1pビットに補数演算器200が出力した補数の上位2i-1pビットを加える。そして加算器210は、加算結果を補数の下位2i-1pビットの上位桁に付加して、2ipビットの部分ビット列(="α2^ip-1 α2^ip-2 … α0")を生成する。これにより、加算器210は、剰余値yi(="α2^(i-1)p α2^(i-1)p-1 … α0")を当該モジュラスmiに対応する自然数分のビット数2i-1pだけ上位桁側にシフトした値から、当該剰余値を減じた値となる部分ビット列を生成することができる。 The adder 210 performs a complement operation unit 200 on the lower 2 i-1 p bits of the remainder value y i (= "α 2 ^ (i-1) p α 2 ^ (i-1) p-1 ... α 0 "). Adds the upper 2 i-1 p bits of the complement output by. Then, the adder 210 adds the addition result to the upper digits of the lower 2 i-1 p bits of the complement, and generates a partial bit string of 2 i p bits (= "α 2 ^ ip-1 α 2 ^ ip-2 ... α 0 ") is generated. As a result, the adder 210 converts the remainder value y i (= “α 2 ^ (i−1) p α 2 ^ (i−1) p−1 ... Α 0 ”) to the natural number corresponding to the modulus m i. A partial bit string having a value obtained by subtracting the remainder value from the value shifted to the upper digit side by the number of bits 2 i-1 p can be generated.

図4は、本実施形態に係る部分ビット列複製部120の構成を示す。部分ビット列複製部120は、複製器300と、EAC演算器310とを含む。最小のモジュラスm0に対応する複製器300は、式(2−3)に示したように、当該モジュラスm0に対応するモジュラス対応変換値の複数箇所、より具体的には2k+1箇所に、部分ビット列をpビット間隔で複製する。最小及び最大でないモジュラスmiに対応する複製器300は、式(2−4)で示したように、当該モジュラスmiに対応するモジュラス対応変換値の複数箇所、より具体的には2k-i+1箇所に、部分ビット列を2i・pビット間隔で複製する。これにより複製器300は、2k-i+1個の部分ビット列を結合する。このようにして得られるビット列は、下位ビットに2i-1p-(k-i+2)ビットの値を付加すればモジュラス対応変換値yi・βi・(M/mi)となる値をとる。最大のモジュラスmk+1に対応する複製器300は、式(2−1d)からわかるように、当該モジュラスmiに対応するモジュラス対応変換値の1箇所に、部分ビット列を複製する。 FIG. 4 shows a configuration of the partial bit string duplication unit 120 according to the present embodiment. The partial bit string duplication unit 120 includes a duplicator 300 and an EAC calculator 310. As shown in the equation (2-3), the duplicator 300 corresponding to the minimum modulus m 0 has a plurality of locations corresponding to the modulus m 0 corresponding to the modulus m 0 , more specifically 2 k + 1 locations. Secondly, the partial bit string is duplicated at p bit intervals. The duplicator 300 corresponding to the modulus m i that is not the minimum and the maximum is, as shown in Expression (2-4), a plurality of places corresponding to the modulus corresponding to the modulus m i , more specifically, 2 k−. The partial bit string is duplicated at 2 i · p bit intervals at i + 1 locations. As a result, the replicator 300 combines 2 k−i + 1 partial bit strings. The bit string obtained in this way becomes a modulus-corresponding conversion value y i · β i · (M / m i ) if 2 i-1 p- (k-i + 2) bits are added to the lower bits. Takes a value. Largest duplicator 300 corresponding to the modulus m k + 1, as can be seen from equation (2-1d), the one place of the modulus corresponding conversion value corresponding to the modulus m i, replicating the partial bit string.

EAC演算器310は、式(2−8)に示したように、複製器300が出力したビット列の上位2i-1p-(k-i+2)ビットを、当該ビット列の下位ビット側に循環シフトすることによりEAC処理を行う。これにより、EAC演算器310は、EAC処理済みのモジュラス対応変換値yi・βi・(M/mi)を得ることができる。 As shown in the equation (2-8), the EAC computing unit 310 sets the upper 2 i-1 p- (k−i + 2) bits of the bit string output from the duplicator 300 to the lower bit side of the bit string. EAC processing is performed by cyclic shift. As a result, the EAC computing unit 310 can obtain the modulus-corresponding conversion value y i · β i · (M / m i ) that has been subjected to EAC processing.

以上に示した部分ビット列複製部120によれば、部分ビット列を複数箇所に複製し、上位ビットを下位ビットに移動させることにより、モジュラス対応変換値yi・βi・(M/mi)を得ることができる。したがって、部分ビット列複製部120は、乗算器や加算器等の演算回路を用いることなく、部分ビット列の複製及び一部のビットの移動によりモジュラス対応変換値yi・βi・(M/mi)を生成することができ、少ないハードウェア量で高速に処理を行うことができる。 According to the partial bit string duplicating unit 120 shown above, the partial bit string is duplicated at a plurality of locations, and the upper bit is moved to the lower bit, whereby the modulus corresponding conversion value y i · β i · (M / m i ) is obtained. Obtainable. Therefore, the partial bit string duplication unit 120 does not use an arithmetic circuit such as a multiplier or an adder, and the modulus-corresponding conversion values y i , β i , (M / m i) can be obtained by duplicating the partial bit string and moving some bits. ) Can be generated, and processing can be performed at high speed with a small amount of hardware.

図5は、本実施形態に係る変換装置10の動作フローを示す。
まず、複数の部分ビット列生成部110のそれぞれは、対応する剰余桁についての剰余値yiに基づいて、当該剰余桁に対応する部分ビット列を生成する(S400)。
FIG. 5 shows an operation flow of the conversion apparatus 10 according to the present embodiment.
First, each of the plurality of partial bit string generation units 110 generates a partial bit string corresponding to the remainder digit based on the remainder value y i for the corresponding remainder digit (S400).

次に、複数の部分ビット列複製部120のそれぞれは、対応する剰余桁についての部分ビット列を複製してEAC処理を行う(S410)。この処理により部分ビット列複製部120は、被変換数Yの当該モジュラスmiによる剰余値yiに、当該モジュラスmiに対応する剰余値が1かつ他のモジュラスに対応する剰余値が0となる2進数の値、すなわち式(1−14)のb)等の値を乗じて、当該剰余桁についてのモジュラス対応変換値yi・βi・(M/mi)を生成することができる。 Next, each of the plurality of partial bit string duplication units 120 duplicates the partial bit string for the corresponding remainder digit and performs EAC processing (S410). Partial bit string duplication unit 120 by this process, the remainder value y i by the modulus m i of the transformation number Y, the remainder value remainder value corresponding to the modulus m i corresponds to one and the other modulus becomes 0 By multiplying a binary value, that is, a value such as b) in the formula (1-14), a modulus-corresponding conversion value y i · β i · (M / m i ) for the remainder digit can be generated.

そして、モジュラス対応変換値加算部130は、全てのモジュラス対応変換値を加算していくことにより合計を算出し、被変換数Yの2進表現として出力する。   Then, the modulus-corresponding conversion value adding unit 130 calculates the sum by adding all the modulus-corresponding conversion values, and outputs the sum as a binary representation of the converted number Y.

以上に示した変換装置10によれば、剰余系の被変換数Yを、少ないハードウェア量で高速に2進数に変換することができる。   According to the conversion device 10 described above, the residue-based converted number Y can be converted to a binary number at high speed with a small amount of hardware.

以上に代えて変換装置10は、一部のモジュラスについてのみビット列の複製を用いてモジュラス対応変換値を求めてもよい。すなわち、2を自然数によりべき乗した、当該モジュラスより小さいモジュラスの積より大きいべき乗値に、1を加えた値をとるあるモジュラスmiが存在する場合に、当該モジュラスmiより小さいモジュラスmjについて上記のS410の処理を行ってもよい。 Instead of the above, the conversion apparatus 10 may obtain a modulus-corresponding conversion value by using a bit string replica for only some of the moduli. That is, 2 raised to the power by a natural number, the product is greater than a power value smaller modulus than the modulus, if the modulus m i is present with taking a value obtained by adding 1, for the modulus m i is less than the modulus m j above The process of S410 may be performed.

図6は、本実施形態の変形例に係る変換装置10の構成を示す。本変形例に係る変換装置10は、剰余系により表現された被変換数を2進数に変換する。この剰余系は、図2に関連して説明した剰余系と同様である。   FIG. 6 shows a configuration of the conversion apparatus 10 according to a modification of the present embodiment. The conversion apparatus 10 according to the present modification converts the number to be converted expressed by a residue system into a binary number. This residue system is the same as the residue system described with reference to FIG.

本変形例に係る変換装置10は、各モジュラスに対応する部分ビット列を加算していく際に、部分和の下位ビット列を上位ビット列に複製した被加算数を用いる。これにより、変換装置10は、各モジュラスに対応する剰余値のビット数に合わせて加算器のビット数を低減することができ、剰余系の被変換数Yを、少ないハードウェア量で高速に2進数に変換することができる。   When the conversion apparatus 10 according to the present modification adds the partial bit strings corresponding to the respective moduli, the conversion apparatus 10 uses the added number obtained by copying the lower bit string of the partial sum to the upper bit string. Thereby, the conversion apparatus 10 can reduce the number of bits of the adder in accordance with the number of bits of the remainder value corresponding to each modulus, and can reduce the number of conversions Y of the residue system to 2 at high speed with a small amount of hardware. Can be converted to hexadecimal.

変換装置10は、1又は複数の部分ビット列生成部110(110a〜d)と、モジュラス対応変換値加算部600とを備える。部分ビット列生成部110のそれぞれは、複数のモジュラスm0,…,mk+1のそれぞれについて、当該モジュラスmiに対応するモジュラス対応変換値yi・βi・(M/mi)の少なくとも一部に含まれる部分ビット列(="α2^ip-1 α2^ip-2 … α0")を生成する。このモジュラス対応変換値は、図1の変換装置10と同様に、複数のモジュラスのうち当該モジュラス以外のモジュラスを乗じた値に基づく2進数の値である。ここで、本変形例に係る部分ビット列生成部110は、図2及び図3に示した部分ビット列生成部110と同一の機能及び構成を採るため、説明を省略する。 The conversion apparatus 10 includes one or a plurality of partial bit string generation units 110 (110a to 110d) and a modulus corresponding conversion value addition unit 600. Each of the partial bit string generation unit 110, a plurality of moduli m 0, ..., for each m k + 1, at least the modulus corresponding conversion value y i · β i · corresponding to the modulus m i (M / m i) A partial bit string (= "α 2 ^ ip-1 α 2 ^ ip-2 ... α 0 ") included in a part is generated. This modulus-corresponding conversion value is a binary value based on a value obtained by multiplying a modulus other than the modulus among a plurality of moduli, as in the conversion device 10 of FIG. Here, the partial bit string generation unit 110 according to this modification has the same function and configuration as the partial bit string generation unit 110 illustrated in FIGS.

モジュラス対応変換値加算部600は、複数のモジュラスm0,…,mk+1のそれぞれについての部分ビット列に基づいて、複数のモジュラスm0,…,mk+1のそれぞれについてのモジュラス対応変換値yi・βi・(M/mi)を加算した2進数の被変換数を算出する。モジュラス対応変換値加算部600は、1又は複数の下位ビット列複製部610(610a、610b、610c、…)と、1又は複数のビット列加算部620(620a、620b、…、620d)とを有する。 Modulus corresponding conversion value adding unit 600, a plurality of moduli m 0, ..., based on partial bit strings for each of the m k + 1, a plurality of moduli m 0, ..., modulus corresponding conversion for each of the m k + 1 A binary converted number is calculated by adding the values y i , β i, and (M / m i ). The modulus-corresponding conversion value addition unit 600 includes one or more lower-order bit string duplication units 610 (610a, 610b, 610c,...) And one or more bit string addition units 620 (620a, 620b,..., 620d).

それぞれの下位ビット列複製部610は、複数のモジュラスm0,…,mk+1のうち最小でないモジュラスm1,…,mk+1のそれぞれに対応して設けられる。下位ビット列複製部610は、図1に示したように、対応するモジュラスmiより小さい全てのモジュラスに対応するモジュラス対応変換値y0・β0・(M/m0)、…、yi-1・βi-1・(M/mi-1)の和である第1の部分和の一部に含まれる予め定められたビット数の下位ビット列を、当該下位ビット列より上位桁の上位ビット列として複製する。これにより下位ビット列複製部610は、同一の上位ビット列及び下位ビット列を含む被加算数を生成する。この際、モジュラスm1に対応して設けられた下位ビット列複製部610aは、第1の部分和の下位ビット列として、部分ビット列生成部110aが出力した剰余値y0のビット列を用いる。 Each lower bit string copying unit 610, a plurality of moduli m 0, ..., modulus m 1 is not the smallest among the m k + 1, ..., is provided corresponding to each of the m k + 1. As shown in FIG. 1, the lower-order bit string duplication unit 610 converts the modulus-corresponding conversion values y 0 · β 0 · (M / m 0 ),..., Y i− corresponding to all moduli smaller than the corresponding modulus m i. A lower bit string having a predetermined number of bits included in a part of the first partial sum which is the sum of 1 · β i-1 · (M / m i-1 ) Duplicate as. As a result, the lower bit string duplication unit 610 generates an addend number including the same upper bit string and lower bit string. In this case, lower bit string copying unit 610a provided corresponding to the modulus m 1 is the low-order bit string of the first partial sum, using the bit sequence of the remainder value y 0 of the partial bit string generating unit 110a is output.

それぞれのビット列加算部620は、複数のモジュラスm0,…,mk+1のうち最小でないモジュラスm1,…,mk+1のそれぞれに対応して設けられる。ビット列加算部620は、図1に示したように、対応するモジュラスmiについて下位ビット列複製部610により生成された被加算数に、当該モジュラスmiに対応して部分ビット列生成部110により生成された部分ビット列を加算する。これによりビット列加算部620は、当該モジュラスmiより小さい全てのモジュラスm0,…,mi-1について算出された第1の部分和に、当該モジュラスmiについてのモジュラス対応変換値を加えた第2の部分和の、少なくとも一部に含まれる下位ビット列を算出する。この下位ビット列は、モジュラスm0,…,miについて算出された部分和の下位ビット列として、当該モジュラスmiの次に大きいモジュラスmi+1に対応する下位ビット列複製部610に入力される。そして、最大のモジュラスmk+1に対応するビット列加算部620dにより算出されたビット列は、全てのモジュラス対応変換値の和となり、被変換数の2進数表現bin Yとして出力される。 Each bit string adding unit 620, a plurality of moduli m 0, ..., modulus m 1 is not the smallest among the m k + 1, ..., is provided corresponding to each of the m k + 1. Bit string adding section 620, as shown in FIG. 1, the augend generated by lower bit string duplication unit 610 for the corresponding modulus m i, is produced by the partial bit string generation unit 110 in correspondence with the modulus m i Add the partial bit strings. Thus the bit string adding section 620, the modulus m i is less than all of the moduli m 0, ..., the first partial sum calculated for m i-1, was added a modulus corresponding conversion values for the modulus m i A lower-order bit string included in at least a part of the second partial sum is calculated. The lower bit string, modulus m 0, ..., as lower bit string of the partial sum calculated for m i, is input to the lower bit string copying unit 610 that corresponds to the modulus m i + 1 large following the modulus m i. Then, the bit string calculated by the bit string adding unit 620d corresponding to the maximum modulus m k + 1 is the sum of all the modulus-corresponding conversion values, and is output as a binary expression bin Y of the converted number.

図7は、本実施形態の変形例に係る下位ビット列複製部610の構成を示す。下位ビット列複製部610は、対応するモジュラスmiより小さい全てのモジュラスに対応するモジュラス対応変換値y0・β0・(M/m0)、…、yi-1・βi-1・(M/mi-1)の和である第1の部分和の下位ビット列を入力する。そして、このp・2i-1ビットの下位ビット列を、当該下位ビット列より上位桁のp・2i-1ビットの上位ビット列として複製して、p・2iビットの被加算数を生成する。 FIG. 7 shows a configuration of the lower-order bit string duplication unit 610 according to a modification of the present embodiment. Lower bit string copying unit 610, the corresponding modulus m i modulus corresponding conversion value corresponding to all the modulus less than y 0 · β 0 · (M / m 0), ..., y i-1 · β i-1 · ( The lower bit string of the first partial sum which is the sum of M / m i-1 ) is input. Then, the lower bit string of the p · 2 i-1 bits, and replicated as p · 2 i-1 bits of the upper bit string of the upper digit from the lower bit string, and generates a augend of p · 2 i bits.

以上に示した下位ビット列複製部610によれば、モジュラスmiに対応する部分ビット列と同一ビット数の被加算数をビット列の複製により生成することができる。 According to lower bit string copying unit 610 shown above, the number of the addition of the partial bit strings and the same number of bits corresponding to the modulus m i may be produced by replication of the bit string.

図8は、本実施形態の変形例に係るビット列加算部620の構成を示す。ビット列加算部620は、加算器800と、EAC演算器810とを含む。加算器800は、図1に示したように、対応するモジュラスmiについての被加算数に、当該モジュラスmiに対応するモジュラス対応変換値における下位p・2iビットの部分ビット列を加算する。EAC演算器810は、加算により被加算数及び部分ビット列のビット数を越える桁あふれが生じた場合に、式(2−8)及び図1に示したように、加算の結果得られたビット列における、被加算数と同一ビット数の下位ビット列の下位ビットに、桁あふれしたビットを加えることによりEAC処理を行う。 FIG. 8 shows a configuration of a bit string adder 620 according to a modification of the present embodiment. The bit string adder 620 includes an adder 800 and an EAC calculator 810. The adder 800, as shown in FIG. 1, the augend for the corresponding modulus m i, adds the partial bit string of the lower p · 2 i bits in the modulus corresponding conversion value corresponding to the modulus m i. The EAC computing unit 810, in the case where an overflow exceeding the number of the added number and the number of bits of the partial bit string occurs due to the addition, in the bit string obtained as a result of the addition, as shown in Expression (2-8) and FIG. The EAC process is performed by adding the overflowing bits to the lower bits of the lower bit string having the same number of bits as the added number.

以上に示したビット列加算部620によれば、第1の部分和に当該モジュラスmiについてのモジュラス対応変換値yi・βi・(M/mi)を加えた第2の部分和におけるp・2iビットの下位ビット列を算出することができる。 According to the bit string adding unit 620 shown above, p in the second partial sum plus modulus corresponding conversion value y i · β i · (M / m i) of the modulus m i in the first partial sum・ 2 i- bit lower bit string can be calculated.

図9は、本実施形態の変形例に係る変換装置10の動作フローを示す。
まず、複数の部分ビット列生成部110のそれぞれは、対応する剰余桁についての剰余値yiに基づいて、当該剰余桁に対応する部分ビット列を生成する(S400)。次に、モジュラス対応変換値加算部600は、最小でないモジュラスm1,…,mk+1のそれぞれに対応してS910からS930の処理を繰り返す(S900、S940)。
FIG. 9 shows an operation flow of the conversion apparatus 10 according to the modification of the present embodiment.
First, each of the plurality of partial bit string generation units 110 generates a partial bit string corresponding to the remainder digit based on the remainder value y i for the corresponding remainder digit (S400). Next, the modulus-corresponding conversion value adding unit 600 repeats the processing from S910 to S930 corresponding to each of the non-minimum moduli m 1 ,..., M k + 1 (S900, S940).

繰返し処理において、処理対象のモジュラスmiに対応する下位ビット列複製部610は、i-1番目の部分和の下位ビット列を上位ビット列に複製して、i番目の被加算数を生成する(S910)。次に、処理対象のモジュラスmiに対応するビット列加算部620は、i番目の被加算数に、i番目の部分ビット列を加算する(S920)。そして、ビット列加算部620は、加算結果に対しEAC処理を行い、i番目の部分和の下位ビット列を生成する(S930)。 In the iterative process, the lower bit string duplication unit 610 corresponding to the modulus m i to be processed duplicates the lower bit string of the (i−1) th partial sum to the upper bit string to generate the i th added number (S910). . Next, the bit string addition unit 620 corresponding to the modulus m i to be processed adds the i-th partial bit string to the i-th added number (S920). Then, the bit string adder 620 performs EAC processing on the addition result, and generates a lower bit string of the i-th partial sum (S930).

以上の処理を繰り返すことにより(S940)、最終段のビット列加算部620から全てのモジュラス対応変換値の和を出力することができる。   By repeating the above processing (S940), the sum of all the modulus-corresponding conversion values can be output from the bit string adder 620 at the final stage.

一例として、p=3, k=2とし、モジュラスセットをSk ={m0, m1, m2, m3} = {7(=23-1), 9(=23+1), 65(=26+1), 4097(=212+1)}とした場合において、この剰余系で表現された被変換数(y0、 y1、 y2、 y3) = (5、 6、47、3125)に中国人の剰余定理を適用して2進数表現に変換する計算を示す。各剰余値の2進数表現は、y0=”101”、 y1=”110”、 y2 = “101111”、 y3 = “110000110101”である。 As an example, p = 3, k = 2, and the modulus set is S k = {m 0 , m 1 , m 2 , m 3 } = (7 (= 2 3 -1), 9 (= 2 3 +1) , 65 (= 2 6 +1), 4097 (= 2 12 +1)}, the number of transforms (y 0 , y 1 , y 2 , y 3 ) = (5 , 6, 47, 3125) show the calculation to convert the binary representation by applying the Chinese remainder theorem. The binary representation of each remainder value is y 0 = “101”, y 1 = “110”, y 2 = “101111”, y 3 = “110000110101”.

まず、補数演算器200は、y1、 y2、 y3について、2の補数 (-y1)= “111010”、 (-y2)= “111111010001”、 (-y3)= “111111111111001111001011”を算出する。次に、加算器210は、(-y1)のMSB側にy1を加算して、部分ビット列“101010”をえる。同様に、加算器210は、(-y2)のMSB側、(-y3)のMSB側にy2、 y3を加算し、部分ビット列“101110010001”、 “110000110100001111001011”をえる。加算器210は、前述した性質1にもとづいて、y2・β2・(M/m2) については4ビット、 y3・β3・(M/m3)については11ビットのEAC処理を行う。これにより、加算器210は、EAC処理済みの部分ビット列 “100100011011”及び“000111100101111000011010”をえる。これが、中国人の剰余定理における乗算部 の部分積に相当する。 First, the complement computing unit 200 sets the two's complement (−y 1 ) = “111010”, (−y 2 ) = “111111010001”, (−y 3 ) = “111111111111001111001011” for y 1 , y 2 , y 3. Is calculated. Then, the adder 210, - by adding y 1 to the MSB side of (y 1), obtain a partial bit string "101010". Similarly, the adder 210 adds y 2 and y 3 to the MSB side of (−y 2 ) and the MSB side of (−y 3 ) to obtain partial bit strings “101110010001” and “110000110100001111001011”. The adder 210 performs EAC processing of 4 bits for y 2 · β 2 · (M / m 2 ) and 11 bits for y 3 · β 3 · (M / m 3 ) based on the property 1 described above. Do. As a result, the adder 210 obtains the partial bit strings “100100011011” and “000111100101111000011010” that have been subjected to EAC processing. This corresponds to the partial product of the multiplication part in the Chinese remainder theorem.

次に、下位ビット列複製部610aは、y0=“101”を2箇所に複製して被加算数“101101”とする。ビット列加算部620aは、当該被加算数と部分ビット列“101010”を加算したビット列”1010111”のMSBをEAC処理し、モジュラスm1に対応する部分和(部分和1)の下位ビット列”011000”をえる。 Next, the lower-order bit string duplication unit 610a duplicates y 0 = “101” in two places to obtain the added number “101101”. The bit string adder 620a performs EAC processing on the MSB of the bit string “1010111” obtained by adding the added number and the partial bit string “101010” to obtain the lower bit string “011000” of the partial sum (partial sum 1) corresponding to the modulus m 1 Yeah.

次に、下位ビット列複製部610bは、この部分和1を2箇所に複製して被加算数”011000011000”とする。ビット列加算部620bは、当該被加算数と部分ビット列“100100011011”を加算したビット列”111100110011”をえる。13ビット目にキャリーが発生していないので、EAC処理は不要となり、このビット列がモジュラスm2に対応する部分和(部分和2)の下位ビット列となる。 Next, the lower-order bit string duplicating unit 610b duplicates this partial sum 1 in two places to obtain the added number “011000011000”. The bit string adding unit 620b obtains a bit string “111100110011” obtained by adding the added number and the partial bit string “100100011011”. Since the carry in bit 13 does not occur, EAC processing is not required, the lower bit string of the partial sums this bit string corresponds to the modulus m 2 (partial sum 2).

次に、下位ビット列複製部610cは、この部分和2を2箇所に複製して被加算数”111100110011111100110011”とする。ビット列加算部620cは、当該被加算数と部分ビット列“000111100101111000011010”を加算したビット列”1000100011001110101001101”のMSBをEAC処理し、被変換数を2進数に変換した24ビットの数値”000100011001110101001110”をえる。この数値を10進数で表現すると1154382となり、この数値が(y0、 y1、 y2、 y3) = (5、 6、47、3125)にたいする中国人の剰余定理の計算結果となる。   Next, the lower-order bit string duplicating unit 610c duplicates this partial sum 2 in two places to obtain the added number “111100110011111100110011”. The bit string adder 620c performs EAC processing on the MSB of the bit string “1000100011001110101001101” obtained by adding the added number and the partial bit string “000111100101111000011010” to obtain a 24-bit numerical value “000100011001110101001110” obtained by converting the converted number into a binary number. When this number is expressed in decimal, it becomes 1154382, and this number is the calculation result of the Chinese remainder theorem for (y0, y1, y2, y3) = (5, 6, 47, 3125).

以上に示した変換装置10によれば、モジュラス対応変換値加算部600は、各モジュラスmiに対応して被加算数及び部分ビット列を加算するために、被加算数及び部分ビット列のビット数に応じたビット数の加算器800を用いることができる。すなわち、ビット列加算部620は、第1のモジュラスmi1について、p・2i1ビットの被加算数に、モジュラス対応変換値におけるp・2i1ビットの部分ビット列を加算するp・2i1ビットの加算器210と、第2のモジュラスmi2について、p・2i2ビットの被加算数に、モジュラス対応変換値におけるp・2i2ビットの部分ビット列を加算するp・2i2ビットの加算器210とを別個に用意しておくことができる。これにより、値が小さいモジュラスについては少ないビット数の加算器を使用することができ、少ないハードウェア量でより高速に被変換数の変換を行うことができる。 According to the conversion device 10 shown above, the modulus corresponding conversion value adding unit 600, corresponding to the modulus m i for adding the augend and partial bit strings, the number of bits augend and partial bit string An adder 800 with a corresponding number of bits can be used. That is, the bit string adding unit 620, the first modulus m i1, p · 2 i1 to augend bits, the addition of p · 2 i1 bits for adding the partial bit string of p · 2 i1 bits in modulus corresponding conversion value a vessel 210, the second modulus m i2, the augend of p · 2 i2 bits, the p · 2 i2 bits for adding the partial bit string of p · 2 i2 bits in modulus corresponding conversion value and an adder 210 It can be prepared separately. As a result, an adder having a small number of bits can be used for a modulus having a small value, and conversion of the number to be converted can be performed more quickly with a small amount of hardware.

以上に代えて変換装置10は、一部のモジュラスについてのみビット列の複製を用いて被加算数を求めてもよい。すなわち、ある第1のモジュラスmiについて、下位ビット列複製部610は、第1のモジュラスmiより小さい少なくとも1つのモジュラスに対応するモジュラス対応変換値の和である第1部分和の一部に含まれる下位ビット列を上位ビット列として複製し、同一の上位ビット列及び下位ビット列を含む被加算数を生成してもよい。この場合、ビット列加算部620は、この被加算数に、第1のモジュラスmiに対応する部分ビット列を加算して、第2の部分和の少なくとも一部に含まれるビット列を生成する。 Instead of the above, the conversion apparatus 10 may obtain the addend number by using bit string duplication only for some moduli. That is, for the first modulus m i in the lower bit string copying unit 610, included as part of the first partial sum is the sum of the modulus corresponding conversion value corresponding to a first modulus m i is smaller than at least one modulus The lower bit string may be copied as the upper bit string, and the added number including the same upper bit string and the lower bit string may be generated. In this case, the bit string adding unit 620, to the augend, by adding the partial bit string corresponding to the first modulus m i, to generate a bit string included in at least part of the second partial sum.

図10は、本実施形態に係るコンピュータ1900のハードウェア構成の一例を示す。本実施形態に係るコンピュータ1900は、ホスト・コントローラ2082により相互に接続されるCPU2000、RAM2020、グラフィック・コントローラ2075、及び表示装置2080を有するCPU周辺部と、入出力コントローラ2084によりホスト・コントローラ2082に接続される通信インターフェイス2030、ハードディスクドライブ2040、及びCD−ROMドライブ2060を有する入出力部と、入出力コントローラ2084に接続されるROM2010、フレキシブルディスク・ドライブ2050、及び入出力チップ2070を有するレガシー入出力部とを備える。   FIG. 10 shows an example of a hardware configuration of a computer 1900 according to this embodiment. A computer 1900 according to this embodiment is connected to a CPU peripheral unit having a CPU 2000, a RAM 2020, a graphic controller 2075, and a display device 2080 that are connected to each other by a host controller 2082, and to the host controller 2082 by an input / output controller 2084. Input / output unit having communication interface 2030, hard disk drive 2040, and CD-ROM drive 2060, and legacy input / output unit having ROM 2010, flexible disk drive 2050, and input / output chip 2070 connected to input / output controller 2084 With.

ホスト・コントローラ2082は、RAM2020と、高い転送レートでRAM2020をアクセスするCPU2000及びグラフィック・コントローラ2075とを接続する。CPU2000は、ROM2010及びRAM2020に格納されたプログラムに基づいて動作し、各部の制御を行う。グラフィック・コントローラ2075は、CPU2000等がRAM2020内に設けたフレーム・バッファ上に生成する画像データを取得し、表示装置2080上に表示させる。これに代えて、グラフィック・コントローラ2075は、CPU2000等が生成する画像データを格納するフレーム・バッファを、内部に含んでもよい。   The host controller 2082 connects the RAM 2020 to the CPU 2000 and the graphic controller 2075 that access the RAM 2020 at a high transfer rate. The CPU 2000 operates based on programs stored in the ROM 2010 and the RAM 2020 and controls each unit. The graphic controller 2075 acquires image data generated by the CPU 2000 or the like on a frame buffer provided in the RAM 2020 and displays it on the display device 2080. Instead of this, the graphic controller 2075 may include a frame buffer for storing image data generated by the CPU 2000 or the like.

入出力コントローラ2084は、ホスト・コントローラ2082と、比較的高速な入出力装置である通信インターフェイス2030、ハードディスクドライブ2040、CD−ROMドライブ2060を接続する。通信インターフェイス2030は、ネットワークを介して他の装置と通信する。ハードディスクドライブ2040は、コンピュータ1900内のCPU2000が使用するプログラム及びデータを格納する。CD−ROMドライブ2060は、CD−ROM2095からプログラム又はデータを読み取り、RAM2020を介してハードディスクドライブ2040に提供する。   The input / output controller 2084 connects the host controller 2082 to the communication interface 2030, the hard disk drive 2040, and the CD-ROM drive 2060, which are relatively high-speed input / output devices. The communication interface 2030 communicates with other devices via a network. The hard disk drive 2040 stores programs and data used by the CPU 2000 in the computer 1900. The CD-ROM drive 2060 reads a program or data from the CD-ROM 2095 and provides it to the hard disk drive 2040 via the RAM 2020.

また、入出力コントローラ2084には、ROM2010と、フレキシブルディスク・ドライブ2050、及び入出力チップ2070の比較的低速な入出力装置とが接続される。ROM2010は、コンピュータ1900が起動時に実行するブート・プログラムや、コンピュータ1900のハードウェアに依存するプログラム等を格納する。フレキシブルディスク・ドライブ2050は、フレキシブルディスク2090からプログラム又はデータを読み取り、RAM2020を介してハードディスクドライブ2040に提供する。入出力チップ2070は、フレキシブルディスク・ドライブ2050や、例えばパラレル・ポート、シリアル・ポート、キーボード・ポート、マウス・ポート等を介して各種の入出力装置を接続する。   The input / output controller 2084 is connected to the ROM 2010, the flexible disk drive 2050, and the relatively low-speed input / output device of the input / output chip 2070. The ROM 2010 stores a boot program that the computer 1900 executes at startup, a program that depends on the hardware of the computer 1900, and the like. The flexible disk drive 2050 reads a program or data from the flexible disk 2090 and provides it to the hard disk drive 2040 via the RAM 2020. The input / output chip 2070 connects various input / output devices via a flexible disk drive 2050 and, for example, a parallel port, a serial port, a keyboard port, a mouse port, and the like.

RAM2020を介してハードディスクドライブ2040に提供されるプログラムは、フレキシブルディスク2090、CD−ROM2095、又はICカード等の記録媒体に格納されて利用者によって提供される。プログラムは、記録媒体から読み出され、RAM2020を介してコンピュータ1900内のハードディスクドライブ2040にインストールされ、CPU2000において実行される。   A program provided to the hard disk drive 2040 via the RAM 2020 is stored in a recording medium such as the flexible disk 2090, the CD-ROM 2095, or an IC card and provided by the user. The program is read from the recording medium, installed in the hard disk drive 2040 in the computer 1900 via the RAM 2020, and executed by the CPU 2000.

コンピュータ1900にインストールされ、コンピュータ1900を図2に示した変換装置10として機能させるプログラムは、部分ビット列生成モジュール及び部分ビット列複製モジュールを有するモジュラス対応変換値生成モジュールと、モジュラス対応変換値加算モジュールとを備える。これらのプログラム又はモジュールは、CPU2000等に働きかけて、コンピュータ1900を、1又は複数の部分ビット列生成部110及び1又は複数の部分ビット列複製部120を有するモジュラス対応変換値生成部100と、モジュラス対応変換値加算部130としてそれぞれ機能させる。部分ビット列生成モジュールは、補数演算プログラムと、加算プログラムとを含む。これらのプログラムは、CPU2000等に働きかけて、コンピュータ1900を、補数演算器200及び加算器210としてそれぞれ機能させる。部分ビット列複製モジュールは、複製プログラムと、EAC演算プログラムとを含む。これらのプログラムは、CPU2000等に働きかけて、コンピュータ1900を、複製器300及びEAC演算器310としてそれぞれ機能させる。   A program that is installed in the computer 1900 and causes the computer 1900 to function as the conversion device 10 shown in FIG. 2 includes a modulus-corresponding conversion value generation module having a partial bit string generation module and a partial bit string duplication module, and a modulus-corresponding conversion value addition module. Prepare. These programs or modules work with the CPU 2000 or the like to convert the computer 1900 into a modulus-corresponding conversion value generation unit 100 having one or a plurality of partial bit string generation units 110 and one or a plurality of partial bit string duplication units 120, and a modulus corresponding conversion. Each of them functions as the value adder 130. The partial bit string generation module includes a complement calculation program and an addition program. These programs work on the CPU 2000 or the like to cause the computer 1900 to function as the complement calculator 200 and the adder 210, respectively. The partial bit string duplication module includes a duplication program and an EAC operation program. These programs work on the CPU 2000 or the like to cause the computer 1900 to function as the duplicator 300 and the EAC calculator 310, respectively.

また、コンピュータ1900にインストールされ、コンピュータ1900を図6に示した変換装置10として機能させるプログラムは、部分ビット列生成モジュールと、下位ビット列複製モジュール及びビット列加算モジュールを有するモジュラス対応変換値生成モジュールと、モジュラス対応変換値加算モジュールとを備える。これらのプログラム又はモジュールは、CPU2000等に働きかけて、コンピュータ1900を、1又は複数の部分ビット列生成部110と、1又は複数の下位ビット列複製部610及びビット列加算部620を有するモジュラス対応変換値加算部600としてそれぞれ機能させる。ビット列加算モジュールは、加算プログラムと、EAC演算プログラムとを含む。これらのプログラム又はモジュールは、CPU2000等に働きかけて、コンピュータ1900を、加算器800及びEAC演算器810としてそれぞれ機能させる。   A program that is installed in the computer 1900 and causes the computer 1900 to function as the conversion device 10 illustrated in FIG. 6 includes a partial bit string generation module, a low-order bit string duplication module, and a modulus-compatible conversion value generation module including a bit string addition module, a modulus And a corresponding conversion value addition module. These programs or modules operate on the CPU 2000 or the like to convert the computer 1900 into one or more partial bit string generation units 110, one or a plurality of lower bit string duplication units 610, and a bit string addition unit 620. Each of them functions as 600. The bit string addition module includes an addition program and an EAC operation program. These programs or modules work on the CPU 2000 or the like to cause the computer 1900 to function as the adder 800 and the EAC calculator 810, respectively.

以上に示したプログラム又はモジュールは、外部の記憶媒体に格納されてもよい。記憶媒体としては、フレキシブルディスク2090、CD−ROM2095の他に、DVDやCD等の光学記録媒体、MO等の光磁気記録媒体、テープ媒体、ICカード等の半導体メモリ等を用いることができる。また、専用通信ネットワークやインターネットに接続されたサーバシステムに設けたハードディスク又はRAM等の記憶装置を記録媒体として使用し、ネットワークを介してプログラムをコンピュータ1900に提供してもよい。   The program or module shown above may be stored in an external storage medium. As the storage medium, in addition to the flexible disk 2090 and the CD-ROM 2095, an optical recording medium such as DVD or CD, a magneto-optical recording medium such as MO, a tape medium, a semiconductor memory such as an IC card, or the like can be used. Further, a storage device such as a hard disk or a RAM provided in a server system connected to a dedicated communication network or the Internet may be used as a recording medium, and the program may be provided to the computer 1900 via the network.

図11は、図6に示した変換装置10の回路規模及び計算時間を、従来技術(非特許文献2)における計算方法と比較した結果を示す。ここでは、1ビット半加算器のトランジスタ数(約15トランジスタ)を1HA、1ビット半加算器の遅延を1Dとして比較する。この場合、1ビット全加算器の回路規模及び遅延はそれぞれ2HA及び 2Dとなる。補数演算については、従来技術及び変換装置10において共通して行われるため、省略する。   FIG. 11 shows the result of comparing the circuit scale and calculation time of the conversion apparatus 10 shown in FIG. 6 with the calculation method in the prior art (Non-Patent Document 2). Here, the number of transistors of the 1-bit half adder (about 15 transistors) is 1HA, and the delay of the 1-bit half adder is 1D. In this case, the circuit scale and delay of the 1-bit full adder are 2HA and 2D, respectively. Since the complement calculation is performed in common in the prior art and the conversion apparatus 10, it is omitted.

モジュラスセットがSk ={m0, m1, m2, m3} = {7(=23-1)、 9(=23+1)、 65(=26+1)、 4097(=212+1)}の場合、従来技術においては、24ビットの全加算器が3段とEAC処理のための半加算器(12ビット)が3段必要となり、回路規模は24×2HA×3+12HA×3 = 180HAとなる。また、非特許文献2においては、遅延量は、(24ビット加算器の遅延3段分)+(EACの遅延)= 24×2D×3+12×1D = 156Dとなる。 The modulus set is S k = {m 0 , m 1 , m 2 , m 3 } = {7 (= 2 3 -1), 9 (= 2 3 +1), 65 (= 2 6 +1), 4097 ( = 2 12 +1)}, the prior art requires 3 stages of 24-bit full adders and 3 stages of half adders (12 bits) for EAC processing, and the circuit scale is 24 × 2HA × 3 + 12HA × 3 = 180HA. In Non-Patent Document 2, the delay amount is (3 stages of delay of a 24-bit adder) + (EAC delay) = 24 × 2D × 3 + 12 × 1D = 156D.

これに対し、変換装置10によれば、回路規模は(6ビット全加算器)+(12ビット全加算器)+(24ビット全加算器)+(3ビットEAC)+(6ビットEAC)+(12ビットEAC) +(3ビットEAC)+(6ビットEAC)+(12ビットEAC) = 6×2HA+12×2HA+24×2HA+3HA+6HA+12HA +3HA+6HA+12HA = 126HAとなる。また、遅延は、(6ビット加算器の遅延)+(12ビット加算器の遅延) +(24ビット加算器の遅延)+(12ビットEACの遅延)+(12ビットEACの遅延)= 6×2D + 12×2D+24×2D+12×1D +12×1D = 108Dとなる。   On the other hand, according to the converter 10, the circuit scale is (6 bit full adder) + (12 bit full adder) + (24 bit full adder) + (3 bit EAC) + (6 bit EAC) + (12-bit EAC) + (3-bit EAC) + (6-bit EAC) + (12-bit EAC) = 6 × 2HA + 12 × 2HA + 24 × 2HA + 3HA + 6HA + 12HA + 3HA + 6HA + 12HA = 126HA Become. Also, the delay is (6 bit adder delay) + (12 bit adder delay) + (24 bit adder delay) + (12 bit EAC delay) + (12 bit EAC delay) = 6 x 2D + 12 × 2D + 24 × 2D + 12 × 1D + 12 × 1D = 108D.

したがって、上記のモジュラスセットを用いた場合、変換装置10は、従来技術に対して回路規模を30%縮小し、遅延を30%短縮することができる。また、任意のp、kを考慮した場合、従来技術は、回路規模及び遅延がkに比例して大きくなっていく。これに対し、変換装置10においては、回路規模及び遅延は(2+2-k)に比例する。したがって、変換装置10は、kが大きくなるほど、従来技術と比較して回路規模及び遅延を小さくすることができる。 Therefore, when the above-described modulus set is used, the conversion device 10 can reduce the circuit scale by 30% and the delay by 30% compared to the related art. In addition, when arbitrary p and k are taken into consideration, in the conventional technique, the circuit scale and the delay increase in proportion to k. On the other hand, in the conversion device 10, the circuit scale and the delay are proportional to (2 + 2 −k ). Therefore, the conversion device 10 can reduce the circuit scale and the delay as the k increases, as compared with the conventional technique.

以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。   As mentioned above, although this invention was demonstrated using embodiment, the technical scope of this invention is not limited to the range as described in the said embodiment. It will be apparent to those skilled in the art that various modifications or improvements can be added to the above-described embodiment. It is apparent from the scope of the claims that the embodiments added with such changes or improvements can be included in the technical scope of the present invention.

本発明の実施形態に係る中国人の剰余定理の計算方法の一例を示す。An example of the calculation method of the Chinese remainder theorem concerning embodiment of this invention is shown. 本発明の実施形態に係る変換装置10の構成を示す。1 shows a configuration of a conversion apparatus 10 according to an embodiment of the present invention. 本発明の実施形態に係る部分ビット列生成部110の構成を示す。2 shows a configuration of a partial bit string generation unit 110 according to an embodiment of the present invention. 本発明の実施形態に係る部分ビット列複製部120の構成を示す。2 shows a configuration of a partial bit string duplication unit 120 according to an embodiment of the present invention. 本発明の実施形態に係る変換装置10の動作フローを示す。The operation | movement flow of the converter 10 which concerns on embodiment of this invention is shown. 本発明の実施形態の変形例に係る変換装置10の構成を示す。The structure of the converter 10 which concerns on the modification of embodiment of this invention is shown. 本発明の実施形態の変形例に係る下位ビット列複製部610の構成を示す。The structure of the low-order bit stream duplication part 610 which concerns on the modification of embodiment of this invention is shown. 本発明の実施形態の変形例に係るビット列加算部620の構成を示す。The structure of the bit string addition part 620 which concerns on the modification of embodiment of this invention is shown. 本発明の実施形態の変形例に係る変換装置10の動作フローを示す。The operation | movement flow of the converter 10 which concerns on the modification of embodiment of this invention is shown. 本発明の実施形態に係るコンピュータ1900のハードウェア構成の一例を示す。2 shows an exemplary hardware configuration of a computer 1900 according to an embodiment of the present invention. 本発明の実施形態に係る変換装置10と、従来技術との比較結果を示す。The comparison result with the converter 10 concerning embodiment of this invention and a prior art is shown.

符号の説明Explanation of symbols

10 変換装置
100 モジュラス対応変換値生成部
110a〜d 部分ビット列生成部
120a〜d 部分ビット列複製部
130 モジュラス対応変換値加算部
200 補数演算器
210 加算器
300 複製器
310 EAC演算器
600 モジュラス対応変換値加算部
610a〜d 下位ビット列複製部
620a〜d ビット列加算部
800 加算器
810 EAC演算器
1900 コンピュータ
2000 CPU
2010 ROM
2020 RAM
2030 通信インターフェイス
2040 ハードディスクドライブ
2050 フレキシブルディスク・ドライブ
2060 CD−ROMドライブ
2070 入出力チップ
2075 グラフィック・コントローラ
2080 表示装置
2082 ホスト・コントローラ
2084 入出力コントローラ
2090 フレキシブルディスク
2095 CD−ROM
DESCRIPTION OF SYMBOLS 10 Conversion apparatus 100 Modulus corresponding | compatible conversion value production | generation part 110a-d Partial bit string production | generation part 120a-d Partial bit string duplication part 130 Modulus correspondence conversion value addition part 200 Complement arithmetic unit 210 Adder 300 Duplicator 310 EAC arithmetic unit 600 Modulus correspondence conversion value Adder 610a-d Lower bit string duplicator 620a-d Bit string adder 800 Adder 810 EAC calculator 1900 Computer 2000 CPU
2010 ROM
2020 RAM
2030 Communication interface 2040 Hard disk drive 2050 Flexible disk drive 2060 CD-ROM drive 2070 Input / output chip 2075 Graphic controller 2080 Display device 2082 Host controller 2084 Input / output controller 2090 Flexible disk 2095 CD-ROM

Claims (9)

剰余系により表現された被変換数を2進数に変換する変換装置であって、
前記剰余系は、複数のモジュラスのそれぞれにより前記被変換数を割った複数の剰余値の組により、前記被変換数を表現するものであり、
第1の前記モジュラスは、2を自然数によりべき乗した、当該第1モジュラスより小さい前記モジュラスの積より大きいべき乗値に、1を加えた値をとり、
複数のモジュラスのそれぞれについて、当該モジュラスについての前記剰余値に当該モジュラス以外のモジュラスの積を乗じた値に基づく2進数の値である、当該モジュラスに対応するモジュラス対応変換値の、少なくとも一部に含まれる部分ビット列を生成する部分ビット列生成部と、
前記複数のモジュラスのそれぞれについての前記部分ビット列に基づいて、前記複数のモジュラスのそれぞれについての前記モジュラス対応変換値を加算した2進数の前記被変換数を算出するモジュラス対応変換値加算部と
を備え、
前記モジュラス対応変換値加算部は、
前記第1モジュラスより小さい少なくとも1つの前記モジュラスに対応する前記モジュラス対応変換値の和である第1部分和の一部に含まれる予め定められたビット数の下位ビット列を、当該下位ビット列より上位桁の上位ビット列として複製し、同一の上位ビット列及び下位ビット列を含む被加算数を生成する下位ビット列複製部と、
前記被加算数に、前記第1モジュラスに対応する前記部分ビット列を加算して、前記第1部分和に前記第1モジュラスについての前記モジュラス対応変換値を加えた第2部分和の少なくとも一部に含まれる下位ビット列を算出するビット列加算部と
を有する変換装置。
A conversion device that converts a converted number expressed by a residue system into a binary number,
The residue system represents the converted number by a set of a plurality of remainder values obtained by dividing the converted number by each of a plurality of moduli,
The first modulus is a value obtained by adding 1 to a power value larger than the product of the modulus less than the first modulus, which is a power of 2 by a natural number,
For each of a plurality of moduli, at least a part of a conversion value corresponding to a modulus corresponding to the modulus, which is a binary value based on a value obtained by multiplying the remainder of the modulus by a product of a modulus other than the modulus. A partial bit string generation unit for generating the included partial bit string;
A modulus-corresponding conversion value adding unit that calculates the binary converted number by adding the modulus-corresponding conversion value for each of the plurality of moduli based on the partial bit string for each of the plurality of moduli. ,
The modulus corresponding conversion value adding unit is
A lower-order bit string having a predetermined number of bits included in a part of the first partial sum that is the sum of the modulus-corresponding conversion values corresponding to at least one of the moduli smaller than the first modulus is a higher-order digit than the lower-order bit string. A lower bit string duplicating unit that replicates as an upper bit string of the same and generates an added number including the same upper bit string and lower bit string;
At least a part of the second partial sum obtained by adding the partial bit string corresponding to the first modulus to the added number and adding the modulus corresponding conversion value for the first modulus to the first partial sum. A conversion apparatus comprising: a bit string addition unit that calculates a lower bit string included therein.
最小の前記モジュラスは、2の自然数によるべき乗値から1を減じた2以上の自然数であり、
前記複数のモジュラスのうち最小でない前記モジュラスのそれぞれは、2を自然数によりべき乗した、当該モジュラスより小さい前記モジュラスの積より大きいべき乗値に、1を加えた値をとり、
前記下位ビット列複製部は、前記複数のモジュラスのうち最小でない前記モジュラスのそれぞれについて、当該モジュラスより小さい全ての前記モジュラスに対応する前記モジュラス対応変換値の和である前記第1部分和の一部に含まれる予め定められたビット数の下位ビット列を、当該下位ビット列より上位桁の上位ビット列として複製して、当該モジュラスについての前記被加算数を生成し、
前記ビット列加算部は、前記複数のモジュラスのうち最小でない前記モジュラスのそれぞれについて、当該モジュラスについての前記被加算数に、当該モジュラスに対応する前記部分ビット列を加算して、前記第1部分和に当該モジュラスについての前記モジュラス対応変換値を加えた前記第2部分和の少なくとも一部に含まれる下位ビット列を算出する
請求項1記載の変換装置。
The minimum modulus is a natural number of 2 or more obtained by subtracting 1 from a power value of 2 natural numbers;
Each of the non-minimum moduli of the plurality of moduli takes a value obtained by adding 1 to a power value larger than the product of the moduli smaller than the modulus obtained by raising 2 by a natural number,
The lower-order bit string duplicating unit, for each of the non-minimum moduli of the plurality of moduli, includes a part of the first partial sum that is a sum of the modulus-corresponding conversion values corresponding to all the moduli smaller than the moduli. A lower bit string of a predetermined number of bits included is copied as an upper bit string of higher digits than the lower bit string, and the added number for the modulus is generated,
For each of the non-minimum moduli of the plurality of moduli, the bit string adding unit adds the partial bit string corresponding to the modulus to the added number for the modulus, and adds the partial bit string corresponding to the first partial sum. The conversion apparatus according to claim 1, wherein a lower-order bit string included in at least a part of the second partial sum obtained by adding the modulus-corresponding conversion value for a modulus is calculated.
前記複数のモジュラスは、以下の数1に示す値をとり、
前記下位ビット列複製部は、前記複数のモジュラスのうち最小でない前記モジュラスmi(i=1,…,k+1)のそれぞれについて、当該モジュラスmiより小さい全てのモジュラスに対応する前記モジュラス対応変換値の和である前記第1部分和におけるp・2i-1ビットの下位ビット列を、当該下位ビット列より上位桁のp・2i-1ビットの上位ビット列として複製して、p・2iビットの前記被加算数を生成し、
前記ビット列加算部は、前記複数のモジュラスのうち最小でない前記モジュラスmi(i=1,…,k+1)のそれぞれについて、当該モジュラスmiについての前記被加算数に、当該モジュラスmiに対応する前記モジュラス対応変換値における下位p・2iビットの前記部分ビット列を加算して、前記第1部分和に当該モジュラスについての前記モジュラス対応変換値を加えた前記第2部分和におけるp・2iビットの下位ビット列を算出する
請求項1記載の変換装置。
Figure 0004643951
ただし、kは0以上の整数であり、pは自然数である。
The plurality of moduli takes the values shown in the following Equation 1,
The low-order bit string duplicating unit, for each of the non-minimum moduli m i (i = 1,..., K + 1) among the plurality of moduli, the modulus corresponding conversion corresponding to all moduli smaller than the modulus m i. The p · 2 i-1 bit lower bit string in the first partial sum, which is the sum of the values, is copied as an upper bit string of p · 2 i-1 bits higher than the lower bit string, and p · 2 i bits Generate the addend of
The bit string adding section, said modulus m i is not the smallest among the plurality of modulus (i = 1, ..., k + 1) for each of the augend for the modulus m i, to the modulus m i P · 2 in the second partial sum obtained by adding the partial bit string of the lower p · 2 i bits in the corresponding conversion value corresponding to the modulus and adding the modulus corresponding conversion value for the modulus to the first partial sum. The conversion apparatus according to claim 1, wherein an i- bit lower bit string is calculated.
Figure 0004643951
However, k is an integer greater than or equal to 0, and p is a natural number.
前記ビット列加算部は、
前記第1モジュラスmi1について、p・2i1ビットの前記被加算数に、前記モジュラス対応変換値におけるp・2i1ビットの前記部分ビット列を加算するp・2i1ビットの加算器と、
第2の前記モジュラスmi2について、p・2i2ビットの前記被加算数に、前記モジュラス対応変換値におけるp・2i2ビットの前記部分ビット列を加算するp・2i2ビットの加算器と
を含む請求項3記載の変換装置。
The bit string addition unit
For the first modulus m i1, said p · 2 i1 bit augend, and p · 2 i1 bit adder for adding said partial bit string of p · 2 i1 bits in the modulus corresponding conversion value,
The second of said modulus m i2, p · 2 i2 of bits of the in augend, and a p · 2 i2 bit adder for adding the partial bit string of p · 2 i2 bits in the modulus corresponding conversion value The conversion device according to claim 3.
前記ビット列加算部は、前記加算により前記被加算数及び前記部分ビット列のビット数を越える桁あふれが生じた場合に、前記加算の結果得られたビット列における前記被加算数と同一ビット数の下位ビット列の下位ビットに、前記桁あふれしたビットを加えて前記第2部分和の下位ビット列を算出する請求項2記載の変換装置。   The bit string adding unit, when the addition causes an overflow exceeding the number of bits to be added and the number of bits of the partial bit string, a lower bit string having the same number of bits as the number to be added in the bit string obtained as a result of the addition The conversion apparatus according to claim 2, wherein the lower-order bit string of the second partial sum is calculated by adding the bit overflowing to the lower-order bits. 剰余系により表現された被変換数を2進数に変換する変換装置であって、
前記剰余系は、複数のモジュラスのそれぞれにより前記被変換数を割った複数の剰余値の組により、前記被変換数を表現するものであり、
第1の前記モジュラスは、2を自然数によりべき乗した、当該第1モジュラスより小さい前記モジュラスの積より大きいべき乗値に、1を加えた値をとり、
複数のモジュラスのそれぞれについて、当該モジュラスについての前記剰余値に当該モジュラス以外のモジュラスの積を乗じた値に基づいて、当該モジュラスに対応する2進数の値であるモジュラス対応変換値を生成するモジュラス対応変換値生成部と、
前記複数のモジュラスのそれぞれについての前記モジュラス対応変換値を加算して、2進数の前記被変換数を算出するモジュラス対応変換値加算部と
を備え、
前記モジュラス対応変換値生成部は、
前記第1モジュラスより小さい第2モジュラスにより前記被変換数を割った剰余値のビット列に基づいて、当該第2モジュラスに対応する前記モジュラス対応変換値の一部となる部分ビット列を生成する部分ビット列生成部と、
当該第2モジュラスに対応する前記モジュラス対応変換値の複数箇所に前記部分ビット列を複製することにより、前記部分ビット列に前記第1モジュラスを乗じた当該モジュラス対応変換値を生成する部分ビット列複製部と
を有する
変換装置。
A conversion device that converts a converted number expressed by a residue system into a binary number,
The residue system represents the converted number by a set of a plurality of remainder values obtained by dividing the converted number by each of a plurality of moduli,
The first modulus is a value obtained by adding 1 to a power value larger than the product of the modulus less than the first modulus, which is a power of 2 by a natural number,
For each of a plurality of moduli, a modulus corresponding conversion value that is a binary value corresponding to the modulus is generated based on a value obtained by multiplying the remainder of the modulus by a product of a modulus other than the modulus A conversion value generation unit;
A modulus-corresponding conversion value adding unit that adds the modulus-corresponding conversion values for each of the plurality of moduli to calculate the binary converted number;
The modulus corresponding conversion value generation unit
Partial bit string generation for generating a partial bit string that becomes a part of the modulus-corresponding conversion value corresponding to the second modulus based on a bit string of a remainder value obtained by dividing the number of conversion by a second modulus smaller than the first modulus And
A partial bit string duplicating unit that generates the modulus-corresponding conversion value obtained by multiplying the partial bit string by the first modulus by replicating the partial bit string at a plurality of locations of the modulus-corresponding conversion value corresponding to the second modulus. Having a conversion device.
最小の前記モジュラスは、2の自然数によるべき乗値から1を減じた2以上の自然数であり、
前記複数のモジュラスのうち最小でない前記モジュラスのそれぞれは、2を自然数によりべき乗した、当該モジュラスより小さい前記モジュラスの積より大きいべき乗値に、1を加えた値をとり、
前記部分ビット列生成部は、複数のモジュラスのうち最小でない前記モジュラスのそれぞれについて、前記被変換数の当該モジュラスによる剰余値を当該モジュラスに対応する前記自然数分のビット数だけ上位桁側にシフトした値から当該剰余値を減じた前記部分ビット列を生成する
請求項6記載の変換装置。
The minimum modulus is a natural number of 2 or more obtained by subtracting 1 from a power value of 2 natural numbers;
Each of the non-minimum moduli of the plurality of moduli takes a value obtained by adding 1 to a power value larger than the product of the moduli smaller than the modulus obtained by raising 2 by a natural number,
The partial bit string generation unit is a value obtained by shifting, for each of the non-minimum moduli of a plurality of moduli, a remainder value obtained by the modulus of the converted number to the upper digit side by the number of bits corresponding to the natural number. The conversion apparatus according to claim 6, wherein the partial bit string is generated by subtracting the remainder value from.
前記複数のモジュラスは、以下の数2に示す値をとり、
前記部分ビット列生成部は、複数のモジュラスのうち最小でない前記モジュラスmi(i=1,…,k+1)のそれぞれについて、前記被変換数の当該モジュラスmiによる剰余値を2i-1・pビット分上位桁側へシフトした値から当該剰余値を減じた2i・pビットの前記部分ビット列を生成し、
前記部分ビット列複製部は、複数のモジュラスのうち最小及び最大でない前記モジュラスmiのそれぞれについて、当該モジュラスmiに対応する前記モジュラス対応変換値の複数箇所に、前記部分ビット列を2i・pビット間隔で複製することにより、当該モジュラスmiに対応する前記モジュラス対応変換値を生成する
請求項6記載の変換装置。
Figure 0004643951
ただし、kは0以上の整数であり、pは自然数である。
The plurality of moduli takes the values shown in the following Equation 2,
The partial bit string generation unit, the modulus m i is not the smallest among the plurality of modulus (i = 1, ..., k + 1) for each of the remainder value by the modulus m i of the object to be converted number 2 i-1 Generate the partial bit string of 2 i · p bits by subtracting the remainder value from the value shifted to the upper digit side by p bits,
The partial bit string replication unit, for each of the moduli m i not the minimum and maximum of the plurality of modulus, at a plurality of locations of the modulus corresponding conversion value corresponding to the modulus m i, 2 i · p bits the partial bit string by replicating at intervals converter according to claim 6, wherein generating the modulus corresponding conversion value corresponding to the modulus m i.
Figure 0004643951
However, k is an integer greater than or equal to 0, and p is a natural number.
前記モジュラス対応変換値生成部は、
前記第1モジュラスmi1について、前記被変換数の前記第1モジュラスmi1による剰余値に基づいて、2i1・pビットの第1の前記部分ビット列を生成する第1の前記部分ビット列生成部と、
前記第2モジュラスmi2について、前記被変換数の前記第1モジュラスmi2による剰余値に基づいて、2i2・pビットの第2の前記部分ビット列を生成する第2の前記部分ビット列生成部と、
前記第1の部分ビット列を2i1・pビット間隔で複製することにより、当該モジュラスmi1に対応する前記モジュラス対応変換値を生成する第1の前記部分ビット列複製部と、
前記第2の部分ビット列を2i2・pビット間隔で複製することにより、当該モジュラスmi2に対応する前記モジュラス対応変換値を生成する第2の前記部分ビット複製部と
を有する請求項8記載の変換装置。
The modulus corresponding conversion value generation unit
For the first modulus m i1, on the basis of the remainder value by said first modulus m i1 of the number of conversions, a first of said partial bit string generating unit for generating a first of said partial bit string of the 2 i1 · p bits ,
For the second modulus m i2, and on the basis of the remainder value by said first modulus m i2 of the number of conversions, a second of said partial bit string generating unit for generating a second of said partial bit string of the 2 i2 · p bits ,
A first partial bit string duplicating unit that creates the modulus-corresponding conversion value corresponding to the modulus m i1 by duplicating the first partial bit string at intervals of 2 i1 · p bits;
9. The second partial bit duplicating unit configured to duplicate the second partial bit string at an interval of 2 i2 · p bits to generate the modulus-corresponding conversion value corresponding to the modulus m i2. 9. Conversion device.
JP2004249153A 2004-08-27 2004-08-27 CONVERTING DEVICE AND CONVERTING METHOD FOR CONVERTING RESIDUAL CONVERSION NUMBER TO BINARY NUMBER Expired - Fee Related JP4643951B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004249153A JP4643951B2 (en) 2004-08-27 2004-08-27 CONVERTING DEVICE AND CONVERTING METHOD FOR CONVERTING RESIDUAL CONVERSION NUMBER TO BINARY NUMBER

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004249153A JP4643951B2 (en) 2004-08-27 2004-08-27 CONVERTING DEVICE AND CONVERTING METHOD FOR CONVERTING RESIDUAL CONVERSION NUMBER TO BINARY NUMBER

Publications (2)

Publication Number Publication Date
JP2006065116A JP2006065116A (en) 2006-03-09
JP4643951B2 true JP4643951B2 (en) 2011-03-02

Family

ID=36111652

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004249153A Expired - Fee Related JP4643951B2 (en) 2004-08-27 2004-08-27 CONVERTING DEVICE AND CONVERTING METHOD FOR CONVERTING RESIDUAL CONVERSION NUMBER TO BINARY NUMBER

Country Status (1)

Country Link
JP (1) JP4643951B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8611530B2 (en) * 2007-05-22 2013-12-17 Harris Corporation Encryption via induced unweighted errors

Also Published As

Publication number Publication date
JP2006065116A (en) 2006-03-09

Similar Documents

Publication Publication Date Title
US7188133B2 (en) Floating point number storage method and floating point arithmetic device
TW401557B (en) Method, apparatus and system for automatically designing logic circuit, and multiplier
JP4273071B2 (en) Divide and square root calculator
JP2840169B2 (en) Automatic logic circuit design method and apparatus
CN113608718A (en) Method for realizing acceleration of prime number domain large integer modular multiplication calculation
JP4643951B2 (en) CONVERTING DEVICE AND CONVERTING METHOD FOR CONVERTING RESIDUAL CONVERSION NUMBER TO BINARY NUMBER
JP5175983B2 (en) Arithmetic unit
JP4279626B2 (en) Remainder calculation system, scaling calculator, scaling calculation method, program thereof and recording medium
JP3660075B2 (en) Dividing device
Timarchi et al. Area-time-power efficient maximally redundant signed-digit modulo 2 n− 1 adder and multiplier
Lindström et al. Arithmetic circuits combining residue and signed-digit representations
WO2006120680A2 (en) Large number multiplication method and device
JP4163967B2 (en) Floating point arithmetic unit
JP3332270B2 (en) Exponentiation unit
JP2795253B2 (en) Divider
Fit-Florea et al. A discrete logarithm number system for integer arithmetic modulo 2^{k}: algorithms and lookup structures
JP3112662B2 (en) Multiplier
JP2000010763A (en) Division circuit
JP2580413B2 (en) Multiplication processing unit
JP3461252B2 (en) Multiplication method
sadat Hoseininasab et al. A Method for Single Radix-10 constant multiplication
Pohane et al. VLSI Designing of High Speed Parallel Multiplier Accumulator Based on Radix 4 Booths Multiplier
JP2002344316A (en) Nonlinear quantizer and nonlinear quantizing method, nonlinear quantizing program
JP2021047778A (en) Operational circuit
Barik et al. A High-Speed Booth Multiplier Based on Redundant Binary Algorithm

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070705

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100831

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100914

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101101

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20101124

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20101203

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131210

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131210

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees