JP2801472B2 - 浮動小数点演算装置 - Google Patents

浮動小数点演算装置

Info

Publication number
JP2801472B2
JP2801472B2 JP4195736A JP19573692A JP2801472B2 JP 2801472 B2 JP2801472 B2 JP 2801472B2 JP 4195736 A JP4195736 A JP 4195736A JP 19573692 A JP19573692 A JP 19573692A JP 2801472 B2 JP2801472 B2 JP 2801472B2
Authority
JP
Japan
Prior art keywords
range
conversion
constant
data
precision
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.)
Expired - Fee Related
Application number
JP4195736A
Other languages
English (en)
Other versions
JPH0644041A (ja
Inventor
敏光 永田
展尚 服部
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 JP4195736A priority Critical patent/JP2801472B2/ja
Publication of JPH0644041A publication Critical patent/JPH0644041A/ja
Application granted granted Critical
Publication of JP2801472B2 publication Critical patent/JP2801472B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、浮動小数点演算装置に
関し、特に、データの精度の変換を行なう浮動小数点演
算装置に関する。
【0002】科学技術計算では高い精度が要求される場
合があるので、通常の精度(単精度)のデータの他、倍
精度、拡張倍精度(又は4倍精度)のデータをも取扱い
得るようにされる。
【0003】
【従来の技術】図2に示す如く、単精度、倍精度及び拡
張倍精度ではデータの形式が異なる。即ち、サインビッ
トSを除いて、浮動小数点を表す指数部Eの大きさ(ビ
ット数)及び仮数部Fの大きさ(ビット数)が互いに異
なる。
【0004】このため、倍精度又は拡張倍精度のデータ
を各々単精度又は倍精度のデータへ変換する場合、即
ち、大きい精度のデータを小さい精度のデータへ変換す
る場合、大きい精度のデータのうち小さい精度では表現
できない部分が生じる。このような部分については、仮
数部Fは丸め処理され、指数部Eは以下の如く処理され
る。
【0005】図3において、倍精度と単精度とでは指数
部Eの表し得る範囲が図示の実線部分の如く異なる。一
方、単精度のデータで、オーバフロー又はアンダフロー
があった場合に、指数のバイアス調整を行なうことによ
って表し得る範囲が、図示の点線部分の如く存在する。
これは、拡張倍精度と倍精度との間においても同様であ
る。
【0006】そこで、図3に示す如く、範囲を区別して
処理される。即ち、 第1の範囲(A);アンダフローであり、バイアス調整
によっても表し得ない範囲。従って、アンダフローとさ
れる。 第2の範囲(B);アンダフローであるが、バイアス調
整によって表し得る範囲。従って、バイアス調整を変換
と共に行なう。 第3の範囲(C);バイアス調整をするまでもなく、
(簡単な処理により)表し得る範囲。 第4の範囲(D);オーバフローであるが、バイアス調
整によって表し得る範囲。従って、バイアス調整を変換
と共に行なう。 第5の範囲(E);オーバフローであり、バイアス調整
によっても表し得ない範囲。従って、オーバフローとさ
れる。
【0007】
【発明が解決しようとする課題】前述の第1乃至第5範
囲に応じた処理のため、精度の変換命令の際に、いずれ
の範囲であるのかをチェックする必要がある。
【0008】このチェックは、例えば第1の範囲である
かを調べ、第1の範囲でないとき第2の範囲であるかを
調べ、第2の範囲でないとき第3の範囲であるかを調べ
る(以下同じ)という如く、順に行なわれる。このた
め、チェックの回数が多くなってしまうという問題があ
った。
【0009】また、このチェックは、主に加減算によっ
て行なわれる(例えば2つの加減算器が用いられる)
が、変換のタイプ(倍精度から単精度への変換であるの
か又は拡張倍精度から倍精度への変換であるのか)及び
チェックの範囲(第1の範囲であるのか第2の範囲であ
るのか等)によって、加減算の対象である数値(指数
値)がその都度異なる。このため、チェックのための回
路が煩雑になるという問題があった。
【0010】本発明は、単一の加減算器を用いる比較的
簡単な構成により大きい精度のデータを小さい精度のデ
ータへの変換を行なう浮動小数点演算装置を提供するこ
とを目的としている
【0011】
【課題を解決するための手段】図1は本発明の原理構成
図であり、本発明による浮動小数点演算装置の要部を示
す。図1において、第1の定数発生回路6は、レジスタ
3に格納された変換命令(データの精度の変換命令)に
おいて指示された変換のタイプに応じて、複数の第1の
定数を発生する。比較回路8は、レジスタ4に格納され
たデータの指数部の値と、複数の第1の定数の各々とを
比較する。第2の定数発生回路9は、比較の結果に応じ
て変換のための第2の定数を発生する。加減算器10
は、第2の定数をレジスタ4のデータの指数部の値から
減ずる演算を行なうことにより、データの変換の後の指
数部の値を求めてレジスタ15に格納する。
【0012】
【作用】比較回路8における複数の第1の定数を用いた
比較により、当該データの指数部の値は変換後にどのよ
うな範囲に属するかを判別することができる。即ち、ど
のような変換をすればよいのかを判別することができ
る。そこで、この比較結果に応じた第2の定数を発生
し、これを当該データの指数部の値から減ずれば、当該
データの変換後の指数部の値を求めることができる。
【0013】このような構成によれば、変換のタイプに
よって予め定められた値の(第1の)定数を発生し、比
較の結果に応じて予め定められた値の(第2の)定数を
発生し、1度の(加)減算により、変換を行なうことが
できる。従って、変換のための処理及び回路を比較的簡
単なものにすることができる。
【0014】
【実施例】図1について更に説明する。レジスタ1乃至
5は、変換前のステージ(ステージ0)におけるデータ
等を格納する。レジスタ12乃至16は、変換後のステ
ージ(ステージ1)におけるデータ等を格納する。な
お、ステージはパイプライン制御の各ステージである。
レジスタ1乃至5とレジスタ12乃至16との間に、デ
ータの精度変換のための回路6乃至11が設けられる。
【0015】レジスタ1は変換前のデータのサインビッ
トを保持する。レジスタ1の内容は、そのまま、変換後
のデータのサインビットを保持するレジスタ12に送ら
れる。
【0016】レジスタ2は変換前のデータの丸めビット
(丸め処理の要否又は内容を示す)を保持する。レジス
タ2の内容は、そのまま、変換後のデータの丸めビット
を保持するレジスタ13に送られる。
【0017】レジスタ3はデータの精度の変換命令を含
む当該データについての処理命令を保持する。変換命令
は変換のタイプを指示する。変換のタイプには、倍精度
から単精度への変換、拡張倍精度から倍精度への変換及
びこれらの逆の変換がある。レジスタ3の内容は、その
まま、次ステージのレジスタ14へ送られる。
【0018】レジスタ4は変換前のデータの指数部の値
を保持する。レジスタ4の内容は、変換のタイプに応じ
て加減算器10において加減算された後、変換後のデー
タの指数部の値を保持するレジスタ15に送られる。指
数部の値の変換は、この加減算による。
【0019】レジスタ5は変換前のデータの仮数部の値
を保持する。レジスタ5の内容は、シフタ11において
シフトされた後、変換後のデータの仮数の値を保持する
レジスタ16に送られる。仮数部の値の変換は、このシ
フトによる。
【0020】定数発生回路6は、変換命令を解読して変
換のタイプに応じた所定の信号を発生する。即ち、その
部分回路Xは、指数部の変換のために、変換のタイプに
応じて予め定められた第1の定数を複数個同時に発生す
る。複数の定数は比較回路8へ送られる。その部分回路
R/Lは、仮数部の変換のために、変換のタイプに応じ
て右又は左方向へのシフトを指示する信号を発生する。
その部分回路Dは、仮数部の変換のために、変換のタイ
プに応じてシフトすべきビット数を指示する信号を発生
する。部分回路R/L及びDの信号はシフタ11へ送ら
れる。
【0021】チェック回路7は、レジスタ2の丸めビッ
トに従ってレジスタ5の仮数値を丸め処理した場合に、
この丸め処理によって生じたキャリーイン信号により仮
数部から指数部への桁上げが生ずるか否かをチェック
し、桁上げが生ずる場合に、比較回路8へ所定の信号
(指数値に“+1”加算するための信号)を送る。
【0022】比較回路8は、複数の第1の定数の各々と
レジスタ4の指数値とを同時に比較し、その大小を判別
する。この比較結果において、指数値が複数の第1の定
数の全てより大きい場合又は小さい場合は、桁あふれ信
号が出力される。
【0023】なお、前述のチェック回路7からの(“+
1”)信号入力がある場合は、複数の第1の定数の各々
と指数値にこの信号入力を加算した値とが比較される。
これにより、桁上げに起因する変換の範囲のずれをなく
している。
【0024】定数発生回路9は、比較回路8における比
較の結果に従って、予め定められた1つの第2の定数を
発生する。この定数は加減算器10へ送られる。この定
数は、変換のタイプに応じて正又は負の値とされる。
【0025】加減算器10は、第2の定数とレジスタ4
の指数値との加(減)算を行なう。この加算結果はレジ
スタ15へ送られる。シフタ11は、定数発生回路6か
らの2つの信号に従って、レジスタ5の仮数値を指示さ
れた方向に指示されたビット数だけシフトする。このシ
フト結果はレジスタ16へ送られる。なお、シフトによ
りあふれるビットは、図外の所定のレジスタ等に保持さ
れる。
【0026】次に、具体的な例により、大きな精度のデ
ータを小さな精度のデータに変換する場合について説明
する。このために、まず、図3を参照して、単精度、倍
精度及び拡張倍精度の関係について説明する。
【0027】図3に示す如く、単精度では、指数値は
“0”乃至“255”の値を取り得る(図の実線部
分)。更に、バイアス調整を行なうことによって、アン
ダフロー側に“−191”まで、オーバフロー側に“4
46”までの値を取り得る(図の点線部分)。但し、バ
イアス調整した場合、バイアス調整値であることを示し
た上で、“−191”は“1”と表され(従って、
“0”は“192”と表され)、“446”は“25
4”と表される(従って、“255”は“63”と表さ
れる)。 倍精度では、指数値は“0”乃至“204
7”の値を取り得る(図の実線部分)。更に、バイアス
調整を行なうことによって、アンダフロー側に“−15
35”まで、オーバフロー側に“3582”までの値を
取り得る(図の点線部分)。但し、バイアス調整した場
合、バイアス調整値であることを示した上で、“−15
35”は“1”と表され(従って、“0”は“153
6”と表され)、“3582”は“2046”と表され
る(従って、“2047”は“512”と表される)。
【0028】拡張倍精度では、指数値は“0”乃至“3
2767”の値を取り得る(図の実線部分)。また、2
°=1に相当する指数値は、単精度では“127”、倍
精度では“1023”、拡張倍精度では“16383”
である。従って、変換においては、これらの指数値を基
準として変換を行なう必要がある。
【0029】以上の前提に基づいて、次に、倍精度から
単精度への変換について説明する。倍精度の“102
3”が単精度の“127”であるから、倍精度の“89
6”乃至“1151”が単精度の“0”乃至“255”
に変換される。この範囲が、前述の第3の範囲(図中の
Cの範囲)であり、バイアス調整をするまでもなく、表
し得る範囲である。即ち、倍精度の指数値から“89
6”を減ずることにより変換できる。
【0030】倍精度の“705”乃至“895”が単精
度の“−191”乃至“−1”に相当する。この範囲
が、前述の第2の範囲(図中のBの範囲)であり、バイ
アス調整によって表し得る範囲である。即ち、例えば
“705”を“−191”ではなく“1”として表せば
よいのであるから、倍精度の指数値から“704”を減
ずることによりバイアス調整を含んだ変換ができる。
【0031】倍精度の“1152”乃至“1342”が
単精度の“256”乃至“446”に相当する。この範
囲が、前述の第4の範囲(図中のDの範囲)であり、バ
イアス調整によって表し得る範囲である。即ち、例えば
“1342”を“446”ではなく“254”として表
せばよいのであるから、倍精度の指数値から“108
8”を減ずることによりバイアス調整を含んだ変換がで
きる。
【0032】倍精度の“0”乃至“704”は単精度に
おいて対応する範囲がない。この範囲が、前述の第1の
範囲(図中のAの範囲)であり、バイアス調整によって
も表し得ない範囲である。従って、アンダフローとされ
る。
【0033】倍精度の“1343”乃至“2047”は
単精度において対応する範囲がない。この範囲が、前述
の第5の範囲(図中のEの範囲)であり、バイアス調整
によっても表し得ない範囲である。従って、オーバフロ
ーとされる。
【0034】以上の関係は、単精度及び倍精度のデータ
形式により予め判ることであるから、前述の各数値は定
数として予め定め得る。そこで、定数発生回路6は、第
1乃至第5の範囲の境界値である4つの値“704”
“896”“1150”“1342”を第1の定数とし
て発生する。これら4つの値は、当該データが第1乃至
第5の範囲のいずれに属するかを比較回路8における比
較により区別するために用いられる。
【0035】例えば、レジスタ4の指数値が“704”
以下の場合は、第1の範囲であるから、桁あふれ(アン
ダフロー)信号を送出する。同じく“1342”より大
きい場合も桁あふれ(オーバフロー)信号を送出する。
一方、指数値が“704”より大きく“896”より小
さい(かつ“1150”,“1342”より小さい)場
合は、第2の範囲であることが判る。同じく第3の範
囲、第4の範囲についても判別することができる。
【0036】なお、例えば指数値が“704”であれば
アンダフローであり表現できないが、チェック回路7か
らの信号(“+1”)入力があれば、指数値は“70
5”となるので、バイアス調整により表現可能となる。
そこで、指数値にチェック回路7からの信号入力を加算
した上で、前述の4つの定数との比較を行なう。他の3
つの各範囲の境界においても同様である。これにより、
仮数部からの桁上げを正しく反映した変換が可能とな
る。
【0037】次に、定数発生回路9は、比較の結果に応
じて1つの第2の定数を発生する。即ち、比較の結果、
指数値が第2の範囲に属する場合は“704”を発生す
る。この定数“704”をレジスタ4の指数値から減ず
ることにより、前述の如く、倍精度から単精度への変換
がバイアス調整を含む形で行なわれる。同様に第3の範
囲の場合は“896”が、第4の範囲の場合“108
8”が発生され、減算による変換に用いられる。なお、
第2の定数の符号は、大きな精度から小さな精度への変
換の場合は負とされ、逆の場合は正とされる。
【0038】次に、拡張倍精度から倍精度への変換につ
いて、簡単に説明する。拡張倍精度についても、その指
数値により同様に区別でき、 第1の範囲(A);“0”乃至“13824” 第2の範囲(B);“13825”乃至“15359” 第3の範囲(C);“15360”乃至“17407” 第4の範囲(D);“17408”乃至“18942” 第5の範囲(E);“18943”乃至“32767”
である。
【0039】そこで、第1の定数として、“1382
4”“15360”“17406”及び“18942”
の4つの値が発生される。また、第2の定数として、第
2、第3及び第4の範囲の場合、各々、“13824”
“15360”及び“16896”が発生される。第1
及び第5の範囲の場合、桁あふれ信号が送出される。
【0040】なお、いずれの変換の場合でも、バイアス
調整を行なう第2及び第4の範囲を省略して、第1、第
3及び第5の範囲に区別して変換するようにしてもよ
い。この場合、第1の定数は2つ発生される。
【0041】また、小さい精度のデータから大きな精度
のデータへの変換の場合にも本発明は適用できる。例え
ば、単精度から倍精度への変換の場合、バイアス調整の
有無及び種別(アンダフロー側かオーバフロー側か)を
判別することにより、前述の第2、第3及び第4の範囲
のいずれであるかを判別する(第1及び第5の範囲はあ
りえない)。次に、第2の定数として、第2、第3及び
第4の範囲の場合、各々、“704”,“896”及び
“1088”を発生しこれを加算することにより、バイ
アス調整を含めた形での変換を行ない得る。倍精度から
拡張倍精度への変換でも同様である。
【0042】
【発明の効果】以上説明したように、本発明によれば、
データの精度の変換を行なう浮動小数点演算装置におい
て、変換のタイプによって予め定められた第1及び第2
の定数を発生することにより、1度の加減算でバイアス
調整を含めた変換を完了することができるので、変換の
ための回路の構成を簡単なものにでき、変換の処理を簡
単なものとすることができる。
【図面の簡単な説明】
【図1】本発明の原理構成図である。
【図2】データの精度の説明図である。
【図3】データの精度の変換の説明図である。
【符号の説明】
1、2、3、4、5 レジスタ 6 定数発生回路 7 チェック回路 8 比較回路 9 定数発生回路 10 加減算器 11 シフタ 12、13、14、15、16 レジスタ
フロントページの続き (58)調査した分野(Int.Cl.6,DB名) G06F 7/00 G06F 7/50

Claims (4)

    (57)【特許請求の範囲】
  1. 【請求項1】 データの精度の変換命令において指示さ
    れた変換のタイプに応じて第1の定数複数個を発生する
    第1の定数発生回路(6)と、 前記データの指数部の値と前記第1の定数発生回路
    (6)からの前記複数の第1の定数の各々とを比較す
    る比較回路(8)と、 前記比較回路による前記夫々の比較の結果にもとづい
    て、変換のための第2の定数を発生する第2の定数発生
    回路(9)と、 前記第2の定数発生回路(9)が発生した第2の定数を
    前記データの指数部の値から減ずる演算を行なって、前
    記データの前記変換の後の指数部の値を求める単一の
    減算器(10)とを備えることを特徴とする浮動小数点
    演算装置。
  2. 【請求項2】 前記複数の第1の定数は、前記データ
    が、前記変換により、アンダフローとなる第1の範囲、
    アンダフローであるがバイアス調整により表し得る第2
    の範囲、バイアス調整なしで表し得る第3の範囲、オー
    バフローであるがバイアス調整により表し得る第4の範
    囲及びオーバフローとなる第5の範囲のいずれに属する
    かを前記比較により区別するために、各範囲の境界地で
    ある4つの値からなることを特徴とする請求項1記載の
    浮動小数点演算装置。
  3. 【請求項3】 前記データが前記第2の範囲及び第4の
    範囲に属する場合に対応して発生される前記第2の定数
    は、前記加減算器10において前記バイアス調整を前記
    変換と共に行ない得る値とされることを特徴とする請求
    項2記載の浮動小数点演算装置。
  4. 【請求項4】 前記比較回路(8)における前記比較
    は、前記データの仮数部の値の丸め処理によって生じた
    キャリーイン信号による桁上げを考慮して行なうことを
    特徴とする請求項1記載の浮動小数点演算装置。
JP4195736A 1992-07-23 1992-07-23 浮動小数点演算装置 Expired - Fee Related JP2801472B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4195736A JP2801472B2 (ja) 1992-07-23 1992-07-23 浮動小数点演算装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4195736A JP2801472B2 (ja) 1992-07-23 1992-07-23 浮動小数点演算装置

Publications (2)

Publication Number Publication Date
JPH0644041A JPH0644041A (ja) 1994-02-18
JP2801472B2 true JP2801472B2 (ja) 1998-09-21

Family

ID=16346112

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4195736A Expired - Fee Related JP2801472B2 (ja) 1992-07-23 1992-07-23 浮動小数点演算装置

Country Status (1)

Country Link
JP (1) JP2801472B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2410097B (en) * 2004-01-13 2006-11-01 Advanced Risc Mach Ltd A data processing apparatus and method for performing data processing operations on floating point data elements

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03100722A (ja) * 1989-09-13 1991-04-25 Fujitsu Ltd 精度変換命令の処理方式

Also Published As

Publication number Publication date
JPH0644041A (ja) 1994-02-18

Similar Documents

Publication Publication Date Title
US5495434A (en) Floating point processor with high speed rounding circuit
US5568412A (en) Rounding-off method and apparatus of floating point arithmetic apparatus for addition/subtraction
US4941120A (en) Floating point normalization and rounding prediction circuit
EP0136834B1 (en) A digital circuit performing an arithmetic operation with an overflow
US5027308A (en) Circuit for adding/subtracting two floating point operands
US4999803A (en) Floating point arithmetic system and method
US5010508A (en) Prenormalization for a floating-point adder
CA1324217C (en) Pipelined floating point adder for digital computer
JPH0544046B2 (ja)
JPH0474743B2 (ja)
JP2831729B2 (ja) プライオリティエンコーダおよび浮動小数点正規化装置
US5337265A (en) Apparatus for executing add/sub operations between IEEE standard floating-point numbers
JPH02294731A (ja) 浮動小数点数演算処理装置及び除数倍数生成装置
JP2801472B2 (ja) 浮動小数点演算装置
JP3693748B2 (ja) 制御可能な幅のorゲート
JPH0367328A (ja) 浮動小数点演算装置
JP2555135B2 (ja) 演算回路
JP2512939B2 (ja) 固定浮動デ−タ変換回路
JP3137131B2 (ja) 浮動小数点乗算器及び乗算方法
JPH0383126A (ja) 浮動小数点乗算器
JPH05204606A (ja) 浮動小数点演算方式および装置
JPH0323937B2 (ja)
JP2792998B2 (ja) 加減算回路を用いた型変換装置
JP2506891B2 (ja) 浮動小数点演算装置
JP3124286B2 (ja) 浮動小数点数演算装置

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 19980623

LAPS Cancellation because of no payment of annual fees