JP2003216419A - 計算装置及び計算方法 - Google Patents
計算装置及び計算方法Info
- Publication number
- JP2003216419A JP2003216419A JP2002338440A JP2002338440A JP2003216419A JP 2003216419 A JP2003216419 A JP 2003216419A JP 2002338440 A JP2002338440 A JP 2002338440A JP 2002338440 A JP2002338440 A JP 2002338440A JP 2003216419 A JP2003216419 A JP 2003216419A
- Authority
- JP
- Japan
- Prior art keywords
- digit
- remainder
- route
- quotient
- correction term
- 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.)
- Granted
Links
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/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/52—Multiplying; Dividing
- G06F7/535—Dividing only
-
- 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/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/52—Multiplying; Dividing
-
- 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/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/52—Multiplying; Dividing
- G06F7/535—Dividing only
- G06F7/537—Reduction of the number of iteration steps or stages, e.g. using the Sweeny-Robertson-Tocher [SRT] algorithm
- G06F7/5375—Non restoring calculation, where each digit is either negative, zero or positive, e.g. SRT
-
- 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/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/544—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation
- G06F7/552—Powers or roots, e.g. Pythagorean sums
- G06F7/5525—Roots or inverse roots of single operands
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F2207/552—Indexing scheme relating to groups G06F7/552 - G06F7/5525
- G06F2207/5526—Roots or inverse roots of single operands
- G06F2207/5528—Non-restoring calculation, where each result digit is either negative, zero or positive, e.g. SRT
-
- 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/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/483—Computations with numbers represented by a non-linear combination of denominational numbers, e.g. rational numbers, logarithmic number system or floating-point numbers
-
- 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/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/483—Computations with numbers represented by a non-linear combination of denominational numbers, e.g. rational numbers, logarithmic number system or floating-point numbers
- G06F7/487—Multiplying; Dividing
- G06F7/4873—Dividing
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- Computational Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Optimization (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Complex Calculations (AREA)
- Executing Machine-Instructions (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
リズムを行う計算装置および計算方法を提供する。 【解決手段】 本発明は、基数−2SRTアルゴリズム
との同一な商/ルートデジットセット{−1、1、0、
+1}を使用し、商/平方根予測テーブルロジック4
0,42を備える。商/平方根予測テーブルロジック4
0,42によって、i番目の商/平方根デジットが決め
られ、i番目の商/平方根デジットは(i−2)番目の
繰り返し演算の部分の余りに基づいて決められる。これ
によりi番目の部分の余りの計算に必要な(i−1)番
目の補正項を(i−2)番目の補正項と同時に生成し、
(i−1)番目の部分の余りを求めるための繰り返し演
算を省略することができる。
Description
するものであり、より具体的には、割り算と平方根演算
を高速で実行する計算装置及び計算方法に関するもので
ある。
hic Rendering)、CAD(ComputerAided Design)、
DSP(Digital Signal Processing)などのような、
複雑な計算を要求するコンピュータ応用環境が、徐々に
増加している。したがって、大部分の高性能のマイクロ
プロセスは、IEEE754−1985浮動小数点標準
案に基づいた浮動小数点加算(Addition)、掛け算(Mu
ltiplication)、割り算(Division)、平方根演算(Sq
uare Rooting)などを支援している。
り算及び平方根演算の実行の比率は、加算や掛け算に比
べて相対的に非常に低い。しかし、加算と掛け算は3サ
イクルの待ち時間(Latency)を有する一方、割り算と平
方根演算は20サイクル以上の待ち時間を有するので、
待ち時間の面で、割り算と平方根演算はシステムの全体
の性能に大きい影響を与える。
一つが、SRT割り算アルゴリズムである。SRTは、
Sweeney Robertson,およびTocher の頭字語(Acronym)で
あり、それらの三人は、ほほ同じ時期にそのような特性
のアルゴリズムを独立的に各々提案した。SRT割り算
アルゴリズムは、商デジット(Quotient Digit)として加
算/引き算の遂行が不要な0を許すことによって、非復
元割り算(Non-restoring Division)のスピードを向上さ
せる。SRT割り算アルゴリズムの原理は、平方根演算
にも適用されることができる。SRTアルゴリズムは、
例えば、BehroozParhami,“Computer Arithmetic Algori
thms and Hardware Design",Oxford University Press
2000 に詳細に記載されている。
リズムは、ハードウェーアで実現することが容易である
が、商(Quotient)/平方根(Square Root) を求めるため
には、多数の繰り返し演算(Iterations)を実行すること
が必要である。一方、基数−4SRTアルゴリズムは、
基数−2SRTアルゴリズムに比べて、繰り返し演算が
1/2に減るが、基数−2SRTアルゴリズムに比べ
て、ハードウェーアで実現することが複雑であり、各繰
り返し実行の遅延時間が増える。例えば、[特許文献
1]の米国特許第5258944号には、基数−4アル
ゴリズムを利用し、各繰り返し演算ステップで商を選択
するために、ルックアップテーブル(LookupTable)を参
照する技術が開示されている。
算術アルゴリズムとハードウェアデザイン」オックスフ
ォード・ユニバーシティ・プレス 2000 ( BehroozPa
rhami,“Computer Arithmetic Algorithms and Hardwar
e Design”、Oxford University Press 2000)
−2アルゴリズムを使用して割り算及び平方根演算を高
速で実行できる計算装置及びその計算方法を提供するこ
とにある。
基数−2割り算及び/または平方根演算アルゴリズムが
提供される。本発明のアルゴリズムは、一種の変形され
た基数−2SRTアルゴリズムと言える。本発明のアル
ゴリズムでは、従来の基数−2SRTアルゴリズムと同
一の商/ルートデジットセット(Quotient/Root Digit
SET){−1,0,+1} が使用され、特に、新規な商/
平方根予測テーブル(Quotient/Root Prediction Tabl
e)ロジックが使用される。商/平方根予測テーブルロ
ジックによって、i番目の商/平方根デジットが決めら
れ、前記i番目の商/平方根のデジットは、(i−2)
番目の部分の余り(Partial Remainder)から求められ
た(i−1)番目の商/平方根のデジットに基づいて決
められる。(i−1)番目の部分の余りの計算に必要な
(i−1)番目の補正項(Correction Term)が、(i
−2)番目の補正項と同時に生成される。これは(i−
1)番目の部分の余りを求めるための繰り返し演算の省
略を可能にする。
従来の基数−2SRTアルゴリズムに比べて繰り返し演
算時間が1/2に減るが、従来の基数−4SRTアルゴ
リズムとは異なり、各繰り返し演算の遅延時間は増えな
い。
本発明の望ましい実施の形態を詳細に説明する。
−2割り算アルゴリズム
リズム(Floating Point Binary Division Algorithm)
の表記法(Notation)は、次の通りである。 z 被除数(Dividend) z0.z−1z−2...z−2n d 除数(Divisor) 0.d−1d−2...d−n q 商(Quotient) 1.q−1q−2...q−n x 余り(Remainder) x0.x−1x−2...x−2n
割り算の方程式 z=(d*q)+xから誘導されたも
のである。
ial Remainder:PR)を使用して商デジットを順次に
求める。
で表示される。 x(i)=2x(i−1)−id …(1)
あり、x(i−1)は(i−1)番目の部分の余りであ
り、q−iはi番目の商デジット、dは除数、q−i*
dはi番目の補正項である。また、式(1)で、初期部
分の余りx(0)=z、q− i∈{−1、0、+1}で
ある。
目の部分の余りx(i−2)で表示されることができ
る。 x(i)=4x(i−2)−(i−1)−id …(2)
(i)は(i−2)番目の部分の余りx(i−2)、
(i−1)番目の商デジットq−(−i−1)、i番目
の商デジットq−i、及び除数dから求められる。結
局、式(2)は、(i−1)番目の商デジットq
−(i−1)に従属するi番目の商デジットq−iが決
められると、i番目の商デジットq−iの決定に必要な
(i−1)番目の部分の余りx( i−1)を求めるため
の(i−1)番目の繰り返し演算の省略が可能である、
ことを示している。
商デジットセット{−1、0、+1}を使用する。本発
明の基数−2割り算アルゴリズムによれば、i番目の部
分の余りx(i)を求めるのに必要とするi番目の商デ
ジットq−iは(i−1)番目の部分の余りx
(i−1)のレフト−シフトされた値2x(i−1)に
よって下のように決められる。 もし 2x(i−1)<−1/2であれば q−i=−1 もし −1/2≦2x(i−1)<1/2であれば q
−i=0 もし 2x(i−1)≧1/2であれば q−i=+1
ットq−(i−1)が決められ、決められたq
−(i−1)に基づいて、(i−1)番目の部分の余り
x(i−1)を求めるための繰り返し演算の遂行なし
に、i番目の商デジットq−iが正確に予測される。こ
のi番目の商デジットq−iの予測には、商予測テーブ
ルQPTが使用される。また、(i−1)番目の部分の
余りx(i−1)の計算に必要な(i−1)番目の繰り
返し演算の補正項が生成され、i番目の商デジットq
−i=+1になる場合の(i−1)番目の補正項と、q
−i=−1になる場合の(i−1)番目の補正項とが、
(i−2)番目の補正項の生成と同時に生成される。こ
のように求められた(i−2)番目の補正項、(i−
1)番目の商デジットq −(i−1)、i番目の商デジ
ットq−i=+1 になる場合の(i−1)番目の補正
項、そしてq−i=−1になる場合の(i−1)番目の
補正項によって、二つの条件的部分の余り(Conditiona
l Partial Remainder)x1及びx2が計算され、この
条件的部分の余りx1及びx2のうちの一つが、予測さ
れたi番目の商デジットq−iの値に従って、最終的に
x(i)として選択される。
q−iの予測について、詳細に説明する。
d=0.1 d−2 d−3 d−4...が考慮される。 i番目の商デジットq−iの予測、ケース1:d−2=
1( i'th QuotientDigit q−i Prediction Case
1:d−2=1 ) (1)もし x(i−2)<1/8 であれば q
−(i−1)=0である。 したがって、−1/2<2x
(i−1)<1/4 になるので、q−i=0になる。 (2)もし 1/8≦x(i−2)<1/4 であれば q
−(i−1)=0 である。したがって、2x(i−
1)≧1/2になるので、q−i=+1になる。 (3)もし 1/4≦x(i−2)<3/8 であればq
−(i−1)=+1 である。この時に、2x
(i−1)<−1/2 である場合に、q−i=−1にな
り、−1/2<X(i−1)<1/4 である場合は q
−i=0になる。 (4)もし 3/8≦x(i−2)<1/2 であれば、
q−(i−1)=+1になる。したがって、−1/2≦
2x(i−1)<1/2 になるので、q−i=0にな
る。 (5)もし 1/2≦x(i−2)<5/8 であれば、
q−(i−1)=−1になる。したがって、−1/2≦
2x(i−1)<1/2 になるので q−i=0にな
る。 (6)もし 5/8≦x(i−2)<3/4 であれば、
q−(i−1)=−1になる。この時に、−1/2≦2
x(i−1)<1/2である場合に、q−i=0 にな
り、2x(i−1)<−1/2 である場合に q−i=
−1 になる。 (7)もし 3/4≦x(i−2)<7/8 であれば、
q−(i−1)=0 になる。したがって、2x
(i−1)<−1/2 になるので、q−i=−1 にな
る。 (8)もし 7/8≦x(i−2)<1 であれば、q
−(i−1)=0 になり、常に−1/2≦2x
(i−1)<1/2 になるので、q−i=0 になる。 i番目の商デジットq−iの予測、ケース2:d−2=
0(i'th QuotientDigit q−i Prediction Case
2:d−2=0 )
条件下で、q−(i−1)を求め、これに基づいてq
−iを予測できるということを、この技術分野に通常的
な知識を有する者は良く理解できる。
−iを予測するための商デジット予測テーブルQPTを
作ることが可能である。次の表1は、除数d=0.11
d− 3d−4…である場合(q−i Prediction Case
1:d−2=1)に予測されたi番目の商デジットq
−iを示し、また、表2は、除数d=0.10d−3d
− 4…である場合(q−i Prediction Case2:d−2
=0)に予測されたi番目の商デジットq−iを示して
いる。
余りx(i−2)=0.010x− 4x−5…である場
合、除数d=0.11d−3d−4…であるので、(i
−1)番目の商デジットq−(i−1)は‘+1’にな
る。(i−1)番目の部分の余りx(i−1)の計算
で、ボロー(Borrow)が発生すれば、(If Borrow=
1)i番目の商デジットq−iは‘−1’になり、(i
−1)番目の部分の余りx (i−1)の計算でボローが
発生しなければ(If Borrow=0)、i番目の商デジッ
トq−iは‘0’になる。
余りx(i−2)=0.110x− 4x−5…である場
合、除数d=0.10d−3d−4…であるので、(i
−1)番目の商デジットq−(i−1)は‘0’にな
る。(i−1)番目の部分の余りx(i−1)の計算
で、ボローが発生すれば(If Borrow=1)i番目の商
デジットq−iは‘−1’になり、(i−1)番目の部
分の余りx(i−1)の計算で、ボローが発生しなけれ
ば(If Borrow=0)i番目の商デジットq−iは
‘0’になる。
00101であり、除数d=0.1010である場合、
既存の基数−2SRT割り算アルゴリズムにより得られ
る割り算の結果と、本発明の基数−2割り算アルゴリズ
ムにより得られる割り算の結果と、を各々示している。
割り算アルゴリズムの演算結果(表3)と本発明の基数
−2割り算アルゴリズムの演算結果(表4)とが、同一
であることがわかる。
れば、表4に示したように、一番目の繰り返し演算で、
初期部分の余りx(0)から一番目の商デジットq−1
が計算され、次に、前記計算されたq−1 に基づい
て、商予測テーブルQPTが二番目の商デジットq−2
を予測する。( 従来の基数−2SRT割り算アルゴリ
ズムによれば、q−2 は二番目の繰り返し演算から求
められる。)そして、商デジットq−1 及びq−2 に
より、一番目の部分の余りx(1)が計算される。二番
目の繰り返し演算で、x(1)から三番目の商デジット
q−3 が計算され、このq−3 に基づいて、商予測テ
ーブルQPTが四番目の商デジットq −4 を予測す
る。(従来の基数−2SRT割り算アルゴリズムによれ
ば、q− 4 は四番目の繰り返し演算から求められ
る)。そして、デジットq−3 及びq −4 により二番
目の部分の余りx(2)が計算される。したがって、本
発明の基数−2割り算アルゴリズムによれば、従来の基
数−2SRT割り算アルゴリズムの一番目の部分の余り
x(1)と三番目の部分の余りx(3)とを求めるため
の繰り返し演算を省略できるので、本発明のアルゴリズ
ムの待ち時間は、従来の基数−2割り算アルゴリズムに
比べて1/2に減る。さらに、本発明の基数−2割り算
アルゴリズムの各繰り返し演算の遂行時間は、従来の基
数−2SRT割り算アルゴリズムのそれと同一であるの
で、本発明の基数−2割り算アルゴリズムは、従来の基
数−2SRT割り算アルゴリズムに比べてさらに速いス
ピードで割り算を遂行できる。
n Table:RPT)を使用する基数−2平方根演算アル
ゴリズム 本発明による浮動少数点2進平方根演算アルゴリズムの
表記法は、次の通りである。 z 被個数(Radicand) z1z0..z
−1z−2...z−n(1≦z<4) q 平方根(Square Root) 1.q−1q−2...
q−n(1≦q<2) x 余り(Remainder) x1x0x
−1x−2...x−n(0≦x<4)
ある。SRT平方根演算アルゴリズムは部分の余りを有
し、ルートデジットq−1q−2...q−nを順次に
求めることである。
ある。 x(i)=2x(i−1)q(i−1)−i−i−i …(3)
々i番目及び(i−1)番目の部分の余りを示し、q
−iはi番目のルートのデジットを示し、 q
(i−1)は(i−1)番目の部分の平方根を示す。ま
た、式(3)で、初期部分の余りx(0 )=z−1であ
り、q−i ∈{−1、0、+1}である。
繰り返し演算の循環式に変えることができる。 x(i)=4x(i−2)q(i−2)−(i−1)−i+1−(i−1)q (i−1)−i−i−i …(4)
部分の余りであり、q(i−2)番目の部分の平方根、
そして、q−(i−1)は番目のルートのデジットであ
る。
−(i−1)2−i+1 をC(i−2)に代置し、項
2q(i−1)+q−i2−i をC(i−1)に代置
すれば、式4は次のように簡略化されることができる。 x(i)=4x(i−1)C(i−2)−(i−1)C(i−1)−i …(5 )
は(i−2)番目の補正項であり、C(i−1)はi番
目の繰り返し演算の補正項である。
し演算で部分の余りによってルートのデジットを選択
し、補正項を生成して次の部分の余りを求める。
も、本発明の基数−2割り算アルゴリズムのように、ル
ートデジットセットとして{−1、0、+1}を使用す
る。本発明の基数−2平方根演算アルゴリズムで、i番
目のルートデジットq−iは(i−1)番目の部分の余
りx(i−1)により下のように決められる。 x(i−1)<−1/2であればq−i=−1 −1/2≦x(i−1)<1/2であれば、q−i=0 x(i−1)≧1/2であればq−i=+1
は(i−2)番目の部分の余りx( i−2)の4ビット
に基づいて、i番目のルートデジットq−iを予測す
る。本発明の基数−2平方根演算アルゴリズムは、(i
−2)番目の補正項C(i−2 )の生成と同時に、i番
目の部分の余りの計算に必要な(i−1)番目の補正項
C(i−1)を生成する。特に、(i−1)番目の補正
項C(i−1)の生成において、i番目のルートデジッ
トq−i=+1になる場合の補正項とq−i=−1にな
る場合の補正項とが、予め同時に生成される。このよう
に求められた(i−1)番目のルートのデジットq
−(i−1)、i番目のルートのデジットq− i、(i
−2)番目の補正項C(i−2)、q−i=+1になる
場合のi番目の補正項とq−i=−1になる場合のi番
目の補正項とによって、二つの条件的部分の余りx1及
びx2が計算され、この条件的部分の余りx1及びx2
のうちの一つが、最終的に決められたi番目のルートの
デジットq−iの値に従って、x (i)として選択され
る。
算アルゴリズムは、(i−1)番目の部分の余りx
(i−1)を求めるための繰り返し演算の省略を可能に
する。したがって、本発明の基数−2平方根演算アルゴ
リズムによれば、従来の基数−2SRT平方根演算アル
ゴリズムに比べて、繰り返し演算遂行時間が1/2に減
るが、従来の基数−4SRT平方根演算のアルゴリズム
とは異なり、各繰り返し演算の遅延時間が増加しない。
の条件に従って遂行される。
−1z−2...であり、部分の余りx(i)=x2x
1x0.x−1x−2...とする。 i番目ルートデジットq−iの予測、ケース1:z−1
=0 and x2=0(i'th Root Digit q−i Pred
iction Case1:z−1=0 and x2=0) z−1=0、そしてx2=0である場合に、q
−(i−1)は常に+1になる。このような初期の条件
下で、 (1)もし 0≦x(i−2)<1 であれば x
(i−1)<−1/2 である。したがって、q−i=−
1になる。 (2)もし 1≦x(i−2)<5/4、そして x
(i−1)<−1/2 である場合は q−i=−1 にな
り、もし 1≦x(i−2)<5/4、そして −1/2
≦x(i−1)<1/2である場合は q−i=0にな
る。 (3)もし 5/4≦x(i−2)<3/2、そして −
1/2≦x(i−1)<1/2 である場合は q−i=
0になり、もし 5/4≦x(i−2)<3/2、そして
x(i−1)≧1/2である場合はq−i=+1 にな
る。 (4)もし 3/2≦x(i−2)<3 であればx
(i−1)≧1/2になり、q−i=+1になる。 (5)もし 3≦x(i−2)<13/4、そして x
(i−1)<−1/2 である場合はq−i=−1にな
り、もし 3≦x(i−2)<13/4、そしてx(
i−1)≧1/2 になる場合は q−i=+1になる。 (6)もし x(i−2)≧13/4 であれば、x
(i−1)<−1/2 になる。したがって、q−i=−
1 になる。 i番目ルートデジットq−iの予測、ケース2:z−1
=0 and x2=1(i'th Root Digit q−i Predic
tion Case2:z−1=0 and x2=1) z−1=0、そしてx2=1である場合に、q
−(i−1)は常に−1になる。このような初期条件下
で、先の場合(q−i Prediction Case1:Z−1=0
and x2=0)と同一の条件下で、ルートのデジットを
求めることができることをこの分野の通常的な知識を有
する者は良く理解できる。
ットq−iを予測するための、ルートデジット予測テー
ブルRPTを作ることが可能である。次の表5は、被個
数z=z2z1z0.0z−2...であり、部分の余
りx(i)=0x1x0.x −1x−2...である場
合(q−i Prediction Case 1:z−1=0 andx2
=0)に予測されたi番目のルートのデジットq−iを
示し、表6は、被個数z=z2z1z
0.0Z−2...であり、部分の余りx(i)=1x
1x0.x−1x−2...である場合(q−i Pred
iction Case 2:z−1=0 and x2=1)に予測さ
れたi番目のルートのデジットq−iを示している。
余りx(i−2)=000.10x −3x−4...で
ある場合(i−1)番目のルートのデジットq
−(i−1)は‘+1’または‘−1’になる。(i−
1)番目のルートのデジットq−(i −1)=+1であ
る場合に、(i−1)番目の部分の余りx(i−1)の
計算で、ボローが発生すれば、i番目のルートのデジッ
トq−iは‘1’になり、また、この場合に、(i−
1)番目の部分の余りx(i−1)の計算で、ボローが
発生しなくても、i番目のルートのデジットq−iやは
り‘−1’になる。また、例えば、(i−2)番目の部
分の余りx(i−2)=010.11x
−3x−4...であり、(i−1)番目のルートのデ
ジットq−(i−1)=−1である場合に、(i−1)
番目の部分の余りx(i−1)の計算で、キャリー−イ
ンが発生すれば、i番目のルートのデジットq−iは
‘0’になり、また、この場合に、(i−1)番目の部
分の余りx(i−1)の計算で、キャリー−インが発生
しなければ、i番目のルートのデジットq−iは‘−
1’になる。
余りx(i−2)=101.01x −3x−4...で
ある場合(i−1)番目のルートのデジットq
−(i−1)は‘+1’または‘−1’になる。(i−
1)番目のルートのデジットq−(i −1)=+1であ
る場合に、(i−1)番目の部分の余りx(i−1)の
計算で、ボローが発生すれば、i番目のルートのデジッ
トq−iは‘−1’になり、また、この場合に、(i−
1)番目の部分の余りx(i−1)の計算で、ボローが
発生しなければ、i番目のルートのデジットq−iは
‘0’になる。また、例えば、(i−2)番目の部分の
余りx(i−2)=110.11x−3x−4...で
あり、(i−1)番目のルートのデジットq
−(i−1)=−1である場合に、(i−1)番目の部
分の余りx(i−1)の計算でキャリー−インが発生す
れば、i番目のルートのデジットq−iは‘+1’にな
り、また、この場合に、(i−1)番目の部分の余りx
(i−1)の計算で、キャリー−インが発生しなけれ
ば、i番目のルートのデジットq−iは‘0’になる。
0110である場合に、従来の基数−2SRT平方根演
算アルゴリズムにより得られる平方根演算の結果と、本
発明の基数−2平方根演算アルゴリズムにより得られる
平方根演算の結果とを、各々示している。
ズムは、表7で示したように、各繰り返し演算で、部分
の余りの関係に従って各ルートのデジットを決め、決め
られたルートのデジットを使用して、次の部分の余りを
計算するので、浮動少数点のデジット(Whole Bits+Fra
ction Bits )の数と同一の数の繰り返し演算が必要であ
る。
リズムによれば、表8で示したように、初期部分の余り
x(0)からルートのデジットq0 及びq−1 が求め
られ、q0 及びq−1 に基づいてルートデジット予測
テーブルRPTがq−2 を予測する。(従来の基数−
2SRT平方根演算アルゴリズムによれば、q−2は二
番目の繰り返し演算から求められる。)そして、デジッ
トq0 、q−1 及びq−2 により一番目の部分の余
りx(1)が計算される。二番目の繰り返し演算で、x
(1)からq−3 が計算され、q−3 に基づいてルー
ト予測テーブルRPTがq−4 を予測する(従来の基
数−2SRT平方根演算アルゴリズムによれば、q−4
四番目の繰り返し演算から求められる)。そして、デ
ジットq−3 及びq−4 により二番目の部分の余りx
(2)が計算される。三番目の繰り返し演算で、x
(2)からq−5 が計算され、q−5 に基づいてルー
ト予測テーブルRPTがq−6 を予測する。(従来の
基数−2SRT平方根演算アルゴリズムによれば、q
−6 は六番目の繰り返し演算から求められる)。そし
て、デジットq−5 及びq−6 により三番目の部分の
余りx(3)が計算される。
アルゴリズムによれば、従来の基数−2SRT平方根演
算アルゴリズムの一番目の部分の余りx(1)、三番目
の部分の余りx(3)、及び五番目の部分の余りx
(5)を求めるための繰り返し演算を省略することがで
きるので、本発明のアルゴリズムの待ち時間は、従来の
基数−2SRTアルゴリズムに比べて1/2に減る。さ
らに、本発明の基数−2平方根演算アルゴリズムのそれ
と同一であるので、本発明の基数−2平方根演算アルゴ
リズムは、従来の基数−2SRT平方根演算アルゴリズ
ムに比べて、さらに速いスピードで平方根演算を遂行で
きる。
平方根計算装置1の機能的回路ブロック図である。割り
算及び/または平方根計算装置1は、割り算/平方根演
算の遂行に必要なクロック信号CLKsと制御信号を供
給する制御器10、割り算のための除数dを貯蔵するた
めの除数レジスタ12、(i−2)番目の商デジットq
−(i−2 )を貯蔵するための、または(i−2)番目
のルートのデジットq−(i−2)を含む(i−2)番
目の部分の平方根q(i−2)を貯蔵するための商/ル
ートレジスタ14、(i−2)番目の部分の余りx
(i−2)を貯蔵するための余りレジスタ16、を備え
る。また、割り算/平方根計算装置1は、(i−2)番
目の部分の余りx(i−2)により(i−1)番目の商
/ルートのデジットq−( i−1)を選択する商/ルー
トデジット選択器18、及び(i−1)番目の商デジッ
トq−(i−1)を貯蔵するための、または(i−1)
番目のルートのデジットq−(i−1)を含む(i−
1)番目の部分の平方根q(i−1)を貯蔵するための
商/ルートレジスタ20、を備える。
の内容(すなわち、除数d)と、レジスタ14の内容、
(すなわち、商デジットq−(i−2)またはルートの
デジットq−(i−2)を含む(i−2)番目の部分の
平方根q(i−2))のうちのいずれか一つを、補正項
生成器26に選択的に提供する。マルチプレクサ24
は、レジスタ12の内容(すなわち、除数d)と商/ル
ートレジスタ20の内容(すなわち。商デジットq
−(i−1)またはルートのデジットq−(i−1)を
含む(i−1)番目の部分の平方根q(i−1))のう
ちのいずれか一つを、補正項生成器28及び30で選択
的に提供する。具体的には、割り算の間に、マルチプレ
クサ22及び24は、除数レジスタ12に貯蔵された除
数dを、補正項生成器26、28及び30に提供する。
平方根演算の間には、マルチプレクサ22が(i−2)
番目の部分の平方根q(i−2)を補正項生成器26に
提供し、マルチプレクサ24が(i−1)番目の部分の
平方根q(i−1)を、補正項生成器28及び30に提
供する。
項を生成する。補正項生成器28及び30は(i−1)
番目の補正項を生成する。特に、補正項生成器28は、
i番目の商/ルートのデジットq−1=1であることの
仮定下で、(i−1)番目の補正項を生成し、補正項生
成器30は、i番目の商/ルートのデジットq−1=−
1であることの仮定の下で、(i−1)番目の補正項を
生成する。補正項生成器26、28及び30は、補正項
を同時に生成する。補正項生成器26の出力は減算器3
2及び34に提供され、補正項生成器28及び30の出
力は減算器32及び34に各々提供される。
内容(すなわち、x(i−2))が供給される。減算器
32は、(i−2)番目の部分の余りx(i−2)のレ
フト−シフトされた値4x(i−2)から、補正項生成
器26の出力そして/または補正項生成器28の出力を
引く。類似するに、減算器34は(i−2)番目の部分
の余りx(i−2)のレフト−シフトされた値4x
(i−2)から補正項生成器26の出力、そして/また
は補正項生成器30の出力、を引く。減算器32は、割
り算時に(i−2)番目の部分の余りのレフト−シフト
された値4x(i− 2)から、補正項生成器28の出力
を引く。減算器32は、平方根演算時に(i−2)番目
の部分の余りのレフト−シフトされた値4x(i−2)
から、補正項生成器26及び補正項生成器28の出力を
引く。減算器34は、割り算時に(i−2)番目の部分
の余りのレフト−シフトされた値4x(i−2)から補
正項生成器30の出力を引く。減算器34は、平方根演
算時に、(i−2)番目の部分の余りのレフト−シフト
された値4x(i−2)から、補正項生成器26及び補
正項生成器30の出力を引く。減算器32及び34の出
力x1、x2は、マルチプレクサ36に提供される。
出器(Carry Propagation Detecter)を示す。キャリー
伝播検出器38は(i−2)番目の補正項から(i−
1)番目の部分の余りx(i−1)の計算で、ボローま
たはキャリー−インが発生するか否かを検出する。キャ
リー伝播検出技術は、与えられた位置で、キャリーが発
生するか、伝播されるか、または消滅されるかを検出す
ることであり、この技術の分野で、よく知られているこ
とであるので、ここでは、それに対する詳細な説明は省
略する。
行う計算装置1は、二つの商/ルートデジット予測テー
ブルロジック40及び42を備える。商/ルートデジッ
ト予測テーブルロジック40は、先の表1、2、5及び
6のボローまたはキャリー−インが発生する場合(すな
わち、Borrow/Carry-in =1 )のi番目の商/ルート
デジットを有している。一方、商/ルートデジット予測
テーブルロジック42は、先の表1、2、5、6のボロ
ーまたはキャリー−インが発生しない場合(すなわち、
Borrow/Carry-in =1 )のi番目の商/ルートデジッ
トを有している。商/ルートデジット予測テーブルロジ
ック40及び42は、余りレジスタ16の内容(すなわ
ち、x(i−2))と商/ルートレジスタ20の内容
(すなわち、q−(i−1)とが供給される。
40は、余りレジスタ16の内容(すなわち、x
(i−2))と商/ルートレジスタ20との内容(すな
わち、q− (i−1))に対応する、i番目の条件的商
/ルートのデジットq1(すなわち、Borrow/Carry-in
=1 である場合の、i番目の商/ルートのデジット)
を予測する。商/ルートデジット予測テーブルロジック
42は、レジスタ16の内容(すなわち、
x(i−2))と商/ルートレジスタ20の内容(すな
わち、q− (i−1))とに対応する、i番目の条件的
商/ルートのデジットq2(すなわち、Borrow/Carry-
in =0である場合の、i番目の商/ルートのデジッ
ト)を予測する。
40及び42の出力q1、q2は、マルチプレクサ44
に提供される。マルチプレクサ44は、キャリー伝播検
出器38の出力に応答して、商/ルートデジット予測テ
ーブルロジック40及び42の出力q1、q2のうちの
一つを選択し、マルチプレクサ44の出力q1またはq
2がi番目の商/ルートのデジットq−i として決め
られる。
の商/ルートのデジットq−i は、マルチプレクサ3
6に提供されると同時に、レジスタ46に貯蔵される。
一方、マルチプレクサ36は、i番目の商/ルートのデ
ジットq−i に応答して、減算器32及び34の出力
x1、x2のうちの一つを選択し、マルチプレクサ36
の出力のx1またはx2は、i−1番目の部分の余りx
(i)として余りレジスタ48に貯蔵される。
計算装置1で、補正項生成器と部分の余りを計算するブ
ロックが割り算及び平方根演算のために共有される。し
たがって、本発明の割り算及び平方根計算装置1は小さ
い面積オーバーヘッド(AreaOverhead)を有する。
ば、(i−1)番目の部分の余りの計算に必要な(i−
1)番目の補正項が(i−2)番目の補正項と同時に生
成されるので、(i−1)番目の部分の余りを求めるた
めの繰り返し演算の省略が可能となった。したがって、
従来の基数−2SRTアルゴリズムに比べて繰り返し演
算時間が1/2に減るが、従来の基数−4SRTアルゴ
リズムとは異なり、各繰り返し演算の遅延時間が増える
ことがない。また、本発明による割り算及び平方根計算
装置の補正項生成器及び部分の余りの計算ブロックが、
割り算及び平方根演算のために共有されるので、本発明
による割り算及び平方根計算装置は、小さい面積オーバ
ーヘッドを有することとなる。
を行う計算装置の機能的回路ブロック図である。
算装置 10 制御器 12 除数レジスタ 14、20、46 商/ルートレジスタ 16、48 余りレジスタ 18 商/ルートデジット選択器 22、24、36、44 マルチプレクサ 26、28、30 補正項生成器 32、34 減算器 38 キャリー伝播検出器(CPD) 40、42 商/ルートデジット予測テーブルロジック
(Q/RPT)
Claims (22)
- 【請求項1】 被除数を除数で割って商を生成する割り
算を含む演算を行う計算装置において、 第1補正項を生成する第1補正項生成器と、 第2補正項を生成する第2補正項生成器と、 (i−2)番目の部分の余りのレフト−シフトされた値
から前記第1補正項を引く第1引き算器と、 前記(i−2)番目の部分の余りの前記レフト−シフト
された値から前記第2補正項を引く第2引き算器と、 前記(i−1)番目の部分の余りの計算で、ボローが発
生するか否かを検出するキャリー伝達検出器と、 (1−i)番目の商デジット、前記(i−2)番目の部
分の余り及びキャリー伝達検出器の出力に応答してi番
目の商デジットを予測する商デジット予測手段と、 前記予測されたi番目の商デジットに応答して前記第1
及び第2引き算器の出力のうちの一つをi番目の部分の
余りとして選択する選択手段と、 を含む、ことを特徴とする計算装置。 - 【請求項2】 前記第1補正項は、前記予測されたi番
目の商デジットが+1である場合の条件的補正項であ
り、前記第2補正項は、前記予測されたi番目の商デジ
ットが−1である場合の条件的補正項である、ことを特
徴とする請求項1に記載の計算装置。 - 【請求項3】 前記商デジット予測手段は、 前記(i−1)番目の商デジット及び前記(i−2)番
目の部分の余りに応答して、第1商デジットを予測する
第1商デジット予測テーブルロジックと、 前記(i−1)番目の商デジット及び前記(i−2)番
目の部分の余りに応答して、第2商デジットを予測する
第2商デジット予測テーブルロジックと、 前記キャリー伝達検出器の前記出力に応答して、前記第
1及び第2商デジットのうちの一つを前記i番目の商デ
ジットとして選択するマルチプレクサと、 を含む、ことを特徴とする請求項1に記載の計算装置。 - 【請求項4】 前記第1商デジットは、ボローが発生し
た場合の条件的商デジットであり、前記第2商デジット
は、ボローが発生しない場合の条件的商デジットであ
る、ことを特徴とする請求項3に記載の計算装置。 - 【請求項5】 前記計算装置は、浮動小数点割り算を行
う装置である、ことを特徴とする請求項1に記載の計算
装置。 - 【請求項6】 被除数xを除数dで割って商qを生成す
る割り算を含む計算を行う計算装置において、 各繰り返し演算で、下の式に与えられる部分の余りを計
算する繰り返し的な割り算回路と、 x(i)=4x(i−2)−(2q−(i−1)+q
−i)*d ここで、x(i)はi番目の部分の余り、 x
(i−2)は(i−2)番目の部分の余り、q
−(i−1)は(i−1)番目の商デジット、q−iは
i番目の商デジット、x(0)=x、そしてq−i∈
{−1、0、+1}、 前記(i−2)番目の部分の余りから前記(i−1)番
目の商デジットを選択する商デジット選択回路と、 (i−1)番目の部分の余りの計算で、ボローが発生す
るか否かを検出するキャリー伝達検出器と、 前記(i−1)番目の商デジット、前記(i−2)番目
の部分の余り及び前記キャリー伝達検出器の出力に応答
して、i番目の商デジットを予測する商デジット予測回
路と、 を含む、ことを特徴とする計算装置。 - 【請求項7】 前記(i−2)番目の部分の余り、前記
(i−1)番目の商デジットと前記予測された商デジッ
トによりi番目の部分の余りを計算する回路をさらに含
む、ことを特徴とする請求項6に記載の計算装置。 - 【請求項8】 前記計算装置は、浮動小数点割り算装置
である、ことを特徴とする請求項6に記載の割り算装
置。 - 【請求項9】 前記(i−1)番目の商デジット、前記
(i−2)番目の部分の余り、前記i番目の商デジッ
ト、及び前記i番目の部分の余りを貯蔵する貯蔵回路を
さらに含む、ことを特徴とする請求項6に記載の計算装
置。 - 【請求項10】 各繰り返し演算で、x(i)=4x
(i−2)−(2q− (i−1)+q−i)*d、ここ
で、x(i)はi番目の部分の余り、x(i− 2)は
(i−2)番目の部分の余り、q−(i−1)は(i−
1)番目の商デジット、q−iはi番目の商デジット、
x(0)=x、そしてq−i∈{−1、0、+1}、に
与えられる一つの部分の余りを計算する繰り返し割り算
技法を使用して、被除数xを除数dで割って商qを生成
する割り算方法を含む計算方法において、(a)前記
(i−2)番目の部分の余りx(i−2)から前記(i
−1)番目の商デジットq−(i−1)を選択する段階
と、(b)(i−1)番目の部分の余りの計算で、ボロ
ーが発生するか否かを検出する段階と、(c)前記(i
−1)番目の商デジット、前記(i−2)番目の部分の
余り、そして前記ボローが発生するか否かに基づいて、
(i−1)番目の部分の余りの計算なしに、i番目の商
デジットを予測し、前記予測されたi番目の商デジット
により前記i番目の部分の余りを計算する段階と、を備
え、(d)前記商qを計算するために前記段階(b)及
び(c)を繰り返すこと、 を特徴とする計算方法。 - 【請求項11】 繰り返し演算技法により被個数の平方
根を計算する手段を含む計算装置において、 (i−2)番目の部分の余りから(i−1)番目のルー
トのデジットを選択するルートデジット選択器と、 (i−2)番目の部分の平方根と前記(i−1)番目の
ルートのデジットにより第1補正項を生成する第1補正
項生成器と、 (i−1)番目の部分の平方根により第2補正項を生成
する第2補正項生成器と、 前記(i−1)番目の部分の平方根により第3補正項を
生成する第3補正項生成器と、 前記(i−2)番目の部分の余りのレフト−シフトされ
た値から前記第1補正項及び前記第2補正項を引く第1
引き算器と、 前記(i−2)番目の部分の余りの前記レフト−シフト
された値から前記第1補正項及び第2補正項を引く第2
引き算器と、 (i−1)番目の部分の余りの計算で、ボローまたはキ
ャリー−インが発生するか否かを検出するキャリー伝達
検出器と、 前記(i−1)番目のルートのデジット、前記(i−
2)番目の部分の余り及び前記キャリー伝達検出器の出
力に応答してi番目のルートのデジットを予測するルー
トデジット予測手段と、 前記予測されたi番目のルートのデジットに応答して前
記第1及び第2引き算器の出力のうちの一つをi番目の
部分の余りとして選択する選択手段と、 を含むことを特徴とする計算装置。 - 【請求項12】 前記第2補正項は、前記予測されたi
番目のルートのデジットが+1である場合の条件的補正
項であり、前記第3補正項は、前記予測されたi番目の
ルートのデジットが−1である場合の条件的補正項であ
る、 ことを特徴とする請求項11に記載の計算装置。 - 【請求項13】 前記ルートデジット予測手段は、 前記(i−1)番目のルートのデジット及び前記(i−
2)番目の部分の余りに応答して、第1ルートのデジッ
トを予測する第1ルートデジット予測テーブルロジック
と、 前記(i−1)番目のルートのデジット及び前記(i−
2)番目の部分の余りに応答して、第2ルートのデジッ
トを予測する第2ルートデジット予測テーブルロジック
と、 前記キャリー伝達検出器の前記出力に応答して、前記第
1及び第2ルートのデジットのうちの一つを前記i番目
のルートのデジットとして選択するマルチプレクサと、
を含む、ことを特徴とする請求項11に記載の計算装
置。 - 【請求項14】 前記(i−1)番目のルートのデジッ
ト、前記(i−2)番目の部分の余り、前記i番目のル
ートのデジット、及び前記i番目の部分の余りを貯蔵す
る貯蔵回路をさらに含む、ことを特徴とする請求項11
に記載の計算装置。 - 【請求項15】 前記(i−2)番目の部分の余り、前
記(i−2)番目の部分の平方根、前記(i−1)番目
の部分の平方根、及びi番目の部分の平方根を貯蔵する
貯蔵回路をさらに含む、ことを特徴とする請求項11に
記載の計算装置。 - 【請求項16】 各繰り返し演算で次の式に与えられる
部分の余りを計算する繰り返し的な平方根演算回路を含
む計算装置において、 各繰り返し演算で、次の式の計算を行い、 x(i)=4x(i−2)−2(2q(i−2)+q
−(i−1)2−i+1)q−(i−1)−2(2q
(i−1)+q−i2−i)q−i ここで、x(i)はi番目の部分の余りを示し、x
(i−1)は(i−1)番目の部分の余り、x
(i−2)は(i−2)番目の部分の余り、q−iはi
番目のルートのデジット、q−(i−1)は(i−1)
番目のルートのデジット、q (i−1)は(i−1)番
目の部分の平方根、q(i−2)は(i−2)番目の部
分の平方根、x(0)=z−1,そしてq−i∈{−
1、0、+1}、 前記(i−2)番目の部分の余りから前記(i−1)番
目のルートのデジットを選択するルートデジット選択回
路と、 (i−1)番目の部分の余りの計算で、ボローまたはキ
ャリー−インが発生するか否かを検出するキャリー伝達
検出器と、 前記(i−1)番目のルートのデジット、前記(i−
2)番目の部分の余り及び前記キャリー伝達検出器の出
力に応答して、i番目のルートのデジットを予測するル
ートデジット予測回路と、を含む、ことを特徴とする計
算装置。 - 【請求項17】 前記(i−2)番目の部分の余り、前
記i番目の部分の余り、前記(i−2)番目の部分の平
方根、前記(i−1)番目の部分の平方根、及びi番目
の部分の平方根を貯蔵する貯蔵回路、をさらに含む、こ
とを特徴とする請求項16に記載の計算装置。 - 【請求項18】 前記計算装置は、浮動小数点平方根演
算を行う装置である、ことを特徴とする請求項16に記
載の計算装置。 - 【請求項19】 前記繰り返し的な平方根演算回路は、 (i−2)番目の部分の平方根と前記(i−1)番目の
ルートのデジットにより第1補正項を生成する第1補正
項生成器と、 (i−1)番目の部分の平方根により第2補正項を生成
する第2補正項生成器と、 前記(i−1)番目の部分の平方根により第3補正項を
生成する第3補正項生成器と、 前記(i−2)番目の部分の余りのレフト−シフトされ
た値から前記第1補正項及び前記第2補正項を引く第1
引き算器と、 前記(i−2)番目の部分の余りの前記レフト−シフト
された値から前記第1補正項及び前記第2補正項を引く
第2引き算器と、 前記(i−1)番目のルートのデジット、前記(i−
2)番目の部分の余り及び前記キャリー伝達検出器の出
力に応答して、i番目のルートのデジットを予測するル
ートデジット予測手段と、 前記予測されたi番目のルートのデジットに応答して、
前記第1及び第2引き算器の出力のうちの一つをi番目
の部分の余りとして選択する選択手段と、を含む、こと
を特徴とする請求項16に記載の計算装置。 - 【請求項20】 前記第2補正項は、前記予測されたi
番目のルートのデジットが+1である場合の条件的補正
項であり、前記第3補正項は、前記予測されたi番目の
ルートのデジットが−1である場合の条件的補正項であ
る、ことを特徴とする請求項19に記載の計算装置。 - 【請求項21】 前記ルートデジット予測手段は、 前記(i−1)番目のルートのデジット及び前記(i−
2)番目の部分の余りに応答して、第1ルートのデジッ
トを予測する第1ルートデジット予測テーブルロジック
と、 前記(i−1)番目のルートのデジット及び前記(i−
2)番目の部分の余りに応答して、第2ルートのデジッ
トを予測する第2ルートデジット予測テーブルロジック
と、 前記キャリー伝達検出器の前記出力に応答して、前記第
1及び第2ルートのデジットのうちの一つを前記i番目
のルートのデジットとして選択するマルチプレクサと、
を含む、ことを特徴とする請求項19に記載の計算装
置。 - 【請求項22】 各繰り返し演算で、 x(i)=4x(i−2)−2(2q(i−2)+q
−(i−1)2−i+1)q−(i−1)−2(2q
(i−1)+q−i2−i)q−i 、ここで、x
(i)はi番目の部分の余りを示し、x(i−1)は
(i−1)番目の部分の余り、x(i−2)は(i−
2)番目の部分の余り、q−iはi番目のルートのデジ
ット、q−(i−1)は(i−1)番目のルートのデジ
ット、q(i−1)は(i−1)番目の部分の平方根、
q(i−2)は(i−2)番目の部分の平方根、x
(0)=z−1、そしてq−i∈{−1、0、+1}、
に与えられる一つの部分の余りを計算する繰り返し割り
算技法を使用して、被個数zの平方根qを計算するため
の計算方法において、 (a)前記(i−2)番目の部分の余りから前記(i−
1)番目のルートのデジットを選択する段階と、 (b)前記(i−1)番目の部分の余りの計算で、ボロ
ーまたはキャリー−インが発生するか否かを検出する段
階と、 (c)前記(i−1)番目のルートのデジット、前記
(i−2)番目の部分の余り、そして前記ボローまたは
キャリー−インが発生するか否かに基づいて、前記(i
−1)番目の部分の余りの計算なしに、前記i番目のル
ートのデジットを予測し、前記予測されたi番目のルー
トのデジットにより前記i番目の部分の余りを計算する
段階と、を備え、 (d)前記平方根qを計算するために前記段階(b)及
び(c)を繰り返すこと、を特徴とする計算方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2001-0072685A KR100407562B1 (ko) | 2001-11-21 | 2001-11-21 | 제산 및 제곱근 계산 장치 및 방법 |
KR2001-072685 | 2001-11-21 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003216419A true JP2003216419A (ja) | 2003-07-31 |
JP3941868B2 JP3941868B2 (ja) | 2007-07-04 |
Family
ID=19716158
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002338440A Expired - Fee Related JP3941868B2 (ja) | 2001-11-21 | 2002-11-21 | 計算装置及び計算方法 |
Country Status (5)
Country | Link |
---|---|
US (2) | US7185040B2 (ja) |
JP (1) | JP3941868B2 (ja) |
KR (1) | KR100407562B1 (ja) |
GB (1) | GB2386986B (ja) |
TW (1) | TWI227837B (ja) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060059216A1 (en) * | 2004-09-10 | 2006-03-16 | Silicon Integrated Systems Corp. | Method for square root computation |
WO2009035224A2 (en) * | 2007-09-10 | 2009-03-19 | Electronics And Telecommunications Research Institute | Appatatus and method of calculating square root in finite extension field |
US8868633B2 (en) * | 2012-03-30 | 2014-10-21 | Advanced Micro Devices, Inc. | Method and circuitry for square root determination |
US9348796B2 (en) * | 2013-09-19 | 2016-05-24 | International Business Machines Corporation | Arithmetic operation in a data processing system |
TWI640918B (zh) * | 2016-03-02 | 2018-11-11 | 瑞昱半導體股份有限公司 | 快速除法器及快速除法運算方法 |
US10209959B2 (en) | 2016-11-03 | 2019-02-19 | Samsung Electronics Co., Ltd. | High radix 16 square root estimate |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3852581A (en) | 1972-12-14 | 1974-12-03 | Burroughs Corp | Two bit binary divider |
US4939686A (en) * | 1987-05-18 | 1990-07-03 | Weitek Corporation | Method and apparatus for shared radix 4 division and radix 4 square root |
US5132925A (en) * | 1988-08-18 | 1992-07-21 | Digital Equipment Corporation | Radix-16 divider using overlapped quotient bit selection and concurrent quotient rounding and correction |
US5128891A (en) * | 1990-04-02 | 1992-07-07 | Advanced Micro Devices, Inc. | High speed divider with square root capability |
US5258944A (en) | 1992-09-01 | 1993-11-02 | Cray Research, Inc. | High performance mantissa divider |
US5404324A (en) * | 1993-11-01 | 1995-04-04 | Hewlett-Packard Company | Methods and apparatus for performing division and square root computations in a computer |
JPH08147146A (ja) * | 1994-11-24 | 1996-06-07 | Fujitsu Ltd | 除算演算装置 |
JP3609512B2 (ja) * | 1994-12-15 | 2005-01-12 | 株式会社東芝 | 演算器 |
US5696712A (en) * | 1995-07-05 | 1997-12-09 | Sun Microsystems, Inc. | Three overlapped stages of radix-2 square root/division with speculative execution |
US5818745A (en) | 1996-05-31 | 1998-10-06 | Intel Corporation | Computer for performing non-restoring division |
EP0837390A1 (en) * | 1996-10-18 | 1998-04-22 | Texas Instruments Incorporated | Improvements in or relating to microprocessor integrated circuits |
JPH10187420A (ja) * | 1996-12-26 | 1998-07-21 | Hitachi Ltd | 除算・開平演算器 |
US6163791A (en) * | 1998-02-02 | 2000-12-19 | International Business Machines Corporation | High accuracy estimates of elementary functions |
US6108682A (en) * | 1998-05-14 | 2000-08-22 | Arm Limited | Division and/or square root calculating circuit |
KR20000074611A (ko) * | 1999-05-24 | 2000-12-15 | 윤종용 | 하이 래딕스 플로팅 포인트 제산기 |
US6847985B1 (en) * | 2001-08-10 | 2005-01-25 | Lsi Logic Corporation | Floating point divide and square root processor |
-
2001
- 2001-11-21 KR KR10-2001-0072685A patent/KR100407562B1/ko not_active IP Right Cessation
-
2002
- 2002-07-05 TW TW091114926A patent/TWI227837B/zh not_active IP Right Cessation
- 2002-10-01 US US10/262,449 patent/US7185040B2/en not_active Expired - Fee Related
- 2002-11-20 GB GB0227133A patent/GB2386986B/en not_active Expired - Fee Related
- 2002-11-21 JP JP2002338440A patent/JP3941868B2/ja not_active Expired - Fee Related
-
2007
- 2007-01-17 US US11/654,255 patent/US7809784B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US7185040B2 (en) | 2007-02-27 |
US20030187900A1 (en) | 2003-10-02 |
GB2386986B (en) | 2004-03-24 |
TWI227837B (en) | 2005-02-11 |
US7809784B2 (en) | 2010-10-05 |
KR100407562B1 (ko) | 2003-11-28 |
JP3941868B2 (ja) | 2007-07-04 |
GB0227133D0 (en) | 2002-12-24 |
GB2386986A (en) | 2003-10-01 |
KR20030042151A (ko) | 2003-05-28 |
US20070118584A1 (en) | 2007-05-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5128891A (en) | High speed divider with square root capability | |
JP6001276B2 (ja) | 浮動小数点加算を実行するための装置および方法 | |
JP5175379B2 (ja) | 選択可能な下位精度を有する浮動小数点プロセッサ | |
JP2622896B2 (ja) | 除算装置 | |
JP2835153B2 (ja) | 高基数除算器 | |
CN108694037B (zh) | 用于在执行浮点减法时估计移位量的装置和方法 | |
US7143126B2 (en) | Method and apparatus for implementing power of two floating point estimation | |
KR20020063058A (ko) | 덧셈 및 반올림 연산을 동시에 수행하는 부동 소수점alu 연산 장치 | |
US7809784B2 (en) | Apparatus and method for calculation of divisions and square roots | |
JP4273071B2 (ja) | 除算・開平演算器 | |
JP2001222410A (ja) | 除算器 | |
US7016930B2 (en) | Apparatus and method for performing operations implemented by iterative execution of a recurrence equation | |
JP4279626B2 (ja) | 剰余系演算システム、スケーリング演算器、スケーリング演算方法、及びそのプログラムと記録媒体 | |
JPH086766A (ja) | 正弦余弦演算装置 | |
JP2010102431A (ja) | 浮動小数点数演算回路と浮動小数点演算方法及びサーボ制御装置 | |
JP3517162B2 (ja) | 除算・開平演算装置 | |
JP3793505B2 (ja) | 演算器及びそれを用いた電子回路装置 | |
Gök | A novel IEEE rounding algorithm for high-speed floating-point multipliers | |
JP2972326B2 (ja) | 平方根計算装置 | |
JP2518532B2 (ja) | 減算シフト型除算器 | |
JP3100868B2 (ja) | 浮動小数点数のための算術演算装置 | |
JP2607759B2 (ja) | 除算器 | |
JP2000010763A (ja) | 除算回路 | |
JPH05313861A (ja) | 開平演算装置 | |
JPH0540606A (ja) | 浮動小数点乗除算装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050111 |
|
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: 20070313 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070327 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 3941868 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110413 Year of fee payment: 4 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120413 Year of fee payment: 5 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120413 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130413 Year of fee payment: 6 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130413 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140413 Year of fee payment: 7 |
|
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 |
|
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 |
|
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 |