JP4279626B2 - 剰余系演算システム、スケーリング演算器、スケーリング演算方法、及びそのプログラムと記録媒体 - Google Patents
剰余系演算システム、スケーリング演算器、スケーリング演算方法、及びそのプログラムと記録媒体 Download PDFInfo
- Publication number
- JP4279626B2 JP4279626B2 JP2003284534A JP2003284534A JP4279626B2 JP 4279626 B2 JP4279626 B2 JP 4279626B2 JP 2003284534 A JP2003284534 A JP 2003284534A JP 2003284534 A JP2003284534 A JP 2003284534A JP 4279626 B2 JP4279626 B2 JP 4279626B2
- Authority
- JP
- Japan
- Prior art keywords
- modulus
- value
- remainder
- residue
- sub
- 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
Links
- 238000004364 calculation method Methods 0.000 title claims description 69
- 238000006243 chemical reaction Methods 0.000 claims description 181
- 238000000034 method Methods 0.000 description 34
- 230000014509 gene expression Effects 0.000 description 26
- 230000004048 modification Effects 0.000 description 19
- 238000012986 modification Methods 0.000 description 19
- 230000008569 process Effects 0.000 description 12
- 238000004891 communication Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 238000007796 conventional method Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 229910002056 binary alloy Inorganic materials 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 241001274658 Modulus modulus Species 0.000 description 1
- 150000001875 compounds Chemical class 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/60—Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
- G06F7/72—Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic
- G06F7/729—Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic using representation by a residue number system
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- Complex Calculations (AREA)
Description
演算子「〇」を加算、減算、又は乗算を表現する演算子とし、剰余系のモジュラスを{m0,m1,…,mN-1}、オペランドをA= (a0,a1,a2,...,aN-1)、B= (b0,b1,b2,...,bN-1)とすると、Z=A〇Bは、オペランドの各モジュラスに対する剰余桁同士の演算により実現できる。
剰余系の数値表現の定義から、以下の式(1−6)が成立する。
(5,3,4,2)は、式(1−5)に示した剰余系加減乗算の定理から以下の式(1−11)に示すように変形でき、更に式(1−12)を得ることができる。
スケーリング剰余系は、被スケーリング数Yを高速にスケーリングすることを目的とする剰余系である。ここで、スケーリング剰余系を用いたスケーリング方法を、「スケーリング剰余系によるスケーリング(Scaling by the Difference in Scaling RNS; SDSRNS)」と呼ぶ。
SDSRNS法を用いることにより、上記の式(2−1)に示した様に、従来の剰余系におけるスケーリングで必要となる中国人の剰余定理を用いた乗算等の、演算ビット数の2乗に比例する演算量を要する処理が不要になる。このため、スケーリング処理を高速化することができる。
しかし、SDSRNS法においては、被スケーリング数を2つのモジュラスにより表現するため、各モジュラスが大きい値となり、加減乗算のときにキャリー伝播遅延が大きくなるという問題点がある。例えば、表現する数値の最大値Mを224とすると、m↑及びm↓は212近傍の値となり、{m↑,m↓}={4097,4096}をモジュラスセットにすることが考えられる。この結果、各剰余桁の計算のビット数が12(=log2M)となる。このように、SDSRNS法によれば、キャリー伝播遅延がlog2Mに比例して大きくなる。本来の剰余系のメリットは、4〜5ビット程度のモジュラスを組み合わせて剰余桁毎に独立して計算することにより、キャリー伝播遅延を低減できることにある。このため、Mが大きくなるにつれてキャリー伝播遅延も大きくなるスケーリング剰余系によれば、剰余系のメリットを十分に活かせない。
剰余系演算器10は、本発明に係る第2の剰余形式の一例である算術剰余形式により表現されたオペランドA及びBを入力し、A及びBの間で加算、減算、又は乗算を行う。本実施形態において、オペランドAは、複数の第1サブモジュラス{m↑ 0,m↑ 1,m↑ 2,m↑ 3}のそれぞれによりオペランドAを割った複数の剰余値(a↑ 0,a↑ 1,a↑ 2,a↑ 3)と、複数の第2サブモジュラス{m↓ 0,m↓ 1,m↓ 2}のそれぞれによりオペランドAを割った複数の剰余値 (a↓ 0,a↓ 1,a↓ 2)との組により表現される。同様にオペランドBは、複数の剰余値(b↑ 0,b↑ 1,b↑ 2,b↑ 3)と、複数の剰余値 (b↓ 0,b↓ 1,b↓ 2)との組により表現される。剰余系演算器10は、オペランドA及びオペランドBの対応する剰余桁の剰余値の間で加算、減算、又は乗算を行う複数の剰余演算ALU20を有する。
まず、剰余系演算器10は、演算対象となる2つの被演算値であるオペランドA及びBを入力して、A及びBの間で加算、減算、又は乗算を行う(ステップS200)。次に剰余系演算器10は、演算結果Yをスケーリングすべきか否かを判断する(S210)。スケーリングが不要である場合、剰余系演算器10は、第2の剰余形式による演算結果Yを演算結果として出力する。
また、m↑≠m↓-1により剰余系演算システム5を実現した場合、オーバーフロー検出器110は、第1モジュラスm↑及び第2モジュラスの積m↓を第1モジュラスm↑及び第2モジュラスm↓の差の絶対値により割った値が入力値Y以上である場合に、入力値Yのオーバーフローを検出する。これにより、後述の補足説明1の(2)又は(3)に記載した式(3−13)及び式(3−16)が成立する範囲に入力値Yを制限することができる。
すなわち、第1モジュラスm↑及び第2モジュラスm↓の差が1である場合、商出力部140は、式(3−10)に示した様に、商qの第1モジュラスm↑による剰余値及び商qの第2モジュラスm↓による剰余値として、モジュラス間差分値の第1モジュラスm↑による剰余値を出力する。また、式(3−10)を用いる場合において、商出力部140は、q mod m↑=m↓の場合にq mod m↑=0に変換する等により剰余桁の補正を行い、スケーリング剰余形式の商qを出力してよい。
なお、算術剰余系におけるモジュラスセット{{m↑ 0,m↑ 1,m↑ 2,m↑ 3},{m↓ 0,m↓ 1,m↓ 2}}のモジュラスサブセット{m↑ 0,m↑ 1,m↑ 2,m↑ 3}及び{m↓ 0,m↓ 1,m↓ 2}の間で剰余数を変換することを、「モジュラスサブセットの桁揃え(Base Extention for Moduli Subset; BEMS)」と呼ぶ。
第1サブ剰余値変換部300は、複数の第1サブ剰余値(y↑ 0,y↑ 1,y↑ 2,y↑ 3)により表現された、入力値Yの第1モジュラスm↑による剰余値y↑を、複数の第2サブモジュラス{m↓ 0,m↓ 1,m↓ 2}のそれぞれによる剰余である複数の第1変換サブ剰余値(ψ↓ 0,ψ↓ 1,ψ↓ 2) に変換する。第1サブ剰余値変換部300は、複数の第1サブ剰余値(y↑ 0,y↑ 1,y↑ 2,y↑ 3)により表現された第1モジュラスm↑による剰余値y↑を2進数のy↑に変換する剰余値変換器302と、2進数のy↑を複数の第1変換サブ剰余値(ψ↓ 0,ψ↓ 1,ψ↓ 2) に変換する変換結果出力部304を含む。ここで、複数の第1変換サブ剰余値(ψ↓ 0,ψ↓ 1,ψ↓ 2)は、(y↓ 0,y↓ 1,y↓ 2)との差分値を求めることによりスケーリングを実現することができるため、スケーリング係数Ψ↓と表現してよい。
第1モジュラス対応減算器330は、入力値Yの第2モジュラスm↓による剰余値y↓を示す複数の第2変換サブ剰余値(ψ↑ 0,ψ↑ 1,ψ↑ 2,ψ↑ 3)と、入力値Yの第1モジュラスm↑による剰余値y↑を示す複数の第1サブ剰余値(y↑ 0,y↑ 1,y↑ 2,y↑ 3)との差分値であって、複数の第1サブモジュラス{m↑ 0,m↑ 1,m↑ 2,m↑ 3}のそれぞれにより当該差分値を割った複数の剰余値により表現された第2のモジュラス間差分値(zUP↑ 0,zUP↑ 1,zUP↑ 2,zUP↑ 3)を出力する。
被変換値減算器400aは、被変換値Ξ(0)における、複数の第1サブモジュラス{m↑ 0,m↑ 1,m↑ 2,m↑ 3}のそれぞれにより被変換値Ξ(0)を割った複数の被変換剰余値(ξ0(0),ξ1(0),ξ2(0),ξ3(0))のうち、第1サブモジュラスm↑ 0に対応する被変換剰余値ξ0(0)を0に変換するべくξ0(0)を被変換値Ξ(0)から減じて被変換値Ξ(1)とする。この結果、被変換値Ξ(1)の第1サブモジュラスm↑ 0に対応する剰余値が0となり、Ξ(1)= (0,ξ1(0)-ξ0(0),ξ2(0)-ξ0(0),ξ3(0)-ξ0(0))= (0,ξ1(1),ξ2(1),ξ3(1))となる。そして被変換値Ξ(0)から減じたξ0(0)は、被変換剰余値ξ0(0)を0に変換するために用いた変換係数α1として変換係数加算器420bに入力される。
条件判断部350は、入力値Yの第1モジュラスm↑による剰余値bin y↑と、入力値Yの第2モジュラスm↓による剰余値bin y↓とが、予め定められた大小関係を満たすか否かを判断する。第1モジュラスが第2モジュラスより1大きい場合(m↑=m↓-1の場合)、条件判断部350は、入力値Yの第1モジュラスm↑による剰余値bin y↑が入力値の第2モジュラスm↓による剰余値bin y↓より大きい場合に、論理値1を出力する比較器500を含む。
算術剰余形式の被スケーリング数である入力値Yが入力されると、第1サブ剰余値変換部300内の剰余値変換器302は、複数の第1サブ剰余値(y↑ 0,y↑ 1,y↑ 2,y↑ 3)により表現された、入力値Yの第1モジュラスm↑による剰余値y↑を、2進数のy↑に変換する(S600)。また、第2サブ剰余値変換部310内の剰余値変換器312は、複数の第2サブ剰余値(y↓ 0,y↓ 1,y↓ 2)により表現された第2モジュラスm↓による剰余値を、2進数のy↓に変換する。
算術剰余形式の被スケーリング数である入力値Yが入力されると、第1サブ剰余値変換部300内の剰余値変換器302は、複数の第1サブ剰余値(y↑ 0,y↑ 1,y↑ 2,y↑ 3)により表現された、入力値Yの第1モジュラスm↑による剰余値y↑を、2進数のy↑に変換する(S800)。次に、変換結果出力部304は、2進数のy↑を複数の第1変換サブ剰余値(ψ↓ 0,ψ↓ 1,ψ↓ 2) に変換する(S810)。
例えば、{25,8,7,3,19,17,13}という7個のモジュラスで表現される算術剰余系の数値をスケーリングする場合、式(1−17)に示した中国人の剰余定理を用いると、2進数の24ビット乗算を7回行うこととなる。これに対し、図2に示したスケーリング演算器100によれば、12ビット乗算を7回行うことにより同様のスケーリングを実現できる。ここで、積和演算の計算量はビット数の2乗に比例する。この様に、2進数でnビットとなる数値をスケーリングする場合、1ビット加算器の計算量をC(Complexity)とすると、従来方式ではn2Cの計算量に対して、図2に示したスケーリング演算器100では(n/2)2Cの計算量となる。従って、図2に示したスケーリング演算器100によれば、従来方式と比較し計算量を1/4に低減させることができる。
以下に、スケーリング剰余系によるスケーリング方式(SDSRNS方式)について、m↓=m↑-1及びm↓≠m↑-1の各場合に分けて説明する。
モジュラスが{m↑, m↓}の2個からなるスケーリング剰余系において、Yをm↓でスケーリングしたスケーリング結果は、Yをm↓で割った商qを用いて(q mod m↑,q mod m↓)という形で与えられる。ここで、m↑及びm↓は互いに素であり、m↑とm↓の間には、以下の式(3−1)の関係があるものとする。
m↑≠m↓-1かつm↑>m↓の場合、式(3−2)及び(3−3)から以下の式(3−11)を導くことができる。
複数の第2サブ剰余値(y↓ 0,y↓ 1,y↓ 2)により表現される被スケーリング数y↓を、複数の第2変換サブ剰余値(ψ↑ 0,ψ↑ 1,ψ↑ 2,ψ↑ 3)により表現されるスケーリング係数Ψ↑に変換したモジュラス間差分値を用いて、スケーリング結果Zにおけるz↑を算出する方法を説明する。以下説明の便宜上スケーリング剰余系を用いる。
5 剰余系演算システム
10 剰余系演算器
20 剰余演算ALU
100 スケーリング演算器
110 オーバーフロー検出器
120 剰余形式変換器
130 減算器
140 商出力部
150 剰余形式逆変換器
300 第1サブ剰余値変換部
302 剰余値変換器
304 変換結果出力部
310 第2サブ剰余値変換部
312 剰余値変換器
314 変換結果出力部
320 減算器
330 第1モジュラス対応減算器
340 第2モジュラス対応減算器
350 条件判断部
360 差分値調整部
370 商出力部
372 第1モジュラス対応商出力部
374 第2モジュラス対応商出力部
400a〜c 被変換値減算器
410b〜d 変換係数算出部
420b〜d 変換係数加算器
430 剰余演算器
440 剰余減算器
500 比較器
510 セレクタ
520 剰余加算器
900 コンピュータ
1000 CPU
1010 ROM
1020 RAM
1030 通信インターフェイス
1040 ハードディスク・ドライブ
1050 フレキシブルディスク・ドライブ
1060 CD−ROMドライブ
1070 フレキシブルディスク
1080 CD−ROM
Claims (12)
- 数値を第1モジュラス(法)による剰余値及び第2モジュラスによる剰余値の組による第1の剰余形式で表現する剰余系において、前記第1の剰余形式の入力値を前記第2モジュラスで割った前記第1の剰余形式の商を算出するスケーリング演算器であって、
前記入力値における、前記第1モジュラスによる剰余値及び前記第2モジュラスによる剰余値の差分値であるモジュラス間差分値を出力する減算器と、
前記モジュラス間差分値に基づいて、前記商の第1モジュラスによる剰余値及び前記商の前記第2モジュラスによる剰余値の組を前記商として出力する商出力部と
を備えるスケーリング演算器。 - 前記第1モジュラス及び前記第2モジュラスは互いに素である請求項1記載のスケーリング演算器。
- 前記第1モジュラス及び前記第2モジュラスの差は1であり、
前記商出力部は、前記商の第1モジュラスによる剰余値及び前記商の前記第2モジュラスによる剰余値として、前記モジュラス間差分値の前記第1モジュラスによる剰余値を出力する
請求項1または2記載のスケーリング演算器。 - 前記減算器は、前記剰余形式の前記入力値における、前記第1モジュラス及び前記第2モジュラスのうちより小さいモジュラスによる剰余値からより大きいモジュラスによる剰余値を減じた前記モジュラス間差分値を出力し、
前記商出力部は、前記モジュラス間差分値を前記第1モジュラス及び前記第2モジュラスの差の絶対値により割った値の前記第1モジュラスによる剰余値を、前記商の第1モジュラスによる剰余値及び前記商の前記第2モジュラスによる剰余値として算出する
請求項1から3のいずれかに記載のスケーリング演算器。 - 前記第1モジュラスは、互いに素な複数の整数である複数の第1サブモジュラスの積であり、
前記第2モジュラスは、互いに素な複数の整数である複数の第2サブモジュラスの積であり、
前記入力値の前記第1モジュラスによる剰余値が、前記複数の第1サブモジュラスのそれぞれにより前記入力値を割った複数の第1サブ剰余値により表現され、前記入力値の前記第2モジュラスによる剰余値が、前記複数の第2サブモジュラスのそれぞれにより前記入力値を割った複数の第2サブ剰余値により表現された第2の剰余形式の前記入力値を、前記第1の剰余形式の前記入力値に変換する剰余形式変換器と、
前記商出力部が出力した前記第1の剰余形式の前記商を、前記第2の剰余形式の前記商に変換する剰余形式逆変換器と
を備える請求項1から4のいずれかに記載のスケーリング演算器。 - 前記第1モジュラスは、互いに素な複数の整数である複数の第1サブモジュラスの積であり、
前記第2モジュラスは、互いに素な複数の整数である複数の第2サブモジュラスの積であり、
前記入力値は、前記第1モジュラスによる剰余値が、前記複数の第1サブモジュラスのそれぞれにより前記入力値を割った複数の第1サブ剰余値により表現され、前記第2モジュラスによる剰余値が、前記複数の第2サブモジュラスのそれぞれにより前記入力値を割った複数の第2サブ剰余値により表現された第2の剰余形式により更に表現され、
前記複数の第1サブ剰余値により表現された、前記入力値の前記第1モジュラスによる剰余値を、前記複数の第2サブモジュラスのそれぞれによる剰余である複数の第1変換サブ剰余値に変換する第1サブ剰余値変換部を更に備え、
前記減算器は、前記入力値の前記第1モジュラスによる剰余値を示す前記複数の第1変換サブ剰余値と、前記入力値の前記第2モジュラスによる剰余値を示す前記複数の第2サブ剰余値との差分値であって、前記複数の第2サブモジュラスのそれぞれにより当該差分値を割った複数の剰余値により表現された第1の前記モジュラス間差分値を出力する第2モジュラス対応減算器を有し、
前記商出力部は、前記第1のモジュラス間差分値に基づいて、前記複数の第2サブモジュラスのそれぞれによる複数の剰余値により表現された前記商の前記第2モジュラスによる剰余値を出力する第2モジュラス対応商出力部を有する
請求項1から4のいずれかに記載のスケーリング演算器。 - 前記複数の第2サブ剰余値により表現された、前記入力値の前記第2モジュラスによる剰余値を、前記複数の第1サブモジュラスのそれぞれによる剰余である複数の第2変換サブ剰余値に変換する第2サブ剰余値変換部を更に備え、
前記減算器は、前記入力値の前記第2モジュラスによる剰余値を示す前記複数の第2変換サブ剰余値と、前記入力値の前記第1モジュラスによる剰余値を示す前記複数の第1サブ剰余値との差分値であって、前記複数の第1サブモジュラスのそれぞれにより当該差分値を割った複数の剰余値により表現された第2の前記モジュラス間差分値を出力する第1モジュラス対応減算器を更に有し、
前記商出力部は、前記第2のモジュラス間差分値に基づいて、前記複数の第1サブモジュラスのそれぞれによる複数の剰余値により表現された前記商の前記第1モジュラスによる剰余値を出力する第1モジュラス対応商出力部を更に有する
請求項6記載のスケーリング演算器。 - 前記入力値の前記第1モジュラスによる剰余値と、前記入力値の前記第2モジュラスによる剰余値とが、予め定められた大小関係を満たすか否かを判断する条件判断部を更に備え、
前記商出力部は、前記入力値の前記第1モジュラスによる剰余値と、前記入力値の前記第2モジュラスによる剰余値とが、前記予め定められた大小関係を満たす場合に、前記第1のモジュラス間差分値及び前記第2のモジュラス間差分値の一方に予め定められた定数を加えて調整した前記第1のモジュラス間差分値及び前記第2のモジュラス間差分値を、前記第1モジュラス対応商出力部及び前記第2モジュラス対応商出力部にそれぞれ供給する差分値調整部を更に有する
請求項7記載のスケーリング演算器。 - 前記第1サブ剰余値変換部は、
前記複数の第1サブ剰余値により表現された前記入力値の前記第1モジュラスによる剰余値を初期値とする被変換値における、前記複数の第1サブモジュラスのそれぞれにより前記被変換値を割った複数の被変換剰余値のそれぞれについて、前記被変換値から減じた場合に、順次当該被変換剰余値を0とし、かつ、既に0に変換された他の全ての前記被変換剰余値を0に保つ変換係数を算出する変換係数算出部と、
前記変換係数算出部により順次算出される、前記第1モジュラスによる剰余値により表現された前記変換係数を、順次加算していく変換係数加算器と、
前記変換係数算出部により順次算出される、前記複数の第1サブモジュラスのそれぞれによる複数の剰余値により表現された前記変換係数を、前記被変換値から順次減じる被変換値減算器と、
前記複数の被変換剰余値の全てについて算出された全ての前記変換係数が前記変換係数加算器により加算された加算値を前記複数の第2サブモジュラスのそれぞれにより割った複数の剰余値を、前記複数の第1変換サブ剰余値として出力する変換結果出力部と
を備える請求項7記載のスケーリング演算器。 - 前記変換係数算出部は、前記複数の被変換剰余値のそれぞれについて、当該被変換剰余値に対応するアドレスに、当該被変換剰余値に対応する前記変換係数をデータとして格納するメモリを含む請求項9記載のスケーリング演算器。
- 前記第1モジュラスは、互いに素な複数の整数である複数の第1サブモジュラスの積であり、
前記第2モジュラスは、互いに素な複数の整数である複数の第2サブモジュラスの積であり、
前記入力値は、前記第1モジュラスによる剰余値が、前記複数の第1サブモジュラスのそれぞれにより前記入力値を割った複数の第1サブ剰余値により表現され、前記入力値の前記第2モジュラスによる剰余値が、前記複数の第2サブモジュラスのそれぞれにより前記入力値を割った複数の第2サブ剰余値により表現された第2の剰余形式により更に表現され、
前記複数の第1サブ剰余値により表現された前記入力値の前記第1モジュラスによる剰余値を、前記複数の第2サブモジュラスのそれぞれによる剰余である複数の第1変換サブ剰余値に変換する第1サブ剰余値変換部を更に備え、
前記減算器は、前記入力値の前記第1モジュラスによる剰余値を示す前記複数の第1変換サブ剰余値と、前記入力値の前記第2モジュラスによる剰余値を示す前記複数の第2サブ剰余値との差分値であって、前記複数の第2サブモジュラスのそれぞれにより当該差分値を割った複数の剰余値により表現された第1の前記モジュラス間差分値を出力する第2モジュラス対応減算器を有し、
更に、前記複数の第2サブモジュラスのそれぞれによる複数の剰余値により表現された前記第1のモジュラス間差分値を、前記複数の第1サブモジュラスのそれぞれによる複数の剰余値により表現された変換モジュラス間差分値に変換する第2サブ剰余値変換部を備え、
前記商出力部は、
前記変換モジュラス間差分値に基づいて、前記複数の第1サブモジュラスのそれぞれによる複数の剰余値により表現された前記商の前記第1モジュラスによる剰余値を出力する第1モジュラス対応商出力部と、
前記第1のモジュラス間差分値に基づいて、前記複数の第2サブモジュラスのそれぞれによる複数の剰余値により表現された前記商の前記第2モジュラスによる剰余値を出力する第2モジュラス対応商出力部と
を有する請求項1から4のいずれかに記載のスケーリング演算器。 - 数値を第1モジュラス(法)による剰余値及び第2モジュラスによる剰余値の組による第1の剰余形式で表現する剰余系を用いる剰余系演算システムであって、
演算対象となる2つの被演算値を入力し、2つの被演算値の間で加算、減算、又は乗算を行う剰余系演算器と、
前記剰余系演算器による演算結果にスケーリングが必要である場合に、前記演算結果を入力値として入力し、前記入力値を前記第2モジュラスで割った商を前記演算結果のスケーリング結果として算出するスケーリング演算器と
を備え、
前記スケーリング演算器は、
前記入力値における、前記第1モジュラスによる剰余値及び前記第2モジュラスによる剰余値の差分値であるモジュラス間差分値を出力する減算器と、
前記モジュラス間差分値に基づいて、前記商の第1モジュラスによる剰余値及び前記商の前記第2モジュラスによる剰余値の組を前記商として出力する商出力部と
を有する剰余系演算システム。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003284534A JP4279626B2 (ja) | 2003-07-31 | 2003-07-31 | 剰余系演算システム、スケーリング演算器、スケーリング演算方法、及びそのプログラムと記録媒体 |
PCT/JP2004/010510 WO2005013117A1 (ja) | 2003-07-31 | 2004-07-23 | 剰余系演算システム、スケーリング演算器、スケーリング演算方法、及びそのプログラムと記録媒体 |
US11/340,870 US8326908B2 (en) | 2003-07-31 | 2006-01-27 | Residue number system arithmetic operating system, scaling operator, scaling operation method and program and recording medium of the same |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003284534A JP4279626B2 (ja) | 2003-07-31 | 2003-07-31 | 剰余系演算システム、スケーリング演算器、スケーリング演算方法、及びそのプログラムと記録媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2005056032A JP2005056032A (ja) | 2005-03-03 |
JP4279626B2 true JP4279626B2 (ja) | 2009-06-17 |
Family
ID=34113845
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003284534A Expired - Fee Related JP4279626B2 (ja) | 2003-07-31 | 2003-07-31 | 剰余系演算システム、スケーリング演算器、スケーリング演算方法、及びそのプログラムと記録媒体 |
Country Status (3)
Country | Link |
---|---|
US (1) | US8326908B2 (ja) |
JP (1) | JP4279626B2 (ja) |
WO (1) | WO2005013117A1 (ja) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2485574C1 (ru) * | 2012-04-17 | 2013-06-20 | Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования Вятский государственный университет (ФГБОУ ВПО "ВятГУ") | Способ организации умножения чисел с плавающей запятой, представленных в системе остаточных классов |
US9081608B2 (en) * | 2012-05-19 | 2015-07-14 | Digital System Research Inc. | Residue number arithmetic logic unit |
RU2509345C1 (ru) * | 2012-07-27 | 2014-03-10 | Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования Вятский государственный университет ФГБОУ ВПО "ВятГУ" | Способ организации выполнения операции умножения двух чисел в модулярно-позиционном формате представления с плавающей точкой на универсальных многоядерных процессорах |
US9513870B2 (en) * | 2014-04-22 | 2016-12-06 | Dialog Semiconductor (Uk) Limited | Modulo9 and modulo7 operation on unsigned binary numbers |
IT201700008949A1 (it) * | 2017-01-27 | 2018-07-27 | St Microelectronics Srl | Procedimento di funzionamento di reti neurali, rete, apparecchiatura e prodotto informatico corrispondenti |
US10387122B1 (en) | 2018-05-04 | 2019-08-20 | Olsen Ip Reserve, Llc | Residue number matrix multiplier |
US10992314B2 (en) * | 2019-01-21 | 2021-04-27 | Olsen Ip Reserve, Llc | Residue number systems and methods for arithmetic error detection and correction |
US10725788B1 (en) * | 2019-03-25 | 2020-07-28 | Intel Corporation | Advanced error detection for integer single instruction, multiple data (SIMD) arithmetic operations |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2217882B (en) * | 1988-04-29 | 1992-06-10 | Philips Electronic Associated | Arithmetic apparatus |
GB2217883B (en) * | 1988-04-29 | 1992-06-10 | Philips Electronic Associated | Arithmetic apparatus |
US6898613B1 (en) * | 1999-08-26 | 2005-05-24 | Stmicroelectronics, Inc. | Arithmetic circuits for use with the residue number system |
JP3515462B2 (ja) * | 2000-01-24 | 2004-04-05 | 株式会社東芝 | 剰余系演算装置及び方法 |
-
2003
- 2003-07-31 JP JP2003284534A patent/JP4279626B2/ja not_active Expired - Fee Related
-
2004
- 2004-07-23 WO PCT/JP2004/010510 patent/WO2005013117A1/ja active Application Filing
-
2006
- 2006-01-27 US US11/340,870 patent/US8326908B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
WO2005013117A1 (ja) | 2005-02-10 |
US20060184600A1 (en) | 2006-08-17 |
US8326908B2 (en) | 2012-12-04 |
JP2005056032A (ja) | 2005-03-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA2530015C (en) | Division and square root arithmetic unit | |
JPH0635680A (ja) | 対数を計算するディジタル回路及びコンピュータシステムを動作させる方法 | |
US8326908B2 (en) | Residue number system arithmetic operating system, scaling operator, scaling operation method and program and recording medium of the same | |
JP4274633B2 (ja) | 累乗演算装置 | |
US5349551A (en) | Device for and method of preforming an N-bit modular multiplication in approximately N/2 steps | |
JP3551113B2 (ja) | 除算器 | |
JP2005018759A (ja) | 2の浮動小数点数乗の概算を実施するための方法および装置 | |
JP2004519017A (ja) | 係数乗算するための方法および装置 | |
US8909689B2 (en) | Arithmetic device | |
JP3941868B2 (ja) | 計算装置及び計算方法 | |
CN114201140A (zh) | 指数函数处理单元、方法和神经网络芯片 | |
JP2010102431A (ja) | 浮動小数点数演算回路と浮動小数点演算方法及びサーボ制御装置 | |
JP2795253B2 (ja) | 除算器 | |
JPH086766A (ja) | 正弦余弦演算装置 | |
JP4163967B2 (ja) | 浮動小数点演算装置 | |
JP2000010763A (ja) | 除算回路 | |
Villalba-Moreno et al. | Floating Point Square Root under HUB Format | |
JP4643951B2 (ja) | 剰余系の被変換数を2進数に変換する変換装置及び変換方法 | |
Villalba-Moreno | Digit recurence division under HUB format | |
JP2518532B2 (ja) | 減算シフト型除算器 | |
JP2002318792A (ja) | データ演算処理装置及びデータ演算処理プログラム | |
JP2008097194A (ja) | 逆数算出装置、逆数算出方法、及び逆数算出プログラム | |
JP3659408B2 (ja) | データ演算処理装置及びデータ演算処理プログラム | |
JP4073513B2 (ja) | 浮動小数点処理装置 | |
JPH06243194A (ja) | 論理回路の自動設計方法およびその装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060626 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090120 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090206 |
|
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: 20090303 |
|
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: 20090312 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120319 Year of fee payment: 3 |
|
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: 20120319 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130319 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130319 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130319 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140319 Year of fee payment: 5 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |