JPH02240727A - 浮動小数点演算装置 - Google Patents

浮動小数点演算装置

Info

Publication number
JPH02240727A
JPH02240727A JP1062868A JP6286889A JPH02240727A JP H02240727 A JPH02240727 A JP H02240727A JP 1062868 A JP1062868 A JP 1062868A JP 6286889 A JP6286889 A JP 6286889A JP H02240727 A JPH02240727 A JP H02240727A
Authority
JP
Japan
Prior art keywords
circuit
exception
classification
data
floating point
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
JP1062868A
Other languages
English (en)
Inventor
Shigeki Matsuoka
茂樹 松岡
Hiromi Iwamoto
岩元 博美
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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co 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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP1062868A priority Critical patent/JPH02240727A/ja
Publication of JPH02240727A publication Critical patent/JPH02240727A/ja
Pending legal-status Critical Current

Links

Abstract

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

Description

【発明の詳細な説明】 [産業上の利用分野] この発明は、浮動小数点表記のデータの演算装置に関す
る。
[従来の技術] 例えば乗算するデータの一方のオペランドがOの場合は
、演算を行わなくとも結果はOになることがわかり、又
、無限大のデータに対する演算は無効なのでこの場合も
演算は不要である。このように扱うデータが特殊な場合
は例外処理を行ない無駄な演算を省略することにより、
演算時間を短縮できる。ここで、オペランドの属性を分
類して演算を行なっている従来例を引例により以下に述
べる。
第3図は、特開昭59−79350号公報開示の浮動小
数点演算装置を示している。
Xレジスタl及びYレジスタ2にそれぞれラッチされた
被演算データXオペランド及びYオペランドは浮動小数
点演算回路3に入力されるとともに、オペランドの属性
を分類する分類回路4及び5にそれぞれ入力される。
浮動小数点演算回路3では、加減算あるいは乗算、除算
が行なわれ、分類回路4.5では次表に示すように、オ
ペランドのビットパターンにより、0、無限大、非数、
正規化数、非正規化数の5つの属性に分類し、その属性
にもとづいて所定の分類信号を発生する。
表1 例外処理ユニット6ではX、Yのオペランドの分類信号
と演算と種類とから例外処理を適用する場合には、直ち
に制御信号を発生し例外処理としてあらかじめ用意され
たデータを、演算結果値としてセレクタ7から出力させ
、一方、通常のデータ処理時には、浮動小数点演算回路
3よりの演算結果がセレクタ7を介して出力される。
例えば演算の種類が乗算で、Xオペランドが無限大、Y
オペランドがOという場合は、例外処理が必要である。
このときあらかじめ用意されたデータ(非数)がセレク
タ7で選択され、演算結果として出力される。
例外処理の結果が乗算において非数となるのはXINF
(Xが無限大)、YZERO(Yが0)以外にXZER
O,Y INFとかX、Yオペランドの少なくとも一方
が非数の場合もある。ゆえに、例外処理ユニット6は、
分類信号が(XINFかつYZERO)または(XZE
ROかつY I NF’)またはXNANまたはYNA
Nのとき、演算結果として非数がセレクタ7で選択され
るような制御信号を発生する構成となっている。また非
数以外の例外が発生したときも同様に分類信号と演算の
種類との組合わせをみて、ある定めた組合わせのときあ
らかじめ用意されたデータか、2つのオペランドの値を
出力するよう例外処理ユニット6が制御信号を発生する
第4図は、米国特許USP4.649.508号に開示
された浮動小数点演算装置を示している。
分類回路13及び14は、Xレジスタ2及びXレジスタ
12よりのオペランドの少なくとも一部を受け、オペラ
ンドを0.無限大、非数、・・・といった属性に分類し
分類信号を出力する。
例外処理部15はコントロール部15Aとセレクト部1
5Bより成る。コントロール部15Aは分類回路13.
14よりのX、Y分類信号と、演算の種類を示すコマン
ド信号があらかじめ定められた組合わせであるとき、所
定のコントロール信号を出力する。セレクト部15Bは
前記コントロール信号に基づき、Xレジスタ11及びX
レジスタ12よりのX、Y両オペランドと定数のうちの
1つを選択し、例外処理結果としてセレクタ16より出
力させる。
他に加減算部17.乗算部18を含み、セレクタ16は
加減算結果、乗算結果、例外処理結果をコントロール信
号に応じて選択し出力する。例えば、演算の種類が乗算
で、Xオペランドが無限大、YオペランドがOという場
合は、例外処理を適用する。このとき例外処理部15の
コントロール部15Aはコントロール信号を出力し、セ
レクト部15Bか定数(この場合非数)を出力し、セレ
クタ16がこの例外処理結果を出力する。例外処理結果
が乗算で非数となるのはX=■、Y=0以外にx=o、
y=ooとかX=NANとかY=NANの場合もある。
ゆえに例外処理部15では分類信号が(X−oo、Y=
0)または(X = 0 、Y =OO)またはX=N
ANまたはY=NANのとき、セレクト部15Bで非数
が選択されるようにコントロール部15Aからコントロ
ール信号が出力される。また非数以外の例外が発生した
ときも同様に分類信号と演算の種類との組合わせをみて
、ある定めた組合わせのとき2つのオペランド値か定数
が例外処理部15から出力される。乗算部18は、浮動
小数点乗算ユニット18Aの他に、コントロール部18
Bとセレクト部18Cを含む。
コントロール部18Bは、X、Y分類信号を受けてコン
トロール信号を発生する。
セレクト部18cは乗算結果と、少なくともXオペラン
ドの一部と、少なくともXオペランドの一部と定数を受
け、コントロール信号に従って人力を選択し出力する。
X、Y両オペランドの少なくとも一方が0の場合、乗算
結果は0となる。このように乗算部18のコントロール
部18B及びセレクト部18Cは、特殊なオペランドに
対し演算を実行することなしに分類信号のみから演算の
結果値を出力するのに用いられる。
[発明が解決しようとする課題] 上述した二つの演算装置においては、共に、2つの入力
オペランドをO1無限大、・・・といった属性に分類し
、分類信号を出力する分類回路を設け、この分類信号と
演算の種類との組合わせがある組合わせのときあらかじ
め用意されたデータを演算結果として出力するようにな
っている。
ところが、入力オペランドを分類する分類回路の構成が
複雑であり、又、扱う属性の数が多いほどより複雑化す
るという欠点があった。
この発明は、入力オペランドの分類と、特殊オペランド
及び例外発生時に対する処理を、より簡単な回路で高速
に行なう浮動小数点演算装置を提供することを目的とす
る。
し課題を解決するための手段] この発明の浮動小数点演算装置は、2つの浮動小数点デ
ータに対し、加算、減算1乗算、除算の演算を実行する
浮動小数点演算装置において、2つの浮動小数点データ
の各々の指数部と仮数部をそれぞれ属性にもとづいて分
類する指数部分類回路及び仮数部分類回路と、これらの
分類回路から出力される分類結果と演算の種類との組合
わせから所定のデータを出力する例外処理回路と、を備
えたことを特徴とする。
[作用] 演算を行なう2つの浮動小数点データにおける指数部と
仮数部とがOビットからなるか、あるいは1ビツトから
なるかといった所定の属性に基づいて分類され、これら
の分類された結果と、演算の種類とから、例外処理を適
用する場合には、例外処理回路から例外処理結果として
所定のデータが出力されるようになっており、所定のデ
ータとしては、請求項(2)で述べたように、予め用意
されたデータであってもよくあるいは、請求項(3)で
述べたように、例外処理結果そのものであってもよい。
いずれの場合も、例外処理回路は簡略化され、処理時間
が短縮される。
[実施例] 第1図は、この発明の浮動小数点装置の一実施例を示す
ブロック図である。
Xレジスタ21よりのXオペランドは、浮動小数点演算
回路23゛に入力されるとともに、指数部分類回路24
及び仮数部分類回路25に入力され両分順回路24及び
25にて、Xオペランドにおける指数部と仮数部とがそ
れぞれ分類される。又、Yレジスタ22よりのXオペラ
ンドは、同様に、浮動小数点演算回路23に入力される
とともに、指数部分類回路26及び仮数部分類回路27
に入力される。浮動小数点演算回路23では、演算の種
類に応じて加算、減算、乗算あるいは除算が行なわれる
。指数部分類回路24.26では、指数のビットパター
ンが全ビットlか否か、あるいは全ビット0か否かが検
出され、仮数部分類回路25.27では仮数部が全ビッ
ト0か否かが検出される。
指数部分類回路24は、Xオペランドの指数が全ビット
lであれば、“ビとなる信号XEIを、又全ビット0で
あれば“ビとなる信号XEOを出力し、仮数部分類回路
25は、仮数が全ビットOであれば“ビとなる信号XM
Oを出力する。同様に、Xオペランドに対しても、指数
部分類回路26、仮数部分類回路27は、YEI、YE
O及びYMOをそれぞれ出力する。
これらの分類結果を示す信号は例外処理回路28に入力
され、分類結果(XEl、XEO,XMO。
YEl、YEO,YMO)と演算の種類とから通常の演
算か特殊オペランドの演算か、例外が発生するか、ある
いは後述のオーバーフロー、アンダーフローを示す信号
か、どうかを判断して所定の制御信号をセレクタ29へ
送出する。
前記浮動小数点演算回路23における演算結果は、セレ
クタ29へ送出されるとともに、オーバーフロー・アン
ダーフロー検出回路30に入力される。
このオーバーフロー・アンダーフロー検出回路30は、
演算結果がオーバーフローまたはアンダーフローしてい
るか否かを検出し、オーバーフローのときOVF信号を
“ビとし、アンダーフローのときUNF信号をl”とし
て前記例外処理回路28へ送出し、演算結果がオーバー
フローしたときは無限大を、アンダーフローしたときは
Oを出力するようセレクタ29を制御する。
セレクタ29には、特殊オペランドや例外発生時に出力
するデータ(非数、0.無限大など)があらかじめ用意
されており、例外処理回路28よりの制御信号によって
、浮動小数点演算回路23よりの通常の演算結果か、あ
らかじめ用意されてデータかを選択して出力する。
この例では、非数の場合を示したが、例外が発生して非
数以外の値を演算結果とするときや、特殊オペランドの
ときも同様に分類信号の組合わせから判断する。
次に上記の構成になる浮動小数点演算装置における動作
を説明する。
尚、第1図中のセレクタ29はあらかじめ用意するデー
タとして非数NAN、無限大■、0を扱う場合を示して
いる。
乗算で例外が発生し、演算結果として非数を出力するの
は、2つの人力オペランドが(X=INFかつY=ZE
RO)または(X=ZEROかツY=INF)またはX
=NANまたはY=NANである。これらの組合わせを
先のXEI、XEO,XMO,YEl、YEO,YMO
信号を用いて表わすと表2のようになる。
表2 表2中の“−”は、0であってもlであってもよいこと
を示す。例外処理回路28は、オペランドX、Yの指数
部、仮数部の分類信号の組合わせが■〜■のいずれかに
あてはまるとき、セレクタ29で非数が選択出力される
よう所定の制御信号を発生するようになっている。
一方、例外処理回路28により通常の演算と検出された
ときは、この例外処理回路28より出力される制御信号
に基づき、浮動小数点演算回路23よりの演算結果がセ
レクタ29を介して出力される。又、浮動小数点演算回
路23の演算結果がオーバーフローあるいはアンダーフ
ローとなったときは、オーバーフロー・アンダーフロー
検出回路30よりOVFまたはUNF信号が出力される
ことにより、例外処理回路28より所定の制御信号がセ
レクタ29へ送出され、このセレクタ29より無限大あ
るいはOが出力される。尚、第1図では、特殊オペラン
ドや例外発生時の結果値として非数、無限大、0を扱う
場合を示したが、3つ以上の値を扱うときも同様に構成
できる。
第2図に、この発明の浮動小数点演算装置の一実施例を
示しており、Xレジスタ、Yレジスタ、指数部及び仮数
部の分類回路、浮動小数点演算回路の動作は第1図の場
合と同様である。
例外処理回路28°は、特殊オペランドや例外が発生す
る場合の、分類結果と演算の種類をあらかじめデコード
しておき、特殊オペランドや例外発生時の演算結果値で
ある非数、無限大、0に対応する信号を出力する。例え
ば演算の種類が乗算で、分類結果が表2の■〜■のいず
れかにあてはまるとき“ビとなる信号NANを設ける。
また特殊オペランド、例外発生時の結果値が0や無限大
となる場合も分類結果と演算の種類をあらかじめデコー
ドしておき、分類結果と演算の種類がデコード内容のい
ずれかにあてはまるとき“ビとなる信号ZERO,IN
Fを設ける。特殊オペランド、例外発生時に必ず3つの
信号のうち1つだけ“ビとなる。
この例外処理回路28°よりの各信号NAN、INF、
ZEROに対応して非数、無限大、Oに例外値を格納す
る例外値レジスタ31が設けられる。
具体的に説明すると例外値レジスタ31の指数部の全ビ
ットにはZERO信号がインバーターINVで反転され
て人力される。また仮数部の全ビットにはZEROとI
NF’信号がノア回路NORを介して入力される。
例外処理回路28°からの出力がNAN信号−〇、IN
F信号=0.ZERO信号;lのとき例外値レジスタ3
1の指数部、仮数部共に全ビットOが格納される。特殊
オペランド及び例外発生時に例外値レジスタ31に格納
される値をまとめると表3のようになる。
表3 又、前記信号ZERO,INF、NANは、オア回路O
Rを通してセレクタ29°の制御信号として送出される
。特殊オペランドや例外発生時はこれら3つの信号のう
ち1つだけ“ビとなるので制御信号は“l“となる。ま
た特殊オペランドや例外発生でない場合、3つの信号は
全て“0”となるので制御信号も“O”となる。例外値
レジスタ31に格納されたデータはセレクタ29°に入
力される。
セレクタ29°は浮動小数点演算結果か、例外値レジス
タ31からの例外値のデータかを前記制御信号に応じて
選択し出力する。
例外値として非数、無限大、Oを扱う場合を示したが、
これら3つの以外の例外値を扱う場合でも同様に分類結
果と演算の種類とから所望の値をつくることができる。
[発明の効果] 以上説明したように、この発明は、2つの入力オペラン
ドにおける指数部と仮数部とをそれぞれ属性にもとづい
て分類し、この分類結果と演算の種類との組合わせによ
り、例外値のデータを出力するようにしたので、特殊オ
ペランド及び例外発生時の処理を簡単な回路にて高速に
行なうことができる。
【図面の簡単な説明】
第1図は、この発明の浮動小数点演算装置の一実施例を
示す制御ブロック図、第2図はこの発明の別の実施例を
示す制御ブロック図、第3図及び第4図は、従来の小数
点演算装置の一例を示す制御ブロック図である。 21・・・Xレジスタ、22・・・Yレジスタ、23・
・・浮動小数点演算回路、 24.26・・・指数部分類回路、 25.27・・・仮数部分類回路、 28・・・例外処理回路、29・・・セレクタ、30・
・・オーバーフロー・アンダーフロー検出回路。 特許出願人 株式会社 リ コ − 代理 人 弁理士 前出 葆 外1名

Claims (3)

    【特許請求の範囲】
  1. (1)2つの浮動小数点データに対し、加算、減算、乗
    算、除算の演算を実行する浮動小数点演算装置において
    、 2つの浮動小数点データの各々の指数部と仮数部をそれ
    ぞれ属性にもとづいて分類する指数部分類回路及び仮数
    部分類回路と、これらの分類回路から出力される分類結
    果と演算の種類との組合わせから所定のデータを出力す
    る例外処理回路と、を備えたことを特徴とする浮動小数
    点演算装置。
  2. (2)例外処理回答は、分類回路からの分類結果と演算
    の種類とがある組合わせのとき、1つ以上のあらかじめ
    用意されたデータを選択して出力する請求項(1)記載
    の浮動小数点演算装置。
  3. (3)例外処理装置は、分類回路からの分類結果と演算
    と種類とがある組合わせのとき、分類結果と演算の種類
    とから所定の値を結果として出力する請求項(1)記載
    の浮動小数点演算装置。
JP1062868A 1989-03-14 1989-03-14 浮動小数点演算装置 Pending JPH02240727A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1062868A JPH02240727A (ja) 1989-03-14 1989-03-14 浮動小数点演算装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1062868A JPH02240727A (ja) 1989-03-14 1989-03-14 浮動小数点演算装置

Publications (1)

Publication Number Publication Date
JPH02240727A true JPH02240727A (ja) 1990-09-25

Family

ID=13212691

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1062868A Pending JPH02240727A (ja) 1989-03-14 1989-03-14 浮動小数点演算装置

Country Status (1)

Country Link
JP (1) JPH02240727A (ja)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5979350A (ja) * 1982-10-29 1984-05-08 Toshiba Corp 浮動小数点演算装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5979350A (ja) * 1982-10-29 1984-05-08 Toshiba Corp 浮動小数点演算装置

Similar Documents

Publication Publication Date Title
US4941120A (en) Floating point normalization and rounding prediction circuit
US4926370A (en) Method and apparatus for processing postnormalization and rounding in parallel
JPH07210368A (ja) 算術演算の結果として生じる正および負のオーバーフローのハードウェアによる効率的な取り扱い方法
US6006244A (en) Circuit for shifting or rotating operands of multiple size
US5341319A (en) Method and apparatus for controlling a rounding operation in a floating point multiplier circuit
JPH04350724A (ja) シフト量検出回路
US5920493A (en) Apparatus and method to determine a most significant bit
JPH02240727A (ja) 浮動小数点演算装置
EP0472030A2 (en) Method and apparatus for modifying two's complement multiplier to perform unsigned magnitude multiplication
KR970004474B1 (ko) 디지탈 데이타 처리기 및 그 방법
JPS6017534A (ja) 浮動小数点数値正規化回路
JPH01282633A (ja) 非正規化数の処理方式
JPS59136849A (ja) 除算装置
JPS58205253A (ja) 演算装置
JPS60245046A (ja) ロジカルシフト演算回路
JP2591250B2 (ja) データ処理装置
JP3272033B2 (ja) 張り付け機能付きシフタ回路
JP3110072B2 (ja) 事前正規化回路
JPS60132237A (ja) 浮動小数点演算装置
JP2998324B2 (ja) 正規化シフト装置および正規化シフト方法
US6041341A (en) Method and circuit for adding operands of multiple size
JPS59225447A (ja) 浮動小数点数値演算装置
JPS62159224A (ja) 浮動小数点演算回路
JPS5837741A (ja) 2のべき乗の判定方式
JPS58161039A (ja) 乗算器の例外検出方式