JPH04355827A - 開平演算装置 - Google Patents

開平演算装置

Info

Publication number
JPH04355827A
JPH04355827A JP3131001A JP13100191A JPH04355827A JP H04355827 A JPH04355827 A JP H04355827A JP 3131001 A JP3131001 A JP 3131001A JP 13100191 A JP13100191 A JP 13100191A JP H04355827 A JPH04355827 A JP H04355827A
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.)
Granted
Application number
JP3131001A
Other languages
English (en)
Other versions
JP2722858B2 (ja
Inventor
Hiroshi Nakano
中野 拓
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)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

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
+ai+1}xai+1  を計算した後、Ri+1を
(1)での一定のビット数だけ左にシフトする。
【0012】テーブル情報格納手段には、a1の近似逆
数が格納されており、Aの上位ビットをアドレスとして
索引され、剰余保持手段に0番目剰余として格納されて
いるR0(=A)とa1の近似逆数との積が、乗算手段
により計算され、積の上位ビットとしてa1が得られる
。 次に、被乗数生成手段では1回目の反復計算ではa1を
出力し、R0、a1、a1が(R−SxT)演算手段に
入力されて、R1が得られる。次にa1が併合平方根保
持手段に格納され、R1が一定のビット数だけ左シフト
された後、剰余保持手段に格納される。以降、併合平方
根のビット長が求めるべき平方根のビット長以上になる
まで、i>1として下記の処理を繰り返す。
【0013】剰余保持手段にi番目剰余として格納され
ているRiとa1の近似逆数との積が、乗算手段により
計算され、積の上位ビットとしてai+1が得られる。 次に、被乗数生成手段では(a1+・・・+ai)を左
に1ビットシフトした後、ai+1とマージして被乗数
として出力し、Ri、{(a1+・・・+ai)x2+
ai+1}、ai+1  が(R−SxT)演算手段に
入力されて、Ri+1が得られる。次にai+1が併合
平方根保持手段に格納され、Ri+1が一定のビット数
だけ左シフトされた後、剰余保持手段に格納される。
【0014】(数1),(数2)では、はじめに部分平
方根の間でビットの重複がないとしたのであるが、部分
平方根間でビットの重複があっても上記手順で平方根を
求めることができれば特に部分平方根間の非重複を必要
条件として設定しなくてもよい。上に示した手順におい
て、開平演算の実行時間に占める割合が高いものとして
、テーブル情報格納手段の索引、剰余とa1の近似逆数
の乗算時間、被乗数{(a1+・・・+ai)x2+a
i+1}の生成、(R−SxT)の演算時間がある。こ
れらの中で、被乗数{(a1+・・・+ai)x2+a
i+1}の生成は、部分平方根間でビットの重複がない
場合は、単にa1、・・・、aiを1ビット左にシフト
して、ai+1と併合するだけでよい。また、部分平方
根間で1ビットの重複がある場合は、(a1+・・・+
ai)について、aiを併合平方根保持手段に格納する
前に、(R−SxT)の演算と並行して、(a1+・・
・+ai)の加算を実行すれば開平演算の実行時間に影
響を与えることはない。一方、被乗数の生成では(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ー16の値を格納し、常に0である符
号ビットと常に1である2ー1ビットはテーブルには直
接格納しないが、実施例において逐一説明を加えるのは
煩わしいので先頭2ビットとして01がテーブルに含ま
れているように説明する。乗算を実行する場合には、乗
数を1ビット重複させた3ビット単位のグループに分割
して表1に示すBoothのアルゴリズムに従って被乗
数の倍数を発生させ、樹木状に構成した桁上げ保留加算
器群によって2個の部分桁上げと部分和になるまで求め
、この2つを桁上げ伝播加算器で加算して最終的な積を
求める。 剰余と平方根の近似逆数の乗算ではテーブルから読みだ
した値に対して、先頭に1を付加するとともに、末尾に
、アドレスとして使用するビットの右の隣接1ビットの
反転を付加する。乗算では右に付加したビットを乗数の
最下位ビットとすることによって2ー17倍ではなく、
2ー16倍の効果を持たせる。01.00000000
000に対しては、テーブルに格納する2ー2から2ー
16の値はすべて1であり、入力オペランドのアドレス
に使用されるビット未満がゼロである場合にも、上記の
2ー16倍の効果により、乗算器の内部では1.000
0000000000000を乗数とする乗算が行なわ
れる。
【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で05A6
18B0BCC8F13F0と0D773の乗算が行な
われ、04C1085985F190E0484D0の
積が求められる。マルチプレクサ10では乗算手段9の
280から268の13ビットを符号1ビット、データ
12ビットの1番目の部分平方根として選択する。反転
手段12では部分平方根を入力してビット反転するとと
もに最下位ビットに1を付加して出力する。ただし、反
転手段12では3回目の反復で部分平方根が負の場合に
限り、最下位ビットに0を付加して出力する。これは負
の方向に大きめに部分平方根を算出しているのを補正す
るために行なう。また、被乗数生成手段13では、1回
目の反復では254から242までにマルチプレクサ1
0の出力を埋め込み、他のビットをゼロとして出力する
。(R+SxT+T)演算手段14では剰余保持手段8
の出力をR、被乗数生成手段13の出力をS,反転手段
12の出力をTとして入力し、3回目の反復で部分平方
根が負の場合に限り(R+SxT+T)を実行し、それ
以外の場合は(R+SxT)の演算を実行する。(R+
SxT+T)の+Tは部分平方根の最下位ビットに対応
するビットが220の位になるように桁合わせをして樹
木状桁上げ保留加算器群に入力される。(R+SxT+
T)演算手段14の出力FFFFB870BCC8F1
3F0はシフタ6によって左に11ビットシフトされて
マルチプレクサ7により選択され、剰余保持手段8にセ
ットされる。一方、定数減算手段15ではマルチプレク
サ10の出力のLSBから1を引く。マルチプレクサ1
6は、マルチプレクサ10の出力が正で(R+SxT+
T)演算手段14の出力が負の場合、定数減算手段15
の出力を選択し、それ以外の場合はマルチプレクサ10
の出力を選択する。1回目の反復では上記の条件を判断
して定数減算手段15の出力を選択する。桁合わせ手段
17では各反復での部分平方根を併合するための桁合わ
せをを実行する。具体的には、部分平方根が負の場合に
は、マルチプレクサ16の出力の13ビットの先頭2ビ
ットをゼロに抑止し、また、部分平方根が正の場合には
、マルチプレクサ16の出力の13ビットを、上位の併
合平方根とのビットの重みがつり合うようにシフトを行
ない、出力する。1番目の部分平方根に対しては、25
4から242に入力データを整列させ、出力する。加算
手段18では併合平方根保持手段11の出力と、桁合わ
せ手段17の出力を入力して加算を行ない、結果を併合
平方根保持手段11にセットする。
【0022】次に2回目の反復計算に入る。テーブル情
報格納手段5の出力は2回目以降も1回目と変わらない
。剰余保持手段8にセットされた1番目の剰余R1のF
DC385E64789F8000に0D773が乗算
手段9により掛けられ、積FE1E34498C870
24268000が出力される。281から269の1
F0Fが符号1ビット、データ12ビットの2番目の部
分平方根としてマルチプレクサ10により選択される。 反転手段12では1F0Fが反転され、00F0となり
、最下位ビットとして1が付加されて出力され、(R+
SxT+T)演算手段14では実質的に乗数として00
F1で演算が行なわれる。一方、被乗数生成手段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へ埋め込み、
026070F12500000を出力する。(R+S
xT+T)演算手段14では剰余保持手段8の出力をR
、被乗数生成手段13の出力をS,反転手段12の出力
をTとして入力し、(R+SxT)の演算を実行する。 (R+SxT+T)演算手段14の出力000218B
8506700000を出力する。マルチプレクサ16
は、マルチプレクサ10の出力を選択して出力し、桁合
わせ手段17では13ビットの入力を232から220
に整列させる。加算手段18では併合平方根保持手段1
1の出力と、桁合わせ手段17の出力を入力して加算を
行ない、130387925000000を出力する。 なお、3回目の反復で部分平方根が負で、剰余が正の場
合に限り、加算手段18では220に初期キャリを加え
る。桁調整シフト数算出手段19では、正規化シフト数
検出手段3からの4を右1ビットシフトして2とした後
、定数25を加え、27を出力し、桁調整手段20では
加算手段18の出力を桁調整シフト数算出手段19から
の指示である27だけ右にシフトして最終結果である2
6070F24を出力する。
【0024】(実施例2)図4は本発明の第2の実施例
である固定小数点開平演算装置のブロック図を示すもの
である。本実施例の固定小数点開平演算装置は2の補数
表示の64ビットの固定小数点数を入力して、2の補数
表示の32ビットの平方根を出力し、部分平方根のデー
タとしてのビット長が8で部分平方根間には重複がない
。図4において、31は入力レジスタ、32は例外検出
手段、33は正規化シフト数検出手段、34は正規化手
段、35はテーブル情報格納手段、36はシフタ、37
はマルチプレクサ、38は剰余保持手段、39は乗算手
段、40はマルチプレクサ、41から44は部分平方根
保持手段、45は反転手段、46は被乗数生成手段、4
7は(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の
13ビットが入力され、796Bに対して、0F96B
が出力される。さらにこの出力の最下位ビットとして正
規化手段34の250のビットを反転したものが付加さ
れるのであるが、本例では0が付加され、乗算手段39
での実質的な乗数は0F96Bとなる。マルチプレクサ
37では先頭に4ビットのゼロを付加した正規化手段3
4の出力を選択し、この出力が剰余保持手段38にセッ
トされる。このとき、部分平方根保持手段41から44
はゼロにリセットされる。乗算手段39で0437E1
533B46A81F4と0F96Bの乗算が行なわれ
、041C1D852271800EAA4FCの積が
求められる。マルチプレクサ40では乗算手段39の2
79から271の9ビットを符号1ビット、データ8ビ
ットの1番目の部分平方根として選択する。反転手段4
5では部分平方根を入力してビット反転するとともに,
部分平方根の下位の隣接2ビットが11、または、部分
平方根が負、または2回目の反復で1番目の剰余の26
3から253の11ビットがゼロでない場合、最下位ビ
ットに0を付加し、それ以外の場合1を付加して出力す
る。また、被乗数生成手段46では、1回目の反復では
マルチプレクサ40の出力の符号ビットを除いてデータ
8ビットを255から248に埋め込み、他のビットを
ゼロとして出力する。(R+SxT+T)演算手段47
では剰余保持手段8の出力をR、被乗数生成手段13の
出力をS,反転手段12の出力をTとして入力し、反転
手段45で最下位ビットに0を付加した場合に(R+S
xT+T)を実行し、それ以外の場合は(R+SxT)
の演算を実行する。(R+SxT+T)の+Tは部分平
方根の最下位ビットに対応するビットが1回目の反復で
は248、2回目の反復では240、3回目の反復では
232、4回目の反復では224の位になるように桁合
わせをして樹木状桁上げ保留加算器群に入力される。(
R+SxT+T)演算手段47の出力00075153
3D46A81F4はシフタ36によって左に8ビット
シフトされてマルチプレクサ37により選択され、剰余
保持手段38にセットされる。一方、定数減算手段48
ではマルチプレクサ40の出力のLSBから1を引き、
定数加算手段49ではマルチプレクサ40の出力のLS
Bに1を加える。。マルチプレクサ50は、マルチプレ
クサ40の出力が正で(R+SxT+T)演算手段47
の出力が負の場合、定数減算手段48の出力を選択し、
部分平方根の下位の隣接2ビットが11で(R+SxT
+T)演算手段47の出力が正の場合、または、部分平
方根が負の場合、または、2回目の反復において1番目
の剰余の263から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から27
2の072が符号1ビット、データ8ビットの2番目の
部分平方根としてマルチプレクサ40により選択される
。反転手段45では072が反転され、18Dとなり、
最下位ビットとして0が付加されて出力され、(R+S
xT+T)演算手段47では実質的に乗数として18D
で演算が行なわれる。一方、被乗数生成手段46では、
部分平方根保持手段41から44の出力を左に1ビット
シフトするとともに、マルチプレクサ40の出力する9
ビットを248から240へ埋め込み、1067200
00000000を出力する。なお、図4においては被
乗数生成手段46の出力に対応して106730000
000000と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により選択される。反転手段4
5では134が反転され、0CBとなり、最下位ビット
として0が付加されて出力され、(R+SxT+T)演
算手段47では実質的に乗数として0CBで演算が行な
われる。一方、被乗数生成手段46では、部分平方根保
持手段41から44の出力を左に1ビットシフトすると
ともに、マルチプレクサ40の出力する9ビットを24
0から232へ埋め込み、106E534000000
00を出力する。なお、図5,図6においては被乗数生
成手段46の出力に対応して106E53500000
000と232ビットが1となっているが図4に示す開
平演算装置では(R+SxT+T)の演算での+Tによ
り実質的に同じ結果となるようにしている。(R+Sx
T+T)演算手段47では剰余保持手段38の出力をR
、被乗数生成手段46の出力をS,反転手段45の出力
をTとして入力し、(R+SxT+T)の演算を実行す
る。(R+SxT+T)演算手段47の出力00002
757181F40000はシフタ36によって左に8
ビットシフトされてマルチプレクサ37により選択され
、剰余保持手段38にセットされる。マルチプレクサ5
0は、定数加算器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
から224へ埋め込み、106E46A0200000
0を出力する。(R+SxT+T)演算手段47では剰
余保持手段38の出力をR、被乗数生成手段46の出力
をS,反転手段45の出力をTとして入力し、(R+S
xT)の演算を実行する。(R+SxT+T)演算手段
47は00067A8ADF0000000を出力する
。マルチプレクサ50は、マルチプレクサ40の出力を
選択して出力し、部分平方根保持手段44ではマルチプ
レクサ50の出力をセットする。桁調整シフト数算出手
段51では、正規化シフト数検出手段33からの2を右
1ビットシフトして1とした後、1を出力し、桁調整手
段52では部分平方根保持手段41〜43とマルチプレ
クサ50の出力を併合して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はマルチプレクサ、74
は併合平方根保持手段、75は反転手段、76は被乗数
生成手段、77は(R+SxT+T)演算手段、78は
定数減算手段、79はマルチプレクサ、80は桁合わせ
手段、81は加算手段である。
【0030】以下、具体的な数値例を用いて図7に示す
浮動小数点開平演算装置の動作を説明する。図8,図9
はオペランドが入力されてから、各々の手段で処理され
ていく過程を示している。はじめにオペランドとして1
04C4EBDC46C3EBEが入力され、入力レジ
スタ61にセットされる。例外検出手段62では入力オ
ペランドが負の場合、データ例外として検出し、浮動小
数点開平演算装置の外部の命令実行制御部に対して例外
が発生していることを通知する。本数値例では(以下で
は、この前提を省略する)オペランドは正であるので例
外は検出されない。入力レジスタ61の出力の262か
ら252の指数に対して、指数定数減算手段63により
3FFが引かれた後、シフタ64により右に1ビットシ
フトされ、指数定数加算手段65により再び3FFが加
算され、結果の指数が求められる。リーディングビット
付加回路66では入力レジスタ61の出力の251から
20の仮数部に対して先頭にリーディングビットの1が
付加される。正規化手段67では、入力レジスタ61の
出力の252のビットが1の場合入力を左に12ビット
シフトして、また、入力レジスタ61の出力の252の
ビットが0の場合入力を左に13ビットシフトして出力
する。テーブル情報格納手段68には正規化手段67の
265から253の13ビットが入力され、0881A
が出力される。 さらにこの出力の最下位ビットとして正規化手段67の
252のビットを反転したものが付加されるのであるが
、本例では1が付加され、乗算手段72での実質的な乗
数は0881Bとなる。マルチプレクサ70では正規化
手段67の出力を選択し、この出力が剰余保持手段71
にセットされる。このとき、併合平方根保持手段74は
ゼロにリセットされる。乗算手段72で389C9B8
8D87D7C000と0881Bの乗算が行なわれ、
1E192B251A717F1C14000の積が求
められる。マルチプレクサ73では乗算手段72の28
2から270の13ビットを符号1ビット、データ12
ビットの1番目の部分平方根として選択する。反転手段
75では部分平方根を入力してビット反転するとともに
最下位ビットに1を付加して出力する。ただし、反転手
段75では5回目の反復で部分平方根が負の場合に限り
、最下位ビットに0を付加して出力する。これは負の方
向に大きめに部分平方根を算出しているのを補正するた
めに行なう。また、被乗数生成手段76では、1回目の
反復では256から244までにマルチプレクサ73の
出力を埋め込み、他のビットをゼロとして出力する。(
R+SxT+T)演算手段77では剰余保持手段71の
出力をR、被乗数生成手段76の出力をS,反転手段7
5の出力をTとして入力し、5回目の反復で部分平方根
が負の場合に限り(R+SxT+T)を実行し、それ以
外の場合は(R+SxT)の演算を実行する。(R+S
xT+T)の+Tは部分平方根の最下位ビットに対応す
るビットが20の位になるように桁合わせをして樹木状
桁上げ保留加算器群に入力される。(R+SxT+T)
演算手段77の出力00027788D87D7C00
0はシフタ69によって左に11ビットシフトされてマ
ルチプレクサ70により選択され、剰余保持手段71に
セットされる。一方、定数減算手段78ではマルチプレ
クサ73の出力のLSBから1を引く。マルチプレクサ
79は、マルチプレクサ73の出力が正で(R+SxT
+T)演算手段77の出力が負の場合、定数減算手段7
8の出力を選択し、それ以外の場合はマルチプレクサ7
3の出力を選択する。1回目の反復では上記の条件を判
断してマルチプレクサ73の出力を選択する。桁合わせ
手段80では各反復での部分平方根を併合するための桁
合わせを実行する。具体的には、部分平方根が負の場合
には、マルチプレクサ79の出力の13ビットの先頭2
ビットをゼロに抑止し、また、部分平方根が正の場合に
は、マルチプレクサ79の出力の13ビットを、上位の
併合平方根とのビットの重みがつり合うようにシフトを
行ない、出力する。1番目の部分平方根に対しては、2
56から244に入力データを整列させ、出力する。加
算手段81では併合平方根保持手段74の出力と、桁合
わせ手段80の出力を入力して加算を行ない、結果を併
合平方根保持手段74にセットする。
【0031】次に2回目の反復計算に入る。テーブル情
報格納手段68の出力は2回目以降も1回目と変わらな
い。剰余保持手段71にセットされた1番目の剰余R1
の13BC46C3EBE000000に0881Bが
乗算手段72により掛けられ、積0A7E1A738B
F8E0A000000が出力される。283から27
1の014Fが符号1ビット、データ12ビットの2番
目の部分平方根としてマルチプレクサ73により選択さ
れる。反転手段75では014Fが反転され、1EB0
となり、最下位ビットとして1が付加されて出力され、
(R+SxT+T)演算手段77では実質的に乗数とし
て1EB1で演算が行なわれる。一方、被乗数生成手段
76では、併合平方根保持手段74の出力を左に1ビッ
トシフトするとともに、マルチプレクサ10の出力する
13ビットの先頭ビットを除く12ビットを244から
233へ埋め込み、0F0C29E00000000を
出力する。(R+SxT+T)演算手段77では剰余保
持手段71の出力をR、被乗数生成手段76の出力をS
,反転手段75の出力をTとして入力し、(R+SxT
)の演算を実行する。(R+SxT+T)演算手段77
の出力000B5BF7CBE000000はシフタ6
9によって左に11ビットシフトされてマルチプレクサ
70により選択され、剰余保持手段71にセットされる
。マルチプレクサ79は、マルチプレクサ73の出力を
選択して出力し、桁合わせ手段80では13ビットの入
力を245から233に整列させる。加算手段81では
併合平方根保持手段74の出力と、桁合わせ手段80の
出力を入力して加算を行ない、078629E0000
0000を出力する。併合平方根保持手段74では加算
手段81の出力をセットする。
【0032】次に3回目の反復計算に入る。テーブル情
報格納手段68の出力は1回目と変わらない。剰余保持
手段71にセットされた2番目の剰余R2の5ADFB
E5F000000000に0881Bが乗算手段72
により掛けられ、積305072BB8C050000
00000が出力される。283から271の060A
が符号1ビット、データ12ビットの3番目の部分平方
根としてマルチプレクサ73により選択される。反転手
段75では060Aが反転され、19F5となり、最下
位ビットとして1が付加されて出力され、(R+SxT
+T)演算手段77では実質的に乗数として19F6で
演算が行なわれる。一方、被乗数生成手段76では、併
合平方根保持手段74の出力を左に1ビットシフトする
とともに、マルチプレクサ73の出力する13ビットの
先頭ビットを除く12ビットを233から222へ埋め
込み、0F0C53D82800000を出力する。(
R+SxT+T)演算手段77では剰余保持手段71の
出力をR、被乗数生成手段76の出力をS,反転手段7
5の出力をTとして入力し、(R+SxT)の演算を実
行する。(R+SxT+T)演算手段77の出力FFF
F4C079E7000000はシフタ69によって左
に11ビットシフトされてマルチプレクサ70により選
択され、剰余保持手段71にセットされる。マルチプレ
クサ79は、定数減算手段78の出力を選択して出力し
、桁合わせ手段80では13ビットの入力を234から
222に整列させる。加算手段81では併合平方根保持
手段74の出力と、桁合わせ手段80の出力を入力して
加算を行ない、078629F82400000を出力
する。併合平方根保持手段74では加算手段81の出力
をセットする。  次に4回目の反復計算に入る。テー
ブル情報格納手段68の出力は1回目と変わらない。剰
余保持手段71にセットされた3番目の剰余R3のFA
603CF3800000000に0881Bが乗算手
段72により掛けられ、積FD028887C9AE8
00000000が出力される。283から271の1
FA0が符号1ビット、データ12ビットの4番目の部
分平方根としてマルチプレクサ73により選択される。 反転手段75では1FA0が反転され、005Fとなり
、最下位ビットとして1が付加されて出力され、(R+
SxT+T)演算手段77では実質的に乗数として00
60で演算が行なわれる。一方、被乗数生成手段76で
は、併合平方根保持手段74の出力を左に1ビットシフ
トするとともに、マルチプレクサ73の出力する13ビ
ットの先頭ビットを除く12ビットを222から211
へ埋め込み、0F0C53F04FD0000を出力す
る。(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により選択される。反転手
段75では0295が反転され、1D6Aとなり、最下
位ビットとして1が付加されて出力され、(R+SxT
+T)演算手段77では実質的に乗数として1D6Bで
演算が行なわれる。一方、被乗数生成手段76では、併
合平方根保持手段74の出力を左に1ビットシフトする
とともに、マルチプレクサ73の出力する13ビットの
先頭ビットを除く12ビットを211から20へ埋め込
み、0F0C53F04FA0295を出力する。(R
+SxT+T)演算手段77では剰余保持手段71の出
力をR、被乗数生成手段76の出力をS,反転手段75
の出力をTとして入力し、(R+SxT)の演算を実行
する。(R+SxT+T)演算手段77は000898
33F26775547を出力する。マルチプレクサ7
9は、マルチプレクサ73の出力を選択して出力し、桁
合わせ手段80では13ビットの入力を212から20
に整列させる。加算手段81では併合平方根保持手段7
4の出力と、桁合わせ手段80の出力を入力して加算を
行ない、078629F827D0295を出力する。 なお、5回目の反復で、部分平方根が負で剰余が正の場
合に限り、加算手段81では20に初期キャリを加える
【0034】最終的な結果として、263の符号ビット
として0、262から252の指数部として指数定数加
算手段65の出力する11ビット、251から20の仮
数部として加算手段81の253から22がそれぞれ選
択され、281E18A7E09F40A5として図7
に示す開平演算装置から出力される。
【0035】(実施例4)図10は本発明の第4の実施
例である浮動小数点開平演算装置のブロック図を示すも
のである。本実施例の浮動小数点開平演算装置はIEE
E規格の倍精度浮動小数点数を入力して、同じ倍精度浮
動小数点数の平方根を出力し、部分平方根のデータとし
てのビット長が8で部分平方根間には重複がない。図1
0において、91は入力レジスタ、92は例外検出手段
、93は指数定数減算手段、94はシフタ、95は指数
定数加算手段、96はリーディングビット付加回路、9
7は正規化手段、98はテーブル情報格納手段、99は
シフタ、100はマルチプレクサ、101は剰余保持手
段、102は乗算手段、103はマルチプレクサ、10
4から110は部分平方根保持手段、111は反転手段
、112は被乗数生成手段、113は(R+SxT+T
)演算手段、114は定数減算手段、115は定数加算
手段、116はマルチプレクサである。
【0036】以下、具体的な数値例を用いて図10に示
す浮動小数点開平演算装置の動作を説明する。図11,
図12はオペランドが入力されてから、各々の手段で処
理されていく過程を示している。はじめにオペランドと
して56F80A494B9A80F8が入力され、入
力レジスタ91にセットされる。例外検出手段92では
入力オペランドが負の場合はデータ例外として検出し、
浮動小数点開平演算装置の外部の命令実行制御部に対し
て例外が発生していることを通知する。本数値例では(
以下では、この前提を省略する)オペランドは正である
ので例外は検出されない。入力レジスタ91の出力の2
62から252の指数に対して、指数定数減算手段93
により3FFが引かれた後、シフタ94により右に1ビ
ットシフトされ、指数定数加算手段95により再び3F
Fが加算され、結果の指数が求められる。リーディング
ビット付加回路96では入力レジスタ91の出力の25
1から20の仮数部に対して先頭にリーディングビット
の1が付加される。正規化手段97では、入力レジスタ
91の出力の252のビットが1の場合入力を左に12
ビットシフトして、また、入力レジスタ91の出力の2
52のビットが0の場合入力を左に13ビットシフトし
て出力する。テーブル情報格納手段98には正規化手段
97の265から253の13ビットが入力され、0D
0DEが出力される。さらにこの出力の最下位ビットと
して正規化手段97の252のビットを反転したものが
付加されるのであるが、本例では1が付加され、乗算手
段102での実質的な乗数は0D0DFとなる。マルチ
プレクサ100では正規化手段97の出力を選択し、こ
の出力が剰余保持手段101にセットされる。このとき
、部分平方根保持手段104から110はゼロにリセッ
トされる。乗算手段102で180A494B9A80
F8000と0D0DFの乗算が行なわれ、139D4
C8346645FD808000の積が求められる。 マルチプレクサ103では乗算手段102の281から
273の9ビットを符号1ビット、データ8ビットの1
番目の部分平方根として選択する。反転手段111では
部分平方根を入力してビット反転するとともに,部分平
方根の下位の隣接2ビットが11、または、部分平方根
が負、または2回目の反復で1番目の剰余の265から
255の11ビットがゼロでない場合、最下位ビットに
0を付加し、それ以外の場合1を付加して出力する。ま
た、被乗数生成手段112では、1回目の反復ではマル
チプレクサ103の出力の符号ビットを除いてデータ8
ビットを257から250に埋め込み、他のビットをゼ
ロとして出力する。(R+SxT+T)演算手段113
では剰余保持手段101の出力をR、被乗数生成手段1
12の出力をS,反転手段111の出力をTとして入力
し、反転手段111で最下位ビットに0を付加した場合
に(R+SxT+T)を実行し、それ以外の場合は(R
+SxT)の演算を実行する。(R+SxT+T)の+
Tは部分平方根の最下位ビットに対応するビットが1回
目の反復では250、2回目の反復では242、3回目
の反復では234、4回目の反復では226,5回目の
反復では218,6回目の反復では210,7回目の反
復では22の位になるように桁合わせをして樹木状桁上
げ保留加算器群に入力される。(R+SxT+T)演算
手段113の出力FFF8094B9A80F8000
はシフタ99によって左に8ビットシフトされてマルチ
プレクサ100により選択され、剰余保持手段101に
セットされる。一方、定数減算手段114ではマルチプ
レクサ103の出力のLSBから1を引き、定数加算手
段115ではマルチプレクサ103の出力のLSBに1
を加える。。マルチプレクサ116は、マルチプレクサ
103の出力が正で(R+SxT+T)演算手段113
の出力が負の場合、定数減算手段114の出力を選択し
、部分平方根の下位の隣接2ビットが11で(R+Sx
T+T)演算手段113の出力が正の場合、または、部
分平方根が負の場合、または、2回目の反復において1
番目の剰余の265から255の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から
274の1E6が符号1ビット、データ8ビットの2番
目の部分平方根としてマルチプレクサ103により選択
される。反転手段111では1E6が反転され、019
となり、最下位ビットとして0が付加されて出力され、
(R+SxT+T)演算手段113では実質的に乗数と
して019で演算が行なわれる。一方、被乗数生成手段
112では、部分平方根保持手段104から110の出
力を左に1ビットシフトするとともに、マルチプレクサ
103の出力する9ビットを250から242へ埋め込
み、4E7980000000000を出力する。なお
、図11,図12においては被乗数生成手段112の出
力に対応して4E79C0000000000と242
ビットが1となっているが図10に示す開平演算装置で
は(R+SxT+T)の演算での+Tにより実質的に同
じ結果となるようにしている。(R+SxT+T)演算
手段113では剰余保持手段101の出力をR、被乗数
生成手段112の出力をS,反転手段111の出力をT
として入力し、(R+SxT+T)の演算を実行する。 (R+SxT+T)演算手段113の出力FFB32F
5A80F800000はシフタ99によって左に8ビ
ットシフトされてマルチプレクサ100により選択され
、剰余保持手段101にセットされる。マルチプレクサ
116は、マルチプレクサ103の出力を選択して出力
し、部分平方根保持手段105ではマルチプレクサ11
6の出力をセットする。
【0038】次に3回目の反復計算に入る。テーブル情
報格納手段98の出力は1回目と変わらない。剰余保持
手段101にセットされた2番目の剰余R2のB32F
5A80F80000000に0D0DFが乗算手段1
02により掛けられ、積C1538FC89FD808
0000000が出力される。282から274の10
5が符号1ビット、データ8ビットの3番目の部分平方
根としてマルチプレクサ103により選択される。反転
手段111では105が反転され、0FAとなり、最下
位ビットとして0が付加されて出力され、(R+SxT
+T)演算手段113では実質的に乗数として0FAで
演算が行なわれる。一方、被乗数生成手段112では、
部分平方根保持手段104から110の出力を左に1ビ
ットシフトするとともに、マルチプレクサ103の出力
する9ビットを242から234へ埋め込み、4E73
41400000000を出力する。なお、図11,図
12においては被乗数生成手段112の出力に対応して
4E7341800000000と234ビットに+1
された形になっているが図10に示す開平演算装置では
(R+SxT+T)の演算での+Tにより実質的に同じ
結果となるようにしている。(R+SxT+T)演算手
段113では剰余保持手段101の出力をR、被乗数生
成手段112の出力をS,反転手段111の出力をTと
して入力し、(R+SxT+T)の演算を実行する。(
R+SxT+T)演算手段113の出力FFCBE87
7F80000000はシフタ99によって左に8ビッ
トシフトされてマルチプレクサ100により選択され、
剰余保持手段101にセットされる。マルチプレクサ1
16は、マルチプレクサ103の出力を選択して出力し
、部分平方根保持手段106ではマルチプレクサ116
の出力をセットする。
【0039】次に4回目の反復計算に入る。テーブル情
報格納手段98の出力は1回目と変わらない。剰余保持
手段101にセットされた3番目の剰余R3のCBE8
77F8000000000に0D0DFが乗算手段1
02により掛けられ、積D57F80FA010800
0000000が出力される。282から274の15
5が符号1ビット、データ8ビットの4番目の部分平方
根としてマルチプレクサ103により選択される。反転
手段111では155が反転され、0AAとなり、最下
位ビットとして0が付加されて出力され、(R+SxT
+T)演算手段113では実質的に乗数として0AAで
演算が行なわれる。一方、被乗数生成手段112では、
部分平方根保持手段104から110の出力を左に1ビ
ットシフトするとともに、マルチプレクサ103の出力
する9ビットを234から226へ埋め込み、4E73
02D54000000を出力する。なお、図11,図
12においては被乗数生成手段112の出力に対応して
4E7302D58000000と226に+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の出力0000D7D9C7
0000000はシフタ99によって左に8ビットシフ
トされてマルチプレクサ100により選択され、剰余保
持手段101にセットされる。マルチプレクサ116は
、定数加算手段115の出力を選択して出力し、部分平
方根保持手段107ではマルチプレクサ116の出力を
セットする。
【0040】次に5回目の反復計算に入る。テーブル情
報格納手段98の出力は1回目と変わらない。剰余保持
手段101にセットされた4番目の剰余R4の00D7
D9C7000000000に0D0DFが乗算手段1
02により掛けられ、積00B01CF8645900
0000000が出力される。282から274の00
2が符号1ビット、データ8ビットの5番目の部分平方
根としてマルチプレクサ103により選択される。反転
手段111では002が反転され、1FDとなり、最下
位ビットとして0が付加されて出力され、(R+SxT
+T)演算手段113では実質的に乗数として1FDで
演算が行なわれる。一方、被乗数生成手段112では、
部分平方根保持手段104から110の出力を左に1ビ
ットシフトするとともに、マルチプレクサ103の出力
する9ビットを226から218へ埋め込み、4E73
02AB0080000を出力する。なお、図8におい
ては被乗数生成手段112の出力に対応して4E730
2AB00C0000と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の1C
0が符号1ビット、データ8ビットの6番目の部分平方
根としてマルチプレクサ103により選択される。反転
手段111では1C0が反転され、03Fとなり、最下
位ビットとして0が付加されて出力され、(R+SxT
+T)演算手段113では実質的に乗数として03Fで
演算が行なわれる。一方、被乗数生成手段112では、
部分平方根保持手段104から110の出力を左に1ビ
ットシフトするとともに、マルチプレクサ103の出力
する9ビットを218から210へ埋め込み、4E73
02AB0170000を出力する。なお、図11,図
12においては被乗数生成手段112の出力に対応して
4E7302AB0174000と210ビットが1と
なっているが図10に示す開平演算装置では(R+Sx
T+T)の演算での+Tにより実質的に同じ結果となる
ようにしている。(R+SxT+T)演算手段113で
は剰余保持手段101の出力をR、被乗数生成手段11
2の出力をS,反転手段111の出力をTとして入力し
、(R+SxT+T)の演算を実行する。(R+SxT
+T)演算手段113の出力FFCF0CA7131A
9FC00はシフタ99によって左に8ビットシフトさ
れてマルチプレクサ100により選択され、剰余保持手
段101にセットされる。マルチプレクサ116は、マ
ルチプレクサ103の出力を選択して出力し、部分平方
根保持手段109ではマルチプレクサ116の出力をセ
ットする。
【0042】次に7回目の反復計算に入る。テーブル情
報格納手段98の出力は1回目と変わらない。剰余保持
手段101にセットされた6番目の剰余R6のCF0C
A7131A9FC0000に0D0DFが乗算手段1
02により掛けられ、積D80FA3C50F45FD
2840000が出力される。282から274の16
0が符号1ビット、データ8ビットの2番目の部分平方
根としてマルチプレクサ103により選択される。反転
手段111では160が反転され、09Fとなり、最下
位ビットとして0が付加されて出力され、(R+SxT
+T)演算手段113では実質的に乗数として09Fで
演算が行なわれる。一方、被乗数生成手段112では、
部分平方根保持手段104から110の出力を左に1ビ
ットシフトするとともに、マルチプレクサ103の出力
する9ビットを210から22へ埋め込み、4E730
2AB0160580を出力する。なお、図8において
は被乗数生成手段112の出力に対応して4E7302
AB0160584と22ビットが1となっているが図
7に示す開平演算装置では(R+SxT+T)の演算で
の+Tにより実質的に同じ結果となるようにしている。 (R+SxT+T)演算手段113では剰余保持手段1
01の出力をR、被乗数生成手段112の出力をS,反
転手段111の出力をTとして入力し、(R+SxT+
T)の演算を実行する。(R+SxT+T)演算手段1
13の出力FFC615BB507A96CFCはシフ
タ99によって左に8ビットシフトされてマルチプレク
サ100により選択され、剰余保持手段101にセット
される。マルチプレクサ116は、マルチプレクサ10
3の出力を選択して出力し、部分平方根保持手段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はマルチプレクサ、20
8は剰余保持手段、209は併合平方根保持手段、21
0は部分平方根保持手段、211は反転手段、212は
被乗数生成手段、213から215はマルチプレクサ、
216は(R+SxT+T)演算手段、217はマルチ
プレクサ、218は定数減算手段、219はマルチプレ
クサ、220は桁合わせ手段、221は加算手段、22
2は桁調整シフト数算出手段、223は桁調整手段であ
る。
【0045】以下、具体的な数値例を用いて図13に示
す固定小数点開平演算装置の動作を説明する。図2,図
3はオペランドが入力されてから、各々の手段で処理さ
れていく過程を示している。はじめにオペランドとして
05A618B0BCC8F13Fが入力され、入力レ
ジスタ201にセットされる。例外検出手段202では
入力オペランドの先頭2ビットが10または11の場合
はデータ例外として、また01の場合はオーバーフロー
例外として検出し、固定小数点開平演算装置の外部の命
令実行制御部に対して例外が発生していることを通知す
る。本数値例では(以下では、この前提を省略する)例
外は検出されない。正規化シフト数検出手段203では
、2ビット単位のビット正規化を行なうためのシフト数
を検出しており、4が出力される。正規化手段204で
は、正規化シフト数検出手段203より、シフト数4の
指示を受け、入力データを4ビット左にシフトして出力
する。テーブル情報格納手段205には正規化手段20
4の263から251の13ビットが入力され、0D7
72が出力される。さらにこの出力の最下位ビットとし
て正規化手段204の250のビットを反転したものが
付加されるのであるが、本例では1が付加され、(R+
SxT+T)演算手段216での実質的な乗数は0D7
73となる。マルチプレクサ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から
268の13ビットを符号1ビット、データ12ビット
の1番目の部分平方根として選択し、部分平方根保持手
段210にこの部分平方根がセットされる。反転手段2
11では部分平方根保持手段210の出力を入力してビ
ット反転するとともに上位に4ビット符号を拡張し、最
下位ビットに1を付加して出力する。ただし、反転手段
211では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+SxT+T)の+Tは部分平方根の最下位ビットに
対応するビットが220の位になるように桁合わせをし
て樹木状桁上げ保留加算器群に入力される。(R+Sx
T+T)演算手段216の出力FFFFB870BCC
8F13F0はシフタ206によって左に11ビットシ
フトされてマルチプレクサ207により選択され、剰余
保持手段208にセットされる。一方、定数減算手段2
18では部分平方根保持手段210の出力のLSBから
1を引く。 マルチプレクサ219は、部分平方根保持手段210の
出力が正で(R+SxT+T)演算手段216の出力が
負の場合、定数減算手段218の出力を選択し、それ以
外の場合は部分平方根保持手段210の出力を選択する
。1回目の反復では上記の条件を判断して定数減算手段
218の出力を選択する。桁合わせ手段220では各反
復での部分平方根を併合するための桁合わせをを実行す
る。具体的には、部分平方根が負の場合には、マルチプ
レクサ219の出力の13ビットの先頭2ビットをゼロ
に抑止し、また、部分平方根が正の場合には、マルチプ
レクサ219の出力の13ビットを、上位の併合平方根
とのビットの重みがつり合うようにシフトを行ない、出
力する。1番目の部分平方根に対しては、254から2
42に入力データを整列させ、出力する。加算手段22
1では併合平方根保持手段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により選択し、部分平方根保持手段21
0にこの部分平方根がセットされる。反転手段211で
は1F0Fが反転、上位に4ビット符号が拡張され、0
00F0となり、最下位ビットとして1が付加されて出
力され、(R+SxT+T)演算手段216では実質的
に乗数として000F1で演算が行なわれる。一方、被
乗数生成手段212では、併合平方根保持手段209の
出力を左に1ビットシフトするとともに、部分平方根保
持手段210の出力する13ビットの先頭ビットを除く
12ビットを242から231へ埋め込み、02607
8780000000を出力する。マルチプレクサ21
3、214、215はそれぞれ、剰余保持手段208の
出力、被乗数生成手段212の出力、反転手段211の
出力を選択する。(R+SxT+T)演算手段216で
はマルチプレクサ213の出力をR、マルチプレクサ2
14の出力をS,マルチプレクサ215の出力をTとし
て入力し、(R+SxT)の演算を実行する。(R+S
xT+T)演算手段216の出力0000574F3F
89F8000はシフタ206によって左に11ビット
シフトされてマルチプレクサ207により選択され、剰
余保持手段208にセットされる。マルチプレクサ21
9は、部分平方根保持手段210の出力を選択して出力
し、桁合わせ手段220では13ビットの入力のうち、
先頭2ビットをゼロに抑止して11ビットを241から
231に整列させる。加算手段220では併合平方根保
持手段209の出力と、桁合わせ手段220の出力を入
力して加算を行ない、130387800000000
を出力する。併合平方根保持手段209では加算手段2
21の出力をセットする。
【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番目の部分平方根としてマルチプレクサ21
7により選択され、部分平方根保持手段210にこの部
分平方根がセットされる。反転手段211では0125
が反転、上位に4ビット符号が拡張され、1FEDAと
なり、最下位ビットとして1が付加されて出力され、(
R+SxT+T)演算手段216では実質的に乗数とし
て1FEDBで演算が行なわれる。一方、被乗数生成手
段212では、併合平方根保持手段209の出力を左に
1ビットシフトするとともに、部分平方根保持手段21
0の出力する13ビットの先頭ビットを除く12ビット
を231から220へ埋め込み、026070F125
00000を出力する。マルチプレクサ213、214
、215はそれぞれ、剰余保持手段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の出力を入力して加算を行ない、1
30387925000000を出力する。なお、3回
目の反復で、部分平方根が負で剰余が正の場合に限り、
加算手段221では220に初期キャリを加える。桁調
整シフト数算出手段222では、正規化シフト数検出手
段203からの4を右1ビットシフトして2とした後、
定数25を加え、27を出力し、桁調整手段223では
加算手段221の出力を桁調整シフト数算出手段222
からの指示である27だけ右にシフトして最終結果であ
る26070F24を出力する。
【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は定数加算手段、323
はマルチプレクサ、324は桁調整シフト数算出手段、
325は桁調整手段である。
【0049】以下、具体的な数値例を用いて図14に示
す固定小数点開平演算装置の動作を説明する。図5,図
6はオペランドが入力されてから、各々の手段で処理さ
れていく過程を示している。はじめにオペランドとして
437E1533B46A81F4が入力され、入力レ
ジスタ301にセットされる。例外検出手段302では
入力オペランドの先頭2ビットが10または11の場合
はデータ例外として、また01の場合はオーバーフロー
例外として検出し、固定小数点開平演算装置の外部の命
令実行制御部に対して例外が発生していることを通知す
る。本数値例では(以下では、この前提を省略する)例
外は検出されない。正規化シフト数検出手段303では
、2ビット単位のビット正規化を行なうためのシフト数
を検出しており、2が出力される。正規化手段304で
は、正規化シフト数検出手段303より、シフト数2の
指示を受け、入力データを2ビット左にシフトして出力
する。テーブル情報格納手段305には正規化手段30
4の263から251の13ビットが入力され、0F9
6Bが出力される。さらにこの出力の最下位ビットとし
て正規化手段304の250のビットを反転したものが
付加されるのであるが、本例では0が付加され、(R+
SxT+T)演算手段319での実質的な乗数は0F9
6Bとなる。マルチプレクサ307では先頭に4ビット
のゼロを付加した正規化手段304の出力を選択し、こ
の出力が剰余保持手段308にセットされる。このとき
、部分平方根保持手段309から312はゼロにリセッ
トされる。マルチプレクサ316、317、318はそ
れぞれ、’0’、剰余保持手段308の出力、テーブル
情報格納手段305の出力を選択し、(R+SxT+T
)演算手段319で0437E1533B46A81F
4と0F96Bの乗算が行なわれ、041C1D852
271800EAA4FCの積が求められる。マルチプ
レクサ320では(R+SxT+T)演算手段319の
出力の279から271の9ビットを符号1ビット、デ
ータ8ビットの1番目の部分平方根として選択し、部分
平方根保持手段313にこの部分平方根がセットされる
。反転手段314では部分平方根を入力してビット反転
するとともに上位に8ビット符号を拡張し,部分平方根
の下位の隣接2ビットが11、または、部分平方根が負
、または2回目の反復で1番目の剰余の263から25
3の11ビットがゼロでない場合、最下位ビットに0を
付加し、それ以外の場合1を付加して出力する。また、
被乗数生成手段315では、1回目の反復では補正前部
分平方根保持手段313の出力の符号ビットを除いてデ
ータ8ビットを255から248に埋め込み、他のビッ
トをゼロとして出力する。マルチプレクサ316、31
7、318はそれぞれ、剰余保持手段308の出力、被
乗数生成手段315の出力、反転手段314の出力を選
択する。(R+SxT+T)演算手段319ではマルチ
プレクサ316の出力をR、マルチプレクサ317の出
力をS,マルチプレクサ318の出力をTとして入力し
、反転手段314で最下位ビットに0を付加した場合に
(R+SxT+T)を実行し、それ以外の場合は(R+
SxT)の演算を実行する。(R+SxT+T)の+T
は部分平方根の最下位ビットに対応するビットが1回目
の反復では248、2回目の反復では240、3回目の
反復では232、4回目の反復では224の位になるよ
うに桁合わせをして樹木状桁上げ保留加算器群に入力さ
れる。(R+SxT+T)演算手段319の出力000
751533D46A81F4はシフタ306によって
左に8ビットシフトされてマルチプレクサ307により
選択され、剰余保持手段308にセットされる。一方、
定数減算手段321では補正前部分平方根保持手段31
3の出力のLSBから1を引き、定数加算手段322で
は補正前部分平方根保持手段313の出力のLSBに1
を加える。マルチプレクサ323は、補正前部分平方根
保持手段313の出力が正で(R+SxT+T)演算手
段319の出力が負の場合、定数減算手段321の出力
を選択し、部分平方根の下位の隣接2ビットが11で(
R+SxT+T)演算手段319の出力が正の場合、ま
たは、部分平方根が負で(R+SxT+T)演算手段3
19の出力が正の場合、または、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)を実
行し、積072128F271800EAA4FC00
を出力する。280から272の072を符号1ビット
、データ8ビットの2番目の部分平方根としてマルチプ
レクサ320により選択し、補正前部分平方根保持手段
313にこの部分平方根がセットされる。反転手段31
4では072が反転、上位に8ビット符号が拡張され、
1FF8Dとなり、最下位ビットとして0が付加されて
出力され、(R+SxT+T)演算手段319では実質
的に乗数として1FF8Dで演算が行なわれる。一方、
被乗数生成手段315では、部分平方根保持手段309
から312の出力を左に1ビットシフトするとともに、
補正前部分平方根保持手段313の出力する9ビットを
248から240へ埋め込み、10672000000
0000を出力する。なお、(図4)においては被乗数
生成手段313の出力に対応して1067300000
00000と240ビットが1となっているが図10に
示す開平演算装置では(R+SxT+T)の演算での+
Tにより実質的に同じ結果となるようにしている。マル
チプレクサ316、317、318はそれぞれ、剰余保
持手段308の出力、被乗数生成手段315の出力、反
転手段314の出力を選択する。(R+SxT+T)演
算手段319ではマルチプレクサ316の出力をR、マ
ルチプレクサ317の出力をS,マルチプレクサ318
の出力をTとして入力し、(R+SxT+T)の演算を
実行する。(R+SxT+T)演算手段319の出力F
FF2F8AB46A81F400はシフタ306によ
って左に8ビットシフトされてマルチプレクサ307に
より選択され、剰余保持手段308にセットされる。マ
ルチプレクサ323は、補正前部分平方根保持手段31
3の出力を選択して出力し、部分平方根保持手段310
ではマルチプレクサ323の出力をセットする。  次
に3回目の反復計算に入る。テーブル情報格納手段30
5の出力は1回目と変わらない。マルチプレクサ316
、317、318はそれぞれ、’0’、剰余保持手段3
08にセットされた2番目の剰余R2のF2F8AB4
6A81F40000、テーブル情報格納手段305の
出力0F96Bを選択する。(R+SxT+T)演算手
段319は(SxT)を実行し、積F34E6C875
00EAA4FC0000を出力する。280から27
2の134を符号1ビット、データ8ビットの3番目の
部分平方根としてマルチプレクサ320により選択し、
補正前部分平方根保持手段313にこの部分平方根がセ
ットされる。反転手段314では134が反転、上位に
8ビット符号が拡張され、000CBとなり、最下位ビ
ットとして0が付加されて出力され、(R+SxT+T
)演算手段319では実質的に乗数として000CBで
演算が行なわれる。一方、被乗数生成手段315では、
部分平方根保持手段309から312の出力を左に1ビ
ットシフトするとともに、補正前部分平方根保持手段3
13の出力する9ビットを240から232へ埋め込み
、106E53400000000を出力する。なお、
図4においては被乗数生成手段315の出力に対応して
106E53500000000と232ビットが1と
なっているが図10に示す開平演算装置では(R+Sx
T+T)の演算での+Tにより実質的に同じ結果となる
ようにしている。マルチプレクサ316、317、31
8はそれぞれ、剰余保持手段308の出力、被乗数生成
手段315の出力、反転手段314の出力を選択する。 (R+SxT+T)演算手段319ではマルチプレクサ
316の出力をR、マルチプレクサ317の出力をS,
マルチプレクサ318の出力をTとして入力し、(R+
SxT+T)の演算を実行する。(R+SxT+T)演
算手段319の出力00002757181F4000
0はシフタ306によって左に8ビットシフトされてマ
ルチプレクサ307により選択され、剰余保持手段30
8にセットされる。マルチプレクサ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を出力する。 280から272の002が符号1ビット、データ8ビ
ットの4番目の部分平方根としてマルチプレクサ320
により選択される。反転手段314では002が反転、
上位に8ビット符号が拡張され、1FFFDとなり、最
下位ビットとして1が付加されて出力され、(R+Sx
T+T)演算手段319では実質的に乗数として1FF
FEで演算が行なわれる。一方、被乗数生成手段315
では、部分平方根保持手段309から312の出力を左
に1ビットシフトするとともに、補正前部分平方根保持
手段313の出力する9ビットを232から224へ埋
め込み、106E46A02000000を出力する。 マルチプレクサ316、317、318はそれぞれ、剰
余保持手段308の出力、被乗数生成手段315の出力
、反転手段314の出力を選択する。(R+SxT+T
)演算手段319ではマルチプレクサ316の出力をR
、マルチプレクサ317の出力をS,マルチプレクサ3
18の出力をTとして入力し、(R+SxT)の演算を
実行する。(R+SxT+T)演算手段319は000
67A8ADF0000000を出力する。マルチプレ
クサ323は、補正前部分平方根保持手段313の出力
を選択して出力し、部分平方根保持手段312ではマル
チプレクサ323の出力をセットする。桁調整シフト数
算出手段324では、正規化シフト数検出手段303か
らの2を右1ビットシフトして1とした後、1を出力し
、桁調整手段325では部分平方根保持手段309から
311とマルチプレクサ323の出力を併合して837
23502を入力し、桁調整シフト数算出手段324か
らの指示である1だけ右にシフトして最終結果である4
1B91A81を出力する。
【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の指数に対して、指数定数減算手段4
03により3FFが引かれた後、シフタ404により右
に1ビットシフトされ、指数定数加算手段405により
再び3FFが加算され、結果の指数が求められる。リー
ディングビット付加回路406では入力レジスタ401
の出力の251から20の仮数部に対して先頭にリーデ
ィングビットの1が付加される。正規化手段407では
、入力レジスタ401の出力の252のビットが1の場
合入力を左に12ビットシフトして、また、入力レジス
タ401の出力の252のビットが0の場合入力を左に
13ビットシフトして出力する。テーブル情報格納手段
408には正規化手段407の265から253の13
ビットが入力され、0881Aが出力される。さらにこ
の出力の最下位ビットとして正規化手段407の252
のビットを反転したものが付加されるのであるが、本例
では1が付加され、(R+SxT+T)演算手段での実
質的な乗数は0881Bとなる。マルチプレクサ410
では正規化手段407の出力を選択し、この出力が剰余
保持手段411にセットされる。このとき、併合平方根
保持手段412はゼロにリセットされる。マルチプレク
サ416、417、418はそれぞれ、’0’、剰余保
持手段411の出力、テーブル情報格納手段408の出
力を選択し、(R+SxT+T)演算手段419で38
9C9B88D87D7C000と0881Bの乗算が
行なわれ、1E192B251A717F1C1400
0の積が求められる。マルチプレクサ420では(R+
SxT+T)演算手段419の282から270の13
ビットを符号1ビット、データ12ビットの1番目の部
分平方根として選択し、部分平方根保持手段413にこ
の部分平方根がセットされる。反転手段414では部分
平方根を入力してビット反転するとともに上位に4ビッ
ト符号を拡張し、最下位ビットに1を付加して出力する
。ただし、反転手段414では5回目の反復で部分平方
根が負の場合に限り、最下位ビットに0を付加して出力
する。これは負の方向に大きめに部分平方根を算出して
いるのを補正するために行なう。また、被乗数生成手段
415では、1回目の反復では256から244までに
部分平方根保持手段413の出力を埋め込み、他のビッ
トをゼロとして出力する。マルチプレクサ416、41
7、418はそれぞれ、剰余保持手段411の出力、被
乗数生成手段415の出力、反転手段414の出力を選
択する。(R+SxT+T)演算手段419ではマルチ
プレクサ416の出力をR、マルチプレクサ417の出
力をS,マルチプレクサ418の出力をTとして入力し
、5回目の反復で部分平方根が負の場合に限り(R+S
xT+T)を実行し、それ以外の場合は(R+SxT)
の演算を実行する。(R+SxT+T)の+Tは部分平
方根の最下位ビットに対応するビットが20の位になる
ように桁合わせをして樹木状桁上げ保留加算器群に入力
される。(R+SxT+T)演算手段419の出力00
027788D87D7C000はシフタ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番目の部
分平方根に対しては、256から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により選択し、部分平方根保持手段41
3にこの部分平方根がセットされる。反転手段414で
は014Fが反転、上位に4ビット符号を拡張され、1
FEB0となり、最下位ビットとして1が付加されて出
力され、(R+SxT+T)演算手段419では実質的
に乗数として1FEB1で演算が行なわれる。一方、被
乗数生成手段415では、併合平方根保持手段412の
出力を左に1ビットシフトするとともに、部分平方根保
持手段413の出力する13ビットの先頭ビットを除く
12ビットを244から233へ埋め込み、0F0C2
9E00000000を出力する。マルチプレクサ41
6、417、418はそれぞれ、剰余保持手段411の
出力、被乗数生成手段415の出力、反転手段414の
出力を選択する。(R+SxT+T)演算手段419で
はマルチプレクサ416の出力をR、マルチプレクサ4
17の出力をS,マルチプレクサ418の出力をTとし
て入力し、(R+SxT)の演算を実行する。(R+S
xT+T)演算手段419の出力000B5BF7CB
E000000はシフタ409によって左に11ビット
シフトされてマルチプレクサ41により選択され、剰余
保持手段411にセットされる。マルチプレクサ422
は、部分平方根保持手段413の出力を選択して出力し
、桁合わせ手段423では13ビットの入力を245か
ら233に整列させる。加算手段424では併合平方根
保持手段412の出力と、桁合わせ手段423の出力を
入力して加算を行ない、078629E0000000
0を出力する。併合平方根保持手段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番目の部分平方根としてマルチプレクサ42
0により選択し、部分平方根保持手段413にこの部分
平方根がセットされる。反転手段414では060Aが
反転、上位に4ビット符号が拡張され、1F9F5とな
り、最下位ビットとして1が付加されて出力され、(R
+SxT+T)演算手段419では実質的に乗数として
1F9F6で演算が行なわれる。一方、被乗数生成手段
415では、併合平方根保持手段412の出力を左に1
ビットシフトするとともに、部分平方根保持手段413
の出力する13ビットの先頭ビットを除く12ビットを
233から222へ埋め込み、0F0C53D8280
0000を出力する。マルチプレクサ416、417、
418はそれぞれ、剰余保持手段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の出力を入力して加算を行ない
、078629F82400000を出力する。併合平
方根保持手段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番目の部分平方根としてマルチプレクサ42
0により選択し、部分平方根保持手段413にこの部分
平方根がセットされる。反転手段414では1FA0が
反転、上位に4ビット符号が拡張され、0005Fとな
り、最下位ビットとして1が付加されて出力され、(R
+SxT+T)演算手段419では実質的に乗数として
00060で演算が行なわれる。一方、被乗数生成手段
415では、併合平方根保持手段412の出力を左に1
ビットシフトするとともに、部分平方根保持手段413
の出力する13ビットの先頭ビットを除く12ビットを
222から211へ埋め込み、0F0C53F04FD
0000を出力する。マルチプレクサ416、417、
418はそれぞれ、剰余保持手段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番目の部分平方根としてマルチプレクサ42
0により選択し、部分平方根保持手段413にこの部分
平方根がセットされる。反転手段414では0295が
反転、上位に4ビット符号が拡張され、1FD6Aとな
り、最下位ビットとして1が付加されて出力され、(R
+SxT+T)演算手段419では実質的に乗数として
1FD6Bで演算が行なわれる。一方、被乗数生成手段
415では、併合平方根保持手段412の出力を左に1
ビットシフトするとともに、部分平方根保持手段413
の出力する13ビットの先頭ビットを除く12ビットを
211から20へ埋め込み、0F0C53F04FA0
295を出力する。マルチプレクサ416、417、4
18はそれぞれ、剰余保持手段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の出力を入力して加算を行ない、07
8629F827D0295を出力する。なお、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の指数に対して、指数定数減算手
段503により3FFが引かれた後、シフタ504によ
り右に1ビットシフトされ、指数定数加算手段505に
より再び3FFが加算され、結果の指数が求められる。 リーディングビット付加回路506では入力レジスタ5
01の出力の251から20の仮数部に対して先頭にリ
ーディングビットの1が付加される。正規化手段507
では、入力レジスタ501の出力の252のビットが1
の場合入力を左に12ビットシフトして、また、入力レ
ジスタ501の出力の252のビットが0の場合入力を
左に13ビットシフトして出力する。テーブル情報格納
手段508には正規化手段507の265から253の
13ビットが入力され、0D0DEが出力される。さら
にこの出力の最下位ビットとして正規化手段507の2
52のビットを反転したものが付加されるのであるが、
本例では1が付加され、(R+SxT+T)演算手段5
25での実質的な乗数は0D0DFとなる。マルチプレ
クサ510では正規化手段507の出力を選択し、この
出力が剰余保持手段511にセットされる。このとき、
部分平方根保持手段512から518はゼロにリセット
される。マルチプレクサ522、523、524はそれ
ぞれ、’0’、剰余保持手段511の出力、テーブル情
報格納手段508の出力を選択し、(R+SxT+T)
演算手段525で180A494B9A80F8000
と0D0DFの乗算が行なわれ、139D4C8346
645FD808000の積が求められる。マルチプレ
クサ526では(R+SxT+T)演算手段525の2
81から273の9ビットを符号1ビット、データ8ビ
ットの1番目の部分平方根として選択し、補正前部分平
方根保持手段519にこの部分平方根がセットされる。 反転手段520では部分平方根を入力してビット反転す
るとともに上位に8ビット符号を拡張し,部分平方根の
下位の隣接2ビットが11、または、部分平方根が負、
または2回目の反復で1番目の剰余の265から255
の11ビットがゼロでない場合、最下位ビットに0を付
加し、それ以外の場合1を付加して出力する。また、被
乗数生成手段521では、1回目の反復では補正前部分
平方根保持手段519の出力の符号ビットを除いてデー
タ8ビットを257から250に埋め込み、他のビット
をゼロとして出力する。マルチプレクサ522、523
、524はそれぞれ、剰余保持手段511の出力、被乗
数生成手段521の出力、反転手段520の出力を選択
する。(R+SxT+T)演算手段525ではマルチプ
レクサ522の出力をR、マルチプレクサ523の出力
をS,マルチプレクサ524の出力をTとして入力し、
反転手段520で最下位ビットに0を付加した場合に(
R+SxT+T)を実行し、それ以外の場合は(R+S
xT)の演算を実行する。(R+SxT+T)の+Tは
部分平方根の最下位ビットに対応するビットが1回目の
反復では250、2回目の反復では242、3回目の反
復では234、4回目の反復では226,5回目の反復
では218,6回目の反復では210,7回目の反復で
は22の位になるように桁合わせをして樹木状桁上げ保
留加算器群に入力される。(R+SxT+T)演算手段
525の出力FFF8094B9A80F8000はシ
フタ509によって左に8ビットシフトされてマルチプ
レクサ510により選択され、剰余保持手段511にセ
ットされる。一方、定数減算手段527では補正前部分
平方根保持手段519の出力のLSBから1を引き、定
数加算手段528では補正前部分平方根保持手段519
の出力のLSBに1を加える。マルチプレクサ529は
、補正前部分平方根保持手段519の出力が正で(R+
SxT+T)演算手段525の出力が負の場合、定数減
算手段527の出力を選択し、部分平方根の下位の隣接
2ビットが11で(R+SxT+T)演算手段525の
出力が正の場合、または、部分平方根が負で(R+Sx
T+T)演算手段525の出力が正の場合、または、2
回目の反復において1番目の剰余の265から255の
11ビットがゼロでなく(R+SxT+T)演算手段5
25の出力が正の場合、定数加算手段528の出力を選
択し、それ以外の場合は補正前部分平方根保持手段51
9の出力を選択する。1回目の反復では上記の条件を判
断して補正前部分平方根保持手段519の出力を選択す
る。マルチプレクサ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により選択し、補正前部分平方根保持手段5
19にこの部分平方根がセットされる。反転手段520
では1E6が反転、上位に8ビット符号が拡張され、0
0019となり、最下位ビットとして0が付加されて出
力され、(R+SxT+T)演算手段525では実質的
に乗数として00019で演算が行なわれる。一方、被
乗数生成手段521では、部分平方根保持手段512か
ら518の出力を左に1ビットシフトするとともに、補
正前部分平方根保持手段519の出力する9ビットを2
50から242へ埋め込み、4E7980000000
000を出力する。なお、(図8)においては被乗数生
成手段521の出力に対応して4E79C000000
0000と242ビットが1となっているが図7に示す
開平演算装置では(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の出力FFB
32F5A80F800000はシフタ509によって
左に8ビットシフトされてマルチプレクサ510により
選択され、剰余保持手段511にセットされる。マルチ
プレクサ529は、補正前部分平方根保持手段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から23
4へ埋め込み、4E7341400000000を出力
する。なお、図11,図12においては被乗数生成手段
521の出力に対応して4E734180000000
0と234ビットに+1された形になっているが図16
に示す開平演算装置では(R+SxT+T)の演算での
+Tにより実質的に同じ結果となるようにしている。マ
ルチプレクサ522、523、524はそれぞれ、剰余
保持手段511の出力、被乗数生成手段521の出力、
反転手段520の出力を選択する。(R+SxT+T)
演算手段525ではマルチプレクサ522の出力をR、
マルチプレクサ523の出力をS,マルチプレクサ52
4の出力をTとして入力し、(R+SxT+T)の演算
を実行する。(R+SxT+T)演算手段525の出力
FFCBE877F80000000はシフタ509に
よって左に8ビットシフトされてマルチプレクサ510
により選択され、剰余保持手段511にセットされる。 マルチプレクサ529は、補正前部分平方根保持手段5
19の出力を選択して出力し、部分平方根保持手段51
4ではマルチプレクサ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から22
6へ埋め込み、4E7302D54000000を出力
する。なお、図11,図12においては被乗数生成手段
521の出力に対応して4E7302D5800000
0と226ビットに+1された形になっているが図16
に示す開平演算装置では(R+SxT+T)の演算での
+Tにより実質的に同じ結果となるようにしている。マ
ルチプレクサ522、523、524はそれぞれ、剰余
保持手段511の出力、被乗数生成手段521の出力、
反転手段520の出力を選択する。(R+SxT+T)
演算手段525ではマルチプレクサ522の出力をR、
マルチプレクサ523の出力をS,マルチプレクサ52
4の出力をTとして入力し、(R+SxT+T)の演算
を実行する。(R+SxT+T)演算手段525の出力
0000D7D9C70000000はシフタ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から21
8へ埋め込み、4E7302AB0080000を出力
する。なお、図8においては被乗数生成手段521の出
力に対応して4E7302AB00C0000と218
ビットが1となっているが図12に示す開平演算装置で
は(R+SxT+T)の演算での+Tにより実質的に同
じ結果となるようにしている。マルチプレクサ522、
523、524はそれぞれ、剰余保持手段511の出力
、被乗数生成手段521の出力、反転手段520の出力
を選択する。(R+SxT+T)演算手段525ではマ
ルチプレクサ522の出力をR、マルチプレクサ523
の出力をS,マルチプレクサ524の出力をTとして入
力し、(R+SxT+T)の演算を実行する。(R+S
xT+T)演算手段525の出力FFEC80BEFE
FDC0000はシフタ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から21
0へ埋め込み、4E7302AB0170000を出力
する。なお、図11,図12においては被乗数生成手段
521の出力に対応して4E7302AB017040
0と210ビットが1となっているが図16に示す開平
演算装置では(R+SxT+T)の演算での+Tにより
実質的に同じ結果となるようにしている。マルチプレク
サ522、523、524はそれぞれ、剰余保持手段5
11の出力、被乗数生成手段521の出力、反転手段5
20の出力を選択する。(R+SxT+T)演算手段5
25ではマルチプレクサ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から60
4_8は正規化シフト数保持手段、605は正規化手段
、606は正規化オペランドレジスタ、607はテーブ
ル情報格納手段、608_2から608_6はテーブル
出力情報保持手段、609_2から609_8は剰余保
持手段、610_1から610_3は乗算手段、611
_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:はじめに入力レジスタ6
01の出力の先頭2ビットが例外検出情報保持手段60
2_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の出力が60
4_2に、それぞれセットされる。乗算手段610_1
で05A618B0BCC8F13F0と0D773の
乗算が行なわれ、04C1085985F190E04
84D0の積が求められる。
【0073】ステージ  3:はじめに乗算手段610
_1の280から268の13ビットが符号1ビット、
データ12ビットの1番目の部分平方根として部分平方
根保持手段611_1に、例外検出情報保持手段602
_2の出力が602_3に、剰余保持手段609_2の
出力が609_3に、テーブル出力情報保持手段608
_2の出力が608_3に、正規化シフト数保持手段6
04_2の出力が604_3に、それぞれセットされる
。反転手段612_1では部分平方根保持手段611_
1の出力を入力してビット反転するとともに最下位ビッ
トに1を付加して出力する。また、被乗数生成手段61
3_1では、254から242までに部分平方根保持手
段611_1の出力を埋め込み、他のビットをゼロとし
て出力する。(R+SxT)演算手段614_1では剰
余保持手段609_3の出力をR、被乗数生成手段61
3_1の出力をS,反転手段612_1の出力をTとし
て入力し、(R+SxT)の演算を実行する。(R+S
xT)演算手段614_1の出力FFFFB870BC
C8F13F0はシフタ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に、マルチプレクサ
617_1の出力する13ビットを254から242に
整列させ、他のビットをゼロとするデータが併合平方根
保持手段619_4に、例外検出情報保持手段602_
3の出力が602_4に、テーブル出力情報保持手段6
08_3の出力が608_4に、正規化シフト数保持手
段604_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に、例外検出情報保持手段6
02_4の出力が602_5に、剰余保持手段609_
4の出力が609_5に、併合平方根保持手段619_
4の出力が619_5に、テーブル出力情報保持手段6
08_4の出力が608_5に、正規化シフト数保持手
段604_4の出力が604_5に、それぞれセットさ
れる。 反転手段612_2では1F0Fが反転され、00F0
となり、最下位ビットとして1が付加されて出力され、
(R+SxT)演算手段614_2では実質的に乗数と
して00F1で演算が行なわれる。一方、被乗数生成手
段613_2では、併合平方根保持手段619_5の出
力を左に1ビットシフトするとともに、部分平方根保持
手段611_2の出力する13ビットの先頭ビットを除
く12ビットを242から231へ埋め込み、0260
78780000000を出力する。(R+SxT)演
算手段614_2では剰余保持手段609_5の出力を
R、被乗数生成手段613_2の出力をS,反転手段6
12_2の出力をTとして入力し、(R+SxT)の演
算を実行する。(R+SxT)演算手段614_2の出
力0000574F3F89F8000はシフタ620
_2によって左に11ビットシフトされる。マルチプレ
クサ617_2は、部分平方根保持手段611_2の出
力を選択して先頭2ビットをゼロに抑止して11ビット
を出力し、加算手段618_1では併合平方根保持手段
619_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の02BA79FC4
FC000000にテーブル出力情報保持手段608_
4の出力する0D773が乗算手段610_3により掛
けられ、積024BD637B35213400000
0が出力される。
【0077】ステージ  7:はじめに乗算手段610
_2の出力の281から269の0125が符号1ビッ
ト、データ12ビットの3番目の部分平方根として部分
平方根保持手段611_3に、例外検出情報保持手段6
02_6の出力が602_7に、剰余保持手段609_
6の出力が609_7に、併合平方根保持手段619_
6の出力が619_7に、正規化シフト数保持手段60
4_6の出力が604_7に、それぞれセットされる。 反転手段612_3では0125が反転され、1EDA
となり、最下位ビットとして1が付加されて出力され、
(R+SxT+T)演算手段615では実質的に乗数と
して1EDBで演算が行なわれる。一方、被乗数生成手
段613_3では、併合平方根保持手段619_7の出
力を左に1ビットシフトするとともに、部分平方根保持
手段611_3の出力する13ビットの先頭ビットを除
く12ビットを231から220へ埋め込み,0260
70F12500000を出力する。(R+SxT+T
)演算手段615では剰余保持手段609_7の出力を
R、被乗数生成手段613_3の出力をS,反転手段6
12_3の出力をTとして入力し、部分平方根が負の場
合(R+SxT+T)の演算を実行し、部分平方根が正
の場合(R+SxT)の演算を実行する。(R+SxT
+T)の演算での+Tは部分平方根の最下位ビットに対
応するビットが220の位になるように桁合わせをして
樹木状桁上げ保留加算器群に入力される。本例では(R
+SxT)の演算を実行する。(R+SxT+T)演算
手段615の出力00218B8506700000は
シフタ620_3によって左に11ビットシフトされる
。マルチプレクサ617_3は、部分平方根保持手段6
11_3の出力を選択して13ビットを出力し、加算手
段618_3では併合平方根保持手段619_7の出力
と、マルチプレクサ617_3の出力については232
から220に整列させ、入力して加算を行ない、130
387925000000を出力する。なお、部分平方
根が負で剰余が正の場合に限り、加算手段618_3で
は220に初期キャリを加える。
【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を出力し、桁調整手段6
23では併合平方根保持手段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:はじめに入力レジスタ7
01の出力の先頭2ビットが例外検出情報保持手段70
2_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の出力が70
4_2に、それぞれセットされる。乗算手段710_1
で0437E1533B46A81F4と0F96Bの
乗算が行なわれ、041C1D852271800EA
A4FCの積が求められる。
【0084】ステージ  3:はじめに乗算手段710
_1の279から271の9ビットが符号1ビット、デ
ータ8ビットの1番目の部分平方根として補正前部分平
方根保持手段711_1に、例外検出情報保持手段70
2_2の出力が702_3に、剰余保持手段709_2
の出力が709_3に、テーブル出力情報保持手段70
8_2の出力が708_3に、正規化シフト数保持手段
704_2の出力が704_3に、それぞれセットされ
る。反転手段712_1では補正前部分平方根保持手段
711_1の出力を入力してビット反転するとともに、
部分平方根の下位の隣接2ビットが11、または、部分
平方根が負、最下位ビットに0を付加し、それ以外の場
合1を付加して出力する。また、被乗数生成手段713
_1では、255から248までに補正前部分平方根保
持手段711_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では240、714_3では2
32、714_4では224の位になるように桁合わせ
をして樹木状桁上げ保留加算器群に入力される。(R+
SxT+T)演算手段714_1の出力0007515
33D46A81F4はシフタ718_1によって左に
8ビットシフトされる。一方、定数減算手段715_1
では補正前部分平方根保持手段711_1の出力のLS
Bから1を引き、定数加算手段716_1では補正前部
分平方根保持手段711_1の出力のLSBに1を加え
る。マルチプレクサ717_1は、補正前部分平方根保
持手段711_1の出力が正で(R+SxT+T)演算
手段714_1の出力が負の場合、定数減算手段715
_1の出力を選択し、部分平方根の下位の隣接2ビット
が11で(R+SxT+T)演算手段714_1の出力
が正の場合、または、部分平方根が負で(R+SxT+
T)演算手段714_1の出力が正の場合、定数加算手
段716_1の出力を選択し、それ以外の場合は補正前
部分平方根保持手段711_1の出力を選択する。本例
では上記の条件を判断して補正前部分平方根保持手段7
11_1の出力を選択する。
【0085】ステージ  4:はじめにシフタ718_
1の出力が剰余保持手段709_4に、マルチプレクサ
717_1の出力が部分平方根保持手段719_4に、
例外検出情報保持手段702_3の出力が702_4に
、テーブル出力情報保持手段708_4の出力が708
_5に、正規化シフト数保持手段704_4の出力が7
04_5に、それぞれセットされる。剰余保持手段70
9_4にセットされた1番目の剰余R1の075153
3B46A81F400にテーブル出力情報保持手段7
08_4の出力する0F96Bが乗算手段710_2に
より掛けられ、積072128F271800EAA4
FC00が出力される。
【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に、正規化シフト数保持
手段704_4の出力が704_5に、それぞれセット
される。反転手段712_2では072が反転され、1
8Dとなり、最下位ビットとして0が付加されて出力さ
れ、(R+SxT+T)演算手段714_2では実質的
に乗数として18Dで演算が行なわれる。一方、被乗数
生成手段713_2では、部分平方根保持手段719_
5の出力を左に1ビットシフトするとともに、補正前部
分平方根保持手段711_2の出力する9ビットを24
8から240へ埋め込み、1067200000000
00を出力する。なお、図5,図6においては被乗数生
成手段713_2の出力に対応して106730000
000000と240ビットが1となっているが図18
に示す開平演算装置では(R+SxT+T)の演算での
+Tにより実質的に同じ結果となるようにしている。(
R+SxT+T)演算手段714_2では剰余保持手段
709_5の出力をR、被乗数生成手段713_2の出
力をS,反転手段712_2の出力をTとして入力し、
反転手段712_2で最下位ビットに0を付加した場合
に(R+SxT+T)を実行し、それ以外の場合は(R
+SxT)の演算を実行する。(R+SxT+T)の+
Tは部分平方根の最下位ビットに対応するビットが2回
目の反復では240の位になるように桁合わせをして樹
木状桁上げ保留加算器群に入力される。(R+SxT+
T)演算手段714_2の出力FFF2F8AB46A
81F400はシフタ718_2によって左に8ビット
シフトされる。マルチプレクサ717_2は、補正前部
分平方根保持手段711_2の出力を選択して出力する
。ステージ  6:はじめにシフタ718_2の出力が
剰余保持手段709_6に、部分平方根保持手段719
_5の出力が719_6に、マルチプレクサ717_2
の出力が部分平方根保持手段720_6に、例外検出情
報保持手段702_5の出力が702_6に、テーブル
出力情報保持手段708_5の出力が708_6に、正
規化シフト数保持手段704_5の出力が704_6に
、それぞれセットされる。剰余保持手段709_6にセ
ットされた2番目の剰余R2のF2F8AB46A81
F40000にテーブル出力情報保持手段708_6の
出力する0F96Bが乗算手段710_3により掛けら
れ、積F34E6C87500EAA4FC0000が
出力される。
【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に、正規化シフト数保持
手段704_6の出力が704_7に、それぞれセット
される。反転手段712_3では134が反転され、0
CBとなり、最下位ビットとして0が付加されて出力さ
れ、(R+SxT+T)演算手段714_3では実質的
に乗数として0CBで演算が行なわれる。一方、被乗数
生成手段713_3では、部分平方根保持手段719_
7と720_7の出力を左に1ビットシフトするととも
に、補正前部分平方根保持手段711_3の出力する9
ビットを240から232へ埋め込み、106E534
00000000を出力する。なお、図5,図6におい
ては被乗数生成手段713_3の出力に対応して106
E53500000000と232ビットが1となって
いるが図18に示す開平演算装置では(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に、マルチプレクサ
717_3の出力が部分平方根保持手段721_8に、
例外検出情報保持手段702_7の出力が702_8に
、テーブル出力情報保持手段708_7の出力が708
_8に、正規化シフト数保持手段704_7の出力が7
04_8に、それぞれセットされる。剰余保持手段70
9_8にセットされた3番目の剰余R3の002757
181F4000000にテーブル出力情報保持手段7
08_8の出力する0F96Bが乗算手段710_4に
より掛けられ、積00265427DD7A4FC00
0000が出力される。
【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に、正規化シフト数保持手段7
04_8の出力が704_9に、それぞれセットされる
。反転手段712_4で002が反転され、1FDとな
り、最下位ビットとして1が付加されて出力され、(R
+SxT+T)演算手段714_4では実質的に乗数と
して1FEで演算が行なわれる。一方、被乗数生成手段
713_4では、部分平方根保持手段719_9から7
21_9の出力を左に1ビットシフトするとともに、補
正前部分平方根保持手段711_4の出力する9ビット
を232から224へ埋め込み、106E46A020
00000を出力する。(R+SxT+T)演算手段7
14_4では剰余保持手段709_9の出力をR、被乗
数生成手段713_4の出力をS,反転手段712_4
の出力をTとして入力し、反転手段712_4で最下位
ビットに0を付加した場合に(R+SxT+T)を実行
し、それ以外の場合は(R+SxT)の演算を実行する
。(R+SxT+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の出力が部分平方根保持手段72
2_10に、例外検出情報保持手段702_9の出力が
702_10に、正規化シフト数保持手段704_9の
出力が704_10に、それぞれセットされる。例外検
出手段723では例外検出情報保持手段702_10の
出力する2ビットが10または11の場合はデータ例外
として、また01の場合はオーバーフロー例外として検
出し、固定小数点ベクトル開平演算装置の外部の命令実
行制御部に対して例外が発生していることを通知する。 本例では例外は検出されない。桁調整数算出手段724
では、正規化シフト数保持手段704_10からの2を
右1ビットシフトして1とした後、1を出力し、桁調整
手段725では部分平方根保持手段719_10から7
22_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の指数に対して、指数定数減算
手段803により3FFを引く。一方、リーディングビ
ット付加回路807では入力レジスタ801の出力の2
51から20の仮数部に対して先頭にリーディングビッ
トの1を付加する。正規化手段808では、入力レジス
タ801の出力の252のビットが1の場合入力を左に
12ビットシフトして、また、入力レジスタ801の出
力の252のビットが0の場合入力を左に13ビットシ
フトして出力する。
【0094】ステージ  1:はじめに入力レジスタ8
01の出力の先頭1ビットが例外検出情報保持手段80
2_1に、指数定数減算手段803の出力が指数保持手
段806_1に、正規化手段808の出力が正規化オペ
ランドレジスタ809に、それぞれセットされる。指数
保持手段806_1の出力がシフタ804により右に1
ビットシフトされ、テーブル情報格納手段810には正
規化オペランドレジスタ809の出力する265から2
53の13ビットが入力され、0881Aが出力される
。さらにこの出力の最下位ビットとして正規化オペラン
ドレジスタ809の出力の252のビットを反転したも
のが付加されるのであるが、本例では1が付加され、乗
算手段813_1から813_5での実質的な乗数は0
881Bとなる。
【0095】ステージ  2:はじめに例外検出情報保
持手段802_1の出力が802_2に、シフタ804
の出力が指数保持手段806_2に、正規化オペランド
レジスタ809の出力が剰余保持手段812_2に、テ
ーブル情報格納手段810の出力がテーブル出力情報保
持手段811_2に、それぞれセットされる。指数保持
手段806_2の出力に対して指数定数加算手段805
により3FFが加算され、結果の指数が求められる。乗
算手段813_1で389C9B88D87D7C00
0と0881Bの乗算が行なわれ、1E192B251
A717F1C14000の積が求められる。
【0096】ステージ  3:はじめに指数定数加算手
段805の出力が指数保持手段806_3に、乗算手段
813_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から244ま
でに部分平方根保持手段814_1の出力を埋め込み、
他のビットをゼロとして出力する。(R+SxT)演算
手段817_1では剰余保持手段812_3の出力をR
、被乗数生成手段816_1の出力をS,反転手段81
5_1の出力をTとして入力し、(R+SxT)の演算
を実行する。(R+SxT)演算手段817_1の出力
00027788D87D7C000はシフタ823_
1によって左に11ビットシフトされる。一方、定数減
算手段819_1では部分平方根保持手段814_1の
出力のLSBから1を引く。マルチプレクサ820_1
は、部分平方根保持手段814_1の出力が正で(R+
SxT)演算手段817_1の出力が負の場合、定数減
算手段819_1の出力を選択し、それ以外の場合は部
分平方根保持手段814_1の出力を選択する。本例で
は上記の条件を判断して部分平方根保持手段814_1
の出力を選択する。
【0097】ステージ  4:はじめにシフタ823_
1の出力が剰余保持手段812_4に、マルチプレクサ
820_1の出力の13ビットを256から244に整
列させ、他のビットをゼロとするデータが併合平方根保
持手段822_4に、例外検出情報保持手段802_3
の出力が802_4に、指数保持手段806_3の出力
が806_4に、テーブル出力情報保持手段811_3
の出力が811_4に、それぞれセットされる。剰余保
持手段812_4にセットされた1番目の剰余R1の1
3BC46C3EBE000000にテーブル出力情報
保持手段811_4の出力する0881Bが乗算手段8
13_2により掛けられ、積0A7E1A738BF8
E0A000000が出力される。
【0098】ステージ  5:はじめに乗算手段813
_2の出力の283から271の014Fが符号1ビッ
ト、データ12ビットの2番目の部分平方根として部分
平方根保持手段814_2に、例外検出情報保持手段8
02_4の出力が802_5に、指数保持手段806_
4の出力が806_5に、剰余保持手段812_4の出
力が812_5に、併合平方根保持手段822_4の出
力が822_5に、テーブル出力情報保持手段811_
4の出力が811_5に、それぞれセットされる。反転
手段815_2では014Fが反転され、1EB0とな
り、最下位ビットとして1が付加されて出力され、(R
+SxT)演算手段817_2では実質的に乗数として
1EB1で演算が行なわれる。一方、被乗数生成手段8
16_2では、併合平方根保持手段822_5の出力を
左に1ビットシフトするとともに、部分平方根保持手段
814_2の出力する13ビットの先頭ビットを除く1
2ビットを244から233へ埋め込み、0F0C29
E00000000を出力する。(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の5ADFBE5F000000
000にテーブル出力情報保持手段811_6の出力す
る0881Bが乗算手段813_3により掛けられ、積
305072BB8C05000000000が出力さ
れる。
【0100】ステージ  7:はじめに乗算手段813
_3の出力の283から271の060Aが符号1ビッ
ト、データ12ビットの3番目の部分平方根として部分
平方根保持手段814_3に、例外検出情報保持手段8
02_6の出力が802_7に、指数保持手段806_
6の出力が806_7に、剰余保持手段812_6の出
力が812_7に、併合平方根保持手段822_6の出
力が822_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
+SxT)演算手段817_3では剰余保持手段812
_7の出力をR、被乗数生成手段816_3の出力をS
,反転手段815_3の出力をTとして入力し、(R+
SxT)の演算を実行する。(R+SxT)演算手段8
17_3の出力FFFF4C079E7000000は
シフタ823_3によって左に11ビットシフトされる
。マルチプレクサ820_3は、定数減算手段819_
3の出力を選択して出力する。加算手段821_3では
併合平方根保持手段822_7の出力と、マルチプレク
サ820_3の出力については13ビットを234から
222に整列させて入力して加算を行ない、07862
9F82400000を出力する。
【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のFA603CF3800000
000にテーブル出力情報保持手段811_8の出力す
る0881Bが乗算手段813_4により掛けられ、積
FD028887C9AE800000000が出力さ
れる。
【0103】ステージ  9:はじめに乗算手段813
_4の出力の283から271の1FA0が符号1ビッ
ト、データ12ビットの4番目の部分平方根として部分
平方根保持手段814_4に、例外検出情報保持手段8
02_8の出力が802_9に、指数保持手段806_
8の出力が806_9に、剰余保持手段812_8の出
力が812_9に、併合平方根保持手段822_8の出
力が822_9に、テーブル出力情報保持手段811_
8の出力が811_9に、それぞれセットされる。反転
手段815_4では1FA0が反転され、005Fとな
り、最下位ビットとして1が付加されて出力され、(R
+SxT)演算手段817_4では実質的に乗数として
0060で演算が行なわれる。一方、被乗数生成手段8
16_4では、併合平方根保持手段822_9の出力を
左に1ビットシフトするとともに、部分平方根保持手段
814_4の出力する13ビットの先頭ビットを除く1
2ビットを222から211へ埋め込み、0F0C53
F04FD0000を出力する。(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に、加算手段8
21_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:はじめに乗算手段81
3_5の283から271の0295が符号1ビット、
データ12ビットの5番目の部分平方根として部分平方
根保持手段814_5に、例外検出情報保持手段802
_10の出力が802_11に、指数保持手段806_
10の出力が806_11に、剰余保持手段812_1
0の出力が812_11に、併合平方根保持手段822
_10の出力が822_11に、テーブル出力情報保持
手段811_10の出力が811_11に、それぞれセ
ットされる。反転手段75では0295が反転され、1
D6Aとなり、最下位ビットとして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へ埋め込み、0F0C53F04FA
0295を出力する。(R+SxT+T)演算手段81
8では剰余保持手段812_11の出力をR、被乗数生
成手段816_5の出力をS,反転手段815_5の出
力をTとして入力し、(R+SxT)の演算を実行する
。(R+SxT+T)演算手段818の出力00089
833F26775547はシフタ823_5によって
左に11ビットシフトされる。マルチプレクサ820_
5は、部分平方根保持手段814_5の出力を選択して
出力する。加算手段821_5では併合平方根保持手段
822_11の出力と、マルチプレクサ820_5の出
力については13ビットを212から20に整列させて
入力して加算を行ない、078629F827D029
5を出力する。なお、部分平方根が負で剰余が正の場合
に限り、加算手段821_5では20に初期キャリを加
える。
【0106】ステージ  12:はじめにシフタ823
_5の出力が剰余保持手段812_12に、加算手段8
21_5の出力が併合平方根保持手段822_12に、
例外検出情報保持手段802_11の出力が802_1
2に、指数保持手段806_11の出力が806_12
に、それぞれセットされる。例外検出手段824では例
外検出情報保持手段802_12の出力より入力オペラ
ンドが負の場合、データ例外として検出し、浮動小数点
ベクトル開平演算装置の外部の命令実行制御部に対して
例外が発生していることを通知する。本数値例ではオペ
ランドは正であるので例外は検出されない。  最終的
な結果として、263の符号ビットとして0、262か
ら252の指数部として指数保持手段806_12の出
力する11ビット、251から20の仮数部として併合
平方根保持手段822_12の出力の253から22が
それぞれ選択され、281E18A7E09F40A5
として図19に示すベクトル開平演算装置から出力され
る。
【0107】(実施例12)図20,図21,図22は
本発明の第12の実施例である浮動小数点ベクトル開平
演算装置のブロック図を示すものである。本実施例の浮
動小数点ベクトル開平演算装置はIEEE規格の倍精度
浮動小数点数ベクトルを要素順に入力して、同じ倍精度
浮動小数点数の平方根ベクトルを要素順に出力し、部分
平方根のデータとしてのビット長が8で部分平方根間に
は重複がない。図20,図21,図22において、90
1は入力レジスタ、902_1から902_16は例外
検出情報保持手段、903は指数定数減算手段、904
はシフタ、905は指数定数加算手段、906_1から
906_16は指数保持手段、907はリーディングビ
ット付加回路、908は正規化手段、909は正規化オ
ペランドレジスタ、910はテーブル情報格納手段、9
11_2から911_14はテーブル出力情報保持手段
、912_2から912_16は剰余保持手段、913
_1から813_7は乗算手段、914_1から914
_7は補正前部分平方根保持手段、915_1から91
5_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から
921_16、922_6から922_16、923_
8から923_16、924_10から924_16、
925_12から925_16、926_14から92
6_16、927_16は補正後部分平方根保持手段、
928_1から928_7はシフタ、929は例外検出
手段である。
【0108】以下、具体的な数値例を用いて図20,図
21,図22に示す浮動小数点ベクトル開平演算装置の
動作を説明する。図11,図12はベクトルの1つの要
素のオペランドが入力されてから、各々の手段で処理さ
れていく過程を示している。以下では1つの要素がステ
ージ毎にどのように処理されていくかについて説明する
。  ステージ  0:はじめにオペランドとして56
F80A494B9A80F8が入力され、入力レジス
タ901にセットされる。入力レジスタ901の出力の
262から252の指数に対して、指数定数減算手段9
03により3FFを引く。一方、リーディングビット付
加回路907では入力レジスタ901の出力の251か
ら20の仮数部に対して先頭にリーディングビットの1
を付加する。正規化手段908では、入力レジスタ90
1の出力の252のビットが1の場合入力を左に12ビ
ットシフトして、また、入力レジスタ901の出力の2
52のビットが0の場合入力を左に13ビットシフトし
て出力する。
【0109】ステージ  1:はじめに入力レジスタ9
01の出力の先頭1ビットが例外検出情報保持手段90
2_1に、指数定数減算手段903の出力が指数保持手
段906_1に、正規化手段908の出力が正規化オペ
ランドレジスタ909に、それぞれセットされる。指数
保持手段906_1の出力がシフタ904により右に1
ビットシフトされ、テーブル情報格納手段910には正
規化オペランドレジスタ909の出力する265から2
53の13ビットが入力され、0D0DEが出力される
。さらにこの出力の最下位ビットとして正規化オペラン
ドレジスタ909の出力の252のビットを反転したも
のが付加されるのであるが、本例では1が付加され、乗
算手段913_1から913_7での実質的な乗数は0
D0DFとなる。
【0110】ステージ  2:はじめに例外検出情報保
持手段902_1の出力が902_2に、シフタ904
の出力が指数保持手段906_2に、正規化オペランド
レジスタ909の出力が剰余保持手段912_2に、テ
ーブル情報格納手段910の出力がテーブル出力情報保
持手段911_2に、それぞれセットされる。指数保持
手段906_2の出力に対して指数定数加算手段905
により3FFが加算され、結果の指数が求められる。乗
算手段913_1で180A494B9A80F800
0と0D0DFの乗算が行なわれ、139D4C834
6645FD808000の積が求められる。
【0111】ステージ  3:はじめに指数定数加算手
段905の出力が指数保持手段906_3に、乗算手段
913_1の281から273の9ビットが符号1ビッ
ト、データ8ビットの1番目の部分平方根として部分平
方根保持手段914_1に、例外検出情報保持手段90
2_2の出力が902_3に、剰余保持手段912_2
の出力が912_3に、テーブル出力情報保持手段91
1_2の出力が911_3に、それぞれセットされる。 反転手段915_1では部分平方根保持手段914_1
の出力を入力してビット反転するとともに、部分平方根
の下位の隣接2ビットが11、または、部分平方根が負
の場合、最下位ビットに0を付加し、それ以外の場合1
を付加して出力する。また、被乗数生成手段916_1
では、1回目の反復では257から250までに部分平
方根保持手段914_1の出力を埋め込み、他のビット
をゼロとして出力する。(R+SxT+T)演算手段9
17_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)演算手段91
7_1では250、917_2では242、917_3
では234、917_4では226,917_5では2
18,917_6では210,917_7では22の位
になるように桁合わせをして樹木状桁上げ保留加算器群
に入力される。(R+SxT+T)演算手段917_1
の出力FFF8094B9A80F8000はシフタ9
28_1によって左に8ビットシフトされる。一方、定
数減算手段918_1では部分平方根保持手段914_
1の出力のLSBから1を引き、定数加算手段919_
1では部分平方根保持手段914_1の出力のLSBに
1を加える。マルチプレクサ920_1は、部分平方根
保持手段914_1の出力が正で(R+SxT+T)演
算手段917_1の出力が負の場合、定数減算手段91
8_1の出力を選択し、部分平方根の下位の隣接2ビッ
トが11で(R+SxT+T)演算手段917_1の出
力が正の場合、または、部分平方根が負で(R+SxT
+T)演算手段917_1の出力が正の場合、定数加算
手段919_1の出力を選択し、それ以外の場合は部分
平方根保持手段914_1の出力を選択する。本例では
上記の条件を判断して部分平方根保持手段814_1の
出力を選択する。
【0112】ステージ  4:はじめにシフタ928_
1の出力が剰余保持手段912_4に、マルチプレクサ
920_1の出力が部分平方根保持手段921_4に、
例外検出情報保持手段902_3の出力が902_4に
、指数保持手段906_3の出力が906_4に、テー
ブル出力情報保持手段911_3の出力が911_4に
、それぞれセットされる。剰余保持手段912_4にセ
ットされた1番目の剰余R1のF8094B9A80F
800000にテーブル出力情報保持手段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では実質的に乗数として01
9で演算が行なわれる。一方、被乗数生成手段916_
2では、部分平方根保持手段921_5の出力を左に1
ビットシフトするとともに、補正前部分平方根保持手段
914_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
はシフタ928_2によって左に8ビットシフトされる
。マルチプレクサ920_2は、部分平方根保持手段9
14_2の出力を選択して出力する。
【0114】ステージ  6:はじめにシフタ928_
2の出力が剰余保持手段912_6に、部分平方根保持
手段921_5の出力が921_6に、マルチプレクサ
920_2の出力が部分平方根保持手段922_6に、
例外検出情報保持手段902_5の出力が902_6に
、指数保持手段906_5の出力が906_6に、テー
ブル出力情報保持手段911_5の出力が911_6に
、それぞれセットされる。剰余保持手段912_6にセ
ットされた2番目の剰余R2のB32F5A80F80
000000にテーブル出力情報保持手段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では実質的に乗数として0F
Aで演算が行なわれる。一方、被乗数生成手段916_
3では、部分平方根保持手段921_7と922_7の
出力を左に1ビットシフトするとともに、補正前部分平
方根保持手段914_3の出力する9ビットを242か
ら234へ埋め込み、4E7341400000000
を出力する。なお、図11,図12においては被乗数生
成手段916_3の出力に対応して4E7341800
000000と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+SxT
+T)演算手段917_3の出力FFCBE877F8
0000000はシフタ928_3によって左に8ビッ
トシフトされる。マルチプレクサ920_3は、部分平
方根保持手段914_3の出力を選択して出力する。
【0116】ステージ  8:はじめにシフタ928_
3の出力が剰余保持手段912_8に、部分平方根保持
手段921_7の出力が921_8に、部分平方根保持
手段922_7の出力が922_8に、マルチプレクサ
920_3の出力が部分平方根保持手段923_8に、
例外検出情報保持手段902_7の出力が902_8に
、指数保持手段906_7の出力が906_8に、テー
ブル出力情報保持手段911_7の出力が911_8に
、それぞれセットされる。剰余保持手段912_8にセ
ットされた3番目の剰余R3のCBE877F8000
000000にテーブル出力情報保持手段911_8の
出力する0D0DFが乗算手段913_4により掛けら
れ、積D57F80FA0108000000000が
出力される。  ステージ  9:はじめに乗算手段9
13_4の出力の282から274の155が符号1ビ
ット、データ8ビットの4番目の部分平方根として部分
平方根保持手段914_4に、例外検出情報保持手段9
02_8の出力が902_9に、指数保持手段906_
8の出力が906_9に、剰余保持手段912_8の出
力が912_9に、部分平方根保持手段921_8の出
力が921_9に、部分平方根保持手段922_8の出
力が922_9に、部分平方根保持手段923_8の出
力が923_9に、テーブル出力情報保持手段911_
8の出力が911_9に、それぞれセットされる。反転
手段915_4では155が反転され、0AAとなり、
最下位ビットとして0が付加されて出力され、(R+S
xT+T)演算手段917_4では実質的に乗数として
0AAで演算が行なわれる。一方、被乗数生成手段91
6_4では、部分平方根保持手段921_9と922_
9と923_9の出力を左に1ビットシフトするととも
に、補正前部分平方根保持手段914_4の出力する9
ビットを234から226へ埋め込み、4E7302D
54000000を出力する。なお、図11,図12に
おいては被乗数生成手段916_4の出力に対応して4
E7302D58000000と226に+1された形
になっているが図20に示す開平演算装置では(R+S
xT+T)の演算での+Tにより実質的に同じ結果とな
るようにしている。(R+SxT+T)演算手段917
_4では剰余保持手段912_9の出力をR、被乗数生
成手段916_4の出力をS,反転手段915_4の出
力をTとして入力し、(R+SxT+T)の演算を実行
する。(R+SxT+T)演算手段917_4の出力0
000D7D9C70000000はシフタ928_4
によって左に8ビットシフトされる。マルチプレクサ9
20_4は、定数加算手段919_4の出力を選択して
出力する。
【0117】ステージ  10:はじめにシフタ928
_4の出力が剰余保持手段912_10に、部分平方根
保持手段921_9の出力が921_10に、部分平方
根保持手段922_9の出力が922_10に、部分平
方根保持手段923_9の出力が923_10に、マル
チプレクサ920_4の出力が部分平方根保持手段92
4_10に、例外検出情報保持手段902_9の出力が
902_10に、指数保持手段906_9の出力が90
6_10に、テーブル出力情報保持手段911_9の出
力が911_10に、それぞれセットされる。剰余保持
手段912_10にセットされた4番目の剰余R4の0
0D7D9C7000000000にテーブル出力情報
保持手段911_10の出力する0D0DFが乗算手段
913_5により掛けられ、積00B01CF8645
9000000000が出力される。  ステージ  
11:はじめに乗算手段913_5の出力の282から
274の002が符号1ビット、データ8ビットの5番
目の部分平方根として部分平方根保持手段914_5に
、例外検出情報保持手段902_10の出力が902_
11に、指数保持手段906_10の出力が906_1
1に、剰余保持手段912_10の出力が912_11
に、部分平方根保持手段921_10の出力が921_
11に、部分平方根保持手段922_10の出力が92
2_11に、部分平方根保持手段923_10の出力が
923_11に、部分平方根保持手段924_10の出
力が924_11に、テーブル出力情報保持手段911
_10の出力が911_11に、それぞれセットされる
。反転手段915_5では002が反転され、1FDと
なり、最下位ビットとして0が付加されて出力され、(
R+SxT+T)演算手段917_5では実質的に乗数
として1FDで演算が行なわれる。一方、被乗数生成手
段916_5では、部分平方根保持手段921_11、
922_11、923_11、924_11の出力を左
に1ビットシフトするとともに、補正前部分平方根保持
手段914_5の出力する9ビットを226から218
へ埋め込み、4E7302AB0080000を出力す
る。なお、図11,図12においては被乗数生成手段9
16_5の出力に対応して4E7302AB00C00
00と218ビットが1となっているが図20に示す開
平演算装置では(R+SxT+T)の演算での+Tによ
り実質的に同じ結果となるようにしている。(R+Sx
T+T)演算手段917_5では剰余保持手段912_
11の出力をR、被乗数生成手段916_5の出力をS
,反転手段915_5の出力をTとして入力し、(R+
SxT+T)の演算を実行する。(R+SxT+T)演
算手段917_5の出力FFEC80BEFEFDC0
000はシフタ928_5によって左に8ビットシフト
される。マルチプレクサ920_5は、補正前部分平方
根保持手段914_5の出力を選択して出力する。
【0118】ステージ  12:はじめにシフタ928
_5の出力が剰余保持手段912_12に、部分平方根
保持手段921_11の出力が921_12に、部分平
方根保持手段922_11の出力が922_12に、部
分平方根保持手段923_11の出力が923_12に
、部分平方根保持手段924_11の出力が924_1
2に、マルチプレクサ920_5の出力が部分平方根保
持手段925_12に、例外検出情報保持手段902_
11の出力が902_12に、指数保持手段906_1
1の出力が906_12に、テーブル出力情報保持手段
911_11の出力が911_12に、それぞれセット
される。剰余保持手段912_12にセットされた5番
目の剰余R5のEC80BEFEFDC000000に
テーブル出力情報保持手段911_12の出力する0D
0DFが乗算手段913_6により掛けられ、積F01
79F558E4B0A4000000が出力される。
【0119】ステージ  13:はじめに乗算手段91
3_6の出力の282から274の1C0が符号1ビッ
ト、データ8ビットの6番目の部分平方根として部分平
方根保持手段914_6に、例外検出情報保持手段90
2_12の出力が902_13に、指数保持手段906
_12の出力が906_13に、剰余保持手段912_
12の出力が912_13に、部分平方根保持手段92
1_12の出力が921_13に、部分平方根保持手段
922_12の出力が922_13に、部分平方根保持
手段923_12の出力が923_13に、部分平方根
保持手段924_12の出力が924_13に、部分平
方根保持手段925_12の出力が925_13に、テ
ーブル出力情報保持手段911_12の出力が911_
13に、それぞれセットされる。反転手段915_6で
は1C0が反転され、03Fとなり、最下位ビットとし
て0が付加されて出力され、(R+SxT+T)演算手
段917_6では実質的に乗数として03Fで演算が行
なわれる。一方、被乗数生成手段916_6では、部分
平方根保持手段921_13、922_13、923_
13、924_13、925_13の出力を左に1ビッ
トシフトするとともに、補正前部分平方根保持手段91
4_6の出力する9ビットを218から210へ埋め込
み、4E7302AB0170000を出力する。なお
、図8においては被乗数生成手段916_6の出力に対
応して4E7302AB0174000と210ビット
が1となっているが図16に示す開平演算装置では(R
+SxT+T)の演算での+Tにより実質的に同じ結果
となるようにしている。(R+SxT+T)演算手段9
17_6では剰余保持手段912_13の出力をR、被
乗数生成手段916_6の出力をS,反転手段915_
6の出力をTとして入力し、(R+SxT+T)の演算
を実行する。(R+SxT+T)演算手段917_6の
出力FFCF0CA7131A9FC00はシフタ92
8_6によって左に8ビットシフトされる。マルチプレ
クサ920_6は、補正前部分平方根保持手段914_
6の出力を選択して出力する。
【0120】ステージ  14:はじめにシフタ928
_6の出力が剰余保持手段912_14に、部分平方根
保持手段921_13の出力が921_14に、部分平
方根保持手段922_13の出力が922_14に、部
分平方根保持手段923_13の出力が923_14に
、部分平方根保持手段924_13の出力が924_1
4に、部分平方根保持手段925_13の出力が925
_14に、マルチプレクサ920_6の出力が部分平方
根保持手段926_14に、例外検出情報保持手段90
2_13の出力が902_14に、指数保持手段906
_13の出力が906_14に、テーブル出力情報保持
手段911_13の出力が911_14に、それぞれセ
ットされる。剰余保持手段912_14にセットされた
6番目の剰余R6のCF0CA7131A9FC000
0にテーブル出力情報保持手段911_14の出力する
0D0DFが乗算手段913_7により掛けられ、積D
80FA3C50F45FD2840000が出力され
る。
【0121】ステージ  15:はじめに乗算手段91
3_7の出力の282から274の160が符号1ビッ
ト、データ8ビットの2番目の部分平方根として部分平
方根保持手段914_7に、例外検出情報保持手段90
2_14の出力が902_15に、指数保持手段906
_14の出力が906_15に、剰余保持手段912_
14の出力が912_15に、部分平方根保持手段92
1_14の出力が921_15に、部分平方根保持手段
922_14の出力が922_15に、部分平方根保持
手段923_14の出力が923_15に、部分平方根
保持手段924_14の出力が924_15に、部分平
方根保持手段925_14の出力が925_15に、部
分平方根保持手段926_14の出力が926_15に
、テーブル出力情報保持手段911_14の出力が91
1_15に、それぞれセットされる。反転手段915_
7では160が反転され、09Fとなり、最下位ビット
として0が付加されて出力され、(R+SxT+T)演
算手段917_7では実質的に乗数として09Fで演算
が行なわれる。一方、被乗数生成手段916_7では、
部分平方根保持手段921_15、922_15、92
3_15、924_15、925_15、926_15
の出力を左に1ビットシフトするとともに、補正前部分
平方根保持手段914_7の出力する9ビットを210
から22へ埋め込み、4E7302AB0160580
を出力する。なお、図8においては被乗数生成手段91
6_7の出力に対応して4E7302AB016058
4と22ビットが1となっているが図16に示す開平演
算装置では(R+SxT+T)の演算での+Tにより実
質的に同じ結果となるようにしている。(R+SxT+
T)演算手段917_7では剰余保持手段912_15
の出力をR、被乗数生成手段916_7の出力をS,反
転手段915_7の出力をTとして入力し、(R+Sx
T+T)の演算を実行する。(R+SxT+T)演算手
段917_7の出力FFC615BB507A96CF
Cはシフタ928_7によって左に8ビットシフトされ
る。マルチプレクサ920_7は、補正前部分平方根保
持手段914_7の出力を選択して出力する。
【0122】ステージ  16:はじめにシフタ928
_7の出力が剰余保持手段912_16に、部分平方根
保持手段921_15の出力が921_16に、部分平
方根保持手段922_15の出力が922_16に、部
分平方根保持手段923_15の出力が923_16に
、部分平方根保持手段924_15の出力が924_1
6に、部分平方根保持手段925_15の出力が925
_16に、部分平方根保持手段926_15の出力が9
26_16に、マルチプレクサ920_7の出力が部分
平方根保持手段927_16に、例外検出情報保持手段
902_15の出力が902_16に、指数保持手段9
06_15の出力が906_16に、それぞれセットさ
れる。例外検出手段929では例外検出情報保持手段9
02_16の出力より入力オペランドが負の場合、デー
タ例外として検出し、浮動小数点ベクトル開平演算装置
の外部の命令実行制御部に対して例外が発生しているこ
とを通知する。本数値例ではオペランドは正であるので
例外は検出されない。  最終的な結果として、263
の符号ビットとして0、262から252の指数部とし
て指数保持手段906_16の出力する11ビット、2
51から20の仮数部として部分平方根保持手段921
_16の下位7ビット、部分平方根保持手段922_1
6からの926_16の40ビット、部分平方根保持手
段927_16の下位5ビットをひとまとめにして、4
6739CC0AAC0580Cとして図20に示すベ
クトル開平演算装置から出力される。
【0123】
【発明の効果】以上のように本発明は、剰余保持手段と
、平方根の近似逆数を格納するテーブル情報格納手段と
、部分平方根を求める乗算手段と、剰余から反復計算で
上位から揃った併合平方根と部分平方根の積を求める(
R−SxT)演算手段を設けることにより、乗数のビッ
ト長として、固定小数点数の場合はオペランド長、浮動
小数点数の場合は仮数部のビット長よりも小さい乗算器
を使用して、開平演算を実行することができるのでハー
ドウェアの物量の多大な増大を招くことなく、乗算命令
と開平演算命令が同時実行可能なデータ処理装置を提供
することができる。また、性能についても部分平方根間
でビットの重複を許容した開平演算装置はニュートン・
ラプソン法による開平演算装置と比較して遜色がない。 また、結果の平方根を丸めるためにガードビット、ラウ
ンドビット、スティキービットを使用する場合にはLS
B以下、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)

    【特許請求の範囲】
  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+Sx
    T+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+S
    xT+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+SxT+T)
    演算手段の出力を部分平方根のビット長から隣接する部
    分平方根間で重複するビット長を引いた数だけ左にシフ
    トするシフト手段と、前記乗算手段の出力する部分平方
    根のLSBから1を引く定数減算手段と、前記乗算手段
    の出力する部分平方根と前記定数減算手段の出力を選択
    して補正部分平方根として出力するマルチプレクサと、
    前記併合平方根保持手段から出力される併合平方根に対
    して、前記マルチプレクサの出力する補正部分平方根を
    併合するための桁合わせを行なう桁合わせ手段と、前記
    併合平方根と前記桁合わせ手段の出力を加算して更新さ
    れた併合平方根を出力する加算手段とから主要部の一組
    は構成され、1段目の前記加算手段は被加数がゼロであ
    るので不要であり、2段目以降は、前記剰余保持手段は
    前段の前記シフト手段に、前記併合平方根保持手段は、
    2段目では前記マルチプレクサ、また、3段目以降は前
    記加算手段に、前記テーブル出力情報保持手段は前段の
    前記テーブル出力情報保持手段に、前記正規化シフト数
    保持手段は前段の前記正規化シフト数保持手段に接続さ
    れ、後処理部として、パイプライン動作の同期をとるた
    めに、併合平方根保持手段、正規化シフト数保持手段が
    あり、それぞれ、主要部の最終段の前記加算手段、前記
    正規化シフト数保持手段に接続され、前記正規化シフト
    数検出手段の出力より最終結果の平方根を求めるために
    併合平方根を右にシフトするシフト数を算出する桁調整
    シフト数算出手段と、前記併合平方根保持手段の出力す
    る併合平方根を前記桁調整シフト数算出手段の出力する
    シフト数により右シフトを行い最終結果の平方根を出力
    する桁調整手段とから後処理部は構成され、以上の前処
    理部、主要部、後処理部から全体が構成されることを特
    徴とする固定小数点数ベクトル開平演算装置。
  14. 【請求項14】  固定小数点数からなるベクトルの要
    素順の入力オペランドに対して平方根ベクトルを要素順
    に求めるベクトル開平演算装置において、入力レジスタ
    と、前記入力レジスタの出力を2ビット単位にビット正
    規化するための正規化シフト数検出手段と、前記正規化
    シフト数検出手段の出力するシフト数により、前記入力
    レジスタの出力を左にシフトするビット正規化手段と、
    前記正規化手段の出力を保持する正規化オペランドレジ
    スタと、前記正規化シフト数検出手段の出力を保持する
    正規化シフト数保持手段と、前記正規化オペランドレジ
    スタの出力の上位ビットをアドレスとして平方根の近似
    逆数を索引するテーブル情報格納手段とから前処理部を
    構成し、主要部として、重複しない部分平方根のビット
    長の合計が求めるべき結果の平方根のビット長以上にな
    るまで部分平方根を求める処理を繰り返す、その回数に
    等しい個数だけ必要な一組の構成要素を列挙すると、パ
    イプライン動作の同期をとるために、剰余保持手段、補
    正後部分平方根保持手段、テーブル出力情報保持手段、
    正規化シフト数保持手段があり、主要部の1段目の前記
    剰余保持手段、前記テーブル出力情報保持手段、前記正
    規化シフト数保持手段は、それぞれ、前処理部の前記正
    規化オペランドレジスタ、前記テーブル情報格納手段に
    、前記正規化シフト数保持手段に接続され、前記補正後
    部分平方根保持手段は1段目ではゼロであるので不要で
    あり、前記剰余保持手段の出力を被乗数、前記テーブル
    出力情報保持手段の出力を乗数として入力して乗算を行
    ない積の上位を補正前部分平方根として出力する乗算手
    段と、前記乗算手段の出力する補正前部分平方根をビッ
    ト毎に反転する反転手段と、前記補正後部分平方根保持
    手段の出力を左に1ビットシフトして前記乗算手段の出
    力する補正前部分平方根とで被乗数を生成する被乗数生
    成手段と、前記剰余保持手段の出力する剰余(R)と、
    前記被乗数生成手段の出力する被乗数(S)と、更に前
    記反転手段の出力する乗数(T)を入力して、(R+S
    xT)または(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+Sx
    T+T)演算手段と、前記(R+SxT+T)演算手段
    の出力を部分平方根のビット長から隣接する部分平方根
    間で重複するビット長を引いた数だけ左にシフトするシ
    フト手段と、前記乗算手段の出力する部分平方根のLS
    Bから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)演算手段の出
    力を部分平方根のビット長だけ左にシフトするシフト手
    段と、前記乗算手段の出力する補正前部分平方根のLS
    Bから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 true JPH04355827A (ja) 1992-12-09
JP2722858B2 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
US5307302A (en) 1994-04-26
JP2722858B2 (ja) 1998-03-09

Similar Documents

Publication Publication Date Title
US9703531B2 (en) Multiplication of first and second operands using redundant representation
US6751644B1 (en) Method and apparatus for elimination of inherent carries
US11816448B2 (en) Compressing like-magnitude partial products in multiply accumulation
JPH02196328A (ja) 浮動小数点演算装置
WO2017081435A1 (en) Lane position information for processing of vector
US5677861A (en) Arithmetic apparatus for floating-point numbers
KR101560340B1 (ko) 포화가 적용된 정수 곱셈 연산 및 곱셈-덧셈 연산
JPH07168697A (ja) 倍精度除算回路および方法
WO2017081434A1 (en) Redundant representation of numeric value using overlap bits
JP4476210B2 (ja) 逆数演算の結果値の初期推定値を求めるデータ処理装置および方法
JPH04355827A (ja) 開平演算装置
KR20080089640A (ko) 사전-포화 고정-소수점 곱셈기
US20060184602A1 (en) Data processing apparatus and method for performing a reciprocal operation on an input value to produce a result value
US5278782A (en) Square root operation device
US20090164544A1 (en) Dynamic range enhancement for arithmetic calculations in real-time control systems using fixed point hardware
US5825681A (en) Divider/multiplier circuit having high precision mode
JPH11296346A (ja) 浮動小数点2進4倍長語フォ―マット乗算命令装置
JPH04172526A (ja) 浮動小数点除算器
JP2761145B2 (ja) 開平演算装置
US20040049528A1 (en) Apparatus and method for adding multiple-bit binary-strings
JPH04358224A (ja) 開平演算装置
Doran Special cases of division
JPH06187132A (ja) 開平演算装置
JP3100868B2 (ja) 浮動小数点数のための算術演算装置
Brown Binary arithmetic