JPH03156531A - 除算装置 - Google Patents

除算装置

Info

Publication number
JPH03156531A
JPH03156531A JP2214344A JP21434490A JPH03156531A JP H03156531 A JPH03156531 A JP H03156531A JP 2214344 A JP2214344 A JP 2214344A JP 21434490 A JP21434490 A JP 21434490A JP H03156531 A JPH03156531 A JP H03156531A
Authority
JP
Japan
Prior art keywords
partial
quotient
carry
divisor
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.)
Granted
Application number
JP2214344A
Other languages
English (en)
Other versions
JP2622896B2 (ja
Inventor
Hiroshi Nakano
中野 拓
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
Publication of JPH03156531A publication Critical patent/JPH03156531A/ja
Application granted granted Critical
Publication of JP2622896B2 publication Critical patent/JP2622896B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • 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
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/535Indexing scheme relating to groups G06F7/535 - G06F7/5375
    • G06F2207/5355Using iterative approximation not using digit recurrence, e.g. Newton Raphson or Goldschmidt
    • 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/483Computations with numbers represented by a non-linear combination of denominational numbers, e.g. rational numbers, logarithmic number system or floating-point numbers
    • G06F7/487Multiplying; Dividing
    • G06F7/4873Dividing
    • 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/499Denomination or exception handling, e.g. rounding or overflow
    • G06F7/49942Significance control
    • G06F7/49947Rounding
    • G06F7/49957Implementation of IEEE-754 Standard

Landscapes

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

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 (産業上の利用分野) 本発明はデータ処理装置における除算装置に係り、特に
商の精度を保証するとともに高速な除算装置に関する。
(従来の技術) 従来、この種除算装置は特開昭60−142738号に
記載されている除算装置がある。
第7図は上記従来の除算装置のブロックを示すものであ
る。第7図において、111は制御回路、112は被除
数レジスタ、+13は除数レジスタ、114は正規化回
路、115は被乗数選択回路およびレジスタ、116は
乗数選択回路、117はテーブル情報格納ユニット、+
18は内挿近似回路、119は乗算器、120はハーフ
キャリレジスタ、121はハーフサムレジスタ、+22
は加算器、+23は乗算結果レジスタ、+24は部分商
補正回路、+25は部分商マージ回路、126は除算結
果レジスタである。
次に上記従来例において、 Qi;  第1番目の部分商 り、; 正規化された除数 MAD、の近似逆数 R6;  第1番目の部分剰余 Ni  ;  R,−、とMの積よりQ+を引いた数と
すると、部分商を求める反復計算でQ+−+は、乗算結
果レジスタ+23から乗数選択回路+16に送出され、
一方、Nl−+は乗算結果レジスタ+23から乗算器1
19に送出されているものである。
(発明が解決しようとする課題) しかしながら、上記従来の除算装置は、除算の実行性能
の点で改善の余地がある。また、部分商補正回路124
では加算器に加えて減算器も必要としており回路構成が
複雑である。
本発明はこのような従来の問題点を解決するものであり
、除算の実行性能の向上を図ることと、部分商補正にお
いて減算器の必要の原因となっている部分商の符号を正
・負から、正のみとすることによって減算器を不要とす
ることを目的とするものである。
(課題を解決するための手段) 本発明は上記目的を達成するために、除数り。
の近似逆数Mを格納するテーブル情報格納手段に、真の
逆数よりも小さい数を格納するとともに、部分商を求め
る反復計算において、部分和1部分桁上げの形で、Q+
−+を倍数発生手段にNi−、を樹木(トリー)状桁上
げ保留加算手段に入力する手段を設けたものである。
(作 用) したがって、本発明によれば、従来商の補正で減算器を
必要としていたのが不要となり、また除算の反復計算を
部分桁上げ、部分和の形で実行することができる。
(実施例) 具体的な除算装置の実施例を説明するに先だって、本発
明の要点について説明する。
部分商を正とするには、以下に示す除算方式を用いると
よい。
数の表現として、指数部を持たない固定小数点表示をと
るにしろ、指数部を持つ浮動小数点表示をとるにしろ、
P進数の除算を考える場合、まず除数、被除数を(1)
、 (2)式で表現できるように正規化を行い、正規化
後の除数をり6、被除数をN。
とじて中間的な商を求める。
このときQは、(3)式の範囲、すなわち、正規化され
た形かまたは1桁下位桁あふれした形で求まる。
P−’ < Q < P ・・・・・・(3) 中間的な商を求めた後、固定小数点表示では正規化に要
した除数の桁送り数から、同じく被除数の桁送り数を引
いた差(左への桁送りを正と考える)が正の場合、Qを
左に差の桁数だけ桁送りし、負の場合Qを右に差の桁数
だけ桁送りして最終的な商を求めることができる。
一方、浮動小数点表示では、被除数の指数部から除数の
指数部を引いた差に、固定小数点部の正規化に要した除
数の桁送り数から同じく被除数の桁送り数を引いた差を
加えて除算結果の指数部とし、更に中間的な商が下位桁
あふれした形のときは指数部から1を引き、固定小数点
部を正規化した形にして最終的な商を求めることができ
る。
商の符号については、除数、被除数の符号から代数的に
決まるので必要ならば除数、被除数の絶対値をとり、正
規化した形で中間的な商を求め、最終的に商が負の場合
、中間的な商を所望の表現に変えるものとする。
以上の前提により、以下では除数、被除数を絶対値化、
正規化した(+)、 (2)式の形で考える。先ず、記
号の説明しておく。
M、D、の近似逆数 Qi;  第1番目の部分商 R6;  第1番目の部分剰余。
ただし、R,=Niとする。
Ni、R,−、とMの積よりQiを引いた数A  ; 
 QiT Nlより、第1番目の部分剰余R6のM倍で
あるQi++十Nl*+を求めるとき、Qiに掛けられ
る被乗数 α+l ; 部分商の桁数9番号が隣り合う部分商の間
では1桁重複している Q ; 正確な商を表わし、被除数が除数で割り切れな
い場合には循環小数とな り桁数が無限になる QLAST; 最後である第し□1番目の部分商Q” 
 ;  QからQLA□の最下位の桁以上を取り出した
数 X ; QLASTの最下位の桁で大きさが1の数 Y ; QLA、T+xを部分商として、Y倍された部
分剰余RL□、すなわち QLAST++ +NLAi?++を求めたとき、Q 
L A S T * +の最上位桁でありXと同位にあ
る。
部分商が(α+1)桁確定するための十分条件として、
Mについて(4)式を満足するように選ぶものとする。
1−P”“0”’<D、XM<1  ・・・・・・(4
)反復計算に入る前に(5)、 (6)式で示される計
算を行う。
A= 1−D、XM      ・・・・・・(5)Q
i+Ni=NiXM    ・・・・・・(6)反復計
算では(7)式で示される計算を行う。
Q1+Nt=A×Qi−+−++Nt−+(2くiくL
xg?)  −・−・(7)最後に、QL A M t
 * +以降からQ8への寄与の有無を調べるために(
8)式で示される計算を行い、(9)式よりQ6を求め
る。
QLAITl + NLa1y* 、= A X (Q
LAIT +X ) + NLhiv −(8)Q”=
Qi +Qi+・・・・・・+QLAST+Y   ・
・・・・・(9)以上により、商を求めることができる
ことを、以下の事柄(A)〜(C)を証明することによ
り示す。
事柄(A):任意i>2に対してAを使用でき、(7)
式より求めた数は、第i−1番目の部分剰余R1−+に
除数の近似逆数M を掛けた数になっている。
事柄(B) : Qiは正であり、(α−1)〜(α+
1)桁になり、正確な商QとP−″以上の 位で比較すると等しいか、P−“たけ 小さい。すなわち、 P−”<Qi<P            ・・・・・
・(10)事柄(C): Q r (t≧2)は正または零であり、商として、p
−(1−’)IX〜p−1“の位の(α+1)桁求まり
、Qiに対応する位で正確な商Qと比較したとき、等し いかp −111だけ小さい。すなわち、0< Q 1
 + N 、 (p −(+−11″9゛     ・
・・・・・(12)i=2に対して Qi十Ni=R,XM =(Ni−D、xQi)xM =NixM−D、xQixM =Qi+Ni−D、xQixM =(1−D、xM)×Qi−、+N。
=A×Qi−、+N。
となり、事柄(A)は成立する。
i=kに対して事柄(A)が成立し、 Qi+Ni=R,,XM =AxQk−、+Ni− と仮定すると Qb*1+Nh*、=Rh XM =(R,、−D、×Qi−k)XM = (+−D、X Qi)X M =Qi+Nk−D、×Qi−、XM =(1−D、XM)×Qi−h+Nh =A×Qi−、+Nk となり、i=に+1のときも事柄(A)は成立する。
i=2について先に証明済みであるから、数学的帰納法
により、i〉2の任意のiについて、(A)は成立する
一襄l■1]llL史 (4)式の辺々に正確な商Qを掛けると事柄 Q  Q x p −(C10す<Qi+Ni=NiX
M<Q(3)式 P″”<Q<Pと(14)式よりP−
”<Qi<P  が成立する。
・・・・・・(14) OAR,XM=Qi+Ni=(1−D、XM)×Qi−
、 XNi<P−”・・・・・・(15) 1      D また(4)式により、0く−ムλ−<1− P二  く
2D。
であるから(15)式の不等式の外側の項に2D、を、
内側の項に■を掛は次式を得る。
0(R,=−qi15−(2D、xP−“=D、XP−
”X2i=2について(15)式より 0<QiXNi(P−”(p−”φ1 を得るので(12)式が成立する。
0(R,xM=(1−D、xM)xQi+Ni(P””
’xP−”+Ni(1”l”’)+P−”=P−”(1
+P−”)内側の項に■を掛けることにより 0≦R1=」石」」−<o、xp−・・X 1+P−”
M          1−P町酊■ <D、×P−”6×2 ・・・・・・(16) j」■にυ1m更 となり、i=2のとき、(13)式は成立する。
i=kに対して 0=魁十NkくP−(II−1a4′ ・・・・・・(17) 0<Rk=□<D、 X P−”X 2・・・・・・(
18) が成立すると仮定すると、 0<Qk、、+Nk、、=(1−D、xM)xQk+N
i(P”。″)×P′″(k−11“0”+p−k1m
=p−k“(1+P−”)<P−’“ となり、i=に+1のときも(12)式は成立する。
Rk+、xM=Qkや+ +Nk*5 =(1−D、xM)xQi、、+Ni、。
<P−(“6 + ) x P −k(w*“+p−(
kf1+1α=p−(k*+ 1“(1+P−’) 側の項に■を掛けることにより、 1+P”’ Q (R11+、 =%土!D、 X P−Lk” ”
X7(D、 x P”” ”x 2 ・・・・・・(19) となり、i=に+1のときも(13)式は成立する。
以上により、i=2に対して(12)、 (13)式が
成立することは証明済みがあるから、数学的帰納により
、i≧2の任意の1について、(+2)、 (+3)式
は成立する。
事柄(C)より、(6)、 (7)式から求まる部分商
の加算結果を真の商QとQLASTの最下位の桁以上で
比較したとき、p−LAS?X(1だけ小さい可能性が
あることがわかる。このことは、p−LASYw“が、
D。
XM倍されてN L A S ?に隠されていると解釈
できるノテ、QLAst”rニー p−’AI?X(’
ヲ加工、N L A S Tからp’LAi?°“を引
いて、剰余−ヒエm−を求めることにすれば(20)式
を得る。
一=QLA8.。、+NLAsy*+ =AX(QLAs、4−p−t、As?x“)+(NL
*n  P−−5r−a)  ・−<20)QLA、、
に+P−LAs?″′ノ補正カ必要ナトキハ、(20)
式が正または零になり、補正が必要でないときは(20
)式は負となる。(8)式ではN L A f ?から
p−L、AMtJ+aを引く代わりに、QLASTに対
する補正の有無の判定の境界を零からp −L A *
 T ’“に変えることにより、(9)式を使用すれば
、真の商QとP′″L“1x″の桁以上で比較したとき
一致する商が得られるようになる。
次に本発明を具体的な実施例について以下に説明する。
第1図は本発明の第1の実施例における除算装置のブロ
ック図を示すものである。第1図において、+1は除算
装置全体の制御を司どる制御回路、12は被除数レジス
タ、13は除数レジスタ、14はテーブル情報格納ユニ
ット、15は被乗数選択回路およびレジスタ、16は乗
数選択回路A、17は乗数選択回路B、18は倍数発生
回路A%19は倍数発生回路B、 20.21.22は
選択回路(SEL)A、B、C(以下、5ELA、5E
LB、5ELCという)、23は樹木状桁上げ保留加算
器A、24は樹木状桁上げ保留加算器B、25.26は
桁上げ保留加算器、27は部分桁上げレジスタ、28は
部分和レジスタ、29は桁上げ伝播加算器A、30ない
し34はQiレジスタないしQiレジスタ、35は桁上
げ伝播加算器B、36は除算結果レジスタである。
次に上記実施例の動作について説明する。上記実施例に
おいて、除算は次の順序で行われる。除数レジスタ13
にセットされた正規化済みの除数D■の上位ビットによ
り、テーブル情報格納ユニット14から近似逆数Mを読
み出す。テーブル情報格納ユニット14に対する格納情
報の取り方の一例を以下に示す。
(1)式で表示された2進数の除数に対し、より、近似
逆数Mを次のように求める。
M=2−’+ΣM、・2′″に+(1−D、、、、)・
2−“° ・・・(22)なお、(22)式の第1項は
固定であり、また第3項はD @ l 16を乗数の最
下位ビットとして付加すればよいから、テーブルに格納
するのはM、からMl。
までの15ビツトでよい。
(21)、 (22)式により求まる近似逆数の精度に
ついては(23)式を満足している。
0、FF808F8<D、XM(1(16進数表示)・
・・・・・(23)D、XMの値の値は計算機を用いて
確認したが、確認方法の概要を以下に示す。
では定数であり、lくり、<2では、第2図に示すよう
に、2″’ = 16384個の長さ2−“の線分の階
段関数となる。一方、D、XMのフラグは第3図に示す
ように16384個の線分が鋸の歯の形をしている。よ
って、 D、XMの下限(最小値でもある): 16384個の線分左端の最小値 り、XMの上限: 16384個の線分の右端の最大値
となる。
テーブル情報格納ユニット14より読み出された逆数は
、2−’l D@114を付加されて、乗数選択回路A
1.より第1回目は−Mを出力し、被乗数選択回路およ
びレジスタ15にセットされた除数D■と(5)式のり
、x(−M)の乗算を、倍数発生回路A18、樹木状桁
上げ保留加算器A23、桁上げ保留加算器25、26、
部分桁上げレジスタ27、部分和レジスタ28、桁上げ
伝播加算器A29により実行する。
D、 x (−M)の部分桁上げ、部分和が部分桁上げ
レジスタ27及び部分和レジスタ28にセットされると
同時に、被乗数選択回路15には、被除数レジスタ32
の出力する正規化済みの被除数Niがセットされるとと
もに、乗数選択回路A16は近似逆数Mを選択する。(
6)式のNiXMの乗算は、D、×(−M)と同様にし
て実行され、NiXMの部分桁上げ、部分和が、部分桁
上げレジスタ27及び部分和レジスタ28にセットされ
ると同時にり、x(−M)の積が、26以上の桁上を零
として(D、X(−M)Xlを加算することと等価であ
る)被乗数選択回路およびレジスタ15にセットされる
。D、x(−M)。
NiXMの計算では、乗数選択回路B17と選択回路で
ある5ELC22は零を出力し、この結果、樹木状桁上
げ保留加算器B24の出力は、部分桁上げ、部分和とも
に零となり、5ELA20,5ELB21は倍数発生回
路AI8の出力を選択する。
以下、(7)式で示す反復計算をQ+−+eNl−+を
部分桁上げ、部分和の形のままで次のように実行する。
Q+−1の部分桁上げ及び部分和は、部分桁上げレジス
タ272部分和レジスタ28から乗数選択回路A16と
乗数選択回路B17により選択されるとともに、Ni−
8の部分桁上げ及び部分和は、部分桁上げレジスタ27
1部分和レジスタ28から5ELA20゜5ELC22
により選択される。部分桁上げ9部分和を加算したとき
のNl−+からQi−への桁上げは、桁上げ伝播加算器
A29に含まれている先見桁上げ回路により求められ、
当該桁上げがある場合にはS E L B21により、
本来発生すべきAの倍数に加えて、上位にNl −+を
部分桁上げ9部分和として加算し過ぎになっているNi
−、からQ i −+への桁上げを相殺する負の数を埋
め込み出力する。
桁上げ伝播加算器A29の出力する部分商は、順次Qi
レジスタ30からQiレジスタ34までセットされ、最
後に(8)式の計算を、(7)式の計算と異なる点は乗
数選択回路A16によりQLASTの部分桁上げの末尾
に1を付加して実行した後、桁上げ伝播加算器B35に
よる(9)式の加算を行い、求まる商Q1を除算結果レ
ジスタ36にセットする。桁上げ伝播加算器B35によ
る加算は通常の2数の加算とは異なり、αビットをグル
ープ単位として、各部分商の最上位ビットをグループキ
ャリ、残りのビットを2数のビット対応の加算結果、M
を初期桁上げとして加えるだけでよい。その理由は、事
柄(C)により各部分商は最下位の桁で1だけ小さい可
能性があり、2小さいことはあり得ないので、各部分商
の最上位ビットlの場合は更に下位の部分がら2重に桁
上がりしてくることはない。
以上の計算が数としてどのように処理されているかを第
4図及び第5図に示している。第4図及び第5図におい
て、乗数の最下位ビットとして乗数選択回路A16が零
と異なる値を出力した場合には、倍数発生回路A]8で
は、乗数の最下位ビットより1つ位の大きいビットに1
を加えたのと等価な倍数を発生させている。また、第4
図及び第5図ではQiとじて13ビツト分を括弧で囲ん
でいるが、部分桁上げと部分和を加算した後では事柄(
B)、事柄(C)での(α+1)桁である!2ビットに
なる。Qiが部分桁上げ9部分和の2数に分かれている
ときには、2数とも正または零の場合には13ビツトの
うちの最上位ビットは零となるが、部分桁上げ1部分和
の一方の数が負の場合には、負の数の最上位ビットはl
となり最上位ビットは符号ビットになっている。
以下、除数D I +被除数Niを り、 =  1.2345680000000 (16
進表示)Ni =  1.23456789ABCDE
 (16進表示)として除算の具体例を説明する。
(i)D、の2−°°以上のビットは 1.2340 (16進表示)= 1.0010001
101000 (2進表示)であり、 =O,EOIll (+6進表示) であるから、MはD@114=1も考慮して次の値とな
る(以下、特に注意書きしない限り16進表示とする。
また、部分桁上げ9部分和数値を書くのは徒らに複雑さ
を増すだけであり商の値自体に対しては本質的ではない
ので省略する。) −M=・・・・・・FF、  IFO3(ii)A= 
1 +D、X(−M) = 0.0003696838 (iii)Qi+Ni=NiXM = O、FFFC962FC962EE766Qi=O
,FFE Ni = 0.001C962FC962EE766(
iv)2’″−(Qi十Ni)=2” ・(AxQi+
Ni)= O、FFF956A2DF73B3211・
Qi=O,FFE 21・Ni= 0,001956A2DF73B3(■
)2°”・(Qi+Ni)=2” ・(A×Qi−、+
Ni)= O、E5FCEF5365982″″・Qi
=O,E5E 21・Ni = 0,001CEF536598(vi
)2” ・(Q4+Ni)=2°” −(A×Qi−、
+Ni)= 0 、FFFCCED708 21・Qi=O,FFE 21・N 4= 0.001CCED708(vii)
  2°’−(Qi+Ni)=2”−(A×Qi−、+
N4)= 1.01BE9097C8 24′・Qi = 1.0IA 244・Ni = 0.001E9097C8(vn+
) 2°−(Qi+Ni)=2’°・(A X (Qi
+ 2−”)十Ni)): 1.0FFFC3B31 Q”= O,FFE+ O,FFEx 2−” 十〇、
E5Ex 2−”“十〇、FFEX 2−”+1.0I
AX 2−”+2−”= O、FFFFFF98000
0 IC間倍された剰余: 0,0FFFC3B31 
X 2−”。
= 0 、000000000000001FFF87
662以上、本発明の第1の実施例を説明してきたが、
“IEEE 5tandard for Binary
 Floating−paintArithmetic
″A N S I / I E E E Std 75
4−1985に示された浮動小数点数の倍精度除算の商
の仮数部としては、Qiの2−°′をガード・ビット、
2−°4をラウンド・ビット、2−“と21・(Qi十
Ni)の小数点以下の論理和をスティッキー・ビットと
すればよい。また、第7図の従来の除算装置の本発明の
第1図の除算装置とを比較すると、第1図の倍数発生回
路と樹木状桁上げ保留加算器の回路規模が約2倍となっ
ているが、本発明による除算装置と、乗数のビット幅の
広い乗算装置とで、回路を共有化して乗除算装置を実現
すれば上記の回路規模の問題は除算装置だけの問題でな
くなる。
第1図に示す第1の実施例の除算装置では、反復計算を
同一回路を繰り返し使用して求めているが、次に第2の
実施例として乗算の回数に等しい乗算手段を設けたベク
トル除算装置を第6図を用いて説明する。
第6図において、211はベクトル除算装置全体の制御
を司どる制御回路、212.213はオペランドバッフ
ァ1,2.214は被除数レジスタ、215は除数レジ
スタ、216は被除数の遅延データ保持手段、217は
除数の遅延データ保持手段、218はテーブル情報格納
ユニット、219は近似逆数レジスタ、220はインバ
ータ、22]、 223.225.229.234.2
40゜247はそれぞれ乗算手段、222.224.2
26.230゜235、241.248.255はデー
タ保持手段、227.2’28゜231、232.23
3.236.237.238.239.242.243
゜244、245.246.249.250.251.
252.253は遅延データ保持手段、245は桁上げ
伝播加算器である。
被除数オペランド、除数オペランド、除算結果について
は制御回路211がベクトル処理装置内部の他の部分(
図示せず)と応答し合ってメモリ、またはベクトルレジ
スタから被除数ベクトル要素、除数ベクトル要素をオペ
ランドバッファ1.2の212、213にロードし、ま
た除算結果ベクトル要素はデータ保持手段255からメ
モ1ハまたはベクトルレジスタにストアされる。以下、
ベクトル除算装置のステージ毎の内部動作について説明
する。
第1ステージでは最初に被除数レジスタ214に被除数
ベクトル要素、除数レジスタ215に除数ベクトル要素
がセットされ、除数の上位ビットによりテーブル情報格
納ユニット218より、除数の近似逆数を読み出す。
第2ステージでは最初に遅延データ保持手段216、2
17に第1ステージの被除数ベクトル要素、除数ベクト
ル要素がセットされるとともに近似逆数レジスタ219
に近似逆数Mがセット、乗算手段221により、NiX
Mの乗算が実行されるとともに、インバータ220によ
り近似逆数Mが負の数に変換された後、乗算手段223
により、NiXMの乗算が実行される。
第3ステージでは最初に乗算手段221での演算結果Q
i 十Niがデータ保持手段222に、また乗算手段2
23での乗算結果に1を加えた(単に2°以上の位をゼ
ロとするだけでよい)Aがデータ保持手段224にセッ
トされる。次に、乗算手段225により、A X Qi
 + Niの演算が行われる。
第4ステージでは最初に乗算手段225での演算結果Q
i + Niがデータ保持手段226にセットされると
ともに、A、 Qiが遅延データ保持手段227゜22
8にセットされる。次に1乗算手段229により、A×
Qi−、+Niの演算が行われる。
第5ステージでは最初に乗算手段229での演算結果Q
i + Niがデータ保持手段230にセットされると
ともに、A、 Qi、 Qiが遅延データ保持手段23
1、232.233にセットされる。次に、乗算手段2
34により、A X Qi+ Niの演算が行われる。
第6ステージでは最初に乗算手段234での演算結果Q
i十N4がデータ保持手段235にセットされるととも
に、A、 Qi、 Qi、 Qiが遅延データ保持手段
236.237.238.239にセットされる。次に
、乗算手段240により、A×Qi−、+Niの演算が
行われる。
第7ステージでは最初に乗算手段240での演算結果Q
i + Niがデータ保持手段241にセットされると
ともに、A、Qi、Qi、Qi、Qiが遅延データ保持
手段242.243.244.245.246にセット
される。次に、乗算手段247により、A X (Qi
 +2−“)十N4の演算が行われる。
第8ステージでは最初に乗算手段247での演算結果Q
i + Niがデータ保持手段248にセットされると
ともに、Qi、 Qi、 Qi、 Qi、 Qiが遅延
データ保持手段249.250.251.252.25
3にセットされる。次に、桁上げ伝播加算器254によ
り、Qi+Qi+Qi+Qi+Qi+Qi (2−“の
位のみ取り出す)の演算を行われる。
第9ステージでは桁上げ伝播加算器254での演算結果
である最終向Q*がデータ保持手段255にセツトされ
る。
以上の9つのステージの動作時間は各々1マシンサイク
ルで行われる。以上のように構成された除算装置に対し
て、1マシンサイクル毎に被除数ベクトル要素と、除数
ベクトル要素を供給すると最初に商がデータ保持手段2
55に求められた後は引き続いてlマシンサイクル毎に
商のベクトル要素がデータ保持手段255より出力され
ることは容易に理解されるところである。
(発明の効果) 本発明は上記第1の実施例より明らかなように、従来、
商の補正で減算器を必要としていたのが不要となり、ま
た、除数の反復計算を部分桁上げ、部分和の形で実行で
きるので除算の実行時間の短縮に効果がある。また、第
2の実施例より明かなように、除算の反復計算での被乗
算A1乗数Qi−1加数Ni−,のビット長は反復によ
り異なるということはなく同一であり、ベクトル除算装
置を複数LSIを用いて構成する場合には同一種LSI
を複数個使用できるので設計開発費用、製造費用の低減
に効果があり、また、ベクトル除算装置をlLSIで実
現する場合には反復計算を実行する乗算手段をマクロセ
ルとして複数個を繰り返し使用できるので設計開発費用
の低減に効果がある。また、性能的にはlマシンサイク
ル毎に商を出力することができるので十分である。
【図面の簡単な説明】
第1図は本発明の第1の実施例における除算装置のブロ
ック構成図、第2図及び第3図は本発明の実施例におけ
る除数の近似逆数の精度を示す図、第4図及び第5図は
本発明の具体的動作例を示す図、第6図は本発明の第2
の実施例におけるベクトル除算装置のブロック構成図、
第7図は従来の除算装置のブロック構成図である。 II、 II+、 211・・・制御回路、12.11
2゜214・・・被除数レジスタ、 13.113.2
15・・・除数レジスタ、 14.117.218・・
・テーブル情報格納ユニット、 15.115・・・被
除数選択回路およびレジスタ、16・・・乗数選択回路
A、+7・・・乗数選択回路B、18・・・倍数発生回
路A、19・・・倍数発生回路B、20・・・選択回路
A、21・・・選択回路B、22・・・選択回路C12
3・・・樹木状桁上げ保留加算器A、24・・・樹木状
桁上げ保留加算器B、25.26・・・桁上げ保留加算
器、27・・・部分桁上げレジスタ、28・・・部分和
レジスタ、29・・・桁上げ伝播加算器A、30・・・
Qルジスタ、31 ・・・Q8レジスタ、32・・・Q
iレジスタ、33・・・Q4レジスタ、34・・・Qi
レジスタ、35・・・桁上げ伝播加算器B、  36.
126・・・除算結果レジスタ、114・・・正規化回
路、116・・・乗数選択回路、118・・・内挿近似
回路、119・・・乗算器、120・・・ハーフキャリ
レジスタ、 121 ・・・ハーフサムレジスタ、12
2・・・加算器、123・・・乗算結果レジスタ、12
4・・・部分商補正回路、125・・・部分商マージ回
路、212・・・オペランドバッファ1.213・・・
オペランドバッファ2,219・・・近似逆数レジスタ
、220・・・インバータ、221.223.225゜
229、234.240.247・・・乗算手段、22
2゜224、226. 230. 235. 241.
 248. 255  ・・・データ保持手段、216
.217.227.228゜231、 232. 23
3. 236. 237. 238. 239゜242
、 243. 244. 245. 246. 249
. 250゜251、252.253・・・遅延データ
保持手段、254・・・桁上げ伝播加算器。

Claims (3)

    【特許請求の範囲】
  1. (1)除数D_■の上位ビットをアドレスとして除数の
    近似逆数Mを出力するテーブル情報格納手段と、商を得
    るために被除数N_■に除数の近似逆数Mを掛けるため
    の乗算手段とからなり、商の算出には、Q_iを反復計
    算での部分商、N_iをM倍されたi−1番目の部分剰
    余からQ_iを引いた数として、A=1−D_■×M Q_1+N_1=N_■×M Q_i+N_i=A×Q_i_−_1+N_i_−_1
    (i≧2)の反復計算を使用する除算装置において、前
    記乗算手段に、最終部分商Q_L_A_S_Tを乗数と
    する反復計算はQ_L_A_S_Tの最下位ビットの大
    きさである数をLとして Q_L_A_S_T_+_1+N_L_A_S_T_+
    _1=A×(Q_L_A_S_T+L)+N_L_A_
    S_Tを実行する手段を設けるとともに、前記乗算手段
    に接続された各部分商Q_1、Q_2、…Q_L_A_
    S_Tを保持する手段と、各部分商を Q_1+Q_2+…Q_L_A_S_T+Q_L_A_
    S_T_+_1(Lと同じ位のみ取り出す)上式を使用
    して加算し、商を出力する加算手段を設けたことを特徴
    とする除算装置。
  2. (2)乗算手段は、乗数を走査して被乗数の倍数を発生
    する複数の倍数発生手段と、前記複数の倍数発生手段に
    接続され、部分和と部分桁上げを出力する樹木状に組み
    合わされた複数の桁上げ保留加算手段と、前記樹木状桁
    上げ保留加算手段に接続され、部分和と部分桁上げを加
    算する桁上げ伝播加算手段から構成され、更に、反復計
    算におけるQ_i_−_1、N_i_−_1について、
    前記樹木状桁上げ保留加算手段の出力する部分和と部分
    桁上げを、Q_i_−_1は乗数として前記複数の倍数
    発生手段に接続する手段と、N_i_−_1は倍数と同
    様に前記樹木状桁上げ保留加算手段への入力として接続
    する手段を設けたことを特徴とする請求項(1)記載の
    除算装置。
  3. (3)乗算手段として、乗算回数に等しい数の乗算手段
    を設け、除数D_■と除数の近似逆数Mとの積を求める
    乗算手段と被除数N_■と除数の近似逆数Mとの積を求
    める乗算手段とを並列に並べ、更に前記2つの乗算手段
    と反復計算を行う複数の乗算手段とを直列に並べ、前記
    直列に並べた乗算手段の間に同期をとめための複数のデ
    ータ保持手段を設け、前記複数の乗算手段を前記データ
    保持手段を介して接続するとともに、各部分商および反
    復計算で使用する被乗数Aを同期をとり遅延して保持す
    るデータ保持手段とを設けたことを特徴とする請求項(
    1)記載の除算装置。
JP2214344A 1989-08-16 1990-08-15 除算装置 Expired - Lifetime JP2622896B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP1-210021 1989-08-16
JP21002189 1989-08-16

Publications (2)

Publication Number Publication Date
JPH03156531A true JPH03156531A (ja) 1991-07-04
JP2622896B2 JP2622896B2 (ja) 1997-06-25

Family

ID=16582511

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2214344A Expired - Lifetime JP2622896B2 (ja) 1989-08-16 1990-08-15 除算装置

Country Status (2)

Country Link
US (1) US5065352A (ja)
JP (1) JP2622896B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0594280A (ja) * 1990-03-21 1993-04-16 Bull Sa 逆数の計算方法と、該方法を実施するためのコンピユータ
US5537345A (en) * 1993-10-14 1996-07-16 Matsushita Electrical Industrial Co. Ltd. Mathematical function processor utilizing table information

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5140545A (en) * 1991-02-13 1992-08-18 International Business Machines Corporation High performance divider with a sequence of convergence factors
US5245564A (en) * 1991-05-10 1993-09-14 Weitek Corporation Apparatus for multiplying operands
EP0530936B1 (en) * 1991-09-05 2000-05-17 Cyrix Corporation Method and apparatus for performing prescaled division
US5377134A (en) * 1992-12-29 1994-12-27 International Business Machines Corporation Leading constant eliminator for extended precision in pipelined division
US5563818A (en) * 1994-12-12 1996-10-08 International Business Machines Corporation Method and system for performing floating-point division using selected approximation values
US5923577A (en) * 1996-10-21 1999-07-13 Samsung Electronics Company, Ltd. Method and apparatus for generating an initial estimate for a floating point reciprocal
US6732135B1 (en) * 1999-02-01 2004-05-04 Hewlett-Packard Development Company, L.P. Method and apparatus for accumulating partial quotients in a digital processor
US6360241B1 (en) 1999-02-01 2002-03-19 Compaq Information Technologies Goup, L.P. Computer method and apparatus for division and square root operations using signed digit
US7613762B2 (en) * 2001-05-25 2009-11-03 Sun Microsystems, Inc. Floating point remainder with embedded status information
US7444367B2 (en) * 2001-05-25 2008-10-28 Sun Microsystems, Inc. Floating point status information accumulation circuit
US7366749B2 (en) * 2001-05-25 2008-04-29 Sun Microsystems, Inc. Floating point adder with embedded status information
US6970898B2 (en) * 2001-05-25 2005-11-29 Sun Microsystems, Inc. System and method for forcing floating point status information to selected values
US7430576B2 (en) * 2001-05-25 2008-09-30 Sun Microsystems, Inc. Floating point square root provider with embedded status information
US7069289B2 (en) * 2001-05-25 2006-06-27 Sun Microsystems, Inc. Floating point unit for detecting and representing inexact computations without flags or traps
US7363337B2 (en) * 2001-05-25 2008-04-22 Sun Microsystems, Inc. Floating point divider with embedded status information
US7069288B2 (en) * 2001-05-25 2006-06-27 Sun Microsystems, Inc. Floating point system with improved support of interval arithmetic
US7228324B2 (en) 2001-05-25 2007-06-05 Sun Microsystems, Inc. Circuit for selectively providing maximum or minimum of a pair of floating point operands
US7395297B2 (en) * 2001-05-25 2008-07-01 Sun Microsystems, Inc. Floating point system that represents status flag information within a floating point operand
US7191202B2 (en) * 2001-05-25 2007-03-13 Sun Microsystems, Inc. Comparator unit for comparing values of floating point operands
US7133890B2 (en) * 2001-05-25 2006-11-07 Sun Microsystems, Inc. Total order comparator unit for comparing values of two floating point operands
US6976050B2 (en) * 2001-05-25 2005-12-13 Sun Microsystems, Inc. System and method for extracting the high part of a floating point operand
US7003540B2 (en) * 2001-05-25 2006-02-21 Sun Microsystems, Inc. Floating point multiplier for delimited operands
US7831652B2 (en) * 2001-05-25 2010-11-09 Oracle America, Inc. Floating point multiplier with embedded status information
US6993549B2 (en) * 2001-05-25 2006-01-31 Sun Microsystems, Inc. System and method for performing gloating point operations involving extended exponents
US7016928B2 (en) * 2001-05-25 2006-03-21 Sun Microsystems, Inc. Floating point status information testing circuit
US6961744B2 (en) * 2001-05-25 2005-11-01 Sun Microsystems, Inc. System and method for generating an integer part of a logarithm of a floating point operand
US7219117B2 (en) * 2002-12-17 2007-05-15 Sun Microsystems, Inc. Methods and systems for computing floating-point intervals
US7236999B2 (en) * 2002-12-17 2007-06-26 Sun Microsystems, Inc. Methods and systems for computing the quotient of floating-point intervals
US8140608B1 (en) * 2007-05-31 2012-03-20 Nvidia Corporation Pipelined integer division using floating-point reciprocal
US8819094B2 (en) * 2009-06-10 2014-08-26 Synopsys, Inc. Multiplicative division circuit with reduced area
CN103164185A (zh) * 2011-12-16 2013-06-19 上海华虹集成电路有限责任公司 用纯组合电路实现除法计算的电路
CN107766031B (zh) * 2017-11-14 2020-06-19 京东方科技集团股份有限公司 分段式除法器、分段式除法运算方法、以及电子设备

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3828175A (en) * 1972-10-30 1974-08-06 Amdahl Corp Method and apparatus for division employing table-lookup and functional iteration
JPS5342505A (en) * 1976-09-30 1978-04-18 Anritsu Electric Co Ltd Circuit for receiving charging signal of public telephone set
JPS60142738A (ja) * 1983-12-30 1985-07-27 Hitachi Ltd 内挿近似を使用する除算装置
JPS60164837A (ja) * 1984-02-07 1985-08-27 Nec Corp 除算装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0594280A (ja) * 1990-03-21 1993-04-16 Bull Sa 逆数の計算方法と、該方法を実施するためのコンピユータ
US5537345A (en) * 1993-10-14 1996-07-16 Matsushita Electrical Industrial Co. Ltd. Mathematical function processor utilizing table information

Also Published As

Publication number Publication date
US5065352A (en) 1991-11-12
JP2622896B2 (ja) 1997-06-25

Similar Documents

Publication Publication Date Title
JPH03156531A (ja) 除算装置
US7395304B2 (en) Method and apparatus for performing single-cycle addition or subtraction and comparison in redundant form arithmetic
Kenney et al. A high-frequency decimal multiplier
JPH0713742A (ja) 乗算装置
US5023827A (en) Radix-16 divider using overlapped quotient bit selection and concurrent quotient rounding and correction
JPS60164837A (ja) 除算装置
US6519621B1 (en) Arithmetic circuit for accumulative operation
US6813628B2 (en) Method and apparatus for performing equality comparison in redundant form arithmetic
US5825681A (en) Divider/multiplier circuit having high precision mode
JP2001034167A (ja) 演算装置及び暗号処理装置
US6826588B2 (en) Method and apparatus for a fast comparison in redundant form arithmetic
JPH0793295A (ja) 非線形関数を近似する方法およびシステム
CN114385112A (zh) 处理模数乘法的装置及方法
CN111897513A (zh) 一种基于反向极性技术的乘法器及其代码生成方法
WO2019135354A1 (ja) 演算回路
JP3190826B2 (ja) 積和演算装置
JP4300332B2 (ja) 除算器
Chang et al. Fixed-point computing element design for transcendental functions and primary operations in speech processing
JPS6259828B2 (ja)
JP2518532B2 (ja) 減算シフト型除算器
JP2790327B2 (ja) 剰余乗算回路および剰余乗算方法
JPH06230938A (ja) 高基数除算制御方法および高基数除算器
Juang et al. Area-efficient 3-input decimal adders using simplified carry and sum vectors
JP3456450B2 (ja) 固定小数点乗算器および方法
JPH1124893A (ja) 逆平方根演算器