JPH0225924A - 浮動小数点演算処理装置 - Google Patents

浮動小数点演算処理装置

Info

Publication number
JPH0225924A
JPH0225924A JP63174872A JP17487288A JPH0225924A JP H0225924 A JPH0225924 A JP H0225924A JP 63174872 A JP63174872 A JP 63174872A JP 17487288 A JP17487288 A JP 17487288A JP H0225924 A JPH0225924 A JP H0225924A
Authority
JP
Japan
Prior art keywords
circuit
bit
output
multiplexer
rounding
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.)
Granted
Application number
JP63174872A
Other languages
English (en)
Other versions
JP2645422B2 (ja
Inventor
Akira Katsuno
昭 勝野
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 JP63174872A priority Critical patent/JP2645422B2/ja
Priority to US07/374,299 priority patent/US4999801A/en
Priority to DE68929114T priority patent/DE68929114T2/de
Priority to KR1019890010030A priority patent/KR920005226B1/ko
Priority to EP89307180A priority patent/EP0351242B1/en
Publication of JPH0225924A publication Critical patent/JPH0225924A/ja
Application granted granted Critical
Publication of JP2645422B2 publication Critical patent/JP2645422B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

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

Description

【発明の詳細な説明】 〔概 要〕 浮動小数点演算処理装置、特に、開平を行う演算回路に
関し、 簡単な回路の改良で開平演算の反復演算を高速化し、開
平演算処理の高速化を実現することを目的とし、 整数乗算器、右シフト回路、および丸め回路を用いて、
2つの乗算すべき2進数の仮数部の乗算値が得られる浮
動小数点演算処理装置であって、前記右シフト回路と丸
め回路の間に、ビット反転回路およびマルチプレクサを
設け、開平演算の一部の演算時のみ、該ビット反転回路
の出力が該マルチプレクサを介して該丸め回路へ供給さ
れ、最小桁に「1」を加算され、1ビット右シフトされ
、前記演算以外の時は、該右シフト回路の出力が該マル
チプレクサを介して該丸め回路へ供給されるように構成
される。
〔産業上の利用分野〕 本発明は、浮動小数点演算処理装置に関し、特に、浮動
小数点表記法の数値について開平を行う演算回路に関す
る。浮動小数点演算は、整数(固定小数点)演算と比べ
、ダイナミックレンジが広く精度も高いので、最近では
各種の高度な演算要求を満たすものが求められる傾向に
ある。なかでも、開平に関する高速処理が重要になって
きている。
〔従来の技術〕
一般に開平の方式として、浮動小数点に限らず、収束法
(例えば、ニュートン・ラブラン法)を用いる方法が知
られている。数値Bの平方根を求めるために、まず1/
、/’Tを求め、それにBを乗じて、1を求める。この
1/、/′Tの計算をニュートン・ラプソン法による収
束計算によって求める場合、収束までに要する繰り返し
回数は逆数の初期値が真の値に近いほど少なくなる。
現在発表されている浮動小数点演算処理装置では、ニュ
ートン・ラブラン法を用いて開平を行っているものが多
い。ニュートン・ラプソン法では逆数の初期値をある精
度内で与えれば、3〜4回程度の収束計算で収束値が求
められる。従ってニュートン・ラプソン法による開平は
高速処理が可能である。
ニュートン・ラブラン法を用いた開平について説明する
。開平を実行するには、まず逆関数を求める。例えば、
C−77は、c = B (1/、/’T)という逆数
の形で表現できる。ニュートン・ラプソン法を用いて逆
関数の反復表現を求めると次式%式% ここに、i=0の場合のXoは最初のf丁の逆数の近似
値で、X、は1番目の近似値である。符号*は乗算の記
号である。初期値X0が不等式O〈Xo <(丁7丁の
条件を満たす時、演算は終了する。初期値を得る代表的
な方法はBの上位1oビット程度をルックアップテーブ
ル(ROM等が用いられる)のポインタとして用い、R
OMはBの値が示すアドレスの内容を初期値として出力
する。
出力ビット数は入力ビット数とほぼ同じ場合が普通であ
る。一般に、浮動小数点の開平の場合、指数部と仮数部
の逆数を別々のルックアップテーブルから求める。
第4図に従来の浮動小数点演算処理装置(乗算器)を示
す。2つの入力(入力1および入力2)から入力される
浮動小数点数を(−1)s′″2 Ex−bias(1
,F a )と(−1> ” 2 Eトb!” (1,
F b )とする。この浮動小数点乗算器は正規化数の
み扱う。
それぞれの仮数部(1,F a )と(1,F b )
  は整数(固定小数点)乗算器によって(1,Fa)
x(1,Fb)が実行される。この結果は、l、xxx
x・・・、またはlx、xxxx・・・となる。l、 
x x xX・・・の場合は既に正規化されている。l
x、xxxx・・・の場合は正規化処理が必要である。
すなわち、右シフト回路5で1ビット右シフトを実行す
る。この時、指数部を+lする必要がある。
次に正規化された数値を出力データ形式に合わせるため
丸め処理を行う。丸め回路6におけるうランド回路12
で、出力データ形式におけるLSB(最小桁)以下の桁
を切り捨てると共に、丸めモードに従いLSBにrLJ
を加えるかどうかを決定する。そして、LSBに「1」
を加える操作は積算器(インクリメンタ)11によって
実行される。この時、データがすべてrlJであればオ
ーバフローが発生する。この場合は、右シフト回路13
によってlビット右シフトされ、最終的な出力は正規化
数となる。
指数部の演算について説明する。指数部の演算は図にお
ける縦の鎖線の左側部分で行われる。1段目の加算器2
1ではEa+Ebが実行され、2段目の加算器22では
、その結果に−biasを加える。従って、この2つの
加算器によって、Ea +Eb−biasの計算が行わ
れる。3段目の積算器23では、正規化処理によるオー
バフローの補正が必要な時、+1加算が行われる。さら
に4段目の積算器24では、丸め処理によるオーバフロ
ー補正のために+1加算が前もって行われ、オーバフロ
ー信号Vによりマルチプレクサ(MIIX)  25で
そのいずれかが選択される。符号の計算は、3aとsb
の排他的論理和によって実行される。
第4図に示したような従来の浮動小数点乗算器では、2
−BX、の計算をすることができず、2−BX、の計算
を行うためには、従来の浮動小数点乗算器を用いる場合
、他に加算器を必要とする。
〔発明が解決しようとする課題〕
前述のように、 Xi、l =1/2*Xi  (3−BX、りの反復計
算は、 乗算:B*X7  (以下=Aとする)乗算:A*Xi 減算: 3− (A*Xi ) 乗算: Xi * (3−(A*Xi ))乗算: 1
/2* (xi *(3−(A*X、)))の5つの算
術演算が必要であり、全体の演算処理時間が長く、高速
化要求に添い難いという問題点があった。
本発明の目的は、浮動小数点演算処理装置における簡単
な改良で上記反復計算を高度化し、開平演算処理の高速
化を実現することにある。
〔課題を解決するための手段〕
本発明においては、第1図に例示されるように、2つの
乗算すべき2進数の仮数部を整数(固定小数点)乗算器
20により乗算し、該乗算値を最上位ビットの値に対応
して1ビット右シフトする右シフト回路5を経て、丸め
回路6に供給し、該丸め回路6の出力に乗算された2進
数の仮数部が得られる浮動小数点演算処理装置に、さら
にビット反転回路7およびマルチプレクサ8を設ける。
該ビット反転回路7とマルチプレクサ8は前記右シフト
回路5と丸め回路6の間に設けられ、該ビット反転回路
7は小数点より上の桁に2進数「lO」を設定し、小数
点より下の桁を反転する。マルチプレクサ8は開平演算
における一部の演算時のみ該ビット反転回路7の出力を
該丸め回路6へ供給する。そして、該ビット反転回路7
の出力は該丸め回路において最小桁に「1」が加算され
、1ビット右にシフトされる。前記演算以外の時は、該
右シフト回路5の出力が該マルチプレクサ8を介して該
丸め回路6へ直接供給される。
本発明の他の形態においては、第1図と第2図を用いて
例示されるように、2つの乗算すべき2進数の仮数部を
整数(固定小数点)乗算器20により乗算し、該乗算値
を最上位ビットの値に対応して1ビット右シフトする右
シフト回路5を経て、丸め回路36に供給し、該丸め回
路36の出力に乗算された2進数の仮数部が得られる浮
動小数点演算処理装置に、さらにビット反転回路37お
よびマルチプレクサ8を設ける。該ビット反転回路37
とマルチプレクサ8は前記右シフト回路5と丸め回路3
6の間に設けられ、該ビット反転回路37は入力された
数値を反転する。マルチプレクサ8は開平演算における
一部の演算時のみ該ビット反転回路37の出力を該丸め
回路36へ供給する。そして、該ビット反転回路37の
出力は該丸め回路において最小桁に「1」が加算され、
1ビット右シフトされ最上位桁に「1」が設定される。
前記演算以外の時は該右シフト回路5の出力が該マルチ
プレクサ8を介して該丸め回路36へ直接供給される。
〔作 用〕
前述の装置を用いれば、浮動小数点乗算を行う演算処理
装置において、ビット反転回路7または37とマルチプ
レクサ8を追加するのみで、1/2*  (iAX、)
(ただし、0<AXi ≦1)の2進計算を、浮動小数
点乗算の可能な演算処理装置を用いて1ステツプで実行
可能となり、開平演算に必要な反復計算を高速化できる
〔実施例〕
実施例の説明に先立って、まず、本発明の詳細な説明す
る。
IEIEE規格の浮動小数点データ・フォーマントによ
る、正規化数(1≦B〈2)の開平の仮数部の演算につ
いて説明する。Cを開平値とすると、C−5−B(1/
、/”T)。
1、#Hの近似値X 1 + 1 は、Xi、+=1/
2*Xi (3−BXi” )と表現できる。ただし、
O<Xo<f丁7丁、B〉0゜ ここで、初期値X0をルックアップテーブル(ROM)
により0 < X o≦fT7Nの範囲にすると、Q<
AXo ≦1 (ただし、A=BXO)故に、2≦(3
AXo ) < 3 故に、1≦1/2* (3−AXO)<3/2となり、
1/2* (3−AXi)も正規化数になる。従って、
一般に1/2* (3−AX、)は正規化数になる。次
に1/2k (3−AX、)の計算を考える。0<AX
、≦1よりAX、の小数点以下のビット反転をAX、と
すると、(3−AX、)d = (10,AX、 +L
SB (1))bと変換できる。
ここに、LSB(1) : LSB(最小桁)に1を加
算、()d:10進、()b:2進を意味する。
さらに求められた(10.  AXi  +LSB (
1))bを。
1ビット右にシフトすることによって、ニヱートン・ラ
ブフン法を用いた開平に必要な1/2*(3−AXi 
) 、ここに、(0<AXi ≦1)の計算を実行でき
る。以上のようにすると、前述の5回の反復計算は下記
のように簡略される。
乗算:B*XH1これを=Aとする 本発明による演算: 1/2’l’ (3−A*X、)
乗算:X□ * (1/2* (3−A*X、))この
ように3つの算術演算だけで実行できる。
本発明の一実施例としての浮動小数点演算処理装置の回
路図が第1図に示される。この装置は第1図中央鎖線に
よって左右に分けられ、左側は指数部についての演算が
加算器21および22、積算!(インクリメンタ)23
および24、およびマルチブクサ25を用いて行われる
。この指数演算部分については従来の演算処理装置と同
じであるので、説明を省略する。また符号決定回路も従
来型のものと同様である。
第1図の中央鎖線の右側に仮数部の演算回路が示される
。乗算されるべき2つの入力(入力1および入力2)の
仮数部は、整数(固定小数点)乗算器により、破線のブ
ロックで示されるようなデータとして出力される。最上
位桁Vは指数部演算における積算器23へ供給されると
共に右シフト回路5を1ビットシフトさせる。加算器4
の出力は右シフト回路5に供給される。右シフト回路5
の出力は本発明により新たに設けられた、ビット反転回
路7およびマルチプレクサ8に供給される。
ビット反転回路7は入力されたデータについて、小数点
より下位桁のビットは反転し、上位のビットは「10」
とした数値、すなわち、 rlO,xxx・・・」というデータを出力する。
以下に1/2* (3−A*X、)の計算について説明
する。、加算器4からの出力AX、は0〈AX、≦1で
あるため、オーバフロービットVは0である。右シフト
回路5通過後のデータは1.0000.、、OまたはQ
、xxxx、、、である。これらがビット反転回路7に
よって1.0000、、、は10.1111.、.0゜
xxxは10、xxxx、、、となる。ここにXはXの
反転値である。開平演算における一部の演算の時、すな
わち1/21 (3−A*X、)の演算の時に与えられ
る制御信号(開平)によってマルチプレクサ8はビット
反転回路7からの出力を選択し、開平信号のない時は右
シフト回路5の出力を丸め回路6の一要素である積算器
(インクリメンタ)11へ供給する。開平制御信号の与
えられている時はさらに積算器11においてLSBに「
1」が加えられる。積算器11の出力は他の1つの右シ
フト回路13を介して仮数部出力を出力する。丸め回路
6は積算器111右シフト回路13およびラウンド回路
12を具備し、丸めモードにおいて、マルチプレクサ8
の出力を受は出力を積算器11に供給し、演算出力の丸
めを行う。
積算器11において最上位桁■が11」の時は指数部マ
ルチプレクサ25に信号を送り、積算器23からの出力
を選択し、右シフト回路13で1ビット右シフトを行う
。開平制御の時はオーバフロービットが(すなわち2′
の桁)が「1」であるから1ビット右シフトされる。
従って、上述の積算器11の出力迄で、3−A*X、の
演算が行われ、右シフト回路13によって1/2倍され
、結局1 / 2 * (3−A X i )の演算が
1ステツプで行われる(ここに0<AXi≦1)。
前記実施例の変形例を第2図および第3図を用いて説明
する。第2図には変形例の部分回路図が示される。すな
わち仮数部演算回路における右シフト回路5以下の回路
図が示される。このほかの回路は第1図の回路と同様で
ある。
この回路においてはビット反転回路7の代りにビット反
転回路37が用いられる。ビット反転回路7においては
小数点より下位桁のビットは反転され、上位のビットは
「10」が設定されるが、ビット反転回路37では、上
位ビットの「IO」の設定は行わない。また、右シフト
回路13の代りに変形例では右シフト回路33が用いら
れる。
右シフト回路33の詳細は第3図に示される。この回路
は制御信号Sが「1」であれば各マルチプレクサ41の
左側の入力が選択され、rOJであれば右側の入力が選
択される。制御信号Sが「1」の時、最上位桁(MSB
)の入力は「1」が設定されている。制御信号Sは開平
演算における1/2* (3−A*X、)[ただしO<
AX、≦1]を行う時にrlJとなるよう制御されてい
る。制御信号Sと右シフト回路33の動作によってビッ
ト反転回路7における「10」の設定の省略を可能とし
ている。
〔発明の効果〕
本発明によれば、浮動小数点演算処理装置における簡単
な回路の追加で、開平計算に必要な反復計算を高速化し
、開平演算処理の高速化を実現できる。
【図面の簡単な説明】
第1図は本発明の一実施例としての浮動小数点演算処理
装置の回路図、 第2図は第1図の実施例の変形を示す部分回路図、 第3図は第2図の丸め回路における右シフト回路を示す
回路図、および 第4図は従来例の浮動小数点演算処理装置の回路図であ
る。 図において、 5・・・右シフト回路、 7・・・ビット反転回路、 11・・・積算器、 13・・・右シフト回路、 21 、22・・・加算器、 23 、24・・・積算器、 33・・・右シフト回路、 37・・・ビット反転回路、 である。 ・・・丸め回路、 ・・・マルチプレクサ、 2・・・ラウンド回路、 0・・・整数乗算器、 25・・・マルチプレクサ、 36・・・丸め回路、 41・・・マルチプレクサ、

Claims (1)

  1. 【特許請求の範囲】 1、2つの乗算すべき2進数の仮数部を固定小数点乗算
    器である整数乗算器(20)により乗算し、該乗算値を
    最上位ビットの値に対応して1ビット右シフトする右シ
    フト回路(5)を経て、丸め回路(6)に供給し、該丸
    め回路(6)の出力に乗算された2進数の仮数部が得ら
    れる浮動小数点演算処理装置であって、 前記右シフト回路(5)と丸め回路(6)の間に小数点
    より上の桁に2進数「10」を設定し、小数点より下の
    桁を反転するビット反転回路(7)およびマルチプレク
    サ(8)を設け、開平演算における一部の演算時のみ、
    該ビット反転回路(7)の出力が該マルチプレクサ(8
    )を介して該丸め回路(6)へ供給され、最小桁に「1
    」が加算され、1ビット右シフトされ、前記演算以外の
    時は、該右シフト回路(5)の出力が該マルチプレクサ
    (8)を介して該丸め回路(6)へ供給されるようにし
    た浮動小数点演算処理装置。 2、2つの乗算すべき2進数の仮数部を固定小数点乗算
    器である整数乗算器(20)により乗算し、該乗算値を
    最上位ビットの値に対応して1ビット右シフトする右シ
    フト回路(5)を経て、丸め回路(36)に供給し、該
    丸め回路(36)の出力に乗算された2進数の仮数部が
    得られる浮動小数点演算処理装置であって、 前記右シフト回路(5)と丸め回路(36)の間に、印
    加された数値を反転するビット反転回路(37)および
    マルチプレクサ(8)を設け、開平演算における一部の
    演算時のみ、該ビット反転回路(37)の出力が該マル
    チプレクサ(8)を介して丸め回路(36)へ供給され
    、最小桁に「1」が加算され、1ビット右シフトされ最
    上位桁に「1」が設定され、前記演算以外の時は、該右
    シフト回路(5)の出力が該マルチプレクサ(8)を介
    して該丸め回路(36)へ供給されるようにした浮動小
    数点演算処理装置。
JP63174872A 1988-07-15 1988-07-15 浮動小数点演算処理装置 Expired - Fee Related JP2645422B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP63174872A JP2645422B2 (ja) 1988-07-15 1988-07-15 浮動小数点演算処理装置
US07/374,299 US4999801A (en) 1988-07-15 1989-06-30 Floating point operation unit in division and square root operations
DE68929114T DE68929114T2 (de) 1988-07-15 1989-07-14 Gleitkomma-arithmetische Einheiten
KR1019890010030A KR920005226B1 (ko) 1988-07-15 1989-07-14 부동 소수점 연산장치
EP89307180A EP0351242B1 (en) 1988-07-15 1989-07-14 Floating point arithmetic units

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63174872A JP2645422B2 (ja) 1988-07-15 1988-07-15 浮動小数点演算処理装置

Publications (2)

Publication Number Publication Date
JPH0225924A true JPH0225924A (ja) 1990-01-29
JP2645422B2 JP2645422B2 (ja) 1997-08-25

Family

ID=15986134

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63174872A Expired - Fee Related JP2645422B2 (ja) 1988-07-15 1988-07-15 浮動小数点演算処理装置

Country Status (1)

Country Link
JP (1) JP2645422B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5278782A (en) * 1991-06-03 1994-01-11 Matsushita Electric Industrial Co., Ltd. Square root operation device
JPH0683591A (ja) * 1992-09-07 1994-03-25 Nec Corp 浮動小数点乗算器とそのテスト方式
US5307302A (en) * 1991-06-03 1994-04-26 Matsushita Electric Industrial Co., Ltd. Square root operation device
US5729481A (en) * 1995-03-31 1998-03-17 International Business Machines Corporation Method and system of rounding for quadratically converging division or square root

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5278782A (en) * 1991-06-03 1994-01-11 Matsushita Electric Industrial Co., Ltd. Square root operation device
US5307302A (en) * 1991-06-03 1994-04-26 Matsushita Electric Industrial Co., Ltd. Square root operation device
JPH0683591A (ja) * 1992-09-07 1994-03-25 Nec Corp 浮動小数点乗算器とそのテスト方式
US5729481A (en) * 1995-03-31 1998-03-17 International Business Machines Corporation Method and system of rounding for quadratically converging division or square root
US5737255A (en) * 1995-03-31 1998-04-07 International Business Machines Corporation Method and system of rounding for quadratically converging division or square root

Also Published As

Publication number Publication date
JP2645422B2 (ja) 1997-08-25

Similar Documents

Publication Publication Date Title
EP0351242B1 (en) Floating point arithmetic units
KR100284799B1 (ko) 시프트 수단을 이용한 지수 회로 및 사용 방법
JP3845009B2 (ja) 積和演算装置、及び積和演算方法
JPS60140422A (ja) 演算処理装置
JP2511527B2 (ja) 浮動小数点演算器
JPH0225924A (ja) 浮動小数点演算処理装置
JPH10187416A (ja) 浮動小数点演算装置
JPH0251732A (ja) 浮動小数点演算器
JPH0540605A (ja) 浮動小数点乗算装置
JPH0831024B2 (ja) 演算プロセッサ
JP3517162B2 (ja) 除算・開平演算装置
JP2003223316A (ja) 演算処理装置
Natarajan et al. Arithmetic Operations and Circuits
JP2508286B2 (ja) 平方根演算装置
JPH0285922A (ja) 演算回路
JP2777265B2 (ja) 高基数開平演算装置
JPS6129020B2 (ja)
JP2000347834A (ja) Sw数系による演算回路
JPH06195206A (ja) 除算器
JP3100868B2 (ja) 浮動小数点数のための算術演算装置
JPH0659862A (ja) 乗算器
JPS61118835A (ja) ハ−ドウエア除算器
JPH1185471A (ja) 演算方法および演算装置
JPS63310023A (ja) 符号付固定小数点乗算装置
JPH04160533A (ja) マイクロ・プロセッサ

Legal Events

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