JP2520569B2 - 浮動小数点数の指数計算における引数縮小を行うための装置 - Google Patents

浮動小数点数の指数計算における引数縮小を行うための装置

Info

Publication number
JP2520569B2
JP2520569B2 JP5242229A JP24222993A JP2520569B2 JP 2520569 B2 JP2520569 B2 JP 2520569B2 JP 5242229 A JP5242229 A JP 5242229A JP 24222993 A JP24222993 A JP 24222993A JP 2520569 B2 JP2520569 B2 JP 2520569B2
Authority
JP
Japan
Prior art keywords
bit
mantissa
output
bus
bits
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP5242229A
Other languages
English (en)
Other versions
JPH07168700A (ja
Inventor
バーナード・デスロシエルス
ディディエル・ルイ
ディディエル・ピンチョン
アンドレ・ステイムル
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH07168700A publication Critical patent/JPH07168700A/ja
Application granted granted Critical
Publication of JP2520569B2 publication Critical patent/JP2520569B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime 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/556Logarithmic or exponential functions
    • 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/499Denomination or exception handling, e.g. rounding or overflow
    • G06F7/49942Significance control
    • G06F7/49947Rounding

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Mathematical Optimization (AREA)
  • General Engineering & Computer Science (AREA)
  • Complex Calculations (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、数値データ・プロセッ
サに関するものであり、更に詳しく言えば、IEEE標
準の浮動小数点数に対する指数及び対数計算において広
範に使用される引数縮小ステップを実行するための装置
に関するものである。
【0002】
【従来の技術】大きな数の浮動小数点演算を必要とする
アプリケーションに対して更に大きな計算能力を与える
ためには、一般に、数値データ・プロセッサは、加算、
減算、乗算、及び除算のような主要な基本的浮動小数点
命令をハードウエアで実施している。最も一般的には、
これら浮動小数点命令は、データ・プロセッサの半導体
チップに直接に、又は別個の数値データ・プロセッサ・
チップ(いわゆる、上記浮動小数点命令を実行するよう
に主データ・プロセッサと共同する数学又は数値コプロ
セッサ)に直接に組み込まれる。科学計算及びモデル化
処理に必要な指数関数、対数関数、及び三角関数を含む
超越関数は基本的関数のようには頻繁に使用されず、そ
してそれらは実際にハードウエアを浪費するものである
ため、一般には、それらの計算はソフトウエア技術によ
って遂行されている。
【0003】科学計算又は技術計算で使用される数値又
はデータは、符号S、指数E、及び仮数Mより成る浮動
小数点数構成で表わされ、これは限られたビット数で広
範囲の数値の表現を可能にする。この構成を使用するた
めに、多くの相異なる標準的形式が存在する。特に、広
範に受け入れられた代表的な浮動小数点形式は、IEE
Eによって提案された標準形式である。この標準は、4
つの浮動小数点形式、即ち、単精度、拡張単精度、倍精
度、及び拡張倍精度を定義している。
【0004】説明の便宜上、以下では、80ビット拡張
倍精度形式だけを説明する。それは、この形式がマイク
ロコンピュータ・チップでは広範囲に使用されているた
めである。図1に示されるように、それは、1ビットの
符号、15ビットの指数、及び64ビットの有効数より
成る。この形式では、ビット位置63には、ゼロのよう
な或値を除く明示的1がその形式の有効数部分に記憶さ
れる。その有効数字の残り63ビット部分は、いわゆる
仮数Mである。更に、指数は、バイアス形式で表わされ
る。即ち、BIAS(バイアス)=16383のように
呼ばれる定数が指数の実際の値E(真の指数)に加えら
れる。図1の形式では、64仮数ビットの精度が得ら
れ、従って、−216382(最大負数)及び+216383(最
大正数)の範囲の数を表わすことができる。
【0005】更に一般的には、IEEE標準形式による
と、真数Nの値は次のように与えられる。即ち、
【0006】
【数4】N=((−1)**S)*(1.M)*(2*
*(E+BIAS)) 但し、正数に対してはS=0、負数に対してはS=1で
ある。
【0007】有効な(即ち、正規化された)数Nは、0
<E+BIAS<32767によって与えられる。バイ
アスされた指数の値がその最大値(即ち、E+BIAS
=32767)にあり且つ仮数Mが0ではないケース
は、特別に、非数値として扱われる。バイアスされた指
数の値がその最大値にあり且つ仮数Mが0に等しいケー
スは、特別に、無限大として扱われる。最後に、バイア
スされた指数の値(E+BIAS)がその最小値にある
(即ち、0に等しい)ケースは、非正規化数(M≠0)
又はゼロ(M=0)として例外的に扱われる。
【0008】計算は、67ビット仮数で行われ、しかる
後、図1に示されるように、3つの精度付加ビット(ス
ティッキ・ビット、ガード・ビット、及びラウンド・ビ
ット)と呼ばれる最後の3ビットに従って64ビットに
丸められる。IEEE標準は、3つの丸めモードを解説
している。例えば、最も頻繁に使用される丸めモードに
よれば、有効数の64個のビット位置が1でもって満た
され且つ3つの精度ビットが100である数では、丸め
動作は、その有効数のLSBに1を加えることより成
る。これ以上の詳細に関しては、この件の参考文献であ
るIEEEタスのドラフト8.0「バイナリ浮動小数点
演算に関する提案された標準」1981、754頁を参
照されたい。
【0009】ここで、IEEE標準数を意味する超越関
数、特に、指数関数に説明を戻すと、(−1,+1)の
範囲における如何なる演算アルゴリズムも、次の2つの
基本的要件に合致しなければならない。即ち、 ‐1命令当たり最小のサイクル数を必要とするための高
速収斂 ‐期待される最小の相対誤差を達成するための高い精度 従って、アルゴリズム選択は最重要事であり、利用可能
なハードウエア・アーキテクチャに依存して種々のアル
ゴリズムが科学者により試されている。
【0010】インテル80387チップのような乗算器
を持たない浮動小数点コプロセッサに関しては、指数関
数を計算するために、コーディック(Cordic)ア
ルゴリズムをベースとした方法が実施されている。これ
は、それが加算及びシフト演算を使用するだけの反復近
似計算であるためである。コーディック法は、仮数ビッ
トの数(インテル80387チップに対しては67ビッ
ト)に等しい数の反復をほぼ必要とし、従って、それは
比較的低速の処理である。
【0011】CYRIX 83D87チップのような乗
算器を組み込んだ半導体チップに関しては、指数関数を
演算する3つの異なる方法、即ち、 ‐テーラー/マクローリン(Taylor/Mac‐L
aurin)又はチェビシェフ(Tchebyche
v)の多項式に基づく純多項式値の計算 ‐ペイド(Pade)法による有理多項式近似計算 ‐多項式値の計算及び表補正の両方を伴う引数縮小 が検討された。
【0012】Ph.ボノー(Bonnot)による論文
「超越関数の実施」‐ENST パリ 1988年2月
‐に見るような従来の原理的な方法によれば、上記の最
後の、即ち、3番目の方法がハードウエア・アーキテク
チャの技術状況に十分に適合するが示された。それは最
も速い近似法に通じるものではないが、データ・パスが
有限の精度のハードウエア(仮数の長さは内部レジスタ
の特性である)を持つときには十分に満足のいくもので
ある。
【0013】通常、指数多項式e**xを演算するために
は、開始の関数は、
【0014】
【数5】F(x)=(2**x)―1=(e**(ln2
*x))―1 である。本質的には、その方法は、基本的にまず、最適
の縮小した範囲(x―xi)の決定より成る。一旦、縮
小した範囲が選択されてしまうと、その縮小した範囲内
の指数関数の多項式演算、即ち、
【0015】
【数6】F(x―xi)=(2**(x―xi))―1 が行われる。最終的には、結果は最後の所望の値、F
(x)=(2**x)―1を決定するように補正されなけ
ればならない。この最終の補正ステップは、F(x―x
i)及びF(xi)の関数として表わすことができるF
(x)に基づくものである。従って、F(xi)値が全範囲
(―1,+1)内のxiの値に対応している補正表が必
要である。
【0016】Ph.ボノーの功績から明らかなように、
下記の表1は、選択された縮小範囲に依存する上記の2
**―63よりも小さい相対的誤差に達するために最小
の次数のテーラー/マクローリン多項式及びチェビシェ
フ多項式を示す。同様に、表1には、縮小範囲のそれぞ
れに対して、必要なF(xi)値の数が示される。これら
の定数値F(xi)はその補正のために必要である。それ
らは、内部的に、例えば、オン・チップROM(以後、
定数ROMと呼ぶ)に記憶されなければならない。
【0017】
【表1】 範囲 テーラー チェビチェフ Xi/F(xi)の関数 (−1,+1) 18 16 0 (−1/2,+1/2) 15 13 2 (−1/4,+1/4) 13 11 4 (−1/8,+1/8) 11 10 8 (−1/16,+1/16) 10 9 16 (−1/32,+1/32) 9 8 32 (−1/64,+1/64) 8 7 64 表1は、引数縮小が望ましいことを、原理的観点から明
らかに示している。これは、範囲が狭くなればなるほ
ど、多項式の次数、従って、反復の数、最終的にはマシ
ン・サイクルが小さくなる。しかし、これは、オン・チ
ップROMに内部的に記憶されるべきF(xi)値の増加
を犠牲にするものであり、従って、消費されるシリコン
空間を最適化するために、表の大きさと反復の回数との
間で取決めがなされなければならない。実のところ、引
数縮小は指数計算法の本質である。
【0018】縮小範囲の選択に加えて、(―1,+1)
範囲内のxi値のセットは、2つの相いれない要件を留
意して、正確に選択されなければならない。一方では、
最良のチェビシェフ多項式収斂が非線形分布によって得
られる。他方では、最速のxiサーチが線形分布によっ
て達せられる。更に、このサーチは、xiの数が2の累
乗であるとき、明らかに改良される。Ph.ボノーの方
法によれば、2の累乗であるxiの数と結合された線形
分布によってxi値を定義することが望ましい。これ
は、それが半導体チップにおいて実施されるべき最も容
易なものであるためである。テーラー/マクローリン及
びチェビシェフの多項式の次数は、定数ROMに記憶さ
れた表におけるわずか8つの値によって、それぞれ、1
8から11に及び16から10に減少する。その後、新
しい次数が小さくなるたびに、表の大きさは2倍にな
る。最終的には、(―1,+1)範囲内で、8つのxi
値が次の関係式により定義される。即ち、
【0019】
【数7】(k―1)/4<|x|≦k/4 に対して、
kが 1≦k≦4 のような整数であるとき、 |xi|=(k―1)/4+(1/8) となる。図2は、8つの選択されたxi値を示す。
【0020】図3は、Ph.ボノーの論文に開示された
基本的アルゴリズム10を示す。それは、選択された縮
小範囲(―1/8,+1/8)に適用されるときの ―
1<x<+1 の範囲内で F(x)=(2**x)―1
の指数計算に対してテーラー/マクローリンの多項式
計算又はチェビシェフの多項式演算のどちらも使用でき
る。
【0021】図3に示されるように、体系的には、その
指数関数演算方法は、3つの主要なステージ、即ち、
(1)範囲を|x―xi|に、即ち、本例では(―1/
8,+1/8)内に縮小させる適当なxi値の決定より
成る開始引数xの引数縮小、(2)中間結果F(x−x
i)を発生するためにその縮小した引数(x―xi)を
使用する多項式の近似計算、(3)所望の最終値F(x)
を得るための上記中間結果の補正、より成る。
【0022】更に、図3を参照して、本アルゴリズム1
0をもっと詳細に見てみよう。先ず、開始引数値xがボ
ックス11でテストされる。そのアルゴリズムは|x|
≦1のような値に対してのみ適用されることに注意すべ
きである。xがそのような値の場合、ボックス12にお
いて、|x|<2**−3であるかどうかを決定するた
めの新しいテストが行われる。x<2**−3である場
合、引数縮小は必要ない。対照的に、そのアルゴリズム
は、ボックス13及び14における2ステップの引数縮
小を有する。ボックス13において、開始引数xに最も
近いxi値を決定するステップが行われる。ボックス1
4において、(x−xi)値が計算される。これは、引
数縮小と呼ばれる第1段階を終了させる。ボックス15
において、新しいテストが行われる。x−xi=0であ
る場合、ボックス16から明らかなように、F(x)=F
(xi)となり、その求められた値は、定数ROMに記憶
されたF(xi)補正表において直接に得ることができ
る。x−xi≠0である場合、その値は再びボックス1
7においてテストされる。x−xi<2**−66であ
る場合、F(x−xi)は(x−xi)*ln2に近似さ
れる(18A)。さもなければ、完全な多項式計算が必
要となる(18B)。これで、多項式演算段階又は近似
計算段階が終了する。
【0023】今や、補正の最終段階が生じる。いくつか
の数学的関係がF(xi)、F(x−xi)、及びF(x)の
間に存在する。特に、次の2つ、即ち、
【0024】
【数8】 F(x)=(F(x−xi)*F(xi))−1 (1)
【0025】
【数9】 F(x)=F(x−xi)+F(xi)+F(x−xi)*F(xi) (2) 換言すれば、
【0026】
【数10】 (2**x)−1=((2**(x−xi)−1)*(2**xi) ―1)−1 (1)'
【0027】
【数11】 (2**x)−1=((2**(x−xi))−1)+((2**xi) − 1)+(((2**(x−xi))−1)*((2**xi)−1)) (2)' に興味がある。
【0028】オペランドが互いに近いときに誤差が生じ
るのを回避する第2の関係式(2)及び(2)'が望まし
い。それは、第1の関係式(1)又は(1)'によって生
じた誤差が期待された相対的誤差(<2**−63)よ
りもずっと大きいためである。
【0029】関係式(2)の第1項、即ち、
【0030】
【数12】A=F(x−xi)+F(xi) が、ボックス19において、計算される。更に、第2
項、即ち、
【0031】
【数13】B=F(x−xi)*F(xi) がボックス20において計算される。その2つの項は、
ボックス21において加算されるので、最終的には、
【0032】
【数14】F(x)=A+B になる。
【0033】|x|<2**−3であり且つ|x|≧2
**−66であるとき、アルゴリズム10の右端部分か
ら明らかなように、2つの非常に近い数の減算を回避す
るために、引数縮小なしで指数多項式関数がボックス2
3Aにおいて計算される。
【0034】引数xが2**−66よりも小さいとき、
指数関数がテーラー/マクローリンの多項式の第1項の
みにより、即ち、
【0035】
【数15】F(x)=x*ln2 によって、ボックス23Bにおいて計算される。
【0036】ここで、テーラー/マクローリンの多項式
計算又はチェビシェフの多項式計算のどちらが最も十分
であるかを決定するという問題が生じる。それは、(−
1,+1)範囲内で指数関数を近似計算するためのサイ
クル数も重要であるためである。表1から明らかなよう
に、チェビシェフの多項式計算は、多項式の次数縮小に
おいてわずかに効率的であるように見えるので、反復を
少なくし、従って、マシン・サイクルを少なくする。こ
の点は、通常のハードウエア・アーキテクチャによる必
要なサイクル数のシミュレーションを示す下記の表2に
よって証明される。即ち、
【0037】
【表2】 最終的な結果としては、チェビシェフの多項式にかなり
の利点がある。従って、チェビシェフの多項式がテーラ
ー/マクローリンの多項式に対してすべての点で好まし
いであろう。
【0038】指数多項式は、偶数関数でも奇数関数でも
なく、それは、A0を除いてゼロに等しい係数がないこ
とを意味する。従って、反復数は多項式の次数の二乗と
なる。たとえ引数縮小が行われなくても、引数縮小は、
引数縮小及び表補正の両方により必要とされるマシン・
サイクル数が必要な反復数を決して越えるものでなけれ
ば面白そうである。
【0039】許容される誤差の大きさ(<2**−6
3)は、多項式の次数に直接影響し、従って、周知のホ
ーナーの方法でそれを演算するに必要な反復数に影響す
る。上記の選択によって、10次の多項式が(−1/
8,+1/8)範囲内の予期した相対的誤差(<2**
−63)に合致する。
【0040】最後に、この序論の終わりにあたり、図4
に、Ph.ボノーによる論文に開示された特殊アルゴリ
ズム24を示す。この特殊アルゴリズムは、図3のアル
ゴリズムのボックス13において使用されるべきもので
あり、後に、縮小した引数(x−xi)の計算で使用さ
れるべき適当なxi値を決定する。
【0041】図4を参照すると、ボックス25におい
て、項C=|x|−1/2が決定される。ボックス26
において、Cがテストされる。C≧0である場合、項D
=C−1/4がボックス27Bにおいて計算される。次
に、Dがボックス28Bにおいてテストされ、それが正
数であるか負数であるかを決定する。D≧0である場
合、ボックス29B’において、|xi|=7/8のよ
うな十分なxi値が見つけられる。同様の方法が、ボッ
クス29A、29A’、及び29Bにおける他の可能な
|xi|値1/8、3/8、及び5/8の決定に適用す
る。
【0042】要約すると、Ph.ボノーの結論によれ
ば、指数関数を計算するための好ましい方法は図3のア
ルゴリズムの3つの主要な段階、即ち、 ‐図4の特殊アルゴリズムを使って(―1,+1)から
(―1/8,+1/8)まで引数範囲を縮小し、収斂の
速度を上げさせるために適当なxi値を決定すること、 ‐この縮小した引数範囲内でチェビシェフの多項近似式
を計算すること、 ‐関係式(2)、即ち、
【0043】
【数16】F(x)=(F(x―xi)*F(xi))+F
(x―xi)+F(xi) 但し、F(x)=(2**x)―1 に従って特殊補正を行う。補正表のF(xi)値すべてが
定数ROMに記憶されること、を必要とする。
【0044】このような状況において、本発明は2つの
問題を解決するための助けとなる。まず第1は、高速の
収斂及び補正表サイズによって、図4のアルゴリズムよ
りもずっと効果的な引数縮小のための特殊アルゴリズム
を考えつくことである。
【0045】解決されるべき第2の問題は、1991年
12月20日出願のヨーロッパ特許出願(EP 914
80188.1)に開示された加減演算を達成するため
の高性能ハードウエア・アーキテクチャを、最小の回路
変更によって指数計算に適応させることである。
【0046】このヨーロッパ特許出願のハードウエア・
アーキテクチャを、図5と関連して簡単に説明する。図
5を参照すると、図1のIEEEの80ビット拡張倍精
度形式に従って基本的な加算・減算・比較演算をハード
ウエアで実施するための改良された装置のブロック図が
概略的に示される。説明を簡単にするために、クロック
信号を含む制御論理回路及び制御線は省略してある。
【0047】オペランドX及びYに対する指数及び仮数
は、異なるレジスタに別々に記憶される。先ず、オペラ
ンドX及びYの指数EX及びEYが入力レジスタ31及
び32に記憶される。同様に、オペランドX及びYの仮
数MX及びMYが入力レジスタ33及び34に記憶され
る。オペランドX及びYは、スタック・レジスタ35の
2つのゾーン、例えば、アドレス0及びi(i=1乃至
7)から直列的に、好ましくは、同時に取り出される。
スタック・レジスタ35は、2ポート読取り及び1ポー
ト書込みタイプのものである。Eバス(E‐BUS)及
びMバス(M‐BUS)は二重データ・バスであり、そ
れぞれ、スタック35から指数データ及び仮数データを
搬出する。例えば、サブバスE0及びM0は、そのスタ
ックにおけるアドレス0に記憶されたオペランドXの指
数及び仮数をそれぞれの入力レジスタ31及び33に搬
送する。サブバスEi及びMiは、それぞれ、そのスタ
ックにおけるアドレスiに記憶されたオペランドYの指
数及び仮数を、それぞれの入力レジスタ32及び34に
搬送する。
【0048】オペランドX及びYの間の加減算演算は、
指数及び仮数に対する加算器36及び37において行わ
れる。基本的には、加算器は、それぞれの入力レジスタ
に保持されたデータをロードされる。各加算器は、後述
のように1つの真数/補数入力(T/C)を有する。加
算器により計算されたデータ、即ち、加減算演算の部分
的結果が2つの別個の出力レジスタに記憶される。デー
タは、指数データに対する加算器36から出力レジスタ
38に、及び仮数データに対する加算器37から出力レ
ジスタ39にロードされる。レジスタ38の出力は、バ
ス(E'‐BUS)を介してスタック35の指数入力に
接続される。レジスタ39の出力は、正規化回路40及
び先行ゼロ・エンコーダ回路41の両方に接続される。
必要に応じて、レジスタ39に記憶された仮数は、正規
化回路40においてIEEE形式に編成される。レジス
タ39に記憶された仮数の先行ゼロの数が先ず計算さ
れ、しかる後、エンコーダ回路41においてエンコード
され、最後に、先行ゼロ・レジスタ42に記憶される。
そのエンコードされた数も、制御バス(A‐BUS)を
介して正規化回路40を制御する。正規化回路40の出
力では、バス(M'‐BUS)がスタック35の仮数入
力に与えられる。
【0049】レジスタ38の出力バス(E'‐BUS)
はエンコーダ回路43に接続され、それの内容値がそこ
でエンコードされる。エンコーダ回路43の出力は、制
御バス(B‐BUS)を介してアライナ44に与えられ
る。アライナ44は、入力レジスタ34を駆動する。仮
数加算器37で発生された桁上げビットcは、レジスタ
39の第68位置に接続される。前述のように、仮数値
の丸め動作が必要となることがあるため、レジスタ38
の出力は、バス(E'‐BUS)及び2ウエイ・マルチ
プレクサ回路45の一方の入力を介して指数加算器36
の左入力に与えられる。なお、マルチプレクサ回路45
の他方の入力はレジスタ31により供給される。同様
に、レジスタ42の出力は、バス(D‐BUS)及び2
ウエイ・マルチプレクサ回路46を介して加算器36の
右入力に与えられる。なお、マルチプレクサ回路46の
他方の入力はレジスタ32により供給される。実際に、
レジスタ32によって発生される各ビットは、標準のよ
うに加算器36に含まれるXOR回路(図示されてな
い)の一方の入力に与えられる。それの他方の入力は、
実行されるべき動作、即ち、加算又は減算に依存して制
御論理回路により発生される制御ビットを受ける。その
制御ビットがゼロに等しい場合、そのビットは補数化さ
れず、これは真数入力(T)である。それがゼロに等し
くない場合、そのビットは補数化され、これは補数入力
(C)であるといわれる。
【0050】説明を簡単にするために、この制御コマン
ドは加算器36のT/C入力によって説明される。仮数
加算器に関する限り、バス(M‐BUS、但しM0‐B
US及びMi‐BUSを含む)が3ウエイ・マルチプレ
クサ47及び48に与えられる。それらマルチプレクサ
は、それぞれ、直接にレジスタ33へ又はアライナ44
を介してレジスタ34へ供給される。その結果の指数及
び仮数は、正規化及び丸め動作の後、バス(E'‐BU
S及びM'‐BUS)を介してスタック35に記憶され
る。ラッチ49は、指数加算器36によって発生された
桁上げビットを記憶するために使用される。スタック3
5はRAMとして動作し、バイナリ・オペランド及び符
号が記憶される。符号は、制御論理回路によって発生さ
れ、同時に、スタック35において記憶される。符号処
理のための回路は図示されていない。
【0051】図4の引数縮小アルゴリズム及び図5の改
良されたハードウエア・アーキテクチャによって行われ
たシミュレーションは、一旦その目的のために適切に修
正されてしまうと、いくつかの不都合を示した。8つの
xi値の場合、2つの定数値(1/2及び1/4)、即
ち、2つの80ビット数(図1のIEEE標準形式の場
合)を定数ROMに記憶することが必要である。更に、
指数近似計算の全演算は、図6に概略的に示したように
9つのステップを必要とする。本発明では、これらステ
ップをこれ以上詳細には説明しない。
【0052】従って、超越数の計算は、大量の処理ステ
ップ、従って、対応する数のマシン・サイクルを必要と
するという問題を通常残すので、これらの関数をベース
にしたアルゴリズムは、性能を下げないようにするため
に、基本的な命令(加算、減算等)の処理を主目的に設
計された基本ハードウエア・アーキテクチャの大きな修
正も意味するものであってはならない。特に、これは、
大域的な演算法には必須である引数縮小アルゴリズムに
対していえることである。
【0053】
【発明が解決しようとする課題】従って、本発明の主た
る目的は、IEEE標準の浮動小数点形式数の引数縮小
を行うための改良された特殊アルゴリズム及び装置であ
って、図5の高性能ハードウエア・アーキテクチャに、
最小の回路変更でもって組み込むに十分なものを提供す
ることにある。
【0054】本発明のもう1つの目的は、IEEE標準
の浮動小数点形式数の間の引数縮小を、最小の処理ステ
ップ、従って、最小のマシン・サイクルでもって実行す
るための改良された特殊アルゴリズム及び装置を提供す
ることにある。
【0055】
【課題を解決するための手段】本発明によれば、上記の
目的は、F(x)=2**x―1(但し、|x|<1)の
計算において引数縮小を行うための装置、即ち、IEE
Eの754標準の浮動小数点形式によるxiの値を決定
しそして(x―xi)を計算するための装置によって達
成される。その装置は、以下のものより成る。
【0056】(a)Nビットの仮数(例えば、80ビッ
ト拡張倍精度のIEEE 754標準形式によれば、N
=64仮数ビット+3丸め精度ビット)に関してパイプ
ライン加算・減算・比較演算を遂行するように動作し、
アライナ手段及びN+1ビット出力レジスタ(そのレジ
スタの最上位ビットは仮数加算器により発生された桁上
げビットである)を含む第1関数ブロック。この第1関
数ブロックの出力は次の2つの手段(b)及び(c)に
接続される。
【0057】(b)3つの左端入力ビットがゼロに接続
され、3つの左端出力ビットJ(0:2)が3ビット・バ
ス(J‐BUS)上に出力されるN+4ビットの正規化
手段。
【0058】(c)先行ゼロ検出・エンコーダ手段。
【0059】前記装置は、更に次のブロック及び回路
(d)、(e)、(f)より成る。即ち、 (d)指数に関してパイプライン演算を遂行するように
動作し、アライナ手段を制御する出力を持ったエンコー
ダ手段に接続された第2関数ブロック。
【0060】(e)先行ゼロ検出・エンコーダ手段及び
エンコーダ手段の出力によって駆動され、正規化手段を
制御する出力を持ったセレクタ回路。
【0061】(f)ビットJ(0:2)から
【0062】
【数17】K(1)=J(0) OR J(1)
【0063】
【数18】K(2)=J(0) OR J(2) のようなビットK(1)及びK(2)を計算し、
【0064】
【数19】 仮数xi=0K(1)K(2)10.....0. のような仮数xiを、前記第1関数ブロックに接続され
たxiバス上に発生する仮数決定回路。
【0065】
【実施例】図7に示された新規な特殊アルゴリズム50
は、xi値を定義するに必要な情報はすべて仮数xのJ
(0:2)と呼ばれる第1の左3ビットによって与えられ
ることの発見に基づくものである。ボックス51におい
て、x―1/8がゼロより大きい又は等しいかどうかが
チェックされる。それは、その結果がノーである場合、
ボックス52によって示されるように引数縮小が必要な
いためである。逆の場合、ボックス53において、指数
のみに関する演算
【0066】
【数20】S=Exp(x)―Exp(2**―3)=(E
xp(x))―3 が行われる。これは、xiを計算するに必要な仮数xの
ビット数を表わす。xの範囲は(―1,+1)、即ち、
(―2**0,+2**0)であるので、Sに対する最
大値は3である。換言すれば、Sは4つの値の1つ、即
ち、0、1、2、又は3をとることができる。
【0067】次に、ボックス54において、x仮数が左
にこのS値だけシフトされ、適当なxi値を定義するに
必要な3つのJ(0:2)ビットを取り出す。
【0068】次に、、ボックス55において、K(1:
2)と呼ばれる2ビットの値が、下記の論理的定義、即
ち、
【0069】
【数21】 K(1)=J(0) OR J(1) (3)
【0070】
【数22】 K(2)=J(0) OR J(2) (4) に従って計算される。
【0071】|x|=1 のとき、J(0:2)=100
であり、このアルゴリズムに従って、xi=7/8
である。従って、J(0)=1 のとき、K(1)及びK
(2)は1に強制されなければならない。それは、J(0)
が使用される唯一のときである。最後に、ボックス56
において、xi仮数は、
【0072】
【数23】 xi仮数=0K(1)K(2)10‐‐‐‐‐‐0(67ビット) (5) として定義される。
【0073】図8は、適当なxi値を決定するための図
7の特殊アルゴリズム50を組み込まれた図5の高性能
ハードウエアを示す。図5の基本的なハードウエア・ア
ーキテクチャに関して、同じ素子は同じ参照番号を持っ
ている。図8の改良されたハードウエアは参照番号57
である。図5の基本ハードウエアの3つの素子が修正さ
れた。先ず、図5の3ウエイ・マルチプレクサ回路48
は、今や、4ウエイ・マルチプレクサ回路48' であ
る。それは、定数ROM58の出力及び67ビットxi
バス(xi‐BUS)のための特殊入力への新たな接続
を持っている。Eiバス(Ei‐BUS)に接続された
レジスタ32は、定数ROM58への接続を持ち、今
や、参照番号32' である。
【0074】説明を簡単にするために、仮数用のパイプ
ライン・アーキテクチャは、仮数に関してパイプライン
加算・減算・比較演算を遂行するように動作する第1関
数ブロックと呼ぶことにし、参照番号59である。同様
に、指数用のパイプライン・アーキテクチャは、指数に
関してパイプライン演算を遂行するように動作する第2
関数ブロックと呼ばれ、参照番号60である。図5で
は、正規化回路40は68ビット位置を持っている。本
発明によれば、それの幅は3ビットだけ左に増加されな
ければならず、今や、ゼロに強制された入力を持つ71
ビット位置をサポートする。このように修正されたの
で、正規化回路40は、今や、参照番号40' である。
正規化回路40' によって出力されたこれら左端の付加
3ビットは、前述のように、更なる処理を必要とする。
【0075】定数ROM58に加えて、他に2つのハー
ドウエアが追加された。即ち、正規化回路40' を制御
するための標準的な2入力セレクタ回路61と、K
(1:2)ビットを計算し、前記関係式(5)に従って全
xi仮数値を発生する論理回路62である。なお、その
論理回路の67ビットがxiバス(xi‐BUS)を構
成する。
【0076】セレクタ回路61はマルチプレクサのよう
に動作する。制御論理回路によって発生されるコマンド
に依存して、Bバス(B‐BUS)によるエンコーダ4
3の出力又はAバス(A‐BUS)による先行ゼロ検出
/エンコーダ41の出力のどちらかを選択して、正規化
回路40' に供給する。正規化回路40' の左端3ビッ
トJ(0:2)はJバス(J‐BUS)を介して論理回
路62に供給される。
【0077】従って、図8の追加ハードウエアは、デー
タフロー及び制御論理回路の観点から、容易な組込み及
び指数近似計算用の最小の回路領域を可能にする。
【0078】図9は、図8の論理回路62の一例とし
て、基本的にはブロック64及び65より成る論理回路
63の構成の詳細を示す。ブロック64は、2つの2ウ
エイOR論理ゲート66及び67を含んでいる。ORゲ
ート66はJ(0)及びJ(1)によって駆動され、一方、
ORゲート67はJ(0)及びJ(2)によって駆動され
る。ビットJ(0)、J(1)、及びJ(2)、即ち、J
(0:2)は、正規化回路40’によって発生され、前述
のJバス(J‐BUS)を形成するようにその左端3ビ
ットに対応する。ORゲート66及び67の出力は標準
的なxi発生回路65に供給され、xiバス(xi‐B
US)に送られる。
【0079】図10は、本発明に起因するプロセス・シ
ーケンスを示す。その目的は,IEEE標準の形式に適
応するように正規化されたxiを計算することである。
前述のように、本発明の基本となる原理は、xi値を定
義するに必要な情報がすべて仮数xの最初の3ビットに
あること注目することである。新しいプロセス・シーケ
ンスは、今や、以下の6つのステップI乃至VIより成
る。
【0080】ステップ I(オペランド・チェック) IEEE標準のルール・セット(データ値、ゼロ、無限
大、非正規化された数・・・)によるオペランドxのチ
ェック動作の第1ステップがボックス69において行わ
れる。定数ROM58に予め記憶された2**―3(値
=1/8)という指数がレジスタ32’ にロードされ
る。
【0081】ステップ II(S計算) ボックス70において、動作x―1/8が指数サイド、
即ち、S=Exp(x)―Exp(2**―3)に関して行
われる。桁上げビット(C0)がラッチ49にラッチさ
れ、その結果がレジスタ38にラッチされる。
【0082】C0=1の場合、これは、x―1/8が負
であること、即ち、x<1/8 であることを意味し、
従って、図3のアルゴリズム10から明らかなように
(ボックス12における「イエス」の結論を参照)、引
数縮小は必要ない。
【0083】C0=0の場合、レジスタ38の内容が、
xiを演算するに必要な仮数xのビット数Sを与える。
【0084】仮数加算器37が動作0+xを行い、正規
化回路40' におけるその後の正規化のために、その結
果をレジスタ39にラッチする。
【0085】ステップ III(S値だけ仮数を左シフ
ト) ボックス71に従って、正規化回路40' は、回路43
におけるエンコーディング後、レジスタ38に記憶され
たビット数Sだけレジスタ39の出力を左にシフトさせ
る。そのために、セレクタ61はエンコーダ43の出力
を選択する。正規化回路40' の出力である左端の3ビ
ットJ(0)、J(1)、J(2)は、図7に関連して前に説
明したように、K(1:2)の値を決定し、しかる後、x
iを決定するであろう。
【0086】正規化されないxi値は、マルチプレクサ
48' を介してレジスタ34にラッチされる。同時に、
対応する指数(例えば、"0")が定数ROM58からレ
ジスタ32' にロードされる。
【0087】ステップ IV(動作 0+xi の完
了) 動作0+xiは、ボックス72において、指数サイド及
び仮数サイドの両方に関して行われる。2つの結果は、
その後の正規化を可能にするために、それぞれレジスタ
38及び39にラッチされる。
【0088】ステップ V(xi正規化) レジスタ39に記憶された仮数の結果は、正規化回路4
0' を通過することによって正規化される(ステップ7
3)。そのために、先行ゼロ数が先ず決定され、しかる
後、エンコーダ41においてエンコードされる。その結
果はレジスタ42にラッチされ、セレクタ回路61を介
して正規化回路40' に供給される。今や、エンコーダ
41が選択され、レジスタ39の内容の先行ゼロの数を
決定する。その結果、即ち、正規化されたxi値がレジ
スタ33にラッチされる。
【0089】ステップ VI(xi指数の補正) 指数補正は、ボックス74において、レジスタ42にラ
ッチされた先行ゼロ数をレジスタ38の内容から減算す
ることによって行われる。最終結果、即ち、xi指数は
レジスタ38にラッチされる。
【0090】これは、図7の特殊アルゴリズムに従って
図3におけるボックス13に基づくxi値の決定で終了
する。(x―xi)の決定を含む残りのステップは、標
準のように行われる。これら6つのステップは、6つの
基本マシン・サイクルに対応する。
【0091】要約すると、1つ定数値(1/8)が記憶
されなければならない。更に、上記からも明らかなよう
に、本発明の方法及び装置は、複数サイクルによって定
数ROMに記憶されたxiの数、即ち、F(xi)に依存
しない。それは、xiの数が2倍になる時いつも、引数
縮小のために新しい定数値及び2システム・サイクルが
加えられなければならないという、図4の従来の特殊ア
ルゴリズムに対する大きな相違点である。結局、正規化
回路のサイズを、図1のIEEE形式に従って、68ビ
ット位置から71ビット位置に増加させる必要があるだ
けである。なお、注意すべきことは、J‐BUS等のバ
スを含むそれの制御論理回路がその新しいサイズに適応
するようにしなければならないことである。
【0092】
【発明の効果】わずかな回路変更で、IEEE標準の浮
動小数点形式の数の引数縮小を行う特殊アルゴリズムの
装置が得られる。
【図面の簡単な説明】
【図1】説明の目的で、IEEE標準の基本的な80ビ
ット拡張倍精度浮動小数点形式を示す。
【図2】引数縮小方法に従って指数関数を演算するに必
要な8個のxi値を示す。
【図3】全範囲(―1,+1)にわたって指数関数を演
算するための従来のアルゴリズムの係数状態を示す。
【図4】図3のアルゴリズムにおけるボックス13の動
作、即ち、適当なxi値の決定を行うために使用可能な
従来の特殊アルゴリズムを示す。
【図5】図1の特定なIEEE標準の形式を使用してI
EEE浮動小数点数の加減動作を行うための通常の高性
能装置の概略的ブロック図を示す。
【図6】図5の装置及び図4の特殊アルゴリズムを使用
してxi値を決定するために通常必要とする9つの処理
ステップを示す。
【図7】本発明に従っててきとうなxi値を決定するた
めの新規な特殊アルゴリズムを示す。
【図8】図5の装置から取り出され、図7の改良された
特殊アルゴリズムを実施するようにされた本発明の改良
された装置の概略的ブロック図を示す。
【図9】図8の装置における回路の詳細を示す。
【図10】図8の装置を使用してxi値を決定するに必
要な6つの処理ステップを示す。
【符号の説明】
36・・・指数加算器 37・・・仮数加算器 40' ・・・正規化回路 41・・・先行ゼロ検出・エンコーダ 48' ・・・4ウエイ・マルチプレクサ回路 58・・・定数ROM 59・・・機能ブロック 60・・・機能ブロック 61・・・セレクタ回路 62・・・論理回路
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ディディエル・ルイ フランス国フォンタイネブラウ77300 ルエ・パウル・ジョゾン22番地 (72)発明者 ディディエル・ピンチョン フランス国レス・ユリス91140 ル・ド ゥ・フォレズ11番地 (72)発明者 アンドレ・ステイムル フランス国エヴリ91000 アイー・ド・ ラ・ブッテ・ルージュ10番地 (56)参考文献 COMMUNICATIONS OF THE ASSOCIATION F OR COMPUTING MACHI NERY Vol.16,No.1,Ja nuary 1973,NEW YORK US,P.38−40,RICHMAN“V ariable−Precision Exponentiation" EDN ELECTRICAL DE SIGN NEWS.Vol.31,No 3,February 1986,NEWT ON,MASSACHUSETTS U S,P.143−150,QUONG“Flo ating−point mp imp lements high−speed math functions"

Claims (3)

    (57)【特許請求の範囲】
  1. 【請求項1】 【数1】F(x)=2**x―1(|x|<1) の計算において引数縮小を行うための装置であって、 Nビットの仮数に関してパイプライン加算・減算・比較
    演算を遂行するように動作し、アライナ手段と、仮数加
    算器により発生される桁上げビットを最上位ビットとす
    るN+1ビットの出力レジスタとを含む第1関数ブロッ
    クと、 前記第1関数ブロックの出力に接続され、左端の3入力
    ビットがゼロにされ且つ左端の3出力ビットJ(0:2)
    が3ビット・バス上に出力される、N+1ビット正規化
    手段と、 前記第1関数ブロックの出力に接続された先行ゼロ検出
    ・エンコーダ手段と、 指数に関してパイプライン演算を遂行するように動作
    し、前記アライナ手段を制御する出力を持ったエンコー
    ダ手段に接続された第2関数ブロックと、 前記先行ゼロ検出・エンコーダ手段及び前記エンコーダ
    手段の出力にによって駆動され、前記正規化手段を制御
    する出力を有するセレクタ手段と、 【数2】K(1)=J(0) OR J(1) 及び 【数3】K(2)=J(0) OR J(2) に基づいてビットK(1)及びK(2)を計算し、仮数xi
    =0K(1)K(2)10.....0に基づいて仮数xi
    を前記第1関数ブロックに接続されたxiバス上に発生
    する仮数決定手段と、 より成る装置。
  2. 【請求項2】F(xi)を記憶し、該F(xi)の仮数部分
    及び指数部分に関する出力がそれぞれ前記第1関数ブロ
    ック及び第2関数ブロックの入力に接続されたROM手
    段を有することを特徴とする請求項1に記載の装置。
  3. 【請求項3】前記仮数決定手段は、 前記正規化手段のJ(0)ビット及びJ(1)ビットに接続
    された第1OR論理ゲートと、 前記正規化手段のJ(0)ビット及びJ(2)ビットに接続
    された第2OR論理ゲートと前記第1及び第2OR論理
    ゲートの出力によって駆動され、前記xiバスを形成す
    る出力を有するxi発生回路と、 より成ることを特徴とする請求項1又は請求項2に記載
    の装置。
JP5242229A 1992-11-05 1993-09-29 浮動小数点数の指数計算における引数縮小を行うための装置 Expired - Lifetime JP2520569B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP92480165.7 1992-11-05
EP92480165A EP0596175A1 (en) 1992-11-05 1992-11-05 Apparatus for executing the argument reduction in exponential computations of IEEE standard floating-point numbers

Publications (2)

Publication Number Publication Date
JPH07168700A JPH07168700A (ja) 1995-07-04
JP2520569B2 true JP2520569B2 (ja) 1996-07-31

Family

ID=8211807

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5242229A Expired - Lifetime JP2520569B2 (ja) 1992-11-05 1993-09-29 浮動小数点数の指数計算における引数縮小を行うための装置

Country Status (3)

Country Link
US (1) US5463574A (ja)
EP (1) EP0596175A1 (ja)
JP (1) JP2520569B2 (ja)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5646876A (en) * 1995-04-18 1997-07-08 Motorola, Inc. Method and apparatus for reducing rounding error when evaluating binary floating point polynomials
RU95107478A (ru) * 1995-05-18 1997-02-10 А.И. Грушин Способ устранения старших незначащих цифр при вычислениях с плавающей запятой и устройство для его осуществления
US5808926A (en) * 1995-06-01 1998-09-15 Sun Microsystems, Inc. Floating point addition methods and apparatus
US5880983A (en) * 1996-03-25 1999-03-09 International Business Machines Corporation Floating point split multiply/add system which has infinite precision
US5790445A (en) * 1996-04-30 1998-08-04 International Business Machines Corporation Method and system for performing a high speed floating point add operation
US5856831A (en) * 1996-06-12 1999-01-05 Hewlett-Packard Company Clamping system and method for clamping floating point color values from a geometry accelerator in a computer graphics system
US5844830A (en) * 1996-08-07 1998-12-01 Sun Microsystems, Inc. Executing computer instrucrions by circuits having different latencies
US5844826A (en) * 1996-10-18 1998-12-01 Samsung Electronics Co., Ltd. Leading zero count circuit
US5824936A (en) * 1997-01-17 1998-10-20 Crystal Semiconductor Corporation Apparatus and method for approximating an exponential decay in a sound synthesizer
US5930158A (en) * 1997-07-02 1999-07-27 Creative Technology, Ltd Processor with instruction set for audio effects
US6141670A (en) * 1997-09-30 2000-10-31 Intel Corporation Apparatus and method useful for evaluating periodic functions
US6049865A (en) * 1997-12-18 2000-04-11 Motorola, Inc. Method and apparatus for implementing floating point projection instructions
US7031993B1 (en) * 2000-02-18 2006-04-18 Ge Medical Systems Global Technology Company, Llc Method and apparatus for fast natural log(X) calculation
US7366748B1 (en) * 2000-06-30 2008-04-29 Intel Corporation Methods and apparatus for fast argument reduction in a computing system
US20050203980A1 (en) * 2004-03-11 2005-09-15 Harrison John R. Computing transcendental functions using single instruction multiple data (SIMD) operations
GB2483902B (en) 2010-09-24 2018-10-24 Advanced Risc Mach Ltd Vector floating point argument reduction
US9563402B2 (en) * 2011-09-01 2017-02-07 Advanced Micro Devices, Inc. Method and apparatus for additive range reduction
US9471305B2 (en) * 2014-05-09 2016-10-18 Samsung Electronics Co., Ltd. Micro-coded transcendental instruction execution
GB2527859B (en) * 2014-09-08 2017-05-24 Imagination Tech Ltd Evaluation of polynomials with floating-point components
EP3236348B1 (en) * 2016-04-22 2019-08-28 Imagination Technologies Limited Evaluating polynomials in hardware logic

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4484259A (en) * 1980-02-13 1984-11-20 Intel Corporation Fraction bus for use in a numeric data processor
US4777613A (en) * 1986-04-01 1988-10-11 Motorola Inc. Floating point numeric data processor
JPH0776916B2 (ja) * 1987-06-30 1995-08-16 日本電気株式会社 疑似除算方式を用いた三角関数演算装置
US5042001A (en) * 1989-10-02 1991-08-20 Cyrix Corporation Method and apparatus for performing mathematical functions using polynomial approximation and a rectangular aspect ratio multiplier
JPH03204720A (ja) * 1990-01-08 1991-09-06 Nec Corp 初等関数演算装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
COMMUNICATIONSOFTHEASSOCIATIONFORCOMPUTINGMACHINERYVol.16,No.1,January1973,NEWYORKUS,P.38−40,RICHMAN"Variable−PrecisionExponentiation"
EDNELECTRICALDESIGNNEWS.Vol.31,No3,February1986,NEWTON,MASSACHUSETTSUS,P.143−150,QUONG"Floating−pointmpimplementshigh−speedmathfunctions"

Also Published As

Publication number Publication date
JPH07168700A (ja) 1995-07-04
EP0596175A1 (en) 1994-05-11
US5463574A (en) 1995-10-31

Similar Documents

Publication Publication Date Title
JP2520569B2 (ja) 浮動小数点数の指数計算における引数縮小を行うための装置
US5042001A (en) Method and apparatus for performing mathematical functions using polynomial approximation and a rectangular aspect ratio multiplier
Pineiro et al. Algorithm and architecture for logarithm, exponential, and powering computation
Santoro et al. Rounding algorithms for IEEE multipliers
US5272660A (en) Method and apparatus for performing integer and floating point division using a single SRT divider in a data processor
US5787030A (en) Correct and efficient sticky bit calculation for exact floating point divide/square root results
US5671170A (en) Method and apparatus for correctly rounding results of division and square root computations
JP2557190B2 (ja) 引き数簡約の最適化システム
Krithivasan et al. Multiplier architectures for media processing
US5132925A (en) Radix-16 divider using overlapped quotient bit selection and concurrent quotient rounding and correction
GB2421327A (en) Calculating the number of digits in a quotient for integer division
JPH07168697A (ja) 倍精度除算回路および方法
EP0416308A2 (en) Rectangular array signed digit multiplier
EP0551531A1 (en) Apparatus for executing ADD/SUB operations between IEEE standard floating-point numbers
US6912559B1 (en) System and method for improving the accuracy of reciprocal square root operations performed by a floating-point unit
Schulte et al. A variable-precision interval arithmetic processor
GB2262638A (en) Digital system multiplication.
US6598065B1 (en) Method for achieving correctly rounded quotients in algorithms based on fused multiply-accumulate without requiring the intermediate calculation of a correctly rounded reciprocal
US5237525A (en) In a data processor an SRT divider having a negative divisor sticky detection circuit
Ushasree et al. VLSI implementation of a high speed single precision floating point unit using verilog
Isseven et al. A dual-mode quadruple precision floating-point divider
JPH09146924A (ja) 演算方法、演算装置及びマイクロプロセッサ
US4979141A (en) Technique for providing a sign/magnitude subtraction operation in a floating point computation unit
Vázquez et al. A high-performance significand BCD adder with IEEE 754-2008 decimal rounding
Schulte et al. High-speed reciprocal approximations