JP2737933B2 - 除算装置 - Google Patents

除算装置

Info

Publication number
JP2737933B2
JP2737933B2 JP63156124A JP15612488A JP2737933B2 JP 2737933 B2 JP2737933 B2 JP 2737933B2 JP 63156124 A JP63156124 A JP 63156124A JP 15612488 A JP15612488 A JP 15612488A JP 2737933 B2 JP2737933 B2 JP 2737933B2
Authority
JP
Japan
Prior art keywords
data bus
output
multiplier
bit
input
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
JP63156124A
Other languages
English (en)
Other versions
JPH01321517A (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.)
NEC Corp
Original Assignee
Nippon 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 Nippon Electric Co Ltd filed Critical Nippon Electric Co Ltd
Priority to JP63156124A priority Critical patent/JP2737933B2/ja
Publication of JPH01321517A publication Critical patent/JPH01321517A/ja
Application granted granted Critical
Publication of JP2737933B2 publication Critical patent/JP2737933B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Description

【発明の詳細な説明】 (産業上の利用分野) 本発明は、除算方式とその装置、更に詳しくは繰り返
し乗算による収束型除算を高速におこなう除算方式とそ
の装置に関するものである。
(従来の技術) 除算を高速に処理する演算方式として繰り返し乗算に
よる収束型除算が広く採用されている。(例えば特開昭
62−229440号公報に詳説されている。) この従来の除算方式は、被除数をN、除数をD、商を
Qとしたとき、 とおいてD×P0×P1×…を1に近づけるようなP0,P1,P2
…を求めることにより、 Q=N×P0×P1×… を求めるものである。
最初のP0は除数Dより、近似逆数表を引いて、Dの逆
数の近似値として求める。P0の精度は近似逆数表の大き
さに依存するが、今仮に次式で示される精度であったと
する。
D×P0=D1=1±ε 0<ε≪1 ここで、 P1=2−D1 とすると、 P1=2−(1±ε)=1ε と表され、 D1×P1=D2=(1±ε)(1ε)=1−ε となる。次に、 P2=2−D2 とすると、 P2=2−(1−ε)=1+ε D2×P2=(1−ε)(1+ε)=1−ε となる。同様の操作を繰り返すことにより、 D×P0×P1×… ×Pn→1 とすることができる。
今仮に、εが対象とする除算装置のデータ表現の有
効桁数以下の精度とすれば、 となって、Q=N×P0×P1×P2を商とすることができ
る。
このように収束型除算は、データ表現有効桁数より精
度の悪い除数の近似的な逆数をあらかじめ用意してお
き、乗算処理を繰り返すことにより逆数の精度を上げて
商を得ようとするものである。
上記従来の除算方式では、乗算の反復処理は2種類お
こなわねばならない。1つは分母(除数)側の乗算D×
P0×P1×…であり、1つは分子(被除数)側の乗算N×
P1×P1×…である。
従来の収束型除算装置においては、この2種類の反復
処理を1台の乗算器で交互に実行していた。すなわちデ
ータの有効桁数をmビットとすると、mビット×mビッ
トの乗算をおこなう1台の乗算器が、D×P0、N×P0
D×P0×P1、N×P0×P1…の順で、反復処理を実行す
る。第3図は、このような従来型の除算装置の基本構成
図である。以下第3図を用いて従来型の除算装置の動作
を説明する。
まず除数がROM230に入力されて、Dの近似逆数P0が引
かれる。P0は第3のレジスタ212に書き込まれ、次にm
ビット×mビット乗算器250へ入力される。またDがデ
ータバスセレクタ240を経由してmビット×mビット乗
算器250に入力されることで、D×P0=D1が計算され、
結果が第1のレジスタ210に格納される。
次に被除数Nがデータバスセレクタ240を経由して、
mビット×mビット乗算器250へ入力される。乗算器250
へのもう1つの入力は第3のレジスタ212の内容P0であ
る。こうしてN×P0が計算され、結果が第2のレジスタ
211に格納される。
次に第1のレジスタ210の内容D1が読み出され、デー
タバスセレクタ240を経由してmビット×mビット乗算
器250へ入力される。また2の補数生成器220が2−D1
P1を計算し、P1は第3のレジスタ212へ書き込まれ、ま
たmビット×mビット乗算器250へ入力される。mビッ
ト×mビット乗算器250はD1×P1を計算し結果を第1の
レジスタ210へ書き込む。
次に第2のレジスタ211の内容N×P0と、第3のレジ
スタ212の内容P1が乗ぜられ結果が第2のレジスタ211へ
書き込まれる。
以下所定の演算精度が得られるまで同様の処理を繰り
返す。その結果、第1のレジスタ210の内容は1に収束
し、第2のレジスタ211の内容は商Qに収束する。
(発明が解決しようとする課題) 以上述べた従来の除算装置及び除算方式では所定の精
度を得るまでに必要な繰り返し回数に相当するだけの実
行時間を必要とし、高速な処理を望めないという欠点が
あった。例えば、最初の近似逆数の精度を4倍上げるに
は、5回の乗算(D×P0、N×P0、D×P0×P1、N×P0
×P1、N×P0×P1×P2)のための時間が必要となる。
(課題を解決するための手段) 本発明の除算方式は、漸化的に求められる収束因子
を、除数と被除数とに、それぞれ繰り返し乗じていき、
除数側の繰り返し乗算の結果を1に収束させ、被除数側
の繰り返し乗算の結果を商に収束させて答えを得る収束
型除算において、除数側の収束のための繰り返し乗算
と、被除数側の収束のための繰り返し乗算とを2個の乗
算器で並列におこなうことを特徴とする。
また本発明の除算装置は記憶手段、第1〜第4のデー
タバスセレクタ、第1、第2の乗算器、2の補数生成
器、及び加算器から構成され、記憶手段は除数をアドレ
ス入力として除数の逆数の近似値を出力し、第1のデー
タバスセレクタは記憶手段の出力と2の補数生成器の出
力とを入力とし、第2のデータバスセレクタは除数と、
第1の乗算器の出力と第2の乗算器の出力とを入力と
し、第3のデータバスセレクタは記憶手段の出力と2の
補数生成器の出力とを入力とし、第4のデータバスセレ
クタは被除数と第2の乗算器の出力とを入力とし、第1
の乗算器は第1のデータバスセレクタの出力を第1の入
力とし、第2のデータバスセレクタの出力を第2の入力
として乗算結果を第2のデータバスセレクタ、2の補数
生成器、及び加算器へ出力し、第2の乗算器は第3のデ
ータバスセレクタの出力を第1の入力とし、第4のデー
タバスセレクタの出力を第2の入力として、乗算結果を
第2、第4のデータバスセレクタ及び加算器へ出力し、
加算器は第1、第2の乗算器の出力の和を商として出力
することを特徴とする。
(作用) 本発明は、m(mは除数、被除数、商等のデータの有
効桁数)ビット×m/2ビットの2台の乗算器で、分母
(除数)側と分子(被除数)側の収束のための繰り返し
乗算を並列に実行することで、処理時間の短縮をはかっ
ている。すなわち、N×P0とD×P0とが、また次のN×
P0×P1とD×P0×P1とが、(以下同様)並列に計算され
る。なお、最終段の分子側の乗算は、この2台の乗算器
が1台のmビット×mビット乗算器と等価な働きをして
処理される。
したがって分母側の乗算と分子側の乗算を交互におこ
なっていた従来の方式に比べて高速の処理が実現でき
る。
(実施例) 次に第1図及び第2図(a)(b)(c)を参照して
本発明の実施例について説明する。
第1図は本発明の実施例を示す基本構成図である。図
において101〜111はデータバス、120はROM、130〜133は
それぞれ第1〜第4のデータバスセレクタ、140と141
は、それぞれ第1,第2のmビット×m/2ビット乗算器、1
50は2の補数生成器、160は加算器である。但しmは、
除数、被除数、商等データの有効桁数である。
本実施例でROM120に記憶されている逆数近似表の要
素、つまり除数の逆数の第1次近似P0は、便宜上精度m/
4ビットとする。この精度の大きさは本質的なことでは
なく、低精度の第1次近似から開始しても、繰り返し回
数をふやすことで、所定の精度が得られる。さてP0を得
てから、精度を4倍に上げて、商Q=N/Dを得るまでの
過程は次のとおりである。
ステップ1: P0を除数Dから近似逆数表で引いて N×P0=N1 D×P0=D1 を計算する。
ステップ2: 2−D1=P1 N×P1=N2 D1×P1=D2 の計算。
ステップ3: 2−D2=P2 N2×P2=Q の計算。
上記各ステップについての本発明の動作を、第2図
(a)(b)(c)を用いて詳細に説明する。
ステップ1の実行: 第2図(a)はステップ1に関係するブロックだけを
第1図から抽出して示したものである。
第1のデータバスセレクタ130がデータバス103を、第
2のデータバスセレクタ131がデータバス101を、第3の
データバスセレクタ132がデータバス103を、第4のデー
タバスセレクタ133がデータバス102を選択するように制
御する。
まず除数Dがデータバス101へ、被除数Nがデータバ
ス102へと送出される。ROM120に記憶されている逆数近
似表からP0が引かれP0は第1のデータバスセレクタ130
を経由して第1のmビット×m/2ビット乗算器140のm/2
ビット側入力へ、また第3のデータバスセレクタ132を
経由して、第2のmビット×m/2ビット乗算器141のm/2
ビット側入力へ供給される。一方第2のデータバスセレ
クタ131を経由して第1のmビット×m/2ビット乗算器14
0のmビット側入力へDが供給される。また第4のデー
タバスセレクタ133を経由して、Nが第2のmビット×m
/2ビット乗算器141のmビット側入力へ供給される。
すなわち、第1のmビット×m/2ビット乗算器140によ
るD×P0=D1の計算と、第2のmビット×m/2ビット乗
算器141によるN×P0=N1の計算が並列に実行される。
さらに演算結果D1はデータバス108へ、N1はデータバス1
09へ供給される。
なお、近似逆数P0のビット数はm/2ビットで、m/4ビッ
ト精度が得られる。
ステップ2の実行: 第2図(b)は、ステップ2で関係あるブロックだけ
を第1図から抽出して示したものである。
第1のデータバスセレクタ130がデータバス110を、第
2のデータバスセレクタ131がデータバス108を、第3の
データバスセレクタ132がデータバス110を、第4のデー
タバスセレクタ133がデータバス109を選択するように制
御する。
ステップ1でデータバス108へ送出されたD1は、第2
のデータバスセレクタ131を経由して第1のmビット×m
/2ビット乗算器140のmビット側入力へ送られる。またD
1は2の補数生成器150へも入力される。2の補数生成器
150は2−D1=P1を計算し、P1は第1のデータバスセレ
クタ130を経由して第1のmビット×m/2ビット乗算器14
0のm/2ビット側入力へ、及び第3のデータバスセレクタ
132を経由して第2のmビット×m/2ビット乗算器141のm
/2ビット側入力へと供給される。一方ステップ1で計算
されたN1は第4のデータバスセレクタ133を経由して第
2のmビット×m/2ビット乗算器141のmビット側入力へ
供給される。こうして第1のmビット×m/2ビット乗算
器140ではD1×P1=D2が、また第2のmビット×m/2ビッ
ト乗算器141ではN1×P1=N2がそれぞれ並列に計算さ
れ、結果がデータバス108とデータバス109に送出され
る。
なお、P1の精度m/2ビットなので乗数幅m/2で充分であ
る。
ステップ3の実行: 第2図(c)はステップ3で関係あるブロックだけを
第1図から抽出して示したものである。第1のデータバ
スセレクタ130がデータバス110を、第2のデータバスセ
レクタ131がデータバス109を、第3のデータバスセレク
タ132がデータバス110を、第4のデータバスセレクタ13
3がデータバス109を選択するように制御する。
ステップ2で算出されたD2が2の補数生成器150に入
力される。2の補数生成器150は2−D2=P2を計算し、
データバス110へ送出する。P2のうち上位m/2ビットがデ
ータバスセレクタ130を経由して第1のmビット×m/2ビ
ット乗算器140のm/2ビット側入力へ、またP2の下位m/2
ビットが第3のデータバスセレクタ132を経由して第2
のmビット×m/2ビット乗算器141のm/2ビット側入力へ
と供給される。一方ステップ2で計算されたN2は第4の
データバスセレクタ133を経由して、第2のmビット×m
/2ビット乗算器141のmビット側入力へ送出される。ま
たN2は第2のデータバスセレクタ131を経由して第1の
mビット×m/2ビット乗算器140のmビット側入力へも送
出される。こうして第1のmビット×m/2ビット乗算器1
40ではN2とP2の上位m/2ビットとの乗算、第2のmビッ
ト×m/2ビット乗算器141ではN2とP2の下位m/2ビットと
の乗算が、それぞれ並列におこなわれる。第1,第2のm
ビット×m/2ビット乗算器の出力は加算器160へ入力され
て、加算される。加算結果、すなわち加算器の出力がN
×P2=Q(商)であり、データバス111を介して出力さ
れる。上記の実行手順において、バスセレクタに対する
制御信号は、本除算器に属さない外部の制御装置から供
給する。この制御装置は、主として、除算で必要な制御
信号をプログラムとして格納したメモリとその内容を本
除算器に供給するための通信手段で構成される。
なお、実施例ではmビット×m/2ビット乗算器を用い
て説明してきたが、mビット×lビットの乗算器(m/2
≦l)を用いることも可能である。また、記憶手段とし
て、ROMを用いて説明したが、RAMであっても構わない。
更に、記憶手段へのアドレス入力としては、除数Dの全
ビットを使う必要はなく、除数の逆数の第1次近似P0
精度に応じてアドレス入力のビット数を少くできる。
上述の2台のmビット×m/2ビット乗算器は、各出力
が加算器の入力と接続されているので、1台のmビット
×mビット乗算器としても使用可能である。すなわち、
第1のmビット×m/2ビット乗算器で、被乗数と乗数の
上位m/2ビットとの積、第2のmビット×m/2ビット乗算
器で、被乗数と乗数の下位m/2ビットとの積を並列に計
算して、それぞれの結果を加算することで、1台のmビ
ット×mビット乗算器と等価な動作を実現できる。
(発明の効果) 以上述べたように、漸化的に求められる収束因子を、
除数と被除数とに、それぞれ繰り返し乗じていき、除数
側の繰り返し乗算の結果を1に収束させ、被除数側の繰
り返し乗算の結果を商に収束させて答を得る、収束型の
除算において、除数側と被除数側の収束の計算を従来は
1台のmビット×mビット乗数で交互におこなってきた
が、本発明では2台のmビット×m/2ビット乗算器で並
列に計算させることにより、処理時間の短縮が実現でき
る。
【図面の簡単な説明】
第1図は本発明の実施例を示す基本構成図、第2図
(a)は、ステップ1を処理する際に関係のあるブロッ
クだけを第1図から抽出したブロック図、第2図(b)
はステップ2を処理する際に関係のあるブロックだけを
第1図から抽出したブロック図、第2図(c)はステッ
プ3を処理する際に関係のあるブロックだけを第1図か
ら抽出したブロック図、第3図は従来の除算装置の基本
構成図である。 図において、 101〜111,201〜209……データバス、120,230……ROM,13
0〜133……第1〜第4のデータバスセレクタ、140,141
……第1,第2のmビット×m/2ビット乗算器、150,220…
…2の補数生成器、160……加算器、210〜212……第1
〜第3のレジスタ、240……データバスセレクタ、250…
…mビット×mビット乗算器。

Claims (2)

    (57)【特許請求の範囲】
  1. 【請求項1】記憶手段、第1〜第4のデータバスセレク
    タ、第1,第2の乗算器、2の補数生成器、及び加算器か
    ら構成され、記憶手段は除数をアドレス入力として除数
    の逆数の近似値を出力し、第1のデータバスセレクタは
    記憶手段の出力と2の補数生成器の出力とを入力とし、
    第2のデータバスセレクタは除数と、第1の乗算器の出
    力と第2の乗算器の出力とを入力とし、第3のデータバ
    スセレクタは記憶手段の出力と2の補数生成器の出力と
    を入力とし、第4のデータバスセレクタは被除数と第2
    の乗算器の出力とを入力とし、第1の乗算器は第1のデ
    ータバスセレクタの出力を第1の入力とし、第2のデー
    タバスセレクタの出力を第2の入力として乗算結果を第
    2のデータバスセレクタ、2の補数生成器、及び加算器
    へ出力し、第2の乗算器は第3のデータバスセレクタの
    出力を第1の入力とし、第4のデータバスセレクタの出
    力を第2の入力として、乗算結果を第2、第4のデータ
    バスセレクタ、及び加算器へ出力し、 前記2の補数生成器及び前記記憶手段の出力を、前記第
    1の乗算器によって除数に繰り返し乗じていき、同時に
    前記第2の乗算器によって被除数に繰り返し乗じていく
    ことで被除数側の繰り返し演算の結果を商に収束させて
    いき、繰り返しの最終回(これを第A回目とする)にお
    ける乗算に関してのみは、前記2の補数生成器の出力の
    上位半分のビットと前記第2の乗算器の第A−1回目の
    出力との積を前記第1の乗算器によって計算し、同時に
    前記2の補数生成器の出力の下位半分のビットと前記第
    2の乗算器の第A−1回目の出力との積を前記第2の乗
    算器によって計算し、前記第1,第2の乗算器の出力の和
    を加算器が計算することで商を出力することを特徴とす
    る除算装置。
  2. 【請求項2】前記除数、被除数、商等のデータの有効桁
    数をmビットとしたとき、前記第1,第2の乗算器の第1
    の入力のビット数をl(l≧m/2)、第2の入力のビッ
    ト数をmとする請求項1記載の除算装置。
JP63156124A 1988-06-23 1988-06-23 除算装置 Expired - Lifetime JP2737933B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63156124A JP2737933B2 (ja) 1988-06-23 1988-06-23 除算装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63156124A JP2737933B2 (ja) 1988-06-23 1988-06-23 除算装置

Publications (2)

Publication Number Publication Date
JPH01321517A JPH01321517A (ja) 1989-12-27
JP2737933B2 true JP2737933B2 (ja) 1998-04-08

Family

ID=15620848

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63156124A Expired - Lifetime JP2737933B2 (ja) 1988-06-23 1988-06-23 除算装置

Country Status (1)

Country Link
JP (1) JP2737933B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0401559A3 (de) * 1989-06-06 1992-09-09 Siemens Aktiengesellschaft Digitale Multiplikations-/Divisions-Schaltungsanordnung
US5140545A (en) * 1991-02-13 1992-08-18 International Business Machines Corporation High performance divider with a sequence of convergence factors
JPH0535773A (ja) * 1991-07-30 1993-02-12 Nec Corp ベクトル除算方式とその装置
JP3660075B2 (ja) * 1996-10-04 2005-06-15 株式会社ルネサステクノロジ 除算装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0766321B2 (ja) * 1985-11-20 1995-07-19 株式会社日立製作所 乗算型除算装置の誤動作検出方式

Also Published As

Publication number Publication date
JPH01321517A (ja) 1989-12-27

Similar Documents

Publication Publication Date Title
EP0411491B1 (en) Method and apparatus for performing division using a rectangular aspect ratio multiplier
US4525796A (en) Pipelined operation unit for vector data
EP0149248A2 (en) Method and apparatus for division using interpolation approximation
JPS6347874A (ja) 算術演算装置
JPH0612229A (ja) 乗累算回路
JPH0368416B2 (ja)
JPH05250146A (ja) 整数累乗処理を行なうための回路及び方法
JP2737933B2 (ja) 除算装置
JP3660075B2 (ja) 除算装置
US5214599A (en) Advanced dimensional processing with division
US4190894A (en) High speed parallel multiplication apparatus with single-step summand reduction
JPS58129653A (ja) 乗算方式
US20050246406A9 (en) Emod a fast modulus calculation for computer systems
JP3252954B2 (ja) 乗算方法および乗算回路
JPS6259828B2 (ja)
JPH0535773A (ja) ベクトル除算方式とその装置
KR19980084342A (ko) 2 사이클 파이프라인 방식으로 부동 소수점 데이터를 곱셈 처리하는 방법 및 장치
JPH0585924B2 (ja)
JP2508286B2 (ja) 平方根演算装置
JPH0445860B2 (ja)
JPS5944656B2 (ja) デイジタル微分解析機の積分方式
JP2887038B2 (ja) 除算処理装置
JPS63254525A (ja) 除算装置
JP2639212B2 (ja) 積和演算器
JPH0628153A (ja) 低誤差計算処理装置

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080116

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090116

Year of fee payment: 11

EXPY Cancellation because of completion of term
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090116

Year of fee payment: 11