JPS581244A - 浮動小数点命令例外検出方法 - Google Patents
浮動小数点命令例外検出方法Info
- Publication number
- JPS581244A JPS581244A JP56099205A JP9920581A JPS581244A JP S581244 A JPS581244 A JP S581244A JP 56099205 A JP56099205 A JP 56099205A JP 9920581 A JP9920581 A JP 9920581A JP S581244 A JPS581244 A JP S581244A
- Authority
- JP
- Japan
- Prior art keywords
- carry
- bit
- overflow
- exponent
- underflow
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/483—Computations with numbers represented by a non-linear combination of denominational numbers, e.g. rational numbers, logarithmic number system or floating-point numbers
- G06F7/487—Multiplying; Dividing
- G06F7/4876—Multiplying
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/499—Denomination or exception handling, e.g. rounding or overflow
- G06F7/49905—Exception handling
- G06F7/4991—Overflow or underflow
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computational Mathematics (AREA)
- Computing Systems (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Nonlinear Science (AREA)
- General Engineering & Computer Science (AREA)
- Executing Machine-Instructions (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
本発明は、正規化浮動小数点数の乗算などに際してその
指数部に生じる命令例外つまりオーバフローまたはアン
ダーフローの検出方法に関する。
指数部に生じる命令例外つまりオーバフローまたはアン
ダーフローの検出方法に関する。
周知のように実数fはm×−として表わされ(mは仮数
、rは基数、・は指数)、仮数mが小数でその小数点第
1位が0でないように指数eを調整し九実数f=(m、
、*)’(正規化浮動小数点数とい\、か\る数fl
* t=同志の乗算はf、 X f、 =(m1r @
t ) X (m鵞* *m)=(mtXm雪−e++
s雪)となる。つまり仮数部では乗算が、指数部では加
算が行なわれる。なお除算の場合は仮数部で除算が、ま
た指数部で減算が行なわれ、加減算の場合は指数部を合
せたのち仮数部を加減算する、具体的には(ml、0重
)±(mg’ + @! )は・!〉・怠なら〔町士m
雪xr@1− @1.・1〕、・1≦e雪なら〔町×r
J−f±ml e ml 〕なる演算を行なう。
、rは基数、・は指数)、仮数mが小数でその小数点第
1位が0でないように指数eを調整し九実数f=(m、
、*)’(正規化浮動小数点数とい\、か\る数fl
* t=同志の乗算はf、 X f、 =(m1r @
t ) X (m鵞* *m)=(mtXm雪−e++
s雪)となる。つまり仮数部では乗算が、指数部では加
算が行なわれる。なお除算の場合は仮数部で除算が、ま
た指数部で減算が行なわれ、加減算の場合は指数部を合
せたのち仮数部を加減算する、具体的には(ml、0重
)±(mg’ + @! )は・!〉・怠なら〔町士m
雪xr@1− @1.・1〕、・1≦e雪なら〔町×r
J−f±ml e ml 〕なる演算を行なう。
ところで実数fの演算、例えば乗算において、指数同志
の加算を行なうと該指数部でオーバフローが生じること
があり、また仮数乗算後その乗算結果を正規化すべく指
数部を調整する際該指数部にアンダーフローが生じる(
オール0になってもまだ調整し切れず、負になる)こと
がある。マイクロプログラムでか\るオーバフローおよ
びアン、ダーツローを検出するのに従来は先ずオーバフ
ローt−チェ、りし、オーバフローでない場合アンダ−
フローをチェ、りするという方法をとっており、仁の方
法では処理速度が上らない。
の加算を行なうと該指数部でオーバフローが生じること
があり、また仮数乗算後その乗算結果を正規化すべく指
数部を調整する際該指数部にアンダーフローが生じる(
オール0になってもまだ調整し切れず、負になる)こと
がある。マイクロプログラムでか\るオーバフローおよ
びアン、ダーツローを検出するのに従来は先ずオーバフ
ローt−チェ、りし、オーバフローでない場合アンダ−
フローをチェ、りするという方法をとっており、仁の方
法では処理速度が上らない。
本発明はか\る点を改善しようとするもので、オーバフ
ローにせよアンダーフローにせよ、生じるのは一方で、
両者が同時に生じることはないから、一方は生じないと
いう条件が得られればチェックは他方のみにし、高速な
例外検出全行なえるようにした。即ち本発明は正規化浮
動小数点数の演算に際してその指数部に生じる命令例外
の検出方法において、該指数部の演算実行時に第1.第
2の前記小数点数の指数部のサインSt e Ss 、
および指数部最上位桁からのキヤ!J −CYがセット
される演算器状態レジスタの内容金チェ、りし、キャリ
ーCYが00ときはアンダーフローの発生のみチェック
し、キャリーcYが1のときはオーバ70−の発生のみ
チェ、りすることを特徴とするが、次に図面を参照しな
がらこれを詳細に説明する。
ローにせよアンダーフローにせよ、生じるのは一方で、
両者が同時に生じることはないから、一方は生じないと
いう条件が得られればチェックは他方のみにし、高速な
例外検出全行なえるようにした。即ち本発明は正規化浮
動小数点数の演算に際してその指数部に生じる命令例外
の検出方法において、該指数部の演算実行時に第1.第
2の前記小数点数の指数部のサインSt e Ss 、
および指数部最上位桁からのキヤ!J −CYがセット
される演算器状態レジスタの内容金チェ、りし、キャリ
ーCYが00ときはアンダーフローの発生のみチェック
し、キャリーcYが1のときはオーバ70−の発生のみ
チェ、りすることを特徴とするが、次に図面を参照しな
がらこれを詳細に説明する。
第1図および第2図は従来方式の一例を示し、浮動本数
点乗算の指数部演算を例にしている。正規化浮動小数点
数fは前記の仮数および指数と該数が正か負かを示す符
号(サイン)がらなり、サインは1ビ、トで、通常0は
正、1は負を示す。
点乗算の指数部演算を例にしている。正規化浮動小数点
数fは前記の仮数および指数と該数が正か負かを示す符
号(サイン)がらなり、サインは1ビ、トで、通常0は
正、1は負を示す。
−例として全体が32ビ、トで表ゎさh、指へには7ビ
ツト与えられたとすると、数fの第0ビツトは指数のサ
イン、第1〜第7ビツトは指数の実数部、第8〜第31
ビツトは仮数となるっ1璽数には正、負があり得るが、
バイアスして必らず正とした偏位指数が一般に用いられ
、この場合の該第0ビ、トは必らず0である。なお数f
そのものの正、負を示すサインはここでは省略しである
。指数演算に当っては各52ビ、トの乗数、被乗数をレ
ジスタ(通常はローカルスト−リッジ)WKO。
ツト与えられたとすると、数fの第0ビツトは指数のサ
イン、第1〜第7ビツトは指数の実数部、第8〜第31
ビツトは仮数となるっ1璽数には正、負があり得るが、
バイアスして必らず正とした偏位指数が一般に用いられ
、この場合の該第0ビ、トは必らず0である。なお数f
そのものの正、負を示すサインはここでは省略しである
。指数演算に当っては各52ビ、トの乗数、被乗数をレ
ジスタ(通常はローカルスト−リッジ)WKO。
WKlに取込み、24ビツト右シフトしてそれらの指数
CI、C2が右端にくるよう1ζする。然るのち加算C
I+02t−行ない、その結果をレジスタWK2に入れ
る。一方、仮数部の乗算MULT i行ない(指数部加
算と仮数部乗算は、加算器の他に乗算器を持っている中
央処理装置なら同時に実行できる)、その乗算結果につ
き後正規化(ボストノーマライズ)が必要かをチェック
する。必要(イエスY)なら小数点を右へ1桁シフトす
ると共に指数CI +C2t” I L、仮数を正規
化小数とする。このとき若しCI=02=0なら−1す
ると負になり、上位ビットは反転する。そこでレジx
タWK 2 o$ 23位ビットがオンかt−チェック
し、オン″11″ならアンダーフローと判断する。
CI、C2が右端にくるよう1ζする。然るのち加算C
I+02t−行ない、その結果をレジスタWK2に入れ
る。一方、仮数部の乗算MULT i行ない(指数部加
算と仮数部乗算は、加算器の他に乗算器を持っている中
央処理装置なら同時に実行できる)、その乗算結果につ
き後正規化(ボストノーマライズ)が必要かをチェック
する。必要(イエスY)なら小数点を右へ1桁シフトす
ると共に指数CI +C2t” I L、仮数を正規
化小数とする。このとき若しCI=02=0なら−1す
ると負になり、上位ビットは反転する。そこでレジx
タWK 2 o$ 23位ビットがオンかt−チェック
し、オン″11″ならアンダーフローと判断する。
オーバフローがあったかは、第24位ビットをみればよ
い。即ちこの指数(偏位指数)CI 、C2の第24位
ビット(第0ビ、ト)は0であり、これらを加えたCI
+02の第24位ビットも当然0である。これが1であ
るということは第25位からキャリーが上ったつまりオ
ーバフローが生じたということである。このように従来
方式ではアンダーフローか、オーバフローかと尋ねてお
り、所要時間が大となる。また指数の実数部25〜31
ビ、トの他にその上位2ピツ)23.24ビ、トを見る
必要があり、レジスタWK2の指数部には実数部の他に
上位2ビ、ト本例では9ビ、ト必要□である。
い。即ちこの指数(偏位指数)CI 、C2の第24位
ビット(第0ビ、ト)は0であり、これらを加えたCI
+02の第24位ビットも当然0である。これが1であ
るということは第25位からキャリーが上ったつまりオ
ーバフローが生じたということである。このように従来
方式ではアンダーフローか、オーバフローかと尋ねてお
り、所要時間が大となる。また指数の実数部25〜31
ビ、トの他にその上位2ピツ)23.24ビ、トを見る
必要があり、レジスタWK2の指数部には実数部の他に
上位2ビ、ト本例では9ビ、ト必要□である。
第3図および第4図は本廃明の実施例を示す。
これらの図に示すように本発明ではサインのシフトは行
なわず、レジスタ(ローカルスト−リッジ)に入ってい
るま\の状態で指数の加算CI+02を行ない、この演
算を行なう演算器ALUの状態(ステータス)レジスタ
ASRのビットCYをみる。第5図は演算回路を示し、
ローカルスト−IJ、ジWKの所定のアドレスから読出
した乗数および被乗数のサイン及び指数St、St、C
t+Ct’!i?レジスタREGa 、 RIEGbに
セ、トシ、これらを演算器ALUで加算し、その結果が
ローカルスドーリ。
なわず、レジスタ(ローカルスト−リッジ)に入ってい
るま\の状態で指数の加算CI+02を行ない、この演
算を行なう演算器ALUの状態(ステータス)レジスタ
ASRのビットCYをみる。第5図は演算回路を示し、
ローカルスト−IJ、ジWKの所定のアドレスから読出
した乗数および被乗数のサイン及び指数St、St、C
t+Ct’!i?レジスタREGa 、 RIEGbに
セ、トシ、これらを演算器ALUで加算し、その結果が
ローカルスドーリ。
ジWKに格納されるが、その際ビット1(実数部の最上
位ビット)からのキャリーCYルジスタREGa 、R
EGbの第0ビ、トつまり指数CI、C2のサイン81
.82がALUステーデーレジスタAIHに格納される
。このレジスタASRへは、演算結果の第1〜第7ピ、
トが0であるとき1となるフラグZl?も取込まれる。
位ビット)からのキャリーCYルジスタREGa 、R
EGbの第0ビ、トつまり指数CI、C2のサイン81
.82がALUステーデーレジスタAIHに格納される
。このレジスタASRへは、演算結果の第1〜第7ピ、
トが0であるとき1となるフラグZl?も取込まれる。
Gは上記条件を判定するゲートである。ところでこのキ
ャリーCYが発生したという仁とはオーバフロー発生の
恐れはあるにしてもアンダーフロー発生の恐れはなく、
これとは逆にキャリーcYが発生しなければアンダーフ
ローの恐れはあるにしてもオーバフローが生じる心配は
ない。そこで本発明では分岐命令でv−)xlAsRの
cyビ、i眺めそのオン(”1−オフ(10″)に従、
りてマイクロプログラムを走行シーケンスを変化させる
。具体的にはcYピットがオンならオーバフローチェッ
クのみ行ない、オフならアンダー70−チェ、りのみ行
なう(c y= 1でかつレジスタWK2の第0位ビッ
トが1ならオーバフロー、CY=0でかつレジスタWK
2の第0位ビットが1ならアンダーフロー)。このよう
にすればチェ、り所要時間が短縮できる。
ャリーCYが発生したという仁とはオーバフロー発生の
恐れはあるにしてもアンダーフロー発生の恐れはなく、
これとは逆にキャリーcYが発生しなければアンダーフ
ローの恐れはあるにしてもオーバフローが生じる心配は
ない。そこで本発明では分岐命令でv−)xlAsRの
cyビ、i眺めそのオン(”1−オフ(10″)に従、
りてマイクロプログラムを走行シーケンスを変化させる
。具体的にはcYピットがオンならオーバフローチェッ
クのみ行ない、オフならアンダー70−チェ、りのみ行
なう(c y= 1でかつレジスタWK2の第0位ビッ
トが1ならオーバフロー、CY=0でかつレジスタWK
2の第0位ビットが1ならアンダーフロー)。このよう
にすればチェ、り所要時間が短縮できる。
なおレジスタASHのフラグz17は加減算時に使用さ
れる。即ち浮動小数点加減算においてZl?=1はCl
=C2t−意味し、この場合プリノーマライズは不要で
あるから該処理の実行ルーチン全省略して高速化を図る
ことができる。
れる。即ち浮動小数点加減算においてZl?=1はCl
=C2t−意味し、この場合プリノーマライズは不要で
あるから該処理の実行ルーチン全省略して高速化を図る
ことができる。
以上説明したように本発明では演算(CI+02)時の
ビット1からのキャリーCYi眺め、このキャリーがあ
れはオーパブb−’tチェックし、キャリーがなければ
アンダーフロー全チェックするという方法をとるので、
チェックが1回ですみ、また指数部の所要ビット数も従
来方式より1ビ、ト少なくてよい。更に1ビ、ト少なく
てよいということは、第2図で言えば第23位ビットを
見なくてよい従って指数部の24ビ、トシ7トは不要で
あるということにな妙、この点も所要時間短縮に有効で
ある。
ビット1からのキャリーCYi眺め、このキャリーがあ
れはオーパブb−’tチェックし、キャリーがなければ
アンダーフロー全チェックするという方法をとるので、
チェックが1回ですみ、また指数部の所要ビット数も従
来方式より1ビ、ト少なくてよい。更に1ビ、ト少なく
てよいということは、第2図で言えば第23位ビットを
見なくてよい従って指数部の24ビ、トシ7トは不要で
あるということにな妙、この点も所要時間短縮に有効で
ある。
第1図および第2図は従来方式の説明図、第3図および
第4図は本発明の説明図、第5図は演算ユニット部分の
ブロック図である。 図面で、C1,02,CI+02は指数部、cyはキャ
リーである。 出願人 富士通株式会社 代理人弁理士 青 柳 稔りツタトtし 第8図 第4図 WK2画者二] (。
第4図は本発明の説明図、第5図は演算ユニット部分の
ブロック図である。 図面で、C1,02,CI+02は指数部、cyはキャ
リーである。 出願人 富士通株式会社 代理人弁理士 青 柳 稔りツタトtし 第8図 第4図 WK2画者二] (。
Claims (1)
- 正規化浮動小数点数の演算に際してその指数部に生じる
命令例外の検出方法において、該指数部の演算実行時に
第1.第2の前記小数点数の指数部のサイン81 p
Sx 、および指数部最上位桁からのキャ9−CYがセ
ットされる演算器状態レジスタの内容をチェックし、キ
ャリーCYが0のトキはアンダースローの発生のみチェ
ックし、キャリーCYが1のときはオーバフローの発生
のみチェックすることを特徴とした浮動小数点命令例外
検出方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP56099205A JPS581244A (ja) | 1981-06-26 | 1981-06-26 | 浮動小数点命令例外検出方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP56099205A JPS581244A (ja) | 1981-06-26 | 1981-06-26 | 浮動小数点命令例外検出方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPS581244A true JPS581244A (ja) | 1983-01-06 |
Family
ID=14241141
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP56099205A Pending JPS581244A (ja) | 1981-06-26 | 1981-06-26 | 浮動小数点命令例外検出方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS581244A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6428725A (en) * | 1987-07-24 | 1989-01-31 | Hitachi Ltd | Floating point arithmetic circuit |
JPH03179108A (ja) * | 1989-12-06 | 1991-08-05 | Hitachi Ltd | 蒸気タービン制御装置およびその制御方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS53133340A (en) * | 1977-04-27 | 1978-11-21 | Nec Corp | Cylindrical magnetic domain element |
JPS5537028A (en) * | 1978-09-08 | 1980-03-14 | Hitachi Ltd | Stop position control system of continuous slip paper |
-
1981
- 1981-06-26 JP JP56099205A patent/JPS581244A/ja active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS53133340A (en) * | 1977-04-27 | 1978-11-21 | Nec Corp | Cylindrical magnetic domain element |
JPS5537028A (en) * | 1978-09-08 | 1980-03-14 | Hitachi Ltd | Stop position control system of continuous slip paper |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6428725A (en) * | 1987-07-24 | 1989-01-31 | Hitachi Ltd | Floating point arithmetic circuit |
JPH03179108A (ja) * | 1989-12-06 | 1991-08-05 | Hitachi Ltd | 蒸気タービン制御装置およびその制御方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4941120A (en) | Floating point normalization and rounding prediction circuit | |
KR100302686B1 (ko) | 독립적인승산및가산명령어를이용하여고정밀도승산-가산연산을수행하기위한방법및장치 | |
EP0483864B1 (en) | Hardware arrangement for floating-point addition and subtraction | |
US6360189B1 (en) | Data processing apparatus and method for performing multiply-accumulate operations | |
US6529928B1 (en) | Floating-point adder performing floating-point and integer operations | |
JPH0230530B2 (ja) | ||
JPH04227530A (ja) | 浮動小数点プロセッサ | |
JP2618374B2 (ja) | 最上位の数字の位置の検出 | |
EP0328619B1 (en) | Apparatus and method for using a single carry chain for leading one detection and for ''sticky'' bit calculation | |
US20070050434A1 (en) | Data processing apparatus and method for normalizing a data value | |
JPH09212337A (ja) | 浮動小数点演算処理装置 | |
US4405992A (en) | Arithmetic unit for use in data processing systems | |
US6061707A (en) | Method and apparatus for generating an end-around carry in a floating-point pipeline within a computer system | |
US5764549A (en) | Fast floating point result alignment apparatus | |
US7054898B1 (en) | Elimination of end-around-carry critical path in floating point add/subtract execution unit | |
US5117384A (en) | Method and apparatus for exponent adder | |
JPS581244A (ja) | 浮動小数点命令例外検出方法 | |
US6178437B1 (en) | Method and apparatus for anticipating leading digits and normalization shift amounts in a floating-point processor | |
JPH0283728A (ja) | 浮動小数点乗算装置 | |
JPS62128331A (ja) | 情報処理装置 | |
EP0137526B1 (en) | Arithmetic unit in data processing system with exponent overflow/underflow detection | |
JPS5932038A (ja) | 浮動小数点加算器 | |
JP2752698B2 (ja) | 浮動小数点加減算回路 | |
US5805487A (en) | Method and system for fast determination of sticky and guard bits | |
JPS63158626A (ja) | 演算処理装置 |