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
Links
- 238000000034 method Methods 0.000 claims abstract description 8
- 238000004364 calculation method Methods 0.000 claims description 9
- 238000010586 diagram Methods 0.000 description 2
- 150000003839 salts Chemical class 0.000 description 2
- 230000010365 information processing Effects 0.000 description 1
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
皮亙立ヱ
本発明は除算装置に関し、特に除算を除数の近・似逆数
と被除数の積におきかえ引放し法を用いて実行する除算
装置に関する。
と被除数の積におきかえ引放し法を用いて実行する除算
装置に関する。
従来技術
従来、除算を被除数と除数の近似逆数の積におきかえ、
引放し法を用いて実行し多数桁の部分商を発生していく
ような情報処理装置においては、特開昭57−0413
57号公報に記載されたr除算方式」に示されるように
、以下に示すオペランドの値によらず求めるべき商の精
度に応じ、所定回数の演算ループを実行して商を求めて
いる。
引放し法を用いて実行し多数桁の部分商を発生していく
ような情報処理装置においては、特開昭57−0413
57号公報に記載されたr除算方式」に示されるように
、以下に示すオペランドの値によらず求めるべき商の精
度に応じ、所定回数の演算ループを実行して商を求めて
いる。
従来においては、例えば第2図に示すような除算回路が
提案されている。第2図を参照すると、除算回路は被乗
数レジスタ161乗数レジスタ17、乗算回路18およ
び加算回路2oを備えている。ここで除算は以下のよう
にして行われる。但し、演算は絶対値どおしで実行され
、被除数Xと除数Yの間にIXI<IYIなる関係が成
り立ちかつ除数Yが2進正規化されているものとする。
提案されている。第2図を参照すると、除算回路は被乗
数レジスタ161乗数レジスタ17、乗算回路18およ
び加算回路2oを備えている。ここで除算は以下のよう
にして行われる。但し、演算は絶対値どおしで実行され
、被除数Xと除数Yの間にIXI<IYIなる関係が成
り立ちかつ除数Yが2進正規化されているものとする。
また除数Yの近似逆数r (r= (1+δ)/IY1
)の精度δが1δl<2−”を満しているものとする。
)の精度δが1δl<2−”を満しているものとする。
なお、除数逆数績−D・2+2−−IYI・r・2+2
はあらかじめ求められているものとする。
はあらかじめ求められているものとする。
(1)被乗数レジスタ16に被乗数)×1、乗数レジス
タ17に除数の近似逆数rを格納し、シフト/ゼロ回路
1つをゼロ出力のモードとする。
タ17に除数の近似逆数rを格納し、シフト/ゼロ回路
1つをゼロ出力のモードとする。
(2)被乗数レジスタ16と乗数レジスタ17の内容を
乗算回路18において乗算し、加算回路20でシフト/
ゼロ回路1つの出力(“’O” )と加算する。
乗算回路18において乗算し、加算回路20でシフト/
ゼロ回路1つの出力(“’O” )と加算する。
(3)加算回路20の出力全体を中間結果レジスタ21
に格納し、上位12ビツトを1回目の部分商として乗数
レジスタ17に格納する。同時に被乗数レジスタ16に
除数逆数績−D・2 +2を格納し、シフト/ゼロ回路
1つを左12ビツトシフトモードとする。
に格納し、上位12ビツトを1回目の部分商として乗数
レジスタ17に格納する。同時に被乗数レジスタ16に
除数逆数績−D・2 +2を格納し、シフト/ゼロ回路
1つを左12ビツトシフトモードとする。
(4)被乗数レジスタ16と乗数レジスタ17の内容を
乗算回路18において乗算し、加算回路20でシフト/
ゼロ回路19の出力(中間結果レジスタ21の出力を左
12ビツトシフト)と加算する。
乗算回路18において乗算し、加算回路20でシフト/
ゼロ回路19の出力(中間結果レジスタ21の出力を左
12ビツトシフト)と加算する。
(5)加算回路20の出力の符号ビットから乗数レジス
タ17に格納された部分商を部分商補正回路22におい
て補正(符号が“1”の場合−1゜“0”の場合にはな
にもしない)し、商レジスタ23に格納する。同時に加
算回路20の出力全体を中間結果レジスタ21に格納し
、上位12ビツトを次の部分商として乗数レジスタ8に
格納する。
タ17に格納された部分商を部分商補正回路22におい
て補正(符号が“1”の場合−1゜“0”の場合にはな
にもしない)し、商レジスタ23に格納する。同時に加
算回路20の出力全体を中間結果レジスタ21に格納し
、上位12ビツトを次の部分商として乗数レジスタ8に
格納する。
(6)上記(4)、(5)を所定回数くり返す。
ただし、商レジスタ23への部分商の格納は左から順に
行う。
行う。
(7)最終的な商はりザルトセレクタ25を通して商レ
ジスタ23の出力を転送することにより行う(商セレク
タ24は単精度/倍精度の切替に用いる)。
ジスタ23の出力を転送することにより行う(商セレク
タ24は単精度/倍精度の切替に用いる)。
この動作を除算アルゴリズムで表現すると以下のように
なる。まず真の商q。をq。−IX1/IYI、(O≦
q a < 1 >とし、第1の12ビツトの部分商を
以下のように定義する。
なる。まず真の商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。
〕。は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
、が以下のように求まる。
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。は次
のように求まる。
以下同様に必要回数、 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−”とする必要がある。
1シQ (2−12)・・1 なお、R3+1の値が負の場合、Q、はQ、=<Q、2
”−1) ・12−”とする必要がある。
しかしながら、上述した従来の除算方式はオペランドの
値によらず求めるべき商の精度に応じ所定回数の演算を
くり返さなければ商が求まらないという欠点がある。
値によらず求めるべき商の精度に応じ所定回数の演算を
くり返さなければ商が求まらないという欠点がある。
ここで、従来の除算アルゴリズムの特徴について検討す
る。まず上述の真の商Qoと第1回目の近似値R6=)
Xl・r/)Bには以下の関係が成立する。
る。まず上述の真の商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を真の商として吸っ
てよい。
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)番目以後の演算ループを実行し
なくとも必要精度の演算結果が得られる。
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を生成
し格納する除数逆数積生成格納手段(以下除数逆数績セ
レクタ、レジスタおよびシフタ)と、この除数逆数積セ
レクタ。
きかえ引放し法を用いて多数桁の部分商を発生し行う除
算装置であって、除数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とを連結する商格納手段とを含
むことを特徴としている。
および前記加算回路の部分商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を含
む。
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に
除数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ビツトシフトモードに設
定される。
び乗数レジスタ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で補正される。
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を介して外部に転送され、除算が終了す
る。
)と中間結果レジスタ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に格納される。
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、+。
数レジスタ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゜において比較さ
れる。
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を介して転送され、除算が終了する。
が小さければ、中間結果レジスタ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によるシフト結果の格納動作が格納される。
の方が大きい場合には、商補正回路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)すればよい。
プあたり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・・・・・・リザルトセレクタ
算回路を示す図である。 主要部分の符号の説明 1・・・・・・被乗数レジスタ 2・・・・・・乗数レジスタ 3・・・・・・乗数回路 4・・・・・・加算回路 5・・・・・・シフト/ゼロ回路 6・・・・・・中間結果レジスタ 7・・・・・・商補正回路 8・・・・・・除数逆数積レジスタ 9・・・・・・除数逆数積レジスタ 10・・・・・・比較器 11・・・・・・除数逆数積セレクタ 12・・・・・・商レジスタ入口セレクタ13・・・・
・・商レジスタ 14・・・・・・商セレクタ 15・・・・・・リザルトセレクタ
Claims (1)
- (1)被除数と除数の逆数の積におきかえ引放し法を用
いて多数桁の部分商を発生し、除算する除算装置であっ
て、前記引放し法を用い部分商を発生するための演算ル
ープを実行し近似商を少なくする近似商生成手段と、こ
の近似商生成手段により生成された近似商の一部を部分
商として取出す部分商生成手段と、前記除数の逆数の精
度および演算ループの実行回数に基づいて確定された定
数と前記近似商生成手段からの近似商とを比較し、該定
数が近似商より大きいときは近似商を選択し、該定数が
近似商より小さいときは前記部分商生成手段からの部分
商を補正した部分商を選択し、この選択結果と演算ルー
プの前回までに求められた部分商とを連結する手段とを
含むことを特徴とする除算装置。
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)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH04306731A (ja) * | 1991-04-03 | 1992-10-29 | Koufu Nippon Denki Kk | ベクトル演算装置 |
-
1988
- 1988-06-02 JP JP63135934A patent/JPH01304535A/ja active Pending
Cited By (1)
| 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) | 平方根演算装置 |