JP2856792B2 - 浮動小数点数演算装置 - Google Patents

浮動小数点数演算装置

Info

Publication number
JP2856792B2
JP2856792B2 JP1311070A JP31107089A JP2856792B2 JP 2856792 B2 JP2856792 B2 JP 2856792B2 JP 1311070 A JP1311070 A JP 1311070A JP 31107089 A JP31107089 A JP 31107089A JP 2856792 B2 JP2856792 B2 JP 2856792B2
Authority
JP
Japan
Prior art keywords
bit
rounding
mantissa
solution
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.)
Expired - Fee Related
Application number
JP1311070A
Other languages
English (en)
Other versions
JPH03171228A (ja
Inventor
進博 井出
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP1311070A priority Critical patent/JP2856792B2/ja
Publication of JPH03171228A publication Critical patent/JPH03171228A/ja
Application granted granted Critical
Publication of JP2856792B2 publication Critical patent/JP2856792B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】 [発明の目的] (産業上の利用分野) この発明は、浮動小数点で表現された数値における仮
数部の加減算処理を行なう浮動小数点数演算装置に関す
る。
(従来の技術) 情報処理装置等で取り扱われる数値の表現法として
は、浮動小数点表記法がある。この浮動小数点表記法
は、数値を指数部、仮数部、仮数部の符号により表わ
し、例えばIEEE規格P754の倍精度数D(64ビット)は、
次式で示すように表わされる。
D=(−1)×1.f×2e-1023 S:0又は1(1ビット) f:00…00〜11…11(52ビット) e:0〜2047(11ビット) ここで、Sは仮数部の符号であり、Dが正の時に0、
負の時に1となる。fは仮数部における小数部であり、
隠れビットとなる整数部が1となるように正規化されて
いる。eは指数部であり、バイアス値として1023を本来
の指数に加えたオフセット表現で表わされている。
このような表記法の浮動小数点で表わされる数値を取
り扱う情報処理装置においては、加減算処理を以下に示
すような手順にしたがって実行していた。
フェーズ1 桁合せ 被演算数値における指数部の大きさを比較して、小さ
い方の指数部を大きい方の指数部に合わせるように指数
部が小さい方の仮数部を下位側(右側)にシフトして、
桁合せを行なう。
フェーズ2 演算 桁が揃えられた仮数部の加算あるいは減算を行なう。
フェーズ3 正規化 演算結果(解)における整数部が1になるように仮数
部を上位側(左側)にシフトする。
フェーズ4 丸め処理 丸めモード、解の符号により余分な桁を切り落として
丸め処理を行なう。
フェーズ5 再正規化 上記丸め処理により桁上げが生じた場合には、再度正
規化を行なう。
このような加減算処理を行なう仮数部演算回路として
は、例えば第10図に示すように構成されたものがある。
第10図(a)に示す構成において、仮部数における真
の減算処理は以下に示すようにして実行される。ここ
で、真の加減算とは絶対値での被演算数値の加減算を意
味するものである。
減算処理は、補数化した減数に被減数を加えることに
より行なう。したがって、仮数部は絶対値で表されてい
るので、減数の仮数部を補数化し、この補数化された仮
数部と被減数の仮数部との加算を行なう。加算結果が負
の数値となった場合には、加算結果を絶対値で表現すべ
く再度補数化する。
補数化処理は、具体的にはそれぞれのビットを反転し
て+1(インクリメント)することにより行なわれる。
減数における仮数部の補数化は、減数をビット反転回
路100によりビット反転し、加算器101のキャリー入力を
1にすることにより、加算処理とともに行なわれる。一
方、演算後の解の補数化は、独立した補数化回路102で
行なわれる。
したがって、減算処理においては、加算器101と補数
化回路102との最悪2箇所でキャリー伝搬が生じること
になる。このため、被演算数のビット数が多くなると、
キャリーの伝搬に時間がかかり、減算処理に極めて多く
の時間を必要とする。
また、フェーズ4の丸め処理では、解の桁数が仮数部
の桁数をオーバーした際に、仮数部の桁が無限であると
して得られる厳密解の値によって、有限仮数部の最少有
意桁に+1(インクリメント)する場合がある。このよ
うな場合には、丸め処理を行なう丸め回路103において
インクリメントを行なうので、丸め回路103においても
キャリーの伝搬が生じることになる。このため、丸め処
理においても多くの時間を要することになる。
一方、キャリーの伝搬をともなう処理を2箇所に減少
させた仮数部演算回路としては、例えば第10図(b)に
示すように構成されたものがある。
第10図(b)に示す回路構成にあっては、真の減算の
場合にのみ演算結果が負になる場合があるので、被演算
数値の指数部の大きさが異なる場合には、指数部の小さ
い方の仮数部を減数にするようにしている。このように
することによって、演算結果は必ず正の数値となり、演
算結果の再補数化は不要となる。
一方、被演算数値の指数部の大きさが同じ場合には、
仮数部の値により演算結果が負になることがあるので、
演算結果の再補数化は必要となる。しかしながら、指数
部の大きさが同じ場合には、仮数部の桁合せは行なわれ
ないので、演算結果の丸め処理は行なわれず、丸め処理
におけるインクリメントは行なわれない。
これらのことから、演算結果の再補数化処理にともな
うインクリメント動作と、丸め処理におけるインクリメ
ント動作とは同時に生じることはない。このため、加算
器104から出力される加算結果あるいはビット反転回路1
05から出力される加算結果のビット反転値を選択的にイ
ンクリメントするインクリメンタ106を設けることによ
り、上述した再補数化時と丸め処理時のインクリメント
処理を1つのインクリメンタ106で共有して行なうこと
が可能となる。
したがって、第10図(b)に示す構成にあっては、キ
ャリーの伝搬が生じるフェーズを加算器104とインクリ
メンタ106の2箇所に減少させることができる。
(発明が解決しようとする課題) 以上説明したように、浮動小数点で表現された数値に
おける加減算処理を行なう従来の構成にあっては、3箇
所あるいは2箇所においてキャリーの伝搬が生じてい
た。このキャリーの伝搬において、ビット数の多い仮数
部の最下位ビットから最上位ビットにかけてキャリーが
伝搬するには、他の演算処理に要する時間に比して極め
て多くの時間を必要とする。このため、このキャリーの
伝搬時間によって加減算処理の処理時間が長くなり、演
算処理における高速化の障害となっていた。
特に、科学技術分野における計算では、より高精度で
高速な演算が要求されており、仮数部のビット数は多ビ
ット化の傾向にあるので、キャリー伝搬の回数を削減し
て、加減算処理の高速化が望まれている。
そこで、この発明は、上記に鑑みてなされたものであ
り、その目的とするところは、仮数部におけるキャリー
の伝搬回数を削減して、加減算処理の高速化を達成し得
る浮動小数点数演算装置を提供することにある。
[発明の構成] (課題を解決するための手段) 上記目的を達成するために、浮動小数点表記法で表わ
された被演算値における仮数部の加減算処理を行なう浮
動小数点数演算装置において、この発明は、被演算値の
指数部の値を大きい方の値に統一すべく被演算値の仮数
部の桁合せを行ない、真の演算種に応じて桁合わせされ
た仮数部及び反転仮数部から2組の被演算仮数部を生成
する仮数部生成手段と、演算後の解の正規化が不要であ
ると仮定した場合の丸め処理におけるインクリメントの
要否を示す第1の丸め判定と、演算後の解の正規化が必
要であると仮定した場合の丸め処理におけるインクリメ
ントの要否を示す第2の丸め判定とを、丸めモード、前
記一方の組の被演算仮数部における所定ビットの値及び
真の演算種にしたがって行なう丸め先見手段と、前記第
1の丸め判定と前記一方の組の被演算仮数部とから、演
算後の解の正規化が不要であると仮定した場合の丸め処
理を含む第1の解を算出する第1の加算手段と、前記第
2の丸め判定と前記他方の組の被演算仮数部とから、演
算後の解の正規化が必要であると仮定した場合の丸め処
理を含む第2の解を算出する第2の加算手段と、前記両
加算手段により算出された一方の解の所定ビットの値及
び演算種にしたがって、前記第1及び第2の解から真の
解を選択する選択手段と、前記選択手段によって選択さ
れた真の解を正規化して、被演算仮数部における真の演
算結果を得る正規化手段とから構成される。
(作用) 上記構成において、この発明は、仮数部の演算処理を
行なう前に、演算後の解における正規化の要否に応じた
丸め処理の判定をそれぞれの場合について予め行なった
後、この判定結果に応じて仮数部の演算処理と丸め処理
を同時に行ない、それぞれの場合について算出された演
算結果から真の解を得るようにしている。
(実施例) 以下、図面を用いてこの発明の実施例を説明する。
第1図はこの発明の一実施例に係わる浮動小数点数演
算処理の要部を示す構成図であり、仮数部の演算装置の
構成を示すブロック図である。第1図に示す実施例は、
IEEE規格のP754に準拠しており、第2図に示すフォーマ
ットの仮数部の加減算処理を行なう。
演算装置の構成を説明する前に、仮数部のフォーマッ
トを第2図を参照して説明する。
第2図において、仮数部は57ビットからなり、最上位
ビット(MSB,57ビット目)を桁あふれビットVとし、56
ビット目を整数部の隠れビットNとし、55ビット目〜4
ビット目を有意桁としている。また、仮数部には最少有
意桁(4ビット目)の1ビット下位の3ビット目の値を
表わすガードビットG、ガードビットGのさらに1ビッ
ト下位の2ビット目の値を表わす丸めビットR、丸めビ
ットRより下位のすべてのビットの論理和の値を表わす
スティッキビットStが拡張されている。
次に、第1図を参照して仮数部の演算装置の構成を説
明する。
第1図において、指数部比較回路1は、一方の被演算
数値となる第1オペランドの指数部と、他方の被演算数
値となる第2オペランドの指数部を受けて、第1オペラ
ンドの指数部E1から第2オペランドの指数部E2を減算す
る。これにより、指数部比較回路1は、指数部E1<指数
部E2で“1"となり他の場合には“0"となる大小比較信号
と、両指数部の差の値を示す差信号を出力する。
仮数部交換回路2は、第1オペランドの仮数部F1と第
2オペランドの仮数部F2を受けて、指数部比較回路1か
ら与えられる大小比較信号により、指数部が小さい仮数
部M2bを桁合せ回路3に与え、指数部が大きい仮数部M2a
を反転回路4a及び選択回路5に与える。一方、指数部が
同じ場合には、仮数部交換回路2は第1オペランドの仮
数部を仮数部M2aとして出力し、第2オペランドの仮数
部を仮数部M2bとして出力する。
桁合せ回路3は、仮数部交換回路2から与えられる仮
数部M2bを指数部比較回路1から与えられる差信号で示
される指数部の差の分だけ下位側(右側)にシフトし
て、指数部E1と指数部E2が同じになるように指数部が小
さい仮数部を指数部が大きい仮数部に桁合せする。この
シフト時において、桁あふれビットVには“0"、ステッ
キビットStにはそれまでの値と丸めビットRとの論理和
をシフトインする。桁合せ回路3は、桁合せした仮数部
M3を反転回路4b及び選択回路5に与える。
反転回路4a,4bは、与えられる仮数部のそれぞれのビ
ットを反転するインバータ回路であり、反転した反転仮
数部M4a,M4bを選択回路5に与える。
選択回路5は、仮数部交換回路2から与えられる仮数
部M2a及び桁合せ回路3から与えられる仮数部M3とし、
反転回路4a,4bから与えられる反転仮数部M4a,M4bを受
け、選択制御回路6から与えられる選択信号にしたがっ
て、与えられる仮数部及び反転仮数部を選択して、丸め
先見回路7及び加算器8a,8bに与える。
すなわち、選択回路5は選択信号によらず仮数部M2a
を選択し、仮数部M5aとして丸め先見回路7及び加算器8
aの一方の入力に与える。また、選択回路5は両オペラ
ンドの指数部の差が“0"で真の減算を行なう時にのみ反
転仮数部M4aを選択し、他の場合には仮数部M2aを選択
し、選択した仮数部を仮数部5bとして加算器8bの一方の
入力に与える。
さらに、選択回路5は真の加算を行なう場合には仮数
部M3を選択し、真の減算を行なう場合には反転仮数部M4
bを選択し、選択した仮数部を仮数部M5cとして丸め先見
回路7及び加算器8aの他方の入力に与える。また、選択
回路5は両オペランドの指数部の差が“0"でなく真の減
算を行なう場合にのみ反転仮数部M4bを選択し、他の場
合には仮数部M3を選択し、選択した仮数部を仮数部M5d
として加算器8bの他方の入力に与える。
選択制御回路6は、選択回路5が上記したような選択
動作を行なうように、加減算制御信号と指数部比較回路
1から与えられる差信号とから選択信号を生成して、選
択回路5に与える回路である。
ここで、加減算制御信号は、真の加算あるいは減算の
何れを行なうかを示す信号であり、両オペランドの仮数
部の符号(“+”を“0"とし、“−”を“1"とする)と
演算モード(加算を“0"とし、減算を“1"とする)との
排他的論理和として得る。
丸め先見回路7は、選択回路5から与えられる仮数部
M5a,M5cのそれぞれの下位5ビットと、指数部比較回路
1から与えられる大小比較信号と、加減算制御信号と、
丸めモード信号と、第1オペランドの符号とを受け、こ
れらの信号により丸め処理を行なうか否かの判定を予め
演算前に行なう。ここで、丸めモード信号MDは、第3図
に示すように、それぞれの丸めモードに対応している。
丸め先見回路7は、演算後に解の正規化が不要と仮定
した場合に、丸め処理によるインクリメントが必要とな
るか否かを判定し、判定結果を第1の丸め判定信号とし
て加算器8aに与える。
一方、丸め先見回路7は、加算後に解が桁あふれして
下位ビット方向へのシフトによる正規化が必要と仮定し
た場合に、丸め処理を行なうか否かを判定し、判定結果
を第2の丸め判定信号として加算器8bに与える。また、
丸め先見回路7は、演算後に解が桁落ちして上位ビット
方向へのシフトによる正規化が必要と仮定した場合に、
丸め処理を行なうか否かを判定し、判定結果を第3の丸
め判定信号として加算器8bに与える。ここで、それぞれ
の丸め判定信号は、丸めによるインクリメントが必要な
場合を“1"とし、不要で切捨てる場合を“0"とする。
したがって、丸め先見回路7は、真の加算が行なわれ
る場合には、第1及び第2の丸め判定信号を出力し、両
オペランドの指数部が異なり真の減算が行なわれる場合
には、第1及び第3の丸め判定信号を出力する。また、
丸め先見回路7は、両オペランドの指数部が同じで真の
減算が行なわれる場合には、第3図に示すいかなる丸め
モードににあっても丸め処理によるインクリメントは生
じないので、第1〜第3の丸め判定信号はすべて“0"と
なる。
加算器8a,8bは、第1及び第2オペランドの仮数部F1,
F2の加算あるいは減算における丸め処理を含めた解を算
出する。
丸め処理を行うか否かは、予め丸め先見回路7から与
えられる判定信号によって演算前に決定される。また、
丸め処理を行なうビット位置、すなわちインクリメント
するビット位置は演算後でないと決定できないが、その
ビット位置は真の加減算ともに、第2図に示したフォー
マットに対して2箇所のビット位置となる。
すなわち、加算処理時に正規化が不要と仮定した場合
には、丸め処理によるインクリメントのビット位置は4
ビット目となり、正規化が必要と仮定した場合には5ビ
ット目となる。一方、減算処理時に正規化が不要と仮定
した場合には、丸め処理によるインクリメントのビット
位置は4ビット目となり、正規化が必要と仮定した場合
には3ビット目となる。
このように、加算あるいは減算において、演算後に正
規化が必要になるか否かにより丸め処理のビット位置が
2通りとなるため、それぞれの場合を想定してそれぞれ
の場合の解を算出して、演算後に選択するようにしてい
る。したがって、演算毎にそれぞれの解を算出するため
に、2つの加算器8a,8bが設けられている。
加算器8aは、仮数部M5a,M5cを加算し、第1の丸め判
定信号が“1"の場合には、加算結果の4ビット目に+1
して丸め処理を行ない、正規化を不要と仮定した場合の
解を算出する。また、加算器8aは、両オペランドの指数
部が同じ場合の減算では、(第1オペランドの仮数部)
−(第2オペランドの仮数部)を算出する。算出された
解8aは解選択回路9及び解選択制御回路10に与えられ
る。
一方、加算器8bは、仮数部M5b,M5dを加算し、第2の
丸め判定信号が“1"の場合には、加算結果の5ビット目
に+1して丸め処理を行ない、正規化が必要と仮定した
場合の解を算出し、第3の丸め判定信号が“1"の場合に
は、加算結果の3ビット目に+1して丸め処理を行な
い、正規化が必要と仮定した場合の解を算出する。ま
た、加算器8bは、両オペランドの指数部が同じ場合の減
算では、(第2オペランドの仮数部)−(第1オペラン
ドの仮数部)を算出する。算出された解8bは解選択回路
9に与えられる。
解選択回路9は、加算器8aによって算出された解8aと
加算器8bによって算出された解8bとを受けて、解選択制
御回路10から与えられる選択信号によって解8a,8bを択
一的に選択し、正規化回路11に与える。
解の選択は、解が正規化の要否により2通りに算出さ
れているので、本来は、丸め処理を行なわない演算結果
から正規化の要否を判断して行なわなければならない。
しかしながら、この発明の実施例では、演算前に予め丸
め処理を判定して、演算と同時に丸め処理を行なってい
る。このため、演算と同時に丸め処理を行なった演算結
果から正規化の要否を判別して解を選択しなければなら
ない。しかしながら、このように、演算と同時に丸め処
理を行なった演算結果から解を選択するようにしても、
以下に説明する選択の論理によって、演算後に丸め処理
を行ないその後正規化する場合と同様の真の解を選択す
ることができる。
解の選択は、真の加算の場合には桁あふれビットV、
指数部が異なる真の減算の場合には最大有意桁すなわち
隠れビットNの値によって行なう。ここで、選択の論理
にあっては、加算も減算も同じであるので、真の加算の
場合について以下に詳しく説明する。
2つの仮数部のみを加算した和の桁あふれビットVの
値と、2つの仮数部の和に丸め処理による+1を行なっ
た和の桁あふれビットVの値(加算器8aの加算結果にお
ける桁あふれビットV8aと加算器8bの加算結果における
桁あふれビットV8b)との関係は、以下に示す4通とな
る。
仮数部のみの和 仮数部の和に+1 V=0 V8a=0,V8b=0 V=0 V8a=0,V8b=1 V=0 V8a=1,V8b=1 V=1 V8a=1,V8b=1 ,,の場合にはV=0なので、演算結果は桁あ
ふれせず正規化は不要となる。したがって、正規化を不
要と仮定して解を算出した加算器8aの算出結果を選択す
れば、真の解が得られる。一方、の場合にはV=1な
ので、演算結果に繰り上がりが生じて桁あふれが起こり
正規化が必要となる。したがって、正規化を必要と仮定
して解を算出した加算器8bの算出結果を選択すれば、真
の解が得られることになる。
しかしながら、丸め処理を行なった場合には、仮数部
のみの和の桁あふれビットVの値は得られず、仮数部の
和に+1した和の桁あふれビットV8a,V8bの値しか得ら
れない。このため、この桁あふれビットV8aあるいはV8b
の値により、,,の場合との場合とを区別しな
ければならない。
そこで、上記したの場合は、仮数部のみの和が、0
1.11…11×××(×:0または1)の場合だけであり、丸
め処理を行ない正規化した場合の有意桁は、1.00…00と
なる。このことから、との結果は同じ値となるの
で、の場合であっても、正規化を必要と仮定して加算
器8bにより算出した解8bを選択しても良いことになる。
したがって、加算器8aが算出した解8aの桁あふれビッ
トV8aの値が“1"である場合には、加算器8bが算出した
桁8bを選択し、桁あふれビットV8aの値が“0"である場
合には、加算器8aが算出した解8aを選択するようにすれ
ば、演算後に丸め処理を行ない正規化した場合と同様に
真の解を選択することができる。
真の減算の場合には、桁あふれビットVに代えて隠れ
ビットNの値を用いて、上述した加算処理の場合と同様
の論理で真の解を選択することが可能となる。したがっ
て、真の減算においては、加算器8aの隠れビットN8aの
値が“1"の場合には、加算器8aが算出した解8aを選択
し、加算器8aの隠れビットN8aの値が“0"の場合には、
加算器8bが算出した解8bを選択するようにすれば、真の
解を選択することができる。また、指数部が同じ場合の
減算においては、正の解を選択するようにすればよいの
で、桁あふれビットV8aが“1"の場合には、加算器8bが
算出した解8bを選択し、桁あふれビットV8aが“0"の場
合には、加算器8aが算出した解8aを選択するようにすれ
ばよい。
解選択制御回路10は、加算器8aから与えられる解8a
と、指数部比較回路1から与えられる差信号と、加減算
制御信号とから、解選択回路9が上述したように真の解
を選択すべく選択信号を生成して、解選択回路9に与え
る。
正規化回路11は、解選択回路9によって選択された真
の解を受けて、真の解の整数部が1となるように、真の
解を上位側あるいは下位側へシフトして正規化する。
次に、選択回路5及び選択制御回路6、丸め先見回路
7、加算器8a,8b.解選択回路9及び解選択制御回路10の
具体的な実施例を図面を参照して説明する。
第4図は選択回路5及び選択制御回路6の回路構成を
示す図である。
第4図において、選択回路5はマルチプレクサ5a,5b,
5cからなり、各マルチプレクサ5a〜5cは選択信号が“1"
レベルの時に反転仮数部M4a,M4bを選択し、選択信号が
“0"レベル時に仮数部M2a,M3を選択する。
選択制御回路6は、差信号を受けるOR(論理和)ゲー
ト6aと、ORゲート6aの出力と加減算制御信号を受けてマ
ルチプレクサ5cに与える選択信号を生成するAND(論理
積)ゲート6bと、ORゲート6aの出力とNOT(反転)ゲー
ト6cを介した加減算制御信号を受けてマルチプレクサ5a
に与えられる選択信号を生成するANDゲート6dから構成
されている。また、選択制御回路6は加減算制御信号を
選択信号としてマルチプレクサ5bに与える。
第5図は丸め先見回路7の回路構成を示す図である。
第5図において、丸め先見回路7は、加算器7a及び丸
め回路7b,7cを要部として構成されている。加算器7aは
選択回路5で選択された仮数部M5a,M5cのそれぞれの下
位側5ビットを受けて加算する。
丸め回路7bは、加算器7aによる下位4ビット目の加算
結果を入力Lとし、下位3ビット目の加算結果を入力M
とし、下位1ビット目と2ビット目の加算結果のORゲー
ト7dによる論理和を入力Sとし、また、丸めモード信号
MD及び、大小比較信号と第1オペランドの符号のEXORゲ
ート7fによる排他的論理和を解の符号Siとして入力し、
第1の丸め判定信号を生成している。
丸め回路7cは、加減算制御信号により選択制御される
マルチプレクサ7gの出力を入力L,M,Sとし、丸めモード
信号MD及び解の符号Siを入力としている。
マルチプレクサ7gは、加算器7aの5ビット目の加算結
果と3ビット目の加算結果を択一的に選択して入力Lと
し、4ビット目と2ビット目の加算結果を択一的に選択
して入力Mとし、1ビット目〜3ビット目の加算結果の
ORゲート7eによる論理和と1ビット目の加算結果を択一
的に選択して入力Sとしている。マルチプレクサ7gは、
加減算制御信号が真の加算処理を示している時に1ビッ
ト目,2ビット目,3ビット目の加算結果を選択する。
丸め回路7cは、上述したL,M,S及び丸めモード信号、
解の符号Siを入力とし、その出力RGとNOTゲート7hを介
した加減算制御信号とのANDゲート7iによる論理積によ
り第2の丸め判定信号を生成し、その出力RGと加減算制
御信号とのANDゲート7jによる論理積により第3の丸め
判定信号を生成している。
丸め回路7b,7cは上述したそれぞれの入力に対して、
第6図に示す丸めモードによる判定論理にしたがって丸
め処理を行なうべく、第7図に示すような構成により第
1〜第3の丸め判定信号を生成する。すなわち、第6図
において、「切捨て」の場合は判定信号として“0"を出
力し、「inc(インクリメント,+1)」の場合は判定
信号として“1"を出力する。
第8図は加算器8a,8bの回路構成を示す図である。
第8図において、加算器8a,8bはキャリーセーブ型の
加算器(Carry Saued Adder,CSA)81とキャリールック
アヘッド型の加算器(Carry LooK−Ahead Adder,CLA)8
2からなる。加算器8aは、CSA81の入力を選択回路5にお
ける出力の仮数部M5a,M5cとし、CLA82の入力をCSA81の
出力と第1の丸め判定信号として解8aを算出する。一
方、加算器8bは、CSA81の入力を選択回路5における出
力の仮数部M5b,M5dとし、CLA82の入力をCSAの出力と第
2,第3の丸め判定信号として解8bを算出する。
第9図は解選択回路9及び解選択制御回路10の回路構
成を示す図である。
第9図において、解選択回路9はマルチプレクサによ
って構成されている。
解選択制御回路10は、解8aの桁あふれビットVを一方
の入力とするANDゲート10cと、解8aの隠れビットNの反
転を一方の入力とするANDゲート10dとのそれぞれの出力
を入力とするORゲート10eの出力を選択信号としてい
る。ANDゲート10cの他方の入力は、差信号を入力とする
ORゲート10aの出力と加減算制御信号とを入力とするOR
ゲート10bの出力とし、ANDゲート10dの他方の入力は、O
Rゲート10bの出力を反転したものとしている。
以上説明したように、この発明の一実施例は構成され
ており、次にこの実施例の作用を説明する。
まずはじめに、真の加算処理について説明する。
第1オペランドの指数部と第2オペランドの指数部が
指数部比較回路1に与えられると、両指数部の大きさが
比較されるとともに、その大きさの差が差信号として算
出される。比較結果は大小比較信号として仮数部交換回
路2に与えられる。
大小比較信号が仮数部交換回路2に与えられると、第
1及び第2オペランドのそれぞれの仮数部のうち、大小
比較信号により指数部の大きい仮数部M2aが選択回路5
及び反転回路4aに与えられ、指数部の小さい仮数部M2b
が桁合せ回路3に与えられる。桁合せ回路3に与えられ
た仮数部M2bは、指数部比較回路1から与えられる差信
号にしたがって、両仮数部M2a,M2bの指数部を同一にす
べく桁合せが行なわれる。桁合せされた仮数部M3は選択
回路5及び反転回路4bに与えられる。
選択回路5に与えられた仮数部M2a,M3及び、仮数部M2
aが反転回路4aによりビット反転された仮数部M4aと仮数
部M3が反転回路4bによりビット反転された仮数部M4b
は、仮数部M2a,M3が選択制御回路6から出力される選択
信号により選択される。選択された仮数部M2aは、仮数
部M5a,M5bとして両加算器8a,8bのそれぞれの一方の入力
に与えられる。また、選択された仮数部M3は、仮数部M5
c,M5dとして両加算器8a,8bのそれれぞれの他方の入力に
与えられる。さらに、選択された仮数部M2aは仮数部M5a
として、選択された仮数部M3は仮数部M5cとして、それ
ぞれの仮数部M5a,M5cの下位5ビットが丸め先見回路7
に与えられる。
丸め先見回路7に与えられたそれぞれの仮数部M5a,M5
cの下位5ビットは、対応ビット毎の加算結果のうち、
4ビット目,3ビット目,2ビット目と1ビット目の論理和
の3ビットの値は丸め回路7bに与えられ、この3ビット
の値から丸めモード信号MD及び解の符号Siにしたがって
第6図に示すように、正規化が不要と仮定した場合の第
1の丸め判定が行なわれる。また、加算結果のうち、5
ビット目,4ビット目,3ビット目と2ビット目と1ビット
目の論理和の3ビットの値は丸め回路7cに与えられ、こ
の3ビットの値から丸めモード信号MD及び解の符号Siに
したがって第6図に示すように、下位方向への1ビット
の正規化が必要であると仮定した場合の第2の丸め判定
が行なわれる。第1の丸め判定の判定結果は第1の丸め
判定信号として加算器8aに与えられ、第2の丸め判定の
判定結果は第2の丸め判定信号として加算器8bに与えら
れる。
加算器8aに与えられた仮数部M5a,M5cは加算される。
さらに、第1の丸め判定信号が“1"レベル状態でインク
リメント(+1)の丸め処理を示している場合には、加
算結果の4ビット目に+1され、正規化を不要と仮定し
た場合の解8aが加算器8aにより算出される。
一方、加算器8bに与えられた仮数部M5a,M5cは加算さ
れる。さらに、第2の丸め判定信号が“1"レベル状態で
インクリメント(+1)の丸め処理を示している場合に
は、加算結果の5ビット目に+1され、正規化を必要と
仮定した場合の解8bが加算器8bにより算出される。
それぞれ算出された解8a,8bのうち解8aは解選択制御
回路10に与えられ、解8aの桁あふれビットVは解選択制
御回路10に与えられ、解8aの桁あふれビットVの値に応
じて選択信号が解選択制御回路10から解選択回路9に与
えられる。解選択回路9に与えられた解8a,8bは、この
選択信号により択一的に真の解として選択され、選択さ
れた真の解は正規化回路11によって正規化され、第1及
び第2オペランドの仮数部の真の加算結果が得られる。
このように、加算処理にあっては、加算処理の前に予
め丸め処理の要否を判定し、加算処理を行なう際に丸め
処理も同一の加算器で同時に行なっているので、丸め処
理によるインクリメントがある場合であっても、仮数部
の加算におけるキャリーの伝搬は1度しか生じないこと
になる。これにより、高速演算が可能となる。
次に、真の減算処理について説明する。
真の減算処理は、両オペランドの指数部の値が異なる
場合と同じ場合とでその処理手順が異なることになる。
まず、指数部の値が異なる減算処理について説明する。
指数部の値が異なる減算処理にあっては、前述した加
算処理と同様にして桁合せと反転処理が行なわれ、仮数
部M2a,M3,M4a,M4bが選択回路5に与えられる。選択回路
5に与えられたそれぞれの仮数部のうち、仮数部M2aと
反転仮数部M4bが選択信号により選択される。選択され
た仮数部M2aは仮数部M5a,M5bとして両加算器8a,8bのそ
れぞれの一方の入力に与えられる。また、選択された反
転仮数部M4bは仮数部M5c,M5dとして両加算器8a,8bのそ
れぞれの他方の入力に与えられる。さらに、選択された
仮数部M2a及び反転仮数部M4bは、その下位5ビットが丸
め先見回路7に与えられる。
丸め先見回路7に与えられたそれぞれの仮数部M5a,M4
cの下位5ビットは、対応ビット毎の加算結果のうち、
4ビット目,3ビット目,2ビット目と1ビット目の論理和
の3ビットの値は丸め回路7bに与えられ、この3ビット
の値から丸めモード信号MD及び解の符号Siにしたがって
第6図に示すように、正規化が不要と仮定した場合の第
1の丸め判定が行なわれる。また、加算結果のうち、3
ビット目,2ビット目,1ビット目の3ビットの値は丸め回
路7cに与えられ、この3ビットの値から丸めモード信号
MD及び解の符号Siにしたがって第6図に示すように、桁
落ちして上位方向への1ビットの正規化が必要であると
仮定した場合の第3の丸め判定が行なわれる。第1の丸
め判定の判定結果は第1の丸め判定信号として加算器8a
に与えられ、第3の丸め判定の判定結果は第3の丸め判
定信号として加算器8bに与えられる。
加算器8aに与えられた仮数部M5a,M5cは加算される。
この加算にあっては、実質的に大きい値から小さい値を
減算することになり、その差は常に正の数となるので、
再補数化(ビット反転と+1)の必要はなくなる。さら
に、第1の丸め判定信号が“1"レベル状態でインクリメ
ント(+1)の丸め処理を示している場合には、加算結
果の4ビット目に+1され、正規化が不要と仮定した場
合の解8aが加算器8aにより算出される。
一方、加算器8bに与えられた仮数部M5a,M5cは加算さ
れる。この加算にあっても、上述したように再補数化の
必要はない。さらに、第3の丸め判定信号が“1"レベル
状態でインクリメント(+1)の丸め処理を示している
場合には、加算結果の3ビット目に+1され、正規化が
必要と仮定した場合の解8bが加算器8bにより算出され
る。
ぞれぞれ算出された解8a,8bのうち解8aの整数部の値
すなわち隠れビットNは解選択制御回路10に与えられ、
解8aの隠れビットNは解選択制御回路10に与えられ、選
択信号が解選択制御回路10から解選択回路9に与えられ
る。解選択回路9に与えられた解8a,8bは、この選択信
号により択一的に真の解として選択され、選択された真
の解は正規化回路11によって正規化され、第1及び第2
オペランドの仮数部の値が異なる場合の真の減算結果が
得られる。
このように、指数部の値が異なる場合の減算処理にあ
っては、減算結果の再補数化は生じないので、補数化に
ともなうインクリメントは不要となる。また、加算処理
と同様に減算処理と丸め処理を同時に行なうので、仮数
部のキャリー伝搬は1度しか生じないことになり、高速
演算が可能となる。
次に、指数部の値が同じ場合の減算処理について説明
する。
まず、両オペランドの指数部の大きさが同じであるの
で、仮数部交換回路2において両オペランドの仮数部の
交換は行なわれず、また、両指数部の差が“0"であるこ
とを示す差信号により桁合せ回路3における桁合せは行
なわれない。これにより、第1オペランドの仮数部は、
仮数部M2aとして選択回路5に与えられ、また、反転回
路4aを介して反転仮数部M4aとして選択回路5に与えら
れる。第2オペランドの仮数部は、仮数部M3として選択
回路5に与えられ、また、反転回路4bを介して反転仮数
部4bとして選択回路5に与えられる。
選択回路5に与えられたそれぞれの仮数部は、選択信
号にしたがって仮数部M2aが仮数部M5aとして加算器8aの
一方の入力に与えられ、反転仮数部M4bが仮数部5cとし
て加算器8aの他方の入力に与えられる。また、反転仮数
部M4aが仮数部M5bとして加算器8aの一方の入力に与えら
れ、仮数部M3が仮数部M5dとして加算器8bの他方の入力
に与えられる。
さらに、仮数部M2a,M4bのそれぞれ下位5ビットの値
が丸め先見回路7に与えられる。ここで、仮数部の桁合
せは行なわれず、両仮数部における下位側3ビット目の
ガードビッドGと2ビット目の丸めビットRと1ビット
目のスティッキビットStは、すべて初期値のままで“0"
となり、いかなる丸めモードにおいても丸め処理による
インクリメントは生じない。したがって、第1の丸め判
定,第2の丸め判定及び第3の丸め判定は、丸め処理に
よるインクリメントの不要を示す“0"レベルの第1,第2,
第3の丸め判定信号が、丸め先見回路7から対応する加
算器8a、8bに与えられる。
加算器8a,8bに与えられたそれぞれの仮数部は加算さ
れる。すなわち、加算器8aでは、(第1オペランドの仮
数部)−(第2オペランドの仮数部),加算器8bでは、
(第2オペランドの仮数部)−(第1オペランオドの仮
数部)の減算がそれぞれ行なわれる。
それぞれの減算の解8a,8bのうち、解8aの桁あふれビ
ットVは解選択制御回路10に与えられ、この桁あふれビ
ットVの値にしたがって、解8a,解8bのうち正の数が真
の解として選択されて正規化回路11により正規化され、
第1及び第2オペランドの仮数部における指数部の値が
同じ場合の真の減算結果が得られる。
このように、指数部の値が同じ場合の減算処理にあっ
ても、再補数化が不要になるとともに丸め処理が行なわ
れないので、前述した加算処理及び減算処理と同様に、
キャリーの伝搬は1度しか生じず、高速演算が可能とな
る。
[発明の効果] 以上説明したように、この発明によれば、丸め処理の
要否を予め行ない、仮数部の演算処理と同時に丸め処理
も行なって演算処理を実行するようにしたので、一連の
演算過程におけるキャリーの伝搬を1度にすることが可
能となる。これにより、仮数部の演算過程におけるキャ
リーの伝搬回数を従来に比して削減して、加減算処理の
高速化を達成し得る浮動小数点数演算装置を提供するこ
とができる。
【図面の簡単な説明】
第1図はこの発明の一実施例に係わる浮動小数点数演算
装置の構成を示すブロック図、 第2図は第1図に示す装置で演算される仮数部のフォー
マット図、 第3図及び第6図は第1図に示す装置における動作説明
図、 第4図乃至第5図及び第7図乃至第9図は第1図に示す
装置の要部詳細を示す構成図、 第10図は従来の浮動小数点数演算装置の構成を示すブロ
ック図である。 1……指数部比較回路、 2……仮数部交換回路、 3……桁合せ回路、 4a,4b……反転回路、 5……選択回路、 6……選択制御回路、 7……丸め先見回路、 7b,7c……丸め回路、 8a,8b……加算器、 9……解選択回路、 10……解選択制御回路、 11……正規化回路、 81……キャリーセーブ型の加算器、 82……キャリールックアヘッド型の加算器。

Claims (2)

    (57)【特許請求の範囲】
  1. 【請求項1】浮動小数点表記法で表わされた被演算値に
    おける仮数部の加減算処理を行なう浮動小数点数演算装
    置において、 被演算値の指数部の値を大きい方の値に統一すべく被演
    算値の仮数部の桁合せを行ない、真の演算種に応じて桁
    合わせされた仮数部及び反転仮数部から2組の被演算仮
    数部を生成する仮数部生成手段と、 演算後の解の正規化が不要であると仮定した場合の丸め
    処理におけるインクリメントの要否を示す第1の丸め判
    定と、演算後の解の正規化が必要であると仮定した場合
    の丸め処理におけるインクリメントの要否を示す第2の
    丸め判定とを、丸めモード、前記一方の組の被演算仮数
    部における所定ビットの値及び真の演算種にしたがって
    行なう丸め先見手段と、 前記第1の丸め判定と前記一方の組の被演算仮数部とか
    ら、演算後の解の正規化が不要であると仮定した場合の
    丸め処理を含む第1の解を算出する第1の加算手段と、 前記第2の丸め判定と前記他方の組の被演算仮数部とか
    ら、演算後の解の正規化が必要であると仮定した場合の
    丸め処理を含む第2の解を算出する第2の加算手段と、 前記両加算手段により算出された一方の解の所定ビット
    の値及び演算種にしたがって、前記第1及び第2の解か
    ら真の解を選択する選択手段と、 前記選択手段によって選択された真の解を正規化して、
    被演算仮数部における真の演算結果を得る正規化手段と を有することを特徴とする浮動小数点数演算装置。
  2. 【請求項2】前記丸め先見手段は、前記一方の組の被演
    算仮数部のそれぞれ対応する下位5ビットの和のうち、
    4ビット目,3ビット目,2ビット目と1ビット目の論理和
    の4ビットの値により第1の丸め判定を行ない、5ビッ
    ト目、4ビット目、3ビット目と2ビット目と1ビット
    目の論理和の3ビットの値により加算処理における第2
    の丸め判定を行ない、3ビット目,2ビット目,1ビット目
    の3ビットの値により減算処理における第2の丸め判定
    を行なうことを特徴とする請求項1記載の浮動小数点数
    演算装置。
JP1311070A 1989-11-30 1989-11-30 浮動小数点数演算装置 Expired - Fee Related JP2856792B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1311070A JP2856792B2 (ja) 1989-11-30 1989-11-30 浮動小数点数演算装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1311070A JP2856792B2 (ja) 1989-11-30 1989-11-30 浮動小数点数演算装置

Publications (2)

Publication Number Publication Date
JPH03171228A JPH03171228A (ja) 1991-07-24
JP2856792B2 true JP2856792B2 (ja) 1999-02-10

Family

ID=18012752

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1311070A Expired - Fee Related JP2856792B2 (ja) 1989-11-30 1989-11-30 浮動小数点数演算装置

Country Status (1)

Country Link
JP (1) JP2856792B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09204295A (ja) * 1996-01-29 1997-08-05 Kofu Nippon Denki Kk スティッキービット検出回路
KR100438566B1 (ko) * 1996-12-10 2004-08-09 엘지전자 주식회사 디지탈신호처리기의반올림처리회로

Also Published As

Publication number Publication date
JPH03171228A (ja) 1991-07-24

Similar Documents

Publication Publication Date Title
KR920005226B1 (ko) 부동 소수점 연산장치
JP3492638B2 (ja) 浮動小数点乗算器
US8185570B2 (en) Three-term input floating-point adder-subtractor
JPH0776911B2 (ja) 浮動小数点演算装置
US5148386A (en) Adder-subtracter for signed absolute values
US4758974A (en) Most significant digit location
JPH04290122A (ja) 数値表現変換装置
US4999800A (en) Floating point adder with pre-shifter
JP2856792B2 (ja) 浮動小数点数演算装置
JP3306497B2 (ja) 浮動小数点乗算器における丸め回路
US7003540B2 (en) Floating point multiplier for delimited operands
JPH0511980A (ja) 桁あふれ検出方式とその回路
JP3132436B2 (ja) 浮動小数点積和演算器
JPH06250820A (ja) 浮動小数点加算器における指数アンダフローおよびオーバフローの検出方法および装置
JP3124286B2 (ja) 浮動小数点数演算装置
US7444366B2 (en) Faster shift value calculation using modified carry-lookahead adder
JP2555135B2 (ja) 演算回路
JP2752698B2 (ja) 浮動小数点加減算回路
JP3187402B2 (ja) 浮動小数点データ加減算回路
JP3233432B2 (ja) 乗算器
JPH05204606A (ja) 浮動小数点演算方式および装置
JPH03282926A (ja) 浮動小数点数演算装置
JPH0427587B2 (ja)
JPS6371725A (ja) 演算処理装置
JPS62159224A (ja) 浮動小数点演算回路

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees