JPH11134176A - 逆数演算回路 - Google Patents

逆数演算回路

Info

Publication number
JPH11134176A
JPH11134176A JP29654397A JP29654397A JPH11134176A JP H11134176 A JPH11134176 A JP H11134176A JP 29654397 A JP29654397 A JP 29654397A JP 29654397 A JP29654397 A JP 29654397A JP H11134176 A JPH11134176 A JP H11134176A
Authority
JP
Japan
Prior art keywords
reciprocal
error correction
error
correction value
approximate solution
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.)
Withdrawn
Application number
JP29654397A
Other languages
English (en)
Inventor
Tomio Sato
富夫 佐藤
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP29654397A priority Critical patent/JPH11134176A/ja
Publication of JPH11134176A publication Critical patent/JPH11134176A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Error Detection And Correction (AREA)

Abstract

(57)【要約】 【課題】 誤差補正値の演算回数を削減して処理速度を
向上する。 【解決手段】 任意の数値の逆数の近似解をニュートン
ラプソン法によって演算し、該近似解に誤差補正値を加
算して最終的な演算結果を出力する逆数演算回路におい
て、前記数値と前記近似解とを参照入力とするテーブル
を備え、前記数値と前記近似解とに応じた誤差補正値を
該テーブルからルックアップする。テーブルを用いて誤
差補正値をルックアップするようにしたので、誤差補正
値の演算回数を実質的に一回(テーブルの参照動作だ
け)にでき、処理速度を向上できる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、逆数演算回路に関
し、とくに、ニュートンラプソン法を用いて逆数の近似
解を求める逆数演算回路に関する。
【0002】
【従来の技術】従来から、任意の数値Bの逆数1/Bを
得るための回路として、1/Bの近似解、すなわち誤差
eを含む解Aを求める回路が知られており、たとえば、
非線形方程式の数値解法の一つであるニュートンラプソ
ン法を用いた逆数演算回路が使用されている。
【0003】図3は、従来回路の逆数演算部分のフロー
チャートである。このフローにおいて、Bは逆数演算の
元になる数値、Xn は配列変数、nはループカウンタ、
mはループカウンタの最大値、C、D及びFは一時的に
用いられるテンポラリ変数、Eは誤差補正値を格納する
変数、Aは最終的な逆数の近似解を格納する変数であ
る。
【0004】このフローでは、まず、配列X0 に逆数1
/Bの初期近似値αをセットする(ステップ2)。ただ
し、この初期近似値αと逆数1/Bのと間には、e0
誤差とすれば、 e0 =α−1/B ………(1) という関係が成立する。
【0005】次に、ループカウンタnを0にリセット
(ステップ3)した後、n=m+1になるまで、「B*
n 」を演算してその答えをCにセット(ステップ4)
し、「2−C」を演算してその答えをDにセット(ステ
ップ5)し、「Xn *D」を演算してその答えを「X
n+1 」にセット(ステップ6)し、nを+1(ステップ
8)するという処理を繰り返す。
【0006】今、n=0であれば、Xn =αであるか
ら、「B*Xn 」は「B*α」となり、 C=B*α ………(2) となる。このため、「2−C」は「2−B*α」とな
り、 D=2−B*α ………(3) となる。したがって、「Xn *D」は「α*(2−B*
α)」となり、「Xn+1」には α*(2−B*α) ………(4) がセットされることになる。
【0007】また、n=1であれば、Xn =α*(2−
B*α)であるから、「B*Xn 」は「B*(α*(2
−B*α))」となり、 C=B*(α*(2−B*α)) ………(5) となる。このため、「2−C」は「2−(B*(α*
(2−B*α)))」となり、 D=2−(B*(α*(2−B*α))) ………(6) となる。したがって、「Xn *D」は「(α*(2−B
*α))*(2−(B*(α*(2−B*α))))」
となり、「Xn+1 」には (α*(2−B*α))*(2−(B*(α*(2−B*α)))) ………(7) がセットされることになる。
【0008】すなわち、ステップ4〜8では、nを0〜
m−1まで変化させながら、 Xn+1 =Xn *(2−B*Xn ) ………(8) の計算を繰返し行っており、ループを抜ける時点(n=
m−1の時点)でのXnの値は、ステップ2でセットし
た初期値αよりも誤差が少ない良好な近似値であるが、
丸め誤差等の誤差を含む近似解であることに変わらない
ので、続けて以下の誤差補正処理を行う。
【0009】まず、Xn+1 をXn にするために、nにn
+1をセットする(ステップ9)。次に、「B*Xn
を演算してその答えをCにセット(ステップ10)し、
「1−C」を演算してその答えをFにセット(ステップ
11)した後、「F*X0 」を演算してその答えをEに
セット(ステップ12)する。これらのステップ9〜1
2の処理は、上記ループ処理で求めた近似解Xn とBの
逆数1/Bとの誤差をEとするとき、 (1/B)−Xn =E ………(9) と表わすことができ、これを変形して、 (1−B*Xn )*α=E ………(10) と表わすことができることを利用するものであり、要す
るに、式(10)を演算するものである。したがって、
最後のステップ13で、 Xn+1 +E=A ………(11) を実行して、EをXn (上記ループ処理で求めた近似
解)に加えることにより、さらに誤差が少ない良好な近
似解Aを得ることができる。
【0010】
【発明が解決しようとする課題】しかしながら、かかる
従来の逆数演算回路にあっては、ステップ10〜12の
誤差補正処理で上式(10)(11)に示す演算処理を
行っているため、合計4回(減算1回、積算2回、加算
1回)の演算が必要であり、処理速度の向上という点で
改善すべき課題があった。
【0011】そこで、本発明は、誤差補正値の演算回数
を削減して処理速度を向上することを目的とする。
【0012】
【課題を解決するための手段】請求項1に係る発明は、
任意の数値の逆数の近似解をニュートンラプソン法によ
って演算し、該近似解に誤差補正値を加算して最終的な
演算結果を出力する逆数演算回路において、前記数値と
前記近似解とを参照入力とするテーブルを備え、前記数
値と前記近似解とに応じた誤差補正値を該テーブルから
ルックアップすることを特徴とする。
【0013】これによれば、テーブルを用いて誤差補正
値をルックアップするようにしたので、誤差補正値の演
算回数を実質的に一回(テーブルの参照動作だけ)にす
ることができ、処理速度の向上を図ることができる。
【0014】
【発明の実施の形態】以下、本発明の実施例を図面に基
づいて説明する。図1、図2は本発明に係る逆数演算回
路の一実施例を示す図であり、たとえば、ANSI/I
EEE Std 754_1985の単精度フォーマッ
トへの適用例である。
【0015】図1において、30は逆数演算の元になる
数値Bやその逆数演算の結果である近似値Aなどを格納
するレジスタファイル、31はフロー(図2参照)中の
加算処理を行う浮動小数点加算器、32は同フロー中の
乗算処理を行う浮動小数点乗算器、33は同フロー中の
ループ処理(図2のステップ4〜8)で得られたXn+ 1
の誤差を補正する誤差演算回路であり、これらの回路で
取り扱う数の精度は、誤差演算回路33を除き、上記フ
ォーマットより23ビットである。
【0016】ここで、本実施例の処理フロー(図2)に
おける初期値αは、以下の考え方に従うものである。ま
ず、α≒1/Bであり、αと1/Bとの絶対誤差をe0
とすると、 e0 =α−(1/B) ………(12) である。一般に、α≒1/Bをテーブルで作る場合、e
0 を小さくすると精度が上がる反面、テーブルサイズが
大きくなる。逆にe0 を大きくすると、フロー中のルー
プ処理(図2のステップ4〜8)の回数が増加する。e
0 の大きさは、α≒1/Bのテーブルサイズとループ回
数のトレードオフで決めることになるが、実用上のルー
プ回数は、以下のようにして決めることができる。
【0017】まず、最終的に得ようとする逆数の近似値
Aの許容相対誤差の最大値をγ(ただし>0)とする
と、絶対誤差A−(1/B)と真の逆数1/Bとの比
は、 −γ≦(A−(1/b))/(1/B)≦γ ………(13) となる。一般に、m回ループした後のニュートンラプソ
ン法の誤差Xm-1 −(1/B)は、
【0018】
【数1】
【0019】………(14) となり、許容相対誤差の定義から(A≒Xm-1 )、
【0020】
【数2】
【0021】………(15) であればよく、すべてのBについて、式を満たす最小
のmをループ回数とすればよい。次に、本実施例の誤差
補正処理は、図2のステップ20に示すように、テーブ
ルルックアップによって行うことを特徴とするものであ
り、これにより、演算回数を実質的に1回(テーブルの
参照動作)にして処理速度の向上を達成するというもの
である。かかるテーブルは、変数B、Cを参照入力と
し、次式(16)に示す誤差補正値Eを出力するもので
あればよい。
【0022】 E=(1−C)/B ………(16) そして、テーブルサイズを小さくするために、次の点を
考慮する。一般に、ニュートンラプソン法では、Cの範
囲について、 1−2γ≦C≦2γ/B ………(17) が成立するため、この範囲以外はテーブルを作成する必
要がない。また、この範囲のCについて、Eの範囲は、 −2γ/B≦E≦2γ/B ………(18) となる。式(18)のEは、最終的にXn と加算(図2
のステップ13参照)されてAとなるが、Aには相対誤
差γが許容されているため、Eに関しては、次の絶対誤
差が許容される。
【0023】 {Eの絶対誤差}={A−(1/B)の相対誤差}≦γ/B ………(19) すなわち、式(18)で、仮に1/Bの値が±1/4B
ずれてしまい、(1±1/4)(1/B)になったとし
ても、このずれに伴うEの誤差は式(19)を満たすこ
とになる。このことは、1/Bの精度が粗く、たとえ
ば、±1/4の誤差を含んでいたとしても演算精度上は
何ら不都合がないことを意味している。したがって、B
を2進数表現にしたとすると、Bの上位側3ビットに対
してだけテーブルを作成すればよく、メモリ等のハード
コストを抑えることができる。
【0024】また、ANSI/IEEE Std 75
4_1985の単精度フォーマットの数の精度は23ビ
ットであるが、たとえば、Xn と1/Bとの誤差に対す
る1/Bの比を1*2e(−9)以下とし、ループ数を
2回とすると、2回のループで得られるXn+1 は21ビ
ットの精度を持つことになる。このため、誤差Eの有効
数字は2ビットにあり、誤差演算回路33の出力も2ビ
ットで済む。さらに、この2ビットに影響を与える誤差
演算回路33の入力も、B、B*Xn+1 ともに一部のビ
ットで済む。すなわち、Bは上位側4ビットでよく、B
*Xn+1 は有効な値が乗る下位4ビットだけでよい(B
*Xn+1 の値は1に近くほとんどのビットは1固定のた
め)。したがって、誤差演算回路33及びその入出力部
分を小規模にでき、ハードコストをより抑えることがで
きる。
【0025】
【発明の効果】本発明によれば、テーブルを用いて誤差
補正値をルックアップするようにしたので、誤差補正値
の演算回数を実質的に一回(テーブルの参照動作だけ)
にすることができ、処理速度の向上を図ることができ
る。
【図面の簡単な説明】
【図1】一実施例の概略構成図である。
【図2】一実施例の処理フロー図である。
【図3】従来回路の処理フロー図である。
【符号の説明】
30:レジスタファイル 31:浮動小数点加算器 32:浮動小数点乗算器 33:誤差演算回路

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】任意の数値の逆数の近似解をニュートンラ
    プソン法によって演算し、該近似解に誤差補正値を加算
    して最終的な演算結果を出力する逆数演算回路におい
    て、前記数値と前記近似解とを参照入力とするテーブル
    を備え、前記数値と前記近似解とに応じた誤差補正値を
    該テーブルからルックアップすることを特徴とする逆数
    演算回路。
JP29654397A 1997-10-29 1997-10-29 逆数演算回路 Withdrawn JPH11134176A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP29654397A JPH11134176A (ja) 1997-10-29 1997-10-29 逆数演算回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP29654397A JPH11134176A (ja) 1997-10-29 1997-10-29 逆数演算回路

Publications (1)

Publication Number Publication Date
JPH11134176A true JPH11134176A (ja) 1999-05-21

Family

ID=17834899

Family Applications (1)

Application Number Title Priority Date Filing Date
JP29654397A Withdrawn JPH11134176A (ja) 1997-10-29 1997-10-29 逆数演算回路

Country Status (1)

Country Link
JP (1) JPH11134176A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100653675B1 (ko) 2005-12-06 2006-12-05 엠텍비젼 주식회사 역수 연산 장치 및 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100653675B1 (ko) 2005-12-06 2006-12-05 엠텍비젼 주식회사 역수 연산 장치 및 방법

Similar Documents

Publication Publication Date Title
KR20040063143A (ko) 오퍼랜드 가산 방법 및 회로 장치 및 컴퓨터 구현형 장치
JP2006227939A (ja) 演算装置
US20070118584A1 (en) Apparatus and method for calculation of divisions and square roots
JPH09325955A (ja) 二乗和の平方根演算回路
JPH11134176A (ja) 逆数演算回路
JP2645422B2 (ja) 浮動小数点演算処理装置
JPH09138792A (ja) ログの近似値の計算方法およびその回路
JP2578482B2 (ja) 浮動小数点演算器
JPS62197868A (ja) パイプライン構成の直線近似変換回路
JPH08504046A (ja) 浮動小数点2進数を2進形式における対数に変換しまたはその逆変換をするための装置
JP2951685B2 (ja) 固定小数点演算器
JP2004013519A (ja) 演算方法および演算回路
KR20010067226A (ko) 인터폴레이션 방법 및 장치
JP3517162B2 (ja) 除算・開平演算装置
JP2790923B2 (ja) 開平値算出回路
JP2584516B2 (ja) 開立計算装置
JP3078696B2 (ja) 逆数演算装置
JP3245884B2 (ja) シフト加減算装置
JPH0371332A (ja) 剰余乗算回路および剰余乗算方法
EP1615122A1 (en) Device for computing the logarithm of a binary value
JPH03282619A (ja) 乗算回路
JPH08249161A (ja) 立方根演算装置
JP2001344093A (ja) 除算装置
JPH01125625A (ja) 除算装置
JPH0836483A (ja) 除算装置

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20050104