JPH0644041A - 浮動小数点演算装置 - Google Patents
浮動小数点演算装置Info
- Publication number
- JPH0644041A JPH0644041A JP4195736A JP19573692A JPH0644041A JP H0644041 A JPH0644041 A JP H0644041A JP 4195736 A JP4195736 A JP 4195736A JP 19573692 A JP19573692 A JP 19573692A JP H0644041 A JPH0644041 A JP H0644041A
- Authority
- JP
- Japan
- Prior art keywords
- conversion
- range
- data
- precision
- 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.)
- Granted
Links
Abstract
(57)【要約】
【目的】 本発明は、浮動小数点演算装置に関し、比較
的簡単な構成により大きな精度のデータを小さな精度の
データに変換することを目的とする。 【構成】 データの精度の変換命令(レジスタ3に格納
されている)において指示された変換のタイプに応じて
複数の第1の定数を発生する第1の定数発生回路6と、
データの指数部(レジスタ4に格納されている)の値と
複数の第1の定数の各々とを比較する比較回路8と、比
較の結果に応じて変換のための第2の定数を発生する第
2の定数発生回路9と、第2の定数をデータの指数部の
値から減ずる演算を行なうことにより、データの変換の
後の指数部の値を求めてレジスタ15に格納する加減算
器10とを備えるように構成する。
的簡単な構成により大きな精度のデータを小さな精度の
データに変換することを目的とする。 【構成】 データの精度の変換命令(レジスタ3に格納
されている)において指示された変換のタイプに応じて
複数の第1の定数を発生する第1の定数発生回路6と、
データの指数部(レジスタ4に格納されている)の値と
複数の第1の定数の各々とを比較する比較回路8と、比
較の結果に応じて変換のための第2の定数を発生する第
2の定数発生回路9と、第2の定数をデータの指数部の
値から減ずる演算を行なうことにより、データの変換の
後の指数部の値を求めてレジスタ15に格納する加減算
器10とを備えるように構成する。
Description
【0001】
【産業上の利用分野】本発明は、浮動小数点演算装置に
関し、特に、データの精度の変換を行なう浮動小数点演
算装置に関する。
関し、特に、データの精度の変換を行なう浮動小数点演
算装置に関する。
【0002】科学技術計算では高い精度が要求される場
合があるので、通常の精度(単精度)のデータの他、倍
精度、拡張倍精度(又は4倍精度)のデータをも取扱い
得るようにされる。
合があるので、通常の精度(単精度)のデータの他、倍
精度、拡張倍精度(又は4倍精度)のデータをも取扱い
得るようにされる。
【0003】
【従来の技術】図2に示す如く、単精度、倍精度及び拡
張倍精度ではデータの形式が異なる。即ち、サインビッ
トSを除いて、浮動小数点を表す指数部Eの大きさ(ビ
ット数)及び仮数部Fの大きさ(ビット数)が互いに異
なる。
張倍精度ではデータの形式が異なる。即ち、サインビッ
トSを除いて、浮動小数点を表す指数部Eの大きさ(ビ
ット数)及び仮数部Fの大きさ(ビット数)が互いに異
なる。
【0004】このため、倍精度又は拡張倍精度のデータ
を各々単精度又は倍精度のデータへ変換する場合、即
ち、大きい精度のデータを小さい精度のデータへ変換す
る場合、大きい精度のデータのうち小さい精度では表現
できない部分が生じる。このような部分については、仮
数部Fは丸め処理され、指数部Eは以下の如く処理され
る。
を各々単精度又は倍精度のデータへ変換する場合、即
ち、大きい精度のデータを小さい精度のデータへ変換す
る場合、大きい精度のデータのうち小さい精度では表現
できない部分が生じる。このような部分については、仮
数部Fは丸め処理され、指数部Eは以下の如く処理され
る。
【0005】図3において、倍精度と単精度とでは指数
部Eの表し得る範囲が図示の実線部分の如く異なる。一
方、単精度のデータで、オーバフロー又はアンダフロー
があった場合に、指数のバイアス調整を行なうことによ
って表し得る範囲が、図示の点線部分の如く存在する。
これは、拡張倍精度と倍精度との間においても同様であ
る。
部Eの表し得る範囲が図示の実線部分の如く異なる。一
方、単精度のデータで、オーバフロー又はアンダフロー
があった場合に、指数のバイアス調整を行なうことによ
って表し得る範囲が、図示の点線部分の如く存在する。
これは、拡張倍精度と倍精度との間においても同様であ
る。
【0006】そこで、図3に示す如く、範囲を区別して
処理される。即ち、 第1の範囲(A);アンダフローであり、バイアス調整
によっても表し得ない範囲。従って、アンダフローとさ
れる。 第2の範囲(B);アンダフローであるが、バイアス調
整によって表し得る範囲。従って、バイアス調整を変換
と共に行なう。 第3の範囲(C);バイアス調整をするまでもなく、
(簡単な処理により)表し得る範囲。 第4の範囲(D);オーバフローであるが、バイアス調
整によって表し得る範囲。従って、バイアス調整を変換
と共に行なう。 第5の範囲(E);オーバフローであり、バイアス調整
によっても表し得ない範囲。従って、オーバフローとさ
れる。
処理される。即ち、 第1の範囲(A);アンダフローであり、バイアス調整
によっても表し得ない範囲。従って、アンダフローとさ
れる。 第2の範囲(B);アンダフローであるが、バイアス調
整によって表し得る範囲。従って、バイアス調整を変換
と共に行なう。 第3の範囲(C);バイアス調整をするまでもなく、
(簡単な処理により)表し得る範囲。 第4の範囲(D);オーバフローであるが、バイアス調
整によって表し得る範囲。従って、バイアス調整を変換
と共に行なう。 第5の範囲(E);オーバフローであり、バイアス調整
によっても表し得ない範囲。従って、オーバフローとさ
れる。
【0007】
【発明が解決しようとする課題】前述の第1乃至第5範
囲に応じた処理のため、精度の変換命令の際に、いずれ
の範囲であるのかをチェックする必要がある。
囲に応じた処理のため、精度の変換命令の際に、いずれ
の範囲であるのかをチェックする必要がある。
【0008】このチェックは、例えば第1の範囲である
かを調べ、第1の範囲でないとき第2の範囲であるかを
調べ、第2の範囲でないとき第3の範囲であるかを調べ
る(以下同じ)という如く、順に行なわれる。このた
め、チェックの回数が多くなってしまうという問題があ
った。
かを調べ、第1の範囲でないとき第2の範囲であるかを
調べ、第2の範囲でないとき第3の範囲であるかを調べ
る(以下同じ)という如く、順に行なわれる。このた
め、チェックの回数が多くなってしまうという問題があ
った。
【0009】また、このチェックは、主に加減算によっ
て行なわれる(例えば2つの加減算器が用いられる)
が、変換のタイプ(倍精度から単精度への変換であるの
か又は拡張倍精度から倍精度への変換であるのか)及び
チェックの範囲(第1の範囲であるのか第2の範囲であ
るのか等)によって、加減算の対象である数値(指数
値)がその都度異なる。このため、チェックのための回
路が煩雑になるという問題があった。
て行なわれる(例えば2つの加減算器が用いられる)
が、変換のタイプ(倍精度から単精度への変換であるの
か又は拡張倍精度から倍精度への変換であるのか)及び
チェックの範囲(第1の範囲であるのか第2の範囲であ
るのか等)によって、加減算の対象である数値(指数
値)がその都度異なる。このため、チェックのための回
路が煩雑になるという問題があった。
【0010】本発明は、比較的簡単な構成により大きい
精度のデータを小さい精度のデータへの変換を行なう浮
動小数点演算装置を提供することを目的とする。
精度のデータを小さい精度のデータへの変換を行なう浮
動小数点演算装置を提供することを目的とする。
【0011】
【課題を解決するための手段】図1は本発明の原理構成
図であり、本発明による浮動小数点演算装置の要部を示
す。図1において、第1の定数発生回路6は、レジスタ
3に格納された変換命令(データの精度の変換命令)に
おいて指示された変換のタイプに応じて、複数の第1の
定数を発生する。比較回路8は、レジスタ4に格納され
たデータの指数部の値と、複数の第1の定数の各々とを
比較する。第2の定数発生回路9は、比較の結果に応じ
て変換のための第2の定数を発生する。加減算器10
は、第2の定数をレジスタ4のデータの指数部の値から
減ずる演算を行なうことにより、データの変換の後の指
数部の値を求めてレジスタ15に格納する。
図であり、本発明による浮動小数点演算装置の要部を示
す。図1において、第1の定数発生回路6は、レジスタ
3に格納された変換命令(データの精度の変換命令)に
おいて指示された変換のタイプに応じて、複数の第1の
定数を発生する。比較回路8は、レジスタ4に格納され
たデータの指数部の値と、複数の第1の定数の各々とを
比較する。第2の定数発生回路9は、比較の結果に応じ
て変換のための第2の定数を発生する。加減算器10
は、第2の定数をレジスタ4のデータの指数部の値から
減ずる演算を行なうことにより、データの変換の後の指
数部の値を求めてレジスタ15に格納する。
【0012】
【作用】比較回路8における複数の第1の定数を用いた
比較により、当該データの指数部の値は変換後にどのよ
うな範囲に属するかを判別することができる。即ち、ど
のような変換をすればよいのかを判別することができ
る。そこで、この比較結果に応じた第2の定数を発生
し、これを当該データの指数部の値から減ずれば、当該
データの変換後の指数部の値を求めることができる。
比較により、当該データの指数部の値は変換後にどのよ
うな範囲に属するかを判別することができる。即ち、ど
のような変換をすればよいのかを判別することができ
る。そこで、この比較結果に応じた第2の定数を発生
し、これを当該データの指数部の値から減ずれば、当該
データの変換後の指数部の値を求めることができる。
【0013】このような構成によれば、変換のタイプに
よって予め定められた値の(第1の)定数を発生し、比
較の結果に応じて予め定められた値の(第2の)定数を
発生し、1度の(加)減算により、変換を行なうことが
できる。従って、変換のための処理及び回路を比較的簡
単なものにすることができる。
よって予め定められた値の(第1の)定数を発生し、比
較の結果に応じて予め定められた値の(第2の)定数を
発生し、1度の(加)減算により、変換を行なうことが
できる。従って、変換のための処理及び回路を比較的簡
単なものにすることができる。
【0014】
【実施例】図1について更に説明する。レジスタ1乃至
5は、変換前のステージ(ステージ0)におけるデータ
等を格納する。レジスタ12乃至16は、変換後のステ
ージ(ステージ1)におけるデータ等を格納する。な
お、ステージはパイプライン制御の各ステージである。
レジスタ1乃至5とレジスタ12乃至16との間に、デ
ータの精度変換のための回路6乃至11が設けられる。
5は、変換前のステージ(ステージ0)におけるデータ
等を格納する。レジスタ12乃至16は、変換後のステ
ージ(ステージ1)におけるデータ等を格納する。な
お、ステージはパイプライン制御の各ステージである。
レジスタ1乃至5とレジスタ12乃至16との間に、デ
ータの精度変換のための回路6乃至11が設けられる。
【0015】レジスタ1は変換前のデータのサインビッ
トを保持する。レジスタ1の内容は、そのまま、変換後
のデータのサインビットを保持するレジスタ12に送ら
れる。
トを保持する。レジスタ1の内容は、そのまま、変換後
のデータのサインビットを保持するレジスタ12に送ら
れる。
【0016】レジスタ2は変換前のデータの丸めビット
(丸め処理の要否又は内容を示す)を保持する。レジス
タ2の内容は、そのまま、変換後のデータの丸めビット
を保持するレジスタ13に送られる。
(丸め処理の要否又は内容を示す)を保持する。レジス
タ2の内容は、そのまま、変換後のデータの丸めビット
を保持するレジスタ13に送られる。
【0017】レジスタ3はデータの精度の変換命令を含
む当該データについての処理命令を保持する。変換命令
は変換のタイプを指示する。変換のタイプには、倍精度
から単精度への変換、拡張倍精度から倍精度への変換及
びこれらの逆の変換がある。レジスタ3の内容は、その
まま、次ステージのレジスタ14へ送られる。
む当該データについての処理命令を保持する。変換命令
は変換のタイプを指示する。変換のタイプには、倍精度
から単精度への変換、拡張倍精度から倍精度への変換及
びこれらの逆の変換がある。レジスタ3の内容は、その
まま、次ステージのレジスタ14へ送られる。
【0018】レジスタ4は変換前のデータの指数部の値
を保持する。レジスタ4の内容は、変換のタイプに応じ
て加減算器10において加減算された後、変換後のデー
タの指数部の値を保持するレジスタ15に送られる。指
数部の値の変換は、この加減算による。
を保持する。レジスタ4の内容は、変換のタイプに応じ
て加減算器10において加減算された後、変換後のデー
タの指数部の値を保持するレジスタ15に送られる。指
数部の値の変換は、この加減算による。
【0019】レジスタ5は変換前のデータの仮数部の値
を保持する。レジスタ5の内容は、シフタ11において
シフトされた後、変換後のデータの仮数の値を保持する
レジスタ16に送られる。仮数部の値の変換は、このシ
フトによる。
を保持する。レジスタ5の内容は、シフタ11において
シフトされた後、変換後のデータの仮数の値を保持する
レジスタ16に送られる。仮数部の値の変換は、このシ
フトによる。
【0020】定数発生回路6は、変換命令を解読して変
換のタイプに応じた所定の信号を発生する。即ち、その
部分回路Xは、指数部の変換のために、変換のタイプに
応じて予め定められた第1の定数を複数個同時に発生す
る。複数の定数は比較回路8へ送られる。その部分回路
R/Lは、仮数部の変換のために、変換のタイプに応じ
て右又は左方向へのシフトを指示する信号を発生する。
その部分回路Dは、仮数部の変換のために、変換のタイ
プに応じてシフトすべきビット数を指示する信号を発生
する。部分回路R/L及びDの信号はシフタ11へ送ら
れる。
換のタイプに応じた所定の信号を発生する。即ち、その
部分回路Xは、指数部の変換のために、変換のタイプに
応じて予め定められた第1の定数を複数個同時に発生す
る。複数の定数は比較回路8へ送られる。その部分回路
R/Lは、仮数部の変換のために、変換のタイプに応じ
て右又は左方向へのシフトを指示する信号を発生する。
その部分回路Dは、仮数部の変換のために、変換のタイ
プに応じてシフトすべきビット数を指示する信号を発生
する。部分回路R/L及びDの信号はシフタ11へ送ら
れる。
【0021】チェック回路7は、レジスタ2の丸めビッ
トに従ってレジスタ5の仮数値を丸め処理した場合に、
この丸め処理によって生じたキャリーイン信号により仮
数部から指数部への桁上げが生ずるか否かをチェック
し、桁上げが生ずる場合に、比較回路8へ所定の信号
(指数値に“+1”加算するための信号)を送る。
トに従ってレジスタ5の仮数値を丸め処理した場合に、
この丸め処理によって生じたキャリーイン信号により仮
数部から指数部への桁上げが生ずるか否かをチェック
し、桁上げが生ずる場合に、比較回路8へ所定の信号
(指数値に“+1”加算するための信号)を送る。
【0022】比較回路8は、複数の第1の定数の各々と
レジスタ4の指数値とを同時に比較し、その大小を判別
する。この比較結果において、指数値が複数の第1の定
数の全てより大きい場合又は小さい場合は、桁あふれ信
号が出力される。
レジスタ4の指数値とを同時に比較し、その大小を判別
する。この比較結果において、指数値が複数の第1の定
数の全てより大きい場合又は小さい場合は、桁あふれ信
号が出力される。
【0023】なお、前述のチェック回路7からの(“+
1”)信号入力がある場合は、複数の第1の定数の各々
と指数値にこの信号入力を加算した値とが比較される。
これにより、桁上げに起因する変換の範囲のずれをなく
している。
1”)信号入力がある場合は、複数の第1の定数の各々
と指数値にこの信号入力を加算した値とが比較される。
これにより、桁上げに起因する変換の範囲のずれをなく
している。
【0024】定数発生回路9は、比較回路8における比
較の結果に従って、予め定められた1つの第2の定数を
発生する。この定数は加減算器10へ送られる。この定
数は、変換のタイプに応じて正又は負の値とされる。
較の結果に従って、予め定められた1つの第2の定数を
発生する。この定数は加減算器10へ送られる。この定
数は、変換のタイプに応じて正又は負の値とされる。
【0025】加減算器10は、第2の定数とレジスタ4
の指数値との加(減)算を行なう。この加算結果はレジ
スタ15へ送られる。シフタ11は、定数発生回路6か
らの2つの信号に従って、レジスタ5の仮数値を指示さ
れた方向に指示されたビット数だけシフトする。このシ
フト結果はレジスタ16へ送られる。なお、シフトによ
りあふれるビットは、図外の所定のレジスタ等に保持さ
れる。
の指数値との加(減)算を行なう。この加算結果はレジ
スタ15へ送られる。シフタ11は、定数発生回路6か
らの2つの信号に従って、レジスタ5の仮数値を指示さ
れた方向に指示されたビット数だけシフトする。このシ
フト結果はレジスタ16へ送られる。なお、シフトによ
りあふれるビットは、図外の所定のレジスタ等に保持さ
れる。
【0026】次に、具体的な例により、大きな精度のデ
ータを小さな精度のデータに変換する場合について説明
する。このために、まず、図3を参照して、単精度、倍
精度及び拡張倍精度の関係について説明する。
ータを小さな精度のデータに変換する場合について説明
する。このために、まず、図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”と表される)。
“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”
である。従って、変換においては、これらの指数値を基
準として変換を行なう必要がある。
2767”の値を取り得る(図の実線部分)。また、2
°=1に相当する指数値は、単精度では“127”、倍
精度では“1023”、拡張倍精度では“16383”
である。従って、変換においては、これらの指数値を基
準として変換を行なう必要がある。
【0029】以上の前提に基づいて、次に、倍精度から
単精度への変換について説明する。倍精度の“102
3”が単精度の“127”であるから、倍精度の“89
6”乃至“1151”が単精度の“0”乃至“255”
に変換される。この範囲が、前述の第3の範囲(図中の
Cの範囲)であり、バイアス調整をするまでもなく、表
し得る範囲である。即ち、倍精度の指数値から“89
6”を減ずることにより変換できる。
単精度への変換について説明する。倍精度の“102
3”が単精度の“127”であるから、倍精度の“89
6”乃至“1151”が単精度の“0”乃至“255”
に変換される。この範囲が、前述の第3の範囲(図中の
Cの範囲)であり、バイアス調整をするまでもなく、表
し得る範囲である。即ち、倍精度の指数値から“89
6”を減ずることにより変換できる。
【0030】倍精度の“705”乃至“895”が単精
度の“−191”乃至“−1”に相当する。この範囲
が、前述の第2の範囲(図中のBの範囲)であり、バイ
アス調整によって表し得る範囲である。即ち、例えば
“705”を“−191”ではなく“1”として表せば
よいのであるから、倍精度の指数値から“704”を減
ずることによりバイアス調整を含んだ変換ができる。
度の“−191”乃至“−1”に相当する。この範囲
が、前述の第2の範囲(図中のBの範囲)であり、バイ
アス調整によって表し得る範囲である。即ち、例えば
“705”を“−191”ではなく“1”として表せば
よいのであるから、倍精度の指数値から“704”を減
ずることによりバイアス調整を含んだ変換ができる。
【0031】倍精度の“1152”乃至“1342”が
単精度の“256”乃至“446”に相当する。この範
囲が、前述の第4の範囲(図中のDの範囲)であり、バ
イアス調整によって表し得る範囲である。即ち、例えば
“1342”を“446”ではなく“254”として表
せばよいのであるから、倍精度の指数値から“108
8”を減ずることによりバイアス調整を含んだ変換がで
きる。
単精度の“256”乃至“446”に相当する。この範
囲が、前述の第4の範囲(図中のDの範囲)であり、バ
イアス調整によって表し得る範囲である。即ち、例えば
“1342”を“446”ではなく“254”として表
せばよいのであるから、倍精度の指数値から“108
8”を減ずることによりバイアス調整を含んだ変換がで
きる。
【0032】倍精度の“0”乃至“704”は単精度に
おいて対応する範囲がない。この範囲が、前述の第1の
範囲(図中のAの範囲)であり、バイアス調整によって
も表し得ない範囲である。従って、アンダフローとされ
る。
おいて対応する範囲がない。この範囲が、前述の第1の
範囲(図中のAの範囲)であり、バイアス調整によって
も表し得ない範囲である。従って、アンダフローとされ
る。
【0033】倍精度の“1343”乃至“2047”は
単精度において対応する範囲がない。この範囲が、前述
の第5の範囲(図中のEの範囲)であり、バイアス調整
によっても表し得ない範囲である。従って、オーバフロ
ーとされる。
単精度において対応する範囲がない。この範囲が、前述
の第5の範囲(図中のEの範囲)であり、バイアス調整
によっても表し得ない範囲である。従って、オーバフロ
ーとされる。
【0034】以上の関係は、単精度及び倍精度のデータ
形式により予め判ることであるから、前述の各数値は定
数として予め定め得る。そこで、定数発生回路6は、第
1乃至第5の範囲の境界値である4つの値“704”
“896”“1150”“1342”を第1の定数とし
て発生する。これら4つの値は、当該データが第1乃至
第5の範囲のいずれに属するかを比較回路8における比
較により区別するために用いられる。
形式により予め判ることであるから、前述の各数値は定
数として予め定め得る。そこで、定数発生回路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の範囲についても判別することができる。
以下の場合は、第1の範囲であるから、桁あふれ(アン
ダフロー)信号を送出する。同じく“1342”より大
きい場合も桁あふれ(オーバフロー)信号を送出する。
一方、指数値が“704”より大きく“896”より小
さい(かつ“1150”,“1342”より小さい)場
合は、第2の範囲であることが判る。同じく第3の範
囲、第4の範囲についても判別することができる。
【0036】なお、例えば指数値が“704”であれば
アンダフローであり表現できないが、チェック回路7か
らの信号(“+1”)入力があれば、指数値は“70
5”となるので、バイアス調整により表現可能となる。
そこで、指数値にチェック回路7からの信号入力を加算
した上で、前述の4つの定数との比較を行なう。他の3
つの各範囲の境界においても同様である。これにより、
仮数部からの桁上げを正しく反映した変換が可能とな
る。
アンダフローであり表現できないが、チェック回路7か
らの信号(“+1”)入力があれば、指数値は“70
5”となるので、バイアス調整により表現可能となる。
そこで、指数値にチェック回路7からの信号入力を加算
した上で、前述の4つの定数との比較を行なう。他の3
つの各範囲の境界においても同様である。これにより、
仮数部からの桁上げを正しく反映した変換が可能とな
る。
【0037】次に、定数発生回路9は、比較の結果に応
じて1つの第2の定数を発生する。即ち、比較の結果、
指数値が第2の範囲に属する場合は“704”を発生す
る。この定数“704”をレジスタ4の指数値から減ず
ることにより、前述の如く、倍精度から単精度への変換
がバイアス調整を含む形で行なわれる。同様に第3の範
囲の場合は“896”が、第4の範囲の場合“108
8”が発生され、減算による変換に用いられる。なお、
第2の定数の符号は、大きな精度から小さな精度への変
換の場合は負とされ、逆の場合は正とされる。
じて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”
である。
いて、簡単に説明する。拡張倍精度についても、その指
数値により同様に区別でき、 第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の範囲の場合、桁あふれ信号が送出される。
4”“15360”“17406”及び“18942”
の4つの値が発生される。また、第2の定数として、第
2、第3及び第4の範囲の場合、各々、“13824”
“15360”及び“16896”が発生される。第1
及び第5の範囲の場合、桁あふれ信号が送出される。
【0040】なお、いずれの変換の場合でも、バイアス
調整を行なう第2及び第4の範囲を省略して、第1、第
3及び第5の範囲に区別して変換するようにしてもよ
い。この場合、第1の定数は2つ発生される。
調整を行なう第2及び第4の範囲を省略して、第1、第
3及び第5の範囲に区別して変換するようにしてもよ
い。この場合、第1の定数は2つ発生される。
【0041】また、小さい精度のデータから大きな精度
のデータへの変換の場合にも本発明は適用できる。例え
ば、単精度から倍精度への変換の場合、バイアス調整の
有無及び種別(アンダフロー側かオーバフロー側か)を
判別することにより、前述の第2、第3及び第4の範囲
のいずれであるかを判別する(第1及び第5の範囲はあ
りえない)。次に、第2の定数として、第2、第3及び
第4の範囲の場合、各々、“704”,“896”及び
“1088”を発生しこれを加算することにより、バイ
アス調整を含めた形での変換を行ない得る。倍精度から
拡張倍精度への変換でも同様である。
のデータへの変換の場合にも本発明は適用できる。例え
ば、単精度から倍精度への変換の場合、バイアス調整の
有無及び種別(アンダフロー側かオーバフロー側か)を
判別することにより、前述の第2、第3及び第4の範囲
のいずれであるかを判別する(第1及び第5の範囲はあ
りえない)。次に、第2の定数として、第2、第3及び
第4の範囲の場合、各々、“704”,“896”及び
“1088”を発生しこれを加算することにより、バイ
アス調整を含めた形での変換を行ない得る。倍精度から
拡張倍精度への変換でも同様である。
【0042】
【発明の効果】以上説明したように、本発明によれば、
データの精度の変換を行なう浮動小数点演算装置におい
て、変換のタイプによって予め定められた第1及び第2
の定数を発生することにより、1度の加減算でバイアス
調整を含めた変換を完了することができるので、変換の
ための回路の構成を簡単なものにでき、変換の処理を簡
単なものとすることができる。
データの精度の変換を行なう浮動小数点演算装置におい
て、変換のタイプによって予め定められた第1及び第2
の定数を発生することにより、1度の加減算でバイアス
調整を含めた変換を完了することができるので、変換の
ための回路の構成を簡単なものにでき、変換の処理を簡
単なものとすることができる。
【図1】本発明の原理構成図である。
【図2】データの精度の説明図である。
【図3】データの精度の変換の説明図である。
1、2、3、4、5 レジスタ 6 定数発生回路 7 チェック回路 8 比較回路 9 定数発生回路 10 加減算器 11 シフタ 12、13、14、15、16 レジスタ
Claims (4)
- 【請求項1】 データの精度の変換命令において指示さ
れた変換のタイプに応じて複数の第1の定数を発生する
第1の定数発生回路(6)と、 前記データの指数部の値と前記複数の第1の定数の各々
とを比較する比較回路(8)と、 前記比較の結果に応じて変換のための第2の定数を発生
する第2の定数発生回路(9)と、 前記第2の定数を前記データの指数部の値から減ずる演
算を行なうことにより、前記データの前記変換の後の指
数部の値を求める加減算器(10)とを備えることを特
徴とする浮動小数点演算装置。 - 【請求項2】 前記複数の第1の定数は、前記データ
が、前記変換により、アンダフローとなる第1の範囲、
アンダフローであるがバイアス調整により表し得る第2
の範囲、バイアス調整なしで表し得る第3の範囲、オー
バフローであるがバイアス調整により表し得る第4の範
囲及びオーバフローとなる第5の範囲のいずれに属する
かを前記比較により区別するために、各範囲の境界地で
ある4つの値からなることを特徴とする請求項1記載の
浮動小数点演算装置。 - 【請求項3】 前記データが前記第2の範囲及び第4の
範囲に属する場合に対応して発生される前記第2の定数
は、前記加減算器10において前記バイアス調整を前記
変換と共に行ない得る値とされることを特徴とする請求
項2記載の浮動小数点演算装置。 - 【請求項4】 前記比較回路(8)における前記比較
は、前記データの仮数部の値の丸め処理によって生じた
キャリーイン信号による桁上げを考慮して行なうことを
特徴とする請求項1記載の浮動小数点演算装置。
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 true JPH0644041A (ja) | 1994-02-18 |
JP2801472B2 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) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2410097A (en) * | 2004-01-13 | 2005-07-20 | Advanced Risc Mach Ltd | Constant generation in floating point processing |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03100722A (ja) * | 1989-09-13 | 1991-04-25 | Fujitsu Ltd | 精度変換命令の処理方式 |
-
1992
- 1992-07-23 JP JP4195736A patent/JP2801472B2/ja not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03100722A (ja) * | 1989-09-13 | 1991-04-25 | Fujitsu Ltd | 精度変換命令の処理方式 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2410097A (en) * | 2004-01-13 | 2005-07-20 | Advanced Risc Mach Ltd | Constant generation in floating point processing |
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 |
Also Published As
Publication number | Publication date |
---|---|
JP2801472B2 (ja) | 1998-09-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4999803A (en) | Floating point arithmetic system and method | |
EP0820005B1 (en) | Method and apparatus for computing floating point data | |
JP3076046B2 (ja) | 例外検出回路 | |
US5111421A (en) | System for performing addition and subtraction of signed magnitude floating point binary numbers | |
JPH05241792A (ja) | 浮動小数点加減算方式および装置 | |
JPH04290122A (ja) | 数値表現変換装置 | |
JPH02294731A (ja) | 浮動小数点数演算処理装置及び除数倍数生成装置 | |
EP0273753B1 (en) | Floating-point arithmetic apparatus | |
JPH0644041A (ja) | 浮動小数点演算装置 | |
US5754458A (en) | Trailing bit anticipator | |
JPH0540605A (ja) | 浮動小数点乗算装置 | |
JP2512939B2 (ja) | 固定浮動デ−タ変換回路 | |
JP3137131B2 (ja) | 浮動小数点乗算器及び乗算方法 | |
JP2792998B2 (ja) | 加減算回路を用いた型変換装置 | |
JPH0216632A (ja) | 固定小数点数−浮動小数点数変換回路 | |
JPH0291724A (ja) | 演算装置 | |
JP4073513B2 (ja) | 浮動小数点処理装置 | |
JP2506891B2 (ja) | 浮動小数点演算装置 | |
JPH0323937B2 (ja) | ||
JPH0540609A (ja) | 浮動小数点除算装置 | |
JPH0383126A (ja) | 浮動小数点乗算器 | |
JPH0285922A (ja) | 演算回路 | |
JPH0540606A (ja) | 浮動小数点乗除算装置 | |
JPH05204606A (ja) | 浮動小数点演算方式および装置 | |
JPS6129020B2 (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 |