JP2551037B2 - 逆数演算回路 - Google Patents
逆数演算回路Info
- Publication number
- JP2551037B2 JP2551037B2 JP62266019A JP26601987A JP2551037B2 JP 2551037 B2 JP2551037 B2 JP 2551037B2 JP 62266019 A JP62266019 A JP 62266019A JP 26601987 A JP26601987 A JP 26601987A JP 2551037 B2 JP2551037 B2 JP 2551037B2
- Authority
- JP
- Japan
- Prior art keywords
- value
- bits
- circuit
- multiplication
- bit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Description
【発明の詳細な説明】 〔産業上の利用分野〕 この発明は逆数演算回路に関する。
この発明は、逆数演算回路において、2の補数演算の
桁あふれを誤差修正演算に積極的に取り入れて必要最小
限の演算を行うことにより、全体の回路規模を小さくし
たものである。
桁あふれを誤差修正演算に積極的に取り入れて必要最小
限の演算を行うことにより、全体の回路規模を小さくし
たものである。
値Xの逆数Y=1/Xを求め、この逆数Yを値Zに乗算
すれば、除算Z/Xを行うことができる。
すれば、除算Z/Xを行うことができる。
そして、その逆数Yを求める場合、NR法(ニュートン
・ラフソン法)によれば、逆数Yを高速に求めることが
できるが、その逆数Yを求めるためのNR法の繰り返し演
算は、次式で与えられる。
・ラフソン法)によれば、逆数Yを高速に求めることが
できるが、その逆数Yを求めるためのNR法の繰り返し演
算は、次式で与えられる。
Y(n+1)=Y(n)(2−X・Y(n)) ・・・(i) そして、繰り返しがn回目の相対誤差ε(n)を用い
て、 Y(n)=1/X・(1+ε(n)) ・・・(ii) と表すと、(i)式は、 Y(n+1)=Y(n)(2−X・Y(n) ・・(i) ={1/X・(1+ε(n))}〔2−X{1/X・(1+
ε(n)}〕 =1/X・(1+ε(n)){2−(1+ε(n)} =1/X・(1+ε(n))(1−ε(n)) =1/X・{1−(ε(n))2} =1/X(1+ε(n+1)) ε(n+1)=−(ε(n))2 となり、誤差ε(n)は繰り返しの1回ごとに2乗され
て小さくなるので、値Y(n+1)は高速に真値へと収束して
いく。
て、 Y(n)=1/X・(1+ε(n)) ・・・(ii) と表すと、(i)式は、 Y(n+1)=Y(n)(2−X・Y(n) ・・(i) ={1/X・(1+ε(n))}〔2−X{1/X・(1+
ε(n)}〕 =1/X・(1+ε(n)){2−(1+ε(n)} =1/X・(1+ε(n))(1−ε(n)) =1/X・{1−(ε(n))2} =1/X(1+ε(n+1)) ε(n+1)=−(ε(n))2 となり、誤差ε(n)は繰り返しの1回ごとに2乗され
て小さくなるので、値Y(n+1)は高速に真値へと収束して
いく。
第6図は、このNR法により逆数Y(=1/X)を求める
ためのデジタル演算回路を示す。
ためのデジタル演算回路を示す。
すなわち、デジタルの値Xが、ROM(1)において値
Xに対応した初期値Y(0)に変換され、この値Y(0)がマル
チプレクサ(2)を通じて乗算回路(3)に供給されて
値Xとの積X・Y(n)(今の場合には、n=0)が算出さ
れ、さらに、この積が減算回路(4)に供給されて定数
「2」との差(2−X・Y(n))が算出される。
Xに対応した初期値Y(0)に変換され、この値Y(0)がマル
チプレクサ(2)を通じて乗算回路(3)に供給されて
値Xとの積X・Y(n)(今の場合には、n=0)が算出さ
れ、さらに、この積が減算回路(4)に供給されて定数
「2」との差(2−X・Y(n))が算出される。
そして、この差が乗算回路(5)に供給されてROM
(1)からの値Y(0)との積、すなわち、 Y(n)(2−X・Y(n))=Y(n+1) ただし、今の場合、n=0 が算出され、この積Y(n+1)がレジスタ(6)に供給され
て次の繰り返し計算時まで保持される。
(1)からの値Y(0)との積、すなわち、 Y(n)(2−X・Y(n))=Y(n+1) ただし、今の場合、n=0 が算出され、この積Y(n+1)がレジスタ(6)に供給され
て次の繰り返し計算時まで保持される。
そして、以後、マルチプレクサ(2)は図とは逆の状
態に切り換えられ、(n+1)回目の繰り返し計算時に
は、レジスタ(6)からの値Y(n)がマルチプレクサ
(2)を通じて乗算回路(3),(5)に供給される。
態に切り換えられ、(n+1)回目の繰り返し計算時に
は、レジスタ(6)からの値Y(n)がマルチプレクサ
(2)を通じて乗算回路(3),(5)に供給される。
したがって、乗算回路(3)からは値Y(n+1)が取り出
されるとともに、繰り返し数nがある値に達したとき、
値Y(n+1)は必要な精度の逆数Yとなる。
されるとともに、繰り返し数nがある値に達したとき、
値Y(n+1)は必要な精度の逆数Yとなる。
ところが、この演算回路においては、2つの乗算回路
(3),(5)を必要とするので、全体の回路規模が大
きくなってしまう。
(3),(5)を必要とするので、全体の回路規模が大
きくなってしまう。
すなわち、今、値Xがiビット、値Y(n)がjビットと
すると、乗算回路(3)はiビットとjビットとの乗算
を行うので、(i+j)ビットの語長となり、乗算回路
(5)は(i+j)ビットjビットとの乗算を行うの
で、(i+2j)ビットの語長を必要とする。
すると、乗算回路(3)はiビットとjビットとの乗算
を行うので、(i+j)ビットの語長となり、乗算回路
(5)は(i+j)ビットjビットとの乗算を行うの
で、(i+2j)ビットの語長を必要とする。
そして、例えば、浮動小数点演算においては、i=24
ビット程度なので、乗算回路(3),(5)の語長は非
常に長くなってしまい、この結果、乗算回路(3),
(5)が非常に大規模になるとともに、消費電力あるい
は発熱もかなりの大きさとなってしまう。
ビット程度なので、乗算回路(3),(5)の語長は非
常に長くなってしまい、この結果、乗算回路(3),
(5)が非常に大規模になるとともに、消費電力あるい
は発熱もかなりの大きさとなってしまう。
この発明は、このような問題点を解決しようとするも
のである。
のである。
今、(i)式を変形すると、次のようになる。
Y(n+1)=Y(n)(2−X・Y(n)) ・・(i) =2Y(n)−X・(Y(n))2 =Y(n)−Y(n)(Y(n)・X−1) ・・(iii) ここで、この(iii)式において、右辺の第1項は、
前回の演算結果を示し、第2項は、今回の演算結果と、
前回の演算結果との誤差あるいはその修正量を示す。
前回の演算結果を示し、第2項は、今回の演算結果と、
前回の演算結果との誤差あるいはその修正量を示す。
一方、(ii)式は、 Y(n)=1/X・(1+ε(n)) ・・・(ii) であるから、次式が成り立つ。
Y(n)・X=1+ε(n) ・・・(iv) そして、この(iv)式において、 |ε(n)|<2-k とすれば、(iv)式の左辺は、ε(n)0のとき、 となり、ε(n)<0のとき、 となる。すなわち、 であり、上位からkビットを求める必要はなく、小数点
以下第k位から下位を求めればよいことが判る。
以下第k位から下位を求めればよいことが判る。
また、(iv)式を変形すると、 Y(n)・X−1=ε(n) ・・・(vi) となり、これは(iii)式の右辺の第2項のカッコ内で
もあるが、この(vi)式は、ε(n)0のとき、 となり、ε(n)<0のとき、 となる。すなわち2の補数により表現すると、 Y(n)・X−1=−S・2-k+P-k-1・2-k-1+P-k-2・2
-k-2+ ・・・(vii) となり、やはり上位からkビットを求める必要はなく、
小数点以下第k位から下位を求めればよいことになる。
もあるが、この(vi)式は、ε(n)0のとき、 となり、ε(n)<0のとき、 となる。すなわち2の補数により表現すると、 Y(n)・X−1=−S・2-k+P-k-1・2-k-1+P-k-2・2
-k-2+ ・・・(vii) となり、やはり上位からkビットを求める必要はなく、
小数点以下第k位から下位を求めればよいことになる。
この発明は、以上の点に着目して乗算回路を簡略化し
たものである。
たものである。
乗算回路の語長が短かくなる。
第1図において、iビットのデジタル値Xが、乗算回
路(3)に供給されるとともに、ROM(1)に供給され
て値Xに対応したjビットの初期値Y(0)に変換され、こ
の値Y(0)がマルチプレクサ(2)を通じて乗算回路
(3)に供給され、乗算回路(3)からは両入力値の積
Y(n)・X(今の場合は、n=0)の下位の(i+j−
k)ビットが取り出され、この積が加算回路(7)に供
給されて定数「−1」が加算され、加算回路(7)から
は両入力値の和(Y(n)・X−1)の下位の(i+j−
k)ビットが取り出される。
路(3)に供給されるとともに、ROM(1)に供給され
て値Xに対応したjビットの初期値Y(0)に変換され、こ
の値Y(0)がマルチプレクサ(2)を通じて乗算回路
(3)に供給され、乗算回路(3)からは両入力値の積
Y(n)・X(今の場合は、n=0)の下位の(i+j−
k)ビットが取り出され、この積が加算回路(7)に供
給されて定数「−1」が加算され、加算回路(7)から
は両入力値の和(Y(n)・X−1)の下位の(i+j−
k)ビットが取り出される。
なお、この場合、一例を後述するが、乗算回路(3)
と加算回路(7)とは一体化して積和回路とすることが
できる。
と加算回路(7)とは一体化して積和回路とすることが
できる。
そして、加算回路(7)の(i+j−k)ビットの出
力値が乗算回路(5)に供給されるとともに、ROM
(1)からの値Y(0)がマルチプレクサ(2)を通じて乗
算回路(5)に供給され、乗算回路(5)からは両入力
値の(i+2j−k)ビット以下の積Y(n)(Y(n)・X−
1)(今の場合は、n=0)が取り出される。
力値が乗算回路(5)に供給されるとともに、ROM
(1)からの値Y(0)がマルチプレクサ(2)を通じて乗
算回路(5)に供給され、乗算回路(5)からは両入力
値の(i+2j−k)ビット以下の積Y(n)(Y(n)・X−
1)(今の場合は、n=0)が取り出される。
そして、この積が減算回路(4)に供給されるととも
に、ROM(1)からのjビットの初期値Y(0)がマルチプ
レクサ(2)を通じて減算回路(4)に供給され、減算
回路(4)からは両入力値iビットの差、 Y(n+1)=Y(n)(2−Y(n)・X)∵(iii)式 ただし、今の場合、n=0 が取り出され、この値Y(n+1)がレジスタ(6)に供給さ
れて次の繰り返し計算時まで保持される。
に、ROM(1)からのjビットの初期値Y(0)がマルチプ
レクサ(2)を通じて減算回路(4)に供給され、減算
回路(4)からは両入力値iビットの差、 Y(n+1)=Y(n)(2−Y(n)・X)∵(iii)式 ただし、今の場合、n=0 が取り出され、この値Y(n+1)がレジスタ(6)に供給さ
れて次の繰り返し計算時まで保持される。
そして、以後、マルチプレクサ(2)は図とは逆の状
態に切り換えられ、(n+1)回目の繰り返し計算時に
は、レジスタ(6)からの値Y(n)がマルチプレクサ
(2)を通じて回路(3)〜(5)に供給される。
態に切り換えられ、(n+1)回目の繰り返し計算時に
は、レジスタ(6)からの値Y(n)がマルチプレクサ
(2)を通じて回路(3)〜(5)に供給される。
したがって、減算回路(4)からは値Y(n+1)が取り出
されるとともに、繰り返し数nがある値に達したとき、
値Y(n+1)は必要な精度の逆数Yとなる。
されるとともに、繰り返し数nがある値に達したとき、
値Y(n+1)は必要な精度の逆数Yとなる。
こうして、値Xの逆数Yが演算されるが、この場合、
特にこの発明によれば、(iii)式に基づいて逆数Yを
求めるとともに、このとき、(iii)式の右辺の第2項
は、(v),(vii)式に示すように、小数点以下第k
位から下位だけを求めればよく、上位のkビットを求め
る必要がないので、乗算回路(3)は、その入力のビッ
ト数i,jに対して(i+j−k)ビットだけを出力すれ
ばよく、したがって、乗算回路(3)の規模を小さくで
きるとともに、消費電力や発熱を小さくできる。
特にこの発明によれば、(iii)式に基づいて逆数Yを
求めるとともに、このとき、(iii)式の右辺の第2項
は、(v),(vii)式に示すように、小数点以下第k
位から下位だけを求めればよく、上位のkビットを求め
る必要がないので、乗算回路(3)は、その入力のビッ
ト数i,jに対して(i+j−k)ビットだけを出力すれ
ばよく、したがって、乗算回路(3)の規模を小さくで
きるとともに、消費電力や発熱を小さくできる。
また、乗算回路(3)において乗算を行うとき、上位
ビットへのキャリビットの伝播時間を節約できるので、
乗算の処理速度を速くでき、結果として逆数回路全体の
演算速度を速くできる。
ビットへのキャリビットの伝播時間を節約できるので、
乗算の処理速度を速くでき、結果として逆数回路全体の
演算速度を速くできる。
さらに、乗算回路(3)の出力語長が(i+j−k)
ビットになるので、乗算回路(5)の出力語長もkビッ
ト少ない(i+2j−k)ビットとなる。しかも、この場
合、入力値Xがiビットであるから出力値Y(n+1)の有効
ビット数もiビットであり、したがって、実際には、乗
算回路(5)の下位ビットの乗算はある程度省略でき、
すなわち、乗算回路(5)の出力語長は(i+2j−k)
ビットよりもさらに少ないビット数にできる。したがっ
て、乗算回路(5)も規模を小さくでき、消費電力や発
熱を小さくできるとともに、全体の演算速度を向上させ
ることができる。
ビットになるので、乗算回路(5)の出力語長もkビッ
ト少ない(i+2j−k)ビットとなる。しかも、この場
合、入力値Xがiビットであるから出力値Y(n+1)の有効
ビット数もiビットであり、したがって、実際には、乗
算回路(5)の下位ビットの乗算はある程度省略でき、
すなわち、乗算回路(5)の出力語長は(i+2j−k)
ビットよりもさらに少ないビット数にできる。したがっ
て、乗算回路(5)も規模を小さくでき、消費電力や発
熱を小さくできるとともに、全体の演算速度を向上させ
ることができる。
第2図は、浮動小数点の逆数を求める場合に、NR法が
1回で収束するとき、すなわち、n=0で必要な精度が
得られるときの一例を示す。
1回で収束するとき、すなわち、n=0で必要な精度が
得られるときの一例を示す。
ただし、この例においては、入力値は、符号Sが1ビ
ット、指数部EXPが2の補数表現による7ビット、仮数
部MANTが24ビット(i=24)で、1MANT<2に正規化
されてそのMSBは“1"とする。また、ROM(1)による初
期値Y(0)は13ビット(j=13)で、そのMSBが“1"であ
り、|ε(0)|<2-12(k=12)とする。
ット、指数部EXPが2の補数表現による7ビット、仮数
部MANTが24ビット(i=24)で、1MANT<2に正規化
されてそのMSBは“1"とする。また、ROM(1)による初
期値Y(0)は13ビット(j=13)で、そのMSBが“1"であ
り、|ε(0)|<2-12(k=12)とする。
まず、符号Sは、逆数演算しても変化しないので、そ
のまま取り出される。
のまま取り出される。
また、指数部EXPは、2の補数による演算なので、入
力値EXPを−1部すればよく、これには、入力値EXPのす
べてのビットを反転してLSBに“1"を加算すればよい。
しかし、仮数部MANTを正規化するとき、指数部EXPから
“1"を減算する必要があるので、結局、入力値EXPは、
インバータ(9)によりすべてのビットが反転されて取
り出される。
力値EXPを−1部すればよく、これには、入力値EXPのす
べてのビットを反転してLSBに“1"を加算すればよい。
しかし、仮数部MANTを正規化するとき、指数部EXPから
“1"を減算する必要があるので、結局、入力値EXPは、
インバータ(9)によりすべてのビットが反転されて取
り出される。
さらに、仮数部MANT(=X)であるが、その逆数を求
める過程を、第3図に図解しながら説明する。なお、同
図中、横長の枠は、各回路の演算途中ないし演算結果の
値を示すものであり、空欄は演算にしたがって“0"また
は“1"となる。
める過程を、第3図に図解しながら説明する。なお、同
図中、横長の枠は、各回路の演算途中ないし演算結果の
値を示すものであり、空欄は演算にしたがって“0"また
は“1"となる。
すなわち、入力値Xは24ビット(i=24)であり、1
X<2に正規化されてMSBは“1"である(同図A)。
そして、この値Xの上位13ビットが取り出され(同図
B)、この13ビットがROM(1)に供給されて初期値Y
(0)に変換される(同図C)。
X<2に正規化されてMSBは“1"である(同図A)。
そして、この値Xの上位13ビットが取り出され(同図
B)、この13ビットがROM(1)に供給されて初期値Y
(0)に変換される(同図C)。
この場合、1X<2であるから、値Y(0)のMSBは
“0"、小数点以下第1位は“1"になるので、ROM(1)
に入力される13ビットのうちのMSB(=“1")がそのま
ま値Y(0)の小数点以下第1位として使用され、値Y(0)の
MSBは“0"にセットされる。また、これによりROM(1)
は12ビットを入力して12ビットを出力すればよいので、
ROM(1)の容量は、12ビット×212番地となり、値Y(0)
は13ビット長(小数点以下についてj=13)となる。
“0"、小数点以下第1位は“1"になるので、ROM(1)
に入力される13ビットのうちのMSB(=“1")がそのま
ま値Y(0)の小数点以下第1位として使用され、値Y(0)の
MSBは“0"にセットされる。また、これによりROM(1)
は12ビットを入力して12ビットを出力すればよいので、
ROM(1)の容量は、12ビット×212番地となり、値Y(0)
は13ビット長(小数点以下についてj=13)となる。
そして、n=0で必要な精度が得られる場合なので、
この値Y(0)が乗算回路(3)に供給されるとともに、値
Xが乗算回路(3)に供給されてこれらの積Y(0)・Xが
取り出される。
この値Y(0)が乗算回路(3)に供給されるとともに、値
Xが乗算回路(3)に供給されてこれらの積Y(0)・Xが
取り出される。
第3図Dは、この乗算の様子を示すもので、この図に
おいて、Ym(m=1〜13)は、値Y(0)の小数点以下第m
位のビットを示し、X・YmはそのビットYmと値Xとの積
を示す。したがって、値Y(0)の下位ビットとの乗算にな
るにつれて値X・Ymは1ビットずつ下位方向へずれてい
く。そして、値Y(0)の各ビットY1〜Y13と値Xとの各積
が加算されて値Y(0)とXとの積Y(0)・Xが取り出される
(同図E)。
おいて、Ym(m=1〜13)は、値Y(0)の小数点以下第m
位のビットを示し、X・YmはそのビットYmと値Xとの積
を示す。したがって、値Y(0)の下位ビットとの乗算にな
るにつれて値X・Ymは1ビットずつ下位方向へずれてい
く。そして、値Y(0)の各ビットY1〜Y13と値Xとの各積
が加算されて値Y(0)とXとの積Y(0)・Xが取り出される
(同図E)。
ただし、この場合、(v)式で述べたように、積Y(0)
・Xの上位からkビットは演算の必要がなく、小数点以
下第k位から下位のビット、この例においては、斜線を
つけた第12位から下位の25ビット(=i+j−k)が乗
算出力Uとして取り出される(同図E)。
・Xの上位からkビットは演算の必要がなく、小数点以
下第k位から下位のビット、この例においては、斜線を
つけた第12位から下位の25ビット(=i+j−k)が乗
算出力Uとして取り出される(同図E)。
そして、この値Uが加算回路(7)に供給されるとと
もに、定数「−1」が加算回路(7)に供給されて両入
力の和、すなわち、(vii)式で示される値Vが算出さ
れる(同図F)。なお、この差も、この例においては、
25ビット長であるが、乗算回路(3)において上位kビ
ットの演算を省略しているので、加算回路(7)の出力
は、小数点の位置がkビット、すなわち、12ビットずれ
ている。
もに、定数「−1」が加算回路(7)に供給されて両入
力の和、すなわち、(vii)式で示される値Vが算出さ
れる(同図F)。なお、この差も、この例においては、
25ビット長であるが、乗算回路(3)において上位kビ
ットの演算を省略しているので、加算回路(7)の出力
は、小数点の位置がkビット、すなわち、12ビットずれ
ている。
そして、この加算値Vが、乗算回路(5)に供給され
るとともに、値Y(0)(同図C)が乗算回路(5)に供給
されてこれらの積Y(0)・Vが取り出される。
るとともに、値Y(0)(同図C)が乗算回路(5)に供給
されてこれらの積Y(0)・Vが取り出される。
第3図Gは、その乗算の様子を示すもので、値Y1〜Y
13は、同図Dと同じであり、V・YmはビットYmと値Vと
の積を示す。そして、これらビットY1〜Y13と値Vとの
各積が加算されて積Y(0)・Vが取り出される(同図
H)。
13は、同図Dと同じであり、V・YmはビットYmと値Vと
の積を示す。そして、これらビットY1〜Y13と値Vとの
各積が加算されて積Y(0)・Vが取り出される(同図
H)。
この場合、値Y(0)は13ビットであるから、積Y(0)・V
は、上位13ビットまでが有効であり、したがって、積Y
(0)・Vは、例えば、上位17ビットまでが計算されて14
ビット目で丸められ、斜線をつけた上位13ビットが乗算
出力W(=Y(0)・V)として取り出される(同図H)。
は、上位13ビットまでが有効であり、したがって、積Y
(0)・Vは、例えば、上位17ビットまでが計算されて14
ビット目で丸められ、斜線をつけた上位13ビットが乗算
出力W(=Y(0)・V)として取り出される(同図H)。
そして、この値Wが減算回路(4)に供給されるとと
もに、値Y(0)が減算回路(4)に供給されて両者の差、
すなわち、逆数Yが24ビット長で取り出される(同図
I)。
もに、値Y(0)が減算回路(4)に供給されて両者の差、
すなわち、逆数Yが24ビット長で取り出される(同図
I)。
第4図は乗算回路(3)の一例を示し、アンド回路群
(31)によりX・Ymの乗算が行われ、その乗算結果が加
算回路(32)により加算されて積Uが取り出される。
(31)によりX・Ymの乗算が行われ、その乗算結果が加
算回路(32)により加算されて積Uが取り出される。
また、第5図は、乗算回路(5)および加算回路
(4)の一例を示し、やはり、アンド回路群(51)によ
りYm・Vの乗算が行われ、その乗算結果およびYmが加算
回路(52)により加算されて逆数Yが取り出される。
(4)の一例を示し、やはり、アンド回路群(51)によ
りYm・Vの乗算が行われ、その乗算結果およびYmが加算
回路(52)により加算されて逆数Yが取り出される。
なお、上述において、除算Z/Xを行う場合には、減算
回路(4)の出力値Y(n+1)と、値Zとの乗算を行えばよ
い。
回路(4)の出力値Y(n+1)と、値Zとの乗算を行えばよ
い。
この発明によれば、(iii)式に基づいて逆数Yを求
めるとともに、このとき、(iii)式の右辺の第2項
は、(v),(vii)式に示すように、小数点以下第k
位から下位だけを求めればよく、上位のkビットを求め
る必要がないので、乗算回路(3)は、その入力のビッ
ト数i,Jに対して(i+j−k)ビットだけを出力すれ
ばよく、したがって、乗算回路(3)の規模を小さくで
きるとともに、消費電力や発熱を小さくできる。
めるとともに、このとき、(iii)式の右辺の第2項
は、(v),(vii)式に示すように、小数点以下第k
位から下位だけを求めればよく、上位のkビットを求め
る必要がないので、乗算回路(3)は、その入力のビッ
ト数i,Jに対して(i+j−k)ビットだけを出力すれ
ばよく、したがって、乗算回路(3)の規模を小さくで
きるとともに、消費電力や発熱を小さくできる。
また、乗算回路(3)において乗算を行うとき、上位
ビットへのキャリビットの伝播時間を節約できるので、
乗算の処理速度を速くでき、結果として逆数回路全体の
演算速度を速くできる。
ビットへのキャリビットの伝播時間を節約できるので、
乗算の処理速度を速くでき、結果として逆数回路全体の
演算速度を速くできる。
さらに、乗算回路(3)の出力語長が(i+j−k)
ビットになるので、乗算回路(5)の出力語長もkビッ
ト少ない(i+2j−k)ビットとなる。しかも、この場
合、入力値Xがiビットであるから出力値Y(n+1)の有効
ビット数もiビットであり、したがって、実際には、乗
算回路(5)の下位ビットの乗算はある程度省略でき、
すなわち、乗算回路(5)の出力語長は(i+2j−k)
ビットよりもさらに少ないビット数にできる。したがっ
て、乗算回路(5)も規模を小さくでき、消費点力や発
熱を小さくできるとともに、全体の演算速度を向上させ
ることができる。
ビットになるので、乗算回路(5)の出力語長もkビッ
ト少ない(i+2j−k)ビットとなる。しかも、この場
合、入力値Xがiビットであるから出力値Y(n+1)の有効
ビット数もiビットであり、したがって、実際には、乗
算回路(5)の下位ビットの乗算はある程度省略でき、
すなわち、乗算回路(5)の出力語長は(i+2j−k)
ビットよりもさらに少ないビット数にできる。したがっ
て、乗算回路(5)も規模を小さくでき、消費点力や発
熱を小さくできるとともに、全体の演算速度を向上させ
ることができる。
第1図,第2図はこの発明の一例の系統図、第3図〜第
6図はその説明のための図である。 (1)はROM、(3),(5)は乗算回路である。
6図はその説明のための図である。 (1)はROM、(3),(5)は乗算回路である。
Claims (1)
- 【請求項1】入力値Xの逆数Y(=1/X)をニュートン
・ラフソン法により算出する逆数演算回路において、 iビットの上記入力値Xをjビットの初期値Y(0)に変換
するROMと、 上記iビットの入力値Xとjビットの値Y(n)との乗算を
行い、下位の(i+j−k)ビットの乗算値を出力し、
この(i+j−k)ビットの乗算値と−1との加算を行
い、(i+j−k)ビットの加算値を出力する積和回路
と、 上記(i+j−k)ビットの加算値と上記jビットの値
Y(n)との乗算を行い、(i+2j−k)ビット以下の乗算
値を出力する乗算回路と、 上記(i+2j−k)ビット以下の乗算値と上記jビット
の値Y(n)との減算を行い、iビットの上記逆数Yを出力
する減算回路と、 からなることを特徴とする逆数演算回路。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP62266019A JP2551037B2 (ja) | 1987-10-21 | 1987-10-21 | 逆数演算回路 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP62266019A JP2551037B2 (ja) | 1987-10-21 | 1987-10-21 | 逆数演算回路 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH01108633A JPH01108633A (ja) | 1989-04-25 |
| JP2551037B2 true JP2551037B2 (ja) | 1996-11-06 |
Family
ID=17425246
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP62266019A Expired - Fee Related JP2551037B2 (ja) | 1987-10-21 | 1987-10-21 | 逆数演算回路 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2551037B2 (ja) |
-
1987
- 1987-10-21 JP JP62266019A patent/JP2551037B2/ja not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JPH01108633A (ja) | 1989-04-25 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6763368B2 (en) | Method and apparatus for performing single-cycle addition or subtraction and comparison in redundant form arithmetic | |
| Kanhe et al. | Design and implementation of floating point multiplier based on vedic multiplication technique | |
| JPH0375901B2 (ja) | ||
| JPH0368416B2 (ja) | ||
| JP3345894B2 (ja) | 浮動小数点乗算器 | |
| JP2608165B2 (ja) | ディジタル信号処理システムにおける実時間2の補数コードの乗算方法及び装置 | |
| US4590584A (en) | Method and system for processing exponents in floating-point multiplication | |
| JP2551037B2 (ja) | 逆数演算回路 | |
| Bharghava Ram Dinesh et al. | Design and implementation of high speed 32-bit mac unit | |
| JP2000347835A (ja) | 自乗計算方法及び自乗計算装置 | |
| US5012439A (en) | Method and apparatus for performing division | |
| Hosseinzadeh et al. | An improved reverse converter for the moduli set {2n-1, 2n, 2n+ 1, 2n+ 1-1} | |
| US4563749A (en) | Floating point digital differential analyzer | |
| JP2645422B2 (ja) | 浮動小数点演算処理装置 | |
| JP2737933B2 (ja) | 除算装置 | |
| US5416733A (en) | Apparatus for finding quotient in a digital system | |
| JP2606339B2 (ja) | 乗算器 | |
| JPH0251732A (ja) | 浮動小数点演算器 | |
| JP2705162B2 (ja) | 演算処理装置 | |
| JP2820701B2 (ja) | 2進数への変換方法 | |
| JP3461252B2 (ja) | 乗算方法 | |
| RU2449354C1 (ru) | Устройство нормировки вектора | |
| JPH029366B2 (ja) | ||
| JPH0455936A (ja) | 逆数算出回路 | |
| JPS6359170B2 (ja) |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| LAPS | Cancellation because of no payment of annual fees |