JPH0285922A - 演算回路 - Google Patents

演算回路

Info

Publication number
JPH0285922A
JPH0285922A JP63236338A JP23633888A JPH0285922A JP H0285922 A JPH0285922 A JP H0285922A JP 63236338 A JP63236338 A JP 63236338A JP 23633888 A JP23633888 A JP 23633888A JP H0285922 A JPH0285922 A JP H0285922A
Authority
JP
Japan
Prior art keywords
precision
bit
bits
data
double
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
Application number
JP63236338A
Other languages
English (en)
Inventor
Masahiro Yanagida
昌宏 柳田
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP63236338A priority Critical patent/JPH0285922A/ja
Publication of JPH0285922A publication Critical patent/JPH0285922A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 [概 要] 浮動小数点データの加算を行なう演算回路に関し、 演算精度を損なうことなくハードウェア量を減少せしめ
ることを目的とし、 単精度データの有効ビット以降にOを必要数付加して、
擬似的に倍精度データを生成する手段と、加算すべき二
つの倍精度の浮動小数点データの指数部の値に応じて、
一方の浮動小数点データの仮数部をシフトして桁合せを
行なう手段と、上記手段により仮数部のデータをシフト
した場合に、充溢したビットからにビットを生成する手
段と、桁合せを行なった仮数部のデータを加算する手段
と、上記手段により加算した後のデータから、単精度用
のにビットを生成する手段とを具備することにより構成
する。
[産業上の利用分野] 本発明は、2進浮動小数点データの加算を行なう演算回
路に関し、特に倍精度データと単精度データのいずれの
加算についても、その速度と精度を損うことなく演算す
ることが可能で、かつハードウェア量を減少せしめるこ
とができる演算回路に係る。
近年、計算機は様々な分野で利用されているが、これに
伴い、演算速度の高速化のみならず、演算精度の向上も
重要な課題となってきている。
このため、演算精度を向上するための各種の演算方式が
提案されている。しかし、演算精度の向上は、−面で演
算器の回路の複雑化、ハードウェアの増加という問題を
生じている。そこで、演算精度向上によるハードウェア
の増加を最小限にすることが要望されている。
[従来の技術] 浮動小数点のデータの加算に際しては、その指数部の値
に差があるときは、仮数部の桁合せを行なうことが必要
になる。
このような桁合せは、指数部の小さい方のデータの仮数
部をシフトすることによって行なわれる。
以下、第4図により、IEEE規格あるいはこれに準拠
した2進浮動小数点データ表現形式を用いて、浮動小数
点データの加算の方式について説明する。浮動小数点デ
ータの加算を行なう場合、加算される二つのオペランド
の指数差により、オペランドの仮数部の演算前桁合せ処
理が行なわれる。例えば、二つのオペランドの指数の差
が7の場合、指数の小さいオペランドの仮数部(a)が
co)に示すように、右に7ビツトシフトされる(桁合
せシフト)。この時、桁合せシフトで右側からこぼれた
ビットをgビット、rビット、kビットという3ビツト
を用いて表現する。ここで、gビットは桁合せシフトに
よりこぼれたビットの左端のビット、rビットは左から
2番目のビット、kビットは左から3番目以降の総ての
ビットの論理和(以下ORとも言う)により、また、対
応するビットまでシフトされない場合(2ビツト以内の
シフト)では、そのビットは0”であると考える。
次に、加算器はg、r、に−ビットまでを含めて加算を
行ない、g、r、に−ビットを持った加算中間結果を出
力する。この中間結果のg、r。
k−ビットは丸め処理に用いられる。
このようなにビットは第5図(a)にその例を示す倍精
度演算の場合と、(b)にその例を示す単精度演算の場
合とでは、同図からも明らかなようにその位置が異なる
そのため、従来は演算回路に単精度用のものと、倍精度
用のものとに分けて、それぞれに専用のにビット生成回
路を設けていた。
第6図はこのような従来の演算回路の例を示す図であっ
て、51はシフ)11生成回路、52.53は桁合せシ
フタ、54.55は単精度用にビット生成回路、56.
57は倍精度用にビット生成回路、58は加算器を表わ
している。
同図において、シフト1生成回路は、加算すべき二つの
浮動小数点データの指数部の値に差があるとき、その差
から、シフト量を生成する。
そして、桁合せシフタ52にロードされたオペランド1
のデータの仮数部と、桁合せシフタ53にロードされた
オペランド2のデータの仮数部の内、指数部の値の小さ
い側のデータが前記シフト】だけ右にシフトされる。
このとき、データをシフトすることによって溢れ出した
ビットのうち、3番目以降のビットはにビット生成回路
によって処理される。そして、このとき、データが、単
精度の場合と倍精度の場合とで、それぞれ図に示すよう
な専用のにビット生成回路で処理される。
[発明が解決しようとする課題コ 上述したように従来の演算回路においては、kビット生
成回路として、単精度用と倍精度用のそれぞれについて
専用のものを設けていた。
kビットは桁合せシフトのシフト量に応じて、kビット
としてその論理和を求めるビット数を変化させると言う
操作が必要であるため、これを実現するハードウェアは
かなり複雑なものとなる。
従って、従来のように、kビット生成回路をデータの精
度ごとに設ける構成では、ハードウェア量が大となると
言う問題点があった。
本発明は、このような従来の問題点に鑑み、従来よりハ
ードウェア量を減少せしめ得る浮動小数点形式データの
加算回路を提供することを目的としている。
[課題を解決するだめの手段] 本発明によれば、上述の目的は前記特許請求の範囲に記
載した手段により達成される。すなわち、本発明は、I
 EEE規格に準拠した浮動小数点データの加算を行な
う演算回路であって、単精度データの有効ビット以降に
0を必要数付加して、擬似的に倍精度データを生成する
手段と、加算すべき二つの倍精度の浮動小数点データの
指数部の値に応じて、一方の浮動小数点データの仮数部
をシフトして桁合せを行なう手段と、上記手段により仮
数部のデータをシフトした場合に、充溢したビットから
にビットを生成する手段と、桁合せを行なった仮数部の
データを加算する手段と、上記手段により加算した後の
データから単精度用のにビットを生成する手段とを具備
する演算回路である。
[作 用] 第1図は、本発明の原理的構成を示す図である。
同図において、1はシフト量生成回路であり、桁合せシ
フタ2.2aにおけるデータのシフト量を生成する。
3.3aは倍精度用にビット生成回路である。
これは、倍精度用の回路のみであり、単精度用の回路は
入っていない。
4は加算器であり、g、r、に−ビットまでを含めた加
算を行なう。
5は単精度用のにビット生成回路である。これは人力デ
ータが単精度であった場合に、加算器の出力から加算中
間結果のg、r、に−ビットを生成する回路である。中
間結果のビットのうち、単精度のgl「−ビットの位置
のビットをそのまま単精度の中間結果のgrr−ビット
へ、単精度のにビットの位置のビットから倍精度のにビ
ットまでをORL、たちのを単精度の中間結果のにビッ
トとする。
本発明では、このように、桁合せシフトでの単精度用の
にビット生成回路を省略し、総てのデータを倍精度とし
て桁合せを行なっている。
このとき、第2図(a)に示すように単精度データの有
効ビット以降のビットには“0”を詰めておく。
これを、倍精度データとして、ら)に示すように桁合せ
シフトを行ない、(C)、 (d)で示す加算器人力1
と加算器人力2とを加算する。ここで、加算器に人力さ
れるデータについて考えると、桁合せシフトは、指数の
小さいオペランドの仮数にのみ行なわれるため、少なく
とも一方のオペランドの仮数部のg、r、に−ビットは
必ず“000”となる。これより、(e)で示す加算器
出力には、シフトされた方のオペランドのg、r。
k−ビットがそのまま出力される。これを、単精度゛の
場合について考えると、倍精度として加算された単精度
の加算結果のうち、単精度の有効ビットまでは演算結果
となるが、それ以降はシフトされた方のオペランドのg
ビット以降がそのまま出力されることになる。これより
、倍精度として出力された加算器出力のうち、単精度の
有効ビットの一つ右のビットを単精度の加算中間結果の
gビット、二つ右のビットをrビット、三つ目から倍精
度加算出力のにビットまでを単精度の加算中間結果のに
ビットとすれば、倍精度の加算器出力からfで示す単精
度の加算中間結果を得ることができる。
[実施例] 第3図は、本発明の一実施例のブロック図であって、6
はシフト量生成回路、7.7aは桁合せシフタ、8,8
aは倍精度用にビット生成回路、9は56ビツト加算器
、10は31ピツ)OR回路、11はセレクタ、12は
倍精度仮数加算中間結果、13は単精度仮数加算中間結
果を表わしている。
本実施例は単精度の仮数部が23ビツト、倍精度の仮数
部が53ビツトである場合を示すものである。
人力されたオペランド(単精度の場合はを効ビット以降
に“0”が詰められている)は、指数部と仮数部に分け
られる。指数部はシフト量生成回路6に送られて、桁合
せシフタ7.7aに対するシフト量を生成する。仮数部
は桁合せシフ)7,7aに送られ、桁合せシフタが行な
われる。このときrビット (ビット54)より右側の
ビットは総て31ピツ)OR回路10でORされてにビ
ットとなる。kビットまでを含む56ビツトのデータは
、加算器9により加算され加算結果が得られる。ここで
、人力オペランドが倍精度の場合には、加算器出力がそ
のまま加算中間結果12となる。単精度の場合は、加算
器出力のビット0〜ビツト24までとビット25〜にビ
ットまでのORが、加算中間結果13となる。
ビット25はセレクタ11によって、データが倍精度で
あるか、単精度であるかによって切り替えられる。
[発明の効果] 以上説明したように、本発明によれば、浮動小数点デー
タの加算に際する桁合せシフト時のにビット生成回路が
倍精度用のみで済み、単精度の加算結果のにビットは単
純なOR回路のみで得られるため、従来に比べて、高精
度演算を行なう演算回路のハードウェア世を減少せしめ
得る利点がある。
【図面の簡単な説明】
第1図は本発明の原理的構成を示す図、第2図は本発明
の詳細な説明する図、第3図は本発明の一実施例のブロ
ック図、第4図は浮動小数点データの加算の方式につい
て説明する図、第5図は倍精度演算と単精度演算におけ
るにビットの位置の相違を説明する図、第6図は、従来
の演算回路の例を示す図である。 1.6・・・・・・シフ)!生成回路、2.2a、?。

Claims (1)

  1. 【特許請求の範囲】 IEEE規格に準拠した浮動小数点データの加算を行な
    う演算回路であって、 単精度データの有効ビット以降に0を必要数付加して擬
    似的に倍精度データを生成する手段と、 加算すべき二つの倍精度の浮動小数点データの指数部の
    値に応じて一方の浮動小数点データの仮数部をシフトし
    て桁合せを行なう手段と、上記手段により仮数部のデー
    タをシフトした場合に充溢したビットからKビットを生
    成する手段と、 桁合せを行なった仮数部のデータを加算する手段と、 上記手段により加算した後のデータから単精度用のKビ
    ットを生成する手段とを具備することを特徴とする演算
    回路。
JP63236338A 1988-09-22 1988-09-22 演算回路 Pending JPH0285922A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63236338A JPH0285922A (ja) 1988-09-22 1988-09-22 演算回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63236338A JPH0285922A (ja) 1988-09-22 1988-09-22 演算回路

Publications (1)

Publication Number Publication Date
JPH0285922A true JPH0285922A (ja) 1990-03-27

Family

ID=16999327

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63236338A Pending JPH0285922A (ja) 1988-09-22 1988-09-22 演算回路

Country Status (1)

Country Link
JP (1) JPH0285922A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5559730A (en) * 1994-02-18 1996-09-24 Matsushita Electric Industrial Co., Ltd. Shift operation unit and shift operation method
US7873688B2 (en) 2006-03-23 2011-01-18 Fujitsu Limited Processing method and computer system for summation of floating point data

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5559730A (en) * 1994-02-18 1996-09-24 Matsushita Electric Industrial Co., Ltd. Shift operation unit and shift operation method
US7873688B2 (en) 2006-03-23 2011-01-18 Fujitsu Limited Processing method and computer system for summation of floating point data

Similar Documents

Publication Publication Date Title
KR920005226B1 (ko) 부동 소수점 연산장치
US6233597B1 (en) Computing apparatus for double-precision multiplication
EP0328063B1 (en) Absolute value calculating circuit having a single adder
US4999803A (en) Floating point arithmetic system and method
US5222037A (en) Floating-point processor for performing an arithmetic operation on fixed-point part data with high speed rounding of a result
US4866652A (en) Floating point unit using combined multiply and ALU functions
JPH02196328A (ja) 浮動小数点演算装置
JPH0776911B2 (ja) 浮動小数点演算装置
US6178435B1 (en) Method and system for performing a power of two estimation within a data processing system
US5111421A (en) System for performing addition and subtraction of signed magnitude floating point binary numbers
US5132925A (en) Radix-16 divider using overlapped quotient bit selection and concurrent quotient rounding and correction
US5023827A (en) Radix-16 divider using overlapped quotient bit selection and concurrent quotient rounding and correction
US4594680A (en) Apparatus for performing quadratic convergence division in a large data processing system
US5357455A (en) Floating point remainder generator for a math processor
US6182100B1 (en) Method and system for performing a logarithmic estimation within a data processing system
US4110831A (en) Method and means for tracking digit significance in arithmetic operations executed on decimal computers
JPS6125245A (ja) 丸め処理回路
EP0332215B1 (en) Operation circuit based on floating-point representation
JPH0687218B2 (ja) 浮動小数点数演算処理装置及び除数倍数生成装置
US7080112B2 (en) Method and apparatus for computing an approximation to the reciprocal of a floating point number in IEEE format
JPH0346024A (ja) 浮動小数点演算器
JPH0285922A (ja) 演算回路
GB2549153A (en) Apparatus and method for supporting a conversion instruction
US5239498A (en) Methods and apparatus for improved quotient correction in nonrestoring division computation circuits
JP2578482B2 (ja) 浮動小数点演算器