JPH07281872A - 効率的な浮動小数点オーバーフローおよびアンダーフロー検出システム - Google Patents

効率的な浮動小数点オーバーフローおよびアンダーフロー検出システム

Info

Publication number
JPH07281872A
JPH07281872A JP6318044A JP31804494A JPH07281872A JP H07281872 A JPH07281872 A JP H07281872A JP 6318044 A JP6318044 A JP 6318044A JP 31804494 A JP31804494 A JP 31804494A JP H07281872 A JPH07281872 A JP H07281872A
Authority
JP
Japan
Prior art keywords
exponent
range
exp
value
specified range
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
JP6318044A
Other languages
English (en)
Inventor
Timothy Alan Elliot
ティモシー・アラン・エリオット
Christopher Hans Olson
クリストファー・ハンス・オルソン
Frank J Palermo
フランク・パレルモ
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 JPH07281872A publication Critical patent/JPH07281872A/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/483Computations with numbers represented by a non-linear combination of denominational numbers, e.g. rational numbers, logarithmic number system or floating-point numbers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/499Denomination or exception handling, e.g. rounding or overflow
    • G06F7/49905Exception handling
    • G06F7/4991Overflow or underflow

Landscapes

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

Abstract

(57)【要約】 【目的】 本発明の目的は、浮動小数点指数結果の決定
と同時に、アンダーフロー状態またはオーバーフロー状
態が発生したかどうかを判定する処理システムを提供す
ることである。 【構成】 本発明によれば、浮動小数点指数結果の決定
と同時に、アンダーフロー状態またはオーバーフロー状
態が発生したかどうかを判定する処理システムが、すべ
ての場合に範囲外状態を判定するため中間指数(exp
_int)と指数調節(exp_adjust)とに加
算することのできるラッチされた定数のグループを使用
する。これらラッチされた定数(指数範囲検査値、ex
p_range_chk)のうちの適当な1つを、ex
p_intおよびexp_adjustに加算して、e
xp_result(指数結果)が範囲外であるか否か
に基づいて変化する値を得る。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、パイプライン式処理ユ
ニット内で、浮動小数点演算がオーバーフローまたはア
ンダーフロー(範囲外)状態を生じる時を判定するため
の装置および方法に関する。具体的には、範囲外状態を
判定する動作が、浮動小数点値の計算と並列に実施され
る。
【0002】
【従来の技術】多くのパイプライン式処理システムは、
システム全体を通じて命令の連続的な流れが維持される
ことを保証するための手段として、「ホールド・ライト
バック」動作を使用する。この種のパイプライン式実行
ユニットでの主要な問題点の1つが、パイプラインの最
終段のホールドに関連するタイミング経路である。最終
段(通常はライトバック段)がホールドされたならば、
前のパイプライン段のすべてにそのホールド信号を送り
返す必要がある。このため、「ホールド・ライトバッ
ク」段のタイミングが極端にクリティカルになる。した
がって、「ホールド・ライトバック」式のタイミングを
改善するために、どの「主要な」項がタイミング問題を
引き起こしているのかを判定する必要がある。「ホール
ド・ライトバック」式に影響する「主要な」項は、オー
バーフロー状態とアンダーフロー状態の検出にあること
がわかった。これらの範囲外状態は、浮動小数点演算に
よってもたらされた値の指数結果(exp_resul
t)が、大き過ぎる(オーバーフロー)か小さ過ぎる
(アンダーフロー)ことを示す。一般に、検討しなけれ
ばならない精度事例には、2つの別々の事例がある。単
精度事例は、−126から+127までの指数範囲を有
し、倍精度事例は、−1022から+1023までの範
囲を有する。したがって、検討しなければならないオー
バーフロー状況とアンダーフロー状況は2種類、すなわ
ち、単精度および倍精度のアンダーフローならびに単精
度および倍精度のオーバーフローが存在する。
【0003】本発明を用いると、アンダーフロー状態お
よびオーバーフロー状態の検出に必要な時間を最少にす
ることができる。従来技術のアンダーフローおよびオー
バーフロー検出システムと比較して、わずかな分量の追
加ハードウェアが追加されるが、検出方式の複雑さが減
る。
【0004】図1および図2を参照すると、アンダーフ
ローおよびオーバーフロー検出方式の従来のハードウェ
ア実施態様が示されている。図1には、起こり得る範囲
外結果のそれぞれ、すなわち、単精度アンダーフロー、
倍精度アンダーフロー、単精度オーバーフロー、倍精度
オーバーフローのそれぞれのための範囲検査論理回路が
含まれる。さらに、無限大、非数字(NAN)、0な
ど、特殊な数の場合の特殊デゲート用の入力が設けられ
る。
【0005】当業者であれば、浮動小数点数の標準フォ
ーマットが、1.[nnnnnn…m]×2expであ
り、ここでnは2進数の1または0であり、mはそのシ
ステムが利用するビット数に等しいことを理解するであ
ろう。指数(exp)は、ある2進数に等しい。本発明
の好ましい実施例では、mは、単精度の場合には23ビ
ット、倍精度の場合には52ビットに等しい。exp
は、単精度の場合には8ビット、倍精度の場合のは11
ビットに等しい。8ビットによって256個の値
(28)が与えられることがわかる。上で述べたよう
に、単精度指数値の範囲は、254個の値に対応する−
126から+127までであり、他の2つの値(全ビッ
ト0と全ビット1)は、特殊な場合に使用される。たと
えば、浮動小数点数の指数が全ビット0であり、小数部
分も全ビット0である場合、その数は、論理0である。
指数が全ビット0であり、小数が全ビット0でない場
合、その数は、浮動小数点計算に関するIEEE標準規
格によれば非正規化数である。指数が全ビット1であ
り、小数が全ビット0の時、その数は無限大である。ま
た、指数が全ビット1であり、小数が全ビット0でない
時、その結果は非数字(NAN)である。11ビットに
等しい倍精度指数(211)の場合、2046個の値があ
り、これは−1022から+1023までの倍精度範囲
に対応する。
【0006】倍精度浮動小数点の乗算演算が発生すると
仮定する。たとえば、(1.0×21023)に(1.0×
1023)をかけると、指数が加算されるので、1.0×
2046になる。したがって、倍精度浮動小数点演算の場
合、この乗算は、範囲外の値をもたらす、すなわち、2
046は−1022から+1023までの範囲内にな
い。この場合、処理システムは、「ホールド・ライトバ
ック」信号を発行して、追加の命令がパイプラインに入
らないようにする必要がある。さらに、範囲外の値を訂
正するために、本発明の範囲外の他の処理動作を実施し
なければならない。これらの動作は、IEEE/ANS
I標準規格754-1985, "IEEE Standard forBinary Float
ing Point Arithmetic"で指定されている。
【0007】当業者であれば、浮動小数点数の正規化も
考慮に入れなければならないことを理解するであろう。
すなわち、演算(1.00101×23)−(1.00
100×23)を行うと仮定する。結果の値は、0.0
0001×23になる。この数を正規化するためには、
1.nnnn…m×2expという正しい形式の浮動小数
点を得るために、2進数小数点を5桁右に移動しなけれ
ばならない。これによって、指数は、−5を3に加算す
ることによって、−2に変更される。この例では、指数
値+3が、中間指数(exp_int)であり、指数値
−5が、指数調節数(exp_adjust)である。
【0008】図1をさらに具体的に参照すると、従来の
アンダーフローおよびオーバーフロー範囲検査機構が、
符号1に示されている。レジスタ3は、中間指数値の記
憶に使用され、レジスタ5は、指数調節値の記憶に使用
される。これらの値は、桁上げルックアヘッド加算器
(以下、加算器と呼称する)7によって加算される。結
果の指数は、指数調節値と中間指数値の和であり、加算
器7から出力される。図の+1によって示されるよう
に、加算器7では2の補数加算方式を使用する。この方
法は、当技術分野で周知であり、これによって、加算器
が2進減算を実行できるようになる。たとえば、2進数
0101(10進数の5)を2進数0011(10進数
の3)から減算したいと仮定する。2の補数方式を使用
すると、引く数の2進数の1の値と2進数の0の値とが
交換され(この場合は1010)、その結果に+1が加
算され、1011が得られる。この新しい2の補数(1
011)を、減算される数すなわち0011に加算す
る。この場合、2進数0011(10進数の3)と01
01(10進数の5)の2の補数(1011)を加算す
ると、1110または10進数の−2という結果が得ら
れる。したがって、2の補数方式によって、加算器回路
だけを使用して2進数減算が可能になることがわかっ
た。この方法は、本発明によって、0前後で変化するチ
ェックポイントを得るために、範囲検査用の値を、中間
指数と指数調節値に加算できるようにするのに使用され
る。本発明は、図3に関して下で詳細に説明する。
【0009】その後、加算器7からの結果の値(exp
_result)を範囲外状態に関して検査する。たと
えば、単精度浮動小数点演算では、結果の指数が比較器
9および13に入力される。これらの比較器は、exp
_resultが、たとえば−127から+126まで
などの範囲内にあるかどうかを調べる。同様に、倍精度
浮動小数点演算では、exp_result値を比較器
11および15に入力して、値が−1023から+10
22までの範囲内にあるかどうかを調べる。
【0010】図2は、比較器9、11、13および15
のそれぞれが、指数結果が範囲外であるかどうかを判定
するのに必要とする論理ステップの例を示す図である。
具体的に言うと、オーバーフロー倍精度の比較器15
が、exp_resultが+1023を超えるかどう
かを判定するために、図2に示されたステップを実施す
る。この論理を使用して範囲外状態を判定すると、かな
りの時間がかかることがわかる。図1の従来技術回路を
使用して範囲外状態を判定するには、3ないし4レベル
のゲート遅延(1ゲートあたり約0.3ナノ秒)が必要
である。
【0011】図1に戻って、比較器9、11、13およ
び15は、オーバーフローまたはアンダーフローのどち
らを検査するかに基づいてグループ化される。比較器9
および11は、アンダーフロー状態が存在するかどうか
を判定し、比較器13および15は、オーバーフローを
調べる。比較器9および11の出力は、ORゲート17
に入力される。これらの比較器から出力される信号のど
ちらかが有効である(すなわち、アンダーフローが存在
する)時には、ORゲート17から指数アンダーフロー
(exp_undfl)ANDゲート21へ有効信号が
出力される。同様に、比較器13および15の出力は、
ORゲート19に送られる。やはり、これらの信号のど
ちらかが有効である(オーバーフローが存在する)時
に、ORゲート19から指数オーバーフロー(exp_
ovfl)ANDゲート23に有効信号が出力される。
浮動小数点演算は、単精度または倍精度のいずれかであ
って、両方にはならないことを理解されたい。したがっ
て、アンダーフローの比較器9および11ならびにオー
バーフローの比較器13および15のうちの1つだけか
ら信号が供給される。
【0012】ORゲート17および19からの出力に加
えて、特殊例デゲート信号(たとえば無限大、非数字、
0)が、反転された後にANDゲート21および23に
入力される。通常の状況では、これによってANDゲー
ト21および23に有効信号が入力される。この形で、
有効信号がORゲート17または19のいずれかから出
力される時に、特殊例デゲート信号と共に2つの有効信
号がANDゲート21または23で論理積をとられ、3
ポートのORゲート25に有効信号出力が与えられる。
1つの指数結果は、アンダーフローまたはオーバーフロ
ーのいずれかとなり得るが、両方にはなり得ないことが
わかる。すなわち、exp_resultは、負の方向
に範囲外(単精度の場合−127未満、倍精度の場合−
1023未満)であるか、正の方向に範囲外(単精度の
場合+126超、倍精度の場合+1022超)のいずれ
かになる。したがって、両方の範囲外状態が確実に検出
されるようにするためには、ANDゲート21の出力と
ANDゲート23の出力の論理和をとらなければならな
い。ORゲート25のもう1つの入力は、プロセッサが
浮動小数点ライトバック信号をホールドすることを必要
とする、発生する可能性のある他の状態のためにある。
したがって、図1の従来技術システムでは、ANDゲー
ト21または23のいずれかからの信号が有効な場合
に、有効信号がORゲート25から出力され、これによ
って、浮動小数点exp_resultで範囲外状態が
発生し、ライトバック段がホールドされることが示され
る。
【0013】図2の論理を実施するには、比較器9、1
1、13および15で少なくとも3ないし4のゲート遅
延(1ゲートあたり約0.3ns)が必要であり、指数
結果の計算の後に範囲外状態が判定されるので、かなり
の量の処理オーバーヘッドが必要であることがわかる。
したがって、従来技術システムの比較が必要とする時間
ペナルティをこうむらずに、範囲外状態が発生したかど
うかを判定するシステムが望ましい。
【0014】
【発明が解決しようとする課題】従来技術と異なり、本
発明を用いると、処理システムが、浮動小数点指数結果
の決定と同時に、アンダーフローまたはオーバーフロー
状態が発生したかどうかを判定できるようになる。
【0015】
【課題を解決するための手段】広い意味で、本発明は、
すべての場合の範囲外状態を判定するために中間指数と
指数調節とに加算することのできる、ラッチされた定数
のグループを使用する。これらのラッチされた定数(指
数範囲検査値、exp_range_chk)のうちの
適当な1つを、exp_intおよびexp_adju
stに加算して、指数結果が範囲外であるかどうかに基
づいて変化する値を得る。アンダーフロー単精度、アン
ダーフロー倍精度、オーバーフロー単精度およびオーバ
ーフロー倍精度に対して、異なるexp_range_
chk値が使用される。これら3つの値の和は、exp
_result値に依存する最上位ビット(MSB)を
有する2進数をもたらす。具体的に言うと、このMSB
は、範囲外状態が発生した時に論理1になり、通常の範
囲内の指数結果の場合に論理0になる。
【0016】上記その他の目的、特徴および長所は、添
付図面と共に後続の説明を検討すれば、当業者に明白に
なるであろう。
【0017】
【実施例】図3を参照すると、結果の指数に関する範囲
外状態を検出する本発明の好ましい実施例が、全般的に
符合100によって示されている。図示の中間指数レジ
スタ101は、浮動小数点演算からの中間指数を受け取
り、記憶する。レジスタ103は、指数調節値を受け取
り、記憶し、レジスタ105は、指数範囲検査値を受け
取るのに使用される。好ましい実施例では、4つの場合
(アンダーフローの単精度および倍精度と、オーバーフ
ローの単精度および倍精度)が、レジスタ105への入
力によって対処されていることがわかる。桁上げルック
アヘッド加算器107は、中間指数値と指数調節値を加
算して、浮動小数点値を正規化し、後に処理システムに
よって他の浮動小数点計算に使用される指数結果をもた
らすのに使用される。
【0018】中間指数値、指数調節値および指数範囲検
査値が、3ポートの加算器109(キャリー保存加算器
またはCSAとも称する)によって同時に加算される。
次の段では、結果の2つの値が、桁上げルックアヘッド
加算器である加算器111で加算される。加算器111
の出力は、範囲外状態の場合に論理1、範囲内状態の場
合に論理0になるMSBを有する2進数である範囲検査
値である。すなわち、加算器111から出力される範囲
検査値のMSBは、範囲外状態が存在するかどうかに応
じて、1と0の間でトグルする。
【0019】MSBは、その後、他の理由のために浮動
小数点ライトバックをホールドさせる信号と共に、OR
ゲート113に入力される。このMSBと「他の」値の
論理和をとり、MSBが有効信号(好ましい実施例では
論理1)の場合には、範囲外条件が発生しており、OR
ゲート113からの有効出力に基づいて、ライトバック
段がホールドされる。しかし、MSBが論理0の場合
(発生頻度は低いが、「他の」信号が有効である場合を
除く)、指数結果は範囲内であり、ORゲート113か
らの有効信号がないことに基づいて、ライトバック段が
ホールドされない。
【0020】本発明は、図3からわかるように、範囲外
状態が発生したかどうかを判定するだけではなく、その
範囲外状態がアンダーフローとオーバーフローのどちら
であるかも判定する。この処理システムは、単精度と倍
精度のどちらの浮動小数点演算が行われているかをすで
に知っており、したがって、残された判定は、範囲外状
態がアンダーフローとオーバーフローのどちらであるか
だけである。
【0021】ANDゲート115および117を設け
て、アンダーフロー状態とオーバーフロー状態のどちら
が発生したかを判定する。加算器111からのMSB
が、ANDゲート115および117の両方への入力と
して供給される。さらに、中間指数の符号に対応する値
が、ANDゲート115および117に入力される。す
なわち、exp_intのMSB(以下、exp_in
t(0)と呼称する)は、正の値の場合に論理1、負の
値の場合に論理0になる。アンダーフローを検出するA
NDゲート115へのexp_int(0)は、入力の
前に反転され、オーバーフローを検出するANDゲート
117へは、exp_int(0)が直接入力される。
したがって、MSBが論理0で、指数結果が範囲内であ
ることが示される時、ANDゲート115は、論理0と
反転されたexp_int(0)の論理積をとり、AN
Dゲート117は、論理0とexp_int(0)の論
理積をとる。MSBは論理0であるから、ANDゲート
115および117は、どちらも有効信号を出力しな
い。これは、範囲外状態が存在せず(MSB=0)、し
たがって、アンダーフローもオーバーフローも発生して
いないからである。
【0022】しかし、加算器111からのMSBが論理
1である時には、アンダーフローまたはオーバーフロー
のいずれかの状態が発生している。中間指数が負の場
合、exp_int(0)は論理0になる。したがっ
て、論理0がANDゲート117に入力され、論理1が
ANDゲート115に入力される(論理0が反転され
る)。MSBは、論理1に等しいので、ANDゲート1
15には(1,1)の入力、ANDゲート117には
(1,0)の入力が存在する。ANDゲート115は、
2つの論理1の論理積をとるので、有効信号を出力する
ことがわかる。こうして、図3の回路は、アンダーフロ
ー範囲外状態が発生したものとして判定する。
【0023】中間結果が正の時には、論理1がANDゲ
ート117に入力され、論理0(論理1の反転)がAN
Dゲート115に入力される。この場合、論理(1,
1)がANDゲート117に入力され、論理(0,1)
がANDゲート115に入力される。したがって、AN
Dゲート117が、オーバーフロー範囲外状態が発生し
たことを示す有効信号を出力する。
【0024】本発明は、従来のハードウェア範囲検査論
理機構を、すべての場合に関する「範囲外」検出を得る
ために中間指数結果(exp_int)および指数調節
(exp_adj)に加算することのできる、ラッチさ
れた定数のグループに置き換える。これには、単精度ま
たは倍精度のいずれかのアンダーフローとオーバーフロ
ーの両方ならびに、無限大、0、非数字などの特殊例数
の検出が含まれる。好ましい実施例では、オーバーヘッ
ドを節約するために、この計算が結果の指数の計算と並
列に行われる。
【0025】指数範囲検査のために事前定義された定数
を使用することによって、従来技術システムに見られる
組合せ論理機構の使用を回避し、指数結果の計算と並列
に範囲計算を実行することが可能になる。前に述べたよ
うに、指数結果は、中間指数から指数調節を減算するこ
とによって計算される。すなわち、exp_resul
t=exp_int−exp_adjである。
【0026】図3に関して述べたように、exp_in
t、exp_adjおよびexp_rng_chkを加
算する。exp_adjは、2の補数形式であるから、
これによって、exp_intからexp_adjを減
算したのと同じ効果が得られる。結果の数のMSBは、
最終的な指数(exp_result)が範囲外である
時には論理1、exp_resultが範囲内の時には
論理0と等しくなる。
【0027】本発明は、範囲検査値を指数調節および中
間指数に加算する機構を使用する。この加算は、2の補
数形式であり、これによって、効果的に、exp_ad
justとexp_intの和から範囲検査の値が減算
される。具体的に言うと、オーバーフロー範囲外検査の
場合(単精度範囲外オーバーフローは、+127で発生
する)、本発明は、exp_range_chkとし
て、単に2進数の−127を加算する。前に述べた浮動
小数点計算に関するIEEE標準規格では、浮動小数点
指数のすべてが、バイアス付きフォーマットであると指
定されている。すなわち、中間指数は、実際の指数にバ
イアス(単精度の場合+127、倍精度の場合+102
3)を加えた数である。したがって、単精度オーバーフ
ロー範囲外検査の場合、exp_int、exp_ad
justおよびexp_range_chkの加算の結
果は、指数が+127の範囲外値から異なるのと同じ量
だけ、+127という上限付近で変化する。これは、本
発明にとって非常に重要である。というのは、単精度数
の場合、8ビット2進数のMSBが、+128の値で論
理1になるからである。さらに、単精度オーバーフロー
の場合、範囲外状態は、+128で発生する。したがっ
て、+128未満の結果の指数に関して、加算器111
から出力される数は、0のMSB(範囲内)を有し、+
128以上の指数は、1のMSB(範囲外)を有する数
に対応する。したがって、MSBの値に応じて、範囲外
オーバーフロー状態が発生したかどうかを判定すること
ができる。同様に、倍精度の場合(倍精度範囲外オーバ
ーフローは、+1023で発生する)、2進形式の−1
023というexp_range_chk値を、exp
_intとexp_adjの和に加算して、+1023
のオーバーフロー範囲外値の前後で変化する指数を得
る。11ビット2進数のMSBは、その数が+1024
に等しい時に論理1になる。オーバーフロー倍精度範囲
外状態は、指数結果が+1023を越える時に発生する
ので、結果の11ビット数(図3の加算器111から出
力される)のMSBが、2進数の1である時に、倍精度
オーバーフロー状態を検出できることがわかる。exp
_int、exp_adjおよびexp_range_
chkの和の実際の2進数のMSBは、オーバーフロー
状況の範囲の上限付近で変化することがわかる。
【0028】アンダーフロー検査(単精度範囲外アンダ
ーフローは−126で発生する)の場合、+126から
バイアス値である+127を減じた値が、exp_in
tとexp_adjustの和に加算される。この形
で、アンダーフロー検査の場合、バイアスが減算され、
exp_int、exp_adjustおよびexp_
range_chkの和が、0付近で変化するようにな
る。たとえば、範囲外アンダーフロー単精度について検
査するためには、exp_int(+127のバイアス
を含む)を、exp_adjとexp_range_c
hkに加算する。この場合、バイアス量が打ち消しあ
い、結果は、バイアスのないexp_int、exp_
adjおよびexp_range_chkの和になる。
結果の数が負の場合、2の補数をとる。このため、MS
Bが1の8ビット2進数がもたらされ、アンダーフロー
状態が発生したことが示される。単精度のアンダーフロ
ー範囲外限界は−126であるから、+126を加える
と0になる。したがって、−126未満の値を有する中
間指数は、負の数に対応し、exp_int、exp_
adjおよびexp_range_chkの和は、1に
等しいMSBを有し、範囲外状態が示される。負の数の
場合、0から−126までの範囲内の2進数の2の補数
から、MSBが1に等しい数が得られる。しかし、−1
26を越える値を有する指数の場合、+126−バイア
スを加算する時に、和が0以上になり、その8ビット2
進数は、MSBが論理0に等しい数になる。
【0029】倍精度の場合、範囲の限界が−1022か
ら+1023までであることと、オーバーフロー検査の
ために加算されるexp_range_chk値が−1
023(バイアスなし)である点を除いて、単精度の場
合と全く同じ形で動作する。アンダーフロー検査の場
合、+1022−バイアスという数を、範囲検査に使用
する。exp_int、exp_adjおよびexp_
rng_chkの和から生じる、+1023までのすべ
ての正の数について、実際の11ビット2進数は、範囲
内状態(論理0)と範囲外状態(論理1)に関して所望
のMSBをもたらす。オーバーフロー検査と異なり、負
の和(加算器111から出力された数)については、e
xp_int、exp_adjおよびexp_rang
e_chkの和に対応する数の2の補数を使用しなけれ
ばならない。というのは、原点付近の変化が発生し、負
数は範囲外を示し、「1」に等しいMSBを有する数を
もたらさなければならないからである。
【0030】範囲内状態の「0」と範囲外状態の「1」
の間でMSBがどのようにトグルするかを示す、本発明
のいくつかの実例を、これから説明する。
【0031】説明を単純化するために、以下の例では、
単精度数だけを対象とするが、図4から、本発明は倍精
度数にも同様に適用可能であり、同一の結果をもたらす
ことがわかる。
【0032】A オーバーフロー、範囲外 この例では、図3の中間指数レジスタ101内のexp
_int値が、+140に等しいと仮定する。浮動小数
点計算に関するIEEE標準規格によれば、この数に
は、+127のバイアスも含まれる(単精度)。また、
レジスタ103のexp_adj値は、−10に等しい
(この値は、2進小数点を移動するだけなので、バイア
スはない)と仮定する。したがって、 exp_int + exp_adj = exp_result である。値に置換すると +140 + bias + (-10) = +130 + bias ただし、biasはバイアスである。次に、−127(バイ
アスなし;図3参照)の範囲検査値(exp_rang
e_chk)を加算する。 +130 + bias + (-127) = +3 + bias 符号が正の検査する範囲外限界を有する範囲検査値を選
択して、 exp_intとexp_adjに加算して
いることに留意されたい。したがって、図3では、範囲
検査値について、単精度オーバーフローの検査には−1
27(バイアスなし)を使用し、単精度アンダーフロー
の検査には+126−バイアスを使用し、倍精度オーバ
ーフローには−1023(バイアスなし)を使用し、倍
精度アンダーフローには+1022−バイアスを使用す
る。
【0033】現在の例に戻ると、オーバーフロー状態が
存在するかどうかを判定しており、バイアスは減算され
ていないので、実際の2進数が使用される。すなわち +3 = 0000 0011 +127 = 0111 1111 (バイアスなし) これらの数を加算すると、2進数1000 0010が
得られる。この数のMSBは「1」に等しいことがわか
る。したがって、範囲外状態が示され、これは、この例
のexp_resultが+130に等しいことと矛盾
しない。
【0034】B アンダーフロー、範囲外 この例では、下記を仮定する。 exp_int = -130 + bias および exp_adj = -10 したがって、 exp_result = -130 + bias + (-10) であるから exp_result = -140 + bias である。アンダーフロー単精度のexp_range_
chkは、図3から、+126−バイアスである。した
がって、 exp_result + exp_range_chk = -140 + bias + 126 - b
ias である。この場合、項biasが打ち消しあい、結果は−1
4(−140+126)になる。これは負の数であり、
2の補数形式では、前に説明したように1111001
0と表される。図3のハードウェアによって出力される
数は、上述のIEEE標準規格に従う2の補数形式であ
ることに留意されたい。したがって、2の補数である−
14のMSBは「1」に等しく、この例の判断基準に対
応する範囲外状態が示されている。
【0035】C オーバーフロー、範囲内 この例では、下記を仮定する。 exp_int = +140 + bias および exp_adj = -20 したがって、exp_result= +120 +
biasである。オーバーフロー単精度の場合、exp
_range_chkは−127(バイアスなし)に等
しい。これらの値の和から、下記が得られる。 exp_result + exp_range_chk = +120 + bias - 127 これは次式に等しい。 -7 + bias または -7 + 127(bias = +127なので) やはり、この和は2の補数形式である。まず -7 = 0000 0111 である。この各ビットを反転すると、1111 100
0になる。+1を加算すると、次のようになる。 すなわち、−7(10進数)=1111 1001(2
進数)である。+127(0111 1111)のバイ
アスを加算すると、 となる。2の補数形式の−7+127のMSBは「0」
に等しく、exp_resultが範囲内であることが
示されている。
【0036】D アンダーフロー、範囲内 この例では、下記を仮定する。 exp_int = -100 + bias および exp_adj = -10 したがって、 exp_result = -100 + bias + (-10) または exp_result = -110 + bias である。また、アンダーフロー単精度の場合、 exp_range_chk = +126 - bias である。したがって、和は -110 + bias + 126 - bias に等しい。項biasが打ち消しあうので、和は+16にな
る。これは正の数であり、実際の2進数が使用される。
したがって、 +16 = 0001 0000(2進数) であり、MSBは「0」であるから、この例のパラメー
タに矛盾しない範囲内状態が示されている。
【0037】図4は、さまざまな浮動小数点数の例と、
本発明が範囲外状態を示すMSBを有する2進値を生成
できる方法を示す表である。「加算結果(2進数)」と
記された列の2進数のMSBが、範囲内の「0」と範囲
外の「1」の間でトグルすることがわかる。図4には、
単精度数と倍精度数の両方が含まれる。当業者であれ
ば、前の例で説明した方法で倍精度数を使用することに
よって、「加算結果」数のMSBの同一の「トグル」効
果、すなわち、加算器111から出力される2進数のM
SBの変化が得られることを理解するであろう。
【0038】図4の値に関連して、さらに説明を行う。
図4の表の第1行の値の単精度オーバーフロー値に関し
て、所望の論理1のMSBは、加算器109および11
1からの結果の加算をバイアス付きフォーマットのまま
にすることによって発生する。たとえば、単精度数が、
+140に等しいバイアス付き中間指数と−10として
指定された正規化量(exp_adj)によって仮定さ
れる場合、下記の計算が行われる。 exp_int + exp_adj + exp_rng_chk = biased_result ただし、biased_resultはバイアス付きの
結果を表す。この式を置換すると、 (+140) + (-10) + (-127) = +3 になる。−127のexp_rng_chk値は、単精
度計算のアンダーフロー範囲に対応することがわかる。
具体的に言うと、単精度のアンダーフロー範囲限界が、
アンダーフロー範囲外状態の判定の際に範囲検査値とし
て使用される。2進バイアス付き(8ビット)フォーマ
ットでは、+3を1000 0010として表現するこ
とができる。「1」のMSB値から、範囲外結果(オー
バーフロー単精度)が発生したことが示されることに留
意されたい。しかし、アンダーフロー単精度を判定する
時には、結果の数が所望の結果と正確に反対すなわち、
MSBが「0」になり、本発明は、アンダーフローとオ
ーバーフローの両方のすべての範囲外条件に関して、
「1」がMSBであることを必要とする。たとえば、前
に説明したものと同一の関係を使用して、異なる値を用
いると exp_int + exp_adj + exp_rng_chk = biased_result が (-100) + (-30) + (+126) = (-4) となる。この場合、オーバーフロー範囲検査値(+12
6)が、この範囲外アンダーフロー判定に使用されてい
る。数−4は、2進バイアス付きフォーマットでは01
11 1011として記述され、これは、「0」に等し
いMSBを有するが、「1」が必要である。すべての範
囲外状態のMSBが「1」に等しくなるようにするため
には、アンダーフロー範囲検査値を計算する時に結果か
ら追加のバイアスを取り除いて、MSBとして「1」を
得る必要がある。アンダーフロー単精度について、上の
説明と同じ例を使用すると (-100) +(-30) + (+126 - bias) = (-4) となる。この場合、−4は2進バイアス付きフォーマッ
トでは1111 1100に等しく、望み通りMSBが
「1」になっている。バイアスを減算することによっ
て、結果の数−4が、2の補数形式で表現され、これに
よって、MSBが範囲外状態の場合に「1」に等しくな
ることが保証される。
【0039】まとめとして、本発明の構成に関して以下
の事項を開示する。
【0040】(1)指数を含む数を計算するための手段
と、前記計算と同時に、前記指数が指定された値の範囲
内にあるかどうかを判定するための手段とを含む、処理
システム。 (2)前記判定手段が、前記指定された値の範囲に応じ
て検査値を選択するための手段を含むことを特徴とす
る、上記(1)に記載のシステム。 (3)前記判定手段が、さらに、前記指数が前記指定さ
れた値の範囲内にあるかどうかを示す結果数を得るた
め、前記指数に前記選択された検査値を加算するための
手段を含むことを特徴とする、上記(2)に記載のシス
テム。 (4)前記結果数が、前記指数が前記指定された値の範
囲内にあるかどうかを示す最上位ビットを有する2進数
であることを特徴とする、上記(3)に記載のシステ
ム。 (5)さらに、前記指数が、正方向に前記範囲の外にあ
るのか、負方向に前記範囲の外にあるのかを判定するた
めの手段を含む、上記(4)に記載のシステム。 (6)前記検査値が、前記指数が正方向に前記指定され
た範囲の外にあるかどうかを判定するためのバイアス数
を含むことを特徴とする、上記(5)に記載のシステ
ム。 (7)前記指数が負方向で前記指定された範囲内にある
かどうかを判定するため、前記バイアス数が、前記検査
値から減算されていることを特徴とする、上記(6)に
記載のシステム。 (8)前記計算手段が、前記指数の中間値と調節値とを
加算するための手段を含むことを特徴とする、上記
(7)に記載のシステム。 (9)前記指定された値の範囲が、変更可能であること
を特徴とする、上記(8)に記載のシステム。 (10)前記指数が前記指定された範囲内にあるかどう
かを判定するための前記手段が、前記中間値、前記調節
値および前記検査値を加算するための手段を含むことを
特徴とする、上記(9)に記載のシステム。 (11)指数を含む浮動小数点数を計算するステップ
と、前記計算と同時に、前記指数が指定された値の範囲
内にあるかどうかを判定するステップとを含む、前記浮
動小数点数に対応する前記指数が前記指定された値の範
囲内にあるかどうかを判定する方法。 (12)前記判定ステップが、前記指定された値の範囲
に応じて検査値を選択するステップを含むことを特徴と
する、上記(11)に記載の方法。 (13)前記判定ステップが、さらに、前記指数が前記
指定された値の範囲内にあるかどうかを示す結果数を得
るため、前記指数に前記選択された検査値を加算するス
テップを含むことを特徴とする、上記(12)に記載の
方法。 (14)前記結果数が、前記指数が前記指定された値の
範囲内にあるかどうかを示す最上位ビットを有する2進
数であることを特徴とする、上記(13)に記載の方
法。 (15)さらに、前記指数が、正方向に前記範囲の外に
あるのか、負方向に前記範囲の外にあるのかを判定する
ステップを含む、上記(14)に記載の方法。 (16)前記検査値が、前記指数が正方向に前記指定さ
れた範囲の外にあるかどうかを判定するためのバイアス
数を含むことを特徴とする、上記(15)に記載の方
法。 (17)さらに、前記指数が負方向で前記指定された範
囲内にあるかどうかを判定する時に、前記検査値から前
記バイアス数を減算するステップを含む、上記(16)
に記載の方法。 (18)前記計算ステップが、前記指数の中間値と調節
値とを加算するステップを含むことを特徴とする、上記
(17)に記載の方法。 (19)前記指定された値の範囲が、変更可能であるこ
とを特徴とする、上記(18)に記載の方法。 (20)前記指数が前記指定された範囲内にあるかどう
かを判定する前記ステップが、前記中間値、前記調節値
および前記検査値を加算するステップを含むことを特徴
とする、上記(19)に記載の方法。
【0041】
【発明の効果】したがって、exp_rng_chk値
は、負の中間指数の場合には追加のバイアスを減算され
るが、正の値の場合には減算されない。このため、バイ
アス付きの数は、どのような負の数であっても「1」の
MSB値を有するようになる。このバイアス機構を用い
ると、単精度数と倍精度数のいずれかの中間指数のすべ
ての値が、すべての範囲外状態の場合に「1」に等しい
MSBを有するようになる。
【0042】図4は、さまざまな単精度と倍精度のオー
バーフロー状態とアンダーフロー状態の複数の追加の例
を示す図である。exp_int、exp_adjおよ
びexp_rng_chkの2進加算の結果のMSB
は、結果の指数の範囲外状態に応じて「1」と「0」の
間でトグルすることがわかる。バイアスを減算されたも
のとして指定される値のそれぞれが、2の補数形式であ
り、それ以外のすべてが、たとえば単精度なら+12
7、倍精度なら+1023の、適当なバイアスを加算さ
れている。したがって、下記の定数が適用される。オー
バーフロー単精度には−127、オーバーフロー倍精度
には−1023、アンダーフロー単精度には+126−
バイアス(ただし、バイアス=+127)、アンダーフ
ロー倍精度には+1022−バイアス(ただし、バイア
ス=+1023)。
【0043】特定の好ましい実施例を図示し、説明して
きたが、請求の範囲の主旨から逸脱せずに多くの変更お
よび修正を行えることを理解されたい。
【図面の簡単な説明】
【図1】浮動小数点演算の指数結果についてアンダーフ
ロー状態またはオーバーフロー状態が発生したかどうか
を判定する、従来技術システムを示す論理図である。
【図2】従来技術システムの範囲検査論理機構によって
実施される処理ステップの代表を示す図である。
【図3】本発明のアンダーフローおよびオーバーフロー
範囲検査回路の好ましい実施例の概略図である。
【図4】さまざまな範囲外状態の例と、本発明の検出回
路の結果を示す表である。
【符号の説明】
1 従来のアンダーフローおよびオーバーフロー範囲検
査機構 3 レジスタ 5 レジスタ 7 桁上げルックアヘッド加算器(加算器) 9 比較器 11 比較器 13 比較器 15 比較器 17 ORゲート 19 ORゲート 21 ANDゲート 23 ANDゲート 25 ORゲート 101 中間指数レジスタ 103 レジスタ 105 レジスタ 107 桁上げルックアヘッド加算器 109 加算器 111 加算器 113 ORゲート 115 ANDゲート 117 ANDゲート
───────────────────────────────────────────────────── フロントページの続き (72)発明者 クリストファー・ハンス・オルソン アメリカ合衆国78730 テキサス州オース チン ラーンチ・クリーク・ドライブ 3649 (72)発明者 フランク・パレルモ アメリカ合衆国07875 ニュージャージー 州オールド・タパン アディソン・テラス 36

Claims (20)

    【特許請求の範囲】
  1. 【請求項1】指数を含む数を計算するための手段と、 前記計算と同時に、前記指数が指定された値の範囲内に
    あるかどうかを判定するための手段とを含む、処理シス
    テム。
  2. 【請求項2】前記判定手段が、前記指定された値の範囲
    に応じて検査値を選択するための手段を含むことを特徴
    とする、請求項1に記載のシステム。
  3. 【請求項3】前記判定手段が、さらに、前記指数が前記
    指定された値の範囲内にあるかどうかを示す結果数を得
    るため、前記指数に前記選択された検査値を加算するた
    めの手段を含むことを特徴とする、請求項2に記載のシ
    ステム。
  4. 【請求項4】前記結果数が、前記指数が前記指定された
    値の範囲内にあるかどうかを示す最上位ビットを有する
    2進数であることを特徴とする、請求項3に記載のシス
    テム。
  5. 【請求項5】さらに、前記指数が、正方向に前記範囲の
    外にあるのか、負方向に前記範囲の外にあるのかを判定
    するための手段を含む、請求項4に記載のシステム。
  6. 【請求項6】前記検査値が、前記指数が正方向に前記指
    定された範囲の外にあるかどうかを判定するためのバイ
    アス数を含むことを特徴とする、請求項5に記載のシス
    テム。
  7. 【請求項7】前記指数が負方向で前記指定された範囲内
    にあるかどうかを判定するため、前記バイアス数が、前
    記検査値から減算されていることを特徴とする、請求項
    6に記載のシステム。
  8. 【請求項8】前記計算手段が、前記指数の中間値と調節
    値とを加算するための手段を含むことを特徴とする、請
    求項7に記載のシステム。
  9. 【請求項9】前記指定された値の範囲が、変更可能であ
    ることを特徴とする、請求項8に記載のシステム。
  10. 【請求項10】前記指数が前記指定された範囲内にある
    かどうかを判定するための前記手段が、前記中間値、前
    記調節値および前記検査値を加算するための手段を含む
    ことを特徴とする、請求項9に記載のシステム。
  11. 【請求項11】指数を含む浮動小数点数を計算するステ
    ップと、 前記計算と同時に、前記指数が指定された値の範囲内に
    あるかどうかを判定するステップとを含む、前記浮動小
    数点数に対応する前記指数が前記指定された値の範囲内
    にあるかどうかを判定する方法。
  12. 【請求項12】前記判定ステップが、前記指定された値
    の範囲に応じて検査値を選択するステップを含むことを
    特徴とする、請求項11に記載の方法。
  13. 【請求項13】前記判定ステップが、さらに、前記指数
    が前記指定された値の範囲内にあるかどうかを示す結果
    数を得るため、前記指数に前記選択された検査値を加算
    するステップを含むことを特徴とする、請求項12に記
    載の方法。
  14. 【請求項14】前記結果数が、前記指数が前記指定され
    た値の範囲内にあるかどうかを示す最上位ビットを有す
    る2進数であることを特徴とする、請求項13に記載の
    方法。
  15. 【請求項15】さらに、前記指数が、正方向に前記範囲
    の外にあるのか、負方向に前記範囲の外にあるのかを判
    定するステップを含む、請求項14に記載の方法。
  16. 【請求項16】前記検査値が、前記指数が正方向に前記
    指定された範囲の外にあるかどうかを判定するためのバ
    イアス数を含むことを特徴とする、請求項15に記載の
    方法。
  17. 【請求項17】さらに、前記指数が負方向で前記指定さ
    れた範囲内にあるかどうかを判定する時に、前記検査値
    から前記バイアス数を減算するステップを含む、請求項
    16に記載の方法。
  18. 【請求項18】前記計算ステップが、前記指数の中間値
    と調節値とを加算するステップを含むことを特徴とす
    る、請求項17に記載の方法。
  19. 【請求項19】前記指定された値の範囲が、変更可能で
    あることを特徴とする、請求項18に記載の方法。
  20. 【請求項20】前記指数が前記指定された範囲内にある
    かどうかを判定する前記ステップが、前記中間値、前記
    調節値および前記検査値を加算するステップを含むこと
    を特徴とする、請求項19に記載の方法。
JP6318044A 1994-04-15 1994-12-21 効率的な浮動小数点オーバーフローおよびアンダーフロー検出システム Pending JPH07281872A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/228,480 US5553015A (en) 1994-04-15 1994-04-15 Efficient floating point overflow and underflow detection system
US228480 1994-04-15

Publications (1)

Publication Number Publication Date
JPH07281872A true JPH07281872A (ja) 1995-10-27

Family

ID=22857347

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6318044A Pending JPH07281872A (ja) 1994-04-15 1994-12-21 効率的な浮動小数点オーバーフローおよびアンダーフロー検出システム

Country Status (5)

Country Link
US (1) US5553015A (ja)
EP (1) EP0677806A1 (ja)
JP (1) JPH07281872A (ja)
KR (1) KR950029922A (ja)
CA (1) CA2142796A1 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009140491A (ja) * 2007-12-07 2009-06-25 Nvidia Corp 融合型積和演算機能ユニット
US8037119B1 (en) 2006-02-21 2011-10-11 Nvidia Corporation Multipurpose functional unit with single-precision and double-precision operations
US8051123B1 (en) 2006-12-15 2011-11-01 Nvidia Corporation Multipurpose functional unit with double-precision and filtering operations
US8190669B1 (en) 2004-10-20 2012-05-29 Nvidia Corporation Multipurpose arithmetic functional unit

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5884062A (en) * 1996-08-30 1999-03-16 Texas Instruments Incorporated Microprocessor with pipeline status integrity logic for handling multiple stage writeback exceptions
US6112220A (en) * 1998-02-10 2000-08-29 Lucent Technologies, Inc. Programmable overflow protection in digital processing
US6243731B1 (en) * 1998-03-20 2001-06-05 Texas Instruments Incorporated Apparatus and method for extending register dynamic range
US6219685B1 (en) * 1998-09-04 2001-04-17 Intel Corporation Method to detect IEEE overflow and underflow conditions
US7242414B1 (en) 1999-07-30 2007-07-10 Mips Technologies, Inc. Processor having a compare extension of an instruction set architecture
US6732259B1 (en) 1999-07-30 2004-05-04 Mips Technologies, Inc. Processor having a conditional branch extension of an instruction set architecture
US6912559B1 (en) 1999-07-30 2005-06-28 Mips Technologies, Inc. System and method for improving the accuracy of reciprocal square root operations performed by a floating-point unit
US6631392B1 (en) 1999-07-30 2003-10-07 Mips Technologies, Inc. Method and apparatus for predicting floating-point exceptions
US6697832B1 (en) 1999-07-30 2004-02-24 Mips Technologies, Inc. Floating-point processor with improved intermediate result handling
US7346643B1 (en) 1999-07-30 2008-03-18 Mips Technologies, Inc. Processor with improved accuracy for multiply-add operations
US6714197B1 (en) 1999-07-30 2004-03-30 Mips Technologies, Inc. Processor having an arithmetic extension of an instruction set architecture
US20040098439A1 (en) * 2000-02-22 2004-05-20 Bass Stephen L. Apparatus and method for sharing overflow/underflow compare hardware in a floating-point multiply-accumulate (FMAC) or floating-point adder (FADD) unit
EP1785862A3 (en) * 2000-02-29 2007-08-15 Fujitsu Limited Method and apparatus for pipeline processing
US6996596B1 (en) * 2000-05-23 2006-02-07 Mips Technologies, Inc. Floating-point processor with operating mode having improved accuracy and high performance
US6963894B2 (en) * 2002-04-08 2005-11-08 Intel Corporation Methods and apparatus for predicting an underflow condition associated with a floating-point multiply-add operation
US7640286B2 (en) * 2004-11-30 2009-12-29 Arm Limited Data processing apparatus and method for performing floating point multiplication
US8015231B2 (en) * 2004-11-30 2011-09-06 Arm Limited Data processing apparatus and method for performing floating point multiplication
US7668896B2 (en) * 2004-11-30 2010-02-23 Arm Limited Data processing apparatus and method for performing floating point multiplication
JP2009169767A (ja) * 2008-01-17 2009-07-30 Toshiba Corp パイプライン型プロセッサ
US9128759B2 (en) * 2012-11-27 2015-09-08 International Business Machines Corporation Decimal multi-precision overflow and tininess detection
US10564931B1 (en) * 2018-04-05 2020-02-18 Apple Inc. Floating-point arithmetic operation range exception override circuit
GB2580130B (en) * 2018-12-21 2021-02-24 Graphcore Ltd Overflow condition
CN109491640B (zh) * 2019-01-22 2023-08-01 上海艾为电子技术股份有限公司 一种温度检测装置及温度检测方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01232424A (ja) * 1988-03-11 1989-09-18 Fujitsu Ltd 演算回路
JPH02224120A (ja) * 1989-02-27 1990-09-06 Fujitsu Ltd 浮動小数点演算器
JPH0370029A (ja) * 1989-08-09 1991-03-26 Ricoh Co Ltd 浮動小数点演算装置
JPH0410127A (ja) * 1990-04-27 1992-01-14 Nec Corp マイクロプロセツサ
JPH04130537A (ja) * 1990-09-20 1992-05-01 Matsushita Electric Ind Co Ltd データ処理装置

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5776635A (en) * 1980-10-31 1982-05-13 Hitachi Ltd Floating multiplying circuit
US4442498A (en) * 1981-04-23 1984-04-10 Josh Rosen Arithmetic unit for use in data processing systems
US4429370A (en) * 1981-04-23 1984-01-31 Data General Corporation Arithmetic unit for use in a data processing system for computing exponent results and detecting overflow and underflow conditions thereof
US4528640A (en) * 1982-07-13 1985-07-09 Sperry Corporation Method and a means for checking normalizing operations in a computer device
JPS5979350A (ja) * 1982-10-29 1984-05-08 Toshiba Corp 浮動小数点演算装置
JPS59117637A (ja) * 1982-12-24 1984-07-07 Toshiba Corp 浮動小数点乗算装置
JPH0644225B2 (ja) * 1986-03-27 1994-06-08 日本電気株式会社 浮動小数点丸め正規化回路
US4845659A (en) * 1986-08-15 1989-07-04 International Business Machines Corporation Accelerated validity response permitting early issue of instructions dependent upon outcome of floating point operations
JPH0283728A (ja) * 1988-09-21 1990-03-23 Hitachi Ltd 浮動小数点乗算装置
JP3076046B2 (ja) * 1989-01-31 2000-08-14 日本電気株式会社 例外検出回路
US5038314A (en) * 1989-11-17 1991-08-06 Digital Equipment Corporation Method and apparatus for correction of underflow and overflow
US5117384A (en) * 1990-01-24 1992-05-26 International Business Machines Corporation Method and apparatus for exponent adder
US5222240A (en) * 1990-02-14 1993-06-22 Intel Corporation Method and apparatus for delaying writing back the results of instructions to a processor
US5267186A (en) * 1990-04-02 1993-11-30 Advanced Micro Devices, Inc. Normalizing pipelined floating point processing unit
EP0973089B1 (en) * 1990-08-24 2002-07-17 Matsushita Electric Industrial Co., Ltd. Method and apparatus for computing floating point data
US5164914A (en) * 1991-01-03 1992-11-17 Hewlett-Packard Company Fast overflow and underflow limiting circuit for signed adder
JPH04283831A (ja) * 1991-03-13 1992-10-08 Fujitsu Ltd 除算器
US5272660A (en) * 1992-06-01 1993-12-21 Motorola, Inc. Method and apparatus for performing integer and floating point division using a single SRT divider in a data processor
US5257216A (en) * 1992-06-10 1993-10-26 Intel Corporation Floating point safe instruction recognition apparatus

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01232424A (ja) * 1988-03-11 1989-09-18 Fujitsu Ltd 演算回路
JPH02224120A (ja) * 1989-02-27 1990-09-06 Fujitsu Ltd 浮動小数点演算器
JPH0370029A (ja) * 1989-08-09 1991-03-26 Ricoh Co Ltd 浮動小数点演算装置
JPH0410127A (ja) * 1990-04-27 1992-01-14 Nec Corp マイクロプロセツサ
JPH04130537A (ja) * 1990-09-20 1992-05-01 Matsushita Electric Ind Co Ltd データ処理装置

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8190669B1 (en) 2004-10-20 2012-05-29 Nvidia Corporation Multipurpose arithmetic functional unit
US8037119B1 (en) 2006-02-21 2011-10-11 Nvidia Corporation Multipurpose functional unit with single-precision and double-precision operations
US8051123B1 (en) 2006-12-15 2011-11-01 Nvidia Corporation Multipurpose functional unit with double-precision and filtering operations
JP2009140491A (ja) * 2007-12-07 2009-06-25 Nvidia Corp 融合型積和演算機能ユニット
US8106914B2 (en) 2007-12-07 2012-01-31 Nvidia Corporation Fused multiply-add functional unit
JP2012084142A (ja) * 2007-12-07 2012-04-26 Nvidia Corp 融合型積和演算機能ユニット

Also Published As

Publication number Publication date
EP0677806A1 (en) 1995-10-18
CA2142796A1 (en) 1995-10-06
KR950029922A (ko) 1995-11-24
US5553015A (en) 1996-09-03

Similar Documents

Publication Publication Date Title
JPH07281872A (ja) 効率的な浮動小数点オーバーフローおよびアンダーフロー検出システム
US5197023A (en) Hardware arrangement for floating-point addition and subtraction
US5993051A (en) Combined leading one and leading zero anticipator
US5027308A (en) Circuit for adding/subtracting two floating point operands
US4999803A (en) Floating point arithmetic system and method
US4922446A (en) Apparatus and method for floating point normalization prediction
US5010508A (en) Prenormalization for a floating-point adder
US5602769A (en) Method and apparatus for partially supporting subnormal operands in floating point multiplication
KR19980070000A (ko) 독립적인 승산 및 가산 명령어를 이용하여 고정밀도 승산-가산 연산을 수행하기 위한 방법 및 장치
JP3178746B2 (ja) 浮動小数点数のためのフォーマット変換装置
JPH02232723A (ja) ディジタルコンピュータ用パイプライン式浮動小数点加減算器
US20070112902A1 (en) Reciprocal estimate computation methods and apparatus
US5943249A (en) Method and apparatus to perform pipelined denormalization of floating-point results
US7437400B2 (en) Data processing apparatus and method for performing floating point addition
US7290023B2 (en) High performance implementation of exponent adjustment in a floating point design
US5615113A (en) Early signaling of no-overflow for nonrestoring twos complement division
US11366638B1 (en) Floating point multiply-add, accumulate unit with combined alignment circuits
US11429349B1 (en) Floating point multiply-add, accumulate unit with carry-save accumulator
US5408427A (en) Detection of exponent underflow and overflow in a floating point adder
US6615228B1 (en) Selection based rounding system and method for floating point operations
US5432727A (en) Apparatus for computing a sticky bit for a floating point arithmetic unit
US7386580B2 (en) Data processing apparatus and method for computing an absolute difference between first and second data elements
JP3257278B2 (ja) 冗長なシフト数予測とシフト誤り補正を用いた正規化装置
US11983509B2 (en) Floating-point accumulator
US5689721A (en) Detecting overflow conditions for negative quotients in nonrestoring two's complement division