(57)【特許請求の範囲】
【請求項１】
部分剰余を和（Ｓｕｍ）と桁上げ（Ｃａｒｒｙ）の２つの数デジットの和によって表現し、基数２のＳＲＴアルゴリズムに基づいた除算若しくは平方根の演算を行う演算器であって、
前記部分剰余の２つの数デジットの上位１ビット目乃至３ビット目における加算結果を得る加算手段と、
前記部分剰余の２つの数デジットの上位４ビット目における論理和を得る論理和生成手段と、
前記加算手段と、前記論理和生成手段との演算結果に基づいて次の商デジットの決定を行う商デジット決定手段と、
を有する商デジット選択回路を具備することを特徴とする演算器。
【請求項２】
前記商デジット決定手段は、前記加算手段の演算結果における最上位ビットの１ビットをもって、商デジットの符号を決定する商デジット符号生成部と、
前記加算手段の演算結果において３ビットの値が全て１である場合、又は、前記加算手段の演算結果において３ビットの値が全て０であり、かつ前記論理和生成手段の論理和演算結果の値が０である場合には商デジットの値を０と決定し、この商デジットの値を０と決定される場合以外の場合には商デジットの絶対値を１と決定する商デジット絶対値生成部と、
を具備することを特徴とする請求項１記載の演算器。
【請求項３】
部分剰余を和（Ｓｕｍ）と桁上げ（Ｃａｒｒｙ）の２つの数デジットの和によって表現し、基数２のＳＲＴアルゴリズムに基づいた平方根の演算器であって、
前記部分剰余の和と桁上げの２つの数デジットを記憶する部分剰余記憶回路と、
前記部分剰余の２つの数デジットの上位１ビット目乃至３ビット目における加算結果を得る加算手段と、前記部分剰余の２つの数デジットの上位４ビット目における論理和を得る論理和生成手段と、前記加算手段と前記論理和生成手段との演算結果に基づいて次の商デジットの決定を行う商デジット決定手段と、を具備する商デジット選択回路と、
演算が行われている商デジットのビット位置を記憶するビット位置指示手段と、下位からの桁上げがあるものと仮定した場合の非冗長表現された商デジットを表現する桁上げ有りの商デジット集合記憶手段と、下位からの桁上げがないものと仮定した場合の非冗長表現された商デジットを表現する桁上げ無しの商デジット集合記憶手段と、前記ビット位置指示手段、前記桁上げ有りの商デジット集合記憶手段、及び前記桁上げ無しの商デジット集合記憶手段の結果を用いて、平方根開平演算に用いられるデータを生成する開平用データ生成手段と、前記ビット位置指示手段、前記桁上げ有りの商デジット集合記憶手段、前記桁上げ無しの商デジット集合記憶手段、及び次に得られる商デジットにより、桁上げ有り及び無しに対応する商デジット集合を生成する商デジット処理手段とを有する平方根開平演算データ生成回路と、
この平方根開平演算データ生成回路の出力に対し、前記商デジット選択回路により決定された商デジットにより、前記平方根開平演算データ生成回路の出力を選択し、前記部分剰余に対して加算あるいは減算を行うデータを生成する被加数選択回路と、
この被加算数選択回路で生成されたデータ及び前記部分剰余記憶回路にて記憶された部分剰余を前記商デジット選択回路からの加減算指示信号の指示により演算を行い、前記部分剰余記憶回路に出力する桁上げ保存加算手段と、
を具備することを特徴とする演算器。
【請求項４】
部分剰余を和（Ｓｕｍ）と桁上げ（Ｃａｒｒｙ）の２つの数デジットの和によって表現し、基数２のＳＲＴアルゴリズムに基づいた平方根演算及び除算の演算器であって、
前記部分剰余の和と桁上げの２つの数デジットを記憶する部分剰余記憶回路と、
前記部分剰余の２つの数デジットの上位１ビット目乃至３ビット目における加算結果を得る加算手段と、前記部分剰余の２つの数デジットの上位４ビット目における論理和を得る論理和生成手段と、前記加算手段と前記論理和生成手段との演算結果に基づいて次の商デジットの決定を行う商デジット決定手段と、を具備する商デジット選択回路と、
演算が行われている商デジットのビット位置を記憶するビット位置指示手段と、下位からの桁上げがあるものと仮定した場合の非冗長表現された商デジットを表現する桁上げ有りの商デジット集合記憶手段と、下位からの桁上げがないものと仮定した場合の非冗長表現された商デジットを表現する桁上げ無しの商デジット集合記憶手段と、前記ビット位置指示手段、前記桁上げ有りの商デジット集合記憶手段、及び前記桁上げ無しの商デジット集合記憶手段の結果を用いて、平方根開平演算に用いられるデータを生成する開平用データ生成手段と、
前記ビット位置指示手段、前記桁上げ有り及び桁上げ無しの商デジット集合記憶手段の結果を用いて商デジット集合を生成する商デジット処理手段とを有する平方根開平演算データ生成回路と、
除数デジットを記憶する除数デジット記憶回路と、前記開平用データ生成回路若しくは前記除算デジット記憶回路のデータを選択して出力する除算／平方根演算選択回路と、
この除算／平方根演算選択回路にて出力されたデータに対し、前記商デジット選択回路により決定された商デジットにより、前記部分剰余に対して加算あるいは減算を行うデータを生成する被加数選択回路と、
この被加算数選択回路で生成されたデータ及び前記部分剰余記憶回路にて記憶された部分剰余を前記商デジット選択回路からの加減算指示信号の指示により演算を行い、前記部分剰余記憶手段に出力する桁上げ保存加算回路と、
を具備することを特徴とする演算器。
【請求項５】
部分剰余を和（Ｓｕｍ）と桁上げ（Ｃａｒｒｙ）の２つの数デジットの和によって表現し、基数が２であるＳＲＴ反復型アルゴリズムに基づいた除算若しくは平方根の演算を行う演算器であって、
前記部分剰余の２つの数デジットの上位１ビット目乃至３ビット目における加算結果Ｄ０，Ｄ１，Ｄ２を得る加算手段と、
前記加算結果における下位１ビット、及び前記部分剰余数デジットの上位４ビット目における２つのデジットの論理和Ｄ３を得る論理和生成手段と、
前記加算手段と、前記論理和生成手段との演算結果に基づいて次の商デジットの決定を行う商デジット決定手段と、
を有する商デジット選択回路を具備することを特徴とする演算器。
【請求項６】
前記商デジット決定手段は、Ｄ０，Ｄ１，Ｄ２が全て１であるか、Ｄ０，Ｄ１，Ｄ３が全て０である場合に商デジットを０とし、Ｄ０が０であって、Ｄ１かＤ３の何れかが１である場合に商デジットを＋１とし、Ｄ０が１であって、Ｄ１かＤ２の何れかが０である場合に商デジットを−１とし、それぞれの場合について商デジットを出力するように構成することを特徴とする請求項５記載の演算器。
【請求項７】
前記商デジット決定手段は、Ｄ０が０である場合には商デジットの符号をプラスとし、１である場合にはマイナスとすることで商デジットの符号を決定する商デジット符号生成部と、Ｄ０，Ｄ１，Ｄ３が全てゼロであるか、Ｄ０，Ｄ１，Ｄ２が全て１である場合には商デジットの絶対値をゼロとし、そうでない場合には絶対値を１と決定する商デジット絶対値生成部と、を具備したことを特徴とする請求項５記載の演算器。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は演算器に関し、特に、各種の演算の高速化を図る演算器に関する。
【０００２】
【従来の技術】
除算ならびに、平方根の演算については、乗算や加減算とは異なり、その演算アルゴリズムが完全に逐次的であることから、例えば並列演算を用いるといった高速化手法を用いることができず、典型的には乗算よりも１桁程度長い実行時間が必要である。このため、除算ならびに平方根演算に関する高速化手法については従来多くの研究がなされてきた。その中では、ニュートン法に代表される、収束型アルゴリズムによる手法と、ＳＲＴアルゴリズムと呼ばれる反復型のアルゴリズムが広く知られているが、前者については、ほとんどの場合乗算器や大量の読み出し用メモリーが必要となり、ハードウエア量が極めて多くなることから、多くの演算器では反復型のアルゴリズムが用いられている。この反復型アルゴリズムでは、さらなる高速化を達成するために、部分剰余の値を冗長数表現とし、部分剰余演算の際のフルビット長での加算を、時間がかかる桁上げ伝搬加算器から、極めて短い時間で動作する桁上げ保存加算器に代えて行っている。このため、次の商デジットを決定する場合には、いったん冗長数表現された部分剰余の値を、非冗長数表現とするために、必要とされる精度に応じたビット長での桁上げ伝搬加算を行なう必要があり、商デジットの基数が２である場合には、４ビット長での桁上げ伝搬加算が必要であるとされている。もちろん、ここでの桁上げ伝搬加算に要する時間は、そのまま演算器の動作速度を規定することから、様々な工夫によって桁上げ伝搬加算器のビット長を３ビットとする方法が知られているが、このことを達成するために、前に選んだ商デジットの値を記憶しておき、これと併せて商デジット選択を行なう方式や、除算における除数や、平方根演算で用いられる、これまでの商デジット集合から導かれる除算における除数に相当する数の値の範囲を制限するといった手法がとられており、前者については商デジット選択手段の構成が複雑になることから遅延時間が増大し、後者については演算の一般性が損なわれることから高速化に対して積極的に利用できるというものではなかった。
【０００３】
また、平方根の反復型アルゴリズムによる演算おいては、商デジットが冗長数表現されているために、これをもとにして除算における除数の倍数に相当する開平用のデータを非冗長形式にて作成するためには、除算では除数がもともと非冗長表現されていたことから１回で済んでいた桁上げ保存加算器での部分剰余演算を２回に分けて行なったり、特殊なハードウエアを追加することによって、商デジットが非冗長数表現となるようにし、部分剰余の演算は１回で済むようにしたものが知られている。しかしながら、前者については演算回数が増加することから論外であるし、後者についても追加されるハードウエアの構成法については、その動作速度やハードウエア量に関して問題がある。これに加えて、次の商デジットを仮定しておいて剰余計算の結果を予測し、これに基づいてそのまた次の商デジットを決定するといった高速化手法に関しても、剰余計算が加わってくるために、この部分を高速にしない限り、有効な高速化手法とはなり得ない。
【０００４】
さらには、従来例では除算について、１つの除算器を複数個縦続接続し、ダイナミック回路を用いているこれらの演算器に、適切なタイミングでセットアップ／リセットの指示を出しながら次々と動作させていくことによって、高速な演算を行なうという自己同期型の回路構成が知られているが、平方根あるいは、平方根及び除算を両方行なえるような演算器に関する報告はなく、部分剰余演算の問題等のために有効な構成方法は現在のところ知られていない。特に、自己同期型回路においては、演算の終了検出を正しく行なうことが重要となるが、従来はビット数の極めて多い部分剰余の演算完了を検出する構成となっており、ハードウエア量の増大や、動作マージンの少なさ、制御の難しさといった点で問題を含有している。
【０００５】
一方では、加減算結果がゼロとなるかどうかを判断するゼロ判定回路においては、図３２に示すように、加減算を行った結果に対して全ビットの論理和をとるものと、加減算と並行してゼロ判定を行うものとがあるが、前者についてはゼロ判定に要する時間は必ず加減算結果が判明する時点よりも後となることから、速度を重視する場合には、後者の手法が用いられる。例えば、図３３に示すように、加減算器を構成している区分加減算器ごとに、その区分加減算器への桁上げの有無に応じたゼロ判定を行っておき、桁上げの確定に応じて最終的な判定が行われるものが知られているが、このような桁上げの伝搬を用いている回路ではゼロ判定に要する時間は加減算に要する時間よりも一般に長くなることから、加減算器＋ゼロ判定回路というシステムで考えた場合には、その動作速度をゼロ判定回路が律速してしまうことになる。そこで、桁上げの伝搬に律速されないゼロ判定回路の構成方法として、図３４に示すような形式の回路が考案されている。図３４の回路においては、最下位ビットへのキャリー入力が、入力データに比べて遅れて生成されるような状況下においては、ゼロ判定回路全体の動作速度を維持するために、キャリー入力信号に対して許容される遅延時間余裕がゲート１段分しかないため、キャリー入力信号の遅延時間がゼロ判定演算の速度を律速する場合も発生することになる。さらには、図３４の回路形態では、一般に遅延時間が他の論理積や論理和よりも大きな排他的論理和回路が縦続に接続されるために、与えられた入力信号環境のもとで、十分な高速性を発揮できないという問題がある。
【０００６】
以上のようなことから、加減算器＋ゼロ判定回路というシステムを実現する場合においては、加減算器とゼロ判定とを別個のシステムとして扱って、加減算の結果が得られた後に、ゼロ判定を改めて行うという構成にするか、若しくは図３４に示すように回路を構成する上で、信号のタイミングや回路自体の設計条件に制約の大きい回路を採用して加減算とゼロ判定とが平行して行われるようなシステムとするか、ということになる。
【０００７】
【発明が解決しようとする課題】
上述した従来技術における除算並びに平方根のための演算器においては、商選択手段の構成が複雑であり、このため動作速度が低くなっている。また、特に平方根の演算に関しては、得られた商デジット自身を用いて部分剰余の演算を行なう必要があることから、商デジットが冗長数表現されている場合には、このままでは２回に分けて桁上げ保存加算を行なうか、商デジットを順次非冗長表現として演算を行うしかなく、前者については除算では１回で済む演算が２回必要となることから演算器の速度が低下し、後者についてはアルゴリズム自身は公知であるものの、実現方法によっては大幅なハードウエア量の増加や、遅延時間の増大を招いていた。また、平方根の演算器に対して、幾つかのハードウエアを共通としながら除算を実現しようとする場合においては、従来は部分剰余計算手段を除算と平方根について切り替えて用いることの他に、場合によってはいくつかのハードウエアを追加して構成する必要があった。さらには、演算器を複数個縦続接続して、個々の演算器の動作タイミングを自己同期の手法によって決定するような構成の演算器については除算器についての公知例はあるものの、平方根あるいは、平方根及び除算を共に行えるような演算器の構成法については前例がない。また、除算においても、演算完了信号の検出に関しては、ハードウエア量が多く、また動作マージンの確保についても問題がある。
【０００８】
一方では、加減算結果がゼロとなるかどうかを判断するゼロ判定回路においては、設計いかんによっては高速な加減算器＋ゼロ判定回路というシステムを構成することはできるが、与える信号のタイミングや、回路配置に制約がある。又は、他の論理和や論理積といった論理に比べて遅延時間の大きな排他的論理和の回路が縦続接続されていることから、動作速度的にも問題が生じる可能性がある。
【０００９】
図３５は従来の３ビット長加算器を用いた商デジット選択／決定回路の構成を示す図である。図４中のＣ１，Ｃ２及びＣ３は冗長表現されている部分剰余の桁上げ信号の入力部である。また、Ｓ０，Ｓ１及びＳ２は冗長表現されている部分剰余の加算結果信号の入力部である。３ビット長加算手段は、２つの３ビット長のデータを入力し、その加算結果を出力するものである。次に図３５に示す商デジット選択回路の動作について説明する。まず、正しいビットの重みづけとするために、３ビット長加算手段に対してａ０，ａ１，ａ２にそれぞれＳ０，Ｓ１，Ｓ２を、またｂ０，ｂ１，ｂ２に対してＣ１，Ｃ２，Ｃ３を入力することによってＤ０，Ｄ１，Ｄ２の３ビットからなる加算結果を得る。この時、Ｄ０は部分剰余の符号を表わすことになり、Ｄ１，Ｄ２で部分剰余の数値の大きさを表現することになる。図３６は図３５のＤ０，Ｄ１，Ｄ２の信号を商デジット決定手段へ入力して、商デジットに変換する場合の変換表である。ここで、基数２のＳＲＴアルゴリズムによる演算では、部分剰余を冗長数で表現している場合、図３２におけるＤ０，Ｄ１，Ｄ２が０，１，１となった場合に問題が生ずることが知られている。すなわち、仮に小数点がＤ１とＤ２との間にあるとした場合、０１．１なるＤ０，Ｄ１，Ｄ２の値は、これよりも下位の桁上げ信号及び加算結果信号が全て０であった場合には最小値として１０進表現で＋１．５となるが、逆にこれらの信号が全て１であった場合には、−１．５よりもわずかに大きな数ともなりえる。すなわち、この場合の部分剰余が存在している可能性のある値の範囲は＋１．５以上＋２．０未満及び、−２．０以上−１．５未満という離散した範囲になってしまう。そこで、従来は、４ビット長の桁上げ伝搬加算手段を用いることや、図３５に示すように、３ビット長の加算手段に加えて、商デジット記憶手段により前に選択したデジットの値を用いることで、この問題を回避していた。
【００１０】
図３７は従来技術における部分剰余計算手段１３２の構成を示す概略のブロック図である。この部分剰余計算手段１３２は、図３５に示した商デジット選択回路から得られる商デジット符号信号を用いて商デジットの符号を仮定して生成された開平用データ信号あるいは除算デジット信号を選択する信号選択手段（ＭＵＸ１）１５１と、この信号選択手段１５１により出力された信号と、２数の和として表現されている部分剰余信号との和を計算する桁上げ保存加算手段（ＣＳＡ）１５５とを有している。商デジットを符号部分と絶対値部分とに分けてＣＳＡ１５５により部分剰余信号を得る。これは図３６に示したデジット決定ルールを用いて行う。
【００１１】
しかしながら、これらの従来の方法では、たとえば４ビット長の桁上げ伝搬手段を用いる方法では、当然この部分での遅延時間が増大し、図３５に示した方法では商デジットの選択規制の対称性が悪くなることや、前のデジットを保存しておくための商デジット記憶手段等のハードウェアが必要であることなどから、デメリットがある。更には図３５で示した方法では、特定の演算すなわち、途中で割り切れてしまうような演算に対して、誤った計算結果が得られる場合があり、これを補正するためのハードと時間が代償として必要になるという欠点がある。
【００１２】
そこで、本発明は以上のような問題点を解決するためになされたものであり、その目的とするところは演算を高速かつ、簡潔な構成において実現し、従来問題となっていたこれらの演算の所要時間を大幅に短縮することができる演算器を提供することにある。
【００１３】
さらには、現在の商デジットを仮定し、次の部分剰余を測定することで演算の高速化を図るオーバラップ法に基づく演算器においては、開平用データ生成手段を少ないハードウェアでかつ、高速に実現することで、平方根演算器及び、平方根と除算の共用演算器の演算速度を向上させることができる演算器を提供することにある。
【００１４】
【課題を解決するための手段】
上記目的を達成するため、本発明に係る演算器は、 部分剰余を和（Ｓｕｍ）と桁上げ（Ｃａｒｒｙ）の２つの数デジットの和によって表現し、基数２のＳＲＴアルゴリズムに基づいた除算若しくは平方根の演算を行う演算器であって、前記部分剰余の２つの数デジットの上位１ビット目乃至３ビット目における加算結果を得る加算手段と、前記部分剰余の２つの数デジットの上位４ビット目における論理和を得る論理和生成手段と、前記加算手段と、前記論理和生成手段との演算結果に基づいて次の商デジットの決定を行う商デジット決定手段と、を有する商デジット選択回路を具備することを特徴とする。
また、本発明に係る演算器は、 部分剰余を和（Ｓｕｍ）と桁上げ（Ｃａｒｒｙ）の２つの数デジットの和によって表現し、基数２のＳＲＴアルゴリズムに基づいた平方根の演算器であって、前記部分剰余の和と桁上げの２つの数デジットを記憶する部分剰余記憶回路と、前記部分剰余の２つの数デジットの上位１ビット目乃至３ビット目における加算結果を得る加算手段と、前記部分剰余の２つの数デジットの上位４ビット目における論理和を得る論理和生成手段と、前記加算手段と前記論理和生成手段との演算結果に基づいて次の商デジットの決定を行う商デジット決定手段と、を具備する商デジット選択回路と、演算が行われている商デジットのビット位置を記憶するビット位置指示手段と、下位からの桁上げがあるものと仮定した場合の非冗長表現された商デジットを表現する桁上げ有りの商デジット集合記憶手段と、下位からの桁上げがないものと仮定した場合の非冗長表現された商デジットを表現する桁上げ無しの商デジット集合記憶手段と、前記ビット位置指示手段、前記桁上げ有りの商デジット集合記憶手段、及び前記桁上げ無しの商デジット集合記憶手段の結果を用いて、平方根開平演算に用いられるデータを生成する開平用データ生成手段と、前記ビット位置指示手段、前記桁上げ有りの商デジット集合記憶手段、前記桁上げ無しの商デジット集合記憶手段、及び次に得られる商デジットにより、桁上げ有り及び無しに対応する商デジット集合を生成する商デジット処理手段とを有する平方根開平演算データ生成回路と、この平方根開平演算データ生成回路の出力に対し、前記商デジット選択回路により決定された商デジットにより、前記平方根開平演算データ生成回路の出力を選択し、前記部分剰余に対して加算あるいは減算を行うデータを生成する被加数選択回路と、この被加算数選択回路で生成されたデータ及び前記部分剰余記憶回路にて記憶された部分剰余を前記商デジット選択回路からの加減算指示信号の指示により演算を行い、前記部分剰余記憶回路に出力する桁上げ保存加算手段と、を具備することを特徴とする。
また、本発明に係る演算器は、部分剰余を和（Ｓｕｍ）と桁上げ（Ｃａｒｒｙ）の２つの数デジットの和によって表現し、基数２のＳＲＴアルゴリズムに基づいた平方根演算及び除算の演算器であって、前記部分剰余の和と桁上げの２つの数デジットを記憶する部分剰余記憶回路と、前記部分剰余の２つの数デジットの上位１ビット目乃至３ビット目における加算結果を得る加算手段と、前記部分剰余の２つの数デジットの上位４ビット目における論理和を得る論理和生成手段と、前記加算手段と前記論理和生成手段との演算結果に基づいて次の商デジットの決定を行う商デジット決定手段と、を具備する商デジット選択回路と、演算が行われている商デジットのビット位置を記憶するビット位置指示手段と、下位からの桁上げがあるものと仮定した場合の非冗長表現された商デジットを表現する桁上げ有りの商デジット集合記憶手段と、下位からの桁上げがないものと仮定した場合の非冗長表現された商デジットを表現する桁上げ無しの商デジット集合記憶手段と、前記ビット位置指示手段、前記桁上げ有りの商デジット集合記憶手段、及び前記桁上げ無しの商デジット集合記憶手段の結果を用いて、平方根開平演算に用いられるデータを生成する開平用データ生成手段と、前記ビット位置指示手段、前記桁上げ有り及び桁上げ無しの商デジット集合記憶手段の結果を用いて商デジット集合を生成する商デジット処理手段とを有する平方根開平演算データ生成回路と、除数デジットを記憶する除数デジット記憶回路と、前記開平用データ生成回路若しくは前記除算デジット記憶回路のデータを選択して出力する除算／平方根演算選択回路と、この除算／平方根演算選択回路にて出力されたデータに対し、前記商デジット選択回路により決定された商デジットにより、前記部分剰余に対して加算あるいは減算を行うデータを生成する被加数選択回路と、この被加算数選択回路で生成されたデータ及び前記部分剰余記憶回路にて記憶された部分剰余を前記商デジット選択回路からの加減算指示信号の指示により演算を行い、前記部分剰余記憶手段に出力する桁上げ保存加算回路と、を具備することを特徴とする。
また、本発明に係る演算器は、部分剰余を和（Ｓｕｍ）と桁上げ（Ｃａｒｒｙ）の２つの数デジットの和によって表現し、基数が２であるＳＲＴ反復型アルゴリズムに基づいた除算若しくは平方根の演算を行う演算器であって、前記部分剰余の２つの数デジットの上位１ビット目乃至３ビット目における加算結果Ｄ０，Ｄ１，Ｄ２を得る加算手段と、
前記加算結果における下位１ビット、及び前記部分剰余数デジットの上位４ビット目における２つのデジットの論理和Ｄ３を得る論理和生成手段と、前記加算手段と、前記論理和生成手段との演算結果に基づいて次の商デジットの決定を行う商デジット決定手段と、を有する商デジット選択回路を具備することを特徴とする。
【００１６】
図１に示した商デジット選択回路（ＱＳＬ）１２３を有する演算器構成では、次のデジットを決定する際に必要となる、符号を示すビットを含めた上位４ビットの２数に対して、このうち上位の３ビットだけを１つの数とみなした桁上げ伝搬加算を行い、３ビットからなる結果を得る。また、この４ビットのうちの最下位の１ビットに位置する２数に対して論理和の演算を行ない、１ビットの結果をえる。この操作によって、基数２におけるＳＲＴアルゴリズムでの、完全な除算及び平方根における商デジットを選択するための情報が得られる。続いて、図２に示す商デジット決定ルールにより商デジット決定手段１０３においては、３ビット長加算手段１０１で得られた３ビット長の加算結果のうち最上位の１ビットＤ０によって、商デジットの符号を決定し、さらにはこの３ビット長の加算結果が、全て１である場合には商デジットの絶対値を０とし、３ビット長の加算結果ビットが全て０であってかつ、最下位１ビットの論理和が０である場合も商デジットの絶対値を０とし、これ以外の場合には絶対値を１とする。これにより、正しい商デジットを得ることができるのである。従って、３ビットの桁上げ伝搬加算結果Ｄ０，Ｄ１，Ｄ２及び最下位の１ビットに位置する２数に対して論理和の演算結果Ｄｘによって商デジットｇの決定ができるため、演算に要するハードウエア量を削減すると同時に高速な商デジットの決定が可能となる
図８に示した演算器構成は、平方根開平演算データ生成手段４４と除数デジットを記憶する除数デジット記憶手段１２２と、部分剰余の和（Ｓｕｍ）と桁上げ（Ｃａｒｒｙ）の２つの数デジットを記憶する部分剰余記憶手段１２１と、この部分剰余記憶手段１２１の出力により商デジットを生成する商デジット選択手段（ＱＳＬ）１２３と、平方根開平演算データ生成手段４４若しくは除数デジット記憶手段１２２のデータを選択して出力する除算／平方根演算選択手段１２５と、この除算／平方根演算選択手段１２５にて出力されたデータに対し、商デジット選択手段（ＱＳＬ）１２３により決定された商デジットにより、部分剰余に対して加算あるいは減算を行うデータを生成する被加数選択手段１２６と、この被加数選択手段１２６で生成されたデータ及び部分剰余記憶手段１２１にて記憶された部分剰余を商デジット選択手段（ＱＳＬ）１２３からの加減算指示信号の指示により演算を行い、部分剰余記憶手段１２１に出力する桁上げ保存加算手段１２４とを有している。ここで平方根開平演算データ生成手段４４は演算が行われている商デジットのビット位置を記憶するビット位置指示手段１１１と、下位からの桁上げがあるものと仮定した場合の非冗長表現された商デジットを表現する桁上げ有りの商デジット集合記憶手段１１２と、下位からの桁上げがないものと仮定した場合の非冗長表現された商デジットを表現する桁上げ無しの商デジット集合記憶手段１１３と、ビット位置指示手段１１１、桁上げ有りの商デジット集合記憶手段１１２、桁上げ無しの商デジット集合記憶手段１１３、商デジット選択手段（ＱＳＬ）１２３の結果を用いて商デジット集合を生成する商デジット処理手段（ＰＱＲ）１１４と、平方根開平演算に用いられるデータを生成する開平用データ生成手段（ＲＭＦ）１１５とから構成されている。本発明の第１の特徴における商デジット選択手段（ＱＳＬ）に対しては、３ビット長加算手段１０１に加えて、図１に示すような２入力論理和生成手段１０２又は図１３に示すような３入力の論理和生成手段１６２を用いる。また本発明の第１の特徴の商デジット選択手段（ＱＳＬ）は図１および図１３に示すように３ビット長加算手段１０１からの信号ならびに、論理和生成手段１０２，１６２からの信号をデコードし、実際に選択される商デジットを決定するための商デジット決定手段１０３をさらに具備している。
図９に示した演算器構成は、平方根開平演算データ生成手段４４と、現在演算を行っている商デジットを仮定して次の部分剰余の値を予測する次デジット仮定部分剰余予測手段（ＯＶＬＰ）１３１と、この仮定した商デジットが決定された時点で次デジット仮定部分剰余予測手段（ＯＶＬＰ）１３１からの予測結果信号を選択する信号選択手段（ＭＵＸ）１３３と、この選択された結果に対して商デジットの選択を行う商デジット選択手段（ＱＳＬ）１２３と、除数デジットを記憶する除数デジット記憶手段１２２と、部分剰余の計算を行う部分剰余計算手段（ＰＲＦ）１３２とから構成されることである。部分剰余計算手段（ＰＲＦ）１３２においては、図１２に示すように、商デジット＝＋１，−１に対して前もって計算しておいた部分剰余への演算数を、商デジットによって選択し、これを部分剰余に加算ないしは部分剰余から減算して次の部分剰余を得る。
【００１７】
又、図１３に示した商デジット選択回路１２３を有する演算器構成では、次のデジットを決定する際に必要となる、符号を示すビットを含めた上位４ビットの２数に対して、このうち上位の３ビットだけを１つの数とみなした桁上げ伝搬加算を２数の間で行ない、３ビットからなる結果を得る。また、この４ビットのうちの最下位の１ビットに位置する２つのデジットと、桁上げ伝搬加算の結果得られた最下位の１デジットとの間で３入力１出力の論理和演算を行い、１ビットからなる結果を得る。この操作によって、基数２におけるＳＲＴアルゴリズムでの完全な除算及び平方根における商デジットを選択するための情報が得られる。続いて、商デジット決定手段においては、商を符号と絶対値とから表わす場合には、商デジット選択手段で得られた３ビット長の加算結果のうちの最上位の１ビットによって、商デジットの符号を決定する。そして、３ビット長の加算結果が全て１であるか、あるいは上位の２ビットが０であって、かつ論理和演算の結果が０である場合には絶対値をゼロとし、そうでない場合には絶対値を１とする。また、商デジットを＋１，０，−１の３種類に分けて表現する場合には、３ビット長加算結果が全て１であるか、あるいは上位の２ビットが０であってかつ論理和演算の結果が０である場合には商デジットを０とする。続いて、３ビット長加算結果の最上位ビットが０であって、商デジットを０とする条件に適合しない場合には商デジットを＋１とし、最後に３ビット長加算結果の最上位ビットが１であって、商デジットを０とする条件に適合しない場合には商デジットを−１とする。
【００１８】
この時、図１ないし図１３の構成を用いれば、商決定手段の構成から、部分剰余の上位４ビットの桁上げ伝搬加算結果がゼロになる場合に、商デジットとしては０が選択されることから、部分剰余＝０すなわち、除算あるいは平方根演算が割り切れている場合には必ず商デジットとしては０が選択されることになる。従って、従来問題であった商の不正確さの問題は生じなくすることができる。
【００２１】
【発明の実施の形態】
以下、本発明に係る演算器について、図面を参照しながら説明する。
【００２２】
［第１実施の形態］
図１は本発明の第１の実施の形態に関わる反復型アルゴリズムに基づいた商デジット選択回路の概略構成を示すブロック図である。図１中のＣ１，Ｃ２，Ｃ３，及びＣ４は冗長表現されている部分剰余の桁上げ信号（Ｃａｒｒｙ）の入力部である。また、Ｓ０，Ｓ１，Ｓ２，及びＳ３は冗長表現されている部分剰余の加算結果信号（Ｓｕｍ）の入力部である。ここで、Ｓ０，Ｃ１はそれぞれの部分剰余信号の最上位ビットである。３ビット長加算手段１０１は、２つの３ビット長のデータを入力し、その加算結果を出力するものである。論理和生成手段１０２は、２つの１ビットデータを入力し、その論理和を出力するものである。次に本発明の第１の実施の形態に係る商デジット選択回路の動作について説明する。まず、正しいビットの重みづけとするために、３ビット長加算手段１０１に対してａ０，ａ１，ａ２にそれぞれ和信号Ｓ０，Ｓ１，Ｓ２を、またｂ０，ｂ１，ｂ２に対して桁上げ信号Ｃ１，Ｃ２，Ｃ３を入力することによってＤ０，Ｄ１，Ｄ２の３ビットからなる加算結果を得る。この時、Ｄ０は部分剰余の符号を表わすことになり、Ｄ１，Ｄ２で部分剰余の数値の大きさを表現することになる。また、図１中で最下位に相当する信号Ｓ３とＣ４の論理和をとったものを、Ｄｘとして出力する。次に、このようにして得られたＤ０，Ｄ１，Ｄ２，Ｄｘなる信号を商デジット決定手段１０３へ入力し、この商デジット決定手段１０３にて図２に示す変換表を用いて商デジットに変換する。以上のようにして、商デジットを得ることができる。
【００２３】
前述したように、基数２のＳＲＴアルゴリズムによる演算では、部分剰余を冗長数で表現している場合、図１におけるＤ０，Ｄ１，Ｄ２が０，１，１となった場合に問題が生ずる。すなわち、仮に小数点がＤ１とＤ２との間にあるとした場合、０１．１なるＤ０，Ｄ１，Ｄ２の値は、これよりも下位の桁上げ信号及び加算結果信号が全て０であった場合には最小値として１０進表現で＋１．５となるが、逆にこれらの信号が全て１であった場合には、−１．５よりもわずかに大きな数ともなりえる。すなわち、この場合の部分剰余が存在している可能性のある値の範囲は＋１．５以上＋２．０未満及び、−２．０以上−１．５未満という離散した範囲になってしまう問題がある。そこで、従来は、図３５に示すように、３ビット長の加算手段に商デジット記憶手段等のハードウェアを加えて、前に選択したデジットの値を用いる等の手段を用いてこの問題を回避していた。しかしながら商デジットの選択規則の対称性が悪くなることや、前のデジットを保存しておくためのハードウエアが必要であることなどのデメリットがあることは前述した通りである。又、４ビットの桁上げ伝搬加算手段を用いた場合にはこの部分での遅延時間が増大するというデメリットがある。
【００２４】
そこで、本発明の第１の実施の形態に係る商デジット選択回路を用いれば、図１に示すように単純な論理和生成手段１０２を加算器１０１に加えて用いるだけで、商選択規則の対称性を保持しながら高速性を発揮できるようになる。すなわち、Ｄ０，Ｄ１，Ｄ２が０，１，１になり、かつ部分剰余計算後の新しい部分剰余の値の範囲が−２．０以上−１．５未満になってしまう場合というのは、Ｄ０，Ｄ１，Ｄ２が全て０である時に、商デジットとして＋１を選んでしまうときにのみ発生するので、Ｄ０，Ｄ１，Ｄ２が全て０である時に限り、もう１ビット先のＤｘを調べることで、少なくとも現在の部分剰余の値が００．０１以上であるか否かを判断し、００．０１未満である場合、すなわちＤｘが０である場合には商デジットとして０を選ぶことでこの問題を回避し、しかも商デジットの選択規則の対称性を、図２のような割り当てを行なうことで、維持することができるようになるのである。
【００２５】
すなわち、本発明の第１の実施の形態に関わる商デジット選択回路を有する演算器構成では、次のデジットを決定する際に必要となる符号を示すビットを含めた上位４ビットの２数に対して、このうち上位の３ビットだけを１つの数とみなした桁上げ伝搬加算を行ない、３ビットからなる結果を得る。また、この４ビットのうちの最下位の１ビットに位置する２数に対して論理和の演算を行ない、１ビットの結果を得る。この操作によって、基数２におけるＳＲＴアルゴリズムでの、完全な除算及び平方根における商デジットを選択するための情報が得られる。続いて、商デジット決定手段においては、図２に示す商デジット決定ルールを用いる。つまり、商デジット選択手段で得られた３ビット長の加算結果のうちの最上位の１ビットによって、商デジットの符号を決定し、さらにはこの３ビット長の加算結果が全て１である場合には商デジットの絶対値を０とし、全て０であってかつ、最下位１ビットの論理和が０である場合も商デジットの絶対値を０とし、これ以外の場合には絶対値を１とする。これにより、正しい商デジットを得ることができるのである。従って、３ビットの桁上げ伝搬加算及び最下位の１ビットに位置する２数に対する論理和の演算にて商デジットの決定ができるため、演算に要するハードウエア量を削減すると同時に高速な商デジットの決定が可能となる。又、商デジットを直接＋１，０，−１として出力する場合でも、この優位性は保持される。
【００２６】
更に、従来法である図３６のような割り当てでは商デジットとして０が選択される確率が約３５パーセントであったのに対し、図２のような割り当てでは約４３パーセントと実に約８パーセントの向上を図ることができる。この商デジットとして０が選択されれば、後の計算が非常に単純になるため、商デジットとして０が選択される確率が向上することにより、演算を高速に処理することができる。
【００２７】
又、後述するように、従来の３ビット長加算による商デジット選択回路で問題であった特定演算に対する商の不正確さの問題も解決できる。
【００２８】
以上説明してきたように、本発明の第１の実施の形態によれば、従来の商デジット選択手段に対して、高速に演算が可能であり、ハードウェアとしての回路もシンプルとなる。しかも商デジット選択における演算の対称性を維持することができる。
【００２９】
［第２実施の形態］
図３は本発明の第２の実施の形態に関わる冗長数表現による商デジットを用いる反復アルゴリズムに基づいた平方根開平演算データ生成手段４４のブロック図である。この平方根開平演算データ生成回路は、演算が行われている商デジットのビット位置を記憶するビット位置指示手段１１１と、下位からの桁上げがあるものと仮定した場合の非冗長表現された商デジットを表現する桁上げ有りの商デジット集合記憶手段１１２と、下位からの桁上げがないものと仮定した場合の非冗長表現された商デジットを表現する桁上げ無しの商デジット集合記憶手段１１３と、これらのビット位置指示手段１１１，桁上げ有りおよび桁上げ無しの商デジット集合記憶手段１１２，１１３及び商デジットｑを用いて次の商デジット集合を生成する商デジット処理手段（ＰＱＲ）１１４とから構成される商デジット遂次変換部４６と、前記ビット位置指示手段１１１、前記桁上げ有りの商デジット集合記憶手段１１２、及び前記桁上げ無しの商デジット集合記憶手段１１３の結果を用いて、平方根開平演算に用いられるデータ（Ｒｏｏｔ−ｍｕｌｔｉｐｌｅ）を生成する開平用データ生成手段（ＲＭＦ）１１５とを有し、本発明の第１の実施の形態に関わる商デジット選択回路から冗長数表現として得られる商デジットｑを入力することにより、非冗長数表現である商デジット集合ならびに開平用データを生成する。
【００３０】
また、図４は、この商デジット遂次変換部４６のうち、商デジット集合を生成する商デジット処理手段（ＰＱＲ）１１４の具体的な構成を示したものである。ここで、ビット位置指示手段１１１は現在処理中のビット位置を保持することができ、現在処理中のビット位置のみが１で残りがすべて０を保持するものである。このビット位置指示手段１１１は各ビット位置に該当する論理和生成手段に接続されている。図４では、ｎビット目、及びｎ＋１ビット目が示されている。ビット位置指示手段１１１からの情報をもとにして、商デジットの値に応じ、図５に示すような結果が得られるように演算を行なう。このとき、商デジット集合は、除算／平方根演算の開始時点において、ゼロにクリアされている必要がある。
【００３１】
また、図６は、本発明の第２の実施の形態における開平用データ生成手段（ＲＭＦ）１１５の具体的な構成を示したものであり、ビット位置指示手段１１１の信号によって、適切な値が商デジット集合の値に付け加えられて出力される。この場合、商デジット処理手段１１４とは異なり、隣り合う２ビット分のデータが付け加えられるため、図６に示すように、１ビット分となりのビット位置指示信号の値を使用しており、図７はその動作の内容を示している。なお、最上位（ｎ＝０）ビットに位置する回路においては、これより上位にはビット位置指示手段が存在しないことから、自動的に上位からのビット位置指示信号Ｐ−１は０としてよい。開平用データ生成手段（ＲＭＦ）１１５は、ビット位置指示手段１１１、桁上げ有りの商デジット集合記憶手段１１２、及び桁上げ無しの商デジット集合記憶手段１１３の結果を用いて、平方根開平演算に用いられるデータを生成する際に、ビット位置指示手段１１１の指示に制約条件を課すことでハードウェア量を減少させることが好ましい。このビット位置指示手段１１１の指示の制約条件については図１７を用いて、後述する。
【００３２】
本発明の第２の実施の形態に関わる平方根開平演算用データ生成手段４４を有する演算器の構成では、図６に示した開平用データ生成手段１１５にて、商デジット集合記憶手段１１２，１１３の記憶内容および、ビット位置指示手段１１１からの信号を用いることによって、商デジットが＋１である場合には、桁上げを仮定した商デジット集合に対して、当該ビット位置に０，１なるデジットをつけ加え、商デジットが−１である場合には桁上げを仮定しない商デジット集合に対して当該ビット位置に１，１なるデジットを付け加えたものを開平用データとして生成する。デジットが０である場合には、開平用データは不要となる。なお、この際ビット位置指示手段１１１の信号は当該ビット位置だけが１であり、その他のビット位置では全てゼロであるような信号であり、これに対して適切な論理演算を行なうことで、デジットのつけ加えを実現することかできる。続いて、新しく生成された商デジットに対し、新しい商デジット集合を生成する商デジット処理手段（ＰＱＲ）１１４については、図５に示すように商デジットが＋１である場合には、現時点の、桁上げを仮定した商デジット集合に対し、１および０をビット位置指示信号Ｐｎを用いて付け加えたものを、桁上げを仮定したものと、仮定しない商デジット集合にそれぞれ書き込む。デジットが０である場合には、現時点の商デジット集合に対し、桁上げを仮定したものについは０を、仮定しないものについては１をそれぞれ付け加えて書き戻す。最後に商デジットが−１である場合には、現時点の、桁上げを仮定しない商デジット集合に対し、１および０をビット位置指示信号Ｐｎを用いて付け加えたものを、桁上げを仮定したものと、仮定しない商デジット集合にそれぞれ書き込む。以上により、商デジット集合の操作が完了し、次の開平用データ生成を行なうこととなる。
【００３３】
また、ビット位置指示手段１１１の出力に制約条件を課するようにする。即ち、例えば、現在演算を行っているビット位置を指示するビット位置指示手段１１１の指示が、図１７に示すように所定のビットおきにしか変化しないようにすると、ビット位置指示手段１１１の内容が決して変化しないビット位置が生ずることになる。図１７については本発明の第７の実施の形態として詳述する。この決して内容が変化しないビット位置を見越して開平用データを生成する構成にすることにより、開平用データ生成手段（ＲＭＦ）１１５のハードウェア量を減少させることができる。さらに、構成が簡易になることで、信号遅延を減少させることもできる。
【００３４】
このように本発明の第２の実施の形態によれば、従来あまり良くは知られていなかった平方根演算用の開平用データの非冗長デジット形式での作成を非常にシンプルなハードウェアの構成で可能とすることができる。又本発明の第２の実施の形態によればハードウェア量の増大を小さく押えると同時に高速な処理が行える。
【００３５】
［第３実施の形態］
図８は本発明の第３の実施の形態に関わる部分剰余を和（Ｓｕｍ）と桁上げ（Ｃａｒｒｙ）の２つの数デジットの和によって表現した反復型アルゴリズムに基づいた演算器のブロック図である。本発明の第３の実施の形態に関わる演算器は、部分剰余の和（Ｓｕｍ）と桁上げ（Ｃａｒｒｙ）の２つの数デジットを記憶する部分剰余記憶手段１２１と、この部分剰余記憶手段１２１の出力により商デジットを生成する商デジット選択手段（ＱＳＬ）１２３と、演算が行われている商デジットのビット位置を記憶するビット位置指示手段１１１と、下位からの桁上げがあるものと仮定した場合の非冗長表現された商デジットを表現する桁上げ有りの商デジット集合記憶手段１１２と、下位からの桁上げがないものと仮定した場合の非冗長表現された商デジットを表現する桁上げ無しの商デジット集合記憶手段１１３と、前記ビット位置指示手段１１１、前記桁上げ有りの商デジット集合記憶手段１１２、及び前記桁上げ無しの商デジット集合記憶手段１１３、商デジット選択手段（ＱＳＬ）１２３の結果を用いて次の商デジット集合を生成する商デジット処理手段（ＰＱＲ）１１４と、平方根開平演算に用いられるデータを生成する開平用データ生成手段（ＲＭＦ）１１５から構成される平方根開平演算データ生成手段４４と、除数デジットを記憶する除数デジット記憶手段１２２と、前記開平用データ生成手段１１５若しくは前記除数デジット記憶手段１２２のデータを選択して出力する除算／平方根演算選択手段１２５と、この除算／平方根演算選択手段１２５にて出力されたデータに対し、前記商デジット選択手段１２３により決定された商デジットにより、前記部分剰余に対して加算あるいは減算を行うデータを生成する被加数選択手段１２６と、この被加数選択手段１２６で生成されたデータ及び前記部分剰余記憶手段１２１にて記憶された部分剰余を前記商デジット選択手段（ＱＳＬ）１２３からの加減算指示信号の指示により演算を行い、前記部分剰余記憶手段１２１に出力する桁上げ保存加算手段１２４とを有している。
【００３６】
除算／平方根演算選択手段１２５により、除算／平方根演算選択信号によって開平用データと除数デジットとを切り替えて得られる信号を被加数選択手段１２６に入力することにより、両方の演算がその他のハードウエアを完全に共用とした上で実現できるため、ハードウエア量を減少させることができる。この時、アルゴリズムとしては、基数が２である必要がある。本発明の第３の実施の形態によれば、簡単な除数／平方根演算選択手段１２５と、除数デジット記憶手段１２２を追加するのみで、平方根演算に加えて除算が行なえるようになることから、小さなハード量の増加で多様な汎用性の増大が実現できる。なお、除数デジット記憶手段１２２並びに除算／平方根演算選択手段１２５を除いた構成、すなわち、平方根演算用の演算器としても用いることができる。
【００３７】
本発明の第３の実施の形態に関わる演算器は、本発明の第１および第２の実施の形態を組み合わせて構成することが可能である。このような構成にすることにより平方根演算を高速に実現できる。またこのような簡潔な構成において従来問題となっていたこれらの演算の所要時間を大幅に短縮することができる。また、開平用データ生成手段（ＲＭＦ）１１５からの出力信号と、除数デジット記憶手段１２２からの除数デジット信号とを除数／平方根演算選択手段１２５によって切り替えることによって、他のハードウエアは全く同一としながら両方の機能が実現される。これにより、ハードウエア量を減少させることができるのである。また、本発明の第３の実施の形態によれば商デジット集合を非冗長形式で記録することができるので商デジットを冗長数で記録しておいて最後に加算をフルビット長で行なう従来の過程を省略することができ、ここでのハードウェア量の減少を得ることもできる。
【００３８】
［第４実施の形態］
図９は本発明の第４の実施の形態に係る次商デジット仮定型除算／平方根演算装置の構成を示すブロック図である。図９に示す演算器は部分剰余を和（Ｓｕｍ）と桁上げ（Ｃａｒｒｙ）の２つの数デジットの和によって表現し、反復型アルゴリズムに基づいた平方根演算を行う。本発明の第４の実施の形態の演算器は図９に示すように演算が行われている商デジットのビット位置を記憶するビット位置指示手段１１１と、下位からの桁上げがあるものと仮定した場合の非冗長表現された商デジットを表現する桁上げ有りの商デジット集合記憶手段１１２と、下位からの桁上げがないものと仮定した場合の非冗長表現された商デジットを表現する桁上げ無しの商デジット集合記憶手段１１３と、ビット位置指示手段１１１、桁上げ有りの商デジット集合記憶手段１１２、及び桁上げ無しの商デジット集合記憶手段１１３と商デジットｑを用いて、商デジット集合を生成する商デジット処理手段（ＰＱＲ）１１４および平方根開平演算に用いられるデータを生成する開平用データ生成手段（ＲＭＦ）１１５から成る平方根開平演算データ生成手段４４を具備している。さらに平方根開平演算データ生成手段４４に加え開平用データ生成手段（ＲＭＦ）１１５の出力に対し、現在演算を行っている商デジットを仮定して次の部分剰余の値を予測する次デジット仮定部分剰余予測手段（ＯＶＬＰ）１３１と、この仮定した商デジットが決定された時点で次デジット仮定部分剰余予測手段（ＯＶＬＰ）１３１からの予測結果信号を選択する信号選択手段（ＭＵＸ）１３３と、この選択された結果に対して商デジットの選択を行う商デジット選択手段（ＱＳＬ）１２３と、除数デジットを記憶する除数デジット記憶回路１２２を備えている。この除数デジット記憶回路１２２を備えることにより、除算若しくは平方根の演算を行うことができるようになる。さらに、本発明の第４の実施の形態の演算器は図１２あるいは図３７に示すような部分剰余の計算を行う部分剰余計算手段（ＰＲＦ）１３２を具備している。
【００３９】
本発明の第４の実施の形態では、次デジット仮定部分剰余予測手段（ＯＶＬＰ）１３１によって、例えば商デジットが、＋１，０，−１の３つの場合について、それぞれ次の部分剰余がどのようになるのかを計算しておき、当該デジットｑ  ｊ＋１  が決定した時点でこれらを信号選択手段（ＭＵＸ）１３３を用いて選択し、商デジット選択手段（ＱＳＬ）１２３によってその次の商デジットｑ  ｊ＋２  を決定できる。この時、商デジット選択手段１２３は、信号選択手段（ＭＵＸ）１３３の前に置いて、あらかじめ予測される商デジットｑ  ｊ＋２  の候補を計算しておき、これを信号選択手段１３３で選択することによって次の商デジットが決定されるという構成も有り得る。本発明の第４の実施の形態は、開平用データ生成手段（ＲＭＦ）１１５での処理の高速化が図れて時間的余裕ができるため次デジット仮定部分剰余予測手段（ＯＶＬＰ）１３１の処理を行うことができる。次に、本発明の第４の実施の形態に関わる演算器の具体的な構成を図１０に示す。図１０では、次デジット仮定部分剰余予測手段（ＯＶＬＰ）１３１には４ビット長桁上げ保存加算器（４ｂＣＳＡ）を用いており、開平用データ又は除数デジット集合信号及び部分剰余を入力するようにしてある。
【００４０】
このように本発明の第４の実施の形態によれば従来、例のなかった平方根演算での次デジット仮定型演算が、少ないハード量と、高速な実行時間をもって可能となる。
【００４１】
［第５実施の形態］
図１１は本発明の第５の実施の形態に係る自己同期型除算／平方根演算装置の構成を示すブロック図である。図１１に示す演算器は部分剰余を和（Ｓｕｍ）と桁上げ（Ｃａｒｒｙ）の２つの数デジットの和によって表現し、反復型アルゴリズムに基づいた平方根演算を行う。本発明の第５の実施の形態の演算器は図１１に示すように複数のセットアップ／リセット信号同時伝搬範囲１１，１２，…が多段に縦属接続されたものである。図１１の第１のセットアップ／リセット信号同時伝搬範囲１１のさらに前段には演算が行われている商デジットのビット位置を記憶するビット位置指示手段１１１と、下位からの桁上げあるものと仮定した場合の非冗長表現された商デジットを表現する桁上げ有りの商デジット集合記憶手段１１２と、下位からの桁上げがないものと仮定した場合の非冗長表現された商デジットを表現する桁上げ無しの商デジット集合記憶手段１１３と、ビット位置指示手段１１１、桁上げ有りの商デジット集合記憶手段１１２、及び桁上げ無しの商デジット集合記憶手段１１３の結果Ｐｊ，Ｑｊ，Ｒｊを用いて、平方根開平演算に用いられるデータを生成する第１の開平用データ生成手段（ＲＭＦ）１１５と、この開平用データ生成手段（ＲＭＦ）１１５の出力に対し、現在演算を行っている商デジットを仮定して次の部分剰余の値を予測する第１の次デジット仮定部分剰余予測手段（ＯＶＬＰ）１３１と、除数デジット記憶手段１２２とが配置されている。そして図１１には、この第１のＯＶＬＰ１３１からの予測結果信号を入力する第１のセットアップ／リセット信号同時伝搬範囲１１と、第１のセットアップ／リセット信号同時伝搬範囲１１からの予測結果信号を入力する第２のセットアップ／リセット信号同時伝搬範囲１２の一部が示されている。第３のセットアップ／リセット信号同時伝搬範囲等は図示を省略している。第１のセットアップ／リセット信号同時伝搬範囲１１は第１の次デジット仮定部分剰余予測手段（ＯＶＬＰ）１３１からの予測結果信号を仮定した商デジットが決定された時点で選択する第１の信号選択手段（ＭＵＸ）１３３と、この選択された結果に対して商デジットの選択を行う第１の商デジット選択手段（ＱＳＬ）１２３とを具備している。さらに、本発明の第５の実施の形態の演算器の第１のセットアップ／リセット信号同時伝搬範囲１１は図１１に示すように部分剰余の計算を行う第１の部分剰余計算手段（ＰＲＦ）１３２、第１の信号選択手段（ＭＵＸ）１３３、第１の商デジット選択手段（ＱＳＬ）１２３、及び開平用データ生成に必要なデータを供給する第１の商デジット処理手段（ＰＱＲ）１１４、第２の開平用データ生成手段（ＲＭＦ）２１５、第２のビット位置指示手段２１１，第２の桁上げ有り及び無しの商デジット記憶手段２１２，２１３，第２のセットアップ／リセット信号同時伝搬範囲１２に対して、予測信号を出力する第２の次デジット仮定部分剰余予測手段（ＯＶＬＰ）２３１とを具備している。
【００４２】
第２のセットアップ／リセット信号同時伝搬範囲１２は、第１のセットアップ／リセット信号同時伝搬範囲１１と同様な構成で第２のＯＶＬＰ２３１からの予測結果信号を選択する第２のＭＵＸ２３３と、この選択された結果に対して商デジットの選択を行う第２のＱＳＬと、第２のＰＲＦ２３２、第２のＰＱＲ２２４、第３のビット位置指示手段３１１，第３の桁上げ有り及び無しの商デジット集合記憶手段３１２，３１３，図示を省略した第３のＲＭＦ、第３のＯＶＬＰとを具備している。
【００４３】
さらに本発明の第５の実施の形態の演算装置は図１１に示すように第２のＰＱＲ２２４、第２のＰＲＦ２３２および第２のＱＳＬ２２３の少なくとも１つの演算の終了結果を検出して演算完了信号を生成する演算完了信号生成手段１４３と、前記演算完了信号生成手段１４３で生成された演算の終了結果の信号を用いて、第１のセットアップ／リセット信号同時伝搬範囲に、次回の演算に備えたリセットの動作を行うセットアップ／リセット手段１４２およびセットアップ／リセット手段にセットアップ信号を供給するセットアップ信号生成手段１４１とを具備している。
【００４４】
図１１は本発明の第５の実施の形態の演算装置の一部を例示したものであって、実際には最低３段以上のセットアップ／リセット信号同時伝搬範囲のシリーズ接続が必要となる。すなわち図９に示した第４の実施の形態の演算装置が３段以上シリーズ接続されることとなる。自己同期型回路では、演算完了信号が正しく生成されることが必要となる。したがって本発明の第５の実施の形態における回路の構成要素は２線論理による相補論理出力型ダイナミック回路とし、リセット信号によってある２つのノードを電源電圧までプリチャージしておき、このときの２つノードの状態を“演算未了状態”としている。そして、それぞれのノードに対し、互いに相補の関係にあるような論理回路を接続し、何れか一方だけが放電されてノードの電位が低下するようにしているので、電位の低下が何れかのノードで観測された時点で“演算完了”状態と見なされる。このような回路を多段に接続すると、演算の終了検出が可能となる。しかしながら、この方式では、回路をリセット（プリチャージ）しておき、演算を行う前にセットアップ（プリチャージ解除）する必要があることから、このタイミングをいかにして作るかが焦点となる。そこで、図１１の構成では、破線に囲ったセットアップ／リセット信号同時伝搬範囲１１，１２，１３，…を１つのグループとして考えて、これを１つの単位とすることでプリチャージの制御を行なう。そして、この破線の範囲の回路がリセットされてもよいのは、その直後にある商デジット選択手段（ＱＳＬ）２２３及び、商デジット処理手段（ＰＱＲ）２２４及び、部分剰余計算手段（ＰＲＦ）２３２の全てが演算を終了した後であることから、これらの手段からの信号によって演算完了を検出する演算完了信号生成手段１４３を用いる。この演算完了信号生成手段１４３では、前述した演算結果が有効であることを示す信号の論理積をとることによって、全ての演算が終了していることが保証できることになる。しかしながら、信号線の本数が膨大となることから、例えば図１１の構成において、商デジット選択手段（ＱＳＬ）２２３よりも商デジット処理手段（ＰＱＲ）２２４の動作速度の方が必ず速いとすることにより、商デジット処理手段２２４の演算完了検出を省略することができる。この省略により商デジットのビット数だけその検出をしなくてよいため、完了の検出を高速にすることができるのである。
【００４５】
このように本発明の第５の実施の形態によれば従来設計が困難であった演算の完了判定が、より大きなマージンをもって、簡略化された構成で実現できる。またこのような簡単な完了判定の実現が可能になると同時に、ハードウェア量の削減にも寄与できる。また従来例のなかった自己同期型回路設計における平方根及び平方根／除算共用演算器を簡単に構成でき、基礎として使用している演算ブロックの処理が高速化される。したがって本発明の第５の実施の形態によれば非常に高速な演算を実現することができる。
【００４６】
［第６実施の形態］
図１３は本発明の第６の実施の形態に係る演算器の商デジット選択手段１２３の概略を示すブロック図である。本発明の第６の実施の形態に係る演算器は、部分剰余を和（Ｓｕｍ）と桁上げ（Ｃａｒｒｙ）の２つの数デジットの和によって表現し、基数が２である反復型アルゴリズムに基づいた除算若しくは平方根の演算を行う。図１３は前記部分剰余の２つの数デジットの上位１ビット目乃至３ビット目における加算結果を得る加算手段１０１と、前記加算結果における下位１ビット、及び前記部分剰余デジットの上位４ビット目における２つのデジットの論理和を得る３入力論理和生成手段１６２と、前記加算手段１０１と、前記論理和生成手段１６２との演算結果に基づいて次の商デジットの決定を行う商デジット決定手段１０３から成る商デジット選択手段（ＱＳＬ）１２３の構造を示している。
【００４７】
図１３においては冗長表現されている部分剰余の桁上げ信号Ｃ１，Ｃ２，Ｃ３，Ｃ４及び、加算結果信号Ｓ０，Ｓ１，Ｓ２，Ｓ３から、正しいビットの重みづけとするために、３ビット長加算手段に対してａ０，ａ１，ａ２にそれぞれＳ０，Ｓ１，Ｓ２を、またｂ０，ｂ１，ｂ２に対してＣ１，Ｃ２，Ｃ３を入力することによって、Ｄ０，Ｄ１，Ｄ２の３ビットからなる加算結果を得る。ここで、Ｓ０，Ｃ１はそれぞれの部分剰余信号の最上位ビットである。この時、Ｄ０は部分剰余の符号を表わすことになり、Ｄ１，Ｄ２で部分剰余の数値の大きさを表現することになる。また、図１３中で最下位に相当する信号Ｓ３とＣ４ならびに、３ビット長加算手段１０１における最下位ビットＤ２の論理和を論理和生成手段１６２によりとったものを、Ｄ３として出力する。そして、このようにして得られたＤ０，Ｄ１，Ｄ２，Ｄ３なる信号を図１４（ａ）あるいは同図（ｂ）に示す変換表を用いて商デジットに変換する。既に説明したように基数２のＳＲＴアルゴリズムによる演算では、部分剰余を冗長数で表現している場合、図３５および３６におけるＤ０，Ｄ１，Ｄ２が０，１，１となった場合に問題が生ずることが知られている。すなわち、今仮に小数点がＤ１とＤ２の間にあるとした場合、０１．１なるＤ０，Ｄ１，Ｄ２の値は、これよりも下位の桁上げ信号及び加算結果信号が全て０であった場合には最小値として１０進表現で＋１．５となるが、逆にこれらの信号が全て１であった場合には、−１．５よりもわずかに大きな数ともなりえる。すなわち、この場合の部分剰余が存在している可能性のある値の範囲は＋１．５以上＋２．０未満及び、−２．０以上−１．５未満という離散した範囲になってしまう。そこで、従来は、４ビット長の桁上げ伝搬加算手段を用いることや、図３５に示すように、３ビット長の加算手段に加えて、前に選択したデジットの値を用いることで、この問題を回避していた。ところが、これらの方法では、４ビットの桁上げを用いた場合は、当然この部分での遅延時間が増大し、後者の方法では商デジットの選択規則の対称性が悪くなることや、前のデジットを保存しておくためのハードウェアが必要であるというデメリットがある。ところが、本発明の第６の実施の形態による図１３の構成を用い、商決定規則として図１４（ａ）あるいは同図（ｂ）の規則を用いれば、単純な論理和生成手段１６２を加算器１０１に加えて用いるだけで、商選択規則の対称性を保持しながら高速性を発揮できるようになる。すなわち、Ｄ０，Ｄ１，Ｄ２が０，１，１になり、かつ部分剰余計算後の新しい部分剰余の値の範囲が−２．０以上−１．５未満になってしまう場合というのは、Ｄ０，Ｄ１，Ｄ２が全て０である時に、商デジットとして＋１を選んでしまうときにのみ発生する。そこで、Ｄ０，Ｄ１，Ｄ２が全て０である時に限り、もう１ビット先のＤ３を調べることで、少なくとも現在の部分剰余の値が００．０１（２進）以上であるか否かを判断し、００．０１（２進）未満である場合、すなわちＤ３が０である場合には商デジットとして０を選ぶことでこの問題を回避し、しかも商デジットの選択規則の対称性を、図１４（ａ）あるいは同図（ｂ）のような割り当てを行うことで、維持することができるようになる。この構成は、前述した本発明の第１の実施の形態の図１の構成と論理的には同一であるが、商デジット決定手段１０３の論理がより簡略化されていることから、更に高速な動作が期待できる。このことは、次のようにして説明できる。つまり、Ｄ３の演算時間に関しては、Ｄ３を生成する源となっている信号の内、Ｓ３およびＣ４については部分剰余が生成された時点で得られ、Ｄ２については、Ｓ２とＣ３との排他的論理和を１段実行するのみであるから、他のＤ０やＤ１に比べればはるかに早い時点で得られることになる。この結果、Ｄ２とＳ３、Ｃ４による３入力１出力の論理和を生成している時間は、商デジット選択におけるクリィティカルパスには利いてこなくなり、商デジット決定を高速なものとすることができる。図１５および図１６は、図１４（ａ）および同図（ｂ）をダイナミックＣＭＯＳ論理回路を用いて構成した場合の具体的な回路構成の例である。
【００４８】
一方、図３５に示す従来例による商選択ならびに商決定手段を用いた場合には、図３５中に示すように、部分剰余の上位ビットの予測値がゼロである場合に商デジットとして＋１が割り付けられているため、部分剰余の値がゼロであって、部分剰余の上位３ビットの加算結果がゼロである場合には、間違った商デジットを選択してしまうことになる。このことは、部分剰余の上位４ビットの加算結果を用いて商決定を行う構成を採用すれば生じないが、加算が４ビット長となる分、演算時間が長くなってしまう。ところが、本発明の第６の実施の形態による商デジット選択手段（ＱＳＬ）ならびに商デジット決定手段１０３を用いると、商デジット選択を間違うことはなくなる。したがって本発明の第６の実施の形態によれば、３ビット長加算器を用いることによる高速性を維持しながら、得られる商デジットが常に正しいことを保証する演算器を実現することができる。さらにはこのことは、前述した本発明の第１の実施の形態で説明した図１のような構成の商デジット選択ならびに商デジット決定手段１０３を用いても実現されているが、本発明の第６の実施の形態における商デジット選択手段ならびに商デジット決定手段を用いた方が、より高速で動作する。
【００４９】
このように本発明の第６の実施の形態では、従来の商選択手段に対して、さらなる高速性をわずかなハードウェアによって達成することができる。特に従来の構成では困難であった、３ビット長加算器を用いながら、商デジットの正確さを保証できるような商デジット選択手段を商選択および商決定における演算時間を増加させることなしに実現することができる。尚、従来の構成で行われている演算後に商の正当性を検査して必要ならば補正を行うという操作を省略できることから、ハードウェア量を低減し、補正操作に要していた時間を節約できる。
【００５０】
［第７実施の形態］
図１７は本発明の第７の実施の形態に係り、基数２の演算器を４段縦続接続し、１回の反復演算にて４ビットの商デジット演算を行う演算器の構成を示す。すなわち、本発明の第７の実施の形態の演算器は商デジットの逐次冗長−非冗長数の変換を行うことで、反復型アルゴリズムに基づいた除算若しくは平方根の演算を行う演算器であって、図３に示すような商デジット遂次変換部４６を所定の段数縦続接続したものである。つまり、図３に示したような現在演算が行われている商デジットのビット位置を、その位置に相当するビットだけ値が他とは異なっているような形式を用いて記憶するビット位置指示手段１１１と、次の商デジットの値が正であることを仮定した場合の非冗長数表現された商デジットを表現する第１の商デジット集合（桁上げ有り）記憶手段１１２と、次の商デジットの値が負であることを仮定した場合の非冗長数表現された商デジットを表現する第２の商デジット集合（桁上げ無し）記憶手段１１３と、次に得られる商デジットに対応する商デジット集合を生成する商デジット処理手段（ＰＱＲ）１１４とから構成される商デジット遂次変換部４６をそれぞれ２以上の所定の数だけ縦続接続して演算器を構成しており、該演算器における１回の演算にて２ビット以上の所定ビット数の商デジットを得ることができる。
【００５１】
この時、図１７中に示すように、現在商デジットの演算を行っているビット位置であることを示すビット位置指示手段Ｐの各ビット位置における内容は、演算器群を１回データが通過するごとに４ビットずつ下位へ向かって演算が進んでいく。このことを反映して、基数２の各演算器段における４の剰余がある値に等しいビット位置においてのみＰ＝１となって現在商デジットの演算を行っているビット位置が発生することから、残る全体の３／４のビット位置では決してＰは変化しないことになる。この結果、演算中のビット位置における特定ビットデータの付加を基本とする部分商レジスタの逐次冗長−非冗長数変換では、特定ビットデータの付加が決して起らないビット位置が全体の３／４の割合で発生することとなる。この結果、この部分でのハードウェアを図１８のように構成することが可能となり、先に本発明の第２の実施の形態で説明した図４と比べて大幅に縮小される。
【００５２】
さらに各段の商デジット遂次変換部４６に開平用データ生成手段（ＲＭＦ）１１５を付加すれば平方根演算が可能となる。図１９（ａ）および同図（ｂ）は、本発明の第７の実施の形態における平方根演算における開平用データ生成手段１１５の具体的な回路構成を示したものである。ここでは、ビット位置指示手段に関わる図１７に示した制約条件のために、先に説明した本発明の第２の実施の形態における図６の構成に比較すれば、図１９（ａ）に示すように大幅にハードウェア量が減少していることがわかる。さらに開平用データ発生に係る演算時間も、論理ゲート段数の減少によって短縮することができる。さらに制約条件を課すことで図１９（ｂ）に示す如くハードウェア量を減少させることができる。
【００５３】
図２０は、本発明の第７の実施の形態に係るオーバラップ法を用いた基数２の平方根演算器の構成であり、現在演算を行っている商デジットを仮定して、ここでは＋１，−１なる商デジットに対応する開平用データを開平用データ生成手段（ＲＭＦ）１１５により作成し、次デジット仮定部分剰余予測手段（ＯＶＬＰ）１３１を用いてこの開平用データから次の部分剰余を予測する。そして、現在の商デジットの演算が終了すると、予測しておいた次の部分剰余の中から正しいものを信号選択手段（ＭＵＸ）１３３を用いて選択し、その次の商デジット選択手段１２３により商デジットの決定を行う。この時、現在演算を行っている前の段階で決定された商デジットの生成から開平用データが生成されるまでの時間が、部分剰余にすでに計算されている開平用データを加減算する時間よりも短ければ、開平用データ生成に要する時間は演算器における演算時間に影響を与えない。
【００５４】
本発明の第７の実施の形態に係る演算器の商デジット選択手段（ＱＳＬ）１２３，２２３に対しては、図１あるいは図１３に示したものと同様な構成とすればよい。次に、図１７に示したように商デジットの逐次冗長数−非冗長数変換手段あるいは、開平用データ生成手段の縦続接続については、インプリメントされている演算器内で、１回の信号通過に際し２デジット以上ｎデジットの商デジットが計算される構成とした場合に、演算器の入力端では現在演算を行っているビット位置を指示するビット位置指示手段の指示Ｐｊ  が、ｎビットおきにしか変化しないことを利用する。すなわち、ビット位置指示手段の内容が決して変化しないビット位置では、これを見越した商デジットの逐次非冗長数変換あるいは開平用データ生成を行うことで、ビット位置指示手段の内容が変化することを前提として作られたハードウェアよりもはるかに小さな規模のハードウェアにてこれらの手段を実現することができる。単位演算器を複数段縦続接続して、全体の演算器を構成している場合の、各単位演算器間の信号についても同様なことが言え、やはり特定のビット位置でのビット位置指示手段の内容の値が決して変化しない場所が存在することから、同様な考え方で、商デジットの逐次非冗長数変換や、開平用データ作成手段におけるハードウェアの量を大幅に低減することができる。
【００５５】
次に、オーバラップ型演算器において平方根演算が除算と同じ速度で実行されるための条件について説明する。図２１は、図２０に示した次商デジット仮定部分剰余予測手段（ＯＶＬＰ）を用いたオーバラップ法における、各演算器構成手段の演算時間を表示したものである。ここで、横方向の長さが演算時間を示している。オーバラップによる演算では、常に２つの異なるデータ信号の流れが発生することから、図２１には２本の流れが描かれている。また、図中でｐとあるのは部分剰余信号であり、ｑとあるのは商デジット信号である。図２１で、除算を行う場合には、商デジット処理手段（ＰＱＲ）および開平用データ生成手段（ＲＭＦ）が不要となるが、これらを必要とする平方根の演算では、部分剰余計算手段（ＰＲＦ）から信号が出力されるよりに前に、ＲＭＦからの出力が得られていないと、即座に次デジット仮定部分剰余予測手段（ＯＶＬＰ）での処理に移れなくなることから、平方根の方が除算よりも演算時間が長くかかってしまうことになる。ところが、ＲＭＦの方がＰＲＦよりも早く演算を終了していれば、ＰＲＦの終了後直ちにＯＶＬＰでの演算を行えることから、平方根演算は除算と全く同じ速度で実現することができるようになる。ここで、ＰＲＦの演算と、ＰＱＲの演算は商デジットｑの到着を以って開始されることから、上に述べた条件は、
ＰＲＦにおける演算時間＞（ＰＱＲにおける演算時間＋ＲＭＦにおける演算時間）と書き直すことができる。
【００５６】
続いて、具体的な構成として、図２２に示すような構成を用いた演算器を考える。ここでは、点ａにおいて、商デジット信号が入力された場合に、３入力１出力の信号選択手段（ＭＵＸ）１５１によってそれぞれ点ｂならびに点ｄに、ほとんど同時に信号が到達する。続いて、ＰＲＦ１３２の信号パスでは、桁上げ保存加算器（ＣＳＡ）１５５を通って演算が完了する（ｃ点）。１ビットシフト１５９は単なる配線手段によることから、演算時間としてはほとんどかからない。これに対して開平用データの信号パスでは、開平用データ生成手段（ＲＭＦ）１１５での処理が行われた後に、点ｅに出力信号が現われる。ここで問題となっているのは、それぞれの出力端である点ｃならびに点ｅでの信号到達時間の差ということになる。そして、この到達時間差は、ＲＭＦ１１５における演算時間と、桁上げ保存加算器１５５における演算時間との差ということになる。ところで、桁上げ保存加算器（ＣＳＡ）１５５では、３入力１出力の排他的論理和回路（ＸＯＲゲート）がクリティカルパスとなるのに対し、ＲＭＦ１１５では先に説明した本発明の第７の実施の形態における図１９（ａ）の回路によって、２入力１出力の論理和回路（ＯＲゲート）がクリティカルパスになっている。ここで、一般的に３入力１出力のＸＯＲゲートは、必ず２入力１出力のＯＲゲートよりも演算時間が長いことから、必ずＲＭＦ１１５が終了して新しい開平用データが点ｅに得られてから、新しい部分剰余が点ｃに現われることになる。以上によって平方根の演算時間が除算と全く同じになることが示される。
【００５７】
以上のように本発明の第７の実施の形態では商デジットの逐次冗長−非冗長数変換手段における使用ハードウェア量を、１回の演算器使用における演算商デジット数を２以上とすることで、かなりな量にわたり減少させることができる。また１回の演算における計算商デジット数を２以上とすることで、平方根演算において、商デジットの逐次冗長−非冗長変換手段を併せて用いることによる開平用データの高速生成を可能とすると同時に、開平用データ生成に必要なハードウェアの量を著しく減少させることができる。さらに本発明の第７の実施の形態では開平用データの計算時間が大幅に短縮されることにより、次の部分剰余を高速に予測できることを用いてオーバラップ法による平方根の演算を高速化することができる。
【００５８】
［第８実施の形態］
図２３は、商デジット遂次変換部４６、開平用データ生成手段（ＲＭＦ）１１５および除数デジット記憶手段１２２とを有した、除算と平方根の両方の機能を発揮させることができる本発明の第８の実施の形態の構成を示している。すなわち、図２３においては部分剰余に対する加減算量として、開平用データか、除数データのいずれかを信号選択手段（ＭＵＸ）１７１を用い選択することで、同一のハードウェアを共有しながら除算／平方根演算を行う。この結果、高速な除算および平方根演算を、より少ないハードウェアで同時に実現できるようになる。
【００５９】
つまり、商デジット選択手段（ＱＳＬ）ならびに商デジット決定手段といった部分に図１又は図１３に示した３ビット桁上げ加算器１０１＋第４ビットの論理和回路１０２，１６２のような、除算と平方根で共用できるものを用いることで、両演算間の差は部分剰余を計算する際に用いる加減算データの違いのみであることから、この部分を信号選択手段（ＭＵＸ）１７１で切り替えることによって、同一のハードウェアにて平方根と除算が実現される。なお、この際に反復演算によって得られる、冗長表現形式の１つであるｓｉｇｎｅｄ−ｄｉｇｉｔ形式による商デジットは、少ないハードウェアによって非冗長形式に変換され、平方根演算においても少ないハードウェアにて開平用データが生成されることから、演算器を少ないハード量にて実現することができる。
【００６０】
［第９実施の形態］
本発明の第９の実施の形態は図２４に示すような２つのデータを、２以上のビット長を有する複数のブロックに分割して加算若しくは減算結果のゼロ判定を行う回路を具備する演算器である。本発明の第９の実施の形態の演算器においては２つのデータがある場合に、ブロックに分割されたデータの加算若しくは減算の結果を、前記所定のブロックの下位のブロックからの桁上げの有無により２通りのゼロ判定を行うゼロ判定手段２５１と、このゼロ判定手段２５１の２通りの出力、及び前記所定のブロックの下位のブロックからの桁上げ信号を入力し、この桁上げ信号により前記ゼロ判定手段２５１の出力を選択する選択手段２５２とを前記各ブロック毎に有している。そしてこの各ブロック毎の選択手段２５２の出力全体で選択回路の出力論理の正負に応じて論理和又は論理積をとり、加減算結果の最終的な２つのデータのゼロ判定を行う最終判定手段２５３を有する。本実施形態ではゼロ判定手段２５１は４ビット桁上げ仮定加算結果ゼロ判定回路を用いることにする。
【００６１】
図２４は８ビット長の入力データ間での加減算結果によるゼロ判定を、４ビット長のブロックに分割して行う回路の構成図を示す。各４ビット長ブロックには、ＡならびにＢなるデータが与えられている。また、減算処理に対応するため、Ａｄｄ／Ｓｕｂなる機能選択信号と、データＢの各ビット信号との排他的論理和をとる回路が接続されている。さらに、各４ビット長ブロックにおいては、下位からの桁上げ信号の有無を仮定して、加算結果がゼロととなるかどうかを判断し、その結果を出力する。ここで、上位の４ビットブロックについては、下位のブロックからの桁上げ信号を用いる代わりに、当該ブロックの下位の直前のビット（この場合にはＡ３とＢ３）の論理和を用いて、桁上げを仮定したゼロ判定信号を選択する。また、最下位の４ビットブロックについては、この加減算器への桁上げ入力をそのまま用いて、ゼロ判定信号を選択する。そして、いま加減算結果＝０をあらわす信号が論理“１”であるとすれば、下位４ビットおよび上位４ビットブロックについて選択を行った結果のゼロ判定信号同士の論理積をとることによって、最終的に加減算結果のゼロ判定信号出力を得る。この構成においては、例えば最下位ブロックへの桁上げ信号入力が、ＡならびにＢの信号と比べて著しく遅れて生成されるようなシステムにおいても、桁上げ信号が生成される前に、あらかじめ桁上げを仮定したゼロ判定演算を行っておけるために、桁上げ信号がそのままクリティカルパスに入ることを防ぐことができる。また、システム構成上の制約条件によって、上位４ビットのブロックと下位４ビットのブロックが遠く離れて存在しているような場合にも、Ａ３とＢ３の論理和が生成されて、上位４ビットブロックに到達するまでの時間に、桁上げを仮定したゼロ判定信号生成を行っておくことができる。図２５ならびに図２６に、桁上げ仮定４ビット加算器ならびに、結果ゼロ判定用の４入力論理和回路を用いた、図２４における４ビット桁上げ仮定加算結果ゼロ判定回路２５１の構成例を示す。更には図２７にこれらの４ビット桁上げ仮定加算結果ゼロ判定回路２５１を用いて構成した８ビット加算結果ゼロ判定回路の構成例を示す。従来技術においては図３３に示したように、桁上げ仮定による上位４ビットブロックの加算結果ゼロ判定信号を下位４ビットブロックからの桁上げ信号を直接用いて選択している。したがって従来技術では図２７中に破線で示したような接続となるのに対し、本発明の第９の実施の形態による構成では、実線で示したように、下位４ビットブロックの最上位ビットにおける論理和信号を直接用いている。図２７で、桁上げＣ４が確定する時刻に比べ、下位４ビットブロックの論理和信号は極めて早く生成されることから、ゼロ判定の高速化を図ることができる。
【００６２】
本発明の第９の実施の形態に係る加減算結果ゼロ判定回路の構成では、あるブロックｎの下位に位置するブロックｎ−１における桁上げ予測信号生成手段の信号出力が１である場合においては、下位ブロックｎ−１での加減算結果がゼロであったと仮定すると、必ず桁上げが生じることになり、桁上げ信号に変えて、桁上げ予測信号生成手段の信号を用いることができる。すなわち、下位に位置するブロックｎ−１の最上位ビットの２数のいずれかが１であり、もう一方が０である場合に、下位ブロックｎ−１における加算結果がゼロとなるためには、ブロックｎ−１の最上位ビットにおける結果をゼロにする必要がある。この時、必ず最上位ビット位置への桁上げがなければならないことから、結果としてこのブロックから桁上げが必ず発生することになる。次に、ブロックｎ−１の最上位ビットがいずれも１である場合には、自動的に桁上げが発生する。また、ブロックｎ−１の最上位ビットの論理和が０である場合においては、下位ブロックｎ−１の演算結果によらず、桁上げは発生しないことから、やはり桁上げ信号に変えて、論理和信号すなわち、桁上げ予測信号生成手段の信号を用いることができる。ただし、この桁上げ予測信号生成手段による予測が正確であるのは、あくまでそのブロックにおける加減算結果がゼロとなる場合のみであることから、そうではない場合には、この予測は正しくない可能性がある。このため、現時点で得られているブロックｎにおける加減算結果ゼロ判定信号は、正しくない可能性がある。
【００６３】
次に、当該ブロックｍが加減算器における最下位ビットを含んでいる場合には、この加減算器自体に外部から導入される桁上げ信号すなわち、桁上げ入力信号供給手段からの信号を用いて、当該ブロックｍにおける、桁上げ仮定加減算器結果ゼロ判定手段の信号を選択することになる。このとき、この最下位ブロックｍにおける判定結果Ｚｍは、桁上げによって決定された正しいゼロ判定結果となることから、このブロックの上位に位置するブロックｍ＋１において、前述したようなゼロ判定信号Ｚｍ＋１が生成された場合、このゼロ判定信号Ｚｍ＋１と、最下位ブロックにおける正しいゼロ判定信号Ｚｍとの論理積（和）をとれば、連鎖的に判断が積み重ねられることとなり、正しい結果を得ることができる。すなわち、最下位ブロックにおいて、演算結果がゼロであることが保証されれば、このことを仮定して作成された上位ブロックのゼロ判定結果は仮のものという扱いから、正しい結果であることを保証されたものへと変化し、更に上位のブロックに向かって連鎖的に検証が進行して、最終的には全体における正しい加減算結果ゼロ判定が行えることになる。
【００６４】
続いて、ブロックのビット長が２である場合のブロックの構成法に関してであるが、まず、当該ブロックへの桁上げがあると仮定した場合には、ブロック内の上位の入力データ間および、下位の入力データ間での排他的論理和が１であるときに、演算結果がゼロとなることから、まずこれらの信号を生成する手段によって桁上げを仮定したゼロ判定信号を生成しておく。次に、当該ブロックの下位からの桁上げがない場合についてであるが、このとき当該ブロックの演算結果がゼロとなるためには、ブロック内の最下位ビットにおける入力データ間の論理和が０である、すなわち入力データが両者とも０である場合か、論理積が１である、すなわちデータが両者とも１である場合の２通りしかない。ここで、論理和が０である場合には、ブロック内の上位ビットへは桁上げは発生しないから、ブロック全体の演算結果がゼロとなるためには、上位ビットにおける入力データ間の排他的論理和が０である必要がある。また、下位ビットの論理積が１であった場合には桁上げが発生することから、今度は逆に、上位ビットにおける排他的論理和が１であるときに、ブロックの演算結果がゼロとなる。したがって、この上位ビットにおける排他的論理和によって下位ビットの論理和ならびに、論理の符号を一致させるために、下位ビットの論理積の否定をとった信号を選択すれば、ブロックへの桁上げがなかったと仮定した場合の演算結果のゼロ判定を得ることができるのである。
【００６５】
［第１０実施の形態］
図２８に本発明の第１０の実施の形態に係るゼロ判定手段のブロック図を示す。本発明の第１０の実施の形態のゼロ判定手段は、２つのデータの該当するブロックの所定のビットの論理積信号を出力する第１の論理積回路３５１と、この２つのデータの該当するブロックの所定のビットの論理和の否定信号を出力する否定的論理和回路３５２と、この２つのデータの該当するブロックの所定のビットの排他的論理和の否定信号を出力する第１の排他的論理和否定回路３５３と、前記所定のビットの上位ビットの排他的論理和否定信号を出力する第２の排他的論理和否定回路３５４と、前記第１の排他的論理和否定回路３５３と前記第２の排他的論理和否定回路３５４との否定的論理和信号を出力する第２の否定的論理和回路３５５と、前記第１の論理積回路３５１の出力と否定的論理和回路３５２の出力とを、前記第２の排他的論理和否定回路３５４の出力により選択して出力する選択回路３５６とを有し、この選択回路３５６の出力ｇを前記所定のブロックの下位のブロックからの桁上げ無しのゼロ判定信号とし、前記第２の否定的論理和回路３５５の出力ｆを前記所定のブロックの下位のブロックからの桁上げ有りのゼロ判定信号とするようにしてある。
【００６６】
図２８において被加算データＡ，Ｂの上位ビットＡ１，Ｂ１と下位ビットＡ０，Ｂ０について、それぞれ図２８にあるような論理演算行い、Ａ０とＢ０の論理積ａと論理和の否定ｂのいずれかを、Ａ１，Ｂ１の排他的論理和否定によって選択する。すなわち、ｅが１である場合にはセレクター３５６にて“１”と表示されている側の信号がｇへと出力される。逆に、ｅが０であれば、“０”と表示されている側（ｂ）の信号がｇへと出力される。このようにして得られる信号ｇは、このブロックの下位のブロックからの桁上げがない場合に、このブロックにおける加算結果ゼロ判定信号となっており、結果がゼロであるときに“１”となる。また、ｆは下位からの桁上げ信号がある時の加算結果ゼロ判定信号である。図２８の回路を従来技術の図３４の回路と比較すると分かるように、論理回路の段数としては同じなのであるが、図２８の回路は排他的論理和回路の縦続接続がないことから、さらなる高速性を得ることができる。また使用しているハードウエア量についても、下位１ビットに論理和の否定と、論理積の２つの論理回路を使用している点以外では図３４に示す回路とほぼ同等であり、ハード量の増加はそれほど大きいものではない。図２９は、２ビット長の加算器に対して、図２８の回路を適用した例である。図中破線で囲んで示した部分が、加算結果ゼロ判定回路を付加することによって増加するハードウェア部分を示しているが、かなりの部分のハードウェアは元の加算器のものと共用できる。図３０は図２８に示した２ビットブロックによる加算結果ゼロ判定回路を用いて構成した８ビット長加算結果ゼロ判定回路の構成図である。この構成においては、２ビットブロックによる桁上げを仮定したゼロ判定結果を直近の下位ビットの論理和もしくは、最下位からの桁上げ入力Ｃ０によって選択し、その結果の論理積をとることによって最終的な加算結果ゼロ判定か出力を得ている。ここで、最下位からの桁上げ入力Ｃ０が、これを必要とするセレクター３７１に入力される前に、Ａ０，Ｂ０から入力された信号は、図３０のａ−ｂ−ｃといった径路を通過することから、論理回路２段分時間的に遅れた位置にあることになる。これに対し図３４に示した従来技術では論理回路１段分の時間余裕しかなく、Ｃ０の少しの遅れによっても、全体の演算速度に影響をきたしてしまう問題があった。このＣ０が遅れてくるという場合は、一般のマイクロプロセッサにおける演算ユニット（ＡＬＵ）おいてはしばしば見られ、加減算回路についても最下位段も桁上げ仮定加算器を用いてＣ０の遅れを補っていることから、本発明の第１０の実施の形態による加減算結果ゼロ判定回路においてはこのような状況にも対応できることになる。また、従来技術における回路であっても、桁上げ仮定をしておいてＣ０の到着を待つことは可能なのであるが、その結果セレクター１段分の遅延時間が余分にかかることになる。しかしながら、本発明の第１０の実施の形態による２ビットブロックの回路では、論理回路の段数を増やさないでＣ０の遅れへの適応を図れることから、効果は極めて大きい。
【００６７】
［第１１実施の形態］
図３１は、本発明の第１１の実施の形態に係る高速加算結果ゼロ判定回路を用いた浮動小数点除算器の剰余最終加算器を示す。非回復型除算器の剰余最終加算器においては、正確な丸めを実現するために、剰余の符号ならびに、ゼロか否かを判定する必要がある。そこで、従来は図３２に示したような構成を用いて加算を行い、その結果の論理和をとることによってゼロ判定を行い、加算結果の符号ビットと併せて剰余の値判定を行っていた。しかしながら、図３２に示す方法では、本来は必要ではない完全な加算結果を計算する必要がある上に、加算結果を待った上でなければ結果ゼロ判定が行えないことから、加算結果を計算するためのハードが必要となり、さらには遅延時間が大きくなる欠点があった。これに対し本発明の第１１の実施の形態では図３１に示すように、高速加算結果ゼロ判定を、符号判定ビットの決定のみが行える加算器に付加しているので、ハード量を抑えながら高速化を図ることができる。
【００６８】
尚、この手法は浮動小数点平方根演算器の最終剰余についても同様に適用できる。
【００６９】
【発明の効果】
以上説明してきたように、本発明によれば、従来の商選択手段に対して、高速性及び回路のシンプルさ、あるいは除算と平方根の演算で完全に共有できるといった特長を有しながら、しかも商選択における演算の対称性を維持することができるようになる。
【００７０】
また、従来あまり良くは知られていなかった平方根演算用の開平用データの非冗長デジット形式での作成を、非常にシンプルなビット位置指示手段によって可能にするものであり、ハード量を小さく抑えることができるようになると同時に高速な処理が行える。
【００７１】
また、簡単な信号選択手段と、除数デジットを記憶する手段を追加するのみで、平方根演算に加えて除算が行なえるようになることから、汎用性が小さなハード量の増加で実現できる。また、商デジット集合を非冗長形式で記録することから、商デジットを冗長数で記録しておいて最後に加算をフルビット長で行なう従来の過程を省略することができ、ここでのハードウエア量の減少を効果として加味することができる。
【００７２】
また、従来例のなかった平方根演算での次デジット仮定型演算が、やはり少ないハード量と、高速な実行時間をもって可能となる。また、従来例のなかった自己同期型回路設計における平方根及び平方根／除算共用演算器を簡単に構成でき、基礎として使用している演算ブロックの処理が高速化されることから、非常に高速な演算を実現することができる。更に、従来設計を困難にしていた演算の完了判定において、より大きなマージンをもって、簡略化された構成での完了判定の実現を可能にすると同時に、ハードウエア量の削減にも寄与できる。
【００７３】
また、従来の商選択手段に対して、さらなる高速性をわずかなハードウェアによって達成することができる。
【００７４】
また、従来の３ビット加算器による商選択／決定手段の構成では問題であった、割り切れ演算に対する商の不正確さの問題を商選択および商決定における演算時間を増加させることなしに解決することができる。
【００７５】
また、商デジットの逐次冗長−非冗長数変換手段における使用ハードウェア量を、１回の演算器使用における演算商デジット数を２以上とすることで、かなりな量にわたり減少させることができる。
【００７６】
また、１回の演算における計算商デジット数を２以上とすることで、平方根演算において、商デジットの逐次冗長−非冗長変換手段を併せて用いることによる開平用データの高速生成を可能とすると同時に、開平用データ生成に必要なハードウェアの量を著しく減少させることができる。
【００７７】
また、開平用データの計算時間が大幅に短縮されることにより、次の部分剰余を高速に予測できることを用いてオーバラップ法による平方根の演算を高速化することができる。
【００７８】
さらに、開平用データと、除算データとを信号選択手段で切り替えるのみで、ほとんどのハードウェアを共用しながら除算と平方根の演算機能を少ないハードウェアで同時に実現することができる。
【００７９】
また、わずかなハードウエアの追加によって、従来回路を上回る高速性と、柔軟なシステム形態への対応を図ることができる。とりわけ、最下位ビットへの桁上げ信号の遅れに対する許容度を改善できることから、実際的なマイクロプロセッサシステムの演算ユニットへの適用がより容易となる。
【図面の簡単な説明】
【図１】本発明の第１の実施形態に係る３ビット長加算手段及び論理和生成手段を用いた商デジット選択手段（ＱＳＬ）の構成例を示す図である。
【図２】図１の構成において用いられる商デジット決定手段の商デジット決定ルールを示した図表である。
【図３】本発明の第２の実施形態に係る平方根開平用演算データ生成手段の構成例を示す図である。
【図４】本発明の第２実施形態に係る商デジット処理手段（ＰＱＲ）の構成例を示す図である。
【図５】本発明の第２実施形態に係る商デジット処理手段（ＰＱＲ）の動作の概略を示す図である。
【図６】本発明の第２の実施形態に係る開平用データ生成手段（ＲＭＦ）の構成例を示す図である。
【図７】本発明の第２の実施形態に係る開平用データ生成手段（ＲＭＦ）の動作の概略を示す図である。
【図８】本発明の第３の実施形態に係る除算／平方根演算器の例を示す図である。
【図９】本発明の第４の実施形態に係る次商デジット仮定による高速除算／平方根演算器の構成例を示す図である。
【図１０】本発明の第４の実施形態に係る次商デジット仮定による高速除算／平方根演算器の構成の具体例を示す図である。
【図１１】本発明の第５の実施形態に係る自己同期型回路設計による次商デジット仮定高速除算／平方根演算器の構成例を示す図である。
【図１２】本発明の第５の実施形態に係る商デジットを符号部分と絶対値部分に分割することによる部分剰余計算手段（ＰＲＦ）の構成例を示す図である。
【図１３】本発明の第６の実施形態に係る３ビット長加算手段及び３入力１出力論理和生成手段を用いて簡略化された商デジット選択手段（ＱＳＬ）の構成例を示した図である。
【図１４】（ａ）は図１３の構成において用いられる商デジット決定手段の商デジット決定ルールであって、商デジットを｛＋１，０，−１｝の３種類の符号で表現するものを示した図であり、（ｂ）は図１３の構成において用いられる商デジット決定手段の商デジット決定ルールであって、商デジットを符号と絶対値とで表現するものを示した図である。
【図１５】図１４（ａ）の商デジット決定ルールをダイナミックＣＭＯＳ回路を用いて実現した例を示した図である。
【図１６】図１４（ｂ）の商デジット決定ルールをダイナミックＣＭＯＳ回路を用いて実現した例を示した図である。
【図１７】本発明の第７の実施形態に係る基数２の演算器を４段縦続接続した構造における演算ビット位置指示手段Ｐの挙動を示した図である。
【図１８】図１７の構成における、逐次商デジット冗長−非冗長変換手段のハードウェアの具体的構造を示した図である。
【図１９】図１７の構成における、開平用データ生成手段（ＲＭＦ）の具体的な回路構成を示した図である。
【図２０】本発明の第７の実施形態に係るオーバラップ法による平方根演算器の構成を示す図であり開平用データ生成の高速化を適用した例である。
【図２１】本発明の第７の実施形態に係るオーバラップ型の演算器における各演算構成手段の演算時間を表示する図であり、平方根演算が除算と同速度で実行されるための条件を示す。
【図２２】本発明の第７の実施形態のオーバラップ型の演算器の具体的構成を示した図である。
【図２３】本発明の第８の実施形態の演算器のブロック図であり、平方根と除算とを共通のハードウェアを用いて実現した場合である。
【図２４】本発明の第９の実施形態に係る４ビット長桁上げ仮定加減算結果ゼロ判定回路を用いた８ビット加減算結果ゼロ判定回路の構成図である。
【図２５】本発明の第９の実施形態に係る４ビット桁上げ仮定加算器ならびに、桁上げ仮定加算結果ゼロ判定回路を組み合わせた４ビット長桁上げ仮定加減算結果ゼロ判定回路（桁上げ＝０を仮定）の構造を示す図である。
【図２６】本発明の第９の実施形態に係る４ビット桁上げ仮定加算器ならびに、桁上げ仮定加算結果ゼロ判定回路を組み合わせた４ビット桁上げ仮定加減算結果ゼロ判定回路（桁上げ＝１を仮定）を示す図である。
【図２７】図２５および図２６に示した４ビット桁上げ仮定加減算結果ゼロ判定回路を組み合わせた８ビット加算結果ゼロ判定回路の構成例（実線）を従来技術の場合（破線）と比較して示す図である。
【図２８】本発明の第１０の実施形態に係る２ビット長桁上げ仮定加算結果ゼロ判定回路の構成図である。
【図２９】本発明の第１０の実施形態に係る２ビット長桁上げ仮定加算結果ゼロ判定回路を２ビット長加算器に組み合わせた回路の構成図である。
【図３０】図２８に示した２ビット長桁上げ仮定加算結果ゼロ判定回路を用いた８ビット加算結果ゼロ判定回路の構成図である。
【図３１】本発明の第１１の実施形態に係る非回復型浮動小数点除算器の剰余最終加算器の構成図を示す図である。
【図３２】従来技術における加減算を行った後に論理和回路により結果ゼロ判定を行う例を示す図である。
【図３３】桁上げ仮定区分加算器ごとの加算結果のゼロ判定信号を桁上げ信号によって選択する従来例を示す図である。
【図３４】桁上げ連鎖を伴わない加算結果ゼロ判定回路の従来例を示す図である。
【図３５】従来の構成による３ビット長加算器を用いた商デジット選択手段の構成例を示す図である。
【図３６】従来の構成による３ビット長加算器を用いた商デジット選択／決定手段に用いられる商デジット決定ルールを示す図である。
【図３７】図１２の別の構成による部分剰余計算手段（ＰＲＦ）の構成例を示す図である。
【符号の説明】
１１，１２  セットアップ／リセット信号同時伝搬範囲
４４  平方根開平用演算データ生成手段
４６  商デジット逐次変換部
１０１  ３ビット長加算手段
１０２  論理和生成手段
１０３  商デジット決定手段
１１１，２１１，３１１  ビット位置指示手段
１１２，２１２，３１２  商デジット集合（桁上げ有り）記憶手段
１１３，２１３，３１３  商デジット集合（桁上げ無し）記憶手段
１１４，２２４  商デジット処理手段（ＰＱＲ）
１１５，２１５  開平用データ生成手段（ＲＭＦ）
１２１  部分剰余記憶手段
１２２  除数デジット記憶手段（ＤＤＭ）
１２３，２２３  商デジット選択手段（ＱＳＬ）
１２４  桁上げ保存加算手段（ＣＳＡ）
１２５  除算／平方根演算選択手段
１２６  被加数選択手段
１３１，２３１  次デジット仮定部分剰余予測手段（ＯＶＬＰ）
１３２，２３２  部分剰余計算手段（ＰＲＦ）
１４１  セットアップ信号生成手段
１４２  セットアップ／リセット手段
１４３  演算完了信号生成手段
１５１，２３３，１７１，１５２  信号選択手段（ＭＵＸ）
１５５  桁上げ保存加算手段（ＣＳＡ）
１５９  １ビットシフタ
１６２  論理和生成手段（ＯＲ）
２５１  ４ビット桁上げ仮定加算結果ゼロ判定回路
２５２，３５６，３７１  選択手段（セレクタ）
２５３  最終判定手段（ＡＮＤ）
２５４  選択信号発生回路
３５１  論理積生成手段（ＡＮＤ）
３５５  否定的論理和生成手段（ＮＯＲ）
３５３，３５４  排他的論理和否定手段（ＸＮＯＲ）
３５２  否定的論理和生成手段（ＮＯＲ）
【図１】
0003609512.tif 000002
【図２】
0003609512.tif 000003
【図３】
0003609512.tif 000004
【図４】
0003609512.tif 000005
【図５】
0003609512.tif 000006
【図６】
0003609512.tif 000007
【図７】
0003609512.tif 000008
【図８】
0003609512.tif 000009
【図９】
0003609512.tif 000010
【図１０】
0003609512.tif 000011
【図１１】
0003609512.tif 000012
【図１２】
0003609512.tif 000013
【図１３】
0003609512.tif 000014
【図１４】
0003609512.tif 000015
【図１５】
0003609512.tif 000016
【図１６】
0003609512.tif 000017
【図１７】
0003609512.tif 000018
【図１８】
0003609512.tif 000019
【図１９】
0003609512.tif 000020
【図２０】
0003609512.tif 000021
【図２１】
0003609512.tif 000022
【図２２】
0003609512.tif 000023
【図２３】
0003609512.tif 000024
【図２４】
0003609512.tif 000025
【図２５】
0003609512.tif 000026
【図２６】
0003609512.tif 000027
【図２７】
0003609512.tif 000028
【図２８】
0003609512.tif 000029
【図２９】
0003609512.tif 000030
【図３０】
0003609512.tif 000031
【図３１】
0003609512.tif 000032
【図３２】
0003609512.tif 000033
【図３３】
0003609512.tif 000034
【図３４】
0003609512.tif 000035
【図３５】
0003609512.tif 000036
【図３６】
0003609512.tif 000037
【図３７】
0003609512.tif 000038