JPH03100722A - 精度変換命令の処理方式 - Google Patents

精度変換命令の処理方式

Info

Publication number
JPH03100722A
JPH03100722A JP1238213A JP23821389A JPH03100722A JP H03100722 A JPH03100722 A JP H03100722A JP 1238213 A JP1238213 A JP 1238213A JP 23821389 A JP23821389 A JP 23821389A JP H03100722 A JPH03100722 A JP H03100722A
Authority
JP
Japan
Prior art keywords
exponent
conversion
processing
format
value
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
JP1238213A
Other languages
English (en)
Inventor
Yuji Yoshida
裕司 吉田
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP1238213A priority Critical patent/JPH03100722A/ja
Publication of JPH03100722A publication Critical patent/JPH03100722A/ja
Pending legal-status Critical Current

Links

Abstract

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

Description

【発明の詳細な説明】 〔概要〕 浮動小数点演算処理装置において、浮動小数点数の精度
形式を変換する精度変換命令の処理方式に関し。
指数部変換処理でのオーバヘッドを小さクシ。
処理の高速化を図ることを目的とし。
表現された浮動小数点数を他の精度形式へ変換する精度
変換命令を処理する場合に、変換前の形式で表現された
指数部を入力として、指定された形式へと変換した指数
部結果を出力するとともに。
変換において指数オーバフローあるいは指数アンダフロ
ーが発生する場合には、それぞれに対応して指数オーバ
フロー検出信号および指数アンダフロー検出信号を発生
し、また、あらかじめ決められた下限値に1と上限値に
2に対して、入力された指数部Eが、(1)k1−Eま
たはに2−E、■に1<E<k2.(3)E<k1また
はに2<E。
のいずれの関係にあるかを識別可能な状態検出信号を出
力する指数部変換回路を備え、これらの状態検出信号お
よび指数変換結果を使用して処理するように構成した。
〔産業上の利用分野〕
本発明は、浮動小数点演算処理装置において。
浮動小数点数の精度形式を変換する精度変換命令の処理
方式に関する。
〔従来の技術〕
ある浮動小数点数を1ビツトの符号部S、mビットの指
数部E、およびnビットの仮数部Fで表現し、また、仮
数部のビット数、つまり表現できる有効桁数のビット数
の違いによって単精度形式。
倍精度形式、拡張精度形式といった複数の浮動小数点デ
ータ形式を扱う浮動小数点演算処理装置が従来から広°
く使われている。
従来は単精度形式8倍精度形式、拡張精度形式のいずれ
の形式においても指数部Eのビット数は同じであり、仮
数部Fのビット数が異なるだけの浮動小数点表現形式が
広く用いられていた。従って1例えば倍精度形式で表現
された浮動小数点数を単精度形式の浮動小数点数に変換
するといったー精度変換命令を処理する場合は、基本的
に仮数部のビット数を変換先のビット数に合わせる処理
だけを行えばよかった。
近年、仮数部のビット数が多くなるにつれて指数部のビ
ット数も増えるような精度形式を用いる浮動小数点表現
形式がI EEE標準規格として提唱され、これに準拠
した浮動小数点表現形式を扱う浮動小数点演算処理装置
が増えつつある。
IEEEEEE標準規格はこれに準拠した浮動小数点表
現形式を扱う浮動小数点演算処理装置では、浮動小数点
数Xは1ビツトの符号部S、 mビットの指数部E、お
よびnビットの仮数部Fによって表現され、指数部Eの
値は実際の指数値eに所定の指数バイアス値を加算した
ものである。−般にバイアス値としては2 (+a−1
)   lが用いられている。
Xが正規化浮動小数点数の場合には、Xは次式で示され
る値を表している。
X=(−1)”  Xl、  fl  rz  r、 
 ・・・f、X2”ここで有効数字の小数点以下のfl
  fz fs・・・flは仮数部Fを構成する2進数
のビット列である。また有効数字の最上位ビット(整数
部)は。
正規化数であれば1であることが暗黙に仮定される。従
って、実際の有効数字はn+1ビットとなる。
このような浮動小数点表現形式を扱う浮動小数点演算処
理装置において、ある精度形式で表現された浮動小数点
数を他の形式に変換するような形式変換命令を処理する
場合には仮数部のビット数を変換先の形式に合わせる処
理だけでなく指数部も変換先の形式に変換する処理が必
要となる。
仮数部の変換処理は、変換先の仮数部のビット数の方が
多い場合は不足するビット数だけゼロを付加し、変換先
の仮数部のビット数の方が少ない場合には余分な下位ビ
ットを切り捨であるいは切り上げることによって行われ
る。
また、指数部の変換処理は、変換前の形式でのバイアス
値を指数部から減算して、変換先の形式でのバイアス値
を加算するか、それらの差分をあらかじめ用意しておき
変換前の指数部に加算あるいは減算することによって行
うことができる。
変換先の形式での指数部のビット数が変換前の形式での
石数部のビット数よりも少ないような形式への変換を行
う場合には、変換結果が変換先の指数部で表現可能な最
大値より大きくなり指数オーバフローとなるか、あるい
は変換先の指数部で表現できる最小値より小さくなり指
数アンダフローとなることがある。このような場合には
必要であればバイアス調整が行われる。
バイアス調整とは指数オーバフロー状態の指数値から所
定のバイアス調整値を減算するか、あるいは指数アンダ
フロー状態の指数値に所定のバイアス調整値を加算する
ことによって変換先の指数部で表現できる指数値に変換
する処理である。バイアス調整値は一般に3X2111
−1+が用いられている。
単精度形式と倍精度形式の標準的なm、nの値。
指数バイアス値、およびバイアス調整値を以下に示す。
単精度形式 m=8.n=23 指数バイアス値=127 バイアス調整値ミ192 倍精度形式 m=11.  n=52 指数バイアス値−1023 バイアス調整値−1536 また、IEEE標準規格では指数部の最大値(指数部の
全てのビットが1)と最小値(指数部の全てのピントが
O)は、非数(数値でないデータ)や無限大数のような
特殊なデータや、不正規化数、ゼロといった正規化数以
外の数値を表現するために予約されている。従って、上
記の標準的なm、nの値を使用した場合の単精度形式お
よび倍精度形式の指数部が表現できる実際の指数値eの
範囲は次のようになる。
単精度形式 −126〜+127 倍精度形式 −1022〜+1023 ここで1例えば倍精度形式の浮動小数点数を単精度形式
に変換する場合、指数値が一320以上のときは指数オ
ーバフローが発生し、しかもバイアス調整を行っても単
精度形式の指数部で表現することができない、また指数
値が一319以下のときは指数アンダフローが発生し、
しかもバイアス調整を行っても単精度形式の指数部で表
現することができない、このようにバイアス調整を行っ
ても変換先の指数部で表現できない場合には、−船釣に
は非数のような特殊なデータを結果としている。
〔発明が解決しようとする課題〕
以上のように、形式によって指数部の表現形式が異なる
ような2つの精度形式間の変換命令を処理する場合には
、仮数部の変換処理に比べて指数部の変換処理が複雑で
ある。従来は、このような変換処理を汎用の加算器やシ
フターを使用してマイクロプログラムによって指数オー
バフローや指数アンダフローの検出、バイアス調整が必
要か否かなどを逐次的にテストしながら処理していたた
め、指数部変換処理でのオーバヘッドが大きく。
処理速度を向上する上での障害になっていた。
本発明は、浮動小数点数の精度変換命令の処理において
、指数部変換処理でのオーバヘッドを小さクシ、処理の
高速化を図ることを目的としている。
(課題を解決するための手段) 本発明は、変換前の形式で表現された指数部を入力とし
て、指定された形式へと変換した指数部結果を出力する
とともに、変換結果においても指数オーバフローあるい
は指数アンダフローが発生する場合には、それぞれに対
応して指数オーバフロー検出信号および指数アンダフロ
ー検出信号を発生し、また、あらかじめ決められたバイ
アス調整許容限界の下限値に1と上限値に2に対して。
人力された指数部Eが (1)k1=Eまたはに2−E (2)k1<E<k2 (3)E<k1またはに2<E のいずれの関係にあるかを示す状態検出信号を出力する
指数部変換回路を設け、これらの状態検出信号と指数部
変換出力を使用して、指数オーバフロー、指数アンダフ
ローの発生とバイアス調整の可否を効率よく検出するも
のである。
第1図は1本発明の原理説明図である。
第1図において。
浮動小数点数の1は精度変換命令であり、精度形式の変
換内容を指定する。
2は精度変換命令lにより処理される変換前の入力浮動
小数点データであり、1ビツトの符号部Sと9mビット
の指数部Eと、nビットの仮数部Fをもつ。
3は指数部変換回路であり、指数部Eを入力して指定さ
れた精度変換を行い、その際、オーバフロー、アンダフ
ローを検出するとそれぞれ指数オ−パフロー検出信号E
XO,指数アンダフロー検出信号EXUを出力し、また
、前述したバイアス調整の可否を検出するための状態検
出信号CCを。
kl=Eまたはに2−Eか、kl<E<k2か。
E<klまたはに2<Eかに従った値で出力する。
4は主変換処理部であり、仮数部Fを入力して精度変換
を行い、精度変換が低精度の方向へ行われるときは丸め
処理とその結果によりさらに正規化処理を行い、またE
XO,EXU、CCの各信号に基づいて可能な場合にバ
イアス調整を行い。
変換結果を出力する。
5は変換結果の出力浮動小数点データであり。
1ビツトの符号部S′と1m′ ビットの指数部E′と
、n′ビットの仮数部F′とをもつ。
〔作用〕
第1図において指数部変換回路3における指数部Eの変
換に際して得られる指数オーバフロー検出信号EXOと
指数アンダフロー検出信号EXU。
およびバイアス調整許容限界に対する状態検出信号CC
を利用することにより、主変換処理部4は。
仮数部Fの丸め処理の結果による正規化処理が指数部の
バイアス調整に影響する条件を簡単に判別することがで
き、精度変換処理の手順の無駄が少な(なることにより
、処理の高速化が可能となる。
〔実施例〕 本発明方式により、IEEE標準規格に準拠した浮動小
数点数表現形式で表された単精度形式と倍精度形式間の
精度変換命令の実施例を示す。
I EEE標準規格あるいはこれに準拠した浮動小数点
数表現形式を扱う演算処理装置では、浮動小数点数Xは
1ビツトの符号部S、 mビットの指数部E、およびn
ビットの仮数部Fによって表現され、指数部Eの値は実
際の指数部eに所定の指数バイアス値を加算したもので
ある。Xが正規化浮動小数点数の場合には、Xは次式で
示される値を表している。
X−(−1)”Xl、f+  fi  fs・・・f、
x2”ここで有効数字の小数点以下のf+  fz f
s・・・r、は仮数部Fを構成する2進数のビット列で
ある。また有効数字の最上位ビット(整数部)は。
正規化数であればlであることが暗黙に仮定される。従
って、実際の有効数字はn+1ビットとなる。
いま、第2図の(a)、 (b)に示すように、単精度
形式では、m−8,n−23+指数バイアス値−127
、バイアス調整値−192とし2倍精度形式では。
m−11,n−5L指数バイアス値−1023,バイア
ス調整値−1536であるものとする。
第3図は本発明による実施例構成図であり0図中11は
入力データ、12は指数部変換回路。
13は丸め処理部、14は丸め処理結果データTI/T
2(Tlは切り捨て処理の場合、T2は切り上げ処理の
場合)、15は丸め処理結果を正規化する正規化処理部
、16は正規化処理結果データT3,17は最終変換処
理部、18.は最終結果データである。
指数部変換回路12は、変換方向指定信号によって制御
され、単精度形式から倍精度形式への変換処理か1倍精
度形式から単精度形式への変換処理のいずれかを選択的
に行う。
第3図において指数部変換回路の出力のEXOは指数オ
ーバフロー検出信号であり、指数部変換出力において指
数オーバフローが発生する場合に1を送出し、そうでな
い場合には0を送出する。
またEXUは指数アンダフロー検出信号であり。
指数部変換出力において権数アンダフローが発生する場
合に1を送出し、そうでない場合にOを送出する。また
、指数部変換回路12は所定のklおよびに2の値に対
して8人力された指数部Eが(1)k1−Eまたは2−
E (2)k1<E<k2 (3)E<k1またはに2<E のいずれの関係にあるかを検出する回路を含み。
本実施例においては2ビツトの信号CCにコード化して
出力する。CCの2ビツトの値の意味は第4図の通りと
する。
倍精度形式の指数部と仮数部のビット数は、いずれも単
精度形式の指数部および仮数部のビット数より多いから
、単精度形式から倍精度形式への変換において指数オー
バフローあるいは指数アンダフローが発生する事はない
、したがって、EXO,EXUは常に0となり、COO
値も常にOOとなる。
変換方向指定信号によって単精度形式から倍精度形式へ
の変換処理が選択された場合、指数部変換回路12は8
ビツトの指数部入力に対応して第5図に示されるような
11ビツトの指数部変換出力およびEXO,EXU、C
Cを出力する。
第5図の指数部変換出力は1例えば、8ビツトの指数部
入力に対して11ビツトの2進数’0111ooooo
oo°つまり896(10進)を加算した結果として得
ることができる。896は倍精度形式での指数バイアス
値と単精度形式での指数バイアス値との差に相当する(
1023−127−896)。
最終的な変換結果は、変換前の符号部の値、指数部変換
出力、および変換前の仮数部の下位に29ビツト(52
−23−29)の0を付加したものをそれぞれ倍精度形
式の符号部、指数部、および仮数部とすることによって
得ることができる。
変換方向指定信号によって倍精度形式から単精度形式へ
の変換処理が選択された場合、指数部変換回路12は1
1ビツトの指数部入力に対応して。
第6図に示されるような8ビツトの指数部変換出力オヨ
びEXO,EXU、CCを出力する。
第6図の指数部変換出力は2例えば、11ビツトの指数
部入力に対して11ビツトの2進数’01110000
000’ 、つまり896(10進)を減算した結果の
下位8ビツトとして得ることができる。
さらに、klは指数値の−319に対応して、またに2
は指数値の+320に対応して決定されている。すなわ
ち、  k 1−01011000000. k 2 
=lO100111111として指数部入力データEと
比較される。
倍精度形式から単精度形式への変換においては。
指数値が+128以上のときは指数オーバフローが発生
し、指数値が一127以下の場合には指数アンダフロー
が発生する。さらに指数値が+320以上あるいは一3
19以下のときは、バイアス調整を行っても単精度形式
の指数部で表現することができない。従って、入力され
た倍精度形式の指数部の値が10001111111(
2進)以上であることを検出してEXO=1とし、また
01110000000(2進)以下であることを検出
してEXU=1となる。
また2倍精度形式から単精度形式への変換では。
変換先の仮数部のビット数の方が少ないため、仮数部の
余分な下位ピントは切り捨であるいは切り上げることに
よって変換先の仮数部のビット数に等しくなるように丸
められる。
変換結果において指数オーバフローまたは指数アンダフ
ローが発生した場合には、バイアス調整可能な場合には
バイアス調整した結果、バイアス調整が不可能な場合に
は変換先の形式で表現される所定の非数値を結果とする
ものとすると1倍精度形式から単精度形式への変換処理
は次のようにして行うことができる。
(1)切り捨てによる丸め処理の場合(第7図にツーを
示す) 変換前の符号部の値、指数部変換出力、および変換前の
仮数部の上位23ビツトをそれぞれ単精度形式の符号部
、指数部および仮数部として得られる中間結果をT1と
すれば、最終的な変換結果は次のようになる。
■CCの値が00のとき 最終結果はTI ■CCO値が01か10の場合 CC=IOでEXU=1であれば所定の非数値が最終結
果となりそれ以外は、Tlの指数部をバイアス調整した
結果。
■CCの値が11の場合 所定の非数値が最終結果となる。
(2)切り上げによる丸め処理の場合(第8図にフロー
を示す) 切り上げによる丸め処理を行う場合には、切り上げによ
る加算によって仮数部の最上位ビットから桁上げが発生
し、従って有効数字の最上位ビット(整数部)から桁上
げが発生することがある。
このような場合には、有効数字全体を1ビツト右ヘシフ
トして指数値に1を加算する正規化処理が行われるため
、変換結果の指数値は変換前よりも1だけ大きくなる。
変換前の符号部の値、指数部変換出力、および変換前の
仮数部の上位23ビツトをそれぞれ単精度形式の符号部
、指数部および仮数部として得られる結果T1の仮数部
の最下位ビットに1を加算した中間結果をT2とすれば
、最終結果は次のようになる。
■CCO値が00のとき T2が正規化処理を必要としなければ最終結果はT2と
なる。正規化処理が必要な場合にはT2の正規化処理結
果で指数オーバフローが発生しなければT2の正規化結
果T3が最終的結果となり。
指数オーバフローが発生する場合にはT3の指数部をバ
イアス調整した結果が最終結果となる。
■CCの値がOlの場合 T2が正規化処理を必要としなければT2の指数部をバ
イアス調整した結果が最終結果となり。
正規化処理が必要な場合にはT2の正規結果T3の指数
部をバイアス調整した結果が最終結果となる。
■CCO値が10の場合 EXO=1のときは、T2が正規化処理を必要としなけ
ればT2の指数部をバイアス調整した結果が最終結果と
なり正規化処理が必要な場合は。
指数部が+1されることによってバイアス調整不可とな
るので所定の非数値が最終結果となる。
EXU=1のときは、T2が正規化処理を必要としなけ
ればT2の指数値はバイアス調整不可であるため所定の
非数値が最終結果となり、正規化処理が必要な場合には
指数値が+1されることによってバイアス調整不可能と
なるので正規化結果T2の指数部をバイアス調整した結
果が最終結果となる。
■CCの値が11の場合 所定の非数値が最終結果となる。
〔発明の効果〕
以上で説明したように2本発明による指数部変換回路の
出力を使用して形式変換命令を処理することによって、
特に処理が複雑な指数部の変換処理および指数オーバフ
ローあるいは指数アンダフローが発生した場合の処理の
切り換えを容易に行うことが可能となり、処理の簡単化
と高速化が実現される。
また、実施例では、指数部変換回路の各検出信号を条件
コードCCを作成して処理の切り換え条件としたが、各
検出信号の使用方法はこれに限るものではない。
l:精度変換命令 2:入力浮動小数点データ 3:指数部変換回路 4:主変換処理部 5:出力浮動小数点データ

Claims (1)

  1. 【特許請求の範囲】 すくなくとも2つの異なる浮動小数点形式を扱う浮動小
    数点演算処理装置において、ある精度形式で表現された
    浮動小数点数を他の精度形式へ変換する精度変換命令を
    処理する場合に、変換前の形式で表現された指数部を入
    力として、指定された形式へと変換した指数部結果を出
    力するとともに、変換において指数オーバフローあるい
    は指数アンダフローが発生する場合には、それぞれに対
    応して指数オーバフロー検出信号および指数アンダフロ
    ー検出信号を発生し、また、あらかじめ決められた下限
    値k1と上限値k2に対して、入力された指数部Eが (1)k1=Eまたはk2=E (2)k1<E<k2 (3)E<k1またはk2<E のいずれの関係にあるかを識別可能な状態検出信号を出
    力する指数部変換回路を備え、これらの状態検出信号お
    よび指数変換結果を使用して処理することを特徴とする
    精度変換命令の処理方式。
JP1238213A 1989-09-13 1989-09-13 精度変換命令の処理方式 Pending JPH03100722A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1238213A JPH03100722A (ja) 1989-09-13 1989-09-13 精度変換命令の処理方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1238213A JPH03100722A (ja) 1989-09-13 1989-09-13 精度変換命令の処理方式

Publications (1)

Publication Number Publication Date
JPH03100722A true JPH03100722A (ja) 1991-04-25

Family

ID=17026831

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1238213A Pending JPH03100722A (ja) 1989-09-13 1989-09-13 精度変換命令の処理方式

Country Status (1)

Country Link
JP (1) JPH03100722A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05324270A (ja) * 1991-09-25 1993-12-07 Matsushita Electric Ind Co Ltd 浮動小数点数のためのフォーマット変換方法及びその装置
JPH0644041A (ja) * 1992-07-23 1994-02-18 Fujitsu Ltd 浮動小数点演算装置
KR20000065571A (ko) * 1999-04-07 2000-11-15 전주범 에어컨디셔너의 실내기 하우징

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05324270A (ja) * 1991-09-25 1993-12-07 Matsushita Electric Ind Co Ltd 浮動小数点数のためのフォーマット変換方法及びその装置
JPH0644041A (ja) * 1992-07-23 1994-02-18 Fujitsu Ltd 浮動小数点演算装置
KR20000065571A (ko) * 1999-04-07 2000-11-15 전주범 에어컨디셔너의 실내기 하우징

Similar Documents

Publication Publication Date Title
JPH02201645A (ja) 例外検出回路
KR101718817B1 (ko) 부동 소수점 데이터와 정수형 데이터 간의 변환장치 및 그 방법
JPH0644225B2 (ja) 浮動小数点丸め正規化回路
JP3178746B2 (ja) 浮動小数点数のためのフォーマット変換装置
US9059726B2 (en) Apparatus and method for performing a convert-to-integer operation
JPH03100722A (ja) 精度変換命令の処理方式
CN112667197B (zh) 一种基于posit浮点数格式的参数化加减法运算电路
JP2006318382A (ja) 演算装置および型変換装置
JPH03100723A (ja) 精度変換命令の処理方式
JP2747267B2 (ja) 3入力浮動小数点加算装置
JPH0216632A (ja) 固定小数点数−浮動小数点数変換回路
JPH1091396A (ja) 浮動小数点数検出装置および浮動小数点数検出回路
KR20150107614A (ko) 데이터 처리장치 및 이진수에 대해 시프트 기능을 수행하는 방법
US6128636A (en) Method for interfacing floating point and integer processes in a computer system
JP3257278B2 (ja) 冗長なシフト数予測とシフト誤り補正を用いた正規化装置
JP2555135B2 (ja) 演算回路
JPS5960637A (ja) 浮動小数点演算装置
JP2574264B2 (ja) 三角関数演算装置
JP3124286B2 (ja) 浮動小数点数演算装置
JP2890412B2 (ja) 符号変換回路
CN117519638A (zh) 一种浮点数运算电路及方法
JPH03102519A (ja) 除算器
EP0610779A1 (en) Generating sticky bit in floating point operation using parallel two-way propagation of group enables
JPH02165225A (ja) 精度つき浮動小数点数演算処理装置
JPS59139448A (ja) 浮動小数点乗算装置