Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP2551037B2 - 逆数演算回路 - Google Patents
[go: Go Back, main page]

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
Application number
JP62266019A
Other languages
English (en)
Other versions
JPH01108633A (ja
Inventor
孝雄 山崎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
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 Sony Corp filed Critical Sony Corp
Priority to JP62266019A priority Critical patent/JP2551037B2/ja
Publication of JPH01108633A publication Critical patent/JPH01108633A/ja
Application granted granted Critical
Publication of JP2551037B2 publication Critical patent/JP2551037B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】 〔産業上の利用分野〕 この発明は逆数演算回路に関する。
〔発明の概要〕
この発明は、逆数演算回路において、2の補数演算の
桁あふれを誤差修正演算に積極的に取り入れて必要最小
限の演算を行うことにより、全体の回路規模を小さくし
たものである。
〔従来の技術〕
値Xの逆数Y=1/Xを求め、この逆数Yを値Zに乗算
すれば、除算Z/Xを行うことができる。
そして、その逆数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)} =1/X(1+ε(n+1)) ε(n+1)=−(ε(n) となり、誤差ε(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))が算出される。
そして、この差が乗算回路(5)に供給されてROM
(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)に供給される。
したがって、乗算回路(3)からは値Y(n+1)が取り出
されるとともに、繰り返し数nがある値に達したとき、
値Y(n+1)は必要な精度の逆数Yとなる。
〔発明が解決しようとする問題点〕
ところが、この演算回路においては、2つの乗算回路
(3),(5)を必要とするので、全体の回路規模が大
きくなってしまう。
すなわち、今、値Xがiビット、値Y(n)がjビットと
すると、乗算回路(3)はiビットとjビットとの乗算
を行うので、(i+j)ビットの語長となり、乗算回路
(5)は(i+j)ビットjビットとの乗算を行うの
で、(i+2j)ビットの語長を必要とする。
そして、例えば、浮動小数点演算においては、i=24
ビット程度なので、乗算回路(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項は、今回の演算結果と、
前回の演算結果との誤差あるいはその修正量を示す。
一方、(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位から下位を求めればよいことが判る。
また、(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位から下位を求めればよいことになる。
この発明は、以上の点に着目して乗算回路を簡略化し
たものである。
〔作用〕
乗算回路の語長が短かくなる。
〔実施例〕
第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)
と加算回路(7)とは一体化して積和回路とすることが
できる。
そして、加算回路(7)の(i+j−k)ビットの出
力値が乗算回路(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)に供給さ
れて次の繰り返し計算時まで保持される。
そして、以後、マルチプレクサ(2)は図とは逆の状
態に切り換えられ、(n+1)回目の繰り返し計算時に
は、レジスタ(6)からの値Y(n)がマルチプレクサ
(2)を通じて回路(3)〜(5)に供給される。
したがって、減算回路(4)からは値Y(n+1)が取り出
されるとともに、繰り返し数nがある値に達したとき、
値Y(n+1)は必要な精度の逆数Yとなる。
こうして、値Xの逆数Yが演算されるが、この場合、
特にこの発明によれば、(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)も規模を小さくでき、消費電力や発
熱を小さくできるとともに、全体の演算速度を向上させ
ることができる。
第2図は、浮動小数点の逆数を求める場合に、NR法が
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)とする。
まず、符号Sは、逆数演算しても変化しないので、そ
のまま取り出される。
また、指数部EXPは、2の補数による演算なので、入
力値EXPを−1部すればよく、これには、入力値EXPのす
べてのビットを反転してLSBに“1"を加算すればよい。
しかし、仮数部MANTを正規化するとき、指数部EXPから
“1"を減算する必要があるので、結局、入力値EXPは、
インバータ(9)によりすべてのビットが反転されて取
り出される。
さらに、仮数部MANT(=X)であるが、その逆数を求
める過程を、第3図に図解しながら説明する。なお、同
図中、横長の枠は、各回路の演算途中ないし演算結果の
値を示すものであり、空欄は演算にしたがって“0"また
は“1"となる。
すなわち、入力値Xは24ビット(i=24)であり、1
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)となる。
そして、n=0で必要な精度が得られる場合なので、
この値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)。
ただし、この場合、(v)式で述べたように、積Y(0)
・Xの上位からkビットは演算の必要がなく、小数点以
下第k位から下位のビット、この例においては、斜線を
つけた第12位から下位の25ビット(=i+j−k)が乗
算出力Uとして取り出される(同図E)。
そして、この値Uが加算回路(7)に供給されるとと
もに、定数「−1」が加算回路(7)に供給されて両入
力の和、すなわち、(vii)式で示される値Vが算出さ
れる(同図F)。なお、この差も、この例においては、
25ビット長であるが、乗算回路(3)において上位kビ
ットの演算を省略しているので、加算回路(7)の出力
は、小数点の位置がkビット、すなわち、12ビットずれ
ている。
そして、この加算値Vが、乗算回路(5)に供給され
るとともに、値Y(0)(同図C)が乗算回路(5)に供給
されてこれらの積Y(0)・Vが取り出される。
第3図Gは、その乗算の様子を示すもので、値Y1〜Y
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)。
そして、この値Wが減算回路(4)に供給されるとと
もに、値Y(0)が減算回路(4)に供給されて両者の差、
すなわち、逆数Yが24ビット長で取り出される(同図
I)。
第4図は乗算回路(3)の一例を示し、アンド回路群
(31)によりX・Ymの乗算が行われ、その乗算結果が加
算回路(32)により加算されて積Uが取り出される。
また、第5図は、乗算回路(5)および加算回路
(4)の一例を示し、やはり、アンド回路群(51)によ
りYm・Vの乗算が行われ、その乗算結果およびYmが加算
回路(52)により加算されて逆数Yが取り出される。
なお、上述において、除算Z/Xを行う場合には、減算
回路(4)の出力値Y(n+1)と、値Zとの乗算を行えばよ
い。
〔発明の効果〕
この発明によれば、(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)も規模を小さくでき、消費点力や発
熱を小さくできるとともに、全体の演算速度を向上させ
ることができる。
【図面の簡単な説明】
第1図,第2図はこの発明の一例の系統図、第3図〜第
6図はその説明のための図である。 (1)はROM、(3),(5)は乗算回路である。

Claims (1)

    (57)【特許請求の範囲】
  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を出力
    する減算回路と、 からなることを特徴とする逆数演算回路。
JP62266019A 1987-10-21 1987-10-21 逆数演算回路 Expired - Fee Related JP2551037B2 (ja)

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)

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