JPH11203110A - 除算器 - Google Patents

除算器

Info

Publication number
JPH11203110A
JPH11203110A JP10007210A JP721098A JPH11203110A JP H11203110 A JPH11203110 A JP H11203110A JP 10007210 A JP10007210 A JP 10007210A JP 721098 A JP721098 A JP 721098A JP H11203110 A JPH11203110 A JP H11203110A
Authority
JP
Japan
Prior art keywords
divisor
intermediate remainder
output
quotient
bits
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
JP10007210A
Other languages
English (en)
Inventor
Taizo Tsujimoto
泰造 辻本
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
Priority to JP10007210A priority Critical patent/JPH11203110A/ja
Publication of JPH11203110A publication Critical patent/JPH11203110A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 商を上位より複数ビットずつ求めるように反
復型の除算を行う除算器を提供する。 【解決手段】 被除数X及び除数Yから商を上位よりN
(Nは2以上の自然数)ビットずつ求める固定小数点数
除算器を構成するように、最初の中間剰余を決定するた
めの初期計算手段1と、除数の倍数を供給するための除
数倍数生成手段2と、反復毎に中間剰余を更新記憶する
ための中間剰余記憶手段3と、反復毎に次の中間剰余の
複数の候補値を計算する中間剰余候補計算手段4と、反
復毎に中間剰余と除数の倍数との大小比較を行う比較手
段5と、比較結果から商のNビットを求める部分商計算
手段6と、部分商計算手段6の出力を蓄積するための商
蓄積手段7と、次の中間剰余の複数の候補値のうちの1
つを、部分商計算手段6の出力に基づいて選択するため
の中間剰余選択手段8とを設ける。中間剰余候補計算手
段4の動作と並行して比較手段5及び部分商計算手段6
が動作する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、ディジタル計算機
における除算器に関し、特に反復型の除算を行う除算器
に関するものである。
【0002】
【従来の技術】ディジタル計算機における従来の除算器
は、各々2進数で与えられた被除数及び除数から商を上
位より1ビットずつ求めるように反復型の除算を行うも
のであった。
【0003】
【発明が解決しようとする課題】上記従来の除算器は、
被除数、除数及び商のビット数の増大につれて、計算速
度が遅いという問題が顕著になってきている。
【0004】本発明の目的は、商を上位より複数ビット
ずつ求めるように反復型の除算を行う除算器を提供する
ことにある。
【0005】
【課題を解決するための手段】本発明は、上記目的を達
成するために、各々固定小数点数を表す2進数で与えら
れた被除数X及び除数Yから商を上位よりN(Nは2以
上の自然数)ビットずつ求めるように反復型の除算を行
う除算器において、図1に示すように、前記被除数X及
び前記除数Yから最初の中間剰余を決定するための初期
計算手段1と、前記除数Yを入力して該除数Yの1倍を
含む除数の倍数を供給するための除数倍数生成手段2
と、反復毎に中間剰余を更新して記憶するための中間剰
余記憶手段3と、反復毎に前記中間剰余記憶手段3に記
憶された直前の計算で求められた中間剰余と前記除数の
倍数とを入力して次の中間剰余の複数の候補値を計算す
るための中間剰余候補計算手段4と、反復毎に前記中間
剰余記憶手段3に記憶された直前の計算で求められた中
間剰余と前記除数の倍数とを入力して前記中間剰余と前
記除数の倍数との大小比較を行うための比較手段5と、
該比較手段5の出力である比較結果から前記商の中間の
Nビットを求めるための部分商計算手段6と、最終的に
前記商を構成するように前記部分商計算手段6の出力を
順次連結して蓄積するための商蓄積手段7と、前記次の
中間剰余の複数の候補値のうちの1つを、前記部分商計
算手段6の出力を選択制御入力として選択し、かつ前記
中間剰余記憶手段3が更新して記憶する中間剰余として
出力するための中間剰余選択手段8とを備えた構成を採
用したものである。
【0006】上記固定小数点数除算器の除数倍数生成手
段2は、図2に示すように、入力された前記除数Yに2
N−1から1までの奇数をそれぞれ乗じた2N-1個の倍数
を供給するための手段を備える。
【0007】上記固定小数点数除算器の中間剰余候補計
算手段4は、図3に示すように、入力された前記中間剰
余をNビットだけ左へシフトするための第1のシフト手
段21と、各々入力された前記除数の倍数を前記中間剰
余の最上位ビットに応じて符号反転して又はそのまま出
力するための2N-1個の第1の符号選択手段22と、各
々前記第1のシフト手段21の出力に前記第1の符号選
択手段22の出力を加算して次の中間剰余の候補値とし
て出力するための2N-1個の加算手段23とを備える。
【0008】上記固定小数点数除算器の比較手段5は、
図4に示すように、入力された前記中間剰余をk(k=
N−1,…,2,1)ビットだけ左へシフトするための
第2のシフト手段31と、各々入力された前記除数の倍
数のうち前記除数Yに2N-1−1から1までの奇数を乗
じた2N-2個の除数の倍数を前記中間剰余の最上位ビッ
トに応じて符号反転して又はそのまま出力するための2
N-2個の第2の符号選択手段32と、前記第2のシフト
手段31のN−1個の出力のそれぞれに対して前記第2
の符号選択手段32の出力のうち除数の倍数として乗じ
られた数が2kより小さいものをそれぞれ比較するため
の2N-1−1個の大小比較手段33とを備える。
【0009】上記固定小数点数除算器において、図7〜
図11に示すように、Nを2とすることが好ましい。
【0010】また、本発明は、上記目的を達成するため
に、各々整数を表す2進数で与えられた被除数X及び除
数Yから商を上位よりN(Nは2以上の自然数)ビット
ずつ求めるように反復型の除算を行う除算器において、
図13に示すように、前記除数Yを入力して該除数Yの
1倍を含む除数の倍数を供給するための除数倍数生成手
段2と、反復毎に中間剰余を更新して記憶するための中
間剰余記憶手段3と、最初の中間剰余として定数を前記
中間剰余記憶手段3に出力するための初期設定手段10
と、前記被除数Xを入力し該被除数XをNビットずつに
分解し、分解された該被除数のNビットを反復毎に順次
出力するための被除数分解手段9と、反復毎に前記中間
剰余記憶手段3に記憶された直前の計算で求められた中
間剰余と前記除数の倍数と前記被除数分解手段9の出力
とを入力して次の中間剰余の複数の候補値を計算するた
めの中間剰余候補計算手段4と、反復毎に前記中間剰余
記憶手段3に記憶された直前の計算で求められた中間剰
余と前記除数の倍数と前記被除数分解手段9の出力とを
入力して前記中間剰余と前記被除数分解手段9の出力と
の重み付け和と前記除数の倍数との大小比較を行うため
の比較手段5と、該比較手段5の出力である比較結果か
ら前記商の中間のNビットを求めるための部分商計算手
段6と、最終的に前記商を構成するように前記部分商計
算手段6の出力を順次連結して蓄積するための商蓄積手
段7と、前記次の中間剰余の複数の候補値のうちの1つ
を、前記部分商計算手段6の出力を選択制御入力として
選択し、かつ前記中間剰余記憶手段3が更新して記憶す
る中間剰余として出力するための中間剰余選択手段8と
を備えた構成を採用したものである。
【0011】上記整数除算器の除数倍数生成手段2は、
図2に示すように、入力された前記除数Yに2N−1か
ら1までの奇数をそれぞれ乗じた2N-1個の倍数を供給
するための手段を備える。
【0012】上記整数除算器の中間剰余候補計算手段4
は、図3及び図14(a)に示すように、入力された前
記中間剰余をNビットだけ左へシフトしその下位Nビッ
トを前記被除数分解手段9の出力のNビットで置き換え
て出力するための第1のシフト手段21と、各々入力さ
れた前記除数の倍数を前記中間剰余の最上位ビットに応
じて符号反転して又はそのまま出力するための2N-1
の第1の符号選択手段22と、各々前記第1のシフト手
段21の出力に前記第1の符号選択手段22の出力を加
算して次の中間剰余の候補値として出力するための2
N-1個の加算手段23とを備える。
【0013】上記整数除算器の比較手段5は、図4及び
図13(b)に示すように、入力された前記中間剰余を
k(k=N−1,…,2,1)ビットだけ左へシフトし
その各々の下位kビットを前記被除数分解手段9の出力
のNビットのうちの上位kビットで置き換えて出力する
ための第2のシフト手段31と、各々入力された前記除
数の倍数のうち前記除数Yに2N-1−1から1までの奇
数を乗じた2N-2個の除数の倍数を前記中間剰余の最上
位ビットに応じて符号反転して又はそのまま出力するた
めの2N-2個の第2の符号選択手段32と、前記第2の
シフト手段31のN−1個の出力のそれぞれに対して前
記第2の符号選択手段32の出力のうち除数の倍数とし
て乗じられた数が2kより小さいものをそれぞれ比較す
るための2N -1−1個の大小比較手段33とを備える。
【0014】上記整数除算器において、図7〜図11に
示すように、Nを2とすることが好ましい。
【0015】
【発明の実施の形態】まず、本発明の固定小数点数除算
器について説明する前に、各々2の補数表現の固定小数
点数を表す2進数で与えられた被除数X及び除数Yか
ら、引き放し法で商を上位より1ディジット(1ビッ
ト)ずつ求める反復型除算のアルゴリズムを説明する。
入力制約条件は、 0<|X|<Y<1 式(1.0) である。被除数X及び除数Yの最上位ビット(MSB)
は符号ビットであり、該最上位ビットの右に小数点があ
るものとする。
【0016】中間剰余の初期値R0は、 if(X>0) R0=X−Y else R0=X+Y 式(1.1) に従って計算される。ここで、入力制約条件の式(1.
0)を適用することにより、0<|R0|<Yが成立す
ること、初期値R0と被除数Xとが異符号であることが
それぞれ導かれる。
【0017】中間剰余Ri(iは非負の整数)が求まる
と、商ディジットqiの決定(追加)と、次の中間剰余
i+1の計算とが、 qi=^MSB(Ri) 式(1.2) if(Ri>0) Ri+1=2Ri−Y else Ri+1=2Ri+Y 式(1.3) によりそれぞれ行われる。ここに、「^」は論理反転演
算子である。なお、0<|Ri|<Yならば必ず0<|
i+1|<Yである。
【0018】上記の除算アルゴリズムが正当であること
は、次のようにして確かめられる。すなわち、商ディジ
ットqiを用いて式(1.1)及び式(1.3)をそれ
ぞれ書き直すと、 R0=X−(1−2q0)Y 式(1.4) Ri+1=2Ri+(1−2qi)Y 式(1.5) である。式(1.4)に式(1.5)を繰り返し適用す
ると、 X=Ri/2i+(Q+1/2i)Y 式(1.6) Q=−q0+q1/2+…+qi-1/2i-1 式(1.7) が成立する。求まった商Qと真の商X/Yとの差、すな
わち誤差Erは、 Er=Q−X/Y=−(1+Ri/Y)/2i 式(1.8) である。ここに、 −1/2i-1<Er≦0 である。つまり、求まった商Qは、商最下位ビットq
i-1の重みを誤差Erの最大値とする良い近似値である
ことが判る。
【0019】さて、本発明によれば、上記除算アルゴリ
ズムで反復計算のN(Nは2以上の自然数)回を一度に
行う。ここで、反復計算の式(1.2)及び式(1.
3)を再掲すると、 qi=^MSB(Ri) 式(1.2)再 if(Ri>0) Ri+1=2Ri−Y else Ri+1=2Ri+Y 式(1.3)再 のとおりである。また、式(1.3)を変形して得られ
る式(1.5)を再掲すると、 Ri+1=2Ri+(1−2qi)Y 式(1.5)再 のとおりである。
【0020】商ディジットqiは0又は1であるから、 1=(1−2qi)(1−2qi) 式(2.1) が成立する。また、i,jを非負の整数とするとき、 qi+qj−2qij=qi@qj 式(2.2) が成立する。ここに、「@」はイクスクルーシブOR演
算子である。
【0021】式(1.5)を再帰的に用い、かつ式
(2.1)及び式(2.2)を用いることで、 qi=^MSB(Ri) 式(1.2)再 qi+1=^MSB(2Ri+(1−2qi)Y) 式(2.3) qi+2=^MSB(4Ri+2(1−2qi)Y+(1−2qi+1)Y) =^MSB(4Ri+(1−2qi)(3−2qi@qi+1)Y) 式(2.4) … qi+k=^MSB(2ki+2k-1(1−2qi)Y+…+20(1−2qi+k-1 )Y) =^MSB(2ki+(1−2qi){2k−1−2ek}Y) 式(2.5) Ri+N=2Ni+2N-1(1−2qi)Y+…+20(1−2qi+N-1)Y =2Ni+(1−2qN){2N−1−2eN}Y 式(2.6) が導出される。ここに、 ek=2k-2(qi@qi+1)+…+(qi@qi+k-1) 式(2.7) である。
【0022】以上のとおり、中間剰余Riから、式
(1.2)及び式(2.3)〜式(2.7)を用いて商
のNビットqi,…,qi+N-1と、次の中間剰余Ri+N
を求めることができ、これを必要な回数だけ反復するこ
とにより固定小数点数の除算を実行することができる。
【0023】図1は、式(1.2)及び式(2.3)〜
式(2.7)に示された除算アルゴリズムを採用した本
発明に係る固定小数点数除算器の構成を示している。図
1の除算器は、被除数X及び除数Yから最初の中間剰余
を決定するための初期計算手段1と、除数Yを入力して
該除数Yの1倍を含む除数の倍数を供給するための除数
倍数生成手段2と、反復毎に中間剰余を更新して記憶す
るための中間剰余記憶手段3と、反復毎に中間剰余記憶
手段3に記憶された直前の計算で求められた中間剰余と
除数の倍数とを入力して次の中間剰余の複数の候補値を
計算するための中間剰余候補計算手段4と、反復毎に中
間剰余記憶手段3に記憶された直前の計算で求められた
中間剰余と除数の倍数とを入力して中間剰余と除数の倍
数との大小比較を行うための比較手段5と、該比較手段
5の出力である比較結果から商の中間のNビットを求め
るための部分商計算手段6と、最終的に商を構成するよ
うに部分商計算手段6の出力を順次連結して蓄積するた
めの商蓄積手段7と、次の中間剰余の複数の候補値のう
ちの1つを、部分商計算手段6の出力を選択制御入力と
して選択し、かつ中間剰余記憶手段3が更新して記憶す
る中間剰余として出力するための中間剰余選択手段8と
を備えたものである。高速計算を目的として、中間剰余
候補計算手段4の動作と並行して比較手段5及び部分商
計算手段6が動作する点が特徴である。
【0024】図2は、図1中の除数倍数生成手段2の内
部構成例を示している。図2の除数倍数生成手段2は、
入力された除数Yに2N−1から1までの奇数をそれぞ
れ乗じた2N-1個の倍数を供給するものであって、除数
Yに2N−1から3までの奇数をそれぞれ乗じるための
N-1−1個の乗算手段11を備えている。乗算手段1
1の数を低減するためには、記憶手段12をバッファメ
モリとして採用し、1個の乗算手段で複数の除数倍数を
生成することとすればよい。これにより、計算時間の調
整も可能になる。
【0025】図3は、図1中の中間剰余候補計算手段4
の内部構成例を示している。図3の中間剰余候補計算手
段4は、入力された中間剰余RをNビットだけ左へシフ
トするための第1のシフト手段21と、各々入力された
除数の倍数を中間剰余RのMSBに応じて符号反転して
又はそのまま出力するための2N-1個の第1の符号選択
手段22と、各々第1のシフト手段21の出力に第1の
符号選択手段22の出力を加算して次の中間剰余の候補
値として出力するための2N-1個の加算手段23とを備
えている。第1の符号選択手段22の符号選択は中間剰
余RのMSBに応じて行われ、MSB=0(R≧0)の
場合にはマイナス(符号反転)、MSB=1(R<0)
の場合にはプラス(そのまま)となる。
【0026】図4は、図1中の比較手段5の内部構成例
を示している。図4の比較手段5は、入力された中間剰
余Rをk(k=N−1,…,2,1)ビットだけ左へシ
フトするための第2のシフト手段31と、各々2N-1
の除数倍数のうち除数Yに2N -1−1から1までの奇数
を乗じた2N-2個の除数の倍数を中間剰余RのMSBに
応じて符号反転して又はそのまま出力するための2N-2
個の第2の符号選択手段32と、第2のシフト手段31
のN−1個の出力のそれぞれに対して第2の符号選択手
段32の出力のうち除数の倍数として乗じられた数が2
kより小さいものをそれぞれ比較するための2N-1−1個
の大小比較手段33とを備えている。第2の符号選択手
段32の符号選択は、図3中の第1の符号選択手段22
と同様である。比較結果出力Si,jは、2iR<±jYな
らば1、そうでなければ0となる2値情報である。
【0027】図5は、図1中の部分商計算手段6の内部
構成例を示している。図5の部分商計算手段6は商のN
ビットq0,…,qN-1を計算するものであって、41は
比較結果Si,jのうちの有効なものを選択するための選
択手段、42はイクスクルーシブNOR手段、43は論
理反転手段である。選択手段41は、選択制御入力
1,…,ekを、e1をMSBとするkビットの符号な
し2進整数とみなして求められる値0,…,2k−1の
うちのいずれかに対応する入力を選択し、これを出力E
として供給するものである。
【0028】図6は、図1中の中間剰余選択手段8の内
部構成例を示している。図6において、51は中間剰余
候補から中間剰余の更新値を選択するための選択手段、
52はイクスクルーシブNOR手段である。なお、入力
として商のNビットq0,…,qN-1を用いる代わりに、
比較結果のNビットS0,…,SN-1を用いることもでき
る。ただし、商ビットqiと比較結果ビットSiとの混用
はできない。
【0029】図7〜図11は、図2〜図6においてN=
2とした場合の構成を示している。つまり、図7は除数
倍数生成手段2、図8は中間剰余候補計算手段4、図9
は比較手段5、図10は部分商計算手段6、図11は中
間剰余選択手段8の各々の具体例を示している。加算手
段23や大小比較手段33の数をあまり増大させないた
めには、商を2ビットずつ求めるようにすることが好ま
しい。
【0030】図12は、図1の除算器の具体例(N=
2)、すなわち商を上位より2ビットずつ求める16ビ
ット固定小数点数の除算器を示している。図12におい
て、101は被除数Xの一時記憶手段と上記中間剰余記
憶手段3とを兼ねるレジスタ(rx)である。102
は、除数Yの一時記憶のためのレジスタ(ry)であ
る。103は、除数の3倍数(3Y)の一時記憶のため
のレジスタ(rz)であって、上記除数倍数生成手段2
中の記憶手段12に相当する。104は、中間剰余のM
SBを記憶するためのレジスタ(sfr)である。中間
剰余のMSBは上記第1及び第2の符号選択手段22,
32の選択制御入力として使用されるので、負荷が大き
いことが予想される。このため、レジスタ(rx)10
1に記憶される中間剰余の一部の複製をレジスタ(sf
r)104に置いておくこととする。これにより、信号
遅延時間が短縮され、計算速度の向上に寄与できる。1
05は、上記商蓄積手段7に相当するシフトレジスタ
(qsr)であって、上記部分商計算手段6中の論理反
転手段43の機能をも備えている。106は上記第2の
シフト手段31に相当するシフタ、107はセレクタ、
108は上記第1のシフト手段21に相当するシフタ、
109はセレクタである。110,111は符号反転
器、112,113,114はセレクタである。符号反
転器110とセレクタ112とが1組、符号反転器11
1とセレクタ113とが1組として上記第1の符号選択
手段22を構成する。また、符号反転器110とセレク
タ114とが1組として上記第2の符号選択手段32を
構成する。115は上記大小比較手段33に相当する比
較器、116,117は上記加算手段23に相当する加
算器である。118は判定器、119はセレクタであ
る。判定器118及びセレクタ119はそれぞれ上記中
間剰余選択手段8のイクスクルーシブNOR手段52及
び選択手段51に相当するが、ここでは選択制御信号が
論理反転した形態になっている。なお、図12によれ
ば、レジスタ102からセレクタ107、シフタ108
及びセレクタ109を経由して除数の4倍数(4Y)
を、レジスタ102から符号反転器110及びセレクタ
112を経由して除数の符号反転値(−Y)をそれぞれ
加算器116へ供給し、該加算器116で除数の3倍数
(3Y)を生成するようになっており、これにより上記
乗算手段11の機能を実現している。また、レジスタ1
01からセレクタ109を経由して被除数Xをそのまま
加算器116へ供給することもでき、これにより上記初
期計算手段1の機能を実現している。
【0031】図12の除算器の概略動作を説明する。ま
ず、不図示の制御装置がレジスタ102に除数Yを格納
する。続いて、加算器116で除数の3倍数(3Y)が
計算され、この計算結果がレジスタ103に格納され
る。次に、制御装置はレジスタ101に被除数Xを格納
する。このとき、被除数XのMSBがレジスタ104に
格納される。次に、レジスタ101に格納された被除数
Xがセレクタ109を経由して加算器116にそのまま
与えられる。一方、レジスタ102から除数Yが供給さ
れ、レジスタ104の格納値に応じてセレクタ112で
選択された除数(Y)又は除数の符号反転値(−Y)が
加算器116に与えられる。したがって、加算器116
はX+Y又はX−Yを計算する。この計算結果(中間剰
余Rの初期値)は、セレクタ119を経てレジスタ10
1に内容を更新して格納される。これに応じて、レジス
タ104の格納値も中間剰余RのMSBに更新される。
以上が初期化処理である。
【0032】続いて8回の反復計算が行われる。1回の
反復計算の動作は次のとおりである。まず、レジスタ1
01に格納された中間剰余Rがセレクタ107を経由し
てシフタ108に与えられる。シフタ108の出力(4
R)は、セレクタ109を経由して加算器116に与え
られる。一方、レジスタ102から除数Yが供給され、
レジスタ104の格納値に応じてセレクタ112で選択
された除数(Y)又は除数の符号反転値(−Y)が加算
器116に与えられる。したがって、加算器116は4
R+Y又は4R−Yを計算する。シフタ108の出力
(4R)は、加算器117にも与えられる。一方、レジ
スタ103から除数の3倍数(3Y)が供給され、レジ
スタ104の格納値に応じてセレクタ113で選択され
た除数の3倍数(3Y)又はその符号反転値(−3Y)
が加算器117に与えられる。したがって、加算器11
7は4R+3Y又は4R−3Yを計算する。レジスタ1
01に格納された中間剰余Rは、シフタ106にも与え
られる。シフタ106の出力(2R)は、比較器115
に与えられる。一方、レジスタ104の格納値に応じて
セレクタ114で選択された除数(Y)又は除数の符号
反転値(−Y)が比較器115に与えられる。したがっ
て、比較器115は、2RとYとの大小比較又は2Rと
−Yとの大小比較を行う。比較器115の比較結果とレ
ジスタ104の格納値とは、判定器118に入力され
る。この判定器118の判定結果に応じて、セレクタ1
19は、加算器116の加算結果と加算器117の加算
結果とのいずれかを選ぶ。ただし、セレクタ119は下
位16ビットのみ出力し、加算結果の上位ビットは捨て
る。セレクタ119で選択された16ビット(次の中間
剰余)は、レジスタ101を更新して書き込まれる。ま
た、該次の中間剰余のMSBはレジスタ104を更新し
て書き込まれる。レジスタ104の格納値(更新前)と
比較器115の比較結果との合わせて2ビットはレジス
タ105に送られ、反転して下位からシフトインしてシ
フトレジスタに蓄積される。以上が1回の反復計算の動
作である。これが8回繰り返された後には、レジスタ1
05に16ビットの商が得られている。
【0033】以上のとおり、図12の構成では、加算を
含む計算を10回(初期化処理2回、反復計算8回)行
うことで16ビット固定小数点数の除算を実行してい
る。商を1ビットずつ得る従来の方式では加算を含む計
算を17回(初期化処理1回、反復計算16回)必要と
していることを考えると、図12の構成によれば計算時
間が従来の約60%に短縮されることが判る。
【0034】次に、本発明の整数除算器について説明す
る前に、各々2の補数表現の整数を表す2進数で与えら
れた被除数X及び除数Yから、引き放し法で商を上位よ
り1ディジット(1ビット)ずつ求める反復型除算のア
ルゴリズムを説明する。入力制約条件は、 0<Y≦X 式(3.1) である。被除数X及び除数Yの最上位ビット(MSB)
は符号ビットであり、最下位ビットの右に小数点がある
ものとする。
【0035】中間剰余の初期値R-1は、 R-1=0 式(3.2) に従って定数0に設定される。
【0036】中間剰余Ri(iは非負の整数又は−1)
が求まると、商ディジットqiの決定(追加)と、次の
中間剰余Ri+1の計算とが、被除数XのMSBよりiビ
ット右のビットの値xiを用いて、 qi=^MSB(Ri) 式(3.3) if(Ri-1≧0) Ri=2Ri-1+xi−Y else Ri=2Ri-1+xi+Y 式(3.4) によりそれぞれ行われる。ここに、「^」は論理反転演
算子である。なお、式(3.3)により求められる商デ
ィジットq-1は、意味のない値として捨てられる。
【0037】上記の除算アルゴリズムが正当であること
は、次のようにして確かめられる。すなわち、商ディジ
ットqi-1を用いて式(3.4)を書き直すと、 Ri=2Ri-1+xi+(1−2qi-1)Y 式(3.5) である。式(3.2)に式(3.5)を順次適用する
と、 X=RM-1+(1−qM-1)Y+QY 式(3.6) が成立する。ここに、Mは被除数Xのビット数である。
商がQであり、RM-1+(1−qM-1)Yが剰余である。
【0038】さて、本発明によれば、上記除算アルゴリ
ズムで反復計算のN(Nは2以上の自然数)回を一度に
行う。したがって、 qi=^MSB(Ri) 式(3.3)再 qi+1=^MSB(2Ri+xi+1+(1−2qi)Y) 式(4.1) qi+2=^MSB(4Ri+2xi+1+2(1−2qi)Y+xi+2+(1−2qi +1 )Y) =^MSB(4Ri+{2xi+1+xi+2}+(1−2qi)(3−2qi@qi+1) Y) 式(4.2) … qi+k=^MSB(2ki+2k-1i+1+2k-1(1−2qi)Y+…+20i+ k +20(1−2qi+k-1)Y) =^MSB(2ki+{2k-1i+1+…+20i+k}+(1−2qi){2k−1 −2ek}Y) 式(4.3) Ri+N=2Ni+2N-1i+1+2N-1(1−2qi)Y+…+20i+N+20(1 −2qi+N-1)Y =2Ni+{2N-1i+1+…+20i+N}+(1−2qN){2N−1−2eN} Y 式(4.4) が導出される。ここに、 ek=2k-2(qi@qi+1)+…+(qi@qi+k-1) 式(4.5) であり、「@」はイクスクルーシブOR演算子である。
【0039】以上のとおり、中間剰余Riから、式
(3.3)及び式(4.1)〜式(4.5)を用いて商
のNビットqi,…,qi+N-1と、次の中間剰余Ri+N
を求めることができ、これを必要な回数だけ反復するこ
とにより整数の除算を実行することができる。
【0040】図13は、式(3.3)及び式(4.1)
〜式(4.5)に示された除算アルゴリズムを採用した
本発明に係る整数除算器の構成を示している。図13の
除算器は、除数Yを入力して該除数Yの1倍を含む除数
の倍数を供給するための除数倍数生成手段2と、反復毎
に中間剰余を更新して記憶するための中間剰余記憶手段
3と、最初の中間剰余として定数を中間剰余記憶手段3
に出力するための初期設定手段10と、被除数Xを入力
し該被除数XをNビットずつに分解し、分解された該被
除数のNビットを反復毎に順次出力するための被除数分
解手段9と、反復毎に中間剰余記憶手段3に記憶された
直前の計算で求められた中間剰余と除数の倍数と被除数
分解手段9の出力とを入力して次の中間剰余の複数の候
補値を計算するための中間剰余候補計算手段4と、反復
毎に中間剰余記憶手段3に記憶された直前の計算で求め
られた中間剰余と除数の倍数と被除数分解手段9の出力
とを入力して中間剰余と被除数分解手段9の出力との重
み付け和と除数の倍数との大小比較を行うための比較手
段5と、該比較手段5の出力である比較結果から商の中
間のNビットを求めるための部分商計算手段6と、最終
的に商を構成するように部分商計算手段6の出力を順次
連結して蓄積するための商蓄積手段7と、次の中間剰余
の複数の候補値のうちの1つを、部分商計算手段6の出
力を選択制御入力として選択し、かつ中間剰余記憶手段
3が更新して記憶する中間剰余として出力するための中
間剰余選択手段8とを備えたものである。高速計算を目
的として、中間剰余候補計算手段4の動作と並行して比
較手段5及び部分商計算手段6が動作する点が特徴であ
る。
【0041】前述の固定小数点数除算器に係る図2〜図
11の構成は、図13の整数除算器にも適用可能であ
る。ただし、中間剰余候補計算手段4中の第1のシフト
手段21の機能と、比較手段5中の第2のシフト手段3
1の機能とが若干異なる。なお、回路規模をあまり増大
させないためには、商を2ビットずつ求めるようにN=
2とすることが好ましい。
【0042】図14(a)は、図13中の中間剰余候補
計算手段4におけるシフト動作を示している。この場合
の第1のシフト手段21(図3参照)は、入力された中
間剰余RをNビットだけ左へシフトし、その下位Nビッ
トを被除数分解手段9の出力のNビットXpN,…,
p2,Xp1で置き換えて出力するものである。
【0043】図14(b)は、図13中の比較手段5に
おけるシフト動作を示している。この場合の第2のシフ
ト手段31(図4参照)は、入力された中間剰余Rをk
(k=N−1,…,2,1)ビットだけ左へシフトし、
その各々の下位kビットを被除数分解手段9の出力のN
ビットXpN,…,Xp2,Xp1のうちの上位kビットで置
き換えて出力するものである。
【0044】図15は、図13の除算器の具体例(N=
2)、すなわち商を上位より2ビットずつ求める16ビ
ット整数除算器を示している。図15の構成は、図12
の固定小数点数除算器とほぼ同様である。ただし、図1
5では、第1のシフト手段21に相当するシフタ108
と、第2のシフト手段31に相当するシフタ106との
各々の機能が変更されており、かつレジスタ105は商
蓄積手段7であると同時に被除数分解手段9を兼ねてい
る。レジスタ105の最上位2ビットがシフトアウトさ
れ、該2ビットがシフタ108に入力されてその出力の
最下位の2ビットとされる。また、レジスタ105から
シフトアウトされた2ビットのうちの上位1ビットは、
シフタ106に入力されてその出力の最下位ビットとな
る。不図示の制御装置は、レジスタ101を定数0に、
レジスタ102を除数Yに、レジスタ105を被乗数X
にそれぞれ初期化する。その他の動作説明は省略する
が、図15の構成によれば16ビット整数の除算を高速
実行することができる。
【0045】図12及び図15の構成は、いずれも既存
のディジタル信号プロセッサ(DSP)が有する加算
器、レジスタ、シフタ、セレクタ等に最小限のコンポー
ネントを付加し、かつ必要最小限のデータパスを付加す
ることで実現できるので好都合である。
【0046】なお、本発明の基本概念は開平算を実行す
るための演算装置にも適用可能である。
【0047】
【発明の効果】以上説明してきたとおり、本発明によれ
ば、商を上位より複数ビットずつ求めるように反復型の
除算を行う固定小数点数除算器及び整数除算器を提供す
ることができる。
【図面の簡単な説明】
【図1】本発明に係る固定小数点数除算器の構成を示す
ブロック図である。
【図2】図1中の除数倍数生成手段の内部構成例を示す
ブロック図である。
【図3】図1中の中間剰余候補計算手段の内部構成例を
示すブロック図である。
【図4】図1中の比較手段の内部構成例を示すブロック
図である。
【図5】図1中の部分商計算手段の内部構成例を示すブ
ロック図である。
【図6】図1中の中間剰余選択手段の内部構成例を示す
ブロック図である。
【図7】N=2の場合の図2の除数倍数生成手段の具体
例を示すブロック図である。
【図8】N=2の場合の図3の中間剰余候補計算手段の
具体例を示すブロック図である。
【図9】N=2の場合の図4の比較手段の具体例を示す
ブロック図である。
【図10】N=2の場合の図5の部分商計算手段の具体
例を示すブロック図である。
【図11】N=2の場合の図6の中間剰余選択手段の具
体例を示すブロック図である。
【図12】図1の除算器の具体例を示すブロック図であ
る。
【図13】本発明に係る整数除算器の構成を示すブロッ
ク図である。
【図14】(a)は図13中の中間剰余候補計算手段に
おけるシフト動作を、(b)は同図中の比較手段におけ
るシフト動作をそれぞれ説明するための概念図である。
【図15】図13の除算器の具体例を示すブロック図で
ある。
【符号の説明】
1 初期計算手段 2 除数倍数生成手段 3 中間剰余記憶手段 4 中間剰余候補計算手段 5 比較手段 6 部分商計算手段 7 商蓄積手段 8 中間剰余選択手段 10 初期設定手段 11 乗算手段 12 記憶手段 21 第1のシフト手段 22 第1の符号選択手段 23 加算手段 31 第2のシフト手段 32 第2の符号選択手段 33 大小比較手段 41 選択手段 42 イクスクルーシブNOR手段 43 論理反転手段 51 選択手段 52 イクスクルーシブNOR手段 101〜105 レジスタ 106,108 シフタ 107,109,112〜114,119 セレクタ 110,111 符号反転器 115 比較器 116,117 加算器 118 判定器

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】 各々固定小数点数を表す2進数で与えら
    れた被除数及び除数から商を上位よりN(Nは2以上の
    自然数)ビットずつ求めるように反復型の除算を行う除
    算器であって、 前記被除数及び前記除数から、最初の中間剰余を決定す
    るための初期計算手段と、 前記除数を入力して該除数の1倍を含む除数の倍数を供
    給するための除数倍数生成手段と、 反復毎に中間剰余を更新して記憶するための中間剰余記
    憶手段と、 反復毎に、前記中間剰余記憶手段に記憶された直前の計
    算で求められた中間剰余と、前記除数の倍数とを入力し
    て、次の中間剰余の複数の候補値を計算するための中間
    剰余候補計算手段と、 反復毎に、前記中間剰余記憶手段に記憶された直前の計
    算で求められた中間剰余と、前記除数の倍数とを入力し
    て、前記中間剰余と前記除数の倍数との大小比較を行う
    ための比較手段と、 前記比較手段の出力である比較結果から前記商の中間の
    Nビットを求めるための部分商計算手段と、 最終的に前記商を構成するように、前記部分商計算手段
    の出力を順次連結して蓄積するための商蓄積手段と、 前記次の中間剰余の複数の候補値のうちの1つを、前記
    部分商計算手段の出力を選択制御入力として選択し、か
    つ前記中間剰余記憶手段が更新して記憶する中間剰余と
    して出力するための中間剰余選択手段とを備えたことを
    特徴とする除算器。
  2. 【請求項2】 請求項1記載の除算器において、 前記除数倍数生成手段は、入力された前記除数に2N
    1から1までの奇数をそれぞれ乗じた2N-1個の倍数を
    供給するための手段を備え、 前記中間剰余候補計算手段は、 入力された前記中間剰余をNビットだけ左へシフトする
    ための第1のシフト手段と、 各々入力された前記除数の倍数を、前記中間剰余の最上
    位ビットに応じて符号反転して又はそのまま出力するた
    めの2N-1個の第1の符号選択手段と、 各々前記第1のシフト手段の出力に前記第1の符号選択
    手段の出力を加算して次の中間剰余の候補値として出力
    するための2N-1個の加算手段とを備え、 前記比較手段は、 入力された前記中間剰余をk(k=N−1,…,2,
    1)ビットだけ左へシフトするための第2のシフト手段
    と、 各々入力された前記除数の倍数のうち前記除数に2N-1
    −1から1までの奇数を乗じた2N-2個の除数の倍数
    を、前記中間剰余の最上位ビットに応じて符号反転して
    又はそのまま出力するための2N-2個の第2の符号選択
    手段と、 前記第2のシフト手段のN−1個の出力のそれぞれに対
    して、前記第2の符号選択手段の出力のうち除数の倍数
    として乗じられた数が2kより小さいものをそれぞれ比
    較するための2N-1−1個の大小比較手段とを備えたこ
    とを特徴とする除算器。
  3. 【請求項3】 Nが2であることを特徴とする請求項1
    又は2に記載の除算器。
  4. 【請求項4】 各々整数を表す2進数で与えられた被除
    数及び除数から商を上位よりN(Nは2以上の自然数)
    ビットずつ求めるように反復型の除算を行う除算器であ
    って、 前記除数を入力して該除数の1倍を含む除数の倍数を供
    給するための除数倍数生成手段と、 反復毎に中間剰余を更新して記憶するための中間剰余記
    憶手段と、 最初の中間剰余として定数を前記中間剰余記憶手段に出
    力するための初期設定手段と、 前記被除数を入力し、該被除数をNビットずつに分解
    し、分解された該被除数のNビットを反復毎に順次出力
    するための被除数分解手段と、 反復毎に、前記中間剰余記憶手段に記憶された直前の計
    算で求められた中間剰余と、前記除数の倍数と、前記被
    除数分解手段の出力とを入力して、次の中間剰余の複数
    の候補値を計算するための中間剰余候補計算手段と、 反復毎に、前記中間剰余記憶手段に記憶された直前の計
    算で求められた中間剰余と、前記除数の倍数と、前記被
    除数分解手段の出力とを入力して、前記中間剰余と前記
    被除数分解手段の出力との重み付け和と、前記除数の倍
    数との大小比較を行うための比較手段と、 前記比較手段の出力である比較結果から前記商の中間の
    Nビットを求めるための部分商計算手段と、 最終的に前記商を構成するように、前記部分商計算手段
    の出力を順次連結して蓄積するための商蓄積手段と、 前記次の中間剰余の複数の候補値のうちの1つを、前記
    部分商計算手段の出力を選択制御入力として選択し、か
    つ前記中間剰余記憶手段が更新して記憶する中間剰余と
    して出力するための中間剰余選択手段とを備えたことを
    特徴とする除算器。
  5. 【請求項5】 請求項4記載の除算器において、 前記除数倍数生成手段は、入力された前記除数に2N
    1から1までの奇数をそれぞれ乗じた2N-1個の倍数を
    供給するための手段を備え、 前記中間剰余候補計算手段は、 入力された前記中間剰余をNビットだけ左へシフトし、
    その下位Nビットを前記被除数分解手段の出力のNビッ
    トで置き換えて出力するための第1のシフト手段と、 各々入力された前記除数の倍数を、前記中間剰余の最上
    位ビットに応じて符号反転して又はそのまま出力するた
    めの2N-1個の第1の符号選択手段と、 各々前記第1のシフト手段の出力に前記第1の符号選択
    手段の出力を加算して次の中間剰余の候補値として出力
    するための2N-1個の加算手段とを備え、 前記比較手段は、 入力された前記中間剰余をk(k=N−1,…,2,
    1)ビットだけ左へシフトし、その各々の下位kビット
    を前記被除数分解手段の出力のNビットのうちの上位k
    ビットで置き換えて出力するための第2のシフト手段
    と、 各々入力された前記除数の倍数のうち前記除数に2N-1
    −1から1までの奇数を乗じた2N-2個の除数の倍数
    を、前記中間剰余の最上位ビットに応じて符号反転して
    又はそのまま出力するための2N-2個の第2の符号選択
    手段と、 前記第2のシフト手段のN−1個の出力のそれぞれに対
    して、前記第2の符号選択手段の出力のうち除数の倍数
    として乗じられた数が2kより小さいものをそれぞれ比
    較するための2N-1−1個の大小比較手段とを備えたこ
    とを特徴とする除算器。
  6. 【請求項6】 Nが2であることを特徴とする請求項4
    又は5に記載の除算器。
JP10007210A 1998-01-19 1998-01-19 除算器 Pending JPH11203110A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10007210A JPH11203110A (ja) 1998-01-19 1998-01-19 除算器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10007210A JPH11203110A (ja) 1998-01-19 1998-01-19 除算器

Publications (1)

Publication Number Publication Date
JPH11203110A true JPH11203110A (ja) 1999-07-30

Family

ID=11659652

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10007210A Pending JPH11203110A (ja) 1998-01-19 1998-01-19 除算器

Country Status (1)

Country Link
JP (1) JPH11203110A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8819098B2 (en) 2010-11-23 2014-08-26 International Business Machines Corporation Computation of a remainder by division using pseudo-remainders

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8819098B2 (en) 2010-11-23 2014-08-26 International Business Machines Corporation Computation of a remainder by division using pseudo-remainders

Similar Documents

Publication Publication Date Title
CA1231455A (en) Nonrestoring divider
EP0149248A2 (en) Method and apparatus for division using interpolation approximation
JPH0612229A (ja) 乗累算回路
EP0356153B1 (en) Radix-2**n divider method and apparatus using overlapped quotient bit selection and concurrent quotient rounding and correction
JP2972498B2 (ja) 論理回路の自動設計方法、そのシステム及びその装置並びに乗算器
KR20040092376A (ko) 몽고메리 모듈러 곱셈기 및 캐리 저장 가산을 이용한몽고메리 모듈러 곱셈 방법
US6366940B1 (en) High-speed modular multiplication apparatus achieved in small circuit
JP2585649B2 (ja) 除算回路
JP4273071B2 (ja) 除算・開平演算器
US7809784B2 (en) Apparatus and method for calculation of divisions and square roots
JP2840169B2 (ja) 論理回路の自動設計方法およびその装置
US6745219B1 (en) Arithmetic unit using stochastic data processing
JP3660075B2 (ja) 除算装置
JPH11203110A (ja) 除算器
JPS58137045A (ja) 並列乗算器
JP2578482B2 (ja) 浮動小数点演算器
JP4293665B2 (ja) 剰余乗算装置
JP2790327B2 (ja) 剰余乗算回路および剰余乗算方法
JP2606339B2 (ja) 乗算器
JP2777265B2 (ja) 高基数開平演算装置
KR20010067226A (ko) 인터폴레이션 방법 및 장치
JP2803442B2 (ja) 開平装置
JPS6155691B2 (ja)
Takagi et al. Digit-recurrence algorithm for computing Euclidean norm of a 3-D vector
JP3106767B2 (ja) 乗算方法及び乗算回路

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20030430