JP2722858B2 - 開平演算装置 - Google Patents

開平演算装置

Info

Publication number
JP2722858B2
JP2722858B2 JP3131001A JP13100191A JP2722858B2 JP 2722858 B2 JP2722858 B2 JP 2722858B2 JP 3131001 A JP3131001 A JP 3131001A JP 13100191 A JP13100191 A JP 13100191A JP 2722858 B2 JP2722858 B2 JP 2722858B2
Authority
JP
Japan
Prior art keywords
output
square root
holding means
partial square
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.)
Expired - Lifetime
Application number
JP3131001A
Other languages
English (en)
Other versions
JPH04355827A (ja
Inventor
拓 中野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP3131001A priority Critical patent/JP2722858B2/ja
Priority to US07/893,082 priority patent/US5307302A/en
Priority to US07/893,089 priority patent/US5278782A/en
Publication of JPH04355827A publication Critical patent/JPH04355827A/ja
Application granted granted Critical
Publication of JP2722858B2 publication Critical patent/JP2722858B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/544Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation
    • G06F7/552Powers or roots, e.g. Pythagorean sums
    • G06F7/5525Roots or inverse roots of single operands

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Mathematical Optimization (AREA)
  • General Engineering & Computer Science (AREA)
  • Complex Calculations (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はデータ処理装置における
開平演算装置に関するものである。
【0002】
【従来の技術】従来、開平演算装置では、ニュートン・
ラプソン法を用いて開平演算を実行している例が多い。
数値Aの平方根を求めるために、まず1/√Aを求め、
それにAを掛けて√Aを求める。ニュートン・ラプソン
法では1/√Aを収束計算によって求めるのであるが、
収束までに要する繰り返し回数は逆数の初期値が真の値
に近いほど少なく、高速な開平演算装置では、3〜4回
程度の収束計算で求められることが、特開平2ー259
24号公報等に示されている。
【0003】
【発明が解決しようとする課題】しかしながらニュート
ン・ラプソン法による上記の開平演算装置の実施例にお
いて、乗算器には浮動小数点数入力オペランドの仮数部
が被乗数、乗数として入力されており、IEEE規格の
倍精度浮動小数点数の平方根を求める場合、リーディン
グビットを付加した仮数部のビット長に対応した53ビ
ットx53ビットの乗算器を必要とする。乗算命令と開
平演算命令を同時に実行することがなく、乗算命令を実
行するための乗算器を開平演算命令の実行でも利用する
場合は何も問題にはならない。しかし、乗算命令と開平
演算命令の間で使用するデータについて互いに依存関係
がないとき、2つの命令を同時に実行するために、開平
演算用に53ビットx53ビットの乗算器を設けるのは
ハードウェアの物量の多大な増加となり、問題となる。
【0004】本発明は上記問題点に鑑み、乗数のビット
長として、固定小数点数の場合はオペランド長、浮動小
数点数の場合は仮数部のビット長よりも小さい乗算器を
使用する開平演算装置を提供するものである。
【0005】
【課題を解決するための手段】上記問題点を解決するた
めに本発明の開平演算装置は、入力オペランドに対する
平方根の近似逆数を格納するテーブル情報格納手段と、
平方根を上位より順に一定のビット数ずつ反復して求め
る場合の剰余保持手段と、剰余保持手段から出力される
剰余と、テーブル情報格納手段から出力される平方根の
近似逆数をそれぞれ被乗数、乗数として乗算を行なう乗
算手段と、乗算手段の出力する積の上位を部分平方根と
して各反復での平方根を併合した併合平方根保持手段
と、剰余保持手段から出力される剰余(R)と、併合平
方根保持手段から出力される併合平方根と乗算手段の出
力する平方根を被乗数生成手段によりひとまとめにした
データ(S)と、更に乗算手段の出力する部分平方根
(T)を入力して、(R−SxT)の演算を行なう演算
手段とを備えたものである。
【0006】
【作用】上記の構成により、開平演算を実行できること
を説明する前に、本発明で使用する開平演算の方法につ
いて説明する。Aの平方根を上位より一定のビット数ず
つグループ分割して、(数1)のように表現する。
【0007】
【数1】
【0008】逆に、(数1)の辺々を2乗して右辺を変
形すると(数2)を得る。
【0009】
【数2】 (数2)より、以下の手順で平方根を求めることができ
る。 (1)A(R0とする)にa1の逆数を掛け、結果の上位
の一定のビット数をa1とする。 (2)R1=R0−a1xa1 を計算した後、R1
(1)での一定のビット数だけ左にシフトする。
【0010】以下、(3)、(4)を必要な回数だけ繰
り返す。 (3)Riにa1の逆数を掛け、結果の上位の一定のビッ
ト数をai+1とする。
【0011】ただし、(1)でのa1と比較してai+1
1ビット上位からとる。 (4)Ri+1=Ri−{(a1+・・・+ai)x2+a
i+1}xai+1 を計算した後、Ri+1を(1)での一定
のビット数だけ左にシフトする。
【0012】テーブル情報格納手段には、a1の近似逆
数が格納されており、Aの上位ビットをアドレスとして
索引され、剰余保持手段に0番目剰余として格納されて
いるR0(=A)とa1の近似逆数との積が、乗算手段に
より計算され、積の上位ビットとしてa1が得られる。
次に、被乗数生成手段では1回目の反復計算ではa1
出力し、R0、a1、a1が(R−SxT)演算手段に入
力されて、R1が得られる。次にa1が併合平方根保持手
段に格納され、R1が一定のビット数だけ左シフトされ
た後、剰余保持手段に格納される。以降、併合平方根の
ビット長が求めるべき平方根のビット長以上になるま
で、i1として下記の処理を繰り返す。
【0013】剰余保持手段にi番目剰余として格納され
ているRiとa1の近似逆数との積が、乗算手段により計
算され、積の上位ビットとしてai+1が得られる。次
に、被乗数生成手段では(a1+・・・+ai)を左に1
ビットシフトした後、ai+1とマージして被乗数として
出力し、Ri、{(a1+・・・+ai)x2+ai+1}、
i+1 が(R−SxT)演算手段に入力されて、Ri+1
が得られる。次にai+ 1が併合平方根保持手段に格納さ
れ、Ri+1が一定のビット数だけ左シフトされた後、剰
余保持手段に格納される。
【0014】(数1),(数2)では、はじめに部分平
方根の間でビットの重複がないとしたのであるが、部分
平方根間でビットの重複があっても上記手順で平方根を
求めることができれば特に部分平方根間の非重複を必要
条件として設定しなくてもよい。上に示した手順におい
て、開平演算の実行時間に占める割合が高いものとし
て、テーブル情報格納手段の索引、剰余とa1の近似逆
数の乗算時間、被乗数{(a1+・・・+ai)x2+a
i+1}の生成、(R−SxT)の演算時間がある。これ
らの中で、被乗数{(a1+・・・+ai)x2+
i+1}の生成は、部分平方根間でビットの重複がない
場合は、単にa1、・・・、aiを1ビット左にシフトし
て、ai+1と併合するだけでよい。また、部分平方根間
で1ビットの重複がある場合は、(a1+・・・+ai
について、aiを併合平方根保持手段に格納する前に、
(R−SxT)の演算と並行して、(a1+・・・+
i)の加算を実行すれば開平演算の実行時間に影響を
与えることはない。一方、被乗数の生成では(a1+・
・・+ai)を左に1ビットシフトしてからai+1と併合
するのでaiとai+1に1ビットの重複があっても加算を
必要としない。部分平方根間で2ビット以上の重複があ
る場合は、被乗数(a1+・・・+ai)の生成で加算が
必要となるので開平演算の実行時間が増大する。よっ
て、本発明は、部分平方根間でビットの重複がない場合
と、部分平方根間で1ビットの重複がある場合を対象と
する。
【0015】
【実施例】はじめに、各実施例において共通する事項を
説明する。
【0016】平方根の近似逆数は、(数3)下記の13
ビット(xは0または1を表す)をアドレスとして索引
される。
【0017】
【数3】 テーブル情報格納手段に格納する数値は、平方根の逆数
として、少し大きめの値になるように、上記のアドレス
の数値から2ー12を引いて、平方根を求めた後、この平
方根の逆数を求める。実際のテーブルには平方根の逆数
の2ー2から2ー1 6の値を格納し、常に0である符号ビッ
トと常に1である2ー1ビットはテーブルには直接格納し
ないが、実施例において逐一説明を加えるのは煩わしい
ので先頭2ビットとして01がテーブルに含まれている
ように説明する。乗算を実行する場合には、乗数を1ビ
ット重複させた3ビット単位のグループに分割して表1
に示すBoothのアルゴリズムに従って被乗数の倍数
を発生させ、樹木状に構成した桁上げ保留加算器群によ
って2個の部分桁上げと部分和になるまで求め、この2
つを桁上げ伝播加算器で加算して最終的な積を求める。
剰余と平方根の近似逆数の乗算ではテーブルから読みだ
した値に対して、先頭に1を付加するとともに、末尾
に、アドレスとして使用するビットの右の隣接1ビット
の反転を付加する。乗算では右に付加したビットを乗数
の最下位ビットとすることによって2ー1 7倍ではなく、
ー16倍の効果を持たせる。01.000000000
00に対しては、テーブルに格納する2ー2から2ー16
値はすべて1であり、入力オペランドのアドレスに使用
されるビット未満がゼロである場合にも、上記の2ー16
倍の効果により、乗算器の内部では1.0000000
000000000を乗数とする乗算が行なわれる。
【0018】
【表1】 (R−SxT)の演算では、上述した乗算器の構成に対
して、Rを一種の倍数として樹木状桁上げ保留加算器群
に入力し、また、{R+Sx(−T)}の演算となるよ
うに乗数の入力の1の補数をとり、最下位ビットとして
1を付加することによって、上記の2ー17倍ではなく2
ー16倍の効果を持つのと同じ効果により、実質的に(R
−SxT)の演算手段で乗数が2の補数となるようにし
ている。なお、適当に符号ビットを上位に拡張すると負
の数に対しても2の補数表示で乗算が実行できること
は、この分野の技術者にとってはよく知られている。以
下では、(R−SxT)の演算手段を乗数の反転手段と
(R+SxT)の演算手段に分け、更に(R+SxT)
の演算手段の入力の直前で部分平方根に1を加えるのは
開平演算の実行時間に多大の影響を及ぼすので{R+
(S+1)x(T+1)}に対して{R+Sx(T+
1)+(T+1)}として乗数に対しては反転手段で最
下位ビットに0を付加することで部分平方根に1を加え
る効果を持たせ、被乗数に対しては乗数をある条件のも
とで一種の倍数として樹木状桁上げ保留加算器群に入力
することで対処し、(R+SxT+T)の演算手段を使
用する。
【0019】以下、12の実施例について述べる。実施
例では具体的な数値例を引用するが紙面の節約のため特
に断わらない限り、数値は16進表示とする。また、数
値例を示した図において複数の実施例で引用しているた
め、一部の実施例に対しては余分に符号ビットが拡張さ
れているようにみえる。実施例9から12のベクトル開
平演算装置では対応する請求項13から請求項16に比
較すると、データの保持手段が請求項よりも多く設けて
いるが、本発明は請求項でのデータの保持手段の個数に
限定されるものではなく、使用するハードウェア回路に
応じて最適なパイプラインのピッチになるようにデータ
の保持手段の演算装置における配置を決めればよい。ま
た、実施例11から12のベクトル開平演算装置では対
応する請求項15から請求項16に比較すると、指数定
数加算装置と指数保持手段の配置が一致していないが仮
数部に比較して指数部は簡単に求められるので仮数部の
演算結果が求められるまでの任意の指数保持手段の間に
指数に対する演算手段を挿入すればよい。
【0020】(実施例1)図1は本発明の第1の実施例
である固定小数点開平演算装置のブロック図を示すもの
である。本実施例の固定小数点開平演算装置は2の補数
表示の64ビットの固定小数点数を入力して、2の補数
表示の32ビットの平方根を出力し、部分平方根のデー
タとしてのビット長が12で部分平方根間には1ビット
の重複がある。図1において、1は入力レジスタ、2は
例外検出手段、3は正規化シフト数検出手段、4は正規
化手段、5はテーブル情報格納手段、6はシフタ、7は
マルチプレクサ、8は剰余保持手段、9は乗算手段、1
0はマルチプレクサ、11は併合平方根保持手段、12
は反転手段、13は被乗数生成手段、14は(R+Sx
T+T)演算手段、15は定数減算手段、16はマルチ
プレクサ、17は桁合わせ手段、18は加算手段、19
は桁調整シフト数算出手段、20は桁調整手段である。
【0021】以下、具体的な数値例を用いて図1に示す
固定小数点開平演算装置の動作を説明する。図2,図3
はオペランドが入力されてから、各々の手段で処理され
ていく過程を示している。はじめにオペランドとして0
5A618B0BCC8F13Fが入力され、入力レジ
スタ1にセットされる。例外検出手段2では入力オペラ
ンドの先頭2ビットが10または11の場合はデータ例
外として、また01の場合はオーバーフロー例外として
検出し、固定小数点開平演算装置の外部の命令実行制御
部に対して例外が発生していることを通知する。本数値
例では(以下では、この前提を省略する)例外は検出さ
れない。正規化シフト数検出手段3では、2ビット単位
のビット正規化を行なうためのシフト数を検出してお
り、4が出力される。正規化手段4では、正規化シフト
数検出手段3より、シフト数4の指示を受け、入力デー
タを4ビット左にシフトして出力する。テーブル情報格
納手段5には正規化手段4の263から251の13ビット
が入力され、0D772が出力される。さらにこの出力
の最下位ビットとして正規化手段4の250のビットを反
転したものが付加されるのであるが、本例では1が付加
され、乗算手段9での実質的な乗数は0D773とな
る。マルチプレクサ7では先頭に4ビットのゼロを付加
した正規化手段4の出力を選択し、この出力が剰余保持
手段8にセットされる。このとき、併合平方根保持手段
11はゼロにリセットされる。乗算手段9で05A61
8B0BCC8F13F0と0D773の乗算が行なわ
れ、04C1085985F190E0484D0の積
が求められる。マルチプレクサ10では乗算手段9の2
80から268の13ビットを符号1ビット、データ12ビ
ットの1番目の部分平方根として選択する。反転手段1
2では部分平方根を入力してビット反転するとともに最
下位ビットに1を付加して出力する。ただし、反転手段
12では3回目の反復で部分平方根が負の場合に限り、
最下位ビットに0を付加して出力する。これは負の方向
に大きめに部分平方根を算出しているのを補正するため
に行なう。また、被乗数生成手段13では、1回目の反
復では254から242までにマルチプレクサ10の出力を
埋め込み、他のビットをゼロとして出力する。(R+S
xT+T)演算手段14では剰余保持手段8の出力を
R、被乗数生成手段13の出力をS,反転手段12の出
力をTとして入力し、3回目の反復で部分平方根が負の
場合に限り(R+SxT+T)を実行し、それ以外の場
合は(R+SxT)の演算を実行する。(R+SxT+
T)の+Tは部分平方根の最下位ビットに対応するビッ
トが220の位になるように桁合わせをして樹木状桁上げ
保留加算器群に入力される。(R+SxT+T)演算手
段14の出力FFFFB870BCC8F13F0はシ
フタ6によって左に11ビットシフトされてマルチプレ
クサ7により選択され、剰余保持手段8にセットされ
る。一方、定数減算手段15ではマルチプレクサ10の
出力のLSBから1を引く。マルチプレクサ16は、マ
ルチプレクサ10の出力が正で(R+SxT+T)演算
手段14の出力が負の場合、定数減算手段15の出力を
選択し、それ以外の場合はマルチプレクサ10の出力を
選択する。1回目の反復では上記の条件を判断して定数
減算手段15の出力を選択する。桁合わせ手段17では
各反復での部分平方根を併合するための桁合わせをを実
行する。具体的には、部分平方根が負の場合には、マル
チプレクサ16の出力の13ビットの先頭2ビットをゼ
ロに抑止し、また、部分平方根が正の場合には、マルチ
プレクサ16の出力の13ビットを、上位の併合平方根
とのビットの重みがつり合うようにシフトを行ない、出
力する。1番目の部分平方根に対しては、254から242
に入力データを整列させ、出力する。加算手段18では
併合平方根保持手段11の出力と、桁合わせ手段17の
出力を入力して加算を行ない、結果を併合平方根保持手
段11にセットする。
【0022】次に2回目の反復計算に入る。テーブル情
報格納手段5の出力は2回目以降も1回目と変わらな
い。剰余保持手段8にセットされた1番目の剰余R1
FDC385E64789F8000に0D773が乗
算手段9により掛けられ、積FE1E34498C87
024268000が出力される。281から269の1F
0Fが符号1ビット、データ12ビットの2番目の部分
平方根としてマルチプレクサ10により選択される。反
転手段12では1F0Fが反転され、00F0となり、
最下位ビットとして1が付加されて出力され、(R+S
xT+T)演算手段14では実質的に乗数として00F
1で演算が行なわれる。一方、被乗数生成手段13で
は、併合平方根保持手段11の出力を左に1ビットシフ
トするとともに、マルチプレクサ10の出力する13ビ
ットの先頭ビットを除く12ビットを242から231へ埋
め込み、026078780000000を出力する。
(R+SxT+T)演算手段14では剰余保持手段8の
出力をR、被乗数生成手段13の出力をS,反転手段1
2の出力をTとして入力し、(R+SxT)の演算を実
行する。(R+SxT+T)演算手段14の出力000
0574F3F89F8000はシフタ6によって左に
11ビットシフトされてマルチプレクサ7により選択さ
れ、剰余保持手段8にセットされる。マルチプレクサ1
6は、マルチプレクサ10の出力を選択して出力し、桁
合わせ手段17では13ビットの入力のうち、先頭2ビ
ットをゼロに抑止して11ビットを241から231に整列
させる。加算手段18では併合平方根保持手段11の出
力と、桁合わせ手段17の出力を入力して加算を行な
い、130387800000000を出力する。併合
平方根保持手段11では加算手段18の出力をセットす
る。
【0023】次に3回目の反復計算に入る。テーブル情
報格納手段5の出力は1回目と変わらない。剰余保持手
段8にセットされた2番目の剰余R2の02BA79F
C4FC000000に0D773が乗算手段9により
掛けられ、積024BD637B3521340000
00が出力される。281から269の0125が符号1ビ
ット、データ12ビットの3番目の部分平方根としてマ
ルチプレクサ10により選択される。反転手段12では
0125が反転され、1EDAとなり、最下位ビットと
して1が付加されて出力され、(R+SxT+T)演算
手段14では実質的に乗数として1EDBで演算が行な
われる。一方、被乗数生成手段13では、併合平方根保
持手段11の出力を左に1ビットシフトするとともに、
マルチプレクサ10の出力する13ビットの先頭ビット
を除く12ビットを231から220へ埋め込み、0260
70F12500000を出力する。(R+SxT+
T)演算手段14では剰余保持手段8の出力をR、被乗
数生成手段13の出力をS,反転手段12の出力をTと
して入力し、(R+SxT)の演算を実行する。(R+
SxT+T)演算手段14の出力000218B850
6700000を出力する。マルチプレクサ16は、マ
ルチプレクサ10の出力を選択して出力し、桁合わせ手
段17では13ビットの入力を232から220に整列させ
る。加算手段18では併合平方根保持手段11の出力
と、桁合わせ手段17の出力を入力して加算を行ない、
130387925000000を出力する。なお、3
回目の反復で部分平方根が負で、剰余が正の場合に限
り、加算手段18では220に初期キャリを加える。桁調
整シフト数算出手段19では、正規化シフト数検出手段
3からの4を右1ビットシフトして2とした後、定数2
5を加え、27を出力し、桁調整手段20では加算手段
18の出力を桁調整シフト数算出手段19からの指示で
ある27だけ右にシフトして最終結果である26070
F24を出力する。
【0024】(実施例2)図4は本発明の第2の実施例
である固定小数点開平演算装置のブロック図を示すもの
である。本実施例の固定小数点開平演算装置は2の補数
表示の64ビットの固定小数点数を入力して、2の補数
表示の32ビットの平方根を出力し、部分平方根のデー
タとしてのビット長が8で部分平方根間には重複がな
い。図4において、31は入力レジスタ、32は例外検
出手段、33は正規化シフト数検出手段、34は正規化
手段、35はテーブル情報格納手段、36はシフタ、3
7はマルチプレクサ、38は剰余保持手段、39は乗算
手段、40はマルチプレクサ、41から44は部分平方
根保持手段、45は反転手段、46は被乗数生成手段、
47は(R+SxT+T)演算手段、48は定数減算手
段、49は定数加算手段、50はマルチプレクサ、51
は桁調整シフト数算出手段、52は桁調整手段である。
【0025】以下、具体的な数値例を用いて図4に示す
固定小数点開平演算装置の動作を説明する。図4はオペ
ランドが入力されてから、各々の手段で処理されていく
過程を示している。はじめにオペランドとして437E
1533B46A81F4が入力され、入力レジスタ3
1にセットされる。例外検出手段32では入力オペラン
ドの先頭2ビットが10または11の場合はデータ例外
として、また01の場合はオーバーフロー例外として検
出し、固定小数点開平演算装置の外部の命令実行制御部
に対して例外が発生していることを通知する。本数値例
では(以下では、この前提を省略する)例外は検出され
ない。正規化シフト数検出手段33では、2ビット単位
のビット正規化を行なうためのシフト数を検出してお
り、2が出力される。正規化手段34では、正規化シフ
ト数検出手段33より、シフト数2の指示を受け、入力
データを2ビット左にシフトして出力する。テーブル情
報格納手段35には正規化手段34の263から251の1
3ビットが入力され、796Bに対して、0F96Bが
出力される。さらにこの出力の最下位ビットとして正規
化手段34の250のビットを反転したものが付加される
のであるが、本例では0が付加され、乗算手段39での
実質的な乗数は0F96Bとなる。マルチプレクサ37
では先頭に4ビットのゼロを付加した正規化手段34の
出力を選択し、この出力が剰余保持手段38にセットさ
れる。このとき、部分平方根保持手段41から44はゼ
ロにリセットされる。乗算手段39で0437E153
3B46A81F4と0F96Bの乗算が行なわれ、0
41C1D852271800EAA4FCの積が求め
られる。マルチプレクサ40では乗算手段39の279
ら271の9ビットを符号1ビット、データ8ビットの1
番目の部分平方根として選択する。反転手段45では部
分平方根を入力してビット反転するとともに,部分平方
根の下位の隣接2ビットが11、または、部分平方根が
負、または2回目の反復で1番目の剰余の263から253
の11ビットがゼロでない場合、最下位ビットに0を付
加し、それ以外の場合1を付加して出力する。また、被
乗数生成手段46では、1回目の反復ではマルチプレク
サ40の出力の符号ビットを除いてデータ8ビットを2
55から248に埋め込み、他のビットをゼロとして出力す
る。(R+SxT+T)演算手段47では剰余保持手段
8の出力をR、被乗数生成手段13の出力をS,反転手
段12の出力をTとして入力し、反転手段45で最下位
ビットに0を付加した場合に(R+SxT+T)を実行
し、それ以外の場合は(R+SxT)の演算を実行す
る。(R+SxT+T)の+Tは部分平方根の最下位ビ
ットに対応するビットが1回目の反復では248、2回目
の反復では240、3回目の反復では232、4回目の反復
では224の位になるように桁合わせをして樹木状桁上げ
保留加算器群に入力される。(R+SxT+T)演算手
段47の出力000751533D46A81F4はシ
フタ36によって左に8ビットシフトされてマルチプレ
クサ37により選択され、剰余保持手段38にセットさ
れる。一方、定数減算手段48ではマルチプレクサ40
の出力のLSBから1を引き、定数加算手段49ではマ
ルチプレクサ40の出力のLSBに1を加える。。マル
チプレクサ50は、マルチプレクサ40の出力が正で
(R+SxT+T)演算手段47の出力が負の場合、定
数減算手段48の出力を選択し、部分平方根の下位の隣
接2ビットが11で(R+SxT+T)演算手段47の
出力が正の場合、または、部分平方根が負の場合、また
は、2回目の反復において1番目の剰余の2 63から253
の11ビットがゼロでなく(R+SxT+T)演算手段
47の出力が正の場合、定数加算手段49の出力を選択
し、それ以外の場合はマルチプレクサ40の出力を選択
する。上記の条件を判断してマルチプレクサ40の出力
を選択する。マルチプレクサ50の出力を部分平方根保
持手段41にセットする。
【0026】次に2回目の反復計算に入る。テーブル情
報格納手段35の出力は2回目以降も1回目と変わらな
い。剰余保持手段38にセットされた1番目の剰余R1
の0751533B46A81F400に0F96Bが
乗算手段39により掛けられ、積072128F271
800EAA4FC00が出力される。280から272
072が符号1ビット、データ8ビットの2番目の部分
平方根としてマルチプレクサ40により選択される。反
転手段45では072が反転され、18Dとなり、最下
位ビットとして0が付加されて出力され、(R+SxT
+T)演算手段47では実質的に乗数として18Dで演
算が行なわれる。一方、被乗数生成手段46では、部分
平方根保持手段41から44の出力を左に1ビットシフ
トするとともに、マルチプレクサ40の出力する9ビッ
トを248から240へ埋め込み、10672000000
0000を出力する。なお、図4においては被乗数生成
手段46の出力に対応して1067300000000
00と240ビットが1となっているが図4に示す開平演
算装置では(R+SxT+T)の演算での+Tにより実
質的に同じ結果となるようにしている。(R+SxT+
T)演算手段47では剰余保持手段38の出力をR、被
乗数生成手段46の出力をS,反転手段45の出力をT
として入力し、(R+SxT+T)の演算を実行する。
(R+SxT+T)演算手段47の出力FFF2F8A
B46A81F400はシフタ36によって左に8ビッ
トシフトされてマルチプレクサ37により選択され、剰
余保持手段38にセットされる。マルチプレクサ50
は、マルチプレクサ40の出力を選択して出力し、部分
平方根保持手段42ではマルチプレクサ50の出力をセ
ットする。
【0027】次に3回目の反復計算に入る。テーブル情
報格納手段35の出力は1回目と変わらない。剰余保持
手段38にセットされた2番目の剰余R2のF2F8A
B46A81F40000に0F96Bが乗算手段39
により掛けられ、積F34E6C87500EAA4F
C0000が出力される。280から272の134が符号
1ビット、データ8ビットの3番目の部分平方根として
マルチプレクサ40により選択される。反転手段45で
は134が反転され、0CBとなり、最下位ビットとし
て0が付加されて出力され、(R+SxT+T)演算手
段47では実質的に乗数として0CBで演算が行なわれ
る。一方、被乗数生成手段46では、部分平方根保持手
段41から44の出力を左に1ビットシフトするととも
に、マルチプレクサ40の出力する9ビットを240から
32へ埋め込み、106E53400000000を出
力する。なお、図5,図6においては被乗数生成手段4
6の出力に対応して106E53500000000と
32ビットが1となっているが図4に示す開平演算装置
では(R+SxT+T)の演算での+Tにより実質的に
同じ結果となるようにしている。(R+SxT+T)演
算手段47では剰余保持手段38の出力をR、被乗数生
成手段46の出力をS,反転手段45の出力をTとして
入力し、(R+SxT+T)の演算を実行する。(R+
SxT+T)演算手段47の出力0000275718
1F40000はシフタ36によって左に8ビットシフ
トされてマルチプレクサ37により選択され、剰余保持
手段38にセットされる。マルチプレクサ50は、定数
加算器49の出力を選択して出力し、部分平方根保持手
段43ではマルチプレクサ50の出力をセットする。
【0028】次に4回目の反復計算に入る。テーブル情
報格納手段5の出力は1回目と変わらない。剰余保持手
段38にセットされた3番目の剰余R3の002757
181F4000000に0F96Bが乗算手段39に
より掛けられ、積00265427DD7A4FC00
0000が出力される。280から272の002が符号1
ビット、データ8ビットの4番目の部分平方根としてマ
ルチプレクサ40により選択される。反転手段45では
002が反転され、1FDとなり、最下位ビットとして
1が付加されて出力され、(R+SxT+T)演算手段
47では実質的に乗数として1FEで演算が行なわれ
る。一方、被乗数生成手段46では、部分平方根保持手
段41から44の出力を左に1ビットシフトするととも
に、マルチプレクサ40の出力する9ビットを232から
24へ埋め込み、106E46A02000000を出
力する。(R+SxT+T)演算手段47では剰余保持
手段38の出力をR、被乗数生成手段46の出力をS,
反転手段45の出力をTとして入力し、(R+SxT)
の演算を実行する。(R+SxT+T)演算手段47は
00067A8ADF0000000を出力する。マル
チプレクサ50は、マルチプレクサ40の出力を選択し
て出力し、部分平方根保持手段44ではマルチプレクサ
50の出力をセットする。桁調整シフト数算出手段51
では、正規化シフト数検出手段33からの2を右1ビッ
トシフトして1とした後、1を出力し、桁調整手段52
では部分平方根保持手段41〜43とマルチプレクサ5
0の出力を併合して83723502を入力し、桁調整
シフト数算出手段51からの指示である1だけ右にシフ
トして最終結果である41B91A81を出力する。
【0029】(実施例3)図7は本発明の第3の実施例
である浮動小数点開平演算装置のブロック図を示すもの
である。本実施例の浮動小数点開平演算装置はIEEE
規格の倍精度浮動小数点数を入力して、同じ倍精度浮動
小数点数の平方根を出力し、部分平方根のデータとして
のビット長が12で部分平方根間には1ビットの重複が
ある。図7において、61は入力レジスタ、62は例外
検出手段、63は指数定数減算手段、64はシフタ、6
5は指数定数加算手段、66はリーディングビット付加
回路、67は正規化手段、68はテーブル情報格納手
段、69はシフタ、70はマルチプレクサ、71は剰余
保持手段、72は乗算手段、73はマルチプレクサ、7
4は併合平方根保持手段、75は反転手段、76は被乗
数生成手段、77は(R+SxT+T)演算手段、78
は定数減算手段、79はマルチプレクサ、80は桁合わ
せ手段、81は加算手段である。
【0030】以下、具体的な数値例を用いて図7に示す
浮動小数点開平演算装置の動作を説明する。図8,図9
はオペランドが入力されてから、各々の手段で処理され
ていく過程を示している。はじめにオペランドとして1
04C4EBDC46C3EBEが入力され、入力レジ
スタ61にセットされる。例外検出手段62では入力オ
ペランドが負の場合、データ例外として検出し、浮動小
数点開平演算装置の外部の命令実行制御部に対して例外
が発生していることを通知する。本数値例では(以下で
は、この前提を省略する)オペランドは正であるので例
外は検出されない。入力レジスタ61の出力の262から
52の指数に対して、指数定数減算手段63により3F
Fが引かれた後、シフタ64により右に1ビットシフト
され、指数定数加算手段65により再び3FFが加算さ
れ、結果の指数が求められる。リーディングビット付加
回路66では入力レジスタ61の出力の251から20
仮数部に対して先頭にリーディングビットの1が付加さ
れる。正規化手段67では、入力レジスタ61の出力の
52のビットが1の場合入力を左に12ビットシフトし
て、また、入力レジスタ61の出力の252のビットが0
の場合入力を左に13ビットシフトして出力する。テー
ブル情報格納手段68には正規化手段67の265から2
53の13ビットが入力され、0881Aが出力される。
さらにこの出力の最下位ビットとして正規化手段67の
52のビットを反転したものが付加されるのであるが、
本例では1が付加され、乗算手段72での実質的な乗数
は0881Bとなる。マルチプレクサ70では正規化手
段67の出力を選択し、この出力が剰余保持手段71に
セットされる。このとき、併合平方根保持手段74はゼ
ロにリセットされる。乗算手段72で389C9B88
D87D7C000と0881Bの乗算が行なわれ、1
E192B251A717F1C14000の積が求め
られる。マルチプレクサ73では乗算手段72の282
ら270の13ビットを符号1ビット、データ12ビット
の1番目の部分平方根として選択する。反転手段75で
は部分平方根を入力してビット反転するとともに最下位
ビットに1を付加して出力する。ただし、反転手段75
では5回目の反復で部分平方根が負の場合に限り、最下
位ビットに0を付加して出力する。これは負の方向に大
きめに部分平方根を算出しているのを補正するために行
なう。また、被乗数生成手段76では、1回目の反復で
は256から244までにマルチプレクサ73の出力を埋め
込み、他のビットをゼロとして出力する。(R+SxT
+T)演算手段77では剰余保持手段71の出力をR、
被乗数生成手段76の出力をS,反転手段75の出力を
Tとして入力し、5回目の反復で部分平方根が負の場合
に限り(R+SxT+T)を実行し、それ以外の場合は
(R+SxT)の演算を実行する。(R+SxT+T)
の+Tは部分平方根の最下位ビットに対応するビットが
0の位になるように桁合わせをして樹木状桁上げ保留
加算器群に入力される。(R+SxT+T)演算手段7
7の出力00027788D87D7C000はシフタ
69によって左に11ビットシフトされてマルチプレク
サ70により選択され、剰余保持手段71にセットされ
る。一方、定数減算手段78ではマルチプレクサ73の
出力のLSBから1を引く。マルチプレクサ79は、マ
ルチプレクサ73の出力が正で(R+SxT+T)演算
手段77の出力が負の場合、定数減算手段78の出力を
選択し、それ以外の場合はマルチプレクサ73の出力を
選択する。1回目の反復では上記の条件を判断してマル
チプレクサ73の出力を選択する。桁合わせ手段80で
は各反復での部分平方根を併合するための桁合わせを実
行する。具体的には、部分平方根が負の場合には、マル
チプレクサ79の出力の13ビットの先頭2ビットをゼ
ロに抑止し、また、部分平方根が正の場合には、マルチ
プレクサ79の出力の13ビットを、上位の併合平方根
とのビットの重みがつり合うようにシフトを行ない、出
力する。1番目の部分平方根に対しては、256から244
に入力データを整列させ、出力する。加算手段81では
併合平方根保持手段74の出力と、桁合わせ手段80の
出力を入力して加算を行ない、結果を併合平方根保持手
段74にセットする。
【0031】次に2回目の反復計算に入る。テーブル情
報格納手段68の出力は2回目以降も1回目と変わらな
い。剰余保持手段71にセットされた1番目の剰余R1
の13BC46C3EBE000000に0881Bが
乗算手段72により掛けられ、積0A7E1A738B
F8E0A000000が出力される。283から271
014Fが符号1ビット、データ12ビットの2番目の
部分平方根としてマルチプレクサ73により選択され
る。反転手段75では014Fが反転され、1EB0と
なり、最下位ビットとして1が付加されて出力され、
(R+SxT+T)演算手段77では実質的に乗数とし
て1EB1で演算が行なわれる。一方、被乗数生成手段
76では、併合平方根保持手段74の出力を左に1ビッ
トシフトするとともに、マルチプレクサ10の出力する
13ビットの先頭ビットを除く12ビットを244から2
33へ埋め込み、0F0C29E00000000を出力
する。(R+SxT+T)演算手段77では剰余保持手
段71の出力をR、被乗数生成手段76の出力をS,反
転手段75の出力をTとして入力し、(R+SxT)の
演算を実行する。(R+SxT+T)演算手段77の出
力000B5BF7CBE000000はシフタ69に
よって左に11ビットシフトされてマルチプレクサ70
により選択され、剰余保持手段71にセットされる。マ
ルチプレクサ79は、マルチプレクサ73の出力を選択
して出力し、桁合わせ手段80では13ビットの入力を
45から233に整列させる。加算手段81では併合平方
根保持手段74の出力と、桁合わせ手段80の出力を入
力して加算を行ない、078629E00000000
を出力する。併合平方根保持手段74では加算手段81
の出力をセットする。
【0032】次に3回目の反復計算に入る。テーブル情
報格納手段68の出力は1回目と変わらない。剰余保持
手段71にセットされた2番目の剰余R2の5ADFB
E5F000000000に0881Bが乗算手段72
により掛けられ、積305072BB8C050000
00000が出力される。283から271の060Aが符
号1ビット、データ12ビットの3番目の部分平方根と
してマルチプレクサ73により選択される。反転手段7
5では060Aが反転され、19F5となり、最下位ビ
ットとして1が付加されて出力され、(R+SxT+
T)演算手段77では実質的に乗数として19F6で演
算が行なわれる。一方、被乗数生成手段76では、併合
平方根保持手段74の出力を左に1ビットシフトすると
ともに、マルチプレクサ73の出力する13ビットの先
頭ビットを除く12ビットを233から222へ埋め込み、
0F0C53D82800000を出力する。(R+S
xT+T)演算手段77では剰余保持手段71の出力を
R、被乗数生成手段76の出力をS,反転手段75の出
力をTとして入力し、(R+SxT)の演算を実行す
る。(R+SxT+T)演算手段77の出力FFFF4
C079E7000000はシフタ69によって左に1
1ビットシフトされてマルチプレクサ70により選択さ
れ、剰余保持手段71にセットされる。マルチプレクサ
79は、定数減算手段78の出力を選択して出力し、桁
合わせ手段80では13ビットの入力を2 34から222
整列させる。加算手段81では併合平方根保持手段74
の出力と、桁合わせ手段80の出力を入力して加算を行
ない、078629F82400000を出力する。併
合平方根保持手段74では加算手段81の出力をセット
する。 次に4回目の反復計算に入る。テーブル情報格
納手段68の出力は1回目と変わらない。剰余保持手段
71にセットされた3番目の剰余R3のFA603CF
3800000000に0881Bが乗算手段72によ
り掛けられ、積FD028887C9AE800000
000が出力される。283から271の1FA0が符号1
ビット、データ12ビットの4番目の部分平方根として
マルチプレクサ73により選択される。反転手段75で
は1FA0が反転され、005Fとなり、最下位ビット
として1が付加されて出力され、(R+SxT+T)演
算手段77では実質的に乗数として0060で演算が行
なわれる。一方、被乗数生成手段76では、併合平方根
保持手段74の出力を左に1ビットシフトするととも
に、マルチプレクサ73の出力する13ビットの先頭ビ
ットを除く12ビットを222から211へ埋め込み、0F
0C53F04FD0000を出力する。(R+SxT
+T)演算手段77では剰余保持手段71の出力をR、
被乗数生成手段76の出力をS,反転手段75の出力を
Tとして入力し、(R+SxT)の演算を実行する。
(R+SxT+T)演算手段77の出力0004DC6
D9DEE00000はシフタ69によって左に11ビ
ットシフトされてマルチプレクサ70により選択され、
剰余保持手段71にセットされる。マルチプレクサ79
は、マルチプレクサ73の出力を選択して出力し、桁合
わせ手段80では13ビットの入力のうち、先頭2ビッ
トをゼロに抑止して11ビットをを221から211に整列
させる。加算手段81では併合平方根保持手段74の出
力と、桁合わせ手段80の出力を入力して加算を行な
い、078629F827D0000を出力する。併合
平方根保持手段74では加算手段81の出力をセットす
る。
【0033】次に5回目の反復計算に入る。テーブル情
報格納手段68の出力は1回目と変わらない。剰余保持
手段74にセットされた4番目の剰余R4の26E36
CEF700000000に0881Bが乗算手段72
により掛けられ、積14ACEBDBB0C0D000
00000が出力される。283から271の0295が符
号1ビット、データ12ビットの5番目の部分平方根と
してマルチプレクサ73により選択される。反転手段7
5では0295が反転され、1D6Aとなり、最下位ビ
ットとして1が付加されて出力され、(R+SxT+
T)演算手段77では実質的に乗数として1D6Bで演
算が行なわれる。一方、被乗数生成手段76では、併合
平方根保持手段74の出力を左に1ビットシフトすると
ともに、マルチプレクサ73の出力する13ビットの先
頭ビットを除く12ビットを211から20へ埋め込み、
0F0C53F04FA0295を出力する。(R+S
xT+T)演算手段77では剰余保持手段71の出力を
R、被乗数生成手段76の出力をS,反転手段75の出
力をTとして入力し、(R+SxT)の演算を実行す
る。(R+SxT+T)演算手段77は0008983
3F26775547を出力する。マルチプレクサ79
は、マルチプレクサ73の出力を選択して出力し、桁合
わせ手段80では13ビットの入力を212から20に整
列させる。加算手段81では併合平方根保持手段74の
出力と、桁合わせ手段80の出力を入力して加算を行な
い、078629F827D0295を出力する。な
お、5回目の反復で、部分平方根が負で剰余が正の場合
に限り、加算手段81では20に初期キャリを加える。
【0034】最終的な結果として、263の符号ビットと
して0、262から252の指数部として指数定数加算手段
65の出力する11ビット、251から20の仮数部とし
て加算手段81の253から22がそれぞれ選択され、2
81E18A7E09F40A5として図7に示す開平
演算装置から出力される。
【0035】(実施例4)図10は本発明の第4の実施
例である浮動小数点開平演算装置のブロック図を示すも
のである。本実施例の浮動小数点開平演算装置はIEE
E規格の倍精度浮動小数点数を入力して、同じ倍精度浮
動小数点数の平方根を出力し、部分平方根のデータとし
てのビット長が8で部分平方根間には重複がない。図1
0において、91は入力レジスタ、92は例外検出手
段、93は指数定数減算手段、94はシフタ、95は指
数定数加算手段、96はリーディングビット付加回路、
97は正規化手段、98はテーブル情報格納手段、99
はシフタ、100はマルチプレクサ、101は剰余保持
手段、102は乗算手段、103はマルチプレクサ、1
04から110は部分平方根保持手段、111は反転手
段、112は被乗数生成手段、113は(R+SxT+
T)演算手段、114は定数減算手段、115は定数加
算手段、116はマルチプレクサである。
【0036】以下、具体的な数値例を用いて図10に示
す浮動小数点開平演算装置の動作を説明する。図11,
図12はオペランドが入力されてから、各々の手段で処
理されていく過程を示している。はじめにオペランドと
して56F80A494B9A80F8が入力され、入
力レジスタ91にセットされる。例外検出手段92では
入力オペランドが負の場合はデータ例外として検出し、
浮動小数点開平演算装置の外部の命令実行制御部に対し
て例外が発生していることを通知する。本数値例では
(以下では、この前提を省略する)オペランドは正であ
るので例外は検出されない。入力レジスタ91の出力の
62から252の指数に対して、指数定数減算手段93に
より3FFが引かれた後、シフタ94により右に1ビッ
トシフトされ、指数定数加算手段95により再び3FF
が加算され、結果の指数が求められる。リーディングビ
ット付加回路96では入力レジスタ91の出力の251
ら2 0の仮数部に対して先頭にリーディングビットの1
が付加される。正規化手段97では、入力レジスタ91
の出力の252のビットが1の場合入力を左に12ビット
シフトして、また、入力レジスタ91の出力の252のビ
ットが0の場合入力を左に13ビットシフトして出力す
る。テーブル情報格納手段98には正規化手段97の2
65から253の13ビットが入力され、0D0DEが出力
される。さらにこの出力の最下位ビットとして正規化手
段97の252のビットを反転したものが付加されるので
あるが、本例では1が付加され、乗算手段102での実
質的な乗数は0D0DFとなる。マルチプレクサ100
では正規化手段97の出力を選択し、この出力が剰余保
持手段101にセットされる。このとき、部分平方根保
持手段104から110はゼロにリセットされる。乗算
手段102で180A494B9A80F8000と0
D0DFの乗算が行なわれ、139D4C834664
5FD808000の積が求められる。マルチプレクサ
103では乗算手段102の281から273の9ビットを
符号1ビット、データ8ビットの1番目の部分平方根と
して選択する。反転手段111では部分平方根を入力し
てビット反転するとともに,部分平方根の下位の隣接2
ビットが11、または、部分平方根が負、または2回目
の反復で1番目の剰余の26 5から25 5の11ビットがゼ
ロでない場合、最下位ビットに0を付加し、それ以外の
場合1を付加して出力する。また、被乗数生成手段11
2では、1回目の反復ではマルチプレクサ103の出力
の符号ビットを除いてデータ8ビットを257から250
埋め込み、他のビットをゼロとして出力する。(R+S
xT+T)演算手段113では剰余保持手段101の出
力をR、被乗数生成手段112の出力をS,反転手段1
11の出力をTとして入力し、反転手段111で最下位
ビットに0を付加した場合に(R+SxT+T)を実行
し、それ以外の場合は(R+SxT)の演算を実行す
る。(R+SxT+T)の+Tは部分平方根の最下位ビ
ットに対応するビットが1回目の反復では250、2回目
の反復では242、3回目の反復では234、4回目の反復
では2 26,5回目の反復では218,6回目の反復では2
10,7回目の反復では22の位になるように桁合わせを
して樹木状桁上げ保留加算器群に入力される。(R+S
xT+T)演算手段113の出力FFF8094B9A
80F8000はシフタ99によって左に8ビットシフ
トされてマルチプレクサ100により選択され、剰余保
持手段101にセットされる。一方、定数減算手段11
4ではマルチプレクサ103の出力のLSBから1を引
き、定数加算手段115ではマルチプレクサ103の出
力のLSBに1を加える。。マルチプレクサ116は、
マルチプレクサ103の出力が正で(R+SxT+T)
演算手段113の出力が負の場合、定数減算手段114
の出力を選択し、部分平方根の下位の隣接2ビットが1
1で(R+SxT+T)演算手段113の出力が正の場
合、または、部分平方根が負の場合、または、2回目の
反復において1番目の剰余の26 5から25 5の11ビット
がゼロでなく(R+SxT+T)演算手段113の出力
が正の場合、定数加算手段115の出力を選択し、それ
以外の場合はマルチプレクサ103の出力を選択する。
上記の条件を判断してマルチプレクサ103の出力を選
択する。マルチプレクサ116の出力を部分平方根保持
手段104にセットする。
【0037】次に2回目の反復計算に入る。テーブル情
報格納手段98の出力は2回目以降も1回目と変わらな
い。剰余保持手段101にセットされた1番目の剰余R
1のF8094B9A80F800000に0D0DF
が乗算手段102により掛けられ、積F9809D86
645FD80800000が出力される。282から2
74の1E6が符号1ビット、データ8ビットの2番目の
部分平方根としてマルチプレクサ103により選択され
る。反転手段111では1E6が反転され、019とな
り、最下位ビットとして0が付加されて出力され、(R
+SxT+T)演算手段113では実質的に乗数として
019で演算が行なわれる。一方、被乗数生成手段11
2では、部分平方根保持手段104から110の出力を
左に1ビットシフトするとともに、マルチプレクサ10
3の出力する9ビットを250から242へ埋め込み、4E
7980000000000を出力する。なお、図1
1,図12においては被乗数生成手段112の出力に対
応して4E79C0000000000と242ビットが
1となっているが図10に示す開平演算装置では(R+
SxT+T)の演算での+Tにより実質的に同じ結果と
なるようにしている。(R+SxT+T)演算手段11
3では剰余保持手段101の出力をR、被乗数生成手段
112の出力をS,反転手段111の出力をTとして入
力し、(R+SxT+T)の演算を実行する。(R+S
xT+T)演算手段113の出力FFB32F5A80
F800000はシフタ99によって左に8ビットシフ
トされてマルチプレクサ100により選択され、剰余保
持手段101にセットされる。マルチプレクサ116
は、マルチプレクサ103の出力を選択して出力し、部
分平方根保持手段105ではマルチプレクサ116の出
力をセットする。
【0038】次に3回目の反復計算に入る。テーブル情
報格納手段98の出力は1回目と変わらない。剰余保持
手段101にセットされた2番目の剰余R2のB32F
5A80F80000000に0D0DFが乗算手段1
02により掛けられ、積C1538FC89FD808
0000000が出力される。282から274の105が
符号1ビット、データ8ビットの3番目の部分平方根と
してマルチプレクサ103により選択される。反転手段
111では105が反転され、0FAとなり、最下位ビ
ットとして0が付加されて出力され、(R+SxT+
T)演算手段113では実質的に乗数として0FAで演
算が行なわれる。一方、被乗数生成手段112では、部
分平方根保持手段104から110の出力を左に1ビッ
トシフトするとともに、マルチプレクサ103の出力す
る9ビットを242から234へ埋め込み、4E73414
00000000を出力する。なお、図11,図12に
おいては被乗数生成手段112の出力に対応して4E7
341800000000と234ビットに+1された形
になっているが図10に示す開平演算装置では(R+S
xT+T)の演算での+Tにより実質的に同じ結果とな
るようにしている。(R+SxT+T)演算手段113
では剰余保持手段101の出力をR、被乗数生成手段1
12の出力をS,反転手段111の出力をTとして入力
し、(R+SxT+T)の演算を実行する。(R+Sx
T+T)演算手段113の出力FFCBE877F80
000000はシフタ99によって左に8ビットシフト
されてマルチプレクサ100により選択され、剰余保持
手段101にセットされる。マルチプレクサ116は、
マルチプレクサ103の出力を選択して出力し、部分平
方根保持手段106ではマルチプレクサ116の出力を
セットする。
【0039】次に4回目の反復計算に入る。テーブル情
報格納手段98の出力は1回目と変わらない。剰余保持
手段101にセットされた3番目の剰余R3のCBE8
77F8000000000に0D0DFが乗算手段1
02により掛けられ、積D57F80FA010800
0000000が出力される。282から274の155が
符号1ビット、データ8ビットの4番目の部分平方根と
してマルチプレクサ103により選択される。反転手段
111では155が反転され、0AAとなり、最下位ビ
ットとして0が付加されて出力され、(R+SxT+
T)演算手段113では実質的に乗数として0AAで演
算が行なわれる。一方、被乗数生成手段112では、部
分平方根保持手段104から110の出力を左に1ビッ
トシフトするとともに、マルチプレクサ103の出力す
る9ビットを234から226へ埋め込み、4E7302D
54000000を出力する。なお、図11,図12に
おいては被乗数生成手段112の出力に対応して4E7
302D58000000と226に+1された形になっ
ているが図10に示す開平演算装置では(R+SxT+
T)の演算での+Tにより実質的に同じ結果となるよう
にしている。(R+SxT+T)演算手段113では剰
余保持手段101の出力をR、被乗数生成手段112の
出力をS,反転手段111の出力をTとして入力し、
(R+SxT+T)の演算を実行する。(R+SxT+
T)演算手段113の出力0000D7D9C7000
0000はシフタ99によって左に8ビットシフトされ
てマルチプレクサ100により選択され、剰余保持手段
101にセットされる。マルチプレクサ116は、定数
加算手段115の出力を選択して出力し、部分平方根保
持手段107ではマルチプレクサ116の出力をセット
する。
【0040】次に5回目の反復計算に入る。テーブル情
報格納手段98の出力は1回目と変わらない。剰余保持
手段101にセットされた4番目の剰余R4の00D7
D9C7000000000に0D0DFが乗算手段1
02により掛けられ、積00B01CF8645900
0000000が出力される。282から274の002が
符号1ビット、データ8ビットの5番目の部分平方根と
してマルチプレクサ103により選択される。反転手段
111では002が反転され、1FDとなり、最下位ビ
ットとして0が付加されて出力され、(R+SxT+
T)演算手段113では実質的に乗数として1FDで演
算が行なわれる。一方、被乗数生成手段112では、部
分平方根保持手段104から110の出力を左に1ビッ
トシフトするとともに、マルチプレクサ103の出力す
る9ビットを226から218へ埋め込み、4E7302A
B0080000を出力する。なお、図8においては被
乗数生成手段112の出力に対応して4E7302AB
00C0000と218ビットが1となっているが図10
に示す開平演算装置では(R+SxT+T)の演算での
+Tにより実質的に同じ結果となるようにしている。
(R+SxT+T)演算手段113では剰余保持手段1
01の出力をR、被乗数生成手段112の出力をS,反
転手段111の出力をTとして入力し、(R+SxT+
T)の演算を実行する。(R+SxT+T)演算手段1
13の出力FFEC80BEFEFDC0000はシフ
タ99によって左に8ビットシフトされてマルチプレク
サ100により選択され、剰余保持手段101にセット
される。マルチプレクサ116は、マルチプレクサ10
3の出力を選択して出力し、部分平方根保持手段108
ではマルチプレクサ116の出力をセットする。
【0041】次に6回目の反復計算に入る。テーブル情
報格納手段98の出力は1回目と変わらない。剰余保持
手段101にセットされた5番目の剰余R5のEC80
BEFEFDC000000に0D0DFが乗算手段1
02により掛けられ、積F0179F558E4B0A
4000000が出力される。282から274の1C0が
符号1ビット、データ8ビットの6番目の部分平方根と
してマルチプレクサ103により選択される。反転手段
111では1C0が反転され、03Fとなり、最下位ビ
ットとして0が付加されて出力され、(R+SxT+
T)演算手段113では実質的に乗数として03Fで演
算が行なわれる。一方、被乗数生成手段112では、部
分平方根保持手段104から110の出力を左に1ビッ
トシフトするとともに、マルチプレクサ103の出力す
る9ビットを218から210へ埋め込み、4E7302A
B0170000を出力する。なお、図11,図12に
おいては被乗数生成手段112の出力に対応して4E7
302AB0174000と210ビットが1となってい
るが図10に示す開平演算装置では(R+SxT+T)
の演算での+Tにより実質的に同じ結果となるようにし
ている。(R+SxT+T)演算手段113では剰余保
持手段101の出力をR、被乗数生成手段112の出力
をS,反転手段111の出力をTとして入力し、(R+
SxT+T)の演算を実行する。(R+SxT+T)演
算手段113の出力FFCF0CA7131A9FC0
0はシフタ99によって左に8ビットシフトされてマル
チプレクサ100により選択され、剰余保持手段101
にセットされる。マルチプレクサ116は、マルチプレ
クサ103の出力を選択して出力し、部分平方根保持手
段109ではマルチプレクサ116の出力をセットす
る。
【0042】次に7回目の反復計算に入る。テーブル情
報格納手段98の出力は1回目と変わらない。剰余保持
手段101にセットされた6番目の剰余R6のCF0C
A7131A9FC0000に0D0DFが乗算手段1
02により掛けられ、積D80FA3C50F45FD
2840000が出力される。282から274の160が
符号1ビット、データ8ビットの2番目の部分平方根と
してマルチプレクサ103により選択される。反転手段
111では160が反転され、09Fとなり、最下位ビ
ットとして0が付加されて出力され、(R+SxT+
T)演算手段113では実質的に乗数として09Fで演
算が行なわれる。一方、被乗数生成手段112では、部
分平方根保持手段104から110の出力を左に1ビッ
トシフトするとともに、マルチプレクサ103の出力す
る9ビットを210から22へ埋め込み、4E7302A
B0160580を出力する。なお、図8においては被
乗数生成手段112の出力に対応して4E7302AB
0160584と22ビットが1となっているが図7に
示す開平演算装置では(R+SxT+T)の演算での+
Tにより実質的に同じ結果となるようにしている。(R
+SxT+T)演算手段113では剰余保持手段101
の出力をR、被乗数生成手段112の出力をS,反転手
段111の出力をTとして入力し、(R+SxT+T)
の演算を実行する。(R+SxT+T)演算手段113
の出力FFC615BB507A96CFCはシフタ9
9によって左に8ビットシフトされてマルチプレクサ1
00により選択され、剰余保持手段101にセットされ
る。マルチプレクサ116は、マルチプレクサ103の
出力を選択して出力し、部分平方根保持手段110では
マルチプレクサ116の出力をセットする。
【0043】最終的な結果として、263の符号ビットと
して0、262から252の指数部として指数定数加算手段
95の出力する11ビット、251から20の仮数部とし
て部分平方根保持手段104の下位7ビットと部分平方
根保持手段105から109の40ビットとマルチプレ
クサ116の出力の上位5ビットをひとまとめにして、
46739CC0AAC0580Cが図10に示す開平
演算装置から出力される。
【0044】(実施例5)図13は本発明の第5の実施
例である固定小数点開平演算装置のブロック図を示すも
のである。本実施例の固定小数点開平演算装置は2の補
数表示の64ビットの固定小数点数を入力して、2の補
数表示の32ビットの平方根を出力し、部分平方根のデ
ータとしてのビット長が12で部分平方根間には1ビッ
トの重複がある。図1において、201は入力レジス
タ、202は例外検出手段、203は正規化シフト数検
出手段、204は正規化手段、205はテーブル情報格
納手段、206はシフタ、207はマルチプレクサ、2
08は剰余保持手段、209は併合平方根保持手段、2
10は部分平方根保持手段、211は反転手段、212
は被乗数生成手段、213から215はマルチプレク
サ、216は(R+SxT+T)演算手段、217はマ
ルチプレクサ、218は定数減算手段、219はマルチ
プレクサ、220は桁合わせ手段、221は加算手段、
222は桁調整シフト数算出手段、223は桁調整手段
である。
【0045】以下、具体的な数値例を用いて図13に示
す固定小数点開平演算装置の動作を説明する。図2,図
3はオペランドが入力されてから、各々の手段で処理さ
れていく過程を示している。はじめにオペランドとして
05A618B0BCC8F13Fが入力され、入力レ
ジスタ201にセットされる。例外検出手段202では
入力オペランドの先頭2ビットが10または11の場合
はデータ例外として、また01の場合はオーバーフロー
例外として検出し、固定小数点開平演算装置の外部の命
令実行制御部に対して例外が発生していることを通知す
る。本数値例では(以下では、この前提を省略する)例
外は検出されない。正規化シフト数検出手段203で
は、2ビット単位のビット正規化を行なうためのシフト
数を検出しており、4が出力される。正規化手段204
では、正規化シフト数検出手段203より、シフト数4
の指示を受け、入力データを4ビット左にシフトして出
力する。テーブル情報格納手段205には正規化手段2
04の263から251の13ビットが入力され、0D77
2が出力される。さらにこの出力の最下位ビットとして
正規化手段204の250のビットを反転したものが付加
されるのであるが、本例では1が付加され、(R+Sx
T+T)演算手段216での実質的な乗数は0D773
となる。マルチプレクサ207では先頭に4ビットのゼ
ロを付加した正規化手段204の出力を選択し、この出
力が剰余保持手段208にセットされる。このとき、併
合平方根保持手段209はゼロにリセットされる。マル
チプレクサ213、214、215はそれぞれ、’
0’、剰余保持手段208の出力、テーブル情報格納手
段205の出力を選択し、(R+SxT+T)演算手段
216で05A618B0BCC8F13F0と0D7
73の乗算が行なわれ、04C1085985F190
E0484D0の積が求められる。マルチプレクサ21
7では(R+SxT+T)演算手段216の280から2
68の13ビットを符号1ビット、データ12ビットの1
番目の部分平方根として選択し、部分平方根保持手段2
10にこの部分平方根がセットされる。反転手段211
では部分平方根保持手段210の出力を入力してビット
反転するとともに上位に4ビット符号を拡張し、最下位
ビットに1を付加して出力する。ただし、反転手段21
1では3回目の反復で部分平方根が負の場合に限り、最
下位ビットに0を付加して出力する。これは負の方向に
大きめに部分平方根を算出しているのを補正するために
行なう。また、被乗数生成手段212では、1回目の反
復では254から242までに部分平方根保持手段210の
出力を埋め込み、他のビットをゼロとして出力する。マ
ルチプレクサ213、214、215はそれぞれ、剰余
保持手段208の出力、被乗数生成手段212の出力、
反転手段211の出力を選択し、(R+SxT+T)演
算手段216ではマルチプレクサ213の出力をR、マ
ルチプレクサ214の出力をS,マルチプレクサ215
の出力をTとして入力し、3回目の反復で部分平方根が
負の場合に限り(R+SxT+T)を実行し、それ以外
の場合は(R+SxT)の演算を実行する。(R+Sx
T+T)の+Tは部分平方根の最下位ビットに対応する
ビットが220の位になるように桁合わせをして樹木状桁
上げ保留加算器群に入力される。(R+SxT+T)演
算手段216の出力FFFFB870BCC8F13F
0はシフタ206によって左に11ビットシフトされて
マルチプレクサ207により選択され、剰余保持手段2
08にセットされる。一方、定数減算手段218では部
分平方根保持手段210の出力のLSBから1を引く。
マルチプレクサ219は、部分平方根保持手段210の
出力が正で(R+SxT+T)演算手段216の出力が
負の場合、定数減算手段218の出力を選択し、それ以
外の場合は部分平方根保持手段210の出力を選択す
る。1回目の反復では上記の条件を判断して定数減算手
段218の出力を選択する。桁合わせ手段220では各
反復での部分平方根を併合するための桁合わせをを実行
する。具体的には、部分平方根が負の場合には、マルチ
プレクサ219の出力の13ビットの先頭2ビットをゼ
ロに抑止し、また、部分平方根が正の場合には、マルチ
プレクサ219の出力の13ビットを、上位の併合平方
根とのビットの重みがつり合うようにシフトを行ない、
出力する。1番目の部分平方根に対しては、254から2
42に入力データを整列させ、出力する。加算手段221
では併合平方根保持手段209の出力と、桁合わせ手段
220の出力を入力して加算を行ない、結果を併合平方
根保持手段209にセットする。
【0046】次に2回目の反復計算に入る。テーブル情
報格納手段205の出力は2回目以降も1回目と変わら
ない。マルチプレクサ213、214、215はそれぞ
れ、’0’、剰余保持手段208にセットされた1番目
の剰余R1のFDC385E64789F8000、テ
ーブル情報格納手段205の出力0D773を選択し、
(R+SxT+T)演算手段216は(SxT)を実行
し、積FE1E34498C87024268000を
出力する。281から269の1F0Fを符号1ビット、デ
ータ12ビットの2番目の部分平方根としてマルチプレ
クサ217により選択し、部分平方根保持手段210に
この部分平方根がセットされる。反転手段211では1
F0Fが反転、上位に4ビット符号が拡張され、000
F0となり、最下位ビットとして1が付加されて出力さ
れ、(R+SxT+T)演算手段216では実質的に乗
数として000F1で演算が行なわれる。一方、被乗数
生成手段212では、併合平方根保持手段209の出力
を左に1ビットシフトするとともに、部分平方根保持手
段210の出力する13ビットの先頭ビットを除く12
ビットを242から231へ埋め込み、026078780
000000を出力する。マルチプレクサ213、21
4、215はそれぞれ、剰余保持手段208の出力、被
乗数生成手段212の出力、反転手段211の出力を選
択する。(R+SxT+T)演算手段216ではマルチ
プレクサ213の出力をR、マルチプレクサ214の出
力をS,マルチプレクサ215の出力をTとして入力
し、(R+SxT)の演算を実行する。(R+SxT+
T)演算手段216の出力0000574F3F89F
8000はシフタ206によって左に11ビットシフト
されてマルチプレクサ207により選択され、剰余保持
手段208にセットされる。マルチプレクサ219は、
部分平方根保持手段210の出力を選択して出力し、桁
合わせ手段220では13ビットの入力のうち、先頭2
ビットをゼロに抑止して11ビットを241から231に整
列させる。加算手段220では併合平方根保持手段20
9の出力と、桁合わせ手段220の出力を入力して加算
を行ない、130387800000000を出力す
る。併合平方根保持手段209では加算手段221の出
力をセットする。
【0047】次に3回目の反復計算に入る。テーブル情
報格納手段205の出力は1回目と変わらない。マルチ
プレクサ213、214、215はそれぞれ、’0’、
剰余保持手段208にセットされた2番目の剰余R2
02BA79FC4FC000000、テーブル情報格
納手段205の出力0D773を選択し、(R+SxT
+T)演算手段216は(SxT)を実行し、積024
BD637B352134000000を出力する。2
81から269の0125が符号1ビット、データ12ビッ
トの3番目の部分平方根としてマルチプレクサ217に
より選択され、部分平方根保持手段210にこの部分平
方根がセットされる。反転手段211では0125が反
転、上位に4ビット符号が拡張され、1FEDAとな
り、最下位ビットとして1が付加されて出力され、(R
+SxT+T)演算手段216では実質的に乗数として
1FEDBで演算が行なわれる。一方、被乗数生成手段
212では、併合平方根保持手段209の出力を左に1
ビットシフトするとともに、部分平方根保持手段210
の出力する13ビットの先頭ビットを除く12ビットを
31から220へ埋め込み、026070F125000
00を出力する。マルチプレクサ213、214、21
5はそれぞれ、剰余保持手段208の出力、被乗数生成
手段212の出力、反転手段211の出力を選択する。
(R+SxT+T)演算手段216ではマルチプレクサ
213の出力をR、マルチプレクサ214の出力をS,
マルチプレクサ215の出力をTとして入力し、(R+
SxT)の演算を実行する。(R+SxT+T)演算手
段216は000218B8506700000を出力
する。マルチプレクサ219は、部分平方根保持手段2
10の出力を選択して出力し、桁合わせ手段220では
13ビットの入力を232から220に整列させる。加算手
段221では併合平方根保持手段209の出力と、桁合
わせ手段220の出力を入力して加算を行ない、130
387925000000を出力する。なお、3回目の
反復で、部分平方根が負で剰余が正の場合に限り、加算
手段221では220に初期キャリを加える。桁調整シフ
ト数算出手段222では、正規化シフト数検出手段20
3からの4を右1ビットシフトして2とした後、定数2
5を加え、27を出力し、桁調整手段223では加算手
段221の出力を桁調整シフト数算出手段222からの
指示である27だけ右にシフトして最終結果である26
070F24を出力する。
【0048】(実施例6)図14は本発明の第6の実施
例である固定小数点開平演算装置のブロック図を示すも
のである。本実施例の固定小数点開平演算装置は2の補
数表示の64ビットの固定小数点数を入力して、2の補
数表示の32ビットの平方根を出力し、部分平方根のデ
ータとしてのビット長が8で部分平方根間には重複がな
い。図14において、301は入力レジスタ、302は
例外検出手段、303は正規化シフト数検出手段、30
4は正規化手段、305はテーブル情報格納手段、30
6はシフタ、307はマルチプレクサ、308は剰余保
持手段、309から312は補正後部分平方根保持手段
(以下では補正後を省略する)、313は補正前部分平
方根保持手段、314は反転手段、315は被乗数生成
手段、316から318はマルチプレクサ、319は
(R+SxT+T)演算手段、320はマルチプレク
サ、321は定数減算手段、322は定数加算手段、3
23はマルチプレクサ、324は桁調整シフト数算出手
段、325は桁調整手段である。
【0049】以下、具体的な数値例を用いて図14に示
す固定小数点開平演算装置の動作を説明する。図5,図
6はオペランドが入力されてから、各々の手段で処理さ
れていく過程を示している。はじめにオペランドとして
437E1533B46A81F4が入力され、入力レ
ジスタ301にセットされる。例外検出手段302では
入力オペランドの先頭2ビットが10または11の場合
はデータ例外として、また01の場合はオーバーフロー
例外として検出し、固定小数点開平演算装置の外部の命
令実行制御部に対して例外が発生していることを通知す
る。本数値例では(以下では、この前提を省略する)例
外は検出されない。正規化シフト数検出手段303で
は、2ビット単位のビット正規化を行なうためのシフト
数を検出しており、2が出力される。正規化手段304
では、正規化シフト数検出手段303より、シフト数2
の指示を受け、入力データを2ビット左にシフトして出
力する。テーブル情報格納手段305には正規化手段3
04の263から251の13ビットが入力され、0F96
Bが出力される。さらにこの出力の最下位ビットとして
正規化手段304の250のビットを反転したものが付加
されるのであるが、本例では0が付加され、(R+Sx
T+T)演算手段319での実質的な乗数は0F96B
となる。マルチプレクサ307では先頭に4ビットのゼ
ロを付加した正規化手段304の出力を選択し、この出
力が剰余保持手段308にセットされる。このとき、部
分平方根保持手段309から312はゼロにリセットさ
れる。マルチプレクサ316、317、318はそれぞ
れ、’0’、剰余保持手段308の出力、テーブル情報
格納手段305の出力を選択し、(R+SxT+T)演
算手段319で0437E1533B46A81F4と
0F96Bの乗算が行なわれ、041C1D85227
1800EAA4FCの積が求められる。マルチプレク
サ320では(R+SxT+T)演算手段319の出力
の279から271の9ビットを符号1ビット、データ8ビ
ットの1番目の部分平方根として選択し、部分平方根保
持手段313にこの部分平方根がセットされる。反転手
段314では部分平方根を入力してビット反転するとと
もに上位に8ビット符号を拡張し,部分平方根の下位の
隣接2ビットが11、または、部分平方根が負、または
2回目の反復で1番目の剰余の263から253の11ビッ
トがゼロでない場合、最下位ビットに0を付加し、それ
以外の場合1を付加して出力する。また、被乗数生成手
段315では、1回目の反復では補正前部分平方根保持
手段313の出力の符号ビットを除いてデータ8ビット
を255から248に埋め込み、他のビットをゼロとして出
力する。マルチプレクサ316、317、318はそれ
ぞれ、剰余保持手段308の出力、被乗数生成手段31
5の出力、反転手段314の出力を選択する。(R+S
xT+T)演算手段319ではマルチプレクサ316の
出力をR、マルチプレクサ317の出力をS,マルチプ
レクサ318の出力をTとして入力し、反転手段314
で最下位ビットに0を付加した場合に(R+SxT+
T)を実行し、それ以外の場合は(R+SxT)の演算
を実行する。(R+SxT+T)の+Tは部分平方根の
最下位ビットに対応するビットが1回目の反復では
48、2回目の反復では240、3回目の反復では232
4回目の反復では224の位になるように桁合わせをして
樹木状桁上げ保留加算器群に入力される。(R+SxT
+T)演算手段319の出力000751533D46
A81F4はシフタ306によって左に8ビットシフト
されてマルチプレクサ307により選択され、剰余保持
手段308にセットされる。一方、定数減算手段321
では補正前部分平方根保持手段313の出力のLSBか
ら1を引き、定数加算手段322では補正前部分平方根
保持手段313の出力のLSBに1を加える。マルチプ
レクサ323は、補正前部分平方根保持手段313の出
力が正で(R+SxT+T)演算手段319の出力が負
の場合、定数減算手段321の出力を選択し、部分平方
根の下位の隣接2ビットが11で(R+SxT+T)演
算手段319の出力が正の場合、または、部分平方根が
負で(R+SxT+T)演算手段319の出力が正の場
合、または、2回目の反復において1番目の剰余の263
から253の11ビットがゼロでなく(R+SxT+T)
演算手段319の出力が正の場合、定数加算手段320
の出力を選択し、それ以外の場合は補正前部分平方根保
持手段313の出力を選択する。1回目の反復では上記
の条件を判断して補正前部分平方根保持手段313の出
力を選択した後、マルチプレクサ323の出力が部分平
方根保持手段309にセットされる。
【0050】次に2回目の反復計算に入る。テーブル情
報格納手段305の出力は2回目以降も1回目と変わら
ない。マルチプレクサ316、317、318はそれぞ
れ、’0’、剰余保持手段308にセットされた1番目
の剰余R1の0751533B46A81F400、テ
ーブル情報格納手段305の出力0F96Bを選択す
る。(R+SxT+T)演算手段319は(SxT)を
実行し、積072128F271800EAA4FC0
0を出力する。280から272の072を符号1ビット、
データ8ビットの2番目の部分平方根としてマルチプレ
クサ320により選択し、補正前部分平方根保持手段3
13にこの部分平方根がセットされる。反転手段314
では072が反転、上位に8ビット符号が拡張され、1
FF8Dとなり、最下位ビットとして0が付加されて出
力され、(R+SxT+T)演算手段319では実質的
に乗数として1FF8Dで演算が行なわれる。一方、被
乗数生成手段315では、部分平方根保持手段309か
ら312の出力を左に1ビットシフトするとともに、補
正前部分平方根保持手段313の出力する9ビットを2
48から240へ埋め込み、10672000000000
0を出力する。なお、(図4)においては被乗数生成手
段313の出力に対応して1067300000000
00と240ビットが1となっているが図10に示す開平
演算装置では(R+SxT+T)の演算での+Tにより
実質的に同じ結果となるようにしている。マルチプレク
サ316、317、318はそれぞれ、剰余保持手段3
08の出力、被乗数生成手段315の出力、反転手段3
14の出力を選択する。(R+SxT+T)演算手段3
19ではマルチプレクサ316の出力をR、マルチプレ
クサ317の出力をS,マルチプレクサ318の出力を
Tとして入力し、(R+SxT+T)の演算を実行す
る。(R+SxT+T)演算手段319の出力FFF2
F8AB46A81F400はシフタ306によって左
に8ビットシフトされてマルチプレクサ307により選
択され、剰余保持手段308にセットされる。マルチプ
レクサ323は、補正前部分平方根保持手段313の出
力を選択して出力し、部分平方根保持手段310ではマ
ルチプレクサ323の出力をセットする。 次に3回目
の反復計算に入る。テーブル情報格納手段305の出力
は1回目と変わらない。マルチプレクサ316、31
7、318はそれぞれ、’0’、剰余保持手段308に
セットされた2番目の剰余R2のF2F8AB46A8
1F40000、テーブル情報格納手段305の出力0
F96Bを選択する。(R+SxT+T)演算手段31
9は(SxT)を実行し、積F34E6C87500E
AA4FC0000を出力する。280から272の134
を符号1ビット、データ8ビットの3番目の部分平方根
としてマルチプレクサ320により選択し、補正前部分
平方根保持手段313にこの部分平方根がセットされ
る。反転手段314では134が反転、上位に8ビット
符号が拡張され、000CBとなり、最下位ビットとし
て0が付加されて出力され、(R+SxT+T)演算手
段319では実質的に乗数として000CBで演算が行
なわれる。一方、被乗数生成手段315では、部分平方
根保持手段309から312の出力を左に1ビットシフ
トするとともに、補正前部分平方根保持手段313の出
力する9ビットを240から2 32へ埋め込み、106E5
3400000000を出力する。なお、図4において
は被乗数生成手段315の出力に対応して106E53
500000000と232ビットが1となっているが図
10に示す開平演算装置では(R+SxT+T)の演算
での+Tにより実質的に同じ結果となるようにしてい
る。マルチプレクサ316、317、318はそれぞ
れ、剰余保持手段308の出力、被乗数生成手段315
の出力、反転手段314の出力を選択する。(R+Sx
T+T)演算手段319ではマルチプレクサ316の出
力をR、マルチプレクサ317の出力をS,マルチプレ
クサ318の出力をTとして入力し、(R+SxT+
T)の演算を実行する。(R+SxT+T)演算手段3
19の出力00002757181F40000はシフ
タ306によって左に8ビットシフトされてマルチプレ
クサ307により選択され、剰余保持手段308にセッ
トされる。マルチプレクサ323は、定数加算器322
の出力を選択して出力し、部分平方根保持手段311で
はマルチプレクサ323の出力をセットする。
【0051】次に4回目の反復計算に入る。テーブル情
報格納手段305の出力は1回目と変わらない。マルチ
プレクサ316、317、318はそれぞれ、’0’、
剰余保持手段308にセットされた3番目の剰余R3
002757181F4000000、テーブル情報格
納手段305の出力0F96Bを選択する。(R+Sx
T+T)演算手段319は(SxT)を実行し、積00
265427DD7A4FC000000を出力する。
80から272の002が符号1ビット、データ8ビット
の4番目の部分平方根としてマルチプレクサ320によ
り選択される。反転手段314では002が反転、上位
に8ビット符号が拡張され、1FFFDとなり、最下位
ビットとして1が付加されて出力され、(R+SxT+
T)演算手段319では実質的に乗数として1FFFE
で演算が行なわれる。一方、被乗数生成手段315で
は、部分平方根保持手段309から312の出力を左に
1ビットシフトするとともに、補正前部分平方根保持手
段313の出力する9ビットを232から224へ埋め込
み、106E46A02000000を出力する。マル
チプレクサ316、317、318はそれぞれ、剰余保
持手段308の出力、被乗数生成手段315の出力、反
転手段314の出力を選択する。(R+SxT+T)演
算手段319ではマルチプレクサ316の出力をR、マ
ルチプレクサ317の出力をS,マルチプレクサ318
の出力をTとして入力し、(R+SxT)の演算を実行
する。(R+SxT+T)演算手段319は00067
A8ADF0000000を出力する。マルチプレクサ
323は、補正前部分平方根保持手段313の出力を選
択して出力し、部分平方根保持手段312ではマルチプ
レクサ323の出力をセットする。桁調整シフト数算出
手段324では、正規化シフト数検出手段303からの
2を右1ビットシフトして1とした後、1を出力し、桁
調整手段325では部分平方根保持手段309から31
1とマルチプレクサ323の出力を併合して83723
502を入力し、桁調整シフト数算出手段324からの
指示である1だけ右にシフトして最終結果である41B
91A81を出力する。
【0052】(実施例7)図15は本発明の第7の実施
例である浮動小数点開平演算装置のブロック図を示すも
のである。本実施例の浮動小数点開平演算装置はIEE
E規格の倍精度浮動小数点数を入力して、同じ倍精度浮
動小数点数の平方根を出力し、部分平方根のデータとし
てのビット長が12で部分平方根間には1ビットの重複
がある。図15において、401は入力レジスタ、40
2は例外検出手段、403は指数定数減算手段、404
はシフタ、405は指数定数加算手段、406はリーデ
ィングビット付加回路、407は正規化手段、408は
テーブル情報格納手段、409はシフタ、410はマル
チプレクサ、411は剰余保持手段、412は併合平方
根保持手段、413は部分平方根保持手段、414は反
転手段、415は被乗数生成手段、419は(R+Sx
T+T)演算手段、420はマルチプレクサ、421は
定数減算手段、422はマルチプレクサ、423は桁合
わせ手段、424は加算手段である。
【0053】以下、具体的な数値例を用いて図15に示
す浮動小数点開平演算装置の動作を説明する。図8,図
9はオペランドが入力されてから、各々の手段で処理さ
れていく過程を示している。はじめにオペランドとして
104C4EBDC46C3EBEが入力され、入力レ
ジスタ401にセットされる。例外検出手段402では
入力オペランドが負の場合、データ例外として検出し、
浮動小数点開平演算装置の外部の命令実行制御部に対し
て例外が発生していることを通知する。本数値例では
(以下では、この前提を省略する)オペランドは正であ
るので例外は検出されない。入力レジスタ401の出力
の262から252の指数に対して、指数定数減算手段40
3により3FFが引かれた後、シフタ404により右に
1ビットシフトされ、指数定数加算手段405により再
び3FFが加算され、結果の指数が求められる。リーデ
ィングビット付加回路406では入力レジスタ401の
出力の251から20の仮数部に対して先頭にリーディン
グビットの1が付加される。正規化手段407では、入
力レジスタ401の出力の252のビットが1の場合入力
を左に12ビットシフトして、また、入力レジスタ40
1の出力の252のビットが0の場合入力を左に13ビッ
トシフトして出力する。テーブル情報格納手段408に
は正規化手段407の265から253の13ビットが入力
され、0881Aが出力される。さらにこの出力の最下
位ビットとして正規化手段407の252のビットを反転
したものが付加されるのであるが、本例では1が付加さ
れ、(R+SxT+T)演算手段での実質的な乗数は0
881Bとなる。マルチプレクサ410では正規化手段
407の出力を選択し、この出力が剰余保持手段411
にセットされる。このとき、併合平方根保持手段412
はゼロにリセットされる。マルチプレクサ416、41
7、418はそれぞれ、’0’、剰余保持手段411の
出力、テーブル情報格納手段408の出力を選択し、
(R+SxT+T)演算手段419で389C9B88
D87D7C000と0881Bの乗算が行なわれ、1
E192B251A717F1C14000の積が求め
られる。マルチプレクサ420では(R+SxT+T)
演算手段419の282から270の13ビットを符号1ビ
ット、データ12ビットの1番目の部分平方根として選
択し、部分平方根保持手段413にこの部分平方根がセ
ットされる。反転手段414では部分平方根を入力して
ビット反転するとともに上位に4ビット符号を拡張し、
最下位ビットに1を付加して出力する。ただし、反転手
段414では5回目の反復で部分平方根が負の場合に限
り、最下位ビットに0を付加して出力する。これは負の
方向に大きめに部分平方根を算出しているのを補正する
ために行なう。また、被乗数生成手段415では、1回
目の反復では256から244までに部分平方根保持手段4
13の出力を埋め込み、他のビットをゼロとして出力す
る。マルチプレクサ416、417、418はそれぞ
れ、剰余保持手段411の出力、被乗数生成手段415
の出力、反転手段414の出力を選択する。(R+Sx
T+T)演算手段419ではマルチプレクサ416の出
力をR、マルチプレクサ417の出力をS,マルチプレ
クサ418の出力をTとして入力し、5回目の反復で部
分平方根が負の場合に限り(R+SxT+T)を実行
し、それ以外の場合は(R+SxT)の演算を実行す
る。(R+SxT+T)の+Tは部分平方根の最下位ビ
ットに対応するビットが20の位になるように桁合わせ
をして樹木状桁上げ保留加算器群に入力される。(R+
SxT+T)演算手段419の出力00027788D
87D7C000はシフタ409によって左に11ビッ
トシフトされてマルチプレクサ410により選択され、
剰余保持手段411にセットされる。一方、定数減算手
段421では部分平方根保持手段413の出力のLSB
から1を引く。マルチプレクサ412は、部分平方根保
持手段413の出力が正で(R+SxT+T)演算手段
419の出力が負の場合、定数減算手段421の出力を
選択し、それ以外の場合は部分平方根保持手段413の
出力を選択する。1回目の反復では上記の条件を判断し
て部分平方根保持手段413の出力を選択する。桁合わ
せ手段423では各反復での部分平方根を併合するため
の桁合わせを実行する。具体的には、部分平方根が負の
場合には、マルチプレクサ422の出力の13ビットの
先頭2ビットをゼロに抑止し、また、部分平方根が正の
場合には、マルチプレクサ422の出力の13ビット
を、上位の併合平方根とのビットの重みがつり合うよう
にシフトを行ない、出力する。1番目の部分平方根に対
しては、2 56から244に入力データを整列させ、出力す
る。加算手段424では併合平方根保持手段412の出
力と、桁合わせ手段423の出力を入力して加算を行な
い、結果を併合平方根保持手段412にセットする。
【0054】次に2回目の反復計算に入る。テーブル情
報格納手段408の出力は2回目以降も1回目と変わら
ない。マルチプレクサ416、417、418はそれぞ
れ、’0’、剰余保持手段411にセットされた1番目
の剰余R1の13BC46C3EBE000000、テ
ーブル情報格納手段408の出力0881Bを選択し、
(R+SxT+T)演算手段419は(SxT)を実行
し、積0A7E1A738BF8E0A000000を
出力する。283から271の014Fを符号1ビット、デ
ータ12ビットの2番目の部分平方根としてマルチプレ
クサ420により選択し、部分平方根保持手段413に
この部分平方根がセットされる。反転手段414では0
14Fが反転、上位に4ビット符号を拡張され、1FE
B0となり、最下位ビットとして1が付加されて出力さ
れ、(R+SxT+T)演算手段419では実質的に乗
数として1FEB1で演算が行なわれる。一方、被乗数
生成手段415では、併合平方根保持手段412の出力
を左に1ビットシフトするとともに、部分平方根保持手
段413の出力する13ビットの先頭ビットを除く12
ビットを244から233へ埋め込み、0F0C29E00
000000を出力する。マルチプレクサ416、41
7、418はそれぞれ、剰余保持手段411の出力、被
乗数生成手段415の出力、反転手段414の出力を選
択する。(R+SxT+T)演算手段419ではマルチ
プレクサ416の出力をR、マルチプレクサ417の出
力をS,マルチプレクサ418の出力をTとして入力
し、(R+SxT)の演算を実行する。(R+SxT+
T)演算手段419の出力000B5BF7CBE00
0000はシフタ409によって左に11ビットシフト
されてマルチプレクサ41により選択され、剰余保持手
段411にセットされる。マルチプレクサ422は、部
分平方根保持手段413の出力を選択して出力し、桁合
わせ手段423では13ビットの入力を245から233
整列させる。加算手段424では併合平方根保持手段4
12の出力と、桁合わせ手段423の出力を入力して加
算を行ない、078629E00000000を出力す
る。併合平方根保持手段412では加算手段424の出
力をセットする。
【0055】次に3回目の反復計算に入る。テーブル情
報格納手段408の出力は1回目と変わらない。マルチ
プレクサ416、417、418はそれぞれ、’0’、
剰余保持手段411にセットされた2番目の剰余R2
5ADFBE5F000000000、テーブル情報格
納手段408の出力0881Bを選択し、(R+SxT
+T)演算手段419は(SxT)を実行し、積305
072BB8C05000000000を出力する。2
83から271の060Aを符号1ビット、データ12ビッ
トの3番目の部分平方根としてマルチプレクサ420に
より選択し、部分平方根保持手段413にこの部分平方
根がセットされる。反転手段414では060Aが反
転、上位に4ビット符号が拡張され、1F9F5とな
り、最下位ビットとして1が付加されて出力され、(R
+SxT+T)演算手段419では実質的に乗数として
1F9F6で演算が行なわれる。一方、被乗数生成手段
415では、併合平方根保持手段412の出力を左に1
ビットシフトするとともに、部分平方根保持手段413
の出力する13ビットの先頭ビットを除く12ビットを
33から222へ埋め込み、0F0C53D828000
00を出力する。マルチプレクサ416、417、41
8はそれぞれ、剰余保持手段411の出力、被乗数生成
手段415の出力、反転手段414の出力を選択する。
(R+SxT+T)演算手段419ではマルチプレクサ
416の出力をR、マルチプレクサ417の出力をS,
マルチプレクサ418の出力をTとして入力し、(R+
SxT)の演算を実行する。(R+SxT+T)演算手
段419の出力FFFF4C079E7000000は
シフタ409によって左に11ビットシフトされてマル
チプレクサ410により選択され、剰余保持手段411
にセットされる。マルチプレクサ422は、定数減算手
段421の出力を選択して出力し、桁合わせ手段423
では13ビットの入力を234から222に整列させる。加
算手段424では併合平方根保持手段412の出力と、
桁合わせ手段423の出力を入力して加算を行ない、0
78629F82400000を出力する。併合平方根
保持手段412では加算手段424の出力をセットす
る。
【0056】次に4回目の反復計算に入る。テーブル情
報格納手段408の出力は1回目と変わらない。マルチ
プレクサ416、417、418はそれぞれ、’0’、
剰余保持手段411にセットされた3番目の剰余R3
FA603CF3800000000、テーブル情報格
納手段408の出力0881Bを選択し、(R+SxT
+T)演算手段419は(SxT)を実行し、積FD0
28887C9AE800000000を出力する。2
83から271の1FA0を符号1ビット、データ12ビッ
トの4番目の部分平方根としてマルチプレクサ420に
より選択し、部分平方根保持手段413にこの部分平方
根がセットされる。反転手段414では1FA0が反
転、上位に4ビット符号が拡張され、0005Fとな
り、最下位ビットとして1が付加されて出力され、(R
+SxT+T)演算手段419では実質的に乗数として
00060で演算が行なわれる。一方、被乗数生成手段
415では、併合平方根保持手段412の出力を左に1
ビットシフトするとともに、部分平方根保持手段413
の出力する13ビットの先頭ビットを除く12ビットを
22から211へ埋め込み、0F0C53F04FD00
00を出力する。マルチプレクサ416、417、41
8はそれぞれ、剰余保持手段411の出力、被乗数生成
手段415の出力、反転手段414の出力を選択する。
(R+SxT+T)演算手段419ではマルチプレクサ
416の出力をR、マルチプレクサ417の出力をS,
マルチプレクサ418の出力をTとして入力し、(R+
SxT)の演算を実行する。(R+SxT+T)演算手
段419の出力0004DC6D9DEE00000は
シフタ409によって左に11ビットシフトされてマル
チプレクサ410により選択され、剰余保持手段411
にセットされる。マルチプレクサ422は、部分平方根
保持手段413の出力を選択して出力し、桁合わせ手段
423では13ビットの入力のうち、先頭2ビットをゼ
ロに抑止して11ビットをを221から211に整列させ
る。加算手段424では併合平方根保持手段412の出
力と、桁合わせ手段423の出力を入力して加算を行な
い、078629F827D0000を出力する。併合
平方根保持手段412では加算手段424の出力をセッ
トする。
【0057】次に5回目の反復計算に入る。テーブル情
報格納手段408の出力は1回目と変わらない。マルチ
プレクサ416、417、418はそれぞれ、’0’、
剰余保持手段411にセットされた4番目の剰余R4
26E36CEF700000000、テーブル情報格
納手段408の出力0881Bを選択し、(R+SxT
+T)演算手段419は(SxT)を実行し、積14A
CEBDBB0C0D00000000を出力する。2
83から271の0295を符号1ビット、データ12ビッ
トの5番目の部分平方根としてマルチプレクサ420に
より選択し、部分平方根保持手段413にこの部分平方
根がセットされる。反転手段414では0295が反
転、上位に4ビット符号が拡張され、1FD6Aとな
り、最下位ビットとして1が付加されて出力され、(R
+SxT+T)演算手段419では実質的に乗数として
1FD6Bで演算が行なわれる。一方、被乗数生成手段
415では、併合平方根保持手段412の出力を左に1
ビットシフトするとともに、部分平方根保持手段413
の出力する13ビットの先頭ビットを除く12ビットを
11から20へ埋め込み、0F0C53F04FA02
95を出力する。マルチプレクサ416、417、41
8はそれぞれ、剰余保持手段411の出力、被乗数生成
手段415の出力、反転手段414の出力を選択する。
(R+SxT+T)演算手段419ではマルチプレクサ
416の出力をR、マルチプレクサ417の出力をS,
マルチプレクサ418の出力をTとして入力し、(R+
SxT)の演算を実行する。(R+SxT+T)演算手
段419は00089833F26775547を出力
する。マルチプレクサ422は、部分平方根保持手段4
13の出力を選択して出力し、桁合わせ手段423では
13ビットの入力を212から20に整列させる。加算手
段424では併合平方根保持手段412の出力と、桁合
わせ手段424の出力を入力して加算を行ない、078
629F827D0295を出力する。なお、5回目の
反復で、部分平方根が負で剰余が正の場合に限り、加算
手段424では20に初期キャリを加える。
【0058】最終的な結果として、263の符号ビットと
して0、262から252の指数部として指数定数加算手段
405の出力する11ビット、251から20の仮数部と
して加算手段424の253から22がそれぞれ選択さ
れ、281E18A7E09F40A5として図11に
示す開平演算装置から出力される。
【0059】(実施例8)図16は本発明の第8の実施
例である浮動小数点開平演算装置のブロック図を示すも
のである。本実施例の浮動小数点開平演算装置はIEE
E規格の倍精度浮動小数点数を入力して、同じ倍精度浮
動小数点数の平方根を出力し、部分平方根のデータとし
てのビット長が8で部分平方根間には重複がない。図1
6において、501は入力レジスタ、502は例外検出
手段、503は指数定数減算手段、504はシフタ、5
05は指数定数加算手段、506はリーディングビット
付加回路、507は正規化手段、508はテーブル情報
格納手段、509はシフタ、510はマルチプレクサ、
511は剰余保持手段、512から518は補正後部分
平方根保持手段(以下では補正後を省略する)、519
は補正前部分平方根保持手段、520は反転手段、52
1は被乗数生成手段、522から524はマルチプレク
サ、525は(R+SxT+T)演算手段、526はマ
ルチプレクサ、527は定数減算手段、528は定数加
算手段、529はマルチプレクサである。
【0060】以下、具体的な数値例を用いて図16に示
す浮動小数点開平演算装置の動作を説明する。図11,
図12はオペランドが入力されてから、各々の手段で処
理されていく過程を示している。はじめにオペランドと
して56F80A494B9A80F8が入力され、入
力レジスタ501にセットされる。例外検出手段502
では入力オペランドが負の場合はデータ例外として検出
し、浮動小数点開平演算装置の外部の命令実行制御部に
対して例外が発生していることを通知する。本数値例で
は(以下では、この前提を省略する)オペランドは正で
あるので例外は検出されない。入力レジスタ501の出
力の262から252の指数に対して、指数定数減算手段5
03により3FFが引かれた後、シフタ504により右
に1ビットシフトされ、指数定数加算手段505により
再び3FFが加算され、結果の指数が求められる。リー
ディングビット付加回路506では入力レジスタ501
の出力の251から20の仮数部に対して先頭にリーディ
ングビットの1が付加される。正規化手段507では、
入力レジスタ501の出力の252のビットが1の場合入
力を左に12ビットシフトして、また、入力レジスタ5
01の出力の252のビットが0の場合入力を左に13ビ
ットシフトして出力する。テーブル情報格納手段508
には正規化手段507の265から253の13ビットが入
力され、0D0DEが出力される。さらにこの出力の最
下位ビットとして正規化手段507の252のビットを反
転したものが付加されるのであるが、本例では1が付加
され、(R+SxT+T)演算手段525での実質的な
乗数は0D0DFとなる。マルチプレクサ510では正
規化手段507の出力を選択し、この出力が剰余保持手
段511にセットされる。このとき、部分平方根保持手
段512から518はゼロにリセットされる。マルチプ
レクサ522、523、524はそれぞれ、’0’、剰
余保持手段511の出力、テーブル情報格納手段508
の出力を選択し、(R+SxT+T)演算手段525で
180A494B9A80F8000と0D0DFの乗
算が行なわれ、139D4C8346645FD808
000の積が求められる。マルチプレクサ526では
(R+SxT+T)演算手段525の281から273の9
ビットを符号1ビット、データ8ビットの1番目の部分
平方根として選択し、補正前部分平方根保持手段519
にこの部分平方根がセットされる。反転手段520では
部分平方根を入力してビット反転するとともに上位に8
ビット符号を拡張し,部分平方根の下位の隣接2ビット
が11、または、部分平方根が負、または2回目の反復
で1番目の剰余の26 5から25 5の11ビットがゼロでな
い場合、最下位ビットに0を付加し、それ以外の場合1
を付加して出力する。また、被乗数生成手段521で
は、1回目の反復では補正前部分平方根保持手段519
の出力の符号ビットを除いてデータ8ビットを257から
50に埋め込み、他のビットをゼロとして出力する。マ
ルチプレクサ522、523、524はそれぞれ、剰余
保持手段511の出力、被乗数生成手段521の出力、
反転手段520の出力を選択する。(R+SxT+T)
演算手段525ではマルチプレクサ522の出力をR、
マルチプレクサ523の出力をS,マルチプレクサ52
4の出力をTとして入力し、反転手段520で最下位ビ
ットに0を付加した場合に(R+SxT+T)を実行
し、それ以外の場合は(R+SxT)の演算を実行す
る。(R+SxT+T)の+Tは部分平方根の最下位ビ
ットに対応するビットが1回目の反復では250、2回目
の反復では242、3回目の反復では234、4回目の反復
では226,5回目の反復では218,6回目の反復では2
10,7回目の反復では22の位になるように桁合わせを
して樹木状桁上げ保留加算器群に入力される。(R+S
xT+T)演算手段525の出力FFF8094B9A
80F8000はシフタ509によって左に8ビットシ
フトされてマルチプレクサ510により選択され、剰余
保持手段511にセットされる。一方、定数減算手段5
27では補正前部分平方根保持手段519の出力のLS
Bから1を引き、定数加算手段528では補正前部分平
方根保持手段519の出力のLSBに1を加える。マル
チプレクサ529は、補正前部分平方根保持手段519
の出力が正で(R+SxT+T)演算手段525の出力
が負の場合、定数減算手段527の出力を選択し、部分
平方根の下位の隣接2ビットが11で(R+SxT+
T)演算手段525の出力が正の場合、または、部分平
方根が負で(R+SxT+T)演算手段525の出力が
正の場合、または、2回目の反復において1番目の剰余
の26 5から25 5の11ビットがゼロでなく(R+SxT
+T)演算手段525の出力が正の場合、定数加算手段
528の出力を選択し、それ以外の場合は補正前部分平
方根保持手段519の出力を選択する。1回目の反復で
は上記の条件を判断して補正前部分平方根保持手段51
9の出力を選択する。マルチプレクサ529の出力を部
分平方根保持手段512にセットする。
【0061】次に2回目の反復計算に入る。テーブル情
報格納手段508の出力は2回目以降も1回目と変わら
ない。マルチプレクサ522、523、524はそれぞ
れ、’0’、剰余保持手段511にセットされた1番目
の剰余R1のF8094B9A80F800000、テ
ーブル情報格納手段508の出力0D0DFを選択し、
(R+SxT+T)演算手段525は(SxT)を実行
し、積F9809D86645FD80800000を
出力する。282から274の1E6を符号1ビット、デー
タ8ビットの2番目の部分平方根としてマルチプレクサ
526により選択し、補正前部分平方根保持手段519
にこの部分平方根がセットされる。反転手段520では
1E6が反転、上位に8ビット符号が拡張され、000
19となり、最下位ビットとして0が付加されて出力さ
れ、(R+SxT+T)演算手段525では実質的に乗
数として00019で演算が行なわれる。一方、被乗数
生成手段521では、部分平方根保持手段512から5
18の出力を左に1ビットシフトするとともに、補正前
部分平方根保持手段519の出力する9ビットを2 50
ら242へ埋め込み、4E7980000000000を
出力する。なお、(図8)においては被乗数生成手段5
21の出力に対応して4E79C0000000000
と242ビットが1となっているが図7に示す開平演算装
置では(R+SxT+T)の演算での+Tにより実質的
に同じ結果となるようにしている。マルチプレクサ52
2、523、524はそれぞれ、剰余保持手段511の
出力、被乗数生成手段521の出力、反転手段520の
出力を選択する。(R+SxT+T)演算手段525で
はマルチプレクサ522の出力をR、マルチプレクサ5
23の出力をS,マルチプレクサ524の出力をTとし
て入力し、(R+SxT+T)の演算を実行する。(R
+SxT+T)演算手段525の出力FFB32F5A
80F800000はシフタ509によって左に8ビッ
トシフトされてマルチプレクサ510により選択され、
剰余保持手段511にセットされる。マルチプレクサ5
29は、補正前部分平方根保持手段519の出力を選択
して出力し、部分平方根保持手段513ではマルチプレ
クサ529の出力をセットする。
【0062】次に3回目の反復計算に入る。テーブル情
報格納手段508の出力は1回目と変わらない。マルチ
プレクサ522、523、524はそれぞれ、’0’、
剰余保持手段511にセットされた2番目の剰余R2
B32F5A80F80000000、テーブル情報格
納手段508の出力0D0DFを選択し、(R+SxT
+T)演算手段525は(SxT)を実行し、積C15
38FC89FD8080000000を出力する。2
82から274の105を符号1ビット、データ8ビットの
3番目の部分平方根としてマルチプレクサ526により
選択し、補正前部分平方根保持手段519にこの部分平
方根がセットされる。反転手段520では105が反
転、上位に8ビット符号が拡張され、000FAとな
り、最下位ビットとして0が付加されて出力され、(R
+SxT+T)演算手段525では実質的に乗数として
000FAで演算が行なわれる。一方、被乗数生成手段
521では、部分平方根保持手段512から518の出
力を左に1ビットシフトするとともに、補正前部分平方
根保持手段519の出力する9ビットを242から234
埋め込み、4E7341400000000を出力す
る。なお、図11,図12においては被乗数生成手段5
21の出力に対応して4E7341800000000
と234ビットに+1された形になっているが図16に示
す開平演算装置では(R+SxT+T)の演算での+T
により実質的に同じ結果となるようにしている。マルチ
プレクサ522、523、524はそれぞれ、剰余保持
手段511の出力、被乗数生成手段521の出力、反転
手段520の出力を選択する。(R+SxT+T)演算
手段525ではマルチプレクサ522の出力をR、マル
チプレクサ523の出力をS,マルチプレクサ524の
出力をTとして入力し、(R+SxT+T)の演算を実
行する。(R+SxT+T)演算手段525の出力FF
CBE877F80000000はシフタ509によっ
て左に8ビットシフトされてマルチプレクサ510によ
り選択され、剰余保持手段511にセットされる。マル
チプレクサ529は、補正前部分平方根保持手段519
の出力を選択して出力し、部分平方根保持手段514で
はマルチプレクサ529の出力をセットする。
【0063】次に4回目の反復計算に入る。テーブル情
報格納手段508の出力は1回目と変わらない。マルチ
プレクサ522、523、524はそれぞれ、’0’、
剰余保持手段511にセットされた3番目の剰余R3
CBE877F8000000000、テーブル情報格
納手段508の出力0D0DFを選択し、(R+SxT
+T)演算手段525は(SxT)を実行し、積D57
F80FA0108000000000を出力する。2
82から274の155を符号1ビット、データ8ビットの
4番目の部分平方根としてマルチプレクサ526により
選択し、補正前部分平方根保持手段519にこの部分平
方根がセットされる。反転手段520では155が反
転、上位に8ビット符号が拡張され、000AAとな
り、最下位ビットとして0が付加されて出力され、(R
+SxT+T)演算手段525では実質的に乗数として
000AAで演算が行なわれる。一方、被乗数生成手段
521では、部分平方根保持手段512から518の出
力を左に1ビットシフトするとともに、補正前部分平方
根保持手段519の出力する9ビットを234から226
埋め込み、4E7302D54000000を出力す
る。なお、図11,図12においては被乗数生成手段5
21の出力に対応して4E7302D58000000
と226ビットに+1された形になっているが図16に示
す開平演算装置では(R+SxT+T)の演算での+T
により実質的に同じ結果となるようにしている。マルチ
プレクサ522、523、524はそれぞれ、剰余保持
手段511の出力、被乗数生成手段521の出力、反転
手段520の出力を選択する。(R+SxT+T)演算
手段525ではマルチプレクサ522の出力をR、マル
チプレクサ523の出力をS,マルチプレクサ524の
出力をTとして入力し、(R+SxT+T)の演算を実
行する。(R+SxT+T)演算手段525の出力00
00D7D9C70000000はシフタ509によっ
て左に8ビットシフトされてマルチプレクサ510によ
り選択され、剰余保持手段511にセットされる。マル
チプレクサ529は、定数加算手段528の出力を選択
して出力し、部分平方根保持手段515ではマルチプレ
クサ529の出力をセットする。
【0064】次に5回目の反復計算に入る。テーブル情
報格納手段508の出力は1回目と変わらない。マルチ
プレクサ522、523、524はそれぞれ、’0’、
剰余保持手段511にセットされた4番目の剰余R4
00D7D9C7000000000、テーブル情報格
納手段508の出力0D0DFを選択し、(R+SxT
+T)演算手段525は(SxT)を実行し、積00B
01CF86459000000000を出力する。2
82から274の002を符号1ビット、データ8ビットの
5番目の部分平方根としてマルチプレクサ526により
選択し、補正前部分平方根保持手段519にこの部分平
方根がセットされる。反転手段520では002が反
転、上位に8ビット符号が拡張され、1FFFDとな
り、最下位ビットとして0が付加されて出力され、(R
+SxT+T)演算手段525では実質的に乗数として
1FFFDで演算が行なわれる。一方、被乗数生成手段
521では、部分平方根保持手段512から518の出
力を左に1ビットシフトするとともに、補正前部分平方
根保持手段519の出力する9ビットを226から218
埋め込み、4E7302AB0080000を出力す
る。なお、図8においては被乗数生成手段521の出力
に対応して4E7302AB00C0000と218ビッ
トが1となっているが図12に示す開平演算装置では
(R+SxT+T)の演算での+Tにより実質的に同じ
結果となるようにしている。マルチプレクサ522、5
23、524はそれぞれ、剰余保持手段511の出力、
被乗数生成手段521の出力、反転手段520の出力を
選択する。(R+SxT+T)演算手段525ではマル
チプレクサ522の出力をR、マルチプレクサ523の
出力をS,マルチプレクサ524の出力をTとして入力
し、(R+SxT+T)の演算を実行する。(R+Sx
T+T)演算手段525の出力FFEC80BEFEF
DC0000はシフタ509によって左に8ビットシフ
トされてマルチプレクサ510により選択され、剰余保
持手段511にセットされる。マルチプレクサ529
は、補正前部分平方根保持手段519の出力を選択して
出力し、部分平方根保持手段516ではマルチプレクサ
529の出力をセットする。
【0065】次に6回目の反復計算に入る。テーブル情
報格納手段508の出力は1回目と変わらない。マルチ
プレクサ522、523、524はそれぞれ、’0’、
剰余保持手段511にセットされた5番目の剰余R5
EC80BEFEFDC000000、テーブル情報格
納手段508の出力0D0DFを選択し、(R+SxT
+T)演算手段525は(SxT)を実行し、積F01
79F558E4B0A4000000を出力する。2
82から274の1C0を符号1ビット、データ8ビットの
6番目の部分平方根としてマルチプレクサ526により
選択し、補正前部分平方根保持手段519にこの部分平
方根がセットされる。反転手段520では1C0が反
転、上位に8ビット符号が拡張され、0003Fとな
り、最下位ビットとして0が付加されて出力され、(R
+SxT+T)演算手段525では実質的に乗数として
0003Fで演算が行なわれる。一方、被乗数生成手段
521では、部分平方根保持手段512から518の出
力を左に1ビットシフトするとともに、補正前部分平方
根保持手段519の出力する9ビットを218から210
埋め込み、4E7302AB0170000を出力す
る。なお、図11,図12においては被乗数生成手段5
21の出力に対応して4E7302AB0170400
と210ビットが1となっているが図16に示す開平演算
装置では(R+SxT+T)の演算での+Tにより実質
的に同じ結果となるようにしている。マルチプレクサ5
22、523、524はそれぞれ、剰余保持手段511
の出力、被乗数生成手段521の出力、反転手段520
の出力を選択する。(R+SxT+T)演算手段525
ではマルチプレクサ522の出力をR、マルチプレクサ
523の出力をS,マルチプレクサ524の出力をTと
して入力し、(R+SxT+T)の演算を実行する。
(R+SxT+T)演算手段525の出力FFCF0C
A7131A9FC00はシフタ509によって左に8
ビットシフトされてマルチプレクサ510により選択さ
れ、剰余保持手段511にセットされる。マルチプレク
サ529は、補正前部分平方根保持手段519の出力を
選択して出力し、部分平方根保持手段517ではマルチ
プレクサ529の出力をセットする。
【0066】次に7回目の反復計算に入る。テーブル情
報格納手段508の出力は1回目と変わらない。マルチ
プレクサ522、523、524はそれぞれ、’0’、
剰余保持手段511にセットされた6番目の剰余R6
CF0CA7131A9FC0000、テーブル情報格
納手段508の出力0D0DFを選択し、(R+SxT
+T)演算手段525は(SxT)を実行し、積D80
FA3C50F45FD2840000を出力する。2
82から274の160を符号1ビット、データ8ビットの
2番目の部分平方根としてマルチプレクサ526により
選択し、補正前部分平方根保持手段519にこの部分平
方根がセットされる。反転手段520では160が反
転、上位に8ビット符号が拡張され、0009Fとな
り、最下位ビットとして0が付加されて出力され、(R
+SxT+T)演算手段525では実質的に乗数として
0009Fで演算が行なわれる。一方、被乗数生成手段
521では、部分平方根保持手段512から518の出
力を左に1ビットシフトするとともに、補正前部分平方
根保持手段519の出力する9ビットを210から22
埋め込み、4E7302AB0160580を出力す
る。なお、図11,図12においては被乗数生成手段5
21の出力に対応して4E7302AB0160584
と22ビットが1となっているが図16に示す開平演算
装置では(R+SxT+T)の演算での+Tにより実質
的に同じ結果となるようにしている。マルチプレクサ5
22、523、524はそれぞれ、剰余保持手段511
の出力、被乗数生成手段521の出力、反転手段520
の出力を選択する。(R+SxT+T)演算手段525
ではマルチプレクサ522の出力をR、マルチプレクサ
523の出力をS,マルチプレクサ524の出力をTと
して入力し、(R+SxT+T)の演算を実行する。
(R+SxT+T)演算手段525の出力FFC615
BB507A96CFCはシフタ509によって左に8
ビットシフトされてマルチプレクサ510により選択さ
れ、剰余保持手段511にセットされる。マルチプレク
サ529は、補正前部分平方根保持手段519の出力を
選択して出力し、部分平方根保持手段518ではマルチ
プレクサ529の出力をセットする。
【0067】最終的な結果として、263の符号ビットと
して0、262から252の指数部として指数定数加算手段
505の出力する11ビット、251から20の仮数部と
して部分平方根保持手段512の下位7ビット、部分平
方根保持手段513から517の40ビット、マルチプ
レクサ529の出力の上位5ビットをひとまとめにし
て、46739CC0AAC0580Cとして図16に
示す開平演算装置から出力される。
【0068】(実施例9)図17は本発明の第9の実施
例である固定小数点ベクトル開平演算装置のブロック図
を示すものである。本実施例の固定小数点ベクトル開平
演算装置は2の補数表示の64ビットの固定小数点数ベ
クトルを要素順に入力して、2の補数表示の32ビット
の平方根ベクトルを要素順に出力し、部分平方根のデー
タとしてのビット長が12で部分平方根間には1ビット
の重複がある。図17において、601は入力レジス
タ、602_1から602_8は例外検出情報保持手
段、603は正規化シフト数検出手段、604_1から
604_8は正規化シフト数保持手段、605は正規化
手段、606は正規化オペランドレジスタ、607はテ
ーブル情報格納手段、608_2から608_6はテー
ブル出力情報保持手段、609_2から609_8は剰
余保持手段、610_1から610_3は乗算手段、6
11_1から611_3は部分平方根保持手段、612
_1から612_3は反転手段、613_1から613
_3は被乗数生成手段、614_1から614_2は
(R+SxT)演算手段、615は(R+SxT+T)
演算手段、616_1から616_3は定数減算手段、
617_1から617_3はマルチプレクサ、618_
1から618_2は加算手段、619_4から619_
8は併合平方根保持手段、620_1から620_3は
シフタ、621は例外検出手段、622は桁調整シフト
数算出手段、623は桁調整手段である。
【0069】以下、具体的な数値例を用いて図17に示
す固定小数点ベクトル開平演算装置の動作を説明する。
図2,図3はベクトルの1つの要素のオペランドが入力
されてから、各々の手段で処理されていく過程を示して
いる。以下では1つの要素がステージ毎にどのように処
理されていくかについて説明する。
【0070】ステージ 0:はじめにオペランドとして
05A618B0BCC8F13Fが入力され、入力レ
ジスタ601にセットされる。正規化シフト数検出手段
603では、2ビット単位のビット正規化を行なうため
のシフト数を検出しており、4が出力される。正規化手
段605では、正規化シフト数検出手段603より、シ
フト数4の指示を受け、入力データを4ビット左にシフ
トして出力する。
【0071】ステージ 1:はじめに入力レジスタ60
1の出力の先頭2ビットが例外検出情報保持手段602
_1に、正規化手段605の出力が正規化オペランドレ
ジスタ606に、正規化シフト数検出手段603の出力
が正規化シフト数保持手段604_1に、それぞれセッ
トされる。テーブル情報格納手段607には正規化オペ
ランドレジスタ606の263から251の13ビットが入
力され、0D772が出力される。さらにこの出力の最
下位ビットとして正規化手段4の250のビットを反転し
たものが付加されるのであるが、本例では1が付加さ
れ、乗算手段610_1から610_3での実質的な乗
数は0D773となる。
【0072】ステージ 2:はじめに例外検出情報保持
手段602_1の出力が602_2に、正規化オペラン
ドレジスタ606の出力が先頭に4ビットのゼロを付加
されて剰余保持手段609_2に、テーブル情報格納手
段607の出力がテーブル出力情報保持手段608_2
に、正規化シフト数保持手段604_1の出力が604
_2に、それぞれセットされる。乗算手段610_1で
05A618B0BCC8F13F0と0D773の乗
算が行なわれ、04C1085985F190E048
4D0の積が求められる。
【0073】ステージ 3:はじめに乗算手段610_
1の280から268の13ビットが符号1ビット、データ
12ビットの1番目の部分平方根として部分平方根保持
手段611_1に、例外検出情報保持手段602_2の
出力が602_3に、剰余保持手段609_2の出力が
609_3に、テーブル出力情報保持手段608_2の
出力が608_3に、正規化シフト数保持手段604_
2の出力が604_3に、それぞれセットされる。反転
手段612_1では部分平方根保持手段611_1の出
力を入力してビット反転するとともに最下位ビットに1
を付加して出力する。また、被乗数生成手段613_1
では、254から242までに部分平方根保持手段611_
1の出力を埋め込み、他のビットをゼロとして出力す
る。(R+SxT)演算手段614_1では剰余保持手
段609_3の出力をR、被乗数生成手段613_1の
出力をS,反転手段612_1の出力をTとして入力
し、(R+SxT)の演算を実行する。(R+SxT)
演算手段614_1の出力FFFFB870BCC8F
13F0はシフタ620_1によって左に11ビットシ
フトされる。一方、定数減算手段616_1では部分平
方根保持手段611_1の出力のLSBから1を引く。
マルチプレクサ617_1は、部分平方根保持手段61
1_1の出力が正で(R+SxT)演算手段614_1
の出力が負の場合、定数減算手段616_1の出力を選
択し、それ以外の場合は部分平方根保持手段611_1
の出力を選択する。本例では上記の条件を判断して定数
減算手段616_1の出力を選択する。
【0074】ステージ 4:はじめにシフタ620_1
の出力が剰余保持手段609_4に、マルチプレクサ6
17_1の出力する13ビットを254から242に整列さ
せ、他のビットをゼロとするデータが併合平方根保持手
段619_4に、例外検出情報保持手段602_3の出
力が602_4に、テーブル出力情報保持手段608_
3の出力が608_4に、正規化シフト数保持手段60
4_3の出力が604_4に、それぞれセットされる。
剰余保持手段609_4にセットされた1番目の剰余R
1のFDC385E64789F8000にテーブル出
力情報保持手段608_4の出力する0D773が乗算
手段610_2により掛けられ、積FE1E34498
C87024268000が出力される。
【0075】ステージ 5:はじめに乗算手段610_
2の出力の281から269の1F0Fが符号1ビット、デ
ータ12ビットの2番目の部分平方根として部分平方根
保持手段611_2に、例外検出情報保持手段602_
4の出力が602_5に、剰余保持手段609_4の出
力が609_5に、併合平方根保持手段619_4の出
力が619_5に、テーブル出力情報保持手段608_
4の出力が608_5に、正規化シフト数保持手段60
4_4の出力が604_5に、それぞれセットされる。
反転手段612_2では1F0Fが反転され、00F0
となり、最下位ビットとして1が付加されて出力され、
(R+SxT)演算手段614_2では実質的に乗数と
して00F1で演算が行なわれる。一方、被乗数生成手
段613_2では、併合平方根保持手段619_5の出
力を左に1ビットシフトするとともに、部分平方根保持
手段611_2の出力する13ビットの先頭ビットを除
く12ビットを242から231へ埋め込み、026078
780000000を出力する。(R+SxT)演算手
段614_2では剰余保持手段609_5の出力をR、
被乗数生成手段613_2の出力をS,反転手段612
_2の出力をTとして入力し、(R+SxT)の演算を
実行する。(R+SxT)演算手段614_2の出力0
000574F3F89F8000はシフタ620_2
によって左に11ビットシフトされる。マルチプレクサ
617_2は、部分平方根保持手段611_2の出力を
選択して先頭2ビットをゼロに抑止して11ビットを出
力し、加算手段618_1では併合平方根保持手段61
9_5の出力と、マルチプレクサ617_2の出力につ
いては241から231に整列させ、入力して加算を行な
い、130387800000000を出力する。
【0076】ステージ 6:はじめにシフタ620_2
の出力が剰余保持手段609_6に、加算手段618_
1の出力が併合平方根保持手段619_6に、例外検出
情報保持手段602_5の出力が602_6に、テーブ
ル出力情報保持手段608_5の出力が608_6に、
正規化シフト数保持手段604_5の出力が604_6
に、それぞれセットされる。剰余保持手段609_6に
セットされた2番目の剰余R2の02BA79FC4F
C000000にテーブル出力情報保持手段608_4
の出力する0D773が乗算手段610_3により掛け
られ、積024BD637B352134000000
が出力される。
【0077】ステージ 7:はじめに乗算手段610_
2の出力の281から269の0125が符号1ビット、デ
ータ12ビットの3番目の部分平方根として部分平方根
保持手段611_3に、例外検出情報保持手段602_
6の出力が602_7に、剰余保持手段609_6の出
力が609_7に、併合平方根保持手段619_6の出
力が619_7に、正規化シフト数保持手段604_6
の出力が604_7に、それぞれセットされる。反転手
段612_3では0125が反転され、1EDAとな
り、最下位ビットとして1が付加されて出力され、(R
+SxT+T)演算手段615では実質的に乗数として
1EDBで演算が行なわれる。一方、被乗数生成手段6
13_3では、併合平方根保持手段619_7の出力を
左に1ビットシフトするとともに、部分平方根保持手段
611_3の出力する13ビットの先頭ビットを除く1
2ビットを231から220へ埋め込み,026070F1
2500000を出力する。(R+SxT+T)演算手
段615では剰余保持手段609_7の出力をR、被乗
数生成手段613_3の出力をS,反転手段612_3
の出力をTとして入力し、部分平方根が負の場合(R+
SxT+T)の演算を実行し、部分平方根が正の場合
(R+SxT)の演算を実行する。(R+SxT+T)
の演算での+Tは部分平方根の最下位ビットに対応する
ビットが220の位になるように桁合わせをして樹木状桁
上げ保留加算器群に入力される。本例では(R+Sx
T)の演算を実行する。(R+SxT+T)演算手段6
15の出力00218B8506700000はシフタ
620_3によって左に11ビットシフトされる。マル
チプレクサ617_3は、部分平方根保持手段611_
3の出力を選択して13ビットを出力し、加算手段61
8_3では併合平方根保持手段619_7の出力と、マ
ルチプレクサ617_3の出力については232から220
に整列させ、入力して加算を行ない、13038792
5000000を出力する。なお、部分平方根が負で剰
余が正の場合に限り、加算手段618_3では2 20に初
期キャリを加える。
【0078】ステージ 8:はじめにシフタ620_3
の出力が剰余保持手段609_8に、加算手段618_
2の出力が併合平方根保持手段619_8に、例外検出
情報保持手段602_7の出力が602_8に、正規化
シフト数保持手段604_7の出力が604_8に、そ
れぞれセットされる。例外検出手段621では例外検出
情報保持手段602_8の出力する2ビットが10また
は11の場合はデータ例外として、また01の場合はオ
ーバーフロー例外として検出し、固定小数点開平演算装
置の外部の命令実行制御部に対して例外が発生している
ことを通知する。本数値例では例外は検出されない。桁
調整シフト数算出手段622では、正規化シフト数保持
手段604_8からの4を右1ビットシフトして2とし
た後、定数25を加え、27を出力し、桁調整手段62
3では併合平方根保持手段619_8の出力を桁調整シ
フト数算出手段622からの指示である27だけ右にシ
フトして最終結果である26070F24を出力する。
【0079】(実施例10)図18は本発明の第10の
実施例である固定小数点ベクトル開平演算装置のブロッ
ク図を示すものである。本実施例の固定小数点ベクトル
開平演算装置は2の補数表示の64ビットの固定小数点
数ベクトルを要素順に入力して、2の補数表示の32ビ
ットの平方根ベクトルを要素順に出力し、部分平方根の
データとしてのビット長が8で部分平方根間には重複が
ない。図18において、701は入力レジスタ、702
_1から702_10は例外検出情報保持手段、703
は正規化シフト数検出手段、704_1から704_1
0は正規化シフト数保持手段、705は正規化手段、7
06は正規化オペランドレジスタ、707はテーブル情
報格納手段、708_2から708_9はテーブル出力
情報保持手段、709_2から709_9は剰余保持手
段、710_1から710_4は乗算手段、711_1
から711_4は補正前部分平方根保持手段、712_
1から712_4は反転手段、713_1から713_
4は被乗数生成手段、714_1から714_4は(R
+SxT+T)演算手段、715_1から715_4は
定数減算手段、716_1から716_4は定数加算手
段、717_1から717_4はマルチプレクサ、71
8_1から718_4はシフタ、719_4から719
_10、720_6から720_10、721_8から
721_10、722_10は補正後部分平方根保持手
段(以下では補正後は省略する)、723は例外検出手
段、7243は桁調整シフト数算出手段、725は桁調
整手段である。
【0080】以下、具体的な数値例を用いて図18に示
す固定小数点ベクトル開平演算装置の動作を説明する。
図5,図6はベクトルの1つの要素のオペランドが入力
されてから、各々の手段で処理されていく過程を示して
いる。以下では1つの要素がステージ毎にどのように処
理されていくかについて説明する。
【0081】ステージ 0:はじめにオペランドとして
437E1533B46A81F4が入力され、入力レ
ジスタ701にセットされる。正規化シフト数検出手段
703では、2ビット単位のビット正規化を行なうため
のシフト数を検出しており、2が出力される。正規化手
段705では、正規化シフト数検出手段703より、シ
フト数2の指示を受け、入力データを2ビット左にシフ
トして出力する。
【0082】ステージ 1:はじめに入力レジスタ70
1の出力の先頭2ビットが例外検出情報保持手段702
_1に、正規化手段705の出力が正規化オペランドレ
ジスタ706に、正規化シフト数検出手段703の出力
が正規化シフト数保持手段704_1に、それぞれセッ
トされる。テーブル情報格納手段707には正規化オペ
ランドレジスタ706の263から251の13ビットが入
力され、0F96Bが出力される。さらにこの出力の最
下位ビットとして正規化手段4の250のビットを反転し
たものが付加されるのであるが、本例では0が付加さ
れ、乗算手段710_1から710_4での実質的な乗
数は0F96Bとなる。
【0083】ステージ 2:はじめに例外検出情報保持
手段702_1の出力が702_2に、正規化オペラン
ドレジスタ706の出力が先頭に4ビットのゼロを付加
されて剰余保持手段709_2に、テーブル情報格納手
段707の出力がテーブル出力情報保持手段708_2
に、正規化シフト数保持手段704_1の出力が704
_2に、それぞれセットされる。乗算手段710_1で
0437E1533B46A81F4と0F96Bの乗
算が行なわれ、041C1D852271800EAA
4FCの積が求められる。
【0084】ステージ 3:はじめに乗算手段710_
1の279から271の9ビットが符号1ビット、データ8
ビットの1番目の部分平方根として補正前部分平方根保
持手段711_1に、例外検出情報保持手段702_2
の出力が702_3に、剰余保持手段709_2の出力
が709_3に、テーブル出力情報保持手段708_2
の出力が708_3に、正規化シフト数保持手段704
_2の出力が704_3に、それぞれセットされる。反
転手段712_1では補正前部分平方根保持手段711
_1の出力を入力してビット反転するとともに、部分平
方根の下位の隣接2ビットが11、または、部分平方根
が負、最下位ビットに0を付加し、それ以外の場合1を
付加して出力する。また、被乗数生成手段713_1で
は、255から248までに補正前部分平方根保持手段71
1_1の出力を埋め込み、他のビットをゼロとして出力
する。(R+SxT+T)演算手段714_1では剰余
保持手段709_3の出力をR、被乗数生成手段713
_1の出力をS,反転手段712_1の出力をTとして
入力し、反転手段712_1で最下位ビットに0を付加
した場合に(R+SxT+T)を実行し、それ以外の場
合は(R+SxT)の演算を実行する。(R+SxT+
T)の+Tは部分平方根の最下位ビットに対応するビッ
トが(R+SxT+T)演算手段714_1では248
714_2では24 0、714_3では232、714_4
では224の位になるように桁合わせをして樹木状桁上げ
保留加算器群に入力される。(R+SxT+T)演算手
段714_1の出力000751533D46A81F
4はシフタ718_1によって左に8ビットシフトされ
る。一方、定数減算手段715_1では補正前部分平方
根保持手段711_1の出力のLSBから1を引き、定
数加算手段716_1では補正前部分平方根保持手段7
11_1の出力のLSBに1を加える。マルチプレクサ
717_1は、補正前部分平方根保持手段711_1の
出力が正で(R+SxT+T)演算手段714_1の出
力が負の場合、定数減算手段715_1の出力を選択
し、部分平方根の下位の隣接2ビットが11で(R+S
xT+T)演算手段714_1の出力が正の場合、また
は、部分平方根が負で(R+SxT+T)演算手段71
4_1の出力が正の場合、定数加算手段716_1の出
力を選択し、それ以外の場合は補正前部分平方根保持手
段711_1の出力を選択する。本例では上記の条件を
判断して補正前部分平方根保持手段711_1の出力を
選択する。
【0085】ステージ 4:はじめにシフタ718_1
の出力が剰余保持手段709_4に、マルチプレクサ7
17_1の出力が部分平方根保持手段719_4に、例
外検出情報保持手段702_3の出力が702_4に、
テーブル出力情報保持手段708_4の出力が708_
5に、正規化シフト数保持手段704_4の出力が70
4_5に、それぞれセットされる。剰余保持手段709
_4にセットされた1番目の剰余R1の0751533
B46A81F400にテーブル出力情報保持手段70
8_4の出力する0F96Bが乗算手段710_2によ
り掛けられ、積072128F271800EAA4F
C00が出力される。
【0086】ステージ 5:はじめに乗算手段710_
2の出力の280から272の072が符号1ビット、デー
タ8ビットの2番目の部分平方根として補正前部分平方
根保持手段711_2に、例外検出情報保持手段702
_4の出力が702_5に、剰余保持手段709_4の
出力が709_5に、部分平方根保持手段719_4の
出力が719_5に、テーブル出力情報保持手段708
_4の出力が708_5に、正規化シフト数保持手段7
04_4の出力が704_5に、それぞれセットされ
る。反転手段712_2では072が反転され、18D
となり、最下位ビットとして0が付加されて出力され、
(R+SxT+T)演算手段714_2では実質的に乗
数として18Dで演算が行なわれる。一方、被乗数生成
手段713_2では、部分平方根保持手段719_5の
出力を左に1ビットシフトするとともに、補正前部分平
方根保持手段711_2の出力する9ビットを248から
40へ埋め込み、106720000000000を出
力する。なお、図5,図6においては被乗数生成手段7
13_2の出力に対応して1067300000000
00と240ビットが1となっているが図18に示す開平
演算装置では(R+SxT+T)の演算での+Tにより
実質的に同じ結果となるようにしている。(R+SxT
+T)演算手段714_2では剰余保持手段709_5
の出力をR、被乗数生成手段713_2の出力をS,反
転手段712_2の出力をTとして入力し、反転手段7
12_2で最下位ビットに0を付加した場合に(R+S
xT+T)を実行し、それ以外の場合は(R+SxT)
の演算を実行する。(R+SxT+T)の+Tは部分平
方根の最下位ビットに対応するビットが2回目の反復で
は240の位になるように桁合わせをして樹木状桁上げ保
留加算器群に入力される。(R+SxT+T)演算手段
714_2の出力FFF2F8AB46A81F400
はシフタ718_2によって左に8ビットシフトされ
る。マルチプレクサ717_2は、補正前部分平方根保
持手段711_2の出力を選択して出力する。ステージ
6:はじめにシフタ718_2の出力が剰余保持手段
709_6に、部分平方根保持手段719_5の出力が
719_6に、マルチプレクサ717_2の出力が部分
平方根保持手段720_6に、例外検出情報保持手段7
02_5の出力が702_6に、テーブル出力情報保持
手段708_5の出力が708_6に、正規化シフト数
保持手段704_5の出力が704_6に、それぞれセ
ットされる。剰余保持手段709_6にセットされた2
番目の剰余R2のF2F8AB46A81F40000
にテーブル出力情報保持手段708_6の出力する0F
96Bが乗算手段710_3により掛けられ、積F34
E6C87500EAA4FC0000が出力される。
【0087】ステージ 7:はじめに乗算手段710_
3の出力の280から272の134が符号1ビット、デー
タ8ビットの3番目の部分平方根として補正前部分平方
根保持手段711_3に、例外検出情報保持手段702
_6の出力が702_7に、剰余保持手段709_6の
出力が709_7に、部分平方根保持手段719_6の
出力が719_7に、部分平方根保持手段720_6の
出力が720_7に、テーブル出力情報保持手段708
_6の出力が708_7に、正規化シフト数保持手段7
04_6の出力が704_7に、それぞれセットされ
る。反転手段712_3では134が反転され、0CB
となり、最下位ビットとして0が付加されて出力され、
(R+SxT+T)演算手段714_3では実質的に乗
数として0CBで演算が行なわれる。一方、被乗数生成
手段713_3では、部分平方根保持手段719_7と
720_7の出力を左に1ビットシフトするとともに、
補正前部分平方根保持手段711_3の出力する9ビッ
トを240から232へ埋め込み、106E5340000
0000を出力する。なお、図5,図6においては被乗
数生成手段713_3の出力に対応して106E535
00000000と2 32ビットが1となっているが図1
8に示す開平演算装置では(R+SxT+T)の演算で
の+Tにより実質的に同じ結果となるようにしている。
(R+SxT+T)演算手段714_3では剰余保持手
段709_7の出力をR、被乗数生成手段713_3の
出力をS,反転手段712_3の出力をTとして入力
し、反転手段712_3で最下位ビットに0を付加した
場合に(R+SxT+T)を実行し、それ以外の場合は
(R+SxT)の演算を実行する。(R+SxT+T)
の+Tは部分平方根の最下位ビットに対応するビットが
3回目の反復では232の位になるように桁合わせをして
樹木状桁上げ保留加算器群に入力される。(R+SxT
+T)演算手段714_3の出力0000275718
1F40000はシフタ718_3によって左に8ビッ
トシフトされる。マルチプレクサ717_3は、定数加
算器715_3の出力を選択して出力する。
【0088】ステージ 8:はじめにシフタ718_3
の出力が剰余保持手段709_8に、部分平方根保持手
段719_7の出力が719_8に、部分平方根保持手
段720_7の出力が720_8に、マルチプレクサ7
17_3の出力が部分平方根保持手段721_8に、例
外検出情報保持手段702_7の出力が702_8に、
テーブル出力情報保持手段708_7の出力が708_
8に、正規化シフト数保持手段704_7の出力が70
4_8に、それぞれセットされる。剰余保持手段709
_8にセットされた3番目の剰余R3の0027571
81F4000000にテーブル出力情報保持手段70
8_8の出力する0F96Bが乗算手段710_4によ
り掛けられ、積00265427DD7A4FC000
000が出力される。
【0089】ステージ 9:はじめに乗算手段710_
4の出力の280から272の002が符号1ビット、デー
タ8ビットの4番目の部分平方根として補正前部分平方
根保持手段711_4に、例外検出情報保持手段702
_8の出力が702_9に、剰余保持手段709_8の
出力が709_9に、部分平方根保持手段719_8の
出力が719_9に、部分平方根保持手段720_8の
出力が720_9に、部分平方根保持手段721_8の
出力が721_9に、正規化シフト数保持手段704_
8の出力が704_9に、それぞれセットされる。反転
手段712_4で002が反転され、1FDとなり、最
下位ビットとして1が付加されて出力され、(R+Sx
T+T)演算手段714_4では実質的に乗数として1
FEで演算が行なわれる。一方、被乗数生成手段713
_4では、部分平方根保持手段719_9から721_
9の出力を左に1ビットシフトするとともに、補正前部
分平方根保持手段711_4の出力する9ビットを232
から224へ埋め込み、106E46A02000000
を出力する。(R+SxT+T)演算手段714_4で
は剰余保持手段709_9の出力をR、被乗数生成手段
713_4の出力をS,反転手段712_4の出力をT
として入力し、反転手段712_4で最下位ビットに0
を付加した場合に(R+SxT+T)を実行し、それ以
外の場合は(R+SxT)の演算を実行する。(R+S
xT+T)の+Tは部分平方根の最下位ビットに対応す
るビットが4回目の反復では224の位になるように桁合
わせをして樹木状桁上げ保留加算器群に入力される。
(R+SxT+T)演算手段714_4はシフタ718
_4によって左に8ビットシフトされる。マルチプレク
サ717_4は、補正前部分平方根保持手段711_4
出力を選択して出力する。
【0090】ステージ 10:はじめにシフタ718_
4の出力が剰余保持手段709_10に、部分平方根保
持手段719_9の出力が719_10に、部分平方根
保持手段720_9の出力が720_10に、部分平方
根保持手段721_9の出力が721_10に、マルチ
プレクサ717_4の出力が部分平方根保持手段722
_10に、例外検出情報保持手段702_9の出力が7
02_10に、正規化シフト数保持手段704_9の出
力が704_10に、それぞれセットされる。例外検出
手段723では例外検出情報保持手段702_10の出
力する2ビットが10または11の場合はデータ例外と
して、また01の場合はオーバーフロー例外として検出
し、固定小数点ベクトル開平演算装置の外部の命令実行
制御部に対して例外が発生していることを通知する。本
例では例外は検出されない。桁調整数算出手段724で
は、正規化シフト数保持手段704_10からの2を右
1ビットシフトして1とした後、1を出力し、桁調整手
段725では部分平方根保持手段719_10から72
2_10の出力を併合して83723502を入力し、
桁調整シフト数算出手段724からの指示である1だけ
右にシフトして最終結果である41B91A81を出力
する。
【0091】(実施例11)図19は本発明の第11の
実施例である浮動小数点ベクトル開平演算装置のブロッ
ク図を示すものである。本実施例の浮動小数点ベクトル
開平演算装置はIEEE規格の倍精度浮動小数点数ベク
トルを要素順に入力して、同じ倍精度浮動小数点数の平
方根ベクトルを要素順に出力し、部分平方根のデータと
してのビット長が12で部分平方根間には1ビットの重
複がある。図19において、801は入力レジスタ、8
02_1から802_12は例外検出情報保持手段、8
03は指数定数減算手段、804はシフタ、805は指
数定数加算手段、806_1から806_12は指数保
持手段、807はリーディングビット付加回路、808
は正規化手段、809は正規化オペランドレジスタ、8
10はテーブル情報格納手段、811_2から811_
10はテーブル出力情報保持手段、812_2から81
2_12は剰余保持手段、813_1から813_5は
乗算手段、814_1から814_5は部分平方根保持
手段、815_1から815_5は反転手段、816_
1から816_5は被乗数生成手段、817_1から8
17_4は(R+SxT)演算手段、818は(R+S
xT+T)演算手段、819_1から819_5は定数
減算手段、820_1から820_5はマルチプレク
サ、821_2から821_5は加算手段、822_4
から822_12は併合平方根保持手段、823_1か
ら823_5はシフタ、824は例外検出手段である。
【0092】以下、具体的な数値例を用いて図19に示
す浮動小数点ベクトル開平演算装置の動作を説明する。
図8,図9はベクトルの1つの要素のオペランドが入力
されてから、各々の手段で処理されていく過程を示して
いる。以下では1つの要素がステージ毎にどのように処
理されていくかについて説明する。
【0093】ステージ 0:はじめにオペランドとして
104C4EBDC46C3EBEが入力され、入力レ
ジスタ801にセットされる。入力レジスタ801の出
力の262から252の指数に対して、指数定数減算手段8
03により3FFを引く。一方、リーディングビット付
加回路807では入力レジスタ801の出力の251から
0の仮数部に対して先頭にリーディングビットの1を
付加する。正規化手段808では、入力レジスタ801
の出力の252のビットが1の場合入力を左に12ビット
シフトして、また、入力レジスタ801の出力の252
ビットが0の場合入力を左に13ビットシフトして出力
する。
【0094】ステージ 1:はじめに入力レジスタ80
1の出力の先頭1ビットが例外検出情報保持手段802
_1に、指数定数減算手段803の出力が指数保持手段
806_1に、正規化手段808の出力が正規化オペラ
ンドレジスタ809に、それぞれセットされる。指数保
持手段806_1の出力がシフタ804により右に1ビ
ットシフトされ、テーブル情報格納手段810には正規
化オペランドレジスタ809の出力する265から253
13ビットが入力され、0881Aが出力される。さら
にこの出力の最下位ビットとして正規化オペランドレジ
スタ809の出力の252のビットを反転したものが付加
されるのであるが、本例では1が付加され、乗算手段8
13_1から813_5での実質的な乗数は0881B
となる。
【0095】ステージ 2:はじめに例外検出情報保持
手段802_1の出力が802_2に、シフタ804の
出力が指数保持手段806_2に、正規化オペランドレ
ジスタ809の出力が剰余保持手段812_2に、テー
ブル情報格納手段810の出力がテーブル出力情報保持
手段811_2に、それぞれセットされる。指数保持手
段806_2の出力に対して指数定数加算手段805に
より3FFが加算され、結果の指数が求められる。乗算
手段813_1で389C9B88D87D7C000
と0881Bの乗算が行なわれ、1E192B251A
717F1C14000の積が求められる。
【0096】ステージ 3:はじめに指数定数加算手段
805の出力が指数保持手段806_3に、乗算手段8
13_1の282から270の13ビットが符号1ビット、
データ12ビットの1番目の部分平方根として部分平方
根保持手段814_1に、例外検出情報保持手段802
_2の出力が802_3に、剰余保持手段812_2の
出力が812_3に、テーブル出力情報保持手段811
_2の出力が811_3に、それぞれセットされる。反
転手段815_1では部分平方根保持手段814_1の
出力を入力してビット反転するとともに、最下位ビット
に1を付加して出力する。また、被乗数生成手段816
_1では、1回目の反復では256から2 44までに部分平
方根保持手段814_1の出力を埋め込み、他のビット
をゼロとして出力する。(R+SxT)演算手段817
_1では剰余保持手段812_3の出力をR、被乗数生
成手段816_1の出力をS,反転手段815_1の出
力をTとして入力し、(R+SxT)の演算を実行す
る。(R+SxT)演算手段817_1の出力0002
7788D87D7C000はシフタ823_1によっ
て左に11ビットシフトされる。一方、定数減算手段8
19_1では部分平方根保持手段814_1の出力のL
SBから1を引く。マルチプレクサ820_1は、部分
平方根保持手段814_1の出力が正で(R+SxT)
演算手段817_1の出力が負の場合、定数減算手段8
19_1の出力を選択し、それ以外の場合は部分平方根
保持手段814_1の出力を選択する。本例では上記の
条件を判断して部分平方根保持手段814_1の出力を
選択する。
【0097】ステージ 4:はじめにシフタ823_1
の出力が剰余保持手段812_4に、マルチプレクサ8
20_1の出力の13ビットを256から244に整列さ
せ、他のビットをゼロとするデータが併合平方根保持手
段822_4に、例外検出情報保持手段802_3の出
力が802_4に、指数保持手段806_3の出力が8
06_4に、テーブル出力情報保持手段811_3の出
力が811_4に、それぞれセットされる。剰余保持手
段812_4にセットされた1番目の剰余R1の13B
C46C3EBE000000にテーブル出力情報保持
手段811_4の出力する0881Bが乗算手段813
_2により掛けられ、積0A7E1A738BF8E0
A000000が出力される。
【0098】ステージ 5:はじめに乗算手段813_
2の出力の283から271の014Fが符号1ビット、デ
ータ12ビットの2番目の部分平方根として部分平方根
保持手段814_2に、例外検出情報保持手段802_
4の出力が802_5に、指数保持手段806_4の出
力が806_5に、剰余保持手段812_4の出力が8
12_5に、併合平方根保持手段822_4の出力が8
22_5に、テーブル出力情報保持手段811_4の出
力が811_5に、それぞれセットされる。反転手段8
15_2では014Fが反転され、1EB0となり、最
下位ビットとして1が付加されて出力され、(R+Sx
T)演算手段817_2では実質的に乗数として1EB
1で演算が行なわれる。一方、被乗数生成手段816_
2では、併合平方根保持手段822_5の出力を左に1
ビットシフトするとともに、部分平方根保持手段814
_2の出力する13ビットの先頭ビットを除く12ビッ
トを244から233へ埋め込み、0F0C29E0000
0000を出力する。(R+SxT)演算手段817_
2では剰余保持手段812_5の出力をR、被乗数生成
手段816_2の出力をS,反転手段815_2の出力
をTとして入力し、(R+SxT)の演算を実行する。
(R+SxT)演算手段817_2の出力000B5B
F7CBE000000はシフタ823_2によって左
に11ビットシフトされる。マルチプレクサ820_2
は、部分平方根保持手段814_2の出力を選択して出
力する。加算手段821_2では併合平方根保持手段8
22_5の出力と、マルチプレクサ820_2の出力に
ついては13ビットを245から233に整列させて入力し
て加算を行ない、078629E00000000を出
力する。
【0099】ステージ 6:はじめにシフタ823_2
の出力が剰余保持手段812_6に、加算手段821_
2の出力が併合平方根保持手段822_6に、例外検出
情報保持手段802_5の出力が802_6に、指数保
持手段806_5の出力が806_6に、テーブル出力
情報保持手段811_5の出力が811_6に、それぞ
れセットされる。剰余保持手段812_6にセットされ
た2番目の剰余R2の5ADFBE5F0000000
00にテーブル出力情報保持手段811_6の出力する
0881Bが乗算手段813_3により掛けられ、積3
05072BB8C05000000000が出力され
る。
【0100】ステージ 7:はじめに乗算手段813_
3の出力の283から271の060Aが符号1ビット、デ
ータ12ビットの3番目の部分平方根として部分平方根
保持手段814_3に、例外検出情報保持手段802_
6の出力が802_7に、指数保持手段806_6の出
力が806_7に、剰余保持手段812_6の出力が8
12_7に、併合平方根保持手段822_6の出力が8
22_7に、テーブル出力情報保持手段811_6の出
力が811_7に、それぞれセットされる。
【0101】反転手段815_3では060Aが反転さ
れ、19F5となり、最下位ビットとして1が付加され
て出力され、(R+SxT)演算手段817_3では実
質的に乗数として19F6で演算が行なわれる。一方、
被乗数生成手段816_3では、併合平方根保持手段8
22_7の出力を左に1ビットシフトするとともに、部
分平方根保持手段814_3の出力する13ビットの先
頭ビットを除く12ビットを233から222へ埋め込み、
0F0C53D82800000を出力する。(R+S
xT)演算手段817_3では剰余保持手段812_7
の出力をR、被乗数生成手段816_3の出力をS,反
転手段815_3の出力をTとして入力し、(R+Sx
T)の演算を実行する。(R+SxT)演算手段817
_3の出力FFFF4C079E7000000はシフ
タ823_3によって左に11ビットシフトされる。マ
ルチプレクサ820_3は、定数減算手段819_3の
出力を選択して出力する。加算手段821_3では併合
平方根保持手段822_7の出力と、マルチプレクサ8
20_3の出力については13ビットを234から2 22
整列させて入力して加算を行ない、078629F82
400000を出力する。
【0102】ステージ 8:はじめにシフタ823_3
の出力が剰余保持手段812_8に、加算手段821_
3の出力が併合平方根保持手段822_8に、例外検出
情報保持手段802_7の出力が802_8に、指数保
持手段806_7の出力が806_8に、テーブル出力
情報保持手段811_7の出力が811_8に、それぞ
れセットされる。剰余保持手段812_8にセットされ
た3番目の剰余R3のFA603CF38000000
00にテーブル出力情報保持手段811_8の出力する
0881Bが乗算手段813_4により掛けられ、積F
D028887C9AE800000000が出力され
る。
【0103】ステージ 9:はじめに乗算手段813_
4の出力の283から271の1FA0が符号1ビット、デ
ータ12ビットの4番目の部分平方根として部分平方根
保持手段814_4に、例外検出情報保持手段802_
8の出力が802_9に、指数保持手段806_8の出
力が806_9に、剰余保持手段812_8の出力が8
12_9に、併合平方根保持手段822_8の出力が8
22_9に、テーブル出力情報保持手段811_8の出
力が811_9に、それぞれセットされる。反転手段8
15_4では1FA0が反転され、005Fとなり、最
下位ビットとして1が付加されて出力され、(R+Sx
T)演算手段817_4では実質的に乗数として006
0で演算が行なわれる。一方、被乗数生成手段816_
4では、併合平方根保持手段822_9の出力を左に1
ビットシフトするとともに、部分平方根保持手段814
_4の出力する13ビットの先頭ビットを除く12ビッ
トを222から211へ埋め込み、0F0C53F04FD
0000を出力する。(R+SxT)演算手段817_
4では剰余保持手段812_9の出力をR、被乗数生成
手段816_4の出力をS,反転手段815_4の出力
をTとして入力し、(R+SxT)の演算を実行する。
(R+SxT)演算手段817_4の出力0004DC
6D9DEE00000はシフタ823_4によって左
に11ビットシフトされる。マルチプレクサ820_4
は、部分平方根保持手段814_4の出力を選択して出
力する。加算手段821_4では併合平方根保持手段8
22_9の出力と、マルチプレクサ820_4の出力に
ついては13ビットのうち、先頭2ビットをゼロに抑止
して11ビットを221から211に整列させて入力して加
算を行ない、078629F827D0000を出力す
る。
【0104】ステージ 10:はじめにシフタ823_
4の出力が剰余保持手段812_10に、加算手段82
1_4の出力が併合平方根保持手段822_10に、例
外検出情報保持手段802_9の出力が802_10
に、指数保持手段806_9の出力が806_10に、
テーブル出力情報保持手段811_9の出力が811_
10に、それぞれセットされる。剰余保持手段812_
8にセットされた4番目の剰余R4の26E36CEF
700000000にテーブル出力情報保持手段811
_10の出力する0881Bが乗算手段813_5によ
り掛けられ、積14ACEBDBB0C0D00000
000が出力される。
【0105】ステージ 11:はじめに乗算手段813
_5の283から271の0295が符号1ビット、データ
12ビットの5番目の部分平方根として部分平方根保持
手段814_5に、例外検出情報保持手段802_10
の出力が802_11に、指数保持手段806_10の
出力が806_11に、剰余保持手段812_10の出
力が812_11に、併合平方根保持手段822_10
の出力が822_11に、テーブル出力情報保持手段8
11_10の出力が811_11に、それぞれセットさ
れる。反転手段75では0295が反転され、1D6A
となり、最下位ビットとして1が付加されて出力され、
(R+SxT+T)演算手段77では実質的に乗数とし
て1D6Bで演算が行なわれる。反転手段815_5で
は0295が反転され、1D6Aとなり、最下位ビット
として1が付加されて出力され、(R+SxT+T)演
算手段818では実質的に乗数として1D6Bで演算が
行なわれる。一方、被乗数生成手段816_5では、併
合平方根保持手段822_11の出力を左に1ビットシ
フトするとともに、部分平方根保持手段814_5の出
力する13ビットの先頭ビットを除く12ビットを211
から20へ埋め込み、0F0C53F04FA0295
を出力する。(R+SxT+T)演算手段818では剰
余保持手段812_11の出力をR、被乗数生成手段8
16_5の出力をS,反転手段815_5の出力をTと
して入力し、(R+SxT)の演算を実行する。(R+
SxT+T)演算手段818の出力00089833F
26775547はシフタ823_5によって左に11
ビットシフトされる。マルチプレクサ820_5は、部
分平方根保持手段814_5の出力を選択して出力す
る。加算手段821_5では併合平方根保持手段822
_11の出力と、マルチプレクサ820_5の出力につ
いては13ビットを212から20に整列させて入力して
加算を行ない、078629F827D0295を出力
する。なお、部分平方根が負で剰余が正の場合に限り、
加算手段821_5では20に初期キャリを加える。
【0106】ステージ 12:はじめにシフタ823_
5の出力が剰余保持手段812_12に、加算手段82
1_5の出力が併合平方根保持手段822_12に、例
外検出情報保持手段802_11の出力が802_12
に、指数保持手段806_11の出力が806_12
に、それぞれセットされる。例外検出手段824では例
外検出情報保持手段802_12の出力より入力オペラ
ンドが負の場合、データ例外として検出し、浮動小数点
ベクトル開平演算装置の外部の命令実行制御部に対して
例外が発生していることを通知する。本数値例ではオペ
ランドは正であるので例外は検出されない。 最終的な
結果として、263の符号ビットとして0、262から252
の指数部として指数保持手段806_12の出力する1
1ビット、251から20の仮数部として併合平方根保持
手段822_12の出力の253から22がそれぞれ選択
され、281E18A7E09F40A5として図19
に示すベクトル開平演算装置から出力される。
【0107】(実施例12)図20,図21,図22は本
発明の第12の実施例である浮動小数点ベクトル開平演
算装置のブロック図を示すものである。本実施例の浮動
小数点ベクトル開平演算装置はIEEE規格の倍精度浮
動小数点数ベクトルを要素順に入力して、同じ倍精度浮
動小数点数の平方根ベクトルを要素順に出力し、部分平
方根のデータとしてのビット長が8で部分平方根間には
重複がない。図20,図21,図22において、901は
入力レジスタ、902_1から902_16は例外検出
情報保持手段、903は指数定数減算手段、904はシ
フタ、905は指数定数加算手段、906_1から90
6_16は指数保持手段、907はリーディングビット
付加回路、908は正規化手段、909は正規化オペラ
ンドレジスタ、910はテーブル情報格納手段、911
_2から911_14はテーブル出力情報保持手段、9
12_2から912_16は剰余保持手段、913_1
から813_7は乗算手段、914_1から914_7
は補正前部分平方根保持手段、915_1から915_
7は反転手段、916_1から916_7は被乗数生成
手段、917_1から917_7は(R+SxT+T)
演算手段、918_1から918_7は定数減算手段、
919_1から919_7は定数加算手段、920_1
から920_7はマルチプレクサ、921_4から92
1_16、922_6から922_16、923_8か
ら923_16、924_10から924_16、92
5_12から925_16、926_14から926_
16、927_16は補正後部分平方根保持手段、92
8_1から928_7はシフタ、929は例外検出手段
である。
【0108】以下、具体的な数値例を用いて図20,図
21,図22に示す浮動小数点ベクトル開平演算装置の
動作を説明する。図11,図12はベクトルの1つの要
素のオペランドが入力されてから、各々の手段で処理さ
れていく過程を示している。以下では1つの要素がステ
ージ毎にどのように処理されていくかについて説明す
る。 ステージ 0:はじめにオペランドとして56F
80A494B9A80F8が入力され、入力レジスタ
901にセットされる。入力レジスタ901の出力の2
62から252の指数に対して、指数定数減算手段903に
より3FFを引く。一方、リーディングビット付加回路
907では入力レジスタ901の出力の251から20
仮数部に対して先頭にリーディングビットの1を付加す
る。正規化手段908では、入力レジスタ901の出力
の252のビットが1の場合入力を左に12ビットシフト
して、また、入力レジスタ901の出力の252のビット
が0の場合入力を左に13ビットシフトして出力する。
【0109】ステージ 1:はじめに入力レジスタ90
1の出力の先頭1ビットが例外検出情報保持手段902
_1に、指数定数減算手段903の出力が指数保持手段
906_1に、正規化手段908の出力が正規化オペラ
ンドレジスタ909に、それぞれセットされる。指数保
持手段906_1の出力がシフタ904により右に1ビ
ットシフトされ、テーブル情報格納手段910には正規
化オペランドレジスタ909の出力する265から253
13ビットが入力され、0D0DEが出力される。さら
にこの出力の最下位ビットとして正規化オペランドレジ
スタ909の出力の252のビットを反転したものが付加
されるのであるが、本例では1が付加され、乗算手段9
13_1から913_7での実質的な乗数は0D0DF
となる。
【0110】ステージ 2:はじめに例外検出情報保持
手段902_1の出力が902_2に、シフタ904の
出力が指数保持手段906_2に、正規化オペランドレ
ジスタ909の出力が剰余保持手段912_2に、テー
ブル情報格納手段910の出力がテーブル出力情報保持
手段911_2に、それぞれセットされる。指数保持手
段906_2の出力に対して指数定数加算手段905に
より3FFが加算され、結果の指数が求められる。乗算
手段913_1で180A494B9A80F8000
と0D0DFの乗算が行なわれ、139D4C8346
645FD808000の積が求められる。
【0111】ステージ 3:はじめに指数定数加算手段
905の出力が指数保持手段906_3に、乗算手段9
13_1の281から273の9ビットが符号1ビット、デ
ータ8ビットの1番目の部分平方根として部分平方根保
持手段914_1に、例外検出情報保持手段902_2
の出力が902_3に、剰余保持手段912_2の出力
が912_3に、テーブル出力情報保持手段911_2
の出力が911_3に、それぞれセットされる。反転手
段915_1では部分平方根保持手段914_1の出力
を入力してビット反転するとともに、部分平方根の下位
の隣接2ビットが11、または、部分平方根が負の場
合、最下位ビットに0を付加し、それ以外の場合1を付
加して出力する。また、被乗数生成手段916_1で
は、1回目の反復では257から250までに部分平方根保
持手段914_1の出力を埋め込み、他のビットをゼロ
として出力する。(R+SxT+T)演算手段917_
1では剰余保持手段912_3の出力をR、被乗数生成
手段916_1の出力をS,反転手段915_1の出力
をTとして入力し、反転手段915_1で最下位ビット
に0を付加した場合に(R+SxT+T)を実行し、そ
れ以外の場合は(R+SxT)の演算を実行する。(R
+SxT+T)の+Tは部分平方根の最下位ビットに対
応するビットが(R+SxT+T)演算手段917_1
では250、917_2では242、917_3では234
917_4では226,917_5では218,917_6
では210,917_7では22の位になるように桁合わ
せをして樹木状桁上げ保留加算器群に入力される。(R
+SxT+T)演算手段917_1の出力FFF809
4B9A80F8000はシフタ928_1によって左
に8ビットシフトされる。一方、定数減算手段918_
1では部分平方根保持手段914_1の出力のLSBか
ら1を引き、定数加算手段919_1では部分平方根保
持手段914_1の出力のLSBに1を加える。マルチ
プレクサ920_1は、部分平方根保持手段914_1
の出力が正で(R+SxT+T)演算手段917_1の
出力が負の場合、定数減算手段918_1の出力を選択
し、部分平方根の下位の隣接2ビットが11で(R+S
xT+T)演算手段917_1の出力が正の場合、また
は、部分平方根が負で(R+SxT+T)演算手段91
7_1の出力が正の場合、定数加算手段919_1の出
力を選択し、それ以外の場合は部分平方根保持手段91
4_1の出力を選択する。本例では上記の条件を判断し
て部分平方根保持手段814_1の出力を選択する。
【0112】ステージ 4:はじめにシフタ928_1
の出力が剰余保持手段912_4に、マルチプレクサ9
20_1の出力が部分平方根保持手段921_4に、例
外検出情報保持手段902_3の出力が902_4に、
指数保持手段906_3の出力が906_4に、テーブ
ル出力情報保持手段911_3の出力が911_4に、
それぞれセットされる。剰余保持手段912_4にセッ
トされた1番目の剰余R1のF8094B9A80F8
00000にテーブル出力情報保持手段911_4の出
力する0D0DFが乗算手段913_2により掛けら
れ、積F9809D86645FD80800000が
出力される。
【0113】ステージ 5:はじめに乗算手段913_
2の出力の282から274の1E6が符号1ビット、デー
タ8ビットの2番目の部分平方根として部分平方根保持
手段914_2に、例外検出情報保持手段902_4の
出力が902_5に、指数保持手段906_4の出力が
906_5に、剰余保持手段912_4の出力が912
_5に、部分平方根保持手段921_4の出力が921
_5に、テーブル出力情報保持手段911_4の出力が
911_5に、それぞれセットされる。反転手段915
_2では1E6が反転され、019となり、最下位ビッ
トとして0が付加されて出力され、(R+SxT+T)
演算手段917_2では実質的に乗数として019で演
算が行なわれる。一方、被乗数生成手段916_2で
は、部分平方根保持手段921_5の出力を左に1ビッ
トシフトするとともに、補正前部分平方根保持手段91
4_2の出力する9ビットを250から242へ埋め込み、
4E7980000000000を出力する。なお、図
11,図12においては被乗数生成手段916_2の出
力に対応して4E79C0000000000と242
ットが1となっているが図20に示す開平演算装置では
(R+SxT+T)の演算での+Tにより実質的に同じ
結果となるようにしている。(R+SxT+T)演算手
段917_2では剰余保持手段912_5の出力をR、
被乗数生成手段916_2の出力をS,反転手段915
_2の出力をTとして入力し、(R+SxT+T)の演
算を実行する。(R+SxT+T)演算手段917_2
の出力FFB32F5A80F800000はシフタ9
28_2によって左に8ビットシフトされる。マルチプ
レクサ920_2は、部分平方根保持手段914_2の
出力を選択して出力する。
【0114】ステージ 6:はじめにシフタ928_2
の出力が剰余保持手段912_6に、部分平方根保持手
段921_5の出力が921_6に、マルチプレクサ9
20_2の出力が部分平方根保持手段922_6に、例
外検出情報保持手段902_5の出力が902_6に、
指数保持手段906_5の出力が906_6に、テーブ
ル出力情報保持手段911_5の出力が911_6に、
それぞれセットされる。剰余保持手段912_6にセッ
トされた2番目の剰余R2のB32F5A80F800
00000にテーブル出力情報保持手段911_6の出
力する0D0DFが乗算手段913_3により掛けら
れ、積C1538FC89FD8080000000が
出力される。
【0115】ステージ 7:はじめに乗算手段913_
3の出力の282から274の105が符号1ビット、デー
タ8ビットの3番目の部分平方根として部分平方根保持
手段914_3に、例外検出情報保持手段902_6の
出力が902_7に、指数保持手段906_6の出力が
906_7に、剰余保持手段912_6の出力が912
_7に、部分平方根保持手段921_6の出力が921
_7に、部分平方根保持手段922_6の出力が922
_7に、テーブル出力情報保持手段911_6の出力が
911_7に、それぞれセットされる。反転手段915
_3では105が反転され、0FAとなり、最下位ビッ
トとして0が付加されて出力され、(R+SxT+T)
演算手段917_3では実質的に乗数として0FAで演
算が行なわれる。一方、被乗数生成手段916_3で
は、部分平方根保持手段921_7と922_7の出力
を左に1ビットシフトするとともに、補正前部分平方根
保持手段914_3の出力する9ビットを242から234
へ埋め込み、4E7341400000000を出力す
る。なお、図11,図12においては被乗数生成手段9
16_3の出力に対応して4E73418000000
00と234ビットに+1された形になっているが図20
に示す開平演算装置では(R+SxT+T)の演算での
+Tにより実質的に同じ結果となるようにしている。
(R+SxT+T)演算手段917_3では剰余保持手
段912_7の出力をR、被乗数生成手段916_3の
出力をS,反転手段915_3の出力をTとして入力
し、(R+SxT+T)の演算を実行する。(R+Sx
T+T)演算手段917_3の出力FFCBE877F
80000000はシフタ928_3によって左に8ビ
ットシフトされる。マルチプレクサ920_3は、部分
平方根保持手段914_3の出力を選択して出力する。
【0116】ステージ 8:はじめにシフタ928_3
の出力が剰余保持手段912_8に、部分平方根保持手
段921_7の出力が921_8に、部分平方根保持手
段922_7の出力が922_8に、マルチプレクサ9
20_3の出力が部分平方根保持手段923_8に、例
外検出情報保持手段902_7の出力が902_8に、
指数保持手段906_7の出力が906_8に、テーブ
ル出力情報保持手段911_7の出力が911_8に、
それぞれセットされる。剰余保持手段912_8にセッ
トされた3番目の剰余R3のCBE877F80000
00000にテーブル出力情報保持手段911_8の出
力する0D0DFが乗算手段913_4により掛けら
れ、積D57F80FA0108000000000が
出力される。 ステージ 9:はじめに乗算手段913
_4の出力の282から274の155が符号1ビット、デ
ータ8ビットの4番目の部分平方根として部分平方根保
持手段914_4に、例外検出情報保持手段902_8
の出力が902_9に、指数保持手段906_8の出力
が906_9に、剰余保持手段912_8の出力が91
2_9に、部分平方根保持手段921_8の出力が92
1_9に、部分平方根保持手段922_8の出力が92
2_9に、部分平方根保持手段923_8の出力が92
3_9に、テーブル出力情報保持手段911_8の出力
が911_9に、それぞれセットされる。反転手段91
5_4では155が反転され、0AAとなり、最下位ビ
ットとして0が付加されて出力され、(R+SxT+
T)演算手段917_4では実質的に乗数として0AA
で演算が行なわれる。一方、被乗数生成手段916_4
では、部分平方根保持手段921_9と922_9と9
23_9の出力を左に1ビットシフトするとともに、補
正前部分平方根保持手段914_4の出力する9ビット
を234から226へ埋め込み、4E7302D54000
000を出力する。なお、図11,図12においては被
乗数生成手段916_4の出力に対応して4E7302
D58000000と226に+1された形になっている
が図20に示す開平演算装置では(R+SxT+T)の
演算での+Tにより実質的に同じ結果となるようにして
いる。(R+SxT+T)演算手段917_4では剰余
保持手段912_9の出力をR、被乗数生成手段916
_4の出力をS,反転手段915_4の出力をTとして
入力し、(R+SxT+T)の演算を実行する。(R+
SxT+T)演算手段917_4の出力0000D7D
9C70000000はシフタ928_4によって左に
8ビットシフトされる。マルチプレクサ920_4は、
定数加算手段919_4の出力を選択して出力する。
【0117】ステージ 10:はじめにシフタ928_
4の出力が剰余保持手段912_10に、部分平方根保
持手段921_9の出力が921_10に、部分平方根
保持手段922_9の出力が922_10に、部分平方
根保持手段923_9の出力が923_10に、マルチ
プレクサ920_4の出力が部分平方根保持手段924
_10に、例外検出情報保持手段902_9の出力が9
02_10に、指数保持手段906_9の出力が906
_10に、テーブル出力情報保持手段911_9の出力
が911_10に、それぞれセットされる。剰余保持手
段912_10にセットされた4番目の剰余R4の00
D7D9C7000000000にテーブル出力情報保
持手段911_10の出力する0D0DFが乗算手段9
13_5により掛けられ、積00B01CF86459
000000000が出力される。 ステージ 11:
はじめに乗算手段913_5の出力の282から274の0
02が符号1ビット、データ8ビットの5番目の部分平
方根として部分平方根保持手段914_5に、例外検出
情報保持手段902_10の出力が902_11に、指
数保持手段906_10の出力が906_11に、剰余
保持手段912_10の出力が912_11に、部分平
方根保持手段921_10の出力が921_11に、部
分平方根保持手段922_10の出力が922_11
に、部分平方根保持手段923_10の出力が923_
11に、部分平方根保持手段924_10の出力が92
4_11に、テーブル出力情報保持手段911_10の
出力が911_11に、それぞれセットされる。反転手
段915_5では002が反転され、1FDとなり、最
下位ビットとして0が付加されて出力され、(R+Sx
T+T)演算手段917_5では実質的に乗数として1
FDで演算が行なわれる。一方、被乗数生成手段916
_5では、部分平方根保持手段921_11、922_
11、923_11、924_11の出力を左に1ビッ
トシフトするとともに、補正前部分平方根保持手段91
4_5の出力する9ビットを226から218へ埋め込み、
4E7302AB0080000を出力する。なお、図
11,図12においては被乗数生成手段916_5の出
力に対応して4E7302AB00C0000と218
ットが1となっているが図20に示す開平演算装置では
(R+SxT+T)の演算での+Tにより実質的に同じ
結果となるようにしている。(R+SxT+T)演算手
段917_5では剰余保持手段912_11の出力を
R、被乗数生成手段916_5の出力をS,反転手段9
15_5の出力をTとして入力し、(R+SxT+T)
の演算を実行する。(R+SxT+T)演算手段917
_5の出力FFEC80BEFEFDC0000はシフ
タ928_5によって左に8ビットシフトされる。マル
チプレクサ920_5は、補正前部分平方根保持手段9
14_5の出力を選択して出力する。
【0118】ステージ 12:はじめにシフタ928_
5の出力が剰余保持手段912_12に、部分平方根保
持手段921_11の出力が921_12に、部分平方
根保持手段922_11の出力が922_12に、部分
平方根保持手段923_11の出力が923_12に、
部分平方根保持手段924_11の出力が924_12
に、マルチプレクサ920_5の出力が部分平方根保持
手段925_12に、例外検出情報保持手段902_1
1の出力が902_12に、指数保持手段906_11
の出力が906_12に、テーブル出力情報保持手段9
11_11の出力が911_12に、それぞれセットさ
れる。剰余保持手段912_12にセットされた5番目
の剰余R5のEC80BEFEFDC000000にテ
ーブル出力情報保持手段911_12の出力する0D0
DFが乗算手段913_6により掛けられ、積F017
9F558E4B0A4000000が出力される。
【0119】ステージ 13:はじめに乗算手段913
_6の出力の282から274の1C0が符号1ビット、デ
ータ8ビットの6番目の部分平方根として部分平方根保
持手段914_6に、例外検出情報保持手段902_1
2の出力が902_13に、指数保持手段906_12
の出力が906_13に、剰余保持手段912_12の
出力が912_13に、部分平方根保持手段921_1
2の出力が921_13に、部分平方根保持手段922
_12の出力が922_13に、部分平方根保持手段9
23_12の出力が923_13に、部分平方根保持手
段924_12の出力が924_13に、部分平方根保
持手段925_12の出力が925_13に、テーブル
出力情報保持手段911_12の出力が911_13
に、それぞれセットされる。反転手段915_6では1
C0が反転され、03Fとなり、最下位ビットとして0
が付加されて出力され、(R+SxT+T)演算手段9
17_6では実質的に乗数として03Fで演算が行なわ
れる。一方、被乗数生成手段916_6では、部分平方
根保持手段921_13、922_13、923_1
3、924_13、925_13の出力を左に1ビット
シフトするとともに、補正前部分平方根保持手段914
_6の出力する9ビットを218から210へ埋め込み、4
E7302AB0170000を出力する。なお、図8
においては被乗数生成手段916_6の出力に対応して
4E7302AB0174000と210ビットが1とな
っているが図16に示す開平演算装置では(R+SxT
+T)の演算での+Tにより実質的に同じ結果となるよ
うにしている。(R+SxT+T)演算手段917_6
では剰余保持手段912_13の出力をR、被乗数生成
手段916_6の出力をS,反転手段915_6の出力
をTとして入力し、(R+SxT+T)の演算を実行す
る。(R+SxT+T)演算手段917_6の出力FF
CF0CA7131A9FC00はシフタ928_6に
よって左に8ビットシフトされる。マルチプレクサ92
0_6は、補正前部分平方根保持手段914_6の出力
を選択して出力する。
【0120】ステージ 14:はじめにシフタ928_
6の出力が剰余保持手段912_14に、部分平方根保
持手段921_13の出力が921_14に、部分平方
根保持手段922_13の出力が922_14に、部分
平方根保持手段923_13の出力が923_14に、
部分平方根保持手段924_13の出力が924_14
に、部分平方根保持手段925_13の出力が925_
14に、マルチプレクサ920_6の出力が部分平方根
保持手段926_14に、例外検出情報保持手段902
_13の出力が902_14に、指数保持手段906_
13の出力が906_14に、テーブル出力情報保持手
段911_13の出力が911_14に、それぞれセッ
トされる。剰余保持手段912_14にセットされた6
番目の剰余R6のCF0CA7131A9FC0000
にテーブル出力情報保持手段911_14の出力する0
D0DFが乗算手段913_7により掛けられ、積D8
0FA3C50F45FD2840000が出力され
る。
【0121】ステージ 15:はじめに乗算手段913
_7の出力の282から274の160が符号1ビット、デ
ータ8ビットの2番目の部分平方根として部分平方根保
持手段914_7に、例外検出情報保持手段902_1
4の出力が902_15に、指数保持手段906_14
の出力が906_15に、剰余保持手段912_14の
出力が912_15に、部分平方根保持手段921_1
4の出力が921_15に、部分平方根保持手段922
_14の出力が922_15に、部分平方根保持手段9
23_14の出力が923_15に、部分平方根保持手
段924_14の出力が924_15に、部分平方根保
持手段925_14の出力が925_15に、部分平方
根保持手段926_14の出力が926_15に、テー
ブル出力情報保持手段911_14の出力が911_1
5に、それぞれセットされる。反転手段915_7では
160が反転され、09Fとなり、最下位ビットとして
0が付加されて出力され、(R+SxT+T)演算手段
917_7では実質的に乗数として09Fで演算が行な
われる。一方、被乗数生成手段916_7では、部分平
方根保持手段921_15、922_15、923_1
5、924_15、925_15、926_15の出力
を左に1ビットシフトするとともに、補正前部分平方根
保持手段914_7の出力する9ビットを210から22
へ埋め込み、4E7302AB0160580を出力す
る。なお、図8においては被乗数生成手段916_7の
出力に対応して4E7302AB0160584と22
ビットが1となっているが図16に示す開平演算装置で
は(R+SxT+T)の演算での+Tにより実質的に同
じ結果となるようにしている。(R+SxT+T)演算
手段917_7では剰余保持手段912_15の出力を
R、被乗数生成手段916_7の出力をS,反転手段9
15_7の出力をTとして入力し、(R+SxT+T)
の演算を実行する。(R+SxT+T)演算手段917
_7の出力FFC615BB507A96CFCはシフ
タ928_7によって左に8ビットシフトされる。マル
チプレクサ920_7は、補正前部分平方根保持手段9
14_7の出力を選択して出力する。
【0122】ステージ 16:はじめにシフタ928_
7の出力が剰余保持手段912_16に、部分平方根保
持手段921_15の出力が921_16に、部分平方
根保持手段922_15の出力が922_16に、部分
平方根保持手段923_15の出力が923_16に、
部分平方根保持手段924_15の出力が924_16
に、部分平方根保持手段925_15の出力が925_
16に、部分平方根保持手段926_15の出力が92
6_16に、マルチプレクサ920_7の出力が部分平
方根保持手段927_16に、例外検出情報保持手段9
02_15の出力が902_16に、指数保持手段90
6_15の出力が906_16に、それぞれセットされ
る。例外検出手段929では例外検出情報保持手段90
2_16の出力より入力オペランドが負の場合、データ
例外として検出し、浮動小数点ベクトル開平演算装置の
外部の命令実行制御部に対して例外が発生していること
を通知する。本数値例ではオペランドは正であるので例
外は検出されない。 最終的な結果として、263の符号
ビットとして0、262から252の指数部として指数保持
手段906_16の出力する11ビット、251から20
の仮数部として部分平方根保持手段921_16の下位
7ビット、部分平方根保持手段922_16からの92
6_16の40ビット、部分平方根保持手段927_1
6の下位5ビットをひとまとめにして、46739CC
0AAC0580Cとして図20に示すベクトル開平演
算装置から出力される。
【0123】
【発明の効果】以上のように本発明は、剰余保持手段
と、平方根の近似逆数を格納するテーブル情報格納手段
と、部分平方根を求める乗算手段と、剰余から反復計算
で上位から揃った併合平方根と部分平方根の積を求める
(R−SxT)演算手段を設けることにより、乗数のビ
ット長として、固定小数点数の場合はオペランド長、浮
動小数点数の場合は仮数部のビット長よりも小さい乗算
器を使用して、開平演算を実行することができるのでハ
ードウェアの物量の多大な増大を招くことなく、乗算命
令と開平演算命令が同時実行可能なデータ処理装置を提
供することができる。また、性能についても部分平方根
間でビットの重複を許容した開平演算装置はニュートン
・ラプソン法による開平演算装置と比較して遜色がな
い。また、結果の平方根を丸めるためにガードビット、
ラウンドビット、スティキービットを使用する場合には
LSB以下、1ビットずつ、ガードビット、ラウンドビ
ットとした後、残ったビットと剰余の各ビットの論理和
をとると、スティキービットとなるので、ニュートン・
ラプソン法などと比較して検算の必要がないことも本発
明の第2の効果である。
【図面の簡単な説明】
【図1】本発明の第1の実施例における固定小数点開平
演算装置のブロック図である。
【図2】同実施例における各構成手段の出力を具体的な
数値例で示した図である。
【図3】同実施例における各構成手段の出力を具体的な
数値例で示した図である。
【図4】本発明の第2の実施例における固定小数点開平
演算装置のブロック図である。
【図5】同実施例における各構成手段の出力を具体的な
数値例で示した図である。
【図6】同実施例における各構成手段の出力を具体的な
数値例で示した図である。
【図7】本発明の第3の実施例における浮動小数点開平
演算装置のブロック図である。
【図8】同実施例における各構成手段の出力を具体的な
数値例で示した図である。
【図9】同実施例における各構成手段の出力を具体的な
数値例で示した図である。
【図10】本発明の第4の実施例における浮動小数点開
平演算装置のブロック図である。
【図11】同実施例における各構成手段の出力を具体的
な数値例で示した図である。
【図12】同実施例における各構成手段の出力を具体的
な数値例で示した図である。
【図13】本発明の第5の実施例における固定小数点開
平演算装置のブロック図である。
【図14】本発明の第6の実施例における固定小数点開
平演算装置のブロック図である。
【図15】本発明の第7の実施例における浮動小数点開
平演算装置のブロック図である。
【図16】本発明の第8の実施例における浮動小数点開
平演算装置のブロック図である。
【図17】本発明の第9の実施例における固定小数点ベ
クトル開平演算装置のブロック図である。
【図18】本発明の第10の実施例における固定小数点
ベクトル開平演算装置のブロック図である。
【図19】本発明の第11の実施例における浮動小数点
ベクトル開平演算装置のブロック図である。
【図20】本発明の第12の実施例における浮動小数点
ベクトル開平演算装置の一部分を示すブロック図であ
る。
【図21】本発明の第12の実施例における浮動小数点
ベクトル開平演算装置の一部分を示すブロック図であ
る。
【図22】本発明の第12の実施例における浮動小数点
ベクトル開平演算装置の一部分を示すブロック図であ
る。
【符号の説明】
4 正規化手段 5 テーブル情報格納手段 8 剰余保持手段 9 乗算手段 11 併合平方根保持手段 12 反転手段 13 被乗数生成手段 14 (R+SxT+T)演算手段

Claims (16)

    (57)【特許請求の範囲】
  1. 【請求項1】 固定小数点数入力オペランドに対して平
    方根を求める開平演算装置において、2ビット単位にビ
    ット正規化するためのシフト数検出手段と、前記シフト
    数検出手段の出力するシフト数により、入力固定小数点
    数を左にシフトするビット正規化手段と、前記正規化手
    段の出力の上位ビットをアドレスとして平方根の近似逆
    数を索引するテーブル情報格納手段と、平方根を上位よ
    り順に一定のビット数ずつ反復して求める場合の剰余保
    持手段と、前記剰余保持手段から出力される剰余と、前
    記テーブル情報格納手段から出力される平方根の近似逆
    数をそれぞれ被乗数、乗数として入力して乗算を行なう
    乗算手段と、前記乗算手段の出力する積の上位を部分平
    方根として各反復での平方根を併合した併合平方根保持
    手段と、前記乗算手段の出力する部分平方根をビット毎
    に反転する反転手段と、前記併合平方根保持手段の出力
    を左に1ビットシフトして前記乗算手段の出力する部分
    平方根とで被乗数を生成する被乗数生成手段と、前記剰
    余保持手段の出力する剰余(R)と、前記被乗数生成手
    段の出力する被乗数(S)と、更に前記反転手段の出力
    する乗数(T)を入力して、(R+SxT)または(R
    +SxT+T)の演算を行なう(R+SxT+T)演算
    手段と、前記(R+SxT+T)演算手段の出力を部分
    平方根のビット長から隣接する部分平方根間で重複する
    ビット長を引いた数だけ左にシフトするシフト手段と、
    前記剰余保持手段の入力として前記正規化手段の出力と
    前記シフト手段の出力を選択するマルチプレクサと、前
    記乗算手段の出力する部分平方根のLSBから1を引く
    定数減算手段と、前記乗算手段の出力する部分平方根と
    前記定数減算手段の出力を選択して補正部分平方根とし
    て出力するマルチプレクサと、前記併合平方根保持手段
    から出力される併合平方根に対して、前記マルチプレク
    サの出力する補正部分平方根を併合するための桁合わせ
    を行なう桁合わせ手段と、前記併合平方根と前記桁合わ
    せ手段の出力を加算して更新された併合平方根を出力す
    る加算手段と、前記正規化シフト数検出手段の出力より
    最終結果の平方根を求めるために併合平方根を右にシフ
    トするシフト数を算出する桁調整シフト数算出手段と、
    前記加算手段の出力する併合平方根を前記桁調整シフト
    数算出手段の出力するシフト数により右シフトを行い最
    終結果の平方根を出力する桁調整手段とを有することを
    特徴とする固定小数点数開平演算装置。
  2. 【請求項2】 請求項1において、桁調整手段の入力を
    併合平方根保持手段の出力としたことを特徴とする請求
    項1記載の固定小数点数開平演算装置。
  3. 【請求項3】 固定小数点数入力オペランドに対して平
    方根を求める開平演算装置において、2ビット単位にビ
    ット正規化するためのシフト数検出手段と、前記シフト
    数検出手段の出力するシフト数により、入力固定小数点
    数を左にシフトするビット正規化手段と、前記正規化手
    段の出力の上位ビットをアドレスとして平方根の近似逆
    数を索引するテーブル情報格納手段と、平方根を上位よ
    り順に一定のビット数ずつ反復して求める場合の剰余保
    持手段と、前記剰余保持手段から出力される剰余と、前
    記テーブル情報格納手段から出力される平方根の近似逆
    数をそれぞれ被乗数、乗数として入力して乗算を行ない
    積の上位を補正前部分平方根として出力する乗算手段
    と、前記乗算手段の出力する補正前部分平方根のLSB
    から1を引く定数減算手段と、前記乗算手段の出力する
    補正前部分平方根のLSBに1を加える定数加算手段
    と、前記乗算手段の出力する補正前部分平方根と前記定
    数減算手段の出力と前記定数加算手段の出力を選択して
    補正後部分平方根として出力するマルチプレクサと、前
    記マルチプレクサの出力する補正後部分平方根を保持す
    る複数の補正後部分平方根保持手段と、前記乗算手段の
    出力する補正前部分平方根をビット毎に反転する反転手
    段と、前記補正後部分平方根保持手段の出力を左に1ビ
    ットシフトして前記乗算手段の出力する補正前部分平方
    根とで被乗数を生成する被乗数生成手段と、前記剰余保
    持手段の出力する剰余(R)と、前記被乗数生成手段の
    出力する被乗数(S)と、更に前記反転手段の出力する
    乗数(T)を入力して、(R+SxT)または(R+S
    xT+T)の演算を行なう(R+SxT+T)演算手段
    と、前記(R+SxT+T)演算手段の出力を部分平方
    根のビット長だけ左にシフトするシフト手段と、前記剰
    余保持手段の入力として前記正規化手段の出力と前記シ
    フト手段の出力を選択するマルチプレクサと、前記正規
    化シフト数検出手段の出力より最終結果の平方根を求め
    るために補正後部分平方根を右にシフトするシフト数を
    算出する桁調整シフト数算出手段と、前記補正後部分平
    方根保持手段の出力する複数の補正後部分平方根と前記
    マルチプレクサの出力する複数の補正後部分平方根とを
    前記桁調整シフト数算出手段の出力するシフト数により
    右シフトを行い最終結果の平方根を出力する桁調整手段
    とを有することを特徴とする固定小数点数開平演算装
    置。
  4. 【請求項4】 請求項3において、桁調整手段の入力を
    すべて補正後部分平方根保持手段の出力としたことを特
    徴とする請求項3記載の固定小数点数開平演算装置。
  5. 【請求項5】 2を指数の基底とする浮動小数点数入力
    オペランドに対して平方根を求める開平演算装置におい
    て、指数のバイアスを除くための指数定数減算手段と、
    指数定数減算手段の出力を1ビット右にシフトする指数
    シフト手段と、前記指数シフト手段の出力に指数のバイ
    アスを付加するための指数定数加算手段と、指数のバイ
    アスを除いた値が偶数となるように奇数の場合は仮数を
    1ビット左にシフトする正規化手段と、前記正規化手段
    の出力の上位ビットをアドレスとして平方根の近似逆数
    を索引するテーブル情報格納手段と、平方根を上位より
    順に一定のビット数ずつ反復して求める場合の剰余保持
    手段と、前記剰余保持手段から出力される剰余と、前記
    テーブル情報格納手段から出力される平方根の近似逆数
    をそれぞれ被乗数、乗数として入力して乗算を行なう乗
    算手段と、前記乗算手段の出力する積の上位を部分平方
    根として各反復での平方根を併合した併合平方根保持手
    段と、前記乗算手段の出力する部分平方根をビット毎に
    反転する反転手段と、前記併合平方根保持手段の出力を
    左に1ビットシフトして前記乗算手段の出力する部分平
    方根とで被乗数を生成する被乗数生成手段と、前記剰余
    保持手段の出力する剰余(R)と、前記被乗数生成手段
    の出力する被乗数(S)と、更に前記反転手段の出力す
    る乗数(T)を入力して、(R+SxT)または(R+
    SxT+T)の演算を行なう(R+SxT+T)演算手
    段と、前記(R+SxT+T)演算手段の出力を部分平
    方根のビット長から隣接する部分平方根間で重複するビ
    ット長を引いた数だけ左にシフトするシフト手段と、前
    記剰余保持手段の入力として前記正規化手段の出力と前
    記シフト手段の出力を選択するマルチプレクサと、前記
    乗算手段の出力する部分平方根のLSBから1を引く定
    数減算手段と、前記乗算手段の出力する部分平方根と前
    記定数減算手段の出力を選択して補正部分平方根として
    出力するマルチプレクサと、前記併合平方根保持手段か
    ら出力される併合平方根に対して、前記マルチプレクサ
    の出力する補正部分平方根を併合するための桁合わせを
    行なう桁合わせ手段と、前記併合平方根と前記桁合わせ
    手段の出力を加算して更新された併合平方根を出力する
    加算手段とを有することを特徴とする2を指数の基底と
    する浮動小数点数開平演算装置。
  6. 【請求項6】 2を指数の基底とする浮動小数点数入力
    オペランドに対して平方根を求める開平演算装置におい
    て、指数のバイアスを除くための指数定数減算手段と、
    指数定数減算手段の出力を1ビット右にシフトする指数
    シフト手段と、前記指数シフト手段の出力に指数のバイ
    アスを付加するための指数定数加算手段と、指数のバイ
    アスを除いた値が偶数となるように奇数の場合は仮数を
    1ビット左にシフトする正規化手段と、前記正規化手段
    の出力の上位ビットをアドレスとして平方根の近似逆数
    を索引するテーブル情報格納手段と、平方根を上位より
    順に一定のビット数ずつ反復して求める場合の剰余保持
    手段と、前記剰余保持手段から出力される剰余と、前記
    テーブル情報格納手段から出力される平方根の近似逆数
    をそれぞれ被乗数、乗数として入力して乗算を行ない積
    の上位を補正前部分平方根として出力する乗算手段と、
    前記乗算手段の出力する補正前部分平方根のLSBから
    1を引く定数減算手段と、前記乗算手段の出力する補正
    前部分平方根のLSBに1を加える定数加算手段と、前
    記乗算手段の出力する補正前部分平方根と前記定数減算
    手段の出力と前記定数加算手段の出力を選択して補正後
    部分平方根として出力するマルチプレクサと、前記マル
    チプレクサの出力する補正後部分平方根を保持する複数
    の補正後部分平方根保持手段と、前記乗算手段の出力す
    る補正前部分平方根をビット毎に反転する反転手段と、
    前記補正後部分平方根保持手段の出力を左に1ビットシ
    フトして前記乗算手段の出力する補正前部分平方根とで
    被乗数を生成する被乗数生成手段と、前記剰余保持手段
    の出力する剰余(R)と、前記被乗数生成手段の出力す
    る被乗数(S)と、更に前記反転手段の出力する乗数
    (T)を入力して、(R+SxT)または(R+SxT
    +T)の演算を行なう(R+SxT+T)演算手段と、
    前記(R+SxT+T)演算手段の出力を部分平方根の
    ビット長だけ左にシフトするシフト手段と、前記剰余保
    持手段の入力として前記正規化手段の出力と前記シフト
    手段の出力を選択するマルチプレクサとを有することを
    特徴とする2を指数の基底とする浮動小数点数開平演算
    装置。
  7. 【請求項7】 固定小数点数入力オペランドに対して平
    方根を求める開平演算装置において、2ビット単位にビ
    ット正規化するためのシフト数検出手段と、前記シフト
    数検出手段の出力するシフト数により、入力固定小数点
    数を左にシフトするビット正規化手段と、前記正規化手
    段の出力の上位ビットをアドレスとして平方根の近似逆
    数を索引するテーブル情報格納手段と、平方根を上位よ
    り順に一定のビット数ずつ反復して求める場合の剰余保
    持手段、併合平方根保持手段、補正前部分平方根保持手
    段と、前記補正前部分平方根保持手段の出力する部分平
    方根をビット毎に反転する反転手段と、前記併合平方根
    保持手段の出力を左に1ビットシフトして前記補正前部
    分平方根保持手段の出力する部分平方根とで被乗数を生
    成する被乗数生成手段と、定数ゼロと前記剰余保持手段
    から出力される剰余とを選択する剰余用マルチプレクサ
    と、前記剰余保持手段から出力される剰余と前記被乗数
    生成手段の出力とを選択する被乗数用マルチプレクサ
    と、前記テーブル情報格納手段から出力される平方根の
    近似逆数と前記反転手段の出力とを選択する乗数用マル
    チプレクサと、前記剰余用マルチプレクサの出力(R)
    と、前記被乗数用マルチプレクサの出力(S)と、更に
    前記乗数用マルチプレクサの出力(T)を入力して、
    (R+SxT)または(R+SxT+T)の演算を行な
    う(R+SxT+T)演算手段と、前記(R+SxT+
    T)演算手段の出力を部分平方根のビット長から隣接す
    る部分平方根間で重複するビット長を引いた数だけ左に
    シフトするシフト手段と、前記剰余保持手段の入力とし
    て前記正規化手段の出力と前記シフト手段の出力を選択
    するマルチプレクサと、前記(R+SxT+T)演算手
    段の出力の上位は前記補正前部分平方根保持手段に接続
    されており、前記補正前部分平方根保持手段の出力する
    部分平方根のLSBから1を引く定数減算手段と、前記
    補正前部分平方根保持手段の出力する部分平方根と前記
    定数減算手段の出力を選択して補正部分平方根として出
    力するマルチプレクサと、前記併合平方根保持手段から
    出力される併合平方根に対して、前記マルチプレクサの
    出力する補正部分平方根を併合するための桁合わせを行
    なう桁合わせ手段と、前記併合平方根と前記桁合わせ手
    段の出力を加算して更新された併合平方根を出力する加
    算手段と、前記正規化シフト数検出手段の出力より最終
    結果の平方根を求めるために併合平方根を右にシフトす
    るシフト数を算出する桁調整シフト数算出手段と、前記
    加算手段の出力する併合平方根を前記桁調整シフト数算
    出手段の出力するシフト数により右シフトを行い最終結
    果の平方根を出力する桁調整手段とを有することを特徴
    とする固定小数点数開平演算装置。
  8. 【請求項8】 請求項7において、桁調整手段の入力を
    併合平方根保持手段の出力としたことを特徴とする請求
    項7記載の固定小数点数開平演算装置。
  9. 【請求項9】 固定小数点数入力オペランドに対して平
    方根を求める開平演算装置において、2ビット単位にビ
    ット正規化するためのシフト数検出手段と、前記シフト
    数検出手段の出力するシフト数により、入力固定小数点
    数を左にシフトするビット正規化手段と、前記正規化手
    段の出力の上位ビットをアドレスとして平方根の近似逆
    数を索引するテーブル情報格納手段と、平方根を上位よ
    り順に一定のビット数ずつ反復して求める場合の剰余保
    持手段、複数の補正後部分平方根保持手段、補正前部分
    平方根保持手段と、前記補正前部分平方根保持手段の出
    力する部分平方根をビット毎に反転する反転手段と、前
    記複数の補正後部分平方根保持手段の出力を左に1ビッ
    トシフトして前記補正前部分平方根保持手段の出力する
    部分平方根とで被乗数を生成する被乗数生成手段と、定
    数ゼロと前記剰余保持手段から出力される剰余とを選択
    する剰余用マルチプレクサと、前記剰余保持手段から出
    力される剰余と前記被乗数生成手段の出力とを選択する
    被乗数用マルチプレクサと、前記テーブル情報格納手段
    から出力される平方根の近似逆数と前記反転手段の出力
    とを選択する乗数用マルチプレクサと、前記剰余用マル
    チプレクサの出力(R)と、前記被乗数用マルチプレク
    サの出力(S)と、更に前記乗数用マルチプレクサの出
    力(T)を入力して、(R+SxT)または(R+Sx
    T+T)の演算を行なう(R+SxT+T)演算手段
    と、前記(R+SxT+T)演算手段の出力を部分平方
    根のビット長だけ左にシフトするシフト手段と、前記剰
    余保持手段の入力として前記正規化手段の出力と前記シ
    フト手段の出力を選択するマルチプレクサと、前記(R
    +SxT+T)演算手段の出力の上位は前記補正前部分
    平方根保持手段に接続されており、前記補正前部分平方
    根保持手段の出力する部分平方根のLSBから1を引く
    定数減算手段と、前記補正前部分平方根保持手段の出力
    する部分平方根のLSBに1を加える定数加算手段と、
    前記補正前部分平方根保持手段の出力する部分平方根と
    前記定数減算手段の出力と前記定数加算手段の出力をを
    選択して補正後部分平方根として出力するマルチプレク
    サと、前記マルチプレクサの出力する補正後部分平方根
    は前記複数の補正後部分平方根保持手段に接続されてお
    り、前記正規化シフト数検出手段の出力より最終結果の
    平方根を求めるために補正後部分平方根を右にシフトす
    るシフト数を算出する桁調整シフト数算出手段と、前記
    補正後部分平方根保持手段の出力する複数の補正後部分
    平方根と前記マルチプレクサの出力する複数の補正後部
    分平方根とを前記桁調整シフト数算出手段の出力するシ
    フト数により右シフトを行い最終結果の平方根を出力す
    る桁調整手段とを有することを特徴とする固定小数点数
    開平演算装置。
  10. 【請求項10】 請求項9において、桁調整手段の入力
    をすべて補正後部分平方根保持手段の出力としたことを
    特徴とする請求項9記載の固定小数点数開平演算装置。
  11. 【請求項11】 2を指数の基底とする浮動小数点数入
    力オペランドに対して平方根を求める開平演算装置にお
    いて、指数のバイアスを除くための指数定数減算手段
    と、指数定数減算手段の出力を1ビット右にシフトする
    指数シフト手段と、前記指数シフト手段の出力に指数の
    バイアスを付加するための指数定数加算手段と、指数の
    バイアスを除いた値が偶数となるように奇数の場合は仮
    数を1ビット左にシフトする正規化手段と、前記正規化
    手段の出力の上位ビットをアドレスとして平方根の近似
    逆数を索引するテーブル情報格納手段と、平方根を上位
    より順に一定のビット数ずつ反復して求める場合の剰余
    保持手段、併合平方根保持手段、補正前部分平方根保持
    手段と、前記補正前部分平方根保持手段の出力する部分
    平方根をビット毎に反転する反転手段と、前記併合平方
    根保持手段の出力を左に1ビットシフトして前記補正前
    部分平方根保持手段の出力する部分平方根とで被乗数を
    生成する被乗数生成手段と、定数ゼロと前記剰余保持手
    段から出力される剰余とを選択する剰余用マルチプレク
    サと、前記剰余保持手段から出力される剰余と前記被乗
    数生成手段の出力とを選択する被乗数用マルチプレクサ
    と、前記テーブル情報格納手段から出力される平方根の
    近似逆数と前記反転手段の出力とを選択する乗数用マル
    チプレクサと、前記剰余用マルチプレクサの出力(R)
    と、前記被乗数用マルチプレクサの出力(S)と、更に
    前記乗数用マルチプレクサの出力(T)を入力して、
    (R+SxT)または(R+SxT+T)の演算を行な
    う(R+SxT+T)演算手段と、前記(R+SxT+
    T)演算手段の出力を部分平方根のビット長から隣接す
    る部分平方根間で重複するビット長を引いた数だけ左に
    シフトするシフト手段と、前記剰余保持手段の入力とし
    て前記正規化手段の出力と前記シフト手段の出力を選択
    するマルチプレクサと、前記(R+SxT+T)演算手
    段の出力の上位は前記補正前部分平方根保持手段に接続
    されており、前記補正前部分平方根保持手段の出力する
    部分平方根のLSBから1を引く定数減算手段と、前記
    補正前部分平方根保持手段の出力する部分平方根と前記
    定数減算手段の出力を選択して補正部分平方根として出
    力するマルチプレクサと、前記併合平方根保持手段から
    出力される併合平方根に対して、前記マルチプレクサの
    出力する補正部分平方根を併合するための桁合わせを行
    なう桁合わせ手段と、前記併合平方根と前記桁合わせ手
    段の出力を加算して更新された併合平方根を出力する加
    算手段とを有することを特徴とする2を指数の基底とす
    る浮動小数点数開平演算装置。
  12. 【請求項12】 2を指数の基底とする浮動小数点数入
    力オペランドに対して平方根を求める開平演算装置にお
    いて、指数のバイアスを除くための指数定数減算手段
    と、指数定数減算手段の出力を1ビット右にシフトする
    指数シフト手段と、前記指数シフト手段の出力に指数の
    バイアスを付加するための指数定数加算手段と、指数の
    バイアスを除いた値が偶数となるように奇数の場合は仮
    数を1ビット左にシフトする正規化手段と、前記正規化
    手段の出力の上位ビットをアドレスとして平方根の近似
    逆数を索引するテーブル情報格納手段と、平方根を上位
    より順に一定のビット数ずつ反復して求める場合の剰余
    保持手段、複数の補正後部分平方根保持手段、補正前部
    分平方根保持手段と、前記補正前部分平方根保持手段の
    出力する部分平方根をビット毎に反転する反転手段と、
    前記複数の補正後部分平方根保持手段の出力を左に1ビ
    ットシフトして前記補正前部分平方根保持手段の出力す
    る部分平方根とで被乗数を生成する被乗数生成手段と、
    定数ゼロと前記剰余保持手段から出力される剰余とを選
    択する剰余用マルチプレクサと、前記剰余保持手段から
    出力される剰余と前記被乗数生成手段の出力とを選択す
    る被乗数用マルチプレクサと、前記テーブル情報格納手
    段から出力される平方根の近似逆数と前記反転手段の出
    力とを選択する乗数用マルチプレクサと、前記剰余用マ
    ルチプレクサの出力(R)と、前記被乗数用マルチプレ
    クサの出力(S)と、更に前記乗数用マルチプレクサの
    出力(T)を入力して、(R+SxT)または(R+S
    xT+T)の演算を行なう(R+SxT+T)演算手段
    と、前記(R+SxT+T)演算手段の出力を部分平方
    根のビット長だけ左にシフトするシフト手段と、前記剰
    余保持手段の入力として前記正規化手段の出力と前記シ
    フト手段の出力を選択するマルチプレクサと、前記(R
    +SxT+T)演算手段の出力の上位は前記補正前部分
    平方根保持手段に接続されており、前記補正前部分平方
    根保持手段の出力する部分平方根のLSBから1を引く
    定数減算手段と、前記補正前部分平方根保持手段の出力
    する部分平方根のLSBに1を加える定数加算手段と、
    前記補正前部分平方根保持手段の出力する部分平方根と
    前記定数減算手段の出力と前記定数加算手段の出力をを
    選択して補正後部分平方根として出力し前記複数の補正
    後部分平方根保持手段に接続されるマルチプレクサとを
    有することを特徴とする2を指数の基底とする浮動小数
    点数開平演算装置。
  13. 【請求項13】 固定小数点数からなるベクトルの要素
    順の入力オペランドに対して平方根ベクトルを要素順に
    求めるベクトル開平演算装置において、入力レジスタ
    と、前記入力レジスタの出力を2ビット単位にビット正
    規化するための正規化シフト数検出手段と、前記正規化
    シフト数検出手段の出力するシフト数により、前記入力
    レジスタの出力を左にシフトするビット正規化手段と、
    前記正規化手段の出力を保持する正規化オペランドレジ
    スタと、前記正規化シフト数検出手段の出力を保持する
    正規化シフト数保持手段と、前記正規化オペランドレジ
    スタの出力の上位ビットをアドレスとして平方根の近似
    逆数を索引するテーブル情報格納手段とから前処理部を
    構成し、主要部として、部分平方根を併合した併合平方
    根のビット長が求めるべき結果の平方根のビット長以上
    になるまで部分平方根を求める処理を繰り返す、その回
    数に等しい個数だけ必要な一組の構成要素を列挙する
    と、パイプライン動作の同期をとるために、剰余保持手
    段、併合平方根保持手段、テーブル出力情報保持手段、
    正規化シフト数保持手段があり、主要部の1段目の前記
    剰余保持手段、前記テーブル出力情報保持手段、前記正
    規化シフト数保持手段は、それぞれ、前処理部の前記正
    規化オペランドレジスタ、前記テーブル情報格納手段
    に、前記正規化シフト数保持手段に接続され、前記併合
    平方根保持手段は1段目では不要であり、前記剰余保持
    手段の出力を被乗数、前記テーブル出力情報保持手段の
    出力を乗数として入力して乗算を行ない積の上位を部分
    平方根として出力する乗算手段と、前記乗算手段の出力
    する部分平方根をビット毎に反転する反転手段と、前記
    併合平方根保持手段の出力を左に1ビットシフトして前
    記乗算手段の出力する部分平方根とで被乗数を生成する
    被乗数生成手段と、前記剰余保持手段の出力する剰余
    (R)と、前記被乗数生成手段の出力する被乗数(S)
    と、更に前記反転手段の出力する乗数(T)を入力し
    て、(R+SxT)または(R+SxT+T)の演算を
    行なう(R+SxT+T)演算手段と、前記(R+Sx
    T+T)演算手段の出力を部分平方根のビット長から隣
    接する部分平方根間で重複するビット長を引いた数だけ
    左にシフトするシフト手段と、前記乗算手段の出力する
    部分平方根のLSBから1を引く定数減算手段と、前記
    乗算手段の出力する部分平方根と前記定数減算手段の出
    力を選択して補正部分平方根として出力するマルチプレ
    クサと、前記併合平方根保持手段から出力される併合平
    方根に対して、前記マルチプレクサの出力する補正部分
    平方根を併合するための桁合わせを行なう桁合わせ手段
    と、前記併合平方根と前記桁合わせ手段の出力を加算し
    て更新された併合平方根を出力する加算手段とから主要
    部の一組は構成され、1段目の前記加算手段は被加数が
    ゼロであるので不要であり、2段目以降は、前記剰余保
    持手段は前段の前記シフト手段に、前記併合平方根保持
    手段は、2段目では前記マルチプレクサ、また、3段目
    以降は前記加算手段に、前記テーブル出力情報保持手段
    は前段の前記テーブル出力情報保持手段に、前記正規化
    シフト数保持手段は前段の前記正規化シフト数保持手段
    に接続され、後処理部として、パイプライン動作の同期
    をとるために、併合平方根保持手段、正規化シフト数保
    持手段があり、それぞれ、主要部の最終段の前記加算手
    段、前記正規化シフト数保持手段に接続され、前記正規
    化シフト数検出手段の出力より最終結果の平方根を求め
    るために併合平方根を右にシフトするシフト数を算出す
    る桁調整シフト数算出手段と、前記併合平方根保持手段
    の出力する併合平方根を前記桁調整シフト数算出手段の
    出力するシフト数により右シフトを行い最終結果の平方
    根を出力する桁調整手段とから後処理部は構成され、以
    上の前処理部、主要部、後処理部から全体が構成される
    ことを特徴とする固定小数点数ベクトル開平演算装置。
  14. 【請求項14】 固定小数点数からなるベクトルの要素
    順の入力オペランドに対して平方根ベクトルを要素順に
    求めるベクトル開平演算装置において、入力レジスタ
    と、前記入力レジスタの出力を2ビット単位にビット正
    規化するための正規化シフト数検出手段と、前記正規化
    シフト数検出手段の出力するシフト数により、前記入力
    レジスタの出力を左にシフトするビット正規化手段と、
    前記正規化手段の出力を保持する正規化オペランドレジ
    スタと、前記正規化シフト数検出手段の出力を保持する
    正規化シフト数保持手段と、前記正規化オペランドレジ
    スタの出力の上位ビットをアドレスとして平方根の近似
    逆数を索引するテーブル情報格納手段とから前処理部を
    構成し、主要部として、重複しない部分平方根のビット
    長の合計が求めるべき結果の平方根のビット長以上にな
    るまで部分平方根を求める処理を繰り返す、その回数に
    等しい個数だけ必要な一組の構成要素を列挙すると、パ
    イプライン動作の同期をとるために、剰余保持手段、補
    正後部分平方根保持手段、テーブル出力情報保持手段、
    正規化シフト数保持手段があり、主要部の1段目の前記
    剰余保持手段、前記テーブル出力情報保持手段、前記正
    規化シフト数保持手段は、それぞれ、前処理部の前記正
    規化オペランドレジスタ、前記テーブル情報格納手段
    に、前記正規化シフト数保持手段に接続され、前記補正
    後部分平方根保持手段は1段目ではゼロであるので不要
    であり、前記剰余保持手段の出力を被乗数、前記テーブ
    ル出力情報保持手段の出力を乗数として入力して乗算を
    行ない積の上位を補正前部分平方根として出力する乗算
    手段と、前記乗算手段の出力する補正前部分平方根をビ
    ット毎に反転する反転手段と、前記補正後部分平方根保
    持手段の出力を左に1ビットシフトして前記乗算手段の
    出力する補正前部分平方根とで被乗数を生成する被乗数
    生成手段と、前記剰余保持手段の出力する剰余(R)
    と、前記被乗数生成手段の出力する被乗数(S)と、更
    に前記反転手段の出力する乗数(T)を入力して、(R
    +SxT)または(R+SxT+T)の演算を行なう
    (R+SxT+T)演算手段と、前記(R+SxT+
    T)演算手段の出力を部分平方根のビット長だけ左にシ
    フトするシフト手段と、前記乗算手段の出力する補正前
    部分平方根のLSBから1を引く定数減算手段と、前記
    乗算手段の出力する補正前部分平方根のLSBに1を加
    える定数加算手段と、前記乗算手段の出力する補正前部
    分平方根と前記定数減算手段と前記定数加算手段の出力
    を選択して補正後部分平方根として出力するマルチプレ
    クサとから主要部の一組は構成され、2段目以降は、前
    記剰余保持手段は前段の前記シフト手段に、前記補正後
    部分平方根保持手段は、最下位は前段のマルチプレクサ
    に、それ以外は前段の前記補正後部分平方根保持手段
    に、前記テーブル出力情報保持手段は前段の前記テーブ
    ル出力情報保持手段に、前記正規化シフト数保持手段は
    前段の前記正規化シフト数保持手段に接続され、後処理
    部として、パイプライン動作の同期をとるために、複数
    の補正後部分平方根保持手段、正規化シフト数保持手段
    があり、前記複数の補正後部分平方根保持手段について
    最下位は主要部の最終段の前記マルチプレクサに、それ
    以外は最終段の前記補正後部分平方根保持手段に、前記
    正規化シフト数保持手段は最終段の前記正規化シフト数
    保持手段に、それぞれ、接続され、前記正規化シフト数
    検出手段の出力より最終結果の平方根を求めるために複
    数の補正後部分平方根を右にシフトするシフト数を算出
    する桁調整シフト数算出手段と、前記複数の補正後部分
    平方根保持手段の出力を前記桁調整シフト数算出手段の
    出力するシフト数により右シフトを行い最終結果の平方
    根を出力する桁調整手段とから後処理部は構成され、以
    上の前処理部、主要部、後処理部から全体が構成される
    ことを特徴とする固定小数点数ベクトル開平演算装置。
  15. 【請求項15】 2を指数の基底とする浮動小数点数か
    らなるベクトルの要素順の入力オペランドに対して平方
    根ベクトルを要素順に求める開平演算装置において、入
    力レジスタと、前記入力レジスタの出力の指数部に対し
    て指数のバイアスを除くための指数定数減算手段と、前
    記指数定数減算手段の出力を保持する指数保持手段と、
    指数のバイアスを除いた値が偶数となるように奇数の場
    合は仮数を1ビット左にシフトする正規化手段と、前記
    正規化手段の出力を保持する正規化オペランドレジスタ
    と、前記指数保持手段の出力を1ビット右にシフトする
    指数シフト手段と、前記指数シフト手段の出力に指数の
    バイアスを付加するための指数定数加算手段と、前記正
    規化オペランドレジスタの出力の上位ビットをアドレス
    として平方根の近似逆数を索引するテーブル情報格納手
    段とから前処理部を構成し、主要部として、部分平方根
    を併合した併合平方根のビット長が求めるべき結果の平
    方根のビット長以上になるまで部分平方根を求める処理
    を繰り返す、その回数に等しい個数だけ必要な一組の構
    成要素を列挙すると、パイプライン動作の同期をとるた
    めに、指数保持手段、剰余保持手段、併合平方根保持手
    段、テーブル出力情報保持手段があり、主要部の1段目
    の前記指数保持手段、前記剰余保持手段、前記テーブル
    出力情報保持手段は、それぞれ、前処理部の前記指数定
    数加算手段、前記正規化オペランドレジスタ、前記テー
    ブル情報格納手段に接続され、前記併合平方根保持手段
    は1段目では不要であり、前記剰余保持手段の出力を被
    乗数、前記テーブル出力情報保持手段の出力を乗数とし
    て入力して乗算を行ない積の上位を部分平方根として出
    力する乗算手段と、前記乗算手段の出力する部分平方根
    をビット毎に反転する反転手段と、前記併合平方根保持
    手段の出力を左に1ビットシフトして前記乗算手段の出
    力する部分平方根とで被乗数を生成する被乗数生成手段
    と、前記剰余保持手段の出力する剰余(R)と、前記被
    乗数生成手段の出力する被乗数(S)と、更に前記反転
    手段の出力する乗数(T)を入力して、(R+SxT)
    または(R+SxT+T)の演算を行なう(R+SxT
    +T)演算手段と、前記(R+SxT+T)演算手段の
    出力を部分平方根のビット長から隣接する部分平方根間
    で重複するビット長を引いた数だけ左にシフトするシフ
    ト手段と、前記乗算手段の出力する部分平方根のLSB
    から1を引く定数減算手段と、乗算手段の出力する部分
    平方根と前記定数減算手段の出力を選択して補正部分平
    方根として出力するマルチプレクサと、前記併合平方根
    保持手段から出力される併合平方根に対して、前記マル
    チプレクサの出力する補正部分平方根を併合するための
    桁合わせを行なう桁合わせ手段と、前記併合平方根と前
    記桁合わせ手段の出力を加算して更新された併合平方根
    を出力する加算手段とから主要部の一組は構成され、1
    段目の前記加算手段は被加数がゼロであるので不要であ
    り、2段目以降は、前記指数保持手段は前段の前記指数
    保持手段に、前記剰余保持手段は前段の前記シフト手段
    に、前記併合平方根保持手段は、2段目では前記マルチ
    プレクサ、また、3段目以降は前記加算手段に、前記テ
    ーブル出力情報保持手段は前段の前記テーブル出力情報
    保持手段に接続され、後処理部として、パイプライン動
    作の同期をとるために、主要部の最終段の前記指数保持
    手段に接続される指数保持手段、主要部の最終段の前記
    加算手段に接続される併合平方根保持手段とから後処理
    部は構成され、以上の前処理部、主要部、後処理部から
    全体が構成されることを特徴とする2を指数の基底とす
    る浮動小数点数ベクトル開平演算装置。
  16. 【請求項16】 2を指数の基底とする浮動小数点数か
    らなるベクトルの要素順の入力オペランドに対して平方
    根ベクトルを要素順に求める開平演算装置において、入
    力レジスタと、前記入力レジスタの出力の指数部に対し
    て指数のバイアスを除くための指数定数減算手段と、前
    記指数定数減算手段の出力を保持する指数保持手段と、
    指数のバイアスを除いた値が偶数となるように奇数の場
    合は仮数を1ビット左にシフトする正規化手段と、前記
    正規化手段の出力を保持する正規化オペランドレジスタ
    と、前記指数保持手段の出力を1ビット右にシフトする
    指数シフト手段と、前記指数シフト手段の出力に指数の
    バイアスを付加するための指数定数加算手段と、前記正
    規化オペランドレジスタの出力の上位ビットをアドレス
    として平方根の近似逆数を索引するテーブル情報格納手
    段とから前処理部を構成し、主要部として、重複しない
    部分平方根のビット長の合計が求めるべき結果の平方根
    のビット長以上になるまで部分平方根を求める処理を繰
    り返す、その回数に等しい個数だけ必要な一組の構成要
    素を列挙すると、パイプライン動作の同期をとるため
    に、指数保持手段、剰余保持手段、補正後部分平方根保
    持手段、テーブル出力情報保持手段があり、主要部の1
    段目の前記指数保持手段、前記剰余保持手段、前記テー
    ブル出力情報保持手段は、それぞれ、前処理部の前記指
    数定数加算手段、前記正規化オペランドレジスタ、前記
    テーブル情報格納手段に接続され、前記補正後部分平方
    根保持手段は1段目ではゼロであるので不要であり、前
    記剰余保持手段の出力を被乗数、前記テーブル出力情報
    保持手段の出力を乗数として入力して乗算を行ない積の
    上位を補正前部分平方根として出力する乗算手段と、前
    記乗算手段の出力する補正前部分平方根をビット毎に反
    転する反転手段と、前記補正後部分平方根保持手段の出
    力を左に1ビットシフトして前記乗算手段の出力する補
    正前部分平方根とで被乗数を生成する被乗数生成手段
    と、前記剰余保持手段の出力する剰余(R)と、前記被
    乗数生成手段の出力する被乗数(S)と、更に前記反転
    手段の出力する乗数(T)を入力して、(R+SxT)
    または(R+SxT+T)の演算を行なう(R+SxT
    +T)演算手段と、前記(R+SxT+T)演算手段の
    出力を部分平方根のビット長だけ左にシフトするシフト
    手段と、前記乗算手段の出力する補正前部分平方根のL
    SBから1を引く定数減算手段と、前記乗算手段の出力
    する補正前部分平方根のLSBに1を加える定数加算手
    段と、前記乗算手段の出力する補正前部分平方根と前記
    定数減算手段と前記定数加算手段の出力を選択して補正
    後部分平方根として出力するマルチプレクサとから主要
    部の一組は構成され、2段目以降は、前記指数保持手段
    は前段の前記指数保持手段に、前記剰余保持手段は前段
    の前記シフト手段に、前記補正後部分平方根保持手段
    は、最下位は前段のマルチプレクサに、それ以外は前段
    の前記補正後部分平方根保持手段に、前記テーブル出力
    情報保持手段は前段の前記テーブル出力情報保持手段に
    接続され、後処理部として、パイプライン動作の同期を
    とるために、主要部の最終段の前記指数保持手段に接続
    される指数保持手段、最下位は主要部の最終段の前記マ
    ルチプレクサに、それ以外は最終段の前記補正後部分平
    方根保持手段に接続される複数の補正後部分平方根保持
    手段とから後処理部は構成され、以上の前処理部、主要
    部、後処理部から全体が構成されることを特徴とする2
    を指数の基底とする浮動小数点数ベクトル開平演算装
    置。
JP3131001A 1991-06-03 1991-06-03 開平演算装置 Expired - Lifetime JP2722858B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP3131001A JP2722858B2 (ja) 1991-06-03 1991-06-03 開平演算装置
US07/893,082 US5307302A (en) 1991-06-03 1992-06-03 Square root operation device
US07/893,089 US5278782A (en) 1991-06-03 1992-06-03 Square root operation device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3131001A JP2722858B2 (ja) 1991-06-03 1991-06-03 開平演算装置

Publications (2)

Publication Number Publication Date
JPH04355827A JPH04355827A (ja) 1992-12-09
JP2722858B2 true JP2722858B2 (ja) 1998-03-09

Family

ID=15047633

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3131001A Expired - Lifetime JP2722858B2 (ja) 1991-06-03 1991-06-03 開平演算装置

Country Status (2)

Country Link
US (1) US5307302A (ja)
JP (1) JP2722858B2 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8908872B2 (en) * 1996-06-07 2014-12-09 That Corporation BTSC encoder
US5796842A (en) * 1996-06-07 1998-08-18 That Corporation BTSC encoder
US6175907B1 (en) * 1998-07-17 2001-01-16 Ip First, L.L.C Apparatus and method for fast square root calculation within a microprocessor
GB2351169B (en) * 1999-06-14 2003-11-19 Nokia Mobile Phones Ltd Audio apparatus
US7031996B2 (en) * 2000-11-02 2006-04-18 Seagate Technology Llc Calculating square root of binary numbers with fixed-point microprocessor
JP3563043B2 (ja) * 2001-05-31 2004-09-08 株式会社半導体理工学研究センター 平方根の逆数計算方法、計算回路、及びプログラム
US6941334B2 (en) * 2002-02-01 2005-09-06 Broadcom Corporation Higher precision divide and square root approximations
US7574470B2 (en) * 2005-11-16 2009-08-11 Flexmedia Electronics Corp. Multimedia data processing method
US9727399B1 (en) * 2016-09-29 2017-08-08 International Business Machines Corporation Residue-based checking of a shift operation
US10447983B2 (en) * 2017-11-15 2019-10-15 Nxp Usa, Inc. Reciprocal approximation circuit

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4878190A (en) * 1988-01-29 1989-10-31 Texas Instruments Incorporated Floating point/integer processor with divide and square root functions
US4949296A (en) * 1988-05-18 1990-08-14 Harris Corporation Method and apparatus for computing square roots of binary numbers
US4999801A (en) * 1988-07-15 1991-03-12 Fujitsu Limited Floating point operation unit in division and square root operations
JP2645422B2 (ja) * 1988-07-15 1997-08-25 富士通株式会社 浮動小数点演算処理装置
US5159566A (en) * 1989-09-05 1992-10-27 Cyrix Corporation Method and apparatus for performing the square root function using a rectangular aspect ratio multiplier
US5157624A (en) * 1990-12-13 1992-10-20 Micron Technology, Inc. Machine method to perform newton iterations for reciprocal square roots

Also Published As

Publication number Publication date
JPH04355827A (ja) 1992-12-09
US5307302A (en) 1994-04-26

Similar Documents

Publication Publication Date Title
US6360241B1 (en) Computer method and apparatus for division and square root operations using signed digit
US9722629B2 (en) Method and apparatus for converting from floating point to integer representation
CA2530015C (en) Division and square root arithmetic unit
KR19980032246A (ko) 비트 길이가 다른 다중수를 지원하는 병렬 승산기
US9785407B2 (en) Data processing apparatus having combined divide-square root circuitry
US20210182026A1 (en) Compressing like-magnitude partial products in multiply accumulation
KR101560340B1 (ko) 포화가 적용된 정수 곱셈 연산 및 곱셈-덧셈 연산
JP2722858B2 (ja) 開平演算装置
US5677861A (en) Arithmetic apparatus for floating-point numbers
JPH07168697A (ja) 倍精度除算回路および方法
US5784307A (en) Division algorithm for floating point or integer numbers
JPH0773227A (ja) 論理回路の自動設計方法、そのシステム及びその装置並びに乗算器
US6366940B1 (en) High-speed modular multiplication apparatus achieved in small circuit
JP3276444B2 (ja) 除算回路
JP2005018759A (ja) 2の浮動小数点数乗の概算を実施するための方法および装置
JP7285966B2 (ja) 多入力浮動小数点加算器
GB2549153B (en) Apparatus and method for supporting a conversion instruction
US6480870B1 (en) Random number generator using lehmer algorithm
Schwarz Binary Floating-Point Unit Design: the fused multiply-add dataflow
JP2761145B2 (ja) 開平演算装置
JP3252954B2 (ja) 乗算方法および乗算回路
JPH06187132A (ja) 開平演算装置
JPH0527950A (ja) 開平演算装置
JP3100868B2 (ja) 浮動小数点数のための算術演算装置
JPH04358224A (ja) 開平演算装置