JP2508868B2 - 浮動小数点加減算装置 - Google Patents
浮動小数点加減算装置Info
- Publication number
- JP2508868B2 JP2508868B2 JP2010067A JP1006790A JP2508868B2 JP 2508868 B2 JP2508868 B2 JP 2508868B2 JP 2010067 A JP2010067 A JP 2010067A JP 1006790 A JP1006790 A JP 1006790A JP 2508868 B2 JP2508868 B2 JP 2508868B2
- Authority
- JP
- Japan
- Prior art keywords
- output
- mantissa
- shifter
- selector
- input
- 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
Links
Description
【発明の詳細な説明】 〔産業上の利用分野〕 本発明は浮動小数点加減算装置に関する。
第2図は従来の浮動小数点加減算装置である。
第2図において、比較・選択器210は所定形式のnビ
ット浮動小数点データである入力オペランド201a,201b
を入力とし、その大小を判定して、小さい方のオペラン
ドの仮数部202を桁合わせ用右バレルシフタ213に出力
し、大きい方のオペランドの仮数部203を加減算器214に
出力する。
ット浮動小数点データである入力オペランド201a,201b
を入力とし、その大小を判定して、小さい方のオペラン
ドの仮数部202を桁合わせ用右バレルシフタ213に出力
し、大きい方のオペランドの仮数部203を加減算器214に
出力する。
第1のシフタ制御器212は、指数部減算器211によって
計算された2つの入力オペランド201a,201bの指数部204
a,204bの差を、第1のシフト量制御信号206として桁合
わせ用右バレルシフタ213に出力し、桁合わせ用右バレ
ルシフタ213を動作させるものである。尚、シフトによ
って空いたビット位置には“0"を詰める。このようにし
て桁合せがおこなわれた両入力オペランド201a,201bの
仮数部の和、或は差を加減算器214が出力する。
計算された2つの入力オペランド201a,201bの指数部204
a,204bの差を、第1のシフト量制御信号206として桁合
わせ用右バレルシフタ213に出力し、桁合わせ用右バレ
ルシフタ213を動作させるものである。尚、シフトによ
って空いたビット位置には“0"を詰める。このようにし
て桁合せがおこなわれた両入力オペランド201a,201bの
仮数部の和、或は差を加減算器214が出力する。
第1の右シフタ215は、加減算器214による加算時の桁
合ふれが生じた場合に、正規化のための1ビット右シフ
トをおこなう。また、正規化用左バレルシフタ216は減
算時の正規化のために必要である。
合ふれが生じた場合に、正規化のための1ビット右シフ
トをおこなう。また、正規化用左バレルシフタ216は減
算時の正規化のために必要である。
ビット位置デコーダ217は、加減算器214の出力データ
の最上位“1"ビットのビット位置を検出し、第2のシフ
タ制御器218はデコーダ217の出力をもとに仮数部の最上
位ビットが“1になるまで、左シフトするように第2の
シフト量制御信号207を出力し、正規化用左バレルシフ
タ216を制御する。尚、シフトによって空いたビット位
置には“0"を詰める。以上の処理に並行して、大きい方
の指数部205の更新が第1の更新器219でおこなわれる。
の最上位“1"ビットのビット位置を検出し、第2のシフ
タ制御器218はデコーダ217の出力をもとに仮数部の最上
位ビットが“1になるまで、左シフトするように第2の
シフト量制御信号207を出力し、正規化用左バレルシフ
タ216を制御する。尚、シフトによって空いたビット位
置には“0"を詰める。以上の処理に並行して、大きい方
の指数部205の更新が第1の更新器219でおこなわれる。
次に正規化用左バレルシフタの出力に対して丸め器22
0によって丸め処理がおこなわれる。丸めによって仮数
部に桁あふれが生じたときは、第2の右シフタ221によ
って1ビット右シフトがおこなわれ、演算結果の仮数部
として出力される。
0によって丸め処理がおこなわれる。丸めによって仮数
部に桁あふれが生じたときは、第2の右シフタ221によ
って1ビット右シフトがおこなわれ、演算結果の仮数部
として出力される。
また丸めによって仮数部に桁あふれが生じたときは、
第2の更新器222で指数部の更新が再びおこなわれる。
すなわち第1の更新器219の出力に“1"を加えたものが
出力される。
第2の更新器222で指数部の更新が再びおこなわれる。
すなわち第1の更新器219の出力に“1"を加えたものが
出力される。
尚、浮動小数点加減算装置についてはワン著,堀越監
訳「コンピュータの高速演算方式」(近代科学社)等に
詳しい解説がある。
訳「コンピュータの高速演算方式」(近代科学社)等に
詳しい解説がある。
上述した従来の浮動小数点加減算装置は、仮数部の丸
めの結果をみて、桁あふれが生じていれば、第1の更新
器の出力に対する加算処理が必要であるが、この処理が
クリティカルパスの一部となり、該装置全体の演算速度
を送らせる、という欠点があった。
めの結果をみて、桁あふれが生じていれば、第1の更新
器の出力に対する加算処理が必要であるが、この処理が
クリティカルパスの一部となり、該装置全体の演算速度
を送らせる、という欠点があった。
本発明の浮動小数点加減算装置は、 浮動小数点データである2つの入力オペランドに対
し、大小比較をおこなう比較・選択器と、 前記2つの入力オペランドの指数部を入力し、その差
を出力する指数部減算器と、 前期比較・選択器から小さい方のオペランドの仮数部
を入力し、前記指数部減算器の出力の値だけ右シフトを
おこなう桁合わせ用右バレルシフタと、 前期比較・選択器の出力のうち、前記大きい方のオペ
ランドの仮数部と前記桁合せ用バレルシフタの出力とを
入力し、両者の和または差を出力する加減算器と、 該加減算器の出力に対して、最上位“1"ビットのビッ
ト位置を検出するビット位置デコーダと、 前記加減算器の出力を入力し、桁あふれが生じた場合
に、正規化のための1ビット右シフトをおこなう第1の
右シフタと、 前記第1の右シフタの出力を入力し、前記ビット位置
デコーダの出力の値だけ左シフトをおこなうよう正規化
用左バレルシフタと、 前記正規化用左バレルシフタの出力を入力とし、丸め
をおこなう丸め器と、 前記丸め器の出力を入力とし、丸めによって桁あふれ
が生じた場合に1ビット右シフトをおこなう第2の右シ
フタと、 前記比較・選択器の出力である大きい方のオペランド
の指数部と、前記ビット位置デコーダの出力とを入力と
し、仮数部の加減算で桁あふれが生じた場合には前記大
きい方のオペランドの指数部に“1"を加え、それ以外の
仮数部側で正規化左シフトが行われた場合は、そのシフ
ト量を前記大きい方のオペランドの指数部から減ずる第
1の更新器と、 前記大きい方のオペランドの指数部と前記ビット位置
デコーダの出力とを入力とし、仮数部の加減算で桁あふ
れが生じた場合には、前記大きい方のオペランドの指数
部に“2"を加え、それ以外の、仮数部側で正規化左シフ
トが行われた場合は、そのシフト量に“1"を加えたもの
を、前記大きい方のオペランドの指数部から減ずる第2
の更新器と、 前記丸め器の出力を入力とし、前記第1の更新器の出
力と前記第2の更新器の出力とを選択的に出力する選択
器とから構成され、 前記第2の右シフタの出力を演算結果の仮数部、前記
選択器の出力を演算結果の指数部とすることを特徴とす
る。
し、大小比較をおこなう比較・選択器と、 前記2つの入力オペランドの指数部を入力し、その差
を出力する指数部減算器と、 前期比較・選択器から小さい方のオペランドの仮数部
を入力し、前記指数部減算器の出力の値だけ右シフトを
おこなう桁合わせ用右バレルシフタと、 前期比較・選択器の出力のうち、前記大きい方のオペ
ランドの仮数部と前記桁合せ用バレルシフタの出力とを
入力し、両者の和または差を出力する加減算器と、 該加減算器の出力に対して、最上位“1"ビットのビッ
ト位置を検出するビット位置デコーダと、 前記加減算器の出力を入力し、桁あふれが生じた場合
に、正規化のための1ビット右シフトをおこなう第1の
右シフタと、 前記第1の右シフタの出力を入力し、前記ビット位置
デコーダの出力の値だけ左シフトをおこなうよう正規化
用左バレルシフタと、 前記正規化用左バレルシフタの出力を入力とし、丸め
をおこなう丸め器と、 前記丸め器の出力を入力とし、丸めによって桁あふれ
が生じた場合に1ビット右シフトをおこなう第2の右シ
フタと、 前記比較・選択器の出力である大きい方のオペランド
の指数部と、前記ビット位置デコーダの出力とを入力と
し、仮数部の加減算で桁あふれが生じた場合には前記大
きい方のオペランドの指数部に“1"を加え、それ以外の
仮数部側で正規化左シフトが行われた場合は、そのシフ
ト量を前記大きい方のオペランドの指数部から減ずる第
1の更新器と、 前記大きい方のオペランドの指数部と前記ビット位置
デコーダの出力とを入力とし、仮数部の加減算で桁あふ
れが生じた場合には、前記大きい方のオペランドの指数
部に“2"を加え、それ以外の、仮数部側で正規化左シフ
トが行われた場合は、そのシフト量に“1"を加えたもの
を、前記大きい方のオペランドの指数部から減ずる第2
の更新器と、 前記丸め器の出力を入力とし、前記第1の更新器の出
力と前記第2の更新器の出力とを選択的に出力する選択
器とから構成され、 前記第2の右シフタの出力を演算結果の仮数部、前記
選択器の出力を演算結果の指数部とすることを特徴とす
る。
従来は仮数部側で丸め処理がおこなわれてから、第2
の指数部の更新をおこなっていたが、本発明の浮動小数
点加減算装置では、丸めによって、桁あふれが生じた場
合の指数の更新結果をあらかじめ計算しておき、丸め結
果に応じて選択的に出力してやることで、丸め後の指数
更新処理をみかけ上高速化させることができる。
の指数部の更新をおこなっていたが、本発明の浮動小数
点加減算装置では、丸めによって、桁あふれが生じた場
合の指数の更新結果をあらかじめ計算しておき、丸め結
果に応じて選択的に出力してやることで、丸め後の指数
更新処理をみかけ上高速化させることができる。
次に本発明の実施例について図面を参照して説明す
る。
る。
第1図は本発明の一実施例の浮動小数点加減算装置の
ブロック図である。第1図の浮動小数点加減算装置は以
下のように浮動小数点加減算をおこなうことができる。
ブロック図である。第1図の浮動小数点加減算装置は以
下のように浮動小数点加減算をおこなうことができる。
比較・選択器110が所定形式の浮動小数点データであ
る2つの入力オペランド101a,101b,に対して大小を判定
し、小さい方のオペランドの仮数部107を桁合わせ用右
バレルシフタ113の入力とする。
る2つの入力オペランド101a,101b,に対して大小を判定
し、小さい方のオペランドの仮数部107を桁合わせ用右
バレルシフタ113の入力とする。
第1のシフタ制御器112は、指数部減算器111によって
計算された、2つの入力オペランドの指数部102a,102b
の差を第1のシフト量制御信号104として、桁合わせ用
右バレルシフタ113を動作させる。このようにして桁合
わせがおこなわれた両オペランドの仮数部の和、或は差
を加減算器114が出力する。
計算された、2つの入力オペランドの指数部102a,102b
の差を第1のシフト量制御信号104として、桁合わせ用
右バレルシフタ113を動作させる。このようにして桁合
わせがおこなわれた両オペランドの仮数部の和、或は差
を加減算器114が出力する。
第1の右シフタ115は、加算時に桁あふれが生じた場
合に、正規化のための1ビットシフト右シフトをおこな
う。正規化用左バレルシフタ116は減算時の正規化のた
めに必要である。
合に、正規化のための1ビットシフト右シフトをおこな
う。正規化用左バレルシフタ116は減算時の正規化のた
めに必要である。
ビット位置デコーダ117は加減算器114の出力データの
最上位“1"ビットのビット位置を検出し、第2のシフタ
制御器118は、デコーダ117の出力をもとに、仮数部の最
上位ビットが“1になるまで左シフトするように、第2
のシフト量制御信号105を出力し、正規化用左バレルシ
フタ116を制御する。以上の処理に並行して、大きい方
のオペランドの指数部103の更新が第1の更新器119でお
こなわれる。
最上位“1"ビットのビット位置を検出し、第2のシフタ
制御器118は、デコーダ117の出力をもとに、仮数部の最
上位ビットが“1になるまで左シフトするように、第2
のシフト量制御信号105を出力し、正規化用左バレルシ
フタ116を制御する。以上の処理に並行して、大きい方
のオペランドの指数部103の更新が第1の更新器119でお
こなわれる。
第1の更新器219は、仮数部側で加算時に桁あふれが
生じた場合には大きい方のオペランドの指数部103に
“1"を加え、また、仮数部側で減算時に正規化左シフト
がおこなわれた場合は、そのシフト量を大きい方のオペ
ランド指数部103から減じる。
生じた場合には大きい方のオペランドの指数部103に
“1"を加え、また、仮数部側で減算時に正規化左シフト
がおこなわれた場合は、そのシフト量を大きい方のオペ
ランド指数部103から減じる。
さらに、第2の更新器120が第1の更新器119の処理に
並行して以下の動作をする。すなわち、仮数部側で加算
時に桁あふれが生じた場合には大きい方のオペランドの
指数部103に“2"を加え、また仮数部側で減算時に正規
化左シフトがおこなわれた場合は、そのシフト量に“1"
を加えたものを大きい方のオペランドの指数部103から
減じる、という動作をする。第2の更新器120の出力は
第1の更新器219の出力に“1"を加えた値となってい
る。
並行して以下の動作をする。すなわち、仮数部側で加算
時に桁あふれが生じた場合には大きい方のオペランドの
指数部103に“2"を加え、また仮数部側で減算時に正規
化左シフトがおこなわれた場合は、そのシフト量に“1"
を加えたものを大きい方のオペランドの指数部103から
減じる、という動作をする。第2の更新器120の出力は
第1の更新器219の出力に“1"を加えた値となってい
る。
正規化用左バレルシフタ116の出力に対して丸め器121
が丸めをおこなう。丸めによって仮数部に桁あふれが生
じたときは第2の右シフタ122によって1ビット右シフ
トがおこなわれ、演算結果の仮数部として出力される。
が丸めをおこなう。丸めによって仮数部に桁あふれが生
じたときは第2の右シフタ122によって1ビット右シフ
トがおこなわれ、演算結果の仮数部として出力される。
また、丸めによって仮数部に桁あふれが生じたとき
は、選択器123によって、第2の更新器120の出力が選択
的に出力され、また丸めによって仮数部に桁あふれが生
じなかったときは、選択器123によって第1の更新器119
の出力が選択的に出力される。選択器123の出力は演算
結果の指数部である。
は、選択器123によって、第2の更新器120の出力が選択
的に出力され、また丸めによって仮数部に桁あふれが生
じなかったときは、選択器123によって第1の更新器119
の出力が選択的に出力される。選択器123の出力は演算
結果の指数部である。
従来は仮数部側で丸めの処理がおこなわれてから、第
2の指数部の更新をおこなっていたが、本発明ではあら
かじめ更新後の結果を計算しておき、丸め処理の結果に
応じて正しい答を選択するための高速な処理が実現でき
る。
2の指数部の更新をおこなっていたが、本発明ではあら
かじめ更新後の結果を計算しておき、丸め処理の結果に
応じて正しい答を選択するための高速な処理が実現でき
る。
以上説明したように、本発明は仮数部の丸め時の指数
部更新を、丸めをおこなうよりも前に計算しておき、丸
めの結果に応じて正しい指数の値を選択的に出力するも
のであり、従来技術のように、丸め後に指数更新をおこ
なう場合に比べて高速に浮動小数点加減算を実行でき
る、という効果がある。
部更新を、丸めをおこなうよりも前に計算しておき、丸
めの結果に応じて正しい指数の値を選択的に出力するも
のであり、従来技術のように、丸め後に指数更新をおこ
なう場合に比べて高速に浮動小数点加減算を実行でき
る、という効果がある。
第1図は本発明の一実施例の浮動小数点加減算装置のブ
ロック図、第2図は従来の浮動小数点加減算装置のブロ
ック図である。 101a,101b,201a,201b……入力オペランド、102a,102b,2
04a,204b……入力オペランドの指数部、103,205……大
きい方のオペランドの指数部、104,206……第1のシフ
ト量制御信号、105,207……第2のシフト量制御信号、1
06,203……大きい方のオペランドの仮数部、107,202…
…小さい方のオペランドの仮数部、110,210……比較・
選択器、111,211……指数部減算器、112,212……第1の
シフタ制御器、113,213……桁合わせ用右バレルシフ
タ、114,214……加減算器、115,215……第1の右シフ
タ、116,216……正規用左バレルシフタ、117,217……ビ
ット位置デコーダ、118,218……第2のシフタ制御器、1
19,219……第1の更新器、120,222……第2の更新器、1
21,220……丸め器、122,211……第2の右シフタ、123…
…選択器。
ロック図、第2図は従来の浮動小数点加減算装置のブロ
ック図である。 101a,101b,201a,201b……入力オペランド、102a,102b,2
04a,204b……入力オペランドの指数部、103,205……大
きい方のオペランドの指数部、104,206……第1のシフ
ト量制御信号、105,207……第2のシフト量制御信号、1
06,203……大きい方のオペランドの仮数部、107,202…
…小さい方のオペランドの仮数部、110,210……比較・
選択器、111,211……指数部減算器、112,212……第1の
シフタ制御器、113,213……桁合わせ用右バレルシフ
タ、114,214……加減算器、115,215……第1の右シフ
タ、116,216……正規用左バレルシフタ、117,217……ビ
ット位置デコーダ、118,218……第2のシフタ制御器、1
19,219……第1の更新器、120,222……第2の更新器、1
21,220……丸め器、122,211……第2の右シフタ、123…
…選択器。
Claims (1)
- 【請求項1】浮動小数点データである2つの入力オペラ
ンドに対し、大小比較をおこなう比較・選択器と、 前記2つの入力オペランドの指数部を入力し、その差を
出力する指数部減算器と、 前期比較・選択器から小さい方のオペランドの仮数部を
入力し、前記指数部減算器の出力の値だけ右シフトをお
こなう桁合わせ用右バレルシフタと、 前期比較・選択器の出力のうち、前記大きい方のオペラ
ンドの仮数部と前記桁合せ用バレルシフタの出力とを入
力し、両者の和または差を出力する加減算器と、 該加減算器の出力に対して、最上位“1"ビットのビット
位置を検出するビット位置デコーダと、 前記加減算器の出力を入力し、桁あふれが生じた場合
に、正規化のための1ビット右シフトをおこなう第1の
右シフタと、 前記第1の右シフタの出力を入力し、前記ビット位置デ
コーダの出力の値だけ左シフトをおこなうよう正規化用
左バレルシフタと、 前記正規化用左バレルシフタの出力を入力とし、丸めを
おこなう丸め器と、 前記丸め器の出力を入力とし、丸めによって桁あふれが
生じた場合に1ビット右シフトをおこなう第2の右シフ
タと、 前記比較・選択器の出力である大きい方のオペランドの
指数部と、前記ビット位置デコーダの出力とを入力と
し、仮数部の加減算で桁あふれが生じた場合には前記大
きい方のオペランドの指数部に“1"を加え、それ以外の
仮数部側で正規化左シフトが行われた場合は、そのシフ
ト量を前記大きい方のオペランドの指数部から減ずる第
1の更新器と、 前記大きい方のオペランドの指数部と前記ビット位置デ
コーダの出力とを入力とし、仮数部の加減算で桁あふれ
が生じた場合には、前記大きい方のオペランドの指数部
に“2"を加え、それ以外の、仮数部側で正規化左シフト
が行われた場合は、そのシフト量に“1"を加えたもの
を、前記大きい方のオペランドの指数部から減ずる第2
の更新器と、 前記丸め器の出力を入力とし、前記第1の更新器の出力
と前記第2の更新器の出力とを選択的に出力する選択器
とから構成され、 前記第2の右シフタの出力を演算結果の仮数部、前記選
択器の出力を演算結果の指数部とすることを特徴とする
浮動小数点加減算装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010067A JP2508868B2 (ja) | 1990-01-18 | 1990-01-18 | 浮動小数点加減算装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010067A JP2508868B2 (ja) | 1990-01-18 | 1990-01-18 | 浮動小数点加減算装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH03214232A JPH03214232A (ja) | 1991-09-19 |
JP2508868B2 true JP2508868B2 (ja) | 1996-06-19 |
Family
ID=11740035
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010067A Expired - Fee Related JP2508868B2 (ja) | 1990-01-18 | 1990-01-18 | 浮動小数点加減算装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2508868B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5583805A (en) * | 1994-12-09 | 1996-12-10 | International Business Machines Corporation | Floating-point processor having post-writeback spill stage |
-
1990
- 1990-01-18 JP JP2010067A patent/JP2508868B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH03214232A (ja) | 1991-09-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4999803A (en) | Floating point arithmetic system and method | |
JPH05241792A (ja) | 浮動小数点加減算方式および装置 | |
KR920005226B1 (ko) | 부동 소수점 연산장치 | |
US5128889A (en) | Floating-point arithmetic apparatus with compensation for mantissa truncation | |
EP0381403B1 (en) | Pipelined floating point adder for digital computer | |
US8185570B2 (en) | Three-term input floating-point adder-subtractor | |
US5548545A (en) | Floating point exception prediction for compound operations and variable precision using an intermediate exponent bus | |
JPH05324270A (ja) | 浮動小数点数のためのフォーマット変換方法及びその装置 | |
US20070038693A1 (en) | Method and Processor for Performing a Floating-Point Instruction Within a Processor | |
JP2508868B2 (ja) | 浮動小数点加減算装置 | |
JPH0545981B2 (ja) | ||
EP0273753B1 (en) | Floating-point arithmetic apparatus | |
JPH05204606A (ja) | 浮動小数点演算方式および装置 | |
JP2517064B2 (ja) | 非正規化数の処理方式 | |
JP2507183B2 (ja) | 浮動小数点加減算装置 | |
JP3174974B2 (ja) | 浮動小数点演算装置および方法 | |
JP3295949B2 (ja) | 浮動小数点演算方式とその装置 | |
JP2723707B2 (ja) | 正規化回路 | |
JP2903529B2 (ja) | ベクトル演算方式 | |
JPH0635671A (ja) | 浮動小数点加減算装置 | |
JP2512939B2 (ja) | 固定浮動デ−タ変換回路 | |
JPS63158626A (ja) | 演算処理装置 | |
JPH07121353A (ja) | 浮動小数点加減算装置 | |
JP2801472B2 (ja) | 浮動小数点演算装置 | |
JPH0355629A (ja) | 浮動小数点加減算装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080416 Year of fee payment: 12 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090416 Year of fee payment: 13 |
|
LAPS | Cancellation because of no payment of annual fees |