JPH03269620A - 浮動小数点数加算方法およびその回路 - Google Patents

浮動小数点数加算方法およびその回路

Info

Publication number
JPH03269620A
JPH03269620A JP6804890A JP6804890A JPH03269620A JP H03269620 A JPH03269620 A JP H03269620A JP 6804890 A JP6804890 A JP 6804890A JP 6804890 A JP6804890 A JP 6804890A JP H03269620 A JPH03269620 A JP H03269620A
Authority
JP
Japan
Prior art keywords
mantissa
output
exponent
alu
condition
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
JP6804890A
Other languages
English (en)
Inventor
Nobukazu Koizumi
伸和 小泉
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 JP6804890A priority Critical patent/JPH03269620A/ja
Publication of JPH03269620A publication Critical patent/JPH03269620A/ja
Pending legal-status Critical Current

Links

Abstract

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

Description

【発明の詳細な説明】 〔概 要〕 加算すべき2つの数の各指数および各仮数を入力とし、
指板の小さい方に対応する仮数について桁合せシフトを
加えた後の両成敗を入力とする仮数部ALUと、仮数部
ALUからの仮数部出力よりプライオリティビットを検
出するプライオリティビット(PBト検出部と、プライ
オリティビットの検出結果に応じた左桁シフト量を仮数
部出力に与える正規化シフタと、大きい方の指数を左桁
シフト量に応じて補正する指数部ALUと、左桁シフト
後の仮数部出力のLSB未満のビットを丸める丸め処理
部とを含む浮動小数点数加算回路の加算方法に関し、 浮動小数点の数の加算演算を高速に行うことを目的とし
、 左桁シフト量が−1,0および1のいずれかである第1
条件または該第1条件以外の第2条件のいずれに該当す
るかを判別し、第1条件に該当するときは、当該桁シフ
トと共に丸め処理部のみを動作させ、第2条件に該当す
るときは、正規化シフタのみを動作させるように構威し
、 また、特定の第1ビットパターンまたは第2ビットパタ
ーンを検出し、指数部ALUに対し当該桁上りに相当す
る補正を行うように構成する。
〔産業上の利用分野〕
本発明は、加算すべき2つの数の各指数および各仮数を
入力とし、指数の小さい方に対応する仮数について桁合
せシフトを加えた後の両成敗を入力とする仮数部A L
 U(Aritbmetic Logjc Unit)
と、仮数部ALUからの仮数部出力よりプライオリティ
ビットを検出するプライオリティビット(PBト検出部
と、プライオリティビットの検出結果に応じた左桁シフ
ト量を仮数部出力に与える正規化シフタと、大きい方の
指数を左桁シフト量に応じて補正する指数部ALUと、
左桁シフト後の仮数部出力のLSB未満のビットを丸め
る丸め処理部とを含む浮動小数点数加算方法および加算
回路に関する。
ディジタルシグナルプロセッサ等においては絶対値の非
常に大きな数と非常に小さな数を同時に扱う必要があり
、このために、固定小数点演算に代えて浮動小数点演算
が採用される。ただし、構成としては、指数部演算用の
加算部が別に設けられるだけで、仮数部演算用の加算部
は固定小数点演算の場合と同じものが共用される。
〔従来の技術〕
第12図は従来の浮動小数点数加算回路の一例を示す図
である。加算すべき2つの数(AおよびBとする)の各
指数(八街数およびB指数と称す)および各仮数(A仮
数およびB仮数と称す)は、本図の上方から入力され、
本図の下方にフラグと共に加算結果として出力される。
なおフラグは、浮動小数点オーバーフローまたは浮動小
数点アンダーフローを表示する。
八街数とB指数の大小が、指数部ALU(ALUI) 
 1で判定され、大きい指数(説明の都合上、仮にB指
数とする)がセレクタ(SEL3) 、2にて選択され
ると同時に、このB指数に対応しないA仮数がセレクタ
(SELI)3にて選択され、これと相補的に、大きい
方のB仮数がセレクタ(SEL2)  4により選択さ
れる。
セレクタ(SELL) 3からのA仮数は、指数部AL
U(AL[11)  1にて算出されたシフト量だけシ
フトされる。これを行うのは桁合せシフタ5である。
上記の1桁台の参照番号(1〜5)を付した構成要素は
後述する本発明において余り関連しない。
桁合せシフトを行ったA仮数と、もう一方のB仮数は仮
数部ALU 11に入力され、その仮数部出力OUTは
、一方においてプライオリティビット検出部12に入力
され、他方において正規化シフタ13に印加される。
プライオリティビット検出部12は、仮数部出力OUT
のプライオリティビット、すなわち仮数部出力OUTの
最もMSB側に現れるビット“1”の位置を検出する。
いわゆる正規化のためである。
そこで、検出したそのビット“1″が、仮数“1゜XX
X・・・”  (Xは“1”または“0”〉という形で
表されるようになるまで左桁シフトを行う。これが、正
規化シフタ13において行われる正規化シフトである。
仮数部出力OUTに上記の左桁シフトを行ったので、こ
の左桁シフト量に応じてB指数の値を補正する必要があ
る。このために、プライオリティビット検出部12の出
力を入力とする指数部ALU (AlO2)15がある
正規化シフタ13によりシフトされた仮数部出力OUT
のLSB未満の処理についてはいろいろある。切上げや
切捨てや四捨五入であり、このような丸めは、いわゆる
丸め処理部14にて行われる。
指数部ALU (AlO2) 16は、指数部ALU 
(AL[12) 15の出力と、丸め処理部14の出力
とを入力として加算演算し、この加算演算結果と、丸め
処理部14での丸め処理後の仮数部出力OUTとを合わ
せて、求める加算結果とする。
〔発明が解決しようとする課題〕
上記の動作のうち、丸め処理部14について考察する。
仮に丸め処理前の正規化シフタ出力がall“1′″で
あったとして、かつ、そのLSB未満のビットを丸めた
ところ、桁上げが生じたとする。
そうすると、この桁上げによって、仮数部を再び補正(
右1ビツトシフト)する必要が生ずる。この仮数部右1
ビットシフトによる指数部への補正指令は、丸め処理部
14から図示のライン19を経由して、指数部AL[1
,(AlO2)’16の左側入力に与えられる。
上記のように、仮数部ALUの仮数部出力OUTが出力
されてから、該出力OUTは、プライオリティビットの
検出(12〉→正規化シフト(13)→丸め処理(14
)→指数部補正(16)→丸め処理出力との合算、とい
うパスを経て加算結果になる場合がある。なお、かっこ
内の数字は対応する機能部分に付された参照番号である
結局、上述のパスがクリティカルパスとなり、このクリ
ティカルパスのもとての演算時間をもって、当該浮動小
数点数加算回路の性能が定まることになる。これは加算
演算の高速化を阻害するという問題を生じさせる。
この問題点に鑑み本発明は、より一層、加算演算の高速
化が可能な浮動小数点数加算方法およびその加算回路を
提供することを目的とするものである。
〔課題を解決するための手段〕
第1図は本発明に基づく第1の原理を表す工程図である
。本図において、 前記の左桁シフト量が−1,0および1のいずれかであ
る第1条件または該第1条件以外の第2条件のいずれに
該当するかを判別しくステップa)、前記第1条件に該
当するときは、当該桁シフトと共に丸め処理部14のみ
を動作させ(ステップb)、前記第2条件に該当すると
きは、正規化シフタ13のみを動作させる(ステップC
)。
第2図は本発明に基づく第2の原理を表す工程図である
。本図において、仮数部出力OUTが特定の第1ビット
パターンまたは第2ビットパターンであることを検出し
くステップd)、処理部14を経由せず、指数部ALU
に対し当該桁上りに相当する補正を行う(ステップe)
〔作 用〕
上記の第1図についてみると、浮動小数点数の加算にお
いて、正規化シフタ13にて、2ビツト以上の左桁シフ
トを必要とする場合(既述の第2条件)には、丸め処理
部14による丸め処理は不要である。したがって、左桁
シフト量が−1,0および1のいずれかである場合(既
述の第1条件)にのみ丸め処理と、当該桁シフトを行え
ば良く、これ以外のときく第2条件〉は、正規化シフト
のみを行えば良い。これが本発明の第1の原理の着眼点
である。
さらに詳しく述べると、仮数部ALU 11からの仮数
部出力OUTが2ビツト以上の正規化シフトを必要とす
る場合(左桁シフト量が、1でも−1でも0でもない場
合)、というのは、加算すべき2つの数AおよびBの桁
合せ後のプライオリティビット(PB)FBの位置が共
に等しいか、あるいは1ビツトずれた場合のみである。
この場合、仮数部出力OUTのプライオリティビットF
Bから仮数部ビット数分〈通常24ビツト)下位にある
LSB未満の位のビットは全て0である。したがって丸
め処理を必要としない。
第3図は本発明のもとての第2条件を説明する図であり
、A仮数およびB仮数の第1モード(I)および第2モ
ード(n)を示す。第1および第2モード(I、II)
での各仮数部出力OUTは、“0.0XXX・・・”の
形を採っており、この0の部分を超えて既述の仮数“1
. XXX”という形に至らしめるには2ビツト以上の
正規化シフトが必要である。
このような各モード(1)、  (n)での仮数部出力
OUTのLSBより下位は“000・・・”となってお
り、前述の如く丸め処理は不要となる。なお、第2モー
ド(II)では、B仮数の”xxx・・・”の部分の値
が、A仮数の“xxx・・・”の部分の値よりも少々以
上大きいことを要する。
かくして、2ビツト以上の正規化シフトが必要な場合(
既述の第2条件)には、正規化シフトのみ行い、それ以
外(既述の第1条件)のときは当該桁シフトと共に、丸
め処理のみを行えば良いことになる。
次に第2図についてみると、丸め処理による仮数部での
桁上げは、正規化シフタ13の正規化主桁シフト量が−
1か0か1の場合に起こり得ることになる。この場合、
該左桁シフト量が−1のときは、仮数部の最大値が2進
で、 11、11・・・1000・・・ となる。なお左端のビット(“1″)はプライオリティ
ビットPBであり、最右端側のビット(“1″)はLS
Bである。このような場合には当然、丸め処理による桁
上げは起こり得ない。したがって、丸め処理による桁上
げが起こるのは、仮数部出力OUTが特定の2つのビッ
トパターン(後述のビットパターン1およびビットパタ
ーン2)をとるときのみである。
第4図は丸め処理による桁上りが起こる2つのビットパ
ターンを示す図であり、上述のビットパターン1とビッ
トパターン2を示す。
したがって、ビットパターン1または2の検出が行なわ
れたときは丸め処理部14による結果を待たずして、指
数部の補正ができる。これは、プライオリティビット検
出部12でのPB検出と同時に検出できる。
かくして、上記の第1の原理および/または第2の原理
によれば、既述のクリティカルパスを大幅に短縮できる
〔実施例〕
第5図は本発明に基づく浮動小数点数加算回路の一実施
例を示す図である。第12図に示す従来の浮動小数点数
加算回路と異なるのは、判別手段21、第1セレクタ(
SEL4)22および第2セレクタ(SEL5)23が
導入されたことと、従来の指数部における指数部(Al
O2) 16が不要になったことである。
判別手段21は、プライオリティビット検出部12内に
内蔵され、左桁シフト量が−1,0および1のいずれで
あるかを判別する。また前記のビットパターン1または
2を検出したときは指数部ALU(AlO2) 15に
対し補正を加える。判別手段21は、例えばデコーダで
形成できる。
第1セレクタ(SEL4) 22は、判別手段21によ
り制御され、左桁シフト量が−1,0および1のいずれ
かである既述の第1条件のとき当該左桁シフトを加えた
仮数部出力OUTを選択して丸め処理部14に与える。
第2セレクタ(SBL5) 23は、判別手段21によ
り制御され、上記第1条件以外の第2条件のときは、正
規化シフタ13の出力を、該第1条件のときは丸め処理
部14の出力をそれぞれ選択する。そして該第2セレク
タ23および指数部ALU 15の出力を合わせて求め
る加算結果とする。
本図によれば、正規化シフタ13と丸め処理部14とが
、従来のような直列構成ではなく、並列構成になってい
て、パスを短縮していることが分かる。
第5図における要部のビット推移を3つの例をも乙に、
第12図の従来例の場合と対比させながら説明する。な
お、ビット推移は、第12図におけるS・L・L′・・
・で示す部分のビット列と、第5図におけるs、a、a
’・・・等で示す部分のビット列をもって表す。また指
数部は4ビツトで、仮数部は8ビツトである場合をもっ
て示す。指数部はオフセットを持たせた表示とし、下記
のとおりである。なお、符号(+・−〉は考慮していな
い。
1111=2の8乗 0111=2の0乗 0000=2の一7乗 第6図は本発明における第1例のもとでのビットパター
ンを示す図、第7図は本発明における第1例でのビット
推移を従来例と比較して示す図であり、この第1例は、
丸め処理を必要としない場合である。
第8図は本発明における第2例のもとでのビットパター
ンを示す図、第9図は本発明における第2例でのビット
推移を従来例と比較して示す図であり、この第2例は、
丸め処理(四捨五入〉が必要な場合である。
第10図は本発明における第3例のもとでのビットパタ
ーンを示す図、第11図は本発明における第3例でのビ
ット推移を従来例と比較して示す図であり、この第3例
は、丸め処理による桁上げが生じる場合である。第11
図の(従来例)における最下段のRは、丸め処理で 1、000000 になる。
〔発明の効果〕
以上説明したように本発明によれば、浮動小数点数の加
算演算における、正規化シフトおよび丸め処理が、指数
部と仮数部とを切り離して独立に行うことができ、また
仮数部においては、2ビツト以上の正規化シフトと、丸
め処理のどちらか一方を行えば良いことになり、浮動小
数点数の加算を高速化するのに効果は大である。
【図面の簡単な説明】
第1図は本発明に基づく第1の原理を表す工程図、 第2図は本発明に基づく第2の原理を表す工程図、 第3図は本発明のもとでの第賃条件を説明する図、 第4図は丸め処理による桁上がりが起こる2つのビット
パターンを示す図、 第5図は本発明に基づく浮動小数点数加算回路の一実施
例を示す図、 第6図は本発明における第1例のもとでのビットパター
ンを示す図、 第7図は本発明における第1例でのビット推移を従来例
と比較して示す図、 第8図は本発明における第2例のもとでのビットパター
ンを示す図、 第9図は本発明における第2例でのビット推移を従来例
と比較して示す図、 第10図は本発明における第3例のもとてのビットパタ
ーンを示す図、 第11図は本発明における第3例でのビット推移を従来
例と比較して示す図、 示す図である。 図において、 11・・・仮数部ALU。 12・・・プライオリティビット検出部、13・・・正
規化シフタ、  14・・・丸め処理部、15・・・指
数部ALU、   21・・・判別手段、22・・・第
1セレクタ、23・・・第2セレクタ、OUT・・・仮
数部出力、 PB・・・プライオリティビット。

Claims (1)

  1. 【特許請求の範囲】 1、加算すべき2つの数の各指数および各仮数を入力と
    し、該指数の小さい方に対応する該仮数について桁合せ
    シフトを加えた後の両該仮数を入力とする仮数部ALU
    (ArithmeticLogicUnit)(11)
    と、該仮数部ALU(11)からの仮数部出力(OUT
    )よりプライオリティビット(PB)を検出するプライ
    オリティビット検出部(12)と、該プライオリティビ
    ット(PB)の検出結果に応じた左桁シフト量を前記仮
    数部出力(OUT)に与える正規化シフタ(13)と、
    大きい方の前記指数を該左桁シフト量に応じて補正する
    指数部ALU(15)と、前記左桁シフト後の前記仮数
    部出力(OUT)のLSB未満のビットを丸める丸め処
    理部(14)とを含む浮動小数点数加算回路において、 前記左桁シフト量が−1、0および1のいずれかである
    第1条件または該第1条件以外の第2条件のいずれに該
    当するかを判別し、 前記第1条件に該当するときは、当該桁シフトと共に前
    記丸め処理部(14)のみを動作させ、前記第2条件に
    該当するときは、前記正規化シフタ(13)のみを動作
    させることを特徴とする浮動小数点数加算方法。 2、加算すべき2つの数の各指数および各仮数を入力と
    し、該指数の小さい方に対応する該仮数について桁合せ
    シフトを加えた後の両該仮数を入力とする仮数部ALU
    (ArithmeticLogicUnit)(11)
    と、該仮数部ALU(11)からの仮数部出力(OUT
    )よりプライオリティビット(PB)を検出するプライ
    オリティビット検出部(12)と、該プライオリティビ
    ット(PB)の検出結果に応じた左桁シフト量を前記仮
    数部出力(OUT)に与える正規化シフタ(13)と、
    大きい方の前記指数を該左桁シフト量に応じて補正する
    指数部ALU(15)と、前記左桁シフト後の前記仮数
    部出力(OUT)のLSB未満のビットを丸める丸め処
    理部(14)とを含む浮動小数点数加算回路において、 前記仮数部出力(OUT)が、特定の第1ビットパター
    ンまたは第2ビットパターンのいずれかであることを判
    別し、そのときに起こる桁上りに相当する補正を前記指
    数部ALU(15)に対して行うことを特徴とする浮動
    小数点数加算方法。 3、前記の判別を、前記プライオリティビット(PB)
    の検出と同時に行う請求項2記載の浮動小数点数加算方
    法。 4、加算すべき2つの数の各指数および各仮数を入力と
    し、該指数の小さい方に対応する該仮数について桁合せ
    シフトを加えた後の両該仮数を入力とする仮数部ALU
    (ArithmeticLogicUnit)(11)
    と、該仮数部ALU(11)からの仮数部出力(OUT
    )よりプライオリティビット(PB)を検出するプライ
    オリティビット検出部(12)と、該プライオリティビ
    ット(PB)の検出結果に応じた左桁シフト量を前記仮
    数部出力(OUT)に与える正規化シフタ(13)と、
    大きい方の前記指数を該左桁シフト量に応じて補正する
    指数部ALU(15)と、前記左桁シフト後の前記仮数
    部出力(OUT)のLSB未満のビットを丸める丸め処
    理部(14)とを含む浮動小数点数加算回路において、 前記プライオリティビット検出部(12)内に内蔵され
    、前記左桁シフト量が−1、0および1のいずれである
    かを判別するとともに、前記仮数部出力(OUT)が特
    定の第1ビットパターンまたは第2ビットパターンのい
    ずれかであることを検出する判別手段(21)と、 前記判別手段(21)により制御され、前記左桁シフト
    量が−1、0および1のいずれかである第1条件のとき
    当該左桁シフトを加えた前記仮数部出力(OUT)を選
    択して前記丸め処理部(14)に与える第1セレクタ(
    22)と、 前記判別手段(21)により制御され、前記第1条件以
    外の第2条件のときは、前記正規化シフタ(13)の出
    力を、該第1条件のときは前記丸め処理部(14)の出
    力をそれぞれ選択する第2セレクタ(23)とを設け、
    該第2セレクタ(23)および前記指数部ALU(15
    )の出力を合わせて求める加算結果とすることを特徴と
    する浮動小数点加算回路。
JP6804890A 1990-03-20 1990-03-20 浮動小数点数加算方法およびその回路 Pending JPH03269620A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6804890A JPH03269620A (ja) 1990-03-20 1990-03-20 浮動小数点数加算方法およびその回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6804890A JPH03269620A (ja) 1990-03-20 1990-03-20 浮動小数点数加算方法およびその回路

Publications (1)

Publication Number Publication Date
JPH03269620A true JPH03269620A (ja) 1991-12-02

Family

ID=13362514

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6804890A Pending JPH03269620A (ja) 1990-03-20 1990-03-20 浮動小数点数加算方法およびその回路

Country Status (1)

Country Link
JP (1) JPH03269620A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0659858A (ja) * 1992-08-10 1994-03-04 Mitsubishi Electric Corp 浮動小数点演算装置
US5831884A (en) * 1994-12-02 1998-11-03 Mitsubishi Denki Kabushiki Kaisha Apparatus for performing arithmetic operation of floating point numbers capable of improving speed of operation by performing canceling prediction operation in parallel

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0659858A (ja) * 1992-08-10 1994-03-04 Mitsubishi Electric Corp 浮動小数点演算装置
US5831884A (en) * 1994-12-02 1998-11-03 Mitsubishi Denki Kabushiki Kaisha Apparatus for performing arithmetic operation of floating point numbers capable of improving speed of operation by performing canceling prediction operation in parallel

Similar Documents

Publication Publication Date Title
US5889690A (en) Multiply-add unit and data processing apparatus using it
KR100232962B1 (ko) 자리올림수 교정을 갖는 휴즈된 부동 소수점 곱셈 및 누산 장치
US6446107B1 (en) Circuitry for performing operations on binary numbers
KR100241076B1 (ko) 조정및정규화클래스를구비한부동소수점승산및누산장치
JPH02201645A (ja) 例外検出回路
US5303174A (en) Floating pointing arithmetic operation system
JPH05241792A (ja) 浮動小数点加減算方式および装置
US5901076A (en) Ripple carry shifter in a floating point arithmetic unit of a microprocessor
US6223197B1 (en) Constant multiplier, method and device for automatically providing constant multiplier and storage medium storing constant multiplier automatic providing program
JP3345894B2 (ja) 浮動小数点乗算器
JPH03269620A (ja) 浮動小数点数加算方法およびその回路
EP0296071A2 (en) Apparatus and method for acceleration of effective subtraction procedures by the approximation of the absolute value of the exponent argument difference
JPH01302425A (ja) 浮動小数点加減算回路
JPH09204295A (ja) スティッキービット検出回路
US5754458A (en) Trailing bit anticipator
EP0332215B1 (en) Operation circuit based on floating-point representation
JP2919386B2 (ja) 浮動小数点数検出装置および浮動小数点数検出回路
JPH0511980A (ja) 桁あふれ検出方式とその回路
JP2901463B2 (ja) 加算装置
JP3174974B2 (ja) 浮動小数点演算装置および方法
JP3031044B2 (ja) 丸め演算回路
JP3187402B2 (ja) 浮動小数点データ加減算回路
JP2723707B2 (ja) 正規化回路
JPH04312120A (ja) 浮動小数点加減算器
JPH05241784A (ja) 浮動小数点演算装置, 及び方法