JP2777265B2 - 高基数開平演算装置 - Google Patents
高基数開平演算装置Info
- Publication number
- JP2777265B2 JP2777265B2 JP11953490A JP11953490A JP2777265B2 JP 2777265 B2 JP2777265 B2 JP 2777265B2 JP 11953490 A JP11953490 A JP 11953490A JP 11953490 A JP11953490 A JP 11953490A JP 2777265 B2 JP2777265 B2 JP 2777265B2
- Authority
- JP
- Japan
- Prior art keywords
- square root
- residual
- approximate value
- register
- partial quotient
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Landscapes
- Complex Calculations (AREA)
Description
【発明の詳細な説明】 〔目次〕 概要 産業上の利用分野 従来の技術(第3図、第4図) 発明が解決しようとする課題 課題を解決するための手段(第1図) 作用 実施例(第2図) 発明の効果 〔概要〕 高基数開平演算装置に関し、 高速で開平演算処理ができるようにすることを目的と
し、 最上位ビットより始めて、加減算及びシフトを繰り返
すことにより、順次下位ビットを求めていく、減算シフ
ト型の開平方式を用いて高基数の開平演算処理を行う高
基数開平演算装置において、答の近似値aを入れるレジ
スタと、残余Rを入れるレジスタと、近似値a及び残余
Rを入力し、部分商予測によって予測値rを求める部分
商予測器と、近似値a及び求めた予測値rを入力して加
算処理を行い、新たな近似値を求める加算器と、残余
R、近似値a、及び求めた予測値rを入力し、新たな残
余を計算して求める残余計算部とを設け、1回の加算
と、1回の部分商予測と、残余計算部の1マシンサイク
ル中に、平方根のn(n≧2)ビットが求められるよう
に構成する。
し、 最上位ビットより始めて、加減算及びシフトを繰り返
すことにより、順次下位ビットを求めていく、減算シフ
ト型の開平方式を用いて高基数の開平演算処理を行う高
基数開平演算装置において、答の近似値aを入れるレジ
スタと、残余Rを入れるレジスタと、近似値a及び残余
Rを入力し、部分商予測によって予測値rを求める部分
商予測器と、近似値a及び求めた予測値rを入力して加
算処理を行い、新たな近似値を求める加算器と、残余
R、近似値a、及び求めた予測値rを入力し、新たな残
余を計算して求める残余計算部とを設け、1回の加算
と、1回の部分商予測と、残余計算部の1マシンサイク
ル中に、平方根のn(n≧2)ビットが求められるよう
に構成する。
本発明は高基数開平演算装置に関し、更に詳しく言え
ば、ディジタル計算機において用いられ、特に、平方根
を求める演算を高速化した高基数開平演算装置に関す
る。
ば、ディジタル計算機において用いられ、特に、平方根
を求める演算を高速化した高基数開平演算装置に関す
る。
第3図は従来例の構成図、第4図は従来例の処理フロ
ーチャートである。図中、1はセレクタ、2、3はレジ
スタ、4はCSA(桁上げ保存加算器)、5は加算器を示
す。なお、第4図の処理番号はカッコ内に示す。
ーチャートである。図中、1はセレクタ、2、3はレジ
スタ、4はCSA(桁上げ保存加算器)、5は加算器を示
す。なお、第4図の処理番号はカッコ内に示す。
従来、ディジタル計算機において、開平演算は、基本
的な演算であり、技術計算では頻繁に使用されている。
的な演算であり、技術計算では頻繁に使用されている。
上記の開平演算の内、従来用いられていた減算シフト
型の開平法の基本的なアルゴリズムは、次のようなもの
である。
型の開平法の基本的なアルゴリズムは、次のようなもの
である。
今、2進数で表わされる正の数Xの平方根を求めたい
とする。この場合適切なシフトによって、予め1≦X<
4となるようにしておく。
とする。この場合適切なシフトによって、予め1≦X<
4となるようにしておく。
ここで先ず、 の最初の1ビットの近似値として無条件にa=1をと
る。この時、 a2≦X<(a+1)2 ……(1) が成り立っている。
る。この時、 a2≦X<(a+1)2 ……(1) が成り立っている。
また、残余RをX−a2として定義しておく。
次に、Kビットの近似値aが得られていて、式(1)
が成り立っている時、次のようにしてK+1ビットの近
似値a1と対応する残余R1を求める。但し、Xでなく4Xの
平方根を求めても同じことなので、こちらで考える。つ
まり、 a1 2≦4X<(a1+1)2を満たすa1を求める。式(1)
より、 (2a)2≦4X<(2a+2)2 ……(2) が成り立っているから、a1、R1の取り方としては、 4X<(2a+1)2なら、 a1=2a、R1=4Rとして、 (2a+1)2≦4Xなら、 a1=2a+1、R1=4X−(2a+1)2= 4R−4a−1 とすればよい。上記の処理を繰り返して行うことにより
平方根が得られる。
が成り立っている時、次のようにしてK+1ビットの近
似値a1と対応する残余R1を求める。但し、Xでなく4Xの
平方根を求めても同じことなので、こちらで考える。つ
まり、 a1 2≦4X<(a1+1)2を満たすa1を求める。式(1)
より、 (2a)2≦4X<(2a+2)2 ……(2) が成り立っているから、a1、R1の取り方としては、 4X<(2a+1)2なら、 a1=2a、R1=4Rとして、 (2a+1)2≦4Xなら、 a1=2a+1、R1=4X−(2a+1)2= 4R−4a−1 とすればよい。上記の処理を繰り返して行うことにより
平方根が得られる。
上記アルゴリズムに基づく処理は次のようにして行わ
れる。
れる。
処理装置としては、第3図に示したように、セレクタ
1、レジスタ2、3、CSA4、加算器5によって構成され
る。上記セレクタ1では、加算器5からの符号出力をセ
レクト信号とし、4R、または4R−4a−1のいずれか一方
を選択する。また、レジスタ2は、残余Rを格納するレ
ジスタであり、レジスタ3は近似値aを格納するレジス
タである。
1、レジスタ2、3、CSA4、加算器5によって構成され
る。上記セレクタ1では、加算器5からの符号出力をセ
レクト信号とし、4R、または4R−4a−1のいずれか一方
を選択する。また、レジスタ2は、残余Rを格納するレ
ジスタであり、レジスタ3は近似値aを格納するレジス
タである。
上記処理装置による開平処理は、第4図に示したよう
に、先ず、a=1、R=X−a2とする(100)。
に、先ず、a=1、R=X−a2とする(100)。
次に、4X<(2a+1)2であれば、(101)、a1=2
a、R1=4Rとする(102)が、もし4X(2a+1)2ならば
(101)、a1=2a+1、R1=4X−(2a+1)2=4R−4a
−1とする(103)。
a、R1=4Rとする(102)が、もし4X(2a+1)2ならば
(101)、a1=2a+1、R1=4X−(2a+1)2=4R−4a
−1とする(103)。
このような処理(101)〜(103)をm回繰り返すと、
mビットの平方根が得られる。
mビットの平方根が得られる。
上記のような従来のものにおいては次のような欠点が
あった。
あった。
即ち、上記従来例で示した処理(101)〜(103)の主
要な演算は、4R−4a−1を求めることである。
要な演算は、4R−4a−1を求めることである。
これは、ハードウェア的に、1回の減算と、CSA1段で
実現できるので、常識的な1マシンサイクル中に容易に
納まる。しかし、1サイクルに1ビットしか結果が得ら
れないため、開平演算処理が遅くなる欠点があった。
実現できるので、常識的な1マシンサイクル中に容易に
納まる。しかし、1サイクルに1ビットしか結果が得ら
れないため、開平演算処理が遅くなる欠点があった。
本発明は、このような従来の欠点を解消し、高速で開
平演算処理ができるようにすることを目的とする。
平演算処理ができるようにすることを目的とする。
第1図は本発明の原理図であり、図中、10、11はレジ
スタ、12は部分商予測器、13は残余計算部、14は加算器
を示す。
スタ、12は部分商予測器、13は残余計算部、14は加算器
を示す。
本発明は、上記の目的を達成するため、最上位ビット
より始めて加減算及びシフトを繰り返すことにより、順
次下位ビットを求めていく、減算シフト型の開平方式を
用いて高基数の開平演算処理を行う高基数開平演算装置
において、 答の近似値aを入れるレジスタ10と、残余Rを入れる
レジスタ11と、上記近似値a及び残余Rを入力し、部分
商予測によって予測値rを求める部分商予測器12と、上
記近似値a及び求めた予測値rを入力して加算処理を行
い、新たな近似値 を求める加算器14と、上記残余R、近似値a、及び求め
た予測値rを入力し、新たな残余 を計算して求める残余計算部13とを設け、 1回の加算と、1回の部分商予測と、残余計算部13の
1マシンサイクル中に、平方根のn(n≧2)ビットが
求められるようにしたものである(ただしN=2n)。
より始めて加減算及びシフトを繰り返すことにより、順
次下位ビットを求めていく、減算シフト型の開平方式を
用いて高基数の開平演算処理を行う高基数開平演算装置
において、 答の近似値aを入れるレジスタ10と、残余Rを入れる
レジスタ11と、上記近似値a及び残余Rを入力し、部分
商予測によって予測値rを求める部分商予測器12と、上
記近似値a及び求めた予測値rを入力して加算処理を行
い、新たな近似値 を求める加算器14と、上記残余R、近似値a、及び求め
た予測値rを入力し、新たな残余 を計算して求める残余計算部13とを設け、 1回の加算と、1回の部分商予測と、残余計算部13の
1マシンサイクル中に、平方根のn(n≧2)ビットが
求められるようにしたものである(ただしN=2n)。
本発明は上記のように構成したので、次のような作用
がある。
がある。
最初に前処理として、答えの近似値a及び残余Rを求
めて、レジスタ10及びレジスタ11にそれぞれの値を入れ
ておく。
めて、レジスタ10及びレジスタ11にそれぞれの値を入れ
ておく。
次に、本処理として、次の(1)〜(3)の処理をm
回繰り返して行う。
回繰り返して行う。
(1) レジスタ10内の近似値aと、レジスタ11内の残
余Rを、部分商予測器12に入力し、予測値rを求める。
余Rを、部分商予測器12に入力し、予測値rを求める。
(2) レジスタ11内の残余Rと、レジスタ10内の近似
値aと、上記部分商予測器12で求めた予測値rを、残余
計算部13に入力して、新たな残余 を求め、レジスタ11内の残余Rを更新する。
値aと、上記部分商予測器12で求めた予測値rを、残余
計算部13に入力して、新たな残余 を求め、レジスタ11内の残余Rを更新する。
(3) レジスタ10内の近似値aと、上記部分商予測器
12で求めた予測値rを、加算器14に入力し、新たな近似
値 を求めてレジスタ10内の近似値aを更新する。
12で求めた予測値rを、加算器14に入力し、新たな近似
値 を求めてレジスタ10内の近似値aを更新する。
このようにすると、上記(1)及び(3)の処理が1
回と、(2)の処理の1マシンサイクル中に、平方根の
n(n≧2)ビットが求められる。従って、開平処理が
高速化できる。
回と、(2)の処理の1マシンサイクル中に、平方根の
n(n≧2)ビットが求められる。従って、開平処理が
高速化できる。
以下、本発明の実施例を図面に基づいて説明する。
第2図は、本発明の1実施例の構成図であり、図中、
第1図と同符号は同一のものを示す。また、15は自乗
器、16〜18はCSA(桁上げ保存加算器)、19はCPA(桁上
げ伝播加算器)を示す。
第1図と同符号は同一のものを示す。また、15は自乗
器、16〜18はCSA(桁上げ保存加算器)、19はCPA(桁上
げ伝播加算器)を示す。
この例では、残余計算部13を、自乗器15と、3段構成
のCSA16〜18と、CPA19によって構成し、加算器14にもCP
Aを用いる。そして、減算シフト型の開平方式で、高基
数の開平演算処理を行うものであり、以下、詳細に説明
する。
のCSA16〜18と、CPA19によって構成し、加算器14にもCP
Aを用いる。そして、減算シフト型の開平方式で、高基
数の開平演算処理を行うものであり、以下、詳細に説明
する。
開平演算処理において、1サイクルにnビット(n≧
2)の結果を得るには、次のようにする。今、N=2nと
して、 の近似値aが精度1/NKで求まっている(ただし、Kは、
近似値aのN進数での桁数を示す)。即ち、 が成り立っていたとする。このaから精度1/NKの近似値 を求めたい。
2)の結果を得るには、次のようにする。今、N=2nと
して、 の近似値aが精度1/NKで求まっている(ただし、Kは、
近似値aのN進数での桁数を示す)。即ち、 が成り立っていたとする。このaから精度1/NKの近似値 を求めたい。
即ち、 であるような整数rを求めたい。
なおこの時、式(3)より、−N+1≦r≦N−1の
範囲で解があるはずである。
範囲で解があるはずである。
残余RkをNK(X−a2)として定義しておく。式(3)
より、−2a+1/NK<RK<2a+1/NKである。
より、−2a+1/NK<RK<2a+1/NKである。
次に、式(4)を変形すると、 となる。ここで|r|<Nより、 が成り立てば式(5)も成り立つ。
式(6)を変形すると、 今、2aNK-1がある定数C以上であることが分かってい
るものとすると、 が成り立つようなrが見つかれば上記(7)式が成り立
ち、上記(5)式も成り立つ。従って、近似値a1が求ま
ったことになる。この時、新しい残余RK+1は、 上記(8)式を満たすようなrは、高基数非回復型除算
回路でよく知られた部分商予測の手法を用いて1マシン
サイクルに十分収まる論理段数で求められる。
るものとすると、 が成り立つようなrが見つかれば上記(7)式が成り立
ち、上記(5)式も成り立つ。従って、近似値a1が求ま
ったことになる。この時、新しい残余RK+1は、 上記(8)式を満たすようなrは、高基数非回復型除算
回路でよく知られた部分商予測の手法を用いて1マシン
サイクルに十分収まる論理段数で求められる。
以上のことをまとめると、アルゴリズムは次のように
なる。
なる。
Xに適当なシフトを施した後、a≧a0となり、且つ
上記(3)式を満たすようなaを求める。R=NK(X−
a2)とおく。
上記(3)式を満たすようなaを求める。R=NK(X−
a2)とおく。
上記(8)式を満たすrを部分商予測により求め、 このの操作をm回繰り返すと、mnビットの近似式が求
まる。
まる。
中のaの更新は、何回繰り返しても、a>a0−1が
成り立つので、上記(8)式でC=2a0NK-1とおいて部
分商予測を行えばよい。
成り立つので、上記(8)式でC=2a0NK-1とおいて部
分商予測を行えばよい。
rを掛けるという操作は、rが高々nビットなので、
CSA段数と加算器でできる。また、1/N倍は、nビット右
シフトに等しいので、特に回路は不要である。
CSA段数と加算器でできる。また、1/N倍は、nビット右
シフトに等しいので、特に回路は不要である。
ところで、第2図においては、n=2の場合を示して
ある。最初に64≦X<256となるように、Xをシフトし
た後、表1に基づく初期予測を行った結果がレジスタ10
に入れられる。
ある。最初に64≦X<256となるように、Xをシフトし
た後、表1に基づく初期予測を行った結果がレジスタ10
に入れられる。
表1の予測は、(a−1)2<X<(a+1)2とな
るようになっている。a0=8、C=4、K=0である。
上記(8)式は、 となる。
るようになっている。a0=8、C=4、K=0である。
上記(8)式は、 となる。
また、残余R0=X−a2がレジスタ11に入れられる。
レジスタ10内のデータは、符号なしで、整数部は4ビ
ットであり、レジスタ11内のデータは、符号付きで、整
数部は符号を入れて6ビットである。
ットであり、レジスタ11内のデータは、符号付きで、整
数部は符号を入れて6ビットである。
このケースでは、Rとaの整数部だけで部分商予測が
できる。整数部をR,aとすると、2R≦2R<2R+
2、a≦a<a+1となるから、(9)式の十分条件
は、 である。
できる。整数部をR,aとすると、2R≦2R<2R+
2、a≦a<a+1となるから、(9)式の十分条件
は、 である。
この(10)式を満たすようなrを全てのa、Rについ
て求めたのが表2である。
て求めたのが表2である。
1サイクル毎に、先ず、Rとaの上位ビットから表2
に基づく部分商予測が行われる。結果rは、ここでは符
号付き3ビットである。また、r2を求めるために、自乗
器15に入れる。更に、rの各ビットがaの−4倍、2
倍、1倍に掛けられ、最後にR、r2、−4ar2、2ar1、ar
oが(各々適切にシフトされた後)加算されてレジスタ
Rに入る。
に基づく部分商予測が行われる。結果rは、ここでは符
号付き3ビットである。また、r2を求めるために、自乗
器15に入れる。更に、rの各ビットがaの−4倍、2
倍、1倍に掛けられ、最後にR、r2、−4ar2、2ar1、ar
oが(各々適切にシフトされた後)加算されてレジスタ
Rに入る。
以上説明したように、本発明によれば、1回の加算
と、1回の部分商予測と、CSA数段程度から成る1マシ
ンサイクル中に、平方根のn(n≧2)ビットを求める
ことができるから、高基数の開平演算処理が高速ででき
る効果がある。
と、1回の部分商予測と、CSA数段程度から成る1マシ
ンサイクル中に、平方根のn(n≧2)ビットを求める
ことができるから、高基数の開平演算処理が高速ででき
る効果がある。
第1図は本発明の原理図、 第2図は本発明の1実施例の構成図、 第3図は従来例の構成図、 第4図は従来例の処理フローチャートである。 10、11……レジスタ 12……部分商予測器 13……残余計算部 14……加算器
Claims (1)
- 【請求項1】最上位ビットより始めて、加減算及びシフ
トを繰り返すことにより、順次下位ビットを求めてい
く、減算シフト型の開平方式を用いて高基数の開平演算
処理を行う高基数開平演算装置において、 答の近似値aを入れるレジスタ(10)と、 残余Rを入れるレジスタ(11)と、 上記近似値a及び残余Rを入力し、部分商予測によって
予測値rを求める部分商予測器(12)と、 上記近似値a及び求めた予測値rを入力して加算処理を
行い、新たな近似値(a1=a+r/NK+1)を求める加算器
(14)と、 上記残余R、近似値a、及び求めた予測値rを入力し、
新たな残余(R1=RN−2ar−r2/NK+1)を計算して求める
残余計算部(13)とを設け、 1回の加算と、1回の部分商予測と、残余計算部(13)
の1マシンサイクル中に、平方根のn(n≧2)ビット
が求められるようにしたことを特徴とする高基数開平演
算装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP11953490A JP2777265B2 (ja) | 1990-05-09 | 1990-05-09 | 高基数開平演算装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP11953490A JP2777265B2 (ja) | 1990-05-09 | 1990-05-09 | 高基数開平演算装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0415822A JPH0415822A (ja) | 1992-01-21 |
JP2777265B2 true JP2777265B2 (ja) | 1998-07-16 |
Family
ID=14763667
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP11953490A Expired - Fee Related JP2777265B2 (ja) | 1990-05-09 | 1990-05-09 | 高基数開平演算装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2777265B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7120320B2 (ja) * | 2018-10-18 | 2022-08-17 | 富士通株式会社 | 演算処理装置および演算処理装置の制御方法 |
-
1990
- 1990-05-09 JP JP11953490A patent/JP2777265B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH0415822A (ja) | 1992-01-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0158530B1 (en) | Nonrestoring divider | |
JPH0713742A (ja) | 乗算装置 | |
JP3139466B2 (ja) | 乗算器及び積和演算器 | |
EP0356153B1 (en) | Radix-2**n divider method and apparatus using overlapped quotient bit selection and concurrent quotient rounding and correction | |
US5177703A (en) | Division circuit using higher radices | |
JP4273071B2 (ja) | 除算・開平演算器 | |
JP2001222410A (ja) | 除算器 | |
US4677583A (en) | Apparatus for decimal multiplication | |
JPH1195982A (ja) | 演算処理回路及び演算処理方法並びに演算処理システム | |
JP3660075B2 (ja) | 除算装置 | |
US7607165B2 (en) | Method and apparatus for multiplication and/or modular reduction processing | |
JP2777265B2 (ja) | 高基数開平演算装置 | |
JPS58137045A (ja) | 並列乗算器 | |
JPS6226723B2 (ja) | ||
JP2645422B2 (ja) | 浮動小数点演算処理装置 | |
JP3190826B2 (ja) | 積和演算装置 | |
JP2803442B2 (ja) | 開平装置 | |
JP2537876B2 (ja) | 丸め処理回路 | |
JP4042215B2 (ja) | 演算処理装置およびその方法 | |
JP2705640B2 (ja) | 積和演算器 | |
JPH0368415B2 (ja) | ||
JPH0427587B2 (ja) | ||
JP3261600B2 (ja) | 剰余乗算器 | |
JP3612950B2 (ja) | 演算装置およびその方法 | |
JP3074910B2 (ja) | 除算装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |