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

精度変換命令の処理方式

Info

Publication number
JPH03100723A
JPH03100723A JP1238214A JP23821489A JPH03100723A JP H03100723 A JPH03100723 A JP H03100723A JP 1238214 A JP1238214 A JP 1238214A JP 23821489 A JP23821489 A JP 23821489A JP H03100723 A JPH03100723 A JP H03100723A
Authority
JP
Japan
Prior art keywords
conversion
exponent
processing
bits
format
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
JP1238214A
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 JP1238214A priority Critical patent/JPH03100723A/ja
Publication of JPH03100723A publication Critical patent/JPH03100723A/ja
Pending legal-status Critical Current

Links

Abstract

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

Description

【発明の詳細な説明】 〔概 要〕 浮動小数点演算処理装置において、浮動小数点数の精度
形式を変換する精度変換命令の処理方式に関し。
浮動小数点数の精度形式の変換処理を簡単化し。
処理の高速化を図ることを目的とし。
ある精度形式で表現された浮動小数点数を他の精度形式
の浮動小数点数へ変換する精度変換命令を処理する場合
であって仮数部のビット数が変換前の形式よりも少ない
ような形式への変換を行うときには、仮数部の余分な下
位ビットを切り上げるかあるいは切り捨てる丸め処理お
よび丸め処理結果の正規化処理を含む前処理を実行し、
この前処理結果を使用して実際の変換処理を行うように
構成した。
〔産業上の利用分野〕
本発明は、浮動小数点演算処理装置において。
浮動小数点数の精度形式を変換する精度変換命令の処理
方式に関する。
〔従来の技術〕
ある浮動小数点数を1ビットの符号部S、mビットの指
数部E、およびnビットの指数部Fで表現し、また、仮
数部のビット数、つまり表現できる有効桁数のビット数
の違いによって単精度形式。
倍精度形式、拡張精度形式といった複数の浮動小数点デ
ータ形式を扱う浮動小数点演算処理装置が従来から広く
使われている。
従来は単精度形式1倍精度形式、拡張精度形式のいずれ
の形式においても、指数部Eのビット数は同じであり、
仮数部Fのビット数が異なるだけの浮動小数点表現形式
が広く用いられていた。従って9例えば倍精度形式で表
現された浮動小数点数を単精度形式の浮動小数点数に変
換するといった精度変換命令を処理する場合は、基本的
に仮数部のビット数を変換先のビット数に合わせる処理
だけを行えばよかった。
近年、仮数部のビット数が多くなるにつれて指数部のビ
ット数も増えるような精度形式を用いる浮動小数点表現
形式がIEEE標準規格として提唱され、これに準拠し
た浮動小数点表現形式を扱う浮動小数点演算処理装置が
増えつつある。
IEEE標準規格あるいはこれに準拠した浮動小数点表
現形式を扱う浮動小数点演算処理装置では、浮動小数点
数Xは1ビットの符号部S、 mビットの指数部E、お
よびnビットの仮数部Fによって表現され、指数部Eの
値は実際の指数値eに所定の指数バイアス値を加算した
ものである。−般にバイアス価としては2 (@1−1
1 −1が用いられている。
Xが正規化浮動小数点数の場合には、Xは次式で示され
る値を表しでいる。
X=  (−1)’  x  1 、 f+  f宜 
fs   ・  f、  X2”ここで有効数字の小数
点以下のflb h・・・f。
は仮数部Fを構成する2進数のビット列である。
また有効数字の最上位ビット(整数部)は、正規化数で
あれば1であることが暗黙に仮定される。
従って、実際の有効数字はn+tビットとなる。
このような浮動小数点表現形式を扱う浮動小数点演算処
理装置において、ある精度形式で表現された浮動小数点
数を他の形式に変換するような形式変換命令を処理する
場合には仮数部のビット数を変換先の形式に合わせる処
理だけでなく指数部も変換先の形式に変換する処理が必
要となる。
仮数部の変換処理は5変換先の仮数部のビット数の方が
多い場合は不足するビット数だけゼロを付加し、変換先
の仮数部のビット数の方が少ない場合には余分な下位ビ
ットを切り捨であるいは切り上げることによって行われ
る。
また、指数部の変換処理は、変換前の形式でのバイアス
値を指数部から減算して、変換先の形式でのバイアス値
を加算するか、それらの差分をあらかじめ用意しておき
変換前の指数部に加算あるいは減算することによって行
うことができる。
変換先の形式での指数部のビット数が変換前の形式での
指数部のビット数よりも少ないような形式への変換を行
う場合には、変換結果が変換先の指数部で表現可能な最
大値より大きくなり指数オーバフローとなるか、あるい
は変換先の指数部で表現できる最小値より小さくなり指
数アンダフローとなることがある。このような場合には
必要であればバイアス調整が行われる。
バイアス調整とは指数オーバフロー状態の指数値から所
定のバイアス調整値を減算するか、あるいは指数アンダ
フロー状態の指数値に所定のバイアス調整値を加算する
ことによって変換先の指数部で表現できる指数値に変換
する処理である。バイアス調整値は一般に3 X 21
m−!l が用いられている。
単精度形式と倍精度形式の標準的なm、nの値。
指数バイアス値、およびバイアス調整値を以下に示す。
単精度形式 m−8,n−23 指数バイアス値−127 バイアス調整値−192 倍精度形式 m−11,n=52 指数バイアス値−1023 バイアス調整値−1536 また、IEEE標準規格では指数部の最大値(指数部の
全てのビットが1)と最小値(指数部の全てのビットが
O)は、非数(数値でないデータ)や無限大数のような
特殊なデータや、不正規化数、ゼロといった正規化数以
外の数値を表現するために予約されている。従って、上
記の標準的なm、  nの値を使用した場合の単精度形
式および倍精度形式の指数部が表現できる実際の指数値
eの範囲は次のようになる。
単精度形式 −126〜+127 倍精度形式 −1022〜+1023 ここで9例えば倍精度形式の浮動小数点数を単精度形式
に変換する場合、指数値が一320以上のときは指数オ
ーバフローが発生し、しかもバイアス調整を行っても単
精度形式の指数部で表現することができない、また指数
値が一319以下のときは指数アンダフローが発生し、
しかもバイアス調整を行っても単精度形式の指数部で表
現することができない、このようにバイアス調整を行っ
ても変換先の指数部で表現できない場合には、−船釣に
は非数のような特殊なデータを結果としている。
また、仮数部の余分な下位ビットを切り上げによって丸
める処理が選択される場合には、切り上げによる有効数
字への加算処理によって有効数字の最上位ビットから桁
上げが発生することがあり。
このような場合は有効数字への加算結果を全体に1ビッ
ト右シフトして、指数値を+1する正規化処理が必要と
なる。従って、正規化処理が必要となる場合には変換後
の指数値は変換前の指数値よりも1だけ大きくなる。
〔発明が解決しようとする課題〕
正規化処理を変換後の形式において処理する従来の精度
形式の変換方式では、正規化処理前の中間結果で指数ア
ンダフローが発生していても正規化処理によって指数ア
ンダフローとならない場合。
正規化処理前の中間結果で指数アンダフローが発生して
いてかつ指数バイアス調整が不可能であっても、正規化
処理によって指数バイアス調整が可能となる場合、正規
化処理前の中間結果で指数オーバフローが発生していな
くとも正規化処理によって指数オーバフローが発生する
場合、正規化処理前の中間結果で指数オーバフローが発
生してかつ指数バイアス調整が可能であっても、正規化
処理によって指数バイアス調整が不可能になる場合があ
り、それぞれの場合によって変換結果が異なるために、
正規化処理後にも指数オーバフローあるいは指数アンダ
フローの検出およびバイアス調整の可否を検出する処理
が必要となり、処理が繁雑であるという問題があった。
本発明は、浮動小数点数の精度形式の変換処理を簡単化
し、処理の高速化を図ることを目的としている。
(課題を解決するための手段〕 本発明は、変換先の仮数部のビット数が変換前の仮数部
のビット数より少ないような形式への変換を行う場合に
は、変換前の形式において仮数部の丸め処理と必要であ
れば丸め処理結果の正規化処理とを行う前処理を実行し
、前処理結果で得られる変換前の形式で表現された中間
結果を使用して実際の変換処理を行うことによって、変
換後の正規化処理を不要にするものであり、変換結果の
指数オーバフロー、指数アンダフローおよび4マイアス
調整の可否は指数部変換処理時に正しく検出することを
可能にする。
第1図は2本発明の原理説明図である。
第1図において。
lは浮動小数点数の精度変換命令である。
2は精度変換命令lの処理内容であり、1ビットの符号
部Sと2mビットの指数部Eと、nビットの仮数部Fを
もつ精度形式を、1ビットの符号部S′とm′ビットの
指数部E′と、n′ビットの仮数部F′をもつ精度形式
に変換することを示す。
3は本発明による精度形式変換処理部であり。
精度変換命令1により、変換後の仮数部F′のビット数
n′が、変換前の仮数部Fのビット数nより小さいよう
な精度形式の変換指示が行われたとき(nun’)、仮
数部Fの余分な下位ビットを切り上げあるいは切り捨て
る丸め処理と、丸め処理結果の正規化処理とを含む前処
理を実行し、その後で実際の変換処理を行い、他方n′
がnよりも大きくなるような精度形式の変換指示が行わ
れたときには(nun’)、前処理なしに従来と同様な
変換処理を行う。
〔作 用〕
本発明によれば、変換後の仮数部のビット数が少なくな
るような精度形式変換を行う場合において、仮数部の下
位の余分なビット数を削除するための丸め処理と、必要
な場合に丸め処理に伴う正規化処理とを変換処理に先立
って行うことにより。
変換処理後の正規化処理が不要となる。そのため従来の
方式のように変換処理後の正規化処理の結果さらに指数
部のオーバフロー、アンダフローの検出やバイアス調整
等を行う必要がなくなり、処理が簡単になる。
【実施例〕
本発明方式により、IEEE標準規格に準拠した浮動小
数点数表現形式で表された単精度形式の倍精度形式間の
形式変換命令の実施例を示す。
IEEE標準規格あるいはこれに準拠した浮動小数点数
表現形式を扱う演算処理装置では、浮動小数点数Xは1
ビットの符号部S、 mビットの指数部E、およびnビ
ットの仮数部Fによりて表現され、指数部Eの値は実際
の指数部eに所定の指数バイアス値を加算したものであ
る。Xが正規化浮動小数点数の場合には、Xは次式で示
される値を表している。
X= (1)” X 1. f+ b ts  ・・・
fs X2”ここで有効数字の小数点以下のh b f
s・・・f。
は仮数部Fを構成する2進数のビット列である。
また有効数字の最上位ビット(整数部)は、正規化数で
あればlであることが暗黙に仮定される。
従って、実際の有効数字はn+1ビットとなる。
いま第2図の(a)、(ロ)に示すように、単精度形式
では、 m−8,n=23.指数バイアス値−127゜
バイアス調整値=192とし1倍精度形式では。
m=11.nm52.指数バイアス値−1023゜バイ
アス調整値−1536であるものとする。
また第3図は本発明による精度形式変換処理部の実施例
構成図で、変換方向指定信号によって制御され、単精度
形式から倍精度形式への変換処理か1倍精度形式から単
精度形式への変換処理のいずれかを選択的に行う。
第3図において指数部変換回路の出力のEXOは指数オ
ーバフロー検出信号であり、指数部変換出力において指
数オーバフローが発生する場合に1を送出し、そうでな
い場合にはOを送出する。
またEXUは指数アンダフロー検出信号であり。
指数部変換出力において指数アンダフローが発生する場
合に1を送出し、そうでない場合に0を送出する。また
OBはバイアス調整不可検出信号であり、指数部変換回
路は所定のに1およびに2の値に対して、入力された指
数部がkl<E<k2の範囲にある場合にはOを送出し
、そうでない場合には1を出力する。
倍精度形式の指数部と仮数部のビット数は、いずれも単
精度形式の指数部および仮数部のビット数より多いから
、単精度形式から倍精度形式への変換においで指数オー
バフローあるいは指数アンダフローが発生する事はない
、従って、EXO。
EXU、およびOBはいずれも0に強制される。
変換方向指定信号によって単精度形式から倍精度形式へ
の変換処理が選択された場合、指数部変換回路は8ビッ
トの指数部入力に対応して第4図に示されるような11
ビットの指数部変換出力およびEXO,EXU、OBを
出力する。
第4図の指数部変換出力は9例えば、8ビットの指数部
入力に対して11ビットの2進数011100oooo
oつまり896(10進)を加算した結果として得るこ
とができる。896は倍精度形式での指数バイアス値と
単精度形式での指数バイアス値との差に相当する(10
23−127−896)。
最終的な変換結果は、変換前の符号部の値、指数部変換
出力、および変換前の仮数部の下位に29ビット(52
−23−29)の0を付加したものをそれぞれ倍精度形
式の符号部、指数部、および仮数部とすることによって
得ることができる。
変換方向指定信号によって倍精度形式から単精度形式へ
の変換処理が選択された場合、指数部変換回路は11ビ
ットの指数部入力に対応して、第5図に示されるような
8ビットの指数部変換出力およびEXO,EXU、OB
を出力する。
第5図の指数部変換出力は1例えば、11ビットの指数
部入力に対して11ビットの2進数0111ooooo
oo 、つまり896 (10進)を減算した結果の下
位8ビットとして得ることができる。
倍精度形式から単精度形式への変換においては。
指数値が+128以上のときは指数オーバフローが発生
し、指数値が一127以下の場合には指数アンダフロー
が発生する。さらに指数値が+320以上あるいは一3
19以下のときは、バイアス調整を行っても単精度形式
の指数部で表現することができない、従って、入力され
た倍精度形式の指数部の値が10001111111 
(2進)以上であることを検出してEXO−1とし、ま
?、: 0IIIOQOOOOQ(2進)以下であるこ
とを検出してEXLI−1となる。
さらに、klは指数値の−319に対応して。
またに2は指数値の+320に対応して決定されている
。
即ちk 1−01011000000 、 k 2−1
0100111111として指数部入力データEと比較
され、kl<E<k2のとき0B=0となり、それ以外
のとき0B=1となる。
また2倍精度形式から単精度形式への変換では。
変換先の仮数部のビット数の方が少ないため、実際の変
換処理に先立って次のような前処理が行われる。つまり
、変換前の浮動小数点数データの仮数部の下位29ビッ
トをすべてOとした中間結果をT1とすると、仮数部の
余分な下位ビットを切り捨てる丸め処理が選択される場
合には、TIが前処理結果となる。
これに対して仮数部の余分な下位ビットを切り上げる丸
め処理が選択される場合には、TIの仮数部の上位から
23ビット目に1を加算し必要であれば正規化した結果
T2が前処理結果となる。
このようにして得られる前処理結果を使用して実際の変
換は以下のようにして処理できる。ただし。
変換結果において指数オーバフローまたは指数アンダフ
ローが発生した場合にどのような変換結果を出力すべき
かは浮動小数点演算処理装置によって異なる場合がある
が1本実施例ではバイアス調整可能なときにはバイアス
調整した結果5バイアス調整が不可能な場合は所定の非
数値を結果とするものとして説明する。
(1)前処理において指数オーバフローが発生する場合 前処理における正規化処理においては指数オーバフロー
が発生することがあるが1倍精度形式で指数オーバフロ
ーが発生するような指数値は、単精度形式では表現でき
ず、従って、変換結果でも指数オーバフローが発生し、
しかもバイアス調整が不可能なことは明らかである。従
って、変換結果は非数値となる。
(2)前処理において指数オーバフローが発生しない場
合 前処理結果の指数部を指数部変換回路の入力とし、変換
方向指定信号によって倍精度形式から単精度形式へ変換
を指定することによって第5図で示されるような指数部
変換出力、EXO,EXU。
OBの値によって選択的に次のようにして得ることがで
きる。
■ EXOおよびEXUがともに0であるとき前処理結
果の符号部、指数部変換出力、および前処理結果の仮数
部の上位23ビットをそれぞれ単精度形式の符号部指数
部、および仮数部としたものが変換結果となる。
■ EXOあるいはEXUのどちらかが1で、OBが0
のとき 前処理結果の符号部、指数部変換出力をバイアス調整し
た結果、および前処理結果の仮数部の上位23ビットを
それぞれ単精度形式の符号部、指数部、および仮数部と
したものが変換結果となる。
■ OBが1であるとき OBが1である場合には、バイアス調整が不可能である
から変換結果は所定の非数値である。
〔発明の効果〕
本発明による前処理を含む変換方式では、変換後の正規
化処理が不要となるため、変換後に正規化処理を行う方
式では必要となる変換後の正規化処理結果の指数オーバ
フロー、指数アンダフロー検出処理、およびバイアス調
整可否検出処理も全て不要とすることができ、変換処理
の高速化を図ることができる。
また1本実施例に示すような指数部変換回路を備えるこ
とによって、指数部変換処理における指数オーバフロー
および指数アンダフローの検出。
さらにバイアス調整の可否検出を効率よく行うことがで
き、変換処理をさらに高速化することができる。
【図面の簡単な説明】
第1図は本発明の原理説明図、第2図は単精度形式と倍
精度形式の例の説明図、第3図は本発明による精度形式
変換処理部の実施例構成図、第4図は単精度形式から倍
精度形式への指数部変換実施例の説明図、第5図は倍精
度形式から単精度形式への指数部変換実施例の説明図で
ある。 第1図中 1:精度変換命令 2:精度変換命令の処理内容 3:精度形式変換処理部

Claims (2)

    【特許請求の範囲】
  1. (1)1ビットの符号部、mビットの指数部、およびn
    ビットの仮数部によって浮動小数点数を表現し、また指
    数部および仮数部のビット数が異なる複数の精度形式を
    持つ浮動小数点データを扱う浮動小数点演算処理装置に
    おいて、 ある精度形式で表現された浮動小数点数を他の精度形式
    の浮動小数点数へ変換する精度変換命令を処理する場合
    であって仮数部のビット数が変換前の形式よりも少ない
    ような形式への変換を行うときには、仮数部の余分な下
    位ビットを切り上げるかあるいは切り捨てる丸め処理お
    よび丸め処理結果の正規化処理を含む前処理を実行し、
    この前処理結果を使用して実際の変換処理を行うことを
    特徴とする精度変換命令の処理方式。
  2. (2)変換前の形式で表現された指数部を入力として、
    指定された形式へと変換した指数部を変換結果として出
    力するとともに、指数部の変換結果において指数オーバ
    フローあるいは指数アンダフローが発生する場合には、
    それぞれに対応して指数オーバフロー検出信号および指
    数アンダフロー検出信号を発生し、また、入力された指
    数部の値Eが所定の下限値k1と上限値k2に対してk
    1<E<k2の範囲にあるか否かを調べて、対応する状
    態を示す状態検出信号を出力する指数部変換回路を備え
    、該指数部変換回路の出力を使用して変換処理を行うこ
    とを特徴とする請求項(1)に記載の精度変換命令の処
    理方式。
JP1238214A 1989-09-13 1989-09-13 精度変換命令の処理方式 Pending JPH03100723A (ja)

Priority Applications (1)

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

Applications Claiming Priority (1)

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

Publications (1)

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

Family

ID=17026843

Family Applications (1)

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

Country Status (1)

Country Link
JP (1) JPH03100723A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012084142A (ja) * 2007-12-07 2012-04-26 Nvidia Corp 融合型積和演算機能ユニット
JP2012205005A (ja) * 2011-03-24 2012-10-22 Semiconductor Components Industries Llc 浮動小数点数のビット長変換回路およびそれを用いた振動補正制御回路

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012084142A (ja) * 2007-12-07 2012-04-26 Nvidia Corp 融合型積和演算機能ユニット
JP2012205005A (ja) * 2011-03-24 2012-10-22 Semiconductor Components Industries Llc 浮動小数点数のビット長変換回路およびそれを用いた振動補正制御回路

Similar Documents

Publication Publication Date Title
US10782932B2 (en) Round for reround mode in a decimal floating point instruction
JPH0644225B2 (ja) 浮動小数点丸め正規化回路
JPH02201645A (ja) 例外検出回路
CN112667197B (zh) 一种基于posit浮点数格式的参数化加减法运算电路
KR101718817B1 (ko) 부동 소수점 데이터와 정수형 데이터 간의 변환장치 및 그 방법
CN113625990B (zh) 浮点转定点装置、方法、电子设备及存储介质
CN112711441B (zh) 用于转换数据类型的转换器、芯片、电子设备及其方法
US4941119A (en) Method and apparatus for predicting an overflow in an integer multiply
CN112711440A (zh) 用于转换数据类型的转换器、芯片、电子设备及其方法
US4590584A (en) Method and system for processing exponents in floating-point multiplication
CN111310909B (zh) 一种浮点数转换电路
JPH03100722A (ja) 精度変換命令の処理方式
CN110069240B (zh) 定点与浮点数据计算方法及装置
KR101922462B1 (ko) 데이터 처리장치 및 이진수에 대해 시프트 기능을 수행하는 방법
JP2747267B2 (ja) 3入力浮動小数点加算装置
JPH1091396A (ja) 浮動小数点数検出装置および浮動小数点数検出回路
JP2565730B2 (ja) オーバフロー検出回路
US6128636A (en) Method for interfacing floating point and integer processes in a computer system
JP2006318382A (ja) 演算装置および型変換装置
JPH0216632A (ja) 固定小数点数−浮動小数点数変換回路
US20240036824A1 (en) Methods and systems employing enhanced block floating point numbers
JPS59139448A (ja) 浮動小数点乗算装置
JP2752948B2 (ja) 浮動小数点演算装置
JP2513354B2 (ja) 浮動小数点演算補助回路
JPH02165225A (ja) 精度つき浮動小数点数演算処理装置