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
Application number
JP2002338440A
Other languages
English (en)
Other versions
JP3941868B2 (ja
Inventor
Tokei Lee
東 奎 李
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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of JP2003216419A publication Critical patent/JP2003216419A/ja
Application granted granted Critical
Publication of JP3941868B2 publication Critical patent/JP3941868B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods 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/52Multiplying; Dividing
    • G06F7/535Dividing only
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods 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/52Multiplying; Dividing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods 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/52Multiplying; Dividing
    • G06F7/535Dividing only
    • G06F7/537Reduction of the number of iteration steps or stages, e.g. using the Sweeny-Robertson-Tocher [SRT] algorithm
    • G06F7/5375Non restoring calculation, where each digit is either negative, zero or positive, e.g. SRT
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods 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/544Methods 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/552Powers or roots, e.g. Pythagorean sums
    • G06F7/5525Roots or inverse roots of single operands
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/552Indexing scheme relating to groups G06F7/552 - G06F7/5525
    • G06F2207/5526Roots or inverse roots of single operands
    • G06F2207/5528Non-restoring calculation, where each result digit is either negative, zero or positive, e.g. SRT
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods 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/483Computations with numbers represented by a non-linear combination of denominational numbers, e.g. rational numbers, logarithmic number system or floating-point numbers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods 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/483Computations with numbers represented by a non-linear combination of denominational numbers, e.g. rational numbers, logarithmic number system or floating-point numbers
    • G06F7/487Multiplying; Dividing
    • G06F7/4873Dividing

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

(57)【要約】 【課題】 非復元基数−2割り算及び平方根演算アルゴ
リズムを行う計算装置および計算方法を提供する。 【解決手段】 本発明は、基数−2SRTアルゴリズム
との同一な商/ルートデジットセット{−1、1、0、
+1}を使用し、商/平方根予測テーブルロジック4
0,42を備える。商/平方根予測テーブルロジック4
0,42によって、i番目の商/平方根デジットが決め
られ、i番目の商/平方根デジットは(i−2)番目の
繰り返し演算の部分の余りに基づいて決められる。これ
によりi番目の部分の余りの計算に必要な(i−1)番
目の補正項を(i−2)番目の補正項と同時に生成し、
(i−1)番目の部分の余りを求めるための繰り返し演
算を省略することができる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はデータ処理分野に関
するものであり、より具体的には、割り算と平方根演算
を高速で実行する計算装置及び計算方法に関するもので
ある。
【0002】
【従来の技術】最近、グラフィックレンダリング(Grap
hic Rendering)、CAD(ComputerAided Design)、
DSP(Digital Signal Processing)などのような、
複雑な計算を要求するコンピュータ応用環境が、徐々に
増加している。したがって、大部分の高性能のマイクロ
プロセスは、IEEE754−1985浮動小数点標準
案に基づいた浮動小数点加算(Addition)、掛け算(Mu
ltiplication)、割り算(Division)、平方根演算(Sq
uare Rooting)などを支援している。
【0003】一般的なデータ処理システムにおいて、割
り算及び平方根演算の実行の比率は、加算や掛け算に比
べて相対的に非常に低い。しかし、加算と掛け算は3サ
イクルの待ち時間(Latency)を有する一方、割り算と平
方根演算は20サイクル以上の待ち時間を有するので、
待ち時間の面で、割り算と平方根演算はシステムの全体
の性能に大きい影響を与える。
【0004】よく知られた割り算アルゴリズムのうちの
一つが、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 に詳細に記載されている。
【0005】伝統的な基数−2(Radix-2)SRTアルゴ
リズムは、ハードウェーアで実現することが容易である
が、商(Quotient)/平方根(Square Root) を求めるため
には、多数の繰り返し演算(Iterations)を実行すること
が必要である。一方、基数−4SRTアルゴリズムは、
基数−2SRTアルゴリズムに比べて、繰り返し演算が
1/2に減るが、基数−2SRTアルゴリズムに比べ
て、ハードウェーアで実現することが複雑であり、各繰
り返し実行の遅延時間が増える。例えば、[特許文献
1]の米国特許第5258944号には、基数−4アル
ゴリズムを利用し、各繰り返し演算ステップで商を選択
するために、ルックアップテーブル(LookupTable)を参
照する技術が開示されている。
【非特許文献1】ベローズ パーハミ 「コンピュータ
算術アルゴリズムとハードウェアデザイン」オックスフ
ォード・ユニバーシティ・プレス 2000 ( BehroozPa
rhami,“Computer Arithmetic Algorithms and Hardwar
e Design”、Oxford University Press 2000)
【特許文献1】米国特許第5258944号明細書
【0006】
【発明が解決しようとする課題】本発明の目的は、基数
−2アルゴリズムを使用して割り算及び平方根演算を高
速で実行できる計算装置及びその計算方法を提供するこ
とにある。
【0007】
【課題を解決するための手段】本発明によると、非復元
基数−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)番目の部分の余りを求めるための繰り返し演算の省
略を可能にする。
【0008】本発明の基数−2アルゴリズムによれば、
従来の基数−2SRTアルゴリズムに比べて繰り返し演
算時間が1/2に減るが、従来の基数−4SRTアルゴ
リズムとは異なり、各繰り返し演算の遅延時間は増えな
い。
【0009】
【発明の実施の形態】以下、添付した図1を参照して、
本発明の望ましい実施の形態を詳細に説明する。
【0010】I.商予測テーブルQPTを使用する基数
−2割り算アルゴリズム
【0011】本発明による浮動少数点2進割り算アルゴ
リズム(Floating Point Binary Division Algorithm)
の表記法(Notation)は、次の通りである。 z 被除数(Dividend) z0.−1−2...z−2n d 除数(Divisor) 0.d−1−2...d−n q 商(Quotient) 1.q−1−2...q−n x 余り(Remainder) x0.−1−2...x−2n
【0012】余りxの表現z−(d*q)は、基本的な
割り算の方程式 z=(d*q)+xから誘導されたも
のである。
【0013】割り算アルゴリズムは、部分の余り(Part
ial Remainder:PR)を使用して商デジットを順次に
求める。
【0014】基数−2割り算の循環式は、次の式(1)
で表示される。 x(i)=2x(i−1)−id …(1)
【0015】ここで、x(i)はi番目の部分の余りで
あり、x(i−1)は(i−1)番目の部分の余りであ
り、q−iはi番目の商デジット、dは除数、q−i
dはi番目の補正項である。また、式(1)で、初期部
分の余りx(0)=z、q ∈{−1、0、+1}で
ある。
【0016】上の式(1)は、次のように(i−2)番
目の部分の余りx(i−2)で表示されることができ
る。 x(i)=4x(i−2)−(i−1)−id …(2)
【0017】式(2)によると、i番目の部分の余りx
(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)番目の繰り返し演算の省略が可能である、
ことを示している。
【0018】本発明の基数−2割り算アルゴリズムは、
商デジットセット{−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
【0019】本発明によれば、(i−1)番目の商デジ
ットq−(i−1)が決められ、決められたq
−(i−1)に基づいて、(i−1)番目の部分の余り
(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の値に従って、最終的に
(i)として選択される。
【0020】次には、本発明によるi番目の商デジット
−iの予測について、詳細に説明する。
【0021】商デジットの予測のために、ここでは除数
d=0.1 d−2−3−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 であれば、
−(i−1)=+1になる。したがって、−1/2≦
2x(i−1)<1/2 になるので、q−i=0にな
る。 (5)もし 1/2≦x(i−2)<5/8 であれば、
−(i−1)=−1になる。したがって、−1/2≦
2x(i−1)<1/2 になるので q−i=0にな
る。 (6)もし 5/8≦x(i−2)<3/4 であれば、
−(i−1)=−1になる。この時に、−1/2≦2
(i−1)<1/2である場合に、q−i=0 にな
り、2x(i−1)<−1/2 である場合に q−i
−1 になる。 (7)もし 3/4≦x(i−2)<7/8 であれば、
−(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 )
【0022】d−2=1である場合のように、各同一の
条件下で、q−(i−1)を求め、これに基づいてq
−iを予測できるということを、この技術分野に通常的
な知識を有する者は良く理解できる。
【0023】上の結果に従って、i番目の商デジットq
−iを予測するための商デジット予測テーブルQPTを
作ることが可能である。次の表1は、除数d=0.11
−4…である場合(q−i Prediction Case
1:d−2=1)に予測されたi番目の商デジットq
−iを示し、また、表2は、除数d=0.10d−3
…である場合(q−i Prediction Case2:d−2
=0)に予測されたi番目の商デジットq−iを示して
いる。
【0024】
【表1】
【0025】表1で、例えば、(i−2)番目の部分の
余りx(i−2)=0.010x −5…である場
合、除数d=0.11d−3−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’になる。
【0026】
【表2】
【0027】表2で、例えば、(i−2)番目の部分の
余りx(i−2)=0.110x −5…である場
合、除数d=0.10d−3−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’になる。
【0028】次の表3及び4は、被除数z=0.010
00101であり、除数d=0.1010である場合、
既存の基数−2SRT割り算アルゴリズムにより得られ
る割り算の結果と、本発明の基数−2割り算アルゴリズ
ムにより得られる割り算の結果と、を各々示している。
【0029】
【表3】
【0030】
【表4】
【0031】表3及び表4から、既存の基数−2SRT
割り算アルゴリズムの演算結果(表3)と本発明の基数
−2割り算アルゴリズムの演算結果(表4)とが、同一
であることがわかる。
【0032】本発明の基数−2割り算アルゴリズムによ
れば、表4に示したように、一番目の繰り返し演算で、
初期部分の余りx(0)から一番目の商デジットq−1
が計算され、次に、前記計算されたq−1 に基づい
て、商予測テーブルQPTが二番目の商デジットq−2
を予測する。( 従来の基数−2SRT割り算アルゴリ
ズムによれば、q−2 は二番目の繰り返し演算から求
められる。)そして、商デジットq−1 及びq−2
より、一番目の部分の余りx(1)が計算される。二番
目の繰り返し演算で、x(1)から三番目の商デジット
−3 が計算され、このq−3 に基づいて、商予測テ
ーブルQPTが四番目の商デジットq −4 を予測す
る。(従来の基数−2SRT割り算アルゴリズムによれ
ば、q は四番目の繰り返し演算から求められ
る)。そして、デジットq−3 及びq −4 により二番
目の部分の余りx(2)が計算される。したがって、本
発明の基数−2割り算アルゴリズムによれば、従来の基
数−2SRT割り算アルゴリズムの一番目の部分の余り
(1)と三番目の部分の余りx(3)とを求めるため
の繰り返し演算を省略できるので、本発明のアルゴリズ
ムの待ち時間は、従来の基数−2割り算アルゴリズムに
比べて1/2に減る。さらに、本発明の基数−2割り算
アルゴリズムの各繰り返し演算の遂行時間は、従来の基
数−2SRT割り算アルゴリズムのそれと同一であるの
で、本発明の基数−2割り算アルゴリズムは、従来の基
数−2SRT割り算アルゴリズムに比べてさらに速いス
ピードで割り算を遂行できる。
【0033】II. 平方根予測テーブル(Root Predictio
n Table:RPT)を使用する基数−2平方根演算アル
ゴリズム 本発明による浮動少数点2進平方根演算アルゴリズムの
表記法は、次の通りである。 z 被個数(Radicand) z..z
−1−2...z−n(1≦z<4) q 平方根(Square Root) 1.q−1−2...
−n(1≦q<2) x 余り(Remainder) xx0x
−1−2...x−n(0≦x<4)
【0034】平方根演算の基本方程式はz=q+xで
ある。SRT平方根演算アルゴリズムは部分の余りを有
し、ルートデジットq−1−2...q−nを順次に
求めることである。
【0035】基数−2平方根演算の循環式は次の通りで
ある。 x(i)=2x(i−1)q(i−1)−i−i−i …(3)
【0036】ここで、x(i)とx(i−1)とは、各
々i番目及び(i−1)番目の部分の余りを示し、q
−iはi番目のルートのデジットを示し、 q
(i−1)は(i−1)番目の部分の平方根を示す。ま
た、式(3)で、初期部分の余りx(0 =z−1であ
り、q−i ∈{−1、0、+1}である。
【0037】式(3)は、次のように(i−2)番目の
繰り返し演算の循環式に変えることができる。 x(i)=4x(i−2)q(i−2)−(i−1)−i+1−(i−1)q (i−1)−i−i−i …(4)
【0038】ここで、x(i−2)は(i−2)番目の
部分の余りであり、q(i−2)番目の部分の平方根、
そして、q−(i−1)は番目のルートのデジットであ
る。
【0039】式(4)で、項2q(i−2)+q
−(i−1)−i+1 をC(i−2)に代置し、項
2q(i−1)+q−i−i をC(i−1)に代置
すれば、式4は次のように簡略化されることができる。 x(i)=4x(i−1)C(i−2)−(i−1)C(i−1)−i …(5 )
【0040】ここで、式(5)において、C(i−2)
は(i−2)番目の補正項であり、C(i−1)はi番
目の繰り返し演算の補正項である。
【0041】平方根演算も、割り算のように、各繰り返
し演算で部分の余りによってルートのデジットを選択
し、補正項を生成して次の部分の余りを求める。
【0042】本発明の基数−2平方根演算アルゴリズム
も、本発明の基数−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
【0043】本発明の基数−2平方根演算アルゴリズム
は(i−2)番目の部分の余りx i−2)の4ビット
に基づいて、i番目のルートデジットq−iを予測す
る。本発明の基数−2平方根演算アルゴリズムは、(i
−2)番目の補正項C(i−2 の生成と同時に、i番
目の部分の余りの計算に必要な(i−1)番目の補正項
(i−1)を生成する。特に、(i−1)番目の補正
項C(i−1)の生成において、i番目のルートデジッ
トq−i=+1になる場合の補正項とq−i=−1にな
る場合の補正項とが、予め同時に生成される。このよう
に求められた(i−1)番目のルートのデジットq
−(i−1)、i番目のルートのデジットq 、(i
−2)番目の補正項C(i−2)、q−i=+1になる
場合のi番目の補正項とq−i=−1になる場合のi番
目の補正項とによって、二つの条件的部分の余りx1及
びx2が計算され、この条件的部分の余りx1及びx2
のうちの一つが、最終的に決められたi番目のルートの
デジットq−iの値に従って、x (i)として選択され
る。
【0044】上述のように、本発明の基数−2平方根演
算アルゴリズムは、(i−1)番目の部分の余りx
(i−1)を求めるための繰り返し演算の省略を可能に
する。したがって、本発明の基数−2平方根演算アルゴ
リズムによれば、従来の基数−2SRT平方根演算アル
ゴリズムに比べて、繰り返し演算遂行時間が1/2に減
るが、従来の基数−4SRT平方根演算のアルゴリズム
とは異なり、各繰り返し演算の遅延時間が増加しない。
【0045】本発明によるルートデジットの予測は、下
の条件に従って遂行される。
【0046】被個数z=z.z
−1−2...であり、部分の余りx(i)=x
.x−1−2...とする。 i番目ルートデジットq−iの予測、ケース1:z−1
=0 and x=0(i'th Root Digit q−i Pred
iction Case1:z−1=0 and x=0) z−1=0、そしてx=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、そして
(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 x=1(i'th Root Digit q−i Predic
tion Case2:z−1=0 and x=1) z−1=0、そしてx=1である場合に、q
−(i−1)は常に−1になる。このような初期条件下
で、先の場合(q−i Prediction Case1:Z−1=0
and x2=0)と同一の条件下で、ルートのデジットを
求めることができることをこの分野の通常的な知識を有
する者は良く理解できる。
【0047】上の結果に従って、i番目のルートのデジ
ットq−iを予測するための、ルートデジット予測テー
ブルRPTを作ることが可能である。次の表5は、被個
数z=z.0z−2...であり、部分の余
りx(i)=0x.x −1−2...である場
合(q−i Prediction Case 1:z−1=0 andx2
=0)に予測されたi番目のルートのデジットq−i
示し、表6は、被個数z=z
0.Z−2...であり、部分の余りx(i)=1x
.x−1−2...である場合(q−i Pred
iction Case 2:z−1=0 and x=1)に予測さ
れたi番目のルートのデジットq−iを示している。
【0048】
【表5】
【0049】表5で、例えば、(i−2)番目の部分の
余りx(i−2)=000.10x −3−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
−3−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’になる。
【0050】
【表6】
【0051】表6で、例えば、(i−2)番目の部分の
余りx(i−2)=101.01x −3−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−3−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’になる。
【0052】次の表7及び8は、被個数z=01.11
0110である場合に、従来の基数−2SRT平方根演
算アルゴリズムにより得られる平方根演算の結果と、本
発明の基数−2平方根演算アルゴリズムにより得られる
平方根演算の結果とを、各々示している。
【0053】
【表7】
【0054】
【表8】
【0055】従来の基数−2SRT平方根演算アルゴリ
ズムは、表7で示したように、各繰り返し演算で、部分
の余りの関係に従って各ルートのデジットを決め、決め
られたルートのデジットを使用して、次の部分の余りを
計算するので、浮動少数点のデジット(Whole Bits+Fra
ction Bits )の数と同一の数の繰り返し演算が必要であ
る。
【0056】一方、本発明の基数−2平方根演算アルゴ
リズムによれば、表8で示したように、初期部分の余り
(0)からルートのデジットq 及びq−1 が求め
られ、q 及びq−1 に基づいてルートデジット予測
テーブルRPTがq−2 を予測する。(従来の基数−
2SRT平方根演算アルゴリズムによれば、q−2は二
番目の繰り返し演算から求められる。)そして、デジッ
トq 、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)が計算される。
【0057】したがって、本発明の基数−2平方根演算
アルゴリズムによれば、従来の基数−2SRT平方根演
算アルゴリズムの一番目の部分の余りx(1)、三番目
の部分の余りx(3)、及び五番目の部分の余りx
(5)を求めるための繰り返し演算を省略することがで
きるので、本発明のアルゴリズムの待ち時間は、従来の
基数−2SRTアルゴリズムに比べて1/2に減る。さ
らに、本発明の基数−2平方根演算アルゴリズムのそれ
と同一であるので、本発明の基数−2平方根演算アルゴ
リズムは、従来の基数−2SRT平方根演算アルゴリズ
ムに比べて、さらに速いスピードで平方根演算を遂行で
きる。
【0058】図1は、本発明による割り算及び/または
平方根計算装置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、を備える。
【0059】マルチプレクサ22は、除数レジスタ12
の内容(すなわち、除数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に提
供する。
【0060】補正項生成器26は(i−2)番目の補正
項を生成する。補正項生成器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に各々提供される。
【0061】減算器32、34は、余りレジスタ16の
内容(すなわち、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に提供される。
【0062】図1で、参照番号38は、キャリー伝播検
出器(Carry Propagation Detecter)を示す。キャリー
伝播検出器38は(i−2)番目の補正項から(i−
1)番目の部分の余りx(i−1)の計算で、ボローま
たはキャリー−インが発生するか否かを検出する。キャ
リー伝播検出技術は、与えられた位置で、キャリーが発
生するか、伝播されるか、または消滅されるかを検出す
ることであり、この技術の分野で、よく知られているこ
とであるので、ここでは、それに対する詳細な説明は省
略する。
【0063】本発明による割り算/平方根計算(演算)を
行う計算装置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)とが供給される。
【0064】商/ルートデジット予測テーブルロジック
40は、余りレジスタ16の内容(すなわち、x
(i−2))と商/ルートレジスタ20との内容(すな
わち、q (i−1))に対応する、i番目の条件的商
/ルートのデジットq1(すなわち、Borrow/Carry-in
=1 である場合の、i番目の商/ルートのデジット)
を予測する。商/ルートデジット予測テーブルロジック
42は、レジスタ16の内容(すなわち、
(i−2))と商/ルートレジスタ20の内容(すな
わち、q (i−1))とに対応する、i番目の条件的
商/ルートのデジットq2(すなわち、Borrow/Carry-
in =0である場合の、i番目の商/ルートのデジッ
ト)を予測する。
【0065】商/ルートデジット予測テーブルロジック
40及び42の出力q1、q2は、マルチプレクサ44
に提供される。マルチプレクサ44は、キャリー伝播検
出器38の出力に応答して、商/ルートデジット予測テ
ーブルロジック40及び42の出力q1、q2のうちの
一つを選択し、マルチプレクサ44の出力q1またはq
2がi番目の商/ルートのデジットq−i として決め
られる。
【0066】マルチプレクサ44から出力されるi番目
の商/ルートのデジットq−i は、マルチプレクサ3
6に提供されると同時に、レジスタ46に貯蔵される。
一方、マルチプレクサ36は、i番目の商/ルートのデ
ジットq−i に応答して、減算器32及び34の出力
x1、x2のうちの一つを選択し、マルチプレクサ36
の出力のx1またはx2は、i−1番目の部分の余りx
(i)として余りレジスタ48に貯蔵される。
【0067】以上のように、本発明の割り算及び平方根
計算装置1で、補正項生成器と部分の余りを計算するブ
ロックが割り算及び平方根演算のために共有される。し
たがって、本発明の割り算及び平方根計算装置1は小さ
い面積オーバーヘッド(AreaOverhead)を有する。
【0068】
【発明の効果】本発明の基数−2アルゴリズムによれ
ば、(i−1)番目の部分の余りの計算に必要な(i−
1)番目の補正項が(i−2)番目の補正項と同時に生
成されるので、(i−1)番目の部分の余りを求めるた
めの繰り返し演算の省略が可能となった。したがって、
従来の基数−2SRTアルゴリズムに比べて繰り返し演
算時間が1/2に減るが、従来の基数−4SRTアルゴ
リズムとは異なり、各繰り返し演算の遅延時間が増える
ことがない。また、本発明による割り算及び平方根計算
装置の補正項生成器及び部分の余りの計算ブロックが、
割り算及び平方根演算のために共有されるので、本発明
による割り算及び平方根計算装置は、小さい面積オーバ
ーヘッドを有することとなる。
【図面の簡単な説明】
【図1】本発明による割り算(及び/または)平方根計算
を行う計算装置の機能的回路ブロック図である。
【符号の説明】
1 割り算(及び/または)平方根計算(演算)を行う計
算装置 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補正項を生成する第1補正項生成器と、 第2補正項を生成する第2補正項生成器と、 (i−2)番目の部分の余りのレフト−シフトされた値
    から前記第1補正項を引く第1引き算器と、 前記(i−2)番目の部分の余りの前記レフト−シフト
    された値から前記第2補正項を引く第2引き算器と、 前記(i−1)番目の部分の余りの計算で、ボローが発
    生するか否かを検出するキャリー伝達検出器と、 (1−i)番目の商デジット、前記(i−2)番目の部
    分の余り及びキャリー伝達検出器の出力に応答してi番
    目の商デジットを予測する商デジット予測手段と、 前記予測されたi番目の商デジットに応答して前記第1
    及び第2引き算器の出力のうちの一つをi番目の部分の
    余りとして選択する選択手段と、 を含む、ことを特徴とする計算装置。
  2. 【請求項2】 前記第1補正項は、前記予測されたi番
    目の商デジットが+1である場合の条件的補正項であ
    り、前記第2補正項は、前記予測されたi番目の商デジ
    ットが−1である場合の条件的補正項である、ことを特
    徴とする請求項1に記載の計算装置。
  3. 【請求項3】 前記商デジット予測手段は、 前記(i−1)番目の商デジット及び前記(i−2)番
    目の部分の余りに応答して、第1商デジットを予測する
    第1商デジット予測テーブルロジックと、 前記(i−1)番目の商デジット及び前記(i−2)番
    目の部分の余りに応答して、第2商デジットを予測する
    第2商デジット予測テーブルロジックと、 前記キャリー伝達検出器の前記出力に応答して、前記第
    1及び第2商デジットのうちの一つを前記i番目の商デ
    ジットとして選択するマルチプレクサと、 を含む、ことを特徴とする請求項1に記載の計算装置。
  4. 【請求項4】 前記第1商デジットは、ボローが発生し
    た場合の条件的商デジットであり、前記第2商デジット
    は、ボローが発生しない場合の条件的商デジットであ
    る、ことを特徴とする請求項3に記載の計算装置。
  5. 【請求項5】 前記計算装置は、浮動小数点割り算を行
    う装置である、ことを特徴とする請求項1に記載の計算
    装置。
  6. 【請求項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. 【請求項7】 前記(i−2)番目の部分の余り、前記
    (i−1)番目の商デジットと前記予測された商デジッ
    トによりi番目の部分の余りを計算する回路をさらに含
    む、ことを特徴とする請求項6に記載の計算装置。
  8. 【請求項8】 前記計算装置は、浮動小数点割り算装置
    である、ことを特徴とする請求項6に記載の割り算装
    置。
  9. 【請求項9】 前記(i−1)番目の商デジット、前記
    (i−2)番目の部分の余り、前記i番目の商デジッ
    ト、及び前記i番目の部分の余りを貯蔵する貯蔵回路を
    さらに含む、ことを特徴とする請求項6に記載の計算装
    置。
  10. 【請求項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番目の商デジット、
    (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. 【請求項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. 【請求項12】 前記第2補正項は、前記予測されたi
    番目のルートのデジットが+1である場合の条件的補正
    項であり、前記第3補正項は、前記予測されたi番目の
    ルートのデジットが−1である場合の条件的補正項であ
    る、 ことを特徴とする請求項11に記載の計算装置。
  13. 【請求項13】 前記ルートデジット予測手段は、 前記(i−1)番目のルートのデジット及び前記(i−
    2)番目の部分の余りに応答して、第1ルートのデジッ
    トを予測する第1ルートデジット予測テーブルロジック
    と、 前記(i−1)番目のルートのデジット及び前記(i−
    2)番目の部分の余りに応答して、第2ルートのデジッ
    トを予測する第2ルートデジット予測テーブルロジック
    と、 前記キャリー伝達検出器の前記出力に応答して、前記第
    1及び第2ルートのデジットのうちの一つを前記i番目
    のルートのデジットとして選択するマルチプレクサと、
    を含む、ことを特徴とする請求項11に記載の計算装
    置。
  14. 【請求項14】 前記(i−1)番目のルートのデジッ
    ト、前記(i−2)番目の部分の余り、前記i番目のル
    ートのデジット、及び前記i番目の部分の余りを貯蔵す
    る貯蔵回路をさらに含む、ことを特徴とする請求項11
    に記載の計算装置。
  15. 【請求項15】 前記(i−2)番目の部分の余り、前
    記(i−2)番目の部分の平方根、前記(i−1)番目
    の部分の平方根、及びi番目の部分の平方根を貯蔵する
    貯蔵回路をさらに含む、ことを特徴とする請求項11に
    記載の計算装置。
  16. 【請求項16】 各繰り返し演算で次の式に与えられる
    部分の余りを計算する繰り返し的な平方根演算回路を含
    む計算装置において、 各繰り返し演算で、次の式の計算を行い、 x(i)=4x(i−2)−2(2q(i−2)+q
    −(i−1)−i+1)q−(i−1)−2(2q
    (i−1)+q−i−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. 【請求項17】 前記(i−2)番目の部分の余り、前
    記i番目の部分の余り、前記(i−2)番目の部分の平
    方根、前記(i−1)番目の部分の平方根、及びi番目
    の部分の平方根を貯蔵する貯蔵回路、をさらに含む、こ
    とを特徴とする請求項16に記載の計算装置。
  18. 【請求項18】 前記計算装置は、浮動小数点平方根演
    算を行う装置である、ことを特徴とする請求項16に記
    載の計算装置。
  19. 【請求項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. 【請求項20】 前記第2補正項は、前記予測されたi
    番目のルートのデジットが+1である場合の条件的補正
    項であり、前記第3補正項は、前記予測されたi番目の
    ルートのデジットが−1である場合の条件的補正項であ
    る、ことを特徴とする請求項19に記載の計算装置。
  21. 【請求項21】 前記ルートデジット予測手段は、 前記(i−1)番目のルートのデジット及び前記(i−
    2)番目の部分の余りに応答して、第1ルートのデジッ
    トを予測する第1ルートデジット予測テーブルロジック
    と、 前記(i−1)番目のルートのデジット及び前記(i−
    2)番目の部分の余りに応答して、第2ルートのデジッ
    トを予測する第2ルートデジット予測テーブルロジック
    と、 前記キャリー伝達検出器の前記出力に応答して、前記第
    1及び第2ルートのデジットのうちの一つを前記i番目
    のルートのデジットとして選択するマルチプレクサと、
    を含む、ことを特徴とする請求項19に記載の計算装
    置。
  22. 【請求項22】 各繰り返し演算で、 x(i)=4x(i−2)−2(2q(i−2)+q
    −(i−1)−i+1)q−(i−1)−2(2q
    (i−1)+q−i−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)番目の部分の平方根、
    (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)を繰り返すこと、を特徴とする計算方法。
JP2002338440A 2001-11-21 2002-11-21 計算装置及び計算方法 Expired - Fee Related JP3941868B2 (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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