JP2761145B2 - 開平演算装置 - Google Patents
開平演算装置Info
- Publication number
- JP2761145B2 JP2761145B2 JP11330992A JP11330992A JP2761145B2 JP 2761145 B2 JP2761145 B2 JP 2761145B2 JP 11330992 A JP11330992 A JP 11330992A JP 11330992 A JP11330992 A JP 11330992A JP 2761145 B2 JP2761145 B2 JP 2761145B2
- Authority
- JP
- Japan
- Prior art keywords
- square root
- output
- partial
- holding
- merged
- 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 - Lifetime
Links
Landscapes
- Complex Calculations (AREA)
Description
【0001】
【産業上の利用分野】本発明はデータ処理装置における
開平演算装置に関するものである。
開平演算装置に関するものである。
【0002】
【従来の技術】従来、開平演算装置では、ニュートン・
ラプソン法を用いて開平演算を実行している例が多い。
数値Aの平方根を求めるために、まず1/√Aを求め、
それにAを掛けて√Aを求める。ニュートン・ラプソン
法では1/√Aを収束計算によって求めるのであるが、
収束までに要する繰り返し回数は逆数の初期値が真の値
に近いほど少なく、高速な開平演算装置では、3〜4回
程度の収束計算で求められることが、特開平2ー259
24号公報,または、前記公開公報に関連した米国特許
第499801号等に示されている。
ラプソン法を用いて開平演算を実行している例が多い。
数値Aの平方根を求めるために、まず1/√Aを求め、
それにAを掛けて√Aを求める。ニュートン・ラプソン
法では1/√Aを収束計算によって求めるのであるが、
収束までに要する繰り返し回数は逆数の初期値が真の値
に近いほど少なく、高速な開平演算装置では、3〜4回
程度の収束計算で求められることが、特開平2ー259
24号公報,または、前記公開公報に関連した米国特許
第499801号等に示されている。
【0003】また、ニュートン・ラプソン法とは異な
り、筆算による開平計算に類似した手法を採用した開平
演算装置もある。その手法とは、反復計算によって平方
根を上位から順に毎回、同じ桁数だけ部分的に求めてい
くものであり、被開数を初期(0番目)部分剰余とし
て、i番目の部分剰余と1番目からi番目までの部分平
方根からi+1番目の部分平方根を求め、1番目からi
番目までの部分平方根の2倍にi+1番目の部分平方根
を加えたものを被乗数とし、i+1番目の部分平方根を
乗数として積を求め、i番目の部分剰余からその積を引
いてi+1番目の部分剰余とする。この手法を使用した
開平演算装置の一例が、P.MontuschiとL.
Ciminieraによる”On the Effic
ient Implementation of Hi
gher Radix SquareRoot Alg
orithms,”Proc.9th IEEE Sy
mposium on Computer Arith
metic,pp.154−161,Septembe
r 1989 に示されている。
り、筆算による開平計算に類似した手法を採用した開平
演算装置もある。その手法とは、反復計算によって平方
根を上位から順に毎回、同じ桁数だけ部分的に求めてい
くものであり、被開数を初期(0番目)部分剰余とし
て、i番目の部分剰余と1番目からi番目までの部分平
方根からi+1番目の部分平方根を求め、1番目からi
番目までの部分平方根の2倍にi+1番目の部分平方根
を加えたものを被乗数とし、i+1番目の部分平方根を
乗数として積を求め、i番目の部分剰余からその積を引
いてi+1番目の部分剰余とする。この手法を使用した
開平演算装置の一例が、P.MontuschiとL.
Ciminieraによる”On the Effic
ient Implementation of Hi
gher Radix SquareRoot Alg
orithms,”Proc.9th IEEE Sy
mposium on Computer Arith
metic,pp.154−161,Septembe
r 1989 に示されている。
【0004】
【発明が解決しようとする課題】しかしながらニュート
ン・ラプソン法による上記の開平演算装置において、乗
算器には浮動小数点数入力オペランドの仮数部が被乗
数、乗数として入力されており、IEEE規格の倍精度
浮動小数点数の平方根を求める場合、リーディングビッ
トを付加した仮数部のビット長に対応した53ビット×
53ビットの乗算器を必要とする。乗算命令と開平演算
命令を同時に実行することがなく、乗算命令を実行する
ための乗算器を開平演算命令の実行でも利用する場合は
何も問題にはならない。しかし、乗算命令と開平演算命
令の間で使用するデータについて互いに依存関係がない
とき、2つの命令を同時に実行するために、開平演算用
に53ビット×53ビットの乗算器を設けるのはハード
ウェアの物量の多大な増加となり、問題となる。
ン・ラプソン法による上記の開平演算装置において、乗
算器には浮動小数点数入力オペランドの仮数部が被乗
数、乗数として入力されており、IEEE規格の倍精度
浮動小数点数の平方根を求める場合、リーディングビッ
トを付加した仮数部のビット長に対応した53ビット×
53ビットの乗算器を必要とする。乗算命令と開平演算
命令を同時に実行することがなく、乗算命令を実行する
ための乗算器を開平演算命令の実行でも利用する場合は
何も問題にはならない。しかし、乗算命令と開平演算命
令の間で使用するデータについて互いに依存関係がない
とき、2つの命令を同時に実行するために、開平演算用
に53ビット×53ビットの乗算器を設けるのはハード
ウェアの物量の多大な増加となり、問題となる。
【0005】また、P.MontuschiとL.Ci
minieraの例では1回の反復計算で求めることが
できる桁数は2ビットであり、IEEE規格の倍精度浮
動小数点数の平方根を求める場合、仮数部53ビットに
ガードビットとラウンドビットを加えた55ビットの平
方根を求めるには28回の反復計算が必要であり、開平
演算の高速処理には不適であるという問題がある。
minieraの例では1回の反復計算で求めることが
できる桁数は2ビットであり、IEEE規格の倍精度浮
動小数点数の平方根を求める場合、仮数部53ビットに
ガードビットとラウンドビットを加えた55ビットの平
方根を求めるには28回の反復計算が必要であり、開平
演算の高速処理には不適であるという問題がある。
【0006】本発明は上記問題点に鑑み、乗数のビット
長として、固定小数点数の場合はオペランド長、浮動小
数点数の場合は仮数部のビット長よりも小さい乗算器を
使用しながらも高速に平方根を求める開平演算装置を提
供するものである。
長として、固定小数点数の場合はオペランド長、浮動小
数点数の場合は仮数部のビット長よりも小さい乗算器を
使用しながらも高速に平方根を求める開平演算装置を提
供するものである。
【0007】
【課題を解決するための手段】上記問題点を解決するた
めに本発明の開平演算装置は、入力オペランドに対する
平方根の近似逆数を索引するためのテーブル情報格納手
段と、平方根を上位より順に一定のビット数ずつ反復し
て求める際の剰余を保持するための剰余保持手段と、該
剰余保持手段から出力される剰余とテーブル情報格納手
段から出力される平方根の近似逆数とをそれぞれ被乗
数、乗数として乗算を行なうための乗算手段と、該乗算
手段の出力する積の上位を部分平方根として各反復での
平方根を併合した併合平方根を保持するための併合平方
根保持手段と、該併合平方根保持手段から出力される併
合平方根と乗算手段の出力する平方根とをひとまとめに
したデータを被乗数として生成するための被乗数生成手
段とに加えて、次の機能有する演算手段を備えることと
したものである。すなわち、該演算手段は、剰余保持手
段の出力する剰余(R)と、被乗数生成手段の出力する
被乗数(S)と、乗算手段の出力する部分平方根(T)
とを各々入力して、(R−S×T)の演算を行なうもの
である。
めに本発明の開平演算装置は、入力オペランドに対する
平方根の近似逆数を索引するためのテーブル情報格納手
段と、平方根を上位より順に一定のビット数ずつ反復し
て求める際の剰余を保持するための剰余保持手段と、該
剰余保持手段から出力される剰余とテーブル情報格納手
段から出力される平方根の近似逆数とをそれぞれ被乗
数、乗数として乗算を行なうための乗算手段と、該乗算
手段の出力する積の上位を部分平方根として各反復での
平方根を併合した併合平方根を保持するための併合平方
根保持手段と、該併合平方根保持手段から出力される併
合平方根と乗算手段の出力する平方根とをひとまとめに
したデータを被乗数として生成するための被乗数生成手
段とに加えて、次の機能有する演算手段を備えることと
したものである。すなわち、該演算手段は、剰余保持手
段の出力する剰余(R)と、被乗数生成手段の出力する
被乗数(S)と、乗算手段の出力する部分平方根(T)
とを各々入力して、(R−S×T)の演算を行なうもの
である。
【0008】しかも、本発明では演算速度の向上を図る
ために、乗算手段または(R−S×T)演算手段の出力
する積の上位を入力して部分平方根の最下位ビットより
1ビット小さい位で丸めを行なうための部分平方根算出
用加算手段を設けている。
ために、乗算手段または(R−S×T)演算手段の出力
する積の上位を入力して部分平方根の最下位ビットより
1ビット小さい位で丸めを行なうための部分平方根算出
用加算手段を設けている。
【0009】
【作用】上記の構成により、開平演算を実行できること
を説明する前に、本発明で使用する開平演算の方法につ
いて説明する。浮動小数点数の指数部の開平処理は容易
であり、後述する本発明の実施例で説明することとし、
ここでは浮動小数点数の仮数部、または、正の固定小数
点数の開平について説明する。被開数Aは2ビット単位
の正規化を受け、(数1)を満足するものとする。 (数1) 2-2 ≦ A < 1
を説明する前に、本発明で使用する開平演算の方法につ
いて説明する。浮動小数点数の指数部の開平処理は容易
であり、後述する本発明の実施例で説明することとし、
ここでは浮動小数点数の仮数部、または、正の固定小数
点数の開平について説明する。被開数Aは2ビット単位
の正規化を受け、(数1)を満足するものとする。 (数1) 2-2 ≦ A < 1
【0010】Aの平方根を上位より一定のビット数nず
つグループ分割して、(数2)のように表現する。この
とき、aijは0または1であり、特にa11は(数1)か
ら1である。 (数2) √A=a1 +a2 +a3 +a4 +a5 +・・・・・ (ai =2-in (ai1・2n-1 +ai2・2n-2 +・・・・・+ain・20 ))
つグループ分割して、(数2)のように表現する。この
とき、aijは0または1であり、特にa11は(数1)か
ら1である。 (数2) √A=a1 +a2 +a3 +a4 +a5 +・・・・・ (ai =2-in (ai1・2n-1 +ai2・2n-2 +・・・・・+ain・20 ))
【0011】逆に、(数2)の辺々を2乗して(数3)
を得る。 (数3) A=(a1 +a2 +a3 +a4 +a5 +・・・・・)2
を得る。 (数3) A=(a1 +a2 +a3 +a4 +a5 +・・・・・)2
【0012】Aの平方根の近似逆数をMとし、Mの精度
が(数4)の条件を満足するものとする。 (数4) |√A・M−1| ≦ 2-(n+1)
が(数4)の条件を満足するものとする。 (数4) |√A・M−1| ≦ 2-(n+1)
【0013】このとき、以下の手順で平方根を求めるこ
とができ、(数4)は部分平方根をnビットずつ求める
ための十分条件になっている。 (1)A(R0 とする)にMを掛け、結果の上位の一定
のビット数nをb1 とする。 (2)R1 =R0 −b1 ×b1 を計算した後、R1 を
(1)での一定のビット数nだけ左にシフトする。以
下、(3)、(4)を必要な回数だけ繰り返す。 (3)Ri にMを掛け、結果の上位の一定のビット数n
+1をbi+1 とする。ただし、(1)でのb1 と比較し
てbi+1 は1ビット上位からとり、また、biへの補正
として更に上位に1ビット余分にとるものとする。 (4)Ri+1 =Ri −{(b1 +・・・+bi )×2+
bi+1 }×bi+1 を計算した後、Ri+1 を(1)での
一定のビット数nだけ左にシフトする。
とができ、(数4)は部分平方根をnビットずつ求める
ための十分条件になっている。 (1)A(R0 とする)にMを掛け、結果の上位の一定
のビット数nをb1 とする。 (2)R1 =R0 −b1 ×b1 を計算した後、R1 を
(1)での一定のビット数nだけ左にシフトする。以
下、(3)、(4)を必要な回数だけ繰り返す。 (3)Ri にMを掛け、結果の上位の一定のビット数n
+1をbi+1 とする。ただし、(1)でのb1 と比較し
てbi+1 は1ビット上位からとり、また、biへの補正
として更に上位に1ビット余分にとるものとする。 (4)Ri+1 =Ri −{(b1 +・・・+bi )×2+
bi+1 }×bi+1 を計算した後、Ri+1 を(1)での
一定のビット数nだけ左にシフトする。
【0014】以上の手順でAの平方根を求めることがで
きることを次の事柄Aが成立することを証明することに
より示す。 (事柄A)1番目からi番目までの和b1 +b2 +・・
・+bi をa1 +a2 +・・・+ai と比較すると、等
しいか、2-in だけ大きいか、2-in だけ小さい。
きることを次の事柄Aが成立することを証明することに
より示す。 (事柄A)1番目からi番目までの和b1 +b2 +・・
・+bi をa1 +a2 +・・・+ai と比較すると、等
しいか、2-in だけ大きいか、2-in だけ小さい。
【0015】(証明)i=1のとき、(数3)より、次
の(数5)が成立する。 (数5) a1 ×√A ≦ A < (a1 +2-n)×√A
の(数5)が成立する。 (数5) a1 ×√A ≦ A < (a1 +2-n)×√A
【0016】(数5)の辺々にMを掛け、(数6)を得
る。 (数6) a1 ×(1−2-(n+1))≦A×M<(a1 +2-n)×(1+2-(n+1))
る。 (数6) a1 ×(1−2-(n+1))≦A×M<(a1 +2-n)×(1+2-(n+1))
【0017】(数6)の左辺、右辺のそれぞれの2-1か
ら2-nの位のnビットはa1 −2-n、a1 +2-nである
からA×Mの対応する位のnビットをb1 として採ると
(事柄A)がi=1のとき成立する。
ら2-nの位のnビットはa1 −2-n、a1 +2-nである
からA×Mの対応する位のnビットをb1 として採ると
(事柄A)がi=1のとき成立する。
【0018】次にi≦kまで、(事柄A)が成立したと
仮定する。k番目の部分剰余Rk は(数7)のように表
現することができる。 (数7) Rk =Rk-1 −{(b1 +b2 +・・・+bk-1 )×2+bk }×bk =Rk-2 −{(b1 +b2 +・・・+bk-2 )×2+bk-1 }×bk-1 −{(b1 +b2 +・・・+bk-1 )×2+bk }×bk ・ ・ ・ =R0 − b1 ×b1 −{b1 ×2+b2 }×b2 ・ ・ ・ −{(b1 +b2 +・・・+bk-2 )×2+bk-1 }×bk-1 −{(b1 +b2 +・・・+bk-1 )×2+bk }×bk =R0 − (b1 +b2 +・・・+bk )2 =(a1 +a2 +a3 +・・・・・・)2 −(b1 +b2 +・・・+bk )2 ={(a1 +a2 +・・・+ak )+(b1 +b2 +・・・+bk )+ak+1 +・・・} ×{(a1 +a2 +・・・+ak )−(b1 +b2 +・・・+bk )+ak+1 +・・・}
仮定する。k番目の部分剰余Rk は(数7)のように表
現することができる。 (数7) Rk =Rk-1 −{(b1 +b2 +・・・+bk-1 )×2+bk }×bk =Rk-2 −{(b1 +b2 +・・・+bk-2 )×2+bk-1 }×bk-1 −{(b1 +b2 +・・・+bk-1 )×2+bk }×bk ・ ・ ・ =R0 − b1 ×b1 −{b1 ×2+b2 }×b2 ・ ・ ・ −{(b1 +b2 +・・・+bk-2 )×2+bk-1 }×bk-1 −{(b1 +b2 +・・・+bk-1 )×2+bk }×bk =R0 − (b1 +b2 +・・・+bk )2 =(a1 +a2 +a3 +・・・・・・)2 −(b1 +b2 +・・・+bk )2 ={(a1 +a2 +・・・+ak )+(b1 +b2 +・・・+bk )+ak+1 +・・・} ×{(a1 +a2 +・・・+ak )−(b1 +b2 +・・・+bk )+ak+1 +・・・}
【0019】 (i)b1 +b2 +・・・+bk =a1 +a2 +・・・+ak の場合 (数8) (2√A−ak+1 )×ak+1 ≦Rk <2√A×(ak+1 +2-(k+1)n )
【0020】(数8)の左辺については(2√A−a
k+1 −X)×(ak+1 +X)をXの2次関数と考えると
変域[0、2-(k+1)n )では単調増大関数であり、X=
0で最小値をとることによる。(数8)の辺々にMを掛
け、(数9)を得る。 (数9) 2(1−2-(n+1)−ak+1 )×ak+1 ≦Rk ×M <2(1+2-(n+1))×(ak+1 +2-(k+1)n )
k+1 −X)×(ak+1 +X)をXの2次関数と考えると
変域[0、2-(k+1)n )では単調増大関数であり、X=
0で最小値をとることによる。(数8)の辺々にMを掛
け、(数9)を得る。 (数9) 2(1−2-(n+1)−ak+1 )×ak+1 ≦Rk ×M <2(1+2-(n+1))×(ak+1 +2-(k+1)n )
【0021】(数9)の左辺、右辺のそれぞれの2-kn
から2-(k+1)n+1 の位のnビットはak+1 −
2-(k+1)n 、ak+1 +2-(k+1)n であるからRk ×Mの
対応する位のnビットをbk+1 として採ると(事柄A)
がi=k+1のときにも成立する。
から2-(k+1)n+1 の位のnビットはak+1 −
2-(k+1)n 、ak+1 +2-(k+1)n であるからRk ×Mの
対応する位のnビットをbk+1 として採ると(事柄A)
がi=k+1のときにも成立する。
【0022】(ii)b1 +b2 +・・・+bk =a1
+a2 +・・・+ak +2-kn の場合 (数10) (2√A+2-kn )×(−2-kn +ak+1 )<Rk <2√A×(−2-kn +ak+1 +2-(k+1)n )
+a2 +・・・+ak +2-kn の場合 (数10) (2√A+2-kn )×(−2-kn +ak+1 )<Rk <2√A×(−2-kn +ak+1 +2-(k+1)n )
【0023】(数10)の左辺については(数7)の最
終式において、この場合、乗数が負であるので、2-kn
>ak+1 +ak+2 +・・・より、2-kn −(ak+1 +a
k+2+・・・)=0として、積の絶対値を大きめに評価
した。(数10)の辺々にMを掛け、(数11)を得
る。 (数11) 2(1−2-(n+1)+2-kn )×(−2-kn +ak+1 )<Rk ×M <2(1−2-(n+1))×(−2-kn +ak+1 +2-(k+1)n )
終式において、この場合、乗数が負であるので、2-kn
>ak+1 +ak+2 +・・・より、2-kn −(ak+1 +a
k+2+・・・)=0として、積の絶対値を大きめに評価
した。(数10)の辺々にMを掛け、(数11)を得
る。 (数11) 2(1−2-(n+1)+2-kn )×(−2-kn +ak+1 )<Rk ×M <2(1−2-(n+1))×(−2-kn +ak+1 +2-(k+1)n )
【0024】(数11)の左辺、右辺のそれぞれの2
-kn から2-(k+1)n+1 の位のnビットは2-kn より上位
に符号ビットを付加して考えると、 −2-kn +ak+1 −2-(k+1)n 、−2-kn +ak+1 +2-(k+1)n となり、b1 +b2 +・・・+bk+1 は、a1 +a2 +
・・・+ak+1 と比較して等しいか、2-(k+1)n だけ大
きいか、2-(k+1)n だけ小さくなるので、(事柄A)が
i=k+1のときにも成立する。
-kn から2-(k+1)n+1 の位のnビットは2-kn より上位
に符号ビットを付加して考えると、 −2-kn +ak+1 −2-(k+1)n 、−2-kn +ak+1 +2-(k+1)n となり、b1 +b2 +・・・+bk+1 は、a1 +a2 +
・・・+ak+1 と比較して等しいか、2-(k+1)n だけ大
きいか、2-(k+1)n だけ小さくなるので、(事柄A)が
i=k+1のときにも成立する。
【0025】(iii)b1 +b2 +・・・+bk =a
1 +a2 +・・・+ak −2-kn の場合 (数12) (2√A−2・2-kn )×(2-kn +ak+1 )<Rk <(2√A−2-kn )×(2-kn +ak+1 +2-(k+1)n ) (数13) 2(1−2-(n+1)−2-kn+1 )×(2-kn +ak+1 )<Rk ×M <2(1+2-(n+1)−2-kn )×(2-kn +ak+1 +2-(k+1)n )
1 +a2 +・・・+ak −2-kn の場合 (数12) (2√A−2・2-kn )×(2-kn +ak+1 )<Rk <(2√A−2-kn )×(2-kn +ak+1 +2-(k+1)n ) (数13) 2(1−2-(n+1)−2-kn+1 )×(2-kn +ak+1 )<Rk ×M <2(1+2-(n+1)−2-kn )×(2-kn +ak+1 +2-(k+1)n )
【0026】(数13)の左辺、右辺のそれぞれの2
-kn から2-(k+1)n+1 の位のnビットと2-kn+1 として
上位に1ビットを付加して考えると、 2-kn +ak+1 −2-(k+1)n 、2-kn +ak+1 +2-(k+1)n となり、b1 +b2 +・・・+bk+1 は、a1 +a2 +
・・・+ak+1 と比較して等しいか、2-(k+1)n だけ大
きいか、2-(k+1)n だけ小さくなるので、(事柄A)が
i=k+1のときにも成立する。
-kn から2-(k+1)n+1 の位のnビットと2-kn+1 として
上位に1ビットを付加して考えると、 2-kn +ak+1 −2-(k+1)n 、2-kn +ak+1 +2-(k+1)n となり、b1 +b2 +・・・+bk+1 は、a1 +a2 +
・・・+ak+1 と比較して等しいか、2-(k+1)n だけ大
きいか、2-(k+1)n だけ小さくなるので、(事柄A)が
i=k+1のときにも成立する。
【0027】以上、(i),(ii),(iii)よ
り、i≦kまで、(事柄A)が成立したと仮定すると、
i=k+1の場合も(事柄A)が成立することが導か
れ、i=1の場合、(事柄A)が成立することは証明済
みであるから数学的帰納法により(事柄A)は任意の自
然数iについて成立する。
り、i≦kまで、(事柄A)が成立したと仮定すると、
i=k+1の場合も(事柄A)が成立することが導か
れ、i=1の場合、(事柄A)が成立することは証明済
みであるから数学的帰納法により(事柄A)は任意の自
然数iについて成立する。
【0028】テーブル情報格納手段には、Aの平方根の
近似逆数が格納されており、Aの上位ビットをアドレス
として索引され、剰余保持手段に0番目剰余として格納
されているR0 (=A)とAの平方根の近似逆数との積
が、乗算手段により計算され、積の上位ビットとしてb
1 が得られる。次に、被乗数生成手段では1回目の反復
計算ではb1 を出力し、R0 、b1 、b1 が(R−S×
T)演算手段に入力されて、R1 が得られる。次にb1
が併合平方根保持手段に格納され、R1 が一定のビット
数だけ左シフトされた後、剰余保持手段に格納される。
以降、併合平方根のビット長が求めるべき平方根のビッ
ト長以上になるまで、i≧1として下記の処理を繰り返
す。
近似逆数が格納されており、Aの上位ビットをアドレス
として索引され、剰余保持手段に0番目剰余として格納
されているR0 (=A)とAの平方根の近似逆数との積
が、乗算手段により計算され、積の上位ビットとしてb
1 が得られる。次に、被乗数生成手段では1回目の反復
計算ではb1 を出力し、R0 、b1 、b1 が(R−S×
T)演算手段に入力されて、R1 が得られる。次にb1
が併合平方根保持手段に格納され、R1 が一定のビット
数だけ左シフトされた後、剰余保持手段に格納される。
以降、併合平方根のビット長が求めるべき平方根のビッ
ト長以上になるまで、i≧1として下記の処理を繰り返
す。
【0029】剰余保持手段にi番目剰余として格納され
ているRi とAの平方根の近似逆数との積が、乗算手段
により計算され、積の上位ビットとしてbi+1 が得られ
る。次に、被乗数生成手段では(b1 +・・・+bi )
を左に1ビットシフトした後、bi+1 とマージして被乗
数として出力し、Ri 、{(b1 +・・・+bi )×2
+bi+1 }、bi+1 が(R−S×T)演算手段に入力
されて、Ri+1 が得られる。次に(b1 +・・・+b
i+1 )が併合平方根保持手段に格納され、Ri+1が一定
のビット数だけ左シフトされた後、剰余保持手段に格納
される。
ているRi とAの平方根の近似逆数との積が、乗算手段
により計算され、積の上位ビットとしてbi+1 が得られ
る。次に、被乗数生成手段では(b1 +・・・+bi )
を左に1ビットシフトした後、bi+1 とマージして被乗
数として出力し、Ri 、{(b1 +・・・+bi )×2
+bi+1 }、bi+1 が(R−S×T)演算手段に入力
されて、Ri+1 が得られる。次に(b1 +・・・+b
i+1 )が併合平方根保持手段に格納され、Ri+1が一定
のビット数だけ左シフトされた後、剰余保持手段に格納
される。
【0030】なお、Ri+1 を一定のビット数だけ左シフ
トすることなく剰余保持手段に格納して、次の反復計算
で、 Ri −{(b1 +・・・+bi )×2+bi+1 }×bi+1 を計算する直前でRi を一定のビット数だけ左シフトし
ても結果は同じである。
トすることなく剰余保持手段に格納して、次の反復計算
で、 Ri −{(b1 +・・・+bi )×2+bi+1 }×bi+1 を計算する直前でRi を一定のビット数だけ左シフトし
ても結果は同じである。
【0031】
【実施例】はじめに、各実施例において共通する事項を
説明する。
説明する。
【0032】各実施例では求めた平方根がIEEE規格
の浮動小数点の仮数部の小数点の位置と同一になるよう
に被開数Aを(数1)から小数点を右に2ビット移動し
た(数14)の範囲で取り扱う。 (数14) 1 ≦ A < 22
の浮動小数点の仮数部の小数点の位置と同一になるよう
に被開数Aを(数1)から小数点を右に2ビット移動し
た(数14)の範囲で取り扱う。 (数14) 1 ≦ A < 22
【0033】平方根の近似逆数は、(数15)に示す1
2ビット(xは0または1を表す)をアドレスとして索
引される。 (数15) 01.xxxxxxxxxx 1x.xxxxxxxxxx
2ビット(xは0または1を表す)をアドレスとして索
引される。 (数15) 01.xxxxxxxxxx 1x.xxxxxxxxxx
【0034】テーブル情報格納手段に格納する数値は、
平方根の逆数として、(数4)でn=11を満足する範
囲で選択した。平方根の近似逆数の精度については、計
算機を用いて確認したが、確認方法の概要を以下に示
す。Mは、区間[1,4)を3072等分した[1+k
×2-10 ,1+(k+1)×2-10 )(k=0,1,・
・・,3071)では定数である。更により平方根の近
似逆数の精度を高くするため、被開数のテーブル情報格
納手段のアドレスとして使用される最下位ビットよりも
1ビット小さい2-11 の位が0の場合は後述する方法に
よってテーブル情報格納手段の出力する値に2-16 を加
える。このことをグラフで考えると、図15に示すよう
にy=1/√xは右下がりの曲線であるから、[1+k
×2-10 ,1+(k+1)×2-10 )の左半分において
平方根の近似逆数の値を2-16 だけ上にかさあげするこ
とを意味している。よって、区間[1,4)を6144
等分した被開数Aに対する平方根の近似逆数のグラフは
図13に示す階段関数となる。一方、A×M×Mのグラ
フは図14に示すように6144個の線分が鋸の歯の形
をしている。得られた精度は以下に示す通りである(1
6進表示)。 最大値 1.004のとき、1.001FD9048 最小値 1.000のとき、0.FFE001
平方根の逆数として、(数4)でn=11を満足する範
囲で選択した。平方根の近似逆数の精度については、計
算機を用いて確認したが、確認方法の概要を以下に示
す。Mは、区間[1,4)を3072等分した[1+k
×2-10 ,1+(k+1)×2-10 )(k=0,1,・
・・,3071)では定数である。更により平方根の近
似逆数の精度を高くするため、被開数のテーブル情報格
納手段のアドレスとして使用される最下位ビットよりも
1ビット小さい2-11 の位が0の場合は後述する方法に
よってテーブル情報格納手段の出力する値に2-16 を加
える。このことをグラフで考えると、図15に示すよう
にy=1/√xは右下がりの曲線であるから、[1+k
×2-10 ,1+(k+1)×2-10 )の左半分において
平方根の近似逆数の値を2-16 だけ上にかさあげするこ
とを意味している。よって、区間[1,4)を6144
等分した被開数Aに対する平方根の近似逆数のグラフは
図13に示す階段関数となる。一方、A×M×Mのグラ
フは図14に示すように6144個の線分が鋸の歯の形
をしている。得られた精度は以下に示す通りである(1
6進表示)。 最大値 1.004のとき、1.001FD9048 最小値 1.000のとき、0.FFE001
【0035】上記の値は、(数4)でn=11として式
変形を行ない、辺々2乗して得られる(数16)を満足
している。 (数16) (1−0.001)2 =0.FFE001≦A×M×M≦(1+0.001)2 =1.002001
変形を行ない、辺々2乗して得られる(数16)を満足
している。 (数16) (1−0.001)2 =0.FFE001≦A×M×M≦(1+0.001)2 =1.002001
【0036】テーブル情報格納手段には、平方根の逆数
の2-2から2-16 の値を格納し、常に0である符号ビッ
トと常に1である2-1ビットはテーブルには直接格納し
ないが、実施例において逐一説明を加えるのは煩わしい
ので、先頭2ビットとして01がテーブルに含まれてい
るように説明する。乗算を実行する場合には、乗数を1
ビット重複させた3ビット単位のグループに分割して表
1に示すBoothのアルゴリズムに従って被乗数の倍
数を発生させ、樹木状に構成した桁上げ保留加算器群に
よって2個の部分桁上げと部分和になるまで求め、この
2つを桁上げ伝播加算器で加算して最終的な積を求め
る。剰余と平方根の近似逆数の乗算では、テーブルから
読みだした値に対して、先頭に1を付加するとともに、
末尾に、アドレスとして使用するビットの右の隣接1ビ
ットの反転を付加する。乗算では右に付加したビットを
乗数の最下位ビットとすることによって2-17 倍ではな
く、2-16 倍の効果を持たせる。
の2-2から2-16 の値を格納し、常に0である符号ビッ
トと常に1である2-1ビットはテーブルには直接格納し
ないが、実施例において逐一説明を加えるのは煩わしい
ので、先頭2ビットとして01がテーブルに含まれてい
るように説明する。乗算を実行する場合には、乗数を1
ビット重複させた3ビット単位のグループに分割して表
1に示すBoothのアルゴリズムに従って被乗数の倍
数を発生させ、樹木状に構成した桁上げ保留加算器群に
よって2個の部分桁上げと部分和になるまで求め、この
2つを桁上げ伝播加算器で加算して最終的な積を求め
る。剰余と平方根の近似逆数の乗算では、テーブルから
読みだした値に対して、先頭に1を付加するとともに、
末尾に、アドレスとして使用するビットの右の隣接1ビ
ットの反転を付加する。乗算では右に付加したビットを
乗数の最下位ビットとすることによって2-17 倍ではな
く、2-16 倍の効果を持たせる。
【0037】
【表1】
【0038】(R−S×T)の演算では、上述した乗算
器の構成に対して、Rを一種の倍数として樹木状桁上げ
保留加算器群に入力し、また、{R+S×(−T)}の
演算となるように乗数の入力の1の補数をとり、最下位
ビットとして1を付加することによって、上記の2-17
倍ではなく2-16 倍の効果を持つのと同じ効果により、
実質的に(R−S×T)の演算手段で乗数が2の補数と
なるようにしている。なお、適当に符号ビットを上位に
拡張すると負の数に対しても2の補数表示で乗算が実行
できることは、この分野の技術者にとってはよく知られ
ている。
器の構成に対して、Rを一種の倍数として樹木状桁上げ
保留加算器群に入力し、また、{R+S×(−T)}の
演算となるように乗数の入力の1の補数をとり、最下位
ビットとして1を付加することによって、上記の2-17
倍ではなく2-16 倍の効果を持つのと同じ効果により、
実質的に(R−S×T)の演算手段で乗数が2の補数と
なるようにしている。なお、適当に符号ビットを上位に
拡張すると負の数に対しても2の補数表示で乗算が実行
できることは、この分野の技術者にとってはよく知られ
ている。
【0039】また、各請求項の中では部分平方根算出用
加算手段を有する開平演算装置では乗算手段または(R
+S×T)演算手段の出力を部分平方根算出用加算手段
の入力としているが、各実施例においては、乗算手段ま
たは(R+S×T)演算手段の内部に部分平方根算出用
加算手段を含んでいる。これは乗算において部分桁上げ
と部分和が求められた段階で積を求めるための桁上げ伝
播加算を行なうのと同時に丸めを伴う部分平方根を求め
る加算を行ない、演算速度の向上を図っていることによ
る。このような実施例における乗算手段または(R+S
×T)演算手段の内部に部分平方根算出用加算手段を含
む場合も本発明の対象である。個別に各実施例で、部分
平方根算出用加算手段を説明するのは紙面をいたずらに
費やすだけなので、第1の実施例に対応した場合のみこ
こで説明し、個別の実施例では乗算手段または(R+S
×T)演算手段の部分平方根を算出する内部動作につい
ては説明を省くこととする。なお、部分平方根を丸める
目的は、必要な桁数だけ平方根を求めたときに真の平方
根と最下位ビット(LSB)で比較したとき1だけ小さ
いことがある、例えば1の平方根が0.111・・・
(2進数表示)となることを回避するためであり、逆に
正確な部分平方根ai と比較してbi が2-inだけ大き
いときは1ビット下位は0であり、丸めることによって
更に+2-in されることはないので部分平方根bi を1
ビット下位で丸めることによる悪影響はない。
加算手段を有する開平演算装置では乗算手段または(R
+S×T)演算手段の出力を部分平方根算出用加算手段
の入力としているが、各実施例においては、乗算手段ま
たは(R+S×T)演算手段の内部に部分平方根算出用
加算手段を含んでいる。これは乗算において部分桁上げ
と部分和が求められた段階で積を求めるための桁上げ伝
播加算を行なうのと同時に丸めを伴う部分平方根を求め
る加算を行ない、演算速度の向上を図っていることによ
る。このような実施例における乗算手段または(R+S
×T)演算手段の内部に部分平方根算出用加算手段を含
む場合も本発明の対象である。個別に各実施例で、部分
平方根算出用加算手段を説明するのは紙面をいたずらに
費やすだけなので、第1の実施例に対応した場合のみこ
こで説明し、個別の実施例では乗算手段または(R+S
×T)演算手段の部分平方根を算出する内部動作につい
ては説明を省くこととする。なお、部分平方根を丸める
目的は、必要な桁数だけ平方根を求めたときに真の平方
根と最下位ビット(LSB)で比較したとき1だけ小さ
いことがある、例えば1の平方根が0.111・・・
(2進数表示)となることを回避するためであり、逆に
正確な部分平方根ai と比較してbi が2-inだけ大き
いときは1ビット下位は0であり、丸めることによって
更に+2-in されることはないので部分平方根bi を1
ビット下位で丸めることによる悪影響はない。
【0040】図12は、乗算手段(本発明の第1の実施
例)の内部ブロック図である。図12において401か
ら409は倍数発生手段(ML)、410から416は
桁上げ保留加算手段(CSA)、417は桁上げ伝播加
算手段(CPA)、418と419は部分平方根算出用
加算手段(CPA1,CPA2)、420は先見桁上げ
手段(LAC)である。倍数発生手段401から409
は各々被乗数を入力し、また、乗数については隣接する
倍数発生手段と1ビット重複して3ビットの乗数を入力
し、表1に示す被乗数の倍数を発生する。倍数発生手段
401から409の出力は桁上げ保留加算手段410か
ら412にそれぞれ図12に示すように入力され、桁上
げ保留加算が実行された後、桁上げ保留加算手段413
から416により、最終的に部分桁上げと部分和の2つ
にまとめられる。桁上げ保留加算手段416の出力する
部分桁上げと部分和の272から20 までのビットと、2
71から258までのビットと、272から259までのビット
はそれぞれ、桁上げ伝播加算手段417と先見桁上げ手
段420、第1の部分平方根算出用加算手段418、第
2の部分平方根算出用加算手段419に入力される。先
見桁上げ手段420では第1の部分平方根算出用加算手
段418に対しては258への桁上げを予測して出力する
一方、第2の部分平方根算出用加算手段419に対して
は259への桁上げを予測して出力する。両部分平方根算
出用加算手段418、419ではそれぞれ258、259の
位で丸め加算を行ない、271から259、272から260の
13ビットを符号1ビット、データ12ビットの部分平
方根として出力する。
例)の内部ブロック図である。図12において401か
ら409は倍数発生手段(ML)、410から416は
桁上げ保留加算手段(CSA)、417は桁上げ伝播加
算手段(CPA)、418と419は部分平方根算出用
加算手段(CPA1,CPA2)、420は先見桁上げ
手段(LAC)である。倍数発生手段401から409
は各々被乗数を入力し、また、乗数については隣接する
倍数発生手段と1ビット重複して3ビットの乗数を入力
し、表1に示す被乗数の倍数を発生する。倍数発生手段
401から409の出力は桁上げ保留加算手段410か
ら412にそれぞれ図12に示すように入力され、桁上
げ保留加算が実行された後、桁上げ保留加算手段413
から416により、最終的に部分桁上げと部分和の2つ
にまとめられる。桁上げ保留加算手段416の出力する
部分桁上げと部分和の272から20 までのビットと、2
71から258までのビットと、272から259までのビット
はそれぞれ、桁上げ伝播加算手段417と先見桁上げ手
段420、第1の部分平方根算出用加算手段418、第
2の部分平方根算出用加算手段419に入力される。先
見桁上げ手段420では第1の部分平方根算出用加算手
段418に対しては258への桁上げを予測して出力する
一方、第2の部分平方根算出用加算手段419に対して
は259への桁上げを予測して出力する。両部分平方根算
出用加算手段418、419ではそれぞれ258、259の
位で丸め加算を行ない、271から259、272から260の
13ビットを符号1ビット、データ12ビットの部分平
方根として出力する。
【0041】以下、7つの実施例について述べる。実施
例では具体的な数値例を引用するが紙面の節約のため特
に断わらない限り、数値は16進表示とする。また、数
値例を示した図において複数の実施例で引用しているた
め、一部の実施例に対しては余分に符号ビットが拡張さ
れているようにみえる。実施例3(図5,図6)と実施
例6(図10,図11)のベクトル開平演算装置では対
応する請求項3と請求項8に比較すると、データの保持
手段が請求項よりも多く設けているが、本発明は請求項
でのデータの保持手段の個数に限定されるものではな
く、使用するハードウェア回路に応じて最適なパイプラ
インのピッチになるようにデータの保持手段の演算装置
における配置を決めればよい。また、実施例3のベクト
ル開平演算装置では対応する請求項3に比較すると、指
数定数加算手段と指数保持手段の配置が一致していない
が仮数部に比較して指数部は簡単に求められるので仮数
部の演算結果が求められるまでの任意の指数保持手段の
間に指数に対する演算手段を挿入すればよい。
例では具体的な数値例を引用するが紙面の節約のため特
に断わらない限り、数値は16進表示とする。また、数
値例を示した図において複数の実施例で引用しているた
め、一部の実施例に対しては余分に符号ビットが拡張さ
れているようにみえる。実施例3(図5,図6)と実施
例6(図10,図11)のベクトル開平演算装置では対
応する請求項3と請求項8に比較すると、データの保持
手段が請求項よりも多く設けているが、本発明は請求項
でのデータの保持手段の個数に限定されるものではな
く、使用するハードウェア回路に応じて最適なパイプラ
インのピッチになるようにデータの保持手段の演算装置
における配置を決めればよい。また、実施例3のベクト
ル開平演算装置では対応する請求項3に比較すると、指
数定数加算手段と指数保持手段の配置が一致していない
が仮数部に比較して指数部は簡単に求められるので仮数
部の演算結果が求められるまでの任意の指数保持手段の
間に指数に対する演算手段を挿入すればよい。
【0042】(実施例1)図1は本発明の第1の実施例
に係る浮動小数点開平演算装置のブロック図を示すもの
である。本実施例の浮動小数点開平演算装置はIEEE
規格の倍精度浮動小数点数を入力して、同じ倍精度浮動
小数点数の平方根を出力し、部分平方根のデータとして
のビット長が12で部分平方根間には1ビットの重複が
ある。図1において、1は入力レジスタ、2は例外検出
手段、3は指数定数減算手段、4はシフタ、5は指数定
数加算手段、6はリーディングビット付加回路、7は正
規化手段、8はテーブル情報格納手段、9はマルチプレ
クサ、10は剰余保持手段、11は乗算手段、12はシ
フタ、13はマルチプレクサ、14は併合平方根保持手
段、15は反転手段、16は被乗数生成手段、17は
(R+S×T)演算手段、18は定数減算手段、19は
マルチプレクサ、20は桁合わせ手段、21は加算手段
である。
に係る浮動小数点開平演算装置のブロック図を示すもの
である。本実施例の浮動小数点開平演算装置はIEEE
規格の倍精度浮動小数点数を入力して、同じ倍精度浮動
小数点数の平方根を出力し、部分平方根のデータとして
のビット長が12で部分平方根間には1ビットの重複が
ある。図1において、1は入力レジスタ、2は例外検出
手段、3は指数定数減算手段、4はシフタ、5は指数定
数加算手段、6はリーディングビット付加回路、7は正
規化手段、8はテーブル情報格納手段、9はマルチプレ
クサ、10は剰余保持手段、11は乗算手段、12はシ
フタ、13はマルチプレクサ、14は併合平方根保持手
段、15は反転手段、16は被乗数生成手段、17は
(R+S×T)演算手段、18は定数減算手段、19は
マルチプレクサ、20は桁合わせ手段、21は加算手段
である。
【0043】以下、具体的な数値例を用いて図1に示す
浮動小数点開平演算装置の動作を説明する。図2,図3
はオペランドが入力されてから、各々の手段で処理され
ていく過程を示している。はじめにオペランドとして7
C88B89EAF092E9Fが入力され、入力レジ
スタ1にセットされる。例外検出手段2では入力オペラ
ンドが負の場合、データ例外として検出し、浮動小数点
開平演算装置の外部の命令実行制御部に対して例外が発
生していることを通知する。本数値例では(以下では、
この前提を省略する)オペランドは正であるので例外は
検出されない。入力レジスタ1の出力の262から252の
指数に対して、指数定数減算手段3により3FFが引か
れた後、シフタ4により右に1ビットシフトされ、指数
定数加算手段5により再び3FFが加算され、結果の指
数が求められる。リーディングビット付加回路6では入
力レジスタ1の出力の251から20 の仮数部に対して先
頭にリーディングビットの1が付加される。正規化手段
7では、入力レジスタ1の出力の252のビットが1の場
合入力を左に1ビットシフトして、また、入力レジスタ
1の出力の252のビットが0の場合入力を左に2ビット
シフトして出力する。テーブル情報格納手段8には正規
化手段7の254から243の12ビットが入力され、09
1A0が出力される。さらにこの出力の最下位ビットと
して正規化手段7の242のビットを反転したものが付加
されるのであるが、本例では1が付加され、乗算手段1
1での実質的な乗数は091A1となる。マルチプレク
サ9では正規化手段7の出力を選択し、この出力が剰余
保持手段10にセットされる。このとき、併合平方根保
持手段14はゼロにリセットされる。乗算手段11で6
2E27ABC24BA7Cと091A1の乗算が行な
われ、0384077F3C120B983FCの積が
求められると同時に1回目の反復では258の位で、2回
目以降の反復では259の位で積を丸めた結果がマルチプ
レクサ13に対して出力される。マルチプレクサ13で
は乗算手段11の271から259の13ビットを符号1ビ
ット、データ12ビットの1番目の部分平方根として選
択する。反転手段15では部分平方根を入力してビット
反転するとともに最下位ビットに1を付加して出力す
る。また、被乗数生成手段16では、1回目の反復では
256から244までにマルチプレクサ13の出力を埋め込
み、他のビットをゼロとして出力する。(R+S×T)
演算手段17ではシフタ12の出力する剰余保持手段1
0の出力を左に11ビットシフトしたものをR、被乗数
生成手段16の出力をS,反転手段15の出力をTとし
て入力し、(R+S×T)の演算を実行する。(R+S
×T)演算手段17の出力0FD5E125D3E00
0はマルチプレクサ9により選択され、剰余保持手段1
0にセットされる。一方、定数減算手段18ではマルチ
プレクサ13の出力のLSBから1を引く。マルチプレ
クサ19は、(R+S×T)演算手段17の出力が負の
場合、定数減算手段18の出力を選択し、それ以外の場
合はマルチプレクサ13の出力を選択する。1回目の反
復では上記の条件を判断してマルチプレクサ13の出力
を選択する。桁合わせ手段20では各反復での部分平方
根を併合するための桁合わせを実行する。具体的には、
部分平方根が負の場合には、マルチプレクサ19の出力
の13ビットの先頭2ビットをゼロに抑止し、また、部
分平方根が正の場合には、マルチプレクサ19の出力の
13ビットを、上位の併合平方根とのビットの重みがつ
り合うようにシフトを行ない、出力する。1番目の部分
平方根に対しては、256から244に入力データを整列さ
せ、出力する。加算手段21では併合平方根保持手段1
4の出力と、桁合わせ手段20の出力を入力して加算を
行ない、結果を併合平方根保持手段14にセットする。
浮動小数点開平演算装置の動作を説明する。図2,図3
はオペランドが入力されてから、各々の手段で処理され
ていく過程を示している。はじめにオペランドとして7
C88B89EAF092E9Fが入力され、入力レジ
スタ1にセットされる。例外検出手段2では入力オペラ
ンドが負の場合、データ例外として検出し、浮動小数点
開平演算装置の外部の命令実行制御部に対して例外が発
生していることを通知する。本数値例では(以下では、
この前提を省略する)オペランドは正であるので例外は
検出されない。入力レジスタ1の出力の262から252の
指数に対して、指数定数減算手段3により3FFが引か
れた後、シフタ4により右に1ビットシフトされ、指数
定数加算手段5により再び3FFが加算され、結果の指
数が求められる。リーディングビット付加回路6では入
力レジスタ1の出力の251から20 の仮数部に対して先
頭にリーディングビットの1が付加される。正規化手段
7では、入力レジスタ1の出力の252のビットが1の場
合入力を左に1ビットシフトして、また、入力レジスタ
1の出力の252のビットが0の場合入力を左に2ビット
シフトして出力する。テーブル情報格納手段8には正規
化手段7の254から243の12ビットが入力され、09
1A0が出力される。さらにこの出力の最下位ビットと
して正規化手段7の242のビットを反転したものが付加
されるのであるが、本例では1が付加され、乗算手段1
1での実質的な乗数は091A1となる。マルチプレク
サ9では正規化手段7の出力を選択し、この出力が剰余
保持手段10にセットされる。このとき、併合平方根保
持手段14はゼロにリセットされる。乗算手段11で6
2E27ABC24BA7Cと091A1の乗算が行な
われ、0384077F3C120B983FCの積が
求められると同時に1回目の反復では258の位で、2回
目以降の反復では259の位で積を丸めた結果がマルチプ
レクサ13に対して出力される。マルチプレクサ13で
は乗算手段11の271から259の13ビットを符号1ビ
ット、データ12ビットの1番目の部分平方根として選
択する。反転手段15では部分平方根を入力してビット
反転するとともに最下位ビットに1を付加して出力す
る。また、被乗数生成手段16では、1回目の反復では
256から244までにマルチプレクサ13の出力を埋め込
み、他のビットをゼロとして出力する。(R+S×T)
演算手段17ではシフタ12の出力する剰余保持手段1
0の出力を左に11ビットシフトしたものをR、被乗数
生成手段16の出力をS,反転手段15の出力をTとし
て入力し、(R+S×T)の演算を実行する。(R+S
×T)演算手段17の出力0FD5E125D3E00
0はマルチプレクサ9により選択され、剰余保持手段1
0にセットされる。一方、定数減算手段18ではマルチ
プレクサ13の出力のLSBから1を引く。マルチプレ
クサ19は、(R+S×T)演算手段17の出力が負の
場合、定数減算手段18の出力を選択し、それ以外の場
合はマルチプレクサ13の出力を選択する。1回目の反
復では上記の条件を判断してマルチプレクサ13の出力
を選択する。桁合わせ手段20では各反復での部分平方
根を併合するための桁合わせを実行する。具体的には、
部分平方根が負の場合には、マルチプレクサ19の出力
の13ビットの先頭2ビットをゼロに抑止し、また、部
分平方根が正の場合には、マルチプレクサ19の出力の
13ビットを、上位の併合平方根とのビットの重みがつ
り合うようにシフトを行ない、出力する。1番目の部分
平方根に対しては、256から244に入力データを整列さ
せ、出力する。加算手段21では併合平方根保持手段1
4の出力と、桁合わせ手段20の出力を入力して加算を
行ない、結果を併合平方根保持手段14にセットする。
【0044】次に2回目の反復計算に入る。テーブル情
報格納手段8の出力は2回目以降も1回目と変わらな
い。剰余保持手段10にセットされた1番目の剰余R1
の0FD5E125D3E000に091A1が乗算手
段11により掛けられ、積009021A0905CC
1FE000が出力される。272から260の0090が
符号1ビット、データ12ビットの2番目の部分平方根
としてマルチプレクサ13により選択される。反転手段
15では0090が反転され、1F6Fとなり、最下位
ビットとして1が付加されて出力され、(R+S×T)
演算手段17では実質的に乗数として1F70で演算が
行なわれる。一方、被乗数生成手段16では、併合平方
根保持手段14の出力を左に1ビットシフトするととも
に、マルチプレクサ13の出力する13ビットの先頭ビ
ットを除く12ビットを244から233へ埋め込み、0E
1012000000000を出力する。(R+S×
T)演算手段17ではシフタ12の出力する剰余保持手
段10の出力を左に11ビットシフトしたものをR、被
乗数生成手段16の出力をS,反転手段15の出力をT
として入力し、(R+S×T)の演算を実行する。(R
+S×T)演算手段17の出力1E672E9F000
000はマルチプレクサ9により選択され、剰余保持手
段10にセットされる。マルチプレクサ19は、マルチ
プレクサ13の出力を選択して出力し、桁合わせ手段2
0では13ビットの入力を245から233に整列させる。
加算手段21では併合平方根保持手段14の出力と、桁
合わせ手段20の出力を入力して加算を行ない、070
812000000000を出力する。併合平方根保持
手段14では加算手段21の出力をセットする。
報格納手段8の出力は2回目以降も1回目と変わらな
い。剰余保持手段10にセットされた1番目の剰余R1
の0FD5E125D3E000に091A1が乗算手
段11により掛けられ、積009021A0905CC
1FE000が出力される。272から260の0090が
符号1ビット、データ12ビットの2番目の部分平方根
としてマルチプレクサ13により選択される。反転手段
15では0090が反転され、1F6Fとなり、最下位
ビットとして1が付加されて出力され、(R+S×T)
演算手段17では実質的に乗数として1F70で演算が
行なわれる。一方、被乗数生成手段16では、併合平方
根保持手段14の出力を左に1ビットシフトするととも
に、マルチプレクサ13の出力する13ビットの先頭ビ
ットを除く12ビットを244から233へ埋め込み、0E
1012000000000を出力する。(R+S×
T)演算手段17ではシフタ12の出力する剰余保持手
段10の出力を左に11ビットシフトしたものをR、被
乗数生成手段16の出力をS,反転手段15の出力をT
として入力し、(R+S×T)の演算を実行する。(R
+S×T)演算手段17の出力1E672E9F000
000はマルチプレクサ9により選択され、剰余保持手
段10にセットされる。マルチプレクサ19は、マルチ
プレクサ13の出力を選択して出力し、桁合わせ手段2
0では13ビットの入力を245から233に整列させる。
加算手段21では併合平方根保持手段14の出力と、桁
合わせ手段20の出力を入力して加算を行ない、070
812000000000を出力する。併合平方根保持
手段14では加算手段21の出力をセットする。
【0045】次に3回目の反復計算に入る。テーブル情
報格納手段8の出力は1回目と変わらない。剰余保持手
段10にセットされた2番目の剰余R2 の1E672E
9F000000に091A1が乗算手段11により掛
けられ、積0114B904C60FF000000が
出力される。259の位で丸め後の272から260の011
5が符号1ビット、データ12ビットの3番目の部分平
方根としてマルチプレクサ13により選択される。反転
手段15では0115が反転され、1EEAとなり、最
下位ビットとして1が付加されて出力され、(R+S×
T)演算手段17では実質的に乗数として1EEBで演
算が行なわれる。一方、被乗数生成手段16では、併合
平方根保持手段14の出力を左に1ビットシフトすると
ともに、マルチプレクサ13の出力する13ビットの先
頭ビットを除く12ビットを233から222へ埋め込み、
0E1024045400000を出力する。(R+S
×T)演算手段17ではシフタ12の出力する剰余保持
手段10の出力を左に11ビットシフトしたものをR、
被乗数生成手段16の出力をS,反転手段15の出力を
Tとして入力し、(R+S×T)の演算を実行する。
(R+S×T)演算手段17の出力C2056D11C
00000はマルチプレクサ9により選択され、剰余保
持手段10にセットされる。マルチプレクサ19は、定
数減算手段18の出力を選択して出力し、桁合わせ手段
20では13ビットの入力を234から222に整列させ
る。加算手段21では併合平方根保持手段14の出力
と、桁合わせ手段20の出力を入力して加算を行ない、
070812045000000を出力する。併合平方
根保持手段14では加算手段21の出力をセットする。
報格納手段8の出力は1回目と変わらない。剰余保持手
段10にセットされた2番目の剰余R2 の1E672E
9F000000に091A1が乗算手段11により掛
けられ、積0114B904C60FF000000が
出力される。259の位で丸め後の272から260の011
5が符号1ビット、データ12ビットの3番目の部分平
方根としてマルチプレクサ13により選択される。反転
手段15では0115が反転され、1EEAとなり、最
下位ビットとして1が付加されて出力され、(R+S×
T)演算手段17では実質的に乗数として1EEBで演
算が行なわれる。一方、被乗数生成手段16では、併合
平方根保持手段14の出力を左に1ビットシフトすると
ともに、マルチプレクサ13の出力する13ビットの先
頭ビットを除く12ビットを233から222へ埋め込み、
0E1024045400000を出力する。(R+S
×T)演算手段17ではシフタ12の出力する剰余保持
手段10の出力を左に11ビットシフトしたものをR、
被乗数生成手段16の出力をS,反転手段15の出力を
Tとして入力し、(R+S×T)の演算を実行する。
(R+S×T)演算手段17の出力C2056D11C
00000はマルチプレクサ9により選択され、剰余保
持手段10にセットされる。マルチプレクサ19は、定
数減算手段18の出力を選択して出力し、桁合わせ手段
20では13ビットの入力を234から222に整列させ
る。加算手段21では併合平方根保持手段14の出力
と、桁合わせ手段20の出力を入力して加算を行ない、
070812045000000を出力する。併合平方
根保持手段14では加算手段21の出力をセットする。
【0046】次に4回目の反復計算に入る。テーブル情
報格納手段8の出力は1回目と変わらない。剰余保持手
段10にセットされた3番目の剰余R3 のC2056D
11C00000に091A1が乗算手段11により掛
けられ、積1DCBE1830A5E9C00000が
出力される。259の位で丸め後の272から260の1DC
Cが符号1ビット、データ12ビットの4番目の部分平
方根としてマルチプレクサ13により選択される。反転
手段15では1DCCが反転され、0233となり、最
下位ビットとして1が付加されて出力され、(R+S×
T)演算手段17では実質的に乗数として0234で演
算が行なわれる。一方、被乗数生成手段16では、併合
平方根保持手段14の出力を左に1ビットシフトすると
ともに、マルチプレクサ13の出力する13ビットの先
頭ビットを除く12ビットを222から211へ埋め込み、
0E102408A6E6000を出力する。(R+S
×T)演算手段17ではシフタ12の出力する剰余保持
手段10の出力を左に11ビットシフトしたものをR、
被乗数生成手段16の出力をS,反転手段15の出力を
Tとして入力し、(R+S×T)の演算を実行する。
(R+S×T)演算手段17の出力E45EBEFB2
B8000はマルチプレクサ9により選択され、剰余保
持手段10にセットされる。マルチプレクサ19は、定
数減算手段18の出力を選択して出力し、桁合わせ手段
20では13ビットの入力のうち、先頭2ビットをゼロ
に抑止して11ビットを221から211に整列させる。加
算手段21では併合平方根保持手段14の出力と、桁合
わせ手段20の出力を入力して加算を行ない、0708
120452E5000を出力する。併合平方根保持手
段14では加算手段21の出力をセットする。
報格納手段8の出力は1回目と変わらない。剰余保持手
段10にセットされた3番目の剰余R3 のC2056D
11C00000に091A1が乗算手段11により掛
けられ、積1DCBE1830A5E9C00000が
出力される。259の位で丸め後の272から260の1DC
Cが符号1ビット、データ12ビットの4番目の部分平
方根としてマルチプレクサ13により選択される。反転
手段15では1DCCが反転され、0233となり、最
下位ビットとして1が付加されて出力され、(R+S×
T)演算手段17では実質的に乗数として0234で演
算が行なわれる。一方、被乗数生成手段16では、併合
平方根保持手段14の出力を左に1ビットシフトすると
ともに、マルチプレクサ13の出力する13ビットの先
頭ビットを除く12ビットを222から211へ埋め込み、
0E102408A6E6000を出力する。(R+S
×T)演算手段17ではシフタ12の出力する剰余保持
手段10の出力を左に11ビットシフトしたものをR、
被乗数生成手段16の出力をS,反転手段15の出力を
Tとして入力し、(R+S×T)の演算を実行する。
(R+S×T)演算手段17の出力E45EBEFB2
B8000はマルチプレクサ9により選択され、剰余保
持手段10にセットされる。マルチプレクサ19は、定
数減算手段18の出力を選択して出力し、桁合わせ手段
20では13ビットの入力のうち、先頭2ビットをゼロ
に抑止して11ビットを221から211に整列させる。加
算手段21では併合平方根保持手段14の出力と、桁合
わせ手段20の出力を入力して加算を行ない、0708
120452E5000を出力する。併合平方根保持手
段14では加算手段21の出力をセットする。
【0047】次に5回目の反復計算に入る。テーブル情
報格納手段8の出力は1回目と変わらない。剰余保持手
段10にセットされた4番目の剰余R4 のE45EBE
FB2B8000に091A1が乗算手段11により掛
けられ、積1F04849C25F99DB8000が
出力される。259の位で丸め後の272から260の1F0
5が符号1ビット、データ12ビットの5番目の部分平
方根としてマルチプレクサ13により選択される。反転
手段15では1F05が反転され、00FAとなり、最
下位ビットとして1が付加されて出力され、(R+S×
T)演算手段17では実質的に乗数として00FBで演
算が行なわれる。一方、被乗数生成手段16では、併合
平方根保持手段14の出力を左に1ビットシフトすると
ともに、マルチプレクサ13の出力する13ビットの先
頭ビットを除く12ビットを211から20 へ埋め込み、
0E102408A5CBF05を出力する。(R+S
×T)演算手段17ではシフタ12の出力する剰余保持
手段10の出力を左に11ビットシフトしたものをR、
被乗数生成手段16の出力をS,反転手段15の出力を
Tとして入力し、(R+S×T)の演算を実行する。
(R+S×T)演算手段17は932D2104EF4
9E7を出力する。マルチプレクサ19は、定数減算手
段18の出力を選択して出力し、桁合わせ手段20では
13ビットの入力のうち、先頭2ビットをゼロに抑止し
て11ビットを210から20 に整列させる。加算手段2
1では併合平方根保持手段14の出力と、桁合わせ手段
20の出力を入力して加算を行ない、07081204
52E5F04を出力する。
報格納手段8の出力は1回目と変わらない。剰余保持手
段10にセットされた4番目の剰余R4 のE45EBE
FB2B8000に091A1が乗算手段11により掛
けられ、積1F04849C25F99DB8000が
出力される。259の位で丸め後の272から260の1F0
5が符号1ビット、データ12ビットの5番目の部分平
方根としてマルチプレクサ13により選択される。反転
手段15では1F05が反転され、00FAとなり、最
下位ビットとして1が付加されて出力され、(R+S×
T)演算手段17では実質的に乗数として00FBで演
算が行なわれる。一方、被乗数生成手段16では、併合
平方根保持手段14の出力を左に1ビットシフトすると
ともに、マルチプレクサ13の出力する13ビットの先
頭ビットを除く12ビットを211から20 へ埋め込み、
0E102408A5CBF05を出力する。(R+S
×T)演算手段17ではシフタ12の出力する剰余保持
手段10の出力を左に11ビットシフトしたものをR、
被乗数生成手段16の出力をS,反転手段15の出力を
Tとして入力し、(R+S×T)の演算を実行する。
(R+S×T)演算手段17は932D2104EF4
9E7を出力する。マルチプレクサ19は、定数減算手
段18の出力を選択して出力し、桁合わせ手段20では
13ビットの入力のうち、先頭2ビットをゼロに抑止し
て11ビットを210から20 に整列させる。加算手段2
1では併合平方根保持手段14の出力と、桁合わせ手段
20の出力を入力して加算を行ない、07081204
52E5F04を出力する。
【0048】最終的な結果として、263の符号ビットと
して0、262から252の指数部として指数定数加算手段
5の出力する11ビット、251から20 の仮数部として
加算手段21の253から22 がそれぞれ選択され、5E
3C2048114B97C1として図1に示す開平演
算装置から出力される。
して0、262から252の指数部として指数定数加算手段
5の出力する11ビット、251から20 の仮数部として
加算手段21の253から22 がそれぞれ選択され、5E
3C2048114B97C1として図1に示す開平演
算装置から出力される。
【0049】(実施例2)図4は本発明の第2の実施例
に係る浮動小数点開平演算装置のブロック図を示すもの
である。本実施例の浮動小数点開平演算装置はIEEE
規格の倍精度浮動小数点数を入力して、同じ倍精度浮動
小数点数の平方根を出力し、部分平方根のデータとして
のビット長が12で部分平方根間には1ビットの重複が
ある。図4において、31は入力レジスタ、32は例外
検出手段、33は指数定数減算手段、34はシフタ、3
5は指数定数加算手段、36はリーディングビット付加
回路、37は正規化手段、38はテーブル情報格納手
段、39はマルチプレクサ、40は剰余保持手段、41
は併合平方根保持手段、42は部分平方根保持手段(b
i)、43はシフタ、44は反転手段、45は被乗数生
成手段、46、47、48はマルチプレクサ、49は
(R+S×T)演算手段、50はマルチプレクサ、51
は定数減算手段、52はマルチプレクサ、53は桁合わ
せ手段、54は加算手段である。
に係る浮動小数点開平演算装置のブロック図を示すもの
である。本実施例の浮動小数点開平演算装置はIEEE
規格の倍精度浮動小数点数を入力して、同じ倍精度浮動
小数点数の平方根を出力し、部分平方根のデータとして
のビット長が12で部分平方根間には1ビットの重複が
ある。図4において、31は入力レジスタ、32は例外
検出手段、33は指数定数減算手段、34はシフタ、3
5は指数定数加算手段、36はリーディングビット付加
回路、37は正規化手段、38はテーブル情報格納手
段、39はマルチプレクサ、40は剰余保持手段、41
は併合平方根保持手段、42は部分平方根保持手段(b
i)、43はシフタ、44は反転手段、45は被乗数生
成手段、46、47、48はマルチプレクサ、49は
(R+S×T)演算手段、50はマルチプレクサ、51
は定数減算手段、52はマルチプレクサ、53は桁合わ
せ手段、54は加算手段である。
【0050】以下、具体的な数値例を用いて図4に示す
浮動小数点開平演算装置の動作を説明する。オペランド
が入力されてから、各々の手段で処理されていく過程は
第1の実施例で使用した図2,図3と同様である。はじ
めにオペランドとして7C88B89EAF092E9
Fが入力され、入力レジスタ31にセットされる。例外
検出手段32では入力オペランドが負の場合、データ例
外として検出し、浮動小数点開平演算装置の外部の命令
実行制御部に対して例外が発生していることを通知す
る。本数値例では(以下では、この前提を省略する)オ
ペランドは正であるので例外は検出されない。入力レジ
スタ31の出力の262から252の指数に対して、指数定
数減算手段33により3FFが引かれた後、シフタ34
により右に1ビットシフトされ、指数定数加算手段35
により再び3FFが加算され、結果の指数が求められ
る。リーディングビット付加回路36では入力レジスタ
31の出力の251から20 の仮数部に対して先頭にリー
ディングビットの1が付加される。正規化手段37で
は、入力レジスタ31の出力の252のビットが1の場合
入力を左に1ビットシフトして、また、入力レジスタ3
1の出力の252のビットが0の場合入力を左に2ビット
シフトして出力する。テーブル情報格納手段38には正
規化手段37の254から243の12ビットが入力され、
091A0が出力される。さらにこの出力の最下位ビッ
トとして正規化手段37の242のビットを反転したもの
が付加されるのであるが、本例では1が付加され、(R
+S×T)演算手段49での実質的な乗数は091A1
となる。マルチプレクサ39では正規化手段37の出力
を選択し、この出力が剰余保持手段40にセットされ
る。このとき、併合平方根保持手段41はゼロにリセッ
トされる。マルチプレクサ46、47、48はそれぞ
れ、‘0’、剰余保持手段40の出力、テーブル情報格
納手段38の出力を選択し、(R+S×T)演算手段4
9で62E27ABC24BA7Cと091A1の乗算
が行なわれ、0384077F3C120B983FC
の積が求められると同時に1回目の反復では258の位
で、2回目以降の反復では259の位で積を丸めた結果が
マルチプレクサ50に対して出力される。マルチプレク
サ50では(R+S×T)演算手段49の271から259
の13ビットを符号1ビット、データ12ビットの1番
目の部分平方根として選択し、部分平方根保持手段42
にこの部分平方根がセットされる。シフタ43では剰余
保持手段40の出力が左に11ビットシフトされる。反
転手段44では部分平方根を入力してビット反転すると
ともに上位に4ビット符号を拡張し、最下位ビットに1
を付加して出力する。また、被乗数生成手段45では、
1回目の反復では256から244までに部分平方根保持手
段42の出力を埋め込み、他のビットをゼロとして出力
する。マルチプレクサ46、47、48はそれぞれ、シ
フタ43の出力、被乗数生成手段45の出力、反転手段
44の出力を選択する。(R+S×T)演算手段49で
はマルチプレクサ46の出力をR、マルチプレクサ47
の出力をS,マルチプレクサ48の出力をTとして入力
し、(R+S×T)の演算を実行する。(R+S×T)
演算手段49の出力0FD5E125D3E000はマ
ルチプレクサ39により選択され、剰余保持手段40に
セットされる。一方、定数減算手段51では部分平方根
保持手段42の出力のLSBから1を引く。マルチプレ
クサ52は、(R+S×T)演算手段49の出力が負の
場合、定数減算手段51の出力を選択し、それ以外の場
合は部分平方根保持手段42の出力を選択する。1回目
の反復では上記の条件を判断して部分平方根保持手段4
2の出力を選択する。桁合わせ手段53では各反復での
部分平方根を併合するための桁合わせを実行する。具体
的には、部分平方根が負の場合には、マルチプレクサ5
2の出力の13ビットの先頭2ビットをゼロに抑止し、
また、部分平方根が正の場合には、マルチプレクサ52
の出力の13ビットを、上位の併合平方根とのビットの
重みがつり合うようにシフトを行ない、出力する。1番
目の部分平方根に対しては、256から244に入力データ
を整列させ、出力する。加算手段54では併合平方根保
持手段41の出力と、桁合わせ手段53の出力を入力し
て加算を行ない、結果を併合平方根保持手段41にセッ
トする。
浮動小数点開平演算装置の動作を説明する。オペランド
が入力されてから、各々の手段で処理されていく過程は
第1の実施例で使用した図2,図3と同様である。はじ
めにオペランドとして7C88B89EAF092E9
Fが入力され、入力レジスタ31にセットされる。例外
検出手段32では入力オペランドが負の場合、データ例
外として検出し、浮動小数点開平演算装置の外部の命令
実行制御部に対して例外が発生していることを通知す
る。本数値例では(以下では、この前提を省略する)オ
ペランドは正であるので例外は検出されない。入力レジ
スタ31の出力の262から252の指数に対して、指数定
数減算手段33により3FFが引かれた後、シフタ34
により右に1ビットシフトされ、指数定数加算手段35
により再び3FFが加算され、結果の指数が求められ
る。リーディングビット付加回路36では入力レジスタ
31の出力の251から20 の仮数部に対して先頭にリー
ディングビットの1が付加される。正規化手段37で
は、入力レジスタ31の出力の252のビットが1の場合
入力を左に1ビットシフトして、また、入力レジスタ3
1の出力の252のビットが0の場合入力を左に2ビット
シフトして出力する。テーブル情報格納手段38には正
規化手段37の254から243の12ビットが入力され、
091A0が出力される。さらにこの出力の最下位ビッ
トとして正規化手段37の242のビットを反転したもの
が付加されるのであるが、本例では1が付加され、(R
+S×T)演算手段49での実質的な乗数は091A1
となる。マルチプレクサ39では正規化手段37の出力
を選択し、この出力が剰余保持手段40にセットされ
る。このとき、併合平方根保持手段41はゼロにリセッ
トされる。マルチプレクサ46、47、48はそれぞ
れ、‘0’、剰余保持手段40の出力、テーブル情報格
納手段38の出力を選択し、(R+S×T)演算手段4
9で62E27ABC24BA7Cと091A1の乗算
が行なわれ、0384077F3C120B983FC
の積が求められると同時に1回目の反復では258の位
で、2回目以降の反復では259の位で積を丸めた結果が
マルチプレクサ50に対して出力される。マルチプレク
サ50では(R+S×T)演算手段49の271から259
の13ビットを符号1ビット、データ12ビットの1番
目の部分平方根として選択し、部分平方根保持手段42
にこの部分平方根がセットされる。シフタ43では剰余
保持手段40の出力が左に11ビットシフトされる。反
転手段44では部分平方根を入力してビット反転すると
ともに上位に4ビット符号を拡張し、最下位ビットに1
を付加して出力する。また、被乗数生成手段45では、
1回目の反復では256から244までに部分平方根保持手
段42の出力を埋め込み、他のビットをゼロとして出力
する。マルチプレクサ46、47、48はそれぞれ、シ
フタ43の出力、被乗数生成手段45の出力、反転手段
44の出力を選択する。(R+S×T)演算手段49で
はマルチプレクサ46の出力をR、マルチプレクサ47
の出力をS,マルチプレクサ48の出力をTとして入力
し、(R+S×T)の演算を実行する。(R+S×T)
演算手段49の出力0FD5E125D3E000はマ
ルチプレクサ39により選択され、剰余保持手段40に
セットされる。一方、定数減算手段51では部分平方根
保持手段42の出力のLSBから1を引く。マルチプレ
クサ52は、(R+S×T)演算手段49の出力が負の
場合、定数減算手段51の出力を選択し、それ以外の場
合は部分平方根保持手段42の出力を選択する。1回目
の反復では上記の条件を判断して部分平方根保持手段4
2の出力を選択する。桁合わせ手段53では各反復での
部分平方根を併合するための桁合わせを実行する。具体
的には、部分平方根が負の場合には、マルチプレクサ5
2の出力の13ビットの先頭2ビットをゼロに抑止し、
また、部分平方根が正の場合には、マルチプレクサ52
の出力の13ビットを、上位の併合平方根とのビットの
重みがつり合うようにシフトを行ない、出力する。1番
目の部分平方根に対しては、256から244に入力データ
を整列させ、出力する。加算手段54では併合平方根保
持手段41の出力と、桁合わせ手段53の出力を入力し
て加算を行ない、結果を併合平方根保持手段41にセッ
トする。
【0051】次に2回目の反復計算に入る。テーブル情
報格納手段38の出力は2回目以降も1回目と変わらな
い。マルチプレクサ46、47、48はそれぞれ、
‘0’、剰余保持手段40にセットされた1番目の剰余
R1 の0FD5E125D3E000、テーブル情報格
納手段38の出力091A1を選択し、(R+S×T)
演算手段49は(S×T)を実行し、積009021A
0905CC1FE000を出力する。272から260の
0090を符号1ビット、データ12ビットの2番目の
部分平方根としてマルチプレクサ50により選択し、部
分平方根保持手段42にこの部分平方根がセットされ
る。シフタ43では剰余保持手段40の出力が左に11
ビットシフトされる。反転手段44では0090が反
転、上位に4ビット符号を拡張され、1FF6Fとな
り、最下位ビットとして1が付加されて出力され、(R
+S×T)演算手段49では実質的に乗数として1FF
70で演算が行なわれる。一方、被乗数生成手段45で
は、併合平方根保持手段41の出力を左に1ビットシフ
トするとともに、部分平方根保持手段42の出力する1
3ビットの先頭ビットを除く12ビットを244から233
へ埋め込み、0E1012000000000を出力す
る。マルチプレクサ46、47、48はそれぞれ、シフ
タ43の出力、被乗数生成手段45の出力、反転手段4
4の出力を選択する。(R+S×T)演算手段49では
マルチプレクサ46の出力をR、マルチプレクサ47の
出力をS,マルチプレクサ48の出力をTとして入力
し、(R+S×T)の演算を実行する。(R+S×T)
演算手段49の出力1E672E9F000000はマ
ルチプレクサ39により選択され、剰余保持手段40に
セットされる。マルチプレクサ52は、部分平方根保持
手段42の出力を選択して出力し、桁合わせ手段53で
は13ビットの入力を245から233に整列させる。加算
手段54では併合平方根保持手段41の出力と、桁合わ
せ手段53の出力を入力して加算を行ない、07081
2000000000を出力する。併合平方根保持手段
41では加算手段54の出力をセットする。
報格納手段38の出力は2回目以降も1回目と変わらな
い。マルチプレクサ46、47、48はそれぞれ、
‘0’、剰余保持手段40にセットされた1番目の剰余
R1 の0FD5E125D3E000、テーブル情報格
納手段38の出力091A1を選択し、(R+S×T)
演算手段49は(S×T)を実行し、積009021A
0905CC1FE000を出力する。272から260の
0090を符号1ビット、データ12ビットの2番目の
部分平方根としてマルチプレクサ50により選択し、部
分平方根保持手段42にこの部分平方根がセットされ
る。シフタ43では剰余保持手段40の出力が左に11
ビットシフトされる。反転手段44では0090が反
転、上位に4ビット符号を拡張され、1FF6Fとな
り、最下位ビットとして1が付加されて出力され、(R
+S×T)演算手段49では実質的に乗数として1FF
70で演算が行なわれる。一方、被乗数生成手段45で
は、併合平方根保持手段41の出力を左に1ビットシフ
トするとともに、部分平方根保持手段42の出力する1
3ビットの先頭ビットを除く12ビットを244から233
へ埋め込み、0E1012000000000を出力す
る。マルチプレクサ46、47、48はそれぞれ、シフ
タ43の出力、被乗数生成手段45の出力、反転手段4
4の出力を選択する。(R+S×T)演算手段49では
マルチプレクサ46の出力をR、マルチプレクサ47の
出力をS,マルチプレクサ48の出力をTとして入力
し、(R+S×T)の演算を実行する。(R+S×T)
演算手段49の出力1E672E9F000000はマ
ルチプレクサ39により選択され、剰余保持手段40に
セットされる。マルチプレクサ52は、部分平方根保持
手段42の出力を選択して出力し、桁合わせ手段53で
は13ビットの入力を245から233に整列させる。加算
手段54では併合平方根保持手段41の出力と、桁合わ
せ手段53の出力を入力して加算を行ない、07081
2000000000を出力する。併合平方根保持手段
41では加算手段54の出力をセットする。
【0052】次に3回目の反復計算に入る。テーブル情
報格納手段38の出力は1回目と変わらない。マルチプ
レクサ46、47、48はそれぞれ、‘0’、剰余保持
手段40にセットされた2番目の剰余R2 の1E672
E9F000000、テーブル情報格納手段38の出力
091A1を選択し、(R+S×T)演算手段49は
(S×T)を実行し、積0114B904C60FF0
00000を出力する。259の位で丸め後の272から2
60の0115を符号1ビット、データ12ビットの3番
目の部分平方根としてマルチプレクサ50により選択
し、部分平方根保持手段42にこの部分平方根がセット
される。シフタ43では剰余保持手段40の出力が左に
11ビットシフトされる。反転手段44では0115が
反転、上位に4ビット符号が拡張され、1FEEAとな
り、最下位ビットとして1が付加されて出力され、(R
+S×T)演算手段49では実質的に乗数として1FE
EBで演算が行なわれる。一方、被乗数生成手段45で
は、併合平方根保持手段41の出力を左に1ビットシフ
トするとともに、部分平方根保持手段42の出力する1
3ビットの先頭ビットを除く12ビットを233から222
へ埋め込み、0E1024045400000を出力す
る。マルチプレクサ46、47、48はそれぞれ、シフ
タ43の出力、被乗数生成手段45の出力、反転手段4
4の出力を選択する。(R+S×T)演算手段49では
マルチプレクサ46の出力をR、マルチプレクサ47の
出力をS,マルチプレクサ48の出力をTとして入力
し、(R+S×T)の演算を実行する。(R+S×T)
演算手段49の出力C2056D11C00000はマ
ルチプレクサ39により選択され、剰余保持手段40に
セットされる。マルチプレクサ52は、定数減算手段5
1の出力を選択して出力し、桁合わせ手段53では13
ビットの入力を234から222に整列させる。加算手段5
4では併合平方根保持手段41の出力と、桁合わせ手段
53の出力を入力して加算を行ない、07081204
5000000を出力する。併合平方根保持手段41で
は加算手段54の出力をセットする。
報格納手段38の出力は1回目と変わらない。マルチプ
レクサ46、47、48はそれぞれ、‘0’、剰余保持
手段40にセットされた2番目の剰余R2 の1E672
E9F000000、テーブル情報格納手段38の出力
091A1を選択し、(R+S×T)演算手段49は
(S×T)を実行し、積0114B904C60FF0
00000を出力する。259の位で丸め後の272から2
60の0115を符号1ビット、データ12ビットの3番
目の部分平方根としてマルチプレクサ50により選択
し、部分平方根保持手段42にこの部分平方根がセット
される。シフタ43では剰余保持手段40の出力が左に
11ビットシフトされる。反転手段44では0115が
反転、上位に4ビット符号が拡張され、1FEEAとな
り、最下位ビットとして1が付加されて出力され、(R
+S×T)演算手段49では実質的に乗数として1FE
EBで演算が行なわれる。一方、被乗数生成手段45で
は、併合平方根保持手段41の出力を左に1ビットシフ
トするとともに、部分平方根保持手段42の出力する1
3ビットの先頭ビットを除く12ビットを233から222
へ埋め込み、0E1024045400000を出力す
る。マルチプレクサ46、47、48はそれぞれ、シフ
タ43の出力、被乗数生成手段45の出力、反転手段4
4の出力を選択する。(R+S×T)演算手段49では
マルチプレクサ46の出力をR、マルチプレクサ47の
出力をS,マルチプレクサ48の出力をTとして入力
し、(R+S×T)の演算を実行する。(R+S×T)
演算手段49の出力C2056D11C00000はマ
ルチプレクサ39により選択され、剰余保持手段40に
セットされる。マルチプレクサ52は、定数減算手段5
1の出力を選択して出力し、桁合わせ手段53では13
ビットの入力を234から222に整列させる。加算手段5
4では併合平方根保持手段41の出力と、桁合わせ手段
53の出力を入力して加算を行ない、07081204
5000000を出力する。併合平方根保持手段41で
は加算手段54の出力をセットする。
【0053】次に4回目の反復計算に入る。テーブル情
報格納手段38の出力は1回目と変わらない。マルチプ
レクサ46、47、48はそれぞれ、‘0’、剰余保持
手段40にセットされた3番目の剰余R3 のC2056
D11C00000、テーブル情報格納手段38の出力
091A1を選択し、(R+S×T)演算手段49は
(S×T)を実行し、積1DCBE1830A5E9C
00000を出力する。259の位で丸め後の272から2
60の1DCCを符号1ビット、データ12ビットの4番
目の部分平方根としてマルチプレクサ50により選択
し、部分平方根保持手段42にこの部分平方根がセット
される。シフタ43では剰余保持手段40の出力が左に
11ビットシフトされる。反転手段44では1DCCが
反転、上位に4ビット符号が拡張され、00233とな
り、最下位ビットとして1が付加されて出力され、(R
+S×T)演算手段49では実質的に乗数として002
34で演算が行なわれる。一方、被乗数生成手段45で
は、併合平方根保持手段41の出力を左に1ビットシフ
トするとともに、部分平方根保持手段42の出力する1
3ビットの先頭ビットを除く12ビットを222から211
へ埋め込み、0E102408A6E6000を出力す
る。マルチプレクサ46、47、48はそれぞれ、シフ
タ43の出力、被乗数生成手段45の出力、反転手段4
4の出力を選択する。(R+S×T)演算手段49では
マルチプレクサ46の出力をR、マルチプレクサ47の
出力をS,マルチプレクサ48の出力をTとして入力
し、(R+S×T)の演算を実行する。(R+S×T)
演算手段49の出力E45EBEFB2B8000はマ
ルチプレクサ39により選択され、剰余保持手段40に
セットされる。マルチプレクサ52は、定数減算手段5
1の出力を選択して出力し、桁合わせ手段53では13
ビットの入力のうち、先頭2ビットをゼロに抑止して1
1ビットを221から211に整列させる。加算手段54で
は併合平方根保持手段41の出力と、桁合わせ手段53
の出力を入力して加算を行ない、0708120452
E5000を出力する。併合平方根保持手段41では加
算手段54の出力をセットする。
報格納手段38の出力は1回目と変わらない。マルチプ
レクサ46、47、48はそれぞれ、‘0’、剰余保持
手段40にセットされた3番目の剰余R3 のC2056
D11C00000、テーブル情報格納手段38の出力
091A1を選択し、(R+S×T)演算手段49は
(S×T)を実行し、積1DCBE1830A5E9C
00000を出力する。259の位で丸め後の272から2
60の1DCCを符号1ビット、データ12ビットの4番
目の部分平方根としてマルチプレクサ50により選択
し、部分平方根保持手段42にこの部分平方根がセット
される。シフタ43では剰余保持手段40の出力が左に
11ビットシフトされる。反転手段44では1DCCが
反転、上位に4ビット符号が拡張され、00233とな
り、最下位ビットとして1が付加されて出力され、(R
+S×T)演算手段49では実質的に乗数として002
34で演算が行なわれる。一方、被乗数生成手段45で
は、併合平方根保持手段41の出力を左に1ビットシフ
トするとともに、部分平方根保持手段42の出力する1
3ビットの先頭ビットを除く12ビットを222から211
へ埋め込み、0E102408A6E6000を出力す
る。マルチプレクサ46、47、48はそれぞれ、シフ
タ43の出力、被乗数生成手段45の出力、反転手段4
4の出力を選択する。(R+S×T)演算手段49では
マルチプレクサ46の出力をR、マルチプレクサ47の
出力をS,マルチプレクサ48の出力をTとして入力
し、(R+S×T)の演算を実行する。(R+S×T)
演算手段49の出力E45EBEFB2B8000はマ
ルチプレクサ39により選択され、剰余保持手段40に
セットされる。マルチプレクサ52は、定数減算手段5
1の出力を選択して出力し、桁合わせ手段53では13
ビットの入力のうち、先頭2ビットをゼロに抑止して1
1ビットを221から211に整列させる。加算手段54で
は併合平方根保持手段41の出力と、桁合わせ手段53
の出力を入力して加算を行ない、0708120452
E5000を出力する。併合平方根保持手段41では加
算手段54の出力をセットする。
【0054】次に5回目の反復計算に入る。テーブル情
報格納手段38の出力は1回目と変わらない。マルチプ
レクサ46、47、48はそれぞれ、‘0’、剰余保持
手段40にセットされた4番目の剰余R4 のE45EB
EFB2B8000、テーブル情報格納手段38の出力
091A1を選択し、(R+S×T)演算手段49は
(S×T)を実行し、積1F04849C25F99D
B8000を出力する。259の位で丸め後の272から2
60の1F05を符号1ビット、データ12ビットの5番
目の部分平方根としてマルチプレクサ50により選択
し、部分平方根保持手段42にこの部分平方根がセット
される。シフタ43では剰余保持手段40の出力が左に
11ビットシフトされる。反転手段44では1F05が
反転、上位に4ビット符号が拡張され、000FAとな
り、最下位ビットとして1が付加されて出力され、(R
+S×T)演算手段49では実質的に乗数として00F
Bで演算が行なわれる。一方、被乗数生成手段45で
は、併合平方根保持手段41の出力を左に1ビットシフ
トするとともに、部分平方根保持手段42の出力する1
3ビットの先頭ビットを除く12ビットを211から20
へ埋め込み、0E102408A5CBF05を出力す
る。マルチプレクサ46、47、48はそれぞれ、シフ
タ43の出力、被乗数生成手段45の出力、反転手段4
4の出力を選択する。(R+S×T)演算手段49では
マルチプレクサ46の出力をR、マルチプレクサ47の
出力をS,マルチプレクサ48の出力をTとして入力
し、(R+S×T)の演算を実行する。(R+S×T)
演算手段49は932D2104EF49E7を出力す
る。マルチプレクサ52は、定数減算手段51の出力を
選択して出力し、桁合わせ手段53では13ビットの入
力のうち、先頭2ビットをゼロに抑止して11ビットを
210から20 に整列させる。加算手段54では併合平方
根保持手段41の出力と、桁合わせ手段54の出力を入
力して加算を行ない、0708120452E5F04
を出力する。
報格納手段38の出力は1回目と変わらない。マルチプ
レクサ46、47、48はそれぞれ、‘0’、剰余保持
手段40にセットされた4番目の剰余R4 のE45EB
EFB2B8000、テーブル情報格納手段38の出力
091A1を選択し、(R+S×T)演算手段49は
(S×T)を実行し、積1F04849C25F99D
B8000を出力する。259の位で丸め後の272から2
60の1F05を符号1ビット、データ12ビットの5番
目の部分平方根としてマルチプレクサ50により選択
し、部分平方根保持手段42にこの部分平方根がセット
される。シフタ43では剰余保持手段40の出力が左に
11ビットシフトされる。反転手段44では1F05が
反転、上位に4ビット符号が拡張され、000FAとな
り、最下位ビットとして1が付加されて出力され、(R
+S×T)演算手段49では実質的に乗数として00F
Bで演算が行なわれる。一方、被乗数生成手段45で
は、併合平方根保持手段41の出力を左に1ビットシフ
トするとともに、部分平方根保持手段42の出力する1
3ビットの先頭ビットを除く12ビットを211から20
へ埋め込み、0E102408A5CBF05を出力す
る。マルチプレクサ46、47、48はそれぞれ、シフ
タ43の出力、被乗数生成手段45の出力、反転手段4
4の出力を選択する。(R+S×T)演算手段49では
マルチプレクサ46の出力をR、マルチプレクサ47の
出力をS,マルチプレクサ48の出力をTとして入力
し、(R+S×T)の演算を実行する。(R+S×T)
演算手段49は932D2104EF49E7を出力す
る。マルチプレクサ52は、定数減算手段51の出力を
選択して出力し、桁合わせ手段53では13ビットの入
力のうち、先頭2ビットをゼロに抑止して11ビットを
210から20 に整列させる。加算手段54では併合平方
根保持手段41の出力と、桁合わせ手段54の出力を入
力して加算を行ない、0708120452E5F04
を出力する。
【0055】最終的な結果として、263の符号ビットと
して0、262から252の指数部として指数定数加算手段
35の出力する11ビット、251から20 の仮数部とし
て加算手段54の253から22 がそれぞれ選択され、5
E3C2048114B97C1として図4に示す開平
演算装置から出力される。
して0、262から252の指数部として指数定数加算手段
35の出力する11ビット、251から20 の仮数部とし
て加算手段54の253から22 がそれぞれ選択され、5
E3C2048114B97C1として図4に示す開平
演算装置から出力される。
【0056】(実施例3)図5,図6は本発明の第3の
実施例に係る浮動小数点ベクトル開平演算装置のブロッ
ク図を示すものである。本実施例の浮動小数点ベクトル
開平演算装置はIEEE規格の倍精度浮動小数点数ベク
トルを要素順に入力して、同じ倍精度浮動小数点数の平
方根ベクトルを要素順に出力し、部分平方根のデータと
してのビット長が12で部分平方根間には1ビットの重
複がある。図5,図6において、61は入力レジスタ、
62_1から62_12は例外検出情報保持手段、63
は指数定数減算手段、64はシフタ、65は指数定数加
算手段、66_1から66_12は指数保持手段、67
はリーディングビット付加回路、68は正規化手段、6
9は正規化オペランドレジスタ、70はテーブル情報格
納手段、71_2から71_10はテーブル出力情報保
持手段、72_2から72_12は剰余保持手段、73
_1から73_5は乗算手段、74_1から74_5は
部分平方根保持手段、75_1から75_5はシフタ、
76_1から76_5は反転手段、77_1から77_
5は被乗数生成手段、78_1から78_5は(R+S
×T)演算手段、79_1から79_5は定数減算手
段、80_1から80_5はマルチプレクサ、81_2
から81_5は加算手段、82_4から82_12は併
合平方根保持手段、83は例外検出手段である。
実施例に係る浮動小数点ベクトル開平演算装置のブロッ
ク図を示すものである。本実施例の浮動小数点ベクトル
開平演算装置はIEEE規格の倍精度浮動小数点数ベク
トルを要素順に入力して、同じ倍精度浮動小数点数の平
方根ベクトルを要素順に出力し、部分平方根のデータと
してのビット長が12で部分平方根間には1ビットの重
複がある。図5,図6において、61は入力レジスタ、
62_1から62_12は例外検出情報保持手段、63
は指数定数減算手段、64はシフタ、65は指数定数加
算手段、66_1から66_12は指数保持手段、67
はリーディングビット付加回路、68は正規化手段、6
9は正規化オペランドレジスタ、70はテーブル情報格
納手段、71_2から71_10はテーブル出力情報保
持手段、72_2から72_12は剰余保持手段、73
_1から73_5は乗算手段、74_1から74_5は
部分平方根保持手段、75_1から75_5はシフタ、
76_1から76_5は反転手段、77_1から77_
5は被乗数生成手段、78_1から78_5は(R+S
×T)演算手段、79_1から79_5は定数減算手
段、80_1から80_5はマルチプレクサ、81_2
から81_5は加算手段、82_4から82_12は併
合平方根保持手段、83は例外検出手段である。
【0057】以下、具体的な数値例を用いて図5,図6
に示す浮動小数点ベクトル開平演算装置の動作を説明す
る。ベクトルの1つの要素のオペランドが入力されてか
ら、各々の手段で処理されていく過程は第1の実施例で
使用した図2,図3と同様である。以下では1つの要素
がステージ毎にどのように処理されていくかについて説
明する。
に示す浮動小数点ベクトル開平演算装置の動作を説明す
る。ベクトルの1つの要素のオペランドが入力されてか
ら、各々の手段で処理されていく過程は第1の実施例で
使用した図2,図3と同様である。以下では1つの要素
がステージ毎にどのように処理されていくかについて説
明する。
【0058】ステージ 0:はじめにオペランドとして
7C88B89EAF092E9Fが入力され、入力レ
ジスタ61にセットされる。入力レジスタ61の出力の
262から252の指数に対して、指数定数減算手段63に
より3FFを引く。一方、リーディングビット付加回路
67では入力レジスタ61の出力の251から20 の仮数
部に対して先頭にリーディングビットの1を付加する。
正規化手段68では、入力レジスタ61の出力の252の
ビットが1の場合入力を左に1ビットシフトして、ま
た、入力レジスタ61の出力の252のビットが0の場合
入力を左に2ビットシフトして出力する。
7C88B89EAF092E9Fが入力され、入力レ
ジスタ61にセットされる。入力レジスタ61の出力の
262から252の指数に対して、指数定数減算手段63に
より3FFを引く。一方、リーディングビット付加回路
67では入力レジスタ61の出力の251から20 の仮数
部に対して先頭にリーディングビットの1を付加する。
正規化手段68では、入力レジスタ61の出力の252の
ビットが1の場合入力を左に1ビットシフトして、ま
た、入力レジスタ61の出力の252のビットが0の場合
入力を左に2ビットシフトして出力する。
【0059】ステージ 1:はじめに入力レジスタ61
の出力の先頭1ビットが例外検出情報保持手段62_1
に、指数定数減算手段63の出力が指数保持手段66_
1に、正規化手段68の出力が正規化オペランドレジス
タ69に、それぞれセットされる。指数保持手段66_
1の出力がシフタ64により右に1ビットシフトされ、
テーブル情報格納手段70には正規化オペランドレジス
タ69の出力する254から243の12ビットが入力さ
れ、091A0が出力される。さらにこの出力の最下位
ビットとして正規化オペランドレジスタ69の出力の2
42のビットを反転したものが付加されるのであるが、本
例では1が付加され、乗算手段73_1から73_5で
の実質的な乗数は091A1となる。
の出力の先頭1ビットが例外検出情報保持手段62_1
に、指数定数減算手段63の出力が指数保持手段66_
1に、正規化手段68の出力が正規化オペランドレジス
タ69に、それぞれセットされる。指数保持手段66_
1の出力がシフタ64により右に1ビットシフトされ、
テーブル情報格納手段70には正規化オペランドレジス
タ69の出力する254から243の12ビットが入力さ
れ、091A0が出力される。さらにこの出力の最下位
ビットとして正規化オペランドレジスタ69の出力の2
42のビットを反転したものが付加されるのであるが、本
例では1が付加され、乗算手段73_1から73_5で
の実質的な乗数は091A1となる。
【0060】ステージ 2:はじめに例外検出情報保持
手段62_1の出力が62_2に、シフタ64の出力が
指数保持手段66_2に、正規化オペランドレジスタ6
9の出力が剰余保持手段72_2に、テーブル情報格納
手段70の出力がテーブル出力情報保持手段71_2
に、それぞれセットされる。指数保持手段66_2の出
力に対して指数定数加算手段65により3FFが加算さ
れ、結果の指数が求められる。乗算手段73_1で62
E27ABC24BA7Cと091A1の乗算が行なわ
れ、0384077F3C120B983FCの積が求
められる。
手段62_1の出力が62_2に、シフタ64の出力が
指数保持手段66_2に、正規化オペランドレジスタ6
9の出力が剰余保持手段72_2に、テーブル情報格納
手段70の出力がテーブル出力情報保持手段71_2
に、それぞれセットされる。指数保持手段66_2の出
力に対して指数定数加算手段65により3FFが加算さ
れ、結果の指数が求められる。乗算手段73_1で62
E27ABC24BA7Cと091A1の乗算が行なわ
れ、0384077F3C120B983FCの積が求
められる。
【0061】ステージ 3:はじめに指数定数加算手段
65の出力が指数保持手段66_3に、乗算手段73_
1の271から259の13ビットが符号1ビット、データ
12ビットの1番目の部分平方根として部分平方根保持
手段74_1に、例外検出情報保持手段62_2の出力
が62_3に、剰余保持手段72_2の出力が72_3
に、テーブル出力情報保持手段71_2の出力が71_
3に、それぞれセットされる。シフタ75_1では剰余
保持手段72_3の出力を左に11ビットシフトする。
反転手段76_1では部分平方根保持手段74_1の出
力を入力してビット反転するとともに、最下位ビットに
1を付加して出力する。また、被乗数生成手段77_1
では、1回目の反復では256から244までに部分平方根
保持手段74_1の出力を埋め込み、他のビットをゼロ
として出力する。(R+S×T)演算手段78_1では
シフタ75_1の出力をR、被乗数生成手段77_1の
出力をS,反転手段76_1の出力をTとして入力し、
(R+S×T)の演算を実行する。(R+S×T)演算
手段78_1は0FD5E125D3E000を出力す
る。一方、定数減算手段79_1では部分平方根保持手
段74_1の出力のLSBから1を引く。マルチプレク
サ80_1は、(R+S×T)演算手段78_1の出力
が負の場合、定数減算手段79_1の出力を選択し、そ
れ以外の場合は部分平方根保持手段74_1の出力を選
択する。本例では上記の条件を判断して部分平方根保持
手段74_1の出力を選択する。
65の出力が指数保持手段66_3に、乗算手段73_
1の271から259の13ビットが符号1ビット、データ
12ビットの1番目の部分平方根として部分平方根保持
手段74_1に、例外検出情報保持手段62_2の出力
が62_3に、剰余保持手段72_2の出力が72_3
に、テーブル出力情報保持手段71_2の出力が71_
3に、それぞれセットされる。シフタ75_1では剰余
保持手段72_3の出力を左に11ビットシフトする。
反転手段76_1では部分平方根保持手段74_1の出
力を入力してビット反転するとともに、最下位ビットに
1を付加して出力する。また、被乗数生成手段77_1
では、1回目の反復では256から244までに部分平方根
保持手段74_1の出力を埋め込み、他のビットをゼロ
として出力する。(R+S×T)演算手段78_1では
シフタ75_1の出力をR、被乗数生成手段77_1の
出力をS,反転手段76_1の出力をTとして入力し、
(R+S×T)の演算を実行する。(R+S×T)演算
手段78_1は0FD5E125D3E000を出力す
る。一方、定数減算手段79_1では部分平方根保持手
段74_1の出力のLSBから1を引く。マルチプレク
サ80_1は、(R+S×T)演算手段78_1の出力
が負の場合、定数減算手段79_1の出力を選択し、そ
れ以外の場合は部分平方根保持手段74_1の出力を選
択する。本例では上記の条件を判断して部分平方根保持
手段74_1の出力を選択する。
【0062】ステージ 4:はじめに(R+S×T)演
算手段78_1の出力が剰余保持手段72_4に、マル
チプレクサ80_1の出力の13ビットを256から244
に整列させ、他のビットをゼロとするデータが併合平方
根保持手段82_4に、例外検出情報保持手段62_3
の出力が62_4に、指数保持手段66_3の出力が6
6_4に、テーブル出力情報保持手段71_3の出力が
71_4に、それぞれセットされる。剰余保持手段72
_4にセットされた1番目の剰余R1 の0FD5E12
5D3E000にテーブル出力情報保持手段71_4の
出力する091A1が乗算手段73_2により掛けら
れ、積009021A0905CC1FE000が出力
される。
算手段78_1の出力が剰余保持手段72_4に、マル
チプレクサ80_1の出力の13ビットを256から244
に整列させ、他のビットをゼロとするデータが併合平方
根保持手段82_4に、例外検出情報保持手段62_3
の出力が62_4に、指数保持手段66_3の出力が6
6_4に、テーブル出力情報保持手段71_3の出力が
71_4に、それぞれセットされる。剰余保持手段72
_4にセットされた1番目の剰余R1 の0FD5E12
5D3E000にテーブル出力情報保持手段71_4の
出力する091A1が乗算手段73_2により掛けら
れ、積009021A0905CC1FE000が出力
される。
【0063】ステージ 5:はじめに乗算手段73_2
の出力の272から260の0090が符号1ビット、デー
タ12ビットの2番目の部分平方根として部分平方根保
持手段74_2に、例外検出情報保持手段62_4の出
力が62_5に、指数保持手段66_4の出力が66_
5に、剰余保持手段72_4の出力が72_5に、併合
平方根保持手段82_4の出力が82_5に、テーブル
出力情報保持手段71_4の出力が71_5に、それぞ
れセットされる。シフタ75_2では剰余保持手段72
_5の出力を左に11ビットシフトする。反転手段76
_2では0090が反転され、1F6Fとなり、最下位
ビットとして1が付加されて出力され、(R+S×T)
演算手段78_2では実質的に乗数として1F70で演
算が行なわれる。一方、被乗数生成手段77_2では、
併合平方根保持手段82_5の出力を左に1ビットシフ
トするとともに、部分平方根保持手段74_2の出力す
る13ビットの先頭ビットを除く12ビットを244から
233へ埋め込み、0E1012000000000を出
力する。(R+S×T)演算手段78_2ではシフタ7
5_2の出力をR、被乗数生成手段77_2の出力を
S,反転手段76_2の出力をTとして入力し、(R+
S×T)の演算を実行する。(R+S×T)演算手段7
8_2は1E672E9F000000を出力する。マ
ルチプレクサ80_2は、部分平方根保持手段74_2
の出力を選択して出力する。加算手段81_2では併合
平方根保持手段82_5の出力と、マルチプレクサ80
_2の出力については13ビットを245から233に整列
させて入力して加算を行ない、07081200000
000を出力する。
の出力の272から260の0090が符号1ビット、デー
タ12ビットの2番目の部分平方根として部分平方根保
持手段74_2に、例外検出情報保持手段62_4の出
力が62_5に、指数保持手段66_4の出力が66_
5に、剰余保持手段72_4の出力が72_5に、併合
平方根保持手段82_4の出力が82_5に、テーブル
出力情報保持手段71_4の出力が71_5に、それぞ
れセットされる。シフタ75_2では剰余保持手段72
_5の出力を左に11ビットシフトする。反転手段76
_2では0090が反転され、1F6Fとなり、最下位
ビットとして1が付加されて出力され、(R+S×T)
演算手段78_2では実質的に乗数として1F70で演
算が行なわれる。一方、被乗数生成手段77_2では、
併合平方根保持手段82_5の出力を左に1ビットシフ
トするとともに、部分平方根保持手段74_2の出力す
る13ビットの先頭ビットを除く12ビットを244から
233へ埋め込み、0E1012000000000を出
力する。(R+S×T)演算手段78_2ではシフタ7
5_2の出力をR、被乗数生成手段77_2の出力を
S,反転手段76_2の出力をTとして入力し、(R+
S×T)の演算を実行する。(R+S×T)演算手段7
8_2は1E672E9F000000を出力する。マ
ルチプレクサ80_2は、部分平方根保持手段74_2
の出力を選択して出力する。加算手段81_2では併合
平方根保持手段82_5の出力と、マルチプレクサ80
_2の出力については13ビットを245から233に整列
させて入力して加算を行ない、07081200000
000を出力する。
【0064】ステージ 6:はじめに(R+S×T)演
算手段78_2の出力が剰余保持手段72_6に、加算
手段81_2の出力が併合平方根保持手段82_6に、
例外検出情報保持手段62_5の出力が62_6に、指
数保持手段66_5の出力が66_6に、テーブル出力
情報保持手段71_5の出力が71_6に、それぞれセ
ットされる。剰余保持手段72_6にセットされた2番
目の剰余R2 の1E672E9F000000にテーブ
ル出力情報保持手段71_6の出力する091A1が乗
算手段73_3により掛けられ、積0114B904C
60FF000000が出力される。
算手段78_2の出力が剰余保持手段72_6に、加算
手段81_2の出力が併合平方根保持手段82_6に、
例外検出情報保持手段62_5の出力が62_6に、指
数保持手段66_5の出力が66_6に、テーブル出力
情報保持手段71_5の出力が71_6に、それぞれセ
ットされる。剰余保持手段72_6にセットされた2番
目の剰余R2 の1E672E9F000000にテーブ
ル出力情報保持手段71_6の出力する091A1が乗
算手段73_3により掛けられ、積0114B904C
60FF000000が出力される。
【0065】ステージ 7:はじめに乗算手段73_3
の259で丸め後の出力の272から260の0115が符号
1ビット、データ12ビットの3番目の部分平方根とし
て部分平方根保持手段74_3に、例外検出情報保持手
段62_6の出力が62_7に、指数保持手段66_6
の出力が66_7に、剰余保持手段72_6の出力が7
2_7に、併合平方根保持手段82_6の出力が82_
7に、テーブル出力情報保持手段71_6の出力が71
_7に、それぞれセットされる。シフタ75_3では剰
余保持手段72_7の出力を左に11ビットシフトす
る。反転手段76_3では0115が反転され、1EE
Aとなり、最下位ビットとして1が付加されて出力さ
れ、(R+S×T)演算手段78_3では実質的に乗数
として1EEBで演算が行なわれる。一方、被乗数生成
手段77_3では、併合平方根保持手段82_7の出力
を左に1ビットシフトするとともに、部分平方根保持手
段74_3の出力する13ビットの先頭ビットを除く1
2ビットを233から222へ埋め込み、0E102404
5400000を出力する。(R+S×T)演算手段7
8_3ではシフタ75_3の出力をR、被乗数生成手段
77_3の出力をS,反転手段76_3の出力をTとし
て入力し、(R+S×T)の演算を実行する。(R+S
×T)演算手段78_3はC2056D11C0000
0を出力する。マルチプレクサ80_3は、定数減算手
段79_3の出力を選択して出力する。加算手段81_
3では併合平方根保持手段82_7の出力と、マルチプ
レクサ80_3の出力については13ビットを234から
222に整列させて入力して加算を行ない、070812
045000000を出力する。
の259で丸め後の出力の272から260の0115が符号
1ビット、データ12ビットの3番目の部分平方根とし
て部分平方根保持手段74_3に、例外検出情報保持手
段62_6の出力が62_7に、指数保持手段66_6
の出力が66_7に、剰余保持手段72_6の出力が7
2_7に、併合平方根保持手段82_6の出力が82_
7に、テーブル出力情報保持手段71_6の出力が71
_7に、それぞれセットされる。シフタ75_3では剰
余保持手段72_7の出力を左に11ビットシフトす
る。反転手段76_3では0115が反転され、1EE
Aとなり、最下位ビットとして1が付加されて出力さ
れ、(R+S×T)演算手段78_3では実質的に乗数
として1EEBで演算が行なわれる。一方、被乗数生成
手段77_3では、併合平方根保持手段82_7の出力
を左に1ビットシフトするとともに、部分平方根保持手
段74_3の出力する13ビットの先頭ビットを除く1
2ビットを233から222へ埋め込み、0E102404
5400000を出力する。(R+S×T)演算手段7
8_3ではシフタ75_3の出力をR、被乗数生成手段
77_3の出力をS,反転手段76_3の出力をTとし
て入力し、(R+S×T)の演算を実行する。(R+S
×T)演算手段78_3はC2056D11C0000
0を出力する。マルチプレクサ80_3は、定数減算手
段79_3の出力を選択して出力する。加算手段81_
3では併合平方根保持手段82_7の出力と、マルチプ
レクサ80_3の出力については13ビットを234から
222に整列させて入力して加算を行ない、070812
045000000を出力する。
【0066】ステージ 8:はじめに(R+S×T)演
算手段78_3の出力が剰余保持手段72_8に、加算
手段81_3の出力が併合平方根保持手段82_8に、
例外検出情報保持手段62_7の出力が62_8に、指
数保持手段66_7の出力が66_8に、テーブル出力
情報保持手段71_7の出力が71_8に、それぞれセ
ットされる。剰余保持手段72_8にセットされた3番
目の剰余R3 のC2056D11C00000にテーブ
ル出力情報保持手段71_8の出力する091A1が乗
算手段73_4により掛けられ、積1DCBE1830
A5E9C00000が出力される。
算手段78_3の出力が剰余保持手段72_8に、加算
手段81_3の出力が併合平方根保持手段82_8に、
例外検出情報保持手段62_7の出力が62_8に、指
数保持手段66_7の出力が66_8に、テーブル出力
情報保持手段71_7の出力が71_8に、それぞれセ
ットされる。剰余保持手段72_8にセットされた3番
目の剰余R3 のC2056D11C00000にテーブ
ル出力情報保持手段71_8の出力する091A1が乗
算手段73_4により掛けられ、積1DCBE1830
A5E9C00000が出力される。
【0067】ステージ 9:はじめに乗算手段73_4
の259で丸め後の出力の272から260の1DCCが符号
1ビット、データ12ビットの4番目の部分平方根とし
て部分平方根保持手段74_4に、例外検出情報保持手
段62_8の出力が62_9に、指数保持手段66_8
の出力が66_9に、剰余保持手段72_8の出力が7
2_9に、併合平方根保持手段82_8の出力が82_
9に、テーブル出力情報保持手段71_8の出力が71
_9に、それぞれセットされる。シフタ75_4では剰
余保持手段72_9の出力を左に11ビットシフトす
る。反転手段76_4では1DCCが反転され、023
3となり、最下位ビットとして1が付加されて出力さ
れ、(R+S×T)演算手段78_4では実質的に乗数
として0234で演算が行なわれる。一方、被乗数生成
手段77_4では、併合平方根保持手段82_9の出力
を左に1ビットシフトするとともに、部分平方根保持手
段74_4の出力する13ビットの先頭ビットを除く1
2ビットを222から211へ埋め込み、0E102408
A6E6000を出力する。(R+S×T)演算手段7
8_4ではシフタ75_4の出力をR、被乗数生成手段
77_4の出力をS,反転手段76_4の出力をTとし
て入力し、(R+S×T)の演算を実行する。(R+S
×T)演算手段78_4はE45EBEFB2B800
0を出力する。マルチプレクサ80_4は、定数減算手
段79_4の出力を選択して出力する。加算手段81_
4では併合平方根保持手段82_9の出力と、マルチプ
レクサ80_4の出力については13ビットのうち、先
頭2ビットをゼロに抑止して11ビットを221から211
に整列させて入力して加算を行ない、07081204
52E5000を出力する。
の259で丸め後の出力の272から260の1DCCが符号
1ビット、データ12ビットの4番目の部分平方根とし
て部分平方根保持手段74_4に、例外検出情報保持手
段62_8の出力が62_9に、指数保持手段66_8
の出力が66_9に、剰余保持手段72_8の出力が7
2_9に、併合平方根保持手段82_8の出力が82_
9に、テーブル出力情報保持手段71_8の出力が71
_9に、それぞれセットされる。シフタ75_4では剰
余保持手段72_9の出力を左に11ビットシフトす
る。反転手段76_4では1DCCが反転され、023
3となり、最下位ビットとして1が付加されて出力さ
れ、(R+S×T)演算手段78_4では実質的に乗数
として0234で演算が行なわれる。一方、被乗数生成
手段77_4では、併合平方根保持手段82_9の出力
を左に1ビットシフトするとともに、部分平方根保持手
段74_4の出力する13ビットの先頭ビットを除く1
2ビットを222から211へ埋め込み、0E102408
A6E6000を出力する。(R+S×T)演算手段7
8_4ではシフタ75_4の出力をR、被乗数生成手段
77_4の出力をS,反転手段76_4の出力をTとし
て入力し、(R+S×T)の演算を実行する。(R+S
×T)演算手段78_4はE45EBEFB2B800
0を出力する。マルチプレクサ80_4は、定数減算手
段79_4の出力を選択して出力する。加算手段81_
4では併合平方根保持手段82_9の出力と、マルチプ
レクサ80_4の出力については13ビットのうち、先
頭2ビットをゼロに抑止して11ビットを221から211
に整列させて入力して加算を行ない、07081204
52E5000を出力する。
【0068】ステージ 10:はじめに(R+S×T)
演算手段78_4の出力が剰余保持手段72_10に、
加算手段81_4の出力が併合平方根保持手段82_1
0に、例外検出情報保持手段62_9の出力が62_1
0に、指数保持手段66_9の出力が66_10に、テ
ーブル出力情報保持手段71_9の出力が71_10
に、それぞれセットされる。剰余保持手段72_8にセ
ットされた4番目の剰余R4 のE45EBEFB2B8
000にテーブル出力情報保持手段71_10の出力す
る091A1が乗算手段73_5により掛けられ、積1
F04849C25F99DB8000が出力される。
演算手段78_4の出力が剰余保持手段72_10に、
加算手段81_4の出力が併合平方根保持手段82_1
0に、例外検出情報保持手段62_9の出力が62_1
0に、指数保持手段66_9の出力が66_10に、テ
ーブル出力情報保持手段71_9の出力が71_10
に、それぞれセットされる。剰余保持手段72_8にセ
ットされた4番目の剰余R4 のE45EBEFB2B8
000にテーブル出力情報保持手段71_10の出力す
る091A1が乗算手段73_5により掛けられ、積1
F04849C25F99DB8000が出力される。
【0069】ステージ 11:はじめに乗算手段73_
5の259で丸め後の出力の272から260の1F05が符
号1ビット、データ12ビットの5番目の部分平方根と
して部分平方根保持手段74_5に、例外検出情報保持
手段62_10の出力が62_11に、指数保持手段6
6_10の出力が66_11に、剰余保持手段72_1
0の出力が72_11に、併合平方根保持手段82_1
0の出力が82_11に、テーブル出力情報保持手段7
1_10の出力が71_11に、それぞれセットされ
る。シフタ75_5では剰余保持手段72_11出力を
左に11ビットシフトする。反転手段76_5では1F
05が反転され、00FAとなり、最下位ビットとして
1が付加されて出力され、(R+S×T)演算手段78
_5では実質的に乗数として00FBで演算が行なわれ
る。一方、被乗数生成手段77_5では、併合平方根保
持手段82_11の出力を左に1ビットシフトするとと
もに、部分平方根保持手段74_5の出力する13ビッ
トの先頭ビットを除く12ビットを211から20 へ埋め
込み、0E102408A5CBF05を出力する。
(R+S×T)演算手段78_5ではシフタ75_5の
出力をR、被乗数生成手段77_5の出力をS,反転手
段76_5の出力をTとして入力し、(R+S×T)の
演算を実行する。(R+S×T)演算手段78_5は9
32D2104EF49E7を出力する。マルチプレク
サ80_5は、定数減算手段79_5の出力を選択して
出力する。加算手段81_5では併合平方根保持手段8
2_11の出力と、マルチプレクサ80_5の出力につ
いては13ビットを212から20 に整列させて入力して
加算を行ない、0708120452E5F04を出力
する。
5の259で丸め後の出力の272から260の1F05が符
号1ビット、データ12ビットの5番目の部分平方根と
して部分平方根保持手段74_5に、例外検出情報保持
手段62_10の出力が62_11に、指数保持手段6
6_10の出力が66_11に、剰余保持手段72_1
0の出力が72_11に、併合平方根保持手段82_1
0の出力が82_11に、テーブル出力情報保持手段7
1_10の出力が71_11に、それぞれセットされ
る。シフタ75_5では剰余保持手段72_11出力を
左に11ビットシフトする。反転手段76_5では1F
05が反転され、00FAとなり、最下位ビットとして
1が付加されて出力され、(R+S×T)演算手段78
_5では実質的に乗数として00FBで演算が行なわれ
る。一方、被乗数生成手段77_5では、併合平方根保
持手段82_11の出力を左に1ビットシフトするとと
もに、部分平方根保持手段74_5の出力する13ビッ
トの先頭ビットを除く12ビットを211から20 へ埋め
込み、0E102408A5CBF05を出力する。
(R+S×T)演算手段78_5ではシフタ75_5の
出力をR、被乗数生成手段77_5の出力をS,反転手
段76_5の出力をTとして入力し、(R+S×T)の
演算を実行する。(R+S×T)演算手段78_5は9
32D2104EF49E7を出力する。マルチプレク
サ80_5は、定数減算手段79_5の出力を選択して
出力する。加算手段81_5では併合平方根保持手段8
2_11の出力と、マルチプレクサ80_5の出力につ
いては13ビットを212から20 に整列させて入力して
加算を行ない、0708120452E5F04を出力
する。
【0070】ステージ 12:はじめに(R+S×T)
演算手段78_5の出力が剰余保持手段72_12に、
加算手段81_5の出力が併合平方根保持手段82_1
2に、例外検出情報保持手段62_11の出力が62_
12に、指数保持手段66_11の出力が66_12
に、それぞれセットされる。例外検出手段83では例外
検出情報保持手段62_12の出力より入力オペランド
が負の場合、データ例外として検出し、浮動小数点ベク
トル開平演算装置の外部の命令実行制御部に対して例外
が発生していることを通知する。本数値例ではオペラン
ドは正であるので例外は検出されない。
演算手段78_5の出力が剰余保持手段72_12に、
加算手段81_5の出力が併合平方根保持手段82_1
2に、例外検出情報保持手段62_11の出力が62_
12に、指数保持手段66_11の出力が66_12
に、それぞれセットされる。例外検出手段83では例外
検出情報保持手段62_12の出力より入力オペランド
が負の場合、データ例外として検出し、浮動小数点ベク
トル開平演算装置の外部の命令実行制御部に対して例外
が発生していることを通知する。本数値例ではオペラン
ドは正であるので例外は検出されない。
【0071】最終的な結果として、263の符号ビットと
して0、262から252の指数部として指数保持手段66
_12の出力する11ビット、251から20 の仮数部と
して併合平方根保持手段82_12の出力の253から2
2 がそれぞれ選択され、5E3C2048114B97
C1として図5,図6に示すベクトル開平演算装置から
出力される。
して0、262から252の指数部として指数保持手段66
_12の出力する11ビット、251から20 の仮数部と
して併合平方根保持手段82_12の出力の253から2
2 がそれぞれ選択され、5E3C2048114B97
C1として図5,図6に示すベクトル開平演算装置から
出力される。
【0072】(実施例4)図7は本発明の第4の実施例
に係る固定小数点開平演算装置のブロック図を示すもの
である。本実施例の固定小数点開平演算装置は2の補数
表示の64ビットの固定小数点数を入力して、2の補数
表示の32ビットの平方根を出力し、部分平方根のデー
タとしてのビット長が12で部分平方根間には1ビット
の重複がある。図7において、101は入力レジスタ、
102は例外検出手段、103は正規化シフト数検出手
段、104は正規化手段、105はテーブル情報格納手
段、106はシフタ、107はマルチプレクサ、108
は剰余保持手段、109は乗算手段、110はマルチプ
レクサ、111は併合平方根保持手段、112は反転手
段、113は被乗数生成手段、114は(R+S×T)
演算手段、115は定数減算手段、116はマルチプレ
クサ、117は桁合わせ手段、118は加算手段、11
9は桁調整シフト数算出手段、120は桁調整手段であ
る。
に係る固定小数点開平演算装置のブロック図を示すもの
である。本実施例の固定小数点開平演算装置は2の補数
表示の64ビットの固定小数点数を入力して、2の補数
表示の32ビットの平方根を出力し、部分平方根のデー
タとしてのビット長が12で部分平方根間には1ビット
の重複がある。図7において、101は入力レジスタ、
102は例外検出手段、103は正規化シフト数検出手
段、104は正規化手段、105はテーブル情報格納手
段、106はシフタ、107はマルチプレクサ、108
は剰余保持手段、109は乗算手段、110はマルチプ
レクサ、111は併合平方根保持手段、112は反転手
段、113は被乗数生成手段、114は(R+S×T)
演算手段、115は定数減算手段、116はマルチプレ
クサ、117は桁合わせ手段、118は加算手段、11
9は桁調整シフト数算出手段、120は桁調整手段であ
る。
【0073】以下、具体的な数値例を用いて図7に示す
固定小数点開平演算装置の動作を説明する。図8はオペ
ランドが入力されてから、各々の手段で処理されていく
過程を示している。はじめにオペランドとして0006
14CB57ED84ADが入力され、入力レジスタ1
01にセットされる。例外検出手段102では入力オペ
ランドの先頭2ビットが10または11の場合はデータ
例外として、また01の場合はオーバーフロー例外とし
て検出し、固定小数点開平演算装置の外部の命令実行制
御部に対して例外が発生していることを通知する。本数
値例では(以下では、この前提を省略する)例外は検出
されない。正規化シフト数検出手段103では、2ビッ
ト単位のビット正規化を行なうためのシフト数を検出し
ており、12が出力される。正規化手段104では、正
規化シフト数検出手段103より、シフト数12の指示
を受け、入力データを12ビット左にシフトして出力す
る。テーブル情報格納手段105には正規化手段104
の263から252の12ビットが入力され、0CFA4が
出力される。さらにこの出力の最下位ビットとして正規
化手段4の251のビットを反転したものが付加されるの
であるが、本例では0が付加され、乗算手段109での
実質的な乗数は0CFA4となる。マルチプレクサ10
7では先頭に4ビットのゼロを付加した正規化手段10
4の出力を選択し、この出力が剰余保持手段108にセ
ットされる。このとき、併合平方根保持手段111はゼ
ロにリセットされる。乗算手段109で0614CB5
7ED84AD000と0CFA4の乗算が行なわれ、
04EEB5BE5D6270E1D4000の積が求
められると同時に1回目の反復では267の位で、2回目
以降では268の位で積を丸めた結果が、マルチプレクサ
110に対して出力される。マルチプレクサ110では
乗算手段109の280から268の13ビットを符号1ビ
ット、データ12ビットの1番目の部分平方根として選
択する。反転手段112では部分平方根を入力してビッ
ト反転するとともに最下位ビットに1を付加して出力す
る。1番目の部分平方根の符号は正であり、符号ビット
は0である。被乗数生成手段113では、1回目の反復
では254から242までにマルチプレクサ110の出力を
埋め込み、他のビットをゼロとして出力する。(R+S
×T)演算手段114では剰余保持手段108の出力を
R、被乗数生成手段113の出力をS,反転手段112
の出力をTとして入力し、(R+S×T)の演算を実行
する。(R+S×T)演算手段114の出力FFFF0
317ED84AD000はシフタ106によって左に
11ビットシフトされてマルチプレクサ107により選
択され、剰余保持手段108にセットされる。一方、定
数減算手段115ではマルチプレクサ110の出力のL
SBから1を引く。マルチプレクサ116は、(R+S
×T)演算手段114の出力が負の場合、定数減算手段
115の出力を選択し、それ以外の場合はマルチプレク
サ110の出力を選択する。1回目の反復では上記の条
件を判断して定数減算手段115の出力を選択する。桁
合わせ手段117では各反復での部分平方根を併合する
ための桁合わせをを実行する。具体的には、部分平方根
が負の場合には、マルチプレクサ116の出力の13ビ
ットの先頭2ビットをゼロに抑止し、また、部分平方根
が正の場合には、マルチプレクサ116の出力の13ビ
ットを、上位の併合平方根とのビットの重みがつり合う
ようにシフトを行ない、出力する。1番目の部分平方根
に対しては、254から242に入力データを整列させ、出
力する。加算手段118では併合平方根保持手段111
の出力と、桁合わせ手段117の出力を入力して加算を
行ない、結果を併合平方根保持手段111にセットす
る。
固定小数点開平演算装置の動作を説明する。図8はオペ
ランドが入力されてから、各々の手段で処理されていく
過程を示している。はじめにオペランドとして0006
14CB57ED84ADが入力され、入力レジスタ1
01にセットされる。例外検出手段102では入力オペ
ランドの先頭2ビットが10または11の場合はデータ
例外として、また01の場合はオーバーフロー例外とし
て検出し、固定小数点開平演算装置の外部の命令実行制
御部に対して例外が発生していることを通知する。本数
値例では(以下では、この前提を省略する)例外は検出
されない。正規化シフト数検出手段103では、2ビッ
ト単位のビット正規化を行なうためのシフト数を検出し
ており、12が出力される。正規化手段104では、正
規化シフト数検出手段103より、シフト数12の指示
を受け、入力データを12ビット左にシフトして出力す
る。テーブル情報格納手段105には正規化手段104
の263から252の12ビットが入力され、0CFA4が
出力される。さらにこの出力の最下位ビットとして正規
化手段4の251のビットを反転したものが付加されるの
であるが、本例では0が付加され、乗算手段109での
実質的な乗数は0CFA4となる。マルチプレクサ10
7では先頭に4ビットのゼロを付加した正規化手段10
4の出力を選択し、この出力が剰余保持手段108にセ
ットされる。このとき、併合平方根保持手段111はゼ
ロにリセットされる。乗算手段109で0614CB5
7ED84AD000と0CFA4の乗算が行なわれ、
04EEB5BE5D6270E1D4000の積が求
められると同時に1回目の反復では267の位で、2回目
以降では268の位で積を丸めた結果が、マルチプレクサ
110に対して出力される。マルチプレクサ110では
乗算手段109の280から268の13ビットを符号1ビ
ット、データ12ビットの1番目の部分平方根として選
択する。反転手段112では部分平方根を入力してビッ
ト反転するとともに最下位ビットに1を付加して出力す
る。1番目の部分平方根の符号は正であり、符号ビット
は0である。被乗数生成手段113では、1回目の反復
では254から242までにマルチプレクサ110の出力を
埋め込み、他のビットをゼロとして出力する。(R+S
×T)演算手段114では剰余保持手段108の出力を
R、被乗数生成手段113の出力をS,反転手段112
の出力をTとして入力し、(R+S×T)の演算を実行
する。(R+S×T)演算手段114の出力FFFF0
317ED84AD000はシフタ106によって左に
11ビットシフトされてマルチプレクサ107により選
択され、剰余保持手段108にセットされる。一方、定
数減算手段115ではマルチプレクサ110の出力のL
SBから1を引く。マルチプレクサ116は、(R+S
×T)演算手段114の出力が負の場合、定数減算手段
115の出力を選択し、それ以外の場合はマルチプレク
サ110の出力を選択する。1回目の反復では上記の条
件を判断して定数減算手段115の出力を選択する。桁
合わせ手段117では各反復での部分平方根を併合する
ための桁合わせをを実行する。具体的には、部分平方根
が負の場合には、マルチプレクサ116の出力の13ビ
ットの先頭2ビットをゼロに抑止し、また、部分平方根
が正の場合には、マルチプレクサ116の出力の13ビ
ットを、上位の併合平方根とのビットの重みがつり合う
ようにシフトを行ない、出力する。1番目の部分平方根
に対しては、254から242に入力データを整列させ、出
力する。加算手段118では併合平方根保持手段111
の出力と、桁合わせ手段117の出力を入力して加算を
行ない、結果を併合平方根保持手段111にセットす
る。
【0074】次に2回目の反復計算に入る。テーブル情
報格納手段105の出力は2回目以降も1回目と変わら
ない。剰余保持手段108にセットされた1番目の剰余
R1のF818BF6C256800000に0CFA
4が乗算手段109により掛けられ、積F996F2A
313870EA000000が出力される。281から
269の1CCBが符号1ビット、データ12ビットの2
番目の部分平方根としてマルチプレクサ110により選
択される。反転手段112では1CCBが反転され、0
334となり、最下位ビットとして1が付加されて出力
され、(R+S×T)演算手段114では実質的に乗数
として0335で演算が行なわれる。一方、被乗数生成
手段113では、併合平方根保持手段111の出力を左
に1ビットシフトするとともに、マルチプレクサ110
の出力する13ビットの先頭ビットを除く12ビットを
242から231へ埋め込み、0277665800000
00を出力する。(R+S×T)演算手段114では剰
余保持手段108の出力をR、被乗数生成手段113の
出力をS,反転手段112の出力をTとして入力し、
(R+S×T)の演算を実行する。(R+S×T)演算
手段114の出力0001AAA45D6800000
はシフタ106によって左に11ビットシフトされてマ
ルチプレクサ107により選択され、剰余保持手段10
8にセットされる。マルチプレクサ116は、マルチプ
レクサ110の出力を選択して出力し、桁合わせ手段1
17では13ビットの入力のうち、先頭2ビットをゼロ
に抑止して11ビットを241から231に整列させる。加
算手段118では併合平方根保持手段111の出力と、
桁合わせ手段117の出力を入力して加算を行ない、1
3BA65800000000を出力する。併合平方根
保持手段111では加算手段118の出力をセットす
る。
報格納手段105の出力は2回目以降も1回目と変わら
ない。剰余保持手段108にセットされた1番目の剰余
R1のF818BF6C256800000に0CFA
4が乗算手段109により掛けられ、積F996F2A
313870EA000000が出力される。281から
269の1CCBが符号1ビット、データ12ビットの2
番目の部分平方根としてマルチプレクサ110により選
択される。反転手段112では1CCBが反転され、0
334となり、最下位ビットとして1が付加されて出力
され、(R+S×T)演算手段114では実質的に乗数
として0335で演算が行なわれる。一方、被乗数生成
手段113では、併合平方根保持手段111の出力を左
に1ビットシフトするとともに、マルチプレクサ110
の出力する13ビットの先頭ビットを除く12ビットを
242から231へ埋め込み、0277665800000
00を出力する。(R+S×T)演算手段114では剰
余保持手段108の出力をR、被乗数生成手段113の
出力をS,反転手段112の出力をTとして入力し、
(R+S×T)の演算を実行する。(R+S×T)演算
手段114の出力0001AAA45D6800000
はシフタ106によって左に11ビットシフトされてマ
ルチプレクサ107により選択され、剰余保持手段10
8にセットされる。マルチプレクサ116は、マルチプ
レクサ110の出力を選択して出力し、桁合わせ手段1
17では13ビットの入力のうち、先頭2ビットをゼロ
に抑止して11ビットを241から231に整列させる。加
算手段118では併合平方根保持手段111の出力と、
桁合わせ手段117の出力を入力して加算を行ない、1
3BA65800000000を出力する。併合平方根
保持手段111では加算手段118の出力をセットす
る。
【0075】次に3回目の反復計算に入る。テーブル情
報格納手段105の出力は1回目と変わらない。剰余保
持手段108にセットされた2番目の剰余R2 の0D5
522EB400000000に0CFA4が乗算手段
109により掛けられ、積0AD061C697750
00000000が出力される。281から269の056
8が符号1ビット、データ12ビットの3番目の部分平
方根としてマルチプレクサ110により選択される。反
転手段112では0568が反転され、1A97とな
り、最下位ビットとして1が付加されて出力され、(R
+S×T)演算手段114では実質的に乗数として1A
98で演算が行なわれる。一方、被乗数生成手段113
では、併合平方根保持手段111の出力を左に1ビット
シフトするとともに、マルチプレクサ110の出力する
13ビットの先頭ビットを除く12ビットを231から2
20へ埋め込み、02774CB56800000を出力
する。(R+S×T)演算手段114では剰余保持手段
108の出力をR、被乗数生成手段113の出力をS,
反転手段112の出力をTとして入力し、(R+S×
T)の演算を実行する。(R+S×T)演算手段114
の出力00002C3685C000000を出力す
る。マルチプレクサ116は、マルチプレクサ110の
出力を選択して出力し、桁合わせ手段117では13ビ
ットの入力を232から220に整列させる。加算手段11
8では併合平方根保持手段111の出力と、桁合わせ手
段117の出力を入力して加算を行ない、13BA65
D68000000を出力する。桁調整シフト数算出手
段119では、正規化シフト数検出手段103からの1
2を右1ビットシフトして6とした後、定数25を加
え、31を出力し、桁調整手段120では加算手段11
8の出力を桁調整シフト数算出手段119からの指示で
ある31だけ右にシフトして最終結果である02774
CBAを出力する。
報格納手段105の出力は1回目と変わらない。剰余保
持手段108にセットされた2番目の剰余R2 の0D5
522EB400000000に0CFA4が乗算手段
109により掛けられ、積0AD061C697750
00000000が出力される。281から269の056
8が符号1ビット、データ12ビットの3番目の部分平
方根としてマルチプレクサ110により選択される。反
転手段112では0568が反転され、1A97とな
り、最下位ビットとして1が付加されて出力され、(R
+S×T)演算手段114では実質的に乗数として1A
98で演算が行なわれる。一方、被乗数生成手段113
では、併合平方根保持手段111の出力を左に1ビット
シフトするとともに、マルチプレクサ110の出力する
13ビットの先頭ビットを除く12ビットを231から2
20へ埋め込み、02774CB56800000を出力
する。(R+S×T)演算手段114では剰余保持手段
108の出力をR、被乗数生成手段113の出力をS,
反転手段112の出力をTとして入力し、(R+S×
T)の演算を実行する。(R+S×T)演算手段114
の出力00002C3685C000000を出力す
る。マルチプレクサ116は、マルチプレクサ110の
出力を選択して出力し、桁合わせ手段117では13ビ
ットの入力を232から220に整列させる。加算手段11
8では併合平方根保持手段111の出力と、桁合わせ手
段117の出力を入力して加算を行ない、13BA65
D68000000を出力する。桁調整シフト数算出手
段119では、正規化シフト数検出手段103からの1
2を右1ビットシフトして6とした後、定数25を加
え、31を出力し、桁調整手段120では加算手段11
8の出力を桁調整シフト数算出手段119からの指示で
ある31だけ右にシフトして最終結果である02774
CBAを出力する。
【0076】(実施例5)図9は本発明の第5の実施例
に係る固定小数点開平演算装置のブロック図を示すもの
である。本実施例の固定小数点開平演算装置は2の補数
表示の64ビットの固定小数点数を入力して、2の補数
表示の32ビットの平方根を出力し、部分平方根のデー
タとしてのビット長が12で部分平方根間には1ビット
の重複がある。図9において、201は入力レジスタ、
202は例外検出手段、203は正規化シフト数検出手
段、204は正規化手段、205はテーブル情報格納手
段、206はシフタ、207はマルチプレクサ、208
は剰余保持手段、209は併合平方根保持手段、210
は部分平方根保持手段、211は反転手段、212は被
乗数生成手段、213から215はマルチプレクサ、2
16は(R+S×T)演算手段、217はマルチプレク
サ、218は定数減算手段、219はマルチプレクサ、
220は桁合わせ手段、221は加算手段、222は桁
調整シフト数算出手段、223は桁調整手段である。
に係る固定小数点開平演算装置のブロック図を示すもの
である。本実施例の固定小数点開平演算装置は2の補数
表示の64ビットの固定小数点数を入力して、2の補数
表示の32ビットの平方根を出力し、部分平方根のデー
タとしてのビット長が12で部分平方根間には1ビット
の重複がある。図9において、201は入力レジスタ、
202は例外検出手段、203は正規化シフト数検出手
段、204は正規化手段、205はテーブル情報格納手
段、206はシフタ、207はマルチプレクサ、208
は剰余保持手段、209は併合平方根保持手段、210
は部分平方根保持手段、211は反転手段、212は被
乗数生成手段、213から215はマルチプレクサ、2
16は(R+S×T)演算手段、217はマルチプレク
サ、218は定数減算手段、219はマルチプレクサ、
220は桁合わせ手段、221は加算手段、222は桁
調整シフト数算出手段、223は桁調整手段である。
【0077】以下、具体的な数値例を用いて図9に示す
固定小数点開平演算装置の動作を説明する。オペランド
が入力されてから、各々の手段で処理されていく過程
は、第4の実施例で使用した図8と同様である。はじめ
にオペランドとして000614CB57ED84AD
が入力され、入力レジスタ201にセットされる。例外
検出手段202では入力オペランドの先頭2ビットが1
0または11の場合はデータ例外として、また01の場
合はオーバーフロー例外として検出し、固定小数点開平
演算装置の外部の命令実行制御部に対して例外が発生し
ていることを通知する。本数値例では(以下では、この
前提を省略する)例外は検出されない。正規化シフト数
検出手段203では、2ビット単位のビット正規化を行
なうためのシフト数を検出しており、12が出力され
る。正規化手段204では、正規化シフト数検出手段2
03より、シフト数12の指示を受け、入力データを1
2ビット左にシフトして出力する。テーブル情報格納手
段205には正規化手段204の263から252の12ビ
ットが入力され、0CFA4が出力される。さらにこの
出力の最下位ビットとして正規化手段204の251のビ
ットを反転したものが付加されるのであるが、本例では
0が付加され、(R+S×T)演算手段216での実質
的な乗数は0CFA4となる。マルチプレクサ207で
は先頭に4ビットのゼロを付加した正規化手段204の
出力を選択し、この出力が剰余保持手段208にセット
される。このとき、併合平方根保持手段209はゼロに
リセットされる。マルチプレクサ213、214、21
5はそれぞれ、‘0’、剰余保持手段208の出力、テ
ーブル情報格納手段205の出力を選択し、(R+S×
T)演算手段216で0614CB57ED84AD0
00と0CFA4の乗算が行なわれ、04EEB5BE
5D6270E1D4000の積が求められると同時に
1回目の反復では267の位で、2回目以降では268の位
で積を丸めた結果が、マルチプレクサ217に対して出
力される。マルチプレクサ217では(R+S×T)演
算手段216の280から268の13ビットを符号1ビッ
ト、データ12ビットの1番目の部分平方根として選択
し、部分平方根保持手段210にこの部分平方根がセッ
トされる。反転手段211では部分平方根保持手段21
0の出力を入力してビット反転するとともに上位に4ビ
ット符号を拡張し、最下位ビットに1を付加して出力す
る。被乗数生成手段212では、1回目の反復では254
から242までに部分平方根保持手段210の出力を埋め
込み、他のビットをゼロとして出力する。マルチプレク
サ213、214、215はそれぞれ、剰余保持手段2
08の出力、被乗数生成手段212の出力、反転手段2
11の出力を選択し、(R+S×T)演算手段216で
はマルチプレクサ213の出力をR、マルチプレクサ2
14の出力をS,マルチプレクサ215の出力をTとし
て入力し、(R+S×T)の演算を実行する。(R+S
×T)演算手段216の出力FFFF0317ED84
AD000はシフタ206によって左に11ビットシフ
トされてマルチプレクサ207により選択され、剰余保
持手段208にセットされる。一方、定数減算手段21
8では部分平方根保持手段210の出力のLSBから1
を引く。マルチプレクサ219は、(R+S×T)演算
手段216の出力が負の場合、定数減算手段218の出
力を選択し、それ以外の場合は部分平方根保持手段21
0の出力を選択する。1回目の反復では上記の条件を判
断して定数減算手段218の出力を選択する。桁合わせ
手段220では各反復での部分平方根を併合するための
桁合わせを実行する。具体的には、部分平方根が負の場
合には、マルチプレクサ219の出力の13ビットの先
頭2ビットをゼロに抑止し、また、部分平方根が正の場
合には、マルチプレクサ219の出力の13ビットを、
上位の併合平方根とのビットの重みがつり合うようにシ
フトを行ない、出力する。1番目の部分平方根に対して
は、254から242に入力データを整列させ、出力する。
加算手段221では併合平方根保持手段209の出力
と、桁合わせ手段220の出力を入力して加算を行な
い、結果を併合平方根保持手段209にセットする。
固定小数点開平演算装置の動作を説明する。オペランド
が入力されてから、各々の手段で処理されていく過程
は、第4の実施例で使用した図8と同様である。はじめ
にオペランドとして000614CB57ED84AD
が入力され、入力レジスタ201にセットされる。例外
検出手段202では入力オペランドの先頭2ビットが1
0または11の場合はデータ例外として、また01の場
合はオーバーフロー例外として検出し、固定小数点開平
演算装置の外部の命令実行制御部に対して例外が発生し
ていることを通知する。本数値例では(以下では、この
前提を省略する)例外は検出されない。正規化シフト数
検出手段203では、2ビット単位のビット正規化を行
なうためのシフト数を検出しており、12が出力され
る。正規化手段204では、正規化シフト数検出手段2
03より、シフト数12の指示を受け、入力データを1
2ビット左にシフトして出力する。テーブル情報格納手
段205には正規化手段204の263から252の12ビ
ットが入力され、0CFA4が出力される。さらにこの
出力の最下位ビットとして正規化手段204の251のビ
ットを反転したものが付加されるのであるが、本例では
0が付加され、(R+S×T)演算手段216での実質
的な乗数は0CFA4となる。マルチプレクサ207で
は先頭に4ビットのゼロを付加した正規化手段204の
出力を選択し、この出力が剰余保持手段208にセット
される。このとき、併合平方根保持手段209はゼロに
リセットされる。マルチプレクサ213、214、21
5はそれぞれ、‘0’、剰余保持手段208の出力、テ
ーブル情報格納手段205の出力を選択し、(R+S×
T)演算手段216で0614CB57ED84AD0
00と0CFA4の乗算が行なわれ、04EEB5BE
5D6270E1D4000の積が求められると同時に
1回目の反復では267の位で、2回目以降では268の位
で積を丸めた結果が、マルチプレクサ217に対して出
力される。マルチプレクサ217では(R+S×T)演
算手段216の280から268の13ビットを符号1ビッ
ト、データ12ビットの1番目の部分平方根として選択
し、部分平方根保持手段210にこの部分平方根がセッ
トされる。反転手段211では部分平方根保持手段21
0の出力を入力してビット反転するとともに上位に4ビ
ット符号を拡張し、最下位ビットに1を付加して出力す
る。被乗数生成手段212では、1回目の反復では254
から242までに部分平方根保持手段210の出力を埋め
込み、他のビットをゼロとして出力する。マルチプレク
サ213、214、215はそれぞれ、剰余保持手段2
08の出力、被乗数生成手段212の出力、反転手段2
11の出力を選択し、(R+S×T)演算手段216で
はマルチプレクサ213の出力をR、マルチプレクサ2
14の出力をS,マルチプレクサ215の出力をTとし
て入力し、(R+S×T)の演算を実行する。(R+S
×T)演算手段216の出力FFFF0317ED84
AD000はシフタ206によって左に11ビットシフ
トされてマルチプレクサ207により選択され、剰余保
持手段208にセットされる。一方、定数減算手段21
8では部分平方根保持手段210の出力のLSBから1
を引く。マルチプレクサ219は、(R+S×T)演算
手段216の出力が負の場合、定数減算手段218の出
力を選択し、それ以外の場合は部分平方根保持手段21
0の出力を選択する。1回目の反復では上記の条件を判
断して定数減算手段218の出力を選択する。桁合わせ
手段220では各反復での部分平方根を併合するための
桁合わせを実行する。具体的には、部分平方根が負の場
合には、マルチプレクサ219の出力の13ビットの先
頭2ビットをゼロに抑止し、また、部分平方根が正の場
合には、マルチプレクサ219の出力の13ビットを、
上位の併合平方根とのビットの重みがつり合うようにシ
フトを行ない、出力する。1番目の部分平方根に対して
は、254から242に入力データを整列させ、出力する。
加算手段221では併合平方根保持手段209の出力
と、桁合わせ手段220の出力を入力して加算を行な
い、結果を併合平方根保持手段209にセットする。
【0078】次に2回目の反復計算に入る。テーブル情
報格納手段205の出力は2回目以降も1回目と変わら
ない。マルチプレクサ213、214、215はそれぞ
れ、‘0’、剰余保持手段208にセットされた1番目
の剰余R1 のF818BF6C256800000、テ
ーブル情報格納手段205の出力0CFA4を選択し、
(R+S×T)演算手段216は(S×T)を実行し、
積F996F2A313870EA000000を出力
する。281から269の1CCBを符号1ビット、データ
12ビットの2番目の部分平方根としてマルチプレクサ
217により選択し、部分平方根保持手段210にこの
部分平方根がセットされる。反転手段211では1CC
Bが反転、上位に4ビット符号が拡張され、00334
となり、最下位ビットとして1が付加されて出力され、
(R+S×T)演算手段216では実質的に乗数として
00335で演算が行なわれる。一方、被乗数生成手段
212では、併合平方根保持手段209の出力を左に1
ビットシフトするとともに、部分平方根保持手段210
の出力する13ビットの先頭ビットを除く12ビットを
242から231へ埋め込み、0277665800000
00を出力する。マルチプレクサ213、214、21
5はそれぞれ、剰余保持手段208の出力、被乗数生成
手段212の出力、反転手段211の出力を選択する。
(R+S×T)演算手段216ではマルチプレクサ21
3の出力をR、マルチプレクサ214の出力をS,マル
チプレクサ215の出力をTとして入力し、(R+S×
T)の演算を実行する。(R+S×T)演算手段216
の出力0001AAA45D6800000はシフタ2
06によって左に11ビットシフトされてマルチプレク
サ207により選択され、剰余保持手段208にセット
される。マルチプレクサ219は、部分平方根保持手段
210の出力を選択して出力し、桁合わせ手段220で
は13ビットの入力のうち、先頭2ビットをゼロに抑止
して11ビットを241から231に整列させる。加算手段
220では併合平方根保持手段209の出力と、桁合わ
せ手段220の出力を入力して加算を行ない、13BA
65800000000を出力する。併合平方根保持手
段209では加算手段221の出力をセットする。
報格納手段205の出力は2回目以降も1回目と変わら
ない。マルチプレクサ213、214、215はそれぞ
れ、‘0’、剰余保持手段208にセットされた1番目
の剰余R1 のF818BF6C256800000、テ
ーブル情報格納手段205の出力0CFA4を選択し、
(R+S×T)演算手段216は(S×T)を実行し、
積F996F2A313870EA000000を出力
する。281から269の1CCBを符号1ビット、データ
12ビットの2番目の部分平方根としてマルチプレクサ
217により選択し、部分平方根保持手段210にこの
部分平方根がセットされる。反転手段211では1CC
Bが反転、上位に4ビット符号が拡張され、00334
となり、最下位ビットとして1が付加されて出力され、
(R+S×T)演算手段216では実質的に乗数として
00335で演算が行なわれる。一方、被乗数生成手段
212では、併合平方根保持手段209の出力を左に1
ビットシフトするとともに、部分平方根保持手段210
の出力する13ビットの先頭ビットを除く12ビットを
242から231へ埋め込み、0277665800000
00を出力する。マルチプレクサ213、214、21
5はそれぞれ、剰余保持手段208の出力、被乗数生成
手段212の出力、反転手段211の出力を選択する。
(R+S×T)演算手段216ではマルチプレクサ21
3の出力をR、マルチプレクサ214の出力をS,マル
チプレクサ215の出力をTとして入力し、(R+S×
T)の演算を実行する。(R+S×T)演算手段216
の出力0001AAA45D6800000はシフタ2
06によって左に11ビットシフトされてマルチプレク
サ207により選択され、剰余保持手段208にセット
される。マルチプレクサ219は、部分平方根保持手段
210の出力を選択して出力し、桁合わせ手段220で
は13ビットの入力のうち、先頭2ビットをゼロに抑止
して11ビットを241から231に整列させる。加算手段
220では併合平方根保持手段209の出力と、桁合わ
せ手段220の出力を入力して加算を行ない、13BA
65800000000を出力する。併合平方根保持手
段209では加算手段221の出力をセットする。
【0079】次に、3回目の反復計算に入る。テーブル
情報格納手段205の出力は1回目と変わらない。マル
チプレクサ213、214、215はそれぞれ、
‘0’、剰余保持手段208にセットされた2番目の剰
余R2 の0D5522EB400000000、テーブ
ル情報格納手段205の出力0CFA4を選択し、(R
+S×T)演算手段216は(S×T)を実行し、積0
AD061C69775000000000を出力す
る。281から269の0568が符号1ビット、データ1
2ビットの3番目の部分平方根としてマルチプレクサ2
17により選択され、部分平方根保持手段210にこの
部分平方根がセットされる。反転手段211では056
8が反転、上位に4ビット符号が拡張され、1FA97
となり、最下位ビットとして1が付加されて出力され、
(R+S×T)演算手段216では実質的に乗数として
1FA98で演算が行なわれる。一方、被乗数生成手段
212では、併合平方根保持手段209の出力を左に1
ビットシフトするとともに、部分平方根保持手段210
の出力する13ビットの先頭ビットを除く12ビットを
231から220へ埋め込み、02774CB568000
00を出力する。マルチプレクサ213、214、21
5はそれぞれ、剰余保持手段208の出力、被乗数生成
手段212の出力、反転手段211の出力を選択する。
(R+S×T)演算手段216ではマルチプレクサ21
3の出力をR、マルチプレクサ214の出力をS,マル
チプレクサ215の出力をTとして入力し、(R+S×
T)の演算を実行する。(R+S×T)演算手段216
は00002C3685C000000を出力する。マ
ルチプレクサ219は、部分平方根保持手段210の出
力を選択して出力し、桁合わせ手段220では13ビッ
トの入力を232から220に整列させる。加算手段221
では併合平方根保持手段209の出力と、桁合わせ手段
220の出力を入力して加算を行ない、13BA65D
68000000を出力する。桁調整シフト数算出手段
222では、正規化シフト数検出手段203からの12
を右1ビットシフトして6とした後、定数25を加え、
31を出力し、桁調整手段223では加算手段221の
出力を桁調整シフト数算出手段222からの指示である
31だけ右にシフトして最終結果である02774CB
Aを出力する。
情報格納手段205の出力は1回目と変わらない。マル
チプレクサ213、214、215はそれぞれ、
‘0’、剰余保持手段208にセットされた2番目の剰
余R2 の0D5522EB400000000、テーブ
ル情報格納手段205の出力0CFA4を選択し、(R
+S×T)演算手段216は(S×T)を実行し、積0
AD061C69775000000000を出力す
る。281から269の0568が符号1ビット、データ1
2ビットの3番目の部分平方根としてマルチプレクサ2
17により選択され、部分平方根保持手段210にこの
部分平方根がセットされる。反転手段211では056
8が反転、上位に4ビット符号が拡張され、1FA97
となり、最下位ビットとして1が付加されて出力され、
(R+S×T)演算手段216では実質的に乗数として
1FA98で演算が行なわれる。一方、被乗数生成手段
212では、併合平方根保持手段209の出力を左に1
ビットシフトするとともに、部分平方根保持手段210
の出力する13ビットの先頭ビットを除く12ビットを
231から220へ埋め込み、02774CB568000
00を出力する。マルチプレクサ213、214、21
5はそれぞれ、剰余保持手段208の出力、被乗数生成
手段212の出力、反転手段211の出力を選択する。
(R+S×T)演算手段216ではマルチプレクサ21
3の出力をR、マルチプレクサ214の出力をS,マル
チプレクサ215の出力をTとして入力し、(R+S×
T)の演算を実行する。(R+S×T)演算手段216
は00002C3685C000000を出力する。マ
ルチプレクサ219は、部分平方根保持手段210の出
力を選択して出力し、桁合わせ手段220では13ビッ
トの入力を232から220に整列させる。加算手段221
では併合平方根保持手段209の出力と、桁合わせ手段
220の出力を入力して加算を行ない、13BA65D
68000000を出力する。桁調整シフト数算出手段
222では、正規化シフト数検出手段203からの12
を右1ビットシフトして6とした後、定数25を加え、
31を出力し、桁調整手段223では加算手段221の
出力を桁調整シフト数算出手段222からの指示である
31だけ右にシフトして最終結果である02774CB
Aを出力する。
【0080】(実施例6)図10,図11は本発明の第
6の実施例に係る固定小数点ベクトル開平演算装置のブ
ロック図を示すものである。本実施例の固定小数点ベク
トル開平演算装置は2の補数表示の64ビットの固定小
数点数ベクトルを要素順に入力して、2の補数表示の3
2ビットの平方根ベクトルを要素順に出力し、部分平方
根のデータとしてのビット長が12で部分平方根間には
1ビットの重複がある。図10,図11において、30
1は入力レジスタ、302_1から302_8は例外検
出情報保持手段、303は正規化シフト数検出手段、3
04_1から304_8は正規化シフト数保持手段、3
05は正規化手段、306は正規化オペランドレジス
タ、307はテーブル情報格納手段、308_2から3
08_6はテーブル出力情報保持手段、309_2から
309_8は剰余保持手段、310_1から310_3
は乗算手段、311_1から311_3は部分平方根保
持手段、312_1から312_3は反転手段、313
_1から313_3は被乗数生成手段、314_1から
314_3は(R+S×T)演算手段、316_1から
316_3は定数減算手段、317_1から317_3
はマルチプレクサ、318_1から318_2は加算手
段、319_4から319_8は併合平方根保持手段、
320_1から320_3はシフタ、321は例外検出
手段、322は桁調整シフト数算出手段、323は桁調
整手段である。
6の実施例に係る固定小数点ベクトル開平演算装置のブ
ロック図を示すものである。本実施例の固定小数点ベク
トル開平演算装置は2の補数表示の64ビットの固定小
数点数ベクトルを要素順に入力して、2の補数表示の3
2ビットの平方根ベクトルを要素順に出力し、部分平方
根のデータとしてのビット長が12で部分平方根間には
1ビットの重複がある。図10,図11において、30
1は入力レジスタ、302_1から302_8は例外検
出情報保持手段、303は正規化シフト数検出手段、3
04_1から304_8は正規化シフト数保持手段、3
05は正規化手段、306は正規化オペランドレジス
タ、307はテーブル情報格納手段、308_2から3
08_6はテーブル出力情報保持手段、309_2から
309_8は剰余保持手段、310_1から310_3
は乗算手段、311_1から311_3は部分平方根保
持手段、312_1から312_3は反転手段、313
_1から313_3は被乗数生成手段、314_1から
314_3は(R+S×T)演算手段、316_1から
316_3は定数減算手段、317_1から317_3
はマルチプレクサ、318_1から318_2は加算手
段、319_4から319_8は併合平方根保持手段、
320_1から320_3はシフタ、321は例外検出
手段、322は桁調整シフト数算出手段、323は桁調
整手段である。
【0081】以下、具体的な数値例を用いて図10,図
11に示す固定小数点ベクトル開平演算装置の動作を説
明する。ベクトルの1つの要素のオペランドが入力され
てから、各々の手段で処理されていく過程は、第4の実
施例で使用した図8と同様である。以下では1つの要素
がステージ毎にどのように処理されていくかについて説
明する。
11に示す固定小数点ベクトル開平演算装置の動作を説
明する。ベクトルの1つの要素のオペランドが入力され
てから、各々の手段で処理されていく過程は、第4の実
施例で使用した図8と同様である。以下では1つの要素
がステージ毎にどのように処理されていくかについて説
明する。
【0082】ステージ 0:はじめにオペランドとして
000614CB57ED84ADが入力され、入力レ
ジスタ301にセットされる。正規化シフト数検出手段
303では、2ビット単位のビット正規化を行なうため
のシフト数を検出しており、12が出力される。正規化
手段305では、正規化シフト数検出手段303より、
シフト数12の指示を受け、入力データを12ビット左
にシフトして出力する。
000614CB57ED84ADが入力され、入力レ
ジスタ301にセットされる。正規化シフト数検出手段
303では、2ビット単位のビット正規化を行なうため
のシフト数を検出しており、12が出力される。正規化
手段305では、正規化シフト数検出手段303より、
シフト数12の指示を受け、入力データを12ビット左
にシフトして出力する。
【0083】ステージ 1:はじめに入力レジスタ30
1の出力の先頭2ビットが例外検出情報保持手段302
_1に、正規化手段305の出力が正規化オペランドレ
ジスタ306に、正規化シフト数検出手段303の出力
が正規化シフト数保持手段304_1に、それぞれセッ
トされる。テーブル情報格納手段307には正規化オペ
ランドレジスタ306の263から252の12ビットが入
力され、0CFA4が出力される。さらにこの出力の最
下位ビットとして正規化オペランドレジスタ306の2
51の1ビットを反転したものが付加されるのであるが、
本例では0が付加され、乗算手段310_1から310
_3での実質的な乗数は0CFA4となる。
1の出力の先頭2ビットが例外検出情報保持手段302
_1に、正規化手段305の出力が正規化オペランドレ
ジスタ306に、正規化シフト数検出手段303の出力
が正規化シフト数保持手段304_1に、それぞれセッ
トされる。テーブル情報格納手段307には正規化オペ
ランドレジスタ306の263から252の12ビットが入
力され、0CFA4が出力される。さらにこの出力の最
下位ビットとして正規化オペランドレジスタ306の2
51の1ビットを反転したものが付加されるのであるが、
本例では0が付加され、乗算手段310_1から310
_3での実質的な乗数は0CFA4となる。
【0084】ステージ 2:はじめに例外検出情報保持
手段302_1の出力が302_2に、正規化オペラン
ドレジスタ306の出力が先頭に4ビットのゼロを付加
されて剰余保持手段309_2に、テーブル情報格納手
段307の出力がテーブル出力情報保持手段308_2
に、正規化シフト数保持手段304_1の出力が304
_2に、それぞれセットされる。乗算手段310_1で
0614CB57ED84AD000と0CFA4の乗
算が行なわれ、04EEB5BE5D6270E1D4
000の積が求められる。
手段302_1の出力が302_2に、正規化オペラン
ドレジスタ306の出力が先頭に4ビットのゼロを付加
されて剰余保持手段309_2に、テーブル情報格納手
段307の出力がテーブル出力情報保持手段308_2
に、正規化シフト数保持手段304_1の出力が304
_2に、それぞれセットされる。乗算手段310_1で
0614CB57ED84AD000と0CFA4の乗
算が行なわれ、04EEB5BE5D6270E1D4
000の積が求められる。
【0085】ステージ 3:はじめに乗算手段310_
1の280から268の13ビットが符号1ビット、データ
12ビットの1番目の部分平方根として部分平方根保持
手段311_1に、例外検出情報保持手段302_2の
出力が302_3に、剰余保持手段309_2の出力が
309_3に、テーブル出力情報保持手段308_2の
出力が308_3に、正規化シフト数保持手段304_
2の出力が304_3に、それぞれセットされる。反転
手段312_1では部分平方根保持手段311_1の出
力を入力してビット反転するとともに最下位ビットに1
を付加して出力する。また、被乗数生成手段313_1
では、254から242までに部分平方根保持手段311_
1の出力を埋め込み、他のビットをゼロとして出力す
る。(R+S×T)演算手段314_1では剰余保持手
段309_3の出力をR、被乗数生成手段313_1の
出力をS,反転手段312_1の出力をTとして入力
し、(R+S×T)の演算を実行する。(R+S×T)
演算手段314_1の出力FFFF0317ED84A
D000はシフタ320_1によって左に11ビットシ
フトされる。一方、定数減算手段316_1では部分平
方根保持手段311_1の出力のLSBから1を引く。
マルチプレクサ317_1は、(R+S×T)演算手段
314_1の出力が負の場合、定数減算手段316_1
の出力を選択し、それ以外の場合は部分平方根保持手段
311_1の出力を選択する。本例では上記の条件を判
断して定数減算手段316_1の出力を選択する。
1の280から268の13ビットが符号1ビット、データ
12ビットの1番目の部分平方根として部分平方根保持
手段311_1に、例外検出情報保持手段302_2の
出力が302_3に、剰余保持手段309_2の出力が
309_3に、テーブル出力情報保持手段308_2の
出力が308_3に、正規化シフト数保持手段304_
2の出力が304_3に、それぞれセットされる。反転
手段312_1では部分平方根保持手段311_1の出
力を入力してビット反転するとともに最下位ビットに1
を付加して出力する。また、被乗数生成手段313_1
では、254から242までに部分平方根保持手段311_
1の出力を埋め込み、他のビットをゼロとして出力す
る。(R+S×T)演算手段314_1では剰余保持手
段309_3の出力をR、被乗数生成手段313_1の
出力をS,反転手段312_1の出力をTとして入力
し、(R+S×T)の演算を実行する。(R+S×T)
演算手段314_1の出力FFFF0317ED84A
D000はシフタ320_1によって左に11ビットシ
フトされる。一方、定数減算手段316_1では部分平
方根保持手段311_1の出力のLSBから1を引く。
マルチプレクサ317_1は、(R+S×T)演算手段
314_1の出力が負の場合、定数減算手段316_1
の出力を選択し、それ以外の場合は部分平方根保持手段
311_1の出力を選択する。本例では上記の条件を判
断して定数減算手段316_1の出力を選択する。
【0086】ステージ 4:はじめにシフタ320_1
の出力が剰余保持手段309_4に、マルチプレクサ3
17_1の出力する13ビットを254から242に整列さ
せ、他のビットをゼロとするデータが併合平方根保持手
段319_4に、例外検出情報保持手段302_3の出
力が302_4に、テーブル出力情報保持手段308_
3の出力が308_4に、正規化シフト数保持手段30
4_3の出力が304_4に、それぞれセットされる。
剰余保持手段309_4にセットされた1番目の剰余R
1 のF818BF6C256800000にテーブル出
力情報保持手段308_4の出力する0CFA4が乗算
手段310_2により掛けられ、積F996F2A31
3870EA000000が出力される。
の出力が剰余保持手段309_4に、マルチプレクサ3
17_1の出力する13ビットを254から242に整列さ
せ、他のビットをゼロとするデータが併合平方根保持手
段319_4に、例外検出情報保持手段302_3の出
力が302_4に、テーブル出力情報保持手段308_
3の出力が308_4に、正規化シフト数保持手段30
4_3の出力が304_4に、それぞれセットされる。
剰余保持手段309_4にセットされた1番目の剰余R
1 のF818BF6C256800000にテーブル出
力情報保持手段308_4の出力する0CFA4が乗算
手段310_2により掛けられ、積F996F2A31
3870EA000000が出力される。
【0087】ステージ 5:はじめに乗算手段310_
2の出力の281から269の1CCBが符号1ビット、デ
ータ12ビットの2番目の部分平方根として部分平方根
保持手段311_2に、例外検出情報保持手段302_
4の出力が302_5に、剰余保持手段309_4の出
力が309_5に、併合平方根保持手段319_4の出
力が319_5に、テーブル出力情報保持手段308_
4の出力が308_5に、正規化シフト数保持手段30
4_4の出力が304_5に、それぞれセットされる。
反転手段312_2では1CCBが反転され、0334
となり、最下位ビットとして1が付加されて出力され、
(R+S×T)演算手段314_2では実質的に乗数と
して0335で演算が行なわれる。一方、被乗数生成手
段313_2では、併合平方根保持手段319_5の出
力を左に1ビットシフトするとともに、部分平方根保持
手段311_2の出力する13ビットの先頭ビットを除
く12ビットを242から231へ埋め込み、027766
580000000を出力する。(R+S×T)演算手
段314_2では剰余保持手段309_5の出力をR、
被乗数生成手段313_2の出力をS,反転手段312
_2の出力をTとして入力し、(R+S×T)の演算を
実行する。(R+S×T)演算手段314_2の出力0
001AAA45D6800000はシフタ320_2
によって左に11ビットシフトされる。マルチプレクサ
317_2は、部分平方根保持手段311_2の出力を
選択して先頭2ビットをゼロに抑止して11ビットを出
力し、加算手段318_1では併合平方根保持手段31
9_5の出力と、マルチプレクサ317_2の出力につ
いては241から231に整列させ、入力して加算を行な
い、13BA65800000000を出力する。
2の出力の281から269の1CCBが符号1ビット、デ
ータ12ビットの2番目の部分平方根として部分平方根
保持手段311_2に、例外検出情報保持手段302_
4の出力が302_5に、剰余保持手段309_4の出
力が309_5に、併合平方根保持手段319_4の出
力が319_5に、テーブル出力情報保持手段308_
4の出力が308_5に、正規化シフト数保持手段30
4_4の出力が304_5に、それぞれセットされる。
反転手段312_2では1CCBが反転され、0334
となり、最下位ビットとして1が付加されて出力され、
(R+S×T)演算手段314_2では実質的に乗数と
して0335で演算が行なわれる。一方、被乗数生成手
段313_2では、併合平方根保持手段319_5の出
力を左に1ビットシフトするとともに、部分平方根保持
手段311_2の出力する13ビットの先頭ビットを除
く12ビットを242から231へ埋め込み、027766
580000000を出力する。(R+S×T)演算手
段314_2では剰余保持手段309_5の出力をR、
被乗数生成手段313_2の出力をS,反転手段312
_2の出力をTとして入力し、(R+S×T)の演算を
実行する。(R+S×T)演算手段314_2の出力0
001AAA45D6800000はシフタ320_2
によって左に11ビットシフトされる。マルチプレクサ
317_2は、部分平方根保持手段311_2の出力を
選択して先頭2ビットをゼロに抑止して11ビットを出
力し、加算手段318_1では併合平方根保持手段31
9_5の出力と、マルチプレクサ317_2の出力につ
いては241から231に整列させ、入力して加算を行な
い、13BA65800000000を出力する。
【0088】ステージ 6:はじめにシフタ320_2
の出力が剰余保持手段309_6に、加算手段318_
1の出力が併合平方根保持手段319_6に、例外検出
情報保持手段302_5の出力が302_6に、テーブ
ル出力情報保持手段308_5の出力が308_6に、
正規化シフト数保持手段304_5の出力が304_6
に、それぞれセットされる。剰余保持手段309_6に
セットされた2番目の剰余R2 の0D5522EB40
0000000にテーブル出力情報保持手段308_4
の出力する0CFA4が乗算手段310_3により掛け
られ、積0AD061C69775000000000
が出力される。
の出力が剰余保持手段309_6に、加算手段318_
1の出力が併合平方根保持手段319_6に、例外検出
情報保持手段302_5の出力が302_6に、テーブ
ル出力情報保持手段308_5の出力が308_6に、
正規化シフト数保持手段304_5の出力が304_6
に、それぞれセットされる。剰余保持手段309_6に
セットされた2番目の剰余R2 の0D5522EB40
0000000にテーブル出力情報保持手段308_4
の出力する0CFA4が乗算手段310_3により掛け
られ、積0AD061C69775000000000
が出力される。
【0089】ステージ 7:はじめに乗算手段310_
2の出力の281から269の0568が符号1ビット、デ
ータ12ビットの3番目の部分平方根として部分平方根
保持手段311_3に、例外検出情報保持手段302_
6の出力が302_7に、剰余保持手段309_6の出
力が309_7に、併合平方根保持手段319_6の出
力が319_7に、正規化シフト数保持手段304_6
の出力が304_7に、それぞれセットされる。反転手
段312_3では0568が反転され、1A97とな
り、最下位ビットとして1が付加されて出力され、(R
+S×T)演算手段314_3では実質的に乗数として
1A98で演算が行なわれる。一方、被乗数生成手段3
13_3では、併合平方根保持手段319_7の出力を
左に1ビットシフトするとともに、部分平方根保持手段
311_3の出力する13ビットの先頭ビットを除く1
2ビットを231から220へ埋め込み,02774CB5
6800000を出力する。(R+S×T)演算手段3
14_3では剰余保持手段309_7の出力をR、被乗
数生成手段313_3の出力をS,反転手段312_3
の出力をTとして入力し、(R+S×T)の演算を実行
する。(R+S×T)演算手段314_3の出力000
02C3685C000000はシフタ320_3によ
って左に11ビットシフトされる。マルチプレクサ31
7_3は、部分平方根保持手段311_3の出力を選択
して13ビットを出力し、加算手段318_3では併合
平方根保持手段319_7の出力と、マルチプレクサ3
17_3の出力については232から220に整列させ、入
力して加算を行ない、13BA65D68000000
を出力する。
2の出力の281から269の0568が符号1ビット、デ
ータ12ビットの3番目の部分平方根として部分平方根
保持手段311_3に、例外検出情報保持手段302_
6の出力が302_7に、剰余保持手段309_6の出
力が309_7に、併合平方根保持手段319_6の出
力が319_7に、正規化シフト数保持手段304_6
の出力が304_7に、それぞれセットされる。反転手
段312_3では0568が反転され、1A97とな
り、最下位ビットとして1が付加されて出力され、(R
+S×T)演算手段314_3では実質的に乗数として
1A98で演算が行なわれる。一方、被乗数生成手段3
13_3では、併合平方根保持手段319_7の出力を
左に1ビットシフトするとともに、部分平方根保持手段
311_3の出力する13ビットの先頭ビットを除く1
2ビットを231から220へ埋め込み,02774CB5
6800000を出力する。(R+S×T)演算手段3
14_3では剰余保持手段309_7の出力をR、被乗
数生成手段313_3の出力をS,反転手段312_3
の出力をTとして入力し、(R+S×T)の演算を実行
する。(R+S×T)演算手段314_3の出力000
02C3685C000000はシフタ320_3によ
って左に11ビットシフトされる。マルチプレクサ31
7_3は、部分平方根保持手段311_3の出力を選択
して13ビットを出力し、加算手段318_3では併合
平方根保持手段319_7の出力と、マルチプレクサ3
17_3の出力については232から220に整列させ、入
力して加算を行ない、13BA65D68000000
を出力する。
【0090】ステージ 8:はじめにシフタ320_3
の出力が剰余保持手段309_8に、加算手段318_
2の出力が併合平方根保持手段319_8に、例外検出
情報保持手段302_7の出力が302_8に、正規化
シフト数保持手段304_7の出力が304_8に、そ
れぞれセットされる。例外検出手段321では例外検出
情報保持手段302_8の出力する2ビットが10また
は11の場合はデータ例外として、また01の場合はオ
ーバーフロー例外として検出し、固定小数点ベクトル開
平演算装置の外部の命令実行制御部に対して例外が発生
していることを通知する。本数値例では例外は検出され
ない。桁調整シフト数算出手段322では、正規化シフ
ト数保持手段304_8からの12を右1ビットシフト
して6とした後、定数25を加え、31を出力し、桁調
整手段323では併合平方根保持手段319_8の出力
を桁調整シフト数算出手段322からの指示である31
だけ右にシフトして最終結果である02774CBAを
出力する。
の出力が剰余保持手段309_8に、加算手段318_
2の出力が併合平方根保持手段319_8に、例外検出
情報保持手段302_7の出力が302_8に、正規化
シフト数保持手段304_7の出力が304_8に、そ
れぞれセットされる。例外検出手段321では例外検出
情報保持手段302_8の出力する2ビットが10また
は11の場合はデータ例外として、また01の場合はオ
ーバーフロー例外として検出し、固定小数点ベクトル開
平演算装置の外部の命令実行制御部に対して例外が発生
していることを通知する。本数値例では例外は検出され
ない。桁調整シフト数算出手段322では、正規化シフ
ト数保持手段304_8からの12を右1ビットシフト
して6とした後、定数25を加え、31を出力し、桁調
整手段323では併合平方根保持手段319_8の出力
を桁調整シフト数算出手段322からの指示である31
だけ右にシフトして最終結果である02774CBAを
出力する。
【0091】(実施例7)図16は本発明の第7の実施
例に係る浮動小数点開平演算装置のブロック図を示すも
のである。本実施例の浮動小数点開平演算装置はIEE
E規格の倍精度浮動小数点数を入力して、同じ倍精度浮
動小数点数の平方根を出力し、部分平方根のデータとし
てのビット長が12で部分平方根間には1ビットの重複
がある。図16において、501は入力レジスタ、50
2は例外検出手段、503は指数定数減算手段、504
はシフタ、505は指数定数加算手段、506はリーデ
ィングビット付加回路、507は正規化手段、508は
テーブル情報格納手段、509はシフタ、510はマル
チプレクサ、511は剰余保持手段、512は乗算手
段、513はマルチプレクサ、514は併合平方根保持
手段、515は反転手段、516は被乗数生成手段、5
17は(R+S×T)演算手段、518は定数減算手
段、519はマルチプレクサ、520は桁合わせ手段、
521は加算手段である。
例に係る浮動小数点開平演算装置のブロック図を示すも
のである。本実施例の浮動小数点開平演算装置はIEE
E規格の倍精度浮動小数点数を入力して、同じ倍精度浮
動小数点数の平方根を出力し、部分平方根のデータとし
てのビット長が12で部分平方根間には1ビットの重複
がある。図16において、501は入力レジスタ、50
2は例外検出手段、503は指数定数減算手段、504
はシフタ、505は指数定数加算手段、506はリーデ
ィングビット付加回路、507は正規化手段、508は
テーブル情報格納手段、509はシフタ、510はマル
チプレクサ、511は剰余保持手段、512は乗算手
段、513はマルチプレクサ、514は併合平方根保持
手段、515は反転手段、516は被乗数生成手段、5
17は(R+S×T)演算手段、518は定数減算手
段、519はマルチプレクサ、520は桁合わせ手段、
521は加算手段である。
【0092】以下、具体的な数値例を用いて図16に示
す浮動小数点開平演算装置の動作を説明する。図17,
図18はオペランドが入力されてから、各々の手段で処
理されていく過程を示している。はじめにオペランドと
して7C88B89EAF092E9Fが入力され、入
力レジスタ501にセットされる。例外検出手段502
では入力オペランドが負の場合、データ例外として検出
し、浮動小数点開平演算装置の外部の命令実行制御部に
対して例外が発生していることを通知する。本数値例で
は(以下では、この前提を省略する)オペランドは正で
あるので例外は検出されない。入力レジスタ501の出
力の262から252の指数に対して、指数定数減算手段5
03により3FFが引かれた後、シフタ504により右
に1ビットシフトされ、指数定数加算手段505により
再び3FFが加算され、結果の指数が求められる。リー
ディングビット付加回路506では入力レジスタ501
の出力の251から20 の仮数部に対して先頭にリーディ
ングビットの1が付加される。正規化手段507では、
入力レジスタ501の出力の252のビットが1の場合入
力を左に12ビットシフトして、また、入力レジスタ5
01の出力の252のビットが0の場合入力を左に13ビ
ットシフトして出力する。テーブル情報格納手段508
には正規化手段507の265から254の12ビットが入
力され、091A0が出力される。さらにこの出力の最
下位ビットとして正規化手段507の253のビットを反
転したものが付加されるのであるが、本例では1が付加
され、乗算手段512での実質的な乗数は091A1と
なる。マルチプレクサ510では正規化手段507の出
力を選択し、この出力が剰余保持手段511にセットさ
れる。このとき、併合平方根保持手段514はゼロにリ
セットされる。乗算手段512で31713D5E12
5D3E000と091A1の乗算が行なわれ、1C2
03BF9E0905CC1FE000の積が求められ
ると同時に1回目の反復では269の位で、2回目以降の
反復では270の位で積を丸めた結果がマルチプレクサ5
13に対して出力される。マルチプレクサ513では乗
算手段512の282から270の13ビットを符号1ビッ
ト、データ12ビットの1番目の部分平方根として選択
する。反転手段515では部分平方根を入力してビット
反転するとともに最下位ビットに1を付加して出力す
る。また、被乗数生成手段516では、1回目の反復で
は256から244までにマルチプレクサ513の出力を埋
め込み、他のビットをゼロとして出力する。(R+S×
T)演算手段517では剰余保持手段511の出力を
R、被乗数生成手段516の出力をS,反転手段515
の出力をTとして入力し、(R+S×T)の演算を実行
する。(R+S×T)演算手段517の出力0000F
D5E125D3E000はシフタ509によって左に
11ビットシフトされてマルチプレクサ510により選
択され、剰余保持手段511にセットされる。一方、定
数減算手段518ではマルチプレクサ513の出力のL
SBから1を引く。マルチプレクサ519は、(R+S
×T)演算手段517の出力が負の場合、定数減算手段
518の出力を選択し、それ以外の場合はマルチプレク
サ513の出力を選択する。1回目の反復では上記の条
件を判断してマルチプレクサ513の出力を選択する。
桁合わせ手段520では各反復での部分平方根を併合す
るための桁合わせを実行する。具体的には、部分平方根
が負の場合には、マルチプレクサ519の出力の13ビ
ットの先頭2ビットをゼロに抑止し、また、部分平方根
が正の場合には、マルチプレクサ519の出力の13ビ
ットを、上位の併合平方根とのビットの重みがつり合う
ようにシフトを行ない、出力する。1番目の部分平方根
に対しては、256から244に入力データを整列させ、出
力する。加算手段521では併合平方根保持手段514
の出力と、桁合わせ手段520の出力を入力して加算を
行ない、結果を併合平方根保持手段514にセットす
る。
す浮動小数点開平演算装置の動作を説明する。図17,
図18はオペランドが入力されてから、各々の手段で処
理されていく過程を示している。はじめにオペランドと
して7C88B89EAF092E9Fが入力され、入
力レジスタ501にセットされる。例外検出手段502
では入力オペランドが負の場合、データ例外として検出
し、浮動小数点開平演算装置の外部の命令実行制御部に
対して例外が発生していることを通知する。本数値例で
は(以下では、この前提を省略する)オペランドは正で
あるので例外は検出されない。入力レジスタ501の出
力の262から252の指数に対して、指数定数減算手段5
03により3FFが引かれた後、シフタ504により右
に1ビットシフトされ、指数定数加算手段505により
再び3FFが加算され、結果の指数が求められる。リー
ディングビット付加回路506では入力レジスタ501
の出力の251から20 の仮数部に対して先頭にリーディ
ングビットの1が付加される。正規化手段507では、
入力レジスタ501の出力の252のビットが1の場合入
力を左に12ビットシフトして、また、入力レジスタ5
01の出力の252のビットが0の場合入力を左に13ビ
ットシフトして出力する。テーブル情報格納手段508
には正規化手段507の265から254の12ビットが入
力され、091A0が出力される。さらにこの出力の最
下位ビットとして正規化手段507の253のビットを反
転したものが付加されるのであるが、本例では1が付加
され、乗算手段512での実質的な乗数は091A1と
なる。マルチプレクサ510では正規化手段507の出
力を選択し、この出力が剰余保持手段511にセットさ
れる。このとき、併合平方根保持手段514はゼロにリ
セットされる。乗算手段512で31713D5E12
5D3E000と091A1の乗算が行なわれ、1C2
03BF9E0905CC1FE000の積が求められ
ると同時に1回目の反復では269の位で、2回目以降の
反復では270の位で積を丸めた結果がマルチプレクサ5
13に対して出力される。マルチプレクサ513では乗
算手段512の282から270の13ビットを符号1ビッ
ト、データ12ビットの1番目の部分平方根として選択
する。反転手段515では部分平方根を入力してビット
反転するとともに最下位ビットに1を付加して出力す
る。また、被乗数生成手段516では、1回目の反復で
は256から244までにマルチプレクサ513の出力を埋
め込み、他のビットをゼロとして出力する。(R+S×
T)演算手段517では剰余保持手段511の出力を
R、被乗数生成手段516の出力をS,反転手段515
の出力をTとして入力し、(R+S×T)の演算を実行
する。(R+S×T)演算手段517の出力0000F
D5E125D3E000はシフタ509によって左に
11ビットシフトされてマルチプレクサ510により選
択され、剰余保持手段511にセットされる。一方、定
数減算手段518ではマルチプレクサ513の出力のL
SBから1を引く。マルチプレクサ519は、(R+S
×T)演算手段517の出力が負の場合、定数減算手段
518の出力を選択し、それ以外の場合はマルチプレク
サ513の出力を選択する。1回目の反復では上記の条
件を判断してマルチプレクサ513の出力を選択する。
桁合わせ手段520では各反復での部分平方根を併合す
るための桁合わせを実行する。具体的には、部分平方根
が負の場合には、マルチプレクサ519の出力の13ビ
ットの先頭2ビットをゼロに抑止し、また、部分平方根
が正の場合には、マルチプレクサ519の出力の13ビ
ットを、上位の併合平方根とのビットの重みがつり合う
ようにシフトを行ない、出力する。1番目の部分平方根
に対しては、256から244に入力データを整列させ、出
力する。加算手段521では併合平方根保持手段514
の出力と、桁合わせ手段520の出力を入力して加算を
行ない、結果を併合平方根保持手段514にセットす
る。
【0093】次に2回目の反復計算に入る。テーブル情
報格納手段508の出力は2回目以降も1回目と変わら
ない。剰余保持手段511にセットされた1番目の剰余
R1の07EAF092E9F000000に091A
1が乗算手段512により掛けられ、積04810D0
482E60FF000000が出力される。283から
271の0090が符号1ビット、データ12ビットの2
番目の部分平方根としてマルチプレクサ513により選
択される。反転手段515では0090が反転され、1
F6Fとなり、最下位ビットとして1が付加されて出力
され、(R+S×T)演算手段517では実質的に乗数
として1F70で演算が行なわれる。一方、被乗数生成
手段516では、併合平方根保持手段514の出力を左
に1ビットシフトするとともに、マルチプレクサ510
の出力する13ビットの先頭ビットを除く12ビットを
244から233へ埋め込み、0E10120000000
00を出力する。(R+S×T)演算手段517では剰
余保持手段511の出力をR、被乗数生成手段516の
出力をS,反転手段515の出力をTとして入力し、
(R+S×T)の演算を実行する。(R+S×T)演算
手段517の出力0001E672E9F000000
はシフタ509によって左に11ビットシフトされてマ
ルチプレクサ510により選択され、剰余保持手段51
1にセットされる。マルチプレクサ519は、マルチプ
レクサ513の出力を選択して出力し、桁合わせ手段5
20では13ビットの入力を245から233に整列させ
る。加算手段521では併合平方根保持手段514の出
力と、桁合わせ手段520の出力を入力して加算を行な
い、070812000000000を出力する。併合
平方根保持手段514では加算手段521の出力をセッ
トする。
報格納手段508の出力は2回目以降も1回目と変わら
ない。剰余保持手段511にセットされた1番目の剰余
R1の07EAF092E9F000000に091A
1が乗算手段512により掛けられ、積04810D0
482E60FF000000が出力される。283から
271の0090が符号1ビット、データ12ビットの2
番目の部分平方根としてマルチプレクサ513により選
択される。反転手段515では0090が反転され、1
F6Fとなり、最下位ビットとして1が付加されて出力
され、(R+S×T)演算手段517では実質的に乗数
として1F70で演算が行なわれる。一方、被乗数生成
手段516では、併合平方根保持手段514の出力を左
に1ビットシフトするとともに、マルチプレクサ510
の出力する13ビットの先頭ビットを除く12ビットを
244から233へ埋め込み、0E10120000000
00を出力する。(R+S×T)演算手段517では剰
余保持手段511の出力をR、被乗数生成手段516の
出力をS,反転手段515の出力をTとして入力し、
(R+S×T)の演算を実行する。(R+S×T)演算
手段517の出力0001E672E9F000000
はシフタ509によって左に11ビットシフトされてマ
ルチプレクサ510により選択され、剰余保持手段51
1にセットされる。マルチプレクサ519は、マルチプ
レクサ513の出力を選択して出力し、桁合わせ手段5
20では13ビットの入力を245から233に整列させ
る。加算手段521では併合平方根保持手段514の出
力と、桁合わせ手段520の出力を入力して加算を行な
い、070812000000000を出力する。併合
平方根保持手段514では加算手段521の出力をセッ
トする。
【0094】次に3回目の反復計算に入る。テーブル情
報格納手段508の出力は1回目と変わらない。剰余保
持手段511にセットされた2番目の剰余R2 の0F3
3974F800000000に091A1が乗算手段
512により掛けられ、積08A5C826307F8
00000000が出力される。270の位で丸め後の2
83から271の0115が符号1ビット、データ12ビッ
トの3番目の部分平方根としてマルチプレクサ513に
より選択される。反転手段515では0115が反転さ
れ、1EEAとなり、最下位ビットとして1が付加され
て出力され、(R+S×T)演算手段517では実質的
に乗数として1EEBで演算が行なわれる。一方、被乗
数生成手段516では、併合平方根保持手段514の出
力を左に1ビットシフトするとともに、マルチプレクサ
513の出力する13ビットの先頭ビットを除く12ビ
ットを233から222へ埋め込み、0E10240454
00000を出力する。(R+S×T)演算手段517
では剰余保持手段511の出力をR、被乗数生成手段5
16の出力をS,反転手段515の出力をTとして入力
し、(R+S×T)の演算を実行する。(R+S×T)
演算手段517の出力FFFC2056D11C000
00はシフタ509によって左に11ビットシフトされ
てマルチプレクサ510により選択され、剰余保持手段
511にセットされる。マルチプレクサ519は、定数
減算手段518の出力を選択して出力し、桁合わせ手段
520では13ビットの入力を234から222に整列させ
る。加算手段521では併合平方根保持手段514の出
力と、桁合わせ手段520の出力を入力して加算を行な
い、070812045000000を出力する。併合
平方根保持手段514では加算手段521の出力をセッ
トする。
報格納手段508の出力は1回目と変わらない。剰余保
持手段511にセットされた2番目の剰余R2 の0F3
3974F800000000に091A1が乗算手段
512により掛けられ、積08A5C826307F8
00000000が出力される。270の位で丸め後の2
83から271の0115が符号1ビット、データ12ビッ
トの3番目の部分平方根としてマルチプレクサ513に
より選択される。反転手段515では0115が反転さ
れ、1EEAとなり、最下位ビットとして1が付加され
て出力され、(R+S×T)演算手段517では実質的
に乗数として1EEBで演算が行なわれる。一方、被乗
数生成手段516では、併合平方根保持手段514の出
力を左に1ビットシフトするとともに、マルチプレクサ
513の出力する13ビットの先頭ビットを除く12ビ
ットを233から222へ埋め込み、0E10240454
00000を出力する。(R+S×T)演算手段517
では剰余保持手段511の出力をR、被乗数生成手段5
16の出力をS,反転手段515の出力をTとして入力
し、(R+S×T)の演算を実行する。(R+S×T)
演算手段517の出力FFFC2056D11C000
00はシフタ509によって左に11ビットシフトされ
てマルチプレクサ510により選択され、剰余保持手段
511にセットされる。マルチプレクサ519は、定数
減算手段518の出力を選択して出力し、桁合わせ手段
520では13ビットの入力を234から222に整列させ
る。加算手段521では併合平方根保持手段514の出
力と、桁合わせ手段520の出力を入力して加算を行な
い、070812045000000を出力する。併合
平方根保持手段514では加算手段521の出力をセッ
トする。
【0095】次に4回目の反復計算に入る。テーブル情
報格納手段508の出力は1回目と変わらない。剰余保
持手段511にセットされた3番目の剰余R3 のE10
2B688E00000000に091A1が乗算手段
512により掛けられ、積EE5F0C1852F4E
00000000が出力される。270の位で丸め後の2
83から271の1DCCが符号1ビット、データ12ビッ
トの4番目の部分平方根としてマルチプレクサ513に
より選択される。反転手段515では1DCCが反転さ
れ、0233となり、最下位ビットとして1が付加され
て出力され、(R+S×T)演算手段517では実質的
に乗数として0234で演算が行なわれる。一方、被乗
数生成手段516では、併合平方根保持手段514の出
力を左に1ビットシフトするとともに、マルチプレクサ
513の出力する13ビットの先頭ビットを除く12ビ
ットを222から211へ埋め込み、0E102408A6
E6000を出力する。(R+S×T)演算手段517
では剰余保持手段511の出力をR、被乗数生成手段5
16の出力をS,反転手段515の出力をTとして入力
し、(R+S×T)の演算を実行する。(R+S×T)
演算手段517の出力FFFE45EBEFB2B80
00はシフタ509によって左に11ビットシフトされ
てマルチプレクサ510により選択され、剰余保持手段
511にセットされる。マルチプレクサ519は、定数
減算手段518の出力を選択して出力し、桁合わせ手段
520では13ビットの入力のうち、先頭2ビットをゼ
ロに抑止して11ビットを221から211に整列させる。
加算手段521では併合平方根保持手段514の出力
と、桁合わせ手段520の出力を入力して加算を行な
い、0708120452E5000を出力する。併合
平方根保持手段514では加算手段521の出力をセッ
トする。
報格納手段508の出力は1回目と変わらない。剰余保
持手段511にセットされた3番目の剰余R3 のE10
2B688E00000000に091A1が乗算手段
512により掛けられ、積EE5F0C1852F4E
00000000が出力される。270の位で丸め後の2
83から271の1DCCが符号1ビット、データ12ビッ
トの4番目の部分平方根としてマルチプレクサ513に
より選択される。反転手段515では1DCCが反転さ
れ、0233となり、最下位ビットとして1が付加され
て出力され、(R+S×T)演算手段517では実質的
に乗数として0234で演算が行なわれる。一方、被乗
数生成手段516では、併合平方根保持手段514の出
力を左に1ビットシフトするとともに、マルチプレクサ
513の出力する13ビットの先頭ビットを除く12ビ
ットを222から211へ埋め込み、0E102408A6
E6000を出力する。(R+S×T)演算手段517
では剰余保持手段511の出力をR、被乗数生成手段5
16の出力をS,反転手段515の出力をTとして入力
し、(R+S×T)の演算を実行する。(R+S×T)
演算手段517の出力FFFE45EBEFB2B80
00はシフタ509によって左に11ビットシフトされ
てマルチプレクサ510により選択され、剰余保持手段
511にセットされる。マルチプレクサ519は、定数
減算手段518の出力を選択して出力し、桁合わせ手段
520では13ビットの入力のうち、先頭2ビットをゼ
ロに抑止して11ビットを221から211に整列させる。
加算手段521では併合平方根保持手段514の出力
と、桁合わせ手段520の出力を入力して加算を行な
い、0708120452E5000を出力する。併合
平方根保持手段514では加算手段521の出力をセッ
トする。
【0096】次に5回目の反復計算に入る。テーブル情
報格納手段508の出力は1回目と変わらない。剰余保
持手段511にセットされた4番目の剰余R4 のF22
F5F7D95C000000に091A1が乗算手段
512により掛けられ、積F82424E12FCCE
DC000000が出力される。270の位で丸め後の2
83から271の1F05が符号1ビット、データ12ビッ
トの5番目の部分平方根としてマルチプレクサ513に
より選択される。反転手段515では1F05が反転さ
れ、00FAとなり、最下位ビットとして1が付加され
て出力され、(R+S×T)演算手段517では実質的
に乗数として00FBで演算が行なわれる。一方、被乗
数生成手段516では、併合平方根保持手段514の出
力を左に1ビットシフトするとともに、マルチプレクサ
513の出力する13ビットの先頭ビットを除く12ビ
ットを211から20 へ埋め込み、0E102408A5
CBF05を出力する。(R+S×T)演算手段517
では剰余保持手段511の出力をR、被乗数生成手段5
16の出力をS,反転手段515の出力をTとして入力
し、(R+S×T)の演算を実行する。(R+S×T)
演算手段517はFFF932D2104EF49E7
を出力する。マルチプレクサ519は、定数減算手段5
18の出力を選択して出力し、桁合わせ手段520では
13ビットの入力のうち、先頭2ビットをゼロに抑止し
て11ビットを210から20 に整列させる。加算手段5
21では併合平方根保持手段514の出力と、桁合わせ
手段520の出力を入力して加算を行ない、07081
20452E5F04を出力する。
報格納手段508の出力は1回目と変わらない。剰余保
持手段511にセットされた4番目の剰余R4 のF22
F5F7D95C000000に091A1が乗算手段
512により掛けられ、積F82424E12FCCE
DC000000が出力される。270の位で丸め後の2
83から271の1F05が符号1ビット、データ12ビッ
トの5番目の部分平方根としてマルチプレクサ513に
より選択される。反転手段515では1F05が反転さ
れ、00FAとなり、最下位ビットとして1が付加され
て出力され、(R+S×T)演算手段517では実質的
に乗数として00FBで演算が行なわれる。一方、被乗
数生成手段516では、併合平方根保持手段514の出
力を左に1ビットシフトするとともに、マルチプレクサ
513の出力する13ビットの先頭ビットを除く12ビ
ットを211から20 へ埋め込み、0E102408A5
CBF05を出力する。(R+S×T)演算手段517
では剰余保持手段511の出力をR、被乗数生成手段5
16の出力をS,反転手段515の出力をTとして入力
し、(R+S×T)の演算を実行する。(R+S×T)
演算手段517はFFF932D2104EF49E7
を出力する。マルチプレクサ519は、定数減算手段5
18の出力を選択して出力し、桁合わせ手段520では
13ビットの入力のうち、先頭2ビットをゼロに抑止し
て11ビットを210から20 に整列させる。加算手段5
21では併合平方根保持手段514の出力と、桁合わせ
手段520の出力を入力して加算を行ない、07081
20452E5F04を出力する。
【0097】最終的な結果として、263の符号ビットと
して0、262から252の指数部として指数定数加算手段
505の出力する11ビット、251から20 の仮数部と
して加算手段521の253から22 がそれぞれ選択さ
れ、5E3C2048114B97C1として図16に
示す開平演算装置から出力される。
して0、262から252の指数部として指数定数加算手段
505の出力する11ビット、251から20 の仮数部と
して加算手段521の253から22 がそれぞれ選択さ
れ、5E3C2048114B97C1として図16に
示す開平演算装置から出力される。
【0098】
【発明の効果】以上のように本発明は、剰余保持手段
と、平方根の近似逆数を格納するテーブル情報格納手段
と、部分平方根を求める乗算手段と、剰余から反復計算
で上位から揃った併合平方根と部分平方根の積を求める
(R−S×T)演算手段を設けることにより、乗数のビ
ット長として、固定小数点数の場合はオペランド長、浮
動小数点数の場合は仮数部のビット長よりも小さい乗算
器を使用して、開平演算を実行することができるのでハ
ードウェアの物量の多大な増大を招くことなく、乗算命
令と開平演算命令が同時実行可能なデータ処理装置を提
供することができる。また、性能についてもニュートン
・ラプソン法による開平演算装置と比較して遜色がな
い。しかも、乗算手段または(R−S×T)演算手段の
出力する積の上位を入力して部分平方根の最下位ビット
より1ビット小さい位で丸めを行なうための部分平方根
算出用加算手段を設けているので、演算速度が向上す
る。
と、平方根の近似逆数を格納するテーブル情報格納手段
と、部分平方根を求める乗算手段と、剰余から反復計算
で上位から揃った併合平方根と部分平方根の積を求める
(R−S×T)演算手段を設けることにより、乗数のビ
ット長として、固定小数点数の場合はオペランド長、浮
動小数点数の場合は仮数部のビット長よりも小さい乗算
器を使用して、開平演算を実行することができるのでハ
ードウェアの物量の多大な増大を招くことなく、乗算命
令と開平演算命令が同時実行可能なデータ処理装置を提
供することができる。また、性能についてもニュートン
・ラプソン法による開平演算装置と比較して遜色がな
い。しかも、乗算手段または(R−S×T)演算手段の
出力する積の上位を入力して部分平方根の最下位ビット
より1ビット小さい位で丸めを行なうための部分平方根
算出用加算手段を設けているので、演算速度が向上す
る。
【0099】また、結果の平方根を丸めるためにガード
ビット、ラウンドビット、スティキービットを使用する
場合にはLSB以下、1ビットずつ、ガードビット、ラ
ウンドビットとした後、残ったビットと剰余の各ビット
の論理和をとると、スティキービットとなるので、ニュ
ートン・ラプソン法などと比較して検算の必要がないこ
とも本発明の第2の効果である。
ビット、ラウンドビット、スティキービットを使用する
場合にはLSB以下、1ビットずつ、ガードビット、ラ
ウンドビットとした後、残ったビットと剰余の各ビット
の論理和をとると、スティキービットとなるので、ニュ
ートン・ラプソン法などと比較して検算の必要がないこ
とも本発明の第2の効果である。
【図1】本発明の第1の実施例に係る浮動小数点開平演
算装置のブロック図である。
算装置のブロック図である。
【図2】前図中の各構成手段の出力を具体的な数値例で
示した図である。
示した図である。
【図3】前図の数値例に続く各構成手段の出力を示した
図である。
図である。
【図4】本発明の第2の実施例に係る浮動小数点開平演
算装置のブロック図である。
算装置のブロック図である。
【図5】本発明の第3の実施例に係る浮動小数点ベクト
ル開平演算装置の一半部を示すブロック図である。
ル開平演算装置の一半部を示すブロック図である。
【図6】前図の浮動小数点ベクトル開平演算装置の他半
部を示すブロック図である。
部を示すブロック図である。
【図7】本発明の第4の実施例に係る固定小数点開平演
算装置のブロック図である。
算装置のブロック図である。
【図8】前図中の各構成手段の出力を具体的な数値例で
示した図である。
示した図である。
【図9】本発明の第5の実施例に係る固定小数点開平演
算装置のブロック図である。
算装置のブロック図である。
【図10】本発明の第6の実施例に係る固定小数点ベク
トル開平演算装置の一半部を示すブロック図である。
トル開平演算装置の一半部を示すブロック図である。
【図11】前図の固定小数点ベクトル開平演算装置の他
半部を示すブロック図である。
半部を示すブロック図である。
【図12】本発明の第1の実施例に係る浮動小数点開平
演算装置の乗算手段の内部ブロック図である。
演算装置の乗算手段の内部ブロック図である。
【図13】被開数Aと平方根の近似逆数Mの関係を示す
図である。
図である。
【図14】被開数Aに平方根の近似逆数Mを2回掛けた
ときのAとA×M×Mの関係を示す図である。
ときのAとA×M×Mの関係を示す図である。
【図15】平方根の近似逆数Mの精度の向上を説明する
ための図である。
ための図である。
【図16】本発明の第7の実施例に係る浮動小数点開平
演算装置のブロック図である。
演算装置のブロック図である。
【図17】前図中の各構成手段の出力を具体的な数値例
で示した図である。
で示した図である。
【図18】前図の数値例に続く各構成手段の出力を示し
た図である。
た図である。
7 正規化手段 8 テーブル情報格納手段 10 剰余保持手段 11 乗算手段 14 併合平方根保持手段 15 反転手段 16 被乗数生成手段 17 (R+S×T)演算手段
Claims (15)
- 【請求項1】 2を指数の基底とする浮動小数点数入力
オペランドに対して平方根を求めるための開平演算装置
であって、 前記入力オペランドの指数のバイアスを除くための指数
定数減算手段と、 前記指数定数減算手段の出力を1ビット右にシフトする
ための指数シフト手段と、 前記指数シフト手段の出力に指数のバイアスを付加する
ための指数定数加算手段と、 指数のバイアスを除いた値が偶数となるように奇数の場
合は前記入力オペランドの仮数を1ビット左にシフトす
るための正規化手段と、 前記正規化手段の出力の上位ビットをアドレスとして平
方根の近似逆数を索引するためのテーブル情報格納手段
と、 平方根を上位より順に一定のビット数ずつ反復して求め
る際の剰余を保持するための剰余保持手段と、 前記剰余保持手段から出力される剰余と前記テーブル情
報格納手段から出力される平方根の近似逆数とをそれぞ
れ被乗数、乗数として入力して乗算を行なうための乗算
手段と、 前記乗算手段の出力する積の上位を入力して部分平方根
の最下位ビットより1ビット小さい位で丸めを行なうた
めの部分平方根算出用加算手段と、 各反復での部分平方根を併合した併合平方根を保持する
ための併合平方根保持手段と、 前記部分平方根算出用加算手段の出力する部分平方根を
ビット毎に反転するための反転手段と、 前記併合平方根保持手段の出力を左に1ビットシフトし
て、前記部分平方根算出用加算手段の出力する部分平方
根とで被乗数を生成するための被乗数生成手段と、 前記剰余保持手段の出力する剰余を部分平方根のビット
長から隣接する部分平方根間で重複するビット長を引い
た数だけ左にシフトするための剰余シフト手段と、 前記剰余シフト手段の出力するシフト後の剰余(R)
と、前記被乗数生成手段の出力する被乗数(S)と、前
記反転手段の出力する乗数(T)とを各々入力して、
(R+S×T)の演算を行なうための(R+S×T)演
算手段と、 前記剰余保持手段の入力として前記正規化手段の出力と
前記(R+S×T)演算手段の出力とのうちのいずれか
を選択するための保持データ切換用マルチプレクサと、 前記部分平方根算出用加算手段の出力する部分平方根の
最下位ビットから1を引くための定数減算手段と、 前記部分平方根算出用加算手段の出力する部分平方根と
前記定数減算手段の出力とのうちのいずれかを選択して
補正部分平方根として出力するための補正用マルチプレ
クサと、 前記併合平方根保持手段から出力される併合平方根に対
して、前記補正用マルチプレクサの出力する補正部分平
方根を併合できるように桁合わせを行なうための桁合わ
せ手段と、 前記併合平方根保持手段から出力される併合平方根と前
記桁合わせ手段の出力とを加算して更新された併合平方
根を出力するための併合平方根算出用加算手段とを有す
ることを特徴とする開平演算装置。 - 【請求項2】 2を指数の基底とする浮動小数点数入力
オペランドに対して平方根を求めるための開平演算装置
であって、 前記入力オペランドの指数のバイアスを除くための指数
定数減算手段と、 前記指数定数減算手段の出力を1ビット右にシフトする
ための指数シフト手段と、 前記指数シフト手段の出力に指数のバイアスを付加する
ための指数定数加算手段と、 指数のバイアスを除いた値が偶数となるように奇数の場
合は前記入力オペランドの仮数を1ビット左にシフトす
るための正規化手段と、 前記正規化手段の出力の上位ビットをアドレスとして平
方根の近似逆数を索引するためのテーブル情報格納手段
と、 平方根を上位より順に一定のビット数ずつ反復して求め
る際の剰余を保持するための剰余保持手段、各反復での
部分平方根を保持するための部分平方根保持手段、及
び、各反復での部分平方根を併合した併合平方根を保持
するための併合平方根保持手段と、 前記剰余保持手段の出力する剰余を部分平方根のビット
長から隣接する部分平方根間で重複するビット長を引い
た数だけ左にシフトするための剰余シフト手段と、 前記部分平方根保持手段の出力する部分平方根をビット
毎に反転するための反転手段と、 前記併合平方根保持手段の出力を左に1ビットシフトし
て、前記部分平方根保持手段の出力する部分平方根とで
被乗数を生成するための被乗数生成手段と、 定数ゼロと前記剰余シフト手段から出力されるシフト後
の剰余とのうちのいずれかを選択するための剰余用マル
チプレクサと、 前記剰余保持手段から出力される剰余と前記被乗数生成
手段の出力とのうちのいずれかを選択するための被乗数
用マルチプレクサと、 前記テーブル情報格納手段から出力される平方根の近似
逆数と前記反転手段の出力とのうちのいずれかを選択す
るための乗数用マルチプレクサと、 前記剰余用マルチプレクサの出力(R)と、前記被乗数
用マルチプレクサの出力(S)と、前記乗数用マルチプ
レクサの出力(T)とを各々入力して、(R+S×T)
の演算を行なうための(R+S×T)演算手段と、 前記剰余保持手段の入力として前記正規化手段の出力と
前記(R+S×T)演算手段の出力とのうちのいずれか
を選択するための保持データ切換用マルチプレクサと、 前記(R+S×T)演算手段の出力する積の上位を入力
して部分平方根の最下位ビットより1ビット小さい位で
丸めを行ない、該丸めの結果を前記部分平方根保持手段
に与えるための部分平方根算出用加算手段と、 前記部分平方根保持手段の出力する部分平方根の最下位
ビットから1を引くための定数減算手段と、 前記部分平方根保持手段の出力する部分平方根と前記定
数減算手段の出力とのうちのいずれかを選択して補正部
分平方根として出力するための補正用マルチプレクサ
と、 前記併合平方根保持手段から出力される併合平方根に対
して、前記補正用マルチプレクサの出力する補正部分平
方根を併合できるように桁合わせを行なうための桁合わ
せ手段と、 前記併合平方根保持手段から出力される併合平方根と前
記桁合わせ手段の出力とを加算して更新された併合平方
根を出力するための併合平方根算出用加算手段とを有す
ることを特徴とする開平演算装置。 - 【請求項3】 2を指数の基底とする浮動小数点数から
なるベクトルの要素順の入力オペランドに対して平方根
ベクトルを要素順に求めるための開平演算装置であっ
て、 前記入力オペランドに対して前処理を施すための前処理
部と、 部分平方根を併合した併合平方根のビット長が求めるべ
き結果の平方根のビット長以上になるまで部分平方根を
求める処理を繰り返す際の、その繰り返し回数に等しい
個数の1段目から最終段までの主要回路を有する主要部
と、 該主要部の出力に対して後処理を施すための後処理部と
を備え、 前記前処理部は、 前記入力オペランドを保持するための入力レジスタと、 前記入力レジスタの出力のうちの指数部から指数のバイ
アスを除くための指数定数減算手段と、 前記指数定数減算手段の出力を保持するための指数保持
手段と、 指数のバイアスを除いた値が偶数となるように奇数の場
合は前記入力レジスタの出力のうちの仮数部を1ビット
左にシフトするための正規化手段と、 前記正規化手段の出力を保持するための正規化オペラン
ドレジスタと、 前記指数保持手段の出力を1ビット右にシフトするため
の指数シフト手段と、 前記指数シフト手段の出力に指数のバイアスを付加する
ための指数定数加算手段と、 前記正規化オペランドレジスタの出力の上位ビットをア
ドレスとして平方根の近似逆数を索引するためのテーブ
ル情報格納手段とを有し、 前記主要部中の1段目の主要回路は、 パイプライン動作の同期をとるために前記前処理部の指
数定数加算手段、正規化オペランドレジスタ及びテーブ
ル情報格納手段に各々接続された指数保持手段、剰余保
持手段及びテーブル出力情報保持手段と、 前記剰余保持手段の出力を被乗数、前記テーブル出力情
報保持手段の出力を乗数として入力して乗算を行なうた
めの乗算手段と、 前記乗算手段の出力する積の上位を入力して部分平方根
の最下位ビットより1ビット小さい位で丸めを行なうた
めの部分平方根算出用加算手段と、 前記部分平方根算出用加算手段の出力する部分平方根を
保持するための部分平方根保持手段と、 前記剰余保持手段の出力する剰余を部分平方根のビット
長から隣接する部分平方根間で重複するビット長を引い
た数だけ左にシフトするための剰余シフト手段と、 前記部分平方根保持手段の出力する部分平方根をビット
毎に反転するための反転手段と、 前記部分平方根保持手段の出力する部分平方根から被乗
数を生成するための被乗数生成手段と、 前記剰余シフト手段の出力するシフト後の剰余(R)
と、前記被乗数生成手段の出力する被乗数(S)と、前
記反転手段の出力する乗数(T)とを各々入力して、
(R+S×T)の演算を行なうための(R+S×T)演
算手段と、 前記部分平方根保持手段の出力する部分平方根の最下位
ビットから1を引くための定数減算手段と、 前記部分平方根保持手段の出力する部分平方根と前記定
数減算手段の出力とのうちのいずれかを選択して補正部
分平方根として出力するための補正用マルチプレクサと
を有し、 前記主要部中の2段目以降の主要回路は、それぞれ、 パイプライン動作の同期をとるための指数保持手段、剰
余保持手段、併合平方根保持手段及びテーブル出力情報
保持手段と、 前記剰余保持手段の出力を被乗数、前記テーブル出力情
報保持手段の出力を乗数として入力して乗算を行なうた
めの乗算手段と、 前記乗算手段の出力する積の上位を入力して部分平方根
の最下位ビットより1ビット小さい位で丸めを行なうた
めの部分平方根算出用加算手段と、 前記部分平方根算出用加算手段の出力する部分平方根を
保持するための部分平方根保持手段と、 前記剰余保持手段の出力する剰余を部分平方根のビット
長から隣接する部分平方根間で重複するビット長を引い
た数だけ左にシフトするための剰余シフト手段と、 前記部分平方根保持手段の出力する部分平方根をビット
毎に反転するための反転手段と、 前記併合平方根保持手段の出力を左に1ビットシフトし
て、前記部分平方根保持手段の出力する部分平方根とで
被乗数を生成するための被乗数生成手段と、 前記剰余シフト手段の出力するシフト後の剰余(R)
と、前記被乗数生成手段の出力する被乗数(S)と、前
記反転手段の出力する乗数(T)とを各々入力して、
(R+S×T)の演算を行なうための(R+S×T)演
算手段と、 前記部分平方根保持手段の出力する部分平方根の最下位
ビットから1を引くための定数減算手段と、 前記部分平方根保持手段の出力する部分平方根と前記定
数減算手段の出力とのうちのいずれかを選択して補正部
分平方根として出力するための補正用マルチプレクサ
と、 前記併合平方根保持手段から出力される併合平方根に対
して、前記補正用マルチプレクサの出力する補正部分平
方根を併合できるように桁合わせを行なうための桁合わ
せ手段と、 前記併合平方根保持手段から出力される併合平方根と前
記桁合わせ手段の出力とを加算して更新された併合平方
根を出力するための併合平方根算出用加算手段とを有
し、 該2段目以降の主要回路では、前記指数保持手段は前段
の指数保持手段に、前記剰余保持手段は前段の(R+S
×T)演算手段に、前記併合平方根保持手段は2段目で
は1段目の補正用マルチプレクサに、また3段目以降で
は前段の併合平方根算出用加算手段に、前記テーブル出
力情報保持手段は前段のテーブル出力情報保持手段に各
々接続され、 前記後処理部は、 パイプライン動作の同期をとるために前記主要部中の最
終段の主要回路の指数保持手段及び併合平方根算出用加
算手段に各々接続された指数保持手段及び併合平方根保
持手段を有することを特徴とする開平演算装置。 - 【請求項4】 固定小数点数入力オペランドに対して平
方根を求めるための開平演算装置であって、 前記入力オペランドを2ビット単位にビット正規化する
際のシフト数を求めるためのシフト数検出手段と、 前記シフト数検出手段の出力するシフト数により前記入
力オペランドを左にシフトするための正規化手段と、 前記正規化手段の出力の上位ビットをアドレスとして平
方根の近似逆数を索引するためのテーブル情報格納手段
と、 平方根を上位より順に一定のビット数ずつ反復して求め
る際の剰余を保持するための剰余保持手段と、 前記剰余保持手段から出力される剰余と前記テーブル情
報格納手段から出力される平方根の近似逆数とをそれぞ
れ被乗数、乗数として入力して乗算を行なうための乗算
手段と、 前記乗算手段の出力する積の上位を入力して部分平方根
の最下位ビットより1ビット小さい位で丸めを行なうた
めの部分平方根算出用加算手段と、 各反復での部分平方根を併合した併合平方根を保持する
ための併合平方根保持手段と、 前記部分平方根算出用加算手段の出力する部分平方根を
ビット毎に反転するための反転手段と、 前記併合平方根保持手段の出力を左に1ビットシフトし
て、前記部分平方根算出用加算手段の出力する部分平方
根とで被乗数を生成するための被乗数生成手段と、 前記剰余保持手段の出力する剰余(R)と、前記被乗数
生成手段の出力する被乗数(S)と、前記反転手段の出
力する乗数(T)とを各々入力して、(R+S×T)の
演算を行なうための(R+S×T)演算手段と、 前記(R+S×T)演算手段の出力を部分平方根のビッ
ト長から隣接する部分平方根間で重複するビット長を引
いた数だけ左にシフトするためのシフト手段と、 前記剰余保持手段の入力として前記正規化手段の出力と
前記シフト手段の出力とのうちのいずれかを選択するた
めの保持データ切換用マルチプレクサと、 前記部分平方根算出用加算手段の出力する部分平方根の
最下位ビットから1を引くための定数減算手段と、 前記部分平方根算出用加算手段の出力する部分平方根と
前記定数減算手段の出力とのうちのいずれかを選択して
補正部分平方根として出力するための補正用マルチプレ
クサと、 前記併合平方根保持手段から出力される併合平方根に対
して、前記補正用マルチプレクサの出力する補正部分平
方根を併合できるように桁合わせを行なうための桁合わ
せ手段と、 前記併合平方根保持手段から出力される併合平方根と前
記桁合わせ手段の出力とを加算して更新された併合平方
根を出力するための併合平方根算出用加算手段と、 最終結果の平方根を求めるために前記併合平方根算出用
加算手段の出力する併合平方根に施すべき右シフトのシ
フト数を前記シフト数検出手段の出力より算出するため
の桁調整シフト数算出手段と、 前記併合平方根算出用加算手段の出力する併合平方根を
前記桁調整シフト数算出手段の出力するシフト数により
右シフトを行ない、最終結果の平方根を出力するための
桁調整手段とを有することを特徴とする開平演算装置。 - 【請求項5】 請求項4記載の開平演算装置において、 前記併合平方根保持手段の出力を前記桁調整手段の入力
としたことを特徴とする開平演算装置。 - 【請求項6】 固定小数点数入力オペランドに対して平
方根を求めるための開平演算装置であって、 前記入力オペランドを2ビット単位にビット正規化する
際のシフト数を求めるための正規化シフト数検出手段
と、 前記正規化シフト数検出手段の出力するシフト数により
前記入力オペランドを左にシフトするための正規化手段
と、 前記正規化手段の出力の上位ビットをアドレスとして平
方根の近似逆数を索引するためのテーブル情報格納手段
と、 平方根を上位より順に一定のビット数ずつ反復して求め
る際の剰余を保持するための剰余保持手段、各反復での
部分平方根を保持するための部分平方根保持手段、及
び、各反復での部分平方根を併合した併合平方根を保持
するための併合平方根保持手段と、 前記部分平方根保持手段の出力する部分平方根をビット
毎に反転するための反転手段と、 前記併合平方根保持手段の出力を左に1ビットシフトし
て、前記部分平方根保持手段の出力する部分平方根とで
被乗数を生成するための被乗数生成手段と、 定数ゼロと前記剰余保持手段から出力される剰余とのう
ちのいずれかを選択するための剰余用マルチプレクサ
と、 前記剰余保持手段から出力される剰余と前記被乗数生成
手段の出力とのうちのいずれかを選択するための被乗数
用マルチプレクサと、 前記テーブル情報格納手段から出力される平方根の近似
逆数と前記反転手段の出力とのうちのいずれかを選択す
るための乗数用マルチプレクサと、 前記剰余用マルチプレクサの出力(R)と、前記被乗数
用マルチプレクサの出力(S)と、前記乗数用マルチプ
レクサの出力(T)とを各々入力して、(R+S×T)
の演算を行なうための(R+S×T)演算手段と、 前記(R+S×T)演算手段の出力を部分平方根のビッ
ト長から隣接する部分平方根間で重複するビット長を引
いた数だけ左にシフトするためのシフト手段と、 前記剰余保持手段の入力として前記正規化手段の出力と
前記シフト手段の出力とのうちのいずれかを選択するた
めの保持データ切換用マルチプレクサと、 前記(R+S×T)演算手段の出力する積の上位を入力
して部分平方根の最下位ビットより1ビット小さい位で
丸めを行ない、該丸めの結果を前記部分平方根保持手段
に与えるための部分平方根算出用加算手段と、 前記部分平方根保持手段の出力する部分平方根の最下位
ビットから1を引くための定数減算手段と、 前記部分平方根保持手段の出力する部分平方根と前記定
数減算手段の出力とのうちのいずれかを選択して補正部
分平方根として出力するための補正用マルチプレクサ
と、 前記併合平方根保持手段から出力される併合平方根に対
して、前記補正用マルチプレクサの出力する補正部分平
方根を併合できるように桁合わせを行なうための桁合わ
せ手段と、 前記併合平方根保持手段から出力される併合平方根と前
記桁合わせ手段の出力とを加算して更新された併合平方
根を出力するための併合平方根算出用加算手段と、 最終結果の平方根を求めるために前記併合平方根算出用
加算手段の出力する併合平方根に施すべき右シフトのシ
フト数を前記正規化シフト数検出手段の出力より算出す
るための桁調整シフト数算出手段と、 前記併合平方根算出用加算手段の出力する併合平方根を
前記桁調整シフト数算出手段の出力するシフト数により
右シフトを行ない、最終結果の平方根を出力するための
桁調整手段とを有することを特徴とする開平演算装置。 - 【請求項7】 請求項6記載の開平演算装置において、 前記併合平方根保持手段の出力を前記桁調整手段の入力
としたことを特徴とする開平演算装置。 - 【請求項8】 固定小数点数からなるベクトルの要素順
の入力オペランドに対して平方根ベクトルを要素順に求
めるための開平演算装置であって、 前記入力オペランドに対して前処理を施すための前処理
部と、 部分平方根を併合した併合平方根のビット長が求めるべ
き結果の平方根のビット長以上になるまで部分平方根を
求める処理を繰り返す際の、その繰り返し回数に等しい
個数の1段目から最終段までの主要回路を有する主要部
と、 該主要部の出力に対して後処理を施すための後処理部と
を備え、 前記前処理部は、 前記入力オペランドを保持するための入力レジスタと、 前記入力レジスタの出力を2ビット単位にビット正規化
する際のシフト数を求めるための正規化シフト数検出手
段と、 前記正規化シフト数検出手段の出力するシフト数により
前記入力レジスタの出力を左にシフトするための正規化
手段と、 前記正規化手段の出力を保持するための正規化オペラン
ドレジスタと、 前記正規化シフト数検出手段の出力を保持するための正
規化シフト数保持手段と、 前記正規化オペランドレジスタの出力の上位ビットをア
ドレスとして平方根の近似逆数を索引するためのテーブ
ル情報格納手段とを有し、 前記主要部中の1段目の主要回路は、 パイプライン動作の同期をとるために前記前処理部の正
規化オペランドレジスタ、テーブル情報格納手段及び正
規化シフト数保持手段に各々接続された剰余保持手段、
テーブル出力情報保持手段及び正規化シフト数保持手段
と、 前記剰余保持手段の出力を被乗数、前記テーブル出力情
報保持手段の出力を乗数として入力して乗算を行なうた
めの乗算手段と、 前記乗算手段の出力する積の上位を入力して部分平方根
の最下位ビットより1ビット小さい位で丸めを行なうた
めの部分平方根算出用加算手段と、 前記部分平方根算出用加算手段の出力する部分平方根を
保持するための部分平方根保持手段と、 前記部分平方根保持手段の出力する部分平方根をビット
毎に反転するための反転手段と、 前記部分平方根保持手段の出力する部分平方根から被乗
数を生成するための被乗数生成手段と、 前記剰余保持手段の出力する剰余(R)と、前記被乗数
生成手段の出力する被乗数(S)と、前記反転手段の出
力する乗数(T)とを各々入力して、(R+S×T)の
演算を行なうための(R+S×T)演算手段と、 前記(R+S×T)演算手段の出力を部分平方根のビッ
ト長から隣接する部分平方根間で重複するビット長を引
いた数だけ左にシフトするためのシフト手段と、 前記部分平方根保持手段の出力する部分平方根の最下位
ビットから1を引くための定数減算手段と、 前記部分平方根保持手段の出力する部分平方根と前記定
数減算手段の出力とのうちのいずれかを選択して補正部
分平方根として出力するための補正用マルチプレクサと
を有し、 前記主要部中の2段目以降の主要回路は、それぞれ、 パイプライン動作の同期をとるための剰余保持手段、併
合平方根保持手段、テーブル出力情報保持手段、正規化
シフト数保持手段と、 前記剰余保持手段の出力を被乗数、前記テーブル出力情
報保持手段の出力を乗数として入力して乗算を行なうた
めの乗算手段と、 前記乗算手段の出力する積の上位を入力して部分平方根
の最下位ビットより1ビット小さい位で丸めを行なうた
めの部分平方根算出用加算手段と、 前記部分平方根算出用加算手段の出力する部分平方根を
保持するための部分平方根保持手段と、 前記部分平方根保持手段の出力する部分平方根をビット
毎に反転するための反転手段と、 前記併合平方根保持手段の出力を左に1ビットシフトし
て、前記部分平方根保持手段の出力する部分平方根とで
被乗数を生成するための被乗数生成手段と、 前記剰余保持手段の出力する剰余(R)と、前記被乗数
生成手段の出力する被乗数(S)と、前記反転手段の出
力する乗数(T)とを各々入力して、(R+S×T)の
演算を行なうための(R+S×T)演算手段と、 前記(R+S×T)演算手段の出力を部分平方根のビッ
ト長から隣接する部分平方根間で重複するビット長を引
いた数だけ左にシフトするためのシフト手段と、 前記部分平方根保持手段の出力する部分平方根の最下位
ビットから1を引くための定数減算手段と、 前記部分平方根保持手段の出力する部分平方根と前記定
数減算手段の出力とのうちのいずれかを選択して補正部
分平方根として出力するための補正用マルチプレクサ
と、 前記併合平方根保持手段から出力される併合平方根に対
して、前記補正用マルチプレクサの出力する補正部分平
方根を併合できるように桁合わせを行なうための桁合わ
せ手段と、 前記併合平方根保持手段から出力される併合平方根と前
記桁合わせ手段の出力とを加算して更新された併合平方
根を出力するための併合平方根算出用加算手段とを有
し、 該2段目以降の主要回路では、前記剰余保持手段は前段
のシフト手段に、前記併合平方根保持手段は2段目では
1段目の補正用マルチプレクサに、また3段目以降では
前段の併合平方根算出用加算手段に、前記テーブル出力
情報保持手段は前段のテーブル出力情報保持手段に、前
記正規化シフト数保持手段は前段の正規化シフト数保持
手段に各々接続され、 前記後処理部は、 パイプライン動作の同期をとるために前記主要部中の最
終段の主要回路の併合平方根算出用加算手段及び正規化
シフト数保持手段に各々接続された併合平方根保持手段
及び正規化シフト数保持手段と、 最終結果の平方根を求めるために前記併合平方根算出用
加算手段の出力する併合平方根に施すべき右シフトのシ
フト数を前記正規化シフト数検出手段の出力より算出す
るための桁調整シフト数算出手段と、 前記併合平方根算出用加算手段の出力する併合平方根を
前記桁調整シフト数算出手段の出力するシフト数により
右シフトを行ない、最終結果の平方根を出力するための
桁調整手段とを有することを特徴とする開平演算装置。 - 【請求項9】 2を指数の基底とする浮動小数点数入力
オペランドに対して平方根を求めるための開平演算装置
であって、 前記入力オペランドの指数のバイアスを除くための指数
定数減算手段と、 前記指数定数減算手段の出力を1ビット右にシフトする
ための指数シフト手段と、 前記指数シフト手段の出力に指数のバイアスを付加する
ための指数定数加算手段と、 指数のバイアスを除いた値が偶数となるように奇数の場
合は前記入力オペランドの仮数を1ビット左にシフトす
るための正規化手段と、 前記正規化手段の出力の上位ビットをアドレスとして平
方根の近似逆数を索引するためのテーブル情報格納手段
と、 平方根を上位より順に一定のビット数ずつ反復して求め
る際の剰余を保持するための剰余保持手段と、 前記剰余保持手段から出力される剰余と前記テーブル情
報格納手段から出力される平方根の近似逆数とをそれぞ
れ被乗数、乗数として入力して乗算を行なうための乗算
手段と、 前記乗算手段の出力する積の上位を入力して部分平方根
の最下位ビットより1ビット小さい位で丸めを行なうた
めの部分平方根算出用加算手段と、 各反復での部分平方根を併合した併合平方根を保持する
ための併合平方根保持手段と、 前記部分平方根算出用加算手段の出力する部分平方根を
ビット毎に反転するための反転手段と、 前記併合平方根保持手段の出力を左に1ビットシフトし
て、前記部分平方根算出用加算手段の出力する部分平方
根とで被乗数を生成するための被乗数生成手段と、 前記剰余保持手段の出力する剰余(R)と、前記被乗数
生成手段の出力する被乗数(S)と、前記反転手段の出
力する乗数(T)とを各々入力して、(R+S×T)の
演算を行なうための(R+S×T)演算手段と、 前記(R+S×T)演算手段の出力を部分平方根のビッ
ト長から隣接する部分平方根間で重複するビット長を引
いた数だけ左にシフトするための演算結果シフト手段
と、 前記剰余保持手段の入力として前記正規化手段の出力と
前記演算結果シフト手段の出力とのうちのいずれかを選
択するための保持データ切換用マルチプレクサと、 前記部分平方根算出用加算手段の出力する部分平方根の
最下位ビットから1を引くための定数減算手段と、 前記部分平方根算出用加算手段の出力する部分平方根と
前記定数減算手段の出力とのうちのいずれかを選択して
補正部分平方根として出力するための補正用マルチプレ
クサと、 前記併合平方根保持手段から出力される併合平方根に対
して、前記補正用マルチプレクサの出力する補正部分平
方根を併合できるように桁合わせを行なうための桁合わ
せ手段と、 前記併合平方根保持手段から出力される併合平方根と前
記桁合わせ手段の出力とを加算して更新された併合平方
根を出力するための併合平方根算出用加算手段とを有す
ることを特徴とする開平演算装置。 - 【請求項10】 2を指数の基底とする浮動小数点数入
力オペランドに対して平方根を求めるための開平演算装
置であって、 前記入力オペランドの指数のバイアスを除くための指数
定数減算手段と、 前記指数定数減算手段の出力を1ビット右にシフトする
ための指数シフト手段と、 前記指数シフト手段の出力に指数のバイアスを付加する
ための指数定数加算手段と、 指数のバイアスを除いた値が偶数となるように奇数の場
合は前記入力オペランドの仮数を1ビット左にシフトす
るための正規化手段と、 前記正規化手段の出力の上位ビットをアドレスとして平
方根の近似逆数を索引するためのテーブル情報格納手段
と、 平方根を上位より順に一定のビット数ずつ反復して求め
る際の剰余を保持するための剰余保持手段、各反復での
部分平方根を保持するための部分平方根保持手段、及
び、各反復での部分平方根を併合した併合平方根を保持
するための併合平方根保持手段と、 前記部分平方根保持手段の出力する部分平方根をビット
毎に反転するための反転手段と、 前記併合平方根保持手段の出力を左に1ビットシフトし
て、前記部分平方根保持手段の出力する部分平方根とで
被乗数を生成するための被乗数生成手段と、 定数ゼロと前記剰余保持手段から出力される剰余とのう
ちのいずれかを選択するための剰余用マルチプレクサ
と、 前記剰余保持手段から出力される剰余と前記被乗数生成
手段の出力とのうちのいずれかを選択するための被乗数
用マルチプレクサと、 前記テーブル情報格納手段から出力される平方根の近似
逆数と前記反転手段の出力とのうちのいずれかを選択す
るための乗数用マルチプレクサと、 前記剰余用マルチプレクサの出力(R)と、前記被乗数
用マルチプレクサの出力(S)と、前記乗数用マルチプ
レクサの出力(T)とを各々入力して、(R+S×T)
の演算を行なうための(R+S×T)演算手段と、 前記(R+S×T)演算手段の出力を部分平方根のビッ
ト長から隣接する部分平方根間で重複するビット長を引
いた数だけ左にシフトするための演算結果シフト手段
と、 前記剰余保持手段の入力として前記正規化手段の出力と
前記演算結果シフト手段の出力とのうちのいずれかを選
択するための保持データ切換用マルチプレクサと、 前記(R+S×T)演算手段の出力する積の上位を入力
して部分平方根の最下位ビットより1ビット小さい位で
丸めを行ない、該丸めの結果を前記部分平方根保持手段
に与えるための部分平方根算出用加算手段と、 前記部分平方根保持手段の出力する部分平方根の最下位
ビットから1を引くための定数減算手段と、 前記部分平方根保持手段の出力する部分平方根と前記定
数減算手段の出力とのうちのいずれかを選択して補正部
分平方根として出力するための補正用マルチプレクサ
と、 前記併合平方根保持手段から出力される併合平方根に対
して、前記補正用マルチプレクサの出力する補正部分平
方根を併合できるように桁合わせを行なうための桁合わ
せ手段と、 前記併合平方根保持手段から出力される併合平方根と前
記桁合わせ手段の出力とを加算して更新された併合平方
根を出力するための併合平方根算出用加算手段とを有す
ることを特徴とする開平演算装置。 - 【請求項11】 2を指数の基底とする浮動小数点数か
らなるベクトルの要素順の入力オペランドに対して平方
根ベクトルを要素順に求めるための開平演算装置であっ
て、 前記入力オペランドに対して前処理を施すための前処理
部と、 部分平方根を併合した併合平方根のビット長が求めるべ
き結果の平方根のビット長以上になるまで部分平方根を
求める処理を繰り返す際の、その繰り返し回数に等しい
個数の1段目から最終段までの主要回路を有する主要部
と、 該主要部の出力に対して後処理を施すための後処理部と
を備え、 前記前処理部は、 前記入力オペランドを保持するための入力レジスタと、 前記入力レジスタの出力のうちの指数部から指数のバイ
アスを除くための指数定数減算手段と、 前記指数定数減算手段の出力を保持するための指数保持
手段と、 指数のバイアスを除いた値が偶数となるように奇数の場
合は前記入力レジスタの出力のうちの仮数部を1ビット
左にシフトするための正規化手段と、 前記正規化手段の出力を保持するための正規化オペラン
ドレジスタと、 前記指数保持手段の出力を1ビット右にシフトするため
の指数シフト手段と、 前記指数シフト手段の出力に指数のバイアスを付加する
ための指数定数加算手段と、 前記正規化オペランドレジスタの出力の上位ビットをア
ドレスとして平方根の近似逆数を索引するためのテーブ
ル情報格納手段とを有し、 前記主要部中の1段目の主要回路は、 パイプライン動作の同期をとるために前記前処理部の指
数定数加算手段、正規化オペランドレジスタ及びテーブ
ル情報格納手段に各々接続された指数保持手段、剰余保
持手段及びテーブル出力情報保持手段と、 前記剰余保持手段の出力を被乗数、前記テーブル出力情
報保持手段の出力を乗数として入力して乗算を行なうた
めの乗算手段と、 前記乗算手段の出力する積の上位を入力して部分平方根
の最下位ビットより1ビット小さい位で丸めを行なうた
めの部分平方根算出用加算手段と、 前記部分平方根算出用加算手段の出力する部分平方根を
保持するための部分平方根保持手段と、 前記部分平方根保持手段の出力する部分平方根をビット
毎に反転するための反転手段と、 前記部分平方根保持手段の出力する部分平方根から被乗
数を生成するための被乗数生成手段と、 前記剰余保持手段の出力する剰余(R)と、前記被乗数
生成手段の出力する被乗数(S)と、前記反転手段の出
力する乗数(T)とを各々入力して、(R+S×T)の
演算を行なうための(R+S×T)演算手段と、 前記(R+S×T)演算手段の出力を部分平方根のビッ
ト長から隣接する部分平方根間で重複するビット長を引
いた数だけ左にシフトするための演算結果シフト手段
と、 前記部分平方根保持手段の出力する部分平方根の最下位
ビットから1を引くための定数減算手段と、 前記部分平方根保持手段の出力する部分平方根と前記定
数減算手段の出力とのうちのいずれかを選択して補正部
分平方根として出力するための補正用マルチプレクサと
を有し、 前記主要部中の2段目以降の主要回路は、それぞれ、 パイプライン動作の同期をとるための指数保持手段、剰
余保持手段、併合平方根保持手段及びテーブル出力情報
保持手段と、 前記剰余保持手段の出力を被乗数、前記テーブル出力情
報保持手段の出力を乗数として入力して乗算を行なうた
めの乗算手段と、 前記乗算手段の出力する積の上位を入力して部分平方根
の最下位ビットより1ビット小さい位で丸めを行なうた
めの部分平方根算出用加算手段と、 前記部分平方根算出用加算手段の出力する部分平方根を
保持するための部分平方根保持手段と、 前記部分平方根保持手段の出力する部分平方根をビット
毎に反転するための反転手段と、 前記併合平方根保持手段の出力を左に1ビットシフトし
て、前記部分平方根保持手段の出力する部分平方根とで
被乗数を生成するための被乗数生成手段と、 前記剰余保持手段の出力する剰余(R)と、前記被乗数
生成手段の出力する被乗数(S)と、前記反転手段の出
力する乗数(T)とを各々入力して、(R+S×T)の
演算を行なうための(R+S×T)演算手段と、 前記(R+S×T)演算手段の出力を部分平方根のビッ
ト長から隣接する部分平方根間で重複するビット長を引
いた数だけ左にシフトするための演算結果シフト手段
と、 前記部分平方根保持手段の出力する部分平方根の最下位
ビットから1を引くための定数減算手段と、 前記部分平方根保持手段の出力する部分平方根と前記定
数減算手段の出力とのうちのいずれかを選択して補正部
分平方根として出力するための補正用マルチプレクサ
と、 前記併合平方根保持手段から出力される併合平方根に対
して、前記補正用マルチプレクサの出力する補正部分平
方根を併合できるように桁合わせを行なうための桁合わ
せ手段と、 前記併合平方根保持手段から出力される併合平方根と前
記桁合わせ手段の出力とを加算して更新された併合平方
根を出力するための併合平方根算出用加算手段とを有
し、 該2段目以降の主要回路では、前記指数保持手段は前段
の指数保持手段に、前記剰余保持手段は前段の演算結果
シフト手段に、前記併合平方根保持手段は2段目では1
段目の補正用マルチプレクサに、また3段目以降では前
段の併合平方根算出用加算手段に、前記テーブル出力情
報保持手段は前段のテーブル出力情報保持手段に各々接
続され、 前記後処理部は、 パイプライン動作の同期をとるために前記主要部中の最
終段の主要回路の指数保持手段及び併合平方根算出用加
算手段に各々接続された指数保持手段及び併合平方根保
持手段を有することを特徴とする開平演算装置。 - 【請求項12】 2ビット単位に正規化された入力オペ
ランドに対して平方根を求めるための開平演算装置であ
って、 前記入力オペランドの上位ビットをアドレスとして平方
根の近似逆数を索引するためのテーブル情報格納手段
と、 平方根を上位より順に一定のビット数ずつ反復して求め
る際の剰余を保持するための剰余保持手段と、 前記剰余保持手段から出力される剰余と前記テーブル情
報格納手段から出力される平方根の近似逆数とをそれぞ
れ被乗数、乗数として入力して乗算を行なうための乗算
手段と、 前記乗算手段の出力する積の上位を入力して部分平方根
の最下位ビットより1ビット小さい位で丸めを行なうた
めの部分平方根算出用加算手段と、 各反復での部分平方根を併合した併合平方根を保持する
ための併合平方根保持手段と、 前記部分平方根算出用加算手段の出力する部分平方根を
ビット毎に反転するための反転手段と、 前記併合平方根保持手段の出力を左に1ビットシフトし
て、前記部分平方根算出用加算手段の出力する部分平方
根とで被乗数を生成するための被乗数生成手段と、 前記剰余保持手段の出力する剰余を部分平方根のビット
長から隣接する部分平方根間で重複するビット長を引い
た数だけ左にシフトするためのシフト手段と、 前記シフト手段の出力するシフト後の剰余(R)と、前
記被乗数生成手段の出力する被乗数(S)と、前記反転
手段の出力する乗数(T)とを各々入力して、(R+S
×T)の演算を行なうための(R+S×T)演算手段
と、 前記剰余保持手段の入力として前記入力オペランドと前
記(R+S×T)演算手段の出力とのうちのいずれかを
選択するための保持データ切換用マルチプレクサと、 前記部分平方根算出用加算手段の出力する部分平方根の
最下位ビットから1を引くための定数減算手段と、 前記部分平方根算出用加算手段の出力する部分平方根と
前記定数減算手段の出力とのうちのいずれかを選択して
補正部分平方根として出力するための補正用マルチプレ
クサと、 前記併合平方根保持手段から出力される併合平方根に対
して、前記補正用マルチプレクサの出力する補正部分平
方根を併合できるように桁合わせを行なうための桁合わ
せ手段と、 前記併合平方根保持手段から出力される併合平方根と前
記桁合わせ手段の出力とを加算して更新された併合平方
根を出力するための併合平方根算出用加算手段とを有す
ることを特徴とする開平演算装置。 - 【請求項13】 2ビット単位に正規化された入力オペ
ランドに対して平方根を求めるための開平演算装置であ
って、 前記入力オペランドの上位ビットをアドレスとして平方
根の近似逆数を索引するためのテーブル情報格納手段
と、 平方根を上位より順に一定のビット数ずつ反復して求め
る際の剰余を保持するための剰余保持手段、各反復での
部分平方根を保持するための部分平方根保持手段、及
び、各反復での部分平方根を併合した併合平方根を保持
するための併合平方根保持手段と、 前記剰余保持手段の出力する剰余を部分平方根のビット
長から隣接する部分平方根間で重複するビット長を引い
た数だけ左にシフトするためのシフト手段と、 前記部分平方根保持手段の出力する部分平方根をビット
毎に反転するための反転手段と、 前記併合平方根保持手段の出力を左に1ビットシフトし
て、前記部分平方根保持手段の出力する部分平方根とで
被乗数を生成するための被乗数生成手段と、 定数ゼロと前記シフト手段から出力されるシフト後の剰
余とのうちのいずれかを選択するための剰余用マルチプ
レクサと、 前記剰余保持手段から出力される剰余と前記被乗数生成
手段の出力とのうちのいずれかを選択するための被乗数
用マルチプレクサと、 前記テーブル情報格納手段から出力される平方根の近似
逆数と前記反転手段の出力とのうちのいずれかを選択す
るための乗数用マルチプレクサと、 前記剰余用マルチプレクサの出力(R)と、前記被乗数
用マルチプレクサの出力(S)と、前記乗数用マルチプ
レクサの出力(T)とを各々入力して、(R+S×T)
の演算を行なうための(R+S×T)演算手段と、 前記剰余保持手段の入力として前記入力オペランドと前
記(R+S×T)演算手段の出力とのうちのいずれかを
選択するための保持データ切換用マルチプレクサと、 前記(R+S×T)演算手段の出力する積の上位を入力
して部分平方根の最下位ビットより1ビット小さい位で
丸めを行ない、該丸めの結果を前記部分平方根保持手段
に与えるための部分平方根算出用加算手段と、 前記部分平方根保持手段の出力する部分平方根の最下位
ビットから1を引くための定数減算手段と、 前記部分平方根保持手段の出力する部分平方根と前記定
数減算手段の出力とのうちのいずれかを選択して補正部
分平方根として出力するための補正用マルチプレクサ
と、 前記併合平方根保持手段から出力される併合平方根に対
して、前記補正用マルチプレクサの出力する補正部分平
方根を併合できるように桁合わせを行なうための桁合わ
せ手段と、 前記併合平方根保持手段から出力される併合平方根と前
記桁合わせ手段の出力とを加算して更新された併合平方
根を出力するための併合平方根算出用加算手段とを有す
ることを特徴とする開平演算装置。 - 【請求項14】 2ビット単位に正規化された入力オペ
ランドに対して平方根を求めるための開平演算装置であ
って、 前記入力オペランドの上位ビットをアドレスとして平方
根の近似逆数を索引するためのテーブル情報格納手段
と、 平方根を上位より順に一定のビット数ずつ反復して求め
る際の剰余を保持するための剰余保持手段と、 前記剰余保持手段から出力される剰余と前記テーブル情
報格納手段から出力される平方根の近似逆数とをそれぞ
れ被乗数、乗数として入力して乗算を行なうための乗算
手段と、 前記乗算手段の出力する積の上位を入力して部分平方根
の最下位ビットより1ビット小さい位で丸めを行なうた
めの部分平方根算出用加算手段と、 各反復での部分平方根を併合した併合平方根を保持する
ための併合平方根保持手段と、 前記部分平方根算出用加算手段の出力する部分平方根を
ビット毎に反転するための反転手段と、 前記併合平方根保持手段の出力を左に1ビットシフトし
て、前記部分平方根算出用加算手段の出力する部分平方
根とで被乗数を生成するための被乗数生成手段と、 前記剰余保持手段の出力する剰余(R)と、前記被乗数
生成手段の出力する被乗数(S)と、前記反転手段の出
力する乗数(T)とを各々入力して、(R+S×T)の
演算を行なうための(R+S×T)演算手段と、 前記(R+S×T)演算手段の出力を部分平方根のビッ
ト長から隣接する部分平方根間で重複するビット長を引
いた数だけ左にシフトするためのシフト手段と、 前記剰余保持手段の入力として前記入力オペランドと前
記シフト手段の出力とのうちのいずれかを選択するため
の保持データ切換用マルチプレクサと、 前記部分平方根算出用加算手段の出力する部分平方根の
最下位ビットから1を引くための定数減算手段と、 前記部分平方根算出用加算手段の出力する部分平方根と
前記定数減算手段の出力とのうちのいずれかを選択して
補正部分平方根として出力するための補正用マルチプレ
クサと、 前記併合平方根保持手段から出力される併合平方根に対
して、前記補正用マルチプレクサの出力する補正部分平
方根を併合できるように桁合わせを行なうための桁合わ
せ手段と、 前記併合平方根保持手段から出力される併合平方根と前
記桁合わせ手段の出力とを加算して更新された併合平方
根を出力するための併合平方根算出用加算手段とを有す
ることを特徴とする開平演算装置。 - 【請求項15】 2ビット単位に正規化された入力オペ
ランドに対して平方根を求めるための開平演算装置であ
って、 前記入力オペランドの上位ビットをアドレスとして平方
根の近似逆数を索引するためのテーブル情報格納手段
と、 平方根を上位より順に一定のビット数ずつ反復して求め
る際の剰余を保持するための剰余保持手段、各反復での
部分平方根を保持するための部分平方根保持手段、及
び、各反復での部分平方根を併合した併合平方根を保持
するための併合平方根保持手段と、 前記部分平方根保持手段の出力する部分平方根をビット
毎に反転するための反転手段と、 前記併合平方根保持手段の出力を左に1ビットシフトし
て、前記部分平方根保持手段の出力する部分平方根とで
被乗数を生成するための被乗数生成手段と、 定数ゼロと前記剰余保持手段から出力される剰余とのう
ちのいずれかを選択するための剰余用マルチプレクサ
と、 前記剰余保持手段から出力される剰余と前記被乗数生成
手段の出力とのうちのいずれかを選択するための被乗数
用マルチプレクサと、 前記テーブル情報格納手段から出力される平方根の近似
逆数と前記反転手段の出力とのうちのいずれかを選択す
るための乗数用マルチプレクサと、 前記剰余用マルチプレクサの出力(R)と、前記被乗数
用マルチプレクサの出力(S)と、前記乗数用マルチプ
レクサの出力(T)とを各々入力して、(R+S×T)
の演算を行なうための(R+S×T)演算手段と、 前記(R+S×T)演算手段の出力を部分平方根のビッ
ト長から隣接する部分平方根間で重複するビット長を引
いた数だけ左にシフトするためのシフト手段と、 前記剰余保持手段の入力として前記入力オペランドと前
記シフト手段の出力とのうちのいずれかを選択するため
の保持データ切換用マルチプレクサと、 前記(R+S×T)演算手段の出力する積の上位を入力
して部分平方根の最下位ビットより1ビット小さい位で
丸めを行ない、該丸めの結果を前記部分平方根保持手段
に与えるための部分平方根算出用加算手段と、 前記部分平方根保持手段の出力する部分平方根の最下位
ビットから1を引くための定数減算手段と、 前記部分平方根保持手段の出力する部分平方根と前記定
数減算手段の出力とのうちのいずれかを選択して補正部
分平方根として出力するための補正用マルチプレクサ
と、 前記併合平方根保持手段から出力される併合平方根に対
して、前記補正用マルチプレクサの出力する補正部分平
方根を併合できるように桁合わせを行なうための桁合わ
せ手段と、 前記併合平方根保持手段から出力される併合平方根と前
記桁合わせ手段の出力とを加算して更新された併合平方
根を出力するための併合平方根算出用加算手段とを有す
ることを特徴とする開平演算装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP11330992A JP2761145B2 (ja) | 1992-05-06 | 1992-05-06 | 開平演算装置 |
US07/893,089 US5278782A (en) | 1991-06-03 | 1992-06-03 | Square root operation device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP11330992A JP2761145B2 (ja) | 1992-05-06 | 1992-05-06 | 開平演算装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH05313861A JPH05313861A (ja) | 1993-11-26 |
JP2761145B2 true JP2761145B2 (ja) | 1998-06-04 |
Family
ID=14608975
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP11330992A Expired - Lifetime JP2761145B2 (ja) | 1991-06-03 | 1992-05-06 | 開平演算装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2761145B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5537345A (en) * | 1993-10-14 | 1996-07-16 | Matsushita Electrical Industrial Co. Ltd. | Mathematical function processor utilizing table information |
-
1992
- 1992-05-06 JP JP11330992A patent/JP2761145B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPH05313861A (ja) | 1993-11-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2622896B2 (ja) | 除算装置 | |
USRE39385E1 (en) | Method and apparatus for performing mathematical functions using polynomial approximation and a rectangular aspect ratio multiplier | |
US6813626B1 (en) | Method and apparatus for performing fused instructions by determining exponent differences | |
US8046399B1 (en) | Fused multiply-add rounding and unfused multiply-add rounding in a single multiply-add module | |
US9722629B2 (en) | Method and apparatus for converting from floating point to integer representation | |
US20060047739A1 (en) | Decimal floating-point adder | |
JPH07182143A (ja) | コンピュータにおいて除算および平方根計算を実施するための方法および装置 | |
KR100241076B1 (ko) | 조정및정규화클래스를구비한부동소수점승산및누산장치 | |
US5132925A (en) | Radix-16 divider using overlapped quotient bit selection and concurrent quotient rounding and correction | |
EP0356153B1 (en) | Radix-2**n divider method and apparatus using overlapped quotient bit selection and concurrent quotient rounding and correction | |
US8060551B2 (en) | Method and apparatus for integer division | |
US10628124B2 (en) | Stochastic rounding logic | |
WO1999040508A1 (en) | Fast adder/subtractor for signed floating point numbers | |
US5260889A (en) | Computation of sticky-bit in parallel with partial products in a floating point multiplier unit | |
JP4273071B2 (ja) | 除算・開平演算器 | |
US5278782A (en) | Square root operation device | |
JP2722858B2 (ja) | 開平演算装置 | |
JP2822399B2 (ja) | 対数関数演算装置 | |
JP7285966B2 (ja) | 多入力浮動小数点加算器 | |
GB2549153B (en) | Apparatus and method for supporting a conversion instruction | |
US7016930B2 (en) | Apparatus and method for performing operations implemented by iterative execution of a recurrence equation | |
US4979141A (en) | Technique for providing a sign/magnitude subtraction operation in a floating point computation unit | |
Schwarz | Binary Floating-Point Unit Design: the fused multiply-add dataflow | |
JP2761145B2 (ja) | 開平演算装置 | |
US6963895B1 (en) | Floating point pipeline method and circuit for fast inverse square root calculations |
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: 19980303 |