JPH0651955A - 浮動小数点演算機能を持つ情報処理装置 - Google Patents

浮動小数点演算機能を持つ情報処理装置

Info

Publication number
JPH0651955A
JPH0651955A JP4201299A JP20129992A JPH0651955A JP H0651955 A JPH0651955 A JP H0651955A JP 4201299 A JP4201299 A JP 4201299A JP 20129992 A JP20129992 A JP 20129992A JP H0651955 A JPH0651955 A JP H0651955A
Authority
JP
Japan
Prior art keywords
floating point
instruction
floating
register
subtraction
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
JP4201299A
Other languages
English (en)
Inventor
Ryuji Sakai
隆二 境
Yoichiro Takeuchi
陽一郎 竹内
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP4201299A priority Critical patent/JPH0651955A/ja
Publication of JPH0651955A publication Critical patent/JPH0651955A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】浮動小数点加減算処理でオーバフロートラップ
またはアンダフロートラップを避けるための精度チェッ
ク処理が簡単に且つ高速で行えるようにする。 【構成】CPU1にフェッチされた命令がFQADD命
令の場合、デコード回路11から割込み禁止信号18が
出力されると共に、浮動小数点加算器14において浮動
小数点加算が行われ、その結果がレジスタファイル12
内のレジスタTに格納される。ここで演算エラーが発生
すると演算エラー信号19が出力されるが、割込み禁止
信号18によりAND回路15のゲートが閉じて、信号
19が割込み発生回路16に伝達されるのが禁止され
る。CPU1では、レジスタTの内容により、オーバフ
ロー、アンダフロー、正、負など演算結果タイプを判別
して、対応するビットパターンをレジスタRに設定する
処理が行われ、同レジスタRのパターンにより、オーバ
フローまたはアンダフローであるか否かが調べられる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は、浮動小数点演算機能
を持つ情報処理装置に関する。
【0002】
【従来の技術】この種の情報処理装置において浮動小数
点加減算処理を行う際には、オーバフロートラップまた
はアンダーフロートラップの発生を避けるために、浮動
小数点データの精度チェックを行うことが必要となる。
ところが、その精度チェック処理でオーバフローまたは
アンダフローが起きる可能性があるため、結局、このよ
うな精度チェックはできなかった。この理由について具
体的に説明する。
【0003】例えばA+Bの浮動小数点加算結果がオー
バフローするか否かを調べるのに、従来は、浮動小数点
レジスタが保持できる値の最大値をMAXとすると、M
AX−AとBとを比較して、Bの方が大きいか否かをチ
ェックするようにしていた。もし、Bの方が大きいなら
ば、A+Bの浮動小数点加算でオーバフローが起きるこ
とが事前に判別できる。しかし、Aが負の場合には、M
AX−Aの演算においてオーバフロートラップが起こっ
てしまうため、精度チェックは行えない。そこで従来
は、このような状態でも精度チェックを可能とするため
に、その前に、Aが負でないこと(非負)を調べるよう
にしていた。
【0004】したがって、この従来方式では、A+Bの
浮動小数点加算処理に先立ち、Aが非負であることをチ
ェックする処理と、MAX−Aの減算処理と、MAX−
AとBとを比較する比較処理とが行われることになる。
【0005】以上はA−Bの浮動小数点減算処理につい
ても同様であり、浮動小数点レジスタが保持できる値の
最小値をMINとすると、MIN+BとAとを比較し
て、Aの方が小さいか否かをチェックすることにより、
A−Bがアンダフローするか否かがチェックできる。但
し、Bが負の場合には、MIN+Bの演算においアンダ
ーフロートラップが起こってしまう。このため、その前
にBが非負であることを調べる必要がある。
【0006】この従来方式では、A−Bの浮動小数点減
算処理に先立ち、Bが非負であることをチェックする処
理と、MIN+Bの加算処理と、MIN+BとAとを比
較する比較処理とが行われることになる。
【0007】また従来は、浮動小数点数の比較命令(F
CMP命令)を実行するのに、専用のハードワイヤード
ロジックが必要となるため、このロジックの削減が要求
されていた。
【0008】
【発明が解決しようとする課題】上記したように従来
は、A+Bの浮動小数点加算またはA−Bの浮動小数点
減算においてオーバフロートラップまたはアンダーフロ
ートラップが発生するのを避けるためには、被加数Aま
たは減数Bが非負であることを調べ、しかる後にMAX
−Aの減算処理またはMIN+Bの加算処理を行い、そ
の処理結果(MAX−AまたはMIN+B)とBまたは
Aとを比較するためのテストが必要であり、高速処理が
困難であった。
【0009】また従来は、MAX−Aの減算処理または
MIN+Bの加算処理でオーバフロートラップまたはア
ンダーフロートラップが起こって演算エラー割込みの要
因となるのを防ぐために、テスト(精度チェック)に際
してPSW(プログラムステータスワード)の割込み許
可/禁止ビットを操作して演算エラー割込み禁止モード
に設定することが行われていた。しかし、PSWの切り
替えには、プログラムの切り替えが伴うため、パイプラ
イン制御方式の情報処理装置では、パイプラインの流れ
が止まり、性能が低下するという問題があった。また従
来は、浮動小数点の比較のための浮動小数点比較命令の
実行に専用のハードワイヤードロジックが必要となる欠
点があった。
【0010】この発明は上記事情に鑑みてなされたもの
でその目的は、浮動小数点加減算処理でオーバフロート
ラップまたはアンダフロートラップを避けるための精度
チェック処理が簡単に且つ高速で行える情報処理装置を
提供することにある。
【0011】この発明の他の目的は、浮動小数点比較処
理が特定の浮動小数点減算命令を含む命令列により、浮
動小数点比較命令を用いずに行え、もって比較命令処理
のための専用のハードワイヤードロジックを不要にする
ことができる情報処理装置を提供することにある。
【0012】この発明の更に他の目的は、比較の対象と
なる2つの浮動小数点数を用いた減算が必要な場合に、
特定の浮動小数点減算命令の結果を用いることにより、
その減算処理を不要とすることができる情報処理装置を
提供することにある。
【0013】
【課題を解決するための手段】この発明の第1の構成
は、特定の浮動小数点加減算命令(特定の浮動小数点加
算命令であるFQADD命令または特定の浮動小数点減
算命令であるFQSUB命令)の実行時には、演算エラ
ー割込みを禁止するための割込み禁止信号を出力する割
込み禁止信号出力手段と、上記割込み禁止信号により、
浮動小数点演算器で発生する演算エラーが割込み発生回
路に伝達されるのを禁止するゲート回路と、FQADD
命令またはFQSUB命令の指定する浮動小数点加算ま
たは減算が浮動小数点演算器で実行されることにより求
められた浮動小数点加算結果または減算結果の値から、
同結果がオーバフローまたはアンダフローとなっている
か否かを調べるテスト手段と、このテスト手段によって
オーバフローまたはアンダフローとなっていないことが
判別された場合に、上記の浮動小数点加算結果または減
算結果を指定の結果格納先に格納する手段とを備えたこ
とを特徴とするものである。
【0014】また、この発明の第2の構成は、第1の浮
動小数点数Aから第2の浮動小数点数Bを減じることを
指定する特定の浮動小数点減算命令(FQSUB命令)
の実行時には、演算エラー割込みを禁止するための割込
み禁止信号を出力する割込み禁止信号出力手段と、上記
割込み禁止信号により、浮動小数点演算器で発生する演
算エラーが割込み発生回路に伝達されるのを禁止するゲ
ート回路と、FQSUB命令の指定する浮動小数点減算
が浮動小数点演算器で実行されることにより求められた
浮動小数点減算結果の値から、第1の浮動小数点数と第
2の浮動小数点数の大小を調べるテスト手段とを備えた
ことを特徴とする。
【0015】
【作用】上記の第1の構成においては、FQADD命令
またはFQSUB命令の実行時には、デコード回路によ
り割込み禁止信号が出力されゲート回路に供給される。
このゲート回路には、浮動小数点演算器でFQADD命
令またはFQSUB命令等の浮動小数点加減算命令の指
定するA+Bの浮動小数点加算またはA−Bの浮動小数
点減算が行われた結果、オーバフローまたはアンダフロ
ー等の演算エラーが発生した場合には、同浮動小数点演
算器から出力される演算エラー信号も供給される。ゲー
ト回路は、上記の割込み信号が真値の場合には、ゲート
を閉じて、浮動小数点演算器からの演算エラー信号が割
込み発生回路に伝達されるのを禁止する。これにより、
FQADD命令またはFQSUB命令による浮動小数点
加算または減算でオーバフローまたはアンダフローとな
って演算エラー信号が発生しても、割込み発生回路によ
り演算エラー割込みが起こされることはなく、オーバフ
ロートラップまたはアンダフロートラップが避けられ
る。これは、第2の構成におけるFQSUB命令の実行
時でも同様である。
【0016】浮動小数点演算器による浮動小数点加減算
結果は、仮の結果格納先として指定されている浮動小数
点レジスタTに格納される。テスト手段は、この浮動小
数点加減算結果の値を調べ、オーバフロー(+∞)を示
す場合には第1のビットパターンを、アンダフロー(−
∞)を示す場合には第2のビットパターンを、固定小数
点レジスタRに設定する。次にテスト手段は、レジスタ
Rに第1または第2のビットパターンが設定されている
か否かを調べることにより、浮動小数点加減算結果がオ
ーバフローまたはアンダフローとなっているか否かを判
別する。このテスト手段により、浮動小数点加減算結果
がオーバフローまたはアンダフローとなっていないこと
が判別された場合、レジスタTの内容(浮動小数点加減
算結果)は、最終的な結果格納先として指定されている
浮動小数点レジスタCに格納される。
【0017】このように第1の構成によれば、オーバフ
ローまたはアンダフローのチェックを行いながらも、従
来のように、指定の浮動小数点加減算に先立ち、被加数
Aまたは減数Bが非負であることを調べ、しかる後にM
AX−Aの減算処理またはMIN+Bの加算処理を行
い、その処理結果(MAX−AまたはMIN+B)とB
またはAとを比較するといった、多くの処理時間を要す
るテスト処理が不要となるため、高速処理が可能とな
る。
【0018】次に、上記の第2の構成においては、FQ
SUB命令の指定に応じて、浮動小数点演算器でA−B
の浮動小数点減算が行われ、その結果A−Bは仮の結果
格納先として指定されている浮動小数点レジスタTに格
納される。テスト手段は、この浮動小数点減算結果の値
を調べ、オーバフロー(+∞)を示す場合には第1のビ
ットパターンを、アンダフロー(−∞)を示す場合には
第2のビットパターンを、正を示す場合には第3のビッ
トパターンを、負を示す場合には第4のビットパターン
を、ゼロを示す場合には第5のビットパターンを、固定
小数点レジスタRに設定する。次にテスト手段は、レジ
スタRに第1のビットパターン乃至第5のビットパター
ンのいずれが設定されているかにより、AとBの大小を
調べる。即ちテスト手段は、例えばA>Bの比較が指定
されているならば、A−Bの値が正を示す第3のビット
パターンまたはオーバフローを示す第1のビットパター
ンが設定されているか否かにより、A>Bを判定し、A
≧Bの比較が指定されているならば、A−Bの値が正を
示す第3のビットパターン、オーバフローを示す第1の
ビットパターン、またはゼロを示す第5のビットパター
ンのいずれかが設定されているか否かにより、A≧Bを
判定する。
【0019】このように、第2の構成によれば、AとB
との浮動小数点比較処理を、FQSUB命令を利用して
実現できるので、比較処理のための専用のハードワイヤ
ードロジックを不要とすることが可能となる。また、F
QSUB命令を用いているため、この処理以降に比較対
象となったAとBの減算(A−B)を必要とする場合に
は、FQSUB命令の実行結果を利用することができ、
したがってA−Bの減算処理を不要とすることが可能と
なる。
【0020】
【実施例】図1はこの発明の一実施例に係る情報処理装
置の構成を示すブロック図である。
【0021】図1において、1は装置の制御中枢を成す
CPU、2はCPU1が実行する各種プログラム、デー
タ等を格納するための主記憶である。この主記憶2に
は、A+Bの浮動小数点加算のオーバフロー(またはア
ンダフロー)を事前にチェック可能とするプログラム2
1と、比較命令を用いずに浮動小数点比較処理を実現可
能とするプログラム22か格納されている。なお、入出
力装置、表示装置、外部記憶装置などの周辺装置につい
ては、この発明に直接関係しないため省略されている。
【0022】CPU1は、デコード回路11、レジスタ
ファイル12、EXOR(排他的論理和)回路13、浮
動小数点加算器14、AND回路15、および割込み発
生回路16を有している。
【0023】デコード回路11は、主記憶2から取り出
された命令(命令コード)の解読、命令解読結果に基づ
くソースデータ読出し、命令解読結果に基づく浮動小数
点加算器14等の制御、および浮動小数点加算器14の
出力のレジスタファイル12への書込み制御等を行う。
特に、主記憶2からの命令が、ソース浮動小数点レジス
タ指定フィールドfs1,fs2およびデスティネーシ
ョン浮動小数点レジスタ指定フィールドfdを指定する
演算エラー割込み禁止浮動小数点加算命令(以下、FQ
ADD命令と称する)、または演算エラー割込み禁止浮
動小数点減算命令(以下、FQSUB命令と称する)の
場合には、デコード回路11は、演算モードを指定する
モード信号17の他に、演算エラー割込み禁止を指定す
るための割込み禁止信号18を出力する。
【0024】レジスタファイル12は、例えば32ビッ
ト長の固定小数点レジスタの群と、32ビット長の浮動
小数点レジスタ(単精度浮動小数点レジスタ)の群と、
64ビット長の浮動小数点レジスタ(倍精度浮動小数点
レジスタ)の群とを含む。
【0025】EXOR回路13は、FQADD命令また
はFQSUB命令のフィールドf2の指定に応じてデコ
ード回路11により取出された浮動小数点レジスタの内
容のサインビットSをモード信号17に応じてそのまま
或いは反転して出力する。
【0026】浮動小数点加算器14は、FQADD命令
またはFQSUB命令のフィールドfs1の指定に応じ
てデコード回路11により取出された浮動小数点レジス
タの内容と、EXOR回路12によってサインビットが
そのまま或いは反転して出力された、フィールドfs2
の指定する浮動小数点レジスタの内容との加算を行う。
浮動小数点加算器14は、その加算結果が後述するよう
なノーマル(NML)以外となった場合に、演算エラー
信号19を出力する。
【0027】AND回路15は、浮動小数点加算器14
からの演算エラー信号19が割込み発生回路16に伝達
されるのをデコード回路11からの割込み禁止信号18
により制御する。割込み発生回路16は、AND回路1
5の出力の状態に応じて演算エラー割込みを行う。図2
は、図1の情報処理装置で適用される浮動小数点数のフ
ォーマット(ここでは、IEEEの浮動小数点数フォー
マット)を示す。
【0028】まず、単精度の浮動小数点数は、図2
(a)に示すように、1ビットのサインビットS(ビッ
ト0)と、8ビットの指数部E(ビット1〜8)および
23ビットの仮数部Mにより表現される。
【0029】次に、倍精度の浮動小数点数は、図2
(b)に示すように、1ビットのサインビットS(ビッ
ト0)と、11ビットの指数部E(ビット1〜11)お
よび52ビットの仮数部Mにより表現される。
【0030】図2のフォーマットでは、浮動小数点数の
値は、+1.M×2E (S=0の場合)または−1.M
×2E (S=1の場合)となる。ここで指数部Eは、例
えば“011…1”で0、“100…0”で1を表す。
したがって、例えばサインビットSが“0”、指数部E
が“100…0”、仮数部Mが“00…0”(オール
“0”)の浮動小数点数は、1.0×21 となり、2を
表す。
【0031】さて、図2のフォーマットでは、サインビ
ットSが“0”、指数部Eがオール“1”、仮数部Mが
オール“0”のときは+∞を、サインビットSが
“1”、指数部Eがオール“1”、仮数部Mがオール
“0”のときは−∞を表す。
【0032】また、サインビットSおよび指数部Eが上
記の+∞または−∞と同様で、仮数部Mが“0”でない
ときは、非数(NaN)を表し、それ以外のときはノー
マル(NML)を表す。
【0033】また、ノーマルのうちの+0は、サインビ
ットSが“0”、指数部Eおよび仮数部Mがオール
“0”のときであり、−0は、サインビットSが
“1”、指数部Eおよび仮数部Mがオール“0”のとき
である。図3は図1に示す主記憶2に格納されているプ
ログラム21の一例を(機械語ではなくアセンブリ言語
の形式で)示す。
【0034】このプログラム21は、[従来の技術]の
項で述べたような、A+Bの浮動小数点加算処理でオー
バフロートラップまたはアンダフロートラップを避ける
ための精度チェック処理を含むプログラムに代えて用い
られるものであり、FQADD命令と、FTEST命令
と、TSTBT命令と、MOV命令と、BR命令を含
む。
【0035】図3中のFQADD(A,B,T)は、ソ
ース浮動小数点レジスタ指定フィールドfs1の指定す
る浮動小数点レジスタAの内容とソース浮動小数点レジ
スタ指定フィールドfs2の指定する浮動小数点レジス
タBの内容の加算を行って、その結果A+Bをデスティ
ネーション浮動小数点レジスタ指定フィールドfdの指
定する浮動小数点レジスタTに格納することを指定する
演算エラー割込み禁止浮動小数点加算命令(FQADD
命令)である。もし、FQADD(A,B,T)に代え
てFQSUB(A,B,T)が用いられているならば、
浮動小数点レジスタAの内容と浮動小数点レジスタBの
内容の減算を行って、その結果A−Bを浮動小数点レジ
スタTに格納することが指定される。
【0036】図3中のFTEST(T,R)は、ソース
浮動小数点レジスタ指定フィールドfsの指定する浮動
小数点レジスタTの内容(ここでは、A+Bの浮動小数
点加算の結果)が、正、負、ゼロ(0)、+∞、−∞、
および非数(NaN)のいずれの演算結果タイプである
かをチェックして、その演算結果タイプに固有のビット
パターン、即ち浮動小数点レジスタTの状態に固有のビ
ットパターン(ここでは5ビット)を、デスティネーシ
ョン固定小数点レジスタ指定フィールドrdの指定する
32ビットの固定小数点レジスタR(の例えばビット2
7〜31)に設定することを指定する命令(FTEST
命令)である。
【0037】ここで、FQADD命令中のフィールドf
s1,fs2で指定されるレジスタA,Bの内容のタイ
プ(−∞,NML,+∞)と、FQADD命令中のフィ
ールドfdで指定されるレジスタTに書込まれるA+B
の加算結果のタイプ(−∞,NML,+∞,NaN)の
関係を図4に示す。
【0038】また、FTEST命令中のフィールドrd
で指定される固定小数点レジスタR中のビットパターン
設定位置を図5(a)に、同命令中のフィールドfsで
指定される浮動小数点レジスタTの状態(演算結果タイ
プ)と、固定小数点レジスタR中のビットパターンとの
関係を図5(b)に示す。
【0039】図5(a)に示すように、ビットパターン
は、∞(+∞または−∞)であるか否かを示すIビッ
ト、非数(NaN)であるか否かを示すUビット、正で
あるか否かを示すPビット、ゼロ(+0または−0)で
あるか否かを示すZビット、および負であるか否かを示
すNビットの5ビットで構成され、レジスタRのビット
27〜31に設定される。このビットパターンのIビッ
ト、即ちレジスタRのビット27が“1”となるのは、
図5(b)に示すように、浮動小数点レジスタTの状態
が+∞または−∞の場合だけである。また、ビットパタ
ーンのPビット、即ちレジスタRのビット29が“1”
となるのは、図5(b)に示すように、浮動小数点レジ
スタTの状態が正または+∞の場合だけである。
【0040】図3中のTSTBT(R,16)は、レジ
スタRの32ビットに対して10進数値「16」(即ち
32ビットの2進数値“00…010000”)のマス
クパターンでマスクして、その結果の値が「0」でない
か否かをテストする、即ちレジスタRのビット27(I
ビット)の状態をテストする命令(TSTBT命令)で
ある。
【0041】図3中のBRT(L1)は、TSTBT命
令の結果、テスト条件成立(ここでは、レジスタRのビ
ット27が“1”)であれば、アドレスL1の命令に分
岐し、テスト条件不成立であれば次の命令(図3の例で
はMOV命令)に進む分岐命令(BRT命令)である。
図3中のMOV(T,C)は、浮動小数点レジスタTの
内容を最終的な結果書込み先である浮動小数点レジスタ
Cに移動する移動命令(MOV命令)である。MOV
(T,C)の次に実行される図3中のBR(L2)は、
アドレスL2への無条件分岐を指定する分岐命令(BR
命令)である。図6は図1に示す主記憶2に格納されて
いるプログラム22の一例を(機械語ではなくアセンブ
リ言語の形式で)示す。
【0042】このプログラム22は、A>BならA−B
をCに格納し、A>BでなければA−BをDに格納する
浮動小数点比較処理を含む一連の処理を、比較命令を用
いずに実現可能とするものであり、FQSUB命令と、
FTEST命令と、TSTBT命令と、BRN命令と、
MOV命令を含む。
【0043】図6中のFQSUB(A,B,T)は、ソ
ース浮動小数点レジスタ指定フィールドfs1の指定す
る浮動小数点レジスタAの内容とソース浮動小数点レジ
スタ指定フィールドfs2の指定する浮動小数点レジス
タBの内容との減算を行って、その結果A−Bをデステ
ィネーション浮動小数点レジスタ指定フィールドfdの
指定する浮動小数点レジスタTに格納することを指定す
る演算エラー割込み禁止浮動小数点減算命令(FQSU
B命令)である。
【0044】ここで、FQSUB命令中のフィールドf
s1,fs2で指定されるレジスタA,Bの内容のタイ
プ(−∞,NML,+∞)と、FQSUB命令中のフィ
ールドfdで指定されるレジスタTに書込まれるA−B
の減算結果のタイプ(−∞,NML,+∞,NaN)の
関係は、図4においてfs2を−fs2とするならば、
FQADD命令の場合と同様である。図6中のFTES
T(T,R)については、図3に示すプログラム21内
のFTEST(T,R)と同様であるため、説明を省略
する。
【0045】図6中のTSTBT(R,4)は、レジス
タRの32ビットに対して10進数値「4」(即ち32
ビットの2進数値“00…000100”)のマスクパ
ターンでマスクして、その結果が「0」でないか否かを
テストする、即ちレジスタRのビット29(Pビット)
の状態をテストする命令(TSTBT命令)である。
【0046】図6中のBRN(L1)は、TSTBT命
令の結果、テスト条件不成立(ここでは、レジスタRの
ビット29が“0”)であれば、アドレスL1の命令に
分岐し、テスト条件成立であれば次の命令(図6の例で
はMOV命令)に進む分岐命令(BRN命令)である。
図6中のMOV(T,C),MOV(T,C)について
は、図3に示すプログラム21内のMOV(T,C)と
同様であるため、説明は省略する。次に、図1の情報処
理装置の動作を、図3に示すプログラム21を実行する
場合を例に、図7のフローチャートを参照して説明す
る。
【0047】まず、主記憶2からプログラム21の先頭
命令であるFQADD命令がCPU1にフェッチされた
ものとする。CPU1は、このFQADD命令により、
演算エラー割込み禁止状態として、同命令中のソース浮
動小数点レジスタ指定フィールドfs1,fs2で指定
される浮動小数点レジスタA,Bの内容の加算を浮動小
数点加算器14で行わせ、その加算結果を同命令中のデ
スティネーション浮動小数点レジスタ指定フィールドf
dで指定される浮動小数点レジスタTに格納させる(ス
テップS1)。このFQADD命令に従うCPU1にお
ける処理の詳細は次の通りである。
【0048】まず、CPU1にフェッチされたFQAD
D命令は、同CPU1内のデコード回路11に入力され
る。デコード回路11はFQADD命令をデコードし、
同命令中のソース浮動小数点レジスタ指定フィールドf
s1,fs2で指定される浮動小数点レジスタA,Bの
内容をレジスタファイル12から取出す。そしてデコー
ド回路11は、レジスタファイル12から取出したレジ
スタA,Bの内容を出力端fs1,fs2から出力す
る。同時にデコード回路11は、FQADD命令に対応
して、加算モードを指定する偽値のモード信号17と演
算エラー割込みの禁止を指定する真値の割込み禁止信号
18を出力する。
【0049】デコード回路11からのモード信号17
は、同デコード回路11の出力端fs2から出力される
レジスタBの内容と共にEXOR回路13に導かれる。
EXOR回路13は、デコード回路11の出力端fs2
から出力されるレジスタBの内容のうち、サインビット
Sについて、デコード回路11からのモード信号17と
の排他的論理和をとり、そのまま(モード信号17が偽
値の場合)或いはサインビットSを反転して(モード信
号17が真値の場合)出力する。この結果、本実施例の
ようにモード信号17が偽値(“0”)となる場合に
は、デコード回路11の出力端fs2から出力されるレ
ジスタBの内容は、EXOR回路13によりそのまま出
力される。
【0050】EXOR回路13の出力、即ちレジスタB
の内容は、浮動小数点加算器14の一方の入力端に出力
される。この浮動小数点加算器14の他方の入力端に
は、デコード回路11の出力端fs1から出力されるレ
ジスタAの内容が入力される。浮動小数点加算器14
は、この両入力内容、即ちレジスタAおよびBの内容の
浮動小数点加算を行い、その加算結果A+Bを出力す
る。このとき浮動小数点加算器14は、結果A+Bがノ
ーマル(NML)でなければ、演算エラー信号19を出
力する。
【0051】浮動小数点加算器14から出力される演算
エラー信号19はAND回路15の一方の入力に導かれ
る。AND回路15の他方の入力には、デコード回路1
1から(FQADD命令のデコードに応じて)出力され
ている割込み禁止信号18が導かれる。AND回路15
は、本実施例のように割込み禁止信号18が真値の場合
にはゲートを閉じ、浮動小数点加算器14からの演算エ
ラー信号19が割込み発生回路16に伝達されないよう
にする。
【0052】これにより、浮動小数点加算器14でのA
+Bの浮動小数点加算結果がオーバフローとなって演算
エラー信号19が出力されたとしても、割込み発生回路
16で演算エラー割込みを起こすことが禁止される。
【0053】このように本実施例によれば、FQADD
命令による浮動小数点加算時には、デコード回路11か
ら割込み禁止信号18が出力され、割込み発生回路16
で演算エラー割込みを起こすことが禁止される。即ち本
実施例によれば、PSWの割込み許可/禁止ビットを操
作することなくオーバフロートラップを避けることがで
きるため、パイプラインの流れを止めないで済み、性能
向上が図れる。
【0054】さて、浮動小数点加算器14によってA+
Bの加算結果が求められると、デコード回路11は、F
QADD命令のデコード結果に従い、同命令中のデステ
ィネーション浮動小数点レジスタ指定フィールドfdで
指定されるレジスタファイル12内の浮動小数点レジス
タTに、浮動小数点加算器14のA+B加算結果を格納
する。
【0055】FQADD命令の次には、FTEST命令
が主記憶2からCPU1にフェッチされる。CPU1
は、このFTEST命令のソース浮動小数点レジスタ指
定フィールドfsで指定される浮動小数点レジスタTの
内容をレジスタファイル12から読出し、その状態
(正、負、ゼロ、+∞、−∞、NaNのいずれか)に固
有の5ビットパターンを、同命令のデスティネーション
固定小数点レジスタ指定フィールドrdで指定されるレ
ジスタファイル12内の32ビット固定小数点レジスタ
Rのビット27〜31にセットする(ステップS2)。
【0056】この結果、図5から明らかなように、フィ
ールドfsで指定される浮動小数点レジスタTの内容が
正であれば“00100”が、負であれば“0000
1”が、ゼロであれば“00010”が、+∞であれば
“10100”が、−∞であれば“10001”が、そ
してNaN(非数)であれば“01000”が、フィー
ルドrdで指定される固定小数点レジスタRのビット2
7〜31にセットされる。
【0057】FTEST命令の次には、TSTBT命令
が主記憶2からCPU1にフェッチされる。CPU1
は、このTSTBT命令で指定される32ビット固定小
数点レジスタRの内容と、同命令で指定されるマスク値
「16」の示す32ビットマスクパターン“00…01
0000”との対応ビット毎の論理積をとり、その結果
の値が「0」(オール“0”)でないか否か(「0」で
あるか)のテストを行う。即ちCPU1は、TSTBT
命令により、レジスタRのビット27(Iビット)が
“1”であるか否かをテストする(ステップS3)。
【0058】このステップS3において、CPU1は、
マスクパターンとの論理積結果の値が「0」でない場合
(ここでは、レジスタRのビット27が“1”の場合)
には、テスト条件成立であるものとして、CPU1内の
制御レジスタ(図示せず)の所定ビットを“1”に設定
し、「0」の場合(ここでは、レジスタRのビット27
が“0”の場合)には、テスト条件不正立であるものと
して、制御レジスタの所定ビットを“0”に設定する。
【0059】以上のTSTBT命令の実行により、制御
レジスタの所定ビットは、レジスタRのビット27の内
容(Iビット)が“1”である場合だけ、即ち図5から
明らかなように、FQADD命令の指定するA+B加算
結果が+∞(オーバフロー)または−∞(アンダフロ
ー)の場合だけ、“1”となる。
【0060】TSTBT命令の次には、BRT命令が主
記憶2からCPU1にフェッチされる。CPU1は、こ
のBRT命令に従って制御レジスタの所定ビットを参照
し、先行するTSTBT命令のテスト条件成立の有無を
チェックする(ステップS4)。もし、制御レジスタの
所定ビットが“1”でテスト条件成立を示しているなら
ば、即ちFQADD命令の指定するA+B加算結果が+
∞(オーバフロー)または−∞(アンダフロー)のため
に、レジスタRの内容のビット27の状態が“1”であ
ったなら、CPU1はBRT命令の指定するアドレスL
1へ分岐して例外処理を行う。
【0061】これに対して、制御レジスタの所定ビット
が“0”でテスト条件が不正立を示しているならば、即
ちFQADD命令の指定するA+B加算結果が+∞でも
−∞でもないために、レジスタRの内容のビット27の
状態が“0”であったなら、CPU1はBRT命令の次
のMOV命令を実行する(ステップS5)。このMOV
命令の実行により、同命令で指定される浮動小数点レジ
スタTの内容、即ちFQADD命令の指定するA+B加
算結果が、同命令で指定されるレジスタファイル12内
の浮動小数点レジスタCに転送され、同レジスタCにオ
ーバフローもアンダフローも伴わなかったA+Bの浮動
小数点加算結果が保持される。
【0062】以上の例では、オーバフロートラップを避
けてA+Bの浮動小数点加算結果を得るのに実行される
浮動小数点加減算処理は、FQADD命令に従って実行
されるA+Bの加算処理の1回だけである。
【0063】これに対して従来方式では、A+Bがオー
バフローするか否かを調べるために、A+Bの加算処理
の前に、MAX−Aの減算処理が必要であり、更にMA
X−AとBとの比較処理も必要であった。これらの処理
は、本実施例で新たに用いられるFTEST命令のよう
に、レジスタへの転送が行われるものに比べて多くの処
理時間を要する。したがって本実施例によれば、オーバ
フロートラップ(またはアンダフロートラップ)を避け
ながらA+Bの浮動小数点加算結果を高速で得ることが
できる。
【0064】以上は、A+Bの浮動小数点加算の場合で
あるが、A−Bの浮動小数点減算についても、図3に示
すプログラム21中のFQADD命令に代えてFQSU
B命令を用いることにより、アンダフロートラップ(オ
ーバフロートラップ)を避けながらA−Bの浮動小数点
減算結果を高速で得ることができる。
【0065】また、以上の説明では、FQADD命令
(またはFQSUB命令)に従う浮動小数点加算(また
は浮動小数点減算)の結果の値を調べるのに、その結果
の値に固有のビットパターンを一旦固定小数点レジスタ
Rの所定フィールドに設定し、しかる後にそのレジスタ
Rのビットの状態(ここでは、オーバフローまたはアン
ダフローを示すビット27の状態)を、所定のマスク値
によって示されるマスクパターンでマスクすることによ
りテストするものとしているが、これに限るものではな
い。例えば、浮動小数点加算(または浮動小数点減算)
の結果の値を、そのまま(倍精度の場合には上位32ビ
ットを)32ビットの固定小数点レジスタRに格納した
後、指数部が全て“1”であることをテストするように
してもよい。次に、図1の情報処理装置の動作を、図6
に示すプログラム22を実行する場合を例に、図8のフ
ローチャートを参照して説明する。
【0066】まず、主記憶2からプログラム22の先頭
命令であるFQSUB命令がCPU1にフェッチされた
ものとする。CPU1は、このFQSUB命令により、
演算エラー割込み禁止状態として、同命令中のソース浮
動小数点レジスタ指定フィールドfs1,fs2で指定
される浮動小数点レジスタA,Bの内容の減算を浮動小
数点加算器14で行わせ、その減算結果を同命令中のデ
スティネーション浮動小数点レジスタ指定フィールドf
dで指定される浮動小数点レジスタTに格納させる(ス
テップS11)。このFQSUB命令に従うCPU1に
おける処理は、デコード回路11からのモード信号17
が真値である点を除いて、前記したFQADD命令の場
合と同様である。
【0067】モード信号17が真値の場合、FQSUB
命令中のソース浮動小数点レジスタ指定フィールドfs
2で指定される浮動小数点レジスタBの内容は、EXO
R回路13によりそのサインビットが反転されて浮動小
数点加算器14の一方の入力端に入力される。また、F
QSUB命令中のソース浮動小数点レジスタ指定フィー
ルドfs1で指定される浮動小数点レジスタAの内容
は、そのまま浮動小数点加算器14の一方の入力端に入
力される。
【0068】浮動小数点加算器14は、レジスタAの内
容と、サインビットが反転されたレジスタBの内容との
加算、即ちA+(−B)の加算を行うことにより、A−
Bの減算結果を算出する。このとき浮動小数点加算器1
4は、結果A−Bがノーマル(NML)でなければ、演
算エラー信号19を出力する。しかし、この演算エラー
信号19は、前記したFQADD命令の場合と同様に、
デコード回路11からの割込み禁止信号18に基づくA
ND回路15の動作により割込み発生回路16に伝達さ
れないため、同回路16からの割込みは起きない。
【0069】浮動小数点加算器14によって算出された
A−Bの減算結果は、FQSUB命令中のデスティネー
ション浮動小数点レジスタ指定フィールドfdで指定さ
れるレジスタファイル12内の浮動小数点レジスタTに
格納される。
【0070】FQADD命令の次には、FTEST命令
が主記憶2からCPU1にフェッチされる。CPU1
は、このFTEST命令のソース浮動小数点レジスタ指
定フィールドfsで指定される浮動小数点レジスタTの
内容をレジスタファイル12から読出し、その状態
(正、負、ゼロ、+∞、−∞、NaNのいずれか)に固
有の5ビットパターンを、同命令のデスティネーション
固定小数点レジスタ指定フィールドrdで指定されるレ
ジスタファイル12内の32ビット固定小数点レジスタ
Rのビット27〜31にセットする(ステップS1
2)。
【0071】FTEST命令の次には、TSTBT命令
が主記憶2からCPU1にフェッチされる。CPU1
は、このTSTBT命令で指定される32ビット固定小
数点レジスタRの内容と、同命令で指定されるマスク値
「4」の示す32ビットマスクパターン“00…000
100”との対応ビット毎の論理積をとり、その結果の
値が「0」(オール“0”)でないか否か(「0」であ
るか)のテストを行う。即ちCPU1は、TSTBT命
令により、レジスタRのビット29(Pビット)が
“1”であるか否かをテストする(ステップS13)。
【0072】このステップS13において、CPU1
は、マスクパターンとの論理積結果の値が「0」でない
場合(ここでは、レジスタRのビット29が“1”の場
合)には、テスト条件成立であるものとして、CPU1
内の制御レジスタ(図示せず)の所定ビットを“1”に
設定し、「0」の場合(ここでは、レジスタRのビット
29が“0”の場合)には、テスト条件不正立であるも
のとして、制御レジスタの所定ビットを“0”に設定す
る。
【0073】以上のTSTBT命令の実行により、制御
レジスタの所定ビットは、レジスタRのビット29の内
容(Pビット)が“1”である場合だけ、即ち図5から
明らかなように、FQSUB命令の指定するA−B減算
結果が正または+∞の場合だけ、つまりAがBより大き
い場合だけ、“1”となる。
【0074】TSTBT命令の次には、BRN命令が主
記憶2からCPU1にフェッチされる。CPU1は、こ
のBRN命令に従って制御レジスタの所定ビットを参照
し、先行するTSTBT命令のテスト条件不正立の有無
をチェックする(ステップS14)。
【0075】もし、制御レジスタの所定ビットが“1”
でテスト条件成立を示しているならば、即ちFQSUB
命令の指定するA−B加算結果が正または+∞のため
に、レジスタRの内容のビット29の状態が“1”であ
ったなら、CPU1はBRN命令の次のMOV命令を実
行する(ステップS15)。このMOV命令の実行によ
り、同命令で指定される浮動小数点レジスタTの内容、
即ちFQSUB命令の指定するA−B減算結果が、同命
令で指定されるレジスタファイル12内の浮動小数点レ
ジスタCに転送され、同レジスタCに保持される。
【0076】一方、制御レジスタの所定ビットが“0”
でテスト条件不成立を示しているならば、即ちFQSU
B命令の指定するA−B加算結果が正でも+∞でもない
ために、レジスタRの内容のビット29の状態が“0”
であったなら、CPU1はBRN命令の指定するアドレ
スL1へ分岐して、浮動小数点レジスタDをデスティネ
ーション指定するMOV命令を実行する(ステップS1
6)。このMOV命令の実行により、同命令で指定され
る浮動小数点レジスタTの内容、即ちFQSUB命令の
指定するA−B減算結果が、同命令で指定されるレジス
タファイル12内の浮動小数点レジスタDに転送され、
同レジスタDに保持される。
【0077】以上のように本実施例によれば、AとBの
大小比較を行う浮動小数点比較処理を、FQSUB命
令、FTEST命令およびTSTBT命令の組合せによ
り、比較命令を用いずに実現することができる。
【0078】また、本実施例のように、A>BならA−
BをCに格納し、A>BでなければA−BをDに格納す
るような処理では、AとBの大小比較のためのFQSU
B命令の結果をA−Bの減算結果として利用できるた
め、A−Bの減算処理が不要になる。即ち本実施例によ
れば、比較の対象となる2つの浮動小数点数を用いた減
算が必要な場合に、FQSUB命令の結果を用いること
により、その減算処理を不要とすることができる。この
ことは、FQSUB命令が、CSE(Common Subexpres
sion Elimination:共通不変式削除)最適化に使用で
き、プログラムの簡略化、プログラム処理の高速化が図
れることを意味する。
【0079】なお、上記の例は、A>Bの比較を含む場
合であったが、例えばA≧Bの比較の場合には、TST
BT命令でマスク値「6」、即ち32ビットマスクパタ
ーン“00…001100”を指定して、このパターン
とレジスタRの内容(A−Bの減算結果)との対応ビッ
ト毎の論理積をとり、その結果の値が「0」でないか否
かを、即ちレジスタRのビット29(正を示すPビッ
ト)とビット30(ゼロを示すZビット)のいずれかが
“1”であるか否かをテストすればよい。
【0080】
【発明の効果】以上詳述したようにこの発明によれば、
特定の浮動小数点加減算命令の実行時には演算エラー割
込みを禁止するための割込み禁止信号をゲート回路に出
力することで、浮動小数点演算器で同命令の指定する浮
動小数点加減算が行われて演算エラーが発生しても、そ
の演算エラーが演算エラー割込み発生回路に伝達される
のをゲート回路にて抑止する構成としたので、浮動小数
点加減算におけるオーバフロートラップまたはアンダフ
ロートラップを避けるために、従来のように、浮動小数
点加減算の前に、別の加減算処理と比較処理を含む多く
の時間を要する精度チェック処理を行う必要がない。
【0081】また、この発明によれば、演算エラー割込
み発生の禁止状態のもとで、浮動小数点加減算結果の値
から、同結果がオーバフローまたはアンダフローとなっ
ているか否かを調べるようにしたので、オーバフロート
ラップまたはアンダーフロートラップを避けるための精
度チェックが従来に比べて極めて簡単に行え、浮動小数
点加減算の前に、別の加減算処理と比較処理を含む精度
チェック処理を行っていた従来方式に比べて処理の高速
化が図れる。
【0082】また、この発明によれば、演算エラー割込
み発生を禁止可能な特定の浮動小数点減算命令により、
比較対象とすべき2つの浮動小数点数の減算を行わせ、
その浮動小数点減算結果の値から、演算エラー割込み発
生の禁止状態のもとで、これら2つの浮動小数点数の大
小を調べる構成としたので、浮動小数点比較処理が特定
の浮動小数点減算命令を含む命令列により、浮動小数点
比較命令を用いずに実現でき、したがって比較命令処理
のための専用のハードワイヤードロジックを不要にする
ことができる。
【0083】また、この発明によれば、浮動小数点比較
処理が特定の浮動小数点減算命令を利用して実現できる
ことから、この処理以降に比較対象となった2つの浮動
小数点数の減算を必要とする場合には、特定の浮動小数
点減算命令の実行結果を用いることにより、その減算処
理を不要にできる。即ち、この発明によれば、浮動小数
点比較処理を実現するための特定の浮動小数点減算命令
がCSE(共通不変式削除)最適化に使用でき、プログ
ラムの簡略化とプログラム処理の高速化が図れる。
【図面の簡単な説明】
【図1】この発明の一実施例に係る情報処理装置の構成
を示すブロック図。
【図2】同実施例で適用される浮動小数点数のフォーマ
ットを示す図。
【図3】図1に示す主記憶2に格納されているプログラ
ム21の一例を示す図。
【図4】FQADD命令中のフィールドfs1,fs2
で指定されるレジスタA,Bの内容のタイプと、FQA
DD命令中のフィールドfdで指定されるレジスタTに
書込まれるA+Bの加算結果のタイプの関係を示す図。
【図5】FTEST命令中のフィールドfsで指定され
る浮動小数点レジスタTの状態と、同命令中のフィール
ドrdで指定される固定小数点レジスタR中のビットパ
ターンとの関係を示す図。
【図6】図1に示す主記憶2に格納されているプログラ
ム22の一例を示す図。
【図7】図3に示すプログラム21を実行する場合の動
作を説明するためのフローチャート。
【図8】図6に示すプログラム22を実行する場合の動
作を説明するためのフローチャート。
【符号の説明】
1…CPU、2…主記憶、11…デコード回路、12…
レジスタファイル、13…EXOR回路、14…浮動小
数点加算器(浮動小数点演算器)、15…AND回路
(ゲート回路)、16…割込み発生回路、17…モード
信号、18…割込み禁止信号、19…演算エラー信号、
21,22…プログラム。

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 浮動小数点演算を行う浮動小数点演算器
    と、この浮動小数点演算器で発生する演算エラーを受け
    て演算エラー割込みを発生する割込み発生回路とを備え
    た情報処理装置において、 特定の浮動小数点加減算命令の実行時には、演算エラー
    割込みを禁止するための割込み禁止信号を出力する割込
    み禁止信号出力手段と、 この割込み禁止信号出力手段から出力される前記割込み
    禁止信号により、前記浮動小数点演算器で発生する演算
    エラーが前記割込み発生回路に伝達されるのを禁止する
    ゲート回路と、 前記特定の浮動小数点加減算命令の指定する浮動小数点
    加減算が前記浮動小数点演算器で実行されることにより
    求められた浮動小数点加減算結果の値から、同結果がオ
    ーバフローまたはアンダフローとなっているか否かを調
    べるテスト手段と、 このテスト手段によってオーバフローまたはアンダフロ
    ーとなっていないことが判別された場合に、前記浮動小
    数点加減算結果を指定の結果格納先に格納する手段と、 を具備することを特徴とする情報処理装置。
  2. 【請求項2】 前記テスト手段は、前記浮動小数点加減
    算結果の値を調べ、オーバフローを示す場合には第1の
    ビットパターンを、アンダフローを示す場合には第2の
    ビットパターンを、固定小数点レジスタに設定する第1
    のテスト手段と、前記固定小数点レジスタに前記第1の
    ビットパターンまたは前記第2のビットパターンが設定
    されているか否かを調べることにより、前記浮動小数点
    加減算結果がオーバフローまたはアンダフローとなって
    いるか否かを判別する第2のテスト手段とを有している
    ことを特徴とする請求項1記載の情報処理装置。
  3. 【請求項3】 浮動小数点演算を行う浮動小数点演算器
    と、この浮動小数点演算器で発生する演算エラーを受け
    て演算エラー割込みを発生する割込み発生回路とを備え
    た情報処理装置において、 第1の浮動小数点数から第2の浮動小数点数を減じるこ
    とを指定する特定の浮動小数点減算命令の実行時には、
    演算エラー割込みを禁止するための割込み禁止信号を出
    力する割込み禁止信号出力手段と、 この割込み禁止信号出力手段から出力される前記割込み
    禁止信号により、前記浮動小数点演算器で発生する演算
    エラーが前記割込み発生回路に伝達されるのを禁止する
    ゲート回路と、 前記特定の浮動小数点減算命令の指定する浮動小数点減
    算が前記浮動小数点演算器で実行されることにより求め
    られた浮動小数点減算結果の値から、前記第1の浮動小
    数点数と前記第2の浮動小数点数の大小を調べるテスト
    手段と、 を具備することを特徴とする情報処理装置。
  4. 【請求項4】 前記テスト手段は、前記浮動小数点加減
    算結果の値を調べ、オーバフローを示す場合には第1の
    ビットパターンを、アンダフローを示す場合には第2の
    ビットパターンを、正を示す場合には第3のビットパタ
    ーンを、負を示す場合には第4のビットパターンを、ゼ
    ロを示す場合には第5のビットパターンを、固定小数点
    レジスタに設定する第1のテスト手段と、前記固定小数
    点レジスタに前記第1のビットパターン乃至前記第5の
    ビットパターンのいずれが設定されているかにより、前
    記第1の浮動小数点数と前記第2の浮動小数点数の大小
    を調べる第2のテスト手段とを有していることを特徴と
    する請求項3記載の情報処理装置。
  5. 【請求項5】 前記テスト手段による大小判別の後に前
    記第1の浮動小数点数から前記第2の浮動小数点数を減
    じる浮動小数点減算を必要とする場合には、この減算を
    省略して、前記特定の浮動小数点減算命令の実行により
    求められた前記浮動小数点減算結果を用いるようにした
    ことを特徴とする請求項3または請求項4記載の情報処
    理装置。
JP4201299A 1992-07-28 1992-07-28 浮動小数点演算機能を持つ情報処理装置 Pending JPH0651955A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4201299A JPH0651955A (ja) 1992-07-28 1992-07-28 浮動小数点演算機能を持つ情報処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4201299A JPH0651955A (ja) 1992-07-28 1992-07-28 浮動小数点演算機能を持つ情報処理装置

Publications (1)

Publication Number Publication Date
JPH0651955A true JPH0651955A (ja) 1994-02-25

Family

ID=16438692

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4201299A Pending JPH0651955A (ja) 1992-07-28 1992-07-28 浮動小数点演算機能を持つ情報処理装置

Country Status (1)

Country Link
JP (1) JPH0651955A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016056081A1 (ja) * 2014-10-08 2016-04-14 富士通株式会社 コード変換プログラム、コード変換装置およびコード変換方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016056081A1 (ja) * 2014-10-08 2016-04-14 富士通株式会社 コード変換プログラム、コード変換装置およびコード変換方法
JPWO2016056081A1 (ja) * 2014-10-08 2017-06-15 富士通株式会社 コード変換プログラム、コード変換装置およびコード変換方法

Similar Documents

Publication Publication Date Title
US4849921A (en) Arithmetic circuit for calculating the absolute value of the difference between a pair of input signals
US5093908A (en) Method and apparatus for executing instructions in a single sequential instruction stream in a main processor and a coprocessor
JP3014381B2 (ja) Ieee準拠浮動小数点ユニット
JPH02294820A (ja) 浮動小数点数演算処理装置および演算処理方法
US6216222B1 (en) Handling exceptions in a pipelined data processing apparatus
JPH0769783B2 (ja) 例外処理方式
US5341320A (en) Method for rapidly processing floating-point operations which involve exceptions
JPS62191926A (ja) 演算装置
US6499046B1 (en) Saturation detection apparatus and method therefor
JPH0651955A (ja) 浮動小数点演算機能を持つ情報処理装置
Vassiliadis et al. Brief communication Condition code predictor for fixed-point arithmetic units
TWI536261B (zh) 用於資料元素的條件式選擇的設備、方法、電腦程式產品、及虛擬機
JP2557629B2 (ja) 割込方式
US11487506B2 (en) Condition code anticipator for hexadecimal floating point
JP3137636B2 (ja) データ処理装置
JPS62128331A (ja) 情報処理装置
JPH04130537A (ja) データ処理装置
JPH0378832A (ja) デ―タ処理装置
JPH02148140A (ja) 情報処理装置における条件分岐制御方式
JPH0352092B2 (ja)
KR0145893B1 (ko) 오버플로 방지 장치
JPS59174942A (ja) 演算制御装置
JPS63255735A (ja) 浮動小数点乗算器
JPH01175626A (ja) マイクロプロセッサ
JPH0469734A (ja) 浮動小数点加減算のアンダーフロー例外発生予測回路