JPH0769785B2 - 除算装置 - Google Patents

除算装置

Info

Publication number
JPH0769785B2
JPH0769785B2 JP62319442A JP31944287A JPH0769785B2 JP H0769785 B2 JPH0769785 B2 JP H0769785B2 JP 62319442 A JP62319442 A JP 62319442A JP 31944287 A JP31944287 A JP 31944287A JP H0769785 B2 JPH0769785 B2 JP H0769785B2
Authority
JP
Japan
Prior art keywords
digits
digit
reciprocal
input
multiplication
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
JP62319442A
Other languages
English (en)
Other versions
JPH01161437A (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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial 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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP62319442A priority Critical patent/JPH0769785B2/ja
Priority to US07/285,605 priority patent/US4991132A/en
Publication of JPH01161437A publication Critical patent/JPH01161437A/ja
Publication of JPH0769785B2 publication Critical patent/JPH0769785B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Description

【発明の詳細な説明】 産業上の利用分野 本発明は高精度で高速の割算を実行する除算装置に関す
るものである。
従来の技術 四則演算のなかでも除算は、演算時間が長くかかりしか
も単純なアルゴリズムを使う場合除数と被除数(または
部分剰余)との大きさを比較しそれによって次の演算の
種類を決定するような逐時処理をともなうため乗算のよ
うに並列動作回路数を増して演算時間を短縮することも
困難であった。そこで従来より改良された除算法として
収束型除算法が提案されている。これは高速の乗算器と
加減算器を使うものである。
この説明を簡単にするため2進法で表現された数値系の
演算で除数,被除数ともに正規化されている場合(浮動
小数点表現の場合の仮数部はこれに該当する)を考え
る。
この場合、除数(D)は0.1×××…×(有効桁数N
桁,××は0または1の数列)で D=1−D1とするとD1は0.1よりも小さい数となる(D1
=0.1の場合、D=0.1となり商は被除数を2倍するだけ
でよくこれは2進数の場合1桁(1ビット)左シフト操
作なので本格的な割算を実行する必要がなく、この場合
は除外しても一般性を失なわない)。
割算A÷Dは次のように数式変換ができる。
数値系の有効桁数NがN=52の場合(倍精度の浮動小数
点表現形式の場合48N52が多い)D1 64は有効桁数の
範囲を超えて小さい数になっているため実質的に0と同
一であり結局下記のような近似式が成り立つ。
従ってD1の2nベキ乗の計算と各々と1との加算、各項6
回の乗算を実行することで割算が実行できる。ここで を2乗することで求められるし、 の計算はただ の最上位桁(元々は という形をしており最上位は0であるが)を1するだけ
でよいので演算時間は実質的に不要であることを考慮す
れば、D1を求めるための減算が1回と11回の乗算で割算
が可能である。非常に高速な乗算器を使うと、これらの
演算時間の総和は1〜2μ秒程度になり、比較的高速な
除算器が得られていた。
発明が解決しようとする問題点 従来の収束型除算は回路規模は乗算器と減算器と制御回
路があればよく比較的小さくて済むが乗算回数が多いた
めどうしても非常に高速な割算器が作りにくかった。
割算専用に大規模な回路を設けて非常に高速な除算を実
行する方法も知られてはいるが、通常の演算装置は四則
演算全てを実行する割合が多く、乗算機能や加減算機能
とともに除算機能をもたせている。即ち乗算器や加減算
器が近くに存在するので、これらの演算機能をうまく利
用すれば回路規模は大きくならずに除算が実行できる。
従って収束型除算のアルゴリズムに似た方法で乗算回数
がもっと少なくて済む方法が必要となる。
本発明は、かかる点に鑑みより高速でコンパクトな除算
装置を提供することをその目的としている。
問題点を解決するための手段 本発明は、基数R(R進数)、有効桁数N桁の正規化さ
れた数値系で、除数(D)の上位M桁(D0)(ただし0
<M<N)のうち少なくとも最上位桁は零でない(R−
1)・RM-1個の数値各々に対応した値の逆数を格納する
逆数テーブルと、この逆数テーブルを前記上位M桁の数
値でアクセスした時に対応する前記逆数を出力する出力
手段と、この出力手段からの出力と被除数と前記除数の
下位(N−M)桁の値を入力とする高速収束型除算部と
を備え、 (1)この高速収束型除算部は、少なくとも(N−M+
1)桁の減算を実行する減算回路と、N桁の乗算を実行
する乗算回路と、この乗算結果を一旦格納し最上位桁を
1にして出力するレジスタ回路とを含み、被除数(A)
に対する除算A/Dを近似式 A/DA・B・{1+E・(1+E・(…E・(1+
E)))}…… (4) 但し、Bは逆数テーブル出力値、E=(減算回路出力
値)・B を使って実行することを特徴とする除算装置、または (2)この高速収束型除算部は少なくとも、N桁の乗算
を実行する乗算回路と、N桁の減算を実行する減算回路
と、入力値の2乗および4乗を各々実行する2乗回路、
4乗回路と、この累乗結果を一旦格納し最上位桁を1に
して出力するレジスタ回路とを含み、被除数(A)に対
する除算A/Dを近似式 A/DA・B・(1−E)・(1+E2)・(1+E4)…
… (5) 但し、Bは逆数テーブル出力値、E=(D1/D0)・B を使って実行することを特徴とする除算装置、または (3)この高速収束型除算部は、少なくとも(N−M+
1)桁の減算を実行する減算回路と、N桁の2入力数値
の乗算を実行する乗算回路と、この乗算結果を一旦格納
し最上位桁を1にして出力するレジスタ回路と、入力値
の2乗および4乗を各々実行する2乗回路、4乗回路
と、この累乗結果を一旦格納し最上位桁を1にして出力
するレジスタ回路とを含み、被除数(A)に対する除算
A/Dを近似式 A/DA・B・(1+E)・(1+E2)・(1+E4)…
… (6) 但し、B=逆数テーブル出力値、E=(減算回路出力
値)・B を使って実行することを特徴とする除算装置である。
作用 除数(D)の上位M桁(D0)に対応した値の逆数をあら
かじめ逆数テーブルに格納し、この値と除数(D)の下
位(N−M)桁の値とを用い、上記近似式(4)、
(5)、(6)の計算を実行し、その過程で特殊なレジ
スタで加算時間を省略したり、2乗や4乗の専用回路に
よる累積演算と乗算の並行処理を行うことにより、コン
パクトで高速な除算を可能とするものである。
実施例 まず、本発明の実施例に共通する考え方を示す構成例を
説明する。除算の近似式として(1)、(2)の代わり
に、さらに高速な除算を実行するため、次の近似式
((3)を用いる。
式中D0としては一例として有効桁数Nのうち、上位M桁
だけが除数Dと同一で、下位(N−M)桁は全て零であ
るものを1次近似値として選び、この近似値に対して逆
数テーブルを用意している。具体的なD0に対する(1/
D0)を出力する手段、乗算手段、1からある微小数を引
いて差を求める減算手段および、各演算の実行を制御す
る制御手段によって構成するものである。尚、この逆数
テーブルのためのD0の下位(N−M)桁は特に全て零で
ある必要は必ずしもない。
この逆数テーブルとその出力手段として読み出し専用メ
モリ(ROM)1を用い、高速収束型除算器10が乗算器12
および減算器13を備えた構成の一例を第1図に示す。
数値例として有効桁数52で2進表示の例を考え、D0とし
ては上位例えば12桁(最上位は1)をとる。従ってD0
候補としては、211個(2048)存在するので、ROM1の規
模は2048語×52ビット(約100kビット)となる。通常こ
の程度のROM1のアクセス時間は52ビットの乗算時間の約
1/2程度である。この場合の動作は次のようになる。R
OM1をD0によってアクセス(即ち、D0に対応するMビッ
トの番地に格納されているデータを読み出す)すると、
D0の逆数1/D0が出力される。これと除数の残留下位ビ
ット(N−M)との積D1/D0を乗算器12で求める。
(1−D1/D0)を減算器13を用いて計算(演算時間は乗
算の1/2以下)。積(D1/D0)・(1−D1/D0)を乗算
器12で求める,この操作をくり返し最后にAと1/
D0を掛けて、(3)式の計算を完了するには、各演算お
よび処理を次の回数だけ実行することになる。
52桁乗算:6回 52桁減算:4回(乗算2回相当) ROM読み出し:1回(乗算0.5回相当) 演算回数を全て乗算に換算すると、8.5回相当になる。
制御手段14はこれらの一連の演算処理の実行を制御する
部分である。
以上が本発明の共通の考え方を示す構成であり、次に本
発明の第1の実施例を示す。本発明では従来の近似式
(1),(2),あるいは(3)の代わりに次の近似式
(4)を用いる。この場合の構成図を第2図に示す。
ここでD0は先の実施例と同様に除数Dの上位M桁が同一
で下位(N−M)桁は全て零であるようなDの第0次近
似値である。即ち、D,D0,D1は下記のようになる。
D=〔dNdN-1……dN-M+1・dN-M……d2d1〕 D0=〔dNdN-1……dN-M+10……00〕 D1=〔00……0dN-M……d2d1〕 一方dは下記のように上位からM桁目のみ1で他が零で
ある数値にとる。
d=〔00……10……00〕 即ちこの場合のDの第0次近似値D0+dは下位(N−
M)を切り上げたものを採用する。
この場合逆数ROM21のデータはD0でアクセスすると1/(D
0+d)のデータが読み出されるようにデータをセット
しておく。最初に(d−D1)という減算を1回実行しな
ければならないが、その後の の1と微小数の加算は単に最上位に1をセットすればよ
いだけなので実質的に演算時間が不要である。この場合
の演算処理回数は下記のようになる。
52桁乗算 6回 52桁減算 1回(乗算0.5回相当ただしROMアクセス時
間にかくれるので実質演算時間不要) ROM読み出し1回(乗算0.5回相当) 演算回数を全て乗算に換算すると6.5回相当になる。
他の実施例の構成図を第3図に示す。これは近似式
(3)を更に変更した下記の近似式(5)に基づいたも
のである。
A/DA・(1/D0)−(1−D1/D0)・(1+(D1/D0
)・(1+(D1/D0)…… (5) この場合、2乗器,4乗器も別途用意する(但し、2乗器
35は実質的に精度28桁(52−12×2)(ビット)の乗算
器、4乗算器36は精度4桁(52−12×4)のROMで構成
すれば充分である)この場合の動作は 逆数ROM31で(1/D0)を読み出す。
乗算器32でD1*(1/D0)を計算する。
乗算器32でA*(1/D0)を計算する。
2乗器35,4乗器36で(D1/D02,(D1/D0を計算,
減算器33で1−D1/D0を計算する。
乗算器32で を計算する。
は演算時間不要〕 乗算器32で を計算する。
乗算器32で を計算する。
各演算回路は 30〜52桁乗算 6回 52減算 1回(ただし、乗算時間にかくれるので
実質0) ROMアクセス 1回(乗算0.5回相当) つまり全体の演算は乗算6.5相当となる。
この場合2乗器35用の乗算器は52桁の乗算器32を使用し
てもよい。
また他の実施例の構成図を第4図に示す。この構成は次
の近似式(6)に基づいている。
この場合の動作としては、 逆数ROM41を使って(1/D0+d)を計算,減算器43で
d−D1を計算する。
乗算器42で(d−D1)*(1/D0+d)を計算する。
乗算器42でA*(1/D1+d)を計算する。
2乗算器45,4乗算器46で を計算する。
乗算器42で を計算する。
乗算器42で を計算する。
乗算器42で を計算する。
即ちこの場合も演算回数は乗算相当で6.5となる。
発明の効果 実施例の説明から明らかなとうり、本発明によれば乗算
を含めて、商を求めるために実行すべき全演算の実行回
数(即ち実行時間)が大幅に減っており、従来の除算装
置にROMを1個加えることでより高速な除算が行なえる
ことがわかる。また、第3図,第4図に対応する実施例
では、2乗器,4乗器が更に必要となるが、この場合何れ
も〜までの前後の演算オペランドは独立であるの
で、乗算器が2段のパイプライン構成になっていると、
各乗算実行時間が等価的に半分になる。よって除算実行
時間は 乗算0.5回相当 〜乗算0.5回相当 〜乗算1回相当 全体で乗算4.5回相当と更に高速にすることができる。
従来の収束型が乗算11回、減算1回即ち、乗算11.5回相
当だったのに対して、本発明に示した若干の素子、回路
の追加で演算時間が1.5〜2.5倍改善される。
【図面の簡単な説明】
第1図は本発明の実施例に共通する考え方を示す除算装
置の構成図、第2図は本発明の第1の実施例の構成図、
第3図は本発明の第2の実施例の構成図、第4図は本発
明の第3の実施例の構成図である。 10……高速収束型除算器、11……ROM、14……制御手
段。

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】基数R(R進数)、有効桁数N桁の正規化
    された数値系で、除数(D)の上位M桁(但し、0<M
    <N)のうち少なくとも最上位桁は零でない(R−1)
    ・RM-1個の数値{D0}各々に対応した値(D0+d)(但
    し、dは最上位のみが1で、他の桁は0のN−M+1桁
    のR進数)の逆数を格納する逆数テーブルと、この逆数
    テーブルを前記上位M桁の数値でアクセスした時に対応
    する前記逆数を出力する出力手段と、この出力手段から
    の出力と被除数と前記除数の下位(N−M)桁の値
    (D1)を入力とする高速収束型除算部とを備え、 この高速収束型除算部は少なくとも、dを被減数入力と
    しD1を減数入力として減算(d−D1)を実行する減算回
    路と、N桁の2入力数値の乗算を実行する乗算回路と、
    この乗算結果を一旦格納し最上位桁を1にして出力する
    レジスタ回路とを含み、被除数(A)に対する除算A/D
    を近似式 A/DA・B・{1+E・(1+E・(1+E・(…E
    ・(1+E))))} 但し、B=1/(D0+d)、E=(d−D1)/(D0+d) を使って実行することを特徴とする除算装置。
  2. 【請求項2】基数R(R進数)、有効桁数N桁の正規化
    された数値系で、除数(D)の上位M桁(但し、0<M
    <N)のうち少なくとも最上位桁は零でない(R−1)
    ・RM-1個の数値{D0}各々に対応した値(D0)の逆数を
    格納する逆数テーブルと、この逆数テーブルを前記上位
    M桁の数値でアクセスした時に対応する前記逆数を出力
    する出力手段と、この出力手段からの出力と被除数と前
    記除数の下位(N−M)桁の値(D1)を入力とする高速
    収束型除算部とを備え、 この高速収束型除算部は少なくとも、1を被減数入力と
    し乗算結果(D1・(1/D0))を減数入力として減算(1
    −D1/D0)を実行する減算回路と、N桁の2入力数値の
    乗算を実行する乗算回路と、入力値の2乗および4乗を
    各々実行する2乗回路、4乗回路と、この累乗結果を一
    旦格納し最上位桁を1にして出力するレジスタ回路とを
    含み、被除数(A)に対する除算A/Dを近似式 A/DA・B・(1−E)・(1+E2)・(1+E4) 但し、B=1/D0、E=D1/D0 を使って実行することを特徴とする除算装置。
  3. 【請求項3】基数R(R進数)、有効桁数N桁の正規化
    された数値系で、除数(D)の上位M桁(但し、0<M
    <N)のうち少なくとも最上位桁は零でない(R−1)
    ・RM-1個の数値{D0}各々に対応した値(D0+d)(但
    し、dは最上位のみが1で、他の桁は0のN−M+1桁
    のR進数)の逆数を格納する逆数テーブルと、この逆数
    テーブルを前記上位M桁の数値でアクセスした時に対応
    する前記逆数を出力する出力手段と、この出力手段から
    の出力と被除数と前記除数の下位(N−M)桁の値
    (D1)を入力とする高速収束型除算部とを備え、 この高速収束型除算部は少なくとも、dを被減数入力と
    しD1を減数入力として減算(d−D1)を実行する減算回
    路と、N桁の2入力数値の乗算を実行する乗算回路と、
    この乗算結果を一旦格納し最上位桁を1にして出力する
    レジスタ回路と、入力値の2乗および4乗を各々実行す
    る2乗回路、4乗回路と、この累乗結果を一旦格納し最
    上位桁を1にして出力するレジスタ回路とを含み、被除
    数(A)に対する除算A/Dを近似式 A/DA・B・(1+E)・(1+E2)・(1+E4) 但し、B=1/(D0+d)、E=(d−D1)/(D0+d) を使って実行することを特徴とする除算装置。
JP62319442A 1987-12-17 1987-12-17 除算装置 Expired - Lifetime JPH0769785B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP62319442A JPH0769785B2 (ja) 1987-12-17 1987-12-17 除算装置
US07/285,605 US4991132A (en) 1987-12-17 1988-12-15 Apparatus for executing division by high-speed convergence processing

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62319442A JPH0769785B2 (ja) 1987-12-17 1987-12-17 除算装置

Publications (2)

Publication Number Publication Date
JPH01161437A JPH01161437A (ja) 1989-06-26
JPH0769785B2 true JPH0769785B2 (ja) 1995-07-31

Family

ID=18110244

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62319442A Expired - Lifetime JPH0769785B2 (ja) 1987-12-17 1987-12-17 除算装置

Country Status (1)

Country Link
JP (1) JPH0769785B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3660075B2 (ja) * 1996-10-04 2005-06-15 株式会社ルネサステクノロジ 除算装置

Also Published As

Publication number Publication date
JPH01161437A (ja) 1989-06-26

Similar Documents

Publication Publication Date Title
EP0149248B1 (en) Method and apparatus for division using interpolation approximation
US6138135A (en) Propagating NaNs during high precision calculations using lesser precision hardware
JP3418460B2 (ja) 倍精度除算回路および方法
EP0356153B1 (en) Radix-2**n divider method and apparatus using overlapped quotient bit selection and concurrent quotient rounding and correction
CA1170774A (en) Data processor using read only memories for optimizing main memory access and identifying the starting position of an operand
JPH05250146A (ja) 整数累乗処理を行なうための回路及び方法
JPH0477932B2 (ja)
JP2822399B2 (ja) 対数関数演算装置
JPS5939774B2 (ja) 指数関数の演算方式
JPH0769785B2 (ja) 除算装置
JPH04172526A (ja) 浮動小数点除算器
JPH0585924B2 (ja)
JPH0831024B2 (ja) 演算プロセッサ
US3757097A (en) Ediate arithmetic results extra bit for floating decimal control and correction of false interm
JPH07120273B2 (ja) 除算装置
JP2972326B2 (ja) 平方根計算装置
JPH0325809B2 (ja)
JP2508286B2 (ja) 平方根演算装置
US20170199723A1 (en) Circuitry and method for performing division
JPH06105421B2 (ja) 逆三角関数演算装置
JP3074910B2 (ja) 除算装置
JPH06180640A (ja) 除算装置及び方法
JP2607759B2 (ja) 除算器
JPS63254525A (ja) 除算装置
JPH04314126A (ja) 逆数発生装置