JPH02201645A - 例外検出回路 - Google Patents

例外検出回路

Info

Publication number
JPH02201645A
JPH02201645A JP1022227A JP2222789A JPH02201645A JP H02201645 A JPH02201645 A JP H02201645A JP 1022227 A JP1022227 A JP 1022227A JP 2222789 A JP2222789 A JP 2222789A JP H02201645 A JPH02201645 A JP H02201645A
Authority
JP
Japan
Prior art keywords
overflow
rounding
underflow
mantissa
round
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.)
Granted
Application number
JP1022227A
Other languages
English (en)
Other versions
JP3076046B2 (ja
Inventor
Shingo Kojima
小嶋 伸吾
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP01022227A priority Critical patent/JP3076046B2/ja
Priority to US07/472,387 priority patent/US5038313A/en
Priority to EP19900101910 priority patent/EP0381191A3/en
Publication of JPH02201645A publication Critical patent/JPH02201645A/ja
Application granted granted Critical
Publication of JP3076046B2 publication Critical patent/JP3076046B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods 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/483Computations with numbers represented by a non-linear combination of denominational numbers, e.g. rational numbers, logarithmic number system or floating-point numbers
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods 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/499Denomination or exception handling, e.g. rounding or overflow
    • G06F7/49905Exception handling
    • G06F7/4991Overflow or underflow
    • G06F7/49915Mantissa overflow or underflow in handling floating-point numbers
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods 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/499Denomination or exception handling, e.g. rounding or overflow
    • G06F7/49942Significance control
    • G06F7/49947Rounding
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods 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/499Denomination or exception handling, e.g. rounding or overflow
    • G06F7/49942Significance control
    • G06F7/49947Rounding
    • G06F7/49957Implementation of IEEE-754 Standard

Landscapes

  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Computing Systems (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Nonlinear Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Complex Calculations (AREA)
  • Advance Control (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 産業上の利用分野 本発明は、例外判定回路に関する。より詳細には、マイ
クロプロセッサにおける浮動小数点演算のオーバーフロ
ーおよびアンダーフローの発生を検出する例外判定回路
に関する。
従来の技術 浮動小数点演算を行う場合、そのデータフォーマットや
例外に関する処理を規定したものにはいくつかの種類が
あるが、マイクロプロセッサに関してほぼ標準となって
いるものにI EEEが定めたRAIES P754浮
動小数点規格がある。この規格では、数値は指数部と仮
数部に分けて表現され、さらに通常はすべて正規化数(
仮数部の最上位ビットが1である状態、  IEEB 
P754の規定するデータフォーマットでは仮数部の小
数点は仮数部の最上位ビットとその1つ下のビットとの
間にあるため、最上位ピントは仮数部の整数ビットとな
る)として保持することにしている。第5図(a)に正
規化された浮動小数点データを示す。第5図(a)は、
指数部16ビツト、仮数部64ビツトで表現した例であ
り、仮数部最上位ビット以外の空欄はOでも1でも構わ
ない。
また、このデータフォーマントでは、数値として表現で
きる範囲は、1から仮数部が最大値(仮数部のすべての
桁が1である値)で指数部が最大値より1だけ少ない値
である数までの間である。
指数部が最大値であるデータは無限大や不定など数値で
はない特殊な状態を表わす記号として規定しており、ま
た指数部が0のデータは正規化数として表現可能な最小
数(指数部が1、仮数部の整数ビットのみ1で他はすべ
てO)と0との間を補間するためのデノーマル数と呼ば
れる微小数値として使う。第5図(b)にこれらの数値
を示す。第5図(b)には、上から順に無限大、正規化
数(最大のものから3個と最小の2個)、最大および最
小のデノーマル数が示されている。
このようなデータをもとに各種の演算を行った場合、得
られた答がこのデータフォーマットで表現可能な範囲を
超えてしまう場合がある。表現可能な最大数を超えて大
きくなってしまった場合をオーバーフロー、正規化数で
表現可能な最小数を下回って小さくなってしまった場合
をアンダーフローといい、+1EBIE P754はい
ずれの場合も例外事項として検出するように定めている
(ただし、アンダーフローとなっても有効ビットが失わ
れない場合はアンダーフロー例外とはしない)。
よって、浮動小数点演算を行った場合、演算処理の後で
結果として得られた数値にオーバーフロー/アンダーフ
ローが発生したか否かを判定しなければならない。これ
は上述したオーバーフロー/アンダーフローの規定によ
り、演算結果の指数部を確δ忍することによって行える
。すなわち、指数部が最大値以上だった場合にはオーバ
ーフローとし、0以下だった場合にはアンダーフローと
するくアンダーフローの場合はさらに有効ビットが失わ
れているという条件を重畳してアンダーフロー例外を決
定する)。
また、浮動小数点演算を行った場合、演算結果がもとの
データフォーマットの精度範囲内に収らず、仮数部の最
下位ビットのさらに下へ有効ビットが溢れてしまう場合
がある。この場合、溢れたビットを無視して許される精
度範囲内に収める(切り捨て〉か、溢れたビットのかわ
りに最下位ビットに1を加える(切り上げ)という処理
を行う必要がある。この処理を丸めと言うが、IBEI
EP754ではこの丸めを4種類用意することを規定し
ている。従って、浮動小数点演算における丸め処理はこ
の丸めの種類を指定する丸めモード、演算結果仮数部の
最下位ビット、最下位ビットの1つ下のビット(ラウン
ドビット)、演算によって得られた全有効ビットのうち
、最下位ビットの2つ下のビット以下のすべてのビット
の論理和(スティンキービット)という4つの情報をも
とに切り上げ/切り捨てを判断しなければならない。第
5図(C)に上記のラウンドビットおよびスティンキー
ビットと桁溢れビットとを具備した仮数部を示す。
発明が解決しようとする課題 上述のIBB[E P754規格の浮動小数点演算を実
行する従来のマイクロプロセッサには、丸め処理とオー
バーフロー/アンダーフローの判定において問題点があ
った。この問題点を以下に説明する。
従来のマイクロプロセッサにおける丸め処理とオーバー
フロー/アンダーフローの判定回路の例を第4図のブロ
ック図に示す。第4図のマイクロプロセッサにおいて、
浮動小数点演算器401の演算結果は正規化されて指数
部レジスタ402および仮数部レジスタ403に出力さ
れる。仮数部レジスタ403から出力される最下位ビッ
ト、ラウンドビットおよびスティンキービットの3信号
411および丸めモードを指定する丸めモードフラグ4
07により、切り上げ/切り捨て判定回路408は、切
り上げを行うか、切り捨てを行うかを判定し、切り上げ
フラグ410を設定する。この切り上げフラグ410に
より、選択回路417は丸め用定数404またはゼロ定
数419を仮数部加算器406に転送する。
仮数部加算器406は、選択回路417が転送した定数
と仮数部レジスタ403のデータとを加算し、仮数部加
算器結果レジスタ409に出力する。仮数部加算器結果
レジスタ409の桁溢れビットのデータと指数部レジス
タ402のデータが指数部加算器418で加算され、そ
の結果に対し、指数部判定回路405がオーバーフロー
およびアンダーフローの判定を行う。具体的には、指数
部判定回路405は、指数部加算器418の出力が指数
の最大値となっている場合にはMAX フラグ412を
、Oの場合にはゼロフラグ413を、負の数になってい
る場合にはマイナスフラグ414を設定し、MAXフラ
グ412が設定されるとオーバーフローフラグ415が
、ゼロフラグ413またはマイナスフラグ414が設定
されるとアンダーフローフラグ416が出力される。
第6図(a)を参照して、上記のマイクロプロセッサに
おいて丸め処理により、オーバーフローがおこる場合を
説明する。いま、浮動小数点演算器401により演算処
理が行われ、演算結果の指数部が最大値より1だけ小さ
い値であったとする。この場合、指数部が最大値以上に
はなっていないため一見オーバーフローではないように
見える。ところが、演算結果の仮数部がすべて1のとき
は、丸めによる切り上げにより、仮数部は最上位ビット
のさらに上に繰り上がってしまう。この演算結果を正規
化数とするためには丸めを行った後に仮数部を右1ビツ
トシフトし、指数部に1を加える処理が必要になる。1
が加えられると指数部は最大値となりIBBB P75
4の規定するデータフォーマットから外れてしまい、オ
ーバーフローとなる。
また、第6図ら)に、丸め処理により、アンダーフロー
が解消される場合を示す。演算結果の指数部がOのとき
、−見アンダーフローであるように見えるが、上記と同
様に丸めにより指数部に1が加えられることがあるため
、演算結果の仮数部がすべて1のときは、アンダーフロ
ーとはならない。
このように、指数部によるオーバーフロー/アンダーフ
ローの判定は丸めにより覆される可能性があるため、丸
めを行った後に行わなければならない。指数部に対する
丸め処理は、仮数部加算器406の演算結果に対し、さ
らに指数部加算器418による演算を行うことにより実
行される。従って、仮数部加算器406の演算と指数部
加算器418の演算とを並行して処理することはできな
い。2相クロツクにより制御するとして加算処理をφ2
同期で、オーバーフロー/アンダーフローの判定をφ1
同期で行うとしても丸めからオーバーフローフラグ41
5、アンダーフローフラグ416決定までに2クロツク
かかることになる。
さらに、切り上げ/切り捨て判定回路408が、仮数部
レジスタ403から最下位ビット、ラウンドビット、ス
ティッキービットの3信号411および丸めモードフラ
グ407を入力し、切り上げ/切り捨てを判定して切り
上げフラグ410を設定する動作に半クロック(φ2)
、選択回路417による丸め用定数404、ゼロ定数4
19の選択転送に半クロック(φ1)かかる。そのため
、浮動小数点演算器401が演算結果を出力してからオ
ーバーフローフラグ415、アンダーフローフラグ41
6が設定されるまでに合計3クロツク必要となってしま
う。
以上述べたように、オーバーフロー/アンダーフローの
判定を指数部のみで行う従来のマイクロプロセッサでは
、本来の演算処理ではない部分で余分な時間がかかって
しまう。従って、全体の演算処理速度が低下してしまう
結果となる。
そこで、本発明の目的は、上記従来技術の問題点を解決
し、マイクロプロセッサがオーバーフロー/アンダーフ
ローの判定を高速に実行することを可能にする例外判定
回路を提供することにある。
課題を解決するための手段 本発明に従うと、浮動小数点演算の演算結果の丸め処理
に伴うオーバーフローおよびアンダーフローの発生を検
出する例外検出回路において、前記演算結果の仮数部に
対する丸め処理が切り上げとなるか切り捨てとなるかを
判定する第1の判定手段と、 前記演算結果の指数部の大きさを判定する第2の判定手
段と、 前記演算結果の仮数部を無条件に切り上げる丸め処理を
行う仮数部加算器と、 前記第1の判定手段の判定結果、前記仮数部加算器の最
上位ビットからの桁溢れおよび前記第2の判定手段の判
定結果からオーバーフローおよびアンダーフローの発生
を検出する検出手段を具備し、 演算結果が出力されると、前記第1の判定手段、前記第
2の判定手段および前記仮数部加算器を同時に動作させ
てオーバーフローおよびアンダーフローの発生を検出す
ることを特徴とする例外判定回路が提供される。
昨月 本発明の例外検出回路は、浮動小数点演算結果を丸める
際に仮数部を切り上げるか、切り捨てるかの判定結果と
、浮動小数点演算結果の指数部の大きさの判定結果と、
浮動小数点演算結果の仮数部を切り旧げた際の最上位か
らの桁溢れと、からオーバーフローおよびアンダーフロ
ーを検出する。
本発明の例外検出回路において上記の判定および切り上
げは、同時に並(1に処理することが可能である。従っ
て、本発明の例外検出回路では、演算結果が出力されて
からオーバーフロー/アンダーフローが検出されるまで
の時間が従来の1/3になる。
以下、本発明を実施例により、さらに詳しく説明するが
、以下の開示は本発明の虫なる実施例に過ぎず、本発明
の技術的範囲・をなんら制限するものではない。
実施例1 第1図を参照して本発明の例外検出回路の実施例を説明
する。第1図は、浮動小数点演算器101に本発明の例
外検出回路を結合した回路のブロック図である。
第1図の回路において、浮動小数点演算器101の指数
部出力を保持する指数部レジスタ102は、第2の判定
手段である指数部判定回路105にデータを出力し、指
数部判定回路105は、指数部レジスタ102のデータ
が最大値より1少ない値である〈以降、MAX−1ど表
現する)か、最大値以上である(以降、MAXと表現す
る)か、0であるか、負であるかを判定する。指数部判
定回路105は、指数部レジスタ102のデータが、M
AX−1である場合にはMAX−1フラグ111を1と
し、最大値以上である場合にはMAXフラグ112を1
とし、0である場合にはゼロフラグ113を1とし、負
である場合にはマイナスフラグ114を1とする。浮動
小数点演算器101の仮数部出力を保持する仮数部レジ
スタ103は、仮数部加算器106および第1の判定手
段である切り上げ/切り捨て判定回路108にデータを
出力する。仮数部レジスタ103からデータを入力され
た仮数部加算器106は、仮数部レジスタ103からの
データと丸め用定数104とを加算し、仮数部加算器結
果レジスタ109へ出力する。丸め用定数104は、丸
めを行うための定数であり、仮数部と同じ桁数で最下位
ビットのみ1であり、他のビットはすべてOである定数
である。切り上げ/切り捨て判定回路108は、丸めモ
ードレジスタ107がI[EBE P754の浮動小数
点演算仕様に基づいて指定した丸めモードで、仮数部レ
ジスタ103の最下位ビットとそのさらに下位に付随し
ている丸め用の2ビツトから、丸めが切り上げとなるか
切り捨てとなるかを判定する。切り上げ/切り捨て判定
回路108が、切り上げを判定すると、切り上げフラグ
110は1を保持する。
仮数部加算器結果レジスタ109の桁溢れビット、切り
上げフラグ110、MAX−17−yグ111 、MA
X 7う112、ゼロフラグ113およびマイナスフラ
グ114は、オーバーフローおよびアンダーフローの検
出手段であるオーバーフロー/アンダーフロー予測回路
117に入力され、オーバーフロー/アンダーフロー予
測回路117は、これらのデータから指数部が最大値以
上になった場合にオーバーフローフラグ115を、指数
部がゼロ以下になった場合にアンダーフローフラグ11
6をそれぞれ1に設定する。
本実施例の例外検出回路においては、オーバーフロー/
アンダーフロー予測回路117は、仮数部加算器結果レ
ジスタ109の出力と切り上げフラグ110とを入力と
するANDゲート1171、ANDゲート1171の出
力とMAX−17ラグ111 とを人力とするANDゲ
ート1172、ANDゲート1172の出力とMAXフ
ラグ112 とを入力とし、結果をオーバーフローフラ
グ115へ出力するORゲート1173、ANDゲー)
 1171の出力を反転するインバータ1176、イン
バータ1176の出力とゼロフラグ113 とを入力と
するANDゲート1174およびANDゲート1174
の出力とマイナスフラグとを人力とし、結果をアンダー
フローフラグ116へ出力とするORゲート1175を
具備する。
以下、上記の例外検出回路が、丸めの影響で生じるオー
バーフロー/アンダーフローを検出する動作を説明する
。なお、本実施例において、上記の回路は2相クロツク
制御で動作しており、φ1期間で浮動小数点演算器10
1から指数部レジスタ102および仮数部レジスタ10
3への転送、オーバーフローフラグ115またはアンダ
ーフローフラグ116の設定を行い、φ2期間で指数部
判定回路105、仮数部加算器106および切り上げ/
切り捨て判定回路108を動作させるものとする。
まず、第6図(a)に示した丸めによりオーバーフロー
となる場合の動作を説明する。
浮動小数点演算器101が出力する指数部レジスタ10
2はMAX−1、仮数部レジスタ103は全ビットが1
の状態であり、さらに仮数部レジスタ103の下位にあ
る丸め用ビットと丸めモードレジスタ107の内容は切
り上げとなっている。
初めに、φ2期間で仮数部加算器106は、仮数部レジ
スタ103のデータと丸め用定数104とを無条件に加
算して切り上げの丸めを行い、仮数部加算器結果レジス
タ109に出力する。本来は、丸めにより、切り上げが
行われるか、切り捨てとなるかはまだ決まっていないが
、本発明の例外検出回路では、まず仮に切り上げを行い
、切り上げとなった場合に仮数部整数ビットのさらに上
へ桁溢れが発生するかどうかを調べる。φ2期間では、
同時に指数部判定回路105は、指数部レジスタ102
の内容判定を行い、この場合はMAX−1であるためM
AX(フラグ111を1とする。また、切り上げ/切り
捨て判定回路108 もφ2期間で動作できるため、同
時に切り上げであることを判定し、切り上げフラグ11
0を1とする。
φ2期間でオーバーフロー/アンダーフロー予測回路1
17に必要な入力信号はすべて揃うため、続<φIJ[
でオーバーフロー/アンダーフロー予測回路117は、
ただちにオーバーフロー、アンダーフローの判定を行う
。上記の場合、切り上げフラグ110は1、仮数部加算
器結果レジスタの桁溢れビットも1であり、ANDゲー
) 1171は1を出力する。また、MAX−1フラグ
も1であるため、ANDゲート1172の出力は1とな
る。従って、ORゲート1173の出力は1となり、オ
ーバーフローフラグ115は1となる。また、ANDゲ
ート1171の出力が反転されてANDゲー) 117
4に入力されるためANDゲート1174は0を出力す
る。また、マイナスフラグ114は指数部判定回路10
5により0と設定されているため、ORゲート1175
には2人力とも0となり、0を出力する。よってアンダ
ーフローフラグ116は0となる。
浮動小数点演算器110の出力が、丸めを行う前にオー
バーフローである場合、指数部レジスタが最大値以上と
なり、MAXフラグ112が1となるのでORアゲ−1
73の出力は無条件に1となってオーバーフローフラグ
115は1になる。
次に、第6図ら)に示した丸めによりアンダーフローで
はなくなる場合の動作を説明する。
浮動小数点演算器101が出力する指数部レジスタ10
2は0、仮数部レジスタ103 は全ビットが1の状態
であり、さらに仮数部レジスタ103の下位にある丸め
用ビットと丸めモードレジスタ107の内容は切り上げ
となる組合せとなっている。
初めに、φ2期間で仮数部加算器106は、仮数部レジ
スタ103のデータと丸め用定数104とを無条件に加
算して切り上げの丸めを行い、仮数部加算器結果レジス
タ109に出力する。同時に指数部判定回路105は、
指数部レジスタ102の内容判定を行い、この場合は0
であるためゼロフラグ113を1とする。また、切り」
二げ/切り捨て判定回路108は切り上げであることを
判定し、切り上げフラグ110を1とする。
続<φ1期間でオーバーフロー/アンダーフロー予測回
路117が動作する。この場合は切り上げフラグ110
は1、仮数部加算器結果レジスタ109の桁溢れビット
も1であるため、ANDゲー[171は1を出力する。
また、七′ロフラグは1であるが、ANDゲート117
4の他方の人力はANDゲー)1171の出力の反転値
であるため、ANDゲー)1174の出力はOとなる。
ANDゲー)1174の出力およびマイナスフラグ11
4はともにOに設定されているため、ORゲート117
5の出力はOとなり、アンダーフローフラグ116 は
Oとなる。また、MAX −17ラグ111、Mへ×フ
ラグ112 とも(こOであるため、○Rアゲ−117
3は0を出力する。よってオーバーフローフラグ115
 も0となる。
丸めを行ってもアンダーフローがそのままである場合は
、切り上げ/切り捨て判定回路108の判定結果が切り
捨てであり、切り上げフラグ110がOとなり、AND
ゲート1171の出力は0になり、ANDゲー)117
4の入力は両方とも1となってアンダーフローフラグ1
16 は1となる。
浮動小数点演算器110の出力が、丸めを行う前にアン
ダーフローである場合、指数部レジスタが負となり、マ
イナスフラグ114が1となるので○Rアゲ−1175
の出力は無条件に1となってアンダーフローフラグ11
6は1になる。
このように、本発明の例外検出回路では、仮数部を仮に
切り上げて、その加算動作と同時に切り上げ/切り捨て
判定回路108と、指数部判定回路105を動作させる
。従って、本発明の例外検出回路は、指数部レジスタ1
02、仮数部レジスタ103に演算結果が入力されてか
ら1クロツタでオーバーフロー、アンダーフローを判定
する。
実施例2 第2図を参照して本発明の例外検出回路の第2の実施例
を説明する。。実施例1の例外検出回路は、オーバーフ
ローおよびアンダーフローの検出手段が論理回路で構成
されていたが、本実施例の例外検出回路ではオーバーフ
ローおよびアンダーフローの検出手段は、ROMで構成
されている。
第2図は、浮動小数点演算器201に本発明の例外検出
回路を結合した回路のブロック図である。
第2図の回路において、浮動小数点演算器201、指数
部レジスタ202、仮数部レジスタ203、丸め用定数
204、指数部判定回路205、仮数部加算器206、
丸めモードレジスタ207、切り上げ/切り捨て判定回
路208、仮数部加算器結果レジスタ209、切り上げ
フラグ210、オーバーフローフラグ215、アンダー
フローフラグ216 は第1図の回路と同様であるので
説明を省略する。
本実施例の例外検出回路において、指数部判定回路20
5 は、指数部レジスタ202から人力されるデータに
より3ビツトの判定コード211をオーバーフロー/ア
ンダーフロー判定用ROM212へ出力する。判定コー
ド211 は、指数部レジスタ202のデータにより第
3図(a)に示すようにエンコードされる。
オーバーフロー/アンダーフロー判定用ROM212は
、判定コード211、仮数部加算器結果レジスタ209
の桁溢れビットおよび切り上げフラグ210をアドレス
とし、オーバーフローフラグ215 とアンダーフロー
フラグ216に対して記憶内容を出力する。第3図ら)
にオーバーフロー/アンダーフロー判定用ROM212
のアドレスとオーバーフロー信号、アンダーフロー信号
との関係を示す。
なお、本実施例の回路も実施例1の回路と同様、2相ク
ロンク制御で動作しており、φ1期間で浮動小数点演算
器201から指数部レジスタ202およヒ仮数部レジス
タ203への転送、オーバーフローフラグ215または
アンダーフローフラグ216の設定を行い、φ2期間で
指数部判定回路205、仮数部加算器206および切り
上げ/切り捨て判定回路208を動作させるものとする
実施例1と同様に第6図(a)に示した丸めによりオー
バーフローとなる場合の動作を説明する。
実施例1と同様、仮数部加算器206は最初のφ2期間
に無条件に丸め用定数204を加算する。また、切り上
げ/切り捨て判定回路208 も仮数部レジスタ203
の下位ビットと丸めモード207により、切り上げを判
断して切り上げフラグ210を1とする。同時に指数部
レジスタ202の内容判定が指数部判定回路205によ
って行われ、第3図(a)に示すようMAX−1である
ことを示すコード010′を判定コード211 として
出力する。
続くφ1期間に判定コード211、仮数部加算器結果レ
ジスタ206の桁溢れビット、切り上げフラグ210の
計5ビットがアドレスとして、オーバーフロー/アンダ
ーフロー判定用ROM212に人力される。この場合人
力されるアドレスは“01011” となり、第3図(
b)に示したオーバーフロー/アンダーフロー判定用R
OMの内容に従い、オーバーフロー信号213が1、ア
ンダーフロー信号214が0となり、オーバーフローフ
ラグ215は1に、アンダーフローフラグ216は0に
それぞれ設定される。
また、第6図(b)に示した丸めによりアンダーフロー
ではなくなる場合には、仮数部加算器206は最初のφ
2期間に無条件に丸め用定数204を加算する。また、
切り上げ/切り捨て判定回路208 も仮数部レジスタ
203の下位ビットと丸めモード207により、切り上
げを判断して切り上げフラグ210を1とする。同時に
指数部レジスタ202の内容判定が指数部判定回路20
5によって行われ、第3図(a)に示すよう0であるこ
とを示すコード 000゜を判定コード211 として
出力する。
続くφ1期間に判定コード211、仮数部加算器結果レ
ジスタ206の桁溢れビット、切り上げフラグ210の
計5ビットがアドレスとして、オーバーフロー/アンダ
ーフロー判定用ROM212に人力される。この場合入
力されるアドレスは“00011゛ となり、第3図ら
)に示したオーバーフロー/アンダーフロー判定用RO
Mの内容に従い、オーバーフロー信号213、アンダー
フロー信号214がともに0となり、オーバーフローフ
ラグ215、アンダーフローフラグ216ともにOにそ
れぞれ設定される。
このように、オーバーフロー/アンダーフロー判定に論
理回路ではなく、ROMを用いても同様の効果を得るこ
とができる。
発明の詳細 な説明したように本発明の例外検出回路は、仮数部を仮
に切り上げて、その加算動作と同時に切り上げ/切り捨
ての判定と指数部の判定を行う。
そのため、演算結果が出力されてから1クロツタでオー
バーフローおよびアンダーフローの発生を予測すること
が可能となる。
【図面の簡単な説明】
第1図は、本発明の例外検出回路の一例と浮動小数点演
算回路を組み合わせた回路のブロック図であり、 第2図は、本発明の例外検出回路の他の実施例と浮動小
数点演算回路を組み合わせた回路のブロック図であり、 第3図(a)は、第2図の回路における指数部判定回路
のエンコード表であり、 第3図(b)は、第2図の回路におけるオーバーフロー
/アンダーフロー判定用ROMの内容であり、第4図は
従来のオーバーフロー/アンダーフロー判定回路の例で
あり、 第5図(a)は、浮動小数点データフォーマットの説明
図であり、 第5図ら)は、浮動小数点データの正規化数として表現
できる範囲の説明図であり、 第5図(C)は、丸めに必要な仮数部の下位ビットの説
明図であり、 第6図(a)は、丸めによってオーバーフローが発生す
る場合の具体例を示す図であり、 第6図(b)は、丸めによってアンダーフローではなく
なる場合の具体例を示す図である。 〔主な参照番号〕 101.201.401  ・・・浮動小数点演算器、
102.202.402  ・・・指数部レジスタ、1
03.203.403  ・・・仮数部レジスタ、、2
04.404 .205.405 .20G、406 .207 .407 .208 .408 .209 .409 110.210 .410 115.215.415 116.216.416  ・ ・丸め用定数、 ・指数部判定回路、 ・仮数部加算器、 ・丸めモードフラグ、 ・切り」二げ/切り捨て判 定回路、 ・・仮数部加算器結果 レジスタ、 ・・切り上げフラグ、 ・・オーバーフローフラグ、 ・・アンダーフローフラグ、

Claims (1)

  1. 【特許請求の範囲】 浮動小数点演算の演算結果の丸め処理に伴うオーバーフ
    ローおよびアンダーフローの発生を検出する例外検出回
    路において、 前記演算結果の仮数部に対する丸め処理が切り上げとな
    るか切り捨てとなるかを判定する第1の判定手段と、 前記演算結果の指数部の大きさを判定する第2の判定手
    段と、 前記演算結果の仮数部を無条件に切り上げる丸め処理を
    行う仮数部加算器と、 前記第1の判定手段の判定結果、前記仮数部加算器の最
    上位ビットからの桁溢れおよび前記第2の判定手段の判
    定結果からオーバーフローおよびアンダーフローの発生
    を検出する検出手段を具備演算結果が出力されると、前
    記第1の判定手段、前記第2の判定手段および前記仮数
    部加算器を同時に動作させてオーバーフローおよびアン
    ダーフローの発生を検出することを特徴とする例外判定
    回路。
JP01022227A 1989-01-31 1989-01-31 例外検出回路 Expired - Fee Related JP3076046B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP01022227A JP3076046B2 (ja) 1989-01-31 1989-01-31 例外検出回路
US07/472,387 US5038313A (en) 1989-01-31 1990-01-31 Floating-point processor provided with high-speed detector of overflow and underflow exceptional conditions
EP19900101910 EP0381191A3 (en) 1989-01-31 1990-01-31 Floating-point processor provided with high-speed detector of overflow and underflow exceptional conditions

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP01022227A JP3076046B2 (ja) 1989-01-31 1989-01-31 例外検出回路

Publications (2)

Publication Number Publication Date
JPH02201645A true JPH02201645A (ja) 1990-08-09
JP3076046B2 JP3076046B2 (ja) 2000-08-14

Family

ID=12076916

Family Applications (1)

Application Number Title Priority Date Filing Date
JP01022227A Expired - Fee Related JP3076046B2 (ja) 1989-01-31 1989-01-31 例外検出回路

Country Status (3)

Country Link
US (1) US5038313A (ja)
EP (1) EP0381191A3 (ja)
JP (1) JP3076046B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05134850A (ja) * 1991-11-11 1993-06-01 Mitsubishi Electric Corp 丸め回路を有する演算回路

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2523962B2 (ja) * 1990-08-20 1996-08-14 松下電器産業株式会社 浮動小数点演算装置
DE69133072T2 (de) * 1990-08-24 2003-03-20 Matsushita Electric Industrial Co., Ltd. Verfahren und Gerät zur Berechnung von Gleitkommadaten
US5430661A (en) * 1990-12-03 1995-07-04 Board Of Trustees Leland Stanford, Jr. University Adaptive decision feedback equalizer apparatus for processing information stored on digital storage media
US5218564A (en) * 1991-06-07 1993-06-08 National Semiconductor Corporation Layout efficient 32-bit shifter/register with 16-bit interface
JP2803428B2 (ja) * 1992-02-17 1998-09-24 日本電気株式会社 入力バッファ
US5257216A (en) * 1992-06-10 1993-10-26 Intel Corporation Floating point safe instruction recognition apparatus
US5257214A (en) * 1992-06-16 1993-10-26 Hewlett-Packard Company Qualification of register file write enables using self-timed floating point exception flags
US5422805A (en) * 1992-10-21 1995-06-06 Motorola, Inc. Method and apparatus for multiplying two numbers using signed arithmetic
US5375080A (en) * 1992-12-18 1994-12-20 Xerox Corporation Performing arithmetic on composite operands to obtain a binary outcome for each multi-bit component
JP3071607B2 (ja) * 1993-06-01 2000-07-31 日本電気株式会社 乗算回路
US5339266A (en) * 1993-11-29 1994-08-16 Motorola, Inc. Parallel method and apparatus for detecting and completing floating point operations involving special operands
US5448509A (en) * 1993-12-08 1995-09-05 Hewlett-Packard Company Efficient hardware handling of positive and negative overflow resulting from arithmetic operations
US5553015A (en) * 1994-04-15 1996-09-03 International Business Machines Corporation Efficient floating point overflow and underflow detection system
JP3105738B2 (ja) * 1994-06-10 2000-11-06 日本電気株式会社 情報処理装置
US5583805A (en) * 1994-12-09 1996-12-10 International Business Machines Corporation Floating-point processor having post-writeback spill stage
US5548545A (en) * 1995-01-19 1996-08-20 Exponential Technology, Inc. Floating point exception prediction for compound operations and variable precision using an intermediate exponent bus
US5748516A (en) * 1995-09-26 1998-05-05 Advanced Micro Devices, Inc. Floating point processing unit with forced arithmetic results
JPH0997178A (ja) * 1995-09-29 1997-04-08 Matsushita Electric Ind Co Ltd 飽和演算処理装置および方法
US5798958A (en) * 1996-06-05 1998-08-25 Samsung Electronics Co., Ltd. Zero detect for binary sum
US6018757A (en) * 1996-08-08 2000-01-25 Samsung Electronics Company, Ltd. Zero detect for binary difference
US6282558B1 (en) * 1997-12-19 2001-08-28 Matsushita Electric Industrial Co., Ltd. Data processing system and register file
US7242414B1 (en) * 1999-07-30 2007-07-10 Mips Technologies, Inc. Processor having a compare extension of an instruction set architecture
US6732259B1 (en) 1999-07-30 2004-05-04 Mips Technologies, Inc. Processor having a conditional branch extension of an instruction set architecture
US6912559B1 (en) 1999-07-30 2005-06-28 Mips Technologies, Inc. System and method for improving the accuracy of reciprocal square root operations performed by a floating-point unit
US6697832B1 (en) 1999-07-30 2004-02-24 Mips Technologies, Inc. Floating-point processor with improved intermediate result handling
US7346643B1 (en) 1999-07-30 2008-03-18 Mips Technologies, Inc. Processor with improved accuracy for multiply-add operations
US6714197B1 (en) 1999-07-30 2004-03-30 Mips Technologies, Inc. Processor having an arithmetic extension of an instruction set architecture
US6631392B1 (en) 1999-07-30 2003-10-07 Mips Technologies, Inc. Method and apparatus for predicting floating-point exceptions
US20040098439A1 (en) * 2000-02-22 2004-05-20 Bass Stephen L. Apparatus and method for sharing overflow/underflow compare hardware in a floating-point multiply-accumulate (FMAC) or floating-point adder (FADD) unit
US6633895B1 (en) * 2000-02-22 2003-10-14 Hewlett-Packard Development Company, L.P. Apparatus and method for sharing overflow/underflow compare hardware in a floating-point multiply-accumulate (FMAC) or floating-point adder (FADD) unit
US6996596B1 (en) * 2000-05-23 2006-02-07 Mips Technologies, Inc. Floating-point processor with operating mode having improved accuracy and high performance
US7853653B2 (en) * 2004-11-03 2010-12-14 Aspect Software, Inc. Method of tracking e-mail handling by a remote agent of an automatic contact distributor
US7668896B2 (en) * 2004-11-30 2010-02-23 Arm Limited Data processing apparatus and method for performing floating point multiplication
US7640286B2 (en) * 2004-11-30 2009-12-29 Arm Limited Data processing apparatus and method for performing floating point multiplication
KR100919236B1 (ko) * 2007-05-22 2009-09-30 한국전자통신연구원 병렬 프로세서를 이용한 3차원 그래픽 기하 변환 방법

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59139448A (ja) * 1983-01-28 1984-08-10 Matsushita Electric Ind Co Ltd 浮動小数点乗算装置
JPS6097436A (ja) * 1983-11-01 1985-05-31 Nec Corp 丸め制御回路
JPS6125245A (ja) * 1984-07-12 1986-02-04 Nec Corp 丸め処理回路
JPS6170635A (ja) * 1984-09-14 1986-04-11 Hitachi Ltd 丸め制御装置
JPS62226226A (ja) * 1986-03-27 1987-10-05 Nec Corp 浮動小数点丸め正規化回路

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU549632B2 (en) * 1981-04-23 1986-02-06 Data General Corporation Floating point notation
US4562553A (en) * 1984-03-19 1985-12-31 Analogic Corporation Floating point arithmetic system and method with rounding anticipation
JPS61239327A (ja) * 1985-04-16 1986-10-24 Nec Corp オ−バフロ−検出方式

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59139448A (ja) * 1983-01-28 1984-08-10 Matsushita Electric Ind Co Ltd 浮動小数点乗算装置
JPS6097436A (ja) * 1983-11-01 1985-05-31 Nec Corp 丸め制御回路
JPS6125245A (ja) * 1984-07-12 1986-02-04 Nec Corp 丸め処理回路
JPS6170635A (ja) * 1984-09-14 1986-04-11 Hitachi Ltd 丸め制御装置
JPS62226226A (ja) * 1986-03-27 1987-10-05 Nec Corp 浮動小数点丸め正規化回路

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05134850A (ja) * 1991-11-11 1993-06-01 Mitsubishi Electric Corp 丸め回路を有する演算回路

Also Published As

Publication number Publication date
US5038313A (en) 1991-08-06
EP0381191A3 (en) 1992-06-24
JP3076046B2 (ja) 2000-08-14
EP0381191A2 (en) 1990-08-08

Similar Documents

Publication Publication Date Title
JPH02201645A (ja) 例外検出回路
JPS62226226A (ja) 浮動小数点丸め正規化回路
JPS6360417B2 (ja)
US5931895A (en) Floating-point arithmetic processing apparatus
JPH03117918A (ja) プライオリティエンコーダおよび浮動小数点正規化装置
US4110831A (en) Method and means for tracking digit significance in arithmetic operations executed on decimal computers
JP2695178B2 (ja) 演算回路
JPH09204295A (ja) スティッキービット検出回路
EP0520378B1 (en) Overflow detection system and its circuit for use in addition and subtraction
US5754458A (en) Trailing bit anticipator
JP2555135B2 (ja) 演算回路
JP2005202885A (ja) 加算回路
JPS595344A (ja) 並列シフト回路
CN119201038B (zh) 混合精度运算的浮点加法实现方法、装置及电子设备
JP3174974B2 (ja) 浮動小数点演算装置および方法
JP3187402B2 (ja) 浮動小数点データ加減算回路
US6654776B1 (en) Method and apparatus for computing parallel leading zero count with offset
JPH0216632A (ja) 固定小数点数−浮動小数点数変換回路
JP3115138B2 (ja) 演算処理装置
JP2513354B2 (ja) 浮動小数点演算補助回路
JPH0383126A (ja) 浮動小数点乗算器
JPS5960637A (ja) 浮動小数点演算装置
JPH03100722A (ja) 精度変換命令の処理方式
JPH01211026A (ja) 正規化シフト数決定装置
JPH03217938A (ja) 浮動小数点丸め正規化装置

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees