JPH03171324A - オペランドの平方根を計算する回路及び方法 - Google Patents

オペランドの平方根を計算する回路及び方法

Info

Publication number
JPH03171324A
JPH03171324A JP2233437A JP23343790A JPH03171324A JP H03171324 A JPH03171324 A JP H03171324A JP 2233437 A JP2233437 A JP 2233437A JP 23343790 A JP23343790 A JP 23343790A JP H03171324 A JPH03171324 A JP H03171324A
Authority
JP
Japan
Prior art keywords
root
reciprocal
digit
value
remainder
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.)
Pending
Application number
JP2233437A
Other languages
English (en)
Inventor
Willard S Briggs
ウイラド、ステュウァト、ブリッグス
Thomas B Brightman
タマス、ビー、ブライトマン
David W Matula
デイヴィド、ウイリアム、マテュラ
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.)
Cyrix Corp
Original Assignee
Cyrix Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Cyrix Corp filed Critical Cyrix Corp
Publication of JPH03171324A publication Critical patent/JPH03171324A/ja
Pending 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/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Optimization (AREA)
  • General Engineering & Computer Science (AREA)
  • Complex Calculations (AREA)
  • Analysing Materials By The Use Of Radiation (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔産業界の利用分野〕 本発明は一般に電子デバイスを使い数学的機能を果す分
野に関する。ことに本発明は、長方形縦横比乗算回路を
使いシステムで平方根機能を果す方法及び装置に関する
〔発明の背景〕
演算装置は、任意の集積電子データ処理システムの最も
重要な部品の1つである。演算装置は、集積システムの
他の部分から転送されるオペランドに広範囲の種類の数
学的機能を果す。基本的な加算、減算及び乗算の機能は
今日演算装置で迅速有効に果される。しかし正確な平方
根機能を果す現用の技術は効率及び速度に関して十分な
満足は得られていない。
正確な平方根という用語は普通の書き方による平方根処
理により生ずる結果に相当する結果すなわち部分根に対
する正の値と負でない場合に最終の場所で厳密には部分
根プラス1単位の2倍より小さい(又は負の場合には根
マイナス1の2倍)「剰余」とを表わすのに使われ、無
限の精度で部分平方根及び剰余の和がオペランドに正確
に等しくなるようにする。
正確な平方根は有界誤差の近似平方根より一層有用な結
果を生ずる。正確な平方根はIBBE−754− 19
85  によυ規定されるような無限に精密な丸めの実
現の規準となる。さらに正確な平方根を構成する部分根
及び剰余は、もとのオペランドに関係なく正確な平方根
の引続く一層高い精度の決定を開始する出発点となる。
己れ等の特長はいずれも、有界ではあるが不確定の誤差
の近似平方根からは得られない。
正確な平方根を見出す1方法は普通の書き方の平方根法
の2進の変形である。この方法は、各反復が1ないし3
ビットの部分根だけにしか役立たなくてオペランドの精
度が増すに伴い多くの反復を必要とするという欠点があ
る。l7かしこの方法は精密な丸めに適当な正確な平方
根を生ずる。
別の現用のシステムはニュートンーラフソン(Newt
on−Rapt)sCpn)近似法を使う平15根Lt
使用する。このシステムでは根の逆数の近似は、全精度
フォーマットで逆数に対する近似値を得るのに反復法を
使用して計算する。全精度逆数近似は次いで全精度オペ
ランドを乗じて根の全精度評価を得る。評価した根の不
確定誤差内への制限ブどけしか知られていない。Cの情
報は精密な丸めの実施には不適当である。距確な平方根
を得るには誤差の不確定性を第2の全精度乗算によって
除く。第2の全精度乗算ステップでは、近似根はこの根
南体を乗じ、正確な差はオペランド及び近似平方根の間
で計算する.らの情報はこの場合、剰余の回復を許容し
又は適当な精密な丸め手順を得或はこれ等の両方を行う
のに十分である。すなわちニュ・一トンーラフソンの正
確な平方根は、時間のかかる2回の全精度乗算を必要と
する。
従って、適当fJ:.n密な丸め手順に使うことができ
る1f確な平方根が得られるが従来開発されたシステム
よりかかる時間が少なく又一層有効である平方根法を使
うシステムが必要になっている。
L発明の要約〕 本発明によれば、正確な平方根機能を果すのに使われる
従来の演算技術に伴う欠点及び問題を実質的Kなくし又
は減らす平方根の方法及びシステムが得られる。
本発明の平方根システムは先ず根の逆数の近似を定め、
バイアスして、これを打切り、長方形縦横比乗算回路の
短辺を実質的に満たすのに必要なヒ゛ット数に正確に等
しい以下短い逆数と称する。
平方根システムは次いで極めて大きい基数に対応ずる根
ディジット値を開発する。この大きい基数は長方形乗算
器の短い辺のビット数に実質的に等しい。短い逆数に必
要な精度は、この大きい基数内の】ディジットプラス適
当な保護ビットに限定される。重嬰なことは短い逆数の
誤差は、逆数値の誤差の限界がこの処理に対l7て必項
なだけであるから不確定の筐−1.に残して、ニュート
ンーラフソンの正確な正方根法の時間のかかる特長をな
くす。各根ディジット値は、根の短い逆数に長方形乗算
器の剰余を乗じ結果を適当に打切るらとにより定める。
根ディジット値は対応する正確な剰余で逐次に定める。
この方法により定められる各根ディジット値は、新らた
な符号伺き刺余が定められる根ディジット値の最終の場
所内の1以下の値に対応する場合に、大きい基数システ
ム内の多くとも2つの可能な値の1つである。このよう
な符号付き剰余はこの場合IEEI号−754−198
5 Kよ9特定されるような精密な丸めの簡単な実施が
できるのに十分である。長方形乗算器のこの使用によl
】 引縛(全Mlf垂算ステップを,Q/、舒川,介い
〜本発明の重要な技術的利点は、本発明で長方形縦横比
乗算回路を使う点にある。長方形乗算器の使用による平
方根法の複数の位置で時間の節約になる。根ディジット
値を形成するのに使う各乗算ステップは短×長のはるか
に簡単な乗算である。
な釦重要なことには新らたな正確Δ剰余を生成するのに
必要な乗算及び引続く減算はすべて、長方形乗算器の単
一の適用Kx.つて行われる。根の逆数の初期評価は長
方形乗算器の短い方の辺の精度K概算するだけでよいの
でさらに時間の節約ができる。このよう(F−シて評価
の精度を全精度幅に拡大スルのに二一・一トンーラフノ
ン反復に必要な乗算ステップを節約すると共に、根近似
にお・ける不確定性を除くのに使われる引続く全精度乗
算が節約される。
〔実施例〕
実施例について図面を参照して説明すると、本発明の演
算装置は平方根機能を果す新規な方法を使う,この方法
は第1図フローチャ−1・に示してある。例示した方法
d、長方形縦横比乗算器脊備えた演算装置で演算するよ
うにとくに例示してある。本発明演算装置は、たとえば
19 X 69ビットの縦横比を持つ長方形乗算器を備
えている。この乗算器は、4つのl7−ビット根ディジ
ットを生ずることにより68ビット数の正確な平方根演
算を行うのに使う。非負数剰余を持つ所望の全精度68
ビット部分根は本発明方法では、大きい基数2 を使う
4つの符号付き17−ビットディジットから成るものと
見られる。
第1図に示した方法はオペランドyの平方根を計算する
のに使う。オペランドyは、κ<y<1でありその指数
が偶数であるように正規化する。
平方根機能は、根の逆数を短い逆数}{,f得るのにオ
ペランドの精度より低い精度に近似することによって生
ずる。根ディジット値di −q逐次に定め累算して部
分根Dを生ずる,。剰余はレジスタ2内に生じ記憶する
。本方法は49 x 69ビットの縦横比を持つ配列乗
算器に関して述べる。しかし本発明平方根法が広い範囲
の長方形縦横比乗算器に応用できるのはもちろんである
。本説明で述べる特定の長方形乗算器は、本発明のため
に選定した実施例であり本発明の範囲を限定するように
構成したものではない。
第1図に示すように本方法は、剰余レジスタ2にオペラ
ンドyをロードし根レジスタを零にセットするステップ
(lO)で開始する。本方法ではオペランドは1より小
さくなるように正規化された68ビット数であり、又6
9ビット.剰余レジスタ2の最上位ビットは2進基数点
の左方の唯一のビットであるから初めにはOに等しいこ
とを前もって推定するのはもちろんである。本方法は次
いで、根の短い逆数Rを(N十k)ビットの精度に定め
、るステップ( 12 ) K進む。Nは、根ディジッ
ト.K協働する大きい基数内のビット数になるよう,K
定める。この場合N=17であり、kは制限された保護
ビット数である。たとえばkはこの場合2に等しい。本
実施例によれば短い逆数Rは正確な逆数に18ビット以
上の精度棟で近似する。短い逆数Rは真の逆数1/6−
に対しつねに大きいか又は等しい。
この場合真の逆数は1よシ大きく2より小さいか又は2
に等しい。近似ステップ(12)は、第2図についてな
お詳しく述べるニュートンーラフソン近似法の変化を使
う。
第1の根ディジット値は、この場合剰余レジスタZ内の
オペランドに短い逆数Rを乗じ少なくとも1つの先行零
を持つ積88ビット幅を生ずることによりステップ(1
4)で計算する。短い逆数とオペランドとの積にはこの
場合ディジットバイアス調整因子δ1を加える。19 
X 69ビットの縦横比を、持つ乗算器を使う本発明の
1実施例では、δl は、根ディジットを打切った最終
位置内でlK対してlの九に等しい。ディジットバイア
ス調整因子δ1、δ2、δ3、δ4 は、符号付き17
−ビット根ディジット値を生成するように積の打切シか
ら生ずる誤差を相殺するように加える静的に生ずる補正
因子である。ディジットバイアス調整因子−δi は、
計算される根ディジット値が正である、場合に初めて根
ディジット値を生成するように加えられ、第1のディジ
ット値が負になった後に根ディジット値を観察する。δ
iを加えるときのこの制限は、ディジット打切り誤差が
大きさ減らして、正の根ディジット値に対して根の値を
減らすように作用し又負の根ディジット値に対し根の値
を増すように作用することに基づく。互いに異なるディ
ジットバイアス調整因子は、第2、第3及び第4の根デ
ィジット値の計算とは対照的に第1の根ディジット値の
計算で選択的に加える。本実施例ではディジットバイア
ス調整因子δ2、δ3、δ4 はすべて打切Dvc対し
最終の場所でμ単位に等しく、得られる根ディジット値
が正である場合だけ打切りに先光って第2、第3及び第
4の根ディジット値で加える。ステ゛ツプー(l4)で
は第1根ディジット値及び短い逆数の後に各根ディジッ
ト値に対し右に1個所の位置にシフトした2レジスタの
積と適当なディジットバイアス調整因子δiとの和は次
いで打切って単一の符号付き17−ビット根ディジット
値を生成する。ディジットという用語は、この場合大き
い基数2 に関して使われ、そして正規化に関係なく2
 −1又はそれ以下の値を持つ任意の正又は負の整数値
に対応する。19 X 69ビットの長方形縦横比の場
合Kは68−ビットオベランドの完全な68−ビツ1・
根に対し4つの根ディジット値が必要である。すなわち
乗算器を通る4回のパスは4つの根ディジット値を生ず
るのに必要である。
本実施例Jt71よって定められるi番目の符号伺き1
.7−ビット整数デイジツ1・は、対応ずる根ディジッ
ト値を特定する際に、最も左のビツ1・の左K2進基数
点l7(+−1)の位置を持つように取る。このことは
、無限K精密な根が凭く石=く1の範囲内の値を持つこ
とに対応1〜、従ってd1−.1b21)3・・・b,
7u生成ずる第1の根ディジット値であり、d2−±.
 000000 000000 000001)18b
,9b2o−b34は生成する第2の根ディジット値で
ある。
本方法はステップ( 16 ) K進む。ステップ(1
6)では剰余レジスタz(r’1次の根ディジット値の
計算を更新する。新たな2レジスタ値は、2レジスタか
ら{(}られる現在の剰余と、新たな根ディジット値と
部分根の2倍及び新たな根ディジット値の和Vコ等しい
協との積との間の差に等しい。
本方法はステップ(18)に進む。ステップ(18)で
は新たな部分根をi = l、2、3、4に対し累算す
る。このようにして各根ディジット値を定めると、初め
に零の部分根Dは17以上の精度ビットまで累積され記
憶する。
本方法は次いでステップ( 14 ) K戻る。ステッ
プ(】4)では次の根デ珂ジット値は、新たな剰余の半
分ど短い逆数との積を取り、デイジツ1・バイアス調整
因子を条件付きで加え打切るこどによって生ずる。この
ようにして根ディジット値は中間の部分根及び正確な剰
余と共に逐次に生ずる。この処理の終りに全精度部分根
の正確な剰余は別の処理に利用できる。部分根及び剰余
の対は剰余が正又は負のいずれかであるらとによってこ
の点では独得のものではないが、精密な丸めlI′j:
適当な条件付き丸め論理装置によりこの点で行うことが
できる。本実施例によれば補正ステップは条件付き丸め
論理装置の必要をなくすように行う。
本発明の1実施例の19 X 69ビット長方形乗算器
を使うと、平方根法は:、全精度平方根機能を完了する
のに4つの根ディジット値の発生を必要とする。各根デ
ィジットは、それぞれステップ(14)及びステップ(
 16 ) K対応する複合の乗算及び加算ステップと
複合の乗算及び減算ステップとを必要とする。
第3図Kついてなト詳しく述べる本発明の長方形乗算器
の重要な利点は、らの乗算器が又付加的な加算器ポート
を備えることである。この付加的加LT W.iポート
により、長方形乗算器を通る1回のバスで若干の乗算及
び加算を行うことができるようにする。従って17 X
 6!l)ビット積及び差を及協するステップ(l6)
で示した演算並びに所定の定数の加算ど共に若干の19
 X 69又は若干の20 X 69ビット積金含むス
テップ(14)で示した演算はそれぞれ長方形乗算器を
通る単一のパスで行うことができる。
部分根及.び剰余の対は、第1図のステップ(20)に
より例示した補正順序を経て部分根及び剰余を通すこと
により独{lに行われる。ステップ(12)で逆数の評
価で行われるステップによって、補正順序自体はかなり
簡単である。この実施例では最一68 終剰余は、2  と最終場所における最終部分根プラス
1の2倍との積に等しい正の量より小さく又2−68と
最終場所における最終部分根マイナス1の2倍との積に
等しい負の量より大きくなければならない。剰余が負で
あれば、剰余の再計算では最終場所における最終部分根
マイナス1の2倍に等l7い適当にシフトした量を剰余
に加算する。次いで最終部分根を最終場所で1だけ減ら
す。この簡単な補正順序は、ステップ(12)で生ずる
逆数の近似を、短い逆数が剰余を乗じたときに根ディジ
ット値を生ずるようにして生ずるので可能である。これ
等の根ディジット値はつねに部分根に対する正確な打切
り値又は打切られた根ディジット値の最終場所では大き
すぎる1のいずれかである。近似はこれ等の2つの可能
な結果に注意深く制限するので正確な平方根機能が実施
される。その理由は任意の平方根演算の得られる部分根
及び剰余は前記した簡単な補正順序は非負の剰余と共に
独得の全精度部分根を生ずるような値であるからである
。非零剰余が正の値により独得の根を生じさせなければ
ならないと仮定するのは前記の教示の便宜な点である。
独得の根は又負の剰余を絶えず強制することによっても
生ずる。独特の部分根及び剰余の対は正確な平方根機能
の結果と考えられる。
前記した短い逆数値を計算するのに使うニュート/−ラ
フソ/評価法の新規な変化を第2図のフローチャートに
示してある。この方法はステップ(22)で開始する。
ステップ(22)ではオペランドyの平方根の逆数に近
似的に等しい逆数シード値y′を見出すのにルックアッ
プテーブルを使ウ。
この方法で逆数シード値y′を浮動小数点フォーマット
に正規化されy′が1より大きいかIK等しく又2より
小さくそしてy′は長方形縦横比乗算器の小さい方の寸
法より小さ〈又はこの寸法に等しいビット数を持つよう
にすることを前もって推定するのはもちろんである。前
記したようにルックアップテーブルはこのテーブルの寸
法の制限によって少数のビットが得られるだけである。
すなはちy′はシード値として使われ、近似値内の正確
なビットの数は反復法によって増す。この実施例ではシ
ード値y′は、逆数バイアス調整因子の加算に先だって
2 より小さい絶対誤差で近似逆数を生ずるのに十分な
精度を持つように選定する。
この方法はステップ(24)に進む。ステップ(24)
では、反復処理の第1のステップはYを計算するのに使
う。y′は、第1の結果をy及びy′の積として計算す
ることによって計算する。第1の結果は、69ビットに
打切り、y’/を乗じ、占か2 ら減算して第2の結果を生成する。第2の結果は69ビ
ットに打切りy′を乗じて第3の結果を生成する。第3
の結果は69ビットK打切by“に対する値が得られる
ようにする。この方法は次セでステップ(26)に進む
。ステップ(26)では近似逆数値y″′の計算が図示
のようにニュートンーラフソン近似式の付加的反復によ
う同様に計算され、7′に対して乗算器の短い方の辺に
利用するために17ビットに打切ったYの前回に計算し
た値を使う。y′又は7′は、異なる寸法の乗算器を短
い逆数Rに一層少数の正確なビットを必要とする本発明
の異なる実施例に使う場合に近似逆数値として使うこと
ができるのはもちろんである。この方法はステップ(2
8)で終了する。ステップ(28)では短い逆数の最終
値は近似の逆数値y″′の値を逆数バイアス調整因子ε
(エプシロン)に加え結果を適当に打切ることにより得
られる。εは根ディジット値の基数に従って静的に生ず
る量である。εは2つの項の和に等しい。第1の項は2
−(N+k−1)K等しい。この式で前記したようにN
は根ディジット値の基数のビット数に等しく、kは前も
って定めた保護ビットの数である。第2の項はニュート
ンーラフノン近似の結果を真の逆数より大きくなるよう
にバイアスするのに十分なだけ大きくなるように定める
。しかし第2項は又根ディジット値を14に決定すると
定められた根ディジット値の最終場所K1以下に対応す
る剰余を生ずるように十分小さくなければならない。1
9 X 69ビットの縦横比を持つ乗算器配列を使う本
発明の1実施例では、εは近似逆数のN番目の場所で1
の177f,4K等しい。
この近似逆数は本実施例でN=17、k=2及び1ζy
″′<2とすると2−18+2−22に等しい。打切シ
によう得られる短い逆数Rは、1(R(2の範囲内で1
9ビット値か又はR = 10.00・・・Ok18に
より与えられる加ビット値である。この加ビット値はこ
の場合第1図に例示した方法に使われ部分根及び剰余を
生ずることができる。この部分根及び剰余は、第1図の
ステップ( 20 ) K関して前記した簡単な補正法
により独特の正確な結果を生ずることができる。
ニュートンラ7ソ/の式の各反復は、長方形縦横比乗算
器が付加的な加算器ポートを含む場合に長方形縦横比乗
算器を通る3回のパスを必要とするだけである。第1の
パスは積y−y’を生成する。
第2のパスは積及び差(3/2)−(y/2)・(y−
yりを生或.する。第3のパスは、y′・( ( 3/
2 )− ( yVz )・(y−yつ}を生成するこ
とによう反復を完了する。前記したように付加的加算器
ボートを設けてあるので第2項( 3/2 )− ( 
y/2)・(y−y’)は長方形乗算器を通る単一のパ
スで計算する。これ等の逐次の乗算の結果は、23 2 内の1部よう小さい誤差に対し正確な逆数の近似を
必要とするだけであるから長方形乗算器の長辺の長さに
それぞれ打切る。
本発明の平方根機能を果す方法が短い逆数R・を計算す
るのに使う特定の方法には佑存しないのはもちろんであ
る。ニュ・一トンーラフソン法の前記した変化はこの値
を発牛する枦K1つの可能な方法である。たどえば近似
逆数値を生ずるのに単一の反復又は2回以上の反復を使
うニュ・一トン一ラフソン近似法の変化は、それぞれこ
の実施例より一層少ない又は一層多い正確度ビツl−を
持ク短い逆数を必要とした乗算器を使うンステムで適当
である。さらに本発明の1実施例が短い逆数に一層小さ
い偶数の正確ビットを必要とする場合に逆数バイアス調
整因子の加算1尾先だって近似逆数値の直接テ・−ブル
ルックアップ又はバイアス調整因子を前屯って含む短い
逆数の直接テーブルルックアップが実際的である。第2
図について述べlr−力法は本発明の説明のフコめに述
べたものであり、短い逆数R・を生ずるこの方法又は任
意特定の方法に本発明の範囲を限定するものではない。
第3図は本発明の正方根機能を果す方法を行うことので
きる1つの回路例のブロック図である。
第3図では回路(3o)は、マイク口ブロセッザ(図示
してない)と回路(30)を備えた算術演算コブロセツ
ザとの間を通じさぜるシステムバス(32)を使う。シ
ステムバス(32)は、たとえばマイクロブロセツザか
らのデ・一夕回線、アドレス回線及び制御回線を備えて
いる。システムバス( 32 ) KはDラッヂ(34
)、ディジットラッチ(36)、逆数ラッチ(33)及
びEラッチ(38)を結合してある。一般にDラツチ(
34)、逆数ラッチ(33)及びディジットラッチ(3
6)は、マイク口プロセッサカラオペランドを受け、こ
れ等のオペランド金算術演算に使えるよう{尾記憶し、
Eラッチ(38)は演算の出力を記憶するように作用す
る。
逆数ラッチ(33)はシステムバス(32)から19ビ
ットを受け18の低次ビットをマルチプレクザ(44)
に出力する。先行ビツl・は,フィードバックレジスタ
(54)と加算器(48)への入力との間に結合された
シフタ( 52 ) vc出力する。ディジッl・ラッ
チ(36)は、システムバス(32)から17ビツ1・
を受けこれ等の17ビツ1・をマルチプレクザ( 44
 ) +で又マルチブレクザ(35)に出力する。マル
チブl/クサ(35)の出力は3条の各別のデータ径路
を経て加痒器( 37 ) K結合してある.,Dラツ
チ(34)!dシステムバス( 32 )から69ビッ
トを受け69ビットをlJ[]算器(37)に出力する
。加算器(37)の出力triマルチプレクザ(40)
に入力する。
含ま′il−る量の符号に関連する作用は背景i1;l
御により又は全部のビットを冗長2進の実施の符号付き
ビットになるように取ることにより取扱うものと仮定す
る。
マルチプレクザ(35)idデイジソトランチ(36)
Vこ記憶さ7tたディジットを加算5 ( 37 )に
人力しディジットを3つの各別の群のビツl・位置に適
当に位置合せする,,マルチプ1/クザ(40)への残
りの人力はフィードバックレジスタ(54)の出力に結
合され、マルチブ1/クザ(40)の出力は乗算器配列
(42)の長辺に人力する。
乗算米配列(42)はメ川算器配列のトリーを備え゛C
いる。演算回路(30)を使い単一の短×長の乗算を完
了するように、被乗数はDラツチ( 34 ) Kロー
ドされ、乗数はディジットラッチ(36)又は逆数ラッ
チにロードする。乗数は、18ビットから成丞「短い」
オペランドを備える。被乗数は、69ビットから成る「
長い」オペランドを備える。被乗数は、第1のマルチプ
レクザ(40)を通り乗算器配列(42)に人力する。
18ビットの乗数は第2のマA・チプレクサ(44)か
ら乗算器配列(42)の短い辺に入力する。乗算器配列
の出力は87ビットの幅を持ち1つの入力を第1の加X
i(46)に生成する。短×長の乗算がこの18ビット
幅を越えて延びるように、第1加算器(46)の第2ポ
ートは、前記した乗算器のイ」加的加算器ポートとして
作用する。第1加算器(46)の第2ボートは第2の加
算器(48)の出力に結合してある。加算器(48)は
その人力を定数ポー}(,5O)とフィードバックレジ
スタ(54)の出力とから受ける。フィードバックレジ
スタ(54)の出力の69ビットは又第1マルチプレク
サ(40)の第2の入カポー1−K結合され、第2マル
チプレクサ(44)と共にフィードバックレジスタ(5
4)の18 X 69ビットの積をふたたびフィードバ
ックレジスタ(54)の内容に条件付きで加算し、シッ
ク(52)を通し第1加算2% ( 46 )の出力に
19 X 69ビットの全積を生ずる。
オペランドの平方根が半分に等しいか又はこれに近いと
きは、短い逆数は2に等しいか又は2よりわずかに大き
い。このようにして19ビットの短い逆数をこの方法の
正規化であふれさせ最上位ビット位置にOを残す。この
条件は最上位ビット位置を調べることにより検出されシ
フタ(52)を1だけ左にシフトさせる。この場合フ・
イードバツクレジスタ(54)の内容を2倍して加える
効果を持ちこれ等の特定の20 X 69ビットの乗数
を適正に取扱うことができる。
加算器(46)の重要な技術的利点は、オーバフローを
検出し得られる和を飽和することができることである。
根ディジット値の計算中に、短い逆数と剰余との積がオ
ーバフ口一を生じ217  1より大きい大きさを持つ
ディジットを指示する。従つて加算器(46)の飽和の
機能により、加算器(46)の含1れる2進基数点の右
に217  1のデイジタト負の剰余に対応する全部で
86の出力ビットに1に対応する最大和を送るように動
作できる。
第1の加算器(46)の出力は第17フタ(55)の人
力に結合してある。第1シフタ(55)は第1加算器(
46)の出力を1個所だけ右又は左にシフトするように
動作する。このシフト動作を使い、データ径路内で流れ
る最大数の有効データビットを保持し、第1図のステッ
プ(4)Kついて述べたように位置合せにより剰余に半
分を乗ずる。
第1シック(55)の出力は結果レジスタ(56)に人
力する。結果レジスタ(56)の出力は2個所の各別の
場所に送る。出力は先ず、結果レジスタ(56)とフィ
ードバックレジスタ(54)への入力との間に結合した
第2のジフタ( 58 ) K送る。この出力はレジス
タ(54)から引続いて別の計算のために乗算器配列(
42)又は加算器(48)又は加算器( 46 ) K
戻される。シフタ(58)を使いデータ径路内の値を左
に17ビットだけシフトする。シフタ(58)を使い、
既知の値を持つビットを外にシフトすることによりデー
タ径路内にできるだけ多くの有効データビットをふたた
び保持する。本発明方法の特長により、後続の剰余を生
ずる減算ステップの結果の初期17ビットはつねに0で
ある。
このことは、この減算ステップのオペランドの初期ビッ
トがつねに相殺することによる。これ等00ビットは従
って左にシフトして出され17の付加的有効データビッ
トをデータ径路内に留1らせる。
結果レジスタ(56)の出力は、前記したようにシステ
ムバス( 32 ) K結合したEラツチ(38)K入
力する。システムバス(32)ぱ又累算回路(70)は
、システムバス(32)にポートの一方を結合した加算
器(72)を備えている。加算器(72)の残りのポー
トはシフタ(74)に結合してある。加算器(72)の
出力は、シフタ(74)の人力にも結合した根レジスタ
(76)K入力する。根レジスタ(76)の出力は又シ
ステムバス(32)に結合してある。
この結線は、データ径路に送給する。このデータ径路シ
こより部分根を、第1図に示したステップ(l6)につ
いて述べたように後続の剰令の計算、のためにDラツチ
(34)に戻す。
前記したように本発明の新規な平方根法を行うのに使う
基本演算は乗算演算である。しかし互いに異なる種類の
乗算演算を識別することが大切である。平方根機能を果
す従来の方法は、根の逆数の全長、全精度の近似を計算
し次いで全精度の「長×長」の乗算を行った。次いで付
加的な全精度乗算を使い結果を補正した。本発明平方根
法は全精度乗算を必要と1,ない。本方法に必要な乗算
演算ははるかに簡単で迅速な「短×長」乗算である。
本発明の平方根機能を果す方法は訃そらく、普通の書き
方による平方根法と協働して調べると明らかになる。こ
れ等の2通りの方法は、比較的よく知られている底10
で平方根を計算する例を使えば極めて容易に比較される
第4a図は普通の書き方の平方根法を行うのに必要なス
テップを表の形で示す。第4b図は2の平方根を計算す
るのに使う普通の書き方の方法を示す。又第4C図は2
00平方根を計算するのに使う普通の書き方の力法を示
す1、己れ等の両例は底10でj1算する。
第4a図K $−いてステップ(1)は引き数をディジ
ット対に分類する仁どを必要とする。この点では10進
小数点がL対のデイジツ1・内をてあってはならないこ
とに留意f″ることが大切である。引き数の指数に関連
しなければならないことを知ることが大切である。この
ことは2の平方根が20の千フj根と同じイ■効ディジ
ットを含まない点で次の例に明らかである。ステップ(
2)では根の第1ディジットは、第1ディジット対より
小さいか又(・まらの対に等1〜い最大の完全自乗を再
現しこの完全自乗の根を第1のデイ・ジットとして使う
ことによって生ずる。図示の例では2より小さい又1d
2に1しい最大の完全自乗は1であり、従って2の平!
i根の第1の根ディジット&i1である。20より小さ
い最大完全白乗は16であり、従って20の根の第1デ
ィジットは4である。
ベテツプ(3)では剰余Fi.Z1ディジット対及ひ自
乗した第1根ディジットの間の差ε17て計算する。ス
テップ(4)では次のデイジソト対新らたな剰余を生成
するようにする。剰余及び新た女剰余は共にこれ等の制
限1,か数のデイジツ1・により規正され、もどのオペ
ランドの後続のディジット金ザイクルととvc1つの新
′Pr′.なディジット対の割合で計nに入れろ。2の
平方根の例では新たな剰余u tooであり、20の平
方根の例では新たな剰余は図示のようK 400である
。ステップ(50では試行除数は2×底×部分根(て等
しいど計算される。
2の平方根の例では第1の試行除数は20に等しい。
加の平方根の例では第1の試行除数は80に等しい。
ステップ(54)では次の根ディジットは新らたな非零
剰余を試行除数により割り商を切り上げ1を引くことr
よって計算する3,新らたな剰余が零であれば次の根デ
ィジットは零にセツ1・する。2の平方根の例と斧の平
方根の例では共に、次の根ディジットは図示のように4
になるように計算し2に対しては1.4又20K対して
は4.4の部分根を生ずる。ステップ(6)では次の剰
余を計算する。
次の剰余は次の根ディジットと試行除数及び次の?ディ
ジットの和との積K等しい。2例の平方根で次の剰余は
4に等(7くなるように計算する。加の平方根の例では
次の剰余を64になるように計算する。この点で次の剰
余は負である。ステップ(5b)の計算は適当な次のデ
ィジットを必ずしも確認しないことは普通の書き方の平
方根の特長である。この場合次のディジットの現行の推
定は1だけ減少しステップ(6)を反復する。
この方法は次いでステップ(4)に戻り、ステップ(4
)で次のディジット対を新た■剰余を生或ずるようにす
る。普通の@色方の方法は次いで無期限に進み所望通り
の数の平方根ディジットを生ずることができる,mAa
図に例示した例から明らかなように普通の書きブjの平
方根法は、根の各ディジットを生ずるのに多数の複雑な
算術演算を必嬰とす.る。@根ディジットの発生に必要
な反復ステップは、少なくとも1つの乗算演算と1つの
除算演算と若干の伺加的なシフト演算及び加算演算とに
より算術プロセッサの時間を占める。
第4b図では普通の書き方の力法1d2の平方根を計算
するのに使う。左側の欄では、前回のディジットの2倍
と計算しようとする最後のディジット(ア/ダーライン
してある)との和を示17てある。零として取ったなお
定めようとする最終のディジット(アンダーラインして
ある)を持つらの項は、第4a図でステップ(5)vc
ついて述べた試行除数を構成する。ステップ(sb)に
おける除算を試行除数に最終のディジットを加えるのに
先立って行わなければならないことは、負の剰余がステ
ップ(6)で生じ根ディジットの減少とステップ(6)
の角計算とを生じさせる。
第4C図は正の剰余で9ディジットの精度を持つ部分根
に対1−20の平方根を計算するのに使う普通の書き方
の平方根法を示す。
本発明により正確な平方根機能を果す方法の底10の例
を第5図に例示(一である.,第5國は第1図に示した
フローチャートにより例示した方法を使い0.2の平方
根の計算を示す。第5図に示した例は底100の大きい
基数ディジットを使う。オペランドの大きい基数ディジ
ット自体は各ディジット対に分類する。各群はこの場合
4個所の10進場所を持つ。初めK2の平方根の逆数は
7.08  K等しくなるように近似させる。このこと
は前記した短い逆数の計算に対応する。根の初期ディジ
ットは、オペランド2に7.08  を乗ずることによ
り計算し、0.1416を生じ、次いで小さいディジッ
トバイアス調整因子を加え、打切りにより第1の根ディ
ジット値として.14を生ずる。この第1の根ディジッ
ト値は自乗し初期オペランドかな差引き新たな剰余.0
004を生ずる。第5図の逐次の剰余は、第3図のシッ
ク(58)について述べたようにデータ径路内に一層多
くのディジットを保持するよウI/C zレジスタ内で
左にシフトしたときに剰余がどのようにして現われるか
を例示するようにさらに2つの先行零に対応する基数点
により各サイクルを削除して示してある。半分のこの剰
余は次いで短い逆数を乗じ、ディジットバイアス調整因
子を加え次いで打切りにより.0014 K等しい次の
根ディジット値を生ずる。この根ディジット値を次いで
前回の部分根の2倍に加え和.2814を生ずる。根デ
ィジット値.0014を次いで和.2814に乗じ.0
0039396を生ずる。この積は次いで.00000
604 K等しい次の剰余を生ずる。この処理は、それ
ぞれ.000021及び.00000036 K等しい
最終の2つの根ディジット値の発生のために継続する。
この処理は部分根.14142136と対応する負の剰
余一.0000 0000 10642496  とで
終了する。負の剰余は、最終場所において部分根マイナ
ス1の2倍の和に10  を乗ずることにより与えられ
る量を加えることにより第5図に例示してないステップ
により正にして、減少した最終部分根.1414213
5 K対応する最終剰余.oooo0000 1764
 1775を生ずる。
第5図の例は、それそれ単一の短×長乗算ステップを使
うことによう根ディジット値は逐次に生じ対応する新た
な正確な剰余を定めることを例示する。本方法は、被乗
数として前回の部分根プラス新たな根ディジット値の,
2倍の累算を必要とする。短い逆数は、各機ディジット
値の計算に追従する剰余が前回の根ディジット値の最終
場所で1以下に大きさが対応するように計算する。
第5図に示した底10の例により例示した方法は第3図
に示した回路に直接応用できる。第3図に示した回路の
唯一の違いは2進符号付きディジットフォーマットでオ
ペランドを利用することである。さらに第3図に示した
回路により生ずる根ディジットのディジット長は長さ1
7ビットである。
これぱ2  =131.072の基数に対応する。
回路(30)を使う本発明の平方根法を行うには、逆数
の近似を前記したように生じ逆数ラッチ(33)に記憶
する。オペランドは、これを変えないで、システムバス
(32)から回路(30)を経て通すことによりフィー
ドバックレジスタ(54)にロードする。すなわちフィ
ードバックレジスタ(54)は第1図について述べた2
レジスタとして作用する。
第1の根ディジット値を生ずるにはオペランドを乗算器
( 40 ) Kよりフィードバックレジスタ(54)
から選定し短い逆数を乗ずる。18低次ビットの短い逆
数をマルチプレクサ(44)を経て乗算器配列( 42
 ) Kロードし、積を加算器(46)の一方のボート
ニ人力する。オペランドは又シフタ(52)に送り短い
逆数の先行ビットにより乗算を行い加算器(48)への
一方の人力ポートに結果を生ずる。
加算器(48)の他方の人力ポートは定数ポー} {5
0)からディジットバイアス調整因子δ1を受ける。
加算器(48)からの和出力は加算器(46)で乗算器
(42)からの積に加え結果をシフタ(55)K出力す
る。この結果の17の最上位ビットは第1の根ディジッ
ト値を構成する。第1根ディジット値は次いでディジッ
トラッチ(36)及びD−ラッチ(34)にロードする
第1剰余は、先ず第1根ディジット値を自乗することに
よって計算する。このことは、第1根ディジット値を乗
算器配列(42)の長辺にロードすることによって行わ
れる。このロードは、第1根ディジット値をD−ラッチ
(34)から加算器(37)及びマルチプレクサ(40
)を経て送ることにょυ行われる。マルチプレクサ(3
5)は加算器(37)に零を出力して、第1の根ディジ
ット値はこれが加算器(37)を通過する間は変えない
ようにする。
第l根ディジット値は又ディジットラッチ(36)から
マルチブレクザ(44)を経てg算器配列(42)の短
い,7J Vr.o−ドずる。次いで乗算器配列(42
)は第1枳ディジット値を白乗する。オペランドはフィ
ードバックl/ジスタ(54)から第2加算器c48>
−it−経て第1加算器( 46 ) K送る。加算器
(4G)では、第1根デ4ジツ1・値の自乗を減算する
。第1加算器( 4fi ) Kよる差出力は、シック
(55)で右に1個所シフトし結果レジスタ(56)に
送り新たな剰余の半分を構戒する。この新たな剰余は次
いで第3シック(58)で左17ビットにシフトする。
前記したように剰余の第1のl7ビットは、すべて零で
あり、これは減算演算のオベラン.ドの初期ビットが相
殺するらとによる。シフトした剰余は次いでフィードバ
ックレジスタ(54)に口−ドされ次の根ディジット値
の計算カできる。レジスタ(54)にロードされる実際
のil′は、ステップ( 14 ) Kおける次の根デ
ィジット値計算に備えてシフタ( 5.5 >による位
置合せに基づき剰余の半分に等しい。根レジスタ(76
)からの結果はこの場合、1ごットだけ位置合せしたD
−ラッチ(34)に送り利用できる部分根の2倍に等し
い量をステップ(IG)の引続<i復で新たな剰余の計
算のために加算器( 37 ) I/l’:送る。
後続の各枳ディジット値は、マルチプレクザ(44)を
経て乗算肪配列( 42 ) K D−ドする短い逆数
を乗ずることによって計算し、短い逆数先行ビットを剰
余の半分によりシフタ( 52 ) VC人力する。こ
の剰余はフイ・−ドバツクレジスタ( 54 ) VC
存在しシック(52)K又マルチブレクザ( 4O ’
) t経て乗算器配列(42)の長現に口・一ドする。
ディジットバイアス調整因子a2、δ3、δ4は、定数
ポーt− (50)から人力され加算器(48)の積の
先行部分K粂件{t !で加算し、その結果は加算器(
46)の乗算器配列(42)の出力に加える。
とくに第2の根ディジット値割算のためにδ2は、結果
を打切る最終場所でμに等し〈17ビットへの打切9の
結果として導入される誤差f.軽減するように加算する
。積が正の場合はこの積及びδ2 の和の17の最上位
ビット又は積が負の場合は単にこの積の17の最上位ビ
ットハ第2の根ディジット値を形成する。各ディジット
を生ずると、6のディジットはディジットラッチ( 3
6 ) vc又累算5(70)Kry−ドする。累算器
(70)では各ディジットは、部分根がシフタ(74)
で左17個所にシフトされた後加n器(72)で部分根
に加算する。らの部分根は、次いで根レジスタ(76)
Kロードするが、次の剰余計算に前回の部分根値を使わ
なければならないのでこのときVr.はD−ラッチ(3
4)K送らない。すなわち次の剰余は、ディジットラッ
チ(3G)に記憶された新たなディジット値′f:D−
ラッチ(34)から加算器( 37 ) K利用できる
先行部分根の2倍に等しい量に加算する巴とにより計算
することができる。マルチプレクサ(35)は、計算さ
れる第2、第3又は第4のディジットの一ずれであるか
に従ってディジットの位置合せを処理する。加算器(3
7)は部分根からのボローに適応する必要がある。この
ボローは、ディジットラッチ(36)にロードされるデ
ィジットが負数の場合に生ずる。
加算D ( 37 )から出力されるit ( 2D+
dI)  は乗算器配列(42)の長辺((人力され、
ディジットdi  は乗算6 ( 44 )を経て乗算
器配列(42)の短辺に送る。フィードバック1/ジス
タ(54)内に存在する剰余の半分の値hシフタ(52
)で倍にし加算器(46)への人力として剰余を生ずる
。従って乗算語配列(42)から出力される積は次いで
加算器(4G)で剰余から減算することができる。この
ようにして新たな剰余を、加算器( 46 )K設けた
付加的加算ボートを回路(30)K’含めることによっ
て単一の計算ステップで計算する。第3及び第4の根デ
ィジット値の計算のために現行の根ディジット値が正で
あれば加えられるディジットバイアス調整因子δ3及び
δ4の値も又結果が打切られる最終場所で半分に等しい
これ等のスガツプは,、4つの根デ4ジット値が累積さ
れ正確な剰余が利用できるまで反復する。
前記したように回路(30)は次いで最終剰余の値K基
づいて補正順序を行う,,最終剰余が負であればステッ
プ(20)で指示された剰余の補正の、最終部分根を加
算器(37)及び乗算器配列( 42 )’t経て変え
ないで加算器(86)K送りシフタにより{4られる剰
余の半分の値に加算し、加算器(46)における加算に
先だって定数ポー} (50)から適当な最終位置で1
の減算を行う。最終剰余の半分に等しい得られる値はシ
ック(55)内で左に1個所シフトして結果レジスタ(
56)に出力するための最終剰余を生ずる。累算回路(
70)は根レジスタ(76)内に存在する部分根を条件
付きで減小させるように所要のサーキツトリを備えてい
るから最終部分根は条件付きボロ一の後に根レジスタ(
76)内にある。
要するに本発明によれば、根の逆数を近似し大きい基数
根ディジット値及び正確な剰余を逐次に生ずることから
成る正確な平方根を生ずる方法が得られる。逆数バイア
ス調整因子は逆数の近似に加え、ディジットバイアス調
整因子は正の各根ディジット値計算で加算して、特定の
根ディジット内の誤差を打切りディジットの最終場所で
1以下の誤差に確実に制限するようにする。このように
してディジット内の誤差を残りの根ディジット値の計算
で確実に補償できるようにする。この説明で述べる特定
の回路の実施例は18ビット×69ビットの縦横比を持
ち付加的な加算ポートを含む長方形乗算器配列を使う。
この回路の長方形乗算器は、この乗算器配列の短辺が単
一の根ディジット値とほぼ同数のビットを含むので本発
明の平方根演算にとくに適している。
本発明の特定の回路実施例Kついて述べたが、本発明の
正確な平方根機能を果す方法は、符号付きディジット又
は非冗長フォーマットと共に配列乗算器を使わない回路
を使い広範囲に変る縦横比を持つ多数の乗算器に同様に
応用できるのはもちろんである。ここに述べる特定の回
路は本発明の範囲を制限するものでなく本発明の精神を
逸脱しないで種種の変化変型を行うことができる。
【図面の簡単な説明】
第1図は本発明の演算システムに使う正方根機能を果す
方法を例示するフローチャートである。 第2図は本発明平方根システムに使おうとする根の逆数
に近似するのに使うニュートンーラフソン評価の変化を
示すフローチャートである。 第3図は本発明の演算システムのブロック図である。 第4a図、第4b図及び第4C図は底10の数を使う普
通の平方根法の例である。 第5図は底lOの数を使う本発明の平方根法の例である
。 加・・・回路、32・・・システムバス、羽・・・逆数
ラッチ、34・・・Dラツチ、36・・・ディジットラ
ッチ、お・・・Eラツチ、42・・・乗算配列、46・
・・加算益、56・・・結果レジスタ、58・・・シフ
タ、70・・・累算回路手続ネiii刹三フ錫4:(方
式〉 特 許 庁 長 官 殿 1.事件の表示 平成2年特許願第233437号 3,旬1iiEをずる者 事件との[矧系

Claims (1)

  1. 【特許請求の範囲】 1、オペランドの正確な平方根を計算する回路において
    、前記オペランドの平方根の短い逆数に前記オペランド
    を乗ずることにより根ディジット値を計算するサーキツ
    トリと、 前記オペランドと前記根ディジット値の自乗との間の差
    として剰余を計算するサーキツトリと、全部の適当にシ
    フトした根ディジット値の和として部分根を計算するサ
    ーキツトリと、 前記オペランドの代りに剰余を使い前記根ディジット値
    の自乗の代りに部分根の自乗を使い前記の計算を反復す
    ることにより所望数の逐次の根ディジット値を生じ、前
    記根ディジット値を全部の逐次の剰余が先行根ディジッ
    ト値の最終場所に1以下に対応する大きさを持つように
    計算したサーキツトリとを 包含する計算回路。 2、オペランドの前記平方根の短い逆数を得るサーキツ
    トリを備えた請求項1記載の回路。 3、短い逆数を得る前記サーキツトリに、 近似の逆数内の累積誤差を相殺し前記の短い逆数をバイ
    アスするように選定した逆数バイアス調整因子を加え、
    部分根を生成するように累算したときにつねに所定のビ
    ット数に打切つた平方根の正確な値より大きい又はこの
    値に正確に等しい多くても1になる根ディジット値を生
    ずるようにしたサーキツトリを設けた請求項2記載の回
    路。 4、根ディジット値を計算する前記サーキツトリに、 ディジットバイアス調整因子を前記の短い逆数と前記オ
    ペランドとの積にこの積が正であれば選択的に加えるサ
    ーキツトリと、 前記積を所定数のビットに打切り前記根ディジット値を
    生ずるようにしたサーキツトリとを設けて、前記ディジ
    ットバイアス調整因子が前記打切りにより導入される誤
    差を相殺する動作をするようにした請求項1記載の回路
    。 5、前記根ディジット値により、これ等の根ディジット
    値が前記の正確な値より大きいときに負の剰余を生ずる
    ようにし、この負の剰余により引続く根ディジット値が
    負になるようにすることによつて、前記の引続く根ディ
    ジット値と前記の負の剰余の大きさを減らすように動作
    できる前回の部分根の2倍との和から成る項との積を生
    ずるようにした請求項1記載の回路。 6、部分根を計算するサーキツトリに、適当にシフトし
    た根ディジット値の和を計算するサーキツトリを設け、
    前記和により、オペランドの正確な平方根を含む部分根
    及び剰余の対を形成した請求項1記載の回路。 7、前記短い逆数を得る前記サーキツトリに、複数の逆
    数シード値を記憶するルツクアツプテーブルサーキツト
    リと、 このルツクアツプテーブルサーキツトリに結合され前記
    オペランドに協働する特定の逆数シード値を検索する検
    索サーキツトリと、 この検索サーキツトリに協働し前記の特定の逆数シード
    値と3つの半分及び第2項の差との積に等しい第1の逆
    数近似を計算するようにし、前記第2項を前記特定シー
    ド及び第3項の積とし、前記第3項を前記オペランドの
    半分と前記の特定の逆数シード値との積としたサーキツ
    トリと、前記第1逆数近似と3つの半分及び第4項の差
    との積に等しい第2の逆数近似を計算するようにし、前
    記第4項を前記第1逆数近似及び第5項の積とし、前記
    第5項をオペランドの半分と前記第1逆数近似との積と
    したサーキツトリと を設けた請求項2記載の回路。 8、前記短い逆数を得る前記サーキツトリにさらに、 前回の逆数近似とこの前回の逆数近似の累積誤差を相殺
    し前記短い逆数をバイアスするように選定した逆数バイ
    アス調整因子との和に等しい前記短い逆数を計算して、
    部分根を形成するように累算したときにつねに所定数の
    ビットに打切つた平方根の正確な値より大きい又はこの
    値に等しい多くても1になる根ディジット値を生ずるよ
    うにしたサーキツトリを設けた請求項7記載の回路。 9、前記の逆数近似を前回第2逆数近似に等しくした請
    求項8記載の回路。 10、前記の独得の逆数バイアス調整因子を第1及び第
    2の項の和に等しくし、前記第1項をN番目の場所で2
    ^−^k(この場合Nは根ディジット値の基数のビット
    数に等しくkは所定の保護ビット数とする)に等しくし
    、前記第2項は前記短い逆数をバイアスするのに十分大
    きくして前記短い逆数をオペランドの根の真の逆数より
    大きくなるようにし、前記第2項を各剰余に協働する根
    ディジット値の最終の場所で1以下に対応する剰余を生
    ずるのに十分なだけ小さくした請求項8記載の回路。 11、オペランドの平方根を計算する方法において、オ
    ペランドの短い逆数に初めにこのオペランドに等しい剰
    余値を乗ずることにより根ディジット値を計算し、 全部の適当にシフトした根ディジット値の和として部分
    根を計算し、 根ディジット値と前回の部分根の2倍に等しいが初めに
    零に等しい項との和と根ディジット値との積と剰余値と
    の間の差として新たな剰余を計算し、 根ディジット値を計算し部分根を計算し新たな剰余を計
    算するステップを反復し、根ディジット値を計算し剰余
    を計算するステップを反復するときに剰余値の代りに新
    たな剰余を使うことにより所望数の根ディジット値を生
    じ、これ等の根ディジット値を全部の逐次の剰余が先行
    根ディジット値の最終の場所に1以下に対応する大きさ
    を持つように計算する ことから成る方法。 12、根ディジット値を計算するに当たり、ディジット
    バイアス調整因子を短い逆数及びオペランドの積にこの
    積が正の場合に選択的に加算し、 前記積を所定のビット数に打切り根ディジット値を生じ
    、前記ディジットバイアス調整因子が打切りにより導入
    される誤差を相殺する動作ができるようにする請求項1
    1記載の方法。 13、オペランドの短い逆数を得る請求項11記載の方
    法。 14、短い逆数を得るに当たり、前回の逆数近似の累算
    誤差を相殺し短い逆数をバイアスするように選定した独
    得の逆数バイアス調整因子を加算して、部分根を形成す
    るように累算したときにつねに所定のビット数に打切つ
    た平方根の正確な値より大きい又はこの値に正確に等し
    い多くても1になる根ディジット値を生ずるようにする
    請求項13記載の方法。 15、根ディジット値によりこれ等の根ディジット値が
    正確な値より大きいときに負の剰余を生じ、この負の剰
    余により引続く根ディジット値を負にすることによつて
    引続く根ディジットと負の剰余の大きさを減らすように
    動作できる前回の部分根の2倍との和から成る項と引続
    く根ディジットとの積を生ずる請求項14記載の方法。 16、オペランドの短い逆数を得るに当たり、複数の値
    を含むテーブルから逆数シード値を検索し、 特定の逆数シード値と3つの半分及び第2項の差との積
    に等しい第1の逆数近似を計算し、前記第2項を特定の
    逆数シード値及び第3項の積とし、第3項をオペランド
    の半分と特定の逆数シードとの積とし、 第1逆数近似と3つの半分及び第4項の差との積に等し
    い第2逆数近似を計算し、第4項を第1逆数近似及び第
    5項の積とし、第5項をオペランドの半分と第1逆数近
    似との積とする 請求項13記載の方法。 17、オペランドの短い逆数を得るに当たり、前回の逆
    数近似とこの前回の逆数近似の累積誤差を相殺し短い逆
    数をバイアスするように選定した独得の逆数バイアス調
    整因子との和に等しい短い逆数を計算して、部分根を形
    成するように累算したときにつねに所定のビット数に打
    切つた平方根の正確な値より大きい又はこの値に正確に
    等しい多くとも1になる根ディジット値を生ずるように
    する請求項16記載の方法。 18、独得の逆数バイアス調整因子を第1及び第2の項
    の和に等しくし、第1の項をN番目の場所で2^−^k
    (この場合Nは根ディジット値の基数のビット数に等し
    くkは所定の保護ビット数である)に等しくし、第2項
    は短い逆数をバイアスするのに十分大きくしてこの短い
    逆数をオペランドの根の真の逆数より大きくなるように
    し、第2項を各剰余に協働する根ディジット値の最終の
    場所で1以下に対応する剰余を生ずるのに十分なだけ小
    さくする請求項14記載の方法。
JP2233437A 1989-09-05 1990-09-05 オペランドの平方根を計算する回路及び方法 Pending JPH03171324A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US402822 1989-09-05
US07/402,822 US5060182A (en) 1989-09-05 1989-09-05 Method and apparatus for performing the square root function using a rectangular aspect ratio multiplier

Publications (1)

Publication Number Publication Date
JPH03171324A true JPH03171324A (ja) 1991-07-24

Family

ID=23593421

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2233437A Pending JPH03171324A (ja) 1989-09-05 1990-09-05 オペランドの平方根を計算する回路及び方法

Country Status (5)

Country Link
US (1) US5060182A (ja)
EP (1) EP0416309B1 (ja)
JP (1) JPH03171324A (ja)
AT (1) ATE175790T1 (ja)
DE (1) DE69032890T2 (ja)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE68928376T2 (de) * 1988-11-04 1998-04-02 Hitachi Ltd Vorrichtung zum multiplizieren, teilen und ziehen der quadratwurzel
US5278782A (en) * 1991-06-03 1994-01-11 Matsushita Electric Industrial Co., Ltd. Square root operation device
US5268857A (en) * 1992-01-08 1993-12-07 Ncr Corporation Device and method for approximating the square root of a number
US6260054B1 (en) 1998-10-29 2001-07-10 Neomagic Corp. Reciprocal generator using piece-wise-linear segments of varying width with floating-point format
US6963895B1 (en) * 2000-05-01 2005-11-08 Raza Microelectronics, Inc. Floating point pipeline method and circuit for fast inverse square root calculations
TWI235948B (en) * 2004-02-11 2005-07-11 Via Tech Inc Accumulatively adding device and method
US20070083586A1 (en) * 2005-10-12 2007-04-12 Jianjun Luo System and method for optimized reciprocal operations
US9612800B2 (en) * 2014-08-05 2017-04-04 Imagination Technologies Limited Implementing a square root operation in a computer system
US9811503B1 (en) 2015-01-28 2017-11-07 Altera Corporation Methods for implementing arithmetic functions with user-defined input and output formats
US11527523B2 (en) 2018-12-10 2022-12-13 HangZhou HaiCun Information Technology Co., Ltd. Discrete three-dimensional processor
US11080229B2 (en) 2016-02-13 2021-08-03 HangZhou HaiCun Information Technology Co., Ltd. Processor for calculating mathematical functions in parallel
US10848158B2 (en) 2016-02-13 2020-11-24 HangZhou HaiCun Information Technology Co., Ltd. Configurable processor
US11966715B2 (en) 2016-02-13 2024-04-23 HangZhou HaiCun Information Technology Co., Ltd. Three-dimensional processor for parallel computing
US10763861B2 (en) 2016-02-13 2020-09-01 HangZhou HaiCun Information Technology Co., Ltd. Processor comprising three-dimensional memory (3D-M) array
US10445067B2 (en) 2016-05-06 2019-10-15 HangZhou HaiCun Information Technology Co., Ltd. Configurable processor with in-package look-up table
US10372359B2 (en) 2016-05-10 2019-08-06 Chengdu Haicun Ip Technology Llc Processor for realizing at least two categories of functions
US11734550B2 (en) 2018-12-10 2023-08-22 HangZhou HaiCun Information Technology Co., Ltd. Discrete three-dimensional processor
US11296068B2 (en) 2018-12-10 2022-04-05 HangZhou HaiCun Information Technology Co., Ltd. Discrete three-dimensional processor
WO2023133438A1 (en) * 2022-01-09 2023-07-13 Gsi Technology Inc. Square root calculations on an associative processing unit

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4338675A (en) * 1980-02-13 1982-07-06 Intel Corporation Numeric data processor
US4594680A (en) * 1983-05-04 1986-06-10 Sperry Corporation Apparatus for performing quadratic convergence division in a large data processing system
US4734878A (en) * 1985-10-31 1988-03-29 General Electric Company Circuit for performing square root functions
US4757467A (en) * 1986-05-15 1988-07-12 Rca Licensing Corporation Apparatus for estimating the square root of digital samples
US4878190A (en) * 1988-01-29 1989-10-31 Texas Instruments Incorporated Floating point/integer processor with divide and square root functions
US4901267A (en) * 1988-03-14 1990-02-13 Weitek Corporation Floating point circuit with configurable number of multiplier cycles and variable divide cycle ratio

Also Published As

Publication number Publication date
ATE175790T1 (de) 1999-01-15
DE69032890D1 (de) 1999-02-25
EP0416309A2 (en) 1991-03-13
US5060182A (en) 1991-10-22
EP0416309A3 (en) 1992-05-13
DE69032890T2 (de) 1999-08-05
EP0416309B1 (en) 1999-01-13

Similar Documents

Publication Publication Date Title
US5046038A (en) Method and apparatus for performing division using a rectangular aspect ratio multiplier
US5307303A (en) Method and apparatus for performing division using a rectangular aspect ratio multiplier
JPH03171324A (ja) オペランドの平方根を計算する回路及び方法
KR920005226B1 (ko) 부동 소수점 연산장치
US8639737B2 (en) Method to compute an approximation to the reciprocal of the square root of a floating point number in IEEE format
CA2530015C (en) Division and square root arithmetic unit
JPH07182143A (ja) コンピュータにおいて除算および平方根計算を実施するための方法および装置
JPH01125626A (ja) 逆数計算方法
US5023827A (en) Radix-16 divider using overlapped quotient bit selection and concurrent quotient rounding and correction
US5132925A (en) Radix-16 divider using overlapped quotient bit selection and concurrent quotient rounding and correction
EP0530936B1 (en) Method and apparatus for performing prescaled division
US6769006B2 (en) Method and apparatus for calculating a reciprocal
US5159566A (en) Method and apparatus for performing the square root function using a rectangular aspect ratio multiplier
JPH0250492B2 (ja)
JPH0687218B2 (ja) 浮動小数点数演算処理装置及び除数倍数生成装置
US6952710B2 (en) Apparatus, methods and computer program products for performing high speed division calculations
CN109298848A (zh) 双模式浮点除法平方根的电路
US5305247A (en) Method and processor for high-speed convergence factor determination
KR20010067226A (ko) 인터폴레이션 방법 및 장치
GB2372353A (en) Method and apparatus for calculating a reciprocal
JP3137131B2 (ja) 浮動小数点乗算器及び乗算方法
JP2972326B2 (ja) 平方根計算装置
KR940008610B1 (ko) 고속 수렴 인자 결정 방법 및 프로세서
JP2518532B2 (ja) 減算シフト型除算器
JPH0285922A (ja) 演算回路