JPH03168826A - 浮動少数点演算器 - Google Patents
浮動少数点演算器Info
- Publication number
- JPH03168826A JPH03168826A JP1310076A JP31007689A JPH03168826A JP H03168826 A JPH03168826 A JP H03168826A JP 1310076 A JP1310076 A JP 1310076A JP 31007689 A JP31007689 A JP 31007689A JP H03168826 A JPH03168826 A JP H03168826A
- Authority
- JP
- Japan
- Prior art keywords
- selector
- output
- shifter
- selects
- receives
- 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
Links
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
[8!E要]
2つの数値を入力して浮動少数点演算を行う浮動少数点
演算器に関し、 演算速度を向上させることを目的とし、2つの数値A,
Bを入力してその指数同士を比較し、指数の大きい
ものをセレクトする第1のセレクタと、数値A,Bを入
力して仮数の小さい方をセレクトする第2のセレクタと
、数値A,Bを入力して仮数の大きい方をセレクトする
第3のセレクタと、数値A,Bの指数同士を比較してそ
の差分を出力する演算器と、前記第2のセレクタの出力
を受けて、前記演算器の出力に応じて右シフトを行う右
シフタと、該右シフタの出力及び第2のセレクタのスル
ー出力を受けてそのいずれか一方をセレクトして出力す
る第4のセレクタと、該第4のセレクタ出力と前記第3
のセレクタ出力を受けて加算演算を行う加算器と、該加
算器の出力を受けて桁上がりの数を計算する比較器と、
該比較器出力を受けて正規化のためのエンコードを行う
プライオリティエンコーダと、前記比較器出力を受けて
プライオリティエンコーダ出力に応じ左シフトを行う左
シフタと、該左シフタ出力及び比較器の左シフトOビッ
ト又は1ビット信号を受けていずれか一つをセレクトす
る第5のセレクタと、前記第1のセレクタ出力とプライ
オリティエンコーダ出力を受けて指数の補正演算を行う
演算器とにより構成される。
演算器に関し、 演算速度を向上させることを目的とし、2つの数値A,
Bを入力してその指数同士を比較し、指数の大きい
ものをセレクトする第1のセレクタと、数値A,Bを入
力して仮数の小さい方をセレクトする第2のセレクタと
、数値A,Bを入力して仮数の大きい方をセレクトする
第3のセレクタと、数値A,Bの指数同士を比較してそ
の差分を出力する演算器と、前記第2のセレクタの出力
を受けて、前記演算器の出力に応じて右シフトを行う右
シフタと、該右シフタの出力及び第2のセレクタのスル
ー出力を受けてそのいずれか一方をセレクトして出力す
る第4のセレクタと、該第4のセレクタ出力と前記第3
のセレクタ出力を受けて加算演算を行う加算器と、該加
算器の出力を受けて桁上がりの数を計算する比較器と、
該比較器出力を受けて正規化のためのエンコードを行う
プライオリティエンコーダと、前記比較器出力を受けて
プライオリティエンコーダ出力に応じ左シフトを行う左
シフタと、該左シフタ出力及び比較器の左シフトOビッ
ト又は1ビット信号を受けていずれか一つをセレクトす
る第5のセレクタと、前記第1のセレクタ出力とプライ
オリティエンコーダ出力を受けて指数の補正演算を行う
演算器とにより構成される。
[産業上の利用分野]
本発明は2つの数値を入力して浮動少数点演算を行う浮
動少数点演算器に関する。
動少数点演算器に関する。
[従来の技術]
第4図は従来の2入力の浮動少数点演算器の構成ブロッ
ク図である。図において、1は入力値A,Bの指数のう
ち大きい方をセレクトする第1のセレクタ、2は入力値
A,Bの仮数のうち値の小さい方の仮数をセレクトする
第2のセレクタ、3は入力値A, Bのうち値の大き
い方の仮数をセレクトする第3のセレクタである。4は
入力値A, Bの指数の大きさを比較演算する演算器
、5は第2のセレクタ2でセレクトされた値の小さい方
の仮数を右シフトして値の大きい方の値と少数点位置を
合わせる右シフタである。該右シフタ5は、演算器4の
演算結果に基づいて必要な量だけ右シフトを行う。
ク図である。図において、1は入力値A,Bの指数のう
ち大きい方をセレクトする第1のセレクタ、2は入力値
A,Bの仮数のうち値の小さい方の仮数をセレクトする
第2のセレクタ、3は入力値A, Bのうち値の大き
い方の仮数をセレクトする第3のセレクタである。4は
入力値A, Bの指数の大きさを比較演算する演算器
、5は第2のセレクタ2でセレクトされた値の小さい方
の仮数を右シフトして値の大きい方の値と少数点位置を
合わせる右シフタである。該右シフタ5は、演算器4の
演算結果に基づいて必要な量だけ右シフトを行う。
6は右シフタ5による右シフトされた仮数と第3のセレ
クタ3によりセレクトされた仮数とを加算する加算器、
7は該加算器6の加算結果に基づいて桁上がりを計算す
る比較器、8は該比較器7の出力を受けて正規化のため
のエンコードを行うプライオリティエンコーダ、9は前
期比較器7の出力を受けて、ブライオリテイヱンコーダ
8で求めた値だけ左シフトを行う左シフタ、10は第1
のセレクタ1から出力される大きい方の指数値に左シフ
トによる指数補正信号をプライオリテイエンコーダ8か
ら受けて指数の正規化の補正を行う演算器である。そし
て、演算器10からは加算結果に基づく指数データが、
左シフタ9からは加算結果に基づく仮数データがそれぞ
れ出力される。
クタ3によりセレクトされた仮数とを加算する加算器、
7は該加算器6の加算結果に基づいて桁上がりを計算す
る比較器、8は該比較器7の出力を受けて正規化のため
のエンコードを行うプライオリティエンコーダ、9は前
期比較器7の出力を受けて、ブライオリテイヱンコーダ
8で求めた値だけ左シフトを行う左シフタ、10は第1
のセレクタ1から出力される大きい方の指数値に左シフ
トによる指数補正信号をプライオリテイエンコーダ8か
ら受けて指数の正規化の補正を行う演算器である。そし
て、演算器10からは加算結果に基づく指数データが、
左シフタ9からは加算結果に基づく仮数データがそれぞ
れ出力される。
このように構威された回路の動作を説明すれば、以下の
とおりである。
とおりである。
2つの入力値A,Bは第1のセレクタ1で指数の大きい
方の指数データがセレクトされ、出力される。一方、第
2のセレクタ2は入力値A,Bのうち値の小さい方の仮
数をセレクトし、第3のセレクタ3は入力値A,Bのう
ち値の大きい方の仮数をセレクトする。また、演算器4
は入力値A,Bの指数を比較演算し、指数の差分を求め
る。この指数の差分だけ小さい方の値の仮数(第2のセ
レクタ2の出力)を右シフタ5で右シフトし、少数点位
置を合わせる。以上の処理により2つの入力値A,
Bの指数.仮数が揃えられたことになる。
方の指数データがセレクトされ、出力される。一方、第
2のセレクタ2は入力値A,Bのうち値の小さい方の仮
数をセレクトし、第3のセレクタ3は入力値A,Bのう
ち値の大きい方の仮数をセレクトする。また、演算器4
は入力値A,Bの指数を比較演算し、指数の差分を求め
る。この指数の差分だけ小さい方の値の仮数(第2のセ
レクタ2の出力)を右シフタ5で右シフトし、少数点位
置を合わせる。以上の処理により2つの入力値A,
Bの指数.仮数が揃えられたことになる。
加算器6は2つの入力値の加算を行い、その粘果を比較
器7に出力する。比較器7は加算器6の加算結果に応じ
て桁上がりの数を計算し、プライオリティエンコーダ8
に送る。プライオリティエンコーダ8は桁上がり数より
演算器10に指数補正用の信号を与え、左シフタ9にシ
フト信号を与える。左シフタ9はプライオリティエンコ
ーダ8からのシフト信号により加算器6の加算出力を左
シフトして仮数の正規化を行う。この結果、左シフタ9
からは正規化された仮数データが得られる。
器7に出力する。比較器7は加算器6の加算結果に応じ
て桁上がりの数を計算し、プライオリティエンコーダ8
に送る。プライオリティエンコーダ8は桁上がり数より
演算器10に指数補正用の信号を与え、左シフタ9にシ
フト信号を与える。左シフタ9はプライオリティエンコ
ーダ8からのシフト信号により加算器6の加算出力を左
シフトして仮数の正規化を行う。この結果、左シフタ9
からは正規化された仮数データが得られる。
一方、演算器10は第1のセレクタ1から出力される指
数値とプライオリティエンコーダ8から送られてくる指
数補正信号とを加算し、指数の正規化を行う。この結果
、演算器10からは正規化された指数データが得られる
。
数値とプライオリティエンコーダ8から送られてくる指
数補正信号とを加算し、指数の正規化を行う。この結果
、演算器10からは正規化された指数データが得られる
。
一般に、実数Vを浮動少数点表現する場合2を基数とし
てI EEE形式では次式で表される。
てI EEE形式では次式で表される。
v− (−1)” xl,fX2′−12’ (
1)ここで、Sはサイン(符号)、fは仮数の小数部、
eは指数を示す。なお、指数部がe−127となってい
るのはバイアス−127を乗せていることを示している
。
1)ここで、Sはサイン(符号)、fは仮数の小数部、
eは指数を示す。なお、指数部がe−127となってい
るのはバイアス−127を乗せていることを示している
。
(1)式を用いて2つの実数vl v2 をそれ
ぞれ次式で表す。
ぞれ次式で表す。
vl = (−1)”Xi.fl X2”−127
(2)v2 = (−1)”Xi.f2 X2”−
”7(3)これら2つの数の間で加減算を行う場合に(
1)el−e2のとき 仮数の桁は合っているので、右シフタ5を用いて右シフ
トして桁合わせをする必要はない。しかしながら、加減
の結果は正規化する必要があり、左シフタ9により大き
く左シフトする必要がある。
(2)v2 = (−1)”Xi.f2 X2”−
”7(3)これら2つの数の間で加減算を行う場合に(
1)el−e2のとき 仮数の桁は合っているので、右シフタ5を用いて右シフ
トして桁合わせをする必要はない。しかしながら、加減
の結果は正規化する必要があり、左シフタ9により大き
く左シフトする必要がある。
(2)elとe2が等しくないとき
仮数の桁が合っていないため、右シフタ5を用いて右シ
フトし、桁を合わせる必要がある。しかしながら、疋規
化する場合の左シフト数は0または1である。
フトし、桁を合わせる必要がある。しかしながら、疋規
化する場合の左シフト数は0または1である。
[発明が解決しようとする課題]
前述したように、従来の浮動小数点演算器は右シフタと
左シフタを具備している。しかしながら、前述したよう
に右シフタと左シフタを両方とも使用する場合はない。
左シフタを具備している。しかしながら、前述したよう
に右シフタと左シフタを両方とも使用する場合はない。
それにも拘らず右シフタ5及び左シフタ9を通している
ので、シフタを通過するに要する無駄な時間が発生し、
高速化をさまたげていた。
ので、シフタを通過するに要する無駄な時間が発生し、
高速化をさまたげていた。
本発明はこのような課題に鑑みてなされたものであって
、演算速度を向上させることができる浮動小数演算器を
提供することを目的としている。
、演算速度を向上させることができる浮動小数演算器を
提供することを目的としている。
[課題を解決するための手段]
第1図は本発明の原理ブロック図である。第4図と同一
のものは同一の符号を付して示す。図において、1は2
つの数値A, Bを入力してその指数同士を比較し、
指数の大きいものをセレクトする第1のセレクタ、2は
数値A,Bを入力して仮数の小さい方をセレクトする第
2のセレクタ、3は数値A,Bを入力して仮数の大きい
方をセレクトする第3のセレクタである。4は数値A,
Bの指数同士を比較してその差分を出力する演算器、5
は前記第2のセレクタ2の出力を受けて、前記演算器4
の出力に応じて右シフトを行う右シフタ、11は該右シ
フタ5の出力及び第2のセレクタ2のスルー出力を受け
てそのいずれか一方をセレクトして出力する第4のセレ
クタ、6は該第4のセレクタ11出力と前記第3のセレ
クタ3出力を受けて加算演算を行う加算器である。
のものは同一の符号を付して示す。図において、1は2
つの数値A, Bを入力してその指数同士を比較し、
指数の大きいものをセレクトする第1のセレクタ、2は
数値A,Bを入力して仮数の小さい方をセレクトする第
2のセレクタ、3は数値A,Bを入力して仮数の大きい
方をセレクトする第3のセレクタである。4は数値A,
Bの指数同士を比較してその差分を出力する演算器、5
は前記第2のセレクタ2の出力を受けて、前記演算器4
の出力に応じて右シフトを行う右シフタ、11は該右シ
フタ5の出力及び第2のセレクタ2のスルー出力を受け
てそのいずれか一方をセレクトして出力する第4のセレ
クタ、6は該第4のセレクタ11出力と前記第3のセレ
クタ3出力を受けて加算演算を行う加算器である。
7は該加算器6の出力を受けて桁上がりの数を計算する
比較器、8は該比較器7出力を受けて正規化のためのエ
ンコードを行うプライオリティエンコーダ、9は前記比
較器7出力を受けてプライオリティエンコーダ8出力に
応じ左シフトを行う左シフタ、]2は該左シフタ9出力
及び比較器7の左シフト0ビット又は1ビット信号を受
けていずれか一つをセレクトする第5のセレクタ、10
は前記第1のセレクタ1出力とプライオリティエンコー
ダ8出力を受けて指数の補正演算を行う演算器である。
比較器、8は該比較器7出力を受けて正規化のためのエ
ンコードを行うプライオリティエンコーダ、9は前記比
較器7出力を受けてプライオリティエンコーダ8出力に
応じ左シフトを行う左シフタ、]2は該左シフタ9出力
及び比較器7の左シフト0ビット又は1ビット信号を受
けていずれか一つをセレクトする第5のセレクタ、10
は前記第1のセレクタ1出力とプライオリティエンコー
ダ8出力を受けて指数の補正演算を行う演算器である。
[作用]
2つの入力値A, Bの指数を比較し、指数が等しい
場合には、桁合わせをする必要はないので、第4のセレ
クタ11はスルー出力をセレクトする。
場合には、桁合わせをする必要はないので、第4のセレ
クタ11はスルー出力をセレクトする。
一方、第5のセレクタ12は、左シフトの必要があるの
で、左シフタ9の出力をセレクトして出力する。これに
対し、2つの入力値A, Bの指数が等しくない時に
は、桁合わせのための右シフトが必要となる。従って、
第4のセレクタ11は右シフタ5の出力をセレクトする
。一方、この場合にはIE規化のための左シフトは必要
ではないので、第5のセレクタ12は比較器7からの左
シフト0ビット又は左シフト1ビットをセレクトする。
で、左シフタ9の出力をセレクトして出力する。これに
対し、2つの入力値A, Bの指数が等しくない時に
は、桁合わせのための右シフトが必要となる。従って、
第4のセレクタ11は右シフタ5の出力をセレクトする
。一方、この場合にはIE規化のための左シフトは必要
ではないので、第5のセレクタ12は比較器7からの左
シフト0ビット又は左シフト1ビットをセレクトする。
このようにして、本発明によれば右シフタ5又は左シフ
タ9のバスはどちらか一方だけ通るようにすることがで
きるので、シフタを通過するに要する時間が少なくなり
、演算の高速化を実現することができる。
タ9のバスはどちらか一方だけ通るようにすることがで
きるので、シフタを通過するに要する時間が少なくなり
、演算の高速化を実現することができる。
[実施例]
以下、図面を参照して本発明の実施例を詳細に説明する
。
。
第2図は右シフタ5の構成例を示す図である。
右シフトは、任意のビット数のシフトを可能とするため
、例えば0〜15ビットシフタの場合、従来(a)に示
すように5a〜5dまでの4段の2/1セレクタで構成
される。ここで、各2/1セレクタは1ビット右にシフ
トさせる機能とシフトさせないでスルーで通過させる機
能をもっており、どちらかをセレクトできるようになっ
ている。
、例えば0〜15ビットシフタの場合、従来(a)に示
すように5a〜5dまでの4段の2/1セレクタで構成
される。ここで、各2/1セレクタは1ビット右にシフ
トさせる機能とシフトさせないでスルーで通過させる機
能をもっており、どちらかをセレクトできるようになっ
ている。
そこで、第1図で追加された第4のセレクタ11を(b
)図に示すように4段目のセレクタ5eに組込めば、ハ
ードウエアの増加を抑えることができる。つまり、第4
段目のセレクタ5eを371セレクタとし、スルー入力
を3つめの入力として該セレクタ5eに入れてやること
により、新たにセレクタを追加する必要がなくなる。
)図に示すように4段目のセレクタ5eに組込めば、ハ
ードウエアの増加を抑えることができる。つまり、第4
段目のセレクタ5eを371セレクタとし、スルー入力
を3つめの入力として該セレクタ5eに入れてやること
により、新たにセレクタを追加する必要がなくなる。
同様のことは左シフタ9についてもいえる。第3図は左
シフタ9の構成例を示す図である。左シフトは、任意の
ビット数のシフトを可能とするため、例えば0〜15ビ
ヅトシフタの場合、従来(a)に示すように9a〜9d
までの4段の2/1セレクタで構成される。ここで、各
2/1セレクタは1ビット左にシフトさせる機能とシフ
トさせないでスルーで通過させる機能をもっており、ど
ちらかをセレクトできるようになっている。
シフタ9の構成例を示す図である。左シフトは、任意の
ビット数のシフトを可能とするため、例えば0〜15ビ
ヅトシフタの場合、従来(a)に示すように9a〜9d
までの4段の2/1セレクタで構成される。ここで、各
2/1セレクタは1ビット左にシフトさせる機能とシフ
トさせないでスルーで通過させる機能をもっており、ど
ちらかをセレクトできるようになっている。
そこで、第1図で追加された第5のセレクタ12を(b
)図に示すように4段目のセレクタ9eに組込めば、ハ
ードウェアの増加を抑えることができる。つまり、第4
段目のセレクタ9eを4/1セレクタとし、左シフト0
ビットと1ビット入力を3,4めの入力として該セレク
タ9eに入れてやることにより、新たにセレクタを追加
する必要がなくなる。
)図に示すように4段目のセレクタ9eに組込めば、ハ
ードウェアの増加を抑えることができる。つまり、第4
段目のセレクタ9eを4/1セレクタとし、左シフト0
ビットと1ビット入力を3,4めの入力として該セレク
タ9eに入れてやることにより、新たにセレクタを追加
する必要がなくなる。
[発明の効果]
以上、詳細に説明したように、本発明によれば仮数の右
シフトが必要な場合には加算演算後の左シフトは必要で
なく、仮数の右シフトが必要でない場合には加算演算後
の左シフトが必要となることに着目して、2つの数値の
演算にシフタを1回しか通さないようにすることにより
、演算の高速化を図ることができる浮動少数点演算器を
提供することができる。
シフトが必要な場合には加算演算後の左シフトは必要で
なく、仮数の右シフトが必要でない場合には加算演算後
の左シフトが必要となることに着目して、2つの数値の
演算にシフタを1回しか通さないようにすることにより
、演算の高速化を図ることができる浮動少数点演算器を
提供することができる。
第1図は本発明の原理ブロック図、
第2図は右シフタの構或例を示す図、
第3図は左シフタの構成例を示す図、
第4図は従来の浮動小数点演算器の構成ブロック図であ
る。 第1図において、 1.2.3はセレクタ、 4は演算器、 5は右シフタ、 6は加算器、 7は比較器、 8はプライオリティエンコーダ、 9は左シフタ、 10演算器、 11.12はセレクタである。
る。 第1図において、 1.2.3はセレクタ、 4は演算器、 5は右シフタ、 6は加算器、 7は比較器、 8はプライオリティエンコーダ、 9は左シフタ、 10演算器、 11.12はセレクタである。
Claims (1)
- 【特許請求の範囲】 2つの数値A、Bを入力してその指数同士を比較し、指
数の大きいものをセレクトする第1のセレクタ(1)と
、 数値A、Bを入力して仮数の小さい方をセレクトする第
2のセレクタ(2)と、 数値A、Bを入力して仮数の大きい方をセレクトする第
3のセレクタ(3)と、 数値A、Bの指数同士を比較してその差分を出力する演
算器(4)と、 前記第2のセレクタ(2)の出力を受けて、前記演算器
(4)の出力に応じて右シフトを行う右シフタ(5)と
、 該右シフタ(5)の出力及び第2のセレクタ(2)のス
ルー出力を受けてそのいずれか一方をセレクトして出力
する第4のセレクタ(11)と、該第4のセレクタ(1
1)出力と前記第3のセレクタ(3)出力を受けて加算
演算を行う加算器(6)と、 該加算器(6)の出力を受けて桁上がりの数を計算する
比較器(7)と、 該比較器(7)出力を受けて正規化のためのエンコード
を行うプライオリティエンコーダ(8)と、 前記比較器(7)出力を受けてプライオリティエンコー
ダ(8)出力に応じ左シフトを行う左シフタ(9)と、 該左シフタ(9)出力及び比較器(7)の左シフト0ビ
ット又は1ビット信号を受けていずれか一つをセレクト
する第5のセレクタ(12)と、前記第1のセレクタ(
1)出力とプライオリティエンコーダ(8)出力を受け
て指数の補正演算を行う演算器(10)とにより構成さ
れた浮動少数点演算器。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP1310076A JPH03168826A (ja) | 1989-11-29 | 1989-11-29 | 浮動少数点演算器 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP1310076A JPH03168826A (ja) | 1989-11-29 | 1989-11-29 | 浮動少数点演算器 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH03168826A true JPH03168826A (ja) | 1991-07-22 |
Family
ID=18000889
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP1310076A Pending JPH03168826A (ja) | 1989-11-29 | 1989-11-29 | 浮動少数点演算器 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH03168826A (ja) |
-
1989
- 1989-11-29 JP JP1310076A patent/JPH03168826A/ja active Pending
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US4999803A (en) | Floating point arithmetic system and method | |
| US5148386A (en) | Adder-subtracter for signed absolute values | |
| KR100465371B1 (ko) | 덧셈 및 반올림 연산을 동시에 수행하는 부동 소수점alu 연산 장치 | |
| US20250383842A1 (en) | Integrated circuit with a floating-point input, a first shifter, and a three-input carry-save adder | |
| JP4500358B2 (ja) | 演算処理装置および演算処理方法 | |
| KR920003493B1 (ko) | 부동 소숫점 표기를 기초로 하는 연산회로 | |
| JPH0346024A (ja) | 浮動小数点演算器 | |
| JPH03168826A (ja) | 浮動少数点演算器 | |
| JPS63167930A (ja) | 浮動小数点演算装置 | |
| JP4439060B2 (ja) | 浮動小数点加算器 | |
| JP2902041B2 (ja) | 浮動小数点数演算装置 | |
| JP2555135B2 (ja) | 演算回路 | |
| US20060031272A1 (en) | Alignment shifter supporting multiple precisions | |
| JP3187402B2 (ja) | 浮動小数点データ加減算回路 | |
| JPH0216632A (ja) | 固定小数点数−浮動小数点数変換回路 | |
| JP3124286B2 (ja) | 浮動小数点数演算装置 | |
| JP2792998B2 (ja) | 加減算回路を用いた型変換装置 | |
| JPH0383126A (ja) | 浮動小数点乗算器 | |
| JPH0887399A (ja) | 冗長なシフト数予測とシフト誤り補正を用いた正規化装置 | |
| JPH0367328A (ja) | 浮動小数点演算装置 | |
| JPH05204606A (ja) | 浮動小数点演算方式および装置 | |
| JPH03171228A (ja) | 浮動小数点数演算装置 | |
| JPH05257641A (ja) | 浮動小数点演算回路 | |
| JPH02267625A (ja) | 浮動小数点演算を用いた整数部取出し方式 | |
| JPH01162928A (ja) | 浮動小数点加算器 |