JPH0585924B2 - - Google Patents

Info

Publication number
JPH0585924B2
JPH0585924B2 JP60085988A JP8598885A JPH0585924B2 JP H0585924 B2 JPH0585924 B2 JP H0585924B2 JP 60085988 A JP60085988 A JP 60085988A JP 8598885 A JP8598885 A JP 8598885A JP H0585924 B2 JPH0585924 B2 JP H0585924B2
Authority
JP
Japan
Prior art keywords
value
square root
circuit
operand
reciprocal
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 - Lifetime
Application number
JP60085988A
Other languages
English (en)
Other versions
JPS61243532A (ja
Inventor
Masayoshi Usami
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.)
Toshiba Corp
Original Assignee
Tokyo Shibaura Electric 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 Tokyo Shibaura Electric Co Ltd filed Critical Tokyo Shibaura Electric Co Ltd
Priority to JP60085988A priority Critical patent/JPS61243532A/ja
Publication of JPS61243532A publication Critical patent/JPS61243532A/ja
Publication of JPH0585924B2 publication Critical patent/JPH0585924B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/02Digital function generators
    • G06F1/03Digital function generators working, at least partly, by table look-up
    • 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/52Multiplying; Dividing
    • G06F7/535Dividing only
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2101/00Indexing scheme relating to the type of digital function generated
    • G06F2101/08Powers or roots
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2101/00Indexing scheme relating to the type of digital function generated
    • G06F2101/12Reciprocal functions

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)

Description

【発明の詳細な説明】 〔発明の技術分野〕 本発明は演算装置、特に除算および平方根演算
を数値テーブルを用いて求める演算装置に関す
る。
〔発明の技術的背景〕 一般に計算機における除算処理は、被除数に対
して除数を1桁ずつシフトしながら減算を繰返し
て商を求める方式が採用されている。しかしなが
ら近年乗算器の高速化にともない、演算速度を改
善する目的で、除数の逆数を数値テーブルから引
いてきて、被除数にこの逆数を乗じて商を得る方
式も採られている。この場合、除数の有効数字が
多くなると、逆数の数値テーブルは莫大なものと
なつてしまうため、通常は除数の上位数桁に対し
ての逆数のみを数値テーブルとしておき、この数
値テーブルから引いてきた数値を初期値として所
定の演算を繰返し、除数の逆数を必要な精度まで
近似値として求める方法が採られる。
一方、平方根を求める演算にも同様の方式が試
みられている。即ち、平方根の逆数を上位数桁に
ついてのみ数値テーブルとしておき、これを初期
値として所定の演算を繰返し、平方根の逆数を必
要な精度まで近似値として求め、これと平方根を
求めるべき被演算数とと乗じて平方根を求めるの
である。
以上の具体的方法については、例えば米国ワイ
テツク(Weitek)社のApplication Note
「Performing Floating Point Division with
the WTL1032/1033」に詳述されている。ここ
では演算の原理について簡単に述べておくことに
する。まず逆数の初期値(1/A)0から逆数1/
Aを所定の精度まで求めるには、ニユートン法に
よつて式(1)のような漸化式を用いる。
(1/A)o+1=(1/A)o ×(2−A×(1/A)o) …(1) 式(1)において、(1/A)oの初期値として
(1/A)0を用い、所定の回数演算を繰返せばよ
い。また、平方根の逆数の初期値(1/√A)0
ら平方根の逆数1/√Aを所定の精度まで求める
には、ニユートン法によつて式(2)のような漸化式
を用いる。
(1/√A)o+1=0.5×(1/√A)o ×(3−A×((1/√A)o 2) …(2) 式(2)において、(1/√A)oの初期値として
(1/√A)0を用い、所定の回数演算を繰返せば
よい。
第4図は上述の方法によつてB/Aなる除算を
行う場合の流れ図である。ここで除数Aの上位m
桁についての逆数がROMに初期値(1/A)0
して記憶されているものとする。まず除数Aを受
入れS1、この上位m桁をアドレスとして用いて
ROMを参照しS2、(1/A)0を初期値として
ROを読込む。ここでカウンタCを0としS4、
漸化式(1)に基づく演算を行いS5、カウンタCを
1だけ増加させS6、同じ動作を所定の回転Nだ
け繰返すS7,S8。最後に被除数Bを受入れS
9、所定の精度をもつたAの逆数R1と被除数B
との積を求め、これを商QとするS10。
第5図は同様に√Aを求める平方根演算を行う
場合の流れ図である。ここで被演算数Aの上位m
桁についての平方根の逆数がROMに初期値
(1/√A)0として記憶されているものとする。
まず被演算数Aを受入れS11、この上位m桁を
アドレスとして用いてROMを参照しS12、
(1/√A)0を初期値としてROに読込む。ここで
カウンタCを0としS14、漸化式(2)に基づく演
算を行いS15、カウンタCを1だけ増加させS
16、同じ動作を所定の回数Nだけ繰返す(S1
7,S18。最後に所定の精度をもつたAの平方
根の逆数R1と被演算数Aとの積を求め、これを
平方根SRとするS19。
〔背景技術の問題点〕
上述の方式によつて、除算と平方根演算との両
方を行う演算装置においては、除算用と平方根演
算用との別々のROMが必要となる。即ち、除算
用には除数Aの逆数の初期値(1/A)0を与える
ROMが、また平方根演算用には被演算数Aの平
方根の逆数の初期値(1/√A)0を与えるROM
が、それぞれ必要となる。従つて除算と平方根演
算との両方の機能を有する演算装置では、一方の
演算機能のみを有する演算装置に比べ2倍の容量
のROMが必要となる。これは特に、演算機能を
有するチツプ上にROMを組込むような場合、チ
ツプ面積の制限からROMへ記憶できる情報量が
制約を受けるため問題となる。またROMを作成
する工程もそれぞれROMについて必要となり、
手間がかかるという欠点もある。
〔発明の目的〕
そこで本発明は、より小さな記憶容量をもつた
記憶装置を数値テーブル用の記憶装置として用
い、除算と平方根演算との両方の演算を行うこと
ができる演算装置を提供することを目的とする。
〔発明の概要〕
本発明の特徴は除算と平方根演算との両方を行
うことのできる演算装置において、任意の被演算
数Aの上位m桁についての平方根の逆数値(1/
√A)0をテーブルとして記憶している記憶装置
と、値(1/√A)0に2乗演算を施し値(1/
A)0を得る2乗演算装置と、被演算数Aおよび値
(1/A)0に基づいてニユートン法によつて被演
算数Aの逆数1/Aを所定の精度まで求め、この
1/Aと被演算数Bとの乗算を行うことによつて
B/Aの除算結果を得る除算装置と、被演算数A
および値(1/√A)0に基づいてニユートン法に
よつて被演算数Aの平方根の逆数1/√Aを所定
の精度まで求め、この1/√Aと被演算数Aとの
乗算を行うことによつてAの平方根を得る平方根
演算装置と、を設け、除算と平方根演算に用いる
テーブルを共用化し、記憶装置の容量を低減した
ことにある。
〔発明の実施例〕
以下本発明を図示する実施例に基づいて説明す
る。第1図は本発明に係る演算装置のブロツク図
である。本装置では(1/√A)0についてのテー
ブルを除算と平方根演算との両演算に共用する。
即ち、記憶装置100には被演算数Aの上位m桁
についての平方根の逆数値(1/√A)0がテーブ
ルとして記憶されている。除算を行うには、除数
Aの上位m桁からテーブルを用いて(1/√A)0
を引いてきて、これを2乗演算装置200におい
て2乗し、除数Aの上位m桁についての逆数値
(1/A)0を求める。除算装置300はこの値
(1/A)0を初期値として用い従来装置と同様の
演算を行つて被除数をBとする除算B/Aの結果
を求める。一方、平方根演算についてはテーブル
としての記憶装置100から引いてきた(1/√
A)0を初期値として用い、平方根演算装置400
において従来装置と同様の演算が行われ、平方根
√Aが求められる。このように除算に用いるテー
ブル値を平方根演算に用いるテーブル値から求め
るようにしたため、テーブルとしては平方根演算
に用いるテーブルだけを用意すればよく、ROM
の容量は半減する。これは逆に、同じ容量であれ
ば初期値の情報量自体を増加させることができる
ことを示しており、初期値の精度を向上させるこ
とができる。精度が向上すれば近似値を得るため
の演算回数Nを低減させることができ、全体的に
演算速度を向上させることが可能となる。また、
ROM作成に要する時間、コストの節約にもな
る。
第2図に上述の装置で各演算を行う場合の流れ
図を示す。ここで除算では、除数A、被除数をB
とし、平方根演算では被演算数をAとする。ま
た、A、Bはいずれも正数で与えられるものとす
る。本発明では、前述のとおり除算および平方根
演算を行う際に、初期値参照用のROMとして、
1/√Aの初期値を与えるROMを共通使用す
る。まず、除算の場合、除数Aに対して、ROM
を参照することにより(第2図c)、除数の平方
根の逆数の初期値(1/√A)0が与えられる(同
図d)。さらに、これを2乗することにより、除
数の逆数の初期値R0を得る(同図f)。R0に
対し、乗算および減算を施し(同図h〜k)、除
数の逆数の近似値R1を得る。さらに、R1をR
0とみなして(同図m)、再びh→i→j→k→
l→m→hのループをくり返すことにより、近似
値R1の精度は向上する。なお、必要なくり返し
回数Nは、上記ROMの語数(すなわち初期値の
精度)と除数Aの逆数の近似値に要求される精度
とによつて、一意的に決定される。実際には、ル
ープ回数を計数するカウンタを設け、はじめにカ
ウント数をゼロにセツトしておき(同図g)、減
算(同図i)がおこなわれるたびごとに、カウン
ト数を1ずつ加算して(同図j)、計数値がNに
達するまで、ループをくり返す。カウンタの示す
値が、Nに達したのち、得られたR1を被除数B
に乗ずることにより(同図n)、商の近似値Qを
得る。
一方、平方根演算の場合には、ROMを参照す
ると(同図c)、被演算数Aの平方根の逆数の初
期値が得られるので(同図d)、これをR0とし
(同図o)、乗算および減算をほぞこして(同図q
〜v)、Aの平方根の逆数(1/√A)の近似値
R1を得る(同図v)。上記除算の場合と同様に、
q→r→s→t→u→v→w→x→qのループの
必要なくり返し回数Nは、ROMの語数および近
似値R1に要求する精度によつて、一意的に決定
され、カウンタの示す値により、くり返しをおこ
なう。カウンタの示す値がNに達したのち、得ら
れたR1を被演算数Aに乗ずることにより(同図
y)、Aの平方根の近似値SRを得る。
次に、第3図に上記実施例の回路構成例を示
し、同実施例の動作を説明する。同図に示される
ように、同実施例は、平方根の逆数の初期値を与
えるROM1、乗算回路2、減算回路3、入力数
値を右に1ビツトシフトさせることのできるシフ
タ4、選択回路5および7、数値発生回路8、記
憶回路9、ならびにカウンタ10から構成されて
いる。まず、除算命令が与えられた場合の動作に
ついて、説明する。除数Aの入力に対し、Aの上
位mビツト(mは適当な桁数)をアドレスとし
て、ROM1を参照し、得られた1/√Aの初期
値(1/√A)0が選択回路5に送られる。さら
に、上記初期値はライン21を通り、選択回路6
を経て、乗算回路2では、上記初期値の2乗演算
がなされる。該2乗演算R0は、選択回路7に送
られ、ライン22を通り、選択回路5を経て、記
憶回路9に記憶される。続いて行われる以下の過
程は、カウンタ10の示す値によつて、くり返し
がなされる過程である。なお、記憶回路9では、
記憶されている値が新しく書き換えられないかぎ
り、何回読み出されても、記憶値が保持されるも
のとする。まず記憶回路9に記憶されていたR0
が呼び出され、選択回路6で除数AとR0が選択
的に出力されると、乗算回路2に送られて、乗算
(A×R0)がなされる。該乗算結果R01は選
択回路7を経て、ライン23を通り、減算回路3
に送られる。カウンタ10は、はじめゼロにセツ
トされ、減算回路3で減算がおこなわれるたびご
とに、1ずつ加算される。数値発生回路8は、除
算時には、数値「2」を出力し、上記減算回路に
送る。したがつて、該減算回路では、減算(2−
R01)がなされ、減算結果R02が選択回路6
に送られる。そして、記憶回路9からR0が呼び
出され、R02とともに、選択回路6から乗算回
路2に送られる。該乗算回路では、乗算(R0×
R02)がなされ、乗算結果R1は選択回路7に
送られる。上述の如く、上記過程のくり返し回数
Nは、ROM1の語数(ROM参照時のアドレス
のビツト数がmビツトのとき、2m語)およびAの
逆数の近似値に要求される精度とにより、一意的
に決定される。もし、R1が選択回路7に送られ
た時点で、カウンタ10の示す値がNに達してい
なければ、R1は選択回路7からライン22を通
つて選択回路5に送られ、記憶回路9に保持され
ていた値を書きかえて、記憶される。そして、該
記憶値をR0とみなして、上記過程がくり返され
る。カウンタ10の示す値がNに達したとき、く
り返しは終了し、R1は選択回路7からライン2
2を通り、選択回路5に送られる。さらに、ライ
ン21を通つて、被除数Bとともに選択回路6か
ら出力され、乗算回路2に送られて乗算(B×R
1)がおこなわれる。該乗算結果は、選択回路7
に送られ、商の近似値として出力される。
つぎに、平方根演算命令が与えられた場合の動
作について説明する。被演算数Aの上位mビツト
をアドレスとして、ROM1を参照し、得られた
1/√Aの初期値(1/√A)0が選択回路5に送
られる。さらに、該初期値R0は、ライン20を
通り、記憶回路9に記憶される。ここで、続いて
行われる以下の過程は、上記除算の場合と同様、
カウンタ10の示す値によつて、くり返しがなさ
れる過程である。まず記憶回路9に記憶されてい
たR0が呼び出され、選択回路6に送られ、さら
に乗算回路2に送られて、2乗演算(R0×R
0)がなされる。該2乗演算結果R01は、選択
回路7、ライン22、選択回路5、およびライン
21を経て、選択回路6に送られる。該選択回路
では、被演算数Aとともに、R01が選択的に出
力され、乗算回路2に送られて、乗算(A×R0
1)がなされる。乗算結果R02は選択回路7お
よびライン23を通つて、減算回路3に送られ
る。一方、数値発生回路8は、平方根演算時に
は、数値「3」を出力し、減算回路3に送る。従
つて、該減算回路では、上記R02に対し、減算
(3−R02)が行われ、減算結果R03は選択
回路6に送られる。なお、カウンタ10は、上記
除算の場合と同様、はじめゼロにセツトされ、減
算回路3で演算がおこなわれるたびごとに、1ず
つ加算される。選択回路6では、記憶回路9から
呼び出されたR0および上記R03が選択的に出
力され、乗算回路2に送られて、乗算(R0×R
03)がなされる。該乗算結果R04は、選択回
路7およびライン24を通つて、シフタ4に送ら
れる。シフタ4では、上記R04を、右に1ビツ
ト・シフトさせる操作がおこなわれ、該操作後の
結果R1が、再び選択回路7に送られる。上記シ
フト操作は、R04を0.5倍する演算に相当する。
上記R1が選択回路7に送られた時点で、カウン
タ10の示す値が、上述のくり返し回数Nに達し
ていなければ、R1は、ライン22、選択回路5
を経て、記憶回路9に保持されていた値を書き換
え、記憶される。そして、該記憶値をR0とみな
して、カウンタ10の値がNに達するまで、上記
過程をくり返す。カウンタ10の示す値がNに達
すれば、上記R1は、ライン22、選択回路5お
よびライン21を経て、選択回路6に送られる。
さらに、該選択回路では、R1が被演算数Aとと
もに選択的に出力され、乗算回路2に送られる。
該乗算回路において、乗算(R1×A)をおこな
い、乗算結果(SR)が選択回路7を経て、Aの
平方根の近似値として出力される。
〔発明の効果〕
以上のとおり本発明によれば、除算と平方根演
算との両方を行うことができる演算装置におい
て、除算と平方根演算に用いるテーブルを共用化
するようにしたため、記憶装置の容量を低減する
ことができる。
【図面の簡単な説明】
第1図は本発明に係る演算装置のブロツク図、
第2図は第1図に示す装置の演算動作を示す流れ
図、第3図は第1図に示す装置の回路構成例を示
すブロツク図、第4図および第5図は従来の演算
装置の演算動作を示す流れ図である。 1…ROM、2…乗算回路、3…減算回路、4
…シフタ、5,6,7…選択回路、8…数値発生
回路、9…記憶回路、10…カウンタ、20〜2
4…ライン、100…記憶装置、200…2乗演
算装置、300…除算装置、400…平方根演算
装置、S1〜S19…流れ図の各ステツプ、a〜
y…流れ図の各ステツプ。

Claims (1)

  1. 【特許請求の範囲】 1 任意の被演算数Aの上位m桁についての平方
    根の逆数値(1/√A)0をテーブルとして記憶し
    ている記憶装置と、前記値(1/√A)0に2乗演
    算を施し値(1/A)0を得る2乗演算装置と、前
    記被演算数Aおよび前記値(1/A)0に基づいて
    ニユートン法によつて前記被演算数Aの逆数1/
    Aを所定の精度まで求め、この1/Aと被演算数
    Bとの乗算を行うことによつてB/Aの除算結果
    を得る除算装置と、前記被演算数Aおよび前記値
    (1/√A)0に基づいてニユートン法によつて前
    記被演算数Aの平方根の逆数1/√Aを所定の精
    度まで求め、この1/√Aと被演算数Aとの乗算
    を行うことによつてAの平方根を得る平方根演算
    装置と、をそなえることを特徴とする演算装置。 2 記憶装置がROMであることを特徴とする特
    許請求の範囲第1項記載の演算装置。 3 被演算数Aおよび値(1/A)0に基づいて
    1/Aを所定の精度まで求める演算を、 (1/A)o+1=(1/A)o×(2−A×(1/A)o
    ) なる漸化式に前記値(1/A)0を初期値として用
    いることによつて行うことを特徴とする特許請求
    の範囲第1項または第2項記載の演算装置。 4 被演算数Aおよび値(1/√A)0に基づいて
    1/√Aを所定の精度まで求める演算を、 (1/√A)o+1=0.5×(1/√A)o×い3−A×(
    1/√A)o 2) なる漸化式に前記値(1/√A)0を初期値とし
    て用いることによつて行うことを特徴とする特許
    請求の範囲第1項乃至第3項のいずれかに記載の
    演算装置。
JP60085988A 1985-04-22 1985-04-22 演算装置 Granted JPS61243532A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP60085988A JPS61243532A (ja) 1985-04-22 1985-04-22 演算装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP60085988A JPS61243532A (ja) 1985-04-22 1985-04-22 演算装置

Publications (2)

Publication Number Publication Date
JPS61243532A JPS61243532A (ja) 1986-10-29
JPH0585924B2 true JPH0585924B2 (ja) 1993-12-09

Family

ID=13874059

Family Applications (1)

Application Number Title Priority Date Filing Date
JP60085988A Granted JPS61243532A (ja) 1985-04-22 1985-04-22 演算装置

Country Status (1)

Country Link
JP (1) JPS61243532A (ja)

Families Citing this family (4)

* 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
JPH0769787B2 (ja) * 1988-04-18 1995-07-31 日本電気株式会社 逆数演算装置
US5537345A (en) * 1993-10-14 1996-07-16 Matsushita Electrical Industrial Co. Ltd. Mathematical function processor utilizing table information
US5768170A (en) * 1996-07-25 1998-06-16 Motorola Inc. Method and apparatus for performing microprocessor integer division operations using floating point hardware

Also Published As

Publication number Publication date
JPS61243532A (ja) 1986-10-29

Similar Documents

Publication Publication Date Title
EP0149248B1 (en) Method and apparatus for division using interpolation approximation
JPH03204720A (ja) 初等関数演算装置
JPS6132437Y2 (ja)
JPH03171324A (ja) オペランドの平方根を計算する回路及び方法
EP0530936A1 (en) Method and apparatus for performing prescaled division
JP2502836B2 (ja) 除算回路の前処理装置
JP2822399B2 (ja) 対数関数演算装置
JPH0585924B2 (ja)
JP2737933B2 (ja) 除算装置
JP2508286B2 (ja) 平方根演算装置
JPH03192429A (ja) 平方根演算装置
JPH0831024B2 (ja) 演算プロセッサ
JP2972326B2 (ja) 平方根計算装置
JPH0371331A (ja) 乗算器
JPH01161437A (ja) 除算装置
JPS6258333A (ja) 演算装置
JPH0445860B2 (ja)
JPH06105421B2 (ja) 逆三角関数演算装置
JPS63254525A (ja) 除算装置
JPS63240626A (ja) 関数演算器
SU928348A1 (ru) Устройство дл вычислени тригонометрических функций
JPS60129834A (ja) 乗除算器
JPS61201328A (ja) 除算方式
JPS58223847A (ja) 整数べき乗演算装置
JPS63118936A (ja) 倍精度演算装置