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
Links
- 238000001514 detection method Methods 0.000 claims abstract description 18
- 238000000034 method Methods 0.000 abstract description 2
- 230000002159 abnormal effect Effects 0.000 description 5
- 230000000295 complement effect Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 238000007796 conventional method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
[産業上の利用分野]
本発明は、浮動小数点演算装置に関する。
[従来の技術]
例えばIEEE754規格に準拠した浮動小数点演算装
置について説明する。
置について説明する。
演算するデータが例えば単精度32ビツトの場合、デー
タフォーマットは、第4図に示すように1ビツトのサイ
ンビットと、8ビツトの指数部ト、23ビツトのフラク
ション部より構成される。又、データタイプを第1表に
示す。上記浮動小数点演算装置で加減乗除算可能な数値
の範囲は、第5図に示すように、正規化数の最大値から
非正規化数(又はラップ数)の最小値までとゼロである
。又、第4図に示すように、指数は8ビツトにて構成さ
れるので絶対値表示ではOないし255まで、2の補数
表示では負数は−128ないし−1まで表現できる。演
算結果がこの範囲以外である場合にはオーバフロー、あ
るいはアンダーフローとなる。
タフォーマットは、第4図に示すように1ビツトのサイ
ンビットと、8ビツトの指数部ト、23ビツトのフラク
ション部より構成される。又、データタイプを第1表に
示す。上記浮動小数点演算装置で加減乗除算可能な数値
の範囲は、第5図に示すように、正規化数の最大値から
非正規化数(又はラップ数)の最小値までとゼロである
。又、第4図に示すように、指数は8ビツトにて構成さ
れるので絶対値表示ではOないし255まで、2の補数
表示では負数は−128ないし−1まで表現できる。演
算結果がこの範囲以外である場合にはオーバフロー、あ
るいはアンダーフローとなる。
即ち、演算結果の指数の値が255以上になるとオーバ
フローであり、O以下になるとアンダーフローである。
フローであり、O以下になるとアンダーフローである。
アンダーフローとなった場合、指数の出力は2の補数表
示の負数となり、次工程で演算結果を使用するときアン
ダーフローフラグが付加されていれば指数は2の補数表
示の負数であると解釈され[発明が解決しようとする課
題] ところがアンダーフロー時の演算結果が表現できないほ
ど小さい値となったとき、即ち指数が129以下になっ
たときには結果の指数は正の値トナってしまう。よって
有効な計算をするためにはアンダーフロー時の指数をチ
エツクし上記のような場合には適切な処置をする必要が
あった。このように従来の浮動小数点演算装置ではアン
ダーフローフラグを出力するのみで出力値は保証してい
ないという問題点があった。
示の負数となり、次工程で演算結果を使用するときアン
ダーフローフラグが付加されていれば指数は2の補数表
示の負数であると解釈され[発明が解決しようとする課
題] ところがアンダーフロー時の演算結果が表現できないほ
ど小さい値となったとき、即ち指数が129以下になっ
たときには結果の指数は正の値トナってしまう。よって
有効な計算をするためにはアンダーフロー時の指数をチ
エツクし上記のような場合には適切な処置をする必要が
あった。このように従来の浮動小数点演算装置ではアン
ダーフローフラグを出力するのみで出力値は保証してい
ないという問題点があった。
一本発明はこのような問題点を解決するためになされた
もので、演算結果がそのビット数で表現できる数の最小
値とOとの間の値となり表現不能となったときに、浮動
小数点演算の精度を向上させることができる浮動小数点
演算装置を提供することを目的とする。
もので、演算結果がそのビット数で表現できる数の最小
値とOとの間の値となり表現不能となったときに、浮動
小数点演算の精度を向上させることができる浮動小数点
演算装置を提供することを目的とする。
[課題を解決するための手段]
本発明は、浮動小数点データの加減乗除の演算を実行す
る浮動小数点演算装置において、演算結果が浮動小数点
演算装置の指数部におけるビット長では表現不可能な小
さい値になったとき、表現不可能フラグを送出する表現
不可能検出回路を備えたことを特徴とする。
る浮動小数点演算装置において、演算結果が浮動小数点
演算装置の指数部におけるビット長では表現不可能な小
さい値になったとき、表現不可能フラグを送出する表現
不可能検出回路を備えたことを特徴とする。
[作用]
表現不可能検出回路は、浮動小数点データの演算結果が
非常に小さい値になり表現不可能になったとき、表現不
可能であることを示すフラグを送出する。又、浮動小数
点演算装置は、該フラグが送出されたときには出力結果
を0又は出力可能な最小値に設定する。
非常に小さい値になり表現不可能になったとき、表現不
可能であることを示すフラグを送出する。又、浮動小数
点演算装置は、該フラグが送出されたときには出力結果
を0又は出力可能な最小値に設定する。
[実施例]
本実施例における演算処理がなされる浮動小数点データ
は、指数部eを絶対値として扱い正規化数が1ないし2
54の値である。指数はバイアス表示を採用しているの
で、実際の指数はe−127となり、−127から+1
28の値をとる。仮数は絶対値として扱い、23ビツト
フラクシヨンの前に小数点があり、小数点の前にHi
d d e nBit(HB)lを有する。尚、フラク
ション23ビツトとHBとを合わせて仮数部と記す。
は、指数部eを絶対値として扱い正規化数が1ないし2
54の値である。指数はバイアス表示を採用しているの
で、実際の指数はe−127となり、−127から+1
28の値をとる。仮数は絶対値として扱い、23ビツト
フラクシヨンの前に小数点があり、小数点の前にHi
d d e nBit(HB)lを有する。尚、フラク
ション23ビツトとHBとを合わせて仮数部と記す。
非正規化数は、指数部が01フラクション部がOでない
値をとる。このとき実際の指数の値は=126である。
値をとる。このとき実際の指数の値は=126である。
仮数部は絶対値として扱い23ビツトフラクシヨンの前
に小数点があり、HBはOである。
に小数点があり、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−”’)まで広げることができる。
値表示で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にする。このことによって、演算結果が
アンダーフローし、表現不可能な値となったとき、演算
結果が小さすぎて表現できないことを示し、アンダーフ
ロー時の出力値の精度を向上させることができる。
がアンノーマル数の最小値((−1)52−”’)とO
との間の値、つまり指数8ビノト、フラクション23ビ
ツトでは表現不可能な値になったとき、アンダーフロー
フラグと共に表現不可能であることを示すフラグを付加
し、出力値をOにする。このことによって、演算結果が
アンダーフローし、表現不可能な値となったとき、演算
結果が小さすぎて表現できないことを示し、アンダーフ
ロー時の出力値の精度を向上させることができる。
浮動小数点演算の例として、A−(−1)9A2sA−
口’(l fa)、B −(−1)” 2 @B−’
!7(1fb)において、本実施例の浮動小数点演算装
置を使用してAXBの演算を実行する場合を以下に説明
する。
口’(l fa)、B −(−1)” 2 @B−’
!7(1fb)において、本実施例の浮動小数点演算装
置を使用してAXBの演算を実行する場合を以下に説明
する。
サインビットはSAとSBとの排他的論理和(EXOR
)から得られる。指数については結果もバイアス表示で
なければならないので、eA+eBより127を減算し
て得る。
)から得られる。指数については結果もバイアス表示で
なければならないので、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に接続される。
おいて、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がアンノーマルで
あることを示すものである。
供給される。尚、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に接続される。
より構成され、上記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と記す。
に、インバータ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を得る。
、第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未満〉で
あれば表現不可能数と判断される。
現不可能検出回路3に供給され、指数の演算結果がO以
下((−1)’ 2−””未満)であればアンダーフロ
ーであり、−128未満((−1)’2155未満〉で
あれば表現不可能数と判断される。
尚、指数の演算結果の正又は負は上記拡張されたビット
のl又はOより判断できる。
のl又はOより判断できる。
逆にアンダーフローフラグ(UNF)が1であるとき、
指数はMSBが符号を示す2の補数表示の負数というこ
とになる。又、UNFがOであるとき指数は絶対値表示
である。例えば、演算結果が10110011になった
とき、UNFが1であれば演算結果は−77であり、U
NFがOであれば演算結果は179である。
指数は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の信号を送出する。
内、少なくとも一方がアンノーマル数で、上記eR8,
eR7のデータが10であるとき、あるいはオペランド
A、Bの両方ともアンノーマル数で、上記eR3,eR
7のデータが01であるときには、第2図に示す回路の
論理演算によりNAND回路12はHレベルの表現不可
能数を送出する。即ち、表現不可能検出回路3は、表現
不可能であることを示す例えばlの信号を送出する。
表現不可能検出回路3より表現不可能を示す信号が供給
されることで、演算結果送出回路13は出力結果をO又
は出力可能な最小値を送出する。
されることで、演算結果送出回路13は出力結果をO又
は出力可能な最小値を送出する。
このように本実施例の浮動小数点演算装置によれば、浮
動小数点データの指数部のビット長では表現できないほ
ど値が小さくなったときには、表現不可能であることを
示すフラグを送出することより、アンダーフローのとき
演算結果の指数が正か負かのチエツクが不必要となる。
動小数点データの指数部のビット長では表現できないほ
ど値が小さくなったときには、表現不可能であることを
示すフラグを送出することより、アンダーフローのとき
演算結果の指数が正か負かのチエツクが不必要となる。
又、演算結果が表現不可能となった場合、出力結果をO
又は出力可能な値の最小値とするので、次工程で演算結
果を使用するとき有効な計算ができる。それゆえ従来に
比べ計算の精度が向上する。
又は出力可能な値の最小値とするので、次工程で演算結
果を使用するとき有効な計算ができる。それゆえ従来に
比べ計算の精度が向上する。
尚、上述した実施例においては単精度32ビツトの乗算
について説明したがこれに限定されるものではない。
について説明したがこれに限定されるものではない。
[発明の効果]
以上詳述したように本発明によれば、浮動小数点データ
の演算結果が表現不可能な程小さ、い値になったときに
は表現不可能フラグを送出し出力結果をO又は出力可能
な最小値に設定するようにしたことより、次工程におけ
る演算精度を向上させることができる。
の演算結果が表現不可能な程小さ、い値になったときに
は表現不可能フラグを送出し出力結果をO又は出力可能
な最小値に設定するようにしたことより、次工程におけ
る演算精度を向上させることができる。
第1図は本発明の浮動小数点演算装置の一実施例の構成
を示すブロック図、第2図は第1図に示す表現不可能検
出回路の論理回路図、第3図は本発明の浮動小数点演算
装置における演算動作を示す図、第4図は演算を行うデ
ータの構成を示す図、第5図は本発明の浮動小数点演算
装置にて演算可能な範囲を示す図である。 1・・・演算回路、2・・・アンダーフロー検出回路、
3・・・表現不可能検出回路、 13・・・演算結果送出回路。
を示すブロック図、第2図は第1図に示す表現不可能検
出回路の論理回路図、第3図は本発明の浮動小数点演算
装置における演算動作を示す図、第4図は演算を行うデ
ータの構成を示す図、第5図は本発明の浮動小数点演算
装置にて演算可能な範囲を示す図である。 1・・・演算回路、2・・・アンダーフロー検出回路、
3・・・表現不可能検出回路、 13・・・演算結果送出回路。
Claims (2)
- (1)浮動小数点データの加減乗除の演算を実行する浮
動小数点演算装置において、 演算結果が浮動小数点演算装置の指数部におけるビット
長では表現不可能な小さい値になったとき、表現不可能
フラグを送出する表現不可能検出回路を備えたことを特
徴とする浮動小数点演算装置。 - (2)上記表現不可能検出回路より表現不可能フラグが
供給されることで出力結果を0又は出力可能な最小値と
して送出する演算結果送出回路を備えた請求項1記載の
浮動小数点演算装置。
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07281872A (ja) * | 1994-04-15 | 1995-10-27 | Internatl Business Mach Corp <Ibm> | 効率的な浮動小数点オーバーフローおよびアンダーフロー検出システム |
-
1989
- 1989-08-09 JP JP1205897A patent/JPH0370029A/ja active Pending
Cited By (1)
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) | デ−タ処理装置 |