JPH02183828A - 浮動小数点乗算器 - Google Patents
浮動小数点乗算器Info
- Publication number
- JPH02183828A JPH02183828A JP1004399A JP439989A JPH02183828A JP H02183828 A JPH02183828 A JP H02183828A JP 1004399 A JP1004399 A JP 1004399A JP 439989 A JP439989 A JP 439989A JP H02183828 A JPH02183828 A JP H02183828A
- Authority
- JP
- Japan
- Prior art keywords
- rounding
- circuit
- carry
- floating
- signal
- 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
【発明の詳細な説明】
(発明の概要)
浮動小数点表記法の数値について乗算を行う浮動小数点
演算器に関し、 従来よりも高速の浮動小数点乗算器を提供することを目
的とし、 乗算対象の浮動小数点数の各仮数部の演算を行なう固定
小数点乗算回路、各指数部の演算を行なう回路、各符号
部の演算を行なう回路、丸め処理制御回路、シフタ、イ
ンクリメンタ、および例外処理回路を備える浮動小数点
乗算器において、固定小数点乗算回路からの出力データ
と丸め処理制御回路が発生する丸め信号を入力して、丸
め処理においてオーバフローが発生するかどうかを検出
するキャリー検出器を設け、該キャリー検出器からのキ
ャリー信号によって仮数部のシフト操作と指数部のイン
クリメント処理の制御を行ない、丸め処理と例外処理を
並列処理するように構成する。
演算器に関し、 従来よりも高速の浮動小数点乗算器を提供することを目
的とし、 乗算対象の浮動小数点数の各仮数部の演算を行なう固定
小数点乗算回路、各指数部の演算を行なう回路、各符号
部の演算を行なう回路、丸め処理制御回路、シフタ、イ
ンクリメンタ、および例外処理回路を備える浮動小数点
乗算器において、固定小数点乗算回路からの出力データ
と丸め処理制御回路が発生する丸め信号を入力して、丸
め処理においてオーバフローが発生するかどうかを検出
するキャリー検出器を設け、該キャリー検出器からのキ
ャリー信号によって仮数部のシフト操作と指数部のイン
クリメント処理の制御を行ない、丸め処理と例外処理を
並列処理するように構成する。
本発明は、浮動小数点表記法の数値について乗算を行う
浮動小数点演算器に関する。
浮動小数点演算器に関する。
浮動小数点演算は、固定小数点演算と比べてダイナミッ
ク・レンジが広くて精度も高く、特に最近では各種の高
度な演算要求に沿うようなものが求められる傾向にある
。なかでも、基本演算である乗算に関する高速処理が重
要である。
ク・レンジが広くて精度も高く、特に最近では各種の高
度な演算要求に沿うようなものが求められる傾向にある
。なかでも、基本演算である乗算に関する高速処理が重
要である。
〔従来の技術]
まず、一般的な浮動小数点表記法であるr E E E
浮動小数点データ形式について説明すると、IEEEに
は単精度(32ビツト)と倍精度(64ビツト)のデー
タ形式がある。倍精度のデータ形式は、符号部Sが1ビ
ツト、指数部Eが11ビツト、仮数部Fが52ビツトで
あり、11)’2E−1“′″5(1,F)という数値
を表す。ここで、bias=1023である。以下、こ
の倍精度データ形式の乗算を対象にして本発明の説明を
行う。
浮動小数点データ形式について説明すると、IEEEに
は単精度(32ビツト)と倍精度(64ビツト)のデー
タ形式がある。倍精度のデータ形式は、符号部Sが1ビ
ツト、指数部Eが11ビツト、仮数部Fが52ビツトで
あり、11)’2E−1“′″5(1,F)という数値
を表す。ここで、bias=1023である。以下、こ
の倍精度データ形式の乗算を対象にして本発明の説明を
行う。
従来の浮動小数点乗算器を第4図に示す。この図で10
は固定小数点乗算回路で、12はその部分積生成及び加
算回路、14は加算回路である。
は固定小数点乗算回路で、12はその部分積生成及び加
算回路、14は加算回路である。
また16はシフタ、17は丸め処理制御回路、18はイ
ンクリメンタ、19はシフタである。また20.21は
加算回路、22.23はインクリメンタ、24はマルチ
プレクサ、30は排他オア回路、40は例外処理回路、
41は定数器、42はセレクタである。乗算対象の2つ
の浮動小数点をA= (−1)”2”−b′m’ (1
,Fa)B= (−1)”2°−b′a’(1,Fb)
とする。Cはこれらの積の浮動小数点数である。
ンクリメンタ、19はシフタである。また20.21は
加算回路、22.23はインクリメンタ、24はマルチ
プレクサ、30は排他オア回路、40は例外処理回路、
41は定数器、42はセレクタである。乗算対象の2つ
の浮動小数点をA= (−1)”2”−b′m’ (1
,Fa)B= (−1)”2°−b′a’(1,Fb)
とする。Cはこれらの積の浮動小数点数である。
浮動小数点乗算器10は正規化数のみ扱うものとする。
乗算に際しては、まず、仮数部の乗算(1,Fa> X
(1,Fb)が固定小数点乗算回路10によって行わ
れる。53ピント×53ヒントの乗算が行なわれたとす
ると加算回路14の出力は106ビツトあり、1.xx
x・・・・・・またはLX、XXX・・・・・・の形を
有する。この結果が加算回路14から出力され、シフタ
16に入いる。加算回路14からのオーバフロー信号O
FIが1のとき(上記tx、xxx・・・・・・のとき
)正規化を行う必要があるため、シフタ16によって1
ピント右シフトを行う。このとき指数部を+1する必要
があるから、信号OFIはインクリメンタ22へも入力
する。
(1,Fb)が固定小数点乗算回路10によって行わ
れる。53ピント×53ヒントの乗算が行なわれたとす
ると加算回路14の出力は106ビツトあり、1.xx
x・・・・・・またはLX、XXX・・・・・・の形を
有する。この結果が加算回路14から出力され、シフタ
16に入いる。加算回路14からのオーバフロー信号O
FIが1のとき(上記tx、xxx・・・・・・のとき
)正規化を行う必要があるため、シフタ16によって1
ピント右シフトを行う。このとき指数部を+1する必要
があるから、信号OFIはインクリメンタ22へも入力
する。
次に正規化された数値を出力データ形式に合わせるため
に丸め処理を行う。丸め処理制御回路17では出力デー
タ形式におけるLSB (本例では53ビツト目)以下
の桁を切り捨てるとともに、丸めモードRMに従いLS
Bに1を加えるかどうかを決定し、■を加える場合信号
RD=1とする。
に丸め処理を行う。丸め処理制御回路17では出力デー
タ形式におけるLSB (本例では53ビツト目)以下
の桁を切り捨てるとともに、丸めモードRMに従いLS
Bに1を加えるかどうかを決定し、■を加える場合信号
RD=1とする。
そして、インクリメンタ18においてシフタ16の出力
データのLSBに1を加える操作を行う。
データのLSBに1を加える操作を行う。
このとき該データの各ビットがオール1であれば、オー
バフローが発生し、0F2=1となる。この場合はシフ
タ19によって右に1ビツトシフトされ、正規化数とな
る。このOF2はマルチプレクサ24へも入力する。
バフローが発生し、0F2=1となる。この場合はシフ
タ19によって右に1ビツトシフトされ、正規化数とな
る。このOF2はマルチプレクサ24へも入力する。
なお丸め処理制御回路17ではシフタ16からその53
ビツト目、54ビツト目、・・・・・・を取込み、また
丸めモードRMと符号SNを取込んでRD=1またはR
D=Oを出力する処理を行なう。即ら、IEEEのデー
タ形式では乗算結果の106ビツトは正規化後、2°、
2−’2−2・・・・・・2−522−532−542
−55・・・・・・2105 の形をしており、2−
52が上位53ビツトデータのLSBである。2−53
はガードビット、2−S4はラウンドビット、2−55
以降はオアをとって1つにまとめステイソキービットと
する。丸め処理制御回路17ではこれらのLSB、ガー
ドビット、ラウンドビット、ステイノキービットと符号
ピッl−3Nを用い、丸めモートRMに従ってRDを1
にするかOにするかを決定する。
ビツト目、54ビツト目、・・・・・・を取込み、また
丸めモードRMと符号SNを取込んでRD=1またはR
D=Oを出力する処理を行なう。即ら、IEEEのデー
タ形式では乗算結果の106ビツトは正規化後、2°、
2−’2−2・・・・・・2−522−532−542
−55・・・・・・2105 の形をしており、2−
52が上位53ビツトデータのLSBである。2−53
はガードビット、2−S4はラウンドビット、2−55
以降はオアをとって1つにまとめステイソキービットと
する。丸め処理制御回路17ではこれらのLSB、ガー
ドビット、ラウンドビット、ステイノキービットと符号
ピッl−3Nを用い、丸めモートRMに従ってRDを1
にするかOにするかを決定する。
乗算対象の2つの浮動小数点数A、Bの指数部は、加算
回路20でEa+Ebが行われ、加算回路21ではその
結果に−biasを加える。従って加算回路21からの
出力は、Ea+Eb −biasの計算結果である。イ
ンクリメンタ22では、正規化処理によるオーバフロー
の補正が必要なとき1であるOFIにより+1加算が行
われる。インクリメンタ23では、丸め処理によるオー
バフローの補正のためにインクリメンタ22の出力に対
する+1加算が前もって行われ、マルチプレクサ24に
より0F2=1のときインクリメンタ23の出力が選択
される。
回路20でEa+Ebが行われ、加算回路21ではその
結果に−biasを加える。従って加算回路21からの
出力は、Ea+Eb −biasの計算結果である。イ
ンクリメンタ22では、正規化処理によるオーバフロー
の補正が必要なとき1であるOFIにより+1加算が行
われる。インクリメンタ23では、丸め処理によるオー
バフローの補正のためにインクリメンタ22の出力に対
する+1加算が前もって行われ、マルチプレクサ24に
より0F2=1のときインクリメンタ23の出力が選択
される。
浮動小数点数A、Bの符号部Sa、Sbの計算は、排他
的論理和30によって実行され、この結果が積Cの符号
部SNになる。そして最後に例外処理回路40で例外処
理を行い、その結果に応じてセレクタ42によってシフ
タ19の出力または定数器41の出力のいずれかが選択
され、セレクタ42の出力が乗算結果Cの仮数部、マル
チプレクサ24の出力がその指数部、排他論理和3の出
力が符号部になる。
的論理和30によって実行され、この結果が積Cの符号
部SNになる。そして最後に例外処理回路40で例外処
理を行い、その結果に応じてセレクタ42によってシフ
タ19の出力または定数器41の出力のいずれかが選択
され、セレクタ42の出力が乗算結果Cの仮数部、マル
チプレクサ24の出力がその指数部、排他論理和3の出
力が符号部になる。
積の結果の指数部が前記11ビ7トで表わせない従って
オーバフロー、アンダフローになるとき、またインバリ
ッドオベレーシヲンなどのとき、例外処理回路40はセ
レクタ42に、シフタ19の出力でなく、定数器41に
予めセットしておいた定数を選択させる。
オーバフロー、アンダフローになるとき、またインバリ
ッドオベレーシヲンなどのとき、例外処理回路40はセ
レクタ42に、シフタ19の出力でなく、定数器41に
予めセットしておいた定数を選択させる。
この浮動小数点乗算器では上記のようにして乗算が行な
われるので、クリティカル・パスは、10→16→17
−18→24−40−42となる。
われるので、クリティカル・パスは、10→16→17
−18→24−40−42となる。
前記のクリティカル・パスのうち、インクリメンタ18
と例外処理回路40の処理速度が遅いため、全体の処理
速度を高速化出来ない。インクリメンタ18は加算回路
(+1回路)であるから、最悪の場合キャリーが53ピ
ント全部を伝播することになり、時間がか\る。例外処
理回路40も、簡単な例外処理をするならとも角、IE
EE形式では可成り厄介な処理になるので、時間がか\
る。
と例外処理回路40の処理速度が遅いため、全体の処理
速度を高速化出来ない。インクリメンタ18は加算回路
(+1回路)であるから、最悪の場合キャリーが53ピ
ント全部を伝播することになり、時間がか\る。例外処
理回路40も、簡単な例外処理をするならとも角、IE
EE形式では可成り厄介な処理になるので、時間がか\
る。
本発明は、インクリメンタ及び例外処理回路で時間がか
−るとすれば、他の部分を改良することにより、従来よ
りも高速の浮動小数点乗算器を提供することを目的とす
るものである。
−るとすれば、他の部分を改良することにより、従来よ
りも高速の浮動小数点乗算器を提供することを目的とす
るものである。
第1図に示すように本発明では、浮動小数点乗算器に、
その固定小数点乗算回路10からの出力データと、丸め
処理制御回路17が発生する丸め信号RDを取込んで、
丸め処理においてオーバフローが発生するか否かを検出
し、発生するならキャリー信号COを1にするキャリー
検出器15を設ける。
その固定小数点乗算回路10からの出力データと、丸め
処理制御回路17が発生する丸め信号RDを取込んで、
丸め処理においてオーバフローが発生するか否かを検出
し、発生するならキャリー信号COを1にするキャリー
検出器15を設ける。
このキャリー信号COは仮数部のシフタ19と指数部の
マルチプレクサ24へ入力し、仮数部の丸め処理後のシ
フト処理および指数部のインクリメント処理を制御させ
る。
マルチプレクサ24へ入力し、仮数部の丸め処理後のシ
フト処理および指数部のインクリメント処理を制御させ
る。
このキャリー検出器15を設けることによって、丸め処
理と例外処理の並列処理が可能となり、クリティカル・
パスは、10−15→24→40→42のようになる。
理と例外処理の並列処理が可能となり、クリティカル・
パスは、10−15→24→40→42のようになる。
従って、従来の浮動小数点乗算器より高速演算が可能と
なる。
なる。
第2図に本発明の実施例を示す。全図を通してそうであ
るが、他の図と同し部分には同し符号が付しである。
るが、他の図と同し部分には同し符号が付しである。
キャリー検出器15の構成例を第3図に示す。
図示の如くこれはアントゲ−)15a、15c。
15d、オアゲート15bからなる。加算回路14から
の出力データは、IEEE規格の倍精度の場合、信号名
:OFI POPi・・・・・・F52GR5桁
: 2’ 2’ 2−’ 2−” 2−”
2−54Stickyである。アンドゲート15aはF
O−F51を取込み、これらがオール1のとき出力1を
生しる。
の出力データは、IEEE規格の倍精度の場合、信号名
:OFI POPi・・・・・・F52GR5桁
: 2’ 2’ 2−’ 2−” 2−”
2−54Stickyである。アンドゲート15aはF
O−F51を取込み、これらがオール1のとき出力1を
生しる。
アンドゲート15cはこの出力と、OFIとF52のオ
ア出力を取り込み、これらが1のとき1出力を生じ、ア
ンドゲート15dはこの出力とRDが1のときその出力
COを1にする。つまりこの回路は 0FI−4,FO=F1=・・・・・・=F51=1.
RD=1又は、0Fl=0. FO=F1=・・・
・・・−F52=1. RD=1のとき、キャリー信
号coを発生する。このキャリー信号COは第4図のオ
ーバフローOF2と等価である。キャリー信号COが1
のとき、マルチプレクサ24ではインクリメンタ23の
出力データを選択し、シフタ19では1ビツト右シフト
を実行する制御を行う。一方、C0−0のとき、24で
は22の出力データを選択し、19ではシフト操作を行
わず入力データをそのまま出力する。
ア出力を取り込み、これらが1のとき1出力を生じ、ア
ンドゲート15dはこの出力とRDが1のときその出力
COを1にする。つまりこの回路は 0FI−4,FO=F1=・・・・・・=F51=1.
RD=1又は、0Fl=0. FO=F1=・・・
・・・−F52=1. RD=1のとき、キャリー信
号coを発生する。このキャリー信号COは第4図のオ
ーバフローOF2と等価である。キャリー信号COが1
のとき、マルチプレクサ24ではインクリメンタ23の
出力データを選択し、シフタ19では1ビツト右シフト
を実行する制御を行う。一方、C0−0のとき、24で
は22の出力データを選択し、19ではシフト操作を行
わず入力データをそのまま出力する。
こうして、シフタ16と丸め処理制御回路17に対して
キャリー検出器15が並列処理され、マルチプレクサ2
4と例外処理回路40に対してインクリメンタ18とシ
フタ19が並列処理されるので、全体的に浮動小数点乗
算処理が高速化される。
キャリー検出器15が並列処理され、マルチプレクサ2
4と例外処理回路40に対してインクリメンタ18とシ
フタ19が並列処理されるので、全体的に浮動小数点乗
算処理が高速化される。
第4図では丸め処理制御回路17の出力RDが出てから
インクリメンタ18が動作し、これによりオーバフロー
〇F2が現われ、・・・・・・の順で逐次動作して行く
が、第2図では出力RDでキャリー検出器が動作し、キ
ャリー出力COが出てシフタ19及びマルチプレクサ2
4の制御信号を出力し、これによりインクリメンタ18
と例外処理回路40の並行動作が可能である。
インクリメンタ18が動作し、これによりオーバフロー
〇F2が現われ、・・・・・・の順で逐次動作して行く
が、第2図では出力RDでキャリー検出器が動作し、キ
ャリー出力COが出てシフタ19及びマルチプレクサ2
4の制御信号を出力し、これによりインクリメンタ18
と例外処理回路40の並行動作が可能である。
(発明の効果〕
以上説明したように、本発明によれば、丸め処理と例外
処理の並列処理が可能であるため、浮動小数点乗算器の
高速化に寄与するところが大きい。
処理の並列処理が可能であるため、浮動小数点乗算器の
高速化に寄与するところが大きい。
第1図は本発明の原理説明図、
第2図は本発明の実施例を示すブロック図、第3図はキ
ャリー検出器の具体例を示す回路図、第4図は従来例を
示すブロック図である。 第1図で10は固定小数点乗算回路、 の加算回路、15はキャリー検出器、1処理制御回路、
18はインクリメンタ、フタ、24はマルチプレクサ、
22.2クリメンタ、40は例外処理回路、42りであ
る。 14はそ 7は丸め 19はシ 3はイン はセレク 出 願人 冨士通株式会社 代理人弁理士 青 柳 稔!
ャリー検出器の具体例を示す回路図、第4図は従来例を
示すブロック図である。 第1図で10は固定小数点乗算回路、 の加算回路、15はキャリー検出器、1処理制御回路、
18はインクリメンタ、フタ、24はマルチプレクサ、
22.2クリメンタ、40は例外処理回路、42りであ
る。 14はそ 7は丸め 19はシ 3はイン はセレク 出 願人 冨士通株式会社 代理人弁理士 青 柳 稔!
Claims (1)
- 【特許請求の範囲】 1、乗算対象の浮動小数点数の各仮数部の演算を行なう
固定小数点乗算回路、各指数部の演算を行なう回路、各
符号部の演算を行なう回路、丸め処理制御回路、シフタ
、インクリメンタ、および例外処理回路を備える浮動小
数点乗算器において、固定小数点乗算回路(10)から
の出力データと丸め処理制御回路(17)が発生する丸
め信号(RD)を入力して、丸め処理においてオーバフ
ローが発生するかどうかを検出するキャリー検出器(1
5)を設け、 該キャリー検出器からのキャリー信号(CO)によって
仮数部のシフト操作と指数部のインクリメント処理の制
御を行ない、丸め処理と例外処理を並列処理するように
してなることを特徴とする浮動小数点乗算器。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP1004399A JPH02183828A (ja) | 1989-01-11 | 1989-01-11 | 浮動小数点乗算器 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP1004399A JPH02183828A (ja) | 1989-01-11 | 1989-01-11 | 浮動小数点乗算器 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH02183828A true JPH02183828A (ja) | 1990-07-18 |
Family
ID=11583269
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP1004399A Pending JPH02183828A (ja) | 1989-01-11 | 1989-01-11 | 浮動小数点乗算器 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH02183828A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6014683A (en) * | 1996-12-20 | 2000-01-11 | Nec Corporation | Arithmetic operation system for arithmetically operating a first operand having an actual point and a second operand having no actual point |
-
1989
- 1989-01-11 JP JP1004399A patent/JPH02183828A/ja active Pending
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6014683A (en) * | 1996-12-20 | 2000-01-11 | Nec Corporation | Arithmetic operation system for arithmetically operating a first operand having an actual point and a second operand having no actual point |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP0351242B1 (en) | Floating point arithmetic units | |
| US5963461A (en) | Multiplication apparatus and methods which generate a shift amount by which the product of the significands is shifted for normalization or denormalization | |
| US4969118A (en) | Floating point unit for calculating A=XY+Z having simultaneous multiply and add | |
| JPH09269891A (ja) | 部分積加算方法および装置、浮動小数点乗算方法および装置、浮動小数点積和演算方法および装置 | |
| JP2002108606A (ja) | スティッキービット生成回路及び乗算器 | |
| JPS6347874A (ja) | 算術演算装置 | |
| JPH07168697A (ja) | 倍精度除算回路および方法 | |
| KR960002061A (ko) | 부동소수점수를 위한 산술연산장치 | |
| JP2511527B2 (ja) | 浮動小数点演算器 | |
| US20170293467A1 (en) | Apparatus and method for supporting a conversion instruction | |
| JPH02183828A (ja) | 浮動小数点乗算器 | |
| JPH04172526A (ja) | 浮動小数点除算器 | |
| JP3517162B2 (ja) | 除算・開平演算装置 | |
| JPH0251732A (ja) | 浮動小数点演算器 | |
| JPH11102353A (ja) | 浮動小数点積和演算器 | |
| JPH0225924A (ja) | 浮動小数点演算処理装置 | |
| JP2972326B2 (ja) | 平方根計算装置 | |
| JP3229057B2 (ja) | 例外処理装置 | |
| JPS58186840A (ja) | デ−タ処理装置 | |
| JP2010049611A (ja) | Simd演算器、simd演算器の演算方法、演算処理装置及びコンパイラ | |
| JP2608090B2 (ja) | 高基数非回復型除算装置 | |
| JPH07200259A (ja) | 演算処理方法および演算処理装置 | |
| JPH04160533A (ja) | マイクロ・プロセッサ | |
| JP3124286B2 (ja) | 浮動小数点数演算装置 | |
| JPH01232430A (ja) | 演算回路 |