(57)【特許請求の範囲】
【請求項１】
ｎ進法で符号化された被除数Ｕと除数Ｙとの除算結果Ｘ＝Ｕ／Ｙを算出する除算回路であって、
１／ＹがΣａｔ（１／ｎ）ｔと多項式に近似でき、ここで、ｔは１から順に選択される自然数であり、ａｔは、演算定数である場合、
Ｕ×ａｔを演算し、次に、この演算結果をｔビットその最下位ビット側へシフトし、このシフト結果を累積的に加算してゆくことを前記ｔが１から予め定めた自然数まで行い、その演算結果を除算結果Ｘとして出力するよう構成されてなることを特徴とする除算回路。
【請求項２】
２進法で符号化された被除数Ｕと除数Ｙとの除算結果Ｘ＝Ｕ／Ｙを算出する除算回路であって、
２つの入力データの乗算を行う乗算器と、
前記乗算器の出力データを、その最下位ビット側に外部から入力されるシフト信号に応じたビット数シフトして出力する右シフト回路と。
２つの入力データの加算を行う加算器と、
前記加算器の出力データに対して所定の遅延を施して出力する遅延回路と、
所定のタイミングで開閉成し、前記遅延回路からの出力データを前記加算器の一方の入力段へ入力する切換スイッチとを具備し、
前記加算器の他方の入力段には、前記右シフト回路の出力データが入力され、１／ＹがΣａｔ（１／２）ｔと多項式に近似でき、ここで、ｔは１から順に選択される自然数であり、ａｔは演算定数である場合、前記乗算器には、前記被除数Ｕと、前記演算定数ａｔとが、ｔが１から予め定められた自然数までに対応する回数順次入力され、
前記右シフト回路には、前記ｔに対応するシフト信号Ｔが前記ｔが１から予め定められた自然数までに対応する回数順次入力され、
前記切換スイッチの開閉動作によって、前記加算器において、前記右シフト回路からの出力データに、前記遅延回路を介しての前記加算器からのフィードバックデータが前記ｔが１から予め定めた自然数までに対応する回数累積的に加算されて、当該累積加算結果が除算結果Ｘとして得られることを特徴とする除算回路。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ディジタル信号処理装置等に用いられる除算回路に係り、特に、演算速度の向上等を図ったものに関する。
【０００２】
【従来の技術】
ディジタル値の除算処理としては、例えば、比較と減算とを繰り返すことにより除算値を求める方法やＭＳＢ(Most Significant Bit)から逐次除算を試行錯誤する方法等が従来から知られている。
【０００３】
【発明が解決しようとする課題】
しかしながら、いずれもその処理手順が乗算の場合に比して煩雑であり、そのため、このようなアルゴリズムに基づく除算回路は、乗算回路に比して回路構成が複雑となるばかりか比較的長い演算時間を要する傾向にあった。
そのため、従来、ディジタル信号処理回路等においては、可能な限り除算が出現しないようなアルゴリズムを採用し、除算回路を用いることなく回路を構成するものが提案されていたが、演算手順が十分に簡素なものとは言えず、結局、回路構成も十分に簡素化されたものがなかった。
【０００４】
本発明は、上記実状に鑑みてなされたもので、簡素な回路構成で演算時間が短くて済む除算回路を提供するものである。
【０００５】
【課題を解決するための手段】
上記発明の目的を達成するため、本発明に係る除算回路は、
ｎ進法で符号化された被除数Ｕと除数Ｙとの除算結果Ｘ＝Ｕ／Ｙを算出する除算回路であって、
１／ＹがΣａｔ（１／ｎ）ｔと多項式に近似でき、ここで、ｔは１から順に選択される自然数であり、ａｔは、演算定数である場合、
Ｕ×ａｔを演算し、次に、この演算結果をｔビットその最下位ビット側へシフトし、このシフト結果を累積的に加算してゆくことを前記ｔが１から予め定めた自然数まで行い、その演算結果を除算結果Ｘとして出力するよう構成されてなるものである。
【０００６】
かかる構成の除算回路は、除数Ｙについて１／ＹがΣａｔ（１／ｎ）ｔと多項式に近似でき、Ｕ／Ｙは、Ｕ×Σａｔ（１／ｎ）ｔと表されることに着目し、かかる近似多項式に基づく演算が実現できるよう構成されたものであり、演算処理の短縮を図ることができることとなるものである。
【０００７】
より具体的には、例えば、Ｕ及びＹが２進数である場合、２つの入力データの乗算を行う乗算器と、
前記乗算器の出力データを、その最下位ビット側に外部から入力されるシフト信号に応じたビット数シフトして出力する右シフト回路と。
２つの入力データの加算を行う加算器と、
前記加算器の出力データに対して所定の遅延を施して出力する遅延回路と、
所定のタイミングで開閉成し、前記遅延回路からの出力データを前記加算器の一方の入力段へ入力する切換スイッチとを具備し、
前記加算器の他方の入力段には、前記右シフト回路の出力データが入力され、１／ＹがΣａｔ（１／２）ｔと多項式に近似でき、ここで、ｔは１から順に選択される自然数であり、ａｔは演算定数である場合、前記乗算器には、前記被除数Ｕと、前記演算定数ａｔとが、ｔが１から予め定められた自然数までに対応する回数順次入力され、
前記右シフト回路には、前記ｔに対応するシフト信号Ｔが前記ｔが１から予め定められた自然数までに対応する回数順次入力され、
前記切換スイッチの開閉動作によって、前記加算器において、前記右シフト回路からの出力データに、前記遅延回路を介しての前記加算器からのフィードバックデータが前記ｔが１から予め定めた自然数までに対応する回数累積的に加算されて、当該累積加算結果が除算結果Ｘとして得られるよう構成されてなるものが好適である。
【０００８】
【発明の実施の形態】
以下、本発明の実施の形態について、図１乃至図３を参照しつつ説明する。
なお、以下に説明する部材、配置等は本発明を限定するものではなく、本発明の趣旨の範囲内で種々改変することができるものである。
最初に、本発明の実施の形態における除算回路の構成について図１を参照しつつ説明する。
この除算回路は、乗算器１と、右シフト回路２と、加算器３と、遅延回路４と、切換スイッチ５とを主たる構成要素として構成されたものとなっている。
乗算器１は、ディジタル値の乗算を行う公知・周知の回路構成を有してなるもので、被除数Ｕと演算定数ａｔとが入力されて、これら２数の乗算が行われるようになっているものである。
【０００９】
右シフト回路２は、シフト信号Ｔが入力され、乗算器１から入力された演算結果に対して、シフト信号Ｔに応じた右シフトを施し（詳細は後述）、加算器３へ出力するようになっており、公知・周知の構成を有してなるものである。
加算器３は、２つのデータの加算演算を行うもので、それ自体は公知・周知の構成を有してなるものである。本発明の実施の形態においては、この加算器３の出力側には、遅延回路４が接続されており、加算器３から出力されたデータが遅延回路４によって所定の遅延を受けた後、遅延回路４の出力側に接続された切換スイッチ５を介して加算器３の一方の入力段に入力されるようになっている。そして、この加算器３においては、他の入力段に入力された右シフト回路２からの入力データとの加算演算が行われるものとなっている。
【００１０】
遅延回路４は、それ自体は、公知・周知の構成を有してなるものであるが、本発明の実施の形態においては、後述するようなこの除算回路の動作に鑑みて、加算器３での演算時間に比して十分大きな遅延時間に設定されたものとなっている。なお、このような遅延回路４は、例えば、ラッチやシフトレジスタなどのクロックの入力によってその駆動が行われる論理素子によって実現可能である。
切換スイッチ５は、遅延回路４で遅延された加算器３の出力データと、右シフト回路２からの出力データとが、加算器３で加算演算されるのに適したタイミングで閉成状態とされるようになっているものである。
【００１１】
次に、この除算回路における演算処理の基本的な原理について説明する。
まず、例えば２進数Ｕを２進数Ｙで除するとする。
ここで、除数Ｙは、２ｉの倍数であるとし、Ｙ＝（Ｙ１＋１）２ｉまたはＹ＝（Ｙ２−１）２ｉと置き換えられるとする（但し、ｉ＝０、１、２、・・・）。
一方、Ｕ÷Ｙは、Ｕ×（１／Ｙ）と表現されることから、１／Ｙ＝｛１／（Ｙ１＋１）｝×（１／２ｉ）となる。
ここで、｛１／（Ｙ１＋１）｝は、次のような多項式に分解できる。
すなわち、１／（Ｙ１＋１）＝（１／  Ｙ１）−（１／  Ｙ１）２＋（１／  Ｙ１）３−（１／  Ｙ１）４＋（１／  Ｙ１）５＋・・・と展開できる。したがって、この式は、下記する数式１のように整理することができる。
【００１２】
【数１】
0003851025.tif 000002
【００１３】
ここで、例えば、要求される演算精度が１／２Ｌ程度であり、ｌがＬより十分に大であるとすると、この数式１は、下記する数式２のように近似することができる。
【００１４】
【数２】
0003851025.tif 000003
【００１５】
同様にして、｛１／（Ｙ２−１）｝は、１／（Ｙ２＋１）＝（１／  Ｙ２）＋（１／  Ｙ２）２＋（１／  Ｙ２）３＋（１／  Ｙ２）４＋（１／  Ｙ２）５＋・・・と多項式に展開できる。
【００１６】
そして、先の｛１／（Ｙ１−１）｝の場合と同様に、下記する数式３のように整理することができる。
【００１７】
【数３】
0003851025.tif 000004
【００１８】
そして、要求される演算精度が１／２Ｌ程度であり、ｌがＬより十分に大であるとすると、この数式３は、下記する数式４のように近似することができる。
【００１９】
【数４】
0003851025.tif 000005
【００２０】
さらに、Ｙ１及びＹ２が、共に２ｊの倍数で、それぞれＹ１＝（Ｙ３＋１）２ｊ、Ｙ２＝（Ｙ４−１）２ｊと表すことができる場合（但し、j＝０、１、２、・・・）、ｑが１より十分に大とすれば、これらの式は、それぞれ下記する数式５、数式６のように近似することができる。
【００２１】
【数５】
0003851025.tif 000006
【００２２】
【数６】
0003851025.tif 000007
【００２３】
したがって、上述したように、Ｙ１あるいはＹ２を、Ｙ３あるいはＹ４の多項式として展開する手順を、Ｙ３あるいはＹ４に相当する値が１となるまで順次繰り返してゆき、Ｙ１あるいはＹ２を、最終的に得られた近似式で表し、そのＹ１あるいはＹ２を、１／Ｙの式へ代入することにより、Ｕ／Ｙの除算式について下記するような数式７を得ることができる。
【００２４】
【数７】
0003851025.tif 000008
【００２５】
すなわち、１／Ｙを（１／２）ｔの多項式で表現することができることとなる。なお、数式７においてａｔは演算定数である。
そして、ディジタル演算においては、この数式７における「Ｕ×ａｔ」の部分については、通常の乗算処理を行えばよく、「×（１／２）ｔ」の部分については、２進数の特性からＵ×ａｔの演算結果を、ｔ回右シフト（換言すれば、Ｕ×ａｔの演算結果を、そのＬＳＢ(Least Significant Bit)側へｔ回シフト）することに相当することから、ｔの値に応じたデータのシフト処理を行うことで、除算処理を行うことなくＵ／Ｙの演算結果を得ることができることとなる。
先に図１に示された除算回路は、このような観点に基づき構成されたものである。
【００２６】
なお、実際には、ある被除数Ｕに対して、除数Ｙと演算精度１／２Ｌとが与えられ、演算精度１／２Ｌを満足するように有限値ｆが決定されて、それを基に、先に説明したように、Ｙ１あるいはＹ２の近似多項式が求められ、さらにＹ３あるいはＹ４の近似多項式が求められるというようにして順次多項式への展開が繰り返され、先の数式７で表された近似多項式に対応するものが求められる。そして、この近似多項式に基づく演算処理が行われてＵ／Ｙが求められることとなる。
【００２７】
次に、図２及び図３を参照しつつ、上述したようにＵ／Ｙについて数式７で表された近似式を求めるための処理手順について説明する。
最初に、Ｕ／Ｙが数式７に示された如くの近似多項式と表される場合において、各項の指数部のｔの値、換言すれば、Ｕ×ａｔの演算結果を右シフトする際の各々のシフト量Ｓ１，Ｓ２，・・・，Ｓｍを求める手順について、図２を参照しつつ説明する。
処理が開始されると、まず、演算パラメータｍ，Ｓ，Ｄの値が共に初期値ゼロに設定される（図２のステップ１００参照）。
次いで、Ｙが１か否かが判定され（図２のステップ１０２参照）、Ｙが「１」であると判定された場合（ＮＯの場合）には、処理の必要なしとして一連の処理が終了されることとなる一方、「１」であると判定された場合（ＹＥＳの場合）にはステップ１０４へ進み、Ｙが偶数か否かが判定されることとなる。
【００２８】
そして、Ｙが偶数であると判定された場合（ＹＥＳの場合）には、ステップ１０６へ進み、演算パラメータＳすなわちシフト量Ｓの値が、このステップ１０６を実行する直前のＳの値に「１」を加算した値へ更新されることとなる。また、このステップ１０６においては、Ｙの値がこのステップ１０６の実行直前のＹを２で除した値に更新され、その後、先のステップ１０２へ戻り一連の処理が繰り返されることとなる。
すなわち、Ｙが偶数である限りステップ１０２，１０４，１０６が繰り返されてシフト量Ｓ１，Ｓ２，・・・と求められてゆくこととなる。
【００２９】
一方、ステップ１０４において、Ｙが偶数ではないと判定された場合（ＮＯの場合）には、ステップ１０８へ進み、その時点における演算パラメータｍ，Ｄ，Ｓの各々の値が第１回目の結果として出力され、また、必要に応じて図示されない所定の記憶装置等に記憶されることとなる。なお、図２のステップ１０８において示された各々の数値は、あくまでも一例である。
次いで、ステップ１１０へ進み、演算パラメータｍの値が、このステップ１１０の実行直前の値に「１」を加算した値に更新されると共に、Ｙの値がステップ１１０の実行直前の値に「１」を加算した値に更新されることとなる。
【００３０】
そして、Ｙの値が「４」の倍数か否かが判定され（図２のステップ１１２参照）、４の倍数である場合（ＹＥＳの場合）には、ステップ１１４へ進み、演算パラメータＤが「＋１」に設定されると共に、演算パラメータＳが、このステップ１１４の実行直前の値に「２」を加算した値に更新される。さらに、Ｙの値が、このステップ１１４の実行直前の値を「４」で除した値に更新されて、その後、先のステップ１０２へ戻ることとなる。
【００３１】
一方、ステップ１１２において、Ｙの値が４の倍数ではないと判定された場合（ＮＯの場合）には、ステップ１１６へ進み、Ｙの値が、このステップ１１６の実行直前の値から「２」を減じた値に更新されることとなる。
次いで、ステップ１１８において、演算パラメータＤの値が「−１」に設定されると共に、演算パラメータＳの値が、このステップ１１８の実行直前の値に「２」を加算した値に更新され、さらに、Ｙが、このステップ１１８の実行直前の値を「４」で除した値に更新されて、先のステップ１０２へ戻ることとなる。
【００３２】
ここで、ステップ１１０乃至１１８の処理の意味について説明する。まず、ステップ１１０以降の処理が行われる際のＹは、奇数である。そのため、２のｎ乗という形とするためには、奇数に「１」を加算し又は奇数から「１」を減算して偶数とする必要がある。
さらに、奇数の前後の値は、いずれかが２の倍数であり、他方が４の倍数であるという数の性質を利用し、奇数であるＹを４の倍数となるように「１」を加算するか又は「１」を減算するかして、４の倍数となったところで、ステップＳを「２」更新するようにしたのが、ステップ１１０乃至１１８の処理である。
【００３３】
例えば、理解を容易とするため、ステップ１１０の実行直前においてＹ＝５であったと仮定すると、ステップ１１０においては、Ｙ＝５＋１＝６とされる。
これは、４の倍数ではないため、ステップ１１６へ進むこととなり、Ｙ＝６−２＝４としてＹが更新されることとなる。すなわち、このステップ１１６の処理は、ステップ１１０の実行直前のＹの値から「１」を減算することに相当する。これで、Ｙは、４の倍数となるため、ステップ１１８において、シフト量の更新が行われ、また、Ｙが４で除されるようになっている。
また、ステップ１１０の実行直前において、例えばＹ＝７の場合は、ステップ１１０の処理で４の倍数であるＹ＝８となるため、ステップ１１４へ進みシフト量の更新と、Ｙの除算が行われようになっている。
【００３４】
なお、演算パラメータＤは、ステップ１１０の実行直前のＹの値に「１」を加算して４の倍数となった場合と、ならない場合との識別のためのもので、この例では、「１」を加算して４の倍数となった場合にＤ＝−１と、また、「１」を減算して４の倍数となった場合にＤ＝＋１としてある、
このようにして、Ｙの値が「１」となるまで、上述した処理が繰り返されてシフト量Ｓ１，Ｓ２，・・・，Ｓｍが求められることとなる。
【００３５】
次に、図３を参照しつつ先の数式７における各項の演算定数ａｔを求める手順について説明する。
処理が開始されると最初に、演算パラメータｍが初期値ゼロに設定されると共に、１／Ｙの近似多項式の第１の段階として１／Ｙ＝１／Ｙと設定されることとなる（図３のステップ２００参照）。
次いで、先の図２で説明した手順により求められた演算パラメータｍ，Ｄ，Ｓの各々の値に関し、最初の一組についての読み込みが行われる（図３のステップ２０２参照）。なお、図３のステップ２０２に示された各々の数値は、あくまでも一例である。
【００３６】
そして、演算パラメータＤの最初の値について、ゼロか否かの判定が行われ（図３のステップ２０４参照）、Ｄがゼロと判定された場合（ＹＥＳの場合）、１／Ｙに（１／Ｙ）×（１／２Ｓ）が代入されて１／Ｙの更新が行われることとなる（図３のステップ２０６参照）。ここで、Ｓの値は、先のステップ２０４で判定されたＤと、さらにｍと共に先のステップ２０２において一組として読み込まれた際のものである。またここで、Ｄ＝０である場合、１／Ｙがステップ２０６で説明したような式となるのは、Ｄ＝０である場合というのは、先の図２に示されたシフト量を求める手順において、ステップ１０２乃至１０６が少なくとも一度実行されたことを意味し、これは、Ｙが２の倍数として少なくとも一回割り切れたことを意味するためである。
【００３７】
一方、先のステップ２０４においてＤ＝０ではないと判定された場合（ＮＯの場合）には、Ｄ＝＋１か否かが判定され（図３のステップ２０８参照）、Ｄ＝＋１であると判定された場合（ＹＥＳの場合）には、下記する数式８が１／Ｙに代入されることとなる（図３のステップ２１０参照）。
【００３８】
【数８】
0003851025.tif 000009
【００３９】
ここで、Ｓの値は、このステップ２１０の実行時点におけるＤの値と共に先のステップ２０２においてｍの値と共に読み込まれた際のものである。また、ｎの値は、このステップ２１０を実行する度毎に１から昇順に増やされるものである。そして、Ｄ＝１の場合に１／Ｙが数式８に示された式に置き換えられるのは、Ｄ＝＋１である場合というのは、先の図２に示されたシフト量を求める手順において、ステップ１１４が実行されたことを意味するためである。
すなわち、ステップ２１０では、このステップを１回実行する度毎に、その際のｎの値に対して、（−１）ｎ−１｛（１／Ｙ）（１／２Ｓ）｝ｎが定まり、このステップ２１０の実行直前までに求められたΣ（−１）ｎ−１｛（１／Ｙ）（１／２Ｓ）｝ｎに、新たに求められた（−１）ｎ−１｛（１／Ｙ）（１／２Ｓ）｝ｎが加算されて多項式Σ（−１）ｎ−１｛（１／Ｙ）（１／２Ｓ）｝ｎが更新され、それが１／Ｙへ代入されることとなる。
【００４０】
一方、先のステップ２０８において、Ｄ＝＋１ではないと判定された場合（ＮＯの場合）は、Ｄ＝−１であることを意味することから、下記する数式９が１／Ｙに代入されることとなる（図３のステップ２１２参照）。
【００４１】
【数９】
0003851025.tif 000010
【００４２】
なお、ここで、Ｓ及びｎの扱いは、先のステップ２１０で述べたと同様であり、ここでの再度の説明は省略する。また、Ｄ＝−１の場合に１／Ｙが数式９に示された式に置き換えられるのは、Ｄ＝−１である場合というのは、先の図２に示されたシフト量を求める手順において、ステップ１１８が実行されたことを意味するためである。
【００４３】
上述したステップ２０６，２１０，２１２のいずれかが実行された後は、ｍの値が、その時点の値に「１」が加算されて更新され（図３のステップ２１４参照）、これが予め定められた最大値Ｍと等しいか否かが判定されることとなる（図３のステップ２１６参照）。この最大値Ｍは、所望の演算精度を得るのに十分な範囲で適宜選択され得るものである。
そして、このステップ２１６において、未だｍ＝Ｍではないと判定された場合（ＮＯの場合）には、先のステップ２０２へ戻り、上述した一連の処理が繰り返されることとなる。
【００４４】
一方、ステップ２１６において、ｍ＝Ｍであると判定された場合（ＹＥＳの場合）には、１／Ｙの近似多項式として必要とされる精度を満たす状態であるとして、ステップ２０６，２１０，２１２の複数回の実行により得られた１／Ｙに関する多項式が先に示した数式７の形式に展開されることとなる（図３のステップ２１８参照）。
次いで、数式７の形式に展開された際の各項のａｔの値と、指数部のｔの値とがそれぞれ出力されて（図３のステップ２２０参照）、一連の処理が終了することとなる。
【００４５】
なお、上述したような処理は、例えば、マイクロコンピュータ（図示せず）により図２及び図３に示された手順に従ったソフトウェアを実行させることにより実現でき、その場合には、得られた各々の演算定数ａｔ及びｔの内、演算定数ａｔをそのマイクロコンピュータから図１に示された回路へ入力すると共に、ｔについては、シフト信号Ｔとして所定の信号形式にそのマイクロコンピュータで変換して、あるいは外部の回路によりシフト信号Ｔに変換して図１に示された回路へ入力するようにすると好適である。
【００４６】
次に、図１に示された除算回路によるＸ＝Ｕ／Ｙの演算動作について説明する。
まず、前提として、除数Ｙについて、数式７の形式に展開した場合の各項のａｔ及び指数部のｔの値（換言すればシフト量Ｓ１，Ｓ２，・・・）が予め求められているものとする。
【００４７】
まず、乗算器１に、被除数Ｕと最初の演算定数ａｔが入力されると、Ｕ×ａｔが演算されて、その演算結果は、右シフト回路２へ入力されることとなる。ここで、最初の演算定数ａｔは、先の数式７においてｔ＝１におけるものである。
右シフト回路２においては、乗算器１における演算結果がパラレル入力されるようになっており、そのパラレルデータが入力されると、外部からシフト信号Ｔが入力され、シフト信号Ｔに応じたパラレルデータの右シフト（換言すれば、ＬＳＢ(LeastSignificantBit)側へのビットシフト）が行われる。ここで、シフト信号Ｔは、先の数式７において、（１／２）ｔの指数部のｔの値、すなわち換言すれば、先に図２を参照しつつ説明した手順によって求められたシフト量Ｓ１，Ｓ２，・・・に対応するもので、乗算器１から演算結果が入力される度毎にシフト量に対応するシフト信号Ｔが入力されるようになっている。
【００４８】
そして、右シフト回路２で右シフトが施されたパラレルデータは、加算器３へ入力されることとなる。
ここで、右シフト回路２からの最初のパラレルデータが加算器３に入力される場合には、切換スイッチ５は開成状態とされており、その結果、右シフト回路２からの最初のパラレルデータは、加算器３からそのまま出力されることとなる。この加算器３からそのまま出力された最初のデータは、初期値が「１」に設定されている遅延回路４へ入力され、遅延されることなく出力されるようになっている。すなわち、遅延回路４は、最初の入力データに対しては、何ら遅延を施すことなく出力するように初期設定されている。
【００４９】
一方、乗算器１へは、最初のデータ入力の後、適宜な時間経過後に、再び被除数Ｕと、次の演算定数ａｔが入力されて乗算が行われ、その乗算結果が右シフト回路２へ出力されることとなる。
右シフト回路２においては、乗算器１からパラレルデータの入力に伴い、先に述べたように予め定められている所定のシフト量に対応するシフト信号Ｔが外部から入力され、このシフト信号Ｔに応じた右シフトが乗算器１から入力されたパラレルデータに施され、そのシフト結果は、加算器３へ出力されることとなる。
【００５０】
加算器３においては、右シフト回路２からのシフト結果が入力されると共に、切換スイッチ５が閉成状態とされて、先の遅延回路４を介してフィードバックされた最初の出力データが入力されて加算演算が行われることとなる。そして、この加算結果は、遅延回路４により所定時間の遅延が施されて、切換スイッチ５を介して加算器３の入力段へフィードバックされることとなる。一方、この遅延回路４及び切換スイッチ５を介してのデータのフィードバックがなされるまでに、乗算器１では次の演算定数ａｔが入力され、被除数Ｕとの乗算がなされ、さらに、右シフト回路２で所定のシフトが施されて、そのシフト結果が加算器３へ先のフィードバックデータと共に入力されることとなる。以下、同様にして加算器３での加算演算の結果が次々とフィードバックされて右シフト回路２からの新たなデータへ累積的に加算されてゆき、それが所定の回数、すなわち、先の図３で示された手順にしたがって求められた近似多項式の項の数（図３のステップ２１８参照）に対応する回数繰り返されて加算器３から得られる出力データがＵ／Ｙの演算結果に相当するＸとなる。
【００５１】
上述した発明の実施の形態においては、被除数及び除数が２進数であるとして説明したが、２進数以外の他のｎ進数にも同様に適用できることは勿論である。なお、この場合、先の数式７に対応する近似多項式は、被除数Ｕ及び除数Ｙがｎ進数であるとすれば、Ｘ＝ＵΣａｔ（１／ｎ）ｔとなり、基本的には、２進数の場合と同様の回路構成による演算処理によってＸを算出することができる。
【００５２】
【発明の効果】
以上、述べたように、本発明によれば、除算を乗算とシフトと加算とで処理できるようにしたので、回路構成が比較的簡素になり、しかも、演算処理が比較的単純であるため、従来の乗算処理に比して演算時間の短縮が図られるという効果を奏するものである。
【図面の簡単な説明】
【図１】本発明の実施の形態における除算回路の一構成例を示す構成図である。
【図２】本発明の実施の形態における除算回路に用いられる右シフト回路におけるシフト量を求めるための手順を示すフローチャートである。
【図３】本発明の実施の形態における除算回路に入力される演算定数を求めるための手順を示すフローチャートである。
【符号の説明】
１…乗算器
２…右シフト回路
３…加算器
４…遅延回路
５…切換スイッチ
【図１】
0003851025.tif 000011
【図２】
0003851025.tif 000012
【図３】
0003851025.tif 000013