JPH02170224A - 演算例外検出方式 - Google Patents
演算例外検出方式Info
- Publication number
- JPH02170224A JPH02170224A JP63325448A JP32544888A JPH02170224A JP H02170224 A JPH02170224 A JP H02170224A JP 63325448 A JP63325448 A JP 63325448A JP 32544888 A JP32544888 A JP 32544888A JP H02170224 A JPH02170224 A JP H02170224A
- Authority
- JP
- Japan
- Prior art keywords
- exponent
- exception
- arithmetic
- mantissa
- digit
- 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
- 238000010606 normalization Methods 0.000 claims abstract description 27
- 238000001514 detection method Methods 0.000 claims abstract description 24
- 238000000034 method Methods 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 7
- 239000013067 intermediate product Substances 0.000 description 2
- 239000000047 product Substances 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
産業上の利用分野
本発明は、入力された浮動小数点データに演算を行ない
正規化された浮動小数点データを出力する演算処理装置
において演算処理中に発生する指数オーバフロー例外の
検出方式に関する。
正規化された浮動小数点データを出力する演算処理装置
において演算処理中に発生する指数オーバフロー例外の
検出方式に関する。
従来の技術
第4図は、この種の演算処理装置で扱う浮動小数点デー
タの形式の一例を示しており、1ビツトの仮数部符号S
、7ビツトの指数部E、56ビツトの仮数小数部Mから
なる。仮数は符号と絶対値の形式である。指数部は16
の幕乗を表わしており、さらに実際の値に64を加えた
形式になっているために、この浮動小数点データの表わ
す数値Yは、各ビット位置の2進数の値を左からs、b
t、b2、・・・b63とすると次のようにあたえられ
る。
タの形式の一例を示しており、1ビツトの仮数部符号S
、7ビツトの指数部E、56ビツトの仮数小数部Mから
なる。仮数は符号と絶対値の形式である。指数部は16
の幕乗を表わしており、さらに実際の値に64を加えた
形式になっているために、この浮動小数点データの表わ
す数値Yは、各ビット位置の2進数の値を左からs、b
t、b2、・・・b63とすると次のようにあたえられ
る。
第5図は従来における浮動小数点乗算を実行する演算処
理装置のブロック図であり、従来の演算処理装置は、入
力オペランドレジスタ1および2、仮数の乗算器3、指
数の加算器4、両オペランドの符号から結果の符号を求
めるためのEXCLUS IVE−OR回路5、乗算器
3の出力の中間積ノ上位の無効桁を検出して正規化量を
求める正規化量検出器6、正規化量検出器6からの指示
で中間積を左シフトして最終的な正規化された積を出力
する正規化シフタ7、加算器4の出力の指数の中間結果
から正規化量を減じて最終的な指数を出力する加算器8
からなる。
理装置のブロック図であり、従来の演算処理装置は、入
力オペランドレジスタ1および2、仮数の乗算器3、指
数の加算器4、両オペランドの符号から結果の符号を求
めるためのEXCLUS IVE−OR回路5、乗算器
3の出力の中間積ノ上位の無効桁を検出して正規化量を
求める正規化量検出器6、正規化量検出器6からの指示
で中間積を左シフトして最終的な正規化された積を出力
する正規化シフタ7、加算器4の出力の指数の中間結果
から正規化量を減じて最終的な指数を出力する加算器8
からなる。
入力オペランドレジスタ1および2に保持された浮動小
数データの指数は実際の値に64を加えた値であるため
に指数加算器4では実際には両方の指数部を加算した後
に64を減じている。
数データの指数は実際の値に64を加えた値であるため
に指数加算器4では実際には両方の指数部を加算した後
に64を減じている。
乗算器3の出力の仮数の積の中間結果には一般に最上位
ビットから数ビットの0が含まれる。正規化動作はこの
0を切詰める動作でOを詰めた分だけ指数の値を減じる
ことで正規化前と後で浮動小数点データは同じ値となる
。第5図の演算処理装置では指数は16の幕乗を表わす
ために正規化は4ビット単位に行なわれる。
ビットから数ビットの0が含まれる。正規化動作はこの
0を切詰める動作でOを詰めた分だけ指数の値を減じる
ことで正規化前と後で浮動小数点データは同じ値となる
。第5図の演算処理装置では指数は16の幕乗を表わす
ために正規化は4ビット単位に行なわれる。
第4図の形式の浮動小数点データどうしで乗算を行なう
と、正規化前の指数の中間結果のとりうる値は−128
から+126となる。これに正規化動作が加わると、仮
数が14桁・56ビツトであるために、正規化量はOか
ら13となり、指数の最終結果のとりうる値は−141
から+126となる。第4図の形式の浮動小数点データ
の指数のとりうる値は−64から63であり値の表現範
囲をはみ出す可能性がある。
と、正規化前の指数の中間結果のとりうる値は−128
から+126となる。これに正規化動作が加わると、仮
数が14桁・56ビツトであるために、正規化量はOか
ら13となり、指数の最終結果のとりうる値は−141
から+126となる。第4図の形式の浮動小数点データ
の指数のとりうる値は−64から63であり値の表現範
囲をはみ出す可能性がある。
指数の最終結果が63を越えた場合を一般に指数オーバ
フロー、−64より小さくなった場合を一般に指数アン
ダフローと呼ぶが、もはや正しい値を表現できなくなっ
ているためにこれらを演算例外と呼ぶ。
フロー、−64より小さくなった場合を一般に指数アン
ダフローと呼ぶが、もはや正しい値を表現できなくなっ
ているためにこれらを演算例外と呼ぶ。
第5図の演算処理装置では、この2つの演算例外、すな
わち指数オーバフローと指数アンダフロ−の検出は、加
算器8の出力を通常の指数部出力となる7ビツトの部分
のばかに指数データの情報を失なわないように十分デー
タ幅を広くとって、指数の最終結果が−64から+63
の範囲に入っているか否かを加算器8の出力でチエツク
している。
わち指数オーバフローと指数アンダフロ−の検出は、加
算器8の出力を通常の指数部出力となる7ビツトの部分
のばかに指数データの情報を失なわないように十分デー
タ幅を広くとって、指数の最終結果が−64から+63
の範囲に入っているか否かを加算器8の出力でチエツク
している。
演算例外が発生すると、正しいデータ表現はできなくな
り、以降正常なデータ処理はできなくなるために、制御
プログラムに異常を知らせるなど特殊な制御が必要とな
る。
り、以降正常なデータ処理はできなくなるために、制御
プログラムに異常を知らせるなど特殊な制御が必要とな
る。
発明が解決しようとする課題
しかしながら、上述した従来の浮動小数点演算を行なう
演算処理装置では、演算例外を検出するために、仮数の
中間結果から正規化量を求めこれを指数の中間結果から
減じ、最終的な指数の値が浮動小数点データの指数の表
現範囲内に収まっているか否かを調べていたので、演算
例外が検出されるのが最終的な演算結果と同時がそれ以
降になり、演算例外検出機構が浮動小数点演算の性能に
影響を与えるという欠点があった。
演算処理装置では、演算例外を検出するために、仮数の
中間結果から正規化量を求めこれを指数の中間結果から
減じ、最終的な指数の値が浮動小数点データの指数の表
現範囲内に収まっているか否かを調べていたので、演算
例外が検出されるのが最終的な演算結果と同時がそれ以
降になり、演算例外検出機構が浮動小数点演算の性能に
影響を与えるという欠点があった。
本発明は従来の上記実情に鑑みてなされたものであり、
従って本発明の目的は、従来の技術に内在する上記欠点
を解消することを可能とした新規な演算例外検出方式を
提供することにある。
従って本発明の目的は、従来の技術に内在する上記欠点
を解消することを可能とした新規な演算例外検出方式を
提供することにある。
課題を解決するための手段
上記目的を達成するために、本発明に係る演算例外検出
方式は、入力された仮数部および指数部で表現される浮
動小数点データを演算処理し正規化された浮動小数点デ
ータを演算結果として出力する際に正規化された浮動小
数点データの演算結果の指数部の値が浮動小数点データ
の表現範囲を越えているために正しい値を表現できなく
なったときに演算例外として検出する演算例外検出方式
において、正規化前の中間結果の仮数の各桁が有効桁か
否かを各桁毎に検出する有効桁検出手段と、正規化前の
中間結果の指数から中間結果の仮数の最上位桁からどの
桁位置までに有効桁があれば指数のオーバフローが発生
するかを指示する演算例外検出マスク情報を生成する指
数デコード手段と、前記指数デコード手段から指示され
た中間結果の桁範囲に前記有効桁検出手段で検出された
有効桁情報があるかを検査する例外検出手段と、を備え
て構成される。
方式は、入力された仮数部および指数部で表現される浮
動小数点データを演算処理し正規化された浮動小数点デ
ータを演算結果として出力する際に正規化された浮動小
数点データの演算結果の指数部の値が浮動小数点データ
の表現範囲を越えているために正しい値を表現できなく
なったときに演算例外として検出する演算例外検出方式
において、正規化前の中間結果の仮数の各桁が有効桁か
否かを各桁毎に検出する有効桁検出手段と、正規化前の
中間結果の指数から中間結果の仮数の最上位桁からどの
桁位置までに有効桁があれば指数のオーバフローが発生
するかを指示する演算例外検出マスク情報を生成する指
数デコード手段と、前記指数デコード手段から指示され
た中間結果の桁範囲に前記有効桁検出手段で検出された
有効桁情報があるかを検査する例外検出手段と、を備え
て構成される。
実施例
次に本発明をその好ましい一実施例について図面を参照
して具体的に説明する。
して具体的に説明する。
第1図は本発明に係る演算例外検出方式を用いた浮動小
数点演算処理装置の一実施例を示すブロック構成図であ
る。
数点演算処理装置の一実施例を示すブロック構成図であ
る。
第1図を参照するに、入力オペランドレジスタ1および
2は演算処理する浮動小数点データを保持する0乗算器
3は入力オペランドレジスタ1および2に保持された浮
動小数点データの仮数部54.55どうじを乗算し中間
結果の仮数58を出力する。加算器4は、入力オペラン
ドレジスタ1および2に保持された浮動小数点データの
指数部52゜53どうじを加算し、さらに指数のバイア
ス値64を減じて、中間結果の指数57を出力する。
2は演算処理する浮動小数点データを保持する0乗算器
3は入力オペランドレジスタ1および2に保持された浮
動小数点データの仮数部54.55どうじを乗算し中間
結果の仮数58を出力する。加算器4は、入力オペラン
ドレジスタ1および2に保持された浮動小数点データの
指数部52゜53どうじを加算し、さらに指数のバイア
ス値64を減じて、中間結果の指数57を出力する。
EXCLUSIVE ORゲート回路5は入力オペラン
ドレジスタ1および2に保持された浮動小数点データの
符号50.51の排他的論理和をとり、演算結果の符号
56を出力する。正規化量検出器6は乗算器3の仮数の
中間結果出力58の最上位桁からの無効桁数を正規化量
61として出力する。正規化シフタ7は乗算器3の出力
の中間結果の仮数を正規化量検出器6の出力の正規化量
61だけ左シフトし最終結果の仮数64として出力する
。加算器8は加算器4の中間結果の指数出力57から正
規化量検出器6出力の正規化量61を減じ最終結果の指
数63として出力する。
ドレジスタ1および2に保持された浮動小数点データの
符号50.51の排他的論理和をとり、演算結果の符号
56を出力する。正規化量検出器6は乗算器3の仮数の
中間結果出力58の最上位桁からの無効桁数を正規化量
61として出力する。正規化シフタ7は乗算器3の出力
の中間結果の仮数を正規化量検出器6の出力の正規化量
61だけ左シフトし最終結果の仮数64として出力する
。加算器8は加算器4の中間結果の指数出力57から正
規化量検出器6出力の正規化量61を減じ最終結果の指
数63として出力する。
有効桁検出器9は乗算器3の中間結果の仮数出力58の
各桁4ビットずつが各々0か否かを検出して出力する。
各桁4ビットずつが各々0か否かを検出して出力する。
指数部デコーダ10は中間結果の指数57から演算例外
検出のための有効桁検出器9からの出力60のテスト条
件を指定する情報59を出力する1例外検出器11は有
効桁検出器8および指数部デコーダ9からの出力情報を
もと、に演算例外62を検出する。
検出のための有効桁検出器9からの出力60のテスト条
件を指定する情報59を出力する1例外検出器11は有
効桁検出器8および指数部デコーダ9からの出力情報を
もと、に演算例外62を検出する。
有効桁検出器9、指数部デコーダ10および例外検出器
11からなる演算例外検出部の詳細な構成を第2図に示
す、有効桁検出器9は141111の4人力論理和ゲー
トから構成され1乗算器3の出力の中間結果の仮数58
の4ビツトずつの各桁が無効桁(二〇)か有効桁(≠O
)かを出力する。指数部デコーダ10は加算器4の指数
出力57の値に応じて仮数の各桁対応に第3図に示すよ
うな値を出力する。
11からなる演算例外検出部の詳細な構成を第2図に示
す、有効桁検出器9は141111の4人力論理和ゲー
トから構成され1乗算器3の出力の中間結果の仮数58
の4ビツトずつの各桁が無効桁(二〇)か有効桁(≠O
)かを出力する。指数部デコーダ10は加算器4の指数
出力57の値に応じて仮数の各桁対応に第3図に示すよ
うな値を出力する。
第3図で示されている指数の値は実際の指数の値で+6
4偏移された値ではない0例外検出器11は、有効桁検
出器9で作成された中間結果の仮数の有効桁情報60お
よび指数部デコーダ10で作成された例外検出条件59
から指数オーバフロー例外62を検出する。指数57の
値が+63以下の場合には指数オーバフローは起こり得
ないので指数部デコーダ10の出力は全て0となり、中
間結果の仮数部58の値によらず指数オーバフロー例外
は検出されない、指数57の値が+77以上の場合には
正規化量は13以下なので、中間結果の仮数58が全て
0でないかぎり最終結果の指数63は+64以上となる
ために指数部デコーダ10の出力59は全て1となり、
中間結果の仮数58が0でない場合に指数オーバフロー
例外が検出される。
4偏移された値ではない0例外検出器11は、有効桁検
出器9で作成された中間結果の仮数の有効桁情報60お
よび指数部デコーダ10で作成された例外検出条件59
から指数オーバフロー例外62を検出する。指数57の
値が+63以下の場合には指数オーバフローは起こり得
ないので指数部デコーダ10の出力は全て0となり、中
間結果の仮数部58の値によらず指数オーバフロー例外
は検出されない、指数57の値が+77以上の場合には
正規化量は13以下なので、中間結果の仮数58が全て
0でないかぎり最終結果の指数63は+64以上となる
ために指数部デコーダ10の出力59は全て1となり、
中間結果の仮数58が0でない場合に指数オーバフロー
例外が検出される。
指数57が+64から+76の間にある場合には正規化
量によって指数オーバフロー例外が発生するか否かが決
まり、中間結果の仮数58の先頭から指数オーバフロー
例外を引き起こす桁位置に有効桁があるか否かを検出す
るための検出条件59を指数部デコーダlOが指数57
の値に応じて出力し、有効桁を検出した場合に指数オー
バフロー例外として報告する。
量によって指数オーバフロー例外が発生するか否かが決
まり、中間結果の仮数58の先頭から指数オーバフロー
例外を引き起こす桁位置に有効桁があるか否かを検出す
るための検出条件59を指数部デコーダlOが指数57
の値に応じて出力し、有効桁を検出した場合に指数オー
バフロー例外として報告する。
発明の詳細
な説明したように本発明によれば、浮動小数点演算処理
装置において、演算処理後の正規化前に、指数部の中間
結果の値が演算例外が発生しうる場合に仮数部の中間結
果の内容が演算例外を引き起こす条件を満たしているか
否かを検査し、最終的な演算結果を待たずに演算例外を
報告できるので、演算例外の検出機構が浮動小数点演算
の性能に影響を与えることが避けられるという効果が得
られる。
装置において、演算処理後の正規化前に、指数部の中間
結果の値が演算例外が発生しうる場合に仮数部の中間結
果の内容が演算例外を引き起こす条件を満たしているか
否かを検査し、最終的な演算結果を待たずに演算例外を
報告できるので、演算例外の検出機構が浮動小数点演算
の性能に影響を与えることが避けられるという効果が得
られる。
第1図は本発明の演算例外検出方式を採用した浮動小数
点演算処理装置の一実施例を示すブロック構成図、第2
図は演算例外検出部分の詳細な構成を示したブロック図
、第3図は指数デコーダ10の論理動作を説明する図、
第4図は浮動小数点データの一形式を表わした図、第5
図は従来の浮動小数点演算処理装置を説明したブロック
図である。 1.2・・・入カオベランドレジスタ、3・・・乗算器
、4.8・・・加算器、5−EXCLtJSIVE O
Rゲート回路、6・・・正規化量検出器、7・・・正規
化シフタ、9・・有効桁検出器、10・・・指数部デコ
ーダ、11・・・例外検出器 特許出願人 甲府日本電気株式会社 代 理 人 弁理士 熊谷雄太部
点演算処理装置の一実施例を示すブロック構成図、第2
図は演算例外検出部分の詳細な構成を示したブロック図
、第3図は指数デコーダ10の論理動作を説明する図、
第4図は浮動小数点データの一形式を表わした図、第5
図は従来の浮動小数点演算処理装置を説明したブロック
図である。 1.2・・・入カオベランドレジスタ、3・・・乗算器
、4.8・・・加算器、5−EXCLtJSIVE O
Rゲート回路、6・・・正規化量検出器、7・・・正規
化シフタ、9・・有効桁検出器、10・・・指数部デコ
ーダ、11・・・例外検出器 特許出願人 甲府日本電気株式会社 代 理 人 弁理士 熊谷雄太部
Claims (1)
- 【特許請求の範囲】 入力された仮数部および指数部で表現される浮動小数点
データを演算処理し正規化された浮動小数点データを演
算結果として出力する際に正規化された浮動小数点デー
タの演算結果の指数部の値が浮動小数点データの表現範
囲を越えているために正しい値を表現できなくなったと
きに演算例外として検出する演算例外検出方式において
、正規化前の中間結果の仮数の各桁が有効桁か否かを各
桁毎に検出する有効桁検出手段と、 正規化前の中間結果の指数から中間結果の仮数の最上位
桁からどの桁位置までに有効桁があれば指数のオーバフ
ローが発生するかを指示する演算例外検出マスク情報を
生成する指数デコード手段と、 前記指数デコード手段から指示された中間結果の桁範囲
に前記有効桁検出手段で検出された有効桁情報があるか
を検査する例外検出手段と、を備え、指数オーバフロー
例外を検出することを特徴とする演算例外検出方式。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP63325448A JPH02170224A (ja) | 1988-12-22 | 1988-12-22 | 演算例外検出方式 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP63325448A JPH02170224A (ja) | 1988-12-22 | 1988-12-22 | 演算例外検出方式 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH02170224A true JPH02170224A (ja) | 1990-07-02 |
Family
ID=18176976
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP63325448A Pending JPH02170224A (ja) | 1988-12-22 | 1988-12-22 | 演算例外検出方式 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH02170224A (ja) |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS5330241A (en) * | 1976-09-01 | 1978-03-22 | Hitachi Ltd | Arithmetic unit |
-
1988
- 1988-12-22 JP JP63325448A patent/JPH02170224A/ja active Pending
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS5330241A (en) * | 1976-09-01 | 1978-03-22 | Hitachi Ltd | Arithmetic unit |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US11347511B2 (en) | Floating-point scaling operation | |
| US5530663A (en) | Floating point unit for calculating a compound instruction A+B×C in two cycles | |
| JP3589719B2 (ja) | 算術演算の結果として生じる正および負のオーバーフローのハードウェアによる効率的な取り扱い方法 | |
| JP3076046B2 (ja) | 例外検出回路 | |
| US6216222B1 (en) | Handling exceptions in a pipelined data processing apparatus | |
| US5010508A (en) | Prenormalization for a floating-point adder | |
| US5341319A (en) | Method and apparatus for controlling a rounding operation in a floating point multiplier circuit | |
| US6947962B2 (en) | Overflow prediction algorithm and logic for high speed arithmetic units | |
| GB1579100A (en) | Digital arithmetic method and means | |
| US20090240753A1 (en) | Method, hardware product, and computer program product for using a decimal floating point unit to execute fixed point instructions | |
| Vassiliadis et al. | Brief communication Condition code predictor for fixed-point arithmetic units | |
| JPH02170225A (ja) | 演算例外検出方式 | |
| JPH09114641A (ja) | 最上位デジットを決定するための装置と方法 | |
| US7467178B2 (en) | Dual mode arithmetic saturation processing | |
| US20020178202A1 (en) | Floating point multiplier for delimited operands | |
| US7051062B2 (en) | Apparatus and method for adding multiple-bit binary-strings | |
| US5838601A (en) | Arithmetic processing method and arithmetic processing device | |
| JP2517064B2 (ja) | 非正規化数の処理方式 | |
| JPS61282928A (ja) | 浮動小数点演算装置 | |
| GB2275355A (en) | Detection of exponent underflow and overflow in a floating point adder | |
| JPS5911141B2 (ja) | 演算装置 | |
| JP3522387B2 (ja) | パイプライン演算装置 | |
| US4907185A (en) | Program-controlled computer with an interrupt capability for floating-point operation | |
| JPH06290023A (ja) | 浮動小数点演算装置 | |
| JPS61160134A (ja) | 指数アンダ−フロ−検出回路 |