JP3251071B2 - 除算/開平演算方法と演算装置 - Google Patents

除算/開平演算方法と演算装置

Info

Publication number
JP3251071B2
JP3251071B2 JP28750592A JP28750592A JP3251071B2 JP 3251071 B2 JP3251071 B2 JP 3251071B2 JP 28750592 A JP28750592 A JP 28750592A JP 28750592 A JP28750592 A JP 28750592A JP 3251071 B2 JP3251071 B2 JP 3251071B2
Authority
JP
Japan
Prior art keywords
digit
multiplier
bus
unit
input
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
JP28750592A
Other languages
English (en)
Other versions
JPH06139053A (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.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co 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 Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP28750592A priority Critical patent/JP3251071B2/ja
Publication of JPH06139053A publication Critical patent/JPH06139053A/ja
Application granted granted Critical
Publication of JP3251071B2 publication Critical patent/JP3251071B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、ニュートン- ラフソン
(Newton-Raphson)法に基づく収束型演算に関し、特に
検算及び丸めを含む除算/開平演算を高速実行するため
の演算方法と演算装置に関するものである。
【0002】
【従来の技術】除算や開平演算を高速に処理する演算方
式として、ニュートン- ラフソン法に代表される収束型
演算法が用いられる。
【0003】ニュートン- ラフソン法に基づく除算(Z
=X/Y)では、収束因子Ri を除数Yの逆数の近似値
として求め、被除数Xと収束因子Ri との積を求める商
Zとする。用いられる漸化式は、 Ri =Ri-1 ×(2−Ri-1 ×Y) (1) である。ただし、除数Yは1≦Y<2とする。商Zは、 Z=Rn ×X (2) により求められる。
【0004】また、ニュートン- ラフソン法に基づく開
平演算(W=√S)では、収束因子Qi を被演算数Sの
平方根の逆数の近似値として求め、被演算数Sと収束因
子Qi との積を求める平方根Wとする。用いられる漸化
式は、 Qi =(Qi-1 /2)×(3−Qi-1 2 ×S) (3) である。ただし、被演算数Sは1≦S<2とする。平方
根Wは、 W=Qn ×S (4) により求められる。
【0005】ところで、式(2)又は(4)で求められ
た近似解は、演算器の入力桁数と初期値の精度とによっ
て決まる演算誤差を持つ。浮動小数点演算における標準
規格に準拠するためには、上記の方法で求められた近似
解に関して検算を行なうことで剰余を生成し、これを用
いて丸めを施す必要がある。
【0006】以下、ニュートン- ラフソン法に基づく従
来の除算装置の一例について図面を参照しながら説明す
る。
【0007】図5は、従来の除算装置のブロック図であ
る。図5において、101〜113は全てラッチであ
る。このうち101,102はそれぞれ下位桁及び上位
桁乗算部の被乗数側入力ラッチである。103,104
は下位桁乗算部の乗数側入力ラッチ、105,106は
上位桁乗算部の乗数側入力ラッチである。107,10
8は下位桁乗算部の乗算結果用ラッチである。109,
110は冗長2進/2進変換部入力ラッチ、111,1
12は第1及び第2のテンポラリデータラッチ、113
はスティッキービット用ラッチである。
【0008】また、121は下位桁乗算部であり、乗数
下位30桁と被乗数60桁との乗算を実行し、冗長2進
数の演算結果を出力するものである。122は上位桁乗
算部であり、乗数上位32桁と被乗数60桁との乗算
と、該乗算の結果と前記下位桁乗算部121の演算結果
との加算を実行し、冗長2進数の演算結果を出力するも
のである。ここで、乗数上位とは21 〜2-30 の重みを
もつ32桁の数であり、乗数下位とは2-31 〜2-60
重みをもつ30桁の数とする。なお、以下の説明では数
値を表す記号に添字rbを付すことにより、該数値が冗長
2進数であることを示す。123は冗長2進/2進変換
部、124はデータROM、125はスティッキービッ
ト生成部である。141,142はそれぞれ上位桁及び
下位桁Xバス用トライステートバッファである。14
3,144はそれぞれ上位桁及び下位桁Yバス用トライ
ステートバッファである。151〜153はそれぞれ
X、Y、Zバスである。151a,151bはそれぞれ
上位桁及び下位桁Xバス、152a,152bはそれぞ
れ上位桁及び下位桁Yバスである。
【0009】以上のように構成された除算装置につい
て、以下その動作を説明する。ただし、本除算装置では
式(1)に示した漸化式の繰り返し実行回数が3回にな
るように収束因子の初期値R0 の精度を設定しているも
のとする。なお、図5中のE1PH1〜E3PH1は動
作の同期をとるためのクロックであり、検算及び丸めを
含む除算に次の13サイクルを要する。
【0010】第1サイクルにおいて、被除数XはXバス
151を介して第1のテンポラリデータラッチ111に
取り込まれ、除数YはYバス152を介して下位桁乗算
部の被乗数側入力ラッチ101に取り込まれる。データ
ROM124は、下位桁乗算部の被乗数側入力ラッチ1
01に取り込まれた前記除数Yのうちの上位の数ビット
をアドレスとして除数Yの逆数すなわち収束因子の初期
値R0 を供給する。
【0011】第2サイクルにおいて、前記初期値R0 は
上位桁乗算部の乗数側入力ラッチ105を通して上位桁
乗算部122に供給され、前記下位桁乗算部の被乗数側
入力ラッチ101からの除数Yは上位桁乗算部の被乗数
側入力ラッチ102を通して上位桁乗算部122に供給
され、P0 rb=Y×R0 の演算が実行される。
【0012】第3サイクルにおいて、前記上位桁乗算部
122の演算結果P0 rbは上位桁乗算部の乗数側入力ラ
ッチ105及び106を通して再び上位桁乗算部122
に供給され、前記データROM124からの初期値R0
は上位桁乗算部の被乗数側入力ラッチ102を通して上
位桁乗算部122に供給され、前記P0 rbが上位桁乗算
部122において2−P0 rbに変換された後、R1 rb
R0 ×(2−P0 rb)の演算が実行される。
【0013】第4サイクルにおいて、前記上位桁乗算部
122の演算結果R1 rbは上位桁乗算部の乗数側入力ラ
ッチ105及び106を通して再び上位桁乗算部122
に供給され、前記下位桁乗算部の被乗数側入力ラッチ1
01からの除数Yは上位桁乗算部の被乗数側入力ラッチ
102を通して上位桁乗算部122に供給され、P1rb
=Y×R1 rbの演算が実行される。また、第3サイクル
における前記上位桁乗算部122の演算結果R1 rbは冗
長2進/2進変換部入力ラッチ109及び110を通し
て冗長2進/2進変換部123に供給され、冗長2進数
R1 rbが1回目の収束因子としての2進数R1 に変換さ
れる。
【0014】第5サイクルにおいて、前記上位桁乗算部
122の演算結果P1 rbは上位桁乗算部の乗数側入力ラ
ッチ105及び106を通して再び上位桁乗算部122
に供給され、前記冗長2進/2進変換部123の変換結
果R1 は上位桁乗算部の被乗数側入力ラッチ102を通
して上位桁乗算部122に供給され、前記P1 rbが上位
桁乗算部122において2−P1 rbに変換された後、R
2 rb=R1 ×(2−P1 rb)の演算が実行される。
【0015】第6サイクルでは、前記上位桁乗算部12
2の演算結果R2 rbと前記下位桁乗算部の被乗数側入力
ラッチ101からの除数Yとに関して第4サイクルと同
様の処理が実行され、P2 rb(=Y×R2 rb)と2回目
の収束因子R2 とが求められる。
【0016】第7サイクルにおいて、前記上位桁乗算部
122の演算結果P2 rbの下位桁P2lrbは下位桁乗算部
の乗数側入力ラッチ103及び104を通して下位桁乗
算部121に供給され、前記冗長2進/2進変換部12
3の変換結果R2 は下位桁乗算部の被乗数側入力ラッチ
101を通して下位桁乗算部121に供給され、前記P
2lrbは下位桁乗算部121において符号反転された後、
R3Lrb=R2 ×(−P2lrb)の演算が実行される。ま
た、前記上位桁乗算部122の演算結果P2 rbの上位桁
P2hrbは上位桁乗算部の乗数側入力ラッチ105及び1
06にラッチされる。
【0017】第8サイクルにおいて、前記上位桁乗算部
の乗数側入力ラッチ105及び106にラッチされたP
2hrbは上位桁乗算部122に供給され、前記冗長2進/
2進変換部123の変換結果R2 は上位桁乗算部の被乗
数側入力ラッチ102を通して上位桁乗算部122に供
給され、前記下位桁乗算部121の演算結果R3Lrbは下
位桁乗算部の乗算結果用ラッチ107及び108を通し
て上位桁乗算部122に供給され、前記P2hrbは上位桁
乗算部122において2−P2hrbに変換された後、R3
rb=R2 ×(2−P2hrb)+R3Lrbの演算が実行されて
3回目の収束因子R3 rbが求められる。
【0018】第9サイクルにおいて、前記上位桁乗算部
122の演算結果すなわち3回目の収束因子R3 rbの下
位桁R3lrbは下位桁乗算部の乗数側入力ラッチ103及
び104を通して下位桁乗算部121に供給され、前記
第1のテンポラリデータラッチ111にラッチされた被
除数Xは下位桁乗算部の被乗数側入力ラッチ101にラ
ッチされた除数Yと第2のテンポラリデータラッチ11
2を介して交換され、該被乗数側入力ラッチ101から
の被除数Xが下位桁乗算部121に供給されて、下位桁
近似商ZaLrb=X×R3lrbの演算が実行される。また、
前記上位桁乗算部122の演算結果R3 rbの上位桁R3h
rbは、上位桁乗算部の乗数側入力ラッチ105及び10
6にラッチされる。
【0019】第10サイクルにおいて、前記上位桁乗算
部の乗数側入力ラッチ105及び106にラッチされた
R3hrbは上位桁乗算部122に供給され、前記下位桁乗
算部の被乗数側入力ラッチ101にラッチされた被除数
Xは上位桁乗算部の被乗数側入力ラッチ102を通して
上位桁乗算部122に供給され、前記下位桁乗算部12
1の演算結果すなわち下位桁近似商ZaLrbは下位桁乗算
部の乗算結果用ラッチ107及び108を通して上位桁
乗算部122に供給され、該上位桁乗算部122におい
て上位桁を含めた近似商Za rb=X×R3hrb+ZaLrb
演算が実行される。
【0020】第11サイクルにおいて、前記上位桁乗算
部122の演算結果すなわち近似商Za rbの下位桁Zal
rbは下位桁乗算部の乗数側入力ラッチ103及び104
を通して下位桁乗算部121に供給され、前記第1のテ
ンポラリデータラッチ111にラッチされた除数Yは下
位桁乗算部の被乗数側入力ラッチ101を通して下位桁
乗算部121に供給され、該下位桁乗算部121におい
て下位桁検算値XaLrb=Y×Zalrbの演算が実行され
る。また、前記上位桁乗算部122の演算結果すなわち
近似商Za rbの上位桁Zahrbは、上位桁乗算部の乗数側
入力ラッチ105及び106にラッチされる。また、該
上位桁乗算部122の演算結果Za rbは冗長2進/2進
変換部入力ラッチ109及び110を通して冗長2進/
2進変換部123に供給され、2進数への変換と同時に
-54 の重みを持つラウンドビットまでの最近値丸めが
施されて所定ビット数の2進数近似商Za が得られる。
【0021】第12サイクルにおいて、前記上位桁乗算
部の乗数側入力ラッチ105及び106にラッチされた
近似商の上位桁Zahrbは上位桁乗算部122に供給さ
れ、前記下位桁乗算部の被乗数側入力ラッチ101にラ
ッチされた除数Yは上位桁乗算部の被乗数側入力ラッチ
102を通して上位桁乗算部122に供給され、前記下
位桁乗算部121の演算結果すなわち下位桁検算値XaL
rbは下位桁乗算部の乗算結果用ラッチ107及び108
を通して上位桁乗算部122に供給され、該上位桁乗算
部122において上位桁を含めた検算値Xa rb=Y×Z
ahrb+XaLrbが求められる。スティッキービット生成部
125は、該検算値Xa rbよりスティッキービットを決
定する。また、前記冗長2進/2進変換部123からの
近似商Zaは、冗長2進/2進変換部入力ラッチ109
にラッチされる。
【0022】第13サイクルにおいて、前記スティッキ
ービットはスティッキービット用ラッチ113を通して
冗長2進/2進変換部123に供給され、該スティッキ
ービットを用いかつ指定された丸めモードに従って前記
近似商Za に丸め処理を施すことにより最終商Zを得
る。
【0023】開平演算については、図5において下位桁
乗算部の被乗数側入力ラッチ101の後と、Zバス15
3から上位桁乗算部の被乗数側入力ラッチ102に至る
経路と、データROM124の後とにそれぞれ右1桁シ
フタを設けることにより、式(3)の漸化式を用いた開
平演算を、検算及び丸めを含めて16サイクルで実行で
きる。
【0024】
【発明が解決しようとする課題】しかしながら、上記の
ような従来の構成でニュートン- ラフソン法に基づく収
束型の除算又は開平演算を実行する場合、近似解が全桁
求まるまで検算を実行できないので、演算の高速性に限
界があった。また、一方の乗算部(上位桁乗算部12
2)のみに負担がかかり、他方の乗算部(下位桁乗算部
121)を有効に利用できないという問題点を有してい
た。
【0025】特に収束型除算では、式(1)に示すよう
に1回の漸化演算に対して2回の乗算が必要である。全
実行サイクル数は、この漸化演算を初期値R0 の精度に
応じた回数だけ繰り返すことによって決まるものであ
る。したがって、初期値R0 の精度を上げることにより
実行サイクル数を削減することができるが、漸化演算を
1回削減するだけでも膨大な量のメモリ(データROM
124)を用意しておく必要があるという問題点を有し
ていた。
【0026】本発明の目的は、収束型除算/開平演算の
一層の高速化を図ることにある。本発明の他の目的は、
ニュートン- ラフソン法における漸化式を用いて近似商
を得る収束型除算において、1回目の収束因子R1 を1
回の乗算で求め得るようにすることにある。
【0027】
【課題を解決するための手段】上記の目的を達成するた
め、本発明に係る除算方法及び除算装置では、ニュート
ン- ラフソン法における漸化式をn回繰り返し演算する
ことにより得られる収束因子Rn と被除数との積から近
似商を得るにあたって、前記漸化式の収束因子のうち
(n−1)回目の収束因子Rn-1 を用いて上位桁近似商
ZaHを求めかつ該上位桁近似商ZaHに関して上位桁部分
検算を行ない、前記(n−1)回目の収束因子Rn-1 を
用いてn回目の収束因子Rn の下位桁を求め該n回目の
収束因子Rn の下位桁を用いて下位桁近似商ZaLを求め
かつ該下位桁近似商ZaLに関して下位桁部分検算を行な
い、前記上位桁近似商ZaHと下位桁近似商ZaLとの和を
近似商Za としかつ前記上位桁部分検算及び下位桁部分
検算の結果に従って前記近似商Za に関して丸め処理を
実行することとした。特に1回目の収束因子R1 を求め
るためには、初期近似値R0 の2乗値R0 2 を予めテー
ブルとして用意しておくこととした。
【0028】また、本発明に係る開平演算方法及び開平
演算装置では、ニュートン- ラフソン法における漸化式
をn回繰り返し演算することにより得られる収束因子Q
n と被演算数Sとの積から近似解を得るにあたって、前
記漸化式の収束因子のうち(n−1)回目の収束因子Q
n-1 を用いて上位桁近似解WaHを求め、前記(n−1)
回目の収束因子Qn-1 を用いてS×Qn-1 2 の下位桁を
求めたうえ該S×Qn-1 2 の下位桁と前記上位桁近似解
WaHとを用いて下位桁近似解WaLを求め、前記上位桁近
似解WaHと下位桁近似解WaLとの和を近似解Wa とする
こととした。
【0029】
【作用】本発明に係る除算方法及び除算装置によれば、
上位桁近似商ZaHの求解とn回目の収束因子Rn の下位
桁(下位桁近似逆数)の求解とがいずれも(n−1)回
目の収束因子Rn-1 を用いて並列に処理され、また上位
桁近似商ZaHに関する検算と下位桁近似商ZaLの求解と
が並列に処理される。特に初期近似値の2乗値R0 2
予め用意しておけば、1回目の収束因子R1 を求める際
の乗算回数が削減される。
【0030】本発明に係る開平演算方法及び開平演算装
置によれば、上位桁近似解WaHの求解と下位桁近似解W
aLの求解とがいずれも(n−1)回目の収束因子Qn-1
を用いて並列に処理される。また、下位桁近似解WaLの
求解時にはS×Qn-1 2 の下位桁のみが乗数として使用
される。
【0031】
【実施例】以下、本発明の実施例として、各々上位桁乗
算部、下位桁乗算部、冗長2進/2進変換部で構成され
るパイプライン型乗算器を備えた除算装置及び開平演算
装置について説明する。
【0032】(実施例1)本発明の第1の実施例に係る
除算装置では、前記の式(1)から R1 =2R0 −R0 2 ×Y (5) が成立し、したがって1回目の収束因子R1 は初期近似
値R0 の2乗値R0 2 と除数Yとの積と、初期近似値R
0 の2倍値2R0 との差として求められることを利用し
ている。
【0033】また、(n−1)回目の収束因子Rn-1 は
除数Yの逆数の真値にほぼ等しい近似値であることか
ら、 Rn-1 ×Y=1+(Rn-1 ×Y)L (6) が成立する。ただし、(Rn-1 ×Y)L はRn-1 ×Yの
下位桁を表すものである。この式(6)を式(1)に適
用することにより、 Rn =Rn-1 +Rn-1 × /(Rn-1 ×Y)L (7) が得られる。ただし、/ は符号反転を表すものである。
【0034】本発明の除算装置では式(7)の関係を用
い、n回目の収束因子Rn を(n−1)回目の収束因子
Rn-1 と、(Rn-1 ×Y)L の符号反転と(n−1)回
目の収束因子Rn-1 との積との和として扱う。(n−
1)回目の収束因子Rn-1 と除数Yの逆数の真値との誤
差を、近似商Za として必要とする精度の半分以上と
し、かつ(n−1)回目の収束因子Rn-1 を近似商Za
として必要とする精度の桁数の半分とすることにより、
前記(Rn-1 ×Y)L として必要な桁数を(n−1)回
目の収束因子Rn-1 の桁数と同程度にすることができ
る。したがって、n回目の収束因子Rn を求めるための
乗算部の乗数側桁数は、前記(Rn-1 ×Y)Lとして必
要な桁数とすることができる。
【0035】以下、本発明の第1の実施例に係る除算装
置について、図面を参照しながら説明する。
【0036】図1は、本発明の第1の実施例の除算装置
のブロック図である。図1において、1〜14は全てラ
ッチである。このうち1,2はそれぞれ下位桁及び上位
桁乗算部の被乗数側入力ラッチである。3,4はそれぞ
れ下位桁乗算部の第1及び第2の乗数側入力ラッチ、
5,6はそれぞれ上位桁乗算部の第1及び第2の乗数側
入力ラッチである。7,8はそれぞれ下位桁乗算部の第
1及び第2の乗算結果用ラッチである。9,10は冗長
2進/2進変換部入力ラッチ、11,12は第1及び第
2のテンポラリデータラッチ、13,14はスティッキ
ービット生成及び丸め処理データ用ラッチである。
【0037】また、21は下位桁乗算部であり、乗数下
位32桁と被乗数60桁との乗算を実行し、冗長2進数
の演算結果を出力するものである。ここで、乗数下位は
-2 9 〜2-60 の重みをもつ32桁の数とする。22は
上位桁乗算部であり、乗数上位32桁と被乗数60桁と
の乗算と、該乗算の結果と前記下位桁乗算部21の演算
結果との加算を実行し、冗長2進数の演算結果を出力す
るものである。ここで、乗数上位は21 〜2-30 の重み
をもつ32桁の数とする。23は冗長2進/2進変換
部、24は除数Yの逆数の初期近似値R0 についてその
2倍値2R0 と2乗値R0 2 とを格納したデータROM
である。41,42はそれぞれ第1の上位桁及び下位桁
Xバス用トライステートバッファ、43,44はそれぞ
れ第1の上位桁及び下位桁Yバス用トライステートバッ
ファである。45,46はそれぞれ第2の上位桁及び下
位桁Xバス用トライステートバッファ、47,48はそ
れぞれ第2の上位桁及び下位桁Yバス用トライステート
バッファである。51〜53はそれぞれX、Y、Zバス
である。51a,51bはそれぞれ上位桁及び下位桁X
バス、52a,52bはそれぞれ上位桁及び下位桁Yバ
スである。上位桁乗算部22の出力側とXバス51及び
Yバス52との接続を開閉するように、第1の上位桁及
び下位桁Xバス用トライステートバッファ41,42は
上位桁乗算部22の出力側とXバス51との間に、第1
の上位桁及び下位桁Yバス用トライステートバッファ4
3,44は上位桁乗算部22の出力側とYバス52との
間に各々介在している。また、下位桁乗算部21の出力
側とXバス51及びYバス52との接続を開閉するよう
に、第2の上位桁及び下位桁Xバス用トライステートバ
ッファ45,46は下位桁乗算部21の出力側とXバス
51との間に、第2の上位桁及び下位桁Yバス用トライ
ステートバッファ47,48は下位桁乗算部21の出力
側とYバス52との間に各々介在している。
【0038】更に、61はデータアライナであり、上位
桁乗算部22の出力と冗長2進/2進変換部23から出
力されるZバス53上のデータとの桁合わせを行なうも
のである。62はスティッキービット生成及び丸め処理
部であり、上位桁乗算部22で実行された検算の結果を
用いてスティッキービットを生成し、そのスティッキー
ビットを用いかつ指定された丸めモードに従って冗長2
進/2進変換部23の結果を丸めるものである。
【0039】前記複数のラッチのうち下位桁乗算部の被
乗数側入力ラッチ1は、入力側がYバス52とZバス5
3と第1のテンポラリデータラッチ11とに接続されて
おり、下位桁乗算部21の被乗数側と第2のテンポラリ
ラッチ12とデータROM24とにデータを送る。上位
桁乗算部の被乗数側入力ラッチ2は、入力側がZバス5
3と第1のテンポラリデータラッチ11と下位桁乗算部
の被乗数側入力ラッチ1とデータROM24の2R0 出
力側とに接続されており、上位桁乗算部22の被乗数側
にデータを送る。下位桁乗算部の第1の乗数側入力ラッ
チ3は、入力側がZバス53と上位桁及び下位桁Xバス
51a,51bとに接続されており、下位桁乗算部21
の乗数側にデータを送る。下位桁乗算部の第2の乗数側
入力ラッチ4は、入力側が上位桁及び下位桁Yバス52
a,52bに接続されており、下位桁乗算部21の乗数
側にデータを送る。上位桁乗算部の第1の乗数側入力ラ
ッチ5は、入力側がZバス53と上位桁及び下位桁Xバ
ス51a,51bとデータROM24のR0 2 出力側と
に接続されており、上位桁乗算部22の乗数側にデータ
を送る。上位桁乗算部の第2の乗数側入力ラッチ6は、
入力側が上位桁及び下位桁Yバス52a,52bに接続
されており、上位桁乗算部22の乗数側にデータを送
る。下位桁乗算部の第1の乗算結果用ラッチ7は、入力
側が下位桁乗算部21の出力側に接続されており、上位
桁乗算部22の部分積加算部にデータを送る。下位桁乗
算部の第2の乗算結果用ラッチ8は、入力側が下位桁乗
算部21の出力側とデータROM24の2R0 出力側と
に接続されており、上位桁乗算部22の部分積加算部に
データを送る。冗長2進/2進変換部入力ラッチ9,1
0は、入力側がデータアライナ61に接続されており、
冗長2進/2進変換部23にデータを送る。第1のテン
ポラリデータラッチ11の入力側は、Xバス51とZバ
ス53と第2のテンポラリデータラッチ12とに接続さ
れている。2つのテンポラリデータラッチ11,12
は、除数Yと被除数Xと第1近似商の下位桁ZaHl とを
一時的に保存するものである。スティッキービット生成
及び丸め処理データ用ラッチ13,14は、入力側がデ
ータアライナ61に接続されており、スティッキービッ
ト生成及び丸め処理部62にデータを送る。
【0040】以上のように構成された除算装置につい
て、以下図1を参照しながらその動作を説明する。ただ
し、データアライナ61における入出力桁合わせ位置に
ついては図2を参照するものとする。また、本除算装置
では式(1)に示した漸化式の繰り返し実行回数が3回
になるように収束因子の初期値R0 の精度を設定してい
るものとする。なお、図1中のE1PH1〜E3PH1
は動作の同期をとるためのクロックである。本実施例に
よれば、上位桁乗算部22と下位桁乗算部21との並列
動作により、検算及び丸めを含む除算が次の10サイク
ルで完了する。
【0041】第1サイクルにおいて、被除数XはXバス
51を介して第1のテンポラリデータラッチ11に取り
込まれ、除数YはYバス52を介して下位桁乗算部の被
乗数側入力ラッチ1に取り込まれる。データROM24
は、下位桁乗算部の被乗数側入力ラッチ1に取り込まれ
た前記除数Yのうちの上位の数ビットをアドレスとし
て、除数Yの逆数すなわち収束因子の初期値(初期近似
値)R0 の2倍値2R0と2乗値R0 2 とを供給する。
【0042】第2サイクルにおいて、前記データROM
24からの初期値の2乗値R0 2 は上位桁乗算部の第1
の乗数側入力ラッチ5を通して上位桁乗算部22に供給
され、前記下位桁乗算部の被乗数側入力ラッチ1からの
除数Yは上位桁乗算部の被乗数側入力ラッチ2を通して
上位桁乗算部22に供給され、初期近似値の2倍値2R
0 は下位桁乗算部の第2の乗算結果用ラッチ8を通して
上位桁乗算部22に供給され、該初期近似値の2倍値2
R0 が上位桁乗算部22において上位側に桁合わせされ
たうえ、該上位桁乗算部22で−R1 rb=Y×R0 2
2R0 の演算が実行される。
【0043】第3サイクルにおいて、前記上位桁乗算部
22の演算結果−R1 rbは上位桁Xバス51a及び上位
桁Yバス52aを介して上位桁乗算部の乗数側入力ラッ
チ5及び6に供給され、前記下位桁乗算部の被乗数側入
力ラッチ1からの除数Yは上位桁乗算部の被乗数側入力
ラッチ2に供給され、前記演算結果−R1 rbは上位桁乗
算部22の乗数リコーダにおいて符号反転が行なわれ、
該上位桁乗算部22においてP1 rb=Y×R1 rbの演算
が実行される。また、前記上位桁乗算部22の演算結果
R1 rbはデータアライナ61において図2(a)に示す
桁合わせが実行され、冗長2進/2進変換部入力ラッチ
9及び10を通して冗長2進/2進変換部23に供給さ
れ、冗長2進数R1 rbが1回目の収束因子としての2進
数R1 に変換される。
【0044】第4サイクルにおいて、前記上位桁乗算部
22の演算結果P1 rbはXバス51a及びYバス52a
を介して上位桁乗算部の乗数側入力ラッチ5及び6に供
給され、前記変換結果R1 はZバス53を介して上位桁
乗算部の被乗数側入力ラッチ2に供給され、前記P1 rb
は上位桁乗算部22において2−P1 rbに変換された
後、2回目の収束因子R2 rb=R1 ×(2−P1 rb)の
演算が実行される。
【0045】第5サイクルにおいて、前記上位桁乗算部
22の演算結果R2 rbは上位桁Xバス51a及び上位桁
Yバス52aを介して下位桁乗算部の乗数側入力ラッチ
3及び4に供給され、前記除数Yは下位桁乗算部の被乗
数側入力ラッチ1から下位桁乗算部21に供給され、該
下位桁乗算部21においてP2 rb=Y×R2 rbの演算が
実行される。また、前記上位桁乗算部22の演算結果R
2 rbは上位桁Xバス51a及び上位桁Yバス52aを介
して上位桁乗算部の乗数側入力ラッチ5及び6にも供給
され、前記第1のテンポラリデータラッチ11からの被
除数Xは上位桁乗算部の被乗数側入力ラッチ2に供給さ
れ、上位桁乗算部22において第1近似商ZaHrb=X×
R2 rbの演算が実行される。また、前記上位桁乗算部2
2の演算結果R2 rbはデータアライナ61において図2
(a)に示す桁合わせが実行され、冗長2進/2進変換
部入力ラッチ9及び10を通して冗長2進/2進変換部
23に供給され、冗長2進数R2 rbが2回目の収束因子
としての2進数R2 に変換される。このようにして冗長
2進/2進変換部23で得られた2回目の収束因子R2
は、前記の式(7)により、R2 × /(R2 ×Y)L
加算されるべき3回目の収束因子の上位桁とみなされ
る。
【0046】第6サイクルにおいて、前記下位桁乗算部
21の演算結果P2 rbのうちの下位桁P2lrbは下位桁X
バス51b及び下位桁Yバス52bを介して下位桁乗算
部の乗数側入力ラッチ3及び4に供給され、前記冗長2
進/2進変換部23の変換結果R2 はZバス53を介し
て下位桁乗算部の被乗数側入力ラッチ1に供給され、前
記P2lrbが下位桁乗算部21の乗数リコーダにおいて−
P2lrbに変換された後、該下位桁乗算部21において3
回目の収束因子の下位桁R3Lrb=R2 ×(−P2lrb)の
演算が実行される。また、前記上位桁乗算部22の演算
結果すなわち第1近似商ZaHrbのうちの上位桁ZaHh rb
は上位桁Xバス51a及び上位桁Yバス52aを介して
上位桁乗算部の乗数側入力ラッチ5及び6に供給され、
前記下位桁乗算部の被乗数側入力ラッチ1に保持されて
いた除数Yは2回目の収束因子R2 に書き替えられる前
に第2のテンポラリデータラッチ12に退避されるとと
もに上位桁乗算部の被乗数側入力ラッチ2に供給され、
上位桁乗算部22において第1検算値(上位桁検算値)
XaHrb=Y×ZaHh rbが求められる。また、前記上位桁
乗算部22の演算結果すなわち第1近似商ZaHrbのうち
の下位桁ZaHl rbはデータアライナ61において図2
(b)に示す桁合わせが実行され、冗長2進/2進変換
部入力ラッチ9及び10に供給され、冗長2進/2進変
換部23において冗長2進数ZaHl rbが2進数ZaHl に
変換される。
【0047】第7サイクルにおいて、前記下位桁乗算部
21の演算結果R3Lrbは上位桁Xバス51a及び上位桁
Yバス52aを介して下位桁乗算部の乗数側入力ラッチ
3及び4に供給され、前記第1のテンポラリデータラッ
チ11にラッチされた被除数Xは下位桁乗算部の被乗数
側入力ラッチ1に供給され、下位桁乗算部21において
第2近似商の下位桁ZaLl rb=X×R3Lrbの演算が実行
される。また、前記第6サイクルにおける部分検算実行
時にラッチしたZaHh rbは上位桁乗算部の乗数側入力ラ
ッチ5及び6から上位桁乗算部22に供給され、上位桁
乗算部の被乗数側入力ラッチ2から定数1.0が上位桁
乗算部22に供給され、該上位桁乗算部22において第
1近似商の上位桁ZaHh rbが1.0×ZaHh rbの演算に
より復元される。また、前記上位桁乗算部22の演算結
果XaHrbの下位桁XaHl rbはデータアライナ61におい
て図2(b)に示す桁合わせが実行され、冗長2進/2
進変換部入力ラッチ9及び10に供給され、冗長2進/
2進変換部23において冗長2進数XaHl rbが2進数X
aHl に変換される。また、第6サイクルにおいて変換さ
れた前記2進数ZaHl がZバス53を介して第1のテン
ポラリデータラッチ11に供給される。
【0048】第8サイクルにおいて、前記冗長2進/2
進変換部23の演算結果XaHl はZバス53を介して下
位桁乗算部の第1の乗数側入力ラッチ3に供給され、下
位桁乗算部の被乗数側入力ラッチ1から定数1.0が下
位桁乗算部21に供給され、該下位桁乗算部21におい
て第1検算値(上位桁検算値)の下位桁XaHl rbが1.
0×XaHl の演算により復元される。また、前記第1の
テンポラリデータラッチ11からの第1近似商の下位桁
としての2進数ZaHl は上位桁乗算部の被乗数側入力ラ
ッチ2に供給され、前記下位桁乗算部21の演算結果Z
aLl rbは下位桁乗算部の乗算結果用ラッチ7及び8に供
給され、上位桁乗算部の第1の乗数側入力ラッチ5から
定数2-30 が上位桁乗算部22に供給され、該上位桁乗
算部22において前記ZaHl と前記ZaLl rbとの桁合わ
せ及び加算が実行されて、第2近似商ZaLrb=ZaLl rb
×2-30 +ZaHl が求められる。また、前記上位桁乗算
部22で復元された第1近似商の上位桁ZaHh rbはデー
タアライナ61において図2(a)に示す桁合わせが実
行され、冗長2進/2進変換部入力ラッチ9及び10に
供給され、冗長2進/2進変換部23において冗長2進
数ZaHh rbが2進数ZaHh に変換される。
【0049】第9サイクルにおいて、前記上位桁乗算部
22の演算結果すなわち第2近似商ZaLrbは下位桁Xバ
ス51b及び下位桁Yバス52bを介して上位桁乗算部
の乗数側入力ラッチ5及び6に供給され、前記第2のテ
ンポラリデータラッチ12に退避しておいた除数Yは第
1のテンポラリデータラッチ11を介して上位桁乗算部
の被乗数側入力ラッチ2に供給され、前記下位桁乗算部
21で復元された第1検算値の下位桁XaHl rbは下位桁
乗算部の乗算結果用ラッチ7及び8に供給され、上位桁
乗算部22において下位桁検算値XaLrb=Y×ZaLrb
XaHl rbが求められる。また、前記上位桁乗算部22の
演算結果すなわち第2近似商ZaLrbはデータアライナ6
1において前記第1近似商の上位桁としての2進数ZaH
h に対して図2(c)に示す桁合わせが実行され、冗長
2進/2進変換部入力ラッチ9及び10に供給され、冗
長2進/2進変換部23において前記第1近似商の上位
桁ZaHh との加算により近似商Za が求められる。
【0050】第10サイクルにおいて、前記冗長2進/
2進変換部23の出力Za はZバス53を介して冗長2
進/2進変換部入力ラッチ9及び10に供給され、冗長
2進/2進変換部23において丸めモードとスティッキ
ービットの値とにより予想される2つの商が生成され
る。前記下位桁検算値XaLrbのうちの下位桁は、データ
アライナ61において図2(d)に示す桁合わせが実行
されたうえ、スティッキービット生成及び丸め処理デー
タ用ラッチ13及び14に供給される。そして、スティ
ッキービット生成及び丸め処理部62において前記下位
桁検算値XaLrbよりスティッキービットが決定され、前
記冗長2進/2進変換部23で生成された2つの商のう
ちの1つを前記決定されたスティッキービットに基づい
て選択することにより最終商Zが得られる。
【0051】以上のように本実施例によれば、上位桁乗
算部22と下位桁乗算部21とを並列動作可能としたの
で、第5サイクルから第8サイクルにかけての第1近似
商(上位桁近似商)ZaHh の求解と、第5サイクルから
第6サイクルにかけての3回目の収束因子の下位桁(下
位桁近似逆数)R3Lの求解とを並列に処理できる。ま
た、第6サイクルから第8サイクルにかけての第1近似
商(上位桁近似商)ZaHh に関する検算と、第7サイク
ルから第9サイクルにかけての第2近似商(下位桁近似
商)ZaLの求解とを並列に処理できる。これにより、近
似商の全桁数を求めた後に検算を行なっていた従来の演
算方式に比べ、実行サイクル数を削減することができ
る。
【0052】また、第2サイクルの動作に示されるよう
に、初期近似値の2乗値R0 2 と2倍値2R0 とをデー
タROM24に持ち、除数Yと初期近似値の2乗値R0
2 との乗算を実行し、かつ初期近似値の2倍値2R0 を
部分積の1つとすることにより、従来の演算方式に比べ
て乗算回数を削減できる。
【0053】(実施例2)本発明の第2の実施例の開平
演算装置では、(n−1)回目の収束因子Qn-1が被演
算数Sの平方根の逆数の真値にほぼ等しい近似値である
ことから、 S×Qn-1 2 =1+(S×Qn-1 2 L (8) が成立することを利用している。ただし、(S×Qn-1
2 L はS×Qn-1 2 の下位桁を表すものである。この
式(8)を前記の式(3)及び(4)に適用することに
より、 Wa =S×Qn-1 +(S×Qn-1 /2)× /(S×Qn-1 2 L =WaH+WaL (9) が得られる。ただし、Wa は求める近似平方根であり、
/ は符号反転を表すものである。
【0054】本発明の開平演算装置では式(9)の関係
を用い、(n−1)回目の収束因子Qn-1 と被演算数S
との積を上位桁近似解WaHとし、(n−1)回目の収束
因子Qn-1 と被演算数Sとの積の1/2と(S×Qn-1
2 L の符号反転との積を下位桁近似解WaLとし、近似
平方根Wa を上位桁及び下位桁近似解WaH,WaLの和と
して求める。(n−1)回目の収束因子Qn-1 と被演算
数Sの平方根の逆数の真値との誤差を、近似平方根Wa
として必要とする精度の半分以上とし、かつ(n−1)
回目の収束因子Qn-1 を近似平方根Wa として必要とす
る精度の桁数の半分とすることにより、前記(S×Qn-
1 2 L として必要な桁数を(n−1)回目の収束因子
Qn-1 の桁数と同程度にすることができる。したがっ
て、下位桁近似解WaLを求めるための乗算部の乗数側桁
数は、前記(S×Qn-1 2 L として必要な桁数とする
ことができる。
【0055】以下、本発明の第2の実施例に係る開平演
算装置について、図面を参照しながら説明する。
【0056】図3は、本発明の第2の実施例の開平演算
装置のブロック図である。図3において、1〜10,1
3,14は全てラッチである。このうち1,2はそれぞ
れ下位桁及び上位桁乗算部の被乗数側入力ラッチであ
る。3,4はそれぞれ下位桁乗算部の第1及び第2の乗
数側入力ラッチ、5,6はそれぞれ上位桁乗算部の第1
及び第2の乗数側入力ラッチである。7,8はそれぞれ
下位桁乗算部の第1及び第2の乗算結果用ラッチであ
る。9,10は冗長2進/2進変換部入力ラッチ、1
3,14はスティッキービット生成及び丸め処理データ
用ラッチである。
【0057】また、21は下位桁乗算部であり、乗数下
位32桁と被乗数60桁との乗算を実行し、冗長2進数
の演算結果を出力するものである。ここで、乗数下位は
-2 9 〜2-60 の重みをもつ32桁の数とする。22は
上位桁乗算部であり、乗数上位32桁と被乗数60桁と
の乗算と、該乗算の結果と前記下位桁乗算部21の演算
結果との加算を実行し、冗長2進数の演算結果を出力す
るものである。ここで、乗数上位は21 〜2-30 の重み
をもつ32桁の数とする。23は冗長2進/2進変換
部、24は被演算数Sの平方根の逆数の初期近似値Q0
についてその1/2倍値Q0 /2と2乗値Q0 2 とを格
納したデータROMである。32は右1桁シフタであ
る。41,42はそれぞれ第1の上位桁及び下位桁Xバ
ス用トライステートバッファ、43,44はそれぞれ第
1の上位桁及び下位桁Yバス用トライステートバッファ
である。45,46はそれぞれ第2の上位桁及び下位桁
Xバス用トライステートバッファ、47,48はそれぞ
れ第2の上位桁及び下位桁Yバス用トライステートバッ
ファである。51〜53はそれぞれX、Y、Zバスであ
る。51a,51bはそれぞれ上位桁及び下位桁Xバ
ス、52a,52bはそれぞれ上位桁及び下位桁Yバス
である。上位桁乗算部22の出力側とXバス51及びY
バス52との接続を開閉するように、第1の上位桁及び
下位桁Xバス用トライステートバッファ41,42は上
位桁乗算部22の出力側とXバス51との間に、第1の
上位桁及び下位桁Yバス用トライステートバッファ4
3,44は上位桁乗算部22の出力側とYバス52との
間に各々介在している。また、下位桁乗算部21の出力
側とXバス51及びYバス52との接続を開閉するよう
に、第2の上位桁及び下位桁Xバス用トライステートバ
ッファ45,46は下位桁乗算部21の出力側とXバス
51との間に、第2の上位桁及び下位桁Yバス用トライ
ステートバッファ47,48は下位桁乗算部21の出力
側とYバス52との間に各々介在している。
【0058】更に、61はデータアライナであり、上位
桁乗算部22の出力と冗長2進/2進変換部23から出
力されるZバス53上のデータとの桁合わせを行なうも
のである。62はスティッキービット生成及び丸め処理
部であり、上位桁乗算部22で実行された検算の結果を
用いてスティッキービットを生成し、そのスティッキー
ビットを用いかつ指定された丸めモードに従って冗長2
進/2進変換部23の結果を丸めるものである。
【0059】前記複数のラッチのうち下位桁乗算部の被
乗数側入力ラッチ1は、入力側がYバス52とZバス5
3とに接続されており、下位桁乗算部21とデータRO
M24とにデータを送るものである。右1桁シフタ32
は、入力側がZバス53に接続されている。上位桁乗算
部の被乗数側入力ラッチ2は、入力側が下位桁乗算部の
被乗数側入力ラッチ1と右1桁シフタ32とデータRO
M24のQ0 /2出力側とに接続されており、上位桁乗
算部22の被乗数側にデータを送る。下位桁乗算部の第
1の乗数側入力ラッチ3は、入力側がZバス53と上位
桁及び下位桁Xバス51a,51bとに接続されてお
り、下位桁乗算部21の乗数側にデータを送る。下位桁
乗算部の第2の乗数側入力ラッチ4は、入力側が上位桁
及び下位桁Yバス52a,52bに接続されており、下
位桁乗算部21の乗数側にデータを送る。上位桁乗算部
の第1の乗数側入力ラッチ5は、入力側がZバス53と
上位桁及び下位桁Xバス51a,51bとデータROM
24のQ0 2 出力側とに接続されており、上位桁乗算部
22の乗数側にデータを送る。上位桁乗算部の第2の乗
数側入力ラッチ6は、入力側が上位桁及び下位桁Yバス
52a,52bに接続されており、上位桁乗算部22の
乗数側にデータを送る。下位桁乗算部の第1の乗算結果
用ラッチ7は、入力側が下位桁乗算部21の出力側に接
続されており、上位桁乗算部22の部分積加算部にデー
タを送る。下位桁乗算部の第2の乗算結果用ラッチ8
は、入力側が下位桁乗算部21の出力側に接続されてお
り、上位桁乗算部22の部分積加算部にデータを送る。
冗長2進/2進変換部入力ラッチ9,10は、入力側が
データアライナ61に接続されており、冗長2進/2進
変換部23にデータを送る。スティッキービット生成及
び丸め処理データ用ラッチ13,14は、入力側がデー
タアライナ61に接続されており、スティッキービット
生成及び丸め処理部62にデータを送る。
【0060】以上のように構成された開平演算装置につ
いて、以下図3を参照しながらその動作を説明する。た
だし、データアライナ61における入出力桁合わせ位置
については図4を参照するものとする。また、本除算装
置では式(3)に示した漸化式の繰り返し実行回数が3
回になるように収束因子の初期値Q0 の精度を設定して
いるものとする。なお、図3中のE1PH1〜E3PH
1は動作の同期をとるためのクロックである。本実施例
によれば、上位桁乗算部22と下位桁乗算部21との並
列動作により、検算及び丸めを含む開平演算が次の14
サイクルで完了する。
【0061】第1サイクルにおいて、被演算数SはYバ
ス52を介して下位桁乗算部の被乗数側入力ラッチ1に
取り込まれる。データROM24は、下位桁乗算部の被
乗数側入力ラッチ1に取り込まれた前記被演算数Sのう
ちの上位の数ビットをアドレスとして、被演算数Sの平
方根の逆数すなわち収束因子の初期値(初期近似値)Q
0 の2乗値Q0 2 を出力する。
【0062】第2サイクルにおいて、前記データROM
24からの初期値の2乗値Q0 2 は上位桁乗算部の第1
の乗数側入力ラッチ5を通して上位桁乗算部22に供給
され、前記下位桁乗算部の被乗数側入力ラッチ1からの
被演算数Sは上位桁乗算部の被乗数側入力ラッチ2を通
して上位桁乗算部22に供給され、P1 rb=S×Q02
の演算が実行される。また、データROM24は、下位
桁乗算部の被乗数側入力ラッチ1に取り込まれた前記被
演算数Sのうちの上位の数ビットをアドレスとして、被
演算数Sの平方根の逆数すなわち収束因子の初期値(初
期近似値)Q0の1/2倍値Q0 /2を出力する。
【0063】第3サイクルにおいて、前記上位桁乗算部
22の演算結果P1 rbは上位桁Xバス51a及び上位桁
Yバス52aを介して上位桁乗算部の乗数側入力ラッチ
5及び6に供給され、前記データROM24からの初期
近似値の1/2倍値Q0 /2は上位桁乗算部の被乗数側
入力ラッチ2に供給され、前記演算結果P1 rbは上位桁
乗算部22の乗数リコーダにおいて3−P1 rbに変換さ
れた後、該上位桁乗算部22において1回目の収束因子
Q1 rb=(Q0 /2)×(3−P1 rb)の演算が実行さ
れる。
【0064】第4サイクルにおいて、前記上位桁乗算部
22の演算結果Q1 rbは上位桁Xバス51a及び上位桁
Yバス52aを介して上位桁乗算部の乗数側入力ラッチ
5及び6に供給され、前記下位桁乗算部の被乗数側入力
ラッチ1からの被演算数Sは上位桁乗算部の被乗数側入
力ラッチ2に供給され、上位桁乗算部22においてP2
rb=S×Q1 rbの演算が実行される。また、前記上位桁
乗算部22の演算結果Q1 rbはデータアライナ61にお
いて図4(a)に示す桁合わせが実行され、冗長2進/
2進変換部入力ラッチ9及び10に供給され、冗長2進
/2進変換部23において冗長2進数Q1 rbが1回目の
収束因子としての2進数Q1 に変換される。
【0065】第5サイクルにおいて、前記上位桁乗算部
22の演算結果P2 rbは上位桁Xバス51a及び上位桁
Yバス52aを介して上位桁乗算部の乗数側入力ラッチ
5及び6に供給され、前記冗長2進/2進変換部23の
変換結果Q1 はZバス53を介して上位桁乗算部の被乗
数側入力ラッチ2に供給され、上位桁乗算部22におい
てP3 rb=Q1 ×P2 rbの演算が実行される。
【0066】第6サイクルにおいて、前記上位桁乗算部
22の演算結果P3 rbは上位桁Xバス51a及び上位桁
Yバス52aを介して上位桁乗算部の乗数側入力ラッチ
5及び6に供給され、前記冗長2進/2進変換部23の
変換結果Q1 は右1桁シフタ32において桁合わせされ
たうえ上位桁乗算部の被乗数側入力ラッチ2に供給さ
れ、前記演算結果P3 rbは上位桁乗算部22の乗数リコ
ーダにおいて3−P3 rbに変換された後、上位桁乗算部
22において2回目の収束因子Q2 rb=(Q1 /2)×
(3−P3 rb)の演算が実行される。
【0067】第7サイクルにおいて、前記上位桁乗算部
22の演算結果Q2 rbは上位桁Xバス51a及び上位桁
Yバス52aを介して上位桁乗算部の乗数側入力ラッチ
5及び6に供給され、前記下位桁乗算部の被乗数側入力
ラッチ1からの被演算数Sは上位桁乗算部の被乗数側入
力ラッチ2に供給され、上位桁乗算部22においてP4
rb=S×Q2 rbの演算が実行される。また、前記上位桁
乗算部22の演算結果Q2 rbはデータアライナ61にお
いて図4(a)に示す桁合わせが実行され、冗長2進/
2進変換部入力ラッチ9及び10に供給され、冗長2進
/2進変換部23において冗長2進数Q2 rbが2回目の
収束因子としての2進数Q2 に変換される。
【0068】第8サイクルにおいて、前記上位桁乗算部
22の演算結果P4 rbのうちの下位桁P4Lrbは下位桁X
バス51b及び下位桁Yバス52bを介して下位桁乗算
部の乗数側入力ラッチ3及び4に供給され、前記冗長2
進/2進変換部23の変換結果Q2 はZバス53を介し
て下位桁乗算部の被乗数側入力ラッチ1に供給され、下
位桁乗算部21においてP5lrb=Q2 ×P4Lrbの演算が
実行される。また、前記上位桁乗算部22の演算結果P
4 rbのうちの上位桁P4Hrbは上位桁Xバス51a及び上
位桁Yバス52aを介して上位桁乗算部の乗数側入力ラ
ッチ5及び6に供給され、上位桁乗算部の被乗数側入力
ラッチ2に定数1.0が供給され、上位桁乗算部22に
おいて上位桁平方根WaHrb=1.0×P4Hrbの演算が実
行される。また、前記上位桁乗算部22の演算結果P4
rbのうちの下位桁P4Lrbはデータアライナ61において
図4(b)に示す桁合わせが実行され、冗長2進/2進
変換部入力ラッチ9及び10に供給され、冗長2進/2
進変換部23において冗長2進数P4Lrbが2進数P4Lに
変換される。
【0069】第9サイクルにおいて、下位桁乗算部の乗
数側入力ラッチ3に定数1.0が供給され、前記冗長2
進/2進変換部23の変換結果P4LはZバス53を介し
て下位桁乗算部の被乗数側入力ラッチ1に供給され、下
位桁乗算部21においてWaHl rb=P4L×1.0の演算
が実行される。また、上位桁乗算部の乗数側入力ラッチ
5及び6に供給された前記上位桁P4Hrbは保持され、前
記下位桁乗算部の被乗数側入力ラッチ1にラッチされて
いた変換結果すなわち2回目の収束因子Q2 は上位桁乗
算部の被乗数側入力ラッチ2に供給され、前記下位桁乗
算部21の演算結果P5lrbは下位桁乗算部の乗算結果用
ラッチ7及び8に供給され、上位桁乗算部22において
P5 rb=Q2 ×P4Hrb+P5lrbの演算が実行される。ま
た、前記上位桁乗算部22の演算結果WaHrbはデータア
ライナ61において図4(a)に示す桁合わせが実行さ
れ、冗長2進/2進変換部入力ラッチ9及び10に供給
され、冗長2進/2進変換部23において冗長2進数W
aHrbが上位桁平方根としての2進数WaHに変換される。
【0070】第10サイクルにおいて、前記上位桁乗算
部22の演算結果P5 rbのうちの下位桁P5Lrbは下位桁
Xバス51b及び下位桁Yバス52bを介して上位桁乗
算部の乗数側入力ラッチ5及び6に供給され、前記冗長
2進/2進変換部23の変換結果WaHはZバス53を介
して右1桁シフタ32において桁合わせされたうえ上位
桁乗算部の被乗数側入力ラッチ2に供給され、前記下位
桁乗算部21の演算結果WaHl rbは下位桁乗算部の乗算
結果用ラッチ7及び8に供給され、上位桁乗算部22に
おいて下位桁平方根WaLrb=(WaH/2)×(−P5
Lrb)+WaHl rbの演算が実行される。
【0071】第11サイクルにおいて、前記冗長2進/
2進変換部23からの上位桁平方根WaHはZバス53を
介してデータアライナ61に供給され、かつ前記上位桁
乗算部22の演算結果WaLrbとともに該データアライナ
61において図4(c)に示す桁合わせが実行され、冗
長2進/2進変換部入力ラッチ9及び10並びにスティ
ッキービット生成及び丸め処理データ用ラッチ13及び
14に供給され、冗長2進/2進変換部23並びにステ
ィッキービット生成及び丸め処理部62において丸め処
理が実行されて、近似平方根Wa が得られる。
【0072】第12サイクルにおいて、前記冗長2進/
2進変換部23の変換結果Wa はZバス53を介して下
位桁乗算部の被乗数側入力ラッチ1に供給され、その下
位桁WaLはZバス53を介して下位桁乗算部の第1の乗
数側入力ラッチ3に供給され、下位桁乗算部21におい
て下位桁検算値SaLrb=Wa ×WaLが求められる。
【0073】第13サイクルにおいて、前記冗長2進/
2進変換部23の変換結果Wa のうちの上位桁WaHはZ
バス53を介して上位桁乗算部の第1の乗数側入力ラッ
チ5に供給され、かつ前記下位桁乗算部の被乗数側入力
ラッチ1にラッチされていた近似平方根Wa は上位桁乗
算部の被乗数側入力ラッチ2に供給され、前記下位桁乗
算部21の演算結果SaLrbは下位桁乗算部の乗算結果用
ラッチ7及び8に供給され、上位桁乗算部22において
上位桁検算値SaHrb=Wa ×WaH+SaLrbが求められ
る。
【0074】第14サイクルにおいて、前記冗長2進/
2進変換部23の出力Wa はZバス53を介して冗長2
進/2進変換部入力ラッチ9及び10に供給され、冗長
2進/2進変換部23において丸めモードとスティッキ
ービットの値とにより予想される2つの商が生成され
る。前記上位桁検算値SaHrbは、スティッキービット生
成及び丸め処理データ用ラッチ13及び14に供給され
る。そして、スティッキービット生成及び丸め処理部6
2において前記上位桁検算値SaHrbよりスティッキービ
ットが決定され、前記冗長2進/2進変換部23で生成
された2つの商のうちの1つを前記決定されたスティッ
キービットに基づいて選択することにより最終平方根W
が得られる。
【0075】以上のように本実施例によれば、上位桁乗
算部22と下位桁乗算部21とを並列動作可能としたの
で、第7サイクルから第9サイクルにかけての上位桁近
似解WaHの求解と、第8サイクルから第10サイクルに
かけての下位桁近似解WaL=(WaH/2)×(−P5
Lrb)の求解とを並列に処理できる。更に、前記の式
(9)に従って、下位桁近似解WaLの求解時にはS×Q
2 2 の下位桁のみを乗数 /(S×Qn-1 2 L として使
用することにより、従来より実行サイクル数を削減する
ことができる。
【0076】なお、上記第1及び第2の実施例において
記憶手段はデータROMとしたが、PLAやRAMを採
用してもよい。
【0077】
【発明の効果】以上説明してきたとおり本発明に係る除
算方法及び除算装置によれば、上位桁近似商ZaHの求解
とn回目の収束因子Rn の下位桁(下位桁近似逆数)の
求解とがいずれも(n−1)回目の収束因子Rn-1 を用
いて並列に処理され、また上位桁近似商ZaHに関する検
算と下位桁近似商ZaLの求解とが並列に処理されるの
で、収束型除算の一層の高速化が図れる。特に初期近似
値の2乗値R0 2 を予め用意しておけば、1回目の収束
因子R1 を求める際の乗算回数が削減される。
【0078】また、本発明に係る開平演算方法及び開平
演算装置によれば、上位桁近似解WaHの求解と下位桁近
似解WaLの求解とがいずれも(n−1)回目の収束因子
Qn-1 を用いて並列に処理されるので、収束型開平演算
の一層の高速化が図れる。
【図面の簡単な説明】
【図1】本発明の第1の実施例に係る除算装置のブロッ
ク図である。
【図2】図1中のデータアライナにおける入出力桁合わ
せ位置図である。
【図3】本発明の第2の実施例に係る開平演算装置のブ
ロック図である。
【図4】図3中のデータアライナにおける入出力桁合わ
せ位置図である。
【図5】従来の除算装置のブロック図である。
【符号の説明】
1,2 下位桁及び上位桁乗算部の被乗数側入
力ラッチ(第1及び第2のセレクタラッチ) 3,4 下位桁乗算部の第1及び第2の乗数側
入力ラッチ(第3及び第4のセレクタラッチ) 5,6 上位桁乗算部の第1及び第2の乗数側
入力ラッチ(第5及び第6のセレクタラッチ) 7,8 下位桁乗算部の第1及び第2の乗算結
果用ラッチ(第7及び第8のセレクタラッチ) 9,10 冗長2進/2進変換部入力ラッチ(第
1及び第2のデータラッチ) 11,12 第1及び第2のテンポラリデータラッ
チ(第1及び第2のテンポラリラッチ) 13,14 スティッキービット生成及び丸め処理
データ用ラッチ(第3及び第4のデータラッチ) 21,22 下位桁及び上位桁乗算部 23 冗長2進/2進変換部(2進数変換
部) 24 データROM(記憶手段) 32 右1桁シフタ 41〜48 トライステートバッファ(第1〜第8
のデータバス遮断用トライステートバッファ) 51〜53 X、Y、Zバス 51a,51b 上位桁及び下位桁Xバス 52a,52b 上位桁及び下位桁Yバス 61 データアライナ 62 スティッキービット生成及び丸め処理

Claims (10)

    (57)【特許請求の範囲】
  1. 【請求項1】 ニュートン- ラフソン法における漸化式
    をn回繰り返し演算することにより得られる収束因子R
    n と被除数との積から近似商を得る収束型除算方法であ
    って、 前記漸化式の収束因子のうち(n−1)回目の収束因子
    Rn-1 を用いて上位桁近似商ZaHを求め、かつ該上位桁
    近似商ZaHに関して上位桁部分検算を行ない、 前記(n−1)回目の収束因子Rn-1 を用いてn回目の
    収束因子Rn の下位桁を求め、該n回目の収束因子Rn
    の下位桁を用いて下位桁近似商ZaLを求め、かつ該下位
    桁近似商ZaLに関して下位桁部分検算を行ない、 前記上位桁近似商ZaHと下位桁近似商ZaLとの和を近似
    商Za とし、かつ前記上位桁部分検算及び下位桁部分検
    算の結果に従って前記近似商Za に関して丸め処理を実
    行することを特徴とする除算方法。
  2. 【請求項2】 ニュートン- ラフソン法における漸化式
    をn回繰り返し演算することにより得られる収束因子Q
    n と被演算数Sとの積から近似解を得る収束型開平演算
    方法であって、 前記漸化式の収束因子のうち(n−1)回目の収束因子
    Qn-1 を用いて上位桁近似解WaHを求め、 前記(n−1)回目の収束因子Qn-1 を用いてS×Qn-
    1 2 の下位桁を求めたうえ、該S×Qn-1 2 の下位桁と
    前記上位桁近似解WaHとを用いて下位桁近似解WaLを求
    め、 前記上位桁近似解WaHと下位桁近似解WaLとの和を近似
    解Wa とすることを特徴とする開平演算方法。
  3. 【請求項3】 ニュートン- ラフソン法における漸化式
    を用いて近似商を得る収束型除算を実行するための除算
    装置であって、 除数Yをアドレスとして該除数Yの逆数の初期近似値R
    0 とその2乗値R0 2とを読み出すための記憶手段と、 前記2乗値R0 2 と除数Yとの積と、部分積としての前
    記初期近似値R0 の2倍値2R0 との差を1回目の収束
    因子R1 として求めるための乗算手段とを備えたことを
    特徴とする除算装置。
  4. 【請求項4】 ニュートン- ラフソン法における漸化式
    をn回繰り返し演算することにより得られる収束因子R
    n と被除数Xとの積から近似商Za を求め、検算の結果
    に応じて前記近似商Za に丸め処理を施すことにより最
    終商Zを求めるための除算装置であって、 それぞれ乗数入力側と被乗数入力側とを持つ上位桁及び
    下位桁乗算部と、2進数変換部と、記憶手段と、スティ
    ッキービット生成及び丸め処理部とを備え、 前記記憶手段から除数Yの逆数の初期近似値の2乗値R
    0 2 を読み出して前記上位桁乗算部の乗数側から入力
    し、かつ除数Yを該上位桁乗算部の被乗数側から入力
    し、前記記憶手段から除数Yの逆数の初期近似値の2倍
    値2R0 を読み出して該上位桁乗算部の部分積として入
    力することにより1回目の収束因子R1 を求め、 (i−1)回目の収束因子Ri-1 を前記上位桁乗算部の
    乗数側から入力し、かつ除数Yを該上位桁乗算部の被乗
    数側から入力してY×Ri-1 を生成し、同時に前記(i
    −1)回目の収束因子Ri-1 を前記2進数変換部で変換
    し、前記演算結果Y×Ri-1 を再度前記上位桁乗算部の
    乗数側から入力して2−Y×Ri-1 とし、かつ前記2進
    数変換部で変換した(i−1)回目の収束因子Ri-1 を
    前記上位桁乗算部の被乗数側から入力することにより2
    回目から(n−1)回目までの収束因子Ri (2≦i≦
    n−1)を求め、 (n−1)回目の収束因子Rn-1 を前記下位桁乗算部の
    乗数側から入力し、かつ除数Yを該下位桁乗算部の被乗
    数側から入力してY×Rn-1 を生成し、同時に前記(n
    −1)回目の収束因子Rn-1 を前記2進数変換部で変換
    し、前記演算結果Y×Rn-1 の下位桁を再度前記下位桁
    乗算部の乗数側から入力して符号反転し、かつ前記2進
    数変換部で変換した(n−1)回目の収束因子Rn-1 を
    前記下位桁乗算部の被乗数側から入力することによりn
    回目の収束因子Rn の下位桁RnLを求め、 前記(n−1)回目の収束因子Rn-1 をn回目の収束因
    子Rn の上位桁RnHとして前記上位桁乗算部の乗数側か
    ら入力し、かつ被除数Xを該上位桁乗算部の被乗数側か
    ら入力して第1近似商ZaHを求め、前記n回目の収束因
    子Rn の下位桁RnLを前記下位桁乗算部の乗数側から入
    力し、かつ被除数Xを該下位桁乗算部の被乗数側から入
    力して第2近似商ZaLを求め、前記第1近似商ZaHと第
    2近似商ZaLとを前記2進数変換部に入力して加算を実
    行することにより前記近似商Zaを求め、 前記第1近似商ZaHの上位桁ZaHh を前記上位桁乗算部
    の乗数側から入力し、かつ除数Yを該上位桁乗算部の被
    乗数側から入力して前記第1近似商ZaHの上位桁ZaHh
    に関する上位桁検算値XaHを求め、前記第1近似商ZaH
    の下位桁ZaHlを第2近似商ZaLに加えたものを前記上
    位桁乗算部の乗数側から入力し、かつ除数Yを該上位桁
    乗算部の被乗数側から入力し、前記第1近似商ZaHの下
    位桁ZaHl と第2近似商ZaLとの和に関する下位桁検算
    値XaLを求めることにより検算を実行し、 該検算の結果から前記近似商Za に加えるべきスティッ
    キービットを生成し、 該スティッキービットを用いかつ指定された丸めモード
    に従って前記近似商Za の丸めを実行することにより前
    記最終商Zを求めるように構成されたことを特徴とする
    除算装置。
  5. 【請求項5】 ニュートン- ラフソン法における漸化式
    をn回繰り返し演算することにより得られる収束因子R
    n と被除数Xとの積から近似商Za を求め、検算の結果
    に応じて前記近似商Za に丸め処理を施すことにより最
    終商Zを求めるための除算装置であって、 それぞれ乗数入力側と被乗数入力側とを持つ上位桁及び
    下位桁乗算部と、 冗長2進数を2進数に変換するための2進数変換部と、 データ転送のためのXバス、Yバス及びZバスと、 除数Yの上位の所定ビットをアドレスとして該除数Yの
    逆数の初期近似値R0の2倍値2R0 と2乗値R0 2
    を出力するための記憶手段と、 前記上位桁乗算部の出力と前記2進数変換部の出力とを
    各々所定の桁位置に合わせて該2進数変換部に供給する
    ためのデータアライナと、 前記丸め処理のためのスティッキービット生成及び丸め
    処理部と、 前記上位桁乗算部の出力側と前記Xバス及びYバスとの
    接続を開閉するための第1〜第4のデータバス遮断用ト
    ライステートバッファと、 前記下位桁乗算部の出力側と前記Xバス及びYバスとの
    接続を開閉するための第5〜第8のデータバス遮断用ト
    ライステートバッファと、 入力側が前記Xバス及びZバスに接続された第1のテン
    ポラリラッチと、 入力側が前記Yバス及びZバスと前記第1のテンポラリ
    ラッチの出力側とに接続され、かつ出力側が前記下位桁
    乗算部の被乗数側と前記記憶手段のアドレス入力側とに
    接続された第1のセレクタラッチと、 前記第1のセレクタラッチの出力側と前記第1のテンポ
    ラリラッチの入力側との間に介在した第2のテンポラリ
    ラッチと、 入力側が前記Zバスと前記第1のテンポラリラッチの出
    力側と前記第1のセレクタラッチの出力側と前記記憶手
    段の2R0 出力側とに接続され、かつ出力側が前記上位
    桁乗算部の被乗数側に接続された第2のセレクタラッチ
    と、 入力側が前記Zバスと前記Xバスの上位側及び下位側バ
    スとに接続され、かつ出力側が前記下位桁乗算部の乗数
    側に接続された第3のセレクタラッチと、 入力側が前記Yバスの上位側及び下位側バスに接続さ
    れ、かつ出力側が前記下位桁乗算部の乗数側に接続され
    た第4のセレクタラッチと、 入力側が前記Zバスと前記Xバスの上位側及び下位側バ
    スと前記記憶手段のR0 2 出力側とに接続され、かつ出
    力側が前記上位桁乗算部の乗数側に接続された第5のセ
    レクタラッチと、 入力側が前記Yバスの上位側及び下位側バスに接続さ
    れ、かつ出力側が前記上位桁乗算部の乗数側に接続され
    た第6のセレクタラッチと、 入力側が前記下位桁乗算部の正出力側に接続され、かつ
    出力側が前記上位桁乗算部の部分積加算部に接続された
    第7のセレクタラッチと、 入力側が前記下位桁乗算部の負出力側に接続され、かつ
    出力側が前記上位桁乗算部の部分積加算部に接続された
    第8のセレクタラッチと、 前記データアライナの出力側と前記2進数変換部との間
    に介在した第1及び第2のデータラッチと、 前記データアライナの出力側と前記スティッキービット
    生成及び丸め処理部との間に介在した第3及び第4のデ
    ータラッチとを備え、 前記Yバスを介して供給される除数Yを前記第1のセレ
    クタラッチに保持すると同時に該除数Yで前記記憶手段
    をアクセスすることにより初期近似値の2倍値2R0 と
    2乗値R0 2 とをそれぞれ前記第8及び第5のセレクタ
    ラッチに供給し、除数Yを前記第2のセレクタラッチに
    供給し、前記上位桁乗算部においてR1=2R0 −Y×
    R0 2 を実行することによりその演算結果として1回目
    の収束因子R1 を求め、 前記上位桁乗算部の演算結果Ri-1 を前記Xバス及びY
    バスを介して前記第5及び第6のセレクタラッチに供給
    し、除数Yを前記第2のセレクタラッチに供給し、前記
    上位桁乗算部においてY×Ri-1 を実行し、同時に前記
    データアライナを通して(i−1)回目の収束因子Ri-
    1 を前記第1及び第2のデータラッチに供給し、これを
    前記2進数変換部で変換し、前記演算結果Y×Ri-1 を
    前記Xバス及びYバスを介して前記第5及び第6のセレ
    クタラッチに供給し、前記2進数変換部で変換した(i
    −1)回目の収束因子Ri-1 を前記Zバスを介して前記
    第2のセレクタラッチに供給し、前記上位桁乗算部の乗
    数側入力部において前記演算結果Y×Ri-1 を2−Y×
    Ri-1 としたうえ、Ri =Ri-1 ×(2−Y×Ri-1 )
    を実行することによりその演算結果としてi回目の収束
    因子Ri (2≦i≦n−1)を求め、 前記上位桁乗算部の演算結果としての(n−1)回目の
    収束因子Rn-1 を前記Xバス及びYバスを介して前記第
    3及び第4のセレクタラッチに供給し、除数Yは前記第
    1のセレクタラッチから前記下位桁乗算部へ供給し、該
    下位桁乗算部においてY×Rn-1 を実行し、同時に前記
    データアライナを通して(n−1)回目の収束因子Rn-
    1 を前記第1及び第2のデータラッチに供給し、これを
    前記2進数変換部で変換し、前記演算結果Y×Rn-1 の
    下位桁を前記Xバス及びYバスを介して前記第3及び第
    4のセレクタラッチに供給し、前記2進数変換部で変換
    した(n−1)回目の収束因子Rn-1 を前記Zバスを介
    して前記第1のセレクタラッチに供給し、前記下位桁乗
    算部の乗数側入力部において前記演算結果Y×Rn-1 の
    下位桁を(−Y×Rn-1 )L とし、RnL=Rn-1 ×(−
    Y×Rn-1 )L を実行することによりその演算結果とし
    てn回目の収束因子Rn の下位桁RnLを求め、 前記(n−1)回目の収束因子Rn-1 を前記Xバス及び
    Yバスを介して前記第5及び第6のセレクタラッチに供
    給し、被除数Xを前記第1のテンポラリラッチから前記
    第2のセレクタラッチに供給し、前記上位桁乗算部にお
    いてZaH=X×Rn-1 を実行することにより第1近似商
    ZaHを求め、該第1近似商ZaHの上位桁を前記データア
    ライナを通して前記第1及び第2のデータラッチに供給
    し、これを前記2進数変換部で変換して第1近似商ZaH
    の上位桁ZaHh を得、前記第1近似商ZaHの下位桁を前
    記データアライナを通して前記第1及び第2のデータラ
    ッチに供給し、これを前記2進数変換部で変換して第1
    近似商ZaHの下位桁ZaHlを得、前記n回目の収束因子
    Rn の下位桁RnLを前記Xバス及びYバスを介して前記
    第3及び第4のセレクタラッチに供給し、被除数Xを前
    記第1のテンポラリラッチから前記第1のセレクタラッ
    チに供給し、前記下位桁乗算部においてZaLl =X×R
    nLを実行することにより第2近似商の下位桁ZaLl を求
    めてこれを前記第7及び第8のセレクタラッチに供給
    し、前記第1近似商ZaHの下位桁ZaHlを前記Zバスを
    介して前記第2のセレクタラッチに供給し、前記上位桁
    乗算部においてZaL=ZaLl +ZaHl の桁合わせ演算に
    より第2近似商ZaLを求め、前記第1近似商ZaHの上位
    桁ZaHh と前記第2近似商ZaLとを前記データアライナ
    において桁合わせし、これを前記第1及び第2のデータ
    ラッチに供給し、前記2進数変換部でZa =ZaHh +Z
    aLの加算を実行することによりその演算結果として前記
    近似商Za を求め、 前記第1近似商ZaHの上位桁ZaHh を前記Xバス及びY
    バスを介して前記第5及び第6のセレクタラッチに供給
    し、除数Yを前記第2のセレクタラッチに供給し、前記
    上位桁乗算部においてXaH=Y×ZaHh を実行すること
    により前記第1近似商ZaHの上位桁ZaHh に関する第1
    検算値XaHを求め、前記第2近似商ZaLを前記Xバス及
    びYバスを介して前記第5及び第6のセレクタラッチに
    供給し、除数Yを前記第2のセレクタラッチに供給し、
    前記上位桁乗算部においてXaL=Y×ZaLを実行するこ
    とにより前記第2近似商ZaLに関する第2検算値XaLを
    求め、 前記両検算値XaH及びXaLから前記近似商Za に加える
    べきスティッキービットを生成し、 該スティッキービットを用いかつ指定された丸めモード
    に従って前記近似商Za の丸めを実行することにより前
    記最終商Zを求めるように構成されたことを特徴とする
    除算装置。
  6. 【請求項6】 ニュートン- ラフソン法における漸化式
    をn回繰り返し演算することにより得られる収束因子Q
    n と被演算数Sとの積から近似解Wa を得るための開平
    演算装置であって、 それぞれ乗数入力側と被乗数入力側とを持つ上位桁及び
    下位桁乗算部と、2進数変換部と、記憶手段と、右1桁
    シフタとを備え、 前記記憶手段から被演算数Sの平方根の逆数の初期近似
    値の2乗値Q0 2 を読み出して前記上位桁乗算部の乗数
    側から入力し、かつ被演算数Sを該上位桁乗算部の被乗
    数側から入力してS×Q0 2 を生成し、該S×Q0 2
    前記上位桁乗算部の乗数側から入力して3−S×Q0 2
    とし、かつ前記記憶手段から被演算数Sの平方根の逆数
    の初期近似値の1/2倍値Q0 /2を読み出して前記上
    位桁乗算部の被乗数側から入力することにより1回目の
    収束因子Q1 を求め、 (i−1)回目の収束因子Qi-1 を前記上位桁乗算部の
    乗数側から入力し、かつ被演算数Sを該上位桁乗算部の
    被乗数側から入力してS×Qi-1 を生成し、同時に前記
    (i−1)回目の収束因子Qi-1 を前記2進数変換部で
    変換し、前記演算結果S×Qi-1 を再度前記上位桁乗算
    部の乗数側から入力し、かつ前記2進数変換部で変換し
    た(i−1)回目の収束因子Qi-1 を前記上位桁乗算部
    の被乗数側から入力してS×Qi-1 2 を生成し、前記演
    算結果S×Qi-1 を再度前記上位桁乗算部の乗数側から
    入力して3−S×Qi-1 2 とし、かつ前記2進数変換部
    で変換した(i−1)回目の収束因子Qi-1 を前記右1
    桁シフタにおいて桁合わせして前記上位桁乗算部の被乗
    数側から入力することにより2回目から(n−1)回目
    までの収束因子Qi (2≦i≦n−1)を求め、 (n−1)回目の収束因子Qn-1 を前記上位桁乗算部の
    乗数側から入力し、かつ被演算数Sを該上位桁乗算部の
    被乗数側から入力してS×Qn-1 を生成し、同時に前記
    (n−1)回目の収束因子Qn-1 を前記2進数変換部で
    変換し、前記演算結果S×Qn-1 の下位桁を再度前記下
    位桁乗算部の乗数側から入力し、かつ前記(n−1)回
    目の収束因子Qn-1 を該下位桁乗算部の被乗数側から入
    力し、前記演算結果S×Qn-1 の上位桁を再度前記上位
    桁乗算部の乗数側から入力し、かつ前記(n−1)回目
    の収束因子Qn-1 を該上位桁乗算部の被乗数側から入力
    し、演算結果としてS×Qn-1 2 を得、同時に前記演算
    結果S×Qn-1 を前記2進数変換部で変換して上位桁近
    似解WaHとし、 前記演算結果S×Qn-1 2 の下位桁を前記上位桁乗算部
    の乗数側から入力しかつ符号反転して(−S×Qn-1
    2 L とし、かつ前記2進数変換部で変換した前記演
    算結果S×Qn-1 を前記右1桁シフタにおいて桁合わせ
    して前記上位桁乗算部の被乗数側から入力することによ
    り下位桁近似解WaLを求め、 前記上位桁近似解WaHと下位桁近似解WaLとの和として
    前記近似解Wa を求めるように構成されたことを特徴と
    する開平演算装置。
  7. 【請求項7】 ニュートン- ラフソン法における漸化式
    をn回繰り返し演算することにより得られる収束因子Q
    n と被演算数Sとの積から近似解Wa を得るための開平
    演算装置であって、 それぞれ乗数入力側と被乗数入力側とを持つ上位桁及び
    下位桁乗算部と、 冗長2進数を2進数に変換するための2進数変換部と、 データ転送のためのXバス、Yバス及びZバスと、 被演算数Sの上位の所定ビットをアドレスとして該被演
    算数Sの平方根の逆数の初期近似値Q0 の1/2倍値Q
    0 /2と2乗値Q0 2 とを出力するための記憶手段と、 前記上位桁乗数部の出力と前記2進数変換部の出力とを
    各々所定の桁位置に合わせて該2進数変換部に供給する
    ためのデータアライナと、 前記近似解Wa の丸め処理を実行するためのスティッキ
    ービット生成及び丸め処理部と、 前記上位桁乗算部の出力側と前記Xバス及びYバスとの
    接続を開閉するための第1〜第4のデータバス遮断用ト
    ライステートバッファと、 前記下位桁乗算部の出力側と前記Xバス及びYバスとの
    接続を開閉するための第5〜第8のデータバス遮断用ト
    ライステートバッファと、 入力側が前記Yバス及びZバスに接続された第1のセレ
    クタラッチと、 入力側が前記Zバスに接続された右1桁シフタと、 入力側が前記第1のセレクタラッチの出力側と前記右1
    桁シフタの出力側と前記記憶手段のQ0 /2出力側とに
    接続され、かつ出力側が前記上位桁乗算部の被乗数側に
    接続された第2のセレクタラッチと、 入力側が前記Zバスと前記Xバスの上位側及び下位側バ
    スとに接続され、かつ出力側が前記下位桁乗算部の乗数
    側に接続された第3のセレクタラッチと、 入力側が前記Yバスの上位側及び下位側バスに接続さ
    れ、かつ出力側が前記下位桁乗算部の乗数側に接続され
    た第4のセレクタラッチと、 入力側が前記Zバスと前記Xバスの上位側及び下位側バ
    スと前記記憶手段のQ0 2 出力側とに接続され、かつ出
    力側が前記上位桁乗算部の乗数側に接続された第5のセ
    レクタラッチと、 入力側が前記Yバスの上位側及び下位側バスに接続さ
    れ、かつ出力側が前記上位桁乗算部の乗数側に接続され
    た第6のセレクタラッチと、 入力側が前記下位桁乗算部の出力側に接続され、かつ出
    力側が前記上位桁乗算部の部分積加算部に接続された第
    7及び第8のセレクタラッチと、 前記データアライナの出力側と前記2進数変換部との間
    に介在した第1及び第2のデータラッチと、 前記データアライナの出力側と前記スティッキービット
    生成及び丸め処理部との間に介在した第3及び第4のデ
    ータラッチとを備え、 前記Yバスを介して供給される被演算数Sを前記第1の
    セレクタラッチに保持すると同時に該被演算数Sで前記
    記憶手段をアクセスすることにより初期近似値の2乗値
    Q0 2 を前記第5のセレクタラッチに供給し、被演算数
    Sを前記第2のセレクタラッチに供給し、前記上位桁乗
    算部においてS×Q0 2 を実行したうえ、被演算数Sで
    前記記憶手段をアクセスすることにより初期近似値の1
    /2倍値Q0 /2を前記第2のセレクタラッチに供給
    し、前記演算結果S×Q0 2 を前記Xバス及びYバスを
    介して前記第5及び第6のセレクタラッチに供給し、前
    記上位桁乗算部の乗数側入力部において前記演算結果S
    ×Q0 2 を3−S×Q0 2 としたうえ、Q1 =(Q0 /
    2)×(3−S×Q0 2 )を実行することによりその演
    算結果として1回目の収束因子Q1 を求め、 前記上位桁乗算部の演算結果Qi-1 を前記Xバス及びY
    バスを介して前記第5及び第6のセレクタラッチに供給
    し、被演算数Sを前記第2のセレクタラッチに供給し、
    前記上位桁乗算部においてS×Qi-1 を実行し、同時に
    前記データアライナを通して(i−1)回目の収束因子
    Qi-1 を前記第1及び第2のデータラッチに供給し、こ
    れを前記2進数変換部で変換し、前記演算結果S×Qi-
    1 を前記Xバス及びYバスを介して前記第5及び第6の
    セレクタラッチに供給し、前記2進数変換部で変換した
    (i−1)回目の収束因子Qi-1 を前記Zバスを介して
    前記第2のセレクタラッチに供給し、前記上位桁乗算部
    においてS×Qi-1 2 を実行し、前記演算結果S×Qi-
    1 2 を前記Xバス及びYバスを介して前記第5及び第6
    のセレクタラッチに供給し、前記2進数変換部で変換し
    た(i−1)回目の収束因子Qi-1 を前記Zバスを介し
    て前記右1桁シフタに供給し、桁合わせの後に前記第2
    のセレクタラッチに供給し、前記上位桁乗算部の乗数側
    入力部において前記演算結果S×Qi-1 2 を3−S×Q
    i-1 2 としたうえ、Qi =(Qi-1 /2)×(3−S×
    Qi-1 2 )を実行することによりその演算結果としてi
    回目の収束因子Qi (2≦i≦n−1)を求め、 前記上位桁乗算部の演算結果としての(n−1)回目の
    収束因子Qn-1 を前記Xバス及びYバスを介して前記第
    5及び第6のセレクタラッチに供給し、被演算数Sを前
    記第2のセレクタラッチに供給し、前記上位桁乗算部に
    おいてS×Qn-1 を実行し、同時に前記データアライナ
    を通して(n−1)回目の収束因子Qn-1 を前記第1及
    び第2のデータラッチに供給し、これを前記2進数変換
    部で変換し、前記演算結果S×Qn-1 の下位桁を前記X
    バス及びYバスを介して前記第3及び第4のセレクタラ
    ッチに供給し、前記2進数変換部で変換した(n−1)
    回目の収束因子Qn-1 を前記Zバスを介して前記第1の
    セレクタラッチに供給し、Qn-1 ×(S×Qn-1 )L
    実行し、前記演算結果S×Qn-1 の上位桁を前記Xバス
    及びYバスを介して前記第5及び第6のセレクタラッチ
    に供給し、前記2進数変換部で変換した(n−1)回目
    の収束因子Qn-1 を前記Zバスを介して前記第2のセレ
    クタラッチに供給し、前記演算結果Qn-1 ×(S×Qn-
    1 )L を前記第7及び第8のセレクタラッチに供給し、
    S×Qn-1 2 を実行し、同時に前記データアライナを通
    して前記演算結果S×Qn-1 を前記第1及び第2のデー
    タラッチに供給し、これを前記2進数変換部で変換し、
    前記演算結果S×Qn-1 2 の下位桁を前記Xバス及びY
    バスを介して前記第5及び第6のセレクタラッチに供給
    し、前記2進数変換部で変換したS×Qn-1 を前記Zバ
    スを介して前記右1桁シフタに供給し、桁合わせの後に
    前記第2のセレクタラッチに供給し、前記上位桁乗算部
    の乗数側入力部において前記演算結果S×Qn-1 2 の下
    位桁を(−S×Qn-1 2 L とし、(S×Qn-1 /2)
    ×(−S×Qn-1 2 L を実行することによりその演算
    結果として下位桁近似解WaLを求め、前記演算結果S×
    Qn-1 と前記下位桁近似解WaLとを前記データアライナ
    で桁合わせして前記第1及び第2のデータラッチに供給
    し、前記2進数変換部でWa =S×Qn-1 +WaLの加算
    を実行することによりその演算結果として前記近似解W
    a を求めるように構成されたことを特徴とする開平演算
    装置。
  8. 【請求項8】 請求項4又は5に記載の除算装置におい
    て、 前記下位桁乗算部は、被乗数側が60桁の2進数入力、
    乗数側が32桁の冗長2進数入力であり、乗数側入力を
    符号反転値として扱うことが可能であり、演算結果を冗
    長2進数として出力することを特徴とする除算装置。
  9. 【請求項9】 請求項4又は5に記載の除算装置におい
    て、 前記上位桁乗算部は、被乗数側が60桁の2進数入力、
    乗数側が32桁の冗長2進数入力であり、乗数側入力を
    2との減算値として扱うことが可能でありかつ前記下位
    桁乗算部の出力を部分積の1つとして加算でき、演算結
    果を冗長2進数として出力することを特徴とする除算装
    置。
  10. 【請求項10】 請求項6又は7に記載の開平演算装置
    において、 前記上位桁乗算部は、被乗数側が60桁の2進数入力、
    乗数側が32桁の冗長2進数入力であり、乗数側入力を
    3との減算値として又は符号反転値として扱うことが可
    能でありかつ前記下位桁乗算部の出力を部分積の1つと
    して加算でき、演算結果を冗長2進数として出力するこ
    とを特徴とする開平演算装置。
JP28750592A 1992-10-26 1992-10-26 除算/開平演算方法と演算装置 Expired - Fee Related JP3251071B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP28750592A JP3251071B2 (ja) 1992-10-26 1992-10-26 除算/開平演算方法と演算装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP28750592A JP3251071B2 (ja) 1992-10-26 1992-10-26 除算/開平演算方法と演算装置

Publications (2)

Publication Number Publication Date
JPH06139053A JPH06139053A (ja) 1994-05-20
JP3251071B2 true JP3251071B2 (ja) 2002-01-28

Family

ID=17718212

Family Applications (1)

Application Number Title Priority Date Filing Date
JP28750592A Expired - Fee Related JP3251071B2 (ja) 1992-10-26 1992-10-26 除算/開平演算方法と演算装置

Country Status (1)

Country Link
JP (1) JP3251071B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001046796A1 (fr) * 1999-12-22 2001-06-28 Wataru Ogata Systeme de calcul utilisant la methode de newton-raphson

Also Published As

Publication number Publication date
JPH06139053A (ja) 1994-05-20

Similar Documents

Publication Publication Date Title
JP2622896B2 (ja) 除算装置
JPS6347874A (ja) 算術演算装置
Kanhe et al. Design and implementation of floating point multiplier based on vedic multiplication technique
Oberman et al. A high-performance area-efficient multifunction interpolator
Ercegovac et al. On-line scheme for computing rotation factors
Singh et al. Design and synthesis of goldschmidt algorithm based floating point divider on FPGA
JP3251071B2 (ja) 除算/開平演算方法と演算装置
Seidel High-speed redundant reciprocal approximation
JP2857505B2 (ja) 除算装置
Chen et al. A high-performance deeply pipelined architecture for elementary transcendental function evaluation
de Dinechin et al. Application-Specific Arithmetic
JPH10111791A (ja) 除算装置
US20050246406A9 (en) Emod a fast modulus calculation for computer systems
LaMeres Arithmetic Circuits
Hickmann et al. Improved combined binary/decimal fixed-point multipliers
Liu et al. A multi-functional floating point multiplier
Chen et al. Design and implementation of decimal reciprocal unit
JP2508286B2 (ja) 平方根演算装置
Piso et al. Obtaining accurate error expressions and bounds for floating-point multiplicative algorithms
Chawla et al. Hardware efficient reconfigurable arithmetic unit
JPH06105421B2 (ja) 逆三角関数演算装置
ROUT et al. Implementation of Low Power and High Speed Single Precession Floating Point Multiplier using Kogge-Stone Adder and Dadda Multiplier
JPH0325809B2 (ja)
JPH0683587A (ja) 乗算処理装置
Naziyan et al. IMPLEMENTATION OF FAST RADIX-10 BCD MULTIPLIER FOR SPEED OPTIMIZED APPLICATIONS

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20011030

LAPS Cancellation because of no payment of annual fees