JP3482817B2 - 商ディジット選択回路および除算演算器 - Google Patents
商ディジット選択回路および除算演算器Info
- Publication number
- JP3482817B2 JP3482817B2 JP13965397A JP13965397A JP3482817B2 JP 3482817 B2 JP3482817 B2 JP 3482817B2 JP 13965397 A JP13965397 A JP 13965397A JP 13965397 A JP13965397 A JP 13965397A JP 3482817 B2 JP3482817 B2 JP 3482817B2
- Authority
- JP
- Japan
- Prior art keywords
- quotient
- quotient digit
- remainder
- circuit
- determining
- 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 - Fee Related
Links
Description
【0001】
【発明の属する技術分野】本発明は除算演算器に関し、
特にSRT法に基づく、ハードウエア量を低く抑さえる
ことを目的とした除算演算器における、商ディジットの
選択方法に関する。
特にSRT法に基づく、ハードウエア量を低く抑さえる
ことを目的とした除算演算器における、商ディジットの
選択方法に関する。
【0002】
【従来の技術】計算機システムにおいて除算演算を行う
方法としては、商を上位から順に求め、その都度部分剰
余を計算する減算シフト型除算法、およびニュートン・
ラフソン法等に代表される乗算収束型除算法の2種に大
別される。以下、Nを被除数,Dを除数とし、N/Dの
除算の商および剰余を、2進の減算シフト型除算法にて
演算する方法を示す。なお、N,Dはそれぞれ、1/2
≦N<1,1≦D<2を満たすものとする。
方法としては、商を上位から順に求め、その都度部分剰
余を計算する減算シフト型除算法、およびニュートン・
ラフソン法等に代表される乗算収束型除算法の2種に大
別される。以下、Nを被除数,Dを除数とし、N/Dの
除算の商および剰余を、2進の減算シフト型除算法にて
演算する方法を示す。なお、N,Dはそれぞれ、1/2
≦N<1,1≦D<2を満たすものとする。
【0003】j桁目の商ディジットが決定した後の部分
剰余をR(j),除数をD,j+1桁目の商ディジットを
q(j+1),j+1桁目まで求めた商をQ(j+1)とす
ると、減算シフト型除算法では、
剰余をR(j),除数をD,j+1桁目の商ディジットを
q(j+1),j+1桁目まで求めた商をQ(j+1)とす
ると、減算シフト型除算法では、
【0004】
【数1】R(j+1)=2×R(j)−q(j+1)×D
Q(j+1)=Q(j)+q(j+1)×2^(−(j+1))
なる漸化式に従い、所望の桁数まで商を順次求めてい
く。なお、部分剰余の初期値R(0)は被除数Nに等し
く、商の初期値Q(0)は0である。また、a^bは、a
のb乗を示している。
く。なお、部分剰余の初期値R(0)は被除数Nに等し
く、商の初期値Q(0)は0である。また、a^bは、a
のb乗を示している。
【0005】各々の繰り返しにおける商ディジットq
(j+1)を決定する方法としては、引き戻し法,引き放
し法,SRT法などがある。なお、SRT法は引き放し
法の一種である。引き戻し法では、剰余Rは常に正また
は0となるが、引き放し法では剰余Rは負になる可能性
がある。引き放し法により除算を行い、剰余が負となっ
たとき、剰余を正の値とするためには、除算の結果得ら
れた剰余に除数を加え、商の最下位ビットから1を引
く、といった補正が必要となる。
(j+1)を決定する方法としては、引き戻し法,引き放
し法,SRT法などがある。なお、SRT法は引き放し
法の一種である。引き戻し法では、剰余Rは常に正また
は0となるが、引き放し法では剰余Rは負になる可能性
がある。引き放し法により除算を行い、剰余が負となっ
たとき、剰余を正の値とするためには、除算の結果得ら
れた剰余に除数を加え、商の最下位ビットから1を引
く、といった補正が必要となる。
【0006】図7は、入力N,Dに対し、N/Dの除算
を行い、商Qおよび剰余Rを出力する、減算シフト型除
算法を用いた除算演算器の一例である。なおN,Dはそ
れぞれ、1/2≦N<1,1≦D<2を満たすものとす
る。なお、Dが0の場合など、例外を起こす場合につい
ては別途例外処理が必要であるが、図7ではこの例外処
理部については省略してある。
を行い、商Qおよび剰余Rを出力する、減算シフト型除
算法を用いた除算演算器の一例である。なおN,Dはそ
れぞれ、1/2≦N<1,1≦D<2を満たすものとす
る。なお、Dが0の場合など、例外を起こす場合につい
ては別途例外処理が必要であるが、図7ではこの例外処
理部については省略してある。
【0007】まず、最初のサイクルにおいて、ループ制
御回路105によってセレクタ202,203を入力側の選
択にし、レジスタ302,303にD,Nを書き込む。
このとき同時に、セレクタ201により、レジスタ30
1に商Q(j)の初期値Q(0)として0を書き込む。そし
て、次のサイクルから、減算シフト型除算が開始する。
j回目の繰り返しでは、まず商ディジット選択回路10
1において、R(j)の値から最初の商ディジットq(j
+1)を決定する。部分剰余更新回路102では、q(j
+1)と前回までの部分剰余R(j),除数Dから新たな
部分剰余R(j+1)を計算する。また、商更新回路1
03では、q(j+1)と、前回までの繰り返しで求めら
れた商Q(j)から、新たな商Q(j+1)を計算する。こ
の間、セレクタ201〜203ではループ制御回路10
5によって、ループからの出力が選択されるように設定
し、新たに得られたQ(j+1),R(j+1)をレジスタ
301,303に書き込む。この繰り返し動作を、所望の桁
数の商が求められるまで繰り返す。
御回路105によってセレクタ202,203を入力側の選
択にし、レジスタ302,303にD,Nを書き込む。
このとき同時に、セレクタ201により、レジスタ30
1に商Q(j)の初期値Q(0)として0を書き込む。そし
て、次のサイクルから、減算シフト型除算が開始する。
j回目の繰り返しでは、まず商ディジット選択回路10
1において、R(j)の値から最初の商ディジットq(j
+1)を決定する。部分剰余更新回路102では、q(j
+1)と前回までの部分剰余R(j),除数Dから新たな
部分剰余R(j+1)を計算する。また、商更新回路1
03では、q(j+1)と、前回までの繰り返しで求めら
れた商Q(j)から、新たな商Q(j+1)を計算する。こ
の間、セレクタ201〜203ではループ制御回路10
5によって、ループからの出力が選択されるように設定
し、新たに得られたQ(j+1),R(j+1)をレジスタ
301,303に書き込む。この繰り返し動作を、所望の桁
数の商が求められるまで繰り返す。
【0008】最後に、商・剰余の補正回路104におい
て、商・剰余の補正が行われる。この補正回路では、剰
余が負となった場合、剰余が正になるように商・剰余を
補正する回路である。従って、剰余が常に正となる引き
戻し法を用いた場合、この補正は不要である。なお、除
算演算器の出力として剰余を必要とせず、剰余が0か否
か(割り切れたかどうか)のみを必要とする場合は、補
正回路104では剰余の正負の判定による商の補正と、
剰余が0に等しいかどうかの判定を行えばよい。一方、
剰余の値も必要とする場合は、剰余が負であったとき
は、商の補正の他に、剰余に除数を加え、その結果を新
たな剰余とする必要がある。
て、商・剰余の補正が行われる。この補正回路では、剰
余が負となった場合、剰余が正になるように商・剰余を
補正する回路である。従って、剰余が常に正となる引き
戻し法を用いた場合、この補正は不要である。なお、除
算演算器の出力として剰余を必要とせず、剰余が0か否
か(割り切れたかどうか)のみを必要とする場合は、補
正回路104では剰余の正負の判定による商の補正と、
剰余が0に等しいかどうかの判定を行えばよい。一方、
剰余の値も必要とする場合は、剰余が負であったとき
は、商の補正の他に、剰余に除数を加え、その結果を新
たな剰余とする必要がある。
【0009】以下、SRT法による、商ディジットの決
定方法について述べる。
定方法について述べる。
【0010】2進のSRT法では、j+1回目に得る商
ディジットq(j+1)は、以下の条件によって決定され
る。
ディジットq(j+1)は、以下の条件によって決定され
る。
【0011】
【数2】0<2×R(j): q(j+1)=1
−D<2×R(j)<D: q(j+1)=0
2×R(j)<0: q(j+1)=−1
すなわち、0<2×R(j)<Dならばq(j+1)を1,
0のいずれにしてもよく、−D<2×R(j)<0ならば
q(j+1)を0,−1のいずれにしてもよい。なお、こ
の選択規則を用いれば、任意のjに対し、−D≦R(j)
<Dを満たす。
0のいずれにしてもよく、−D<2×R(j)<0ならば
q(j+1)を0,−1のいずれにしてもよい。なお、こ
の選択規則を用いれば、任意のjに対し、−D≦R(j)
<Dを満たす。
【0012】このように、商ディジットを決定するR
(j)の範囲の隣り合う領域に重なりがあるので、商の選
択において部分剰余の正確な大小判定を不要とすること
ができる。したがって、部分剰余を桁上げ保存形式で表
し、符号桁を含めてその上位3桁までで商の選択を行う
ことにより、部分剰余の更新の際にキャリーを伝播させ
る必要がなくなり、演算速度を向上させることができ
る。
(j)の範囲の隣り合う領域に重なりがあるので、商の選
択において部分剰余の正確な大小判定を不要とすること
ができる。したがって、部分剰余を桁上げ保存形式で表
し、符号桁を含めてその上位3桁までで商の選択を行う
ことにより、部分剰余の更新の際にキャリーを伝播させ
る必要がなくなり、演算速度を向上させることができ
る。
【0013】除数Dが、1<D<2を満たすように正規
化されているなら、上記の選択条件は、桁上げ保存形式
で表された部分剰余の上位3桁の値RR(j)を用いて、
化されているなら、上記の選択条件は、桁上げ保存形式
で表された部分剰余の上位3桁の値RR(j)を用いて、
【0014】
【数3】
0≦RR(j): q(j+1)=1
−1/2≦RR(j)<0: q(j+1)=0
RR(j)<−1/2: q(j+1)=−1
とすることができる。このように、部分剰余の上位3ビ
ットの値のみで商ディジットを決定することができ、部
分剰余の計算は、桁上げ保存加算により高速に行うこと
ができる。図3は、この商ディジットの決定方法をRR
(j)の値によって示した表である。図3の表の、一番右
の列は、対応するRR(j)の値の時の、R(j)の取り得
る値の範囲を示している。なお、“[”は境界を含む
が、“)”は境界を含まない。たとえば、RR(j)が
“011”の時は、R(j)の取り得る値の範囲が3/2
≦R(j)<2であることを示す。また、図4は、上記の
商ディジット決定方法を実現する論理回路である。
ットの値のみで商ディジットを決定することができ、部
分剰余の計算は、桁上げ保存加算により高速に行うこと
ができる。図3は、この商ディジットの決定方法をRR
(j)の値によって示した表である。図3の表の、一番右
の列は、対応するRR(j)の値の時の、R(j)の取り得
る値の範囲を示している。なお、“[”は境界を含む
が、“)”は境界を含まない。たとえば、RR(j)が
“011”の時は、R(j)の取り得る値の範囲が3/2
≦R(j)<2であることを示す。また、図4は、上記の
商ディジット決定方法を実現する論理回路である。
【0015】図4では、R(j)のサムビットの上位3ビ
ットをそれぞれ上位からRSS(j),RS0(j),RS
1(j),キャリービットの上位3ビットをそれぞれ上位
からRCS(j),RC0(j),RC1(j)としている。
また、RR(j)の3ビットの値は上位からそれぞれRR
S(j),RR0(j),RR1(j)としている。なお、R
SS(j),RCS(j),RRS(j)はそれぞれ、R(j)
のサムの符号ビット,キャリーの符号ビット,RR(j)
の符号ビットである。qp,qn,qzは、q(j+1)
としてそれぞれ1,0,−1を選択したときに1とな
る。
ットをそれぞれ上位からRSS(j),RS0(j),RS
1(j),キャリービットの上位3ビットをそれぞれ上位
からRCS(j),RC0(j),RC1(j)としている。
また、RR(j)の3ビットの値は上位からそれぞれRR
S(j),RR0(j),RR1(j)としている。なお、R
SS(j),RCS(j),RRS(j)はそれぞれ、R(j)
のサムの符号ビット,キャリーの符号ビット,RR(j)
の符号ビットである。qp,qn,qzは、q(j+1)
としてそれぞれ1,0,−1を選択したときに1とな
る。
【0016】次に、図4の論理回路の動作を説明する。
3ビット加算器51により、桁上げ保存形式で表示され
た部分剰余R(j)の上位3ビットからRR(j)を生成す
る。RR(j)の符号ビットRRS(j)が0である時は、
ゲート4によりqpが1となる。このとき、qzはゲー
ト12により、qnはゲート2,3,24,13により
いずれも0となる。同様に、RR(j)の値が“000”
であるときはゲート12によりqzが1となる。また、
RRS(j)が1で、RR1(j),RR2(j)が同時に1
でなければ、ゲート2,3,24,13によりqnが1
となる。
3ビット加算器51により、桁上げ保存形式で表示され
た部分剰余R(j)の上位3ビットからRR(j)を生成す
る。RR(j)の符号ビットRRS(j)が0である時は、
ゲート4によりqpが1となる。このとき、qzはゲー
ト12により、qnはゲート2,3,24,13により
いずれも0となる。同様に、RR(j)の値が“000”
であるときはゲート12によりqzが1となる。また、
RRS(j)が1で、RR1(j),RR2(j)が同時に1
でなければ、ゲート2,3,24,13によりqnが1
となる。
【0017】なお、SRT法は引き放し法の一種であ
り、最終的に剰余が負になる場合がある。剰余の正確な
値を必要とする場合、最終的に剰余が負になった場合
は、商・剰余補正回路において商の最下位ビットから1
を減じ、剰余に除数を加える、といった処理が必要であ
る。一方、剰余の正確な値は必要ではなく、剰余が0か
否かの判定のみが必要である場合、その剰余が0である
ことを判定するためには、商・剰余補正処理にて桁上げ
保存形式で表された最終剰余が、0に等しいかどうかに
加えて、−Dに等しいかどうかを判定する必要がある。
り、最終的に剰余が負になる場合がある。剰余の正確な
値を必要とする場合、最終的に剰余が負になった場合
は、商・剰余補正回路において商の最下位ビットから1
を減じ、剰余に除数を加える、といった処理が必要であ
る。一方、剰余の正確な値は必要ではなく、剰余が0か
否かの判定のみが必要である場合、その剰余が0である
ことを判定するためには、商・剰余補正処理にて桁上げ
保存形式で表された最終剰余が、0に等しいかどうかに
加えて、−Dに等しいかどうかを判定する必要がある。
【0018】この剰余の正確な値を必要としない除算演
算器における、剰余が0または−Dに等しいか否かの判
定を簡単化する手段として、部分剰余R(j)が必ず−D
にならないように商ディジットを決定する方法が“プロ
シーディングズ オブ 12th シンポジウム オン
コンピュータ アリズメティク(Proc.12th Symp.Co
mputer Arithmetic),pp155〜,1995”および
“電子情報通信学会技術報告,1995年10月,2
9頁〜”にて提案されている。
算器における、剰余が0または−Dに等しいか否かの判
定を簡単化する手段として、部分剰余R(j)が必ず−D
にならないように商ディジットを決定する方法が“プロ
シーディングズ オブ 12th シンポジウム オン
コンピュータ アリズメティク(Proc.12th Symp.Co
mputer Arithmetic),pp155〜,1995”および
“電子情報通信学会技術報告,1995年10月,2
9頁〜”にて提案されている。
【0019】この方法では、商を決定する際に、桁上げ
保存で表された部分剰余の上位3桁の加算結果の他に、
上位から4桁目のサムビットとキャリービットの論理和
Rxも商の決定に用いることにより、q(j+1)=1と
するR(j)の最小値を0よりも大きくしている。
保存で表された部分剰余の上位3桁の加算結果の他に、
上位から4桁目のサムビットとキャリービットの論理和
Rxも商の決定に用いることにより、q(j+1)=1と
するR(j)の最小値を0よりも大きくしている。
【0020】図5は、この商ディジットの決定方法を示
した表である。なお図5の表の中で、記号“*”はドン
トケアであることを示している。また、表の一番右側の
列は、RR(j)およびRxが対応する値となったとき
の、R(j)の取り得る値の範囲を示している。図5か
ら、商ディジットq(j+1)は以下の条件で決定され
る。
した表である。なお図5の表の中で、記号“*”はドン
トケアであることを示している。また、表の一番右側の
列は、RR(j)およびRxが対応する値となったとき
の、R(j)の取り得る値の範囲を示している。図5か
ら、商ディジットq(j+1)は以下の条件で決定され
る。
【0021】
【数4】
1/4≦R(j)<2: q(j+1)=1
−1/2≦R(j)<1/2: q(j+1)=0
−2≦R(j)<0: q(j+1)=−1
このように、図5に示される商ディジットの決定方法を
用いることにより、q(j+1)=1となる時のRR(j)
の最小値が1/4となり、R(j)が0となったときにq
(j+1)=1とはならないので、この選択規則を用いれ
ば、任意のjに対し、−D<R(j)<Dとなり、部分剰
余が−Dとなることはない。したがって、最終剰余が−
Dに等しいかどうかを判定する必要がなくなり、最後の
商・剰余の補正を簡単にすることができる。
用いることにより、q(j+1)=1となる時のRR(j)
の最小値が1/4となり、R(j)が0となったときにq
(j+1)=1とはならないので、この選択規則を用いれ
ば、任意のjに対し、−D<R(j)<Dとなり、部分剰
余が−Dとなることはない。したがって、最終剰余が−
Dに等しいかどうかを判定する必要がなくなり、最後の
商・剰余の補正を簡単にすることができる。
【0022】図6は、図5の商ディジット決定方法を実
現する論理回路である。
現する論理回路である。
【0023】図6では、図4と比較して、部分剰余R
(j)の上位から4ビット目のサムビットおよびキャリー
ビット,RS2(j)およびRC2(j)から、ゲート21
によりRxを生成し、このRxも商ディジット決定に用
いている。
(j)の上位から4ビット目のサムビットおよびキャリー
ビット,RS2(j)およびRC2(j)から、ゲート21
によりRxを生成し、このRxも商ディジット決定に用
いている。
【0024】次に、図6の論理回路の動作を説明する。
3ビット加算器51により、桁上げ保存形式で表示され
た部分剰余R(j)の上位3ビットからRR(j)、および
ゲート21によりR(j)の上位から4ビット目のサム,
キャリーの論理和Rxを生成する。RR(j)の符号ビッ
トRRS(j)が0でかつ、RR0(j),RR1(j),R
xが同時に0でない時は、図5からq(j+1)は1であ
り、ゲート4,22,11によりqpを1にする。この
とき、qzはゲート31,12,23により、qnはゲ
ート2,3,24,13によりいずれも0となる。同様
に、RR(j)の値が“000”でかつRx=0のときは
ゲート31,23によりqzが1に、RR(j)の値が
“111”のときはゲート12,23により同じくqz
が1になる。また、RRS(j)が1で、RR1(j),R
R2(j),Rxが同時に1でなければ、ゲート2,3,
24,13によりqnが1となる。
3ビット加算器51により、桁上げ保存形式で表示され
た部分剰余R(j)の上位3ビットからRR(j)、および
ゲート21によりR(j)の上位から4ビット目のサム,
キャリーの論理和Rxを生成する。RR(j)の符号ビッ
トRRS(j)が0でかつ、RR0(j),RR1(j),R
xが同時に0でない時は、図5からq(j+1)は1であ
り、ゲート4,22,11によりqpを1にする。この
とき、qzはゲート31,12,23により、qnはゲ
ート2,3,24,13によりいずれも0となる。同様
に、RR(j)の値が“000”でかつRx=0のときは
ゲート31,23によりqzが1に、RR(j)の値が
“111”のときはゲート12,23により同じくqz
が1になる。また、RRS(j)が1で、RR1(j),R
R2(j),Rxが同時に1でなければ、ゲート2,3,
24,13によりqnが1となる。
【0025】図4と図6を比較すると、部分剰余の4ビ
ット目の論理和を商ディジットの決定に用いている分回
路量が増加しているが、図7の商・剰余補正回路104
における、剰余が−Dに等しいかどうかの判定が不要に
なることによる、ハードウエア量の削減の効果の方が大
きい。
ット目の論理和を商ディジットの決定に用いている分回
路量が増加しているが、図7の商・剰余補正回路104
における、剰余が−Dに等しいかどうかの判定が不要に
なることによる、ハードウエア量の削減の効果の方が大
きい。
【0026】
【発明が解決しようとする課題】以上述べた商ディジッ
トの決定方法は、1<D<2の時には正しく動作する。
D=1の時にこれらの決定方法を用いると、R(j)=−
1/2となったときに、q(j+1)として0を選択する
場合がある。この時、R(j+1)=2×R(j)−q(j
+1)×D=−1(=−D)となり、割り切れ演算であっ
ても最終的に剰余が0とならない。従って、剰余が0か
否かのみを必要とする除算演算器で上記の決定方法を用
いた場合には、D=1かどうかの判定、および、D=1
の場合における特殊な補正処理が必要であった。
トの決定方法は、1<D<2の時には正しく動作する。
D=1の時にこれらの決定方法を用いると、R(j)=−
1/2となったときに、q(j+1)として0を選択する
場合がある。この時、R(j+1)=2×R(j)−q(j
+1)×D=−1(=−D)となり、割り切れ演算であっ
ても最終的に剰余が0とならない。従って、剰余が0か
否かのみを必要とする除算演算器で上記の決定方法を用
いた場合には、D=1かどうかの判定、および、D=1
の場合における特殊な補正処理が必要であった。
【0027】本発明は、D=1のときにも正しく動作す
る商ディジットの決定方法を用いることにより、上記の
ようなD=1の場合における特別な処理を不要とし、商
・剰余補正に用いるハードウエア量を削減する。
る商ディジットの決定方法を用いることにより、上記の
ようなD=1の場合における特別な処理を不要とし、商
・剰余補正に用いるハードウエア量を削減する。
【0028】
【課題を解決するための手段】従来の商ディジット決定
方法の問題点は、R(j)=−1/2の時にq(j+1)と
して0を選択する場合のある点にある。本発明では、q
(j+1)として0を選択するR(j)の値の範囲を、−1
/2を含まないように、すなわち、q(j+1)=0とす
るR(j)の最小値を−1/2より大きく設定する。こう
することにより、R(j)=−1/2の時はq(j+1)は
必ず−1となり、R(j)=−1(=−D)となることはな
い。
方法の問題点は、R(j)=−1/2の時にq(j+1)と
して0を選択する場合のある点にある。本発明では、q
(j+1)として0を選択するR(j)の値の範囲を、−1
/2を含まないように、すなわち、q(j+1)=0とす
るR(j)の最小値を−1/2より大きく設定する。こう
することにより、R(j)=−1/2の時はq(j+1)は
必ず−1となり、R(j)=−1(=−D)となることはな
い。
【0029】
【発明の実施の形態】図1は本発明による商ディジット
の決定方法を示した表である。なお図1の表の中で、記
号“*”はドントケアであることを示している。また、
表の一番右側の列は、RR(j)およびRxが対応する値
となったときのR(j)の取り得る値の範囲を示してい
る。
の決定方法を示した表である。なお図1の表の中で、記
号“*”はドントケアであることを示している。また、
表の一番右側の列は、RR(j)およびRxが対応する値
となったときのR(j)の取り得る値の範囲を示してい
る。
【0030】この商ディジット決定方法の特徴は、図5
に示した商決定方法に対して、RR(j)=“111”の
場合でもRxを用いている点にある。これにより、q
(j+1)=0を選択するR(j)の値の最小値を−1/4
としている。また、RR(j)=“111”で、Rx=0
のときは、−1/2≦R(j)<0なので、q(j+1)=
−1とすればよい。
に示した商決定方法に対して、RR(j)=“111”の
場合でもRxを用いている点にある。これにより、q
(j+1)=0を選択するR(j)の値の最小値を−1/4
としている。また、RR(j)=“111”で、Rx=0
のときは、−1/2≦R(j)<0なので、q(j+1)=
−1とすればよい。
【0031】この規則により、商ディジットq(j+1)
は以下のように決定される。
は以下のように決定される。
【0032】
【数5】
1/4≦R(j)<2: q(j+1)=1
−1/4≦R(j)<1/2: q(j+1)=0
−2≦R(j)<0: q(j+1)=−1
この選択規則は、1≦D<2なる除数Dに対して、前記
数2に示されたSRT法の商ディジット選択規則を満足
するので、この方法を用いた場合でも除算は正しく実行
される。さらにD=1の場合でも剰余が−Dになること
はないので、1≦D<2なる除数Dに対して、最後の商
・部分剰余の補正に用いられるハードウエア量を大幅に
削減することができる。
数2に示されたSRT法の商ディジット選択規則を満足
するので、この方法を用いた場合でも除算は正しく実行
される。さらにD=1の場合でも剰余が−Dになること
はないので、1≦D<2なる除数Dに対して、最後の商
・部分剰余の補正に用いられるハードウエア量を大幅に
削減することができる。
【0033】図2は、上記の商ディジット決定方法を実
現する論理回路である。3ビット加算器51およびゲー
ト21によりRR(j)およびRxを生成する点は図6と
同じである。図6と異なる点は、RR(j)の値が“11
1”のとき、Rxが1ならばゲート1,12,23によ
りqzが1に、Rxが0ならばゲート1,2,3,2
4,13によりqnの方が1となる。その他の商ディジ
ットを決定する動作については、図6の論理回路と同じ
である。
現する論理回路である。3ビット加算器51およびゲー
ト21によりRR(j)およびRxを生成する点は図6と
同じである。図6と異なる点は、RR(j)の値が“11
1”のとき、Rxが1ならばゲート1,12,23によ
りqzが1に、Rxが0ならばゲート1,2,3,2
4,13によりqnの方が1となる。その他の商ディジ
ットを決定する動作については、図6の論理回路と同じ
である。
【0034】図2を図4,図6と比較すればわかるよう
に、従来の商ディジット決定方法に比べ、回路量が増加
しているが、除算演算器全体で見ればこの増分はわずか
であり、むしろ補正回路の削減による効果の方が大き
い。
に、従来の商ディジット決定方法に比べ、回路量が増加
しているが、除算演算器全体で見ればこの増分はわずか
であり、むしろ補正回路の削減による効果の方が大き
い。
【0035】
【発明の効果】以上述べてきたとおり、本発明による商
ディジット決定回路により、1≦D<2なる除数Dに対
して−D<R(j)<Dが満たされ、D=1の時の商・剰
余の補正が不要となり、図7における商・剰余補正回路
104においてD=1であるかどうかの判定が不要とな
る。
ディジット決定回路により、1≦D<2なる除数Dに対
して−D<R(j)<Dが満たされ、D=1の時の商・剰
余の補正が不要となり、図7における商・剰余補正回路
104においてD=1であるかどうかの判定が不要とな
る。
【0036】1ゲート=2入力NAND(否定論理積)
の換算にて回路量の削減効果を評価すると、図2の商デ
ィジット決定回路を用いることにより、商・剰余補正回
路の回路量は900ゲートとなり、図6の回路を用いた
場合の950ゲートに対して、D=1と判定する回路が
不要な分およそ50ゲートの回路量の削減となる。これ
に対して、商ディジット決定回路101では図6の回路
にておよそ40ゲートであるのに対し図2の回路を用い
た場合は1ゲート程度の増加に過ぎない。除算演算器全
体で考えれば、図6の回路を用いた場合でおよそ660
0ゲートであるのに対し、図2の回路を用いればおよそ
50ゲート削減できる。
の換算にて回路量の削減効果を評価すると、図2の商デ
ィジット決定回路を用いることにより、商・剰余補正回
路の回路量は900ゲートとなり、図6の回路を用いた
場合の950ゲートに対して、D=1と判定する回路が
不要な分およそ50ゲートの回路量の削減となる。これ
に対して、商ディジット決定回路101では図6の回路
にておよそ40ゲートであるのに対し図2の回路を用い
た場合は1ゲート程度の増加に過ぎない。除算演算器全
体で考えれば、図6の回路を用いた場合でおよそ660
0ゲートであるのに対し、図2の回路を用いればおよそ
50ゲート削減できる。
【0037】さらに、図4に示した商ディジット決定回
路を用いた場合では、商・剰余補正回路においておよそ
1500ゲートの回路量が必要であり、この部分で60
0ゲートの回路量を削減できる。これに対して、商ディ
ジット決定論理の回路量は、図4の回路にておよそ30
ゲートであり、図2の回路を用いることによる回路量の
増分は10ゲート程度に過ぎず、除算演算器全体で考え
れば、約7100ゲートに対し、550ゲートの回路量
を削減できる。
路を用いた場合では、商・剰余補正回路においておよそ
1500ゲートの回路量が必要であり、この部分で60
0ゲートの回路量を削減できる。これに対して、商ディ
ジット決定論理の回路量は、図4の回路にておよそ30
ゲートであり、図2の回路を用いることによる回路量の
増分は10ゲート程度に過ぎず、除算演算器全体で考え
れば、約7100ゲートに対し、550ゲートの回路量
を削減できる。
【0038】このように、本発明によれば、商ディジッ
ト決定回路における回路量のわずかな増分に対して、商
・剰余補正に用いる回路量を大きく削減することがで
き、除算演算器全体のハードウエア量の削減に効果があ
ることがわかる。
ト決定回路における回路量のわずかな増分に対して、商
・剰余補正に用いる回路量を大きく削減することがで
き、除算演算器全体のハードウエア量の削減に効果があ
ることがわかる。
【図1】本発明による商ディジット決定方法を示す図。
【図2】図1の商ディジット決定方法を実現する論理回
路図。
路図。
【図3】従来の商ディジット決定方法の一例を示す図。
【図4】図3の商ディジット決定方法を実現する論理回
路図。
路図。
【図5】従来の、割り切れ除算に対応した商ディジット
決定方法を示す図。
決定方法を示す図。
【図6】図5の商ディジット決定方法を実現する論理回
路図。
路図。
【図7】減算シフト型除算法を用いた除算演算器の一例
を示すブロック図。
を示すブロック図。
1〜4…インバータ、11〜12…ANDゲート、21
〜24…ORゲート、31…NORゲート、51…3ビ
ット加算器、101…商ディジット選択回路、102…
部分剰余計算回路、103…商更新回路、104…商・
剰余の補正を行う回路、105…除算ループ制御回路、
201〜203…除算演算器への入力を制御するセレク
タ、301〜303…商,除数,部分剰余を保持するレ
ジスタ。
〜24…ORゲート、31…NORゲート、51…3ビ
ット加算器、101…商ディジット選択回路、102…
部分剰余計算回路、103…商更新回路、104…商・
剰余の補正を行う回路、105…除算ループ制御回路、
201〜203…除算演算器への入力を制御するセレク
タ、301〜303…商,除数,部分剰余を保持するレ
ジスタ。
─────────────────────────────────────────────────────
フロントページの続き
(58)調査した分野(Int.Cl.7,DB名)
G06F 7/52 320
Claims (3)
- 【請求項1】2進のSRT法に基づく除算演算器におけ
る、商ディジットを決定する手段であって、商ディジッ
トを1と決定する部分剰余の範囲の最小値を0より大き
くし、商ディジットを0と決定する部分剰余の範囲の最
小値を−1/2より大きくしたことを特徴とする商ディ
ジット選択回路。 - 【請求項2】請求項1に示された商ディジット選択回路
を実現する手段として、桁上げ保存形式で表示された部
分剰余の、符号ビットを含む上位3ビットと、部分剰余
の上位から4ビット目のサムビットとキャリービットの
論理和を用いることにより、商ディジットを1と決定す
る部分剰余の範囲を1/4以上とし、商ディジットを0
と決定する部分剰余の範囲を−1/4以上1/2未満と
し、商ディジットを−1と決定する部分剰余の範囲を0
未満としたことを特徴とする商ディジット選択回路。 - 【請求項3】1/2≦N<1に正規化された被除数N
と、1≦D<2に正規化された除数Dを入力とし、N/
Dの除算を行い、商Qおよび剰余Rを出力とするSRT
法に基づいた除算演算器において、該除算演算器におけ
る商ディジットを決定する手段として請求項1あるいは
請求項2に示された商ディジット選択回路を用いること
を特徴とした除算演算器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP13965397A JP3482817B2 (ja) | 1997-05-29 | 1997-05-29 | 商ディジット選択回路および除算演算器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP13965397A JP3482817B2 (ja) | 1997-05-29 | 1997-05-29 | 商ディジット選択回路および除算演算器 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH10333888A JPH10333888A (ja) | 1998-12-18 |
JP3482817B2 true JP3482817B2 (ja) | 2004-01-06 |
Family
ID=15250291
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP13965397A Expired - Fee Related JP3482817B2 (ja) | 1997-05-29 | 1997-05-29 | 商ディジット選択回路および除算演算器 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3482817B2 (ja) |
-
1997
- 1997-05-29 JP JP13965397A patent/JP3482817B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH10333888A (ja) | 1998-12-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2835153B2 (ja) | 高基数除算器 | |
US5132925A (en) | Radix-16 divider using overlapped quotient bit selection and concurrent quotient rounding and correction | |
JPH0969040A (ja) | 推測的演算を有する3つのオーバーラップしたステージにより基数2の平方根演算/除算を行う回路 | |
US5023827A (en) | Radix-16 divider using overlapped quotient bit selection and concurrent quotient rounding and correction | |
US7143126B2 (en) | Method and apparatus for implementing power of two floating point estimation | |
JP2585649B2 (ja) | 除算回路 | |
JPH04283831A (ja) | 除算器 | |
KR920003494B1 (ko) | 디지탈 신호처리 시스템에서의 실시간 2's 콤플리멘트코드 숫자의 승산방법 및 회로 | |
JPH05250146A (ja) | 整数累乗処理を行なうための回路及び方法 | |
US7016930B2 (en) | Apparatus and method for performing operations implemented by iterative execution of a recurrence equation | |
US6598065B1 (en) | Method for achieving correctly rounded quotients in algorithms based on fused multiply-accumulate without requiring the intermediate calculation of a correctly rounded reciprocal | |
JP3482817B2 (ja) | 商ディジット選択回路および除算演算器 | |
JP2857505B2 (ja) | 除算装置 | |
TWI802095B (zh) | 模數乘法電路與對應之計算模數乘法之方法 | |
JPH04355827A (ja) | 開平演算装置 | |
JPH04172526A (ja) | 浮動小数点除算器 | |
LaMeres | Arithmetic Circuits | |
JP3517162B2 (ja) | 除算・開平演算装置 | |
KR20060078258A (ko) | 가변 진법 나눗셈 연산기 | |
KR100805272B1 (ko) | 부호화를 이용하는 곱셈 장치 및 그 방법 | |
CN118519685A (zh) | 一种基于SIMD指令实现快速求解sigmoid函数的方法 | |
Chiang et al. | Carry-free radix-2 subtractive division algorithm and implementation of the divider | |
JP2518532B2 (ja) | 減算シフト型除算器 | |
Brown | Binary arithmetic | |
JPH0427587B2 (ja) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |