JPH04148227A - 浮動小数点数加算器における正規化方式 - Google Patents

浮動小数点数加算器における正規化方式

Info

Publication number
JPH04148227A
JPH04148227A JP2270177A JP27017790A JPH04148227A JP H04148227 A JPH04148227 A JP H04148227A JP 2270177 A JP2270177 A JP 2270177A JP 27017790 A JP27017790 A JP 27017790A JP H04148227 A JPH04148227 A JP H04148227A
Authority
JP
Japan
Prior art keywords
digit
addition
result
digits
bit
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
JP2270177A
Other languages
English (en)
Inventor
Yuka Kobayashi
由佳 小林
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 JP2270177A priority Critical patent/JPH04148227A/ja
Publication of JPH04148227A publication Critical patent/JPH04148227A/ja
Pending legal-status Critical Current

Links

Abstract

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

Description

【発明の詳細な説明】 〔概要〕 2進浮動小数点数加算器における正規化方式に関し、 各サイクルにおける処理区分の数を平均化し、さらに正
規化処理のためのビットシフト量も少なくできるように
してハードウェアの量の軽減を図ることを目的とし、 加算器は加算結果をデジット単位にシフトするデジット
シフタとビット単位に最大3ビツトシフトできる3ビッ
トシフタとを備え、仮数部の数値を加算した第1の加算
結果の無効桁をデジット単位に判定し、デジット単位に
シフトし、デジット単位にシフトした第1の加算結果を
レジスタの1つに格納し、保護桁の数値から求めた丸め
加算数を他方のレジスタに格納し、デジットシフトした
第1の加算結果に丸め加算数を加算して第2の加算結果
を求め、第2の加算結果の無効桁数を判定し、ビットシ
フトすることにより正規化処理し、正規化加電結果を出
力する構成を持つ。
〔産業上の利用分野〕
本発明は、2進浮動小数点数加算器における正規化方式
に関する。
従来、I EEE規格もしくはI EEE規格に準拠し
た浮動小数点数表現形式を用いた2進浮動小数点数の加
算を行う場合には、先ず加算される二つのオペランドの
浮動小数点数の指数部の指数差に基づいて仮数部の桁合
わせ処理が行われる。その時、指数の小さい方のオペラ
ンドの数値を右シフトすることにより桁合わせが行われ
るので、シフトされた方がシフトされた分だけ桁あふれ
する。
桁あふれした数値は上位3桁分について仮数部を格納す
るレジスタの保護桁に格納され、保護桁に格納された数
値に基づいて、そして、保護桁まで含めて仮数部を加算
し、加算中間結果を求め正規化処理する。
さらに、保護桁の数値に基づいて丸め加算数値を決定し
、正規化された加算中間結果に丸め加算数を加算して最
終加電結果を求めるようにしていた。
従来の加算方式では上記の処理を制御クロックの3サイ
クルの間に行っていた。
即ち、第1サイクルにおいて仮数部の桁合わせを行い、
第2サイクルにおいて加算処理と正規化および正規化結
果と保護桁の数値から求めた丸め加算値をレジスタに戻
す。第3サイクルにおいて正規化結果と丸め加算値を加
算処理し、最終結果を求めるようにしていた。
各サイクルにおける処理区分の数は平均化されているこ
とが、加算器の動作効率上望ましいが、従来の方法では
、第2サイクルの処理が非常に多いのに対し、第3サイ
クルでは丸め処理を行うだけで処理数が平均化されてい
ないものであった。
特に、第2サイクルにおける加算中間結果を正規化する
ためのビットシフタは回路が複雑でありハード量の多い
ものであった。
本発明は、各サイクルにおける処理区分の数を平均化し
、さらに正規化処理のためのビットシフト量も少なくで
きるようにしてハードウェアの量の軽減を図ることを目
的とする。
〔従来の技術〕
第3図により従来の浮動小数点数加算器の正規化方式を
説明する。
図において、31.31”はそれぞれ浮動小数点数のオ
ペランド1.オペランド2.32゜32°はそれぞれオ
ペランドl、オペランド2の浮動小数点数の指数部、3
3.33″はそれぞれオペランドl、オペランド2の浮
動小数点数の仮数部、34は指数部32,32°を入力
し、比較して差を算出する指数比較部、35.36はそ
れぞれ仮数部33.33°を入力し、指数比較部34の
算出した指数の差に従って、指数の小さい方の仮数を差
の桁数だけ右シフトし、入力された二つの仮数の桁合わ
せを行う桁合わせシフタ、37は切り換えスイッチであ
って、桁合わせシフタからの数値と加算処理部(後述)
の加算中間結果を正規化した数値のいづれかを選択する
もの、38は切り換えスイッチであって、桁合わせシフ
タからの数値と丸め加算数のいづれかを選択するもの、
39は保護桁の格納部を有するレジスタであって、オペ
ランド1の仮数部もしくは加算処理部(後述)の加算中
間結果を正規化した数値をスイッチ37で選択されて格
納するもの、40は保護桁を有するレジスタであって、
オペランドlの仮数部もしくは丸め加算数をスイッチ3
8で選択された格納するもの、41はレジスタ39とレ
ジスタ40に桁合わせされて格納された仮数を加算処理
した結果を正規化処理するのに必要なビット単位のシフ
ト量を生成するビットシフト量生成部、42は加算処理
部であって、レジスタ39と40に格納された仮数部の
数値を保護桁まで含めて加算処理し、加算中間結果を求
める、もしくはレジスタ39に格納された正規化加算中
間結果とレジスタ40に格納された丸め加算数を加算処
理する加算処理部、43は加算処理部で加算処理された
仮数部の加算中間結果における保護桁の数値に基づいて
丸め加算数を夏山する丸め加算数判定部、44は加算処
理部で加算された仮数部の加算中間結果をビットシフト
量生成部41の生成したビットシフト量に基づいてビッ
トシフトし正規化するビットシフタである。
次に第3図の従来の浮動小数点数加算器の正規化方式を
サイクルごとに説明する。
(1)第1サイクル オペランド1とオペランド2の浮動小数点数の指数部が
指数比較部34、桁合わせシフタ35.36に入力され
、指数比較部34において指数の差が求められる。そし
て、指数の差に従って、指数の小さい方の仮数を入力し
た桁合わせシフタにおいて桁合わせシフトがなされ、レ
ジスタ39とレジスタ40に桁合わせされた仮数が入力
される。
ここで、桁合わせシフトは、例えば、指数差が7であっ
たとすると、桁合わせシフタに格納された仮数を7ビツ
ト右にシフトするので、右シフトした結果こぼれ落ちる
ビットを生しる。
そのこぼれ落ちた桁のうち最上位のビットをgビット、
次のビットをr−ビット、以下のビットについては各ビ
ットの数値のオアをとり(例えば以下の各桁の数値が全
てOであればO1以下の桁に1つでも数値1が存在して
いれは1)k−ビデトとして、g−ビット、r−ビット
、k−ビットの数値を、レジスタ39もしくはレジスタ
40の桁合わせシフトした仮数を格納した方のレジスタ
の保護桁に格納する。
(2) 第2サイクル レジスタ39とレジスタ40に桁合わせされて格納され
た数値を加算処理部42において保護桁を含めて加算し
加算中間結果を求め、ビットシフタに格納する。同時に
ビットシフト量生成部41において、加算中間結果を正
規化するため無効桁数を才力、正規化のためのビットシ
フト量を生成し、ビットシフタに入力する。ビットシフ
タにおいて指示されたビットシフト量だけシフトし、加
算中間結果を正規化し、レジスタ39に正規化加算中間
結果を格納する。一方、丸め加算数判定部43は加算処
理部の出力する加算中間結果の保護桁の数値と丸めモー
ド(四捨五入、切捨て、切上げ等のモード)に従って加
算値を求め、レジスタ40に格納する。
(3) 第3サイクル レジスタ39の正規化中間結果とレジスタ40の丸め加
算値を加算処理部42において加算処理し、最終の加算
結果を求める。
〔発明が解決しようとする課題〕
上記のように従来の方法では、第2サイクルの処理が非
常に多いのに対し、第3サイクルでは丸め処理を行うだ
けで、各サイクルにおける処理数が平均化されていない
ものであった。
また、第2サイクルにおける加算中間結果を正規化する
ためのビットシフタは回路が13[雑でありハード量の
多いものであった。
本発明は、各サイクルにおける処理区分の数を平均化し
、さらに正規化処理のためのビットシフト量も少なくで
きるようにしてハードウェアの量の軽減を図ることを目
的とする。
(課題を解決するための手段〕 本発明においては、浮動小数点数加算器の加算中間結果
の無効桁をデジット単位(4ビット単位)に判定し、デ
ジット単位にシフトするデジットシフタを設けた。
そして、第2サイクルにおける、加算中間結果(以後桁
合わせされた仮数を加算した加算中間結果を第1の加算
結果と称する)において、無効桁をデジット単位に求め
、無効デジットをデジット単位にシフトする(先頭桁か
ら順に、4ビツト連続する無効桁を求め、4ビット単位
にシフトする)そして、デジットシフトした第1の加算
結果および保護桁の数値により定められる丸め加算数を
二つのレジスタに格納する。
第3サイクルにおいては、デジット単位にシフトされた
第1の加算結果と丸め加算数を加算し、第2の加算結果
を求める。
そして、第2の加算結果のビット単位の無効桁(口ない
し3ビツト)をシフトして正規化し、加算最終結果を得
るようにした。
第1図に本発明の基本構成を示す。
図において、1.1°はそれぞれオペランドl。
オペランド2.2.2 はそれぞれオペランドl、オペ
ランド2の指数部、3,3°はそれぞれオペランド1.
オペランド2の仮数部、4は指数比較部、5.6は桁合
わせシフタ、7.8は切り換えスイッチ、9.10はレ
ジスタ、11は加算処理部、12はデジットシフト量生
成部であって、加算処理部11における仮数の加算中間
結果(第1の加算結果)における無効桁をデジット単位
に判定し、第1の加算結果のデジットシフト量を生成す
るもの、13は第1の加算結果をデジットシフトした結
果を正規化するためのビット単位のシフト量を生成する
ビットシフト量生成部、14は加算処理部の第1の加算
結果に基づいて、丸め加算数を判定する丸め加算数判定
部、15はデジ・7トシフタであって加算処理部11の
第1の加算結果を格納し、デジットシフト量生成部のデ
ジットシフト量に従ってデジットシフトするようにする
もの、16はデジットシフトした第1の加算結果と丸め
加算数を加算した第2の加算結果をビットシフト量生成
部13の生成したビット数をシフトすることにより正規
化するための3ビ、トシフタである。
〔作用] 第1図の基本構成の動作を、サイクル毎に説明する。
(1)第1サイクル オペランドlとオペランド2の浮動小数点数の指数部が
指数比較部4、桁合わせシフタ5.6にに入力され、指
数比較部4において指数の差が求められる。そして、指
数の差に従って、指数の小さい方て仮数を入力した桁合
わせシフタにおいて桁合わせシフトがなされ、レジスタ
9とレジスタ10に桁合わせされた仮数が入力される。
この時、桁合わせシフトの結果こぼれ落ちた桁(g−ビ
ット、k−ビット、r−ビン日の数値もレジスタの保護
桁に格納される。
(2) 第2サイクル レジスタ9とレジスタlOに桁合わせされて格納された
数値を加算処理部11において保護桁を含めて加算し第
1の加算結果を求め、デジットシフタ15に格納する。
同時にデジットシフト量生成部12において無効桁をデ
ジット単位に判定し、デジットシフト生成量を求め、デ
ジットシフタ15に人力して第1の加算結果をデジット
シフトする。その結果をレジスタ9に格納する。
一方、丸め加算数判定部14は、第1の加算結果におけ
る保護桁、丸めモード、デジットシフト後の無効桁数(
デジット単位で無効桁を取り除いてもなお残されること
のある1〜3ビツトの無効桁)とにより丸め加算値を求
める(この丸め加算値の算出方法については後述する)
、求めた丸め加算値をレジスタ10に格納する。
(3)第3サイクル (3) 第3サイクル レジスタ9のデジットシフトした第1の加算結果とレジ
スタlOに格納されている丸め加算値を加算処理部11
において加算処理し、第2の加算結果を求め、3ピツト
ンフタ16に格納する。
同時に、ビットシフト量生成部13ば第2の加算結果の
無効桁数(0〜3ビット)を判定し、3ビツトシフタに
シフト量を入力する。
3ビットシフタにおいてビットシフト量生成部13で生
成したシフト量(0〜3ビツト)だけシフトし、第2の
加算結果を正規化して最終加算結果を得る。
本発明においては第1の加算結果をデジットシフトして
も、0〜3ビツトの無効桁は残る場合がある。ところで
、第2サイクルにおける丸め加算数の算出は、正しくは
仮数部の第1加算結果を仮数部まで含めて正規化シフト
した状態における保護桁の数値に基づいて算出されるべ
きものである。
しかし、本発明では無効桁を残した状態において加算数
を算出するので、最終的なビットシフトによる正規化後
の保護桁の数値を予測して決定する必要がある。
そこで、本発明における、丸め加算数の夏山方法を次に
説明する。
第1の加算結果のデータパターンは次の場合がある。
■ 1××× ×××× ・・・ ■ 01×× ×××× ・・・ ■ 001× ×××× ・・・ ■ 0001  xxxx  ・・・ ■ 0000 1xxx  ・・・ 上記の各パターンについて正規化後の保護桁の数値がど
うなるかを考える。
(al  無効桁がOのとき(上記パターン■)演算結
果の無効桁が0ということは、シフトされることがない
ので演算結果のg、r、に−ビットがそのまま保護桁と
なる。
cb)=効桁が1のとき(上記パターン■)加算のとき
はなく、減算のときに生じる。
加算結果の無効桁が1のときは、正規化において左に1
ビットシフトされる。従って、保護桁の位置は、シフト
前におけるr、に−ビットのある位置とに一ビットの右
隣りのビットとなる。即ち’rko  Jである。
例えば正規化前の保護桁が次の通りであったとする。
olxx  xxxx  ・・・・ abc(g r 
k) 正規化後の保護桁は次のようになる。
01×× ×××× ・・・a  bc。
(grk) 即ち、正規化後の保護桁の数値はrbc OJとなる。
(C)  無効桁が2以上のとき(上記パターン■、■
、■および■以降) 加算の時にはなく、減算の時に生しる。
無効箱が2以上になるためには、桁合わせしていない場
合と、片方のオペランドが1ビットだけ桁合わせシフト
した場合である。2ビット桁合シフトすると演算無効桁
数が2以上になることはない。
そこで、桁合わせシフトがない場合とlビ・7ト桁合わ
せソフトした場合について考える。
い) 桁合わせしていない場合 桁合わせしていない場合は、桁あふれしていないので、
g、r、に−ヒ゛ントすべて0である。
(ii)   1ビツトシフトした場合lビット桁あふ
れしているので、r、に−ビットは0であるが、g−ビ
ットが1の場合が考えられる。しかし、無効桁が2つ以
上ある場合にはかならず左シフトされるのでシフトした
結果のg、r、に−ビットの値は全て0になる。
従って、(1)、(11)共にg、r、k  −ビット
全て0であり、桁あふれしていない場合と同じになる。
従って、無効桁が2つ以上ある場合には、加算数は保護
桁の数値0で保護桁を見る必要がなく必ずOになる。
以上より、第1の演算結果の舞効桁のデータパターンに
おいて、(a)とら)の場合のみを保護桁を考慮し、丸
め加算値を決定すればよい。
[実施例〕 第2図における数値例により本発明の詳細な説明する。
図(a)は浮動小数点数のオペランド1(OPI)とオ
ペランド2 (OF2)の例を示す。
倍精度の場合であり、0ビツト目は符号、1ビツト目か
ら11ビツト目までは指数部、残りの12ビツト目から
63ビット目までは仮数部である。
オペランド1とオペランド20指数差は4であるから、
指数の小さい方のオペランド2の仮数部を右に4ビツト
シフトして桁合わせを行う。
回出)はオペランド1(OPI)と4ビツト右に桁合わ
せしたオペランド2 (OF2)の仮数部を示す。
右に4ビツトシフトした結果、保護桁(grk)は図に
示すようにrl 11Jとなる。但し、k−ビットは桁
あふれした3ビット以降をオアしたものである。
図(C)はオペランド1とオペランド2の仮数部を保護
桁を含めて減算処理した結果を示す。
減算結果(第1の演算結果)の無効桁は1つだけなので
、デジットシフト量は0であるから、図示の減算結果を
シフトなしにシフトレジスタに格納する。
そして、無効桁は1であるから、正規化後の保護桁は図
(C)に示されているg、r、に−ビットより1桁づつ
右側にあるroloJとなる。この保護桁の数値と丸め
モードから丸め加算数を決定する0例えば、■であると
すると加算値1をレジスタに格納し、減算結果(第1の
演算結果)の64ビツト目へ加算し、保護桁の数値「o
l」となる。
さらに無効桁が1ビツトなので1ビツトシフトして正規
化し、図(d)に示す最終結果を得る。
〔発明の効果〕
本発明によれば、加算処理のサイクルにおける処理数を
均等化でき処理に無駄がなくなる。
また、加算処理の結果を正規化するのに、デジットシフ
トとO〜3ビットのシフトに分けたので、シフトのため
のハードウェアが簡単化でき、処理が高速化する。
【図面の簡単な説明】
第1図は、本発明の基本構成を示す図である。 第2図は、本発明の数値例を示す。 第3図は、従来の浮動小数点数加算器の正規化方式を示
す図である。 図面において、 l   :オペランド1. 1′   :オペランド2. 2.2° :指数部、 3.3’  :仮数部、 4   :指数比較部、 5、下 :桁合わセシフタ、 7.8 :切り換えスイッチ、 9.1(lレジスタ、 :加算処理部、 :デジットシフト量生成部、 二ビットシフト量生成部、 :丸め加算数判定部、 :デジットシフト、 :3ビットシフタ。

Claims (1)

  1. 【特許請求の範囲】 1)加算対象の二つの浮動小数点数の指数部の数値を入
    力する指数比較部(4)と、指数部の指数の比較結果に
    基づいて加算対象の二つの浮動小数点数の仮数部一方を
    桁合わせする桁合わせシフタ(5、6)と、桁合わせさ
    れた加算対象の仮数部をそれぞれ入力する二つのレジス
    タ(9、10)と、二つのレジスタに格納されている数
    値を入力して加算処理する加算処理部(11)とを備え
    、加算結果を正規化して正規化浮動小数点数を出力する
    浮動小数点数加算器において、 上記レジスタ(9、10)は、仮数部を桁合わせするた
    めシフトした結果桁あふれした部分を格納する保護桁と
    、保護桁の数値に基づいて丸め加算数を判定する丸め加
    算数判定部(14)と、仮数部の数値を加算した加算処
    理部における第1の加算結果をデジット単位にシフトす
    るデジットシフタ(15)と、デジットシフトした第1
    の加算結果と丸め加算数を加算した加算処理部における
    第2の加算結果をビット単位にシフトして正規化するビ
    ットシフタ(16)を備え、 仮数部の数値を加算した第1の加算結果のうちの無効桁
    をデジット単位に判定し、デジット単位にシフトし、 デジット単位にシフトした上記第1の加算結果を上記一
    方のレジスタ(9)に格納し、保護桁の数値から求めた
    丸め加算数を他方のレジスタ(10)に格納し、デジッ
    トシフトした第1の加算結果に丸め加算数を加算して第
    2の加算結果を求め、第2の加算結果の無効桁数を判定
    し、ビットシフトすることにより正規化処理し、正規化
    加算結果を出力することを特徴とする浮動小数点数加算
    器における正規化方式。 2)第1の加算結果の無効桁数が0の場合と1の場合に
    のみ、第1の加算結果の保護桁の数値に基づいて丸め加
    算数を決定し、上記以外の無効桁数の場合には、保護桁
    の数値を0として丸め加算数を決定することを特徴とす
    る請求項1に記載の浮動小数点数加算器における正規化
    方式。
JP2270177A 1990-10-08 1990-10-08 浮動小数点数加算器における正規化方式 Pending JPH04148227A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2270177A JPH04148227A (ja) 1990-10-08 1990-10-08 浮動小数点数加算器における正規化方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2270177A JPH04148227A (ja) 1990-10-08 1990-10-08 浮動小数点数加算器における正規化方式

Publications (1)

Publication Number Publication Date
JPH04148227A true JPH04148227A (ja) 1992-05-21

Family

ID=17482600

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2270177A Pending JPH04148227A (ja) 1990-10-08 1990-10-08 浮動小数点数加算器における正規化方式

Country Status (1)

Country Link
JP (1) JPH04148227A (ja)

Cited By (1)

* 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 浮動小数点演算装置

Cited By (1)

* 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 浮動小数点演算装置

Similar Documents

Publication Publication Date Title
US5222037A (en) Floating-point processor for performing an arithmetic operation on fixed-point part data with high speed rounding of a result
US5500812A (en) Multiplication circuit having rounding function
US5010508A (en) Prenormalization for a floating-point adder
JPH02289006A (ja) 浮動小数点加算器においてオペランドの仮数を加算し、減算する回路
US8185570B2 (en) Three-term input floating-point adder-subtractor
JP3418460B2 (ja) 倍精度除算回路および方法
KR100203468B1 (ko) 부동소수점수를 위한 산술연산장치
US6178435B1 (en) Method and system for performing a power of two estimation within a data processing system
US5931895A (en) Floating-point arithmetic processing apparatus
US7143126B2 (en) Method and apparatus for implementing power of two floating point estimation
US5623435A (en) Arithmetic unit capable of performing concurrent operations for high speed operation
US5260889A (en) Computation of sticky-bit in parallel with partial products in a floating point multiplier unit
US4110831A (en) Method and means for tracking digit significance in arithmetic operations executed on decimal computers
USH1222H (en) Apparatus for determining sticky bit value in arithmetic operations
US5036482A (en) Method and circuitry for digital system multiplication
US7539720B2 (en) Low latency integer divider and integration with floating point divider and method
JP7285966B2 (ja) 多入力浮動小数点加算器
EP0394162A2 (en) Two-bit floating point divide circuit with single carry-save adder
JPH04148227A (ja) 浮動小数点数加算器における正規化方式
JPH0511980A (ja) 桁あふれ検出方式とその回路
US7003540B2 (en) Floating point multiplier for delimited operands
JP3950920B2 (ja) 積和演算器及びデータ処理装置
JP3124286B2 (ja) 浮動小数点数演算装置
JP3100868B2 (ja) 浮動小数点数のための算術演算装置
JP2993119B2 (ja) 浮動小数点演算装置