JPH0467652B2 - - Google Patents
Info
- Publication number
- JPH0467652B2 JPH0467652B2 JP60190632A JP19063285A JPH0467652B2 JP H0467652 B2 JPH0467652 B2 JP H0467652B2 JP 60190632 A JP60190632 A JP 60190632A JP 19063285 A JP19063285 A JP 19063285A JP H0467652 B2 JPH0467652 B2 JP H0467652B2
- Authority
- JP
- Japan
- Prior art keywords
- exponent
- bit
- exponent part
- value
- subtracter
- 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 - Lifetime
Links
Description
【発明の詳細な説明】
〔概 要〕
浮動小数点同士の除算において、指数部演算で
生じるオーバーフロー,アンダーフロー検出を、
指数部と、1ビツトの拡張指数部からなる少ない
演算桁数の減算器で実現する。
生じるオーバーフロー,アンダーフロー検出を、
指数部と、1ビツトの拡張指数部からなる少ない
演算桁数の減算器で実現する。
本発明は、計算機における浮動小数点除算方式
に関するものであり、特に指数部のオーバーフロ
ーおよびアンダーフローの検出方式に関する。
に関するものであり、特に指数部のオーバーフロ
ーおよびアンダーフローの検出方式に関する。
浮動小数点除算では、浮動小数点数で表現され
た除数と被除数それぞれについて、小数部の先頭
の“0”をなくす正規化を行つてから除算の演
算、すなわち、指数部間での減算と、小数部間の
除算とが実行される。
た除数と被除数それぞれについて、小数部の先頭
の“0”をなくす正規化を行つてから除算の演
算、すなわち、指数部間での減算と、小数部間の
除算とが実行される。
第6図は、浮動小数点数を格納する浮動小数レ
ジスタの1例を示したものである。Sは符号ビツ
トであり、指数部は1〜7ビツト、小数部は短精
度、長精度、拡張精度に応じた長さをもち、それ
ぞれ16進6桁で31ビツト目まで、16進14桁で63ビ
ツト目まで、16進28桁で127ビツト目までとなつ
ている。
ジスタの1例を示したものである。Sは符号ビツ
トであり、指数部は1〜7ビツト、小数部は短精
度、長精度、拡張精度に応じた長さをもち、それ
ぞれ16進6桁で31ビツト目まで、16進14桁で63ビ
ツト目まで、16進28桁で127ビツト目までとなつ
ている。
指数部は16進数で表された小数部を16の累乗倍
する数として表されており、符号付きの数に64を
加えた数となつている。これにより指数部の値の
変化範囲0〜127のとき、指数としての値は−64
〜+63が有効範囲として使用されている。
する数として表されており、符号付きの数に64を
加えた数となつている。これにより指数部の値の
変化範囲0〜127のとき、指数としての値は−64
〜+63が有効範囲として使用されている。
従来の浮動小数点除算方式では、除算結果の指
数部オーバーフローおよびアンダーフローを判定
する場合に、第4図に示すように、1〜7ビツト
の指数部を上位に2ビツト拡張して、A,Bビツ
トを付加し、全体を9ビツト幅として演算し、
A,Bおよび第1ビツトの3個のビツトの値を用
いて判定を行つていた。
数部オーバーフローおよびアンダーフローを判定
する場合に、第4図に示すように、1〜7ビツト
の指数部を上位に2ビツト拡張して、A,Bビツ
トを付加し、全体を9ビツト幅として演算し、
A,Bおよび第1ビツトの3個のビツトの値を用
いて判定を行つていた。
このため、除算時の指数部演算は、1バイト幅
では間に合わず、たとえば4バイト長のワード演
算数によつており、さらにオーバーフローおよび
アンダーフローを判定するために、A,B、第1
の各ビツトを取り出すシフト演算が必要とされ
た。
では間に合わず、たとえば4バイト長のワード演
算数によつており、さらにオーバーフローおよび
アンダーフローを判定するために、A,B、第1
の各ビツトを取り出すシフト演算が必要とされ
た。
従来の7ビツト長の指数部をもつ浮動小数点数
の除算方式では、指数部がワード幅で演算される
とともに、オーバーフローおよびアンダーフロー
判定のための情報取り出しのためにシフト演算が
必要になり、演算速度が遅くなるという問題があ
つた。
の除算方式では、指数部がワード幅で演算される
とともに、オーバーフローおよびアンダーフロー
判定のための情報取り出しのためにシフト演算が
必要になり、演算速度が遅くなるという問題があ
つた。
本発明は、7ビツト長の指数部をもつ浮動小数
点数の除算における指数部演算を、7ビツトの指
数部の上位に1ビツトの拡張指数部を付加した1
バイト幅で実行するとともに、演算時に生じた拡
張指数部および次位のビツトにおける桁上げと、
演算結果における拡張指数部の値とをそれぞれ検
出し、これらの値に基づいて、オーバーフローあ
るいはアンダーフローの異常を判定するものであ
る。
点数の除算における指数部演算を、7ビツトの指
数部の上位に1ビツトの拡張指数部を付加した1
バイト幅で実行するとともに、演算時に生じた拡
張指数部および次位のビツトにおける桁上げと、
演算結果における拡張指数部の値とをそれぞれ検
出し、これらの値に基づいて、オーバーフローあ
るいはアンダーフローの異常を判定するものであ
る。
第1図は、本発明の原理を例示的に示す指数部
演算回路の構成図である。
演算回路の構成図である。
図において、11は第1の演算数の指数部レジ
スタ、111は拡張指数部ビツト、12は第2の
演算数の指数部レジスタ、121は拡張指数部ビ
ツト、13は1バイトの減算器、14は演算結果
の異常表示ラツチ、15は演算結果の正負表示ラ
ツチを示す。
スタ、111は拡張指数部ビツト、12は第2の
演算数の指数部レジスタ、121は拡張指数部ビ
ツト、13は1バイトの減算器、14は演算結果
の異常表示ラツチ、15は演算結果の正負表示ラ
ツチを示す。
減算器13は、2つの指数部レジスタ11,1
2の値を入力として減算を実行し、+64の補正
(正規化)を行つて出力する。
2の値を入力として減算を実行し、+64の補正
(正規化)を行つて出力する。
ここで、異常表示ラツチ14に設定される演算
結果の0ビツト目の値をEXP0,正負表示ラツチ
15の設定値をEXPuvとする。
結果の0ビツト目の値をEXP0,正負表示ラツチ
15の設定値をEXPuvとする。
異常表示ラツチ14の値、すなわち拡張指数部
ビツトの値EXP0が“1”となることは、減算器
13による2つの指数部の減算結果(ただし+64
の補正を行つたもの)が、−64〜+63の範囲外に
あること、すなわちオーバーフローあるいはアン
ダーフローしていることを表す。
ビツトの値EXP0が“1”となることは、減算器
13による2つの指数部の減算結果(ただし+64
の補正を行つたもの)が、−64〜+63の範囲外に
あること、すなわちオーバーフローあるいはアン
ダーフローしていることを表す。
また、減算器13の演算結果における0ビツト
目と1ビツト目から上位への桁上げを、それぞれ
CRY0,CRY1とし、+64補正前の0ビツト目の
値をEXP0′で表したとき、正負表示ラツチ15の
設定値EXPuvは、 EXPuv=(CRY0CRY1)0′で与えら
れ、演算結果の指数部の正負極性を表す。すなわ
ち、EXP0′=1の異常時に、EXPuv=1ならば
オーバーフロー、またEXPuv=0ならばアンダ
ーフローを表している。
目と1ビツト目から上位への桁上げを、それぞれ
CRY0,CRY1とし、+64補正前の0ビツト目の
値をEXP0′で表したとき、正負表示ラツチ15の
設定値EXPuvは、 EXPuv=(CRY0CRY1)0′で与えら
れ、演算結果の指数部の正負極性を表す。すなわ
ち、EXP0′=1の異常時に、EXPuv=1ならば
オーバーフロー、またEXPuv=0ならばアンダ
ーフローを表している。
本発明によれば、7ビツト目の指数部に付加す
る拡張指数部を、従来のように2ビツト(第4図
のA,Bビツト)にするのではなく、1ビツトで
済ますことにより、指数部演算を1バイト幅で行
うことを可能にする。
る拡張指数部を、従来のように2ビツト(第4図
のA,Bビツト)にするのではなく、1ビツトで
済ますことにより、指数部演算を1バイト幅で行
うことを可能にする。
第2図は、このような1ビツトの拡張指数部を
含む1バイトの指数部により表現される指数の範
囲を示したものである。
含む1バイトの指数部により表現される指数の範
囲を示したものである。
本発明は、演算時に拡張指数部を含む上位2ビ
ツトからの各桁上げの有無をチエツクし、演算結
果の拡張指数部の値と、上記した2つの桁上げの
有無との論理的関係に基づいて、オーバーフロー
およびアンダーフローの判定を行うため、シフト
演算が不要であり、高速判定を可能にする。
ツトからの各桁上げの有無をチエツクし、演算結
果の拡張指数部の値と、上記した2つの桁上げの
有無との論理的関係に基づいて、オーバーフロー
およびアンダーフローの判定を行うため、シフト
演算が不要であり、高速判定を可能にする。
第3図は、本発明の1実施例回路の構成図であ
る。
る。
図において、31は第1の演算数の指数部レジ
スタ、311は拡張指数部ビツト、32は第2の
演算数の指数部レジスタ、321は拡張指数部ビ
ツト、33は1バイトの減算器、34は異常表示
ラツチ、35は正負表示ラツチ、36および37
は排他的OR回路、38は反転回路、39は判定
回路、EXP0は異常表示ラツチ34の設定値であ
り、演算結果の拡張指数部ビツトの値、EXPuv
は正負表示ラツチ35の設定値CRY0,CRY1は
それぞれ演算結果の上位2ビツトに生じる上位へ
の桁上げである。
スタ、311は拡張指数部ビツト、32は第2の
演算数の指数部レジスタ、321は拡張指数部ビ
ツト、33は1バイトの減算器、34は異常表示
ラツチ、35は正負表示ラツチ、36および37
は排他的OR回路、38は反転回路、39は判定
回路、EXP0は異常表示ラツチ34の設定値であ
り、演算結果の拡張指数部ビツトの値、EXPuv
は正負表示ラツチ35の設定値CRY0,CRY1は
それぞれ演算結果の上位2ビツトに生じる上位へ
の桁上げである。
減算器33は、第1、第2の2つの演算数の指
数部レジスタ31,32の値同士の減算を1バイ
ト幅で実行し、さらに+64の補正を行つて、結果
の0ビツト目を除く残りの1〜7ビツトを出力す
る。0ビツト目の値は、EXP0として異常表示ラ
ツチ34に印加される。
数部レジスタ31,32の値同士の減算を1バイ
ト幅で実行し、さらに+64の補正を行つて、結果
の0ビツト目を除く残りの1〜7ビツトを出力す
る。0ビツト目の値は、EXP0として異常表示ラ
ツチ34に印加される。
減算器33はまた同時に、上位2ビツト(0,
1ビツト目)のそれぞれから上位への桁上げを
CRY0,CRY1として出力し、また+64補正前の
0ビツト目の値をEXP0′として出力する。
EXP0′は、反転回路38により反転され、
EXP0′となる。
1ビツト目)のそれぞれから上位への桁上げを
CRY0,CRY1として出力し、また+64補正前の
0ビツト目の値をEXP0′として出力する。
EXP0′は、反転回路38により反転され、
EXP0′となる。
排他的OR回路36は、CRY0とCRY1のいず
れか一方が“1”のときにのみ“1”を出力す
る。排他的OR回路37は、排他的OR回路36
の出力(CRY0CRY1)と反転回路38の出力
EXP0′のいずれか一方が“1”のときにのみ
“1”となる信号EXPuvを生じ、正負表示ラツチ
35を設定する。すなわち、次式で与えられる。
れか一方が“1”のときにのみ“1”を出力す
る。排他的OR回路37は、排他的OR回路36
の出力(CRY0CRY1)と反転回路38の出力
EXP0′のいずれか一方が“1”のときにのみ
“1”となる信号EXPuvを生じ、正負表示ラツチ
35を設定する。すなわち、次式で与えられる。
EXPuv=(CRY0CRY1)0′
判定回路39は、異常表示ラツチ34の値
EXP0および正負表示ラツチ35の値EXPuvに基
づいて、演算結果の指数部の値の正常/異常およ
びそれぞれについての値の正/負を判定し、オー
バーフローあるいはアンダーフローを検出したと
き、エラーとして報告する。
EXP0および正負表示ラツチ35の値EXPuvに基
づいて、演算結果の指数部の値の正常/異常およ
びそれぞれについての値の正/負を判定し、オー
バーフローあるいはアンダーフローを検出したと
き、エラーとして報告する。
第4図および第5図に、それぞれオーバーフロ
ーおよびアンダーフローを生じる場合の指数部演
算例の経過を示す。
ーおよびアンダーフローを生じる場合の指数部演
算例の経過を示す。
第4図の例は、第1の演算数(被除数)の指数
部が正規化後“01111111”(+63)で、第2の演
算数(除数)の指数部が正規化後“1111011”(−
67)のアンダーフローをしている場合のものであ
る。(1)の減算は、(2)の補数化加算と(3)の補数化補
正の形で実行され、さらに(4)で減算結果を−64〜
+63の範囲に正規化する+64の補正加算が行われ
る。
部が正規化後“01111111”(+63)で、第2の演
算数(除数)の指数部が正規化後“1111011”(−
67)のアンダーフローをしている場合のものであ
る。(1)の減算は、(2)の補数化加算と(3)の補数化補
正の形で実行され、さらに(4)で減算結果を−64〜
+63の範囲に正規化する+64の補正加算が行われ
る。
この結果、(3)でCRY0=0,CRY=1,
EXP0′=1となり、 EXPuv=(CRY0CRY1)0′ =(01)0=1 を得て、さらに(4)でもEXP0=1となることか
ら、演算結果は、指数部のオーバーフローである
と判定される。
EXP0′=1となり、 EXPuv=(CRY0CRY1)0′ =(01)0=1 を得て、さらに(4)でもEXP0=1となることか
ら、演算結果は、指数部のオーバーフローである
と判定される。
第5図の例は、第1の演算数(被除数)が正規
化後“11111011”(−67)で、第2の演算数(除
数)が正規化後“01111111”(+63)の場合のも
のである。この場合には、第4図と同様な演算過
程を経て、(3)でCRY0=1,CRY1=0,
EXP0′=0であることからEXPuv=0が得られ、
さらに(4)の+64の加算でEXP0=1となるので、
演算結果の指数部は、アンダーフローであると判
定される。
化後“11111011”(−67)で、第2の演算数(除
数)が正規化後“01111111”(+63)の場合のも
のである。この場合には、第4図と同様な演算過
程を経て、(3)でCRY0=1,CRY1=0,
EXP0′=0であることからEXPuv=0が得られ、
さらに(4)の+64の加算でEXP0=1となるので、
演算結果の指数部は、アンダーフローであると判
定される。
本発明によれば、浮動小数点除算において、指
数部演算およびその結果の判定がバイト幅で実行
され、シフト処理は不要であつて、ラツチを介し
て直ちに判定できるため、大幅な高速化が可能と
なる。
数部演算およびその結果の判定がバイト幅で実行
され、シフト処理は不要であつて、ラツチを介し
て直ちに判定できるため、大幅な高速化が可能と
なる。
第1図は本発明の原理的構成図、第2図は指数
の範囲の説明図、第3図は本発明の1実施例回路
の構成図、第4図はオーバーフローの指数部演算
例を示す説明図、第5図はアンダーフローの指数
部演算例を示す説明図、第6図は浮動小数レジス
タの構成図である。 第1図中、11:第1の演算数の指数部レジス
タ、12:第2の演算数の指数部レジスタ、11
1,121:拡張指数部ビツト、13:減算器、
14:異常表示ラツチ、15:正負表示ラツチ。
の範囲の説明図、第3図は本発明の1実施例回路
の構成図、第4図はオーバーフローの指数部演算
例を示す説明図、第5図はアンダーフローの指数
部演算例を示す説明図、第6図は浮動小数レジス
タの構成図である。 第1図中、11:第1の演算数の指数部レジス
タ、12:第2の演算数の指数部レジスタ、11
1,121:拡張指数部ビツト、13:減算器、
14:異常表示ラツチ、15:正負表示ラツチ。
Claims (1)
- 【特許請求の範囲】 1 指数部演算用の減算器13をそなえた浮動小
数点除算装置において、 上記減算器13は、除算すべき2つの演算数の
それぞれの指数部の上位に1ビツトの拡張指数部
を付加した長さの演算幅をもち、 上記減算器13の演算時に上位の0ビツト目お
よび1ビツト目のそれぞれから上位へ生じる桁上
げの有無と演算結果の0ビツト目の値とを検出
し、演算結果の指数部のオーバーフローおよびア
ンダーフローを判定することを特徴とする浮動小
数点除算方式。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP60190632A JPS6249540A (ja) | 1985-08-29 | 1985-08-29 | 浮動小数点除算方式 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP60190632A JPS6249540A (ja) | 1985-08-29 | 1985-08-29 | 浮動小数点除算方式 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS6249540A JPS6249540A (ja) | 1987-03-04 |
| JPH0467652B2 true JPH0467652B2 (ja) | 1992-10-29 |
Family
ID=16261297
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP60190632A Granted JPS6249540A (ja) | 1985-08-29 | 1985-08-29 | 浮動小数点除算方式 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS6249540A (ja) |
-
1985
- 1985-08-29 JP JP60190632A patent/JPS6249540A/ja active Granted
Also Published As
| Publication number | Publication date |
|---|---|
| JPS6249540A (ja) | 1987-03-04 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5337265A (en) | Apparatus for executing add/sub operations between IEEE standard floating-point numbers | |
| JP2511527B2 (ja) | 浮動小数点演算器 | |
| CN111290790B (zh) | 一种定点转浮点的转换装置 | |
| JPH0467652B2 (ja) | ||
| JPH04350724A (ja) | シフト量検出回路 | |
| JPH0283728A (ja) | 浮動小数点乗算装置 | |
| JPS61282928A (ja) | 浮動小数点演算装置 | |
| JPS63158626A (ja) | 演算処理装置 | |
| US5805487A (en) | Method and system for fast determination of sticky and guard bits | |
| JPS60235241A (ja) | 浮動小数点加算回路 | |
| JPS60167030A (ja) | シフトフラグ生成方式及びシフトフラグ生成回路 | |
| JPH0475541B2 (ja) | ||
| JPH07134645A (ja) | 情報処理用条件コード生成装置 | |
| JPH0370029A (ja) | 浮動小数点演算装置 | |
| JPS5911141B2 (ja) | 演算装置 | |
| JPS6148038A (ja) | 加算器の零検出方式 | |
| JPH0635676A (ja) | 除算回路 | |
| JPS59125435A (ja) | 浮動小数点演算方式 | |
| JPH07104777B2 (ja) | 浮動小数点加減算装置 | |
| JPH06290023A (ja) | 浮動小数点演算装置 | |
| JPH03217938A (ja) | 浮動小数点丸め正規化装置 | |
| JPS6148036A (ja) | 演算処理装置 | |
| JPH0352093B2 (ja) | ||
| JPS6359170B2 (ja) | ||
| JPH03245226A (ja) | 浮動小数点乗算装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| LAPS | Cancellation because of no payment of annual fees |