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

浮動小数点演算装置

Info

Publication number
JPH0370029A
JPH0370029A JP1205897A JP20589789A JPH0370029A JP H0370029 A JPH0370029 A JP H0370029A JP 1205897 A JP1205897 A JP 1205897A JP 20589789 A JP20589789 A JP 20589789A JP H0370029 A JPH0370029 A JP H0370029A
Authority
JP
Japan
Prior art keywords
value
floating point
circuit
result
unrepresentable
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
JP1205897A
Other languages
English (en)
Inventor
Hiromi Iwamoto
岩元 博美
Yoshiji Kitofu
木虎 義嗣
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 JP1205897A priority Critical patent/JPH0370029A/ja
Publication of JPH0370029A publication Critical patent/JPH0370029A/ja
Pending legal-status Critical Current

Links

Abstract

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

Description

【発明の詳細な説明】 [産業上の利用分野] 本発明は、浮動小数点演算装置に関する。
[従来の技術] 例えばIEEE754規格に準拠した浮動小数点演算装
置について説明する。
演算するデータが例えば単精度32ビツトの場合、デー
タフォーマットは、第4図に示すように1ビツトのサイ
ンビットと、8ビツトの指数部ト、23ビツトのフラク
ション部より構成される。又、データタイプを第1表に
示す。上記浮動小数点演算装置で加減乗除算可能な数値
の範囲は、第5図に示すように、正規化数の最大値から
非正規化数(又はラップ数)の最小値までとゼロである
。又、第4図に示すように、指数は8ビツトにて構成さ
れるので絶対値表示ではOないし255まで、2の補数
表示では負数は−128ないし−1まで表現できる。演
算結果がこの範囲以外である場合にはオーバフロー、あ
るいはアンダーフローとなる。
即ち、演算結果の指数の値が255以上になるとオーバ
フローであり、O以下になるとアンダーフローである。
アンダーフローとなった場合、指数の出力は2の補数表
示の負数となり、次工程で演算結果を使用するときアン
ダーフローフラグが付加されていれば指数は2の補数表
示の負数であると解釈され[発明が解決しようとする課
題] ところがアンダーフロー時の演算結果が表現できないほ
ど小さい値となったとき、即ち指数が129以下になっ
たときには結果の指数は正の値トナってしまう。よって
有効な計算をするためにはアンダーフロー時の指数をチ
エツクし上記のような場合には適切な処置をする必要が
あった。このように従来の浮動小数点演算装置ではアン
ダーフローフラグを出力するのみで出力値は保証してい
ないという問題点があった。
一本発明はこのような問題点を解決するためになされた
もので、演算結果がそのビット数で表現できる数の最小
値とOとの間の値となり表現不能となったときに、浮動
小数点演算の精度を向上させることができる浮動小数点
演算装置を提供することを目的とする。
[課題を解決するための手段] 本発明は、浮動小数点データの加減乗除の演算を実行す
る浮動小数点演算装置において、演算結果が浮動小数点
演算装置の指数部におけるビット長では表現不可能な小
さい値になったとき、表現不可能フラグを送出する表現
不可能検出回路を備えたことを特徴とする。
[作用] 表現不可能検出回路は、浮動小数点データの演算結果が
非常に小さい値になり表現不可能になったとき、表現不
可能であることを示すフラグを送出する。又、浮動小数
点演算装置は、該フラグが送出されたときには出力結果
を0又は出力可能な最小値に設定する。
[実施例] 本実施例における演算処理がなされる浮動小数点データ
は、指数部eを絶対値として扱い正規化数が1ないし2
54の値である。指数はバイアス表示を採用しているの
で、実際の指数はe−127となり、−127から+1
28の値をとる。仮数は絶対値として扱い、23ビツト
フラクシヨンの前に小数点があり、小数点の前にHi 
d d e nBit(HB)lを有する。尚、フラク
ション23ビツトとHBとを合わせて仮数部と記す。
非正規化数は、指数部が01フラクション部がOでない
値をとる。このとき実際の指数の値は=126である。
仮数部は絶対値として扱い23ビツトフラクシヨンの前
に小数点があり、HBはOである。
ラップ数は、指数部がバイアス表示で−22からOの値
であり、非正規化数と同じ数の範囲で、ラップ数と非正
規化数は相互に変換できる。
指数部における8ビツトで表現できる数の範囲は、絶対
値表示でOから255.2の補数表示の負数で−128
より−1であることから、本発明の浮動小数点演算装置
は入力できるオペランドの指数の範囲を従来の−22な
いし254より−128ないし254まで広げ、正規化
数の最小値と0との間の値を有するデータの演算の精度
を向上させるものである。尚、上記指数の255は非数
と無限大を表現するために使用する。又、指数の範囲の
負数においてはバイアス表示で−128ないし−1に広
げ、この−128ないし−1の範囲の指数をアンノーマ
ル数とする。尚、ラップ数はアンノーマル数に含まれる
。このことより正規化数の最小値とOとの間の値を有す
るデータの演算が、従来は<−1)’ 2−”’ないし
く−1)’2(2+28 7−150)テアッタノカ、
(−1)s2″t55ないしく−1)’ 2 (2”’
−2−”’)まで広げることができる。
又、本実施例の浮動小数点演算装置においては演算結果
がアンノーマル数の最小値((−1)52−”’)とO
との間の値、つまり指数8ビノト、フラクション23ビ
ツトでは表現不可能な値になったとき、アンダーフロー
フラグと共に表現不可能であることを示すフラグを付加
し、出力値をOにする。このことによって、演算結果が
アンダーフローし、表現不可能な値となったとき、演算
結果が小さすぎて表現できないことを示し、アンダーフ
ロー時の出力値の精度を向上させることができる。
浮動小数点演算の例として、A−(−1)9A2sA−
口’(l fa)、B −(−1)” 2 @B−’ 
!7(1fb)において、本実施例の浮動小数点演算装
置を使用してAXBの演算を実行する場合を以下に説明
する。
サインビットはSAとSBとの排他的論理和(EXOR
)から得られる。指数については結果もバイアス表示で
なければならないので、eA+eBより127を減算し
て得る。
本発明の浮動小数点演算装置の一実施例を示す第1図に
おいて、A、u、Bu、及びeA、eBが供給され、e
A+eB−127の演算を行う演算回路1の出力側は、
演算回路1の演算結果が0以下((−1)s2−””未
満)になったことを検出しアンダーフローフラグを送出
するアンダーフロー検出回路、−128未満((−1)
’ 2−”’未満)になったことを検出し表現不可能な
ことを示すOまたは1の信号を送出する表現不可能検出
回路3、表現不可能検出回路3より表現不可能である旨
の信号が供給された場合には演算回路1より供給される
演算結果を0あるいは出力可能な最小値として送出する
演算結果送出回路13に接続される。
又、表現不可能検出回路3には上記Au、Buの信号が
供給される。尚、Auは信号レベルが1であるときオペ
ランドAがアンノーマル数であることを示し、Buは信
号レベルがlであるときオペランドBがアンノーマルで
あることを示すものである。
表現不可能検出回路3は、第2図に示すような論理回路
より構成され、上記Au、Buの信号と、上述したeA
+eB−127の演算結果eRの上位2ビツトのデータ
であるeR8、eR7が供給される。即ち、上記Au、
Buの信号が、NOR回路4及びNAND回路5に供給
され、NOR回路4の出力側はインバータ6を介してN
AND回路8に接続され、NAND回路5の出力側はイ
ンバータ7を介してNAND回路9に接続される。
又、eR8の信号はNAND回路8に供給されるととも
に、インバータ11を介してNAND回路9に供給され
る。eR7の信号はインバータ10を介してNAND回
路8に供給されるとともに直接NAND回路9に供給さ
れる。NAND回路8及び9の出力側は、NAND回路
12に接続される。尚、NAND回路12の出力信号を
[MPoSと記す。
このような回路が付加され構成される浮動小数点演算装
置の動作を以下に説明する。
上述したように、指数計算は演算回路1にて行われるが
、第3図に示すように、指数がバイアス表現で正のとき
には01負のときにはlの信号が指数の最上位ビソ)(
MSB)の1つ上位のビットに1ビツト分拡張され、9
ビツトにて演算が実行される。例えば、eAが+100
(01100100)、eBが−50(1100111
0)であるときには、eAにはOが、eBにはlが付加
され、演算回路1にてeA+eB−127の演算が実行
され−77を得る。
得られた演算結果は、アンダーフロー検出回路2及び表
現不可能検出回路3に供給され、指数の演算結果がO以
下((−1)’ 2−””未満)であればアンダーフロ
ーであり、−128未満((−1)’2155未満〉で
あれば表現不可能数と判断される。
尚、指数の演算結果の正又は負は上記拡張されたビット
のl又はOより判断できる。
逆にアンダーフローフラグ(UNF)が1であるとき、
指数はMSBが符号を示す2の補数表示の負数というこ
とになる。又、UNFがOであるとき指数は絶対値表示
である。例えば、演算結果が10110011になった
とき、UNFが1であれば演算結果は−77であり、U
NFがOであれば演算結果は179である。
表現不可能検出回路3に供給されるオペランドASBの
内、少なくとも一方がアンノーマル数で、上記eR8,
eR7のデータが10であるとき、あるいはオペランド
A、Bの両方ともアンノーマル数で、上記eR3,eR
7のデータが01であるときには、第2図に示す回路の
論理演算によりNAND回路12はHレベルの表現不可
能数を送出する。即ち、表現不可能検出回路3は、表現
不可能であることを示す例えばlの信号を送出する。
表現不可能検出回路3より表現不可能を示す信号が供給
されることで、演算結果送出回路13は出力結果をO又
は出力可能な最小値を送出する。
このように本実施例の浮動小数点演算装置によれば、浮
動小数点データの指数部のビット長では表現できないほ
ど値が小さくなったときには、表現不可能であることを
示すフラグを送出することより、アンダーフローのとき
演算結果の指数が正か負かのチエツクが不必要となる。
又、演算結果が表現不可能となった場合、出力結果をO
又は出力可能な値の最小値とするので、次工程で演算結
果を使用するとき有効な計算ができる。それゆえ従来に
比べ計算の精度が向上する。
尚、上述した実施例においては単精度32ビツトの乗算
について説明したがこれに限定されるものではない。
[発明の効果] 以上詳述したように本発明によれば、浮動小数点データ
の演算結果が表現不可能な程小さ、い値になったときに
は表現不可能フラグを送出し出力結果をO又は出力可能
な最小値に設定するようにしたことより、次工程におけ
る演算精度を向上させることができる。
【図面の簡単な説明】
第1図は本発明の浮動小数点演算装置の一実施例の構成
を示すブロック図、第2図は第1図に示す表現不可能検
出回路の論理回路図、第3図は本発明の浮動小数点演算
装置における演算動作を示す図、第4図は演算を行うデ
ータの構成を示す図、第5図は本発明の浮動小数点演算
装置にて演算可能な範囲を示す図である。 1・・・演算回路、2・・・アンダーフロー検出回路、
3・・・表現不可能検出回路、 13・・・演算結果送出回路。

Claims (2)

    【特許請求の範囲】
  1. (1)浮動小数点データの加減乗除の演算を実行する浮
    動小数点演算装置において、 演算結果が浮動小数点演算装置の指数部におけるビット
    長では表現不可能な小さい値になったとき、表現不可能
    フラグを送出する表現不可能検出回路を備えたことを特
    徴とする浮動小数点演算装置。
  2. (2)上記表現不可能検出回路より表現不可能フラグが
    供給されることで出力結果を0又は出力可能な最小値と
    して送出する演算結果送出回路を備えた請求項1記載の
    浮動小数点演算装置。
JP1205897A 1989-08-09 1989-08-09 浮動小数点演算装置 Pending JPH0370029A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1205897A JPH0370029A (ja) 1989-08-09 1989-08-09 浮動小数点演算装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1205897A JPH0370029A (ja) 1989-08-09 1989-08-09 浮動小数点演算装置

Publications (1)

Publication Number Publication Date
JPH0370029A true JPH0370029A (ja) 1991-03-26

Family

ID=16514557

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1205897A Pending JPH0370029A (ja) 1989-08-09 1989-08-09 浮動小数点演算装置

Country Status (1)

Country Link
JP (1) JPH0370029A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07281872A (ja) * 1994-04-15 1995-10-27 Internatl Business Mach Corp <Ibm> 効率的な浮動小数点オーバーフローおよびアンダーフロー検出システム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07281872A (ja) * 1994-04-15 1995-10-27 Internatl Business Mach Corp <Ibm> 効率的な浮動小数点オーバーフローおよびアンダーフロー検出システム

Similar Documents

Publication Publication Date Title
JP3076046B2 (ja) 例外検出回路
JPH0644225B2 (ja) 浮動小数点丸め正規化回路
JP4500358B2 (ja) 演算処理装置および演算処理方法
CN109901813B (zh) 一种浮点运算装置及方法
JP3313560B2 (ja) 浮動小数点演算処理装置
JPH0370029A (ja) 浮動小数点演算装置
JP2517064B2 (ja) 非正規化数の処理方式
US7051062B2 (en) Apparatus and method for adding multiple-bit binary-strings
JPS62128331A (ja) 情報処理装置
JP3124286B2 (ja) 浮動小数点数演算装置
JP3174974B2 (ja) 浮動小数点演算装置および方法
JPH0377534B2 (ja)
JPH0498524A (ja) 浮動小数点演算装置
JP2723707B2 (ja) 正規化回路
JPH03217938A (ja) 浮動小数点丸め正規化装置
JPH06290023A (ja) 浮動小数点演算装置
JPH02115926A (ja) 浮動小数点正規化丸め装装置
JPS61282928A (ja) 浮動小数点演算装置
JPS59140560A (ja) 浮動小数点乗算器
JPH0383126A (ja) 浮動小数点乗算器
JPS5960637A (ja) 浮動小数点演算装置
JPS60235241A (ja) 浮動小数点加算回路
JPH03161832A (ja) 浮動小数点演算回路
JPH0467652B2 (ja)
JPS6162931A (ja) デ−タ処理装置