JPH06187132A - 開平演算装置 - Google Patents
開平演算装置Info
- Publication number
- JPH06187132A JPH06187132A JP4337345A JP33734592A JPH06187132A JP H06187132 A JPH06187132 A JP H06187132A JP 4337345 A JP4337345 A JP 4337345A JP 33734592 A JP33734592 A JP 33734592A JP H06187132 A JPH06187132 A JP H06187132A
- Authority
- JP
- Japan
- Prior art keywords
- output
- square root
- partial square
- holding means
- bit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Landscapes
- Complex Calculations (AREA)
Abstract
(57)【要約】
【目的】 乗算器のハードウェア規模を低減しながら性
能低下とならない開平演算装置を提供する。 【構成】 正規化手段7の出力する2ビット単位に正規
化されたオペランドの上位をアドレスとしてテーブル情
報格納手段8より平方根の近似逆数を索引し、0番目の
部分剰余を正規化オペランドとして剰余保持手段10の
出力に乗算手段12により掛けることで部分平方根を求
め、各反復でのビット重複のない部分平方根を複数の部
分平方根保持手段14〜21に併合平方根として保持
し、反転手段21、被乗数生成手段22及び(R+S×
T)演算手段23により、反復計算の次ステップでの剰
余を剰余から併合平方根と部分平方根の積を引くことに
より求める。
能低下とならない開平演算装置を提供する。 【構成】 正規化手段7の出力する2ビット単位に正規
化されたオペランドの上位をアドレスとしてテーブル情
報格納手段8より平方根の近似逆数を索引し、0番目の
部分剰余を正規化オペランドとして剰余保持手段10の
出力に乗算手段12により掛けることで部分平方根を求
め、各反復でのビット重複のない部分平方根を複数の部
分平方根保持手段14〜21に併合平方根として保持
し、反転手段21、被乗数生成手段22及び(R+S×
T)演算手段23により、反復計算の次ステップでの剰
余を剰余から併合平方根と部分平方根の積を引くことに
より求める。
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の平方根を上位より一定のビット数ず
つグループ分割して、数式(1)のように表現する。こ
こに、部分平方根間にはビットの重複がないものとす
る。 √A=a1 +a2 +a3 +a4 +a5 +・・・・・ (1)
を説明する前に、本発明で使用する開平演算の方法につ
いて説明する。Aの平方根を上位より一定のビット数ず
つグループ分割して、数式(1)のように表現する。こ
こに、部分平方根間にはビットの重複がないものとす
る。 √A=a1 +a2 +a3 +a4 +a5 +・・・・・ (1)
【0010】逆に、数式(1)の辺々を2乗して右辺を
変形すると数式(2)を得る。 A=a1 ×a1 +(a1 ×2+a2 )×a2 +{(a1 +a2 )×2+a3 }×a3 +{(a1 +a2 +a3 )×2+a4 }×a4 +{(a1 +a2 +a3 +a4 )×2+a5 }×a5 +・・・・・ (2)
変形すると数式(2)を得る。 A=a1 ×a1 +(a1 ×2+a2 )×a2 +{(a1 +a2 )×2+a3 }×a3 +{(a1 +a2 +a3 )×2+a4 }×a4 +{(a1 +a2 +a3 +a4 )×2+a5 }×a5 +・・・・・ (2)
【0011】数式(2)より、以下の手順で平方根を求
めることができる。 (i) A(R0 とする)にa1 の逆数を掛け、結果の
上位の一定のビット数をa1 とする。 (ii) R1 =R0 −a1 ×a1 を計算した後、R1
を(i)での一定のビット数だけ左にシフトする。 以下、(iii) 、(iv)を必要な回数だけ繰り返す。 (iii) Ri にa1 の逆数を掛け、結果の上位の一定の
ビット数をai+1 とする。ただし、(i)でのa1 と比
較してai+1 は1ビット上位からとる。 (iv) Ri+1 =Ri −{(a1 +・・・+ai )×2
+ai+1 }×ai+1 を計算した後、Ri+1 を(i)での一定のビット数だけ
左にシフトする。
めることができる。 (i) A(R0 とする)にa1 の逆数を掛け、結果の
上位の一定のビット数をa1 とする。 (ii) R1 =R0 −a1 ×a1 を計算した後、R1
を(i)での一定のビット数だけ左にシフトする。 以下、(iii) 、(iv)を必要な回数だけ繰り返す。 (iii) Ri にa1 の逆数を掛け、結果の上位の一定の
ビット数をai+1 とする。ただし、(i)でのa1 と比
較してai+1 は1ビット上位からとる。 (iv) Ri+1 =Ri −{(a1 +・・・+ai )×2
+ai+1 }×ai+1 を計算した後、Ri+1 を(i)での一定のビット数だけ
左にシフトする。
【0012】テーブル情報格納手段には、a1 の近似逆
数が格納されており、Aの上位ビットをアドレスとして
索引され、剰余保持手段に0番目剰余として格納されて
いるR0 (=A)とa1 の近似逆数との積が、乗算手段
により計算され、積の上位ビットとしてa1 が得られ
る。次に、被乗数生成手段では1回目の反復計算ではa
1 を出力し、R0 、a1 、a1 が(R−S×T)演算手
段に入力されて、R1 が得られる。次にa1 が併合平方
根保持手段に格納され、R1 が一定のビット数だけ左シ
フトされた後、剰余保持手段に格納される。以降、併合
平方根のビット長が求めるべき平方根のビット長以上に
なるまで、i≧1として下記の処理を繰り返す。
数が格納されており、Aの上位ビットをアドレスとして
索引され、剰余保持手段に0番目剰余として格納されて
いるR0 (=A)とa1 の近似逆数との積が、乗算手段
により計算され、積の上位ビットとしてa1 が得られ
る。次に、被乗数生成手段では1回目の反復計算ではa
1 を出力し、R0 、a1 、a1 が(R−S×T)演算手
段に入力されて、R1 が得られる。次にa1 が併合平方
根保持手段に格納され、R1 が一定のビット数だけ左シ
フトされた後、剰余保持手段に格納される。以降、併合
平方根のビット長が求めるべき平方根のビット長以上に
なるまで、i≧1として下記の処理を繰り返す。
【0013】剰余保持手段にi番目剰余として格納され
ているRi とa1 の近似逆数との積が、乗算手段により
計算され、積の上位ビットとしてai+1 が得られる。次
に、被乗数生成手段では(a1 +・・・+ai )を左に
1ビットシフトした後、ai+ 1 とマージして被乗数とし
て出力し、Ri 、{(a1 +・・・+ai )×2+a
i+1 }、ai+1 が(R−S×T)演算手段に入力され
て、Ri+1 が得られる。次にai+1 が併合平方根保持手
段に格納され、Ri+1 が一定のビット数だけ左シフトさ
れた後、剰余保持手段に格納される。
ているRi とa1 の近似逆数との積が、乗算手段により
計算され、積の上位ビットとしてai+1 が得られる。次
に、被乗数生成手段では(a1 +・・・+ai )を左に
1ビットシフトした後、ai+ 1 とマージして被乗数とし
て出力し、Ri 、{(a1 +・・・+ai )×2+a
i+1 }、ai+1 が(R−S×T)演算手段に入力され
て、Ri+1 が得られる。次にai+1 が併合平方根保持手
段に格納され、Ri+1 が一定のビット数だけ左シフトさ
れた後、剰余保持手段に格納される。
【0014】数式(1)及び(2)では、はじめに部分
平方根の間でビットの重複がないとしたのであるが、部
分平方根間でビットの重複があっても上記手順で平方根
を求めることができれば、特に部分平方根間の非重複を
必要条件として設定しなくてもよい。上に示した手順に
おいて、開平演算の実行時間に占める割合が高いものと
して、テーブル情報格納手段の索引、剰余とa1 の近似
逆数との乗算時間、被乗数{(a1 +・・・+ai )×
2+ai+1 }の生成、(R−S×T)の演算時間があ
る。これらの中で、被乗数{(a1 +・・・+ai )×
2+ai+1 }の生成は、部分平方根間でビットの重複が
ない場合は、単にa1 、・・・、ai を1ビット左にシ
フトして、ai+1 と併合するだけでよい。また、部分平
方根間で1ビットの重複がある場合は、(a1 +・・・
+ai )について、ai を併合平方根保持手段に格納す
る前に、(R−S×T)の演算と並行して、(a1 +・
・・+ai )の加算を実行すれば開平演算の実行時間に
影響を与えることはない。一方、被乗数の生成では(a
1 +・・・+ai )を左に1ビットシフトしてからa
i+1 と併合するのでai とai+1 に1ビットの重複があ
っても加算を必要としない。部分平方根間で2ビット以
上の重複がある場合は、被乗数(a1 +・・・+ai )
の生成で加算が必要となるので開平演算の実行時間が増
大する。本発明は、(a1 +・・・+ai )の加算を必
要としない部分平方根間でビットの重複がない場合を対
象とする。
平方根の間でビットの重複がないとしたのであるが、部
分平方根間でビットの重複があっても上記手順で平方根
を求めることができれば、特に部分平方根間の非重複を
必要条件として設定しなくてもよい。上に示した手順に
おいて、開平演算の実行時間に占める割合が高いものと
して、テーブル情報格納手段の索引、剰余とa1 の近似
逆数との乗算時間、被乗数{(a1 +・・・+ai )×
2+ai+1 }の生成、(R−S×T)の演算時間があ
る。これらの中で、被乗数{(a1 +・・・+ai )×
2+ai+1 }の生成は、部分平方根間でビットの重複が
ない場合は、単にa1 、・・・、ai を1ビット左にシ
フトして、ai+1 と併合するだけでよい。また、部分平
方根間で1ビットの重複がある場合は、(a1 +・・・
+ai )について、ai を併合平方根保持手段に格納す
る前に、(R−S×T)の演算と並行して、(a1 +・
・・+ai )の加算を実行すれば開平演算の実行時間に
影響を与えることはない。一方、被乗数の生成では(a
1 +・・・+ai )を左に1ビットシフトしてからa
i+1 と併合するのでai とai+1 に1ビットの重複があ
っても加算を必要としない。部分平方根間で2ビット以
上の重複がある場合は、被乗数(a1 +・・・+ai )
の生成で加算が必要となるので開平演算の実行時間が増
大する。本発明は、(a1 +・・・+ai )の加算を必
要としない部分平方根間でビットの重複がない場合を対
象とする。
【0015】
【実施例】はじめに、各実施例において共通する事項を
説明する。
説明する。
【0016】平方根の近似逆数は、数式(3)に示す1
3ビット(xは0または1を表す)をアドレスとして索
引される。 01.xxxxxxxxxxx 1x.xxxxxxxxxxx (3)
3ビット(xは0または1を表す)をアドレスとして索
引される。 01.xxxxxxxxxxx 1x.xxxxxxxxxxx (3)
【0017】テーブル情報格納手段に格納する数値は、
平方根の逆数として、少し大きめの値になるように、上
記のアドレスの数値から2-12 を引いて、平方根を求め
た後、この平方根の逆数を求める。実際のテーブルには
平方根の逆数の2-2から2-1 6 の値を格納し、常に0で
ある符号ビットと常に1である2-1ビットはテーブルに
は直接格納しないが、実施例において逐一説明を加える
のは煩わしいので、先頭2ビットとして01がテーブル
に含まれているように説明する。乗算を実行する場合に
は、乗数を1ビット重複させた3ビット単位のグループ
に分割して表1に示すBoothのアルゴリズムに従っ
て被乗数の倍数を発生させ、樹木状に構成した桁上げ保
留加算器群によって2個の部分桁上げと部分和になるま
で求め、この2つを桁上げ伝播加算器で加算して最終的
な積を求める。剰余と平方根の近似逆数の乗算では、テ
ーブルから読みだした値に対して、先頭に1を付加する
とともに、末尾に、アドレスとして使用するビットの右
の隣接1ビットの反転を付加する。乗算では右に付加し
たビットを乗数の最下位ビットとすることによって2
-17 倍ではなく、2-16 倍の効果を持たせる。01.0
0000000000に対しては、テーブルに格納する
2-2から2-16 の値はすべて1であり、入力オペランド
のアドレスに使用されるビット未満がゼロである場合に
も、上記の2-1 6 倍の効果により、乗算器の内部では
1.0000000000000000を乗数とする乗
算が行なわれる。
平方根の逆数として、少し大きめの値になるように、上
記のアドレスの数値から2-12 を引いて、平方根を求め
た後、この平方根の逆数を求める。実際のテーブルには
平方根の逆数の2-2から2-1 6 の値を格納し、常に0で
ある符号ビットと常に1である2-1ビットはテーブルに
は直接格納しないが、実施例において逐一説明を加える
のは煩わしいので、先頭2ビットとして01がテーブル
に含まれているように説明する。乗算を実行する場合に
は、乗数を1ビット重複させた3ビット単位のグループ
に分割して表1に示すBoothのアルゴリズムに従っ
て被乗数の倍数を発生させ、樹木状に構成した桁上げ保
留加算器群によって2個の部分桁上げと部分和になるま
で求め、この2つを桁上げ伝播加算器で加算して最終的
な積を求める。剰余と平方根の近似逆数の乗算では、テ
ーブルから読みだした値に対して、先頭に1を付加する
とともに、末尾に、アドレスとして使用するビットの右
の隣接1ビットの反転を付加する。乗算では右に付加し
たビットを乗数の最下位ビットとすることによって2
-17 倍ではなく、2-16 倍の効果を持たせる。01.0
0000000000に対しては、テーブルに格納する
2-2から2-16 の値はすべて1であり、入力オペランド
のアドレスに使用されるビット未満がゼロである場合に
も、上記の2-1 6 倍の効果により、乗算器の内部では
1.0000000000000000を乗数とする乗
算が行なわれる。
【0018】
【表1】
【0019】(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の補数表示で乗算が実行
できることは、この分野の技術者にとってはよく知られ
ている。
【0020】また、各請求項の中では部分平方根算出用
加算手段を有する開平演算装置では乗算手段または(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
ビット下位で丸めることによる悪影響はない。
【0021】図2は、乗算手段(本発明の第1の実施
例)の内部ブロック図である。図2において101から
109は倍数発生手段(ML)、110から116は桁
上げ保留加算手段(CSA)、117は桁上げ伝播加算
手段(CPA)、118と119は部分平方根算出用加
算手段(CPA1,CPA2)、120は先見桁上げ手
段(LAC)である。倍数発生手段101から109は
各々被乗数を入力し、また、乗数については隣接する倍
数発生手段と1ビット重複して3ビットの乗数を入力
し、表1に示す被乗数の倍数を発生する。倍数発生手段
101から109の出力は桁上げ保留加算手段110か
ら112にそれぞれ図2に示すように入力され、桁上げ
保留加算が実行された後、桁上げ保留加算手段113か
ら116により、最終的に部分桁上げと部分和の2つに
まとめられる。桁上げ保留加算手段116の出力する部
分桁上げと部分和の273から20 までのビットと、271
から263までのビットと、272から264までのビットは
それぞれ、桁上げ伝播加算手段117と先見桁上げ手段
120、第1の部分平方根算出用加算手段118、第2
の部分平方根算出用加算手段119に入力される。先見
桁上げ手段120では第1の部分平方根算出用加算手段
118に対しては262への桁上げを予測して出力する一
方、第2の部分平方根算出用加算手段119に対しては
263への桁上げを予測して出力する。両部分平方根算出
用加算手段118、119ではそれぞれ262、263の位
で丸め加算を行ない、271から263、272から264の1
3ビットを符号1ビット、データ12ビットの部分平方
根として出力する。
例)の内部ブロック図である。図2において101から
109は倍数発生手段(ML)、110から116は桁
上げ保留加算手段(CSA)、117は桁上げ伝播加算
手段(CPA)、118と119は部分平方根算出用加
算手段(CPA1,CPA2)、120は先見桁上げ手
段(LAC)である。倍数発生手段101から109は
各々被乗数を入力し、また、乗数については隣接する倍
数発生手段と1ビット重複して3ビットの乗数を入力
し、表1に示す被乗数の倍数を発生する。倍数発生手段
101から109の出力は桁上げ保留加算手段110か
ら112にそれぞれ図2に示すように入力され、桁上げ
保留加算が実行された後、桁上げ保留加算手段113か
ら116により、最終的に部分桁上げと部分和の2つに
まとめられる。桁上げ保留加算手段116の出力する部
分桁上げと部分和の273から20 までのビットと、271
から263までのビットと、272から264までのビットは
それぞれ、桁上げ伝播加算手段117と先見桁上げ手段
120、第1の部分平方根算出用加算手段118、第2
の部分平方根算出用加算手段119に入力される。先見
桁上げ手段120では第1の部分平方根算出用加算手段
118に対しては262への桁上げを予測して出力する一
方、第2の部分平方根算出用加算手段119に対しては
263への桁上げを予測して出力する。両部分平方根算出
用加算手段118、119ではそれぞれ262、263の位
で丸め加算を行ない、271から263、272から264の1
3ビットを符号1ビット、データ12ビットの部分平方
根として出力する。
【0022】以下、7つの実施例について述べる。実施
例では具体的な数値例を引用するが紙面の節約のため特
に断わらない限り、数値は16進表示とする。また、数
値例を示した図において複数の実施例で引用しているた
め、一部の実施例に対しては余分に符号ビットが拡張さ
れているようにみえる。実施例3(図6〜図8)と実施
例6(図12,図13)のベクトル開平演算装置では対
応する請求項3と請求項8に比較すると、データの保持
手段が請求項よりも多く設けているが、本発明は請求項
でのデータの保持手段の個数に限定されるものではな
く、使用するハードウェア回路に応じて最適なパイプラ
インのピッチになるようにデータの保持手段の演算装置
における配置を決めればよい。また、実施例3のベクト
ル開平演算装置では対応する請求項3に比較すると、指
数定数加算手段と指数保持手段の配置が一致していない
が仮数部に比較して指数部は簡単に求められるので仮数
部の演算結果が求められるまでの任意の指数保持手段の
間に指数に対する演算手段を挿入すればよい。
例では具体的な数値例を引用するが紙面の節約のため特
に断わらない限り、数値は16進表示とする。また、数
値例を示した図において複数の実施例で引用しているた
め、一部の実施例に対しては余分に符号ビットが拡張さ
れているようにみえる。実施例3(図6〜図8)と実施
例6(図12,図13)のベクトル開平演算装置では対
応する請求項3と請求項8に比較すると、データの保持
手段が請求項よりも多く設けているが、本発明は請求項
でのデータの保持手段の個数に限定されるものではな
く、使用するハードウェア回路に応じて最適なパイプラ
インのピッチになるようにデータの保持手段の演算装置
における配置を決めればよい。また、実施例3のベクト
ル開平演算装置では対応する請求項3に比較すると、指
数定数加算手段と指数保持手段の配置が一致していない
が仮数部に比較して指数部は簡単に求められるので仮数
部の演算結果が求められるまでの任意の指数保持手段の
間に指数に対する演算手段を挿入すればよい。
【0023】(実施例1)図1は本発明の第1の実施例
に係る浮動小数点開平演算装置のブロック図を示すもの
である。本実施例の浮動小数点開平演算装置はIEEE
規格の倍精度浮動小数点数を入力して、同じ倍精度浮動
小数点数の平方根を出力し、部分平方根のデータとして
のビット長が8で部分平方根間には重複がない。図1に
おいて、1は入力レジスタ、2は例外検出手段、3は指
数定数減算手段、4はシフタ、5は指数定数加算手段、
6はリーディングビット付加回路、7は正規化手段、8
はテーブル情報格納手段、9はマルチプレクサ、10は
剰余保持手段、11はシフタ、12は乗算手段、13は
マルチプレクサ、14から20は部分平方根保持手段、
21は反転手段、22は被乗数生成手段、23は(R+
S×T)演算手段、24は定数減算手段、25はマルチ
プレクサである。
に係る浮動小数点開平演算装置のブロック図を示すもの
である。本実施例の浮動小数点開平演算装置はIEEE
規格の倍精度浮動小数点数を入力して、同じ倍精度浮動
小数点数の平方根を出力し、部分平方根のデータとして
のビット長が8で部分平方根間には重複がない。図1に
おいて、1は入力レジスタ、2は例外検出手段、3は指
数定数減算手段、4はシフタ、5は指数定数加算手段、
6はリーディングビット付加回路、7は正規化手段、8
はテーブル情報格納手段、9はマルチプレクサ、10は
剰余保持手段、11はシフタ、12は乗算手段、13は
マルチプレクサ、14から20は部分平方根保持手段、
21は反転手段、22は被乗数生成手段、23は(R+
S×T)演算手段、24は定数減算手段、25はマルチ
プレクサである。
【0024】以下、具体的な数値例を用いて図1に示す
浮動小数点開平演算装置の動作を説明する。図3,図4
はオペランドが入力されてから、各々の手段で処理され
ていく過程を示している。はじめにオペランドとして5
6F80A494B9A80F8が入力され、入力レジ
スタ1にセットされる。例外検出手段2では入力オペラ
ンドが負の場合はデータ例外として検出し、浮動小数点
開平演算装置の外部の命令実行制御部に対して例外が発
生していることを通知する。本数値例では(以下では、
この前提を省略する)オペランドは正であるので例外は
検出されない。入力レジスタ1の出力の262から252の
指数に対して、指数定数減算手段3により3FFが引か
れた後、シフタ4により右に1ビットシフトされ、指数
定数加算手段5により再び3FFが加算され、結果の指
数が求められる。リーディングビット付加回路6では入
力レジスタ1の出力の251から20 の仮数部に対して先
頭にリーディングビットの1が付加される。正規化手段
7では、入力レジスタ1の出力の252のビットが1の場
合入力を左に2ビットシフトして、また、入力レジスタ
1の出力の252のビットが0の場合入力を左に3ビット
シフトして出力する。テーブル情報格納手段8には正規
化手段7の255から243の13ビットが入力され、0D
0DEが出力される。さらにこの出力の最下位ビットと
して正規化手段7の242のビットを反転したものが付加
されるのであるが、本例では1が付加され、乗算手段1
2での実質的な乗数は0D0DFとなる。マルチプレク
サ9では正規化手段7の出力を選択し、この出力が剰余
保持手段10にセットされる。このとき、部分平方根保
持手段14から20はゼロにリセットされる。乗算手段
12で06029252E6A03E0と0D0DFの
乗算が行なわれ、04E75320D19917F60
20の積が求められると同時に1回目の反復では262の
位で、2回目以降の反復では263の位で積を丸めた結果
がマルチプレクサ13に対して出力される。マルチプレ
クサ13では乗算手段12の271から263の9ビットを
符号1ビット、データ8ビットの1番目の部分平方根と
して選択する。反転手段21では部分平方根を入力して
ビット反転するとともに、最下位ビットに1を付加して
出力する。また、被乗数生成手段22では、1回目の反
復ではマルチプレクサ13の出力の符号ビットを除いて
データ8ビットを255から248に埋め込み、他のビット
をゼロとして出力する。(R+S×T)演算手段23で
はシフタ11の出力する剰余保持手段10の出力を左に
8ビットシフトしたものをR、被乗数生成手段22の出
力をS、反転手段21の出力をTとして入力し、(R+
S×T)の演算を実行する。(R+S×T)演算手段2
3の出力3E0252E6A03E000はマルチプレ
クサ9により選択され、剰余保持手段10にセットされ
る。一方、定数減算手段24ではマルチプレクサ13の
出力のLSBから1を引く。マルチプレクサ25は、
(R+S×T)演算手段23の出力が負の場合、定数減
算手段24の出力を選択し、それ以外の場合はマルチプ
レクサ13の出力を選択する。1回目の反復では上記の
条件を判断して定数減算手段24の出力を選択する。マ
ルチプレクサ25の出力を部分平方根保持手段14にセ
ットする。
浮動小数点開平演算装置の動作を説明する。図3,図4
はオペランドが入力されてから、各々の手段で処理され
ていく過程を示している。はじめにオペランドとして5
6F80A494B9A80F8が入力され、入力レジ
スタ1にセットされる。例外検出手段2では入力オペラ
ンドが負の場合はデータ例外として検出し、浮動小数点
開平演算装置の外部の命令実行制御部に対して例外が発
生していることを通知する。本数値例では(以下では、
この前提を省略する)オペランドは正であるので例外は
検出されない。入力レジスタ1の出力の262から252の
指数に対して、指数定数減算手段3により3FFが引か
れた後、シフタ4により右に1ビットシフトされ、指数
定数加算手段5により再び3FFが加算され、結果の指
数が求められる。リーディングビット付加回路6では入
力レジスタ1の出力の251から20 の仮数部に対して先
頭にリーディングビットの1が付加される。正規化手段
7では、入力レジスタ1の出力の252のビットが1の場
合入力を左に2ビットシフトして、また、入力レジスタ
1の出力の252のビットが0の場合入力を左に3ビット
シフトして出力する。テーブル情報格納手段8には正規
化手段7の255から243の13ビットが入力され、0D
0DEが出力される。さらにこの出力の最下位ビットと
して正規化手段7の242のビットを反転したものが付加
されるのであるが、本例では1が付加され、乗算手段1
2での実質的な乗数は0D0DFとなる。マルチプレク
サ9では正規化手段7の出力を選択し、この出力が剰余
保持手段10にセットされる。このとき、部分平方根保
持手段14から20はゼロにリセットされる。乗算手段
12で06029252E6A03E0と0D0DFの
乗算が行なわれ、04E75320D19917F60
20の積が求められると同時に1回目の反復では262の
位で、2回目以降の反復では263の位で積を丸めた結果
がマルチプレクサ13に対して出力される。マルチプレ
クサ13では乗算手段12の271から263の9ビットを
符号1ビット、データ8ビットの1番目の部分平方根と
して選択する。反転手段21では部分平方根を入力して
ビット反転するとともに、最下位ビットに1を付加して
出力する。また、被乗数生成手段22では、1回目の反
復ではマルチプレクサ13の出力の符号ビットを除いて
データ8ビットを255から248に埋め込み、他のビット
をゼロとして出力する。(R+S×T)演算手段23で
はシフタ11の出力する剰余保持手段10の出力を左に
8ビットシフトしたものをR、被乗数生成手段22の出
力をS、反転手段21の出力をTとして入力し、(R+
S×T)の演算を実行する。(R+S×T)演算手段2
3の出力3E0252E6A03E000はマルチプレ
クサ9により選択され、剰余保持手段10にセットされ
る。一方、定数減算手段24ではマルチプレクサ13の
出力のLSBから1を引く。マルチプレクサ25は、
(R+S×T)演算手段23の出力が負の場合、定数減
算手段24の出力を選択し、それ以外の場合はマルチプ
レクサ13の出力を選択する。1回目の反復では上記の
条件を判断して定数減算手段24の出力を選択する。マ
ルチプレクサ25の出力を部分平方根保持手段14にセ
ットする。
【0025】次に2回目の反復計算に入る。テーブル情
報格納手段8の出力は2回目以降も1回目と変わらな
い。剰余保持手段10にセットされた1番目の剰余R1
の3E0252E6A03E000に0D0DFが乗算
手段12により掛けられ、積3E6027619917
F602000が出力される。272から264の1E6が
符号1ビット、データ8ビットの2番目の部分平方根と
してマルチプレクサ13により選択される。反転手段2
1では1E6が反転され、019となり、最下位ビット
として1が付加されて出力され、(R+S×T)演算手
段23では実質的に乗数として01Aで演算が行なわれ
る。一方、被乗数生成手段22では、部分平方根保持手
段14から20の出力を左に1ビットシフトするととも
に、マルチプレクサ13の出力する9ビットを248から
240へ埋め込み、139E60000000000を出
力する。(R+S×T)演算手段23ではシフタ11の
出力する剰余保持手段10の出力を左に8ビットシフト
したものをR、被乗数生成手段22の出力をS、反転手
段21の出力をTとして入力し、(R+S×T)の演算
を実行する。(R+S×T)演算手段23の出力006
8A6A03E00000はマルチプレクサ9により選
択され、剰余保持手段10にセットされる。マルチプレ
クサ25は、マルチプレクサ13の出力を選択して出力
し、部分平方根保持手段15ではマルチプレクサ25の
出力をセットする。
報格納手段8の出力は2回目以降も1回目と変わらな
い。剰余保持手段10にセットされた1番目の剰余R1
の3E0252E6A03E000に0D0DFが乗算
手段12により掛けられ、積3E6027619917
F602000が出力される。272から264の1E6が
符号1ビット、データ8ビットの2番目の部分平方根と
してマルチプレクサ13により選択される。反転手段2
1では1E6が反転され、019となり、最下位ビット
として1が付加されて出力され、(R+S×T)演算手
段23では実質的に乗数として01Aで演算が行なわれ
る。一方、被乗数生成手段22では、部分平方根保持手
段14から20の出力を左に1ビットシフトするととも
に、マルチプレクサ13の出力する9ビットを248から
240へ埋め込み、139E60000000000を出
力する。(R+S×T)演算手段23ではシフタ11の
出力する剰余保持手段10の出力を左に8ビットシフト
したものをR、被乗数生成手段22の出力をS、反転手
段21の出力をTとして入力し、(R+S×T)の演算
を実行する。(R+S×T)演算手段23の出力006
8A6A03E00000はマルチプレクサ9により選
択され、剰余保持手段10にセットされる。マルチプレ
クサ25は、マルチプレクサ13の出力を選択して出力
し、部分平方根保持手段15ではマルチプレクサ25の
出力をセットする。
【0026】次に3回目の反復計算に入る。テーブル情
報格納手段8の出力は1回目と変わらない。剰余保持手
段10にセットされた2番目の剰余R2 の0068A6
A03E00000に0D0DFが乗算手段12により
掛けられ、積0055628B57F60200000
が出力される。272から264の005が符号1ビット、
データ8ビットの3番目の部分平方根としてマルチプレ
クサ13により選択される。反転手段21では005が
反転され、1FAとなり、最下位ビットとして1が付加
されて出力され、(R+S×T)演算手段23では実質
的に乗数として1FBで演算が行なわれる。一方、被乗
数生成手段22では、部分平方根保持手段14から20
の出力を左に1ビットシフトするとともに、マルチプレ
クサ13の出力する9ビットを240から232へ埋め込
み、139CC0500000000を出力する。(R
+S×T)演算手段23ではシフタ11の出力する剰余
保持手段10の出力を左に8ビットシフトしたものを
R、被乗数生成手段22の出力をS、反転手段21の出
力をTとして入力し、(R+S×T)の演算を実行す
る。(R+S×T)演算手段23の出力0696DEA
E0000000はマルチプレクサ9により選択され、
剰余保持手段10にセットされる。マルチプレクサ25
は、マルチプレクサ13の出力を選択して出力し、部分
平方根保持手段16ではマルチプレクサ25の出力をセ
ットする。
報格納手段8の出力は1回目と変わらない。剰余保持手
段10にセットされた2番目の剰余R2 の0068A6
A03E00000に0D0DFが乗算手段12により
掛けられ、積0055628B57F60200000
が出力される。272から264の005が符号1ビット、
データ8ビットの3番目の部分平方根としてマルチプレ
クサ13により選択される。反転手段21では005が
反転され、1FAとなり、最下位ビットとして1が付加
されて出力され、(R+S×T)演算手段23では実質
的に乗数として1FBで演算が行なわれる。一方、被乗
数生成手段22では、部分平方根保持手段14から20
の出力を左に1ビットシフトするとともに、マルチプレ
クサ13の出力する9ビットを240から232へ埋め込
み、139CC0500000000を出力する。(R
+S×T)演算手段23ではシフタ11の出力する剰余
保持手段10の出力を左に8ビットシフトしたものを
R、被乗数生成手段22の出力をS、反転手段21の出
力をTとして入力し、(R+S×T)の演算を実行す
る。(R+S×T)演算手段23の出力0696DEA
E0000000はマルチプレクサ9により選択され、
剰余保持手段10にセットされる。マルチプレクサ25
は、マルチプレクサ13の出力を選択して出力し、部分
平方根保持手段16ではマルチプレクサ25の出力をセ
ットする。
【0027】次に4回目の反復計算に入る。テーブル情
報格納手段8の出力は1回目と変わらない。剰余保持手
段10にセットされた3番目の剰余R3 の0696DE
AE0000000に0D0DFが乗算手段12により
掛けられ、積0560525959920000000
が出力される。272から264の056が符号1ビット、
データ8ビットの4番目の部分平方根としてマルチプレ
クサ13により選択される。反転手段21では056が
反転され、1A9となり、最下位ビットとして1が付加
されて出力され、(R+S×T)演算手段23では実質
的に乗数として1AAで演算が行なわれる。一方、被乗
数生成手段22では、部分平方根保持手段14から20
の出力を左に1ビットシフトするとともに、マルチプレ
クサ13の出力する9ビットを232から224へ埋め込
み、139CC0A56000000を出力する。(R
+S×T)演算手段23ではシフタ11の出力する剰余
保持手段10の出力を左に8ビットシフトしたものを
R、被乗数生成手段22の出力をS、反転手段21の出
力をTとして入力し、(R+S×T)の演算を実行す
る。(R+S×T)演算手段23の出力0035F67
1C000000はマルチプレクサ9により選択され、
剰余保持手段10にセットされる。マルチプレクサ25
はマルチプレクサ13の出力を選択して出力し、部分平
方根保持手段17ではマルチプレクサ25の出力をセッ
トする。
報格納手段8の出力は1回目と変わらない。剰余保持手
段10にセットされた3番目の剰余R3 の0696DE
AE0000000に0D0DFが乗算手段12により
掛けられ、積0560525959920000000
が出力される。272から264の056が符号1ビット、
データ8ビットの4番目の部分平方根としてマルチプレ
クサ13により選択される。反転手段21では056が
反転され、1A9となり、最下位ビットとして1が付加
されて出力され、(R+S×T)演算手段23では実質
的に乗数として1AAで演算が行なわれる。一方、被乗
数生成手段22では、部分平方根保持手段14から20
の出力を左に1ビットシフトするとともに、マルチプレ
クサ13の出力する9ビットを232から224へ埋め込
み、139CC0A56000000を出力する。(R
+S×T)演算手段23ではシフタ11の出力する剰余
保持手段10の出力を左に8ビットシフトしたものを
R、被乗数生成手段22の出力をS、反転手段21の出
力をTとして入力し、(R+S×T)の演算を実行す
る。(R+S×T)演算手段23の出力0035F67
1C000000はマルチプレクサ9により選択され、
剰余保持手段10にセットされる。マルチプレクサ25
はマルチプレクサ13の出力を選択して出力し、部分平
方根保持手段17ではマルチプレクサ25の出力をセッ
トする。
【0028】次に5回目の反復計算に入る。テーブル情
報格納手段8の出力は1回目と変わらない。剰余保持手
段10にセットされた4番目の剰余R4 の0035F6
71C000000に0D0DFが乗算手段12により
掛けられ、積002C073E19164000000
が出力される。272から264の003が符号1ビット、
データ8ビットの5番目の部分平方根としてマルチプレ
クサ13により選択される。反転手段21では003が
反転され、1FCとなり、最下位ビットとして1が付加
されて出力され、(R+S×T)演算手段23では実質
的に乗数として1FDで演算が行なわれる。一方、被乗
数生成手段22では、部分平方根保持手段14から20
の出力を左に1ビットシフトするとともに、マルチプレ
クサ13の出力する9ビットを224から216へ埋め込
み、139CC0AAC030000を出力する。(R
+S×T)演算手段23ではシフタ11の出力する剰余
保持手段10の出力を左に8ビットシフトしたものを
R、被乗数生成手段22の出力をS、反転手段21の出
力をTとして入力し、(R+S×T)の演算を実行す
る。(R+S×T)演算手段23の出力3B202FB
FBF70000はマルチプレクサ9により選択され、
剰余保持手段10にセットされる。マルチプレクサ25
は、定数減算手段24の出力を選択して出力し、部分平
方根保持手段18ではマルチプレクサ25の出力をセッ
トする。
報格納手段8の出力は1回目と変わらない。剰余保持手
段10にセットされた4番目の剰余R4 の0035F6
71C000000に0D0DFが乗算手段12により
掛けられ、積002C073E19164000000
が出力される。272から264の003が符号1ビット、
データ8ビットの5番目の部分平方根としてマルチプレ
クサ13により選択される。反転手段21では003が
反転され、1FCとなり、最下位ビットとして1が付加
されて出力され、(R+S×T)演算手段23では実質
的に乗数として1FDで演算が行なわれる。一方、被乗
数生成手段22では、部分平方根保持手段14から20
の出力を左に1ビットシフトするとともに、マルチプレ
クサ13の出力する9ビットを224から216へ埋め込
み、139CC0AAC030000を出力する。(R
+S×T)演算手段23ではシフタ11の出力する剰余
保持手段10の出力を左に8ビットシフトしたものを
R、被乗数生成手段22の出力をS、反転手段21の出
力をTとして入力し、(R+S×T)の演算を実行す
る。(R+S×T)演算手段23の出力3B202FB
FBF70000はマルチプレクサ9により選択され、
剰余保持手段10にセットされる。マルチプレクサ25
は、定数減算手段24の出力を選択して出力し、部分平
方根保持手段18ではマルチプレクサ25の出力をセッ
トする。
【0029】次に6回目の反復計算に入る。テーブル情
報格納手段8の出力は1回目と変わらない。剰余保持手
段10にセットされた5番目の剰余R5 の3B202F
BFBF70000に0D0DFが乗算手段12により
掛けられ、積3C05E7D56392C290000
が出力される。272から264の1C0が符号1ビット、
データ8ビットの6番目の部分平方根としてマルチプレ
クサ13により選択される。反転手段21では1C0が
反転され、03Fとなり、最下位ビットとして1が付加
されて出力され、(R+S×T)演算手段23では実質
的に乗数として040で演算が行なわれる。一方、被乗
数生成手段22では、部分平方根保持手段14から20
の出力を左に1ビットシフトするとともに、マルチプレ
クサ13の出力する9ビットを216から28 へ埋め込
み、139CC0AAC05C000を出力する。(R
+S×T)演算手段23ではシフタ11の出力する剰余
保持手段10の出力を左に8ビットシフトしたものを
R、被乗数生成手段22の出力をS、反転手段21の出
力をTとして入力し、(R+S×T)の演算を実行す
る。(R+S×T)演算手段23の出力0075FEA
6F870000はマルチプレクサ9により選択され、
剰余保持手段10にセットされる。マルチプレクサ25
は、マルチプレクサ13の出力を選択して出力し、部分
平方根保持手段19ではマルチプレクサ25の出力をセ
ットする。
報格納手段8の出力は1回目と変わらない。剰余保持手
段10にセットされた5番目の剰余R5 の3B202F
BFBF70000に0D0DFが乗算手段12により
掛けられ、積3C05E7D56392C290000
が出力される。272から264の1C0が符号1ビット、
データ8ビットの6番目の部分平方根としてマルチプレ
クサ13により選択される。反転手段21では1C0が
反転され、03Fとなり、最下位ビットとして1が付加
されて出力され、(R+S×T)演算手段23では実質
的に乗数として040で演算が行なわれる。一方、被乗
数生成手段22では、部分平方根保持手段14から20
の出力を左に1ビットシフトするとともに、マルチプレ
クサ13の出力する9ビットを216から28 へ埋め込
み、139CC0AAC05C000を出力する。(R
+S×T)演算手段23ではシフタ11の出力する剰余
保持手段10の出力を左に8ビットシフトしたものを
R、被乗数生成手段22の出力をS、反転手段21の出
力をTとして入力し、(R+S×T)の演算を実行す
る。(R+S×T)演算手段23の出力0075FEA
6F870000はマルチプレクサ9により選択され、
剰余保持手段10にセットされる。マルチプレクサ25
は、マルチプレクサ13の出力を選択して出力し、部分
平方根保持手段19ではマルチプレクサ25の出力をセ
ットする。
【0030】次に7回目の反復計算に入る。テーブル情
報格納手段8の出力は1回目と変わらない。剰余保持手
段11にセットされた6番目の剰余R6 の0075FE
A6F870000に0D0DFが乗算手段12により
掛けられ、積006045B07D4D6990000
が出力される。272から264の060が符号1ビット、
データ8ビットの7番目の部分平方根としてマルチプレ
クサ13により選択される。反転手段21では060が
反転され、19Fとなり、最下位ビットとして1が付加
されて出力され、(R+S×T)演算手段23では実質
的に乗数として1A0で演算が行なわれる。一方、被乗
数生成手段22では、部分平方根保持手段14から20
の出力を左に1ビットシフトするとともに、マルチプレ
クサ13の出力する9ビットを28 から20 へ埋め込
み、139CC0AAC058160を出力する。(R
+S×T)演算手段23ではシフタ11の出力する剰余
保持手段10の出力を左に8ビットシフトしたものを
R、被乗数生成手段22の出力をS、反転手段21の出
力をTとして入力し、(R+S×T)の演算を実行す
る。(R+S×T)演算手段23の出力005222F
7EDEFDC0はマルチプレクサ9により選択され、
剰余保持手段10にセットされる。マルチプレクサ25
は、マルチプレクサ13の出力を選択して出力し、部分
平方根保持手段20ではマルチプレクサ25の出力をセ
ットする。
報格納手段8の出力は1回目と変わらない。剰余保持手
段11にセットされた6番目の剰余R6 の0075FE
A6F870000に0D0DFが乗算手段12により
掛けられ、積006045B07D4D6990000
が出力される。272から264の060が符号1ビット、
データ8ビットの7番目の部分平方根としてマルチプレ
クサ13により選択される。反転手段21では060が
反転され、19Fとなり、最下位ビットとして1が付加
されて出力され、(R+S×T)演算手段23では実質
的に乗数として1A0で演算が行なわれる。一方、被乗
数生成手段22では、部分平方根保持手段14から20
の出力を左に1ビットシフトするとともに、マルチプレ
クサ13の出力する9ビットを28 から20 へ埋め込
み、139CC0AAC058160を出力する。(R
+S×T)演算手段23ではシフタ11の出力する剰余
保持手段10の出力を左に8ビットシフトしたものを
R、被乗数生成手段22の出力をS、反転手段21の出
力をTとして入力し、(R+S×T)の演算を実行す
る。(R+S×T)演算手段23の出力005222F
7EDEFDC0はマルチプレクサ9により選択され、
剰余保持手段10にセットされる。マルチプレクサ25
は、マルチプレクサ13の出力を選択して出力し、部分
平方根保持手段20ではマルチプレクサ25の出力をセ
ットする。
【0031】最終的な結果として、263の符号ビットと
して0、262から252の指数部として指数定数加算手段
5の出力する11ビット、251から20 の仮数部として
部分平方根保持手段14の下位7ビットと部分平方根保
持手段15から19の40ビットとマルチプレクサ25
の出力の上位5ビットをひとまとめにして、46739
CC0AAC0580Cが図1に示す開平演算装置から
出力される。
して0、262から252の指数部として指数定数加算手段
5の出力する11ビット、251から20 の仮数部として
部分平方根保持手段14の下位7ビットと部分平方根保
持手段15から19の40ビットとマルチプレクサ25
の出力の上位5ビットをひとまとめにして、46739
CC0AAC0580Cが図1に示す開平演算装置から
出力される。
【0032】(実施例2)図5は本発明の第2の実施例
に係る浮動小数点開平演算装置のブロック図を示すもの
である。本実施例の浮動小数点開平演算装置はIEEE
規格の倍精度浮動小数点数を入力して、同じ倍精度浮動
小数点数の平方根を出力し、部分平方根のデータとして
のビット長が8で部分平方根間には重複がない。図5に
おいて、201は入力レジスタ、202は例外検出手
段、203は指数定数減算手段、204はシフタ、20
5は指数定数加算手段、206はリーディングビット付
加回路、207は正規化手段、208はテーブル情報格
納手段、209はマルチプレクサ、210は剰余保持手
段、211はシフタ、212から218は補正後部分平
方根保持手段(以下では補正後を省略する)、219は
補正前部分平方根保持手段、220は反転手段、221
は被乗数生成手段、222から224はマルチプレク
サ、225は(R+S×T)演算手段、226はマルチ
プレクサ、227は定数減算手段、228はマルチプレ
クサである。
に係る浮動小数点開平演算装置のブロック図を示すもの
である。本実施例の浮動小数点開平演算装置はIEEE
規格の倍精度浮動小数点数を入力して、同じ倍精度浮動
小数点数の平方根を出力し、部分平方根のデータとして
のビット長が8で部分平方根間には重複がない。図5に
おいて、201は入力レジスタ、202は例外検出手
段、203は指数定数減算手段、204はシフタ、20
5は指数定数加算手段、206はリーディングビット付
加回路、207は正規化手段、208はテーブル情報格
納手段、209はマルチプレクサ、210は剰余保持手
段、211はシフタ、212から218は補正後部分平
方根保持手段(以下では補正後を省略する)、219は
補正前部分平方根保持手段、220は反転手段、221
は被乗数生成手段、222から224はマルチプレク
サ、225は(R+S×T)演算手段、226はマルチ
プレクサ、227は定数減算手段、228はマルチプレ
クサである。
【0033】以下、具体的な数値例を用いて図5に示す
浮動小数点開平演算装置の動作を説明する。図3,図4
はオペランドが入力されてから、各々の手段で処理され
ていく過程を示している。はじめにオペランドとして5
6F80A494B9A80F8が入力され、入力レジ
スタ201にセットされる。例外検出手段202では入
力オペランドが負の場合はデータ例外として検出し、浮
動小数点開平演算装置の外部の命令実行制御部に対して
例外が発生していることを通知する。本数値例では(以
下では、この前提を省略する)オペランドは正であるの
で例外は検出されない。入力レジスタ201の出力の2
62から252の指数に対して、指数定数減算手段203に
より3FFが引かれた後、シフタ204により右に1ビ
ットシフトされ、指数定数加算手段205により再び3
FFが加算され、結果の指数が求められる。リーディン
グビット付加回路206では入力レジスタ201の出力
の251から20 の仮数部に対して先頭にリーディングビ
ットの1が付加される。正規化手段207では、入力レ
ジスタ201の出力の252のビットが1の場合入力を左
に2ビットシフトして、また、入力レジスタ201の出
力の252のビットが0の場合入力を左に3ビットシフト
して出力する。テーブル情報格納手段208には正規化
手段207の255から243の13ビットが入力され、0
D0DEが出力される。さらにこの出力の最下位ビット
として正規化手段207の252のビットを反転したもの
が付加されるのであるが、本例では1が付加され、(R
+S×T)演算手段225での実質的な乗数は0D0D
Fとなる。マルチプレクサ209では正規化手段207
の出力を選択し、この出力が剰余保持手段210にセッ
トされる。このとき、部分平方根保持手段212から2
18はゼロにリセットされる。マルチプレクサ222、
223、224はそれぞれ、‘0’、剰余保持手段21
0の出力、テーブル情報格納手段208の出力を選択
し、(R+S×T)演算手段225で06029252
E6A03E0と0D0DFの乗算が行なわれ、04E
75320D19917F6020の積が求められる。
マルチプレクサ226では(R+S×T)演算手段22
5の271から263の9ビットを符号1ビット、データ8
ビットの1番目の部分平方根として選択し、補正前部分
平方根保持手段219にこの部分平方根がセットされ
る。シフタ211では剰余保持手段210の出力が左に
8ビットシフトされる。反転手段220では部分平方根
を入力してビット反転するとともに上位に8ビット符号
を拡張し、最下位ビットに1を付加して出力する。ま
た、被乗数生成手段221では、1回目の反復では補正
前部分平方根保持手段219の出力の符号ビットを除い
てデータ8ビットを255から248に埋め込み、他のビッ
トをゼロとして出力する。マルチプレクサ222、22
3、224はそれぞれ、シフタ211の出力、被乗数生
成手段221の出力、反転手段220の出力を選択す
る。(R+S×T)演算手段225ではマルチプレクサ
222の出力をR、マルチプレクサ223の出力をS、
マルチプレクサ224の出力をTとして入力し、(R+
S×T)の演算を実行する。(R+S×T)演算手段2
25の出力3E0252E6A03E000はマルチプ
レクサ209により選択され、剰余保持手段210にセ
ットされる。一方、定数減算手段227では補正前部分
平方根保持手段219の出力のLSBから1を引く。マ
ルチプレクサ228は、(R+S×T)演算手段225
の出力が負の場合、定数減算手段227の出力を選択
し、それ以外の場合は補正前部分平方根保持手段219
の出力を選択する。1回目の反復では上記の条件を判断
して定数減算手段227の出力を選択する。マルチプレ
クサ228の出力を部分平方根保持手段212にセット
する。
浮動小数点開平演算装置の動作を説明する。図3,図4
はオペランドが入力されてから、各々の手段で処理され
ていく過程を示している。はじめにオペランドとして5
6F80A494B9A80F8が入力され、入力レジ
スタ201にセットされる。例外検出手段202では入
力オペランドが負の場合はデータ例外として検出し、浮
動小数点開平演算装置の外部の命令実行制御部に対して
例外が発生していることを通知する。本数値例では(以
下では、この前提を省略する)オペランドは正であるの
で例外は検出されない。入力レジスタ201の出力の2
62から252の指数に対して、指数定数減算手段203に
より3FFが引かれた後、シフタ204により右に1ビ
ットシフトされ、指数定数加算手段205により再び3
FFが加算され、結果の指数が求められる。リーディン
グビット付加回路206では入力レジスタ201の出力
の251から20 の仮数部に対して先頭にリーディングビ
ットの1が付加される。正規化手段207では、入力レ
ジスタ201の出力の252のビットが1の場合入力を左
に2ビットシフトして、また、入力レジスタ201の出
力の252のビットが0の場合入力を左に3ビットシフト
して出力する。テーブル情報格納手段208には正規化
手段207の255から243の13ビットが入力され、0
D0DEが出力される。さらにこの出力の最下位ビット
として正規化手段207の252のビットを反転したもの
が付加されるのであるが、本例では1が付加され、(R
+S×T)演算手段225での実質的な乗数は0D0D
Fとなる。マルチプレクサ209では正規化手段207
の出力を選択し、この出力が剰余保持手段210にセッ
トされる。このとき、部分平方根保持手段212から2
18はゼロにリセットされる。マルチプレクサ222、
223、224はそれぞれ、‘0’、剰余保持手段21
0の出力、テーブル情報格納手段208の出力を選択
し、(R+S×T)演算手段225で06029252
E6A03E0と0D0DFの乗算が行なわれ、04E
75320D19917F6020の積が求められる。
マルチプレクサ226では(R+S×T)演算手段22
5の271から263の9ビットを符号1ビット、データ8
ビットの1番目の部分平方根として選択し、補正前部分
平方根保持手段219にこの部分平方根がセットされ
る。シフタ211では剰余保持手段210の出力が左に
8ビットシフトされる。反転手段220では部分平方根
を入力してビット反転するとともに上位に8ビット符号
を拡張し、最下位ビットに1を付加して出力する。ま
た、被乗数生成手段221では、1回目の反復では補正
前部分平方根保持手段219の出力の符号ビットを除い
てデータ8ビットを255から248に埋め込み、他のビッ
トをゼロとして出力する。マルチプレクサ222、22
3、224はそれぞれ、シフタ211の出力、被乗数生
成手段221の出力、反転手段220の出力を選択す
る。(R+S×T)演算手段225ではマルチプレクサ
222の出力をR、マルチプレクサ223の出力をS、
マルチプレクサ224の出力をTとして入力し、(R+
S×T)の演算を実行する。(R+S×T)演算手段2
25の出力3E0252E6A03E000はマルチプ
レクサ209により選択され、剰余保持手段210にセ
ットされる。一方、定数減算手段227では補正前部分
平方根保持手段219の出力のLSBから1を引く。マ
ルチプレクサ228は、(R+S×T)演算手段225
の出力が負の場合、定数減算手段227の出力を選択
し、それ以外の場合は補正前部分平方根保持手段219
の出力を選択する。1回目の反復では上記の条件を判断
して定数減算手段227の出力を選択する。マルチプレ
クサ228の出力を部分平方根保持手段212にセット
する。
【0034】次に2回目の反復計算に入る。テーブル情
報格納手段208の出力は2回目以降も1回目と変わら
ない。マルチプレクサ222、223、224はそれぞ
れ、‘0’、剰余保持手段210にセットされた1番目
の剰余R1 の3E0252E6A03E000、テーブ
ル情報格納手段208の出力0D0DFを選択し、(R
+S×T)演算手段225は(S×T)を実行し、積3
E6027619917F602000を出力する。2
72から264の1E6を符号1ビット、データ8ビットの
2番目の部分平方根としてマルチプレクサ226により
選択し、補正前部分平方根保持手段219にこの部分平
方根がセットされる。シフタ211では剰余保持手段2
10の出力が左に8ビットシフトされる。反転手段22
0では1E6が反転、上位に8ビット符号が拡張され、
00019となり、最下位ビットとして1が付加されて
出力され、(R+S×T)演算手段225では実質的に
乗数として0001Aで演算が行なわれる。一方、被乗
数生成手段221では、部分平方根保持手段212から
218の出力を左に1ビットシフトするとともに、補正
前部分平方根保持手段219の出力する9ビットを248
から240へ埋め込み、139E60000000000
を出力する。マルチプレクサ222、223、224は
それぞれ、シフタ211の出力、被乗数生成手段221
の出力、反転手段220の出力を選択する。(R+S×
T)演算手段225ではマルチプレクサ222の出力を
R、マルチプレクサ223の出力をS、マルチプレクサ
224の出力をTとして入力し、(R+S×T)の演算
を実行する。(R+S×T)演算手段225の出力00
68A6A03E00000はマルチプレクサ209に
より選択され、剰余保持手段210にセットされる。マ
ルチプレクサ228は、補正前部分平方根保持手段21
9の出力を選択して出力し、部分平方根保持手段213
ではマルチプレクサ228の出力をセットする。
報格納手段208の出力は2回目以降も1回目と変わら
ない。マルチプレクサ222、223、224はそれぞ
れ、‘0’、剰余保持手段210にセットされた1番目
の剰余R1 の3E0252E6A03E000、テーブ
ル情報格納手段208の出力0D0DFを選択し、(R
+S×T)演算手段225は(S×T)を実行し、積3
E6027619917F602000を出力する。2
72から264の1E6を符号1ビット、データ8ビットの
2番目の部分平方根としてマルチプレクサ226により
選択し、補正前部分平方根保持手段219にこの部分平
方根がセットされる。シフタ211では剰余保持手段2
10の出力が左に8ビットシフトされる。反転手段22
0では1E6が反転、上位に8ビット符号が拡張され、
00019となり、最下位ビットとして1が付加されて
出力され、(R+S×T)演算手段225では実質的に
乗数として0001Aで演算が行なわれる。一方、被乗
数生成手段221では、部分平方根保持手段212から
218の出力を左に1ビットシフトするとともに、補正
前部分平方根保持手段219の出力する9ビットを248
から240へ埋め込み、139E60000000000
を出力する。マルチプレクサ222、223、224は
それぞれ、シフタ211の出力、被乗数生成手段221
の出力、反転手段220の出力を選択する。(R+S×
T)演算手段225ではマルチプレクサ222の出力を
R、マルチプレクサ223の出力をS、マルチプレクサ
224の出力をTとして入力し、(R+S×T)の演算
を実行する。(R+S×T)演算手段225の出力00
68A6A03E00000はマルチプレクサ209に
より選択され、剰余保持手段210にセットされる。マ
ルチプレクサ228は、補正前部分平方根保持手段21
9の出力を選択して出力し、部分平方根保持手段213
ではマルチプレクサ228の出力をセットする。
【0035】次に3回目の反復計算に入る。テーブル情
報格納手段208の出力は1回目と変わらない。マルチ
プレクサ222、223、224はそれぞれ、‘0’、
剰余保持手段210にセットされた2番目の剰余R2 の
0068A6A03E00000、テーブル情報格納手
段208の出力0D0DFを選択し、(R+S×T)演
算手段225は(S×T)を実行し、積0055628
B57F60200000を出力する。272から264の
005を符号1ビット、データ8ビットの3番目の部分
平方根としてマルチプレクサ226により選択し、補正
前部分平方根保持手段219にこの部分平方根がセット
される。シフタ211では剰余保持手段210の出力が
左に8ビットシフトされる。反転手段220では005
が反転、上位に8ビット符号が拡張され、1FFFAと
なり、最下位ビットとして1が付加されて出力され、
(R+S×T)演算手段225では実質的に乗数として
1FFFBで演算が行なわれる。一方、被乗数生成手段
221では、部分平方根保持手段212から218の出
力を左に1ビットシフトするとともに、補正前部分平方
根保持手段219の出力する9ビットを240から232へ
埋め込み、139CC0500000000を出力す
る。マルチプレクサ222、223、224はそれぞ
れ、シフタ211の出力、被乗数生成手段221の出
力、反転手段220の出力を選択する。(R+S×T)
演算手段225ではマルチプレクサ222の出力をR、
マルチプレクサ223の出力をS、マルチプレクサ22
4の出力をTとして入力し、(R+S×T)の演算を実
行する。(R+S×T)演算手段225の出力0696
DEAE0000000はマルチプレクサ209により
選択され、剰余保持手段210にセットされる。マルチ
プレクサ228は、補正前部分平方根保持手段219の
出力を選択して出力し、部分平方根保持手段214では
マルチプレクサ228の出力をセットする。
報格納手段208の出力は1回目と変わらない。マルチ
プレクサ222、223、224はそれぞれ、‘0’、
剰余保持手段210にセットされた2番目の剰余R2 の
0068A6A03E00000、テーブル情報格納手
段208の出力0D0DFを選択し、(R+S×T)演
算手段225は(S×T)を実行し、積0055628
B57F60200000を出力する。272から264の
005を符号1ビット、データ8ビットの3番目の部分
平方根としてマルチプレクサ226により選択し、補正
前部分平方根保持手段219にこの部分平方根がセット
される。シフタ211では剰余保持手段210の出力が
左に8ビットシフトされる。反転手段220では005
が反転、上位に8ビット符号が拡張され、1FFFAと
なり、最下位ビットとして1が付加されて出力され、
(R+S×T)演算手段225では実質的に乗数として
1FFFBで演算が行なわれる。一方、被乗数生成手段
221では、部分平方根保持手段212から218の出
力を左に1ビットシフトするとともに、補正前部分平方
根保持手段219の出力する9ビットを240から232へ
埋め込み、139CC0500000000を出力す
る。マルチプレクサ222、223、224はそれぞ
れ、シフタ211の出力、被乗数生成手段221の出
力、反転手段220の出力を選択する。(R+S×T)
演算手段225ではマルチプレクサ222の出力をR、
マルチプレクサ223の出力をS、マルチプレクサ22
4の出力をTとして入力し、(R+S×T)の演算を実
行する。(R+S×T)演算手段225の出力0696
DEAE0000000はマルチプレクサ209により
選択され、剰余保持手段210にセットされる。マルチ
プレクサ228は、補正前部分平方根保持手段219の
出力を選択して出力し、部分平方根保持手段214では
マルチプレクサ228の出力をセットする。
【0036】次に4回目の反復計算に入る。テーブル情
報格納手段208の出力は1回目と変わらない。マルチ
プレクサ222、223、224はそれぞれ、‘0’、
剰余保持手段210にセットされた3番目の剰余R3 の
0696DEAE0000000、テーブル情報格納手
段208の出力0D0DFを選択し、(R+S×T)演
算手段225は(S×T)を実行し、積0560525
959920000000を出力する。272から264の
056を符号1ビット、データ8ビットの4番目の部分
平方根としてマルチプレクサ226により選択し、補正
前部分平方根保持手段219にこの部分平方根がセット
される。シフタ211では剰余保持手段210の出力が
左に8ビットシフトされる。反転手段220では056
が反転、上位に8ビット符号が拡張され、1FFA9と
なり、最下位ビットとして1が付加されて出力され、
(R+S×T)演算手段225では実質的に乗数として
1FFAAで演算が行なわれる。一方、被乗数生成手段
221では、部分平方根保持手段212から218の出
力を左に1ビットシフトするとともに、補正前部分平方
根保持手段219の出力する9ビットを232から224へ
埋め込み、139CC0A56000000を出力す
る。マルチプレクサ222、223、224はそれぞ
れ、シフタ211の出力、被乗数生成手段221の出
力、反転手段220の出力を選択する。(R+S×T)
演算手段225ではマルチプレクサ222の出力をR、
マルチプレクサ223の出力をS、マルチプレクサ22
4の出力をTとして入力し、(R+S×T)の演算を実
行する。(R+S×T)演算手段225の出力0035
F671C000000はマルチプレクサ209により
選択され、剰余保持手段210にセットされる。マルチ
プレクサ228は、補正前部分平方根保持手段219の
出力を選択して出力し、部分平方根保持手段215では
マルチプレクサ228の出力をセットする。
報格納手段208の出力は1回目と変わらない。マルチ
プレクサ222、223、224はそれぞれ、‘0’、
剰余保持手段210にセットされた3番目の剰余R3 の
0696DEAE0000000、テーブル情報格納手
段208の出力0D0DFを選択し、(R+S×T)演
算手段225は(S×T)を実行し、積0560525
959920000000を出力する。272から264の
056を符号1ビット、データ8ビットの4番目の部分
平方根としてマルチプレクサ226により選択し、補正
前部分平方根保持手段219にこの部分平方根がセット
される。シフタ211では剰余保持手段210の出力が
左に8ビットシフトされる。反転手段220では056
が反転、上位に8ビット符号が拡張され、1FFA9と
なり、最下位ビットとして1が付加されて出力され、
(R+S×T)演算手段225では実質的に乗数として
1FFAAで演算が行なわれる。一方、被乗数生成手段
221では、部分平方根保持手段212から218の出
力を左に1ビットシフトするとともに、補正前部分平方
根保持手段219の出力する9ビットを232から224へ
埋め込み、139CC0A56000000を出力す
る。マルチプレクサ222、223、224はそれぞ
れ、シフタ211の出力、被乗数生成手段221の出
力、反転手段220の出力を選択する。(R+S×T)
演算手段225ではマルチプレクサ222の出力をR、
マルチプレクサ223の出力をS、マルチプレクサ22
4の出力をTとして入力し、(R+S×T)の演算を実
行する。(R+S×T)演算手段225の出力0035
F671C000000はマルチプレクサ209により
選択され、剰余保持手段210にセットされる。マルチ
プレクサ228は、補正前部分平方根保持手段219の
出力を選択して出力し、部分平方根保持手段215では
マルチプレクサ228の出力をセットする。
【0037】次に5回目の反復計算に入る。テーブル情
報格納手段208の出力は1回目と変わらない。マルチ
プレクサ222、223、224はそれぞれ、‘0’、
剰余保持手段210にセットされた4番目の剰余R4 の
0035F671C000000、テーブル情報格納手
段208の出力0D0DFを選択し、(R+S×T)演
算手段225は(S×T)を実行し、積002C073
E19164000000を出力する。272から264の
003を符号1ビット、データ8ビットの5番目の部分
平方根としてマルチプレクサ226により選択し、補正
前部分平方根保持手段219にこの部分平方根がセット
される。シフタ211では剰余保持手段210の出力が
左に8ビットシフトされる。反転手段220では003
が反転、上位に8ビット符号が拡張され、1FFFCと
なり、最下位ビットとして1が付加されて出力され、
(R+S×T)演算手段225では実質的に乗数として
1FFFDで演算が行なわれる。一方、被乗数生成手段
221では、部分平方根保持手段212から218の出
力を左に1ビットシフトするとともに、補正前部分平方
根保持手段219の出力する9ビットを224から216へ
埋め込み、139CC0AAC030000を出力す
る。マルチプレクサ222、223、224はそれぞ
れ、シフタ211の出力、被乗数生成手段221の出
力、反転手段220の出力を選択する。(R+S×T)
演算手段225ではマルチプレクサ222の出力をR、
マルチプレクサ223の出力をS、マルチプレクサ22
4の出力をTとして入力し、(R+S×T)の演算を実
行する。(R+S×T)演算手段225の出力3B20
2FBFBF70000はマルチプレクサ209により
選択され、剰余保持手段210にセットされる。マルチ
プレクサ228は、定数減算手段227の出力を選択し
て出力し、部分平方根保持手段216ではマルチプレク
サ228の出力をセットする。
報格納手段208の出力は1回目と変わらない。マルチ
プレクサ222、223、224はそれぞれ、‘0’、
剰余保持手段210にセットされた4番目の剰余R4 の
0035F671C000000、テーブル情報格納手
段208の出力0D0DFを選択し、(R+S×T)演
算手段225は(S×T)を実行し、積002C073
E19164000000を出力する。272から264の
003を符号1ビット、データ8ビットの5番目の部分
平方根としてマルチプレクサ226により選択し、補正
前部分平方根保持手段219にこの部分平方根がセット
される。シフタ211では剰余保持手段210の出力が
左に8ビットシフトされる。反転手段220では003
が反転、上位に8ビット符号が拡張され、1FFFCと
なり、最下位ビットとして1が付加されて出力され、
(R+S×T)演算手段225では実質的に乗数として
1FFFDで演算が行なわれる。一方、被乗数生成手段
221では、部分平方根保持手段212から218の出
力を左に1ビットシフトするとともに、補正前部分平方
根保持手段219の出力する9ビットを224から216へ
埋め込み、139CC0AAC030000を出力す
る。マルチプレクサ222、223、224はそれぞ
れ、シフタ211の出力、被乗数生成手段221の出
力、反転手段220の出力を選択する。(R+S×T)
演算手段225ではマルチプレクサ222の出力をR、
マルチプレクサ223の出力をS、マルチプレクサ22
4の出力をTとして入力し、(R+S×T)の演算を実
行する。(R+S×T)演算手段225の出力3B20
2FBFBF70000はマルチプレクサ209により
選択され、剰余保持手段210にセットされる。マルチ
プレクサ228は、定数減算手段227の出力を選択し
て出力し、部分平方根保持手段216ではマルチプレク
サ228の出力をセットする。
【0038】次に6回目の反復計算に入る。テーブル情
報格納手段208の出力は1回目と変わらない。マルチ
プレクサ222、223、224はそれぞれ、‘0’、
剰余保持手段210にセットされた5番目の剰余R5 の
3B202FBFBF70000、テーブル情報格納手
段208の出力0D0DFを選択し、(R+S×T)演
算手段225は(S×T)を実行し、積3C05E7D
56392C290000を出力する。272から264の
1C0を符号1ビット、データ8ビットの6番目の部分
平方根としてマルチプレクサ226により選択し、補正
前部分平方根保持手段219にこの部分平方根がセット
される。シフタ211では剰余保持手段210の出力が
左に8ビットシフトされる。反転手段220では1C0
が反転、上位に8ビット符号が拡張され、0003Fと
なり、最下位ビットとして1が付加されて出力され、
(R+S×T)演算手段225では実質的に乗数として
00040で演算が行なわれる。一方、被乗数生成手段
221では、部分平方根保持手段212から218の出
力を左に1ビットシフトするとともに、補正前部分平方
根保持手段219の出力する9ビットを216から28 へ
埋め込み、139CC0AAC05C000を出力す
る。マルチプレクサ222、223、224はそれぞ
れ、シフタ211の出力、被乗数生成手段221の出
力、反転手段220の出力を選択する。(R+S×T)
演算手段225ではマルチプレクサ222の出力をR、
マルチプレクサ223の出力をS、マルチプレクサ22
4の出力をTとして入力し、(R+S×T)の演算を実
行する。(R+S×T)演算手段225の出力0075
FEA6F870000はマルチプレクサ209により
選択され、剰余保持手段210にセットされる。マルチ
プレクサ228は、補正前部分平方根保持手段219の
出力を選択して出力し、部分平方根保持手段217では
マルチプレクサ228出力をセットする。
報格納手段208の出力は1回目と変わらない。マルチ
プレクサ222、223、224はそれぞれ、‘0’、
剰余保持手段210にセットされた5番目の剰余R5 の
3B202FBFBF70000、テーブル情報格納手
段208の出力0D0DFを選択し、(R+S×T)演
算手段225は(S×T)を実行し、積3C05E7D
56392C290000を出力する。272から264の
1C0を符号1ビット、データ8ビットの6番目の部分
平方根としてマルチプレクサ226により選択し、補正
前部分平方根保持手段219にこの部分平方根がセット
される。シフタ211では剰余保持手段210の出力が
左に8ビットシフトされる。反転手段220では1C0
が反転、上位に8ビット符号が拡張され、0003Fと
なり、最下位ビットとして1が付加されて出力され、
(R+S×T)演算手段225では実質的に乗数として
00040で演算が行なわれる。一方、被乗数生成手段
221では、部分平方根保持手段212から218の出
力を左に1ビットシフトするとともに、補正前部分平方
根保持手段219の出力する9ビットを216から28 へ
埋め込み、139CC0AAC05C000を出力す
る。マルチプレクサ222、223、224はそれぞ
れ、シフタ211の出力、被乗数生成手段221の出
力、反転手段220の出力を選択する。(R+S×T)
演算手段225ではマルチプレクサ222の出力をR、
マルチプレクサ223の出力をS、マルチプレクサ22
4の出力をTとして入力し、(R+S×T)の演算を実
行する。(R+S×T)演算手段225の出力0075
FEA6F870000はマルチプレクサ209により
選択され、剰余保持手段210にセットされる。マルチ
プレクサ228は、補正前部分平方根保持手段219の
出力を選択して出力し、部分平方根保持手段217では
マルチプレクサ228出力をセットする。
【0039】次に7回目の反復計算に入る。テーブル情
報格納手段208の出力は1回目と変わらない。マルチ
プレクサ222、223、224はそれぞれ、‘0’、
剰余保持手段210にセットされた6番目の剰余R6 の
0075FEA6F870000、テーブル情報格納手
段208の出力0D0DFを選択し、(R+S×T)演
算手段225は(S×T)を実行し、積006045B
07D4D6990000を出力する。272から264の
060を符号1ビット、データ8ビットの7番目の部分
平方根としてマルチプレクサ226により選択し、補正
前部分平方根保持手段219にこの部分平方根がセット
される。シフタ211では剰余保持手段210の出力が
左に8ビットシフトされる。反転手段220では060
が反転、上位に8ビット符号が拡張され、1FF9Fと
なり、最下位ビットとして1が付加されて出力され、
(R+S×T)演算手段225では実質的に乗数として
1FFA0で演算が行なわれる。一方、被乗数生成手段
221では、部分平方根保持手段212から218の出
力を左に1ビットシフトするとともに、補正前部分平方
根保持手段219の出力する9ビットを28 から20 へ
埋め込み、139CC0AAC058160を出力す
る。マルチプレクサ222、223、224はそれぞ
れ、シフタ211の出力、被乗数生成手段221の出
力、反転手段220の出力を選択する。(R+S×T)
演算手段225ではマルチプレクサ222の出力をR、
マルチプレクサ223の出力をS、マルチプレクサ22
4の出力をTとして入力し、(R+S×T)の演算を実
行する。(R+S×T)演算手段225の出力0052
22F7EDEFDC0はマルチプレクサ209により
選択され、剰余保持手段210にセットされる。マルチ
プレクサ228は、補正前部分平方根保持手段219の
出力を選択して出力し、部分平方根保持手段218では
マルチプレクサ228の出力をセットする。
報格納手段208の出力は1回目と変わらない。マルチ
プレクサ222、223、224はそれぞれ、‘0’、
剰余保持手段210にセットされた6番目の剰余R6 の
0075FEA6F870000、テーブル情報格納手
段208の出力0D0DFを選択し、(R+S×T)演
算手段225は(S×T)を実行し、積006045B
07D4D6990000を出力する。272から264の
060を符号1ビット、データ8ビットの7番目の部分
平方根としてマルチプレクサ226により選択し、補正
前部分平方根保持手段219にこの部分平方根がセット
される。シフタ211では剰余保持手段210の出力が
左に8ビットシフトされる。反転手段220では060
が反転、上位に8ビット符号が拡張され、1FF9Fと
なり、最下位ビットとして1が付加されて出力され、
(R+S×T)演算手段225では実質的に乗数として
1FFA0で演算が行なわれる。一方、被乗数生成手段
221では、部分平方根保持手段212から218の出
力を左に1ビットシフトするとともに、補正前部分平方
根保持手段219の出力する9ビットを28 から20 へ
埋め込み、139CC0AAC058160を出力す
る。マルチプレクサ222、223、224はそれぞ
れ、シフタ211の出力、被乗数生成手段221の出
力、反転手段220の出力を選択する。(R+S×T)
演算手段225ではマルチプレクサ222の出力をR、
マルチプレクサ223の出力をS、マルチプレクサ22
4の出力をTとして入力し、(R+S×T)の演算を実
行する。(R+S×T)演算手段225の出力0052
22F7EDEFDC0はマルチプレクサ209により
選択され、剰余保持手段210にセットされる。マルチ
プレクサ228は、補正前部分平方根保持手段219の
出力を選択して出力し、部分平方根保持手段218では
マルチプレクサ228の出力をセットする。
【0040】最終的な結果として、263の符号ビットと
して0、262から252の指数部として指数定数加算手段
205の出力する11ビット、251から20 の仮数部と
して部分平方根保持手段212の下位7ビット、部分平
方根保持手段213から217の40ビット、マルチプ
レクサ228の出力の上位5ビットをひとまとめにし
て、46739CC0AAC0580Cとして図5に示
す開平演算装置から出力される。 (実施例3)図6,図7,図8は本発明の第3の実施例
に係る浮動小数点ベクトル開平演算装置のブロック図を
示すものである。本実施例の浮動小数点ベクトル開平演
算装置はIEEE規格の倍精度浮動小数点数ベクトルを
要素順に入力して、同じ倍精度浮動小数点数の平方根ベ
クトルを要素順に出力し、部分平方根のデータとしての
ビット長が8で部分平方根間には重複がない。図6,図
7,図8において、301は入力レジスタ、302_1
から302_16は例外検出情報保持手段、303は指
数定数減算手段、304はシフタ、305は指数定数加
算手段、306_1から306_16は指数保持手段、
307はリーディングビット付加回路、308は正規化
手段、309は正規化オペランドレジスタ、310はテ
ーブル情報格納手段、311_2から311_14はテ
ーブル出力情報保持手段、312_2から312_16
は剰余保持手段、313_1から313_7は乗算手
段、314_1から314_7は補正前部分平方根保持
手段、315_1から315_7は反転手段、316_
1から316_7は被乗数生成手段、317_1から3
17_7は(R+S×T)演算手段、318_1から3
18_7は定数減算手段、319_1から319_7は
マルチプレクサ、320_4から320_16、321
_6から321_16、322_8から322_16、
323_10から323_16、324_12から32
4_16、325_14から325_16、326_1
6は補正後部分平方根保持手段、327_1から327
_7はシフタ、328は例外検出手段である。
して0、262から252の指数部として指数定数加算手段
205の出力する11ビット、251から20 の仮数部と
して部分平方根保持手段212の下位7ビット、部分平
方根保持手段213から217の40ビット、マルチプ
レクサ228の出力の上位5ビットをひとまとめにし
て、46739CC0AAC0580Cとして図5に示
す開平演算装置から出力される。 (実施例3)図6,図7,図8は本発明の第3の実施例
に係る浮動小数点ベクトル開平演算装置のブロック図を
示すものである。本実施例の浮動小数点ベクトル開平演
算装置はIEEE規格の倍精度浮動小数点数ベクトルを
要素順に入力して、同じ倍精度浮動小数点数の平方根ベ
クトルを要素順に出力し、部分平方根のデータとしての
ビット長が8で部分平方根間には重複がない。図6,図
7,図8において、301は入力レジスタ、302_1
から302_16は例外検出情報保持手段、303は指
数定数減算手段、304はシフタ、305は指数定数加
算手段、306_1から306_16は指数保持手段、
307はリーディングビット付加回路、308は正規化
手段、309は正規化オペランドレジスタ、310はテ
ーブル情報格納手段、311_2から311_14はテ
ーブル出力情報保持手段、312_2から312_16
は剰余保持手段、313_1から313_7は乗算手
段、314_1から314_7は補正前部分平方根保持
手段、315_1から315_7は反転手段、316_
1から316_7は被乗数生成手段、317_1から3
17_7は(R+S×T)演算手段、318_1から3
18_7は定数減算手段、319_1から319_7は
マルチプレクサ、320_4から320_16、321
_6から321_16、322_8から322_16、
323_10から323_16、324_12から32
4_16、325_14から325_16、326_1
6は補正後部分平方根保持手段、327_1から327
_7はシフタ、328は例外検出手段である。
【0041】以下、具体的な数値例を用いて図6,図
7,図8に示す浮動小数点ベクトル開平演算装置の動作
を説明する。図3,図4はベクトルの1つの要素のオペ
ランドが入力されてから、各々の手段で処理されていく
過程を示している。以下、1つの要素がステージ毎にど
のように処理されていくかについて説明する。
7,図8に示す浮動小数点ベクトル開平演算装置の動作
を説明する。図3,図4はベクトルの1つの要素のオペ
ランドが入力されてから、各々の手段で処理されていく
過程を示している。以下、1つの要素がステージ毎にど
のように処理されていくかについて説明する。
【0042】ステージ 0:はじめにオペランドとして
56F80A494B9A80F8が入力され、入力レ
ジスタ301にセットされる。入力レジスタ301の出
力の262から252の指数に対して、指数定数減算手段3
03により3FFを引く。一方、リーディングビット付
加回路307では入力レジスタ301の出力の251から
20 の仮数部に対して先頭にリーディングビットの1を
付加する。正規化手段308では、入力レジスタ301
の出力の252のビットが1の場合入力を左に2ビットシ
フトして、また、入力レジスタ301の出力の252のビ
ットが0の場合入力を左に3ビットシフトして出力す
る。
56F80A494B9A80F8が入力され、入力レ
ジスタ301にセットされる。入力レジスタ301の出
力の262から252の指数に対して、指数定数減算手段3
03により3FFを引く。一方、リーディングビット付
加回路307では入力レジスタ301の出力の251から
20 の仮数部に対して先頭にリーディングビットの1を
付加する。正規化手段308では、入力レジスタ301
の出力の252のビットが1の場合入力を左に2ビットシ
フトして、また、入力レジスタ301の出力の252のビ
ットが0の場合入力を左に3ビットシフトして出力す
る。
【0043】ステージ 1:はじめに入力レジスタ30
1の出力の先頭1ビットが例外検出情報保持手段302
_1に、指数定数減算手段303の出力が指数保持手段
306_1に、正規化手段308の出力が正規化オペラ
ンドレジスタ309に、各々セットされる。指数保持手
段306_1の出力がシフタ304により右に1ビット
シフトされ、テーブル情報格納手段310には正規化オ
ペランドレジスタ309の出力する255から243の13
ビットが入力され、0D0DEが出力される。さらにこ
の出力の最下位ビットとして正規化オペランドレジスタ
309の出力の242のビットを反転したものが付加され
るのであるが、本例では1が付加され、乗算手段313
_1から313_7での実質的な乗数は0D0DFとな
る。
1の出力の先頭1ビットが例外検出情報保持手段302
_1に、指数定数減算手段303の出力が指数保持手段
306_1に、正規化手段308の出力が正規化オペラ
ンドレジスタ309に、各々セットされる。指数保持手
段306_1の出力がシフタ304により右に1ビット
シフトされ、テーブル情報格納手段310には正規化オ
ペランドレジスタ309の出力する255から243の13
ビットが入力され、0D0DEが出力される。さらにこ
の出力の最下位ビットとして正規化オペランドレジスタ
309の出力の242のビットを反転したものが付加され
るのであるが、本例では1が付加され、乗算手段313
_1から313_7での実質的な乗数は0D0DFとな
る。
【0044】ステージ 2:はじめに例外検出情報保持
手段302_1の出力が302_2に、シフタ304の
出力が指数保持手段306_2に、正規化オペランドレ
ジスタ309の出力が剰余保持手段312_2に、テー
ブル情報格納手段310の出力がテーブル出力情報保持
手段311_2に、それぞれセットされる。指数保持手
段306_2の出力に対して指数定数加算手段305に
より3FFが加算され、結果の指数が求められる。乗算
手段313_1で06029252E6A03E0と0
D0DFの乗算が行なわれ、04E75320D199
17F6020の積が求められる。
手段302_1の出力が302_2に、シフタ304の
出力が指数保持手段306_2に、正規化オペランドレ
ジスタ309の出力が剰余保持手段312_2に、テー
ブル情報格納手段310の出力がテーブル出力情報保持
手段311_2に、それぞれセットされる。指数保持手
段306_2の出力に対して指数定数加算手段305に
より3FFが加算され、結果の指数が求められる。乗算
手段313_1で06029252E6A03E0と0
D0DFの乗算が行なわれ、04E75320D199
17F6020の積が求められる。
【0045】ステージ 3:はじめに指数定数加算手段
305の出力が指数保持手段306_3に、乗算手段3
13_1の271から263の9ビットが符号1ビット、デ
ータ8ビットの1番目の部分平方根として部分平方根保
持手段314_1に、例外検出情報保持手段302_2
の出力が302_3に、剰余保持手段312_2の出力
が312_3に、テーブル出力情報保持手段311_2
の出力が311_3に、それぞれセットされる。シフタ
327_1では剰余保持手段312_3の出力を左に8
ビットシフトする。反転手段315_1では部分平方根
保持手段314_1の出力を入力してビット反転すると
ともに、最下位ビットに1を付加して出力する。また、
被乗数生成手段316_1では、1回目の反復では255
から248までに部分平方根保持手段314_1の出力を
埋め込み、他のビットをゼロとして出力する。(R+S
×T)演算手段317_1ではシフタ328_1の出力
をR、被乗数生成手段316_1の出力をS、反転手段
315_1の出力をTとして入力し、(R+S×T)の
演算を実行する。(R+S×T)演算手段317_1は
3E0252E6A03E000を出力する。一方、定
数減算手段318_1では部分平方根保持手段314_
1の出力のLSBから1を引く。マルチプレクサ319
_1は、(R+S×T)演算手段317_1の出力が負
の場合、定数減算手段318_1の出力を選択し、それ
以外の場合は部分平方根保持手段314_1の出力を選
択する。本例では上記の条件を判断して定数減算手段3
18_1の出力を選択する。
305の出力が指数保持手段306_3に、乗算手段3
13_1の271から263の9ビットが符号1ビット、デ
ータ8ビットの1番目の部分平方根として部分平方根保
持手段314_1に、例外検出情報保持手段302_2
の出力が302_3に、剰余保持手段312_2の出力
が312_3に、テーブル出力情報保持手段311_2
の出力が311_3に、それぞれセットされる。シフタ
327_1では剰余保持手段312_3の出力を左に8
ビットシフトする。反転手段315_1では部分平方根
保持手段314_1の出力を入力してビット反転すると
ともに、最下位ビットに1を付加して出力する。また、
被乗数生成手段316_1では、1回目の反復では255
から248までに部分平方根保持手段314_1の出力を
埋め込み、他のビットをゼロとして出力する。(R+S
×T)演算手段317_1ではシフタ328_1の出力
をR、被乗数生成手段316_1の出力をS、反転手段
315_1の出力をTとして入力し、(R+S×T)の
演算を実行する。(R+S×T)演算手段317_1は
3E0252E6A03E000を出力する。一方、定
数減算手段318_1では部分平方根保持手段314_
1の出力のLSBから1を引く。マルチプレクサ319
_1は、(R+S×T)演算手段317_1の出力が負
の場合、定数減算手段318_1の出力を選択し、それ
以外の場合は部分平方根保持手段314_1の出力を選
択する。本例では上記の条件を判断して定数減算手段3
18_1の出力を選択する。
【0046】ステージ 4:はじめに(R+S×T)演
算手段317_1の出力が剰余保持手段312_4に、
マルチプレクサ319_1の出力が部分平方根保持手段
320_4に、例外検出情報保持手段302_3の出力
が302_4に、指数保持手段306_3の出力が30
6_4に、テーブル出力情報保持手段311_3の出力
が311_4に、それぞれセットされる。剰余保持手段
312_4にセットされた1番目の剰余R1 の3E02
52E6A03E000にテーブル出力情報保持手段3
11_4の出力する0D0DFが乗算手段313_2に
より掛けられ、積3E6027619917F6020
00が出力される。
算手段317_1の出力が剰余保持手段312_4に、
マルチプレクサ319_1の出力が部分平方根保持手段
320_4に、例外検出情報保持手段302_3の出力
が302_4に、指数保持手段306_3の出力が30
6_4に、テーブル出力情報保持手段311_3の出力
が311_4に、それぞれセットされる。剰余保持手段
312_4にセットされた1番目の剰余R1 の3E02
52E6A03E000にテーブル出力情報保持手段3
11_4の出力する0D0DFが乗算手段313_2に
より掛けられ、積3E6027619917F6020
00が出力される。
【0047】ステージ 5:はじめに乗算手段313_
2の出力の272から264の1E6が符号1ビット、デー
タ8ビットの2番目の部分平方根として部分平方根保持
手段314_2に、例外検出情報保持手段302_4の
出力が302_5に、指数保持手段306_4の出力が
306_5に、剰余保持手段312_4の出力が312
_5に、部分平方根保持手段320_4の出力が320
_5に、テーブル出力情報保持手段311_4の出力が
311_5に、それぞれセットされる。シフタ327_
2では剰余保持手段312_5の出力を左に8ビットシ
フトする。反転手段315_2では1E6が反転され、
019となり、最下位ビットとして1が付加されて出力
され、(R+S×T)演算手段317_2では実質的に
乗数として01Aで演算が行なわれる。一方、被乗数生
成手段316_2では、部分平方根保持手段320_5
の出力を左に1ビットシフトするとともに、補正前部分
平方根保持手段314_2の出力する9ビットを248か
ら240へ埋め込み、139E60000000000を
出力する。(R+S×T)演算手段317_2ではシフ
タ327_2の出力をR、被乗数生成手段316_2の
出力をS、反転手段315_2の出力をTとして入力
し、(R+S×T)の演算を実行する。(R+S×T)
演算手段317_2は0068A6A03E00000
を出力する。マルチプレクサ319_2は、部分平方根
保持手段314_2の出力を選択して出力する。
2の出力の272から264の1E6が符号1ビット、デー
タ8ビットの2番目の部分平方根として部分平方根保持
手段314_2に、例外検出情報保持手段302_4の
出力が302_5に、指数保持手段306_4の出力が
306_5に、剰余保持手段312_4の出力が312
_5に、部分平方根保持手段320_4の出力が320
_5に、テーブル出力情報保持手段311_4の出力が
311_5に、それぞれセットされる。シフタ327_
2では剰余保持手段312_5の出力を左に8ビットシ
フトする。反転手段315_2では1E6が反転され、
019となり、最下位ビットとして1が付加されて出力
され、(R+S×T)演算手段317_2では実質的に
乗数として01Aで演算が行なわれる。一方、被乗数生
成手段316_2では、部分平方根保持手段320_5
の出力を左に1ビットシフトするとともに、補正前部分
平方根保持手段314_2の出力する9ビットを248か
ら240へ埋め込み、139E60000000000を
出力する。(R+S×T)演算手段317_2ではシフ
タ327_2の出力をR、被乗数生成手段316_2の
出力をS、反転手段315_2の出力をTとして入力
し、(R+S×T)の演算を実行する。(R+S×T)
演算手段317_2は0068A6A03E00000
を出力する。マルチプレクサ319_2は、部分平方根
保持手段314_2の出力を選択して出力する。
【0048】ステージ 6:はじめに(R+S×T)演
算手段317_2の出力が剰余保持手段312_6に、
部分平方根保持手段320_5の出力が320_6に、
マルチプレクサ319_2の出力が部分平方根保持手段
321_6に、例外検出情報保持手段302_5の出力
が302_6に、指数保持手段306_5の出力が30
6_6に、テーブル出力情報保持手段311_5の出力
が311_6に、それぞれセットされる。剰余保持手段
312_6にセットされた2番目の剰余R2 の0068
A6A03E00000にテーブル出力情報保持手段3
11_6の出力する0D0DFが乗算手段313_3に
より掛けられ、積0055628B57F602000
00が出力される。
算手段317_2の出力が剰余保持手段312_6に、
部分平方根保持手段320_5の出力が320_6に、
マルチプレクサ319_2の出力が部分平方根保持手段
321_6に、例外検出情報保持手段302_5の出力
が302_6に、指数保持手段306_5の出力が30
6_6に、テーブル出力情報保持手段311_5の出力
が311_6に、それぞれセットされる。剰余保持手段
312_6にセットされた2番目の剰余R2 の0068
A6A03E00000にテーブル出力情報保持手段3
11_6の出力する0D0DFが乗算手段313_3に
より掛けられ、積0055628B57F602000
00が出力される。
【0049】ステージ 7:はじめに乗算手段313_
3の出力の272から264の005が符号1ビット、デー
タ8ビットの3番目の部分平方根として部分平方根保持
手段314_3に、例外検出情報保持手段302_6の
出力が302_7に、指数保持手段306_6の出力が
306_7に、剰余保持手段312_6の出力が312
_7に、部分平方根保持手段320_6の出力が320
_7に、部分平方根保持手段321_6の出力が321
_7に、テーブル出力情報保持手段311_6の出力が
311_7に、それぞれセットされる。シフタ327_
3では剰余保持手段312_7の出力を左に8ビットシ
フトする。反転手段315_3では005が反転され、
1FAとなり、最下位ビットとして1が付加されて出力
され、(R+S×T)演算手段317_3では実質的に
乗数として1FBで演算が行なわれる。一方、被乗数生
成手段316_3では、部分平方根保持手段320_7
と321_7の出力を左に1ビットシフトするととも
に、補正前部分平方根保持手段314_3の出力する9
ビットを240から232へ埋め込み、139CC0500
000000を出力する。(R+S×T)演算手段31
7_3ではシフタ327_3の出力をR、被乗数生成手
段316_3の出力をS、反転手段315_3の出力を
Tとして入力し、(R+S×T)の演算を実行する。
(R+S×T)演算手段317_3は0696DEAE
0000000を出力する。マルチプレクサ319_3
は、部分平方根保持手段314_3の出力を選択して出
力する。
3の出力の272から264の005が符号1ビット、デー
タ8ビットの3番目の部分平方根として部分平方根保持
手段314_3に、例外検出情報保持手段302_6の
出力が302_7に、指数保持手段306_6の出力が
306_7に、剰余保持手段312_6の出力が312
_7に、部分平方根保持手段320_6の出力が320
_7に、部分平方根保持手段321_6の出力が321
_7に、テーブル出力情報保持手段311_6の出力が
311_7に、それぞれセットされる。シフタ327_
3では剰余保持手段312_7の出力を左に8ビットシ
フトする。反転手段315_3では005が反転され、
1FAとなり、最下位ビットとして1が付加されて出力
され、(R+S×T)演算手段317_3では実質的に
乗数として1FBで演算が行なわれる。一方、被乗数生
成手段316_3では、部分平方根保持手段320_7
と321_7の出力を左に1ビットシフトするととも
に、補正前部分平方根保持手段314_3の出力する9
ビットを240から232へ埋め込み、139CC0500
000000を出力する。(R+S×T)演算手段31
7_3ではシフタ327_3の出力をR、被乗数生成手
段316_3の出力をS、反転手段315_3の出力を
Tとして入力し、(R+S×T)の演算を実行する。
(R+S×T)演算手段317_3は0696DEAE
0000000を出力する。マルチプレクサ319_3
は、部分平方根保持手段314_3の出力を選択して出
力する。
【0050】ステージ 8:はじめに(R+S×T)演
算手段317_3の出力が剰余保持手段312_8に、
部分平方根保持手段320_7の出力が320_8に、
部分平方根保持手段321_7の出力が321_8に、
マルチプレクサ319_3の出力が部分平方根保持手段
322_8に、例外検出情報保持手段302_7の出力
が302_8に、指数保持手段306_7の出力が30
6_8に、テーブル出力情報保持手段311_7の出力
が311_8に、それぞれセットされる。剰余保持手段
312_8にセットされた3番目の剰余R3 の0696
DEAE0000000にテーブル出力情報保持手段3
11_8の出力する0D0DFが乗算手段313_4に
より掛けられ、積05605259599200000
00が出力される。
算手段317_3の出力が剰余保持手段312_8に、
部分平方根保持手段320_7の出力が320_8に、
部分平方根保持手段321_7の出力が321_8に、
マルチプレクサ319_3の出力が部分平方根保持手段
322_8に、例外検出情報保持手段302_7の出力
が302_8に、指数保持手段306_7の出力が30
6_8に、テーブル出力情報保持手段311_7の出力
が311_8に、それぞれセットされる。剰余保持手段
312_8にセットされた3番目の剰余R3 の0696
DEAE0000000にテーブル出力情報保持手段3
11_8の出力する0D0DFが乗算手段313_4に
より掛けられ、積05605259599200000
00が出力される。
【0051】ステージ 9:はじめに乗算手段313_
4の出力の272から264の056が符号1ビット、デー
タ8ビットの4番目の部分平方根として部分平方根保持
手段314_4に、例外検出情報保持手段302_8の
出力が302_9に、指数保持手段306_8の出力が
306_9に、剰余保持手段312_8の出力が312
_9に、部分平方根保持手段320_8の出力が320
_9に、部分平方根保持手段321_8の出力が321
_9に、部分平方根保持手段322_8の出力が322
_9に、テーブル出力情報保持手段311_8の出力が
311_9に、それぞれセットされる。シフタ327_
4では剰余保持手段312_9の出力を左に8ビットシ
フトする。反転手段315_4では056が反転され、
1A9となり、最下位ビットとして1が付加されて出力
され、(R+S×T)演算手段317_4では実質的に
乗数として1AAで演算が行なわれる。一方、被乗数生
成手段316_4では、部分平方根保持手段320_9
と321_9と322_9の出力を左に1ビットシフト
するとともに、補正前部分平方根保持手段314_4の
出力する9ビットを232から224へ埋め込み、139C
C0A56000000を出力する。(R+S×T)演
算手段317_4ではシフタ327_4の出力をR、被
乗数生成手段316_4の出力をS、反転手段315_
4の出力をTとして入力し、(R+S×T)の演算を実
行する。(R+S×T)演算手段317_4は0035
F671C000000を出力する。マルチプレクサ3
19_4は、部分平方根保持手段314_4の出力を選
択して出力する。
4の出力の272から264の056が符号1ビット、デー
タ8ビットの4番目の部分平方根として部分平方根保持
手段314_4に、例外検出情報保持手段302_8の
出力が302_9に、指数保持手段306_8の出力が
306_9に、剰余保持手段312_8の出力が312
_9に、部分平方根保持手段320_8の出力が320
_9に、部分平方根保持手段321_8の出力が321
_9に、部分平方根保持手段322_8の出力が322
_9に、テーブル出力情報保持手段311_8の出力が
311_9に、それぞれセットされる。シフタ327_
4では剰余保持手段312_9の出力を左に8ビットシ
フトする。反転手段315_4では056が反転され、
1A9となり、最下位ビットとして1が付加されて出力
され、(R+S×T)演算手段317_4では実質的に
乗数として1AAで演算が行なわれる。一方、被乗数生
成手段316_4では、部分平方根保持手段320_9
と321_9と322_9の出力を左に1ビットシフト
するとともに、補正前部分平方根保持手段314_4の
出力する9ビットを232から224へ埋め込み、139C
C0A56000000を出力する。(R+S×T)演
算手段317_4ではシフタ327_4の出力をR、被
乗数生成手段316_4の出力をS、反転手段315_
4の出力をTとして入力し、(R+S×T)の演算を実
行する。(R+S×T)演算手段317_4は0035
F671C000000を出力する。マルチプレクサ3
19_4は、部分平方根保持手段314_4の出力を選
択して出力する。
【0052】ステージ 10:はじめに(R+S×T)
演算手段317_4の出力が剰余保持手段312_10
に、部分平方根保持手段320_9の出力が320_1
0に、部分平方根保持手段321_9の出力が321_
10に、部分平方根保持手段322_9の出力が322
_10に、マルチプレクサ319_4の出力が部分平方
根保持手段323_10に、例外検出情報保持手段30
2_9の出力が302_10に、指数保持手段306_
9の出力が306_10に、テーブル出力情報保持手段
311_9の出力が311_10に、それぞれセットさ
れる。剰余保持手段312_10にセットされた4番目
の剰余R4 の0035F671C000000にテーブ
ル出力情報保持手段311_10の出力する0D0DF
が乗算手段313_5により掛けられ、積002C07
3E19164000000が出力される。
演算手段317_4の出力が剰余保持手段312_10
に、部分平方根保持手段320_9の出力が320_1
0に、部分平方根保持手段321_9の出力が321_
10に、部分平方根保持手段322_9の出力が322
_10に、マルチプレクサ319_4の出力が部分平方
根保持手段323_10に、例外検出情報保持手段30
2_9の出力が302_10に、指数保持手段306_
9の出力が306_10に、テーブル出力情報保持手段
311_9の出力が311_10に、それぞれセットさ
れる。剰余保持手段312_10にセットされた4番目
の剰余R4 の0035F671C000000にテーブ
ル出力情報保持手段311_10の出力する0D0DF
が乗算手段313_5により掛けられ、積002C07
3E19164000000が出力される。
【0053】ステージ 11:はじめに乗算手段313
_5の出力の272から264の003が符号1ビット、デ
ータ8ビットの5番目の部分平方根として部分平方根保
持手段314_5に、例外検出情報保持手段302_1
0の出力が302_11に、指数保持手段306_10
の出力が306_11に、剰余保持手段312_10の
出力が312_11に、部分平方根保持手段320_1
0の出力が320_11に、部分平方根保持手段321
_10の出力が321_11に、部分平方根保持手段3
22_10の出力が322_11に、部分平方根保持手
段323_10の出力が323_11に、テーブル出力
情報保持手段311_10の出力が311_11に、そ
れぞれセットされる。シフタ327_5では剰余保持手
段312_11の出力を左に8ビットシフトする。反転
手段315_5では003が反転され、1FCとなり、
最下位ビットとして1が付加されて出力され、(R+S
×T)演算手段317_5では実質的に乗数として1F
Dで演算が行なわれる。一方、被乗数生成手段316_
5では、部分平方根保持手段320_11、321_1
1、322_11、323_11の出力を左に1ビット
シフトするとともに、補正前部分平方根保持手段314
_5の出力する9ビットを224から216へ埋め込み、1
39CC0AAC030000を出力する。(R+S×
T)演算手段317_5ではシフタ327_5の出力を
R、被乗数生成手段316_5の出力をS、反転手段3
15_5の出力をTとして入力し、(R+S×T)の演
算を実行する。(R+S×T)演算手段317_5は3
B202FBFBF70000を出力する。マルチプレ
クサ319_5は、定数減算手段318_5の出力を選
択して出力する。
_5の出力の272から264の003が符号1ビット、デ
ータ8ビットの5番目の部分平方根として部分平方根保
持手段314_5に、例外検出情報保持手段302_1
0の出力が302_11に、指数保持手段306_10
の出力が306_11に、剰余保持手段312_10の
出力が312_11に、部分平方根保持手段320_1
0の出力が320_11に、部分平方根保持手段321
_10の出力が321_11に、部分平方根保持手段3
22_10の出力が322_11に、部分平方根保持手
段323_10の出力が323_11に、テーブル出力
情報保持手段311_10の出力が311_11に、そ
れぞれセットされる。シフタ327_5では剰余保持手
段312_11の出力を左に8ビットシフトする。反転
手段315_5では003が反転され、1FCとなり、
最下位ビットとして1が付加されて出力され、(R+S
×T)演算手段317_5では実質的に乗数として1F
Dで演算が行なわれる。一方、被乗数生成手段316_
5では、部分平方根保持手段320_11、321_1
1、322_11、323_11の出力を左に1ビット
シフトするとともに、補正前部分平方根保持手段314
_5の出力する9ビットを224から216へ埋め込み、1
39CC0AAC030000を出力する。(R+S×
T)演算手段317_5ではシフタ327_5の出力を
R、被乗数生成手段316_5の出力をS、反転手段3
15_5の出力をTとして入力し、(R+S×T)の演
算を実行する。(R+S×T)演算手段317_5は3
B202FBFBF70000を出力する。マルチプレ
クサ319_5は、定数減算手段318_5の出力を選
択して出力する。
【0054】ステージ 12:はじめに(R+S×T)
演算手段317_5の出力が剰余保持手段312_12
に、部分平方根保持手段320_11の出力が320_
12に、部分平方根保持手段321_11の出力が32
1_12に、部分平方根保持手段322_11の出力が
322_12に、部分平方根保持手段323_11の出
力が323_12に、マルチプレクサ319_5の出力
が部分平方根保持手段324_12に、例外検出情報保
持手段302_11の出力が302_12に、指数保持
手段306_11の出力が306_12に、テーブル出
力情報保持手段311_11の出力が311_12に、
それぞれセットされる。剰余保持手段312_12にセ
ットされた5番目の剰余R5 の3B202FBFBF7
0000にテーブル出力情報保持手段311_12の出
力する0D0DFが乗算手段313_6により掛けら
れ、積3C05E7D56392C290000が出力
される。
演算手段317_5の出力が剰余保持手段312_12
に、部分平方根保持手段320_11の出力が320_
12に、部分平方根保持手段321_11の出力が32
1_12に、部分平方根保持手段322_11の出力が
322_12に、部分平方根保持手段323_11の出
力が323_12に、マルチプレクサ319_5の出力
が部分平方根保持手段324_12に、例外検出情報保
持手段302_11の出力が302_12に、指数保持
手段306_11の出力が306_12に、テーブル出
力情報保持手段311_11の出力が311_12に、
それぞれセットされる。剰余保持手段312_12にセ
ットされた5番目の剰余R5 の3B202FBFBF7
0000にテーブル出力情報保持手段311_12の出
力する0D0DFが乗算手段313_6により掛けら
れ、積3C05E7D56392C290000が出力
される。
【0055】ステージ 13:はじめに乗算手段313
_6の出力の272から264の1C0が符号1ビット、デ
ータ8ビットの6番目の部分平方根として部分平方根保
持手段314_6に、例外検出情報保持手段302_1
2の出力が302_13に、指数保持手段306_12
の出力が306_13に、剰余保持手段312_12の
出力が312_13に、部分平方根保持手段320_1
2の出力が320_13に、部分平方根保持手段321
_12の出力が321_13に、部分平方根保持手段3
22_12の出力が322_13に、部分平方根保持手
段323_12の出力が323_13に、部分平方根保
持手段324_12の出力が324_13に、テーブル
出力情報保持手段311_12の出力が311_13
に、それぞれセットされる。シフタ327_6では剰余
保持手段312_13の出力を左に8ビットシフトす
る。反転手段315_6では1C0が反転され、03F
となり、最下位ビットとして1が付加されて出力され、
(R+S×T)演算手段317_6では実質的に乗数と
して040で演算が行なわれる。一方、被乗数生成手段
316_6では、部分平方根保持手段320_13、3
21_13、322_13、323_13、324_1
3の出力を左に1ビットシフトするとともに、補正前部
分平方根保持手段314_6の出力する9ビットを216
から28 へ埋め込み、139CC0AAC05C000
を出力する。(R+S×T)演算手段317_6ではシ
フタ327_6の出力をR、被乗数生成手段316_6
の出力をS、反転手段315_6の出力をTとして入力
し、(R+S×T)の演算を実行する。(R+S×T)
演算手段317_6は0075FEA6F870000
を出力する。マルチプレクサ319_6は補正前部分平
方根保持手段314_6の出力を選択して出力する。
_6の出力の272から264の1C0が符号1ビット、デ
ータ8ビットの6番目の部分平方根として部分平方根保
持手段314_6に、例外検出情報保持手段302_1
2の出力が302_13に、指数保持手段306_12
の出力が306_13に、剰余保持手段312_12の
出力が312_13に、部分平方根保持手段320_1
2の出力が320_13に、部分平方根保持手段321
_12の出力が321_13に、部分平方根保持手段3
22_12の出力が322_13に、部分平方根保持手
段323_12の出力が323_13に、部分平方根保
持手段324_12の出力が324_13に、テーブル
出力情報保持手段311_12の出力が311_13
に、それぞれセットされる。シフタ327_6では剰余
保持手段312_13の出力を左に8ビットシフトす
る。反転手段315_6では1C0が反転され、03F
となり、最下位ビットとして1が付加されて出力され、
(R+S×T)演算手段317_6では実質的に乗数と
して040で演算が行なわれる。一方、被乗数生成手段
316_6では、部分平方根保持手段320_13、3
21_13、322_13、323_13、324_1
3の出力を左に1ビットシフトするとともに、補正前部
分平方根保持手段314_6の出力する9ビットを216
から28 へ埋め込み、139CC0AAC05C000
を出力する。(R+S×T)演算手段317_6ではシ
フタ327_6の出力をR、被乗数生成手段316_6
の出力をS、反転手段315_6の出力をTとして入力
し、(R+S×T)の演算を実行する。(R+S×T)
演算手段317_6は0075FEA6F870000
を出力する。マルチプレクサ319_6は補正前部分平
方根保持手段314_6の出力を選択して出力する。
【0056】ステージ 14:はじめに(R+S×T)
演算手段317_6の出力が剰余保持手段312_14
に、部分平方根保持手段320_13の出力が320_
14に、部分平方根保持手段321_13の出力が32
1_14に、部分平方根保持手段322_13の出力が
322_14に、部分平方根保持手段323_13の出
力が323_14に、部分平方根保持手段324_13
の出力が324_14に、マルチプレクサ319_6の
出力が部分平方根保持手段325_14に、例外検出情
報保持手段302_13の出力が302_14に、指数
保持手段306_13の出力が306_14に、テーブ
ル出力情報保持手段311_13の出力が311_14
に、それぞれセットされる。剰余保持手段312_14
にセットされた6番目の剰余R6 の0075FEA6F
870000にテーブル出力情報保持手段311_14
の出力する0D0DFが乗算手段313_7により掛け
られ、積006045B07D4D6990000が出
力される。
演算手段317_6の出力が剰余保持手段312_14
に、部分平方根保持手段320_13の出力が320_
14に、部分平方根保持手段321_13の出力が32
1_14に、部分平方根保持手段322_13の出力が
322_14に、部分平方根保持手段323_13の出
力が323_14に、部分平方根保持手段324_13
の出力が324_14に、マルチプレクサ319_6の
出力が部分平方根保持手段325_14に、例外検出情
報保持手段302_13の出力が302_14に、指数
保持手段306_13の出力が306_14に、テーブ
ル出力情報保持手段311_13の出力が311_14
に、それぞれセットされる。剰余保持手段312_14
にセットされた6番目の剰余R6 の0075FEA6F
870000にテーブル出力情報保持手段311_14
の出力する0D0DFが乗算手段313_7により掛け
られ、積006045B07D4D6990000が出
力される。
【0057】ステージ 15:はじめに乗算手段313
_7の出力の272から264の060が符号1ビット、デ
ータ8ビットの7番目の部分平方根として部分平方根保
持手段314_7に、例外検出情報保持手段302_1
4の出力が302_15に、指数保持手段306_14
の出力が306_15に、剰余保持手段312_14の
出力が312_15に、部分平方根保持手段320_1
4の出力が320_15に、部分平方根保持手段321
_14の出力が321_15に、部分平方根保持手段3
22_14の出力が322_15に、部分平方根保持手
段323_14の出力が323_15に、部分平方根保
持手段324_14の出力が324_15に、部分平方
根保持手段325_14の出力が325_15に、テー
ブル出力情報保持手段311_14の出力が311_1
5に、それぞれセットされる。シフタ327_7では剰
余保持手段312_15の出力を左に8ビットシフトす
る。反転手段315_7では060が反転され、19F
となり、最下位ビットとして1が付加されて出力され、
(R+S×T)演算手段317_7では実質的に乗数と
して1A0で演算が行なわれる。一方、被乗数生成手段
316_7では、部分平方根保持手段320_15、3
21_15、322_15、323_15、324_1
5、325_15の出力を左に1ビットシフトするとと
もに、補正前部分平方根保持手段314_7の出力する
9ビットを28 から20 へ埋め込み、139CC0AA
C058160を出力する。(R+S×T)演算手段3
17_7ではシフタ327_7の出力をR、被乗数生成
手段316_7の出力をS、反転手段315_7の出力
をTとして入力し、(R+S×T)の演算を実行する。
(R+S×T)演算手段317_7は005222F7
EDEFDC0を出力する。マルチプレクサ319_7
は、補正前部分平方根保持手段314_7の出力を選択
して出力する。
_7の出力の272から264の060が符号1ビット、デ
ータ8ビットの7番目の部分平方根として部分平方根保
持手段314_7に、例外検出情報保持手段302_1
4の出力が302_15に、指数保持手段306_14
の出力が306_15に、剰余保持手段312_14の
出力が312_15に、部分平方根保持手段320_1
4の出力が320_15に、部分平方根保持手段321
_14の出力が321_15に、部分平方根保持手段3
22_14の出力が322_15に、部分平方根保持手
段323_14の出力が323_15に、部分平方根保
持手段324_14の出力が324_15に、部分平方
根保持手段325_14の出力が325_15に、テー
ブル出力情報保持手段311_14の出力が311_1
5に、それぞれセットされる。シフタ327_7では剰
余保持手段312_15の出力を左に8ビットシフトす
る。反転手段315_7では060が反転され、19F
となり、最下位ビットとして1が付加されて出力され、
(R+S×T)演算手段317_7では実質的に乗数と
して1A0で演算が行なわれる。一方、被乗数生成手段
316_7では、部分平方根保持手段320_15、3
21_15、322_15、323_15、324_1
5、325_15の出力を左に1ビットシフトするとと
もに、補正前部分平方根保持手段314_7の出力する
9ビットを28 から20 へ埋め込み、139CC0AA
C058160を出力する。(R+S×T)演算手段3
17_7ではシフタ327_7の出力をR、被乗数生成
手段316_7の出力をS、反転手段315_7の出力
をTとして入力し、(R+S×T)の演算を実行する。
(R+S×T)演算手段317_7は005222F7
EDEFDC0を出力する。マルチプレクサ319_7
は、補正前部分平方根保持手段314_7の出力を選択
して出力する。
【0058】ステージ 16:はじめに(R+S×T)
演算手段317_7の出力が剰余保持手段312_16
に、部分平方根保持手段320_15の出力が320_
16に、部分平方根保持手段321_15の出力が32
1_16に、部分平方根保持手段322_15の出力が
322_16に、部分平方根保持手段323_15の出
力が323_16に、部分平方根保持手段324_15
の出力が324_16に、部分平方根保持手段325_
15の出力が325_16に、マルチプレクサ319_
7の出力が部分平方根保持手段326_16に、例外検
出情報保持手段302_15の出力が302_16に、
指数保持手段306_15の出力が306_16に、そ
れぞれセットされる。例外検出手段328では例外検出
情報保持手段302_16の出力より入力オペランドが
負の場合、データ例外として検出し、浮動小数点ベクト
ル開平演算装置の外部の命令実行制御部に対して例外が
発生していることを通知する。本数値例ではオペランド
は正であるので例外は検出されない。
演算手段317_7の出力が剰余保持手段312_16
に、部分平方根保持手段320_15の出力が320_
16に、部分平方根保持手段321_15の出力が32
1_16に、部分平方根保持手段322_15の出力が
322_16に、部分平方根保持手段323_15の出
力が323_16に、部分平方根保持手段324_15
の出力が324_16に、部分平方根保持手段325_
15の出力が325_16に、マルチプレクサ319_
7の出力が部分平方根保持手段326_16に、例外検
出情報保持手段302_15の出力が302_16に、
指数保持手段306_15の出力が306_16に、そ
れぞれセットされる。例外検出手段328では例外検出
情報保持手段302_16の出力より入力オペランドが
負の場合、データ例外として検出し、浮動小数点ベクト
ル開平演算装置の外部の命令実行制御部に対して例外が
発生していることを通知する。本数値例ではオペランド
は正であるので例外は検出されない。
【0059】最終的な結果として、263の符号ビットと
して0、262から252の指数部として指数保持手段30
6_16の出力する11ビット、251から20 の仮数部
として部分平方根保持手段320_16の下位7ビッ
ト、部分平方根保持手段321_16からの325_1
6の40ビット、部分平方根保持手段326_16の下
位5ビットをひとまとめにして、46739CC0AA
C0580Cとして図6,図7,図8に示すベクトル開
平演算装置から出力される。
して0、262から252の指数部として指数保持手段30
6_16の出力する11ビット、251から20 の仮数部
として部分平方根保持手段320_16の下位7ビッ
ト、部分平方根保持手段321_16からの325_1
6の40ビット、部分平方根保持手段326_16の下
位5ビットをひとまとめにして、46739CC0AA
C0580Cとして図6,図7,図8に示すベクトル開
平演算装置から出力される。
【0060】(実施例4)図9は本発明の第4の実施例
に係る固定小数点開平演算装置のブロック図を示すもの
である。本実施例の固定小数点開平演算装置は2の補数
表示の64ビットの固定小数点数を入力して、2の補数
表示の32ビットの平方根を出力し、部分平方根のデー
タとしてのビット長が8で部分平方根間には重複がな
い。図9において、401は入力レジスタ、402は例
外検出手段、403は正規化シフト数検出手段、404
は正規化手段、405はテーブル情報格納手段、406
はシフタ、407はマルチプレクサ、408は剰余保持
手段、409は乗算手段、410はマルチプレクサ、4
11から414は部分平方根保持手段、415は反転手
段、416は被乗数生成手段、417は(R+S×T)
演算手段、418は定数減算手段、419はマルチプレ
クサ、420は桁調整シフト数算出手段、421は桁調
整手段である。
に係る固定小数点開平演算装置のブロック図を示すもの
である。本実施例の固定小数点開平演算装置は2の補数
表示の64ビットの固定小数点数を入力して、2の補数
表示の32ビットの平方根を出力し、部分平方根のデー
タとしてのビット長が8で部分平方根間には重複がな
い。図9において、401は入力レジスタ、402は例
外検出手段、403は正規化シフト数検出手段、404
は正規化手段、405はテーブル情報格納手段、406
はシフタ、407はマルチプレクサ、408は剰余保持
手段、409は乗算手段、410はマルチプレクサ、4
11から414は部分平方根保持手段、415は反転手
段、416は被乗数生成手段、417は(R+S×T)
演算手段、418は定数減算手段、419はマルチプレ
クサ、420は桁調整シフト数算出手段、421は桁調
整手段である。
【0061】以下、具体的な数値例を用いて図9に示す
固定小数点開平演算装置の動作を説明する。図10はオ
ペランドが入力されてから、各々の手段で処理されてい
く過程を示している。はじめにオペランドとして10D
F854CED1AA07Dが入力され、入力レジスタ
401にセットされる。例外検出手段402では入力オ
ペランドの先頭2ビットが10または11の場合はデー
タ例外として、また01の場合はオーバーフロー例外と
して検出し、固定小数点開平演算装置の外部の命令実行
制御部に対して例外が発生していることを通知する。本
数値例では(以下では、この前提を省略する)例外は検
出されない。正規化シフト数検出手段403では、2ビ
ット単位のビット正規化を行なうためのシフト数を検出
しており、2が出力される。正規化手段404では、正
規化シフト数検出手段403より、シフト数2の指示を
受け、入力データを2ビット左にシフトして出力する。
テーブル情報格納手段405には正規化手段404の2
63から251の13ビットが入力され、796Bに対し
て、0F96Bが出力される。さらにこの出力の最下位
ビットとして正規化手段404の250のビットを反転し
たものが付加されるのであるが、本例では0が付加さ
れ、乗算手段409での実質的な乗数は0F96Bとな
る。マルチプレクサ407では先頭に4ビットのゼロを
付加した正規化手段404の出力を選択し、この出力が
剰余保持手段408にセットされる。このとき、部分平
方根保持手段411から414はゼロにリセットされ
る。乗算手段409で0437E1533B46A81
F4と0F96Bの乗算が行なわれ、041C1D85
2271800EAA4FCの積が求められる。マルチ
プレクサ410では部分平方根算出用加算手段118の
出力する084の9ビットを符号1ビット、データ8ビ
ットの1番目の部分平方根として選択する。反転手段4
15では部分平方根を入力してビット反転するととも
に、最下位ビットに1を付加して出力する。また、被乗
数生成手段416では、1回目の反復ではマルチプレク
サ410の出力の符号ビットを除いてデータ8ビットを
255から248に埋め込み、他のビットをゼロとして出力
する。(R+S×T)演算手段417では剰余保持手段
408の出力をR、被乗数生成手段416の出力をS、
反転手段415の出力をTとして入力し、(R+S×
T)の演算を実行する。(R+S×T)演算手段417
の出力FFF6E1533D46A81F4はシフタ4
06によって左に8ビットシフトされてマルチプレクサ
407により選択され、剰余保持手段408にセットさ
れる。一方、定数減算手段418ではマルチプレクサ4
10の出力のLSBから1を引く。マルチプレクサ41
9は、(R+S×T)演算手段417の出力が負の場
合、定数減算手段418の出力を選択し、それ以外の場
合はマルチプレクサ410の出力を選択する。1回目の
反復では上記の条件を判断して定数減算手段418の出
力を選択して出力し、部分平方根保持手段411ではマ
ルチプレクサ419の出力をセットする。
固定小数点開平演算装置の動作を説明する。図10はオ
ペランドが入力されてから、各々の手段で処理されてい
く過程を示している。はじめにオペランドとして10D
F854CED1AA07Dが入力され、入力レジスタ
401にセットされる。例外検出手段402では入力オ
ペランドの先頭2ビットが10または11の場合はデー
タ例外として、また01の場合はオーバーフロー例外と
して検出し、固定小数点開平演算装置の外部の命令実行
制御部に対して例外が発生していることを通知する。本
数値例では(以下では、この前提を省略する)例外は検
出されない。正規化シフト数検出手段403では、2ビ
ット単位のビット正規化を行なうためのシフト数を検出
しており、2が出力される。正規化手段404では、正
規化シフト数検出手段403より、シフト数2の指示を
受け、入力データを2ビット左にシフトして出力する。
テーブル情報格納手段405には正規化手段404の2
63から251の13ビットが入力され、796Bに対し
て、0F96Bが出力される。さらにこの出力の最下位
ビットとして正規化手段404の250のビットを反転し
たものが付加されるのであるが、本例では0が付加さ
れ、乗算手段409での実質的な乗数は0F96Bとな
る。マルチプレクサ407では先頭に4ビットのゼロを
付加した正規化手段404の出力を選択し、この出力が
剰余保持手段408にセットされる。このとき、部分平
方根保持手段411から414はゼロにリセットされ
る。乗算手段409で0437E1533B46A81
F4と0F96Bの乗算が行なわれ、041C1D85
2271800EAA4FCの積が求められる。マルチ
プレクサ410では部分平方根算出用加算手段118の
出力する084の9ビットを符号1ビット、データ8ビ
ットの1番目の部分平方根として選択する。反転手段4
15では部分平方根を入力してビット反転するととも
に、最下位ビットに1を付加して出力する。また、被乗
数生成手段416では、1回目の反復ではマルチプレク
サ410の出力の符号ビットを除いてデータ8ビットを
255から248に埋め込み、他のビットをゼロとして出力
する。(R+S×T)演算手段417では剰余保持手段
408の出力をR、被乗数生成手段416の出力をS、
反転手段415の出力をTとして入力し、(R+S×
T)の演算を実行する。(R+S×T)演算手段417
の出力FFF6E1533D46A81F4はシフタ4
06によって左に8ビットシフトされてマルチプレクサ
407により選択され、剰余保持手段408にセットさ
れる。一方、定数減算手段418ではマルチプレクサ4
10の出力のLSBから1を引く。マルチプレクサ41
9は、(R+S×T)演算手段417の出力が負の場
合、定数減算手段418の出力を選択し、それ以外の場
合はマルチプレクサ410の出力を選択する。1回目の
反復では上記の条件を判断して定数減算手段418の出
力を選択して出力し、部分平方根保持手段411ではマ
ルチプレクサ419の出力をセットする。
【0062】次に2回目の反復計算に入る。テーブル情
報格納手段405の出力は2回目以降も1回目と変わら
ない。剰余保持手段408にセットされた1番目の剰余
R1のF6E1533B46A81F400に0F96
Bが乗算手段409により掛けられ、積F71D5A2
271800EAA4FC00が出力される。部分平方
根算出用加算手段119の出力する172が符号1ビッ
ト、データ8ビットの2番目の部分平方根としてマルチ
プレクサ410により選択される。反転手段415では
172が反転され、08Dとなり、最下位ビットとして
1が付加されて出力され、(R+S×T)演算手段41
7では実質的に乗数として08Eで演算が行なわれる。
一方、被乗数生成手段416では、部分平方根保持手段
411から414の出力を左に1ビットシフトするとと
もに、マルチプレクサ410の出力する9ビットを248
から240へ埋め込み、107720000000000
を出力する。(R+S×T)演算手段417では剰余保
持手段408の出力をR、被乗数生成手段416の出力
をS、反転手段415の出力をTとして入力し、(R+
S×T)の演算を実行する。(R+S×T)演算手段4
17の出力000366FB46A81F400はシフ
タ406によって左に8ビットシフトされてマルチプレ
クサ407により選択され、剰余保持手段408にセッ
トされる。マルチプレクサ419は、マルチプレクサ4
10の出力を選択して出力し、部分平方根保持手段41
2ではマルチプレクサ419の出力をセットする。
報格納手段405の出力は2回目以降も1回目と変わら
ない。剰余保持手段408にセットされた1番目の剰余
R1のF6E1533B46A81F400に0F96
Bが乗算手段409により掛けられ、積F71D5A2
271800EAA4FC00が出力される。部分平方
根算出用加算手段119の出力する172が符号1ビッ
ト、データ8ビットの2番目の部分平方根としてマルチ
プレクサ410により選択される。反転手段415では
172が反転され、08Dとなり、最下位ビットとして
1が付加されて出力され、(R+S×T)演算手段41
7では実質的に乗数として08Eで演算が行なわれる。
一方、被乗数生成手段416では、部分平方根保持手段
411から414の出力を左に1ビットシフトするとと
もに、マルチプレクサ410の出力する9ビットを248
から240へ埋め込み、107720000000000
を出力する。(R+S×T)演算手段417では剰余保
持手段408の出力をR、被乗数生成手段416の出力
をS、反転手段415の出力をTとして入力し、(R+
S×T)の演算を実行する。(R+S×T)演算手段4
17の出力000366FB46A81F400はシフ
タ406によって左に8ビットシフトされてマルチプレ
クサ407により選択され、剰余保持手段408にセッ
トされる。マルチプレクサ419は、マルチプレクサ4
10の出力を選択して出力し、部分平方根保持手段41
2ではマルチプレクサ419の出力をセットする。
【0063】次に3回目の反復計算に入る。テーブル情
報格納手段405の出力は1回目と変わらない。剰余保
持手段408にセットされた2番目の剰余R2 の036
6FB46A81F40000に0F96Bが乗算手段
409により掛けられ、積03509672C00EA
A4FC0000が出力される。部分平方根算出用加算
手段119の出力する035が符号1ビット、データ8
ビットの3番目の部分平方根としてマルチプレクサ41
0により選択される。反転手段415では035が反転
され、1CAとなり、最下位ビットとして1が付加され
て出力され、(R+S×T)演算手段417では実質的
に乗数として1CBで演算が行なわれる。一方、被乗数
生成手段416では、部分平方根保持手段411から4
14の出力を左に1ビットシフトするとともに、マルチ
プレクサ410の出力する9ビットを240から232へ埋
め込み、106E43500000000を出力する。
(R+S×T)演算手段417では剰余保持手段408
の出力をR、被乗数生成手段416の出力をS、反転手
段415の出力をTとして入力し、(R+S×T)の演
算を実行する。(R+S×T)演算手段417の出力0
0002757181F40000はシフタ406によ
って左に8ビットシフトされてマルチプレクサ407に
より選択され、剰余保持手段408にセットされる。マ
ルチプレクサ419は、マルチプレクサ410の出力を
選択して出力し、部分平方根保持手段413ではマルチ
プレクサ419の出力をセットする。
報格納手段405の出力は1回目と変わらない。剰余保
持手段408にセットされた2番目の剰余R2 の036
6FB46A81F40000に0F96Bが乗算手段
409により掛けられ、積03509672C00EA
A4FC0000が出力される。部分平方根算出用加算
手段119の出力する035が符号1ビット、データ8
ビットの3番目の部分平方根としてマルチプレクサ41
0により選択される。反転手段415では035が反転
され、1CAとなり、最下位ビットとして1が付加され
て出力され、(R+S×T)演算手段417では実質的
に乗数として1CBで演算が行なわれる。一方、被乗数
生成手段416では、部分平方根保持手段411から4
14の出力を左に1ビットシフトするとともに、マルチ
プレクサ410の出力する9ビットを240から232へ埋
め込み、106E43500000000を出力する。
(R+S×T)演算手段417では剰余保持手段408
の出力をR、被乗数生成手段416の出力をS、反転手
段415の出力をTとして入力し、(R+S×T)の演
算を実行する。(R+S×T)演算手段417の出力0
0002757181F40000はシフタ406によ
って左に8ビットシフトされてマルチプレクサ407に
より選択され、剰余保持手段408にセットされる。マ
ルチプレクサ419は、マルチプレクサ410の出力を
選択して出力し、部分平方根保持手段413ではマルチ
プレクサ419の出力をセットする。
【0064】次に4回目の反復計算に入る。テーブル情
報格納手段405の出力は1回目と変わらない。剰余保
持手段408にセットされた3番目の剰余R3 の002
757181F4000000に0F96Bが乗算手段
409により掛けられ、積00265427DD7A4
FC000000が出力される。部分平方根算出用加算
手段119の出力する002が符号1ビット、データ8
ビットの4番目の部分平方根としてマルチプレクサ41
0により選択される。反転手段415では002が反転
され、1FDとなり、最下位ビットとして1が付加され
て出力され、(R+S×T)演算手段417では実質的
に乗数として1FEで演算が行なわれる。一方、被乗数
生成手段416では、部分平方根保持手段411から4
14の出力を左に1ビットシフトするとともに、マルチ
プレクサ410の出力する9ビットを232から224へ埋
め込み、106E46A02000000を出力する。
(R+S×T)演算手段417では剰余保持手段408
の出力をR、被乗数生成手段416の出力をS、反転手
段415の出力をTとして入力し、(R+S×T)の演
算を実行する。(R+S×T)演算手段417は000
67A8ADF0000000を出力する。マルチプレ
クサ419は、マルチプレクサ410の出力を選択して
出力し、部分平方根保持手段414ではマルチプレクサ
419の出力をセットする。桁調整シフト数算出手段4
20では、正規化シフト数検出手段403からの2を右
1ビットシフトして1とした後、1を出力し、桁調整手
段421では部分平方根保持手段411〜413とマル
チプレクサ419の出力を併合して83723502を
入力し、桁調整シフト数算出手段420からの指示であ
る1だけ右にシフトして最終結果である41B91A8
1を出力する。
報格納手段405の出力は1回目と変わらない。剰余保
持手段408にセットされた3番目の剰余R3 の002
757181F4000000に0F96Bが乗算手段
409により掛けられ、積00265427DD7A4
FC000000が出力される。部分平方根算出用加算
手段119の出力する002が符号1ビット、データ8
ビットの4番目の部分平方根としてマルチプレクサ41
0により選択される。反転手段415では002が反転
され、1FDとなり、最下位ビットとして1が付加され
て出力され、(R+S×T)演算手段417では実質的
に乗数として1FEで演算が行なわれる。一方、被乗数
生成手段416では、部分平方根保持手段411から4
14の出力を左に1ビットシフトするとともに、マルチ
プレクサ410の出力する9ビットを232から224へ埋
め込み、106E46A02000000を出力する。
(R+S×T)演算手段417では剰余保持手段408
の出力をR、被乗数生成手段416の出力をS、反転手
段415の出力をTとして入力し、(R+S×T)の演
算を実行する。(R+S×T)演算手段417は000
67A8ADF0000000を出力する。マルチプレ
クサ419は、マルチプレクサ410の出力を選択して
出力し、部分平方根保持手段414ではマルチプレクサ
419の出力をセットする。桁調整シフト数算出手段4
20では、正規化シフト数検出手段403からの2を右
1ビットシフトして1とした後、1を出力し、桁調整手
段421では部分平方根保持手段411〜413とマル
チプレクサ419の出力を併合して83723502を
入力し、桁調整シフト数算出手段420からの指示であ
る1だけ右にシフトして最終結果である41B91A8
1を出力する。
【0065】(実施例5)図11は本発明の第5の実施
例に係る固定小数点開平演算装置のブロック図を示すも
のである。本実施例の固定小数点開平演算装置は2の補
数表示の64ビットの固定小数点数を入力して、2の補
数表示の32ビットの平方根を出力し、部分平方根のデ
ータとしてのビット長が8で部分平方根間には重複がな
い。図11において、501は入力レジスタ、502は
例外検出手段、503は正規化シフト数検出手段、50
4は正規化手段、505はテーブル情報格納手段、50
6はシフタ、507はマルチプレクサ、508は剰余保
持手段、509から512は補正後部分平方根保持手段
(以下では補正後を省略する)、513は補正前部分平
方根保持手段、514は反転手段、515は被乗数生成
手段、516から518はマルチプレクサ、519は
(R+S×T)演算手段、520はマルチプレクサ、5
21は定数減算手段、522はマルチプレクサ、523
は桁調整シフト数算出手段、524は桁調整手段であ
る。
例に係る固定小数点開平演算装置のブロック図を示すも
のである。本実施例の固定小数点開平演算装置は2の補
数表示の64ビットの固定小数点数を入力して、2の補
数表示の32ビットの平方根を出力し、部分平方根のデ
ータとしてのビット長が8で部分平方根間には重複がな
い。図11において、501は入力レジスタ、502は
例外検出手段、503は正規化シフト数検出手段、50
4は正規化手段、505はテーブル情報格納手段、50
6はシフタ、507はマルチプレクサ、508は剰余保
持手段、509から512は補正後部分平方根保持手段
(以下では補正後を省略する)、513は補正前部分平
方根保持手段、514は反転手段、515は被乗数生成
手段、516から518はマルチプレクサ、519は
(R+S×T)演算手段、520はマルチプレクサ、5
21は定数減算手段、522はマルチプレクサ、523
は桁調整シフト数算出手段、524は桁調整手段であ
る。
【0066】以下、具体的な数値例を用いて図11に示
す固定小数点開平演算装置の動作を説明する。図10は
オペランドが入力されてから、各々の手段で処理されて
いく過程を示している。はじめにオペランドとして10
DF854CED1AA07Dが入力され、入力レジス
タ501にセットされる。例外検出手段502では入力
オペランドの先頭2ビットが10または11の場合はデ
ータ例外として、また01の場合はオーバーフロー例外
として検出し、固定小数点開平演算装置の外部の命令実
行制御部に対して例外が発生していることを通知する。
本数値例では(以下では、この前提を省略する)例外は
検出されない。正規化シフト数検出手段503では、2
ビット単位のビット正規化を行なうためのシフト数を検
出しており、2が出力される。正規化手段504では、
正規化シフト数検出手段503より、シフト数2の指示
を受け、入力データを2ビット左にシフトして出力す
る。テーブル情報格納手段505には正規化手段504
の263から251の13ビットが入力され、0F96Bが
出力される。さらにこの出力の最下位ビットとして正規
化手段504の250のビットを反転したものが付加され
るのであるが、本例では0が付加され、(R+S×T)
演算手段519での実質的な乗数は0F96Bとなる。
マルチプレクサ507では先頭に4ビットのゼロを付加
した正規化手段504の出力を選択し、この出力が剰余
保持手段508にセットされる。このとき、部分平方根
保持手段509から512はゼロにリセットされる。マ
ルチプレクサ516、517、518はそれぞれ、
‘0’、剰余保持手段508の出力、テーブル情報格納
手段505の出力を選択し、(R+S×T)演算手段5
19で0437E1533B46A81F4と0F96
Bの乗算が行なわれ、041C1D852271800
EAA4FCの積が求められる。マルチプレクサ520
では(R+S×T+T)演算手段519の出力の279か
ら271の9ビットを符号1ビット、データ8ビットの1
番目の部分平方根として選択し、部分平方根保持手段5
13にこの部分平方根がセットされる。反転手段514
では部分平方根を入力してビット反転するとともに上位
に8ビット符号を拡張し、部分平方根が負の場合、最下
位ビットに0を付加し、それ以外の場合1を付加して出
力する。また、被乗数生成手段515では、1回目の反
復では補正前部分平方根保持手段513の出力の符号ビ
ットを除いてデータ8ビットを255から248に埋め込
み、他のビットをゼロとして出力する。マルチプレクサ
516、517、518はそれぞれ、剰余保持手段50
8の出力、被乗数生成手段515の出力、反転手段51
4の出力を選択する。(R+S×T)演算手段519で
はマルチプレクサ516の出力をR、マルチプレクサ5
17の出力をS、マルチプレクサ518の出力をTとし
て入力し、(R+S×T)の演算を実行する。(R+S
×T)演算手段519の出力FFF6E1533D46
A81F4はシフタ506によって左に8ビットシフト
されてマルチプレクサ507により選択され、剰余保持
手段508にセットされる。一方、定数減算手段521
では補正前部分平方根保持手段513の出力のLSBか
ら1を引く。マルチプレクサ522は、(R+S×T)
演算手段519の出力が負の場合、定数減算手段521
の出力を選択し、それ以外の場合は補正前部分平方根保
持手段513の出力を選択する。1回目の反復では上記
の条件を判断して定数減算手段521の出力を選択した
後、マルチプレクサ522の出力が部分平方根保持手段
509にセットされる。
す固定小数点開平演算装置の動作を説明する。図10は
オペランドが入力されてから、各々の手段で処理されて
いく過程を示している。はじめにオペランドとして10
DF854CED1AA07Dが入力され、入力レジス
タ501にセットされる。例外検出手段502では入力
オペランドの先頭2ビットが10または11の場合はデ
ータ例外として、また01の場合はオーバーフロー例外
として検出し、固定小数点開平演算装置の外部の命令実
行制御部に対して例外が発生していることを通知する。
本数値例では(以下では、この前提を省略する)例外は
検出されない。正規化シフト数検出手段503では、2
ビット単位のビット正規化を行なうためのシフト数を検
出しており、2が出力される。正規化手段504では、
正規化シフト数検出手段503より、シフト数2の指示
を受け、入力データを2ビット左にシフトして出力す
る。テーブル情報格納手段505には正規化手段504
の263から251の13ビットが入力され、0F96Bが
出力される。さらにこの出力の最下位ビットとして正規
化手段504の250のビットを反転したものが付加され
るのであるが、本例では0が付加され、(R+S×T)
演算手段519での実質的な乗数は0F96Bとなる。
マルチプレクサ507では先頭に4ビットのゼロを付加
した正規化手段504の出力を選択し、この出力が剰余
保持手段508にセットされる。このとき、部分平方根
保持手段509から512はゼロにリセットされる。マ
ルチプレクサ516、517、518はそれぞれ、
‘0’、剰余保持手段508の出力、テーブル情報格納
手段505の出力を選択し、(R+S×T)演算手段5
19で0437E1533B46A81F4と0F96
Bの乗算が行なわれ、041C1D852271800
EAA4FCの積が求められる。マルチプレクサ520
では(R+S×T+T)演算手段519の出力の279か
ら271の9ビットを符号1ビット、データ8ビットの1
番目の部分平方根として選択し、部分平方根保持手段5
13にこの部分平方根がセットされる。反転手段514
では部分平方根を入力してビット反転するとともに上位
に8ビット符号を拡張し、部分平方根が負の場合、最下
位ビットに0を付加し、それ以外の場合1を付加して出
力する。また、被乗数生成手段515では、1回目の反
復では補正前部分平方根保持手段513の出力の符号ビ
ットを除いてデータ8ビットを255から248に埋め込
み、他のビットをゼロとして出力する。マルチプレクサ
516、517、518はそれぞれ、剰余保持手段50
8の出力、被乗数生成手段515の出力、反転手段51
4の出力を選択する。(R+S×T)演算手段519で
はマルチプレクサ516の出力をR、マルチプレクサ5
17の出力をS、マルチプレクサ518の出力をTとし
て入力し、(R+S×T)の演算を実行する。(R+S
×T)演算手段519の出力FFF6E1533D46
A81F4はシフタ506によって左に8ビットシフト
されてマルチプレクサ507により選択され、剰余保持
手段508にセットされる。一方、定数減算手段521
では補正前部分平方根保持手段513の出力のLSBか
ら1を引く。マルチプレクサ522は、(R+S×T)
演算手段519の出力が負の場合、定数減算手段521
の出力を選択し、それ以外の場合は補正前部分平方根保
持手段513の出力を選択する。1回目の反復では上記
の条件を判断して定数減算手段521の出力を選択した
後、マルチプレクサ522の出力が部分平方根保持手段
509にセットされる。
【0067】次に2回目の反復計算に入る。テーブル情
報格納手段505の出力は2回目以降も1回目と変わら
ない。マルチプレクサ516、517、518はそれぞ
れ、‘0’、剰余保持手段508にセットされた1番目
の剰余R1 のF6E1533B46A81F400、テ
ーブル情報格納手段505の出力0F96Bを選択す
る。(R+S×T)演算手段519は(S×T)を実行
し、積F71D5A2271800EAA4FC00を
出力する。280から272の172を符号1ビット、デー
タ8ビットの2番目の部分平方根としてマルチプレクサ
520により選択し、補正前部分平方根保持手段513
にこの部分平方根がセットされる。反転手段514では
172が反転、上位に8ビット符号が拡張され、000
8Dとなり、最下位ビットとして1が付加されて出力さ
れ、(R+S×T)演算手段519では実質的に乗数と
して0008Eで演算が行なわれる。一方、被乗数生成
手段515では、部分平方根保持手段509から512
の出力を左に1ビットシフトするとともに、補正前部分
平方根保持手段513の出力する9ビットを248から2
40へ埋め込み、107720000000000を出力
する。マルチプレクサ516、517、518はそれぞ
れ剰余保持手段508の出力、被乗数生成手段515の
出力、反転手段514の出力を選択する。(R+S×
T)演算手段519ではマルチプレクサ516の出力を
R、マルチプレクサ517の出力をS、マルチプレクサ
518の出力をTとして入力し、(R+S×T)の演算
を実行する。(R+S×T)演算手段519の出力00
0366FB46A81F400はシフタ506によっ
て左に8ビットシフトされてマルチプレクサ507によ
り選択され、剰余保持手段508にセットされる。マル
チプレクサ522は補正前部分平方根保持手段513の
出力を選択して出力し、部分平方根保持手段510では
マルチプレクサ522の出力をセットする。
報格納手段505の出力は2回目以降も1回目と変わら
ない。マルチプレクサ516、517、518はそれぞ
れ、‘0’、剰余保持手段508にセットされた1番目
の剰余R1 のF6E1533B46A81F400、テ
ーブル情報格納手段505の出力0F96Bを選択す
る。(R+S×T)演算手段519は(S×T)を実行
し、積F71D5A2271800EAA4FC00を
出力する。280から272の172を符号1ビット、デー
タ8ビットの2番目の部分平方根としてマルチプレクサ
520により選択し、補正前部分平方根保持手段513
にこの部分平方根がセットされる。反転手段514では
172が反転、上位に8ビット符号が拡張され、000
8Dとなり、最下位ビットとして1が付加されて出力さ
れ、(R+S×T)演算手段519では実質的に乗数と
して0008Eで演算が行なわれる。一方、被乗数生成
手段515では、部分平方根保持手段509から512
の出力を左に1ビットシフトするとともに、補正前部分
平方根保持手段513の出力する9ビットを248から2
40へ埋め込み、107720000000000を出力
する。マルチプレクサ516、517、518はそれぞ
れ剰余保持手段508の出力、被乗数生成手段515の
出力、反転手段514の出力を選択する。(R+S×
T)演算手段519ではマルチプレクサ516の出力を
R、マルチプレクサ517の出力をS、マルチプレクサ
518の出力をTとして入力し、(R+S×T)の演算
を実行する。(R+S×T)演算手段519の出力00
0366FB46A81F400はシフタ506によっ
て左に8ビットシフトされてマルチプレクサ507によ
り選択され、剰余保持手段508にセットされる。マル
チプレクサ522は補正前部分平方根保持手段513の
出力を選択して出力し、部分平方根保持手段510では
マルチプレクサ522の出力をセットする。
【0068】次に3回目の反復計算に入る。テーブル情
報格納手段505の出力は1回目と変わらない。マルチ
プレクサ516、517、518はそれぞれ、‘0’、
剰余保持手段508にセットされた2番目の剰余R2 の
0366FB46A81F40000、テーブル情報格
納手段505の出力0F96Bを選択する。(R+S×
T)演算手段519は(S×T)を実行し、積0350
9672C00EAA4FC0000を出力する。280
から272の035を符号1ビット、データ8ビットの3
番目の部分平方根としてマルチプレクサ520により選
択し、補正前部分平方根保持手段513にこの部分平方
根がセットされる。反転手段514では035が反転、
上位に8ビット符号が拡張され、1FFCAとなり、最
下位ビットとして1が付加されて出力され、(R+S×
T)演算手段519では実質的に乗数として1FFCB
で演算が行なわれる。一方、被乗数生成手段515で
は、部分平方根保持手段509から512の出力を左に
1ビットシフトするとともに、補正前部分平方根保持手
段513の出力する9ビットを240から232へ埋め込
み、106E53500000000を出力する。マル
チプレクサ516、517、518はそれぞれ、剰余保
持手段508の出力、被乗数生成手段515の出力、反
転手段514の出力を選択する。(R+S×T)演算手
段519ではマルチプレクサ516の出力をR、マルチ
プレクサ517の出力をS、マルチプレクサ518の出
力をTとして入力し、(R+S×T)の演算を実行す
る。(R+S×T)演算手段519の出力000027
57181F40000はシフタ506によって左に8
ビットシフトされてマルチプレクサ507により選択さ
れ、剰余保持手段508にセットされる。マルチプレク
サ522は、補正前部分平方根保持手段513の出力を
選択して出力し、部分平方根保持手段511ではマルチ
プレクサ522の出力をセットする。
報格納手段505の出力は1回目と変わらない。マルチ
プレクサ516、517、518はそれぞれ、‘0’、
剰余保持手段508にセットされた2番目の剰余R2 の
0366FB46A81F40000、テーブル情報格
納手段505の出力0F96Bを選択する。(R+S×
T)演算手段519は(S×T)を実行し、積0350
9672C00EAA4FC0000を出力する。280
から272の035を符号1ビット、データ8ビットの3
番目の部分平方根としてマルチプレクサ520により選
択し、補正前部分平方根保持手段513にこの部分平方
根がセットされる。反転手段514では035が反転、
上位に8ビット符号が拡張され、1FFCAとなり、最
下位ビットとして1が付加されて出力され、(R+S×
T)演算手段519では実質的に乗数として1FFCB
で演算が行なわれる。一方、被乗数生成手段515で
は、部分平方根保持手段509から512の出力を左に
1ビットシフトするとともに、補正前部分平方根保持手
段513の出力する9ビットを240から232へ埋め込
み、106E53500000000を出力する。マル
チプレクサ516、517、518はそれぞれ、剰余保
持手段508の出力、被乗数生成手段515の出力、反
転手段514の出力を選択する。(R+S×T)演算手
段519ではマルチプレクサ516の出力をR、マルチ
プレクサ517の出力をS、マルチプレクサ518の出
力をTとして入力し、(R+S×T)の演算を実行す
る。(R+S×T)演算手段519の出力000027
57181F40000はシフタ506によって左に8
ビットシフトされてマルチプレクサ507により選択さ
れ、剰余保持手段508にセットされる。マルチプレク
サ522は、補正前部分平方根保持手段513の出力を
選択して出力し、部分平方根保持手段511ではマルチ
プレクサ522の出力をセットする。
【0069】次に4回目の反復計算に入る。テーブル情
報格納手段505の出力は1回目と変わらない。マルチ
プレクサ516、517、518はそれぞれ、‘0’、
剰余保持手段508にセットされた3番目の剰余R3 の
002757181F4000000、テーブル情報格
納手段505の出力0F96Bを選択する。(R+S×
T)演算手段519は(S×T)を実行し、積0026
5427DD7A4FC000000を出力する。280
から272の002が符号1ビット、データ8ビットの4
番目の部分平方根としてマルチプレクサ520により選
択される。反転手段514では002が反転、上位に8
ビット符号が拡張され、1FFFDとなり、最下位ビッ
トとして1が付加されて出力され、(R+S×T)演算
手段519では実質的に乗数として1FFFEで演算が
行なわれる。一方、被乗数生成手段515では、部分平
方根保持手段509から512の出力を左に1ビットシ
フトするとともに、補正前部分平方根保持手段513の
出力する9ビットを232から224へ埋め込み、106E
46A02000000を出力する。マルチプレクサ5
16、517、518はそれぞれ、剰余保持手段508
の出力、被乗数生成手段515の出力、反転手段514
の出力を選択する。(R+S×T)演算手段519では
マルチプレクサ516の出力をR、マルチプレクサ51
7の出力をS、マルチプレクサ518の出力をTとして
入力し、(R+S×T)の演算を実行する。(R+S×
T)演算手段519は00067A8ADF00000
00を出力する。マルチプレクサ522は、補正前部分
平方根保持手段513の出力を選択して出力し、部分平
方根保持手段512ではマルチプレクサ522の出力を
セットする。桁調整シフト数算出手段523では、正規
化シフト数検出手段503からの2を右1ビットシフト
して1とした後、1を出力し、桁調整手段524では部
分平方根保持手段509から511とマルチプレクサ5
22の出力を併合して83723502を入力し、桁調
整シフト数算出手段523からの指示である1だけ右に
シフトして最終結果である41B91A81を出力す
る。
報格納手段505の出力は1回目と変わらない。マルチ
プレクサ516、517、518はそれぞれ、‘0’、
剰余保持手段508にセットされた3番目の剰余R3 の
002757181F4000000、テーブル情報格
納手段505の出力0F96Bを選択する。(R+S×
T)演算手段519は(S×T)を実行し、積0026
5427DD7A4FC000000を出力する。280
から272の002が符号1ビット、データ8ビットの4
番目の部分平方根としてマルチプレクサ520により選
択される。反転手段514では002が反転、上位に8
ビット符号が拡張され、1FFFDとなり、最下位ビッ
トとして1が付加されて出力され、(R+S×T)演算
手段519では実質的に乗数として1FFFEで演算が
行なわれる。一方、被乗数生成手段515では、部分平
方根保持手段509から512の出力を左に1ビットシ
フトするとともに、補正前部分平方根保持手段513の
出力する9ビットを232から224へ埋め込み、106E
46A02000000を出力する。マルチプレクサ5
16、517、518はそれぞれ、剰余保持手段508
の出力、被乗数生成手段515の出力、反転手段514
の出力を選択する。(R+S×T)演算手段519では
マルチプレクサ516の出力をR、マルチプレクサ51
7の出力をS、マルチプレクサ518の出力をTとして
入力し、(R+S×T)の演算を実行する。(R+S×
T)演算手段519は00067A8ADF00000
00を出力する。マルチプレクサ522は、補正前部分
平方根保持手段513の出力を選択して出力し、部分平
方根保持手段512ではマルチプレクサ522の出力を
セットする。桁調整シフト数算出手段523では、正規
化シフト数検出手段503からの2を右1ビットシフト
して1とした後、1を出力し、桁調整手段524では部
分平方根保持手段509から511とマルチプレクサ5
22の出力を併合して83723502を入力し、桁調
整シフト数算出手段523からの指示である1だけ右に
シフトして最終結果である41B91A81を出力す
る。
【0070】(実施例6)図12,図13は本発明の第
6の実施例に係る固定小数点ベクトル開平演算装置のブ
ロック図を示すものである。本実施例の固定小数点ベク
トル開平演算装置は2の補数表示の64ビットの固定小
数点数ベクトルを要素順に入力して、2の補数表示の3
2ビットの平方根ベクトルを要素順に出力し、部分平方
根のデータとしてのビット長が8で部分平方根間には重
複がない。図12,図13において、601は入力レジ
スタ、602_1から602_10は例外検出情報保持
手段、603は正規化シフト数検出手段、604_1か
ら604_10は正規化シフト数保持手段、605は正
規化手段、606は正規化オペランドレジスタ、607
はテーブル情報格納手段、608_2から608_9は
テーブル出力情報保持手段、609_2から609_9
は剰余保持手段、610_1から610_4は乗算手
段、611_1から611_4は補正前部分平方根保持
手段、612_1から612_4は反転手段、613_
1から613_4は被乗数生成手段、614_1から6
14_4は(R+S×T)演算手段、615_1から6
15_4は定数減算手段、616_1から616_4は
マルチプレクサ、617_1から617_4はシフタ、
618_4から618_10、619_6から619_
10、620_8から620_10、621_10は補
正後部分平方根保持手段(以下では補正後は省略す
る)、622は例外検出手段、623は桁調整シフト数
算出手段、624は桁調整手段である。
6の実施例に係る固定小数点ベクトル開平演算装置のブ
ロック図を示すものである。本実施例の固定小数点ベク
トル開平演算装置は2の補数表示の64ビットの固定小
数点数ベクトルを要素順に入力して、2の補数表示の3
2ビットの平方根ベクトルを要素順に出力し、部分平方
根のデータとしてのビット長が8で部分平方根間には重
複がない。図12,図13において、601は入力レジ
スタ、602_1から602_10は例外検出情報保持
手段、603は正規化シフト数検出手段、604_1か
ら604_10は正規化シフト数保持手段、605は正
規化手段、606は正規化オペランドレジスタ、607
はテーブル情報格納手段、608_2から608_9は
テーブル出力情報保持手段、609_2から609_9
は剰余保持手段、610_1から610_4は乗算手
段、611_1から611_4は補正前部分平方根保持
手段、612_1から612_4は反転手段、613_
1から613_4は被乗数生成手段、614_1から6
14_4は(R+S×T)演算手段、615_1から6
15_4は定数減算手段、616_1から616_4は
マルチプレクサ、617_1から617_4はシフタ、
618_4から618_10、619_6から619_
10、620_8から620_10、621_10は補
正後部分平方根保持手段(以下では補正後は省略す
る)、622は例外検出手段、623は桁調整シフト数
算出手段、624は桁調整手段である。
【0071】以下、具体的な数値例を用いて図12,図
13に示す固定小数点ベクトル開平演算装置の動作を説
明する。図10はベクトルの1つの要素のオペランドが
入力されてから、各々の手段で処理されていく過程を示
している。以下では1つの要素がステージ毎にどのよう
に処理されていくかについて説明する。
13に示す固定小数点ベクトル開平演算装置の動作を説
明する。図10はベクトルの1つの要素のオペランドが
入力されてから、各々の手段で処理されていく過程を示
している。以下では1つの要素がステージ毎にどのよう
に処理されていくかについて説明する。
【0072】ステージ 0:はじめにオペランドとして
10DF854CED1AA07Dが入力され、入力レ
ジスタ601にセットされる。正規化シフト数検出手段
603では、2ビット単位のビット正規化を行なうため
のシフト数を検出しており、2が出力される。正規化手
段605では、正規化シフト数検出手段603より、シ
フト数2の指示を受け、入力データを2ビット左にシフ
トして出力する。
10DF854CED1AA07Dが入力され、入力レ
ジスタ601にセットされる。正規化シフト数検出手段
603では、2ビット単位のビット正規化を行なうため
のシフト数を検出しており、2が出力される。正規化手
段605では、正規化シフト数検出手段603より、シ
フト数2の指示を受け、入力データを2ビット左にシフ
トして出力する。
【0073】ステージ 1:はじめに入力レジスタ60
1の出力の先頭2ビットが例外検出情報保持手段602
_1に、正規化手段605の出力が正規化オペランドレ
ジスタ606に、正規化シフト数検出手段603の出力
が正規化シフト数保持手段604_1に、それぞれセッ
トされる。テーブル情報格納手段607には正規化オペ
ランドレジスタ606の263から251の13ビットが入
力され、0F96Bが出力される。さらにこの出力の最
下位ビットとして正規化手段605の250のビットを反
転したものが付加されるのであるが、本例では0が付加
され、乗算手段610_1から610_4での実質的な
乗数は0F96Bとなる。
1の出力の先頭2ビットが例外検出情報保持手段602
_1に、正規化手段605の出力が正規化オペランドレ
ジスタ606に、正規化シフト数検出手段603の出力
が正規化シフト数保持手段604_1に、それぞれセッ
トされる。テーブル情報格納手段607には正規化オペ
ランドレジスタ606の263から251の13ビットが入
力され、0F96Bが出力される。さらにこの出力の最
下位ビットとして正規化手段605の250のビットを反
転したものが付加されるのであるが、本例では0が付加
され、乗算手段610_1から610_4での実質的な
乗数は0F96Bとなる。
【0074】ステージ 2:はじめに例外検出情報保持
手段602_1の出力が602_2に、正規化オペラン
ドレジスタ606の出力が先頭に4ビットのゼロを付加
されて剰余保持手段609_2に、テーブル情報格納手
段607の出力がテーブル出力情報保持手段608_2
に、正規化シフト数保持手段604_1の出力が604
_2に、それぞれセットされる。乗算手段610_1で
0437E1533B46A81F4と0F96Bの乗
算が行なわれ、041C1D852271800EAA
4FCの積が求められる。
手段602_1の出力が602_2に、正規化オペラン
ドレジスタ606の出力が先頭に4ビットのゼロを付加
されて剰余保持手段609_2に、テーブル情報格納手
段607の出力がテーブル出力情報保持手段608_2
に、正規化シフト数保持手段604_1の出力が604
_2に、それぞれセットされる。乗算手段610_1で
0437E1533B46A81F4と0F96Bの乗
算が行なわれ、041C1D852271800EAA
4FCの積が求められる。
【0075】ステージ 3:はじめに乗算手段610_
1の279から271の9ビットが符号1ビット、データ8
ビットの1番目の部分平方根として補正前部分平方根保
持手段611_1に、例外検出情報保持手段602_2
の出力が602_3に、剰余保持手段609_2の出力
が609_3に、テーブル出力情報保持手段608_2
の出力が608_3に、正規化シフト数保持手段604
_2の出力が604_3に、それぞれセットされる。反
転手段612_1では補正前部分平方根保持手段611
_1の出力を入力してビット反転するとともに、部分平
方根が負の場合、最下位ビットに0を付加し、それ以外
の場合1を付加して出力する。また、被乗数生成手段6
13_1では、255から248までに補正前部分平方根保
持手段611_1の出力を埋め込み、他のビットをゼロ
として出力する。(R+S×T)演算手段614_1で
は剰余保持手段609_3の出力をR、被乗数生成手段
613_1の出力をS、反転手段612_1の出力をT
として入力し、(R+S×T)の演算を実行する。(R
+S×T)演算手段614_1の出力FFF6E153
3D46A81F4はシフタ617_1によって左に8
ビットシフトされる。一方、定数減算手段615_1で
は補正前部分平方根保持手段611_1の出力のLSB
から1を引く。マルチプレクサ616_1は、(R+S
×T)演算手段614_1の出力が負の場合、定数減算
手段615_1の出力を選択し、それ以外の場合は補正
前部分平方根保持手段611_1の出力を選択する。本
例では上記の条件を判断して定数減算手段615_1の
出力を選択する。
1の279から271の9ビットが符号1ビット、データ8
ビットの1番目の部分平方根として補正前部分平方根保
持手段611_1に、例外検出情報保持手段602_2
の出力が602_3に、剰余保持手段609_2の出力
が609_3に、テーブル出力情報保持手段608_2
の出力が608_3に、正規化シフト数保持手段604
_2の出力が604_3に、それぞれセットされる。反
転手段612_1では補正前部分平方根保持手段611
_1の出力を入力してビット反転するとともに、部分平
方根が負の場合、最下位ビットに0を付加し、それ以外
の場合1を付加して出力する。また、被乗数生成手段6
13_1では、255から248までに補正前部分平方根保
持手段611_1の出力を埋め込み、他のビットをゼロ
として出力する。(R+S×T)演算手段614_1で
は剰余保持手段609_3の出力をR、被乗数生成手段
613_1の出力をS、反転手段612_1の出力をT
として入力し、(R+S×T)の演算を実行する。(R
+S×T)演算手段614_1の出力FFF6E153
3D46A81F4はシフタ617_1によって左に8
ビットシフトされる。一方、定数減算手段615_1で
は補正前部分平方根保持手段611_1の出力のLSB
から1を引く。マルチプレクサ616_1は、(R+S
×T)演算手段614_1の出力が負の場合、定数減算
手段615_1の出力を選択し、それ以外の場合は補正
前部分平方根保持手段611_1の出力を選択する。本
例では上記の条件を判断して定数減算手段615_1の
出力を選択する。
【0076】ステージ 4:はじめにシフタ617_1
の出力が剰余保持手段609_4に、マルチプレクサ6
16_1の出力が部分平方根保持手段618_4に、例
外検出情報保持手段602_3の出力が602_4に、
テーブル出力情報保持手段608_4の出力が608_
5に、正規化シフト数保持手段604_4の出力が60
4_5に、それぞれセットされる。剰余保持手段609
_4にセットされた1番目の剰余R1 のF6E1533
B46A81F400にテーブル出力情報保持手段60
8_4の出力する0F96Bが乗算手段610_2によ
り掛けられ、積F71D5A2271800EAA4F
C00が出力される。
の出力が剰余保持手段609_4に、マルチプレクサ6
16_1の出力が部分平方根保持手段618_4に、例
外検出情報保持手段602_3の出力が602_4に、
テーブル出力情報保持手段608_4の出力が608_
5に、正規化シフト数保持手段604_4の出力が60
4_5に、それぞれセットされる。剰余保持手段609
_4にセットされた1番目の剰余R1 のF6E1533
B46A81F400にテーブル出力情報保持手段60
8_4の出力する0F96Bが乗算手段610_2によ
り掛けられ、積F71D5A2271800EAA4F
C00が出力される。
【0077】ステージ 5:はじめに乗算手段610_
2の出力の280から272の172が符号1ビット、デー
タ8ビットの2番目の部分平方根として補正前部分平方
根保持手段611_2に、例外検出情報保持手段602
_4の出力が602_5に、剰余保持手段609_4の
出力が609_5に、部分平方根保持手段618_4の
出力が618_5に、テーブル出力情報保持手段608
_4の出力が608_5に、正規化シフト数保持手段6
04_4の出力が604_5に、それぞれセットされ
る。反転手段612_2では172が反転され、08D
となり、最下位ビットとして1が付加されて出力され、
(R+S×T)演算手段614_2では実質的に乗数と
して18Eで演算が行なわれる。一方、被乗数生成手段
613_2では、部分平方根保持手段618_5の出力
を左に1ビットシフトするとともに、補正前部分平方根
保持手段611_2の出力する9ビットを248から240
へ埋め込み、107720000000000を出力す
る。(R+S×T)演算手段614_2では剰余保持手
段609_5の出力をR、被乗数生成手段613_2の
出力をS、反転手段612_2の出力をTとして入力
し、(R+S×T)の演算を実行する。(R+S×T)
演算手段614_2の出力000366FB46A81
F400はシフタ617_2によって左に8ビットシフ
トされる。マルチプレクサ616_2は補正前部分平方
根保持手段611_2の出力を選択して出力する。
2の出力の280から272の172が符号1ビット、デー
タ8ビットの2番目の部分平方根として補正前部分平方
根保持手段611_2に、例外検出情報保持手段602
_4の出力が602_5に、剰余保持手段609_4の
出力が609_5に、部分平方根保持手段618_4の
出力が618_5に、テーブル出力情報保持手段608
_4の出力が608_5に、正規化シフト数保持手段6
04_4の出力が604_5に、それぞれセットされ
る。反転手段612_2では172が反転され、08D
となり、最下位ビットとして1が付加されて出力され、
(R+S×T)演算手段614_2では実質的に乗数と
して18Eで演算が行なわれる。一方、被乗数生成手段
613_2では、部分平方根保持手段618_5の出力
を左に1ビットシフトするとともに、補正前部分平方根
保持手段611_2の出力する9ビットを248から240
へ埋め込み、107720000000000を出力す
る。(R+S×T)演算手段614_2では剰余保持手
段609_5の出力をR、被乗数生成手段613_2の
出力をS、反転手段612_2の出力をTとして入力
し、(R+S×T)の演算を実行する。(R+S×T)
演算手段614_2の出力000366FB46A81
F400はシフタ617_2によって左に8ビットシフ
トされる。マルチプレクサ616_2は補正前部分平方
根保持手段611_2の出力を選択して出力する。
【0078】ステージ 6:はじめにシフタ617_2
の出力が剰余保持手段609_6に、部分平方根保持手
段618_5の出力が618_6に、マルチプレクサ6
16_2の出力が部分平方根保持手段619_6に、例
外検出情報保持手段602_5の出力が602_6に、
テーブル出力情報保持手段608_5の出力が608_
6に、正規化シフト数保持手段604_5の出力が60
4_6に、それぞれセットされる。剰余保持手段609
_6にセットされた2番目の剰余R2 の0366FB4
6A81F40000にテーブル出力情報保持手段60
8_6の出力する0F96Bが乗算手段610_3によ
り掛けられ、積03509672C00EAA4FC0
000が出力される。
の出力が剰余保持手段609_6に、部分平方根保持手
段618_5の出力が618_6に、マルチプレクサ6
16_2の出力が部分平方根保持手段619_6に、例
外検出情報保持手段602_5の出力が602_6に、
テーブル出力情報保持手段608_5の出力が608_
6に、正規化シフト数保持手段604_5の出力が60
4_6に、それぞれセットされる。剰余保持手段609
_6にセットされた2番目の剰余R2 の0366FB4
6A81F40000にテーブル出力情報保持手段60
8_6の出力する0F96Bが乗算手段610_3によ
り掛けられ、積03509672C00EAA4FC0
000が出力される。
【0079】ステージ 7:はじめに乗算手段610_
3の出力の280から272の035が符号1ビット、デー
タ8ビットの3番目の部分平方根として補正前部分平方
根保持手段611_3に、例外検出情報保持手段602
_6の出力が602_7に、剰余保持手段609_6の
出力が609_7に、部分平方根保持手段618_6の
出力が618_7に、部分平方根保持手段619_6の
出力が619_7に、テーブル出力情報保持手段608
_6の出力が608_7に、正規化シフト数保持手段6
04_6の出力が604_7に、それぞれセットされ
る。反転手段612_3では035が反転され、1CA
となり、最下位ビットとして1が付加されて出力され、
(R+S×T)演算手段614_3では実質的に乗数と
して1CBで演算が行なわれる。一方、被乗数生成手段
613_3では、部分平方根保持手段618_7と61
9_7の出力を左に1ビットシフトするとともに、補正
前部分平方根保持手段611_3の出力する9ビットを
240から232へ埋め込み、106E535000000
00を出力する。(R+S×T)演算手段614_3で
は剰余保持手段609_7の出力をR、被乗数生成手段
613_3の出力をS、反転手段612_3の出力をT
として入力し、(R+S×T)の演算を実行する。(R
+S×T)演算手段614_3の出力00002757
181F40000はシフタ617_3によって左に8
ビットシフトされる。マルチプレクサ616_3は、補
正前部分平方根保持手段611_3の出力を選択して出
力する。
3の出力の280から272の035が符号1ビット、デー
タ8ビットの3番目の部分平方根として補正前部分平方
根保持手段611_3に、例外検出情報保持手段602
_6の出力が602_7に、剰余保持手段609_6の
出力が609_7に、部分平方根保持手段618_6の
出力が618_7に、部分平方根保持手段619_6の
出力が619_7に、テーブル出力情報保持手段608
_6の出力が608_7に、正規化シフト数保持手段6
04_6の出力が604_7に、それぞれセットされ
る。反転手段612_3では035が反転され、1CA
となり、最下位ビットとして1が付加されて出力され、
(R+S×T)演算手段614_3では実質的に乗数と
して1CBで演算が行なわれる。一方、被乗数生成手段
613_3では、部分平方根保持手段618_7と61
9_7の出力を左に1ビットシフトするとともに、補正
前部分平方根保持手段611_3の出力する9ビットを
240から232へ埋め込み、106E535000000
00を出力する。(R+S×T)演算手段614_3で
は剰余保持手段609_7の出力をR、被乗数生成手段
613_3の出力をS、反転手段612_3の出力をT
として入力し、(R+S×T)の演算を実行する。(R
+S×T)演算手段614_3の出力00002757
181F40000はシフタ617_3によって左に8
ビットシフトされる。マルチプレクサ616_3は、補
正前部分平方根保持手段611_3の出力を選択して出
力する。
【0080】ステージ 8:はじめにシフタ617_3
の出力が剰余保持手段609_8に、部分平方根保持手
段618_7の出力が618_8に、部分平方根保持手
段619_7の出力が619_8に、マルチプレクサ6
16_3の出力が部分平方根保持手段620_8に、例
外検出情報保持手段602_7の出力が602_8に、
テーブル出力情報保持手段608_7の出力が608_
8に、正規化シフト数保持手段604_7の出力が60
4_8に、それぞれセットされる。剰余保持手段609
_8にセットされた3番目の剰余R3 の0027571
81F4000000にテーブル出力情報保持手段60
8_8の出力する0F96Bが乗算手段610_4によ
り掛けられ、積00265427DD7A4FC000
000が出力される。
の出力が剰余保持手段609_8に、部分平方根保持手
段618_7の出力が618_8に、部分平方根保持手
段619_7の出力が619_8に、マルチプレクサ6
16_3の出力が部分平方根保持手段620_8に、例
外検出情報保持手段602_7の出力が602_8に、
テーブル出力情報保持手段608_7の出力が608_
8に、正規化シフト数保持手段604_7の出力が60
4_8に、それぞれセットされる。剰余保持手段609
_8にセットされた3番目の剰余R3 の0027571
81F4000000にテーブル出力情報保持手段60
8_8の出力する0F96Bが乗算手段610_4によ
り掛けられ、積00265427DD7A4FC000
000が出力される。
【0081】ステージ 9:はじめに乗算手段610_
4の出力の280から272の002が符号1ビット、デー
タ8ビットの4番目の部分平方根として補正前部分平方
根保持手段611_4に、例外検出情報保持手段602
_8の出力が602_9に、剰余保持手段609_8の
出力が609_9に、部分平方根保持手段618_8の
出力が618_9に、部分平方根保持手段619_8の
出力が619_9に、部分平方根保持手段620_8の
出力が620_9に、正規化シフト数保持手段604_
8の出力が604_9に、それぞれセットされる。反転
手段612_4で002が反転され、1FDとなり、最
下位ビットとして1が付加されて出力され、(R+S×
T)演算手段614_4では実質的に乗数として1FE
で演算が行なわれる。一方、被乗数生成手段613_4
では、部分平方根保持手段618_9から620_9の
出力を左に1ビットシフトするとともに、補正前部分平
方根保持手段611_4の出力する9ビットを232から
224へ埋め込み、106E46A02000000を出
力する。(R+S×T)演算手段614_4では剰余保
持手段609_9の出力をR、被乗数生成手段613_
4の出力をS、反転手段612_4の出力をTとして入
力し、(R+S×T)の演算を実行する。(R+S×
T)演算手段614_4の出力00067A8ADF0
000000はシフタ617_4によって左に8ビット
シフトされる。マルチプレクサ616_4は、補正前部
分平方根保持手段611_4出力を選択して出力する。
4の出力の280から272の002が符号1ビット、デー
タ8ビットの4番目の部分平方根として補正前部分平方
根保持手段611_4に、例外検出情報保持手段602
_8の出力が602_9に、剰余保持手段609_8の
出力が609_9に、部分平方根保持手段618_8の
出力が618_9に、部分平方根保持手段619_8の
出力が619_9に、部分平方根保持手段620_8の
出力が620_9に、正規化シフト数保持手段604_
8の出力が604_9に、それぞれセットされる。反転
手段612_4で002が反転され、1FDとなり、最
下位ビットとして1が付加されて出力され、(R+S×
T)演算手段614_4では実質的に乗数として1FE
で演算が行なわれる。一方、被乗数生成手段613_4
では、部分平方根保持手段618_9から620_9の
出力を左に1ビットシフトするとともに、補正前部分平
方根保持手段611_4の出力する9ビットを232から
224へ埋め込み、106E46A02000000を出
力する。(R+S×T)演算手段614_4では剰余保
持手段609_9の出力をR、被乗数生成手段613_
4の出力をS、反転手段612_4の出力をTとして入
力し、(R+S×T)の演算を実行する。(R+S×
T)演算手段614_4の出力00067A8ADF0
000000はシフタ617_4によって左に8ビット
シフトされる。マルチプレクサ616_4は、補正前部
分平方根保持手段611_4出力を選択して出力する。
【0082】ステージ 10:はじめにシフタ617_
4の出力が剰余保持手段609_10に、部分平方根保
持手段618_9の出力が618_10に、部分平方根
保持手段619_9の出力が619_10に、部分平方
根保持手段620_9の出力が620_10に、マルチ
プレクサ616_4の出力が部分平方根保持手段621
_10に、例外検出情報保持手段602_9の出力が6
02_10に、正規化シフト数保持手段604_9の出
力が604_10に、それぞれセットされる。例外検出
手段622では例外検出情報保持手段602_10の出
力する2ビットが10または11の場合はデータ例外と
して、また01の場合はオーバーフロー例外として検出
し、固定小数点ベクトル開平演算装置の外部の命令実行
制御部に対して例外が発生していることを通知する。本
例では例外は検出されない。桁調整数算出手段623で
は、正規化シフト数保持手段604_10からの2を右
1ビットシフトして1とした後、1を出力し、桁調整手
段624では部分平方根保持手段618_10から62
1_10の出力を併合して83723502を入力し、
桁調整シフト数算出手段623からの指示である1だけ
右にシフトして最終結果である41B91A81を出力
する。
4の出力が剰余保持手段609_10に、部分平方根保
持手段618_9の出力が618_10に、部分平方根
保持手段619_9の出力が619_10に、部分平方
根保持手段620_9の出力が620_10に、マルチ
プレクサ616_4の出力が部分平方根保持手段621
_10に、例外検出情報保持手段602_9の出力が6
02_10に、正規化シフト数保持手段604_9の出
力が604_10に、それぞれセットされる。例外検出
手段622では例外検出情報保持手段602_10の出
力する2ビットが10または11の場合はデータ例外と
して、また01の場合はオーバーフロー例外として検出
し、固定小数点ベクトル開平演算装置の外部の命令実行
制御部に対して例外が発生していることを通知する。本
例では例外は検出されない。桁調整数算出手段623で
は、正規化シフト数保持手段604_10からの2を右
1ビットシフトして1とした後、1を出力し、桁調整手
段624では部分平方根保持手段618_10から62
1_10の出力を併合して83723502を入力し、
桁調整シフト数算出手段623からの指示である1だけ
右にシフトして最終結果である41B91A81を出力
する。
【0083】(実施例7)図14は本発明の第7の実施
例に係る浮動小数点開平演算装置のブロック図を示すも
のである。本実施例の浮動小数点開平演算装置はIEE
E規格の倍精度浮動小数点数を入力して、同じ倍精度浮
動小数点数の平方根を出力し、部分平方根のデータとし
てのビット長が8で部分平方根間には重複がない。図1
4において、701は入力レジスタ、702は例外検出
手段、703は指数定数減算手段、704はシフタ、7
05は指数定数加算手段、706はリーディングビット
付加回路、707は正規化手段、708はテーブル情報
格納手段、709はシフタ、710はマルチプレクサ、
711は剰余保持手段、712は乗算手段、713はマ
ルチプレクサ、714から720は部分平方根保持手
段、721は反転手段、722は被乗数生成手段、72
3は(R+S×T)演算手段、724は定数減算手段、
725はマルチプレクサである。
例に係る浮動小数点開平演算装置のブロック図を示すも
のである。本実施例の浮動小数点開平演算装置はIEE
E規格の倍精度浮動小数点数を入力して、同じ倍精度浮
動小数点数の平方根を出力し、部分平方根のデータとし
てのビット長が8で部分平方根間には重複がない。図1
4において、701は入力レジスタ、702は例外検出
手段、703は指数定数減算手段、704はシフタ、7
05は指数定数加算手段、706はリーディングビット
付加回路、707は正規化手段、708はテーブル情報
格納手段、709はシフタ、710はマルチプレクサ、
711は剰余保持手段、712は乗算手段、713はマ
ルチプレクサ、714から720は部分平方根保持手
段、721は反転手段、722は被乗数生成手段、72
3は(R+S×T)演算手段、724は定数減算手段、
725はマルチプレクサである。
【0084】以下、具体的な数値例を用いて図14に示
す浮動小数点開平演算装置の動作を説明する。図15,
図16はオペランドが入力されてから、各々の手段で処
理されていく過程を示している。はじめにオペランドと
して56F80A494B9A80F8が入力され、入
力レジスタ701にセットされる。例外検出手段702
では入力オペランドが負の場合はデータ例外として検出
し、浮動小数点開平演算装置の外部の命令実行制御部に
対して例外が発生していることを通知する。本数値例で
は(以下では、この前提を省略する)オペランドは正で
あるので例外は検出されない。入力レジスタ701の出
力の262から252の指数に対して、指数定数減算手段7
03により3FFが引かれた後、シフタ704により右
に1ビットシフトされ、指数定数加算手段705により
再び3FFが加算され、結果の指数が求められる。リー
ディングビット付加回路706では入力レジスタ701
の出力の251から20 の仮数部に対して先頭にリーディ
ングビットの1が付加される。正規化手段707では、
入力レジスタ701の出力の252のビットが1の場合入
力を左に12ビットシフトして、また、入力レジスタ7
01の出力の252のビットが0の場合入力を左に13ビ
ットシフトして出力する。テーブル情報格納手段708
には正規化手段707の265から253の13ビットが入
力され、0D0DEが出力される。さらにこの出力の最
下位ビットとして正規化手段707の252のビットを反
転したものが付加されるのであるが、本例では1が付加
され、乗算手段712での実質的な乗数は0D0DFと
なる。マルチプレクサ710では正規化手段707の出
力を選択し、この出力が剰余保持手段711にセットさ
れる。このとき、部分平方根保持手段714から720
はゼロにリセットされる。乗算手段712で06029
252E6A03E000と0D0DFの乗算が行なわ
れ、04E75320D19917F602000の積
が求められる。マルチプレクサ713では乗算手段71
2の279から271の9ビットを符号1ビット、データ8
ビットの1番目の部分平方根として選択する。反転手段
721では部分平方根を入力してビット反転するととも
に、部分平方根が負の場合、最下位ビットに0を付加
し、それ以外の場合1を付加して出力する。また、被乗
数生成手段722では、1回目の反復ではマルチプレク
サ713の出力の符号ビットを除いてデータ8ビットを
255から248に埋め込み、他のビットをゼロとして出力
する。(R+S×T)演算手段723では剰余保持手段
711の出力をR、被乗数生成手段722の出力をS、
反転手段721の出力をTとして入力し、(R+S×
T)の演算を実行する。(R+S×T)演算手段723
の出力3FFE0252E6A03E000はシフタ7
09によって左に8ビットシフトされてマルチプレクサ
710により選択され、剰余保持手段711にセットさ
れる。一方、定数減算手段724ではマルチプレクサ4
13の出力のLSBから1を引く。マルチプレクサ72
5は、(R+S×T)演算手段723の出力が負の場
合、定数減算手段724の出力を選択し、それ以外の場
合はマルチプレクサ713の出力を選択する。1回目の
反復では上記の条件を判断して定数減算手段724の出
力を選択する。マルチプレクサ725の出力を部分平方
根保持手段714にセットする。
す浮動小数点開平演算装置の動作を説明する。図15,
図16はオペランドが入力されてから、各々の手段で処
理されていく過程を示している。はじめにオペランドと
して56F80A494B9A80F8が入力され、入
力レジスタ701にセットされる。例外検出手段702
では入力オペランドが負の場合はデータ例外として検出
し、浮動小数点開平演算装置の外部の命令実行制御部に
対して例外が発生していることを通知する。本数値例で
は(以下では、この前提を省略する)オペランドは正で
あるので例外は検出されない。入力レジスタ701の出
力の262から252の指数に対して、指数定数減算手段7
03により3FFが引かれた後、シフタ704により右
に1ビットシフトされ、指数定数加算手段705により
再び3FFが加算され、結果の指数が求められる。リー
ディングビット付加回路706では入力レジスタ701
の出力の251から20 の仮数部に対して先頭にリーディ
ングビットの1が付加される。正規化手段707では、
入力レジスタ701の出力の252のビットが1の場合入
力を左に12ビットシフトして、また、入力レジスタ7
01の出力の252のビットが0の場合入力を左に13ビ
ットシフトして出力する。テーブル情報格納手段708
には正規化手段707の265から253の13ビットが入
力され、0D0DEが出力される。さらにこの出力の最
下位ビットとして正規化手段707の252のビットを反
転したものが付加されるのであるが、本例では1が付加
され、乗算手段712での実質的な乗数は0D0DFと
なる。マルチプレクサ710では正規化手段707の出
力を選択し、この出力が剰余保持手段711にセットさ
れる。このとき、部分平方根保持手段714から720
はゼロにリセットされる。乗算手段712で06029
252E6A03E000と0D0DFの乗算が行なわ
れ、04E75320D19917F602000の積
が求められる。マルチプレクサ713では乗算手段71
2の279から271の9ビットを符号1ビット、データ8
ビットの1番目の部分平方根として選択する。反転手段
721では部分平方根を入力してビット反転するととも
に、部分平方根が負の場合、最下位ビットに0を付加
し、それ以外の場合1を付加して出力する。また、被乗
数生成手段722では、1回目の反復ではマルチプレク
サ713の出力の符号ビットを除いてデータ8ビットを
255から248に埋め込み、他のビットをゼロとして出力
する。(R+S×T)演算手段723では剰余保持手段
711の出力をR、被乗数生成手段722の出力をS、
反転手段721の出力をTとして入力し、(R+S×
T)の演算を実行する。(R+S×T)演算手段723
の出力3FFE0252E6A03E000はシフタ7
09によって左に8ビットシフトされてマルチプレクサ
710により選択され、剰余保持手段711にセットさ
れる。一方、定数減算手段724ではマルチプレクサ4
13の出力のLSBから1を引く。マルチプレクサ72
5は、(R+S×T)演算手段723の出力が負の場
合、定数減算手段724の出力を選択し、それ以外の場
合はマルチプレクサ713の出力を選択する。1回目の
反復では上記の条件を判断して定数減算手段724の出
力を選択する。マルチプレクサ725の出力を部分平方
根保持手段714にセットする。
【0085】次に2回目の反復計算に入る。テーブル情
報格納手段708の出力は2回目以降も1回目と変わら
ない。剰余保持手段711にセットされた1番目の剰余
R1の3E0252E6A03E00000に0D0D
Fが乗算手段712により掛けられ、積3E60276
19917F60200000が出力される。280から
272の1E6が符号1ビット、データ8ビットの2番目
の部分平方根としてマルチプレクサ713により選択さ
れる。反転手段721では1E6が反転され、019と
なり、最下位ビットとして1が付加されて出力され、
(R+S×T)演算手段723では実質的に乗数として
01Aで演算が行なわれる。一方、被乗数生成手段72
2では、部分平方根保持手段714から720の出力を
左に1ビットシフトするとともに、マルチプレクサ71
3の出力する9ビットを248から240へ埋め込み、13
9E60000000000を出力する。(R+S×
T)演算手段723では剰余保持手段711の出力を
R、被乗数生成手段722の出力をS、反転手段721
の出力をTとして入力し、(R+S×T)の演算を実行
する。(R+S×T)演算手段723の出力00006
8A6A03E00000はシフタ709によって左に
8ビットシフトされてマルチプレクサ710により選択
され、剰余保持手段711にセットされる。マルチプレ
クサ725は、マルチプレクサ713の出力を選択して
出力し、部分平方根保持手段715ではマルチプレクサ
725の出力をセットする。
報格納手段708の出力は2回目以降も1回目と変わら
ない。剰余保持手段711にセットされた1番目の剰余
R1の3E0252E6A03E00000に0D0D
Fが乗算手段712により掛けられ、積3E60276
19917F60200000が出力される。280から
272の1E6が符号1ビット、データ8ビットの2番目
の部分平方根としてマルチプレクサ713により選択さ
れる。反転手段721では1E6が反転され、019と
なり、最下位ビットとして1が付加されて出力され、
(R+S×T)演算手段723では実質的に乗数として
01Aで演算が行なわれる。一方、被乗数生成手段72
2では、部分平方根保持手段714から720の出力を
左に1ビットシフトするとともに、マルチプレクサ71
3の出力する9ビットを248から240へ埋め込み、13
9E60000000000を出力する。(R+S×
T)演算手段723では剰余保持手段711の出力を
R、被乗数生成手段722の出力をS、反転手段721
の出力をTとして入力し、(R+S×T)の演算を実行
する。(R+S×T)演算手段723の出力00006
8A6A03E00000はシフタ709によって左に
8ビットシフトされてマルチプレクサ710により選択
され、剰余保持手段711にセットされる。マルチプレ
クサ725は、マルチプレクサ713の出力を選択して
出力し、部分平方根保持手段715ではマルチプレクサ
725の出力をセットする。
【0086】次に3回目の反復計算に入る。テーブル情
報格納手段708の出力は1回目と変わらない。剰余保
持手段711にセットされた2番目の剰余R2 の006
8A6A03E0000000に0D0DFが乗算手段
712により掛けられ、積0055628B57F60
20000000が出力される。280から272の005
が符号1ビット、データ8ビットの3番目の部分平方根
としてマルチプレクサ713により選択される。反転手
段721では005が反転され、1FAとなり、最下位
ビットとして0が付加されて出力され、(R+S×T)
演算手段723では実質的に乗数として1FBで演算が
行なわれる。一方、被乗数生成手段722では、部分平
方根保持手段714から720の出力を左に1ビットシ
フトするとともに、マルチプレクサ713の出力する9
ビットを240から232へ埋め込み、139CC0500
000000を出力する。(R+S×T)演算手段72
3では剰余保持手段711の出力をR、被乗数生成手段
722の出力をS、反転手段721の出力をTとして入
力し、(R+S×T)の演算を実行する。(R+S×
T)演算手段723の出力000696DEAE000
0000はシフタ709によって左に8ビットシフトさ
れてマルチプレクサ710により選択され、剰余保持手
段711にセットされる。マルチプレクサ725は、マ
ルチプレクサ713の出力を選択して出力し、部分平方
根保持手段716ではマルチプレクサ725の出力をセ
ットする。
報格納手段708の出力は1回目と変わらない。剰余保
持手段711にセットされた2番目の剰余R2 の006
8A6A03E0000000に0D0DFが乗算手段
712により掛けられ、積0055628B57F60
20000000が出力される。280から272の005
が符号1ビット、データ8ビットの3番目の部分平方根
としてマルチプレクサ713により選択される。反転手
段721では005が反転され、1FAとなり、最下位
ビットとして0が付加されて出力され、(R+S×T)
演算手段723では実質的に乗数として1FBで演算が
行なわれる。一方、被乗数生成手段722では、部分平
方根保持手段714から720の出力を左に1ビットシ
フトするとともに、マルチプレクサ713の出力する9
ビットを240から232へ埋め込み、139CC0500
000000を出力する。(R+S×T)演算手段72
3では剰余保持手段711の出力をR、被乗数生成手段
722の出力をS、反転手段721の出力をTとして入
力し、(R+S×T)の演算を実行する。(R+S×
T)演算手段723の出力000696DEAE000
0000はシフタ709によって左に8ビットシフトさ
れてマルチプレクサ710により選択され、剰余保持手
段711にセットされる。マルチプレクサ725は、マ
ルチプレクサ713の出力を選択して出力し、部分平方
根保持手段716ではマルチプレクサ725の出力をセ
ットする。
【0087】次に4回目の反復計算に入る。テーブル情
報格納手段708の出力は1回目と変わらない。剰余保
持手段711にセットされた3番目の剰余R3 の000
696DEAE000000000に0D0DFが乗算
手段712により掛けられ、積05605259599
2000000000が出力される。280から272の0
56が符号1ビット、データ8ビットの4番目の部分平
方根としてマルチプレクサ713により選択される。反
転手段721では056が反転され、1A9となり、最
下位ビットとして1が付加されて出力され、(R+S×
T)演算手段723では実質的に乗数として1AAで演
算が行なわれる。一方、被乗数生成手段722では、部
分平方根保持手段714から720の出力を左に1ビッ
トシフトするとともに、マルチプレクサ713の出力す
る9ビットを232から224へ埋め込み、139CC0A
56000000を出力する。(R+S×T)演算手段
723では剰余保持手段711の出力をR、被乗数生成
手段722の出力をS、反転手段721の出力をTとし
て入力し、(R+S×T)の演算を実行する。(R+S
×T)演算手段723の出力000035F671C0
00000はシフタ709によって左に8ビットシフト
されてマルチプレクサ710により選択され、剰余保持
手段711にセットされる。マルチプレクサ725は、
マルチプレクサ713の出力を選択して出力し、部分平
方根保持手段717ではマルチプレクサ725の出力を
セットする。
報格納手段708の出力は1回目と変わらない。剰余保
持手段711にセットされた3番目の剰余R3 の000
696DEAE000000000に0D0DFが乗算
手段712により掛けられ、積05605259599
2000000000が出力される。280から272の0
56が符号1ビット、データ8ビットの4番目の部分平
方根としてマルチプレクサ713により選択される。反
転手段721では056が反転され、1A9となり、最
下位ビットとして1が付加されて出力され、(R+S×
T)演算手段723では実質的に乗数として1AAで演
算が行なわれる。一方、被乗数生成手段722では、部
分平方根保持手段714から720の出力を左に1ビッ
トシフトするとともに、マルチプレクサ713の出力す
る9ビットを232から224へ埋め込み、139CC0A
56000000を出力する。(R+S×T)演算手段
723では剰余保持手段711の出力をR、被乗数生成
手段722の出力をS、反転手段721の出力をTとし
て入力し、(R+S×T)の演算を実行する。(R+S
×T)演算手段723の出力000035F671C0
00000はシフタ709によって左に8ビットシフト
されてマルチプレクサ710により選択され、剰余保持
手段711にセットされる。マルチプレクサ725は、
マルチプレクサ713の出力を選択して出力し、部分平
方根保持手段717ではマルチプレクサ725の出力を
セットする。
【0088】次に5回目の反復計算に入る。テーブル情
報格納手段708の出力は1回目と変わらない。剰余保
持手段711にセットされた4番目の剰余R4 の003
5F671C00000000に0D0DFが乗算手段
712により掛けられ、積002C073E19164
00000000が出力される。280から272の003
が符号1ビット、データ8ビットの5番目の部分平方根
としてマルチプレクサ713により選択される。反転手
段721では003が反転され、1FCとなり、最下位
ビットとして1が付加されて出力され、(R+S×T)
演算手段723では実質的に乗数として1FDで演算が
行なわれる。一方、被乗数生成手段722では、部分平
方根保持手段714から720の出力を左に1ビットシ
フトするとともに、マルチプレクサ713の出力する9
ビットを224から216へ埋め込み、139CC0AAC
030000を出力する。(R+S×T)演算手段72
3では剰余保持手段711の出力をR、被乗数生成手段
722の出力をS、反転手段721の出力をTとして入
力し、(R+S×T)の演算を実行する。(R+S×
T)演算手段723の出力3FFB202FBFBF7
0000はシフタ709によって左に8ビットシフトさ
れてマルチプレクサ710により選択され、剰余保持手
段711にセットされる。マルチプレクサ725は、定
数減算手段724の出力を選択して出力し、部分平方根
保持手段718ではマルチプレクサ725の出力をセッ
トする。
報格納手段708の出力は1回目と変わらない。剰余保
持手段711にセットされた4番目の剰余R4 の003
5F671C00000000に0D0DFが乗算手段
712により掛けられ、積002C073E19164
00000000が出力される。280から272の003
が符号1ビット、データ8ビットの5番目の部分平方根
としてマルチプレクサ713により選択される。反転手
段721では003が反転され、1FCとなり、最下位
ビットとして1が付加されて出力され、(R+S×T)
演算手段723では実質的に乗数として1FDで演算が
行なわれる。一方、被乗数生成手段722では、部分平
方根保持手段714から720の出力を左に1ビットシ
フトするとともに、マルチプレクサ713の出力する9
ビットを224から216へ埋め込み、139CC0AAC
030000を出力する。(R+S×T)演算手段72
3では剰余保持手段711の出力をR、被乗数生成手段
722の出力をS、反転手段721の出力をTとして入
力し、(R+S×T)の演算を実行する。(R+S×
T)演算手段723の出力3FFB202FBFBF7
0000はシフタ709によって左に8ビットシフトさ
れてマルチプレクサ710により選択され、剰余保持手
段711にセットされる。マルチプレクサ725は、定
数減算手段724の出力を選択して出力し、部分平方根
保持手段718ではマルチプレクサ725の出力をセッ
トする。
【0089】次に6回目の反復計算に入る。テーブル情
報格納手段708の出力は1回目と変わらない。剰余保
持手段711にセットされた5番目の剰余R5 の3B2
02FBFBF7000000に0D0DFが乗算手段
712により掛けられ、積3C05E7D56392C
29000000が出力される。280から272の1C0
が符号1ビット、データ8ビットの6番目の部分平方根
としてマルチプレクサ713により選択される。反転手
段721では1C0が反転され、03Fとなり、最下位
ビットとして1が付加されて出力され、(R+S×T)
演算手段723では実質的に乗数として040で演算が
行なわれる。一方、被乗数生成手段722では、部分平
方根保持手段714から720の出力を左に1ビットシ
フトするとともに、マルチプレクサ713の出力する9
ビットを216から28 へ埋め込み、139CC0AAC
05C000を出力する。(R+S×T)演算手段72
3では剰余保持手段711の出力をR、被乗数生成手段
722の出力をS、反転手段721の出力をTとして入
力し、(R+S×T)の演算を実行する。(R+S×
T)演算手段723の出力00075FEA6F870
0000はシフタ709によって左に8ビットシフトさ
れてマルチプレクサ710により選択され、剰余保持手
段711にセットされる。マルチプレクサ725は、マ
ルチプレクサ713の出力を選択して出力し、部分平方
根保持手段719ではマルチプレクサ725の出力をセ
ットする。
報格納手段708の出力は1回目と変わらない。剰余保
持手段711にセットされた5番目の剰余R5 の3B2
02FBFBF7000000に0D0DFが乗算手段
712により掛けられ、積3C05E7D56392C
29000000が出力される。280から272の1C0
が符号1ビット、データ8ビットの6番目の部分平方根
としてマルチプレクサ713により選択される。反転手
段721では1C0が反転され、03Fとなり、最下位
ビットとして1が付加されて出力され、(R+S×T)
演算手段723では実質的に乗数として040で演算が
行なわれる。一方、被乗数生成手段722では、部分平
方根保持手段714から720の出力を左に1ビットシ
フトするとともに、マルチプレクサ713の出力する9
ビットを216から28 へ埋め込み、139CC0AAC
05C000を出力する。(R+S×T)演算手段72
3では剰余保持手段711の出力をR、被乗数生成手段
722の出力をS、反転手段721の出力をTとして入
力し、(R+S×T)の演算を実行する。(R+S×
T)演算手段723の出力00075FEA6F870
0000はシフタ709によって左に8ビットシフトさ
れてマルチプレクサ710により選択され、剰余保持手
段711にセットされる。マルチプレクサ725は、マ
ルチプレクサ713の出力を選択して出力し、部分平方
根保持手段719ではマルチプレクサ725の出力をセ
ットする。
【0090】次に7回目の反復計算に入る。テーブル情
報格納手段708の出力は1回目と変わらない。剰余保
持手段711にセットされた6番目の剰余R6 の075
FEA6F870000000に0D0DFが乗算手段
712により掛けられ、積06045B07D4D69
90000000が出力される。280から272の060
が符号1ビット、データ8ビットの7番目の部分平方根
としてマルチプレクサ713により選択される。反転手
段721では060が反転され、19Fとなり、最下位
ビットとして1が付加されて出力され、(R+S×T)
演算手段723では実質的に乗数として1A0で演算が
行なわれる。一方、被乗数生成手段722では、部分平
方根保持手段714から720の出力を左に1ビットシ
フトするとともに、マルチプレクサ713の出力する9
ビットを28 から20 へ埋め込み、139CC0AAC
058060を出力する。(R+S×T)演算手段72
3では剰余保持手段711の出力をR、被乗数生成手段
722の出力をS、反転手段721の出力をTとして入
力し、(R+S×T)の演算を実行する。(R+S×
T)演算手段723の出力0005222F7EDEF
DC00はシフタ709によって左に8ビットシフトさ
れてマルチプレクサ710により選択され、剰余保持手
段711にセットされる。マルチプレクサ725は、マ
ルチプレクサ713の出力を選択して出力し、部分平方
根保持手段720ではマルチプレクサ725の出力をセ
ットする。
報格納手段708の出力は1回目と変わらない。剰余保
持手段711にセットされた6番目の剰余R6 の075
FEA6F870000000に0D0DFが乗算手段
712により掛けられ、積06045B07D4D69
90000000が出力される。280から272の060
が符号1ビット、データ8ビットの7番目の部分平方根
としてマルチプレクサ713により選択される。反転手
段721では060が反転され、19Fとなり、最下位
ビットとして1が付加されて出力され、(R+S×T)
演算手段723では実質的に乗数として1A0で演算が
行なわれる。一方、被乗数生成手段722では、部分平
方根保持手段714から720の出力を左に1ビットシ
フトするとともに、マルチプレクサ713の出力する9
ビットを28 から20 へ埋め込み、139CC0AAC
058060を出力する。(R+S×T)演算手段72
3では剰余保持手段711の出力をR、被乗数生成手段
722の出力をS、反転手段721の出力をTとして入
力し、(R+S×T)の演算を実行する。(R+S×
T)演算手段723の出力0005222F7EDEF
DC00はシフタ709によって左に8ビットシフトさ
れてマルチプレクサ710により選択され、剰余保持手
段711にセットされる。マルチプレクサ725は、マ
ルチプレクサ713の出力を選択して出力し、部分平方
根保持手段720ではマルチプレクサ725の出力をセ
ットする。
【0091】最終的な結果として、263の符号ビットと
して0、262から252の指数部として指数定数加算手段
705の出力する11ビット、251から20 の仮数部と
して部分平方根保持手段714の下位7ビットと部分平
方根保持手段715から719の40ビットとマルチプ
レクサ725の出力の上位5ビットをひとまとめにし
て、46739CC0AAC0580Cが図14に示す
開平演算装置から出力される。
して0、262から252の指数部として指数定数加算手段
705の出力する11ビット、251から20 の仮数部と
して部分平方根保持手段714の下位7ビットと部分平
方根保持手段715から719の40ビットとマルチプ
レクサ725の出力の上位5ビットをひとまとめにし
て、46739CC0AAC0580Cが図14に示す
開平演算装置から出力される。
【0092】
【発明の効果】以上のように本発明は、剰余保持手段
と、平方根の近似逆数を格納するテーブル情報格納手段
と、部分平方根を求める乗算手段と、剰余から反復計算
で上位から揃った併合平方根と部分平方根の積を求める
(R−S×T)演算手段を設けることにより、乗数のビ
ット長として、固定小数点数の場合はオペランド長、浮
動小数点数の場合は仮数部のビット長よりも小さい乗算
器を使用して、開平演算を実行することができるのでハ
ードウェアの物量の多大な増大を招くことなく、乗算命
令と開平演算命令が同時実行可能なデータ処理装置を提
供することができる。また、結果の平方根を丸めるため
にガードビット、ラウンドビット、スティキービットを
使用する場合にはLSB以下、1ビットずつ、ガードビ
ット、ラウンドビットとした後、残ったビットと剰余の
各ビットの論理和をとると、スティキービットとなるの
で、ニュートン・ラプソン法などと比較して検算の必要
がないことも本発明の第2の効果である。
と、平方根の近似逆数を格納するテーブル情報格納手段
と、部分平方根を求める乗算手段と、剰余から反復計算
で上位から揃った併合平方根と部分平方根の積を求める
(R−S×T)演算手段を設けることにより、乗数のビ
ット長として、固定小数点数の場合はオペランド長、浮
動小数点数の場合は仮数部のビット長よりも小さい乗算
器を使用して、開平演算を実行することができるのでハ
ードウェアの物量の多大な増大を招くことなく、乗算命
令と開平演算命令が同時実行可能なデータ処理装置を提
供することができる。また、結果の平方根を丸めるため
にガードビット、ラウンドビット、スティキービットを
使用する場合にはLSB以下、1ビットずつ、ガードビ
ット、ラウンドビットとした後、残ったビットと剰余の
各ビットの論理和をとると、スティキービットとなるの
で、ニュートン・ラプソン法などと比較して検算の必要
がないことも本発明の第2の効果である。
【0093】さて、特願平4ー113309号の発明
は、入力オペランドに対する平方根の近似逆数を索引す
るためのテーブル情報格納手段と、平方根を上位より順
に一定のビット数ずつ反復して求める際の剰余を保持す
るための剰余保持手段と、該剰余保持手段から出力され
る剰余とテーブル情報格納手段から出力される平方根の
近似逆数とをそれぞれ被乗数、乗数として乗算を行なう
ための乗算手段と、該乗算手段の出力する積の上位を部
分平方根として各反復での平方根を併合した併合平方根
を保持するための併合平方根保持手段と、該併合平方根
保持手段から出力される併合平方根と乗算手段の出力す
る平方根とをひとまとめにしたデータを被乗数として生
成するための被乗数生成手段と、該剰余保持手段の出力
する剰余(R)と、該被乗数生成手段の出力する被乗数
(S)と、該乗算手段の出力する部分平方根(T)とを
各々入力して、(R−S×T)の演算を行なう演算手段
と、該乗算手段または該(R−S×T)演算手段の出力
する積の上位を入力して部分平方根の最下位ビットより
1ビット小さい位で丸めを行なうための部分平方根算出
用加算手段をその主要部とするものであるが、各反復で
の平方根を併合するための桁合わせ手段と併合平方根算
出用加算手段を必要としている。これに対し、本発明で
は各反復での部分平方根の間で桁の重複をなくすことに
より桁合わせ手段と併合平方根算出用加算手段を不要と
することができる。
は、入力オペランドに対する平方根の近似逆数を索引す
るためのテーブル情報格納手段と、平方根を上位より順
に一定のビット数ずつ反復して求める際の剰余を保持す
るための剰余保持手段と、該剰余保持手段から出力され
る剰余とテーブル情報格納手段から出力される平方根の
近似逆数とをそれぞれ被乗数、乗数として乗算を行なう
ための乗算手段と、該乗算手段の出力する積の上位を部
分平方根として各反復での平方根を併合した併合平方根
を保持するための併合平方根保持手段と、該併合平方根
保持手段から出力される併合平方根と乗算手段の出力す
る平方根とをひとまとめにしたデータを被乗数として生
成するための被乗数生成手段と、該剰余保持手段の出力
する剰余(R)と、該被乗数生成手段の出力する被乗数
(S)と、該乗算手段の出力する部分平方根(T)とを
各々入力して、(R−S×T)の演算を行なう演算手段
と、該乗算手段または該(R−S×T)演算手段の出力
する積の上位を入力して部分平方根の最下位ビットより
1ビット小さい位で丸めを行なうための部分平方根算出
用加算手段をその主要部とするものであるが、各反復で
の平方根を併合するための桁合わせ手段と併合平方根算
出用加算手段を必要としている。これに対し、本発明で
は各反復での部分平方根の間で桁の重複をなくすことに
より桁合わせ手段と併合平方根算出用加算手段を不要と
することができる。
【図1】本発明の第1の実施例に係る浮動小数点開平演
算装置のブロック図である。
算装置のブロック図である。
【図2】前図中の乗算手段の内部ブロック図である。
【図3】図1中の各構成手段の出力を具体的な数値例で
示した図である。
示した図である。
【図4】前図の数値例に続く各構成手段の出力を示した
図である。
図である。
【図5】本発明の第2の実施例に係る浮動小数点開平演
算装置のブロック図である。
算装置のブロック図である。
【図6】本発明の第3の実施例に係る浮動小数点ベクト
ル開平演算装置の第1の部分を示すブロック図である。
ル開平演算装置の第1の部分を示すブロック図である。
【図7】前図に続く第2の部分を示すブロック図であ
る。
る。
【図8】前図に続く残余の部分を示すブロック図であ
る。
る。
【図9】本発明の第4の実施例に係る固定小数点開平演
算装置のブロック図である。
算装置のブロック図である。
【図10】前図中の各構成手段の出力を具体的な数値例
で示した図である。
で示した図である。
【図11】本発明の第5の実施例に係る固定小数点開平
演算装置のブロック図である。
演算装置のブロック図である。
【図12】本発明の第6の実施例に係る固定小数点ベク
トル開平演算装置の一半部を示すブロック図である。
トル開平演算装置の一半部を示すブロック図である。
【図13】前図の固定小数点ベクトル開平演算装置の他
半部を示すブロック図である。
半部を示すブロック図である。
【図14】本発明の第7の実施例に係る浮動小数点開平
演算装置のブロック図である。
演算装置のブロック図である。
【図15】前図中の各構成手段の出力を具体的な数値例
で示した図である。
で示した図である。
【図16】前図の数値例に続く各構成手段の出力を示し
た図である。
た図である。
7 正規化手段 8 テーブル情報格納手段 10 剰余保持手段 12 乗算手段 14〜20 部分平方根保持手段 21 反転手段 22 被乗数生成手段 23 (R+S×T)演算手段
Claims (15)
- 【請求項1】 2を指数の基底とする浮動小数点数入力
オペランドに対して平方根を求めるための開平演算装置
であって、 前記入力オペランドの指数のバイアスを除くための指数
定数減算手段と、 前記指数定数減算手段の出力を1ビット右にシフトする
ための指数シフト手段と、 前記指数シフト手段の出力に指数のバイアスを付加する
ための指数定数加算手段と、 指数のバイアスを除いた値が偶数となるように奇数の場
合は前記入力オペランドの仮数を1ビット左にシフトす
るための正規化手段と、 前記正規化手段の出力の上位ビットをアドレスとして平
方根の近似逆数を索引するためのテーブル情報格納手段
と、 平方根を上位より順に一定のビット数ずつ反復して求め
る際の剰余を保持するための剰余保持手段と、 前記剰余保持手段から出力される剰余と前記テーブル情
報格納手段から出力される平方根の近似逆数とをそれぞ
れ被乗数、乗数として入力して乗算を行うための乗算手
段と、 前記乗算手段の出力する積の上位を入力して部分平方根
の最下位ビットより1ビット小さい位で丸めを行なうた
めの部分平方根算出用加算手段と、 前記部分平方根算出用加算手段の出力する補正前部分平
方根の最下位ビットから1を引くための定数減算手段
と、 前記部分平方根算出用加算手段の出力する補正前部分平
方根と前記定数減算手段の出力とのうちのいずれかを選
択してビット重複のない補正後部分平方根として出力す
るための補正用マルチプレクサと、 前記補正用マルチプレクサの順次出力する補正後部分平
方根を各々保持するための複数の補正後部分平方根保持
手段と、 前記部分平方根算出用加算手段の出力する補正前部分平
方根をビット毎に反転するための反転手段と、 前記複数の補正後部分平方根保持手段の各出力を左に1
ビットシフトして、前記部分平方根算出用加算手段の出
力する補正前部分平方根とで被乗数を生成するための被
乗数生成手段と、 前記剰余保持手段の出力する剰余を部分平方根のビット
長だけ左にシフトするためのシフト手段と、 前記シフト手段の出力するシフト後の剰余(R)と、前
記被乗数生成手段の出力する被乗数(S)と、前記反転
手段の出力する乗数(T)とを各々入力して、(R+S
×T)の演算を行なうための(R+S×T)演算手段
と、 前記剰余保持手段の入力として前記正規化手段の出力と
前記(R+S×T)演算手段の出力とのうちのいずれか
を選択するための保持データ切換用マルチプレクサとを
有することを特徴とする開平演算装置。 - 【請求項2】 2を指数の基底とする浮動小数点数入力
オペランドに対して平方根を求めるための開平演算装置
であって、 前記入力オペランドの指数のバイアスを除くための指数
定数減算手段と、 前記指数定数減算手段の出力を1ビット右にシフトする
ための指数シフト手段と、 前記指数シフト手段の出力に指数のバイアスを付加する
ための指数定数加算手段と、 指数のバイアスを除いた値が偶数となるように奇数の場
合は前記入力オペランドの仮数を1ビット左にシフトす
るための正規化手段と、 前記正規化手段の出力の上位ビットをアドレスとして平
方根の近似逆数を索引するためのテーブル情報格納手段
と、 平方根を上位より順に一定のビット数ずつ反復して求め
る際の剰余を保持するための剰余保持手段、各反復での
部分平方根を保持するための補正前部分平方根保持手
段、及び、各反復で順次得られる補正後部分平方根を各
々保持するための複数の補正後部分平方根保持手段と、 前記剰余保持手段の出力する剰余を部分平方根のビット
長だけ左にシフトするための剰余シフト手段と、 前記補正前部分平方根保持手段の出力する部分平方根を
ビット毎に反転するための反転手段と、 前記複数の補正後部分平方根保持手段の各出力を左に1
ビットシフトして、前記補正前部分平方根保持手段の出
力する部分平方根とで被乗数を生成するための被乗数生
成手段と、 定数ゼロと前記剰余シフト手段から出力されるシフト後
の剰余とのうちのいずれかを選択するための剰余用マル
チプレクサと、 前記剰余保持手段から出力される剰余と前記被乗数生成
手段の出力とのうちのいずれかを選択するための被乗数
用マルチプレクサと、 前記テーブル情報格納手段から出力される平方根の近似
逆数と前記反転手段の出力とのうちのいずれかを選択す
るための乗数用マルチプレクサと、 前記剰余用マルチプレクサの出力(R)と、前記被乗数
用マルチプレクサの出力(S)と、前記乗数用マルチプ
レクサの出力(T)とを各々入力して、(R+S×T)
の演算を行なうための(R+S×T)演算手段と、 前記(R+S×T)演算手段の出力する積の上位を入力
して部分平方根の最下位ビットより1ビット小さい位で
丸めを行なうための部分平方根算出用加算手段と、 前記剰余保持手段の入力として前記正規化手段の出力と
前記(R+S×T)演算手段の出力とのうちのいずれか
を選択するための保持データ切換用マルチプレクサと、 前記補正前部分平方根保持手段の出力する部分平方根の
最下位ビットから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)演算手段に、前記テーブル出力情報保持手段は前
段のテーブル出力情報保持手段に、前記補正後部分平方
根保持手段はその最下位は前段の補正用マルチプレクサ
に、それ以外は前段の補正後部分平方根保持手段に各々
接続され、 前記後処理部は、 パイプライン動作の同期をとるための指数保持手段及び
複数の補正後部分平方根保持手段を有し、 該後処理部では、前記指数保持手段は前記主要部中の最
終段の主要回路の指数保持手段に、前記複数の補正後部
分平方根保持手段はその最下位は該最終段の主要回路の
補正用マルチプレクサに、それ以外は該最終段の主要回
路の補正後部分平方根保持手段に各々接続されたことを
特徴とする開平演算装置。 - 【請求項4】 固定小数点数入力オペランドに対して平
方根を求めるための開平演算装置であって、 前記入力オペランドを2ビット単位にビット正規化する
際のシフト数を求めるための正規化シフト数検出手段
と、 前記正規化シフト数検出手段の出力するシフト数により
前記入力オペランドを左にシフトするための正規化手段
と、 前記正規化手段の出力の上位ビットをアドレスとして平
方根の近似逆数を索引するためのテーブル情報格納手段
と、 平方根を上位より順に一定のビット数ずつ反復して求め
る際の剰余を保持するための剰余保持手段と、 前記剰余保持手段から出力される剰余と前記テーブル情
報格納手段から出力される平方根の近似逆数とをそれぞ
れ被乗数、乗数として入力して乗算を行なうための乗算
手段と、 前記乗算手段の出力する積の上位を入力して部分平方根
の最下位ビットより1ビット小さい位で丸めを行なうた
めの部分平方根算出用加算手段と、 前記部分平方根算出用加算手段の出力する補正前部分平
方根の最下位ビットから1を引くための定数減算手段
と、 前記部分平方根算出用加算手段の出力する補正前部分平
方根と前記定数減算手段の出力とのうちのいずれかを選
択してビット重複のない補正後部分平方根として出力す
るための補正用マルチプレクサと、 前記補正用マルチプレクサの順次出力する補正後部分平
方根を各々保持するための複数の補正後部分平方根保持
手段と、 前記部分平方根算出用加算手段の出力する補正前部分平
方根をビット毎に反転するための反転手段と、 前記複数の補正後部分平方根保持手段の各出力を左に1
ビットシフトして、前記部分平方根算出用加算手段の出
力する補正前部分平方根とで被乗数を生成するための被
乗数生成手段と、 前記剰余保持手段の出力する剰余(R)と、前記被乗数
生成手段の出力する被乗数(S)と、前記反転手段の出
力する乗数(T)とを各々入力して、(R+S×T)の
演算を行なうための(R+S×T)演算手段と、 前記(R+S×T)演算手段の出力を部分平方根のビッ
ト長だけ左にシフトするためのシフト手段と、 前記剰余保持手段の入力として前記正規化手段の出力と
前記シフト手段の出力とのうちのいずれかを選択するた
めの保持データ切換用マルチプレクサと、 最終結果の平方根を求めるために前記複数の補正後部分
平方根に施すべき右シフトのシフト数を前記正規化シフ
ト数検出手段の出力より算出するための桁調整シフト数
算出手段と、 前記補正後部分平方根保持手段の出力する複数の補正後
部分平方根と前記補正用マルチプレクサの出力する補正
後部分平方根とを前記桁調整シフト数算出手段の出力す
るシフト数により右シフトを行ない、最終結果の平方根
を出力するための桁調整手段とを有することを特徴とす
る開平演算装置。 - 【請求項5】 請求項4記載の開平演算装置において、 前記複数の補正後部分平方根保持手段の出力を前記桁調
整手段の入力としたことを特徴とする開平演算装置。 - 【請求項6】 固定小数点数入力オペランドに対して平
方根を求めるための開平演算装置であって、 前記入力オペランドを2ビット単位にビット正規化する
際のシフト数を求めるための正規化シフト数検出手段
と、 前記正規化シフト数検出手段の出力するシフト数により
前記入力オペランドを左にシフトするための正規化手段
と、 前記正規化手段の出力の上位ビットをアドレスとして平
方根の近似逆数を索引するためのテーブル情報格納手段
と、 平方根を上位より順に一定のビット数ずつ反復して求め
る際の剰余を保持するための剰余保持手段、各反復での
部分平方根を保持するための補正前部分平方根保持手
段、及び、各反復で順次得られる補正後部分平方根を各
々保持するための複数の補正後部分平方根保持手段と、 前記補正前部分平方根保持手段の出力する部分平方根を
ビット毎に反転するための反転手段と、 前記複数の補正後部分平方根保持手段の各出力を左に1
ビットシフトして、前記補正前部分平方根保持手段の出
力する部分平方根とで被乗数を生成するための被乗数生
成手段と、 定数ゼロと前記剰余保持手段から出力される剰余とのう
ちのいずれかを選択するための剰余用マルチプレクサ
と、 前記剰余保持手段から出力される剰余と前記被乗数生成
手段の出力とのうちのいずれかを選択するための被乗数
用マルチプレクサと、 前記テーブル情報格納手段から出力される平方根の近似
逆数と前記反転手段の出力とのうちのいずれかを選択す
るための乗数用マルチプレクサと、 前記剰余用マルチプレクサの出力(R)と、前記被乗数
用マルチプレクサの出力(S)と、前記乗数用マルチプ
レクサの出力(T)とを各々入力して、(R+S×T)
の演算を行なうための(R+S×T)演算手段と、 前記(R+S×T)演算手段の出力する積の上位を入力
して部分平方根の最下位ビットより1ビット小さい位で
丸めを行なうための部分平方根算出用加算手段と、 前記(R+S×T)演算手段の出力を部分平方根のビッ
ト長だけ左にシフトするためのシフト手段と、 前記剰余保持手段の入力として前記正規化手段の出力と
前記シフト手段の出力とのうちのいずれかを選択するた
めの保持データ切換用マルチプレクサと、 前記補正前部分平方根保持手段の出力する部分平方根の
最下位ビットから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段目以降の主要回路では、前記剰余保持手段は前段
のシフト手段に、前記テーブル出力情報保持手段は前段
のテーブル出力情報保持手段に、前記正規化シフト数保
持手段は前段の正規化シフト数保持手段に、前記補正後
部分平方根保持手段はその最下位は前段の補正用マルチ
プレクサに、それ以外は前段の補正後部分平方根保持手
段に各々接続され、 前記後処理部は、 パイプライン動作の同期をとるための正規化シフト数保
持手段及び複数の補正後部分平方根保持手段と、 最終結果の平方根を求めるために前記複数の補正後部分
平方根に施すべき右シフトのシフト数を前記正規化シフ
ト数検出手段の出力より算出するための桁調整シフト数
算出手段と、 前記複数の補正後部分平方根保持手段の出力を前記桁調
整シフト数算出手段の出力するシフト数により右シフト
を行ない、最終結果の平方根を出力するための桁調整手
段とを有し、 該後処理部では、前記正規化シフト数保持手段は前記主
要部中の最終段の主要回路の正規化シフト数保持手段
に、前記複数の補正後部分平方根保持手段はその最下位
は該最終段の主要回路の補正用マルチプレクサに、それ
以外は該最終段の主要回路の補正後部分平方根保持手段
に各々接続されたことを特徴とする開平演算装置。 - 【請求項9】 2を指数の基底とする浮動小数点数入力
オペランドに対して平方根を求めるための開平演算装置
であって、 前記入力オペランドの指数のバイアスを除くための指数
定数減算手段と、 前記指数定数減算手段の出力を1ビット右にシフトする
ための指数シフト手段と、 前記指数シフト手段の出力に指数のバイアスを付加する
ための指数定数加算手段と、 指数のバイアスを除いた値が偶数となるように奇数の場
合は前記入力オペランドの仮数を1ビット左にシフトす
るための正規化手段と、 前記正規化手段の出力の上位ビットをアドレスとして平
方根の近似逆数を索引するためのテーブル情報格納手段
と、 平方根を上位より順に一定のビット数ずつ反復して求め
る際の剰余を保持するための剰余保持手段と、 前記剰余保持手段から出力される剰余と前記テーブル情
報格納手段から出力される平方根の近似逆数とをそれぞ
れ被乗数、乗数として入力して乗算を行なうための乗算
手段と、 前記乗算手段の出力する積の上位を入力して部分平方根
の最下位ビットより1ビット小さい位で丸めを行なうた
めの部分平方根算出用加算手段と、 前記部分平方根算出用加算手段の出力する補正前部分平
方根の最下位ビットから1を引くための定数減算手段
と、 前記部分平方根算出用加算手段の出力する補正前部分平
方根と前記定数減算手段の出力とのうちのいずれかを選
択してビット重複のない補正後部分平方根として出力す
るための補正用マルチプレクサと、 前記補正用マルチプレクサの順次出力する補正後部分平
方根を各々保持するための複数の補正後部分平方根保持
手段と、 前記部分平方根算出用加算手段の出力する補正前部分平
方根をビット毎に反転するための反転手段と、 前記複数の補正後部分平方根保持手段の各出力を左に1
ビットシフトして、前記部分平方根算出用加算手段の出
力する補正前部分平方根とで被乗数を生成するための被
乗数生成手段と、 前記剰余保持手段の出力する剰余(R)と、前記被乗数
生成手段の出力する被乗数(S)と、前記反転手段の出
力する乗数(T)とを各々入力して、(R+S×T)の
演算を行なうための(R+S×T)演算手段と、 前記(R+S×T)演算手段の出力を部分平方根のビッ
ト長だけ左にシフトするための演算結果シフト手段と、 前記剰余保持手段の入力として前記正規化手段の出力と
前記演算結果シフト手段の出力とのうちのいずれかを選
択するための保持データ切換用マルチプレクサとを有す
ることを特徴とする開平演算装置。 - 【請求項10】 2を指数の基底とする浮動小数点数入
力オペランドに対して平方根を求めるための開平演算装
置であって、 前記入力オペランドの指数のバイアスを除くための指数
定数減算手段と、 前記指数定数減算手段の出力を1ビット右にシフトする
ための指数シフト手段と、 前記指数シフト手段の出力に指数のバイアスを付加する
ための指数定数加算手段と、 指数のバイアスを除いた値が偶数となるように奇数の場
合は前記入力オペランドの仮数を1ビット左にシフトす
るための正規化手段と、 前記正規化手段の出力の上位ビットをアドレスとして平
方根の近似逆数を索引するためのテーブル情報格納手段
と、 平方根を上位より順に一定のビット数ずつ反復して求め
る際の剰余を保持するための剰余保持手段、各反復での
部分平方根を保持するための補正前部分平方根保持手
段、及び、各反復で順次得られる補正後部分平方根を各
々保持するための複数の補正後部分平方根保持手段と、 前記補正前部分平方根保持手段の出力する部分平方根を
ビット毎に反転するための反転手段と、 前記複数の補正後部分平方根保持手段の各出力を左に1
ビットシフトして、前記補正前部分平方根保持手段の出
力する部分平方根とで被乗数を生成するための被乗数生
成手段と、 定数ゼロと前記剰余保持手段から出力される剰余とのう
ちのいずれかを選択するための剰余用マルチプレクサ
と、 前記剰余保持手段から出力される剰余と前記被乗数生成
手段の出力とのうちのいずれかを選択するための被乗数
用マルチプレクサと、 前記テーブル情報格納手段から出力される平方根の近似
逆数と前記反転手段の出力とのうちのいずれかを選択す
るための乗数用マルチプレクサと、 前記剰余用マルチプレクサの出力(R)と、前記被乗数
用マルチプレクサの出力(S)と、前記乗数用マルチプ
レクサの出力(T)とを各々入力して、(R+S×T)
の演算を行なうための(R+S×T)演算手段と、 前記(R+S×T)演算手段の出力する積の上位を入力
して部分平方根の最下位ビットより1ビット小さい位で
丸めを行なうための部分平方根算出用加算手段と、 前記(R+S×T)演算手段の出力を部分平方根のビッ
ト長だけ左にシフトするための演算結果シフト手段と、 前記剰余保持手段の入力として前記正規化手段の出力と
前記演算結果シフト手段の出力とのうちのいずれかを選
択するための保持データ切換用マルチプレクサと、 前記補正前部分平方根保持手段の出力する部分平方根の
最下位ビットから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段目以降の主要回路では、前記指数保持手段は前段
の指数保持手段に、前記剰余保持手段は前段の演算結果
シフト手段に、前記テーブル出力情報保持手段は前段の
テーブル出力情報保持手段に、前記補正後部分平方根保
持手段はその最下位は前段の補正用マルチプレクサに、
それ以外は前段の補正後部分平方根保持手段に各々接続
され、 前記後処理部は、 パイプライン動作の同期をとるための指数保持手段及び
複数の補正後部分平方根保持手段を有し、 該後処理部では、前記指数保持手段は前記主要部中の最
終段の主要回路の指数保持手段に、前記複数の補正後部
分平方根保持手段はその最下位は該最終段の主要回路の
補正用マルチプレクサに、それ以外は該最終段の主要回
路の補正後部分平方根保持手段に各々接続されたことを
特徴とする開平演算装置。 - 【請求項12】 2ビット単位に正規化された入力オペ
ランドに対して平方根を求めるための開平演算装置であ
って、 前記入力オペランドの上位ビットをアドレスとして平方
根の近似逆数を索引するためのテーブル情報格納手段
と、 平方根を上位より順に一定のビット数ずつ反復して求め
る際の剰余を保持するための剰余保持手段と、 前記剰余保持手段から出力される剰余と前記テーブル情
報格納手段から出力される平方根の近似逆数とをそれぞ
れ被乗数、乗数として入力して乗算を行なうための乗算
手段と、 前記乗算手段の出力する積の上位を入力して部分平方根
の最下位ビットより1ビット小さい位で丸めを行なうた
めの部分平方根算出用加算手段と、 前記部分平方根算出用加算手段の出力する補正前部分平
方根の最下位ビットから1を引くための定数減算手段
と、 前記部分平方根算出用加算手段の出力する補正前部分平
方根と前記定数減算手段の出力とのうちのいずれかを選
択してビット重複のない補正後部分平方根として出力す
るための補正用マルチプレクサと、 前記補正用マルチプレクサの順次出力する補正後部分平
方根を各々保持するための複数の補正後部分平方根保持
手段と、 前記部分平方根算出用加算手段の出力する補正前部分平
方根をビット毎に反転するための反転手段と、 前記複数の補正後部分平方根保持手段の各出力を左に1
ビットシフトして、前記部分平方根算出用加算手段の出
力する補正前部分平方根とで被乗数を生成するための被
乗数生成手段と、 前記剰余保持手段の出力する剰余を部分平方根のビット
長だけ左にシフトするための剰余シフト手段と、 前記剰余シフト手段の出力するシフト後の剰余(R)
と、前記被乗数生成手段の出力する被乗数(S)と、前
記反転手段の出力する乗数(T)とを各々入力して、
(R+S×T)の演算を行なうための(R+S×T)演
算手段と、 前記剰余保持手段の入力として前記入力オペランドと前
記(R+S×T)演算手段の出力とのうちのいずれかを
選択するための保持データ切換用マルチプレクサとを有
することを特徴とする開平演算装置。 - 【請求項13】 2ビット単位に正規化された入力オペ
ランドに対して平方根を求めるための開平演算装置であ
って、 前記入力オペランドの上位ビットをアドレスとして平方
根の近似逆数を索引するためのテーブル情報格納手段
と、 平方根を上位より順に一定のビット数ずつ反復して求め
る際の剰余を保持するための剰余保持手段、各反復での
部分平方根を保持するための補正前部分平方根保持手
段、及び、各反復で順次得られる補正後部分平方根を各
々保持するための複数の補正後部分平方根保持手段と、 前記剰余保持手段の出力する剰余を部分平方根のビット
長だけ左にシフトするための剰余シフト手段と、 前記補正前部分平方根保持手段の出力する部分平方根を
ビット毎に反転するための反転手段と、 前記複数の補正後部分平方根保持手段の各出力を左に1
ビットシフトして、前記補正前部分平方根保持手段の出
力する部分平方根とで被乗数を生成するための被乗数生
成手段と、 定数ゼロと前記剰余シフト手段から出力されるシフト後
の剰余とのうちのいずれかを選択するための剰余用マル
チプレクサと、 前記剰余保持手段から出力される剰余と前記被乗数生成
手段の出力とのうちのいずれかを選択するための被乗数
用マルチプレクサと、 前記テーブル情報格納手段から出力される平方根の近似
逆数と前記反転手段の出力とのうちのいずれかを選択す
るための乗数用マルチプレクサと、 前記剰余用マルチプレクサの出力(R)と、前記被乗数
用マルチプレクサの出力(S)と、前記乗数用マルチプ
レクサの出力(T)とを各々入力して、(R+S×T)
の演算を行なうための(R+S×T)演算手段と、 前記(R+S×T)演算手段の出力する積の上位を入力
して部分平方根の最下位ビットより1ビット小さい位で
丸めを行なうための部分平方根算出用加算手段と、 前記剰余保持手段の入力として前記入力オペランドと前
記(R+S×T)演算手段の出力とのうちのいずれかを
選択するための保持データ切換用マルチプレクサと、 前記補正前部分平方根保持手段の出力する部分平方根の
最下位ビットから1を引くための定数減算手段と、 前記補正前部分平方根保持手段の出力する部分平方根と
前記定数減算手段の出力とのうちのいずれかを選択して
ビット重複のない補正後部分平方根として出力するため
の補正用マルチプレクサとを有し、 前記部分平方根算出用加算手段の出力は補正前部分平方
根として前記補正前部分平方根保持手段に逐次保持さ
れ、かつ前記補正用マルチプレクサの順次出力する補正
後部分平方根は前記複数の補正後部分平方根保持手段に
各々保持されることを特徴とする開平演算装置。 - 【請求項14】 2ビット単位に正規化された入力オペ
ランドに対して平方根を求めるための開平演算装置であ
って、 前記入力オペランドの上位ビットをアドレスとして平方
根の近似逆数を索引するためのテーブル情報格納手段
と、 平方根を上位より順に一定のビット数ずつ反復して求め
る際の剰余を保持するための剰余保持手段と、 前記剰余保持手段から出力される剰余と前記テーブル情
報格納手段から出力される平方根の近似逆数とをそれぞ
れ被乗数、乗数として入力して乗算を行なうための乗算
手段と、 前記乗算手段の出力する積の上位を入力して部分平方根
の最下位ビットより1ビット小さい位で丸めを行なうた
めの部分平方根算出用加算手段と、 前記部分平方根算出用加算手段の出力する補正前部分平
方根の最下位ビットから1を引くための定数減算手段
と、 前記部分平方根算出用加算手段の出力する補正前部分平
方根と前記定数減算手段の出力とのうちのいずれかを選
択してビット重複のない補正後部分平方根として出力す
るための補正用マルチプレクサと、 前記補正用マルチプレクサの順次出力する補正後部分平
方根を各々保持するための複数の補正後部分平方根保持
手段と、 前記部分平方根算出用加算手段の出力する補正前部分平
方根をビット毎に反転するための反転手段と、 前記複数の補正後部分平方根保持手段の各出力を左に1
ビットシフトして、前記部分平方根算出用加算手段の出
力する補正前部分平方根とで被乗数を生成するための被
乗数生成手段と、 前記剰余保持手段の出力する剰余(R)と、前記被乗数
生成手段の出力する被乗数(S)と、前記反転手段の出
力する乗数(T)とを各々入力して、(R+S×T)の
演算を行なうための(R+S×T)演算手段と、 前記(R+S×T)演算手段の出力を部分平方根のビッ
ト長だけ左にシフトするためのシフト手段と、 前記剰余保持手段の入力として前記入力オペランドと前
記シフト手段の出力とのうちのいずれかを選択するため
の保持データ切換用マルチプレクサとを有することを特
徴とする開平演算装置。 - 【請求項15】 2ビット単位に正規化された入力オペ
ランドに対して平方根を求めるための開平演算装置であ
って、 前記入力オペランドの上位ビットをアドレスとして平方
根の近似逆数を索引するためのテーブル情報格納手段
と、 平方根を上位より順に一定のビット数ずつ反復して求め
る際の剰余を保持するための剰余保持手段、各反復での
部分平方根を保持するための補正前部分平方根保持手
段、及び、各反復で順次得られる補正後部分平方根を各
々保持するための複数の補正後部分平方根保持手段と、 前記補正前部分平方根保持手段の出力する部分平方根を
ビット毎に反転するための反転手段と、 前記複数の補正後部分平方根保持手段の各出力を左に1
ビットシフトして、前記補正前部分平方根保持手段の出
力する部分平方根とで被乗数を生成するための被乗数生
成手段と、 定数ゼロと前記剰余保持手段から出力される剰余とのう
ちのいずれかを選択するための剰余用マルチプレクサ
と、 前記剰余保持手段から出力される剰余と前記被乗数生成
手段の出力とのうちのいずれかを選択するための被乗数
用マルチプレクサと、 前記テーブル情報格納手段から出力される平方根の近似
逆数と前記反転手段の出力とのうちのいずれかを選択す
るための乗数用マルチプレクサと、 前記剰余用マルチプレクサの出力(R)と、前記被乗数
用マルチプレクサの出力(S)と、前記乗数用マルチプ
レクサの出力(T)とを各々入力して、(R+S×T)
の演算を行なうための(R+S×T)演算手段と、 前記(R+S×T)演算手段の出力する積の上位を入力
して部分平方根の最下位ビットより1ビット小さい位で
丸めを行なうための部分平方根算出用加算手段と、 前記(R+S×T)演算手段の出力を部分平方根のビッ
ト長だけ左にシフトするためのシフト手段と、 前記剰余保持手段の入力として前記入力オペランドと前
記シフト手段の出力とのうちのいずれかを選択するため
の保持データ切換用マルチプレクサと、 前記補正前部分平方根保持手段の出力する部分平方根の
最下位ビットから1を引くための定数減算手段と、 前記補正前部分平方根保持手段の出力する部分平方根と
前記定数減算手段の出力とのうちのいずれかを選択して
ビット重複のない補正後部分平方根として出力するため
の補正用マルチプレクサとを有し、 前記部分平方根算出用加算手段の出力は補正前部分平方
根として前記補正前部分平方根保持手段に逐次保持さ
れ、かつ前記補正用マルチプレクサの順次出力する補正
後部分平方根は前記複数の補正後部分平方根保持手段に
各々保持されることを特徴とする開平演算装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP4337345A JPH06187132A (ja) | 1992-12-17 | 1992-12-17 | 開平演算装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP4337345A JPH06187132A (ja) | 1992-12-17 | 1992-12-17 | 開平演算装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH06187132A true JPH06187132A (ja) | 1994-07-08 |
Family
ID=18307758
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP4337345A Withdrawn JPH06187132A (ja) | 1992-12-17 | 1992-12-17 | 開平演算装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH06187132A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR100402799B1 (ko) * | 2002-02-09 | 2003-10-22 | 삼성전자주식회사 | 오차를 최소화할 수 있는 제곱근기 |
-
1992
- 1992-12-17 JP JP4337345A patent/JPH06187132A/ja not_active Withdrawn
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR100402799B1 (ko) * | 2002-02-09 | 2003-10-22 | 삼성전자주식회사 | 오차를 최소화할 수 있는 제곱근기 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP2622896B2 (ja) | 除算装置 | |
| US11816448B2 (en) | Compressing like-magnitude partial products in multiply accumulation | |
| US6360241B1 (en) | Computer method and apparatus for division and square root operations using signed digit | |
| JP3418460B2 (ja) | 倍精度除算回路および方法 | |
| 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 | |
| CN100524201C (zh) | 用于实现2的幂的浮点估计的装置与方法 | |
| US7493357B2 (en) | Random carry-in for floating-point operations | |
| US5784307A (en) | Division algorithm for floating point or integer numbers | |
| Takagi et al. | A hardware algorithm for integer division | |
| JP2722858B2 (ja) | 開平演算装置 | |
| JP4273071B2 (ja) | 除算・開平演算器 | |
| US5278782A (en) | Square root operation device | |
| US5818745A (en) | Computer for performing non-restoring division | |
| JP2001222410A (ja) | 除算器 | |
| US4979141A (en) | Technique for providing a sign/magnitude subtraction operation in a floating point computation unit | |
| US20040083255A1 (en) | Apparatus and method for performing operations implemented by iterative execution of a recurrence equation | |
| CN112783470A (zh) | 一种用于执行浮点对数运算的装置和方法 | |
| Chu et al. | Cost/performance tradeoff of n-select square root implementations | |
| JP2761145B2 (ja) | 開平演算装置 | |
| JP7619153B2 (ja) | 演算処理装置および演算方法 | |
| JPH06187132A (ja) | 開平演算装置 | |
| US10353671B2 (en) | Circuitry and method for performing division | |
| JP3201097B2 (ja) | 乗算器における乗算処方方法 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20000307 |