JPH02289006A - 浮動小数点加算器においてオペランドの仮数を加算し、減算する回路 - Google Patents

浮動小数点加算器においてオペランドの仮数を加算し、減算する回路

Info

Publication number
JPH02289006A
JPH02289006A JP2031651A JP3165190A JPH02289006A JP H02289006 A JPH02289006 A JP H02289006A JP 2031651 A JP2031651 A JP 2031651A JP 3165190 A JP3165190 A JP 3165190A JP H02289006 A JPH02289006 A JP H02289006A
Authority
JP
Japan
Prior art keywords
mantissa
adder
bit
output
subtraction
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
JP2031651A
Other languages
English (en)
Inventor
Hon P Sit
ホン・ピイ・シツト
David Galbi
デビツド・ガルビ
Alfred K Chan
アルフレツド・ケイ・チヤン
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.)
Intel Corp
Original Assignee
Intel 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 Intel Corp filed Critical Intel Corp
Publication of JPH02289006A publication Critical patent/JPH02289006A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/485Adding; Subtracting
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/49936Normalisation mentioned as feature only
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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

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

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はデジタル加算器の分野に関するものであり、更
に詳しくいえば浮動小数点数の加算と減算に関するもの
である。
〔従来の技術〕
どのようなコンピュータまたはどのようなマイクロプロ
セッサの心臓部はプロセッサ自身である。
任意のプロセッサの1つの主な機能は、プロセッサへの
各種の人力に対して算術演算また#i論理演算を行うこ
とができるそれの能力である。プロセッサにおいて算術
演算と論理@算を行うために従来各種のやシ方が知られ
ている。はとんどのブ「コセツサに固有の必要な1つの
算術機能は、2つの数を加算する能力である。デジタル
プロセッサにおいて和を得るために2つの数を加え合わ
せる数値演算は従来の技術において周知である。更に、
差を得るために第1の数から第2の数を差し引く演算も
従来の技術において周知である。典型的には、はとんど
のデジタルプロセッサにおいては減算演算を行う九めに
補数の加算が利用される。
しかし、コンピュータまたはプロセッサにおいてそのよ
うな演算を行うと、2つの数の和と差の少くとも一方を
供給するためのハードウェア回路を用いるという困難が
伴う。プロセッサが半導体装置まで小型化された、すな
わち、シリコンチップ上に構成されるようになるにつれ
て、2つの数の加算と減算の少くとも一方を最もうまく
やるやシ方の決定に別の制約が役割を演する。また、加
算を行う次めに必要な時間が、テップ間通信時間ではな
くて加算を行う之めに必要な時間が主な遅延を構成する
から、他の処理機能を行う他の回路と同じ集積回路チッ
プに加算器が構成される時には、加算と減算の少くとも
一方の速度を高くすることが重要である。したがって、
2つの数の加算/減算の計算時間を短くするとプロセッ
サの速度が大幅に向上する。
2つの数の加算と減算の少くとも一方を行うよシ効率的
で、正確な1つの技術は、浮動小数点演算を行う次めに
加算器を用いることである。浮動小数点演算においては
、数は指数と仮数で表される。小数(または2進)点の
左側に1つの非零数が存在するように仮数は正規化され
る。たとえば、10進数4956.43は+4.956
43e+3として表される。デジタルプロセッサにおい
て用いられる2進演算においては、仮数の最上位のビッ
ト(msb)として1の値を有し、そのmsbの後に浮
動小数点を並べることにより仮数は表される。
従来技術において知らされている通常の浮動小数点加算
/減算においては、2つの数の和と差を求めるために下
記のステップが典型的に要求される。第1のステップに
おいては、2つのソース演算数の指数が比較され、減算
される。第2のステップにおいては、小さい方の演算数
の仮数を指数の差だけ右へ桁送シすることにより仮数の
整列が行われる。第3のステップにおいては、加算を行
うのであれば、加算を行う。減算を行うのであれば典型
的には2の補数加算が行われる。ステップ4においては
、結果が負の値であるならば結果が後で補数をとられる
。第5のステップにおいては、先行零の数を走査するた
めに先行零符号器を一般的に用いることによシ先行零検
出が行われる。2つのソース演算数の減算において演算
数の大きさが互いに非常に近いとすると、結果は典型的
に先行零を有する。ステップ6においては、得た仮数を
正規化するために、仮数を先行零の数だけ左へ桁送りす
ることにより後正規化が行われる。一般に同時に、共通
の指数が桁送シされた量だけ減算される。ステップ7に
おいては、丸め演算が行われる。このステップは基本的
には、結果の最下位ピッ)(tab)を丸めるための別
の加算演算である。最後に、ステップ8においては、ス
テップ7の丸め演算によってあぶれが生じたとすると、
仮数は右へ桁送りされ、その結果の仮数の指数が増加さ
せられてあぶれを補償する。
各種の浮動小数点規格を利用できるが、最もよく知られ
ていて、広く受は容れられている1つはアイイーイーイ
ー(IEEE)(インステイテユートeオプ・エレクト
リカル・アンド・エレクトロニック・エンジニャス、ア
イエヌシー−(In5titute  of FJle
ctrical  and ElectronicEn
gineers、 Inc、) ) バイナリ・フロー
ティング・ポイント−スタンダード(Binary F
l。
ating Po1nt 5tandard) (2進
浮動小数点規格)754 である。しかし、IEf2E
754 浮動小数点規格の実現においては、上記従来の
一連のステップは典型的には直列に行われる。すなわち
、前のステップにおいて結果を得るまで次のステップの
実行を待たなけれはならない。
そうすると、加算/減算演算を実行するためにクロック
サイクルの総数をどのように減少しても加算/減算演算
を実行するためのより高速のプロセッサが得られること
がわかる。
更に、IEEFJ2進浮動小数点規格754の実現にお
いては、結果に対する正確な丸め要求が必要とされる。
IIIEEE754規格は、浮動小数点演算を実行する
時に丸めビットとステイツキービットを使用°すること
を要する。丸めビットは、丸められていない仮数結果の
ビットのうち、結果仮数において用いられているlsb
 より1つの位置だけ低いビットとして定義される。ス
ティッキービットは、丸められていない仮数結果中のビ
ットの丸めビットよシ下位である全てのビットのORと
して定義される。既存の従来の実現は、丸めを計算でき
る前に結果仮数の全てまたは部分を計算することを必要
とする。また、前記ステップ8について述べたように、
丸め演算にょシあふれが生ずることがあシ、その之めに
仮数を1位置だけ右へ桁送シする必要がある。したがっ
て、丸め動作と加算を決定する九めのステップを必要と
し、あふれた結果があればその結果を後で桁送りする必
要がある。
まな、結果仮数が得られる前に丸めを決定できるものと
すると、クロックサイクルの面での一連のステップと、
おそらくは、ノ1−ドウエアの面での付加丸め加算器と
を減少でき、それによりプロセッサの全体の速度と性能
を向上する。
〔発明の概要〕
本発明は正規化された結果仮数を得るなめに求められる
桁送りを決定するために前置正規化論理が用いられ、丸
められていない結果仮数の求められる丸めを予測するた
めに二重加算器のやυ方を用いる丸め論理を用いる浮動
小数点加算器を記述するものである。浮動小数点加算器
は2つの演算数を受けること、加算/減算演算を実行す
ること、および最後の丸められた和/差を供給すること
を3クロックサイクル以内に行うことができる。
第1のタロツクサイクルの間に前置正規化論理は演算数
仮数を走介して論理演算を行い、結果仮数において予測
される先行零の数を予測する。前置正規化論理演算は2
つのソース演算数の指数値の差に依存する。指数値が等
しい時、または1の差を有する時に前置正規化論理演算
を必要とする。
指数の差は、どの演算数が大きいかについての評価とと
もに、第1のクロックサイクル中に実行される。それか
ら、正しい論理演算出力が選択される。その出力は演算
数の大きさの評価に依存する。
また、第1のクロックサイクル中に、小さい方の演算数
を走査してステイツキービットを決定する。
第2のクロックサイクル中は、演算数仮数を含んでいる
シフトレジスタの適切な左桁送9と指数の調節を前置正
規化回路が行わせる。仮数のとの左桁送す動作によシ先
行零が除去される。その先行零は答において明らかにさ
れる。したがって、結果の後正規化は不要である。ま之
、第2のクロックサイクル中に、結果に対して必要とさ
れる丸めが予め計算される。更に、よシ大きい演算数が
被減数として用いられるようにするためにスワツパ−が
用いられる。
第3のクロックサイクル中に、2つの加′X器が演算数
仮数を加算して加算/減算を行う。加算演算において桁
上げを発生でき、0を保持している場所を減算演算で発
生できるから、二重加算器のやり方が用いられる。加算
が行われるものとすると、1つの加算器桁上げを行わず
、他の加算器は桁上げを行い、第2の結果を1ビット位
置だけ右へ第2の結果を実効的に桁送りする。減算が実
行されるならば、一方の加算器が和ビットが1であると
仮定し、他方の加算器は和ビツト中の先行零をとり、第
2の結果を左へ1ビット位置だけ実効的に桁送りする。
論理回路は桁上げ/和ビット値を検出して、正しく正規
化された結果を有する加算器の出力を選択する。この第
3のクロックサイクル中には、同じ論理的なやシ方から
の制御(iV号によシ指数調節も行われる。
この明細書においては、浮動小数点加算器の速度と性能
を向上させる次めに、2つの加讃、器を用いるやり方を
用いて前置正規化と丸め論理を行う装置と方法について
説明する。本発明を完全に理解できるようにするために
、以下の説明においては、特定の回路ビットパターン等
のような特定の事項の詳細について数多く述べである。
しかし、そのような特定の詳細事項なしに本発明を実施
できることが商業者には明らかであろう。その他の場合
には、本発明を不必要に詳しく説明して本発明をおい壕
いにしないようにするために、周知の構造と方法は説明
しない。下記の説明においては、加算は、結果の大きさ
が両方の演算数仮数よシも大きいような演算を指すこと
を理解すべきである。
たとえば、1−(−2)は加算演算(以下の説明のため
に)である。し九がって、減算は、結果の大きさが演算
数の少くとも1つの大きさより小さい時の演算であって
、たとえば1+(−2)は減算演算である。
浮動小数点加算/減算演算においては、和/差の結果を
得るために2つの演算数が加え合わされ/差し引かれる
。一般に、非零値(2進においては1の値)がmsb位
置にあるように、指数部分と仮数部分を有する2つの演
算数が正規化される。
時には、msb位置におけるこの1の値は隠された位置
と呼ばれる。その理由は、正規化された時には、1がこ
のビット位置に常にあり、その後に浮動小数点が続くか
らである。正規化のために要求される桁送りの次めに補
償する九めに指数は増加/減少される。
2つのソース演算数(以下、演算数A、演算数Bと呼ぶ
)が加え合わされ/差し引かれると、結果演算数の仮数
も正規化せねばならない。この後正規化は前記ステップ
6において述べ九。加算演算中は、キャリアウドがなけ
れば(加算器からのあふれなし)結果仮数の最上位ビッ
トが1の値を有し、または桁上げがあれば(加算器から
のあふれ)Oまたは1の値を結果仮数の最下位ビットが
有する。したかって、2つの演算数AとBの加算におい
ては、結果仮数は後正規化を必要とせず、または最悪の
場合には右へ1ビット位置の桁送りを必要とする。
しかし、減算演算の場合における後正規化は一層不確定
である。2つの数の値が近いと、結果の差は、0000
01XXXXXXXXXX のような、先行零を通常布
して、5個の先行零を有する16ビツトの結果仮数の例
を示す。この例においては、後正規化ステップは、差を
正規化する九めにいくつかの左桁送9を必要とする。し
たがって、減算演算のための後正規化要求のためには、
結果仮数中の先行零の数を決定することが重要である。
減算演算の実行をより高速で行うために、本発明は後正
規化ステップの必要を無くすものである。
その代りに、本発明は前置正規化を利用するものである
。前置正規化というのは、結果仮数が得られる前に結果
仮数に対する正規化要求を決定するものとして定義され
る。後で説明する例においては、一方の演算数から差1
〜引かれた1つの仮数を有するものとして減算演算が示
されていることを理解すべきである。すなわち、減数が
被減数から差し引かれる。しかし、実際のデジタル処理
技術においては、減算は2の補数加算器によシ実行され
ることを理解すべきである。2の補数加算器を使用する
ことは従来技術において知られている。
〔実施例〕
以下、図面を参照して本発明の詳細な説明する。
前置正規化 本発明の浮動小数点加算器のための前置正規化技術にお
いては、@置正規化をいつ必要とするかを決定する次め
に3つの可能なケースを理解せねばならない。3つのケ
ースとは、 ケースI EA−gB=1 ケースIIEA−EB>1 ケースill  EA=EB ここに、KAは演算数Aの指数を示し、gBは演算数B
の指数を表す。
第1のケースは、gAマイナスεBの絶対値か1に等し
い時の状況を取扱うものである。すなわち、IIEA−
EB=1またはEBB−h:A=1である。
以下にEA−EB=1である場合を示す。この伊りにお
いては、仮数を下記のように整列させる次めに、演算数
Bの仮数を1位置だけ右へ桁送りせねばならない。
仮数A  IXXXXXXX 仮数B  0IXXXXXX 先行Oが現われるかどうかを判定するために、4a1類
の分析を行わねばならない。下記の例においては、演算
数Aの仮数が正規化され、1の値がそれの最下位ビット
位置に存在する。先に述べたように、この正規化された
1は典型的には「隠された」1と呼ばれる。更に、下記
の例においては、0ま之は1とすることができる数を示
すためにXが用いられる。
ケースIに対する第1の種類においては、仮数A中の隠
された1に続くビットの値は1である。
以後のビット値の九めに、借シは未定であるケースIの
ための演算結果を下に示す。その演算結果においては隠
された1に続くビットは、行われている借りの決定とと
もに、主な関心事である。
ケースIA)  仮数A中の隠された1に続く1−借り
有 仮数A  IIXXXXXX 仮数B  0IXXXXXX 仮数R0IXXXXXX この例においては結果仮数(仮数R)は1つの先行Oを
常に有し、結果仮数を正規化するために1位置だけの左
桁送りを求められる。
第2の種類においては、仮数Aにおいては隠され九1に
1が続き、以後のビット位置からの行われている借υは
ない。
ケースIB)  仮数A中の隠された1に続く1−借シ
無し 仮数A  IIXXXXXX 仮数B  0IXXXXXX 仮数Rl0XXXXXX この例においては結果は既に正規化されておシ、桁送り
は求められない。
第3の種類は、仮数Aにおいては隠され九1にOが続き
、借りが行われている状況をカバーする。
ケースIC)  仮数A中の隠され7tlに続く1−借
り有 仮数A  l0XXXXXX 仮数B  0IXXXXXX 仮数R0OXXXXXX この例においては結果仮数中の先行0の実際の数は不定
である。
最後に、第4の種類においては、仮数Aの隠された1に
0が続き、借シは行われていない。
ケースID)  仮数A中の隠された1に続く1−借り
無し 仮数A  l0XXXXXX 仮数B  0IXXXXXX 仮数R0IXXXXXX この例においては1つの先行0が生じ、1位置だけの左
の桁送シによシ結果仮数が正規化される。
上の4つの種類に対しては、不定数の先行0のパターン
が形成されるただ1つのケースがある。
ケースl。においては、先行Oの実際の数は、仮数A中
の隠され7tlに続くビットを調べ、借シが行われてい
るかどうかfcf(I定するだけでは決定できない。他
の3つのケースIA、1..IDは次かだか1つの先行
Oを発生できるだけでおる。
ケースIA、Ia 、IDにおいては、仮数Rはゼロ、
すなわち1つの先行Oを持つ。1つの先行0は隠された
1から借やる必要から生ずるものである。mib から
の借りのために減算において生ずるこの先行0は、2つ
の仮数の加算で生ずるあふれとは逆である。後で示すよ
うに、加算器を2個用いる本発明のやυ方は減算演算中
に1つの先行Oが生じること、または加算演算中に桁上
げが生しることを補償するものである。しかし、ケース
Icの場合には、先行Oの実際の数は不定であり、仮数
R中に生ずる先行Oの実際の数を解くためにに他のある
技術を必要とする。借シが行われている時のケースIc
に対する先行0を形成する1つのパターンを下記の例に
示す(仮数Bが1位置桁送りされていることに注目され
たい)。
仮数A  100OOXXX 仮数B  0IIIIXXX 仮数R0OOOOXXX すなわち、先行Oを生ずるパターンは仮数A中の隠され
た1に続く0の数と、仮数B中のOを保持している先行
場所に続く1の数とにより決定される。仮数AとB中の
0/1対を調べることにより、結果中の先行0の数を決
定するために走査器を容易に実現できる。
他のケース1m件と比較して上記のケース■。
における差異に注目できるが、実際には減算演算が実行
されるまでは借りを検出することはできない。しかし、
0/1対の走査は全てのケースI^。
L 、IC,IDに対する先行Oを識別する。結果中の
先行0の数の結果予測は1によりオフにでき、この誤9
は加算器を2つ用いる本発明の技術により訂正できる。
下記のビットパターンについて考えてみる。
仮数A  100OOX、。
仮数B  0IIIIY、。
ここに、XとYはそれぞれ仮数AとBの以後のビットで
あシ、X〆0またはY〆1である。
NをO/1パターンを有するビット位置の数であると定
義すると、上記のパターンの例ではN=4である。走査
器はO/1ビットパターンを検出シ、上記の例のパター
ンにおいては4の値に達する。しかし、ビットXとYに
対しては、ビットの全ての組合わせ(X=0とY=1を
除く)が借シ条件と借シのない条件について評価された
とすると、結果差はN個の先行OまたはN+1個の先行
0を下記のように有する。
仮数A  100OOX、。
仮数B  0IIIIY、。
仮数R,00010 仮数R2000001 仮数R3000011 例で示したように、N個の先行0が結果中にあるものと
すると、走査器がOの正しい数を検出し、またはN+1
個の先行Oが結果(すなわち、仮数R2)中に実際に存
在するものとすると走査器は1上紀ビツトパターンによ
り実際に表され、そのビットパターンにおいてはそれは
ただ1つのO/1ビット組合わせ(N=1)を有する特
殊なケースである。
したがって、0/1ビツトの組合わせを走査することに
より、gA−IB=1の時に結果中に現われる先行Oの
数を予測できる。後で説明するように、gB−gA=1
の時には、いまは仮数Bが被減数で、仮数Aが減数であ
ることを除き、ケースIについての上の説明と同じ説明
があてはまる。
本発明の前置正規化技術は、ケースIに遭遇した時に仮
数R中に生ずる先行Oの数を決定する論理回路を実現す
る。仮数A(EA−rB=1と仮定して)の隠されたl
を除く全てのビットは補数をとられ、Oを保持している
先行場所を除いて、仮数Bの桁送りされたビットとの論
理積オペレーションが行われる。それから、論理積管と
られ之結果の補数をとるとN個の先行Oが得られる。そ
のN個は仮数R中に現われる先行0の数ま九はl少い先
行Oの数に一致する。ケースエ。において先行Oを生ず
るパターンを検出する論理回路はケースl^+IB+I
Oについても動作し、先行0の正しい数、またはたかだ
か1だけ離れている先行0の数を生ずる。すなわち、こ
の論理回路は仮数AとBに働きかけて、ケース!に遭遇
した時に仮数Rにおいて予測される先行Oの数を決定す
る。
後で説明する2加算器技術は、仮数A中の隠された1か
らの借シにより発生される先行Oの発生を補償し、それ
により1つの先行O娯り、もしあれば、を訂正する。
(8人−EB)の絶対値が1より大きい時に第2のケー
ス、ケース■、が生ずる。また、仮数Aが正規化されて
それの最上位ビット位置に1を有し、減算演算を行うた
めに指数EAとgBをそろえるために、演算数仮数を右
へ少くとも2位置だけ桁送夛する必要がある。ちょうど
2位置の桁送シを考えると、次の事が起る。
仮数A  IXXXXXXX 仮数B  0OIXXXXX 任意の先行0を出現させるかどうかを決定するために、
8槙類の部類を分析しなければならない。
8種類の部類が下に■い〜Lとして示されている。第1
の種類においては、以後のビットからの借りが行われて
いる場合には、11は仮数A中の隠された1に続く。
ケースIIA)  仮数A中の隠された1に続く11−
借シ無し 仮数A   IIIXXXXX 仮数B   0OIXXXXX 仮数Rll0XXXXX この種類においては、結果仮数は既に正規化されている
第2の種類は第1の種類と同じであるが、借りが行われ
ている。
ケースIIi+)  仮数A中の隠されたIK続く11
−借り有 仮数A  IIIXXXXX 仮数B  0OIXXXXX 仮数Rl0IXXXXX また、結果仮数は正規化されている。
次の2種類は、1つのOが演算数Aの仮数中の隠され念
1に続く時の状況を取扱うものである。
ケース■。においては、借りは行われない。
ケースl1c)  仮数A中の隠された1に続く1〇−
借シ無し 仮数A  ll0XXXXX 仮数B  0OIXXXXX 仮数Rl0IXXXXX 結果仮数は既に正規化されている。
種類■。においては、借りを必要とする場合に隠された
1に1つのOが続く。
ケース110)  仮数A中の隠された1に続く10−
借υ有 仮数A  ll0XXXXX 仮数B  0OIXXXXX 仮数R100XXXXX また結果仮数は既に正規化されている。上の4つの種類
かられかるように、仮数A中の隠され九1に11または
10が続く時には、結果仮数Rは借9の状態とは無関係
に正規化された結果を常に有する。
しかし、仮数A中の隠された1に01またはOOが続く
時には、下記の種類例かられかるように、結果仮数Rは
正規化しないことができる。隠された1に01が続き、
以後のビットからの借りが行われない場合には、下記が
起る。
ケースIIK)  仮数A中の隠された1に続<01−
借シ無し 仮数A  l0IXXXXX 仮数B  0OIXXXXX 仮数R100XXXXX 結果仮数かられかるように、結果は既に正規化されてい
る。
しかし、借夛を必要とする同じ場合には下記が起る。
ケースIIP)  仮数A中の隠された1に続<01−
借り有 仮数A  l0IXXXXX 仮数B  0OIXXXXX 仮数R0IIXXXXX 結果仮数は先行0を1つ有し、左へ1位置桁送りするこ
とは結果仮数を正規化する必要がある。
下記の2種類かられかるように、OOが仮数A中の隠さ
れた1に続くと、1つの先行Oが生ずる結果となり、仮
数Bを正規化するために左への1位置桁送りを要求され
る。
ケース…G)仮数A中の隠された1に続<00−借シ無
し 仮数A  100XXXXX 仮数B  0OIXXXXX 仮数R0IIXXXXX ケースII 、()’仮数A中の隠され九1に続<OO
−借シ有 仮数A  100XXXXX 仮数B  0OIXXXXX 仮数R0IOXXXXX 種々の可能な組合わせをカバーする上記sai類のうち
、(EA−EB)の絶対値が1より大きい時には結果仮
数Rは常に正規化され、または、最悪の場合には、1つ
の先行0に遭遇する。2加算器技術はこの1つの先行O
を補償する。したがって、ケースHの8種類の全てに特
殊な前置正規化回路は不要である。
第3のケースと最後のケースは、KAがEBに等しいと
いう最悪の場合のシナリオを取扱うものである。この例
においては、両方の指数は同じべきであるから、演算数
AとBの両方の仮数は仮数中に先行1を有する。これを
下に示す。
仮数A   IXXXXXXX 仮数B   IXXXXXXX ケース■についてわかるように、あらゆる種類のパター
ンが中間の長さの先行0を発生できる。それらの例のう
ちの2つを下に示す。
仮数A   IIIIXXXX 仮数B   IIIIXXXX 仮数R0OOOXXXX 仮数A   100OXXXX 仮数B   100OXXXX 仮数R0OOOXXXX ケース■において先行Oを発生できる利用可能なパター
ンの数は、簡単な論理回路の解を利用できないほど太き
い。それよシも、ケース■に遭遇する場合には、仮数A
とBの減算を行う次めに減算器が利用される。ケース■
に遭遇した場合には本発明の前置正規化回路に減算器が
利用される。2つの数の減算を行うために先に述べた3
つのケースを思い出すと、ただ2つのケースにおいて前
置正規化論理が要求される。すなわち、その時には指数
の差がOまたは1に等しい。更に、結果仮数Rを正規化
するために2ビット位置以上の左桁送りを要求された時
にそれらの例を調べる場合に前置正規化論理が重要でお
る。
本発明の前置正規化回路が示されている第1図を参照す
る。前置正規化回路10はケース■と■に遭遇した場合
に前記ヤシ方を利用し、仮数Rにおいて予測される先行
Oの数を発生する。前記前置正規化のやシ方は、演算数
Aの値が演算数Bよシ大きいと仮定する。しかし、演算
数Bを演算数Aよシ大きくすることも可能である。前置
正規化回路10いずれかの条件を起させる。
両方の演算数A、Bの仮数は回路21,22゜23へ結
合される。第1図において、演算数AとBは53ビツト
、(52:O)(以下、ビットm〜n (man )を
<m: n>で表す)で構成される。しかし、倍精度算
術を行う九めにI EEE754規格の使用を説明する
九めに、ビットの実際の数は設計上の選択の問題である
。2つの等しい論理回路21と22が、ケースIが生じ
之場合にO/1ビット組合わせパターンを走査する。回
路21は、演算数Aが演算数Bより大きいと仮定する。
仮数Bのためには実効右桁送を必要とするから、回路2
1は仮数Aのビットく51:0〉を仮数Bのビット<5
2 : 1>に整列させる。
あるいは、回路22は、演算数Bが演算数人よシ大きく
、仮数Bのビット<51 : 0>を仮数人のビット<
52:1>に整列させ、O/1ビット組合わせパターン
を走査する。両方の回路21と22は指数の差が1であ
ると仮定する。
回路23は2つの仮数AとBを減算する念めの減算器で
ある。回路23は、同じ指数であると仮定する。回路2
3は減算器25とマルチプレクサ(MUX ) 26で
構成される。減算器25は、演算数Bを演算数Aから差
し引き、差をMUX 2 Bへの入力(p)として供給
することにより減算演算を行う。演算数Bが演算数Aよ
シ大きい場合には、減算器25の反転された出力もMU
X26への入力(q)として供給される。桁上げ/(以
下、/を用いて補数とアクティブ低信号を示す)出力が
MUX 2 Bへ結合されて、MUX26を介して結合
すべきp入力またはq入力を選択する。すなわち、桁上
げが存在する時に桁上げ/は低(0)である。
好適な実施例の減算器25は演算数Bを演算数人から常
に差引く。演算数Aが演算数Bより大きいか、演算数B
に等しいとすると、先行O1もしあれば、の数が減算器
25の出力端子に供給される。桁上げがあるから、桁上
げ/はOに等しく、p入力が選択される。
演算数Bが演算数Aより大きいとすると、負の結果が起
る。補数加算の之めに、この負の結果は、先行Oの代り
に先行1があることを意味する。更に、減算器25から
桁上げが発生されない(桁上げ/=1)。これは入力q
を選択させる。入力qは減算器25の反転された出力で
ある。すなわち、入力qは負結果の反転され念ものであ
り、反転により先行1が先行Oへ変換される。
差の実際の極性は問題ではない。というのは、回路23
は先行Oの数を取扱うからである。1の値によジオ7さ
れているインバータの結果(2の補数加算は結果に1を
加えることを要求する)は最後の結果において先行oを
+かだか1つ少くし、それは2加算器技術中の適切な加
算器の選択によシ修正される。し九がって、反転され比
出力は、結果仮数R中のOの実際の数の予測においてた
かだか1だけオフにできる先行0の数を供給する。
しかし、ま九、本発明の2加算器技術はこの誤υを修正
する。
3つの回路21〜23の出力はMUX24  への入力
として結合される。制御信号g A > g B、 f
E^=gB、gA(g13はそれの適切な入力を回路2
1.22.23からMUX24  からの出力としてそ
れぞれ選択する。KA(EB条件は(gA=gn)/お
よび(EA>EB )/とじて論理的に表すことができ
るから、実際にはただ2つの信号を実際に必要とするこ
とを理解すべきである。更に、指数の差が1よシ大きい
とすると(すなわち、ケース■)、MUX24からの出
力は以後は使用されないことを後で示す。
後で説明するように、正規化の次めに1つの左桁送シを
必要とする結果仮数は、本発明の2加算器技術を用いて
解かれる。し次がって、本発明の前置正規化回路10は
仮数R中の先行Oの予測数を決定し、先行Oのこの出力
は演算数仮数の減算前に演算数仮数の適切ガ桁送金行わ
せる。結果仮数Rは後正規化ステップを要求することな
しに正規化される。回路23は2つの減算器(1つはA
〉Bのため、および1つはB>Aのため)を実現できる
こと、または回路21.22は減算器を用いて等しい機
能を供給できるが、減算器はゲート、MUX 、インバ
ータのような他の論理回路と比較して、はるかに大きい
シリコンスペースを必要とするから、本発明はそのよう
なやp方を抑制されるとも理解すべきでおる。
複数加算器スキーム 仮数AおよびBについて加算演算が実施されると、結果
の仮数Rは表記法El 、2)によって記述される範囲
または表記法〔2,4)によって記述される範囲内の値
を有する。表記法[1,2)は、角形括弧が1が区間内
に含まれていることを示しまた小括弧が2が区間内に含
まれていないことを示している場合に使用される。同一
の包含性が表記法[2,4)の角形括弧に適用され、か
つ小括弧の排他性が前記表記法に適用される。すなわち
、範囲[1,2)については、値の範囲は1よシ大であ
るかまた紘1に等しいが、2よシも小である。仮数Rが
範囲(1,2)内にある場合は、桁上げは発生しない。
しかしながら、仮数Rの値が範囲(2,4)内にある場
合は、したがって桁上げが発生する。この桁上げの発生
に伴って、仮数Rは1ビット位置だけ右にシフトされ、
そして仮数Rを正規化するため指数が増加される。
減算演算が仮数AおよびBに関して実施されると、仮数
Rによって表わされるこれら2つの数の差は2つの別個
の範囲内にはいることができる。
仮数Rが範囲[1,2)にはいる場合は、この仮数Bは
既に正規化されている。しかしながら、2つのオペラン
ドの差が仮数Bを範囲CO,!5.1)に入れた場合は
、mlIb位置は0を保持する場所によって表わされる
。仮数Rが範囲[o、s 、 1 )内にはいる場合は
、仮数Rは左に1位置だけシフトされることを要し、そ
してこの結果を正規化するため指数が減少せしめられる
。1ビット位置のシフト処理は、結果の仮数Rを正規化
する際に考慮されるべき、もし存在する場合は、さらな
る先行ゼロを決定するためのすべての演算に無関係であ
る。し次がって、先行ゼロについてのさらなる正規化を
無視して、2つの仮数の減算演算は正規化される差また
は左に1ビツトのシフトを要する差を生じることができ
る。
従来技術の装置は、仮数Rが計算される時にのみ仮数R
の範囲を一般的に決定するものである。
すなわち、従来技術の装置は減算演算の差を一般的に得
てその後に、それが−旦得られてから、結果の仮数を解
析することによってこれを正規化するためにシフトが必
要であるか否かを決定する。
本発明は、最終結果を得てしかる後に事後の正規化段階
を実施する必要を回避するものである。
第2図を参照すると、本発明の2加算器スキームが示さ
れている。2つの加算器1および2は、加算演算と減算
演算の両方を実施することができる同等の加算器である
。仮数Aは、加算器1および2の両者に入力として結合
されている。仮数Bも、加算器1および2の両者に入力
として結合されている。加算器1および2は仮数Aおよ
びBの加算/減算を行ない、この結果をMUX3に入力
として出力する。加算器1および2に結合されている制
御信号は、演算が加算演算であるかまたは減算演算であ
るかを判断する。以前に述べたように、減算演算は実の
ところ2の補数加算である。
加算演算が仮数AおよびBに関して実施されつつある場
合は、加算器1は結果値が範囲(1,2)内にあるもの
と仮定し、これに対して加算器2は結果値が範囲[2,
4)内にあるものと仮定している。加算器2が結果値が
範囲[2,4)内にあるものと仮定しているので、この
加算器2は加算器1の結果に比べて1ビツト位置だけ右
に実際にシフトされている結果を提供する。加算器1か
らの正常な出力および加算器2からの右シフトされた出
力は、MUX 3に結合されている。選択信号が、MU
X 3に結合されるべき適切な加算器出力を選択する。
減算演算が実施され・ククある場合は、加算器1は結果
の値が範囲[0,5、1>内にあるものと仮定し、これ
に対し加算器2は結果値が範囲0.2)内にあるものと
仮定している。この場合、加算器1はMUX 3に対し
て出力を提供する前に1ビツト位置の左シフトを提供す
る。加算器2は、正常の出力を提供する。し九がって、
加算または減算演算時に、両加算器1および2は出力を
提供するが、ただ1つの出力のみが正しい正規化を有し
ている。MUX 3 は、適切な加算器出力を選択する
ために使用される。第2図の2加算器スキームを使用す
ることによって、和/差仮数の範囲を決定するために付
加的段階を必要としない。MUX 3に対する選択信号
は、両加算器に結合されている付加回路から導出される
。加算器1からの桁あふれ(オーバ70−)は、MUX
 3に加算演算時に加算器2の出力を選択させる。桁あ
ふれかない場合は、加算器2の出力が選択される。減算
演算時に、加算器1の和ピッ)(mab)が評価される
。この和ビットが1の値を有していると加算器2の出力
が選択されるが、和ビット値がOであると加算器1の出
力がMUX 3によって選択される。
第3図を参照すると、加算器1および2と同等である加
算器42がこの好適実施例に実施されているところが示
されている。仮数A′およびB′が、加算器1および2
の各々に結合されている。
仮数A′はこの場合オペランドAi九はBの大きい方を
示すように使用され、そして仮数B′はオペランドAt
たBの小さい方を示すために使用されている。この場合
も、この例はIEBJE754規格の53ビツトの2倍
精度仮数を使用しているが、実際のビット数は設計の選
択によることを理解されたい。さらに、この好適実施例
に実施されているように、必要とされる丸め演算に依存
することになる1sb(ビット0またはビットOおよび
1)を処理するために付加論理回路が設けられている。
第3図において、各仮数A′およびB′のピッ)<52
:1>は加算器1に結合され、これに対し各仮数heお
よびB′のピッ) <53 : 2 >ハ加算器2に結
合されている。各加算器は、52ビツトを出力する能力
を有している。加算が呼び出されると、加算器1 カM
UX 43 (コ(7)MUX 43は、第2図のMU
X3 に等しい)の入力としてビット<51:O>  
を出力し、そして加算器2がMUX43の入力としてビ
ットく51:O〉を出力する。
ビット<51 : O>は、結果仮数Rのビット〈52
:工〉に実際に対応する。ビット〈0〉は、後述するこ
とになっている丸め論理回路によって決定する。ビット
〈0〉は入力rおよび8に結合され、仮数Rのlsb 
を提供する。
減算が実施されるべき場合は、加算器1がMUX43の
入力tとしてビット<50:O>を出力しまた加算器2
がMUX 43の入力Uとしてビット〈50:O>  
を出力する。ビット<50:0>は、結果仮数Rのピッ
)<52:2>に実際に対応する。
ビットく1:0〉は丸め論理回路によって決定され、こ
の場合ビット〈1:O〉は仮数Rの2つのlsb  を
提供するべくtおよびUに対する入力として結合されて
いる。
図説のとおり、加算器2に対する入力は、加算器2から
の和/差もま念願算器1からの対応出力に比較して1ビ
ット位置だけシフトされるように、1ビット位置だけシ
フトされる。制御信号は、その出力が仮数Rに対応する
MUX 3  からの出力として入力r、s、tおよび
Uの選択を提供する。
加算が実施されつつあってかつ加算器1から発生された
桁上げがあると、入力rが選択される。桁上げがない場
合は、入力Sが選択される。減算の実施時に、加算器1
の和ビット(ビット〈51〉)が0であると入力tが選
択されるが、和ビットが1であると入力Uが選択される
第4図を参照すると、この好適実施例の浮動点加算器が
ブロック図の形式で示されている。種々のエレメントが
ブロック内に示されていて、一般的技術分野で周知の回
路を示している。念とえば、このような関連装置は、マ
ルチプレクサ、加算器、比較器、減算器、減分器、増分
器、シック、シフト・エンコーダ、等である。種々の従
来技術の回路および装置が、個々のブロックの各々に対
して容易に実施可能であることを理解されたい。さらに
、第4図の浮動点加算器は、3つの個別ステージ1.2
および3に分離されて示されている。これは、ステージ
1内にある諸ブロックは第1のクロック・サイクル時に
実施される演算動作を表わすことを説明するために、第
4図に提供されている。ステージ2内の諸ブロックは第
2のクロック・サイクル時に実施される諸回路動作を表
わし、taステージ3内にある諸ブロックは第3のクロ
ック・サイクル時に実施される。第2図の浮動点加算器
は3ステージのパイプラインΦマシンであって、この場
合直前のオペランドの演算の結果がステージ1からステ
ージ2にシフトされる時と新オペランドがステージ1に
導入され、以下同様に新オペランドが導入される。さら
に、図示されていないが、次のステージの回路に対して
信号管結合する目的のために各ステージの後にラッチが
設けられている。
オペランドAおよびBが、MU)11、指数比較器12
、仮数比較器13、MUX 14、(バレルφシフタで
ある)シフタ15として示されている種々のブロックに
対し、かつ前置論理回路10に対する入力として結合さ
れている。実際に、指数または仮数部分のいずれかが、
これらの種々のブロックに結合されている。指数比較器
12はオペランド入およびBに対する指数値を比較しこ
の差を決定し、そして右シフト拳エンコ〜ダ16に対し
て指数差を提供する。この右シフト・エンコーダは、シ
ック1501つに対して右シフト動作全実施するための
適切な符号化を提供する。比較器12はさらに、信号E
A−EBを提供する。gA〆EBであれば、第2の信号
がgA>EBであるかまたはEA<EBであるかを判断
する。EAがEBより大でない場合は、信号状態が状態
KA<IB(EA〆EBと仮定)を識別することに注目
されたい。これらの信号は、仮数比較器13に結合され
ている。
仮数比較器13はオペランドAおよびBの仮数と前置正
規化回路10の桁あぶれとを受け、そして、必要であれ
ば、これら2つの仮数を比較して、いずれが撮幅におい
て大であるかを決定する。
EA=EBであれば、両仮数が比較されなければならな
いし、そうでない場合は信号εA>gBがいずれのオペ
ランドが大であるかを決定する。実際の応用においては
、比較器13は仮数AとBとが等しいか否かを決定する
等価比較器である。これらが等しくなくかつEk=EB
であれば、回路23の減算器25からの桁あふれ(第1
図参照)が調べられて、仮数A〉仮数Bであるか、t7
’?、は仮数B〉仮数Aであるか否かを決定する。信号
A>BXA=BおよびA<Bは両オペランドに印加され
た場合比較と呼ばれる(すなわち、A>Bはオペランド
AがオペランドBよシ大であることを意味する)。指数
比較信号はさらに前置正規化論理10に結合され、この
場合3つの論理回路21゜22および23が、結果の仮
数内に期待される先行ゼロの数を決定する。
前置正規化論理回路10は第1図に関して以前に説明さ
れているもので、仮数R内に期待されるべき先行ゼロの
数を決定する前述の前置正規化技法を使用し、この決定
は多くとも1だけオフしていることがらり得る。論理回
路21および22は、仮数Rの先行Oに対応して、先行
Oが回路21および22から出力されるように、ケース
■に関連して前述し次ビット・パターンを検出する九め
に使用されている。ケースIに関して説明した検出論理
が、前置正規化を提供するために使用されている。種々
の論理実施が、仮数人およびBのビットを走査するため
に設は得るものと理解され丸い。
回路23は、2つの仮数AおよびBを減算するための減
算器25およびMUX26である。回路23は、仮数人
およびBが同一指数次数のものであると仮定している。
種々の論理回路が、回路23の減算回路25に容易に使
用可能である。減算器の減算動作は、第1図に関して十
分に説明されている。し九がって前置正規化は、ケース
1ll(EA=EB)が発生した場合は回路23によっ
て提供される。回路21〜23は、これらの回路が仮数
AおよびBのビット拳パターンを走査するように本質的
に機能するので、スキャナと呼ばれることに留意された
い。
回路21.22および23の出力は、比較器12からの
指数決定制御信号を受けるように結合されているMUX
24に結合されている。前置正規化回路10は、前置正
規化が各対のオペランド入力に対して必要とされるかの
ように機能することを理解されたい。すなわち、回路2
1〜23は入力オペランドについて動作し、そして回路
21〜23の1つからの正しい出力の選択が、正しい出
力を出力する九めMUX24の選択を制御するべく結合
された制御信号によって提供される。さらに、前述のケ
ース■が発生した場合は、前置正規化は必要でないが、
回路21t&は22のいずれかの出力がMUX24に結
合されることになることを理解されたい。しかしながら
、ステージに関する説明で説明されるように、MUX2
4からの出力は無視される。
更に、ステージ1におhては、MUX 11は、EA>
EB倍信号制御の下に、指数AとBの大きい方を精密変
換回路27へ送る。この精密変換回路は、単精度から倍
精度へ、tたは倍精度から単精度への変換に応じて結果
指数のバイアスを調節する6すなわち、本発明の浮動小
数点加算器は倍精度入力での加算を支持するが、単精度
出力を有し、iNはその逆である。IEEE、規格は倍
数と単−数に対して異なるバイアス調節を有する。した
がって、倍精度数が加え合わされた後で、倍−単一加算
演算の九めに単一位置バイアスを含ませる沈めに指数を
調節せねばならない。これと等しい状況が単一一倍加算
演算変換に適用される。更に、演算数人とBの仮数がM
UX14へ結合される。
MUX14は比較器12から(r)信号IA > EB
 17)制御の下にステイツキービット走査器のために
小さい方の演算数を選択する。EA=EBO時は、仮数
を整列させる必要がないから区別は不要である。
MUX 14の出力端子がステイツキービット走査器2
8へ結合される。この走査器28は、ステイツキービッ
トを得るために論理和をとられるビットに対する「ニッ
プル」(ニップルは、4ビット群化を指す九めに用いら
れる。それについてはステイツキービットの決定に関し
て後で説明する)レベルを走査する。
ステージ2においては、精密変換回路27からそれの入
力を受ける減算器30は左桁送シ符号器31から左桁送
り負信号も受ける。左桁送り符号器31は前置正規化論
理回路10から出力された先行0の数を検出し、MUX
24  を介して結合され、必要な左桁送シの量を符号
化する。したがって、前置正規化の場合には、仮数に要
求される左桁送シの量が減算器30において指数値から
差し引かれる。
桁送p器15は実際には各仮数AとBに1つずつの合計
2つの桁送り器で構成される。左桁送シ符号器31から
の左桁送夛信号は両方の仮数を符号器31により決定さ
れる量だけ左へ桁送9する。
両方の仮数AとBのこの左桁送り動作は、減算演算を行
う前に演算数仮数を前置正規化することを目的とするも
のである。右桁送9符号器16からの右桁送シ信号は、
EA〆EBであるならば、小さい方の仮数だけを右桁送
りする。比較器12からの信号EA>EBはどの仮数の
指数が大きいかを決定する。す々わち、EA=EBであ
ると、右桁送りは不要である。左桁送シ符号器によシ決
定される左桁送シだけが両方のシフタへ適用される。
指数の差が1よシ大きいと、((EA−gB)の絶対値
〉1)、左桁送シは要求されず、右桁送シ符号器1Bに
よシ決定された右桁送υだけが小さい方の仮数に適用さ
れる。これは信号KA>DBにより決定される。指数の
差が1であれば、前置正規化のための左桁送りは符号器
31によ9行われ、小さい方の演算数の仮数の単一右桁
送シが1ビツト桁送シによシ行われる。実際には、指数
の差が1の時に1ビツト右桁送シを行うために単一ビッ
ト桁送、j)MUXが用いられる。すなわち、小さい演
算数の仮数が1ビツト位置変位を有するシフタにロード
される。この技術を用いることにより、右ま九は左(し
かし両方ではない少桁送を遭遇する各ケースに対して必
要とされる。
好適な実施例の2つのシフタ15はバレルシフタである
。シフタ15はスワツパ23へ結合される。このスワツ
パは、必要があれば仮数を交換して大きい演算数を演算
数A′として、かつ小さい演算数を演算数色′ として
常に有するようにする。
スワツパ33は比較器13からの制御信号A>BKよシ
制御される。したがって、スワツパ33からの29の出
力は、演算数A’によシ表される被減数として大きい方
の数を常に有する。また、ステイツキービットの走査器
28の出力端子はステイツキービット決定回路35へ結
合される。それからそれは、所定の丸め規格を実現する
ために必要な丸め動作を決定するために丸め論理回路3
Bへ結合される。回路35はニップルレベル(4ビツト
)ステイツキービット情報を受け、実際のステイツ中−
ビットを決定する。
ステージ3においては、減算器30の出力端子が3つの
別々の経路を介してMUX37へ結合される。減算器3
001つの出力が、減少器38を通されてから、MUX
37へ結合される。第2の出力が、増加器39を通され
てから、MUX37へ結合される。第3の出力はMUX
37へ直接結合される。MUX37はそれらの入力のう
ちの1つをそれの出力として選択する。最後の仮数を1
位置だけ右桁送りするならば、増加さ・せられ九指数が
選択される。最後の仮数を左桁送りするならば、減少さ
せられた指数が選択される。最後の仮数に対して桁送り
を行わないとすると、修正されない指数が選択される。
MUX37の出力は結果仮数Rの指数を表す。あふれ状
態とアンダー70−状態を検出するために、MUX37
の出力はあふれ/アンダー70−論理回路40へも結合
される。
スワツパ33の出力は加算器42へ結合される。
加算器420回路は第3図の2加算器技術に等しい。加
算の九めの2つの出力と、減算のための2つの出力を表
す次めに、加算器42からの4つの別々の出力rrB+
t*uが示されている。この2加算器技術は加算teは
減算が行われるのと同じクロックサイクル中、正しく正
規化された仮数Rを供給する。MUX37と43への制
御信号は、第3図を参照して先に述べたように、キャリ
アウド″L!念は和ビットを調べる論理から得られる。
丸め論理36がlsb ビットを各加算器出力端子へ供
給する。更に、第1のキャリインビットが丸め論理回路
36から加算器42の一方へ結合され、第2のキャリイ
ンビットが加算器42の他方へ結合される。そして、そ
れらの桁上げビットは所定の丸め規格に従って必要な丸
めを行う。
第1のクロックサイクル中(ステージ1)に、演算数の
指数が演算されて指数の差を決定し、仮数が比較され、
前置正規化論理が結果仮数Rを正規化する九めに必要な
左桁送りを計算する。前置正規化論理10を用いること
により、結果仮数Rを後正規化する付加ステップが無く
され、それによシ少くとも1つのクロックサイクルを節
約する。
更に、ステイツキービット回路28と35によりステイ
ツキービットを決定するために用いられるビットを選択
する次めに、よシ小さい演算数の仮数が走査される。
第2のクロックサイクル中は仮数に対して石桁送シまた
は左桁送シが行われ、スワツパが大きい演算数の仮数を
被減数として選択する。この交換によυ後正規化の要求
を無くすことができること、および少くとももう1つの
クロックサイクルを節約できるという付加利点も有する
。浮動小数点演算数の仮数は符号の大きさの形で表され
るから、2の補数加算器の後の負結果を結果符号ビット
を変えて正の値へ戻さなければならない。しかし、最後
の結果が正であるようにするためには、後補数プロセス
を無くすことができる。この例においては、スワツパ3
3は、演算数人゛が演算数B′よシ常に大きく、したが
って最後の結果の符号が演算数A′の符号と同じである
。大きい大きさの指数の選択がMtTX 11によυ行
われる。εAがEBに等しいとすると、いずれの指数も
通される。
また、第2のクロックサイクル中に、ステイツキービッ
ト決定回路35において最後のステイツキービットの計
算が行われる。それから、この値を用いて丸め論理回路
36における丸めを決定する。結果仮数Rに対して必要
な丸め動作を予め決定するために、ステイツキービット
と、丸めビットと、lsb について3組の計算が行わ
れる。それら3組の計算は桁送シを必要としない通常の
場合と、加算結果が範囲(2,4)にある場合の右桁送
シと、減算結果が範囲(0,5,1)にある場合とにつ
いてのものである。各種の所定の丸め規格を使用できる
が、好適な実施例の丸め動作については次の節で説明す
る。また、第2のクロックサイクル中には前置正規化に
よる指数に対するどのような修正も減算器30において
行われる。
第3のクロックサイクル中は、必要があれば指数は増加
または減少させられて正しい指数が出力される。また、
第3のクロックサイクル中には、2つの加算器が、丸め
とともに加算/減算演算を行い、正しく桁送りされ/桁
送シされなかつ比出力が選択される。
丸め 本発明の浮動小数点加算器の丸め動作は2段階で行われ
る。段階1においては、ステイツキービット走査器28
によシニツプル(4ビット群化)レベルでステイツキー
ビットが予め計算される。
すなわち、走査器28は小さい仮数のそれらのニップル
を選択する。それらのニップルは論理和をとられてステ
イツキービットを供給する。最後のビットレベル決定回
路と論理和操作は段階2において回路35により行われ
る。段階2においては、最後のステイツキービットと、
丸めビットと、熾下位ビットが3つの可能な状況に対し
て計算される。それらの状態は桁送シなし結果と、左桁
送シ結果と、右桁送シ結果とを基にしている。丸め動作
はステイツキービットと、丸めビットと、予め丸められ
た最下位ビットとに依存する。
本発明の丸め動作を記述するために用いられる頭文字を
定義するために下記の定義を用いる。
定義: R′ S′ L′ F IEEE754丸めビット IEEE754ステイツキービット 予め丸められ次最下位ビット 丸められた最下位ビット 結果の最後の符号(符号フラッグ); 正ならば0、負ならば1 弐R’ (S’+L’ )によυ決定される、最も近い
偶数に丸める九めに、下記が起る。
ケースL’ R’ S’ L 丸め   理     
由10000no  正確な結果 20010no  不正確な結果、丸められた性質30
100no  タイケース;しかし結果は既に偶数であ
ゐ 40111)’esmD上げ 51001no  正確な結果 61011no  不正確な結果、丸められた性質 711007es  タイケース;最も近い偶数に丸め
られた 81110  yes  繰り上げ との場合には、ケース4,7.8は丸め動作を要求する
式(R” + 8’ ) SF’/により決定される、
正の無限大へ丸めるために、下記が起る。
SF  L’  R’  S’  L  丸め動作Q 
  Q  OOOn。
0  0 0 1 1 7es 0  0 1 0 1  yes o   0 1 1 1  yes o   1 0 0 1  n。
0  1 1 0 0  )’ea i   o   yes 0  0   n。
1  0   n。
0  0   n。
0  1   n。
1   1    n。
0  1   n。
1   1   n。
同様に、式(R’ + 8’ ) SF  によシ決定
される、負の無限大へ丸めるために、下記が起る。
SF   L’  R’  S’  L   丸め動作
0   0  0  0  0   n。
0   0  0  1  0    n。
0   0  1  0  0    n。
0   0  1  1  0    n。
0   1  0  0  1    n。
0   1  0  1   1    n。
0   1  1  0  1    n。
0   1  1  1  1    n。
1   0  0  0  0    n。
1   0  0  1  1    )’es1  
 0  1  0  1   yesl    0  
1  1  1   yesl    1  0  0
  1    n。
1   1  0  1  0   yesl    
1  1  0  0   yesl    1  1
  1  0   n。
切り捨ての場合には丸めは求められない。
最後の結果凡の前に丸めを計算するために、符号フラッ
グを最初に決定せねばならない。演算数の指数が異なる
場合には、指数減算段階の直後KSFを決定できる。し
かし、指数が同じで、演算あるようにする。すなわち、
SFの極性は演算数A′の極性と同じである。し次がっ
て、結果仮数Rを実際に得る前に丸め動作を決定できる
。上記真理値表を用いて丸め論理を実現できるから、仮
数Rのjmbを増加するものとすれば、丸め論理から桁
上げを発生できる。丸め論理回路36はこの機能を段階
2において行う。各加算器42へ桁上げビットが結合さ
れ、段階30間に加えられる。
加算演算においては、丸め動作を要求され九とすると、
最後のlsb を発生するために1が1abに加えられ
る。1をlsbへ加え合わせることによ9桁上げが行わ
れることがあり、この桁上げ(bで参照される)は加算
器への桁上げ入力である。
しかし、2つの桁上を生ずることがある減算はもつと困
難である。減算においては、1ab における2の補数
加算(この桁上げをrcJで示す)の九めに第1の桁上
げが発生され、丸め動作によシ第2の桁上げ(これをr
bJで表す)が発生される。これが起ると、1つの選択
は、2つの桁上げを加算器42へ供給する前に、2つの
桁上げbとCを加え合わせる桁上げ節約加算器を使用す
ることである。
用語を更に定義する九めに、本発明の減算丸め動作を例
として下記を定義する。
定義: ml  被減数の1sb 11 減数の1ab sr  減数丸めビット ■  減数ステイツキービット b  丸めによる桁上げ C2の補数による桁上げ したがって、2つの仮数は下記に示す通りである:仮数
A  X、、、XXm10 0 仮数B  X、、、XX5lsr sm先に述べたよう
に、msは笑顔にはビットの数の論理和である。下記の
ビット列はIEEE754丸め規格に対する減算の最後
のり、R,Sを得るための結果を示すものである。
coc。
o00 loO all O e8 es e8 O es ea ea O H eg es O es e8 eS ooO llO all boi。
oot この場合には、両方の桁上げbとCは同時に1をとるこ
とは決してないから、桁上げbとCを加える桁上げ節約
加算器は不要である。丸めが要求されて、Cが1に等し
い時には、R′は常にOであるからbは1になることは
できない。mlslsrms−1000の場合にはR′
=1およびC=1であるが、丸め動作は要求されないか
らbは依然として0である。したがって、減算における
加算器42への桁上げ入力はbとCの&’4埋和機能と
することができる。
桁上げが加算器42への桁上げとして丸め論理36から
発生されるように、この丸め動作は丸め論理36におい
て決定される。本発明の丸め@理を利用することにより
、後丸め動作を求められないように、2つの演算数仮数
が加算器/減算されるのと同時に丸め動作を行うことが
できる。更に、IF、EE754 丸めサポートの九め
に求められるステイツ千−ビットの発生は、丸めビット
の右側の全てのビットの論理和として定義される。本発
明の浮動小数点加算器は、指数の差が検出され之後でス
テイツキービットを予め走査する。指数の差は、スティ
ツキービット走査器28が対応する仮数を走査してステ
イソ中−ビットの値を決定するように、どの仮数演算数
が右桁送りを行わねばならないかを示す。好適な実施例
は、結果の精度に応じてニップルベースの対応する仮数
を走査するために走査器28と35を用いる。
ま九、加算器の段階2において3つの別々の丸め動作か
行われる。第1の加算器、第3図の加算器1は、通常の
加算の九めに用いられ、結果仮数はCI 、2)の範囲
にある。第1の加算器は、範囲が(0,5,1)の時に
左桁送υを行って減算する。通常の加算の場合には、加
算器の通常のlsb位置において丸め動作が行われる。
左桁送シ減算の場合には、通常の最下位ビット位置の1
ビツト右へ丸め動作が行われる。
第2の加算器、第3図の加算器2、は通常の減算のため
に用いられ、結果仮数は(,1,2)の範囲にある。第
2の加算器は、範囲が[2,4)の時に右桁送p加算を
行う。この加算のために、通常の加算結果のlab位置
の左1ビット位置へ丸め動作が行われる。減算のために
、通常の減算結果の通常の最下位ビット位置において丸
め動作が行われる。
段階2においては、最後のステイツキービットと、丸め
ビットと、最下位ビットとは3つの状況に対して計算さ
れる。それらの状況は正常な結果と、左桁送p結果と、
右桁送υ結果とに依存する。
加算演算に対しては、正常な結果計算が加算器1への桁
上げとして結合され、右桁送結累計算が加算器2への桁
上げとして結合される。減算のためには、正常な結果計
算が加算器2への桁上げとして結合され、左桁送り結果
計算が加算器1への桁上げとして結合される。
好適な実施例の浮動小数点加算器は、行われる丸め動作
に従って、加算のためには仮数Rビット<0>を計算し
、減算の九めには仮数Rビットく1:0〉を計算し、か
つ桁上げビットを2つの加算器42へ供給する。Igb
を操作するために加算器42は容易に構成でき、各加算
器への適切な桁上げビットが丸めを行う。すなわち、M
UX43への入力として結合されているビットく0〉と
ビット<1:0>の代りに、2つの加算器への桁上げビ
ットが丸めを行う。ビットく0〉とビット〈1:0〉を
発生する丸め論理36の代シに、加算器42は仮数のl
sb  ビットを操作する。第3図の加算器1に対して
は、それはピッ)<52:0>を操作し、加算器2に対
してはピッ)<53:1>を操作する。丸め論理におい
て加算器42の外部でlsbが計算される本発明の技術
は例示の之めであって、本発明を限定するためのもので
はない。
以上、二重加算器技術を用い、かつ、結果の解を実際に
得る前に結果の解の必要な正規化と必要な丸めを決定す
るために、前置正規化論理回路と丸め論理回路とを含む
浮動小数点加算器について説明した。本発明の浮動小数
点加算器は半導体集積回路で実現でき、倍精度のために
53ビツトの仮数と11ビツトの指数を有する演算数と
、単一精度の之めに24ビツトの仮数と8ビツトの指数
を有する演算数とを処理できることを理解すべきである
。加算器において単一精度計算を行う時は、倍精度の例
について先に行った説明が同様に適用される。Oま次は
1のような値を保持する場所を用いて使用していないビ
ット位置を埋める。更に、本発明の浮動小数点加算器を
IEEE754規格の適用について説明したが、本発明
の要旨を逸脱することなしに他の規格を容易に適用でき
ることを理解すべきである。
【図面の簡単な説明】
第1図は本発明の前置正規化回路を示すブロック図、第
2図は本発明の2加算器技術を示すブロック図、第3図
は好適な実施例の2加算器技術を示し、かつ2つの53
ビツト仮数の処理を示すブロック図、第4図は本発明の
浮動小数点加算器を示すブロック図である。 1.2・・・・加算器、3,11,14.24゜26.
43−−−−MUX、12−−−−比Mi、13・・・
・仮数比較器、15・・・・シ7り、1B・・・・右桁
送夛符号器、30・・・・減算器、31・・・・左桁送
υ符号器、38・・・・増加器、39・・・・減少器。

Claims (3)

    【特許請求の範囲】
  1. (1)和/差を得るために第1のオペランドと第2のオ
    ペランドを加算/減算することにより加算/減算を行う
    浮動小数点加算器において、 前記第1のオペランドの仮数と前記第2のオペランドの
    仮数を受けるために結合され、前記2つの仮数を加算/
    減算し、かつ、前記2つの仮数の加算/減算の和/差で
    ある第1の出力を発生する第1の加算器と、 前記第1のオペランドの仮数と前記第2のオペランドの
    仮数を受けるために結合され、前記2つの仮数を加算/
    減算し、かつ、前記2つの仮数の加算/減算の和/差で
    あつて、前記第1の出力に対して1ビット位置だけ桁送
    りされた第2の出力を発生する第2の加算器と、 前記第1の加算器と前記第2の加算器へ結合され、加算
    を行う時に前記第1の加算器から桁上げ出力を受け、減
    算を行う時に前記第1の加算器の最上位ビット(msb
    )位置内の和ビットのビット値を検出する加算器選択器
    と、 を備え、この加算器選択器は、加算を行う時に、前記桁
    上げ出力が第1の状態であれば前記第1の出力を選択し
    、前記桁上げ出力が第2の状態であれば前記第2の出力
    を選択し、 前記加算器選択器は、減算を行う時に前記和ビットの前
    記ビット値が所定の値を有するならば前記第1の出力を
    選択し、前記和ビットが所定の値を持たないならば前記
    第2の出力を選択し、前記加算/減算を行う時に正規化
    された結果仮数が得られることを特徴とするオペランド
    の仮数を加算/減算する回路。
  2. (2)予め正規化されている第1のオペランドと予め正
    規化されている第2のオペランドとに対して加算と減算
    を行う浮動小数点加算器において、 前記オペランドの仮数を受けるために結合され、より大
    きい大きさのオペランドに属する仮数として、より上位
    のビット位置mと、より下位のビット位置nとにより決
    定される範囲<m:n>を有するビットで構成された第
    1の仮数を選択し、かつ、前記範囲を有するビットで構
    成された第2の仮数を選択する第1の選択器と、 前記第1の仮数と前記第2の仮数とのビット<m−1:
    n>を受けるために結合され、前記加算を行うならば前
    記2つの仮数を加え合わせ、前記減算を行うならば前記
    第1の仮数から前記第2の仮数を引き、範囲<p、q>
    を有する結果を供給し、かつ加算を行うならばビット<
    p、q>より成る第1の出力を供給し、減算を行うなら
    ば第2の出力<P−1、q>を供給する第1の加算器と
    、 前記第1の仮数と前記第2の仮数とのビット<m:n+
    1>を受けるために結合され、前記加算を行うならば前
    記2つの仮数を加え合わせ、前記減算を行うならば前記
    第1の仮数から前記第2の仮数を引き、前記範囲<p、
    q>を有する結果を供給し、かつ、加算を行うならばビ
    ット<p、q>より成る第3の出力を供給し、減算を行
    うならば<p−1、q>より成る第4の出力を供給する
    第2の加算器と、 それらの加算器からのそれら4つの出力を受けるために
    結合され、かつ、前記第1の加算器からの桁上げ出力ビ
    ットと前記第1の加算器からのビット<p>の値を受け
    るために結合され、前記桁上げ出力ビットが第1の状態
    にあつて、加算が行われる時に前記第3の出力を選択し
    、減算を行う時に前記第1の加算器からの前記ビット<
    p>が所定の状態を有する時に前記第2の出力を選択し
    、減算を行う時に前記第1の加算器からの前記ビット<
    p>が前記所定の状態を有しない時に前記第4の出力を
    選択する手段を選択する第2の選択器と、 を備え、前記加算と前記減算を行う時に正規化された結
    果仮数が得られることを特徴とするオペランドの仮数を
    加算し、かつ減算する回路。
  3. (3)予め正規化されている第1のオペランドと予め正
    規化されている第2のオペランドについて加算と減算を
    行い、正規化された結果を得る浮動小数点加算器におい
    て、 前記オペランドの仮数を受けるために結合され、より大
    きい大きさのオペランドに属する仮数として、より上位
    のビット位置mと、より下位のビット位置nとにより決
    定される範囲<m:n>を有するビットで構成された第
    1の仮数を選択し、かつ、前記範囲を有するビットで構
    成された第2の仮数を選択する第1の選択器と、 前記第1の仮数と前記第2の仮数とのビット<m−1:
    n+1>を受けるために結合され、前記加算を行うなら
    ば前記2つの仮数を加え合わせ、前記減算を行うならば
    前記第1の仮数から前記第2の仮数を引き、範囲<p、
    q>を有する結果を供給し、かつ加算を行うならばビッ
    ト<p、q>より成る第1の出力を供給し、減算を行う
    ならば第2の出力<p−1、q>を供給する第1の加算
    器と、 前記第1の仮数と前記第2の仮数とのビット<m:n+
    2>を受けるために結合され、前記加算を行うならば前
    記2つの仮数を加え合わせ、前記減算を行うならば前記
    第1の仮数から前記第2の仮数を引き、前記範囲<p、
    q>を有する結果を供給し、かつ加算を行うならばビッ
    ト<p、q>より成る第3の出力を供給し、減算を行う
    ならば<p−1、q>より成る第4の出力を供給する第
    2の加算器と、 それらの加算器からのそれら4つの出力を受けるために
    結合され、かつ、前記第1の加算器からのビット<p>
    の値を受けるために結合され、前記桁上げ出力ビットが
    第1の状態にあつて、加算が行われる時に前記第3の出
    力を選択し、減算を行う時に前記第1の加算器からの前
    記ビット<p>が所定の状態を有する時に前記第2の出
    力を選択し、減算を行う時に前記第1の加算器からの前
    記ビット<p>が前記所定の状態を有しない時に前記第
    4の出力を選択する手段を選択する第2の選択器と、 を備え、前記加算と前記減算を行う時に正規化された結
    果仮数が得られることを特徴とするオペランドの仮数を
    加算し、かつ減算する回路。
JP2031651A 1989-02-14 1990-02-14 浮動小数点加算器においてオペランドの仮数を加算し、減算する回路 Pending JPH02289006A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/311,296 US5027308A (en) 1989-02-14 1989-02-14 Circuit for adding/subtracting two floating point operands
US311,296 1989-02-14

Publications (1)

Publication Number Publication Date
JPH02289006A true JPH02289006A (ja) 1990-11-29

Family

ID=23206271

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2031651A Pending JPH02289006A (ja) 1989-02-14 1990-02-14 浮動小数点加算器においてオペランドの仮数を加算し、減算する回路

Country Status (3)

Country Link
US (1) US5027308A (ja)
JP (1) JPH02289006A (ja)
GB (1) GB2228117B (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012174269A (ja) * 2011-02-17 2012-09-10 Arm Ltd 浮動小数点加算を実行するための装置および方法
RU2505850C2 (ru) * 2012-03-29 2014-01-27 Борис Михайлович Власов Способы выполнения элементарных вычислительных операций (эво) и устройство для его осуществления

Families Citing this family (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3304971B2 (ja) * 1990-07-23 2002-07-22 沖電気工業株式会社 絶対値演算回路
JP2523962B2 (ja) * 1990-08-20 1996-08-14 松下電器産業株式会社 浮動小数点演算装置
EP0474247B1 (en) * 1990-09-07 1998-12-16 Nec Corporation Shift amount floating-point calculating circuit with a small amount of hardware and rapidly operable
JP2508912B2 (ja) * 1990-10-31 1996-06-19 日本電気株式会社 浮動小数点加算装置
US5809292A (en) * 1990-11-13 1998-09-15 International Business Machines Corporation Floating point for simid array machine
US5150319A (en) * 1991-05-03 1992-09-22 Sun Microsystems, Inc. Circuitry for rounding in a floating point multiplier
US5303174A (en) * 1991-10-07 1994-04-12 Nec Corporation Floating pointing arithmetic operation system
US5251164A (en) * 1992-05-22 1993-10-05 S-Mos Systems, Inc. Low-power area-efficient absolute value arithmetic unit
GB2270400B (en) * 1992-09-08 1996-09-18 Sony Corp Digital audio mixer
GB2274181B (en) * 1993-01-09 1997-04-02 Digital Equipment Int Summation unit
GB2275355B (en) * 1993-02-19 1997-06-18 Motorola Inc Detection of exponent underflow and overflow in a floating point adder
US5392228A (en) * 1993-12-06 1995-02-21 Motorola, Inc. Result normalizer and method of operation
US5487022A (en) * 1994-03-08 1996-01-23 Texas Instruments Incorporated Normalization method for floating point numbers
US5673407A (en) * 1994-03-08 1997-09-30 Texas Instruments Incorporated Data processor having capability to perform both floating point operations and memory access in response to a single instruction
US5568410A (en) * 1994-09-29 1996-10-22 International Business Machines Corporation Method and apparatus for determining the amount of leading zeros or ones in a binary data field
US5550767A (en) * 1994-10-14 1996-08-27 Ibm Corporation Method and apparatus for detecting underflow and overflow
KR960024897A (ko) * 1994-12-31 1996-07-20 김주용 반올림 구조를 개선한 부동 소수점 산술 연산기
US5646875A (en) * 1995-02-27 1997-07-08 International Business Machines Corporation Denormalization system and method of operation
US5668984A (en) * 1995-02-27 1997-09-16 International Business Machines Corporation Variable stage load path and method of operation
US5867722A (en) * 1995-04-25 1999-02-02 United Microelectronics Corporation Sticky bit detector for a floating-point processor
US5635858A (en) * 1995-06-07 1997-06-03 International Business Machines, Corporation Zero-stopping incrementers
US5798958A (en) * 1996-06-05 1998-08-25 Samsung Electronics Co., Ltd. Zero detect for binary sum
US6018757A (en) * 1996-08-08 2000-01-25 Samsung Electronics Company, Ltd. Zero detect for binary difference
US5974432A (en) * 1997-12-05 1999-10-26 Advanced Micro Devices, Inc. On-the-fly one-hot encoding of leading zero count
US7043516B1 (en) 1998-03-13 2006-05-09 Hewlett-Packard Development Company, L.P. Reduction of add-pipe logic by operand offset shift
US6018756A (en) * 1998-03-13 2000-01-25 Digital Equipment Corporation Reduced-latency floating-point pipeline using normalization shifts of both operands
US6205461B1 (en) * 1998-09-18 2001-03-20 Ati International Srl Floating point arithmetic logic unit leading zero count using fast approximate rounding
KR100331846B1 (ko) * 1999-04-02 2002-04-09 박종섭 실수 연산기
US6754688B2 (en) * 2001-02-14 2004-06-22 Intel Corporation Method and apparatus to calculate the difference of two numbers
US7469265B2 (en) * 2003-10-16 2008-12-23 International Business Machines Corporation Methods and apparatus for performing multi-value range checks
US7546328B2 (en) * 2004-08-31 2009-06-09 Wisconsin Alumni Research Foundation Decimal floating-point adder
US7743084B2 (en) * 2004-09-23 2010-06-22 Wisconsin Alumni Research Foundation Processing unit having multioperand decimal addition
AU2006231545B9 (en) 2005-04-05 2011-09-29 Sunfish Studio, Llc Modal interval processor
US8215532B2 (en) 2008-09-23 2012-07-10 Tyco Healthcare Group Lp Tissue stop for surgical instrument
US8628544B2 (en) 2008-09-23 2014-01-14 Covidien Lp Knife bar for surgical instrument
US8708211B2 (en) 2009-02-12 2014-04-29 Covidien Lp Powered surgical instrument with secondary circuit board
US9213523B2 (en) * 2012-06-29 2015-12-15 Intel Corporation Double rounded combined floating-point multiply and add
US10846053B2 (en) * 2014-06-27 2020-11-24 International Business Machines Corporation Underflow/overflow detection prior to normalization
US9996320B2 (en) * 2015-12-23 2018-06-12 Intel Corporation Fused multiply-add (FMA) low functional unit
US9996319B2 (en) * 2015-12-23 2018-06-12 Intel Corporation Floating point (FP) add low instructions functional unit
CN114371827A (zh) * 2020-10-15 2022-04-19 合肥君正科技有限公司 一种高性能浮点加法器的设计方法
GB2607364B (en) 2021-11-18 2023-05-24 Imagination Tech Ltd Floating point adder
WO2025208331A1 (en) * 2024-04-02 2025-10-09 Chee Wah Lim Method and circuit of adding binary strings

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4308589A (en) * 1979-11-08 1981-12-29 Honeywell Information Systems Inc. Apparatus for performing the scientific add instruction
US4338675A (en) * 1980-02-13 1982-07-06 Intel Corporation Numeric data processor
US4484259A (en) * 1980-02-13 1984-11-20 Intel Corporation Fraction bus for use in a numeric data processor
US4639887A (en) * 1984-02-24 1987-01-27 The United States Of America As Represented By The United States Department Of Energy Bifurcated method and apparatus for floating point addition with decreased latency time
US4562553A (en) * 1984-03-19 1985-12-31 Analogic Corporation Floating point arithmetic system and method with rounding anticipation
US4758972A (en) * 1986-06-02 1988-07-19 Raytheon Company Precision rounding in a floating point arithmetic unit
US4922446A (en) * 1988-04-01 1990-05-01 Digital Equipment Corporation Apparatus and method for floating point normalization prediction

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012174269A (ja) * 2011-02-17 2012-09-10 Arm Ltd 浮動小数点加算を実行するための装置および方法
RU2505850C2 (ru) * 2012-03-29 2014-01-27 Борис Михайлович Власов Способы выполнения элементарных вычислительных операций (эво) и устройство для его осуществления

Also Published As

Publication number Publication date
US5027308A (en) 1991-06-25
GB8926432D0 (en) 1990-01-10
GB2228117A (en) 1990-08-15
GB2228117B (en) 1993-01-27

Similar Documents

Publication Publication Date Title
JPH02289006A (ja) 浮動小数点加算器においてオペランドの仮数を加算し、減算する回路
US5010508A (en) Prenormalization for a floating-point adder
US5963461A (en) Multiplication apparatus and methods which generate a shift amount by which the product of the significands is shifted for normalization or denormalization
US5222037A (en) Floating-point processor for performing an arithmetic operation on fixed-point part data with high speed rounding of a result
KR100203468B1 (ko) 부동소수점수를 위한 산술연산장치
US5282156A (en) Leading one anticipator and floating point addition/subtraction apparatus employing same
US4110831A (en) Method and means for tracking digit significance in arithmetic operations executed on decimal computers
JPH05216620A (ja) 浮動小数点を正規化する方法及び回路
JP3436994B2 (ja) シフト装置
KR100627993B1 (ko) 3입력 분할 가산기
US4866655A (en) Arithmetic processor and divider using redundant signed digit
KR920003493B1 (ko) 부동 소숫점 표기를 기초로 하는 연산회로
EP0512686B1 (en) Circuitry for rounding in a floating point multiplier
JPH09146924A (ja) 演算方法、演算装置及びマイクロプロセッサ
US4873660A (en) Arithmetic processor using redundant signed digit arithmetic
US7552165B2 (en) Method and system to implement an improved floating point adder with integrated adding and rounding
JPH0346024A (ja) 浮動小数点演算器
EP1282034A2 (en) Elimination of rounding step in the short path of a floating point adder
Timarchi et al. Improved modulo 2n+ 1 adder design
US6044391A (en) Method of generating the sticky-bit from the input operands
US5944773A (en) Floating-point multiplier circuit for generating the sticky-bit from the input operands
JP3257278B2 (ja) 冗長なシフト数予測とシフト誤り補正を用いた正規化装置
JP2555135B2 (ja) 演算回路
JP2856792B2 (ja) 浮動小数点数演算装置
JP3233432B2 (ja) 乗算器