JPH01304535A - 除算装置 - Google Patents

除算装置

Info

Publication number
JPH01304535A
JPH01304535A JP63135934A JP13593488A JPH01304535A JP H01304535 A JPH01304535 A JP H01304535A JP 63135934 A JP63135934 A JP 63135934A JP 13593488 A JP13593488 A JP 13593488A JP H01304535 A JPH01304535 A JP H01304535A
Authority
JP
Japan
Prior art keywords
quotient
register
circuit
divisor
partial
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.)
Pending
Application number
JP63135934A
Other languages
English (en)
Inventor
Masayuki Kimura
木村 真行
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
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP63135934A priority Critical patent/JPH01304535A/ja
Publication of JPH01304535A publication Critical patent/JPH01304535A/ja
Pending legal-status Critical Current

Links

Abstract

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

Description

【発明の詳細な説明】 皮亙立ヱ 本発明は除算装置に関し、特に除算を除数の近・似逆数
と被除数の積におきかえ引放し法を用いて実行する除算
装置に関する。
従来技術 従来、除算を被除数と除数の近似逆数の積におきかえ、
引放し法を用いて実行し多数桁の部分商を発生していく
ような情報処理装置においては、特開昭57−0413
57号公報に記載されたr除算方式」に示されるように
、以下に示すオペランドの値によらず求めるべき商の精
度に応じ、所定回数の演算ループを実行して商を求めて
いる。
従来においては、例えば第2図に示すような除算回路が
提案されている。第2図を参照すると、除算回路は被乗
数レジスタ161乗数レジスタ17、乗算回路18およ
び加算回路2oを備えている。ここで除算は以下のよう
にして行われる。但し、演算は絶対値どおしで実行され
、被除数Xと除数Yの間にIXI<IYIなる関係が成
り立ちかつ除数Yが2進正規化されているものとする。
また除数Yの近似逆数r (r= (1+δ)/IY1
)の精度δが1δl<2−”を満しているものとする。
なお、除数逆数績−D・2+2−−IYI・r・2+2
はあらかじめ求められているものとする。
(1)被乗数レジスタ16に被乗数)×1、乗数レジス
タ17に除数の近似逆数rを格納し、シフト/ゼロ回路
1つをゼロ出力のモードとする。
(2)被乗数レジスタ16と乗数レジスタ17の内容を
乗算回路18において乗算し、加算回路20でシフト/
ゼロ回路1つの出力(“’O” )と加算する。
(3)加算回路20の出力全体を中間結果レジスタ21
に格納し、上位12ビツトを1回目の部分商として乗数
レジスタ17に格納する。同時に被乗数レジスタ16に
除数逆数績−D・2 +2を格納し、シフト/ゼロ回路
1つを左12ビツトシフトモードとする。
(4)被乗数レジスタ16と乗数レジスタ17の内容を
乗算回路18において乗算し、加算回路20でシフト/
ゼロ回路19の出力(中間結果レジスタ21の出力を左
12ビツトシフト)と加算する。
(5)加算回路20の出力の符号ビットから乗数レジス
タ17に格納された部分商を部分商補正回路22におい
て補正(符号が“1”の場合−1゜“0”の場合にはな
にもしない)し、商レジスタ23に格納する。同時に加
算回路20の出力全体を中間結果レジスタ21に格納し
、上位12ビツトを次の部分商として乗数レジスタ8に
格納する。
(6)上記(4)、(5)を所定回数くり返す。
ただし、商レジスタ23への部分商の格納は左から順に
行う。
(7)最終的な商はりザルトセレクタ25を通して商レ
ジスタ23の出力を転送することにより行う(商セレク
タ24は単精度/倍精度の切替に用いる)。
この動作を除算アルゴリズムで表現すると以下のように
なる。まず真の商q。をq。−IX1/IYI、(O≦
q a < 1 >とし、第1の12ビツトの部分商を
以下のように定義する。
Qo −212= [Ro −2”+1/2]。([X
〕。はXを超えない最大のN数) Ro==lxl ・r−=qo 1Ylr=q。
(1+δ)−q。−D ここで真の商qoと第1の部分商Q0との差は以下のよ
うになる(証明時)。
2”−12<qo  Qo <2−12次にq+=21
2(Qo  2゜) =212(R,/D−Q、) −((RO−Qo D/Dl −212第2の部分商Q
、が以下のように求まる。
Ql ・2L2=[R3・212モ1/2]。
R+ =Q+  ・D= (Ro  Qo−D)212
以下同様に必要回数、 ql ・2 +2” (Q +−+  Q +−+ )
R+ = q (・D− (R+−+  Ql−+  ・D)212Q+  −2
”−[R+  −212+1/2]Qを計算して得られ
る部分商Q。、Q、、・・・、Q4より真の商q。は次
のように求まる。
qo=ΣQ+  ・(2−12>’ +qa++  H
1シQ (2−12)・・1 なお、R3+1の値が負の場合、Q、はQ、=<Q、2
”−1)  ・12−”とする必要がある。
しかしながら、上述した従来の除算方式はオペランドの
値によらず求めるべき商の精度に応じ所定回数の演算を
くり返さなければ商が求まらないという欠点がある。
ここで、従来の除算アルゴリズムの特徴について検討す
る。まず上述の真の商Qoと第1回目の近似値R6=)
Xl・r/)Bには以下の関係が成立する。
Ro = l X l ・r=qo  (1+δ)=q
o  −DQ ORO−Ro /D  RO = (R,−D−R,’)−1/D −(R,−(1+δ)Rot ・1/D =−δ・R,・1/D ここで最終的に求めるべき商の精度を36ビツトとする
と1δI<2−13より qo −Ro =−δ・Ro・1/Dく2″″′R,<
D・2−24 が成立すれば、RO=lXl ・rを真の商として吸っ
てよい。
またRoが上述の条件を満足していなくとも、q+=R
1/D (1+  R+=−δ・R+  ・1/DよりRI= 
(R+−1Q +−+  ・D)・2′2<D・2−2
4++21 が成立すれば(i+1)番目以後の演算ループを実行し
なくとも必要精度の演算結果が得られる。
i匪五1囮 本発明は上記の除算の性質に着目してなされたものであ
り、従って本発明の目的は、従来の技術の内在する上記
欠点を解消し、除算を高速化することを可能とした新規
な除算装置を提供することにある。
発明の構成 本発明の除算装置は除算を被除数と除数の逆数の積にお
きかえ引放し法を用いて多数桁の部分商を発生し行う除
算装置であって、除数IYIまたは被除数IXIと除数
の近似逆数rとの乗算または除数逆数積−D・212と
部分商Q、との乗算を行う乗算手段(以下乗算器)と、
この乗算器の出力にゼロまたは1つ前の近似商のシフト
結果を加算し、前記除数の逆数の精度に基づいて確定さ
れる定数りまたは部分商Q、−を含む近似商R1を出力
する加算手段(以下加算回路)と、この加算回路からの
部分商QI ゛を前記加算回路からの符号ビットに応答
して補正する部分商補正手段(以下部分商補正回路)と
、前記加算回路からの定数りをシフトし演算ループの実
行回数iにもとづいた定数D・2−23++21を生成
し格納する除数逆数積生成格納手段(以下除数逆数績セ
レクタ、レジスタおよびシフタ)と、この除数逆数積セ
レクタ。
レジスタおよびシフタからの定数D・2−24+121
および前記加算回路の部分商Q1−を比較する比較手段
(以下比較回路)と、この比較回路で定数D・2−24
++21の方が近似商R1より大きいと判断したときに
は近似商R3を選択し、定数D・2−24+121の方
が近似商R4より小さいと判断したときには前記部分商
補正回路で補正された部分商Q、を選択し、この選択結
果と演算ループの前回までに求められた部分商Qo 、
Q、、・・・+Ql−1とを連結する商格納手段とを含
むことを特徴としている。
因」1倒 次に本発明について図面を参照して詳細に説明する。
第1図を参照すると、本発明の一実施例は、被除数IX
1、除数IYIおよび除数逆数積−D・212を格納す
る被除数レジスタ1、部分商Q、−および除数の近似逆
数±rを格納する乗数レジスタ2、除算を被除数と逆数
の積におきかえ引放し法を用いて多数桁の部分商を発生
するための演算ループを実行し近似商を求めるため乗数
レジスタ2の内容と被除数レジスタ1の内容とを乗算す
る乗算器3、この乗算器3からの乗算結果とシフト/ゼ
ロ回路5からの出力とを加算し上位の所定ビットを次の
部分商とし乗数レジスタ2に送る加算器4、この加算器
4の出力を格納する中間結果レジスタ6、この中間結果
レジスタ6の内容をシフトするかゼロを出力するシフト
/ゼロ回路5、加算器4の出力と除数逆数積シフタ9の
出力とのどちらか一方を選択する除数逆数積セレクタ1
1、このセレクタ11の選択結果を格納する除数逆数積
レジスタ8、このレジスタ8の出力をシフトする除数逆
数積シフタ9、加算器4の出力の符号ビットに応答して
乗数レジスタ2から与えられる部分商Q−を補正する部
分商補正回路7、除数の逆数の精度と演算ループの実行
回数とから確定される定数および乗算器3から出力され
る部分商Q゛を含んだ近似商を比較するため、除数逆数
積レジスタ8からの内容と中間結果レジスタ6からの内
容とを比較する比較器10、この比較器10からの比較
結果で中間結果で中間結果レジスタ6からの内容がレジ
スタ8の内容より小さいと判定されたときには、中間結
果レジスタ6の内容および前回の演算ループまでに商レ
ジスタ】3に格納された内容を選択し、該比較結果で中
間結果レジスタ6からの内容がレジスタ8の内容より大
きいと判定されたときには部分商補正回路7で補正され
た部分商Qおよび前回の演算ループまでに商レジスタ1
3に格納された内容を選択する商レジスタ入口セレクタ
12、このセレクタ12で選択された結果を格納する商
レジスタ13、この商レジスタ13からの出力を単精度
まなな倍精度の切替に応じて選択する商セレクタ14、
およびこの商セレクタ14の出力および加算回路4の出
力のどちらか一方を選択するりザルトセレクタ15を含
む。
次に本発明の一実施例の動作を詳細に説明する。
除数逆数績−D・2”−−IYI ・r・212は予め
求められているものとする。まず、被乗数レジスタ1に
除数IYIが格納され、乗数レジスタ2に除数の近似逆
数rが格納されシフト/ゼロ回路5にゼロ出力モードが
設定される0次に、被乗数レジスタ1の内容IYIと乗
数レジスタ2の内容rが乗算回路3で乗算された後、乗
算結果D−1Y1・rとシフト/ゼロ回路5の出力(0
)が加算回路4で加算され、加算結果D=lYl ・r
が除数逆数績セレクタ11を介して除数逆数値レジスタ
8に格納される。それから乗数レジスタ2の内容(除数
の近似逆数r)およびシフト/ゼロ回v@5のゼロ出力
モードが保持されたまま、被乗数レジスタ1に被除数I
XIが格納される。
ここで、被乗数レジスタ1の内容(被除数IXj)およ
び乗数レジスタ2の内容(除数の近似逆数r)が乗算回
路3で乗算され、この乗算結果(IXl・r)とシフト
/ゼロ回路5の出力(0)とが加算回路4で加算される
。この加算結果全体(Ro)が中間結果レジスタ6に格
納されそのうちの上位12ビツトが第1回目の部分商<
Q、1として乗数レジスタ2に格納される。また、除数
逆数積レジスタ8の内容(D)が除数逆数績シフタ9に
おいて右に24ビツトシフト(2−”倍)され、シフト
結果(D・2−”)が除数逆数積レジスタ11を通して
除数逆数積レジスタ8に再び格納される。同時に、被乗
数レジスタ1に除数逆数績(−D・212)が格納され
、シフト/ゼロ回路5が左12ビツトシフトモードに設
定される。
ここで被乗数レジスタ1からの除数逆数績(−D・21
2)および乗数レジスタ2からの内容とが乗算回路3で
乗算され、乗算結果およびシフト/ゼロ回路5の出力(
中間結果レジスタ6の出力を左12ビツトシフトした値
)が加算回路4で加算される。この加算結果(R,)に
含まれる符号ビットに応答して、乗数レジスタ2からの
部分商(Q、iが部分商補正回路7で補正される。
この時、除数逆数積レジスタ8の内容(D・2−24 
)と中間結果レジスタ6の内容(R,)とが比較器10
において比較される。比較結果で中間結果レジスタ6の
内容(R,)が小さいと判定されたとき、中間結果レジ
スタ6の内容(R,)が除算結果として商レジスタ入力
セレクタ12を通して商レジスタ13に格納される。こ
の商レジスタ13の内容は商セレクタ14およびリザル
トセレクタ15を介して外部に転送され、除算が終了す
る。
もし、比較器10における比較結果で中間結果レジスタ
6の内容(Ro)が大きいと判定されたときには、前記
商補正回路7で補正されjコ内容が第1回目の部分商(
Qo )として商レジスタ入力セレクタ12を介して商
レジスタ13に格納される。これと同時に加算回路4の
出力全体(R4)が中間結果レジスタ6に格納され、上
位12ビツトが次の部分商(Q、)として乗数レジスタ
2に格納される。また除数逆数積レジスタ8の内容が除
数逆数シフタ9で右に12ビツトシフトされ、シフト結
果(D・2−24++21 )が除数逆数積レジスタ1
1を介して除数逆数積レジスタ8に格納される。
ここで、被乗数レジスタ1の内容(−D・212)と乗
数レジスタ2の内容(Q、lとが乗算回路2において乗
算され、乗算結果(−D −Ql  −・212)とシ
フト/ゼロ回路5の出力(R,・212)とが加算回路
4で加算される。加算結果(R、+。
−R,・212−D−Q、  −・212)の符号ピッ
1へに応答して、部分商補正回路7は乗数レジスタ2か
らの部分商(Q、lを補正する。この時、除数逆数レジ
スタ8の内容(D・2−244121 )と中間結果レ
ジスタ6の内容(R3)とが比較器1゜において比較さ
れる。
この比較結果で中間結果レジスタ6の内容(R3)の方
が小さければ、中間結果レジスタ6の内容(R1)が商
レジスタ入口セレクタ12を介して商レジスタ13に与
えられる。商レジスタ13では、前回の演算ループまで
に格納された部分商Q、、Q、、・・・+Q+−1と新
たに与えられた内容(R3)とが連結されて格納される
。格納結果は商セレクタ14およびリザルトレジスタ1
5を介して転送され、除算が終了する。
比較器10の比較で中間結果レジスタ6の内容(R4)
の方が大きい場合には、商補正回路7の出力(Q、)が
i番目の部分商として商レジスタ入力セレクタ12を通
して商レジスタ13に格納される。商レジスタ13では
前回の演算ループまでに格納された部分商Q、、Q、、
・・・+ Qト+と新たに与えられた部分商(Q、)と
が連結されて格納される。これとともに加算回F!@4
の出力全体が中間結果レジスタ6に格納され、格納内部
の上位12ビツトが次の部分商として乗数レジスタ2に
格納される。また、除数逆数積レジスタ8の内容が逆数
積シフタ9で台に12ビツトシフトされ、除数逆数積セ
レクタ11を通して除数逆数積レジスタ8に格納される
。その後、上述の乗算回路3での除数逆数1 (−D・
2′2)および部分商(Q、゛)の乗算動作から除算終
了または、部分商、次の部分商の格納や除数逆数積シフ
タ9によるシフト結果の格納動作が格納される。
この実施例では、単精度36ビツトの商を演算の1ルー
プあたり12ビツトずつ求める例を説明している。もし
、倍精度64ビツトの商を同様に求める場合には、除数
逆数積レジスタ8の内容(D)を除数逆数積シフタ9に
より右に24ビツトシフト(2−24倍)したが、これ
を右に52ビツトシフト<2−”(?i)すればよい。
また、上述のように商セレクタ14は、商レジスタ13
の内容を除算結果として転送する際に必要な単精度/倍
精度の切替に用いられる。
九肌五左1 以上説明したように、本発明によれば、従来の除算回路
に若干の金物を追加するだけで除算を高速化することが
できるという効果がある。
【図面の簡単な説明】
第1図は本発明の一実施例を示す図、第2図は従来の除
算回路を示す図である。 主要部分の符号の説明 1・・・・・・被乗数レジスタ 2・・・・・・乗数レジスタ 3・・・・・・乗数回路 4・・・・・・加算回路 5・・・・・・シフト/ゼロ回路 6・・・・・・中間結果レジスタ 7・・・・・・商補正回路 8・・・・・・除数逆数積レジスタ 9・・・・・・除数逆数積レジスタ 10・・・・・・比較器 11・・・・・・除数逆数積セレクタ 12・・・・・・商レジスタ入口セレクタ13・・・・
・・商レジスタ 14・・・・・・商セレクタ 15・・・・・・リザルトセレクタ

Claims (1)

    【特許請求の範囲】
  1. (1)被除数と除数の逆数の積におきかえ引放し法を用
    いて多数桁の部分商を発生し、除算する除算装置であっ
    て、前記引放し法を用い部分商を発生するための演算ル
    ープを実行し近似商を少なくする近似商生成手段と、こ
    の近似商生成手段により生成された近似商の一部を部分
    商として取出す部分商生成手段と、前記除数の逆数の精
    度および演算ループの実行回数に基づいて確定された定
    数と前記近似商生成手段からの近似商とを比較し、該定
    数が近似商より大きいときは近似商を選択し、該定数が
    近似商より小さいときは前記部分商生成手段からの部分
    商を補正した部分商を選択し、この選択結果と演算ルー
    プの前回までに求められた部分商とを連結する手段とを
    含むことを特徴とする除算装置。
JP63135934A 1988-06-02 1988-06-02 除算装置 Pending JPH01304535A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63135934A JPH01304535A (ja) 1988-06-02 1988-06-02 除算装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63135934A JPH01304535A (ja) 1988-06-02 1988-06-02 除算装置

Publications (1)

Publication Number Publication Date
JPH01304535A true JPH01304535A (ja) 1989-12-08

Family

ID=15163262

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63135934A Pending JPH01304535A (ja) 1988-06-02 1988-06-02 除算装置

Country Status (1)

Country Link
JP (1) JPH01304535A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04306731A (ja) * 1991-04-03 1992-10-29 Koufu Nippon Denki Kk ベクトル演算装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04306731A (ja) * 1991-04-03 1992-10-29 Koufu Nippon Denki Kk ベクトル演算装置

Similar Documents

Publication Publication Date Title
US5128891A (en) High speed divider with square root capability
US5105378A (en) High-radix divider
US5426600A (en) Double precision division circuit and method for digital signal processor
US4594680A (en) Apparatus for performing quadratic convergence division in a large data processing system
JPH0368416B2 (ja)
US4477879A (en) Floating point processor architecture which performs square root by hardware
JP2502836B2 (ja) 除算回路の前処理装置
JP2508784B2 (ja) 指数関数演算装置
US20040083255A1 (en) Apparatus and method for performing operations implemented by iterative execution of a recurrence equation
JP2511527B2 (ja) 浮動小数点演算器
GB2549153B (en) Apparatus and method for supporting a conversion instruction
CN109298848A (zh) 双模式浮点除法平方根的电路
JPH01304535A (ja) 除算装置
US20030115236A1 (en) Elimination of rounding step in the short path of a floating point adder
JPH0584928B2 (ja)
JPH086766A (ja) 正弦余弦演算装置
JP2664750B2 (ja) 演算装置及び演算処理方法
US6820108B2 (en) Method and apparatus to perform division in hardware
JPS59160235A (ja) 除算装置
JPH02181823A (ja) 除算装置
JPH01274234A (ja) 除算装置
JPH0285922A (ja) 演算回路
JP2001092639A (ja) 除算・開平演算装置
JPH02103625A (ja) 十進乗算方式
JPH0635679A (ja) 平方根演算装置