JPH05100823A - 浮動小数点演算方式とその装置 - Google Patents
浮動小数点演算方式とその装置Info
- Publication number
- JPH05100823A JPH05100823A JP3258993A JP25899391A JPH05100823A JP H05100823 A JPH05100823 A JP H05100823A JP 3258993 A JP3258993 A JP 3258993A JP 25899391 A JP25899391 A JP 25899391A JP H05100823 A JPH05100823 A JP H05100823A
- Authority
- JP
- Japan
- Prior art keywords
- input
- mantissa
- exponent
- value
- data
- 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)【要約】
【目的】従来の浮動小数点加減算装置にごくわずかのハ
ードウェアを追加することにより、コンピュータシステ
ムの高速化に有効な浮動小数点データの整数データへの
変換であるデータ変換命令を実行することが可能となる
浮動小数点演算方式とその装置を提供する。 【構成】浮動小数点加減算装置1の比較選択器11の入
力部に挿入した入力オペランドOP1および全ビットが
0であるデータとのいずれか一方を選択的に出力する選
択器2を備える。指数減算器18の入力部に挿入した入
力オぺランドOP1の指数部とこの指数部のバイアス値
から決定される定数値とのいずれか一方を選択的に出力
する選択器3を備える。
ードウェアを追加することにより、コンピュータシステ
ムの高速化に有効な浮動小数点データの整数データへの
変換であるデータ変換命令を実行することが可能となる
浮動小数点演算方式とその装置を提供する。 【構成】浮動小数点加減算装置1の比較選択器11の入
力部に挿入した入力オペランドOP1および全ビットが
0であるデータとのいずれか一方を選択的に出力する選
択器2を備える。指数減算器18の入力部に挿入した入
力オぺランドOP1の指数部とこの指数部のバイアス値
から決定される定数値とのいずれか一方を選択的に出力
する選択器3を備える。
Description
【0001】
【産業上の利用分野】本発明は浮動小数点演算方式とそ
の装置に関し、特に浮動小数点データを整数データに変
換するデータ変換命令を実行できる機能を有する浮動小
数点演算方式とその装置に関する。
の装置に関し、特に浮動小数点データを整数データに変
換するデータ変換命令を実行できる機能を有する浮動小
数点演算方式とその装置に関する。
【0002】
【従来の技術】ここで対象とする浮動小数点データフォ
ーマットは、図2(A)に示すように、符号部Sが1ビ
ット、指数部Eが15ビットでバイアス値16384、
仮数部Mは48ビットの絶対値正規化表現で示されるも
のと仮定する。Mのビット列をM0 M1 M2 ・・・M47
とすると、この浮動小数点データは以下の値を表してい
る。
ーマットは、図2(A)に示すように、符号部Sが1ビ
ット、指数部Eが15ビットでバイアス値16384、
仮数部Mは48ビットの絶対値正規化表現で示されるも
のと仮定する。Mのビット列をM0 M1 M2 ・・・M47
とすると、この浮動小数点データは以下の値を表してい
る。
【0003】
【0004】また、対象とする整数データフォーマット
は、図2(B)に示すように、形式上64ビットである
が、下位32ビットが符号付2の補数表現の2進数であ
り、上位の32ビットは不定であるとするものと仮定す
る。この整数データは以下の値を表している。
は、図2(B)に示すように、形式上64ビットである
が、下位32ビットが符号付2の補数表現の2進数であ
り、上位の32ビットは不定であるとするものと仮定す
る。この整数データは以下の値を表している。
【0005】
【0006】従来の浮動小数点演算装置である浮動小数
点加減算装置1は、図3に示すように、仮数部が絶対値
表現である浮動小数点データである2つの入力オペラン
ドOP1,OP2を入力しその大小を比較する比較選択
器11と、比較選択器11の比較結果小さい方のオペラ
ンドの仮数部MSを入力し桁合せのための右シフトを行
なう右シフタ12と、右シフタ12の出力を入力し加算
実行時には入力値をそのまま出力し減算実行時には入力
値の1の補数を出力する反転器13と、反転器13の出
力と比較選択器11の比較結果大きい方のオペランドの
仮数部MLを入力し加算実行時には両者の和を出力し減
算実行時には両者の和にさらに最下位ビットの重さを持
った’1’を加算した値を出力する仮数加算器14と、
仮数加算器14の出力における最上位の’1’のビット
の位置を検出するビット位置デコーダ15と、大きい方
のオペランドの指数部ELを入力しビット位置デコーダ
15の出力値にもとずき指数部の更新を行なう更新器1
6と、ビット位置デコーダ15の出力値にもとずき正規
化のため仮数加算器14の出力のシフトを行なう正規化
用シフタ17と、入力オペランドOP1,OP2の指数
部を減算し指数の差を出力する指数減算器18とを備え
て構成されていた。
点加減算装置1は、図3に示すように、仮数部が絶対値
表現である浮動小数点データである2つの入力オペラン
ドOP1,OP2を入力しその大小を比較する比較選択
器11と、比較選択器11の比較結果小さい方のオペラ
ンドの仮数部MSを入力し桁合せのための右シフトを行
なう右シフタ12と、右シフタ12の出力を入力し加算
実行時には入力値をそのまま出力し減算実行時には入力
値の1の補数を出力する反転器13と、反転器13の出
力と比較選択器11の比較結果大きい方のオペランドの
仮数部MLを入力し加算実行時には両者の和を出力し減
算実行時には両者の和にさらに最下位ビットの重さを持
った’1’を加算した値を出力する仮数加算器14と、
仮数加算器14の出力における最上位の’1’のビット
の位置を検出するビット位置デコーダ15と、大きい方
のオペランドの指数部ELを入力しビット位置デコーダ
15の出力値にもとずき指数部の更新を行なう更新器1
6と、ビット位置デコーダ15の出力値にもとずき正規
化のため仮数加算器14の出力のシフトを行なう正規化
用シフタ17と、入力オペランドOP1,OP2の指数
部を減算し指数の差を出力する指数減算器18とを備え
て構成されていた。
【0007】次に、従来の浮動小数点演算方式とその装
置の動作について説明する。
置の動作について説明する。
【0008】比較器選択器11は、図4で示すフォーマ
ットを持つ浮動小数点データを2つの入力オペランドO
P1,OP2として入力し、その大小を判定して小さい
方のオペランドの仮数部MSを右シフタ12の入力とし
て出力する。また、指数減算器18は、入力オペランド
OP1,OP2の指数部を減算し指数の差を出力する。
その値、すなわち、指数の差をシフト量として、右シフ
タ12は、入力された小さい方のオペランドの仮数部M
Sを桁合せのために右シフトする。右シフタ12の出力
は反転器13に入力される。
ットを持つ浮動小数点データを2つの入力オペランドO
P1,OP2として入力し、その大小を判定して小さい
方のオペランドの仮数部MSを右シフタ12の入力とし
て出力する。また、指数減算器18は、入力オペランド
OP1,OP2の指数部を減算し指数の差を出力する。
その値、すなわち、指数の差をシフト量として、右シフ
タ12は、入力された小さい方のオペランドの仮数部M
Sを桁合せのために右シフトする。右シフタ12の出力
は反転器13に入力される。
【0009】実行命令が加算のときは反転器13は入力
をそのまま出力する。また、実行命令が減算のときは反
転器13は入力の1の補数を出力する。
をそのまま出力する。また、実行命令が減算のときは反
転器13は入力の1の補数を出力する。
【0010】仮数加算器14は、反転器13の出力と比
較選択器11の出力である大きい方のオペランドの仮数
部MLとを加算する。このとき、実行命令が加算のとき
は両方の入力の和を出力する。また、実行命令が減算の
ときは両方の入力の和に、さらに、LSBの重みを持
つ’1’を加えることにより、反転器13の動作と合せ
て2の補数を用いての減算を実行する。
較選択器11の出力である大きい方のオペランドの仮数
部MLとを加算する。このとき、実行命令が加算のとき
は両方の入力の和を出力する。また、実行命令が減算の
ときは両方の入力の和に、さらに、LSBの重みを持
つ’1’を加えることにより、反転器13の動作と合せ
て2の補数を用いての減算を実行する。
【0011】ビット位置デコーダ15は、仮数加算器1
4の出力データを検索し最上位の’1’のビット位置、
すなわち、最上位の’1’のビットがMSBから下位に
数えて何番目の位置かを検出する。
4の出力データを検索し最上位の’1’のビット位置、
すなわち、最上位の’1’のビットがMSBから下位に
数えて何番目の位置かを検出する。
【0012】正規化用シフタ17は、ビット位置デコー
ダ15の出力にもとずいて、最上位ビットが’1’にな
るまで仮数加算器14の出力データをシフトする。この
とき、加算実行時には桁あふれの補正のための1ビット
右シフトし、減算実行時には左バレルシフトが必要とな
る。
ダ15の出力にもとずいて、最上位ビットが’1’にな
るまで仮数加算器14の出力データをシフトする。この
とき、加算実行時には桁あふれの補正のための1ビット
右シフトし、減算実行時には左バレルシフトが必要とな
る。
【0013】以上の処理に並行して、指数部の更新が更
新器16により行なわれる。これは、比較選択器11か
ら大きい方のオペランドの指数部ELを入力して、これ
から正規化用シフタ17が実行した左シヘト量分を減算
することで実現される。
新器16により行なわれる。これは、比較選択器11か
ら大きい方のオペランドの指数部ELを入力して、これ
から正規化用シフタ17が実行した左シヘト量分を減算
することで実現される。
【0014】以上の処理により浮動小数点加減算が実行
され、結果データRを出力するというものであった。
され、結果データRを出力するというものであった。
【0015】しかし、コンピュータシステムでは、浮動
小数点データだけではなく整数データをも扱う。したが
って、場合によっては浮動小数点データを整数データに
変換するデータ変換命令を実行する必要がある。
小数点データだけではなく整数データをも扱う。したが
って、場合によっては浮動小数点データを整数データに
変換するデータ変換命令を実行する必要がある。
【0016】従来のコンピュータシステムでは、浮動小
数点演算装置は浮動小数点演算専用としてのみ用いられ
ており、素子数のオーバヘッドを抑えるためにデータ変
換用のハードウェアをコンピュータシステム内に搭載せ
ずに、整数用の演算器やシフト回路をマイクロプログラ
ム等により制御してデータ変換命令を実行していたの
で、変換命令の実行を高速化できないというものであっ
た。
数点演算装置は浮動小数点演算専用としてのみ用いられ
ており、素子数のオーバヘッドを抑えるためにデータ変
換用のハードウェアをコンピュータシステム内に搭載せ
ずに、整数用の演算器やシフト回路をマイクロプログラ
ム等により制御してデータ変換命令を実行していたの
で、変換命令の実行を高速化できないというものであっ
た。
【0017】
【発明が解決しようとする課題】上述した従来の浮動小
数点演算方式とその装置は、コンピュータシステムの高
速化に有効である浮動小数点データの整数データへのデ
ータ変換命令を実行することができないという欠点があ
った。
数点演算方式とその装置は、コンピュータシステムの高
速化に有効である浮動小数点データの整数データへのデ
ータ変換命令を実行することができないという欠点があ
った。
【0018】本発明の目的は、ごくわずかのハードウェ
アを追加するだけで、データ変換命令を実行できる浮動
小数点演算方式とその装置を提供することにある。
アを追加するだけで、データ変換命令を実行できる浮動
小数点演算方式とその装置を提供することにある。
【0019】
【課題を解決するための手段】第一の発明の浮動小数点
演算方式は、指数減算器と右シフタと仮数加算器と反転
器とを備え仮数部が絶対値表現である浮動小数点データ
の第一および第二の入力オペランドを入力し加減算を行
なう浮動小数点加減算装置を用いる浮動小数点演算方式
において、前記指数減算器により入力した前記浮動小数
点データの指数部の値から前記指数部のバイアス値と前
記仮数部のビット長を減算し、前記減算結果をシフト量
として桁合せ用の前記右シフタにより前記仮数部をシフ
トし、前記右シフタの出力を前記反転器と前記仮数加算
器とを用いて2の補数表現に変換することにより前記浮
動小数点データを整数データに変換することを特徴とす
るものである。
演算方式は、指数減算器と右シフタと仮数加算器と反転
器とを備え仮数部が絶対値表現である浮動小数点データ
の第一および第二の入力オペランドを入力し加減算を行
なう浮動小数点加減算装置を用いる浮動小数点演算方式
において、前記指数減算器により入力した前記浮動小数
点データの指数部の値から前記指数部のバイアス値と前
記仮数部のビット長を減算し、前記減算結果をシフト量
として桁合せ用の前記右シフタにより前記仮数部をシフ
トし、前記右シフタの出力を前記反転器と前記仮数加算
器とを用いて2の補数表現に変換することにより前記浮
動小数点データを整数データに変換することを特徴とす
るものである。
【0020】また、第2の発明の浮動小数点演算装置
は、仮数部が絶対値表現である浮動小数点データの第一
および第二の入力オペランドをそれぞれ入力する第一お
よび第二の入力部を有し前記第一および第二の入力オペ
ランドの大小を比較し前記第一および第二の入力オペラ
ンドの大きい方のオペランドの仮数部を第一の仮数部と
し小さい方のオペランドの仮数部を第二の仮数部とし大
きい方のオペランドの指数部を第一の指数部としてそれ
ぞれ出力する比較選択器と、前記第一および第二の入力
オペランドのそれぞれの指数部同志の減算を行ない前記
指数部の差である指数差を出力する指数減算器と、前記
第二の仮数部を入力し前記指数差をシフト量として桁合
せのための右シフトを行なう右シフタと、前記右シフタ
の出力を入力し加算実行時には入力値をそのまま出力し
減算実行時には前記入力値の1の補数を出力する反転器
と、前記反転器の出力と前記第一の仮数部とを入力し加
算実行時には前記反転器の出力と前記第一の仮数部との
和を出力し減算実行時には前記和にさらに最下位ビット
の重さを持った’1’を加算した値を出力する仮数加算
器と、前記仮数加算器の出力における最上位の’1’の
ビットの位置を検出するビット位置デコーダと、前記ビ
ット位置デコーダの出力値にもとずき正規化のため前記
仮数加算器の出力のシフトを行なう正規化用シフタと、
前記第一の指数部を入力し前記ビット位置デコーダの出
力値にもとずき前記指数部の更新を行なう更新器とを備
えた浮動小数点加減算装置と、前記第一の入力部に挿入
する第一の入力オペランドおよび全ビットが0であるデ
ータとのいずれか一方を選択的に出力する第一の選択器
と、前記指数減算器の入力部に挿入する前記第一の入力
オぺランドの指数部とこの指数部のバイアス値から決定
される定数値とのいずれか一方を選択的に出力する第二
の選択器とを備え、制御信号により前記比較選択器およ
び前記反転器および前記仮数加算器を制御して前記第二
の入力オペランドを前記右シフタの入力とし、前記正規
化用シフタが前記シフト演算を行なわず入力値をそのま
ま出力し、前記第二の入力オペランドの符号が負である
ならば前記反転器は前記入力値の1の補数を出力すると
ともに前記仮数加算器は前記入力値に最下位ビットの重
さを持った’1’を加算し、前記符号が正であるならば
前記反転器および前記仮数加算器は前記入力値をそのま
ま出力することを特徴とするものである。
は、仮数部が絶対値表現である浮動小数点データの第一
および第二の入力オペランドをそれぞれ入力する第一お
よび第二の入力部を有し前記第一および第二の入力オペ
ランドの大小を比較し前記第一および第二の入力オペラ
ンドの大きい方のオペランドの仮数部を第一の仮数部と
し小さい方のオペランドの仮数部を第二の仮数部とし大
きい方のオペランドの指数部を第一の指数部としてそれ
ぞれ出力する比較選択器と、前記第一および第二の入力
オペランドのそれぞれの指数部同志の減算を行ない前記
指数部の差である指数差を出力する指数減算器と、前記
第二の仮数部を入力し前記指数差をシフト量として桁合
せのための右シフトを行なう右シフタと、前記右シフタ
の出力を入力し加算実行時には入力値をそのまま出力し
減算実行時には前記入力値の1の補数を出力する反転器
と、前記反転器の出力と前記第一の仮数部とを入力し加
算実行時には前記反転器の出力と前記第一の仮数部との
和を出力し減算実行時には前記和にさらに最下位ビット
の重さを持った’1’を加算した値を出力する仮数加算
器と、前記仮数加算器の出力における最上位の’1’の
ビットの位置を検出するビット位置デコーダと、前記ビ
ット位置デコーダの出力値にもとずき正規化のため前記
仮数加算器の出力のシフトを行なう正規化用シフタと、
前記第一の指数部を入力し前記ビット位置デコーダの出
力値にもとずき前記指数部の更新を行なう更新器とを備
えた浮動小数点加減算装置と、前記第一の入力部に挿入
する第一の入力オペランドおよび全ビットが0であるデ
ータとのいずれか一方を選択的に出力する第一の選択器
と、前記指数減算器の入力部に挿入する前記第一の入力
オぺランドの指数部とこの指数部のバイアス値から決定
される定数値とのいずれか一方を選択的に出力する第二
の選択器とを備え、制御信号により前記比較選択器およ
び前記反転器および前記仮数加算器を制御して前記第二
の入力オペランドを前記右シフタの入力とし、前記正規
化用シフタが前記シフト演算を行なわず入力値をそのま
ま出力し、前記第二の入力オペランドの符号が負である
ならば前記反転器は前記入力値の1の補数を出力すると
ともに前記仮数加算器は前記入力値に最下位ビットの重
さを持った’1’を加算し、前記符号が正であるならば
前記反転器および前記仮数加算器は前記入力値をそのま
ま出力することを特徴とするものである。
【0021】
【実施例】次に、本発明の実施例について図面を参照し
て説明する。
て説明する。
【0022】本実施例においても従来例と同様に、図2
(A)で示した浮動小数点データフォーマットと、図2
(B)に示した整数データフォーマットとを仮定して説
明する。
(A)で示した浮動小数点データフォーマットと、図2
(B)に示した整数データフォーマットとを仮定して説
明する。
【0023】図2(A)で示す浮動小数点データフォー
マットで表される数値は、Mのビット列をM0 M1 M2
・・・M47とすると、下記に示す(1)のようになる。
マットで表される数値は、Mのビット列をM0 M1 M2
・・・M47とすると、下記に示す(1)のようになる。
【0024】
【0025】この値は、小数点を最下位まで移動して、
下記に示す(2)のように書直すことができる。
下記に示す(2)のように書直すことができる。
【0026】
【0027】ここで、Y=|E−16384−48|と
する。E−16384−48が零または負であれば、数
値(2)はさらに小数点位置を移動して下記に示す
(3)のように書直すことができる。
する。E−16384−48が零または負であれば、数
値(2)はさらに小数点位置を移動して下記に示す
(3)のように書直すことができる。
【0028】
【0029】このM0 M1 ・・・M46-Yが求める整数で
ある。
ある。
【0030】ここで、整数データフォーマットは、図2
(B)に示したように、64ビット長データの下位32
ビットが実際の値を表す。したがって、浮動小数点デー
タフォーマットでは、上位から数えて17ビット目から
始まるM0M1 ・・・M46-Yというビット列を、整数デ
ータに変換する際には上位から数えて33ビット目以降
にシフトしなければならない。そのためのシフト量がY
である。つまり、入力された浮動小数点データの仮数部
を|E−16384−48|ビット分右シフトすること
により整数データに変換できることになる。なお、上位
から数えて32ビット目は符号ビットをいれることにな
る。
(B)に示したように、64ビット長データの下位32
ビットが実際の値を表す。したがって、浮動小数点デー
タフォーマットでは、上位から数えて17ビット目から
始まるM0M1 ・・・M46-Yというビット列を、整数デ
ータに変換する際には上位から数えて33ビット目以降
にシフトしなければならない。そのためのシフト量がY
である。つまり、入力された浮動小数点データの仮数部
を|E−16384−48|ビット分右シフトすること
により整数データに変換できることになる。なお、上位
から数えて32ビット目は符号ビットをいれることにな
る。
【0031】ここで、数値(1)が負値を表していると
すると、これを2の補数表現にする必要がある。この理
由は、浮動小数点データフォーマットでは負値に対し絶
対値表現を使うが、整数データフォーマットでは負値に
対し2の補数表現を使うからである。
すると、これを2の補数表現にする必要がある。この理
由は、浮動小数点データフォーマットでは負値に対し絶
対値表現を使うが、整数データフォーマットでは負値に
対し2の補数表現を使うからである。
【0032】数値の2の補数化のためには、まず、反転
器により1の補数を生成し、その値とLSBの重みを持
った’1’とを仮数加算器により加算すればよい。
器により1の補数を生成し、その値とLSBの重みを持
った’1’とを仮数加算器により加算すればよい。
【0033】なお、以上の説明からわかるように、E−
16384−48が正値の場合には、浮動小数点データ
を整数データに変換するとオーバフローが発生する。ま
た、E−16384−48が負値の場合であっても46
−Yが30より大きい場合にはオーバフローが発生す
る。の理由は、M0 M1 ・・・M46-Yが32個以上のビ
ット列になってしまうからである。オーバフローが発生
したときの結果は不定値となる。
16384−48が正値の場合には、浮動小数点データ
を整数データに変換するとオーバフローが発生する。ま
た、E−16384−48が負値の場合であっても46
−Yが30より大きい場合にはオーバフローが発生す
る。の理由は、M0 M1 ・・・M46-Yが32個以上のビ
ット列になってしまうからである。オーバフローが発生
したときの結果は不定値となる。
【0034】次に、本発明の浮動小数点演算装置の実施
例について図面を参照して説明する。
例について図面を参照して説明する。
【0035】図1は本発明の浮動小数点演算装置の一実
施例を示すブロック図である。
施例を示すブロック図である。
【0036】本実施例の浮動小数点演算装置は、図1に
示すように、従来の浮動小数点演算装置である浮動小数
点加減算装置1と、比較選択器11のオペランドOP1
の入力部側に挿入した選択器2と、指数減算器18の入
力部に挿入した選択器4とを備えて構成されている。
示すように、従来の浮動小数点演算装置である浮動小数
点加減算装置1と、比較選択器11のオペランドOP1
の入力部側に挿入した選択器2と、指数減算器18の入
力部に挿入した選択器4とを備えて構成されている。
【0037】浮動小数点加減算装置1は、前述のよう
に、比較選択器11と、右シフタ12と、反転器13
と、仮数加算器14と、ビット位置デコーダ15と、更
新器16と、正規化用シフタ17と、指数減算器18と
を備えて構成されている。
に、比較選択器11と、右シフタ12と、反転器13
と、仮数加算器14と、ビット位置デコーダ15と、更
新器16と、正規化用シフタ17と、指数減算器18と
を備えて構成されている。
【0038】次に、本実施例の動作について説明する。
【0039】まず、浮動小数点加減算について説明す
る。
る。
【0040】図1において、選択器2は、図2(A)で
示したフォーマットを持つ浮動小数点データの2つの入
力オペランドOP1,OP2のうちのOP1を入力して
そのまま出力する。浮動小数点加減算装置1の比較選択
器11は、入力オペランドOP1,OP2の大小を判定
して小さい方のオペランドの仮数部MSを桁合せのため
に右シフタ12の入力として出力する。右シフタ12の
出力は反転器13に入力される。
示したフォーマットを持つ浮動小数点データの2つの入
力オペランドOP1,OP2のうちのOP1を入力して
そのまま出力する。浮動小数点加減算装置1の比較選択
器11は、入力オペランドOP1,OP2の大小を判定
して小さい方のオペランドの仮数部MSを桁合せのため
に右シフタ12の入力として出力する。右シフタ12の
出力は反転器13に入力される。
【0041】以下、指数減算器18に入力する入力オペ
ランドOP1の指数部が選択器3を経由するすることの
ほかは、前述の従来例と全く同一であり、説明が重複す
るので冗長とならないよう省略する。
ランドOP1の指数部が選択器3を経由するすることの
ほかは、前述の従来例と全く同一であり、説明が重複す
るので冗長とならないよう省略する。
【0042】次に、浮動小数点データを整数データに変
換する動作について説明する。
換する動作について説明する。
【0043】浮動小数点データは、入力オペランドOP
2として入力され、その仮数部は比較選択器11を経由
して右シフタ12に入力されるように、制御信号Cによ
り制御される。選択器2は、全ビットが’0’のデータ
を出力する。このデータは比較選択器11を経由して仮
数加算器14に入力される。選択器3は、定数値164
32(=16384+48)を選択的に出力する。指数
減算器18は、選択器3の出力である定数値16432
と、入力された浮動小数点データの指数部Eとの減算を
行ない両者の差値を出力する。この差値は前述のYに相
当する。
2として入力され、その仮数部は比較選択器11を経由
して右シフタ12に入力されるように、制御信号Cによ
り制御される。選択器2は、全ビットが’0’のデータ
を出力する。このデータは比較選択器11を経由して仮
数加算器14に入力される。選択器3は、定数値164
32(=16384+48)を選択的に出力する。指数
減算器18は、選択器3の出力である定数値16432
と、入力された浮動小数点データの指数部Eとの減算を
行ない両者の差値を出力する。この差値は前述のYに相
当する。
【0044】右シフタ12は、指数減算器18の出力Y
をシフト量として、入力された浮動小数点データの仮数
部を右シフトし、結果を反転器13に出力する。
をシフト量として、入力された浮動小数点データの仮数
部を右シフトし、結果を反転器13に出力する。
【0045】反転器13は、絶対値表現の整数データを
2の補数表現の整数データに変換する役割を果たす。そ
のために、入力された浮動小数点データフォーマットの
符号ビットSの値に対応して、入力データが負の場合に
はデータの各ビットを反転して1の補数データを出力す
るように制御される。
2の補数表現の整数データに変換する役割を果たす。そ
のために、入力された浮動小数点データフォーマットの
符号ビットSの値に対応して、入力データが負の場合に
はデータの各ビットを反転して1の補数データを出力す
るように制御される。
【0046】仮数加算器14は、比較選択器11から全
ビットが’0’のデータと、反転器13から整数データ
あるいはその1の補数データとを入力し両者を加算す
る。ただし、入力整数データが負である場合にはさらに
LSBの重さを持った’1’を加算した値を出力する。
ビットが’0’のデータと、反転器13から整数データ
あるいはその1の補数データとを入力し両者を加算す
る。ただし、入力整数データが負である場合にはさらに
LSBの重さを持った’1’を加算した値を出力する。
【0047】以上のようにして、絶対値表現が2の補数
表現に変換される。
表現に変換される。
【0048】正規化用シフタ17は、制御信号Cの制御
により、ビット位置デコーダ15の出力と無関係に入力
データをそのまま通過させて出力する。
により、ビット位置デコーダ15の出力と無関係に入力
データをそのまま通過させて出力する。
【0049】以上により浮動小数点データから整数デー
タへの変換が実行される。当然、浮動小数点データの符
号が整数データの符号となる。また、オーバフローが発
生したときは不定値が出力される。
タへの変換が実行される。当然、浮動小数点データの符
号が整数データの符号となる。また、オーバフローが発
生したときは不定値が出力される。
【0050】
【発明の効果】以上説明したように、本発明の浮動小数
点演算方式とその装置は、従来の浮動小数点演算装置で
ある浮動小数点加減算装置に2つの選択器というわずか
の回路を追加することにより、コンピュータシステムの
高速化に有効な浮動小数点データの整数データへの変換
であるデータ変換命令を実行することが可能となるとい
う効果がある。
点演算方式とその装置は、従来の浮動小数点演算装置で
ある浮動小数点加減算装置に2つの選択器というわずか
の回路を追加することにより、コンピュータシステムの
高速化に有効な浮動小数点データの整数データへの変換
であるデータ変換命令を実行することが可能となるとい
う効果がある。
【図1】本発明の浮動小数点演算装置の一実施例を示す
ブロック図である。
ブロック図である。
【図2】浮動小数点データと整数データのフォーマット
を示す図である。
を示す図である。
【図3】従来の浮動小数点演算装置の一例を示すブロッ
ク図である。
ク図である。
1 浮動小数点加減算装置 2,3 選択器 11 比較選択器 12 右シフタ 13 反転器 14 仮数加算器 15 ビット位置デコーダ 16 更新器 17 正規化用シフタ 18 指数減算器
Claims (2)
- 【請求項1】 指数減算器と右シフタと仮数加算器と反
転器とを備え仮数部が絶対値表現である浮動小数点デー
タの第一および第二の入力オペランドを入力し加減算を
行なう浮動小数点加減算装置を用いる浮動小数点演算方
式において、 前記指数減算器により入力した前記浮動小数点データの
指数部の値から前記指数部のバイアス値と前記仮数部の
ビット長を減算し、 前記減算結果をシフト量として桁合せ用の前記右シフタ
により前記仮数部をシフトし、 前記右シフタの出力を前記反転器と前記仮数加算器とを
用いて2の補数表現に変換することにより前記浮動小数
点データを整数データに変換することを特徴とする浮動
小数点演算方式。 - 【請求項2】 仮数部が絶対値表現である浮動小数点デ
ータの第一および第二の入力オペランドをそれぞれ入力
する第一および第二の入力部を有し前記第一および第二
の入力オペランドの大小を比較し前記第一および第二の
入力オペランドの大きい方のオペランドの仮数部を第一
の仮数部とし小さい方のオペランドの仮数部を第二の仮
数部とし大きい方のオペランドの指数部を第一の指数部
としてそれぞれ出力する比較選択器と、前記第一および
第二の入力オペランドのそれぞれの指数部同志の減算を
行ない前記指数部の差である指数差を出力する指数減算
器と、前記第二の仮数部を入力し前記指数差をシフト量
として桁合せのための右シフトを行なう右シフタと、前
記右シフタの出力を入力し加算実行時には入力値をその
まま出力し減算実行時には前記入力値の1の補数を出力
する反転器と、前記反転器の出力と前記第一の仮数部と
を入力し加算実行時には前記反転器の出力と前記第一の
仮数部との和を出力し減算実行時には前記和にさらに最
下位ビットの重さを持った’1’を加算した値を出力す
る仮数加算器と、前記仮数加算器の出力における最上位
の’1’のビットの位置を検出するビット位置デコーダ
と、前記ビット位置デコーダの出力値にもとずき正規化
のため前記仮数加算器の出力のシフトを行なう正規化用
シフタと、前記第一の指数部を入力し前記ビット位置デ
コーダの出力値にもとずき前記指数部の更新を行なう更
新器とを備えた浮動小数点加減算装置と、 前記第一の入力部に挿入する第一の入力オペランドおよ
び全ビットが0であるデータとのいずれか一方を選択的
に出力する第一の選択器と、 前記指数減算器の入力部に挿入する前記第一の入力オぺ
ランドの指数部とこの指数部のバイアス値から決定され
る定数値とのいずれか一方を選択的に出力する第二の選
択器とを備え、 制御信号により前記比較選択器および前記反転器および
前記仮数加算器を制御して前記第二の入力オペランドを
前記右シフタの入力とし、 前記正規化用シフタが前記シフト演算を行なわず入力値
をそのまま出力し、 前記第二の入力オペランドの符号が負であるならば前記
反転器は前記入力値の1の補数を出力するとともに前記
仮数加算器は前記入力値に最下位ビットの重さを持っ
た’1’を加算し、 前記符号が正であるならば前記反転器および前記仮数加
算器は前記入力値をそのまま出力することを特徴とする
浮動小数点演算装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP25899391A JP3295949B2 (ja) | 1991-10-07 | 1991-10-07 | 浮動小数点演算方式とその装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP25899391A JP3295949B2 (ja) | 1991-10-07 | 1991-10-07 | 浮動小数点演算方式とその装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH05100823A true JPH05100823A (ja) | 1993-04-23 |
JP3295949B2 JP3295949B2 (ja) | 2002-06-24 |
Family
ID=17327866
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP25899391A Expired - Fee Related JP3295949B2 (ja) | 1991-10-07 | 1991-10-07 | 浮動小数点演算方式とその装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3295949B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20150107614A (ko) * | 2014-03-14 | 2015-09-23 | 에이알엠 리미티드 | 데이터 처리장치 및 이진수에 대해 시프트 기능을 수행하는 방법 |
-
1991
- 1991-10-07 JP JP25899391A patent/JP3295949B2/ja not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20150107614A (ko) * | 2014-03-14 | 2015-09-23 | 에이알엠 리미티드 | 데이터 처리장치 및 이진수에 대해 시프트 기능을 수행하는 방법 |
Also Published As
Publication number | Publication date |
---|---|
JP3295949B2 (ja) | 2002-06-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10019231B2 (en) | Apparatus and method for fixed point to floating point conversion and negative power of two detector | |
KR20190090817A (ko) | 부동 소수점 수를 누산하기 위한 산술 연산을 수행하는 장치 및 방법 | |
JP3845009B2 (ja) | 積和演算装置、及び積和演算方法 | |
US7720898B2 (en) | Apparatus and method for adjusting exponents of floating point numbers | |
JP2618374B2 (ja) | 最上位の数字の位置の検出 | |
US5303174A (en) | Floating pointing arithmetic operation system | |
JP2008152360A (ja) | 3項入力の浮動小数点加減算器 | |
KR100465371B1 (ko) | 덧셈 및 반올림 연산을 동시에 수행하는 부동 소수점alu 연산 장치 | |
US10061561B2 (en) | Floating point addition with early shifting | |
JPH0520028A (ja) | 加減算のための浮動小数点演算装置の仮数部処理回路 | |
US5831884A (en) | Apparatus for performing arithmetic operation of floating point numbers capable of improving speed of operation by performing canceling prediction operation in parallel | |
JP2757671B2 (ja) | プライオリティエンコーダおよび浮動小数点加減算装置 | |
KR890004307B1 (ko) | 부동소수점 가감산 장치 | |
US10310809B2 (en) | Apparatus and method for supporting a conversion instruction | |
US7401107B2 (en) | Data processing apparatus and method for converting a fixed point number to a floating point number | |
JP2558669B2 (ja) | 浮動小数点演算装置 | |
KR102459011B1 (ko) | 선두 제로 예측 | |
KR920003493B1 (ko) | 부동 소숫점 표기를 기초로 하는 연산회로 | |
JP3295949B2 (ja) | 浮動小数点演算方式とその装置 | |
JP2507183B2 (ja) | 浮動小数点加減算装置 | |
JP3257278B2 (ja) | 冗長なシフト数予測とシフト誤り補正を用いた正規化装置 | |
JPH05204606A (ja) | 浮動小数点演算方式および装置 | |
JPS63158626A (ja) | 演算処理装置 | |
JPH01282633A (ja) | 非正規化数の処理方式 | |
JP2508868B2 (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: 20020312 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080412 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090412 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100412 Year of fee payment: 8 |
|
LAPS | Cancellation because of no payment of annual fees |