JPH04195523A - 平方根計算装置 - Google Patents
平方根計算装置Info
- Publication number
- JPH04195523A JPH04195523A JP32792590A JP32792590A JPH04195523A JP H04195523 A JPH04195523 A JP H04195523A JP 32792590 A JP32792590 A JP 32792590A JP 32792590 A JP32792590 A JP 32792590A JP H04195523 A JPH04195523 A JP H04195523A
- Authority
- JP
- Japan
- Prior art keywords
- bit
- bits
- data
- square root
- multiplier
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Complex Calculations (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明は、情報処理装置に関し、特に浮動小数点平方根
演算を行なう数値演算プロセッサに関する。
演算を行なう数値演算プロセッサに関する。
従来の高速平方根演算方式の代表的なアルゴリズムとし
てニュートン法による平方根逆数近似がある。これはゾ
Bを計算する場合に、ニュートンの逐次近似式 を使って1/、/’Nの近似値を必要な精度まで求め、
その値にBを乗じて平方根演算結果とするものである。
てニュートン法による平方根逆数近似がある。これはゾ
Bを計算する場合に、ニュートンの逐次近似式 を使って1/、/’Nの近似値を必要な精度まで求め、
その値にBを乗じて平方根演算結果とするものである。
まず、このニュートンの逐次近似による平方根逆数発生
アルゴリズムを説明する。
アルゴリズムを説明する。
x/v/”iの値を求めるということはf (X) =
ニーB X! なる方程式においてf(X)=Oとなる解を求めること
である。これをニュートンの逐次近似式■にあてはめる
と となる。適当な方法でXゎの初期値を求めた後、■式を
繰り返し使って演算を進めれば2乗近似によりX9の精
度は倍々に増えるため、必要な精度の1/v/”nの近
似値を求めることができる。
ニーB X! なる方程式においてf(X)=Oとなる解を求めること
である。これをニュートンの逐次近似式■にあてはめる
と となる。適当な方法でXゎの初期値を求めた後、■式を
繰り返し使って演算を進めれば2乗近似によりX9の精
度は倍々に増えるため、必要な精度の1/v/”nの近
似値を求めることができる。
にュートン法および2乗近似については一松信著 教育
出版゛シリーズ新しい応用の数学8 初等関数の数値計
算’P、147〜149を参照のこと) 次に、この方法で64ビット長浮動小数点データの平方
根演算を行なう場合を示す。
出版゛シリーズ新しい応用の数学8 初等関数の数値計
算’P、147〜149を参照のこと) 次に、この方法で64ビット長浮動小数点データの平方
根演算を行なう場合を示す。
浮動小数点演算に関する標準規格であるIEEE754
では、倍精度フォーマット(64ビット長浮動小数点フ
ォーマット)の仮数部MはM”1.b5+ bso
bus −bz b+ b。
では、倍精度フォーマット(64ビット長浮動小数点フ
ォーマット)の仮数部MはM”1.b5+ bso
bus −bz b+ b。
(bゎはそれぞれ1ビットのデータ)
という52ビットのビット列からなる1≦M<2の範囲
のデータと規定されている。この仮数部にさらに11ビ
ットの指数部と1ビットの符号が組み合わされて64ビ
ットの浮動小数点データとなるが、浮動小数点平方根演
算の場合は指数部は単に1/2とするのみであるため、
仮数部に対する平方根演算を考えればよい。
のデータと規定されている。この仮数部にさらに11ビ
ットの指数部と1ビットの符号が組み合わされて64ビ
ットの浮動小数点データとなるが、浮動小数点平方根演
算の場合は指数部は単に1/2とするのみであるため、
仮数部に対する平方根演算を考えればよい。
仮数部における小数点以下の有効精度が52ビットであ
るため、平方根演算のための平方根逆数近似も52ビッ
トの精度が得られればよい。この精度を得るため、まず
莢土二盗上コとして、13ビット精度の平方根近似値を
初期値としてROMテーブルから検索し、2回のニュー
トン近似により52ビット精度とする場合を説明する。
るため、平方根演算のための平方根逆数近似も52ビッ
トの精度が得られればよい。この精度を得るため、まず
莢土二盗上コとして、13ビット精度の平方根近似値を
初期値としてROMテーブルから検索し、2回のニュー
トン近似により52ビット精度とする場合を説明する。
B”1.bs+ bso t)4o ”’ b
z b+ beなるBの平方根逆数近似値を求める
。
z b+ beなるBの平方根逆数近似値を求める
。
上位13ビット[bs+ bs。・・・ b3.]を
アドレスとして Be”1.bs+ bs。・・・ bse OO・
・・ 0の平方根逆数1/ VLが格納されているRO
Mテーブルを検索し、13ビット長のデータ[x、1X
、。 ・・・ Xl、]を得る。この13ビットは1/
4=Xs2’ Xsl Xs。X49 X4M”’
とした時の[Xsl Xs。 ・・・ x3.コの13
ビットである。なお、X□は 。
アドレスとして Be”1.bs+ bs。・・・ bse OO・
・・ 0の平方根逆数1/ VLが格納されているRO
Mテーブルを検索し、13ビット長のデータ[x、1X
、。 ・・・ Xl、]を得る。この13ビットは1/
4=Xs2’ Xsl Xs。X49 X4M”’
とした時の[Xsl Xs。 ・・・ x3.コの13
ビットである。なお、X□は 。
B、=1.0のときX52=1
B、>1.0のときX52=0
となるため、ROMによる検索とは別に[b51b、。
・・・ b39]のNORをとってXs2を発生する。
Xo=X*t’Xs+ Xso ”’ Xss
OO°°。
OO°°。
と考えて
X+=Xo (3−B−Xoす/2 ・・・
・・・■L=L (3−B−X、”)/2
・・・・・・■とニュートン近似を2回繰り返せばX2
は52ビット精度の1/4の近似値となる。
・・・■L=L (3−B−X、”)/2
・・・・・・■とニュートン近似を2回繰り返せばX2
は52ビット精度の1/4の近似値となる。
ここで、各アルゴリズムにおける演算時間を比較するた
め、それらのアルゴリズムをインプリメントするハード
ウェアを仮定しておく。
め、それらのアルゴリズムをインプリメントするハード
ウェアを仮定しておく。
第5図にそのハードウェアの構成を示す。
501は演算対象となるデータが格納されている52ビ
ット長の入力レジスタであり、第1データバス506お
よび第2データバス507に対して出力する場合は最上
位に整数部の1を付加し、53ビット長で出力する。
ット長の入力レジスタであり、第1データバス506お
よび第2データバス507に対して出力する場合は最上
位に整数部の1を付加し、53ビット長で出力する。
502は第3データバス508上の53ビットデータな
遅延なく第1データバス506および第2データバス5
07に帰還させるためのショートバス機構であり、第1
データバス506および第2データバス50702つデ
ータバスに対しそれぞれ専用のショートバスがある。
遅延なく第1データバス506および第2データバス5
07に帰還させるためのショートバス機構であり、第1
データバス506および第2データバス50702つデ
ータバスに対しそれぞれ専用のショートバスがある。
503は平方根逆数の初期値を与えるためのROMテー
ブルであり、入力レジスタ501の上位13ビットをア
ドレスとして13ビットのデータを出力するため、13
ビット/語×213語のデ−タを持つ、また、整数ビッ
トを生成するため、出力した13ビットのNORをとっ
てその1ビットを最上位ビットの上に付加する。さらに
、39ビットのゼロを最下位ビットの下に付加して53
ビットデータとした後にマルチプレクサ504に圧力す
る機能を持つ。
ブルであり、入力レジスタ501の上位13ビットをア
ドレスとして13ビットのデータを出力するため、13
ビット/語×213語のデ−タを持つ、また、整数ビッ
トを生成するため、出力した13ビットのNORをとっ
てその1ビットを最上位ビットの上に付加する。さらに
、39ビットのゼロを最下位ビットの下に付加して53
ビットデータとした後にマルチプレクサ504に圧力す
る機能を持つ。
504は乗算器505の一方の入力を第1データバス5
06から取るかROMテーブル503から取るかを選択
するマルチプレクサ。
06から取るかROMテーブル503から取るかを選択
するマルチプレクサ。
510は乗算器505のもう一方の入力を第2データバ
ス507から取るかROMテーブル503から取るかを
選択するマルチプレクサ。
ス507から取るかROMテーブル503から取るかを
選択するマルチプレクサ。
505はマルチプレクサ504の出力とマルチプレクサ
510の出力との積を3クロツクで演算する乗算器であ
り、入力される53ビットデータの最上位ビットを整数
ビット、最上位ビットとその下のビットの間に小数点が
あるものとして入力データと同じ形式の53ビットデー
タな出力するものとする。
510の出力との積を3クロツクで演算する乗算器であ
り、入力される53ビットデータの最上位ビットを整数
ビット、最上位ビットとその下のビットの間に小数点が
あるものとして入力データと同じ形式の53ビットデー
タな出力するものとする。
511は乗算器の出力″a−b’から″(3−a−b)
/2’を発生させるための付属回路である。この付属回
路511の詳細を第9図に示す。
/2’を発生させるための付属回路である。この付属回
路511の詳細を第9図に示す。
506は乗算器505に被乗数オペランドを転送するた
めの53ビット幅の第1データバス。
めの53ビット幅の第1データバス。
507は乗算器505に乗数オペランドを転送するため
の53ビット幅の第2データバス。
の53ビット幅の第2データバス。
508は乗算器505から乗算結果を転送するための5
3ビット幅の第3データバス。
3ビット幅の第3データバス。
509は演算結果が格納される53ビット長の結果レジ
スタである。
スタである。
このように、入力レジスタ501およびショートバス機
構502と乗算器505は被乗数オペランドと乗数オペ
ランドを独立に転送できる2本のデータバスで結ばれ、
また乗算器の出力はさらに別の第3データバス508で
結果レジスタ509およびショートバス機構502に結
ばれている。
構502と乗算器505は被乗数オペランドと乗数オペ
ランドを独立に転送できる2本のデータバスで結ばれ、
また乗算器の出力はさらに別の第3データバス508で
結果レジスタ509およびショートバス機構502に結
ばれている。
その結果、乗算器505は2つのオペランドを同時に得
ることができ、さらにショートバス機構502により直
前の乗算結果を続けて次の乗算のオペランドとすること
ができる。またショートバス機構502は直前のショー
トバス転送の値を保持し続ける機能を持つ。つまり、シ
ョートバス機構502を使って第3データバス508か
ら第1データバス506または第2データバス507へ
転送が行なわれた後、ショートバス機構502に第3デ
ータバス508からデータが入力されなければ、以降に
ショートバス機構502からデータを出力させた場合に
は最後にショートバス機構502を使って転送を行なっ
たデータが再び読み出せる。
ることができ、さらにショートバス機構502により直
前の乗算結果を続けて次の乗算のオペランドとすること
ができる。またショートバス機構502は直前のショー
トバス転送の値を保持し続ける機能を持つ。つまり、シ
ョートバス機構502を使って第3データバス508か
ら第1データバス506または第2データバス507へ
転送が行なわれた後、ショートバス機構502に第3デ
ータバス508からデータが入力されなければ、以降に
ショートバス機構502からデータを出力させた場合に
は最後にショートバス機構502を使って転送を行なっ
たデータが再び読み出せる。
なお、ROMテーブル503の検索には1クロツクかか
るものとする。
るものとする。
このハードウェアに第1の従来例のアルゴリズムをイン
プリメントした場合の平方根逆数算出動作を第6図に示
す。
プリメントした場合の平方根逆数算出動作を第6図に示
す。
まず、初期値X0を得るため、602で入力レジスタ5
01の上位13ビットを使ってROMテーブル503を
検索する。612でROMテーブル503の出力を使っ
てXo”を求める。603でB°を第1データバス50
6により乗算器505へ転送し、604でX0″ との
乗算を行なう。■式では X1=X@ (3−B−X、リ ・・・
・・・■となっているため、数値″3°と乗算結果との
減算を行なわなければならないが、Bは浮動小数点デー
タの仮数部であり、XoはBの平方根の逆数の近似値で
あるため、 l≦B<2 1/v’T<Xa≦1 より、 0、5 <B −Xo2< 2 と限定できることから、第9図の回路により(3−B−
XOす/2 を求めることができる。この結果を第3データバス50
8に圧力し、さらにショートバス機構502を使って直
ちに第1データバス506経由で乗算器505に戻す(
605)。また、マルチプレクサ504により再びXo
をROMテーブル503から乗算器505に入力し、(
3B−Xaす/2とXoとの乗算を行ない、■式の計算
を完了する(606)。
01の上位13ビットを使ってROMテーブル503を
検索する。612でROMテーブル503の出力を使っ
てXo”を求める。603でB°を第1データバス50
6により乗算器505へ転送し、604でX0″ との
乗算を行なう。■式では X1=X@ (3−B−X、リ ・・・
・・・■となっているため、数値″3°と乗算結果との
減算を行なわなければならないが、Bは浮動小数点デー
タの仮数部であり、XoはBの平方根の逆数の近似値で
あるため、 l≦B<2 1/v’T<Xa≦1 より、 0、5 <B −Xo2< 2 と限定できることから、第9図の回路により(3−B−
XOす/2 を求めることができる。この結果を第3データバス50
8に圧力し、さらにショートバス機構502を使って直
ちに第1データバス506経由で乗算器505に戻す(
605)。また、マルチプレクサ504により再びXo
をROMテーブル503から乗算器505に入力し、(
3B−Xaす/2とXoとの乗算を行ない、■式の計算
を完了する(606)。
606の乗算結果X1を第3データバス508に出力し
、ショートパス機構502を使って直ちに第1データバ
ス506および第2データバス507経由で乗算器50
5に戻してX12を求める(607)。
、ショートパス機構502を使って直ちに第1データバ
ス506および第2データバス507経由で乗算器50
5に戻してX12を求める(607)。
6070乗算結果XI”を第3データバス508に出力
し、ショートバス機構502を使って直ちに第2データ
バス507経由で乗算器505に戻す(607)。同時
に第1データバス506を使ってBを入力レジスタ50
1から乗算器505に転送しく608)、609でXI
”とBとの乗算を行なう。この乗算結果から付加回路5
11を使って(3B−XI”) / 2を求める。
し、ショートバス機構502を使って直ちに第2データ
バス507経由で乗算器505に戻す(607)。同時
に第1データバス506を使ってBを入力レジスタ50
1から乗算器505に転送しく608)、609でXI
”とBとの乗算を行なう。この乗算結果から付加回路5
11を使って(3B−XI”) / 2を求める。
この値を第3データバス508からショートパス機構5
02.第2データバス507と経由させて乗算器505
に与え(610)、第1データバス506用のショート
バス機構502に保持されているXlと611で乗算し
、X、を得る。第3データバス508を使って結果レジ
スタ509へX2を転送し、処理を終了する。
02.第2データバス507と経由させて乗算器505
に与え(610)、第1データバス506用のショート
バス機構502に保持されているXlと611で乗算し
、X、を得る。第3データバス508を使って結果レジ
スタ509へX2を転送し、処理を終了する。
以上の動作により52ビット精度で1/jの近似値が得
られる。
られる。
このように、
13ビット/語×213語(=ユ」」」」しLもムエ)
のROMテーブルを使った第1の従来例では平方根逆数
の近似値を求めるために−97o−?を要する。
のROMテーブルを使った第1の従来例では平方根逆数
の近似値を求めるために−97o−?を要する。
つぎに、第1の従来例を高速化するためにROMテーブ
ルを大型化し、ニュートン近似1回のみで52ビット精
度の平方根逆数近似を行なう例を星19立米囮として示
す。
ルを大型化し、ニュートン近似1回のみで52ビット精
度の平方根逆数近似を行なう例を星19立米囮として示
す。
ニュートン近似1回のみで52ビット精度を得るために
は、初期値として26ビットの値が必要であるが、これ
以外は第1の従来例の前半と同様である。従ってハード
ウェアの構成もROMテーブル503へのアドレスが入
力レジスタ501の上位26ビットとなり、出力が26
ビット長となる以外は変わらない。第7図にその平方根
逆数算出動作を示す。
は、初期値として26ビットの値が必要であるが、これ
以外は第1の従来例の前半と同様である。従ってハード
ウェアの構成もROMテーブル503へのアドレスが入
力レジスタ501の上位26ビットとなり、出力が26
ビット長となる以外は変わらない。第7図にその平方根
逆数算出動作を示す。
まず、初期値X0を得るため、701でROMテーブル
503を検索する。704でROMテーブル503の出
力を使ってX0′を求める。702で第1データバス5
06により転送されたBとXo’、が乗算される。第1
の従来例と同様、[3−B・X12]をXoと乗算しく
703)、■式の計算を完了する。初期値が26ビット
精度であるため、2乗近似によりこの1回のニュートン
近似で52ビット精度の1/jの近似値が得られる。
503を検索する。704でROMテーブル503の出
力を使ってX0′を求める。702で第1データバス5
06により転送されたBとXo’、が乗算される。第1
の従来例と同様、[3−B・X12]をXoと乗算しく
703)、■式の計算を完了する。初期値が26ビット
精度であるため、2乗近似によりこの1回のニュートン
近似で52ビット精度の1/jの近似値が得られる。
この場合は第7図、に示したように、
26ビット/語×22@語
(= ビ、ト
のROMテーブルの使って1立り旦ユヱて平方根逆数近
似を行なう。
似を行なう。
従来のニュートン近似を使った平方根演算方式では実行
時間を短縮しようとするとROMテーブルが巨大になり
、高速化できないという欠点を有していた。
時間を短縮しようとするとROMテーブルが巨大になり
、高速化できないという欠点を有していた。
ニュートン近似の初期値を直線近似を使って補完するこ
とにより、小容量のROMテーブルで高速な平方根演算
を可能にした。
とにより、小容量のROMテーブルで高速な平方根演算
を可能にした。
本発明の平方根計算装置は、4nビット長の入力データ
を保持する入力レジスタと、前記入力レジスタの上位n
ビットをアドレスとして前記入力レジスタが保持してい
る値の平方根の逆数の近似値を2nビット長で出力する
第1のROMテーブルと、前記入力レジスタの上位nビ
ットをアドレスとして前記入力レジスタが保持している
値の3乗の平方根の2倍の逆数の近似値をnビット長で
出力する第2のROMテーブルと、乗算器と、前記第1
のROMテーブルの出力から前記乗算器の出力を減算す
る減算器とを有する。
を保持する入力レジスタと、前記入力レジスタの上位n
ビットをアドレスとして前記入力レジスタが保持してい
る値の平方根の逆数の近似値を2nビット長で出力する
第1のROMテーブルと、前記入力レジスタの上位nビ
ットをアドレスとして前記入力レジスタが保持している
値の3乗の平方根の2倍の逆数の近似値をnビット長で
出力する第2のROMテーブルと、乗算器と、前記第1
のROMテーブルの出力から前記乗算器の出力を減算す
る減算器とを有する。
以下、図面を参照しながら本発明の詳細を述べる。
まず、本発明の平方根逆数発生アルゴリズムを説明する
。
。
〔従来例〕の項で説明したように、52ビット精度の平
方根逆数近似を行なう場合、ニュートン法を2回用いる
と初期値が13ビットで済むためROMテーブルのサイ
ズは小さくなる(13ビット/語×213語)が実行時
間が長くなり、ニュートン法を1回で済ませようとする
と初期値が26ビットとなりROMテーブルの大きさが
極端に大きくなってしまう (26ビット/語×226
語)という問題があった。
方根逆数近似を行なう場合、ニュートン法を2回用いる
と初期値が13ビットで済むためROMテーブルのサイ
ズは小さくなる(13ビット/語×213語)が実行時
間が長くなり、ニュートン法を1回で済ませようとする
と初期値が26ビットとなりROMテーブルの大きさが
極端に大きくなってしまう (26ビット/語×226
語)という問題があった。
そこで本発明では26ビットの初期値を直接ROMテー
ブルから検索せずに、2つのROMテーブル(26ビッ
ト/語×213語+13ビット/R×213語)と減算
器を使って直線近似により算出する。
ブルから検索せずに、2つのROMテーブル(26ビッ
ト/語×213語+13ビット/R×213語)と減算
器を使って直線近似により算出する。
直線近似により26ビットの初期値を得る方法を説明す
る。
る。
第3図に平方根逆数関数
f(B)=1/JK
のグラフの1部分の拡大図を示す。BoからΔBだけ離
れたB0+ΔBでのf(BO+ΔB)は、Boでのグラ
フの接線の傾きf’ (Bo)からf(Bo+ΔB)
#f(BO) 十f’ (1−ΔBと近似できる。
れたB0+ΔBでのf(BO+ΔB)は、Boでのグラ
フの接線の傾きf’ (Bo)からf(Bo+ΔB)
#f(BO) 十f’ (1−ΔBと近似できる。
f (B) = l/v’fiの場合はとなる。
いま、ある64ビット浮動小数点データの仮数部B
B”1.bst bs。b4o・・・b2b、 bo
(b、はn番目のビット) の上位13ビットと下位39ビットを分解し、Bo”1
.bst bs。・・・ b4゜b!9 0 0
・・・00ΔB=0.0 0 ・・・ 0 0 bs
g bst ・・・ b+ beとすることにより
、0式を使って1/7717;ΔB)の近似値を求める
ことができる。
(b、はn番目のビット) の上位13ビットと下位39ビットを分解し、Bo”1
.bst bs。・・・ b4゜b!9 0 0
・・・00ΔB=0.0 0 ・・・ 0 0 bs
g bst ・・・ b+ beとすることにより
、0式を使って1/7717;ΔB)の近似値を求める
ことができる。
近似値を26ビット精度で求めるためには、0式の第1
項[i/v’T’;]は26ビット必要だが、第2項[
ΔB/2J「7コは、ΔBの上位13ビットがすでにゼ
ロであるため、 1≦B0く2 より1/2 JW7が 1/44<1/2J「J≦1/2 という範囲でも ΔB/ 2 、Is = 0.0・・・0 73T )
’36・・・Yl)’。
項[i/v’T’;]は26ビット必要だが、第2項[
ΔB/2J「7コは、ΔBの上位13ビットがすでにゼ
ロであるため、 1≦B0く2 より1/2 JW7が 1/44<1/2J「J≦1/2 という範囲でも ΔB/ 2 、Is = 0.0・・・0 73T )
’36・・・Yl)’。
(最大値)
ΔB/247=o、o・・・Q O7za Yss・
・・yo(最小値) となる。0式として欲しい有効桁はビット51からビッ
ト26までの26ビットであるため、1/2ゾB03は
13ビットあれば充分である。
・・yo(最小値) となる。0式として欲しい有効桁はビット51からビッ
ト26までの26ビットであるため、1/2ゾB03は
13ビットあれば充分である。
よって、1/B0の上位26ビットと1/2丁の上位1
3ビットを[bst bs。 ・・・ b4゜bo]
の13ビットをアドレスとしてROMテーブルから引く
ことにより、乗算と減算を使って26ビットの1 /
(B o + A E■の近似値を求めることができ
る。
3ビットを[bst bs。 ・・・ b4゜bo]
の13ビットをアドレスとしてROMテーブルから引く
ことにより、乗算と減算を使って26ビットの1 /
(B o + A E■の近似値を求めることができ
る。
次に、このアルゴリズムをインプリメントした平方根逆
数発生装置の構成と動作を説明する。
数発生装置の構成と動作を説明する。
第1図に本発明−実旅例の平方根逆数発生装置の構成を
示す。
示す。
101は演算対象となるデータが格納されている52ビ
ット長の入力レジスタであり、第1データバス108お
よび第2データバス109に対して出力する場合は最上
位に整数部の1を付加し、53ビット長で出力する。
ット長の入力レジスタであり、第1データバス108お
よび第2データバス109に対して出力する場合は最上
位に整数部の1を付加し、53ビット長で出力する。
102は第3データバス110上の53ビットデータな
遅延なく第1データバス108および第2データバス1
09に帰還させるためのショートバス機構であり、第1
データバス108および第2データバス10902つデ
ータバスに対しそれぞれ専用のシステムバスがアル。
遅延なく第1データバス108および第2データバス1
09に帰還させるためのショートバス機構であり、第1
データバス108および第2データバス10902つデ
ータバスに対しそれぞれ専用のシステムバスがアル。
103は3乗の平方根の2倍の逆数′ (l/2J1F
)の近似値を与えるための第2ROMテーブルであり、
入力レジスタ101の上位13ビットをアドレスとして
13ビットのデータを出力するため、13ビット/語×
21″語のデータを持つ。また、整数ビットとして1ビ
ットの°0′を最上位ビットの上に付加する。さらに、
39ビットのゼロを最下位ビットの下に付加して53ビ
ットデータとした後にマルチプレクサ104に出力する
機能を持つ。
)の近似値を与えるための第2ROMテーブルであり、
入力レジスタ101の上位13ビットをアドレスとして
13ビットのデータを出力するため、13ビット/語×
21″語のデータを持つ。また、整数ビットとして1ビ
ットの°0′を最上位ビットの上に付加する。さらに、
39ビットのゼロを最下位ビットの下に付加して53ビ
ットデータとした後にマルチプレクサ104に出力する
機能を持つ。
104は乗算器1050片方の入力を第1データバス1
06から取るか第2ROMテーブル103から取るかを
選択するマルチプレクサ。
06から取るか第2ROMテーブル103から取るかを
選択するマルチプレクサ。
105は第1データバス10d上の53ビットデータの
マルチプレクサ104の出力との積を3クロツクで演算
する乗算器であり、入力される53ビットデータの最上
位ビットを整数ビット、最上位ビットとその下のビット
の間に小数点があるものとして乗算を行ない、入力デー
タと同じ形式の53ビットデータな出力するものとする
。また、第1データバス上のデータに対しては全ビット
を演算対象とする機能の他に上位14ビット(整数部1
ビット+小数部上位13ビット)をゼロにマスクして演
算する機能を持つ。
マルチプレクサ104の出力との積を3クロツクで演算
する乗算器であり、入力される53ビットデータの最上
位ビットを整数ビット、最上位ビットとその下のビット
の間に小数点があるものとして乗算を行ない、入力デー
タと同じ形式の53ビットデータな出力するものとする
。また、第1データバス上のデータに対しては全ビット
を演算対象とする機能の他に上位14ビット(整数部1
ビット+小数部上位13ビット)をゼロにマスクして演
算する機能を持つ。
112は乗算器105の出力’a−b’から’ (3−
a−b) /2”を生成する付加回路である。付加回路
112の詳細を第9図に示す。なお、この付加回路11
2はバイパスすることもできるため、乗算結果として’
a−b’ と’(3−a・b)/2’ のいずれを使う
こともできる。
a−b) /2”を生成する付加回路である。付加回路
112の詳細を第9図に示す。なお、この付加回路11
2はバイパスすることもできるため、乗算結果として’
a−b’ と’(3−a・b)/2’ のいずれを使う
こともできる。
106は平方根の逆数(i/、/”’r)の近似値を与
えるための第lROMテーブルであり、入力レジスタ1
01の上位13ビットをアドレスとして26ビットのデ
ータを出力するため、26ビット/語×213語のデー
タを持つ。また、整数ビットを生成するため、出力した
26ビットのNORをとってその1ビットを最上位ビッ
トの上に付加する。さらに、26ビットのゼロを最下位
ビットの下に付加して53ビットデータとした後に減算
器105に出力する機能を持つ。
えるための第lROMテーブルであり、入力レジスタ1
01の上位13ビットをアドレスとして26ビットのデ
ータを出力するため、26ビット/語×213語のデー
タを持つ。また、整数ビットを生成するため、出力した
26ビットのNORをとってその1ビットを最上位ビッ
トの上に付加する。さらに、26ビットのゼロを最下位
ビットの下に付加して53ビットデータとした後に減算
器105に出力する機能を持つ。
107は第lROMテーブル106の出力から乗算器1
05の出力を減算する53ビットの減算器。
05の出力を減算する53ビットの減算器。
108は乗算器105に被乗数オペランドを転送するた
めの53ビット幅の第1データバス、109は乗算器1
05に乗数オペランドを転送するための53ビット幅の
第2データバス、11Oは乗算器105および減算器1
07から結果を転送するための53ビット幅の第3デー
タバス。
めの53ビット幅の第1データバス、109は乗算器1
05に乗数オペランドを転送するための53ビット幅の
第2データバス、11Oは乗算器105および減算器1
07から結果を転送するための53ビット幅の第3デー
タバス。
111は演算結果が格納される53ビット長の結果レジ
スタである。
スタである。
このように、入力レジスタ101およびショートバス機
構1020乗算器105は被乗数オペランドと乗数オペ
ランドを独立に転送できる2本のデータバスで結ばれ、
また乗算器の出力と減算器の出力はさらに別の第3デー
タバス110で結果レジスタ111およびショートパス
機構102に結ばれている。その結果、乗算器105は
2つのオペランドを同時に得ることができ、さらにショ
ートパス機構102により直前の乗算結果を続けて次の
乗算のオペランドとすることができる。
構1020乗算器105は被乗数オペランドと乗数オペ
ランドを独立に転送できる2本のデータバスで結ばれ、
また乗算器の出力と減算器の出力はさらに別の第3デー
タバス110で結果レジスタ111およびショートパス
機構102に結ばれている。その結果、乗算器105は
2つのオペランドを同時に得ることができ、さらにショ
ートパス機構102により直前の乗算結果を続けて次の
乗算のオペランドとすることができる。
マタ、ショートパス機構102は直前のショートパス転
送の値を保持し続ける機能を持つ、つまり、ショートパ
ス機構102を使って第3データバス110から第1デ
ータバス108または第2データバス109へ転送が行
なわhた語、ショートパス機構102に第3データバス
110からデータが入力されなければ、以降にショート
パス機構102からデータを出力させた場合には最後に
ショートパス機構102を使って転送を行なったデータ
が再び読み出せる。
送の値を保持し続ける機能を持つ、つまり、ショートパ
ス機構102を使って第3データバス110から第1デ
ータバス108または第2データバス109へ転送が行
なわhた語、ショートパス機構102に第3データバス
110からデータが入力されなければ、以降にショート
パス機構102からデータを出力させた場合には最後に
ショートパス機構102を使って転送を行なったデータ
が再び読み出せる。
なお、第lROMテーブル106および第2ROMテー
ブル103の検索には1クロツクかかるものとする。
ブル103の検索には1クロツクかかるものとする。
平方根逆数算出動作を第2図に示す。
入力レジスタ101に保持されている52ビットデータ
Bは B”1.bs+ bso btu ”’ b+
b。
Bは B”1.bs+ bso btu ”’ b+
b。
(b、、はn番目のビット)
なる52ビットのビット列であるとする。また、Bの上
位13ビットと下位39ビットを分解したデータを Bo”1.bs+ bso ”・bss OO−
0ΔB=0.0 0 ・・・ Ob3s bar
・・・ boと呼ぶ。
位13ビットと下位39ビットを分解したデータを Bo”1.bs+ bso ”・bss OO−
0ΔB=0.0 0 ・・・ Ob3s bar
・・・ boと呼ぶ。
■式および0式
X2=Xl (3B−X+”) ・・
・・・・■に従って演算を進める。
・・・・■に従って演算を進める。
まず、1/2Jiフの近似値2.を得るため、入力レジ
スタ101の上位13ビットを使って第2ROMテーブ
ル103を検索する(201)。
スタ101の上位13ビットを使って第2ROMテーブ
ル103を検索する(201)。
入力レジスタ101のデータBを第1データバス108
により乗算器105へ転送する(202)。
により乗算器105へ転送する(202)。
乗算器105は第1データバス上のデータの上位14ビ
ット(整数部1ビット+小数部上位13ビット)をマス
クして(ΔBとして)受理し、ROMテーブル103か
らマルチプロセッサ104を経由して入力されたz2と
の乗算を行ない(203) 、乗算結果ΔB−22を得
る。
ット(整数部1ビット+小数部上位13ビット)をマス
クして(ΔBとして)受理し、ROMテーブル103か
らマルチプロセッサ104を経由して入力されたz2と
の乗算を行ない(203) 、乗算結果ΔB−22を得
る。
1 / V肌の近似値z1を得るため、入力レジスタ1
01の上位13ビットを使って第lROMテーブル10
6を検索する(204)、第lROMテーブル106の
出力と乗算器105の出力を減算器107に入力し、 zl−ΔB−Zz を行ない(205)、まず26ビット精度で1/ゾBの
近似値を得、ニュートン近似の初期値とす減算器107
の出力[Z+−ΔB−Z2 (=Xl)]を第3データ
バス110に出力すると同時に、ショートバス機構10
2を使って第1データバス108および第2データバス
109にのせる(212)。乗算器105は第1データ
バスおよび第2データバスからXlを得、Xlの2乗を
計算する(213)。
01の上位13ビットを使って第lROMテーブル10
6を検索する(204)、第lROMテーブル106の
出力と乗算器105の出力を減算器107に入力し、 zl−ΔB−Zz を行ない(205)、まず26ビット精度で1/ゾBの
近似値を得、ニュートン近似の初期値とす減算器107
の出力[Z+−ΔB−Z2 (=Xl)]を第3データ
バス110に出力すると同時に、ショートバス機構10
2を使って第1データバス108および第2データバス
109にのせる(212)。乗算器105は第1データ
バスおよび第2データバスからXlを得、Xlの2乗を
計算する(213)。
乗算器105はcX+”]を第3データバス110に出
力すると同時に、ショートバス機構102を使って第2
データバス109にのせる(206)。
力すると同時に、ショートバス機構102を使って第2
データバス109にのせる(206)。
一方で、入力レジスタ101の内容Bを第1データバス
108を使って乗算器105に入力する(207)。乗
算器105はBの上位ビットをマスクせず全ビットを演
算対象とし、第2データバス上のXl”との乗算を行な
う(208)。
108を使って乗算器105に入力する(207)。乗
算器105はBの上位ビットをマスクせず全ビットを演
算対象とし、第2データバス上のXl”との乗算を行な
う(208)。
ここで、■式は
X2=X、(3−B−X、す/2 ・・・・・
・■となっているため、第9図の付加回路を使ってB・
Xi”から(3−B −X、’) /2を得る。
・■となっているため、第9図の付加回路を使ってB・
Xi”から(3−B −X、’) /2を得る。
乗算器105はこの値を第3データバス110に出力し
、さらにショートバス機構102を使って直ちに第2デ
ータバス109経由で乗算器105に戻す(209)。
、さらにショートバス機構102を使って直ちに第2デ
ータバス109経由で乗算器105に戻す(209)。
同時に第1データバス108用のショートバス機構10
2に保持されているX、を乗算器105に入力しく21
0)、[(3−B・Xlす/2・XI (=X2)コを
得る(211)。第3データバス110を使って結果レ
ジスタ111へX、を転送し、処理を終了する。。
2に保持されているX、を乗算器105に入力しく21
0)、[(3−B・Xlす/2・XI (=X2)コを
得る(211)。第3データバス110を使って結果レ
ジスタ111へX、を転送し、処理を終了する。。
以上の動作により52ビット精度の17Jiの近似値が
得られる。
得られる。
このように、本発明は
13ビット/語×21s語(=106,496ビット)
26ビット/語×213語(=212,992ビット)
の2つのROMテーブルを使い、L1Ω瓦豊13
ビ・トで1土り三重2で52ビット精度の平方根逆
数近似を計算することができる。
26ビット/語×213語(=212,992ビット)
の2つのROMテーブルを使い、L1Ω瓦豊13
ビ・トで1土り三重2で52ビット精度の平方根逆
数近似を計算することができる。
前実施例では3本のデータバスやショートバス機構を使
って平方根逆数発生以外の演算も行なえる構成としたた
め、ハードウェアが大規模になっている。ところが、平
方根逆数発生の機能のみ持つ装置であればより簡単なハ
ードウェアでさらに高速な演算が可能である。そこで、
実施例2として平方根逆数発生専用とした場合の構成と
動作を示す。なお、整数ビットを省略してハードウェア
を簡略化するため、実施例2ではB=1.OO・・・0
の場合は除外して考えることにする。
って平方根逆数発生以外の演算も行なえる構成としたた
め、ハードウェアが大規模になっている。ところが、平
方根逆数発生の機能のみ持つ装置であればより簡単なハ
ードウェアでさらに高速な演算が可能である。そこで、
実施例2として平方根逆数発生専用とした場合の構成と
動作を示す。なお、整数ビットを省略してハードウェア
を簡略化するため、実施例2ではB=1.OO・・・0
の場合は除外して考えることにする。
第4図に第2実旅例の平方根逆数発生装置のハードウェ
ア構成を示す。
ア構成を示す。
401は演算対象データを保持する入力レジスタである
。演算対象データのビット幅は実施例1と同じく52ビ
ットとする。入力レジスタ401に保持されている各ビ
ットのビット番号を第8図に示す通り定義する。また、
以降の説明もこのビット番号に準する。つまり、最上位
ビットをビット51、最下位ビットをビットOとし、小
数点はビット51の上にあるものとする。
。演算対象データのビット幅は実施例1と同じく52ビ
ットとする。入力レジスタ401に保持されている各ビ
ットのビット番号を第8図に示す通り定義する。また、
以降の説明もこのビット番号に準する。つまり、最上位
ビットをビット51、最下位ビットをビットOとし、小
数点はビット51の上にあるものとする。
402は平方根逆数の近似値を与えるための第lROM
テーブルであり、入力レジスタ401の上位13ビット
をアドレスとして26ビットのデータを出力するため、
26ビット/語X2″語のデータを持つ。
テーブルであり、入力レジスタ401の上位13ビット
をアドレスとして26ビットのデータを出力するため、
26ビット/語X2″語のデータを持つ。
403は3乗の平方根の2倍の逆数(1/2ン■))の
近似値を与えるための第2’ROMテーブルであり、入
力レジスタ401の上位13ビットをアドレスとして1
3ビットのデータを出力す。
近似値を与えるための第2’ROMテーブルであり、入
力レジスタ401の上位13ビットをアドレスとして1
3ビットのデータを出力す。
るため、13ビット/語×213語のデータを持つ。
404は13ビット×13ビット乗算器であり、第2R
OMテーブル403の出力の13ビットデータと入力レ
ジスタ401の[ビット38〜ビット26]の13ビッ
トデータを乗算し、26ビットデータとなる乗算結果の
上位13ビットを出力する。
OMテーブル403の出力の13ビットデータと入力レ
ジスタ401の[ビット38〜ビット26]の13ビッ
トデータを乗算し、26ビットデータとなる乗算結果の
上位13ビットを出力する。
405は26ビット減算器であり、乗算器404013
ビット出力の上位をゼロ拡張して26ビットデータとし
、第lROMテーブルの26ビットデータから減算し、
26ビットデータを出力する。
ビット出力の上位をゼロ拡張して26ビットデータとし
、第lROMテーブルの26ビットデータから減算し、
26ビットデータを出力する。
410は26ビット×26ビット乗算器であり、26ビ
ット減算器405の出力を2乗し、52ビットデータを
出力する。
ット減算器405の出力を2乗し、52ビットデータを
出力する。
406は52ビット×52ビット乗算器であり、乗算器
410052ビット出力と、もう一方の52ビット入力
データとの乗算結果を出力する。
410052ビット出力と、もう一方の52ビット入力
データとの乗算結果を出力する。
このとき、入力および出力されるデータは第8図に示し
たようにビット52の上に小数点がある固定小数点とし
て扱われる。よって出力されるデータは乗算結果の上位
52ビットとなる。
たようにビット52の上に小数点がある固定小数点とし
て扱われる。よって出力されるデータは乗算結果の上位
52ビットとなる。
407はマルチプレクサであり、入力レジスタ401か
らの52ビットデータと付加回路408052ビット比
力のいずれかを選択して乗算器406へ入力する。
らの52ビットデータと付加回路408052ビット比
力のいずれかを選択して乗算器406へ入力する。
408は乗算器406の52ビット出力Xから(3−x
)/2を得るための付加回路である。
)/2を得るための付加回路である。
408の詳細は第9図と同様である。
409は乗算器406の出力を保持する結果レジスタで
ある。
ある。
次に実施例20平方根逆数発生装置の動作を説明する。
まず、第1ステツプとして入力レジスタ401の[ビッ
ト51〜ビット39]の13ビットデータをアドレスと
して第lROMテーブルおよび第2ROMテーブルを検
索する。
ト51〜ビット39]の13ビットデータをアドレスと
して第lROMテーブルおよび第2ROMテーブルを検
索する。
第2ステツプで第2ROMテーブルからの13ビットデ
ータと入力レジスタ401の[ビット38〜ビット26
]の13ビットデータを乗算する。
ータと入力レジスタ401の[ビット38〜ビット26
]の13ビットデータを乗算する。
この乗算は0式
の第2項[ΔB/2ゾB。3コに相当する。
第2ROMテーブルからの13ビット出力は17B♂=
0.ムムムムにムムムムムムムムZ31Z3T゛°。
0.ムムムムにムムムムムムムムZ31Z3T゛°。
の[z51〜z3.]の13ビットに相当する。また、
入力レジスタ401の[ビット38〜ビット26]は ΔB=0.0000000000000馬晶退i−h巧
晶正nh&烏山がh・・・ の[:B31〜B2elの13ビットに相当する。これ
らの13ビットデータを整数と見なすとその乗算結果は
26ビットデータになるはずである。また、Z31(1
’)重ミat 2−” 、 B 2@ F31jLミハ
2−” テアルタめ、整数乗算と見なした場合の乗算結
果26ビットデータの最下位の実際の重みは2−39で
ある。
入力レジスタ401の[ビット38〜ビット26]は ΔB=0.0000000000000馬晶退i−h巧
晶正nh&烏山がh・・・ の[:B31〜B2elの13ビットに相当する。これ
らの13ビットデータを整数と見なすとその乗算結果は
26ビットデータになるはずである。また、Z31(1
’)重ミat 2−” 、 B 2@ F31jLミハ
2−” テアルタめ、整数乗算と見なした場合の乗算結
果26ビットデータの最下位の実際の重みは2−39で
ある。
よって、その26ビットデータ[V 31 V 3y
V 36V 35 V 34・・・■1.]は ΔB・(1/ 2 J) = o、oooooooooooo。
V 36V 35 V 34・・・■1.]は ΔB・(1/ 2 J) = o、oooooooooooo。
というビット位置に相当する。いま、0式ではビット2
6までの精度を得られれば良いから、乗算器404は2
6ビットデータ[Vl、〜■2.コの上位13ピツ)[
Vs*〜v2.]を出力する。
6までの精度を得られれば良いから、乗算器404は2
6ビットデータ[Vl、〜■2.コの上位13ピツ)[
Vs*〜v2.]を出力する。
第3ステツプで乗算器404013ビット出力の上位に
13ビットのゼロを付加し、第lROMテーブル402
の26ビット出力とともに減算器405に入力して、減
算を行なう。
13ビットのゼロを付加し、第lROMテーブル402
の26ビット出力とともに減算器405に入力して、減
算を行なう。
第lROMテーブルからの26ビット出力はの[Y s
l−Y 2 @ ]の26ビットに相当する。■式の
第1項から第2項を引く減算を行なうため、この26ビ
ットデータと乗算器404の13ビットデータ[Vss
〜V1.]の各ビットの重みを合わせるために、[Vs
*〜■26]の上位を13ビットゼロ拡張し、 Δ計(1/2給Q) = o、oooooooooooo。
l−Y 2 @ ]の26ビットに相当する。■式の
第1項から第2項を引く減算を行なうため、この26ビ
ットデータと乗算器404の13ビットデータ[Vss
〜V1.]の各ビットの重みを合わせるために、[Vs
*〜■26]の上位を13ビットゼロ拡張し、 Δ計(1/2給Q) = o、oooooooooooo。
ムN武い値りめNハ質ムめN品^ム・・・として[1/
JL−ΔB/2丁コの減算を行なう。
JL−ΔB/2丁コの減算を行なう。
第4ステツプで減算器405の出力
[1/1)′jj「;−ΔB/2)ノ′j百1111−
コ =x。
コ =x。
を乗算器410により2乗する。
第5ステツプで入力レジスタ401からのデータを選択
するようにマルチプレクサ407を制御し、乗算器40
6に乗算器410からの52ビットデータと入力レジス
タ401からの52ビ、ットデータを与え、乗算を行な
う。
するようにマルチプレクサ407を制御し、乗算器40
6に乗算器410からの52ビットデータと入力レジス
タ401からの52ビ、ットデータを与え、乗算を行な
う。
この乗算は0式
%式%
の[BXXl’]の乗算に相当する。
第6ステツプで乗算器406の出力[B −x、2]を
付加回路408に与え、(3−E −X、”) /2を
得る。
付加回路408に与え、(3−E −X、”) /2を
得る。
第7ステツプで付加回路408からのデータを選択する
ようにマルチプレクサ407を制御し、乗算器406に
乗算器410からの52ビットデータと反転器408か
らの52ビットテータを与え、乗算を行なう。この乗算
は0式 %式% の[X、と(3−B−XI2)/2コの乗算に相当する
。
ようにマルチプレクサ407を制御し、乗算器406に
乗算器410からの52ビットデータと反転器408か
らの52ビットテータを与え、乗算を行なう。この乗算
は0式 %式% の[X、と(3−B−XI2)/2コの乗算に相当する
。
この乗算結果を結果レジスタ409に出力し、平方根逆
数演算を終了する。
数演算を終了する。
以上の実施例2のノ・−ドウエフ量と実行時間を見積る
。まず、ROM容量は実施例1と同様、39 8ビート
である。また、データ転送のためのデータバスやショー
トバス機構が不要になるため、平方根逆数発生装置全体
としてのノ・−ドウエアは実施例1よりも実施例2の方
が小さくなる。
。まず、ROM容量は実施例1と同様、39 8ビート
である。また、データ転送のためのデータバスやショー
トバス機構が不要になるため、平方根逆数発生装置全体
としてのノ・−ドウエアは実施例1よりも実施例2の方
が小さくなる。
実行時間も実施例1より少なくなる。まず、第1ステツ
プのROMテーブル検索には実施例と同様、+Lり二−
二ノー費やされるとする。第2ステツプの乗算はデータ
長が実施例1052ビット×52ビットに対し、13ビ
ット×13ビットであるため、実施例1の3クロツクに
対し、上り旦ユニで処理できる。第3ステツプの減算は
実施例1と同様、lu−エ!−とする。第4ステツプの
乗算はデータ長が実施例1052ビット′x52ビット
に対し、26ビット×26ビットであるため、実施例1
の3クロツクに対し、l工して処理できる。第5および
第7ステ、ブの乗算は実施例1と同様、52ビ、)X5
2ビットであるため、実施例1と同じく1久旦ユLとす
る1以上の実行時間の合計から、実施例2の平方根逆数
発生装置の実行時間は上上り旦ユ2となる。
プのROMテーブル検索には実施例と同様、+Lり二−
二ノー費やされるとする。第2ステツプの乗算はデータ
長が実施例1052ビット×52ビットに対し、13ビ
ット×13ビットであるため、実施例1の3クロツクに
対し、上り旦ユニで処理できる。第3ステツプの減算は
実施例1と同様、lu−エ!−とする。第4ステツプの
乗算はデータ長が実施例1052ビット′x52ビット
に対し、26ビット×26ビットであるため、実施例1
の3クロツクに対し、l工して処理できる。第5および
第7ステ、ブの乗算は実施例1と同様、52ビ、)X5
2ビットであるため、実施例1と同じく1久旦ユLとす
る1以上の実行時間の合計から、実施例2の平方根逆数
発生装置の実行時間は上上り旦ユ2となる。
このように、ハードウェアの構成を平方根逆数発生専用
にすることにより、さらに高速な平方根逆数演算が可能
となる。
にすることにより、さらに高速な平方根逆数演算が可能
となる。
本発明の平方根計算装置は2つのROMテーブルを使っ
てニュートン近似のための初期値を直線近似で補間する
ことにより、従来106.5にビットの初期値ROMを
使って19クロツクかかっていた平方根逆数の近似計算
が319.5にビットの初期値ROMを使って14クロ
ツクで可能となり、高速な平方根計算が実現できるとい
う効果を持つ。
てニュートン近似のための初期値を直線近似で補間する
ことにより、従来106.5にビットの初期値ROMを
使って19クロツクかかっていた平方根逆数の近似計算
が319.5にビットの初期値ROMを使って14クロ
ツクで可能となり、高速な平方根計算が実現できるとい
う効果を持つ。
第1図は本発明の平方根計算装置の一実施例図、第2図
は本実施例の動作説明図、第3図は直線近似の説明図、
第4図は本発明の第2実施例図、第5図は従来の平方根
逆数発生装置の構成図、第6図は従来の平方根逆数発生
装置の動作説明図にュートン近似2回の場合)、第7図
は従来の平方根逆数発生装置の動作説明図にュートン近
似1回の場合)、第8図は入力レジスタのビット番号説
明図、第9図は(3−a−b)/2を生成する付加回路
である。 101・・・・・・入力レジスタ、102・・・・・・
ショートバス機構、103・・・・・・第2ROMテー
ブル、104・・・・・・マルチプレクサ、105・・
・・・・乗算器、106・・・・・・第lROMテーブ
ル、107・・・・・・減算器、108・・・・・・第
1データバス、109・・・・・・第2データバス、1
10・・・・・・第3データバス、111・・・・・・
結果レジスタ。 代理人 弁理士 内 原 音 第 1図 第3図 第4図 第を図
は本実施例の動作説明図、第3図は直線近似の説明図、
第4図は本発明の第2実施例図、第5図は従来の平方根
逆数発生装置の構成図、第6図は従来の平方根逆数発生
装置の動作説明図にュートン近似2回の場合)、第7図
は従来の平方根逆数発生装置の動作説明図にュートン近
似1回の場合)、第8図は入力レジスタのビット番号説
明図、第9図は(3−a−b)/2を生成する付加回路
である。 101・・・・・・入力レジスタ、102・・・・・・
ショートバス機構、103・・・・・・第2ROMテー
ブル、104・・・・・・マルチプレクサ、105・・
・・・・乗算器、106・・・・・・第lROMテーブ
ル、107・・・・・・減算器、108・・・・・・第
1データバス、109・・・・・・第2データバス、1
10・・・・・・第3データバス、111・・・・・・
結果レジスタ。 代理人 弁理士 内 原 音 第 1図 第3図 第4図 第を図
Claims (1)
- 4nビット長の入力データを保持する入力レジスタと、
前記入力レジスタの上位nビットをアドレスとして前記
入力レジスタが保持している値の平方根の逆数の近似値
を2nビット長で出力する第1のROMテーブルと、前
記入力レジスタの上位nビットをアドレスとして前記入
力レジスタが保持している値の3乗の平方根の2倍の逆
数の近似値をnビット長で出力する第2のROMテーブ
ルと、乗算器と、前記第1のROMテーブルの出力から
前記乗算器の出力を減算する減算器とを有し、前記入力
レジスタの下位ビットと前記第2のROMテーブルの出
力を前記乗算器により乗算し、前記第1のROMテーブ
ルの出力から前記乗算器の出力を前記減算器により減算
することにより、平方根近似計算に必要な2nビット精
度の初期値を求めることを特徴とする平方根計算装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2327925A JP2972326B2 (ja) | 1990-11-28 | 1990-11-28 | 平方根計算装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2327925A JP2972326B2 (ja) | 1990-11-28 | 1990-11-28 | 平方根計算装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH04195523A true JPH04195523A (ja) | 1992-07-15 |
| JP2972326B2 JP2972326B2 (ja) | 1999-11-08 |
Family
ID=18204538
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2327925A Expired - Fee Related JP2972326B2 (ja) | 1990-11-28 | 1990-11-28 | 平方根計算装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2972326B2 (ja) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2009505309A (ja) * | 2005-09-28 | 2009-02-05 | インテル・コーポレーション | 拡張関数のための向上した浮動小数点演算部 |
| CN117850736A (zh) * | 2024-03-06 | 2024-04-09 | 北京壁仞科技开发有限公司 | 乘法电路模块与乘法运算方法 |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS6120134A (ja) * | 1984-06-29 | 1986-01-28 | インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション | 平方根計算装置 |
| JPS63163630A (ja) * | 1986-12-26 | 1988-07-07 | Hitachi Ltd | 逆数演算方式 |
-
1990
- 1990-11-28 JP JP2327925A patent/JP2972326B2/ja not_active Expired - Fee Related
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS6120134A (ja) * | 1984-06-29 | 1986-01-28 | インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション | 平方根計算装置 |
| JPS63163630A (ja) * | 1986-12-26 | 1988-07-07 | Hitachi Ltd | 逆数演算方式 |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2009505309A (ja) * | 2005-09-28 | 2009-02-05 | インテル・コーポレーション | 拡張関数のための向上した浮動小数点演算部 |
| CN117850736A (zh) * | 2024-03-06 | 2024-04-09 | 北京壁仞科技开发有限公司 | 乘法电路模块与乘法运算方法 |
| CN117850736B (zh) * | 2024-03-06 | 2024-05-31 | 北京壁仞科技开发有限公司 | 乘法电路模块与乘法运算方法 |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2972326B2 (ja) | 1999-11-08 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP0149248B1 (en) | Method and apparatus for division using interpolation approximation | |
| Lang et al. | A radix-10 combinational multiplier | |
| JPH0612229A (ja) | 乗累算回路 | |
| JPS6347874A (ja) | 算術演算装置 | |
| EP0499705A2 (en) | High performance divider with a sequence of convergence factors | |
| Savarimuthu et al. | Square root for perfect square numbers using Vedic mathematics | |
| JPH02118725A (ja) | 対数関数演算装置 | |
| JPS5939774B2 (ja) | 指数関数の演算方式 | |
| JPH04195523A (ja) | 平方根計算装置 | |
| Panda et al. | A novel vedic divider architecture with reduced delay for VLSI applications | |
| TW484091B (en) | Interpolation method and apparatus | |
| Lang et al. | Division unit for binary integer decimals | |
| JPH04314126A (ja) | 逆数発生装置 | |
| KR19980032055A (ko) | 제산장치 | |
| Chen et al. | Fast additive normalisation method for exponential computation | |
| Liu et al. | A multi-functional floating point multiplier | |
| JPH0371331A (ja) | 乗算器 | |
| JPH02153412A (ja) | 逆三角関数演算装置 | |
| JP3251071B2 (ja) | 除算/開平演算方法と演算装置 | |
| JP2508286B2 (ja) | 平方根演算装置 | |
| JPS5938849A (ja) | 演算回路 | |
| JPH0445860B2 (ja) | ||
| Rao | Implementation of the IEEE standard binary floating‐point arithmetic unit | |
| JPH0322025A (ja) | 指数関数演算装置 | |
| JPS61262930A (ja) | 除算装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| LAPS | Cancellation because of no payment of annual fees |