JPH07120273B2 - 除算装置 - Google Patents

除算装置

Info

Publication number
JPH07120273B2
JPH07120273B2 JP63031232A JP3123288A JPH07120273B2 JP H07120273 B2 JPH07120273 B2 JP H07120273B2 JP 63031232 A JP63031232 A JP 63031232A JP 3123288 A JP3123288 A JP 3123288A JP H07120273 B2 JPH07120273 B2 JP H07120273B2
Authority
JP
Japan
Prior art keywords
product
digits
output
reciprocal
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
JP63031232A
Other languages
English (en)
Other versions
JPH01205330A (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 JP63031232A priority Critical patent/JPH07120273B2/ja
Priority to US07/285,605 priority patent/US4991132A/en
Publication of JPH01205330A publication Critical patent/JPH01205330A/ja
Publication of JPH07120273B2 publication Critical patent/JPH07120273B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Description

【発明の詳細な説明】 産業上の利用分野 本発明は、高精度で高速の割算を実行する除算装置に関
するものである。
従来の技術 四則演算のなかでも除算は演算時間が長くかかり、しか
も単純なアルゴリズムを使う場合、除数と被除数(また
は部分剰余)との大きさを比較し、それによって次の演
算の種類を決定するような逐次処理をともなうため、乗
算のように並列動作回路数を増して演算時間を短縮する
ことも困難であった。そこで従来より改良された除算法
として収束型除算法が提案されている。これは高速の乗
算器と加減算器を使うものである。
この説明を簡単にするため、除数、被除数(または部分
剰余)ともに正規化されている場合(浮動小数点表現の
場合の仮数部はこれに該当する)を考える。
この場合、除数(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の場合(倍精度の浮動小数
点表現形式の場合48≦N≦52が多い)、D1 64は有効桁数
の範囲を超えて小さい数になっているため実質的に0と
同一であり結局下記のような近似式が成り立つ。
A/D=A(1+D1 n)=A(1+D1)(1+D1 2)(1+D
1 4) …… (1+D1 32) ……(2) 従ってD1の2nベキ乗の計算と各々と1との加算、各項6
回の乗算を実行することで割算が実行できる。ここでD1
2nはD1 2n-1を2乗することで求められるし、1+D1 2n
計算はただD1 2nの最上位桁(元々は0.0……01××と0
であるが)を1するだけでよいので演算時間は実質的に
不要であることを考慮すれば、D1を求めるための減算が
1回と11回の乗算で割算が可能である。非常に高速な乗
算器を使うと、これらの演算時間の総和は1〜2μ秒程
度になり、比較的高速な除算器が得られていた。
発明が解決しようとする課題 従来の収束型除算は回路規模は乗算器と減算器と制御回
路があればよく比較的小さくて済むが乗算回路が多いた
めどうしても非常に高速な割算器が作りにくかった。
割算専用に大規模な回路を設けて非常に高速な除算を実
行する方法も知られてはいるが、通常の演算装置は四則
演算全てを実行する場合が多く、乗算機能や加減算機能
とともに除算機能をもたせている。即ち乗算器や加減算
器が近くに存在するので、これらの演算機能をうまく利
用すれば回路規模は大きくならずに除算が実行できる。
従って収束型除算のアルゴリズムに似た方法で乗算回数
がもっと少なくて済む方法が必要となる。
本発明は、かかる点に鑑み、より高速でコンパクトな除
算装置を提供することをその目的としている。
課題を解決するための手段 本発明は、基数2(二進数)、有効数字N桁の正規化さ
れた数値系で、除数(D)の上位M桁(D0、ただし0<
M<N)のうち少なくとも最上位桁は零でない2M-1個の
数値に対応し、上位M桁がD0と同一で下位(N−M)桁
が全て論理1である数値D′0の有効数字N桁以上の逆
数を格納する逆数テーブルと、この逆数テーブルを前記
上位M桁の数値でアクセスした時に対応する前記逆数を
出力する出力手段と、この出力手段からの出力と、被除
数と、前記除数の下位(N−M)桁の数値(D1)を入力
とする、収束型除算部とを備え、この収束型除算部は少
なくとも、前記D1を入力する論理反転手段と、乗算手段
と、この乗算結果を一旦格納し最上位桁を1にして出力
することができる加算器相当手段とを含み、被除数
(A)に対する除算A/Dを、前記逆数テーブルの出力と
被除数との積と、前記逆数テーブルの出力と前記論理反
転手段出力との積(積1)を前記乗算器および加算器相
当手段を経由することによって得られる(積1)の多項
式とを乗ずることで求める近似式を使って実行すること
を特徴とする除算装置である。
作用 除数(D)の上位M桁(D0)に対応した値の逆数をあら
かじめ逆数テーブルに格納し、この値と除数(D)の下
位(N−M)桁の反転値とを用いて収束型除算を行うこ
とにより、コンパクトで高速な除算を可能とするもので
ある。
実施例 本発明では、従来の変換式(1),(2)の代りに次の
式を用いる。
A/D=A/(D0′−D1′)=A/[D0′(1−D1′/
D0′)]=(A/D0′)/(1−r);但しr=D1′/
D0′<<1(A/D0′)(1+r)(1+r2)(1+
r4)(1+r8) ……(3) 式中D0′としては有効桁数Nのうち、上位M桁だけが除
数Dと同一で、下位(N−M)桁は全て1であるものを
代表値として選び、この代表値に対して逆数テーブルを
用意している。このような代表値を選ぶと、実際の除数
Dは次のように差の形で表わされ D=D0′−D1′=D0′(1−r) 従って分子は足し算だけを使った上記式(3)の形にな
る。しかもD1′はDの下位(N−M)ビットD1を反転す
るだけでもとめられ、減算をする必要がない。(従って
減算器もいらない)。
具体的には、D0に対する(1/D0′)を出力する手段、乗
算手段、反転手段,N桁数値の最上位ビットを1にする加
算器相当手段および、各演算の実行を制御する制御手段
によって構成するものである。この逆数テーブルとその
出力手段として読み出し専用メモリ(ROM)1を用い、
高速収束型除算器10が乗算器12,加算器相当手段および
反転器13を備えた構成の一例を第1図に示す。
数値例として有効桁数52で2進表示の例を考え、D0とし
ては上位、例えば12桁(最上位は1)をとる。従って
D0′の候補としては、211個(2048)存在するのでROM1
の規模は、2048語×52ビット(約100Kビット)となる。
通常この程度のROM1のアクセス時間は52ビットの乗算時
間の約1/2程度である。この場合の動作は次のようにな
る。
1)ROM1をD0によってアクセス(即ち、D0に対応するM
−1ビットの番地に格納されているデータを読みだす)
すると、D0′の逆数1/D0′が出力される。
2)1/D0′と除数の残留下位(N−M)ビットの反転と
の積D1′/D0′(=r)を乗算器12で求める。
3)これと被乗数の積A/D0′を乗算器12を用いて計算す
る。
4)積r2を乗算器12を用いて計算する。
5)(1+r)を加算器相当14を用いて計算し(演算時
間は無視できる)、これとステップ3)で求めた積A/
D0′との積(A/D0′)(1+r)を乗算器12を用いて計
算する。
6)積r4を乗算器12を用いて計算する。
7)(1+r2)を加算器相当14を用いて計算し、これと
ステップ5)で求めた積(A/D0′)(1+r)との積:
(A/D0′)(1+r)(1+r2)を乗算器12を用いて計
算する。
8)(1+r4)を加算器相当14を用いて計算し、これと
ステップ7)で求めた積(A/D0′)(1+r)(1+
r2)との積:(A/D0′)(1+r)(1+r2)(1+
r4)を乗算器12を用いて計算する。
9)ステップ8)の結果を商として出力する。
従って、(3)式の計算を完了するには、各演算および
処理を次の回数だけ実行することになる。
52桁乗算 :7回 40桁反転 :1回(演算時間実質的にゼロ) ROM読み出し:1回(乗算0.5回相当) 演算回数を全て乗算に換算すると、7.5回相当になる。
制御手段15はこれらの一連の演算処理の実行を制御する
部分である。
他の実施例の構成図を第2図に示す。
この場合、4乗器も別途用意する。(但し、4乗器36は
精度4桁(52−12×4)のROMで構成すれば充分であ
る)この場合の動作は 1)ROM1をD0によってアクセス(即ち、D0に対応するM
−1ビットの番地に格納されているデータを読みだす)
すると、D0′の逆数1/D0′が出力される。
2)1/D0′と除数の残留下位(N−M)ビットの反転と
の積D1′/D0′(=r)を乗算器12で求める。
3)これと被乗数の積A/D0′を乗算器12を用いて計算す
る。
4)積r2を乗算器12を用いて計算する。
5)(1+r4)を4乗器36を用いて計算する。
6)(1+r)を加算器相当14を用いて計算し(演算時
間は無視できる)、これとステップ3)で求めた積A/
D0′との積(A/D0′)(1+r)を乗算器12を用いて計
算する。
7)(1+r2)を加算器相当14を用いて計算し、これと
ステップ5)で求めた(1+r2)積:(1+r2)(1+
r4)を乗算器12を用いて計算する。
8)ステップ6)で求めた(A/D0′)(1+r)とステ
ップ7)で求めた積(1+r2)(1+r4)との積:(A/
D0′)(1+r)(1+r2)(1+r4)を乗算器12を用
いて計算する。
従って、(3)式の計算を完了するには、各演算および
処理を次の回数だけ実行することになる。
52桁乗算 :6回 40桁反転 :1回(演算時間実質的に零) ROM読み出し:1回(乗算0.5回相当) 4乗器読み出し:1回(乗算時間に隠れる) 演算回路を全て乗算に換算すると、6.5回相当になる。
また、有効桁数Nが少ない場合、例えば24桁のときは、
Mを12に選ぶと、r3以上の項は無視できるので、次のよ
うな一連の処理で商が計算できる。
1)ROM1をD0によってアクセス(即ち、D0に対応するM
−1ビットの番地に格納されているデータを読みだす)
すると、D0′の逆数1/D0′が出力される。
2)1/D0′と除数の残留下位(N−M)ビットの反転と
の積D1′/D0′(=r)を乗算器12で求める。
3)これと被乗数の積A/D0′を乗算器12を用いて計算す
る。
4)(1+r2)を2乗器を用いて計算する。
5)(1+r)を加算器相当14を用いて計算し(演算時
間は無視できる)、これとステップ3)で求めた積A/
D0′との積(A/D0′)(1+r)を乗算器12を用いて計
算する。
6)ステップ5)で求めた(A/D0′)(1+r)とステ
ップ4)で求めた積(1+r2)との積:(A/D0′)(1
+r)(1+r2)を乗算器12を用いて計算する。
7)ステップ6)の結果を商として出力する。
従って、(3)式の計算を完了するには、各演算および
処理を次の回数だけ実行することになる。
24桁乗算 :4回 12桁反転 :1回(演算時間実質的に零) ROM読み出し:1回(乗算0.5回相当) 2乗器読み出し:1回(乗算時間に隠れる) 演算回路を全て乗算に換算すると、4.5回相当になる。
発明の効果 実施例の説明から明きらかなとおり、本発明によれば乗
算を含めて、商を求めるために実行すべき全演算の実行
回数(即ち実行時間)が大幅に減っており、しかもハー
ドウェアとしては逆数出力手段(ROM)と乗算器および
簡単な反転回路を設けることにより高速な除算が行なえ
ることがわかる。また、第2図に対応する実施例では、
2乗器、或いは4乗器が更に必要となるが、この場合於
いては、2)〜7)までの前後の演算オペランドは独立
であるので、乗算器が2段のパイプライン構成になって
いると、各乗算実行時間が等価的に半分になる。よって
除算実行時間は 1) 乗算0.5回相当 2),3),4),6) 乗算0.5回相当 7),8) 乗算1回相当 全体で乗算4.5回相当と更に高速にすることができる。
従来の収束型が乗算11回、減算1回即ち、乗算11.5回相
当だったのに対して、本発明に示した若干の素子、回路
の追加で演算時間が、1.5〜2.5倍改善される。
【図面の簡単な説明】
第1図は本発明の第1の実施例の構成図、第2図は本発
明の第2の実施例の構成図である。 1……ROM、10……収束型除算器、12……乗算器、D…
…除数、A……被除数。

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】基数2(二進数)、有効数字N桁の正規化
    された数値系で、除数(D)の上位M桁(D0、ただし0
    <M<N)のうち少なくとも最上位桁は零でない2M-1
    の数値に対応し、上位M桁がD0と同一で下位(N−M)
    桁が全て論理1である数値D′0の有効数字N桁以上の
    逆数を格納する逆数テーブルと、この逆数テーブルを前
    記上位M桁の数値でアクセスした時に対応する前記逆数
    を出力する出力手段と、この出力手段からの出力と、被
    除数と、前記除数の下位(N−M)桁の数値(D1)を入
    力とする、収束型除算部とを備え、 この収束型除算部は少なくとも、前記D1を入力とする論
    理反転手段と、乗算手段と、この乗算結果を一旦格納し
    最上位桁を1にして出力することができる加算器相当手
    段とを含み、 被除数(A)に対する除算A/Dを、前記逆数テーブルの
    出力と被除数との積と、前記逆数テーブルの出力と前記
    論理反転手段出力との積(積1)を前記乗算器および加
    算器相当手段を経由することによって得られる(積1)
    の多項式とを乗ずることで求める近似式を使って実行す
    ることを特徴とする除算装置。
  2. 【請求項2】収束型除算部は有効桁数N桁以上の演算精
    度を持つ乗算手段、(N−M)ビットの論理反転手段、
    入力数値の最上位桁を1にして出力することができる加
    算器相当手段とを備え、 前記除数(D)の上位M桁(D0)で前記逆数テーブルを
    アクセスして、その出力として上位M桁は前記D0と同一
    で、下位(N−M)桁は全て論理1である除数代表値
    (D′0)の有効数字N桁以上の逆数を得、この逆数と
    被除数との積(積0)を前記乗算手段を使って求め、除
    数(D)の下位(N−M)桁を前記論理反転手段を使っ
    て反転した微小誤差(D′1)と前記逆数との積(積
    1)を前記乗算手段で求め、更にこの積(積1)の2n
    (nは1,2,3,……各々積2,積4,積8,……)を2n×MがN
    を越える直前まで順次前記乗算手段を使って求め、並行
    して、前記積0を被乗数とし、前記加算器相当手段を介
    して前記積2n-1の最上位を1に変換した数値を前記乗算
    手段を用いて順次累積乗算し、最終積を商の近似値とし
    て出力することを特徴とする特許請求の範囲第1項記載
    の乗算装置。
  3. 【請求項3】収束型除算部は有効桁数N桁以上の演算精
    度を持つ乗算手段、(N−M)ビットの論理反転手段、
    入力数値の最上位桁を1にして出力することができる加
    算器相当手段、および、N桁の2進数の数値で上位M桁
    が全て0である数値(D′1/D′0)の2乗器あるいは4
    乗器を備え、 前記除数(D)の上位M桁(D0)で前記逆数テーブルを
    アクセスして、その出力として上位M桁は前記D0と同一
    で、下位(N−M)桁は全て論理1である除数代表値
    (D′0)の有効数字N桁以上の逆数を得、この逆数と
    被除数との積(積0)を前記乗算手段で求め、更に前記
    逆数テーブルの出力と前記論理反転手段出力との積(積
    1)を求め、この積(積1)の2乗を前記2乗器の出力
    手段もしくは前記乗算手段を用いて計算し積2とし、同
    じくこの積(積1)の4乗を前記4乗器の出力手段を用
    いて計算し積4とし、並行して、前記積0を被乗数と
    し、前記加算器相当手段を介して前記積1,積2,積4の各
    々の最上位を1に変換した各変換項を前記乗算手段を用
    いて順次累積乗算し、8M>Nの場合に対応する商とし
    て、積0から積4までの変換項の累積を出力することを
    特徴とする特許請求の範囲第1項記載の除算装置。
JP63031232A 1987-12-17 1988-02-12 除算装置 Expired - Lifetime JPH07120273B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP63031232A JPH07120273B2 (ja) 1988-02-12 1988-02-12 除算装置
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
JP63031232A JPH07120273B2 (ja) 1988-02-12 1988-02-12 除算装置

Publications (2)

Publication Number Publication Date
JPH01205330A JPH01205330A (ja) 1989-08-17
JPH07120273B2 true JPH07120273B2 (ja) 1995-12-20

Family

ID=12325666

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63031232A Expired - Lifetime JPH07120273B2 (ja) 1987-12-17 1988-02-12 除算装置

Country Status (1)

Country Link
JP (1) JPH07120273B2 (ja)

Also Published As

Publication number Publication date
JPH01205330A (ja) 1989-08-17

Similar Documents

Publication Publication Date Title
JP2622896B2 (ja) 除算装置
US3777132A (en) Method and apparatus for obtaining the reciprocal of a number and the quotient of two numbers
JPS6347874A (ja) 算術演算装置
JPH02196328A (ja) 浮動小数点演算装置
US5184318A (en) Rectangular array signed digit multiplier
JPH0612229A (ja) 乗累算回路
EP0356153B1 (en) Radix-2**n divider method and apparatus using overlapped quotient bit selection and concurrent quotient rounding and correction
US5132925A (en) Radix-16 divider using overlapped quotient bit selection and concurrent quotient rounding and correction
US3290493A (en) Truncated parallel multiplication
JP2822399B2 (ja) 対数関数演算装置
US4991132A (en) Apparatus for executing division by high-speed convergence processing
JPS63123125A (ja) 浮動小数点数の加算装置
JP2857505B2 (ja) 除算装置
JPS5939774B2 (ja) 指数関数の演算方式
JPH07120273B2 (ja) 除算装置
JP2972326B2 (ja) 平方根計算装置
JPH04172526A (ja) 浮動小数点除算器
JPH0769785B2 (ja) 除算装置
JPH0831024B2 (ja) 演算プロセッサ
JPH06105421B2 (ja) 逆三角関数演算装置
JP2508286B2 (ja) 平方根演算装置
JPH04314126A (ja) 逆数発生装置
JP3251071B2 (ja) 除算/開平演算方法と演算装置
JPH0585924B2 (ja)
JPS63254525A (ja) 除算装置