JPH03217938A - 浮動小数点丸め正規化装置 - Google Patents

浮動小数点丸め正規化装置

Info

Publication number
JPH03217938A
JPH03217938A JP2014667A JP1466790A JPH03217938A JP H03217938 A JPH03217938 A JP H03217938A JP 2014667 A JP2014667 A JP 2014667A JP 1466790 A JP1466790 A JP 1466790A JP H03217938 A JPH03217938 A JP H03217938A
Authority
JP
Japan
Prior art keywords
data
overflow
rounding
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
Application number
JP2014667A
Other languages
English (en)
Inventor
Mikako Yasutome
安留 美加子
Katsuhiko Ueda
勝彦 上田
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2014667A priority Critical patent/JPH03217938A/ja
Publication of JPH03217938A publication Critical patent/JPH03217938A/ja
Pending legal-status Critical Current

Links

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は浮動小数点データの丸め正規化演算を実行する
装置に関し、特に数値データに対し、入力のデータサイ
ズに対応した丸め.正規化及びオーバフロー.アンダフ
ローに伴う訂正機能等を含む演算処理を行う装置に関す
るものである。
[従来の技術〕 浮動小数点演算で精度を保つためには、正規化処理,丸
め処理が必要になることに加え、これらノ処理中に発生
するオーバフロー アンダフローの処理も行う必要があ
る。第5図は特願昭62 − 226226号に示され
ている従来の浮動小数点丸め正規化装置のブロック図を
示すものである。第5図において浮動小数点データの仮
数部データは制御信号生成回路l及びバレルシフタ2に
与えられる。
制御信号生成回路1は仮数部データのビットパターンを
解読し非正規データの先行のOを検出し、これに応じた
シフト値の制御信号を生成するものであり、バレルシフ
タ2はこの出力に対応して入力信号をシフトさせるもの
である。そしてバレルシフタ2の出力はビットパターン
検出回路3と加算器4に与えられる。ビットパターン検
出回路3はバレルシフタ2,の出力のうち出力されるビ
ット数の最下位ビットと、右シフトによってあふれたビ
ットのビットパターンによって切上げ.切捨てを判断す
るものであり、その判断結果に対応して1又はOを出力
する。加算器4はビットパターン検出回路3が切上げと
判断したときに1、切捨てと判断したときにOの加算を
行うものであって、そのオーバフロー出力はオーバフロ
ー検出回路5、加算出力はシフタ6に与えられる。オー
バフロ−検出回路5は、オーハ゜フローを検出したとき
にシフタ6に信号を与えて入力信号を右に1ビットシフ
トさせると共に、検出信号を加算器7に与える。
さて制御信号生成回路Iの出力はエンコーダ8にも与え
られている。エンコーダ8は制御信号生成回路1の出力
信号、即ちシフト量に応じた2の補数を出力して加算器
7に与える。加算器7は外部より与えられる非正規化デ
ータの指数部データとこの出力とを加算すると共に、オ
ーバフロー検出回路5より信号が与えられたときに更に
「1」を加算するものであり、その出力はオーバフロー
検出回路9及び指数部データ訂正回路10に与えられる
。オーバフロー検出回路9はオーバフ口一を検出しその
出力を指数部データ訂正回路10に与える。指数部デー
タ訂正回iW10は加算器7の出力を指数部オーバフロ
ー値に訂正するものである。
このように構成された浮動小数点丸め正規化装置の動作
について動作手順の順に沿って説明する。
くステップ1〉 仮数部正規化 非正規データの仮数部データは、バレルシフタ2と制御
信号生成回路1に同時に入力される。制御信号生成回路
lは仮数部データのビットパターンを解読し、先行の0
を検出し、これに応じたシフト量の制御信号を生成する
。制御信号生成回路1の入出力関係を第2図に示す。第
2図においてSは符号ビット、*は「0」又は「1」の
いずれかの数であり、仮数部が65ビット構成のものに
ついて示している。
バレルシフタ2は入力である非正規データに対して制御
信号生成回路1の出力分に相当するシフトを行い、正規
化を実行する。ビットパターン検出回路3では、ビット
パターンに応じて丸めビット1または0を出力する。
〈ステソプ2〉 丸め加算 次に加算器4で、バレルシフタ2の出力である正規デー
タとビットパターン検出回路3の出力の加算を行って、
丸め処理を行う。
〈ステップ3〉 (3−1)仮数部オーバフロー処理 加算器4での丸め処理によって発生するオーバフ口一を
オーバフロー検出回路5で検出し、オーバフ口一が発生
した場合にはシフタ6で右へ1シフトを行なって仮数部
データを出力する。又オーバフ口一が発生しない場合は
シフトを行わず、仮数部データの丸め正規化処理を終了
する。
(3−2)指数補正 オーバフロー検出回路5の出力は同時に指数部加算器7
にも入力される。加算器7は非正規データの指数部とエ
ンコーダ8の出力とオーバフロー検出回路5出力の加算
、即ち非正規データの指数部から正規化に要した仮数部
シフト数を減算するという仮数部正規化のための指数補
正(以下、指数正規化補正という)と、仮数部丸めによ
るオーバフロー発生時のみ更に指数に1を加算するとい
う丸めに対する指数補正(以下、指数丸め補正という)
を同時に行う。
〈ステップ4〉 指数部オーバフロー検出 加算器7でオーバフ口一が発生した場合にオーバフロー
検出回路9は指数部オーバフ口一を検出し、指数部デー
タ訂正回路10では、オーバフロー検出回路9で指数オ
ーバフ口一が検出された時に指数部データをオーバフ口
一時の指数値に訂正して出力する。
〔発明が解決しようとする課題〕
しかしながらこのような従来の浮動小数点丸め正規化装
置では、仮数部の正規化丸め処理は仮数部丸め処理用の
加算器4のオーバフロー検出信号、即ち最上位ビットか
らの桁上げ信号が出力されるのを待ってから指数補正を
行う必要がある。従って正規化→丸め加算→指数補正→
オーバフロー検出のバス(ステップ1〜4)が発生し、
オーバフ口一の検出終了までに長時間がかかるという欠
点があった。
更に{EEEP754規格に従い且つ拡張精度の指数を
15ビットで表現した場合、単精度.倍精度の場合も指
数は15ビットで表現される。このとき指数は表1に示
したような範囲をとる。そこで例えば拡張精度での演算
結果は倍精度で丸めると、丸め結果の指数は倍精度の指
数範囲では表現できずアンダフローを起こす場合も発生
する。即ち精度縮小を行う丸め処理ではアンダフローも
必要となる。しかしながら従来例では、第5図に示すよ
うに指数部のオーバフロー検出回路9で指数補正の結果
生じたオーバフローしか検出していないため、異サイズ
データが混在した場合のオーバフ口、アンダフローの検
出は困難であるという問題点を有していた。
表1 拡張精度に変換した場合の指数範囲(16進表示
) 本発明はこのような従来の問題点を解決するものであっ
て、浮動小数点数の指数部のオーバフロー及びアンダフ
ローの検出を比較的小さいハードウエアで高速に実行で
きるようにすることを技術的課題とする。
〔課題を解決するための手段〕
本発明は指数部データおよび仮数部データを含む浮動小
数点表現の非正規データの丸め正規化処理を行う丸め正
規化装置であって、非正規データの仮数部データをシフ
トさせることによって正規化する正規化手段と、正規化
手段による正規化時のシフト数分の指数補正を行う正規
化時指数補正手段と、正規化手段によって正規化された
仮数部データに対して丸め処理を行う丸め処理手段と、
出力すべきデータのサイズと非正規データの指数部デー
タの最上位ビットに基づいて選択される各サイズのオー
バフローあるいはアンダフローの境界値を出力する境界
値出力手段と、境界値出力手段より与えられる指数部デ
ータのオーバフ口一とアンダフローの境界値、及び正規
化時指数補正手段によって補正した指数を比較し、オー
バフローアンダフローの可能性を判断する判断手段と、
判断手段によるオーバフロー,アンダフローの可能性判
断結果と丸め処理手段の丸めによるオーバフ口一発生の
有無に基づいてオーバフローあるいはアンダフローを検
出する検出手段とを具備することを特徴とするものであ
る。
〔作用] 本発明はこのような構成により、非正規化データの仮数
部を正規化し指数補正を行うと共に仮数部のデータに対
して丸め処理を行い、データサイズと指数部データの最
上位ビットに基づいて各サイズのオーバフロー又はアン
ダフローの境界値を出力し、その可能性を判別して異サ
イズデータ混在の場合にも高速にオーバフロー,アンダ
フローの検出を行なうようにしている。
〔゛実施例] 以下本発明の一実施例について、図面を参照しながら説
明する。第1図は本発明の一実施例による浮動小数点丸
め正規化装置のブロック図を示すものである。
ここでは、指数部データが各精度毎にI EEEP75
4規格で定義された表2のような境界値(16進数表現
を使用したが、実際には15ビットの2進数表現)を持
つデータについて説明する。
表2 第1図において前述した従来例と同一部分は同一符号を
付して詳細な説明を省略する。本実施例においても仮数
部データは制御信号生成回路1とバレルシフタ2に与え
られる。バレルシフタ2の出力はビットパターン検出回
路1l及び加算器4に与えられる。ビットパターン検出
回路11には外部からサイズ(S I ZE)信号と丸
め方法の制御信号とが与えられる。ここでサイズ信号は
表2に示すように単精度,倍精度,拡張精度のいずれか
を示す信号とし、丸め方法は第3図に示すように前述し
たI EEEの規格で定められているRN,RM,RP
,RZの4種類の丸め方法とする。そして第3図(a)
に示すように外部から入力され丸め精度を示すSIZE
信号に応じてG(ガード)ビット R(ラウンド)ビッ
ト S(スティッキー)ビットを求めた後、外部から与
えられる丸め方法と仮数部の符号に応じて第3図(ロ)
に示す値を出力する。又その出力桁位置は第3図(C)
に示すものとなる。こうして丸めのための1又は2ビッ
トを加算器4に与える。加算器4はバレルシフタ2の出
力と加算することによって正規化処理を行い、その出力
をシフタ6に与えると共にオーバフロー検出回路5に与
えることは前述した従来例と同様である。
一方正規化前の指数部データのMSBは比較値生成回路
12及びオーバーアンダフロー検出回路13に与えられ
、指数部データはマルチプレクサ14に与えられる。比
較値生成回路12はビットパターン検出回路11と同様
のサイズ信号が与えられており、サイズ信号で示される
3種類の精度情報に基づいて表2に示す指数のオーバフ
口一の境界値を2の補数として選択して出力するもので
あって、その出力はマルチプレクサ15に与えられる。
マルチプレクサl5にはエンコーダ8の出力及び零の信
号が与えられ、マルチブレクサ14.15で夫々選択さ
れた信号が加算器7に与えられる。加算器7は前述した
従来例と同様にこれらの信号を加算して指数部の正規化
処理を行い、オーバフロー検出時には更にその出力を加
算するものであって、その出力はレジスタ16及びオー
バアンダフロー検出回路l3に与えられる。レジスタ1
6は加算出力を一時保持するものであって、その出力は
マルチプレクサ14及び指数部データ訂正回路10に与
えられる。マルチプレクサ14,15は正規化シフトの
実行時に指数部データ及びエンコーダ8の出力を夫々選
択し、丸め加算時にはレジスタl6の出力及び比較値生
成回路12の出力を夫々選択し、その他の場合にはマル
チプレクサ15は零を選択するものである。又オーバア
ンダフロー検出回路13は加算器7の出力である指数と
比較値生成回路12の出力の和と非正規化データの最上
位ビッ} (MSB),オーバフロ−検出回路5の出力
である仮数オーバフ口ー信号を入力として第4図に示す
入出力関係を持ち、指数部のオーバフロー,アンダフロ
ーを判定して外部に出力するものである。
以上のように構成された第1の実施例の浮動小数点丸め
正規化装置において動作手順に沿って説明する。
〈ステップ1〉 (1−1)仮数部正規化 非正規データの仮数部データは、バレルシフタ2と制御
信号生成回路1に同時に入力される。制御信号生成回路
1は仮数部データのビットパターンを解読し先行の「0
」を検出し、これに応じたシフト量の制御信号を生成す
る。制御信号生成回路1の入出力関係を第2図に示す。
バレルシフタ2は入力である非正規データに対して制御
信号生成回路1の出力分に相当するシフトを行ない、正
規化を実行する。ビットパターン検出回路11では、第
3図(a)に示すように外部から入力するサイズ信号の
チェックすべきビットに応じてバレルシフタ2であふれ
たビット列を選択してG(ガードピット),R(ラウン
ドビット),S(スティッキービット)とする。そして
このG,R,Sビットと、外部から入力される丸め方法
RN,RM,RP,RZの制御信号に基づいてデータサ
イズの有効桁数に対応した第3図(b)に示す丸めのた
めのビットを第3図(C)に示す位置に出力する。ここ
で制御信号生成回路1及びバレルシフタ2は、非正規デ
ータの仮数部データをシフトさせることによって正規化
する正規化手段を構成している。
(1−2)指数正規化補正 一方バレルシフタ2によって仮数部の正規化を行うのと
同時に、加算器7ではマルチプレクサ14で選択した非
正規データの指数部とマルチプレクサ15で選択したエ
ンコーダ8の出力との加算を行ない、結果をレジスタ1
6に格納する。ここでエンコーダ8及び加算器7とマル
チプレクサ14.15とは選択した非正規データの指数
部とエンコーダ出力に基づいて指数補正を行う正規化時
指数補正手段を構成している。
くステップ2〉 (2−1)仮数部丸め 加算器4ではビットパターン検出回路11の出力である
丸めビットをバルルシフタ2の出力である正規化された
加数部データと加算し、データサイズに応じた丸め処理
を実現する。
(2−2)オーバフロー,アンダフロー前判断加算器4
で丸め処理を行う間に、レジスタ16に格納した正規化
補正後の指数データをマルチプレクサ14で選択し、マ
ルチプレクサ15で選択した比較値生成回路12の出力
と加算する。このとき境界値出力手段である比較値生成
回路12では、非正規データの最上位ビット(MSB)
が1のときはデータサイズに応じたオーバフロー境界値
を選択し、非正規データの最上位ビットが0のときはデ
ータサイズに応じたアンダフロー境界値を選択する。
〈ステップ3〉 (3−1)仮数部オーバフロー処理 加算器4での丸め処理によって発生するオーバフローを
オーバフロー検出回路5で検出し、オーバフ口一が発生
した場合にはシフタ6で加算器4の出力を右の1シフト
して出力する。オーバフ口一が発生しない場合はシフタ
6ではシフトを行わず、仮数部の丸め正規化処理を終了
する。ここで加算器4,オーバフロー検出回路5,シフ
タ6及びビ,トパターン検出回路11は正規化された仮
数部データに対して丸め処理を行う丸め処理手段を構成
している。
(3−2)指数オーバフロー,アンダフロー処理オーバ
アンダフロー検出回路13では、オーバフロー検出回路
5の動作終了後直ちに第4図に従って指数部のオーバフ
ロー,アンダフローを検出する。ここでオーバアンダフ
ロー検出回路13はオーバフロー,アンダフローの可能
性の判断結果と丸め処理手段によるオーバフ口一に基づ
いてオーバフロー及びアンダフローを検出する検出手段
を構成している。
指数部データ訂正回路10では、オーバアンダフロー検
出回路13で指数部オーバフローもしくはアンダフロー
が検出されたときに指数部データをオーバフロー,アン
ダフロー時の指数値に訂正して外部に出力する。
(3−3)指数丸め補正 オーバフロー検出回路5の出力はステップ3でのみ指数
部の加算器7にも入力される。加算器7はマルチプレク
サエ4で選択したレジスタ16の出力(正規化補正後の
指数部データ)とマルチプレクサ15で選択した「0」
を入力とし、オーバフロー検出回路5の出力を最下位か
らの桁上げとした加算、即ち仮数部丸めによるオーバフ
口一発生時においてのみ、正規データの指数部に1を加
算するという丸めに対する指数補正を行う。
以上のように本実施例によれば、非正規データの指数の
最上位ビットが1の時はオーバフローのみが発生する可
能性があり、最上位ビットが0の時はアンダフローのみ
が発生する可能性があることに着目し、仮数部の丸め処
理実行中に、オーバフローかアンダフローのどちらか一
方のデータサイズに応じた境界値と、正規化後の指数デ
ータを比較している。従って丸めによるオーバフロー検
出結果が出力されるとほぼ同時に、前記比較結果によっ
て指数部のオーバフロー,アンダフロー検出が可能にな
る。この指数部のオーバフロー,アンダフロー検出はデ
ータサイズ毎に検出可能なだけでなく、仮数部オーバフ
口一が検出されてから指数補正を行ってその桁上げの伝
搬を待ってオーバフ口一を判定するのではなく、指数部
オーバフ口一が検出されるまでに境界値との比較が終わ
っているため、高速に指数部オーバフロー,アンダフロ
ー検出が可能である。
(発明の効果) 以上詳細に説明したように本発明によれば、大きなハー
ドウエアを付加することなく、正規化丸めによる指数補
正過程で生じるサイズ毎のオーバフロー,アンダフロー
を高速に検出することができ、実用的効果は大きい。
【図面の簡単な説明】
第1図は本発明の一実施例による浮動小数点丸め正規化
装置のブロック図、第2図は制御信号生成回路の人出力
関係図、第3図はオーバフロー検出回路の入出力関係図
、第4図はビットパターン検出回路の入出力関係図、第
5図は従来の浮動小数点丸め正規化装置のブロック図で
ある。

Claims (1)

    【特許請求の範囲】
  1. (1)指数部データおよび仮数部データを含む浮動小数
    点表現の非正規データの丸め正規化処理を行う丸め正規
    化装置であって、 非正規データの仮数部データをシフトさせることによっ
    て正規化する正規化手段と、 前記正規化手段による正規化時のシフト数分の指数補正
    を行う正規化時指数補正手段と、前記正規化手段によっ
    て正規化された仮数部データに対して丸め処理を行う丸
    め処理手段と、出力すべきデータのサイズと非正規デー
    タの指数部データの最上位ビットに基づいて選択される
    各サイズのオーバフローあるいはアンダフローの境界値
    を出力する境界値出力手段と、 前記境界値出力手段より与えられる指数部データのオー
    バフローとアンダフローの境界値、及び前記正規化時指
    数補正手段によって補正した指数を比較し、オーバフロ
    ー、アンダフローの可能性を判断する判断手段と、 前記判断手段によるオーバフロー、アンダフローの可能
    性判断結果と前記丸め処理手段の丸めによるオーバフロ
    ー発生の有無に基づいてオーバフローあるいはアンダフ
    ローを検出する検出手段とを具備することを特徴とする
    浮動小数点丸め正規化装置。
JP2014667A 1990-01-23 1990-01-23 浮動小数点丸め正規化装置 Pending JPH03217938A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014667A JPH03217938A (ja) 1990-01-23 1990-01-23 浮動小数点丸め正規化装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014667A JPH03217938A (ja) 1990-01-23 1990-01-23 浮動小数点丸め正規化装置

Publications (1)

Publication Number Publication Date
JPH03217938A true JPH03217938A (ja) 1991-09-25

Family

ID=11867567

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014667A Pending JPH03217938A (ja) 1990-01-23 1990-01-23 浮動小数点丸め正規化装置

Country Status (1)

Country Link
JP (1) JPH03217938A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07146778A (ja) * 1993-11-22 1995-06-06 Nec Corp 浮動小数点加減算器
KR100324734B1 (ko) * 1995-08-04 2002-08-24 엘지전자주식회사 비트패턴검출장치

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07146778A (ja) * 1993-11-22 1995-06-06 Nec Corp 浮動小数点加減算器
KR100324734B1 (ko) * 1995-08-04 2002-08-24 엘지전자주식회사 비트패턴검출장치

Similar Documents

Publication Publication Date Title
EP0973089B1 (en) Method and apparatus for computing floating point data
JP3076046B2 (ja) 例外検出回路
US4941120A (en) Floating point normalization and rounding prediction circuit
JPH0644225B2 (ja) 浮動小数点丸め正規化回路
US5317526A (en) Format conversion method of floating point number and device employing the same
EP0381403A2 (en) Pipelined floating point adder for digital computer
JPH0544046B2 (ja)
JPH09212337A (ja) 浮動小数点演算処理装置
JPH0520028A (ja) 加減算のための浮動小数点演算装置の仮数部処理回路
EP0520378B1 (en) Overflow detection system and its circuit for use in addition and subtraction
JPH03217938A (ja) 浮動小数点丸め正規化装置
JPH04350724A (ja) シフト量検出回路
US5432727A (en) Apparatus for computing a sticky bit for a floating point arithmetic unit
JP2517064B2 (ja) 非正規化数の処理方式
JPH1091396A (ja) 浮動小数点数検出装置および浮動小数点数検出回路
JP3174974B2 (ja) 浮動小数点演算装置および方法
JP2723707B2 (ja) 正規化回路
JP2558799B2 (ja) 浮動小数点正規化丸め装置
JP2801472B2 (ja) 浮動小数点演算装置
JP4428778B2 (ja) 演算装置及び演算方法並びに計算装置
US4907185A (en) Program-controlled computer with an interrupt capability for floating-point operation
JP2512230B2 (ja) 演算処理装置
JPH05204606A (ja) 浮動小数点演算方式および装置
JP3245884B2 (ja) シフト加減算装置
JPH0413734B2 (ja)