JP3313560B2 - 浮動小数点演算処理装置 - Google Patents

浮動小数点演算処理装置

Info

Publication number
JP3313560B2
JP3313560B2 JP1576096A JP1576096A JP3313560B2 JP 3313560 B2 JP3313560 B2 JP 3313560B2 JP 1576096 A JP1576096 A JP 1576096A JP 1576096 A JP1576096 A JP 1576096A JP 3313560 B2 JP3313560 B2 JP 3313560B2
Authority
JP
Japan
Prior art keywords
signal
result
value
overflow
normalized
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 - Fee Related
Application number
JP1576096A
Other languages
English (en)
Other versions
JPH09212337A (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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP1576096A priority Critical patent/JP3313560B2/ja
Priority to US08/789,430 priority patent/US5931895A/en
Publication of JPH09212337A publication Critical patent/JPH09212337A/ja
Application granted granted Critical
Publication of JP3313560B2 publication Critical patent/JP3313560B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/01Methods or arrangements for data conversion without changing the order or content of the data handled for shifting, e.g. justifying, scaling, normalising
    • G06F5/012Methods or arrangements for data conversion without changing the order or content of the data handled for shifting, e.g. justifying, scaling, normalising in floating-point computations
    • 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

Landscapes

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

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、浮動小数点演算機
能を内蔵するマイクロプロセッサや浮動小数点演算チッ
プ等のLSIなどに利用される浮動小数点演算処理装置
において、特に、演算結果が非常に小さい数となり正規
化数としての表現が不可能となるアンダフロー例外が発
生した場合に、非正規化数を演算結果として生成し、ま
た、演算結果が非常に大きい数となり正規化数としての
表現が不可能となるオーバフロー例外が発生した場合
に、予め定められた特定の値を演算結果として生成する
処理方式に関する。
【0002】
【従来の技術】浮動小数点演算処理においては、予めア
ンダフロー例外とオーバフロー例外が発生しないことを
確認した上で演算を行わない限り、これらの例外発生を
避けることはできない。これらの例外を処理するには、
命令処理に割込みを発生させて、予め用意されているソ
フトウエアプログラムにより計算を行う方法と、割込み
は発生させずに、ハードウエアで計算を行う方法が考え
られるが、高い演算性能を得るためにはハードウエアに
よる方法を用いるのが望ましい。実際、浮動小数点演算
機能を有するマイクロプロセッサの殆どが、これらの例
外処理に対してハードウエアによるサポートを行ってい
る。
【0003】浮動小数点数を計算機上で処理する場合、
その表現形式としては、浮動小数点演算の標準規格であ
るIEEE−754で定められた標準形式が一般に用い
られる。符号s、指数部e、小数部fからなるデータで
表現された浮動小数点数は、以下の式で表される数値を
とる。
【0004】
【数1】
【0005】ここで、bは指数バイアスと呼ばれ、指数
部eの最大値の約半分の値である。また、小数部fには
整数の1が付加され、整数部と小数部を合わせて仮数部
と呼ぶ。このようにして表された数値を正規化数と呼ん
でいる。なお、本明細書においては、仮数部以外の値
は、特に述べない限りすべて10進法で表すものとす
る。
【0006】初めに、アンダフロー例外発生時の処理に
ついて説明する。ここでは、単精度フォーマットの例を
取り扱う。IEEE−754標準形式の単精度フォーマ
ットは、1ビットの符号、8ビットの指数部、23ビッ
トの小数部から成る32ビットのデータである。また、
指数バイアス値は127である。アンダフロー例外の例
として、式(2)、(3)で表される2つの単精度データの
減算を考える。
【0007】
【数2】
【0008】まず、減算を行う前に2つの数値の指数部
を大きい方に一致させる。このとき指数部の小さい方の
仮数部を、大きい方の指数部の差分だけ下位方向にシフ
トする。この処理を桁合わせと呼び、ここでは、式(3)
を式(4)へ変換する。
【0009】
【数3】
【0010】次に、式(2)の仮数部から式(4)の仮数部
を減算する。その結果を式(5)に示す。
【0011】
【数4】
【0012】式(5)の仮数部は、整数部が0であり、正
規化数とはならない。これを正規化数にするために、ま
ず、仮数部の最上位1(最上位桁から見て最初に1とな
る桁)を見つけ、この桁が整数部にくるように仮数部全
体をシフトする。式(5)の場合には、シフト数は12と
なる。次に、指数部から仮数部をシフトした数を減ず
る。これらの処理を正規化と呼び、ここでは式(5)を式
(6)に変換する。
【0013】
【数5】
【0014】ここで、式(6)の指数部は“−1”となる
が、ゼロ以外の浮動小数点数は“1”以上の指数部を持
つ必要があるため、指数部が“1”となるように指数部
に+2を加算し、仮数部全体を下位方向に2ビットシフ
トする。その結果を式(7)に示す。
【0015】
【数6】
【0016】最後に、式(7)の仮数部がフォーマットで
定められた精度(1ビットの整数部と23ビットの小数
部)に収まるように丸め処理を行う。その結果を式(8)
に示す。
【0017】
【数7】
【0018】式(8)の値は、指数部が最小の値“1”で
かつ仮数部の整数部が“0”となっている。このような
値を非正規化数と呼ぶ。非正規化数が生成された場合に
は、アンダフロー例外を発生させ、このような微小な値
が生成されたことをステータス情報として記録し、非正
規化数を演算結果とするのが一般的である。また、ここ
では浮動小数点減算を例にとったが、アンダフロー例外
は乗算や積和演算等、他の演算においても発生する。
【0019】次に、オーバフロー例外発生時の処理につ
いて説明する。ここでは、式(9)、(10)で表される2
つの単精度データの加算を考える。
【0020】
【数8】
【0021】まず、桁合わせを行い、指数部の小さい方
の式(10)を式(11)に変換する。
【0022】
【数9】
【0023】次に、式(9)の仮数部と式(11)の仮数部
を加算する。その結果を式(12)に示す。
【0024】
【数10】
【0025】式(12)の仮数部は、整数部が“10”で
あり、正規化数とはならない。これを正規化数にするた
めに、仮数部全体を下位方向に1ビットシフトし、指数
部に+1を加算する。その結果を式(13)に示す。
【0026】
【数11】
【0027】ここで、式(13)の指数部は正規化数の最
大の値254を超えているため、オーバフロー例外とな
る。この例は、丸め処理を行う前にオーバフローが確定
するが、丸め処理後でないとオーバフローが決定しない
場合もある。例えば、丸め前の値を式(14)とすると、
【0028】
【数12】
【0029】最近値への丸め処理を行う場合には、丸め
による桁上がりが生じ、
【0030】
【数13】
【0031】となり、オーバフロー例外が生じる。一
方、ゼロ方向への丸め処理を行うと、丸めによる桁上が
りは発生せず、
【0032】
【数14】
【0033】となり、オーバフロー例外は生じない。
【0034】オーバフロー例外が発生した場合には、オ
ーバフローが生じたことをステータス情報として記録
し、次の式(17)に示す正規化数の最大値または式(1
8)に示す無限大のコードを演算結果とするのが一般的
である。
【0035】
【数15】
【0036】ここで、式(18)の指数部の値255は、
バイアス補正した値が255という意味ではなく、無限
大を表現するために割り当てられているコードを意味す
る。また、ここでは浮動小数点加算を例にとったが、オ
ーバフロー例外は乗算や積和演算等、他の演算において
も発生する。
【0037】以上が浮動小数点演算におけるアンダフロ
ー例外処理およびオーバフロー例外処理の一例である。
従来の浮動小数点演算処理装置では、正規化処理と丸め
処理を行った後に、これらの例外条件を検出し、条件が
成立する場合にはアンダフローまたはオーバフローした
結果と演算結果とすべき値を計算するために別の処理ス
テップを必要とするものが殆どであった。
【0038】従来のこの種の浮動小数点演算処理装置の
例を図9に示す。これは、2つの浮動小数点オペランド
を入力して、オペレーション、丸めモードの指示に従い
加減算処理及び正規化処理と丸め処理を行う浮動小数点
加減算器の例である。
【0039】図9において、演算制御回路100は、加
算を行うか減算を行うかを指示するオペレーション信号
と、2つのオペランドを入力して、演算結果の符号10
1、仮数部を加算するか減算するかを示す信号102、
オペランドスワップ回路120で2つのオペランドの仮
数部をそのまま出力するか、入れ替えて出力するかを示
す信号103を発生する。信号102は、同符号のオペ
ランドを加算オペレーションする場合と、異符号のオペ
ランドを減算オペレーションする場合には仮数部の加算
を指示し、同符号のオペランドを減算オペレーションす
る場合と、異符号のオペランドを加算オペレーションす
る場合には仮数部の減算を指示する。信号103は、オ
ペランド1の絶対値がオペランド2の絶対値より大きい
か等しい場合には仮数部をそのまま出力するように指示
し、小さい場合には仮数部を入れ替えて出力するように
指示する。
【0040】指数部計算回路110は、2つのオペラン
ドの指数部を入力し、大きい方の値を共通指数信号11
1、指数部の差の絶対値を指数差信号112として出力
する。
【0041】オペランドスワップ回路120は、2つの
オペランドの仮数部を入力し、信号103が仮数部をそ
のまま出力するように指示する場合には、オペランド1
の仮数部を信号121に出力し、オペランド2の仮数部
を信号122に出力する。信号103が仮数部を入れ替
えて出力するように指示する場合には、オペランド1の
仮数部を信号122に出力し、オペランド2の仮数部を
信号121に出力する。桁合わせシフト回路130は、
オペランドスワップ回路120の出力する信号122を
信号112の示す数だけ下位方向にシフトする。この処
理により、絶対値が小さい方のオペランドを大きい方の
指数部の値に一致させた後の仮数部信号131が生成さ
れる。加減算回路140は、桁合わせ処理後の2つの仮
数部信号121、131を入力し、信号102が加算を
指示する場合には、信号121と信号131を加算し、
信号102が減算を意味する場合には、信号121から
信号131を減算し、仮数部の加減算結果信号141を
生成する。
【0042】シフト数計算回路230は、加減算結果信
号141を入力し、該信号141の最上位桁から見て最
初に“1”となる桁を整数部1桁目にするために必要な
シフト数を計算する。シフト数は、上位方向を正とする
と、−1、0、…、pのいずれかの値となる。ここで、
pは浮動小数点フォーマットの精度(仮数部の桁数)で
ある。
【0043】指数部補正回路170は、共通指数信号1
11と正規化シフト数信号231を入力し、信号111
から信号231を減算した結果信号171と、信号11
1から信号231を減算した値に1を加算した結果信号
172を計算する。ここで信号171は、丸め回路20
0において丸め処理された結果の仮数部が“1.x…
x”(ここで、xは“0”または“1”のいずれかの値
を意味する)となる場合に有効となり、信号172は、
仮数部が“10、0…0”となる場合に有効となる。正
規化シフト回路180は、加減算結果信号141を正規
化シフト数信号231の指示する値だけ上位方向にシフ
トする。信号231が“−1”を示す場合には、信号1
41を下位方向に1ビットシフトすることになる。この
ようにして、正規化処理された仮数部信号181が生成
される。
【0044】指数部選択回路190は、丸め回路200
が出力する信号201に従い、信号171と信号172
のうち一方を選択する。丸め回路200は、正規化シフ
ト処理された仮数部信号181、演算結果の符号10
1、丸めモード信号を入力して、信号181をフォーマ
ットの精度に収めるための演算処理を行い、仮数部結果
信号202を出力する。もし、この処理によって仮数部
の値が“10.0…0”となった場合には、仮数部がオ
ーバフローしたことを示す信号201が出力される。指
数部選択回路190は、信号201が出力されなければ
信号171を選択し、信号201が出力される場合には
信号172を選択し、指数部結果信号191を出力する
ことになる。
【0045】最後に、アンダフロー/オーバフロー処理
回路240は、正規化処理および丸め処理を施された演
算結果の符号信号101、指数部信号191、仮数部信
号202を入力し、アンダフローおよびオーバフローの
条件検出と、条件が検出された場合には最終結果として
出力すべき値の生成を行う。指数部信号191が“0”
または負の数となる場合には、アンダフローの条件が成
立する。この場合、指数部信号191を指数部の最小値
“1”とするために加算すべき値を計算し、この値を用
いて仮数部信号202を下位方向にシフトする。一方、
指数部の値は演算結果が非正規化数であることを示すた
めに値“04”に置き換えられる。指数部信号191が
正規化数として表現可能な最大値を超える場合には、オ
ーバフローの条件が成立する。この場合、演算結果の符
号と丸めモード信号の組合せに応じて、正規化数の最大
値かまたは無限大を意味するコードのどちらかを最終結
果として選択する。指数部信号191が上記のいずれに
も当てはまらない場合は、アンダフローとオーバフロー
の条件は成立せず、信号101、191、202がその
まま最終結果として出力される。
【0046】この従来の浮動小数点演算処理装置を改良
したものとして、特開平5−173760号公報に述べ
られている浮動小数点減算器がある。この加減算器で
は、正規化処理前の指数部の値を参照して、正規化処理
を行ってもアンダフローとオーバフローが生じない十分
条件を検出し、この条件が成立する場合には正規化処理
された値を最終結果として選択する。一方、条件が成立
しない場合には、正規化処理の後にアンダフローまたは
オーバフローの条件検出を行い、これらの例外が検出さ
れなければ正規化処理された値を最終結果とし、例外が
検出された場合には、予め定められた特定の値を最終結
果とするものである。ここで、予め定められた値とは、
アンダフローの場合にはゼロ、オーバフローの場合には
正規化数の最大値や無限大を意味するコードであること
が述べられている。
【0047】
【発明が解決しようとする課題】図9に示した従来の浮
動小数点演算処理装置は、アンダフローまたはオーバフ
ローの条件検出を正規化処理と丸め処理の後に行ってい
るため、これらの条件が成立するしないにかかわらず、
最終結果を得るまでに多くの時間を費やしていた。
【0048】これに対し、特開平5−173760号公
報に述べられている浮動小数点加減算器では、中間結果
の指数部を参照して、正規化を行ってもアンダフローと
オーバフローが生じ得ない十分条件を検出し、条件成立
時には正規化結果を演算結果としている。このため、こ
の条件が成立する場合には、正規化結果からアンダフロ
ーまたはオーバフローの条件を検出する時間およびその
結果を生成するための時間を不要にして、演算時間の高
速化を図ることができると云える。
【0049】しかしながら、条件不成立の場合には、正
規化結果からアンダフローまたはオーバフローの条件を
検出し、その結果を生成するための演算サイクルを必要
とする。これは、例えば条件成立時には2サイクルで演
算を終了できるが、条件不成立時には3サイクルを必要
とするというように、演算の実行サイクル数が固定では
なくなってしまう。これは今日の浮動小数点演算器の多
くが採用しているパイプライン処理にとって制御が複雑
になる恐れがある。
【0050】また、アンダフローが発生した場合に非正
規化数を計算する方法については述べられていない。ワ
ークステーションやパーソナルコンピュータの分野で
は、システムの互換性を重視して、IEEE−754
準拠の浮動小数点演算をサポートするのが一般的であ
る。アンダフロー例外が生じた場合でも、演算結果の互
換性を維持するためには、非正規化数を生成できなくて
はならない。
【0051】また、正規化処理の後に必要となる丸め処
理についても述べられていない。IEEE−754 で
は、最近値方向、ゼロ方向、正の無限大方向、負の無限
大方向の4通りの丸め方法が規定されている。丸め処理
を行った結果についてアンダフローまたはオーバフロー
が決定できるため、丸め処理も含めてアンダフローとオ
ーバフローの処理を考える必要がある。
【0052】本発明の目的は、正規化処理および丸め処
理を要する浮動小数点演算処理装置において、指数部が
正規化数の最小値以下にならない範囲で中間結果の仮数
部を正規化シフトすることにより、アンダフローとなる
場合にも余分な演算サイクルを使用せずに非正規化数を
生成することにある。また、丸め処理前にオーバフロー
条件が検出された場合にのみ、オーバフローした結果と
して予め定められた値を最終結果として選択し、これ以
外の場合には正規化処理および丸め処理を行った結果を
選択するようにして、オーバフロー条件検出と最終結果
選択に要する時間を少なく抑えることにある。
【0053】
【課題を解決するための手段】本発明の浮動小数点演算
処理装置は、非正規化数を高速に生成するために、中間
結果の指数部の値から正規化数の最小値の指数部を減じ
て正規化シフトの制限値を発生する手段と、中間結果の
仮数部を正規化数にするために必要なシフト数と正規化
シフトの制限値のうち、小さい方の値を正規化シフト数
として発生する手段とを備えている。これにより、結果
がアンダフローとなる場合に、1度の正規化シフトで非
正規化数が生成できる。
【0054】ここで、再び先の式(5)の正規化処理を考
える。
【0055】
【数16】
【0056】式(5)の指数部は11であり、正規化数の
最小値の指数部は1であるから、正規化シフトの制限値
はこれらの差の10となる。一方、式(5)を正規化数に
するために必要なシフト数は12である。これらの値1
0としてのうち、小さい方の値10を正規化シフト数と
して、式(5)を正規化処理すると、式(19)が生成され
る。
【0057】
【数17】
【0058】式(19)の値は、先の式(7)の値と同一で
ある。従来、式(7)の算出には、式(5)から式(6)への
シフトと、式(6)から式(7)へのシフトの2度のシフト
を行ったのに対して、式(19)の算出は1度のシフトで
行うことができる。
【0059】また、本発明の浮動小数点演算処理装置
は、オーバフロー条件検出と最終結果選択に要する時間
を少なく抑えるために、丸め処理前にオーバフローとな
る条件を検出する手段と、オーバフローした場合の値を
生成する手段と、丸め処理前にオーバフロー条件が検出
された場合にのみ、オーバフローした場合の値を最終結
果として選択し、これ以外の場合には正規化処理および
丸め処理を行った結果を選択する手段とを備えている。
ここで、丸め処理前にはオーバフローとならず、丸め処
理によってオーバフローとなる場合は、正規化処理と丸
め処理を行った結果が最終結果として選択される。IE
EE−754 の規格では、この正規化処理と丸め処理
を行った結果は、オーバフローした場合に最終結果とす
べき値と一致する。
【0060】いま、丸め処理前の値を式(20)とする
と、
【0061】
【数18】
【0062】仮数部のフォーマット範囲内のデータ(整
数部および小数部23桁)はすべて1であり、仮数部の
フォーマット範囲外にデータが存在する。丸め処理によ
って生成される値は、次の、仮数部への桁上がりが生じ
ない場合の式(21)、あるいは桁上がりが生じる場合の
式(22)のいずれかとなる。
【0063】
【数19】
【0064】式(21)はオーバフローとはならず、式
(22)はオーバフローとなる。式(22)は、小数部が1
となるように、仮数部全体を下位方向に1ビットシフト
し、指数部に1を加算する。この処理は、丸め処理によ
って小数部が1の値を超えた場合に必要となり、結果が
オーバフローしない場合でも発生し得る。
【0065】このように、丸め処理を行うことによって
オーバフローとなる場合には、正規化処理と丸め処理を
行った結果は式(23)で表される値になる。
【0066】
【数20】
【0067】一方、結果がオーバフローした場合に最終
結果とすべき値は、次のようになる。
【0068】
【数21】
【0069】ここで、式(24)の値を選ぶ条件は、丸め
方向がゼロ方向、結果の符号が正で丸め方向が負の無限
大方向、結果の符号が負で丸め方向が正の無限大方向の
いずれかである。この条件で、式(20)の値を丸め処理
した結果も式(24)と同じ値になる。次に式(25)の値
を選ぶ条件は、丸め方向が最近値方向、結果の符号が正
で丸め方向が正の無限大方向、結果の符号が負で丸め方
向が負の無限大方向のいずれかである。この条件で、式
(20)の値を丸め処理した結果も式(25)と同じ値にな
る。従って、丸め処理前にオーバフローとなる場合につ
いてだけ式(24)または式(25)の値を選ぶようにし
て、丸め処理前にはオーバフローとならない場合は、丸
め処理後にオーバフローとなる場合も含めて正規化処理
と丸め処理を行った結果を選ぶようにすることができ
る。
【0070】
【発明の実施の形態】以下に、本発明の実施の形態の
二、三の例について、図面を用いて詳細に説明する。図
2は、本発明が適用される計算機システムの一例であ
る。これは、プロセッサ11、メモリ12、ハードディ
スク13からなる計算機システムが複数組、総合ネット
ワーク10を介して接続される例である。このような計
算機システムにおいて、本発明はプロセッサ11内の浮
動小数点数の加減算、積和演算等を行う機構に適用され
る。
【0071】図3は、プロセッサ11の具体的な構成例
である。プロセッサ11は、データ及び命令を高速にア
クセスできるように、データキャッシュ14、命令キャ
ッシュ17を内蔵する。仮想アドレスから物理アドレス
へのメモリアドレス変換は、過去に変換した仮想アドレ
スと実アドレスの対応を保持しているデータTLB15
と命令TLB16を用いて行う。この制御はメモリ制御
ユニット18が行う。整数演算は、汎用レジスタ19、
演算処理ユニット(ALU)20、21で行う。命令ア
ドレスの計算は、アドレス加算器22を用いて行う。浮
動小数点演算は、浮動小数点レジスタ24、浮動小数点
加算器25、浮動小数点乗算器26、浮動小数点除算器
27で行う。これらの制御は命令制御ユニット23が行
う。科学技術計算やコンピュータ・グラフィックス等の
計算機利用分野では、非常に高い浮動小数点演算性能が
必要である。特に、浮動小数点加算および乗算は浮動小
数点演算命令の中でも使用頻度が高く、高速演算が可能
な加算器と乗算器は重要である。本発明は、かかる浮動
小数点加減算器25、浮動小数点乗算器26などに適用
される。
【0072】〈浮動小数点加減算器〉図1は、本発明に
よる浮動小数点加減算器の一実施例を示す。図1におい
て、演算制御回路100、指数部計算回路110、オペ
ランドスワップ回路120、桁合わせシフト回路13
0、加減算回路140の機能および動作については、図
9の従来の浮動小数点演算装置の場合と同じであるの
で、説明を省略する。図中、正規化シフト制限値発生回
路150とシフト数計算回路160が本発明の第1の特
徴的部分で、結果がアンダフロー例外となる場合に正規
化シフト回路180で非正規化数を生成させるように働
く。
【0073】正規化シフト制限値発生回路150は、共
通指数信号(中間結果の指数部)111を入力し、正規
化シフト制限値信号151を出力する。信号151は最
上位桁から見て信号111の数に当たる桁だけを“1”
とし、これ以外の桁を“0”とするデータである。該信
号151の桁数は浮動小数点フォーマットの精度をpと
すると、p+1で十分である。図4に、共通指数信号1
11と正規化シフト制限値信号151の対応を示す。即
ち、正規化シフト制限値信号151は、共通指数信号1
11が1からp+1の範囲にあるときにいずれか1つの
桁が“1”となり、p+2以上の範囲ではすべて“0”
となる。正規化シフト制限値発生回路150は一種のデ
コード回路であり、信号111を簡単なデコード論理を
使って変換することにより、容易に信号151を生成で
きる。
【0074】シフト数計算回路160は、加減算回路1
40の加減算結果信号(中間結果の仮数部)141と正
規化シフト制限値発生回路150の正規化シフト制限値
信号151を入力し、指数部補正回緑170の指数補正
信号161、及び、正規化シフト回路180で加減算結
果信号141をシフトするためのシフト制御信号162
を生成する。
【0075】図5に、シフト数計算回路160の一実施
例のブロック図を示す。図5において、論理和回路16
3は、加減算結果信号141と正規化シフト制限値信号
151の論理和演算を行う。信号141を式(26)、信
号151を式(27)とすると、論理和信号166は式
(28)で表される。 s(-1) s(0) s(1) s(2) … s(i) … s(p) (26) k(0) k(1) k(2) … k(i) … k(p) (27) x(-1) x(0) x(1) x(2) … x(i) … x(p), x(i)=s(i)|k(i) (28) 式(26)において、s(−1)は加減算結果(中間結果
の仮数部)の整数部2桁目、s(0)は整数部1桁目、
s(1)…s(p)は小数部を表す。式(27)のk(0)
…k(p)は正規化シフト制限値の各桁である。式(2
8)は、式(26)と式(27)の同一ビット間の論理和で
求められる(但し、x(−1)=s(−1)とする)。最
上位“1”検出回路164は、論理和信号166を入力
し、最も上位にある“1”の桁だけを“1”のままに
し、残りの桁をすべて“0”に置き換えたシフト制御信
号162に変換する。信号162を式(29)で表すと、 n(-1) n(0) n(1) n(2) … n(i) … n(p) (29) となり、例えば式(28)の最も上位側にある“1”がx
(i)である場合には、式(29)の値はn(i)だけが
“1”で、残りはすべて“0”となる。式(29)の括弧
の中の数字は、正規化シフト回路180において、加減
算結果信号141を上位方向にシフトする桁数を意味す
る。例えば、n(2)が“1”の場合は、加減算結果を
上位方向に2桁シフトすることを意味する。また、n
(−1)が“1”となる場合は下位方向に1桁シフトす
ることを意味する。エンコード回路165は、シフト制
御信号162を2進データに変換する。変換されたデー
タが指数補正信号161となり、指数部補正回路170
において、共通指数信号111から正規化シフトの桁数
を減算するために用いられる。
【0076】なお、シフト数計算回路160では、中間
結果の仮数部(信号141)を小数点から見て正規化シ
フト制限値(信号151)の数だけ下位にある桁の値だ
けを“1”と書き替えたデータを生成し、該データの小
数点から見て最初に“1”となる桁までの桁数を検出し
て、シフト数とすることでもよい。例えば、中間結果の
仮数部が“0.0001xx…”として、正規化シフト
制限値が“0.01…”の場合、“0.0001xx
…”を“0.0101xx…”と書き替えたデータを生
成する。該データの小数点から見て最初に“1”となる
桁は2桁目であるため、シフト数は2ビットとなる。こ
れは、式(26)と式(27)の同一ビット間の論理和をと
って式(28)を求め、シフト数を判定することと等価で
ある。
【0077】図1に戻り、指数部補正回路170は、共
通指数信号111から指数部補正信号161を引いた結
果信号171と、共通指数信号111から指数部補正信
号161を引いた値に1を加算した結果信号172の2
通りの指数部補正結果を出力する。ここで、信号171
は、丸め回路200において丸め処理された結果の仮数
部が“1.x…x”(ここで、xは“0”または“1”
のいずれかの値を意味する)となる場合に有効となり、
信号172は、仮数部が“10.0…0”となる場合に
有効となる。
【0078】正規化シフト回路180は、加減算結果信
号141を正規化シフト制御信号162の指示する値だ
け上位方向にシフトする。なお、式(29)のn(−1)
が“1”となる場合には、信号141を下位方向に1桁
シフトする。この1度のシフトで、正規化数および非正
規化数のいずれの結果も生成可能である。図6(a)は
正規化数が生成される場合の例を、(b)は非正規化数
が生成される場合の例を示す。
【0079】まず、図6(a)について説明する。加減
算処理が終了した段階の指数部(共通指数信号111に
対応)の値を13、仮数部(加減算結果信号141に対
応)の値を図に示す値とする。正規化シフト制限値発生
回路150では、整数部1桁目から見て小数桁の方向に
向かって13桁目を“1”、残りの桁を“0”とする正
規化シフト制限値信号151を生成する。次にシフト数
計算処理160により、指数部補正信号161の値は1
2、シフト制御信号162は上位シフト12桁を意味す
る値となる。指数部補正回路170では、共通指数信号
111から指数部補正信号161を引いた値“1”、お
よび、この値に1を加えた値“2”が計算され、指数部
補正結果信号171、172を出力する。また、加減算
結果の仮数部(信号141)は、正規化シフト回路18
0によって上位方向に12ビットシフトされ、図に示す
ような正規化数の値が仮数部信号181として出力され
る。
【0080】次に、図7(b)について説明する。加減
算処理が終了した段階の指数部(共通指数信号111)
の値を13、仮数部(加減算結果信号141)の値を図
に示す値とする。図7(a)の値と比較して、仮数部の
最上位“1”の桁が下位側に2ビットずれている。正規
化シフト制限値発生回路150により、整数部1桁目か
ら見て小数桁の方向に向かって13桁目を“1”、残り
の桁を“0”とするデータ(信号151)を生成する。
次にシフト数計算回路160により、指数部補正信号1
61の値は12、シフト制御信号162は上位シフト1
2桁を意味する値となる。指数部補正回路170によ
り、共通指数信号111から指数部補正信号161を引
いた値“1”、および、この値に1を加えた値“2”が
計算される。加減算結果の仮数部(信号141)は、正
規化シフト回路180によって上位方向に12ビットシ
フトされ、図に示すような非正規化数の値が仮数部信号
181として出力される。
【0081】このように、正規化シフト制限値発生回路
150とシフト数計算回路160を設けたことにより、
正規化シフト回路180における1度のシフト処理で、
仮数部の正規化数のみならず非正規化数も生成できる。
【0082】指数部選択回路190は、丸め回路200
が出力するオーバフロー信号201に従い、信号301
と信号302のうちの一方を選択して、指数部191を
出力する。丸め回路200は、正規化結果の仮数信号部
311を丸め演算し、仮数部信号202を出力する。こ
の時、仮数部の値が“10.1…0”となった場合、オ
ーバフロー信号201を出力する。信号201が出なけ
れば信号301が選択され、信号201が出れば信号3
03が選択される。この指数部選択回路190および丸
め回路200の機能と動作は、図9に示す従来例と同じ
である。
【0083】オーバフロー判定および結果生成回路21
0は、本発明の第2の特徴的部分である。ここでは、丸
めモード信号、結果符号信号101、指数部補正結果信
号171を入力して、丸め処理前の結果に対するオーバ
フロー条件の検出とオーバフロー結果として出力すべき
値を計算する。即ち、指数部補正結果信号171が正規
化数の指数部の最大値以上になる場合にはオーバフロー
条件が成立するため、オーバフロー検出信号211が出
力される。オーバフロー結果として出力すべき値は、丸
めモード信号と結果符号信号101を用いて決定され、
オーバフローデータ信号212が出力される。
【0084】最終結果選択回路220は、結果符号信号
101、指数部信号191、仮数部信号202からなる
演算結果データとオーバフローデータ(信号212)、
及び、オーバフロー検出信号211を入力し、オーバフ
ロー検出信号211がオーバフローを示さない場合には
演算結果データを、オーバフローを示す場合にはオーバ
フローデータを選択する。
【0085】〈浮動小数点乗算器〉図7は、本発明によ
る浮動小数点乗算器の一実施例を示す。ここで、入力オ
ペランドとして取り扱うデータは正規化数のみとする。
【0086】図7において、符号計算回路250は、オ
ペランド1、2の符号ビットを入力して、結果符号信号
251を生成する。指数部計算回路260は、オペラン
ド1、2の指数部を入力して、乗算結果の指数部信号2
61を計算する。信号261は、オペランド1、2の指
数部の和から指数バイアスを引いた値となる。
【0087】乗算回路270は、オペランド1、2の仮
数部を入力して乗算を行う。ここでいう乗算とは、オペ
ランドの仮数部から複数の部分積を発生させ、これらを
加算器で加算していって、最終的に和信号271と桁上
げ信号272からなる1組の桁上げ保存結果を生成する
までをいう。加算回路280は、乗算結果信号271、
272を入力して桁上げ伝搬加算を行い、加算結果信号
281(乗算の仮数部)を生成する。
【0088】シフト数計算回路290は、加算結果信号
281を入力して正規化のためのシフト数計算を行う。
信号281は、“1.x…x”または“1x.x…x”
(ここで、xは“0”または“1”のいずれかの値を意
味する)であるため、シフト数は“0”または下位方向
に“1”となる。このシフト数は、指数部補正回路30
0で乗算結果の指数部信号261を補正するための指数
部補正信号291(“0”または“−1”の値)として
出力される。また、このシフト数は、正規化シフト回路
310で加算結果信号281をシフトするためのシフト
制御信号292(“0”または“1”の値)として出力
される。
【0089】指数部補正回路300は、乗算結果の指数
部信号261から指数部補正信号291(”0”また
は”−1”の値)を引いた結果信号301と、乗算結果
の指数部信号261から指数部補正信号291を引いた
値に1を加算した結果信号302の2通りの指数部補正
結果を出力する。ここで、信号301は、丸め回路20
0において丸め処理された結果の仮数部が“1.x…
x”となる場合に有効となり、信号302は、該仮数部
が“10.0…0”とな場合に有効となる。
【0090】正規化シフト回路310は、加算結果信号
281を正規化シフト制御信号292の示す“0”また
は“1”の値だけ下位方向にシフトする。
【0091】指数部選択回路190は、丸め回路200
が出力するオーバフロー信号201に従い、信号301
と信号302のうちの一方を選択して、指数部信号19
1を出力する。丸め回路200は、正規化結果の仮数部
信号311を丸め演算し、仮数部信号202を出力す
る。この時、仮数部の値が“10.0…0”となった場
合、オーバフロー信号201を出力する。信号201が
出なければ信号301が選択され、信号201が出れば
信号303が選択される。この指数部選択回路190お
よび丸め回路200の機能と動作は、図9に示す従来例
と基本的に同じである。
【0092】オーバフロー判定および結果生成回路21
0は、本発明の特徴的部分である。ここでは、丸めモー
ド信号、結果符号信号251、指数部補正結果信号30
1を入力して、丸め処理前の結果に対するオーバフロー
条件の検出とオーバフロー結果として出力すべき値を計
算する。即ち、指数部補正結果信号301が正規化数の
指数部の最大値以上になる場合にはオーバフロー条件が
成立するため、オーバフロー検出信号211が出力され
る。オーバフロー結果として出力すべき値は、丸めモー
ド信号と結果符号信号251を用いて決定され、オーバ
フローデータ信号212が出力される。
【0093】最終結果選択回路220は、結果符号信号
251、指数部信号191、仮数部信号202からなる
演算結果データとオーバフローデータ(信号212)、
及び、オーバフロー検出信号211を入力し、オーバフ
ロー検出信号211がオーバフローを示さない場合には
演算結果データを、オーバフローを示す場合にはオーバ
フローデータを選択する。
【0094】〈浮動小数点積和演算器〉図8は、本発明
による浮動小数点積和演算器の一実施例を示す。これ
は、オペランド1とオペランド2の乗算結果にオペラン
ド3を加算あるいは減算した結果を計算する装置であ
る。
【0095】図8において、演算制御回路320は、3
つのオペランド1、2、3を入力して、結果符号信号3
21を生成する。また、演算制御回路320では、加減
算回路350において、信号341+信号342−信号
343の演算を行うか、信号343−信号341−信号
342の演算を行うかを指示するオペレーション信号3
22を生成する。
【0096】指数部計算回路330は、オペランド1、
2、3の指数部を入力して、積和演算結果の指数部信号
331を計算する。信号331は、オペランド1とオペ
ランド2の指数部の和から指数バイアスを引いた乗算結
果の指数部と、オペランド3の指数部のうち大きい方の
値となる。また、指数部計算回路330は、オペランド
1とオペランド2の乗算結果の指数部とオペランド3の
指数部の差を計算し、桁合わせシフト回路340におい
て、乗算回路270の部分積加算結果信号271、27
2、およびオペランド3の仮数部をシフトするためのシ
フト制御信号332を発生する。ここで、オペランド1
とオペランド2の乗算結果の指数部の方が大きい場合に
は、信号271、272のシフトは“0”とし、オペラ
ンド3の仮数部を下位方向に指数部の差だけシフトす
る。逆に、オペランド1とオペランド2の乗算結果の指
数部の方が小さい場合には、オペランド3のシフトは
“0”とし、信号271、272を下位方向に指数部の
差だけシフトする。
【0097】乗算回路270は、オペランド1とオペラ
ンド2の仮数部を入力して乗算を行い、部分積加算結果
信号271、272を生成する。これは、図7の乗算回
路270と基本的に同じである。
【0098】桁合わせシフト回路340は、桁合わせシ
フト制御信号332の指示に従い、部分積加算結果27
1、272とオペランド3の仮数部のいずれかを下位方
向にシフトする。
【0099】加減算回路350は、桁合わせ処理された
3つの仮数部データ341、342、343を入力して
桁上げ伝搬加算を行い、加減算結果信号351を生成す
る。
【0100】これより先の処理は、図1の実施例と同じ
であるので説明を省略するが、本発明の特徴的部分につ
いてだけもう一度触れておく。
【0101】正規化シフト制限値発生回路150とシフ
ト数計算回路160の働きによって、指数部が正規化数
の最小値“1”未満とならない範囲でシフト数が計算さ
れる。これにより、正規化シフト回路180の1度のシ
フト処理で、正規化数のみならず非正規化数も生成でき
る。
【0102】オーバフロー判定および結果生成回路21
0は、丸め処理前の結果に対するオーバフロー条件の検
出とオーバフロー結果として出力すべき値を計算する。
即ち、指数部補正結果信号171が正規化数の指数部の
最大値以上になる場合にはオーバフロー条件が成立し、
オーバフロー検出信号211が出力される。オーバフロ
ー結果として出力すべき値は、丸めモード信号と結果符
号信号101を用いて決定され、オーバフローデータ信
号212が出力される。
【0103】最終結果選択回路220は、結果符号信号
321、指数部信号191、仮数部信号202からなる
演算結果データとオーバフローデータ(信号212)、
及び、オーバフロー検出信号211を入力し、オーバフ
ロー検出信号211がオーバフローを示さない場合には
演算結果データを、オーバフローを示す場合にはオーバ
フローデータを選択する。
【0104】以上、本発明のの実施の形態として浮動小
数点加減算器、浮動小数点乗算器、浮動小数点積和演算
器を挙げたが、本発明はこれらに限られることなく、ア
ンダフロー例外やオーバーフロー例外が発生する他の演
算装置に広く適用されることは云うまでもない。
【0105】
【発明の効果】以上説明したように、本発明によれば、
浮動小数点オペランドを入力して算術演算処理を行い、
生成された中間結果に正規化処理と丸め処理とを実行す
る浮動小数点演算処理において、指数部が正規化数の最
小値以下にならない範囲で中間結果の仮数部を正規化シ
フトすることにより、アンダフローとなる場合にも余分
な演算サイクルを使用せずに非正規化数を生成できるよ
うになる。また、丸め処理前にオーバフロー条件が検出
された場合にのみ、オーバフローした結果としてあらか
じめ定められた値を最終結果として選択し、これ以外の
場合には正規化処理および丸め処理を行った結果を選択
することにより、オーバフロー条件検出と最終結果選択
に要する時間を少なく抑えられるようになる。
【図面の簡単な説明】
【図1】本発明の一実施例の浮動小数点加算器のブロッ
ク図である。
【図2】本発明装置が適用される計算機システムの一例
である。
【図3】図2内のプロセッサの一例である。
【図4】共通指数信号と正規化シフト制限値の関係を表
す図である。
【図5】図1のシフト数計算回路の一実施例のブロック
図である。
【図6】図1の正規化シフト処理を示す図である。
【図7】本発明の他の実施例の浮動小数点乗算器のブロ
ック図である。
【図8】本発明の更に他の実施例の浮動小数点積和演算
器のブロック図である。
【図9】従来の浮動小数点加算器のブロック図である。
【符号の説明】
100 演算制御回路 110 指数部計算回路 120 オペランドスワップ回路 130 桁合わせシフト回路 140 加減算回路 150 正規化シフト制限値発生回路 160 シフト数計算回路 170 指数部補正回路 180 正規化シフト回路 190 指数部選択回路 200 丸め回路 210 オーバフロー判定および結果生成回路 220 最終結果選択回路
フロントページの続き (72)発明者 山内 辰美 神奈川県秦野市堀山下1番地 株式会社 日立製作所 汎用コンピュータ事業部 内 (72)発明者 井門 徳安 神奈川県秦野市堀山下1番地 株式会社 日立製作所 汎用コンピュータ事業部 内 (72)発明者 清重 賢一 神奈川県秦野市堀山下1番地 株式会社 日立製作所 汎用コンピュータ事業部 内 (72)発明者 西山 隆裕 神奈川県秦野市堀山下1番地 株式会社 日立製作所 汎用コンピュータ事業部 内 (72)発明者 釜田 栄樹 神奈川県秦野市堀山下1番地 株式会社 日立製作所 汎用コンピュータ事業部 内 (56)参考文献 特開 平5−173760(JP,A) 特開 平5−134850(JP,A) 特開 平4−76621(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 7/00 G06F 7/38

Claims (4)

    (57)【特許請求の範囲】
  1. 【請求項1】 浮動小数点オペランドを入力して算術演
    算処理を行い、生成された中間結果に正規化処理と丸め
    処理とを実行する浮動小数点演算処理装置において、 前記中間結果の指数部の値から最小の正規化数の指数部
    の値を引いた数を正規化シフト制限値とし、前記中間結
    果を正規化数とするために必要なシフト桁数と前記正規
    化シフト制限値の小さい方の値をシフト数として前記中
    間結果を正規化処理し、演算結果がアンダフローとなら
    ない場合には正規化数を生成し、アンダフローとなる場
    合には非正規化数を生成することを特徴とする浮動小数
    点演算処理装置。
  2. 【請求項2】 請求項1記載の浮動小数点演算処理装置
    において、 前記中間結果の仮数部を小数点から見て前記正規化シフ
    ト制限値の数だけ下位にある桁の値だけを“1”と書き
    替えたデータを生成し、前記データの小数点から見て最
    初に“1”となる桁までの桁数を検出してシフト数と
    し、前記中間結果を正規化処理することを特徴とする浮
    動小数点演算処理装置。
  3. 【請求項3】 請求項1記載の浮動小数点演算処理装置
    において、 小数点から見て前記正規化シフト制限値の数だけ下位に
    ある桁の値だけを“1”、それ以外の桁をすべて“0”
    とするデータを生成し、前記データと前記中間結果の仮
    数部との間で論理和演算を行い、該演算結果において小
    数点から見て最初に“1”となる桁までの桁数を検出し
    てシフト数とし、前記中間結果を正規化処理することを
    特徴とする浮動小数点演算処理装置。
  4. 【請求項4】 浮動小数点オペランドを入力して算術演
    算処理を行い、生成された中間結果に正規化処理と丸め
    処理とを実行する浮動小数点演算処理装置において、 前記中間結果を正規化処理した段階で、丸め処理を実行
    する前にオーバフローとなる条件を検出し、オーバフロ
    ーした場合にオーバフロー結果として出力すべき値をオ
    ーバフローデータとして生成し、 前記中間結果に正規化処理と丸め処理を施した値と、前
    記オーバフローデータを入力し、前記丸め処理前のオー
    バフロー条件が検出される場合には前記オーバフローデ
    ータを、検出されない場合には前記中間結果を正規化し
    て丸めた値を演算結果として選択することを特徴とする
    浮動小数点演算処理装置。
JP1576096A 1996-01-31 1996-01-31 浮動小数点演算処理装置 Expired - Fee Related JP3313560B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP1576096A JP3313560B2 (ja) 1996-01-31 1996-01-31 浮動小数点演算処理装置
US08/789,430 US5931895A (en) 1996-01-31 1997-01-29 Floating-point arithmetic processing apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1576096A JP3313560B2 (ja) 1996-01-31 1996-01-31 浮動小数点演算処理装置

Publications (2)

Publication Number Publication Date
JPH09212337A JPH09212337A (ja) 1997-08-15
JP3313560B2 true JP3313560B2 (ja) 2002-08-12

Family

ID=11897748

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1576096A Expired - Fee Related JP3313560B2 (ja) 1996-01-31 1996-01-31 浮動小数点演算処理装置

Country Status (2)

Country Link
US (1) US5931895A (ja)
JP (1) JP3313560B2 (ja)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5647584A (en) * 1994-11-23 1997-07-15 Harris Corporation Sheet feeder
US6325826B1 (en) 1998-01-14 2001-12-04 Advanced Stent Technologies, Inc. Extendible stent apparatus
US6503271B2 (en) * 1998-01-09 2003-01-07 Cordis Corporation Intravascular device with improved radiopacity
US6298477B1 (en) * 1998-10-30 2001-10-02 Sun Microsystems, Inc. Method and apparatus for selecting ways to compile at runtime
JP2001034537A (ja) * 1999-07-23 2001-02-09 Toshiba Corp アドレス変換回路
US6668268B1 (en) * 2000-11-09 2003-12-23 Sun Microsystems, Inc. Method and apparatus for compiling dependent subtraction operations on arithmetic intervals
JP4388980B2 (ja) * 2005-12-02 2009-12-24 富士通株式会社 浮動小数点数の除算または平方根演算を行う演算装置及び演算方法
US7912887B2 (en) * 2006-05-10 2011-03-22 Qualcomm Incorporated Mode-based multiply-add recoding for denormal operands
US8103858B2 (en) 2008-06-30 2012-01-24 Intel Corporation Efficient parallel floating point exception handling in a processor
JP4883251B1 (ja) * 2010-06-22 2012-02-22 日本電気株式会社 半導体集積回路及び指数算出方法
US20120059866A1 (en) * 2010-09-03 2012-03-08 Advanced Micro Devices, Inc. Method and apparatus for performing floating-point division
JP5668557B2 (ja) * 2011-03-18 2015-02-12 富士通株式会社 数値丸め方法,数値丸めプログラム,コンピュータおよびコンパイルプログラム
US8898214B2 (en) 2012-04-23 2014-11-25 Lsi Corporation Method and apparatus to perform floating point operations
US9830129B2 (en) * 2013-11-21 2017-11-28 Samsung Electronics Co., Ltd. High performance floating-point adder with full in-line denormal/subnormal support
US9483232B2 (en) * 2014-03-07 2016-11-01 Arm Limited Data processing apparatus and method for multiplying floating point operands
US9645792B2 (en) * 2014-08-18 2017-05-09 Qualcomm Incorporated Emulation of fused multiply-add operations
US9417839B1 (en) * 2014-11-07 2016-08-16 The United States Of America As Represented By The Secretary Of The Navy Floating point multiply-add-substract implementation

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0644225B2 (ja) * 1986-03-27 1994-06-08 日本電気株式会社 浮動小数点丸め正規化回路
JPH0776911B2 (ja) * 1988-03-23 1995-08-16 松下電器産業株式会社 浮動小数点演算装置
JPH05173760A (ja) * 1991-12-26 1993-07-13 Nec Corp 浮動小数点加減算器
US5469377A (en) * 1992-08-18 1995-11-21 Nec Corporation Floating point computing device for simplifying procedures accompanying addition or subtraction by detecting whether all of the bits of the digits of the mantissa are 0 or 1
US5487022A (en) * 1994-03-08 1996-01-23 Texas Instruments Incorporated Normalization method for floating point numbers

Also Published As

Publication number Publication date
US5931895A (en) 1999-08-03
JPH09212337A (ja) 1997-08-15

Similar Documents

Publication Publication Date Title
JP3313560B2 (ja) 浮動小数点演算処理装置
Zhang et al. Efficient multiple-precision floating-point fused multiply-add with mixed-precision support
US4941120A (en) Floating point normalization and rounding prediction circuit
US8626813B1 (en) Dual-path fused floating-point two-term dot product unit
JP3178746B2 (ja) 浮動小数点数のためのフォーマット変換装置
US7188133B2 (en) Floating point number storage method and floating point arithmetic device
WO2002023326A1 (en) Handler for floating-point denormalized numbers
Wang et al. A survey of hardware designs for decimal arithmetic
US5341320A (en) Method for rapidly processing floating-point operations which involve exceptions
US5943249A (en) Method and apparatus to perform pipelined denormalization of floating-point results
US20050228844A1 (en) Fast operand formatting for a high performance multiply-add floating point-unit
US20090164544A1 (en) Dynamic range enhancement for arithmetic calculations in real-time control systems using fixed point hardware
USH1222H (en) Apparatus for determining sticky bit value in arithmetic operations
US6912559B1 (en) System and method for improving the accuracy of reciprocal square root operations performed by a floating-point unit
Tsen et al. A combined decimal and binary floating-point multiplier
JP4439060B2 (ja) 浮動小数点加算器
JP3495173B2 (ja) 演算処理方法および演算処理装置
JPH11296346A (ja) 浮動小数点2進4倍長語フォ―マット乗算命令装置
JP2517064B2 (ja) 非正規化数の処理方式
CN111124361A (zh) 算术处理装置及其控制方法
JP3257278B2 (ja) 冗長なシフト数予測とシフト誤り補正を用いた正規化装置
RU2276805C2 (ru) Способ и устройство для выделения целой и дробных компонент из данных с плавающей точкой
JP3187402B2 (ja) 浮動小数点データ加減算回路
JP3100868B2 (ja) 浮動小数点数のための算術演算装置
JP3124286B2 (ja) 浮動小数点数演算装置

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees