JP3609512B2 - 演算器 - Google Patents
演算器 Download PDFInfo
- Publication number
- JP3609512B2 JP3609512B2 JP31930495A JP31930495A JP3609512B2 JP 3609512 B2 JP3609512 B2 JP 3609512B2 JP 31930495 A JP31930495 A JP 31930495A JP 31930495 A JP31930495 A JP 31930495A JP 3609512 B2 JP3609512 B2 JP 3609512B2
- Authority
- JP
- Japan
- Prior art keywords
- quotient digit
- carry
- square root
- digit
- quotient
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/52—Multiplying; Dividing
- G06F7/535—Dividing only
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/52—Multiplying; Dividing
- G06F7/535—Dividing only
- G06F7/537—Reduction of the number of iteration steps or stages, e.g. using the Sweeny-Robertson-Tocher [SRT] algorithm
- G06F7/5375—Non restoring calculation, where each digit is either negative, zero or positive, e.g. SRT
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/544—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation
- G06F7/552—Powers or roots, e.g. Pythagorean sums
- G06F7/5525—Roots or inverse roots of single operands
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F2207/552—Indexing scheme relating to groups G06F7/552 - G06F7/5525
- G06F2207/5526—Roots or inverse roots of single operands
- G06F2207/5528—Non-restoring calculation, where each result digit is either negative, zero or positive, e.g. SRT
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Optimization (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Complex Calculations (AREA)
Description
【発明の属する技術分野】
本発明は演算器に関し、特に、各種の演算の高速化を図る演算器に関する。
【0002】
【従来の技術】
除算ならびに、平方根の演算については、乗算や加減算とは異なり、その演算アルゴリズムが完全に逐次的であることから、例えば並列演算を用いるといった高速化手法を用いることができず、典型的には乗算よりも1桁程度長い実行時間が必要である。このため、除算ならびに平方根演算に関する高速化手法については従来多くの研究がなされてきた。その中では、ニュートン法に代表される、収束型アルゴリズムによる手法と、SRTアルゴリズムと呼ばれる反復型のアルゴリズムが広く知られているが、前者については、ほとんどの場合乗算器や大量の読み出し用メモリーが必要となり、ハードウエア量が極めて多くなることから、多くの演算器では反復型のアルゴリズムが用いられている。この反復型アルゴリズムでは、さらなる高速化を達成するために、部分剰余の値を冗長数表現とし、部分剰余演算の際のフルビット長での加算を、時間がかかる桁上げ伝搬加算器から、極めて短い時間で動作する桁上げ保存加算器に代えて行っている。このため、次の商デジットを決定する場合には、いったん冗長数表現された部分剰余の値を、非冗長数表現とするために、必要とされる精度に応じたビット長での桁上げ伝搬加算を行なう必要があり、商デジットの基数が2である場合には、4ビット長での桁上げ伝搬加算が必要であるとされている。もちろん、ここでの桁上げ伝搬加算に要する時間は、そのまま演算器の動作速度を規定することから、様々な工夫によって桁上げ伝搬加算器のビット長を3ビットとする方法が知られているが、このことを達成するために、前に選んだ商デジットの値を記憶しておき、これと併せて商デジット選択を行なう方式や、除算における除数や、平方根演算で用いられる、これまでの商デジット集合から導かれる除算における除数に相当する数の値の範囲を制限するといった手法がとられており、前者については商デジット選択手段の構成が複雑になることから遅延時間が増大し、後者については演算の一般性が損なわれることから高速化に対して積極的に利用できるというものではなかった。
【0003】
また、平方根の反復型アルゴリズムによる演算おいては、商デジットが冗長数表現されているために、これをもとにして除算における除数の倍数に相当する開平用のデータを非冗長形式にて作成するためには、除算では除数がもともと非冗長表現されていたことから1回で済んでいた桁上げ保存加算器での部分剰余演算を2回に分けて行なったり、特殊なハードウエアを追加することによって、商デジットが非冗長数表現となるようにし、部分剰余の演算は1回で済むようにしたものが知られている。しかしながら、前者については演算回数が増加することから論外であるし、後者についても追加されるハードウエアの構成法については、その動作速度やハードウエア量に関して問題がある。これに加えて、次の商デジットを仮定しておいて剰余計算の結果を予測し、これに基づいてそのまた次の商デジットを決定するといった高速化手法に関しても、剰余計算が加わってくるために、この部分を高速にしない限り、有効な高速化手法とはなり得ない。
【0004】
さらには、従来例では除算について、1つの除算器を複数個縦続接続し、ダイナミック回路を用いているこれらの演算器に、適切なタイミングでセットアップ/リセットの指示を出しながら次々と動作させていくことによって、高速な演算を行なうという自己同期型の回路構成が知られているが、平方根あるいは、平方根及び除算を両方行なえるような演算器に関する報告はなく、部分剰余演算の問題等のために有効な構成方法は現在のところ知られていない。特に、自己同期型回路においては、演算の終了検出を正しく行なうことが重要となるが、従来はビット数の極めて多い部分剰余の演算完了を検出する構成となっており、ハードウエア量の増大や、動作マージンの少なさ、制御の難しさといった点で問題を含有している。
【0005】
一方では、加減算結果がゼロとなるかどうかを判断するゼロ判定回路においては、図32に示すように、加減算を行った結果に対して全ビットの論理和をとるものと、加減算と並行してゼロ判定を行うものとがあるが、前者についてはゼロ判定に要する時間は必ず加減算結果が判明する時点よりも後となることから、速度を重視する場合には、後者の手法が用いられる。例えば、図33に示すように、加減算器を構成している区分加減算器ごとに、その区分加減算器への桁上げの有無に応じたゼロ判定を行っておき、桁上げの確定に応じて最終的な判定が行われるものが知られているが、このような桁上げの伝搬を用いている回路ではゼロ判定に要する時間は加減算に要する時間よりも一般に長くなることから、加減算器+ゼロ判定回路というシステムで考えた場合には、その動作速度をゼロ判定回路が律速してしまうことになる。そこで、桁上げの伝搬に律速されないゼロ判定回路の構成方法として、図34に示すような形式の回路が考案されている。図34の回路においては、最下位ビットへのキャリー入力が、入力データに比べて遅れて生成されるような状況下においては、ゼロ判定回路全体の動作速度を維持するために、キャリー入力信号に対して許容される遅延時間余裕がゲート1段分しかないため、キャリー入力信号の遅延時間がゼロ判定演算の速度を律速する場合も発生することになる。さらには、図34の回路形態では、一般に遅延時間が他の論理積や論理和よりも大きな排他的論理和回路が縦続に接続されるために、与えられた入力信号環境のもとで、十分な高速性を発揮できないという問題がある。
【0006】
以上のようなことから、加減算器+ゼロ判定回路というシステムを実現する場合においては、加減算器とゼロ判定とを別個のシステムとして扱って、加減算の結果が得られた後に、ゼロ判定を改めて行うという構成にするか、若しくは図34に示すように回路を構成する上で、信号のタイミングや回路自体の設計条件に制約の大きい回路を採用して加減算とゼロ判定とが平行して行われるようなシステムとするか、ということになる。
【0007】
【発明が解決しようとする課題】
上述した従来技術における除算並びに平方根のための演算器においては、商選択手段の構成が複雑であり、このため動作速度が低くなっている。また、特に平方根の演算に関しては、得られた商デジット自身を用いて部分剰余の演算を行なう必要があることから、商デジットが冗長数表現されている場合には、このままでは2回に分けて桁上げ保存加算を行なうか、商デジットを順次非冗長表現として演算を行うしかなく、前者については除算では1回で済む演算が2回必要となることから演算器の速度が低下し、後者についてはアルゴリズム自身は公知であるものの、実現方法によっては大幅なハードウエア量の増加や、遅延時間の増大を招いていた。また、平方根の演算器に対して、幾つかのハードウエアを共通としながら除算を実現しようとする場合においては、従来は部分剰余計算手段を除算と平方根について切り替えて用いることの他に、場合によってはいくつかのハードウエアを追加して構成する必要があった。さらには、演算器を複数個縦続接続して、個々の演算器の動作タイミングを自己同期の手法によって決定するような構成の演算器については除算器についての公知例はあるものの、平方根あるいは、平方根及び除算を共に行えるような演算器の構成法については前例がない。また、除算においても、演算完了信号の検出に関しては、ハードウエア量が多く、また動作マージンの確保についても問題がある。
【0008】
一方では、加減算結果がゼロとなるかどうかを判断するゼロ判定回路においては、設計いかんによっては高速な加減算器+ゼロ判定回路というシステムを構成することはできるが、与える信号のタイミングや、回路配置に制約がある。又は、他の論理和や論理積といった論理に比べて遅延時間の大きな排他的論理和の回路が縦続接続されていることから、動作速度的にも問題が生じる可能性がある。
【0009】
図35は従来の3ビット長加算器を用いた商デジット選択/決定回路の構成を示す図である。図4中のC1,C2及びC3は冗長表現されている部分剰余の桁上げ信号の入力部である。また、S0,S1及びS2は冗長表現されている部分剰余の加算結果信号の入力部である。3ビット長加算手段は、2つの3ビット長のデータを入力し、その加算結果を出力するものである。次に図35に示す商デジット選択回路の動作について説明する。まず、正しいビットの重みづけとするために、3ビット長加算手段に対してa0,a1,a2にそれぞれS0,S1,S2を、またb0,b1,b2に対してC1,C2,C3を入力することによってD0,D1,D2の3ビットからなる加算結果を得る。この時、D0は部分剰余の符号を表わすことになり、D1,D2で部分剰余の数値の大きさを表現することになる。図36は図35のD0,D1,D2の信号を商デジット決定手段へ入力して、商デジットに変換する場合の変換表である。ここで、基数2のSRTアルゴリズムによる演算では、部分剰余を冗長数で表現している場合、図32におけるD0,D1,D2が0,1,1となった場合に問題が生ずることが知られている。すなわち、仮に小数点がD1とD2との間にあるとした場合、01.1なるD0,D1,D2の値は、これよりも下位の桁上げ信号及び加算結果信号が全て0であった場合には最小値として10進表現で+1.5となるが、逆にこれらの信号が全て1であった場合には、−1.5よりもわずかに大きな数ともなりえる。すなわち、この場合の部分剰余が存在している可能性のある値の範囲は+1.5以上+2.0未満及び、−2.0以上−1.5未満という離散した範囲になってしまう。そこで、従来は、4ビット長の桁上げ伝搬加算手段を用いることや、図35に示すように、3ビット長の加算手段に加えて、商デジット記憶手段により前に選択したデジットの値を用いることで、この問題を回避していた。
【0010】
図37は従来技術における部分剰余計算手段132の構成を示す概略のブロック図である。この部分剰余計算手段132は、図35に示した商デジット選択回路から得られる商デジット符号信号を用いて商デジットの符号を仮定して生成された開平用データ信号あるいは除算デジット信号を選択する信号選択手段(MUX1)151と、この信号選択手段151により出力された信号と、2数の和として表現されている部分剰余信号との和を計算する桁上げ保存加算手段(CSA)155とを有している。商デジットを符号部分と絶対値部分とに分けてCSA155により部分剰余信号を得る。これは図36に示したデジット決定ルールを用いて行う。
【0011】
しかしながら、これらの従来の方法では、たとえば4ビット長の桁上げ伝搬手段を用いる方法では、当然この部分での遅延時間が増大し、図35に示した方法では商デジットの選択規制の対称性が悪くなることや、前のデジットを保存しておくための商デジット記憶手段等のハードウェアが必要であることなどから、デメリットがある。更には図35で示した方法では、特定の演算すなわち、途中で割り切れてしまうような演算に対して、誤った計算結果が得られる場合があり、これを補正するためのハードと時間が代償として必要になるという欠点がある。
【0012】
そこで、本発明は以上のような問題点を解決するためになされたものであり、その目的とするところは演算を高速かつ、簡潔な構成において実現し、従来問題となっていたこれらの演算の所要時間を大幅に短縮することができる演算器を提供することにある。
【0013】
さらには、現在の商デジットを仮定し、次の部分剰余を測定することで演算の高速化を図るオーバラップ法に基づく演算器においては、開平用データ生成手段を少ないハードウェアでかつ、高速に実現することで、平方根演算器及び、平方根と除算の共用演算器の演算速度を向上させることができる演算器を提供することにある。
【0014】
【課題を解決するための手段】
上記目的を達成するため、本発明に係る演算器は、 部分剰余を和(Sum)と桁上げ(Carry)の2つの数デジットの和によって表現し、基数2のSRTアルゴリズムに基づいた除算若しくは平方根の演算を行う演算器であって、前記部分剰余の2つの数デジットの上位1ビット目乃至3ビット目における加算結果を得る加算手段と、前記部分剰余の2つの数デジットの上位4ビット目における論理和を得る論理和生成手段と、前記加算手段と、前記論理和生成手段との演算結果に基づいて次の商デジットの決定を行う商デジット決定手段と、を有する商デジット選択回路を具備することを特徴とする。
また、本発明に係る演算器は、 部分剰余を和(Sum)と桁上げ(Carry)の2つの数デジットの和によって表現し、基数2のSRTアルゴリズムに基づいた平方根の演算器であって、前記部分剰余の和と桁上げの2つの数デジットを記憶する部分剰余記憶回路と、前記部分剰余の2つの数デジットの上位1ビット目乃至3ビット目における加算結果を得る加算手段と、前記部分剰余の2つの数デジットの上位4ビット目における論理和を得る論理和生成手段と、前記加算手段と前記論理和生成手段との演算結果に基づいて次の商デジットの決定を行う商デジット決定手段と、を具備する商デジット選択回路と、演算が行われている商デジットのビット位置を記憶するビット位置指示手段と、下位からの桁上げがあるものと仮定した場合の非冗長表現された商デジットを表現する桁上げ有りの商デジット集合記憶手段と、下位からの桁上げがないものと仮定した場合の非冗長表現された商デジットを表現する桁上げ無しの商デジット集合記憶手段と、前記ビット位置指示手段、前記桁上げ有りの商デジット集合記憶手段、及び前記桁上げ無しの商デジット集合記憶手段の結果を用いて、平方根開平演算に用いられるデータを生成する開平用データ生成手段と、前記ビット位置指示手段、前記桁上げ有りの商デジット集合記憶手段、前記桁上げ無しの商デジット集合記憶手段、及び次に得られる商デジットにより、桁上げ有り及び無しに対応する商デジット集合を生成する商デジット処理手段とを有する平方根開平演算データ生成回路と、この平方根開平演算データ生成回路の出力に対し、前記商デジット選択回路により決定された商デジットにより、前記平方根開平演算データ生成回路の出力を選択し、前記部分剰余に対して加算あるいは減算を行うデータを生成する被加数選択回路と、この被加算数選択回路で生成されたデータ及び前記部分剰余記憶回路にて記憶された部分剰余を前記商デジット選択回路からの加減算指示信号の指示により演算を行い、前記部分剰余記憶回路に出力する桁上げ保存加算手段と、を具備することを特徴とする。
また、本発明に係る演算器は、部分剰余を和(Sum)と桁上げ(Carry)の2つの数デジットの和によって表現し、基数2のSRTアルゴリズムに基づいた平方根演算及び除算の演算器であって、前記部分剰余の和と桁上げの2つの数デジットを記憶する部分剰余記憶回路と、前記部分剰余の2つの数デジットの上位1ビット目乃至3ビット目における加算結果を得る加算手段と、前記部分剰余の2つの数デジットの上位4ビット目における論理和を得る論理和生成手段と、前記加算手段と前記論理和生成手段との演算結果に基づいて次の商デジットの決定を行う商デジット決定手段と、を具備する商デジット選択回路と、演算が行われている商デジットのビット位置を記憶するビット位置指示手段と、下位からの桁上げがあるものと仮定した場合の非冗長表現された商デジットを表現する桁上げ有りの商デジット集合記憶手段と、下位からの桁上げがないものと仮定した場合の非冗長表現された商デジットを表現する桁上げ無しの商デジット集合記憶手段と、前記ビット位置指示手段、前記桁上げ有りの商デジット集合記憶手段、及び前記桁上げ無しの商デジット集合記憶手段の結果を用いて、平方根開平演算に用いられるデータを生成する開平用データ生成手段と、前記ビット位置指示手段、前記桁上げ有り及び桁上げ無しの商デジット集合記憶手段の結果を用いて商デジット集合を生成する商デジット処理手段とを有する平方根開平演算データ生成回路と、除数デジットを記憶する除数デジット記憶回路と、前記開平用データ生成回路若しくは前記除算デジット記憶回路のデータを選択して出力する除算/平方根演算選択回路と、この除算/平方根演算選択回路にて出力されたデータに対し、前記商デジット選択回路により決定された商デジットにより、前記部分剰余に対して加算あるいは減算を行うデータを生成する被加数選択回路と、この被加算数選択回路で生成されたデータ及び前記部分剰余記憶回路にて記憶された部分剰余を前記商デジット選択回路からの加減算指示信号の指示により演算を行い、前記部分剰余記憶手段に出力する桁上げ保存加算回路と、を具備することを特徴とする。
また、本発明に係る演算器は、部分剰余を和(Sum)と桁上げ(Carry)の2つの数デジットの和によって表現し、基数が2であるSRT反復型アルゴリズムに基づいた除算若しくは平方根の演算を行う演算器であって、前記部分剰余の2つの数デジットの上位1ビット目乃至3ビット目における加算結果D0,D1,D2を得る加算手段と、
前記加算結果における下位1ビット、及び前記部分剰余数デジットの上位4ビット目における2つのデジットの論理和D3を得る論理和生成手段と、前記加算手段と、前記論理和生成手段との演算結果に基づいて次の商デジットの決定を行う商デジット決定手段と、を有する商デジット選択回路を具備することを特徴とする。
【0016】
図1に示した商デジット選択回路(QSL)123を有する演算器構成では、次のデジットを決定する際に必要となる、符号を示すビットを含めた上位4ビットの2数に対して、このうち上位の3ビットだけを1つの数とみなした桁上げ伝搬加算を行い、3ビットからなる結果を得る。また、この4ビットのうちの最下位の1ビットに位置する2数に対して論理和の演算を行ない、1ビットの結果をえる。この操作によって、基数2におけるSRTアルゴリズムでの、完全な除算及び平方根における商デジットを選択するための情報が得られる。続いて、図2に示す商デジット決定ルールにより商デジット決定手段103においては、3ビット長加算手段101で得られた3ビット長の加算結果のうち最上位の1ビットD0によって、商デジットの符号を決定し、さらにはこの3ビット長の加算結果が、全て1である場合には商デジットの絶対値を0とし、3ビット長の加算結果ビットが全て0であってかつ、最下位1ビットの論理和が0である場合も商デジットの絶対値を0とし、これ以外の場合には絶対値を1とする。これにより、正しい商デジットを得ることができるのである。従って、3ビットの桁上げ伝搬加算結果D0,D1,D2及び最下位の1ビットに位置する2数に対して論理和の演算結果Dxによって商デジットgの決定ができるため、演算に要するハードウエア量を削減すると同時に高速な商デジットの決定が可能となる
図8に示した演算器構成は、平方根開平演算データ生成手段44と除数デジットを記憶する除数デジット記憶手段122と、部分剰余の和(Sum)と桁上げ(Carry)の2つの数デジットを記憶する部分剰余記憶手段121と、この部分剰余記憶手段121の出力により商デジットを生成する商デジット選択手段(QSL)123と、平方根開平演算データ生成手段44若しくは除数デジット記憶手段122のデータを選択して出力する除算/平方根演算選択手段125と、この除算/平方根演算選択手段125にて出力されたデータに対し、商デジット選択手段(QSL)123により決定された商デジットにより、部分剰余に対して加算あるいは減算を行うデータを生成する被加数選択手段126と、この被加数選択手段126で生成されたデータ及び部分剰余記憶手段121にて記憶された部分剰余を商デジット選択手段(QSL)123からの加減算指示信号の指示により演算を行い、部分剰余記憶手段121に出力する桁上げ保存加算手段124とを有している。ここで平方根開平演算データ生成手段44は演算が行われている商デジットのビット位置を記憶するビット位置指示手段111と、下位からの桁上げがあるものと仮定した場合の非冗長表現された商デジットを表現する桁上げ有りの商デジット集合記憶手段112と、下位からの桁上げがないものと仮定した場合の非冗長表現された商デジットを表現する桁上げ無しの商デジット集合記憶手段113と、ビット位置指示手段111、桁上げ有りの商デジット集合記憶手段112、桁上げ無しの商デジット集合記憶手段113、商デジット選択手段(QSL)123の結果を用いて商デジット集合を生成する商デジット処理手段(PQR)114と、平方根開平演算に用いられるデータを生成する開平用データ生成手段(RMF)115とから構成されている。本発明の第1の特徴における商デジット選択手段(QSL)に対しては、3ビット長加算手段101に加えて、図1に示すような2入力論理和生成手段102又は図13に示すような3入力の論理和生成手段162を用いる。また本発明の第1の特徴の商デジット選択手段(QSL)は図1および図13に示すように3ビット長加算手段101からの信号ならびに、論理和生成手段102,162からの信号をデコードし、実際に選択される商デジットを決定するための商デジット決定手段103をさらに具備している。
図9に示した演算器構成は、平方根開平演算データ生成手段44と、現在演算を行っている商デジットを仮定して次の部分剰余の値を予測する次デジット仮定部分剰余予測手段(OVLP)131と、この仮定した商デジットが決定された時点で次デジット仮定部分剰余予測手段(OVLP)131からの予測結果信号を選択する信号選択手段(MUX)133と、この選択された結果に対して商デジットの選択を行う商デジット選択手段(QSL)123と、除数デジットを記憶する除数デジット記憶手段122と、部分剰余の計算を行う部分剰余計算手段(PRF)132とから構成されることである。部分剰余計算手段(PRF)132においては、図12に示すように、商デジット=+1,−1に対して前もって計算しておいた部分剰余への演算数を、商デジットによって選択し、これを部分剰余に加算ないしは部分剰余から減算して次の部分剰余を得る。
【0017】
又、図13に示した商デジット選択回路123を有する演算器構成では、次のデジットを決定する際に必要となる、符号を示すビットを含めた上位4ビットの2数に対して、このうち上位の3ビットだけを1つの数とみなした桁上げ伝搬加算を2数の間で行ない、3ビットからなる結果を得る。また、この4ビットのうちの最下位の1ビットに位置する2つのデジットと、桁上げ伝搬加算の結果得られた最下位の1デジットとの間で3入力1出力の論理和演算を行い、1ビットからなる結果を得る。この操作によって、基数2におけるSRTアルゴリズムでの完全な除算及び平方根における商デジットを選択するための情報が得られる。続いて、商デジット決定手段においては、商を符号と絶対値とから表わす場合には、商デジット選択手段で得られた3ビット長の加算結果のうちの最上位の1ビットによって、商デジットの符号を決定する。そして、3ビット長の加算結果が全て1であるか、あるいは上位の2ビットが0であって、かつ論理和演算の結果が0である場合には絶対値をゼロとし、そうでない場合には絶対値を1とする。また、商デジットを+1,0,−1の3種類に分けて表現する場合には、3ビット長加算結果が全て1であるか、あるいは上位の2ビットが0であってかつ論理和演算の結果が0である場合には商デジットを0とする。続いて、3ビット長加算結果の最上位ビットが0であって、商デジットを0とする条件に適合しない場合には商デジットを+1とし、最後に3ビット長加算結果の最上位ビットが1であって、商デジットを0とする条件に適合しない場合には商デジットを−1とする。
【0018】
この時、図1ないし図13の構成を用いれば、商決定手段の構成から、部分剰余の上位4ビットの桁上げ伝搬加算結果がゼロになる場合に、商デジットとしては0が選択されることから、部分剰余=0すなわち、除算あるいは平方根演算が割り切れている場合には必ず商デジットとしては0が選択されることになる。従って、従来問題であった商の不正確さの問題は生じなくすることができる。
【0021】
【発明の実施の形態】
以下、本発明に係る演算器について、図面を参照しながら説明する。
【0022】
[第1実施の形態]
図1は本発明の第1の実施の形態に関わる反復型アルゴリズムに基づいた商デジット選択回路の概略構成を示すブロック図である。図1中のC1,C2,C3,及びC4は冗長表現されている部分剰余の桁上げ信号(Carry)の入力部である。また、S0,S1,S2,及びS3は冗長表現されている部分剰余の加算結果信号(Sum)の入力部である。ここで、S0,C1はそれぞれの部分剰余信号の最上位ビットである。3ビット長加算手段101は、2つの3ビット長のデータを入力し、その加算結果を出力するものである。論理和生成手段102は、2つの1ビットデータを入力し、その論理和を出力するものである。次に本発明の第1の実施の形態に係る商デジット選択回路の動作について説明する。まず、正しいビットの重みづけとするために、3ビット長加算手段101に対してa0,a1,a2にそれぞれ和信号S0,S1,S2を、またb0,b1,b2に対して桁上げ信号C1,C2,C3を入力することによってD0,D1,D2の3ビットからなる加算結果を得る。この時、D0は部分剰余の符号を表わすことになり、D1,D2で部分剰余の数値の大きさを表現することになる。また、図1中で最下位に相当する信号S3とC4の論理和をとったものを、Dxとして出力する。次に、このようにして得られたD0,D1,D2,Dxなる信号を商デジット決定手段103へ入力し、この商デジット決定手段103にて図2に示す変換表を用いて商デジットに変換する。以上のようにして、商デジットを得ることができる。
【0023】
前述したように、基数2のSRTアルゴリズムによる演算では、部分剰余を冗長数で表現している場合、図1におけるD0,D1,D2が0,1,1となった場合に問題が生ずる。すなわち、仮に小数点がD1とD2との間にあるとした場合、01.1なるD0,D1,D2の値は、これよりも下位の桁上げ信号及び加算結果信号が全て0であった場合には最小値として10進表現で+1.5となるが、逆にこれらの信号が全て1であった場合には、−1.5よりもわずかに大きな数ともなりえる。すなわち、この場合の部分剰余が存在している可能性のある値の範囲は+1.5以上+2.0未満及び、−2.0以上−1.5未満という離散した範囲になってしまう問題がある。そこで、従来は、図35に示すように、3ビット長の加算手段に商デジット記憶手段等のハードウェアを加えて、前に選択したデジットの値を用いる等の手段を用いてこの問題を回避していた。しかしながら商デジットの選択規則の対称性が悪くなることや、前のデジットを保存しておくためのハードウエアが必要であることなどのデメリットがあることは前述した通りである。又、4ビットの桁上げ伝搬加算手段を用いた場合にはこの部分での遅延時間が増大するというデメリットがある。
【0024】
そこで、本発明の第1の実施の形態に係る商デジット選択回路を用いれば、図1に示すように単純な論理和生成手段102を加算器101に加えて用いるだけで、商選択規則の対称性を保持しながら高速性を発揮できるようになる。すなわち、D0,D1,D2が0,1,1になり、かつ部分剰余計算後の新しい部分剰余の値の範囲が−2.0以上−1.5未満になってしまう場合というのは、D0,D1,D2が全て0である時に、商デジットとして+1を選んでしまうときにのみ発生するので、D0,D1,D2が全て0である時に限り、もう1ビット先のDxを調べることで、少なくとも現在の部分剰余の値が00.01以上であるか否かを判断し、00.01未満である場合、すなわちDxが0である場合には商デジットとして0を選ぶことでこの問題を回避し、しかも商デジットの選択規則の対称性を、図2のような割り当てを行なうことで、維持することができるようになるのである。
【0025】
すなわち、本発明の第1の実施の形態に関わる商デジット選択回路を有する演算器構成では、次のデジットを決定する際に必要となる符号を示すビットを含めた上位4ビットの2数に対して、このうち上位の3ビットだけを1つの数とみなした桁上げ伝搬加算を行ない、3ビットからなる結果を得る。また、この4ビットのうちの最下位の1ビットに位置する2数に対して論理和の演算を行ない、1ビットの結果を得る。この操作によって、基数2におけるSRTアルゴリズムでの、完全な除算及び平方根における商デジットを選択するための情報が得られる。続いて、商デジット決定手段においては、図2に示す商デジット決定ルールを用いる。つまり、商デジット選択手段で得られた3ビット長の加算結果のうちの最上位の1ビットによって、商デジットの符号を決定し、さらにはこの3ビット長の加算結果が全て1である場合には商デジットの絶対値を0とし、全て0であってかつ、最下位1ビットの論理和が0である場合も商デジットの絶対値を0とし、これ以外の場合には絶対値を1とする。これにより、正しい商デジットを得ることができるのである。従って、3ビットの桁上げ伝搬加算及び最下位の1ビットに位置する2数に対する論理和の演算にて商デジットの決定ができるため、演算に要するハードウエア量を削減すると同時に高速な商デジットの決定が可能となる。又、商デジットを直接+1,0,−1として出力する場合でも、この優位性は保持される。
【0026】
更に、従来法である図36のような割り当てでは商デジットとして0が選択される確率が約35パーセントであったのに対し、図2のような割り当てでは約43パーセントと実に約8パーセントの向上を図ることができる。この商デジットとして0が選択されれば、後の計算が非常に単純になるため、商デジットとして0が選択される確率が向上することにより、演算を高速に処理することができる。
【0027】
又、後述するように、従来の3ビット長加算による商デジット選択回路で問題であった特定演算に対する商の不正確さの問題も解決できる。
【0028】
以上説明してきたように、本発明の第1の実施の形態によれば、従来の商デジット選択手段に対して、高速に演算が可能であり、ハードウェアとしての回路もシンプルとなる。しかも商デジット選択における演算の対称性を維持することができる。
【0029】
[第2実施の形態]
図3は本発明の第2の実施の形態に関わる冗長数表現による商デジットを用いる反復アルゴリズムに基づいた平方根開平演算データ生成手段44のブロック図である。この平方根開平演算データ生成回路は、演算が行われている商デジットのビット位置を記憶するビット位置指示手段111と、下位からの桁上げがあるものと仮定した場合の非冗長表現された商デジットを表現する桁上げ有りの商デジット集合記憶手段112と、下位からの桁上げがないものと仮定した場合の非冗長表現された商デジットを表現する桁上げ無しの商デジット集合記憶手段113と、これらのビット位置指示手段111,桁上げ有りおよび桁上げ無しの商デジット集合記憶手段112,113及び商デジットqを用いて次の商デジット集合を生成する商デジット処理手段(PQR)114とから構成される商デジット遂次変換部46と、前記ビット位置指示手段111、前記桁上げ有りの商デジット集合記憶手段112、及び前記桁上げ無しの商デジット集合記憶手段113の結果を用いて、平方根開平演算に用いられるデータ(Root−multiple)を生成する開平用データ生成手段(RMF)115とを有し、本発明の第1の実施の形態に関わる商デジット選択回路から冗長数表現として得られる商デジットqを入力することにより、非冗長数表現である商デジット集合ならびに開平用データを生成する。
【0030】
また、図4は、この商デジット遂次変換部46のうち、商デジット集合を生成する商デジット処理手段(PQR)114の具体的な構成を示したものである。ここで、ビット位置指示手段111は現在処理中のビット位置を保持することができ、現在処理中のビット位置のみが1で残りがすべて0を保持するものである。このビット位置指示手段111は各ビット位置に該当する論理和生成手段に接続されている。図4では、nビット目、及びn+1ビット目が示されている。ビット位置指示手段111からの情報をもとにして、商デジットの値に応じ、図5に示すような結果が得られるように演算を行なう。このとき、商デジット集合は、除算/平方根演算の開始時点において、ゼロにクリアされている必要がある。
【0031】
また、図6は、本発明の第2の実施の形態における開平用データ生成手段(RMF)115の具体的な構成を示したものであり、ビット位置指示手段111の信号によって、適切な値が商デジット集合の値に付け加えられて出力される。この場合、商デジット処理手段114とは異なり、隣り合う2ビット分のデータが付け加えられるため、図6に示すように、1ビット分となりのビット位置指示信号の値を使用しており、図7はその動作の内容を示している。なお、最上位(n=0)ビットに位置する回路においては、これより上位にはビット位置指示手段が存在しないことから、自動的に上位からのビット位置指示信号P−1は0としてよい。開平用データ生成手段(RMF)115は、ビット位置指示手段111、桁上げ有りの商デジット集合記憶手段112、及び桁上げ無しの商デジット集合記憶手段113の結果を用いて、平方根開平演算に用いられるデータを生成する際に、ビット位置指示手段111の指示に制約条件を課すことでハードウェア量を減少させることが好ましい。このビット位置指示手段111の指示の制約条件については図17を用いて、後述する。
【0032】
本発明の第2の実施の形態に関わる平方根開平演算用データ生成手段44を有する演算器の構成では、図6に示した開平用データ生成手段115にて、商デジット集合記憶手段112,113の記憶内容および、ビット位置指示手段111からの信号を用いることによって、商デジットが+1である場合には、桁上げを仮定した商デジット集合に対して、当該ビット位置に0,1なるデジットをつけ加え、商デジットが−1である場合には桁上げを仮定しない商デジット集合に対して当該ビット位置に1,1なるデジットを付け加えたものを開平用データとして生成する。デジットが0である場合には、開平用データは不要となる。なお、この際ビット位置指示手段111の信号は当該ビット位置だけが1であり、その他のビット位置では全てゼロであるような信号であり、これに対して適切な論理演算を行なうことで、デジットのつけ加えを実現することかできる。続いて、新しく生成された商デジットに対し、新しい商デジット集合を生成する商デジット処理手段(PQR)114については、図5に示すように商デジットが+1である場合には、現時点の、桁上げを仮定した商デジット集合に対し、1および0をビット位置指示信号Pnを用いて付け加えたものを、桁上げを仮定したものと、仮定しない商デジット集合にそれぞれ書き込む。デジットが0である場合には、現時点の商デジット集合に対し、桁上げを仮定したものについは0を、仮定しないものについては1をそれぞれ付け加えて書き戻す。最後に商デジットが−1である場合には、現時点の、桁上げを仮定しない商デジット集合に対し、1および0をビット位置指示信号Pnを用いて付け加えたものを、桁上げを仮定したものと、仮定しない商デジット集合にそれぞれ書き込む。以上により、商デジット集合の操作が完了し、次の開平用データ生成を行なうこととなる。
【0033】
また、ビット位置指示手段111の出力に制約条件を課するようにする。即ち、例えば、現在演算を行っているビット位置を指示するビット位置指示手段111の指示が、図17に示すように所定のビットおきにしか変化しないようにすると、ビット位置指示手段111の内容が決して変化しないビット位置が生ずることになる。図17については本発明の第7の実施の形態として詳述する。この決して内容が変化しないビット位置を見越して開平用データを生成する構成にすることにより、開平用データ生成手段(RMF)115のハードウェア量を減少させることができる。さらに、構成が簡易になることで、信号遅延を減少させることもできる。
【0034】
このように本発明の第2の実施の形態によれば、従来あまり良くは知られていなかった平方根演算用の開平用データの非冗長デジット形式での作成を非常にシンプルなハードウェアの構成で可能とすることができる。又本発明の第2の実施の形態によればハードウェア量の増大を小さく押えると同時に高速な処理が行える。
【0035】
[第3実施の形態]
図8は本発明の第3の実施の形態に関わる部分剰余を和(Sum)と桁上げ(Carry)の2つの数デジットの和によって表現した反復型アルゴリズムに基づいた演算器のブロック図である。本発明の第3の実施の形態に関わる演算器は、部分剰余の和(Sum)と桁上げ(Carry)の2つの数デジットを記憶する部分剰余記憶手段121と、この部分剰余記憶手段121の出力により商デジットを生成する商デジット選択手段(QSL)123と、演算が行われている商デジットのビット位置を記憶するビット位置指示手段111と、下位からの桁上げがあるものと仮定した場合の非冗長表現された商デジットを表現する桁上げ有りの商デジット集合記憶手段112と、下位からの桁上げがないものと仮定した場合の非冗長表現された商デジットを表現する桁上げ無しの商デジット集合記憶手段113と、前記ビット位置指示手段111、前記桁上げ有りの商デジット集合記憶手段112、及び前記桁上げ無しの商デジット集合記憶手段113、商デジット選択手段(QSL)123の結果を用いて次の商デジット集合を生成する商デジット処理手段(PQR)114と、平方根開平演算に用いられるデータを生成する開平用データ生成手段(RMF)115から構成される平方根開平演算データ生成手段44と、除数デジットを記憶する除数デジット記憶手段122と、前記開平用データ生成手段115若しくは前記除数デジット記憶手段122のデータを選択して出力する除算/平方根演算選択手段125と、この除算/平方根演算選択手段125にて出力されたデータに対し、前記商デジット選択手段123により決定された商デジットにより、前記部分剰余に対して加算あるいは減算を行うデータを生成する被加数選択手段126と、この被加数選択手段126で生成されたデータ及び前記部分剰余記憶手段121にて記憶された部分剰余を前記商デジット選択手段(QSL)123からの加減算指示信号の指示により演算を行い、前記部分剰余記憶手段121に出力する桁上げ保存加算手段124とを有している。
【0036】
除算/平方根演算選択手段125により、除算/平方根演算選択信号によって開平用データと除数デジットとを切り替えて得られる信号を被加数選択手段126に入力することにより、両方の演算がその他のハードウエアを完全に共用とした上で実現できるため、ハードウエア量を減少させることができる。この時、アルゴリズムとしては、基数が2である必要がある。本発明の第3の実施の形態によれば、簡単な除数/平方根演算選択手段125と、除数デジット記憶手段122を追加するのみで、平方根演算に加えて除算が行なえるようになることから、小さなハード量の増加で多様な汎用性の増大が実現できる。なお、除数デジット記憶手段122並びに除算/平方根演算選択手段125を除いた構成、すなわち、平方根演算用の演算器としても用いることができる。
【0037】
本発明の第3の実施の形態に関わる演算器は、本発明の第1および第2の実施の形態を組み合わせて構成することが可能である。このような構成にすることにより平方根演算を高速に実現できる。またこのような簡潔な構成において従来問題となっていたこれらの演算の所要時間を大幅に短縮することができる。また、開平用データ生成手段(RMF)115からの出力信号と、除数デジット記憶手段122からの除数デジット信号とを除数/平方根演算選択手段125によって切り替えることによって、他のハードウエアは全く同一としながら両方の機能が実現される。これにより、ハードウエア量を減少させることができるのである。また、本発明の第3の実施の形態によれば商デジット集合を非冗長形式で記録することができるので商デジットを冗長数で記録しておいて最後に加算をフルビット長で行なう従来の過程を省略することができ、ここでのハードウェア量の減少を得ることもできる。
【0038】
[第4実施の形態]
図9は本発明の第4の実施の形態に係る次商デジット仮定型除算/平方根演算装置の構成を示すブロック図である。図9に示す演算器は部分剰余を和(Sum)と桁上げ(Carry)の2つの数デジットの和によって表現し、反復型アルゴリズムに基づいた平方根演算を行う。本発明の第4の実施の形態の演算器は図9に示すように演算が行われている商デジットのビット位置を記憶するビット位置指示手段111と、下位からの桁上げがあるものと仮定した場合の非冗長表現された商デジットを表現する桁上げ有りの商デジット集合記憶手段112と、下位からの桁上げがないものと仮定した場合の非冗長表現された商デジットを表現する桁上げ無しの商デジット集合記憶手段113と、ビット位置指示手段111、桁上げ有りの商デジット集合記憶手段112、及び桁上げ無しの商デジット集合記憶手段113と商デジットqを用いて、商デジット集合を生成する商デジット処理手段(PQR)114および平方根開平演算に用いられるデータを生成する開平用データ生成手段(RMF)115から成る平方根開平演算データ生成手段44を具備している。さらに平方根開平演算データ生成手段44に加え開平用データ生成手段(RMF)115の出力に対し、現在演算を行っている商デジットを仮定して次の部分剰余の値を予測する次デジット仮定部分剰余予測手段(OVLP)131と、この仮定した商デジットが決定された時点で次デジット仮定部分剰余予測手段(OVLP)131からの予測結果信号を選択する信号選択手段(MUX)133と、この選択された結果に対して商デジットの選択を行う商デジット選択手段(QSL)123と、除数デジットを記憶する除数デジット記憶回路122を備えている。この除数デジット記憶回路122を備えることにより、除算若しくは平方根の演算を行うことができるようになる。さらに、本発明の第4の実施の形態の演算器は図12あるいは図37に示すような部分剰余の計算を行う部分剰余計算手段(PRF)132を具備している。
【0039】
本発明の第4の実施の形態では、次デジット仮定部分剰余予測手段(OVLP)131によって、例えば商デジットが、+1,0,−1の3つの場合について、それぞれ次の部分剰余がどのようになるのかを計算しておき、当該デジットq j+1 が決定した時点でこれらを信号選択手段(MUX)133を用いて選択し、商デジット選択手段(QSL)123によってその次の商デジットq j+2 を決定できる。この時、商デジット選択手段123は、信号選択手段(MUX)133の前に置いて、あらかじめ予測される商デジットq j+2 の候補を計算しておき、これを信号選択手段133で選択することによって次の商デジットが決定されるという構成も有り得る。本発明の第4の実施の形態は、開平用データ生成手段(RMF)115での処理の高速化が図れて時間的余裕ができるため次デジット仮定部分剰余予測手段(OVLP)131の処理を行うことができる。次に、本発明の第4の実施の形態に関わる演算器の具体的な構成を図10に示す。図10では、次デジット仮定部分剰余予測手段(OVLP)131には4ビット長桁上げ保存加算器(4bCSA)を用いており、開平用データ又は除数デジット集合信号及び部分剰余を入力するようにしてある。
【0040】
このように本発明の第4の実施の形態によれば従来、例のなかった平方根演算での次デジット仮定型演算が、少ないハード量と、高速な実行時間をもって可能となる。
【0041】
[第5実施の形態]
図11は本発明の第5の実施の形態に係る自己同期型除算/平方根演算装置の構成を示すブロック図である。図11に示す演算器は部分剰余を和(Sum)と桁上げ(Carry)の2つの数デジットの和によって表現し、反復型アルゴリズムに基づいた平方根演算を行う。本発明の第5の実施の形態の演算器は図11に示すように複数のセットアップ/リセット信号同時伝搬範囲11,12,…が多段に縦属接続されたものである。図11の第1のセットアップ/リセット信号同時伝搬範囲11のさらに前段には演算が行われている商デジットのビット位置を記憶するビット位置指示手段111と、下位からの桁上げあるものと仮定した場合の非冗長表現された商デジットを表現する桁上げ有りの商デジット集合記憶手段112と、下位からの桁上げがないものと仮定した場合の非冗長表現された商デジットを表現する桁上げ無しの商デジット集合記憶手段113と、ビット位置指示手段111、桁上げ有りの商デジット集合記憶手段112、及び桁上げ無しの商デジット集合記憶手段113の結果Pj,Qj,Rjを用いて、平方根開平演算に用いられるデータを生成する第1の開平用データ生成手段(RMF)115と、この開平用データ生成手段(RMF)115の出力に対し、現在演算を行っている商デジットを仮定して次の部分剰余の値を予測する第1の次デジット仮定部分剰余予測手段(OVLP)131と、除数デジット記憶手段122とが配置されている。そして図11には、この第1のOVLP131からの予測結果信号を入力する第1のセットアップ/リセット信号同時伝搬範囲11と、第1のセットアップ/リセット信号同時伝搬範囲11からの予測結果信号を入力する第2のセットアップ/リセット信号同時伝搬範囲12の一部が示されている。第3のセットアップ/リセット信号同時伝搬範囲等は図示を省略している。第1のセットアップ/リセット信号同時伝搬範囲11は第1の次デジット仮定部分剰余予測手段(OVLP)131からの予測結果信号を仮定した商デジットが決定された時点で選択する第1の信号選択手段(MUX)133と、この選択された結果に対して商デジットの選択を行う第1の商デジット選択手段(QSL)123とを具備している。さらに、本発明の第5の実施の形態の演算器の第1のセットアップ/リセット信号同時伝搬範囲11は図11に示すように部分剰余の計算を行う第1の部分剰余計算手段(PRF)132、第1の信号選択手段(MUX)133、第1の商デジット選択手段(QSL)123、及び開平用データ生成に必要なデータを供給する第1の商デジット処理手段(PQR)114、第2の開平用データ生成手段(RMF)215、第2のビット位置指示手段211,第2の桁上げ有り及び無しの商デジット記憶手段212,213,第2のセットアップ/リセット信号同時伝搬範囲12に対して、予測信号を出力する第2の次デジット仮定部分剰余予測手段(OVLP)231とを具備している。
【0042】
第2のセットアップ/リセット信号同時伝搬範囲12は、第1のセットアップ/リセット信号同時伝搬範囲11と同様な構成で第2のOVLP231からの予測結果信号を選択する第2のMUX233と、この選択された結果に対して商デジットの選択を行う第2のQSLと、第2のPRF232、第2のPQR224、第3のビット位置指示手段311,第3の桁上げ有り及び無しの商デジット集合記憶手段312,313,図示を省略した第3のRMF、第3のOVLPとを具備している。
【0043】
さらに本発明の第5の実施の形態の演算装置は図11に示すように第2のPQR224、第2のPRF232および第2のQSL223の少なくとも1つの演算の終了結果を検出して演算完了信号を生成する演算完了信号生成手段143と、前記演算完了信号生成手段143で生成された演算の終了結果の信号を用いて、第1のセットアップ/リセット信号同時伝搬範囲に、次回の演算に備えたリセットの動作を行うセットアップ/リセット手段142およびセットアップ/リセット手段にセットアップ信号を供給するセットアップ信号生成手段141とを具備している。
【0044】
図11は本発明の第5の実施の形態の演算装置の一部を例示したものであって、実際には最低3段以上のセットアップ/リセット信号同時伝搬範囲のシリーズ接続が必要となる。すなわち図9に示した第4の実施の形態の演算装置が3段以上シリーズ接続されることとなる。自己同期型回路では、演算完了信号が正しく生成されることが必要となる。したがって本発明の第5の実施の形態における回路の構成要素は2線論理による相補論理出力型ダイナミック回路とし、リセット信号によってある2つのノードを電源電圧までプリチャージしておき、このときの2つノードの状態を“演算未了状態”としている。そして、それぞれのノードに対し、互いに相補の関係にあるような論理回路を接続し、何れか一方だけが放電されてノードの電位が低下するようにしているので、電位の低下が何れかのノードで観測された時点で“演算完了”状態と見なされる。このような回路を多段に接続すると、演算の終了検出が可能となる。しかしながら、この方式では、回路をリセット(プリチャージ)しておき、演算を行う前にセットアップ(プリチャージ解除)する必要があることから、このタイミングをいかにして作るかが焦点となる。そこで、図11の構成では、破線に囲ったセットアップ/リセット信号同時伝搬範囲11,12,13,…を1つのグループとして考えて、これを1つの単位とすることでプリチャージの制御を行なう。そして、この破線の範囲の回路がリセットされてもよいのは、その直後にある商デジット選択手段(QSL)223及び、商デジット処理手段(PQR)224及び、部分剰余計算手段(PRF)232の全てが演算を終了した後であることから、これらの手段からの信号によって演算完了を検出する演算完了信号生成手段143を用いる。この演算完了信号生成手段143では、前述した演算結果が有効であることを示す信号の論理積をとることによって、全ての演算が終了していることが保証できることになる。しかしながら、信号線の本数が膨大となることから、例えば図11の構成において、商デジット選択手段(QSL)223よりも商デジット処理手段(PQR)224の動作速度の方が必ず速いとすることにより、商デジット処理手段224の演算完了検出を省略することができる。この省略により商デジットのビット数だけその検出をしなくてよいため、完了の検出を高速にすることができるのである。
【0045】
このように本発明の第5の実施の形態によれば従来設計が困難であった演算の完了判定が、より大きなマージンをもって、簡略化された構成で実現できる。またこのような簡単な完了判定の実現が可能になると同時に、ハードウェア量の削減にも寄与できる。また従来例のなかった自己同期型回路設計における平方根及び平方根/除算共用演算器を簡単に構成でき、基礎として使用している演算ブロックの処理が高速化される。したがって本発明の第5の実施の形態によれば非常に高速な演算を実現することができる。
【0046】
[第6実施の形態]
図13は本発明の第6の実施の形態に係る演算器の商デジット選択手段123の概略を示すブロック図である。本発明の第6の実施の形態に係る演算器は、部分剰余を和(Sum)と桁上げ(Carry)の2つの数デジットの和によって表現し、基数が2である反復型アルゴリズムに基づいた除算若しくは平方根の演算を行う。図13は前記部分剰余の2つの数デジットの上位1ビット目乃至3ビット目における加算結果を得る加算手段101と、前記加算結果における下位1ビット、及び前記部分剰余デジットの上位4ビット目における2つのデジットの論理和を得る3入力論理和生成手段162と、前記加算手段101と、前記論理和生成手段162との演算結果に基づいて次の商デジットの決定を行う商デジット決定手段103から成る商デジット選択手段(QSL)123の構造を示している。
【0047】
図13においては冗長表現されている部分剰余の桁上げ信号C1,C2,C3,C4及び、加算結果信号S0,S1,S2,S3から、正しいビットの重みづけとするために、3ビット長加算手段に対してa0,a1,a2にそれぞれS0,S1,S2を、またb0,b1,b2に対してC1,C2,C3を入力することによって、D0,D1,D2の3ビットからなる加算結果を得る。ここで、S0,C1はそれぞれの部分剰余信号の最上位ビットである。この時、D0は部分剰余の符号を表わすことになり、D1,D2で部分剰余の数値の大きさを表現することになる。また、図13中で最下位に相当する信号S3とC4ならびに、3ビット長加算手段101における最下位ビットD2の論理和を論理和生成手段162によりとったものを、D3として出力する。そして、このようにして得られたD0,D1,D2,D3なる信号を図14(a)あるいは同図(b)に示す変換表を用いて商デジットに変換する。既に説明したように基数2のSRTアルゴリズムによる演算では、部分剰余を冗長数で表現している場合、図35および36におけるD0,D1,D2が0,1,1となった場合に問題が生ずることが知られている。すなわち、今仮に小数点がD1とD2の間にあるとした場合、01.1なるD0,D1,D2の値は、これよりも下位の桁上げ信号及び加算結果信号が全て0であった場合には最小値として10進表現で+1.5となるが、逆にこれらの信号が全て1であった場合には、−1.5よりもわずかに大きな数ともなりえる。すなわち、この場合の部分剰余が存在している可能性のある値の範囲は+1.5以上+2.0未満及び、−2.0以上−1.5未満という離散した範囲になってしまう。そこで、従来は、4ビット長の桁上げ伝搬加算手段を用いることや、図35に示すように、3ビット長の加算手段に加えて、前に選択したデジットの値を用いることで、この問題を回避していた。ところが、これらの方法では、4ビットの桁上げを用いた場合は、当然この部分での遅延時間が増大し、後者の方法では商デジットの選択規則の対称性が悪くなることや、前のデジットを保存しておくためのハードウェアが必要であるというデメリットがある。ところが、本発明の第6の実施の形態による図13の構成を用い、商決定規則として図14(a)あるいは同図(b)の規則を用いれば、単純な論理和生成手段162を加算器101に加えて用いるだけで、商選択規則の対称性を保持しながら高速性を発揮できるようになる。すなわち、D0,D1,D2が0,1,1になり、かつ部分剰余計算後の新しい部分剰余の値の範囲が−2.0以上−1.5未満になってしまう場合というのは、D0,D1,D2が全て0である時に、商デジットとして+1を選んでしまうときにのみ発生する。そこで、D0,D1,D2が全て0である時に限り、もう1ビット先のD3を調べることで、少なくとも現在の部分剰余の値が00.01(2進)以上であるか否かを判断し、00.01(2進)未満である場合、すなわちD3が0である場合には商デジットとして0を選ぶことでこの問題を回避し、しかも商デジットの選択規則の対称性を、図14(a)あるいは同図(b)のような割り当てを行うことで、維持することができるようになる。この構成は、前述した本発明の第1の実施の形態の図1の構成と論理的には同一であるが、商デジット決定手段103の論理がより簡略化されていることから、更に高速な動作が期待できる。このことは、次のようにして説明できる。つまり、D3の演算時間に関しては、D3を生成する源となっている信号の内、S3およびC4については部分剰余が生成された時点で得られ、D2については、S2とC3との排他的論理和を1段実行するのみであるから、他のD0やD1に比べればはるかに早い時点で得られることになる。この結果、D2とS3、C4による3入力1出力の論理和を生成している時間は、商デジット選択におけるクリィティカルパスには利いてこなくなり、商デジット決定を高速なものとすることができる。図15および図16は、図14(a)および同図(b)をダイナミックCMOS論理回路を用いて構成した場合の具体的な回路構成の例である。
【0048】
一方、図35に示す従来例による商選択ならびに商決定手段を用いた場合には、図35中に示すように、部分剰余の上位ビットの予測値がゼロである場合に商デジットとして+1が割り付けられているため、部分剰余の値がゼロであって、部分剰余の上位3ビットの加算結果がゼロである場合には、間違った商デジットを選択してしまうことになる。このことは、部分剰余の上位4ビットの加算結果を用いて商決定を行う構成を採用すれば生じないが、加算が4ビット長となる分、演算時間が長くなってしまう。ところが、本発明の第6の実施の形態による商デジット選択手段(QSL)ならびに商デジット決定手段103を用いると、商デジット選択を間違うことはなくなる。したがって本発明の第6の実施の形態によれば、3ビット長加算器を用いることによる高速性を維持しながら、得られる商デジットが常に正しいことを保証する演算器を実現することができる。さらにはこのことは、前述した本発明の第1の実施の形態で説明した図1のような構成の商デジット選択ならびに商デジット決定手段103を用いても実現されているが、本発明の第6の実施の形態における商デジット選択手段ならびに商デジット決定手段を用いた方が、より高速で動作する。
【0049】
このように本発明の第6の実施の形態では、従来の商選択手段に対して、さらなる高速性をわずかなハードウェアによって達成することができる。特に従来の構成では困難であった、3ビット長加算器を用いながら、商デジットの正確さを保証できるような商デジット選択手段を商選択および商決定における演算時間を増加させることなしに実現することができる。尚、従来の構成で行われている演算後に商の正当性を検査して必要ならば補正を行うという操作を省略できることから、ハードウェア量を低減し、補正操作に要していた時間を節約できる。
【0050】
[第7実施の形態]
図17は本発明の第7の実施の形態に係り、基数2の演算器を4段縦続接続し、1回の反復演算にて4ビットの商デジット演算を行う演算器の構成を示す。すなわち、本発明の第7の実施の形態の演算器は商デジットの逐次冗長−非冗長数の変換を行うことで、反復型アルゴリズムに基づいた除算若しくは平方根の演算を行う演算器であって、図3に示すような商デジット遂次変換部46を所定の段数縦続接続したものである。つまり、図3に示したような現在演算が行われている商デジットのビット位置を、その位置に相当するビットだけ値が他とは異なっているような形式を用いて記憶するビット位置指示手段111と、次の商デジットの値が正であることを仮定した場合の非冗長数表現された商デジットを表現する第1の商デジット集合(桁上げ有り)記憶手段112と、次の商デジットの値が負であることを仮定した場合の非冗長数表現された商デジットを表現する第2の商デジット集合(桁上げ無し)記憶手段113と、次に得られる商デジットに対応する商デジット集合を生成する商デジット処理手段(PQR)114とから構成される商デジット遂次変換部46をそれぞれ2以上の所定の数だけ縦続接続して演算器を構成しており、該演算器における1回の演算にて2ビット以上の所定ビット数の商デジットを得ることができる。
【0051】
この時、図17中に示すように、現在商デジットの演算を行っているビット位置であることを示すビット位置指示手段Pの各ビット位置における内容は、演算器群を1回データが通過するごとに4ビットずつ下位へ向かって演算が進んでいく。このことを反映して、基数2の各演算器段における4の剰余がある値に等しいビット位置においてのみP=1となって現在商デジットの演算を行っているビット位置が発生することから、残る全体の3/4のビット位置では決してPは変化しないことになる。この結果、演算中のビット位置における特定ビットデータの付加を基本とする部分商レジスタの逐次冗長−非冗長数変換では、特定ビットデータの付加が決して起らないビット位置が全体の3/4の割合で発生することとなる。この結果、この部分でのハードウェアを図18のように構成することが可能となり、先に本発明の第2の実施の形態で説明した図4と比べて大幅に縮小される。
【0052】
さらに各段の商デジット遂次変換部46に開平用データ生成手段(RMF)115を付加すれば平方根演算が可能となる。図19(a)および同図(b)は、本発明の第7の実施の形態における平方根演算における開平用データ生成手段115の具体的な回路構成を示したものである。ここでは、ビット位置指示手段に関わる図17に示した制約条件のために、先に説明した本発明の第2の実施の形態における図6の構成に比較すれば、図19(a)に示すように大幅にハードウェア量が減少していることがわかる。さらに開平用データ発生に係る演算時間も、論理ゲート段数の減少によって短縮することができる。さらに制約条件を課すことで図19(b)に示す如くハードウェア量を減少させることができる。
【0053】
図20は、本発明の第7の実施の形態に係るオーバラップ法を用いた基数2の平方根演算器の構成であり、現在演算を行っている商デジットを仮定して、ここでは+1,−1なる商デジットに対応する開平用データを開平用データ生成手段(RMF)115により作成し、次デジット仮定部分剰余予測手段(OVLP)131を用いてこの開平用データから次の部分剰余を予測する。そして、現在の商デジットの演算が終了すると、予測しておいた次の部分剰余の中から正しいものを信号選択手段(MUX)133を用いて選択し、その次の商デジット選択手段123により商デジットの決定を行う。この時、現在演算を行っている前の段階で決定された商デジットの生成から開平用データが生成されるまでの時間が、部分剰余にすでに計算されている開平用データを加減算する時間よりも短ければ、開平用データ生成に要する時間は演算器における演算時間に影響を与えない。
【0054】
本発明の第7の実施の形態に係る演算器の商デジット選択手段(QSL)123,223に対しては、図1あるいは図13に示したものと同様な構成とすればよい。次に、図17に示したように商デジットの逐次冗長数−非冗長数変換手段あるいは、開平用データ生成手段の縦続接続については、インプリメントされている演算器内で、1回の信号通過に際し2デジット以上nデジットの商デジットが計算される構成とした場合に、演算器の入力端では現在演算を行っているビット位置を指示するビット位置指示手段の指示Pj が、nビットおきにしか変化しないことを利用する。すなわち、ビット位置指示手段の内容が決して変化しないビット位置では、これを見越した商デジットの逐次非冗長数変換あるいは開平用データ生成を行うことで、ビット位置指示手段の内容が変化することを前提として作られたハードウェアよりもはるかに小さな規模のハードウェアにてこれらの手段を実現することができる。単位演算器を複数段縦続接続して、全体の演算器を構成している場合の、各単位演算器間の信号についても同様なことが言え、やはり特定のビット位置でのビット位置指示手段の内容の値が決して変化しない場所が存在することから、同様な考え方で、商デジットの逐次非冗長数変換や、開平用データ作成手段におけるハードウェアの量を大幅に低減することができる。
【0055】
次に、オーバラップ型演算器において平方根演算が除算と同じ速度で実行されるための条件について説明する。図21は、図20に示した次商デジット仮定部分剰余予測手段(OVLP)を用いたオーバラップ法における、各演算器構成手段の演算時間を表示したものである。ここで、横方向の長さが演算時間を示している。オーバラップによる演算では、常に2つの異なるデータ信号の流れが発生することから、図21には2本の流れが描かれている。また、図中でpとあるのは部分剰余信号であり、qとあるのは商デジット信号である。図21で、除算を行う場合には、商デジット処理手段(PQR)および開平用データ生成手段(RMF)が不要となるが、これらを必要とする平方根の演算では、部分剰余計算手段(PRF)から信号が出力されるよりに前に、RMFからの出力が得られていないと、即座に次デジット仮定部分剰余予測手段(OVLP)での処理に移れなくなることから、平方根の方が除算よりも演算時間が長くかかってしまうことになる。ところが、RMFの方がPRFよりも早く演算を終了していれば、PRFの終了後直ちにOVLPでの演算を行えることから、平方根演算は除算と全く同じ速度で実現することができるようになる。ここで、PRFの演算と、PQRの演算は商デジットqの到着を以って開始されることから、上に述べた条件は、
PRFにおける演算時間>(PQRにおける演算時間+RMFにおける演算時間)と書き直すことができる。
【0056】
続いて、具体的な構成として、図22に示すような構成を用いた演算器を考える。ここでは、点aにおいて、商デジット信号が入力された場合に、3入力1出力の信号選択手段(MUX)151によってそれぞれ点bならびに点dに、ほとんど同時に信号が到達する。続いて、PRF132の信号パスでは、桁上げ保存加算器(CSA)155を通って演算が完了する(c点)。1ビットシフト159は単なる配線手段によることから、演算時間としてはほとんどかからない。これに対して開平用データの信号パスでは、開平用データ生成手段(RMF)115での処理が行われた後に、点eに出力信号が現われる。ここで問題となっているのは、それぞれの出力端である点cならびに点eでの信号到達時間の差ということになる。そして、この到達時間差は、RMF115における演算時間と、桁上げ保存加算器155における演算時間との差ということになる。ところで、桁上げ保存加算器(CSA)155では、3入力1出力の排他的論理和回路(XORゲート)がクリティカルパスとなるのに対し、RMF115では先に説明した本発明の第7の実施の形態における図19(a)の回路によって、2入力1出力の論理和回路(ORゲート)がクリティカルパスになっている。ここで、一般的に3入力1出力のXORゲートは、必ず2入力1出力のORゲートよりも演算時間が長いことから、必ずRMF115が終了して新しい開平用データが点eに得られてから、新しい部分剰余が点cに現われることになる。以上によって平方根の演算時間が除算と全く同じになることが示される。
【0057】
以上のように本発明の第7の実施の形態では商デジットの逐次冗長−非冗長数変換手段における使用ハードウェア量を、1回の演算器使用における演算商デジット数を2以上とすることで、かなりな量にわたり減少させることができる。また1回の演算における計算商デジット数を2以上とすることで、平方根演算において、商デジットの逐次冗長−非冗長変換手段を併せて用いることによる開平用データの高速生成を可能とすると同時に、開平用データ生成に必要なハードウェアの量を著しく減少させることができる。さらに本発明の第7の実施の形態では開平用データの計算時間が大幅に短縮されることにより、次の部分剰余を高速に予測できることを用いてオーバラップ法による平方根の演算を高速化することができる。
【0058】
[第8実施の形態]
図23は、商デジット遂次変換部46、開平用データ生成手段(RMF)115および除数デジット記憶手段122とを有した、除算と平方根の両方の機能を発揮させることができる本発明の第8の実施の形態の構成を示している。すなわち、図23においては部分剰余に対する加減算量として、開平用データか、除数データのいずれかを信号選択手段(MUX)171を用い選択することで、同一のハードウェアを共有しながら除算/平方根演算を行う。この結果、高速な除算および平方根演算を、より少ないハードウェアで同時に実現できるようになる。
【0059】
つまり、商デジット選択手段(QSL)ならびに商デジット決定手段といった部分に図1又は図13に示した3ビット桁上げ加算器101+第4ビットの論理和回路102,162のような、除算と平方根で共用できるものを用いることで、両演算間の差は部分剰余を計算する際に用いる加減算データの違いのみであることから、この部分を信号選択手段(MUX)171で切り替えることによって、同一のハードウェアにて平方根と除算が実現される。なお、この際に反復演算によって得られる、冗長表現形式の1つであるsigned−digit形式による商デジットは、少ないハードウェアによって非冗長形式に変換され、平方根演算においても少ないハードウェアにて開平用データが生成されることから、演算器を少ないハード量にて実現することができる。
【0060】
[第9実施の形態]
本発明の第9の実施の形態は図24に示すような2つのデータを、2以上のビット長を有する複数のブロックに分割して加算若しくは減算結果のゼロ判定を行う回路を具備する演算器である。本発明の第9の実施の形態の演算器においては2つのデータがある場合に、ブロックに分割されたデータの加算若しくは減算の結果を、前記所定のブロックの下位のブロックからの桁上げの有無により2通りのゼロ判定を行うゼロ判定手段251と、このゼロ判定手段251の2通りの出力、及び前記所定のブロックの下位のブロックからの桁上げ信号を入力し、この桁上げ信号により前記ゼロ判定手段251の出力を選択する選択手段252とを前記各ブロック毎に有している。そしてこの各ブロック毎の選択手段252の出力全体で選択回路の出力論理の正負に応じて論理和又は論理積をとり、加減算結果の最終的な2つのデータのゼロ判定を行う最終判定手段253を有する。本実施形態ではゼロ判定手段251は4ビット桁上げ仮定加算結果ゼロ判定回路を用いることにする。
【0061】
図24は8ビット長の入力データ間での加減算結果によるゼロ判定を、4ビット長のブロックに分割して行う回路の構成図を示す。各4ビット長ブロックには、AならびにBなるデータが与えられている。また、減算処理に対応するため、Add/Subなる機能選択信号と、データBの各ビット信号との排他的論理和をとる回路が接続されている。さらに、各4ビット長ブロックにおいては、下位からの桁上げ信号の有無を仮定して、加算結果がゼロととなるかどうかを判断し、その結果を出力する。ここで、上位の4ビットブロックについては、下位のブロックからの桁上げ信号を用いる代わりに、当該ブロックの下位の直前のビット(この場合にはA3とB3)の論理和を用いて、桁上げを仮定したゼロ判定信号を選択する。また、最下位の4ビットブロックについては、この加減算器への桁上げ入力をそのまま用いて、ゼロ判定信号を選択する。そして、いま加減算結果=0をあらわす信号が論理“1”であるとすれば、下位4ビットおよび上位4ビットブロックについて選択を行った結果のゼロ判定信号同士の論理積をとることによって、最終的に加減算結果のゼロ判定信号出力を得る。この構成においては、例えば最下位ブロックへの桁上げ信号入力が、AならびにBの信号と比べて著しく遅れて生成されるようなシステムにおいても、桁上げ信号が生成される前に、あらかじめ桁上げを仮定したゼロ判定演算を行っておけるために、桁上げ信号がそのままクリティカルパスに入ることを防ぐことができる。また、システム構成上の制約条件によって、上位4ビットのブロックと下位4ビットのブロックが遠く離れて存在しているような場合にも、A3とB3の論理和が生成されて、上位4ビットブロックに到達するまでの時間に、桁上げを仮定したゼロ判定信号生成を行っておくことができる。図25ならびに図26に、桁上げ仮定4ビット加算器ならびに、結果ゼロ判定用の4入力論理和回路を用いた、図24における4ビット桁上げ仮定加算結果ゼロ判定回路251の構成例を示す。更には図27にこれらの4ビット桁上げ仮定加算結果ゼロ判定回路251を用いて構成した8ビット加算結果ゼロ判定回路の構成例を示す。従来技術においては図33に示したように、桁上げ仮定による上位4ビットブロックの加算結果ゼロ判定信号を下位4ビットブロックからの桁上げ信号を直接用いて選択している。したがって従来技術では図27中に破線で示したような接続となるのに対し、本発明の第9の実施の形態による構成では、実線で示したように、下位4ビットブロックの最上位ビットにおける論理和信号を直接用いている。図27で、桁上げC4が確定する時刻に比べ、下位4ビットブロックの論理和信号は極めて早く生成されることから、ゼロ判定の高速化を図ることができる。
【0062】
本発明の第9の実施の形態に係る加減算結果ゼロ判定回路の構成では、あるブロックnの下位に位置するブロックn−1における桁上げ予測信号生成手段の信号出力が1である場合においては、下位ブロックn−1での加減算結果がゼロであったと仮定すると、必ず桁上げが生じることになり、桁上げ信号に変えて、桁上げ予測信号生成手段の信号を用いることができる。すなわち、下位に位置するブロックn−1の最上位ビットの2数のいずれかが1であり、もう一方が0である場合に、下位ブロックn−1における加算結果がゼロとなるためには、ブロックn−1の最上位ビットにおける結果をゼロにする必要がある。この時、必ず最上位ビット位置への桁上げがなければならないことから、結果としてこのブロックから桁上げが必ず発生することになる。次に、ブロックn−1の最上位ビットがいずれも1である場合には、自動的に桁上げが発生する。また、ブロックn−1の最上位ビットの論理和が0である場合においては、下位ブロックn−1の演算結果によらず、桁上げは発生しないことから、やはり桁上げ信号に変えて、論理和信号すなわち、桁上げ予測信号生成手段の信号を用いることができる。ただし、この桁上げ予測信号生成手段による予測が正確であるのは、あくまでそのブロックにおける加減算結果がゼロとなる場合のみであることから、そうではない場合には、この予測は正しくない可能性がある。このため、現時点で得られているブロックnにおける加減算結果ゼロ判定信号は、正しくない可能性がある。
【0063】
次に、当該ブロックmが加減算器における最下位ビットを含んでいる場合には、この加減算器自体に外部から導入される桁上げ信号すなわち、桁上げ入力信号供給手段からの信号を用いて、当該ブロックmにおける、桁上げ仮定加減算器結果ゼロ判定手段の信号を選択することになる。このとき、この最下位ブロックmにおける判定結果Zmは、桁上げによって決定された正しいゼロ判定結果となることから、このブロックの上位に位置するブロックm+1において、前述したようなゼロ判定信号Zm+1が生成された場合、このゼロ判定信号Zm+1と、最下位ブロックにおける正しいゼロ判定信号Zmとの論理積(和)をとれば、連鎖的に判断が積み重ねられることとなり、正しい結果を得ることができる。すなわち、最下位ブロックにおいて、演算結果がゼロであることが保証されれば、このことを仮定して作成された上位ブロックのゼロ判定結果は仮のものという扱いから、正しい結果であることを保証されたものへと変化し、更に上位のブロックに向かって連鎖的に検証が進行して、最終的には全体における正しい加減算結果ゼロ判定が行えることになる。
【0064】
続いて、ブロックのビット長が2である場合のブロックの構成法に関してであるが、まず、当該ブロックへの桁上げがあると仮定した場合には、ブロック内の上位の入力データ間および、下位の入力データ間での排他的論理和が1であるときに、演算結果がゼロとなることから、まずこれらの信号を生成する手段によって桁上げを仮定したゼロ判定信号を生成しておく。次に、当該ブロックの下位からの桁上げがない場合についてであるが、このとき当該ブロックの演算結果がゼロとなるためには、ブロック内の最下位ビットにおける入力データ間の論理和が0である、すなわち入力データが両者とも0である場合か、論理積が1である、すなわちデータが両者とも1である場合の2通りしかない。ここで、論理和が0である場合には、ブロック内の上位ビットへは桁上げは発生しないから、ブロック全体の演算結果がゼロとなるためには、上位ビットにおける入力データ間の排他的論理和が0である必要がある。また、下位ビットの論理積が1であった場合には桁上げが発生することから、今度は逆に、上位ビットにおける排他的論理和が1であるときに、ブロックの演算結果がゼロとなる。したがって、この上位ビットにおける排他的論理和によって下位ビットの論理和ならびに、論理の符号を一致させるために、下位ビットの論理積の否定をとった信号を選択すれば、ブロックへの桁上げがなかったと仮定した場合の演算結果のゼロ判定を得ることができるのである。
【0065】
[第10実施の形態]
図28に本発明の第10の実施の形態に係るゼロ判定手段のブロック図を示す。本発明の第10の実施の形態のゼロ判定手段は、2つのデータの該当するブロックの所定のビットの論理積信号を出力する第1の論理積回路351と、この2つのデータの該当するブロックの所定のビットの論理和の否定信号を出力する否定的論理和回路352と、この2つのデータの該当するブロックの所定のビットの排他的論理和の否定信号を出力する第1の排他的論理和否定回路353と、前記所定のビットの上位ビットの排他的論理和否定信号を出力する第2の排他的論理和否定回路354と、前記第1の排他的論理和否定回路353と前記第2の排他的論理和否定回路354との否定的論理和信号を出力する第2の否定的論理和回路355と、前記第1の論理積回路351の出力と否定的論理和回路352の出力とを、前記第2の排他的論理和否定回路354の出力により選択して出力する選択回路356とを有し、この選択回路356の出力gを前記所定のブロックの下位のブロックからの桁上げ無しのゼロ判定信号とし、前記第2の否定的論理和回路355の出力fを前記所定のブロックの下位のブロックからの桁上げ有りのゼロ判定信号とするようにしてある。
【0066】
図28において被加算データA,Bの上位ビットA1,B1と下位ビットA0,B0について、それぞれ図28にあるような論理演算行い、A0とB0の論理積aと論理和の否定bのいずれかを、A1,B1の排他的論理和否定によって選択する。すなわち、eが1である場合にはセレクター356にて“1”と表示されている側の信号がgへと出力される。逆に、eが0であれば、“0”と表示されている側(b)の信号がgへと出力される。このようにして得られる信号gは、このブロックの下位のブロックからの桁上げがない場合に、このブロックにおける加算結果ゼロ判定信号となっており、結果がゼロであるときに“1”となる。また、fは下位からの桁上げ信号がある時の加算結果ゼロ判定信号である。図28の回路を従来技術の図34の回路と比較すると分かるように、論理回路の段数としては同じなのであるが、図28の回路は排他的論理和回路の縦続接続がないことから、さらなる高速性を得ることができる。また使用しているハードウエア量についても、下位1ビットに論理和の否定と、論理積の2つの論理回路を使用している点以外では図34に示す回路とほぼ同等であり、ハード量の増加はそれほど大きいものではない。図29は、2ビット長の加算器に対して、図28の回路を適用した例である。図中破線で囲んで示した部分が、加算結果ゼロ判定回路を付加することによって増加するハードウェア部分を示しているが、かなりの部分のハードウェアは元の加算器のものと共用できる。図30は図28に示した2ビットブロックによる加算結果ゼロ判定回路を用いて構成した8ビット長加算結果ゼロ判定回路の構成図である。この構成においては、2ビットブロックによる桁上げを仮定したゼロ判定結果を直近の下位ビットの論理和もしくは、最下位からの桁上げ入力C0によって選択し、その結果の論理積をとることによって最終的な加算結果ゼロ判定か出力を得ている。ここで、最下位からの桁上げ入力C0が、これを必要とするセレクター371に入力される前に、A0,B0から入力された信号は、図30のa−b−cといった径路を通過することから、論理回路2段分時間的に遅れた位置にあることになる。これに対し図34に示した従来技術では論理回路1段分の時間余裕しかなく、C0の少しの遅れによっても、全体の演算速度に影響をきたしてしまう問題があった。このC0が遅れてくるという場合は、一般のマイクロプロセッサにおける演算ユニット(ALU)おいてはしばしば見られ、加減算回路についても最下位段も桁上げ仮定加算器を用いてC0の遅れを補っていることから、本発明の第10の実施の形態による加減算結果ゼロ判定回路においてはこのような状況にも対応できることになる。また、従来技術における回路であっても、桁上げ仮定をしておいてC0の到着を待つことは可能なのであるが、その結果セレクター1段分の遅延時間が余分にかかることになる。しかしながら、本発明の第10の実施の形態による2ビットブロックの回路では、論理回路の段数を増やさないでC0の遅れへの適応を図れることから、効果は極めて大きい。
【0067】
[第11実施の形態]
図31は、本発明の第11の実施の形態に係る高速加算結果ゼロ判定回路を用いた浮動小数点除算器の剰余最終加算器を示す。非回復型除算器の剰余最終加算器においては、正確な丸めを実現するために、剰余の符号ならびに、ゼロか否かを判定する必要がある。そこで、従来は図32に示したような構成を用いて加算を行い、その結果の論理和をとることによってゼロ判定を行い、加算結果の符号ビットと併せて剰余の値判定を行っていた。しかしながら、図32に示す方法では、本来は必要ではない完全な加算結果を計算する必要がある上に、加算結果を待った上でなければ結果ゼロ判定が行えないことから、加算結果を計算するためのハードが必要となり、さらには遅延時間が大きくなる欠点があった。これに対し本発明の第11の実施の形態では図31に示すように、高速加算結果ゼロ判定を、符号判定ビットの決定のみが行える加算器に付加しているので、ハード量を抑えながら高速化を図ることができる。
【0068】
尚、この手法は浮動小数点平方根演算器の最終剰余についても同様に適用できる。
【0069】
【発明の効果】
以上説明してきたように、本発明によれば、従来の商選択手段に対して、高速性及び回路のシンプルさ、あるいは除算と平方根の演算で完全に共有できるといった特長を有しながら、しかも商選択における演算の対称性を維持することができるようになる。
【0070】
また、従来あまり良くは知られていなかった平方根演算用の開平用データの非冗長デジット形式での作成を、非常にシンプルなビット位置指示手段によって可能にするものであり、ハード量を小さく抑えることができるようになると同時に高速な処理が行える。
【0071】
また、簡単な信号選択手段と、除数デジットを記憶する手段を追加するのみで、平方根演算に加えて除算が行なえるようになることから、汎用性が小さなハード量の増加で実現できる。また、商デジット集合を非冗長形式で記録することから、商デジットを冗長数で記録しておいて最後に加算をフルビット長で行なう従来の過程を省略することができ、ここでのハードウエア量の減少を効果として加味することができる。
【0072】
また、従来例のなかった平方根演算での次デジット仮定型演算が、やはり少ないハード量と、高速な実行時間をもって可能となる。また、従来例のなかった自己同期型回路設計における平方根及び平方根/除算共用演算器を簡単に構成でき、基礎として使用している演算ブロックの処理が高速化されることから、非常に高速な演算を実現することができる。更に、従来設計を困難にしていた演算の完了判定において、より大きなマージンをもって、簡略化された構成での完了判定の実現を可能にすると同時に、ハードウエア量の削減にも寄与できる。
【0073】
また、従来の商選択手段に対して、さらなる高速性をわずかなハードウェアによって達成することができる。
【0074】
また、従来の3ビット加算器による商選択/決定手段の構成では問題であった、割り切れ演算に対する商の不正確さの問題を商選択および商決定における演算時間を増加させることなしに解決することができる。
【0075】
また、商デジットの逐次冗長−非冗長数変換手段における使用ハードウェア量を、1回の演算器使用における演算商デジット数を2以上とすることで、かなりな量にわたり減少させることができる。
【0076】
また、1回の演算における計算商デジット数を2以上とすることで、平方根演算において、商デジットの逐次冗長−非冗長変換手段を併せて用いることによる開平用データの高速生成を可能とすると同時に、開平用データ生成に必要なハードウェアの量を著しく減少させることができる。
【0077】
また、開平用データの計算時間が大幅に短縮されることにより、次の部分剰余を高速に予測できることを用いてオーバラップ法による平方根の演算を高速化することができる。
【0078】
さらに、開平用データと、除算データとを信号選択手段で切り替えるのみで、ほとんどのハードウェアを共用しながら除算と平方根の演算機能を少ないハードウェアで同時に実現することができる。
【0079】
また、わずかなハードウエアの追加によって、従来回路を上回る高速性と、柔軟なシステム形態への対応を図ることができる。とりわけ、最下位ビットへの桁上げ信号の遅れに対する許容度を改善できることから、実際的なマイクロプロセッサシステムの演算ユニットへの適用がより容易となる。
【図面の簡単な説明】
【図1】本発明の第1の実施形態に係る3ビット長加算手段及び論理和生成手段を用いた商デジット選択手段(QSL)の構成例を示す図である。
【図2】図1の構成において用いられる商デジット決定手段の商デジット決定ルールを示した図表である。
【図3】本発明の第2の実施形態に係る平方根開平用演算データ生成手段の構成例を示す図である。
【図4】本発明の第2実施形態に係る商デジット処理手段(PQR)の構成例を示す図である。
【図5】本発明の第2実施形態に係る商デジット処理手段(PQR)の動作の概略を示す図である。
【図6】本発明の第2の実施形態に係る開平用データ生成手段(RMF)の構成例を示す図である。
【図7】本発明の第2の実施形態に係る開平用データ生成手段(RMF)の動作の概略を示す図である。
【図8】本発明の第3の実施形態に係る除算/平方根演算器の例を示す図である。
【図9】本発明の第4の実施形態に係る次商デジット仮定による高速除算/平方根演算器の構成例を示す図である。
【図10】本発明の第4の実施形態に係る次商デジット仮定による高速除算/平方根演算器の構成の具体例を示す図である。
【図11】本発明の第5の実施形態に係る自己同期型回路設計による次商デジット仮定高速除算/平方根演算器の構成例を示す図である。
【図12】本発明の第5の実施形態に係る商デジットを符号部分と絶対値部分に分割することによる部分剰余計算手段(PRF)の構成例を示す図である。
【図13】本発明の第6の実施形態に係る3ビット長加算手段及び3入力1出力論理和生成手段を用いて簡略化された商デジット選択手段(QSL)の構成例を示した図である。
【図14】(a)は図13の構成において用いられる商デジット決定手段の商デジット決定ルールであって、商デジットを{+1,0,−1}の3種類の符号で表現するものを示した図であり、(b)は図13の構成において用いられる商デジット決定手段の商デジット決定ルールであって、商デジットを符号と絶対値とで表現するものを示した図である。
【図15】図14(a)の商デジット決定ルールをダイナミックCMOS回路を用いて実現した例を示した図である。
【図16】図14(b)の商デジット決定ルールをダイナミックCMOS回路を用いて実現した例を示した図である。
【図17】本発明の第7の実施形態に係る基数2の演算器を4段縦続接続した構造における演算ビット位置指示手段Pの挙動を示した図である。
【図18】図17の構成における、逐次商デジット冗長−非冗長変換手段のハードウェアの具体的構造を示した図である。
【図19】図17の構成における、開平用データ生成手段(RMF)の具体的な回路構成を示した図である。
【図20】本発明の第7の実施形態に係るオーバラップ法による平方根演算器の構成を示す図であり開平用データ生成の高速化を適用した例である。
【図21】本発明の第7の実施形態に係るオーバラップ型の演算器における各演算構成手段の演算時間を表示する図であり、平方根演算が除算と同速度で実行されるための条件を示す。
【図22】本発明の第7の実施形態のオーバラップ型の演算器の具体的構成を示した図である。
【図23】本発明の第8の実施形態の演算器のブロック図であり、平方根と除算とを共通のハードウェアを用いて実現した場合である。
【図24】本発明の第9の実施形態に係る4ビット長桁上げ仮定加減算結果ゼロ判定回路を用いた8ビット加減算結果ゼロ判定回路の構成図である。
【図25】本発明の第9の実施形態に係る4ビット桁上げ仮定加算器ならびに、桁上げ仮定加算結果ゼロ判定回路を組み合わせた4ビット長桁上げ仮定加減算結果ゼロ判定回路(桁上げ=0を仮定)の構造を示す図である。
【図26】本発明の第9の実施形態に係る4ビット桁上げ仮定加算器ならびに、桁上げ仮定加算結果ゼロ判定回路を組み合わせた4ビット桁上げ仮定加減算結果ゼロ判定回路(桁上げ=1を仮定)を示す図である。
【図27】図25および図26に示した4ビット桁上げ仮定加減算結果ゼロ判定回路を組み合わせた8ビット加算結果ゼロ判定回路の構成例(実線)を従来技術の場合(破線)と比較して示す図である。
【図28】本発明の第10の実施形態に係る2ビット長桁上げ仮定加算結果ゼロ判定回路の構成図である。
【図29】本発明の第10の実施形態に係る2ビット長桁上げ仮定加算結果ゼロ判定回路を2ビット長加算器に組み合わせた回路の構成図である。
【図30】図28に示した2ビット長桁上げ仮定加算結果ゼロ判定回路を用いた8ビット加算結果ゼロ判定回路の構成図である。
【図31】本発明の第11の実施形態に係る非回復型浮動小数点除算器の剰余最終加算器の構成図を示す図である。
【図32】従来技術における加減算を行った後に論理和回路により結果ゼロ判定を行う例を示す図である。
【図33】桁上げ仮定区分加算器ごとの加算結果のゼロ判定信号を桁上げ信号によって選択する従来例を示す図である。
【図34】桁上げ連鎖を伴わない加算結果ゼロ判定回路の従来例を示す図である。
【図35】従来の構成による3ビット長加算器を用いた商デジット選択手段の構成例を示す図である。
【図36】従来の構成による3ビット長加算器を用いた商デジット選択/決定手段に用いられる商デジット決定ルールを示す図である。
【図37】図12の別の構成による部分剰余計算手段(PRF)の構成例を示す図である。
【符号の説明】
11,12 セットアップ/リセット信号同時伝搬範囲
44 平方根開平用演算データ生成手段
46 商デジット逐次変換部
101 3ビット長加算手段
102 論理和生成手段
103 商デジット決定手段
111,211,311 ビット位置指示手段
112,212,312 商デジット集合(桁上げ有り)記憶手段
113,213,313 商デジット集合(桁上げ無し)記憶手段
114,224 商デジット処理手段(PQR)
115,215 開平用データ生成手段(RMF)
121 部分剰余記憶手段
122 除数デジット記憶手段(DDM)
123,223 商デジット選択手段(QSL)
124 桁上げ保存加算手段(CSA)
125 除算/平方根演算選択手段
126 被加数選択手段
131,231 次デジット仮定部分剰余予測手段(OVLP)
132,232 部分剰余計算手段(PRF)
141 セットアップ信号生成手段
142 セットアップ/リセット手段
143 演算完了信号生成手段
151,233,171,152 信号選択手段(MUX)
155 桁上げ保存加算手段(CSA)
159 1ビットシフタ
162 論理和生成手段(OR)
251 4ビット桁上げ仮定加算結果ゼロ判定回路
252,356,371 選択手段(セレクタ)
253 最終判定手段(AND)
254 選択信号発生回路
351 論理積生成手段(AND)
355 否定的論理和生成手段(NOR)
353,354 排他的論理和否定手段(XNOR)
352 否定的論理和生成手段(NOR)
Claims (7)
- 部分剰余を和(Sum)と桁上げ(Carry)の2つの数デジットの和によって表現し、基数2のSRTアルゴリズムに基づいた除算若しくは平方根の演算を行う演算器であって、
前記部分剰余の2つの数デジットの上位1ビット目乃至3ビット目における加算結果を得る加算手段と、
前記部分剰余の2つの数デジットの上位4ビット目における論理和を得る論理和生成手段と、
前記加算手段と、前記論理和生成手段との演算結果に基づいて次の商デジットの決定を行う商デジット決定手段と、
を有する商デジット選択回路を具備することを特徴とする演算器。 - 前記商デジット決定手段は、前記加算手段の演算結果における最上位ビットの1ビットをもって、商デジットの符号を決定する商デジット符号生成部と、
前記加算手段の演算結果において3ビットの値が全て1である場合、又は、前記加算手段の演算結果において3ビットの値が全て0であり、かつ前記論理和生成手段の論理和演算結果の値が0である場合には商デジットの値を0と決定し、この商デジットの値を0と決定される場合以外の場合には商デジットの絶対値を1と決定する商デジット絶対値生成部と、
を具備することを特徴とする請求項1記載の演算器。 - 部分剰余を和(Sum)と桁上げ(Carry)の2つの数デジットの和によって表現し、基数2のSRTアルゴリズムに基づいた平方根の演算器であって、
前記部分剰余の和と桁上げの2つの数デジットを記憶する部分剰余記憶回路と、
前記部分剰余の2つの数デジットの上位1ビット目乃至3ビット目における加算結果を得る加算手段と、前記部分剰余の2つの数デジットの上位4ビット目における論理和を得る論理和生成手段と、前記加算手段と前記論理和生成手段との演算結果に基づいて次の商デジットの決定を行う商デジット決定手段と、を具備する商デジット選択回路と、
演算が行われている商デジットのビット位置を記憶するビット位置指示手段と、下位からの桁上げがあるものと仮定した場合の非冗長表現された商デジットを表現する桁上げ有りの商デジット集合記憶手段と、下位からの桁上げがないものと仮定した場合の非冗長表現された商デジットを表現する桁上げ無しの商デジット集合記憶手段と、前記ビット位置指示手段、前記桁上げ有りの商デジット集合記憶手段、及び前記桁上げ無しの商デジット集合記憶手段の結果を用いて、平方根開平演算に用いられるデータを生成する開平用データ生成手段と、前記ビット位置指示手段、前記桁上げ有りの商デジット集合記憶手段、前記桁上げ無しの商デジット集合記憶手段、及び次に得られる商デジットにより、桁上げ有り及び無しに対応する商デジット集合を生成する商デジット処理手段とを有する平方根開平演算データ生成回路と、
この平方根開平演算データ生成回路の出力に対し、前記商デジット選択回路により決定された商デジットにより、前記平方根開平演算データ生成回路の出力を選択し、前記部分剰余に対して加算あるいは減算を行うデータを生成する被加数選択回路と、
この被加算数選択回路で生成されたデータ及び前記部分剰余記憶回路にて記憶された部分剰余を前記商デジット選択回路からの加減算指示信号の指示により演算を行い、前記部分剰余記憶回路に出力する桁上げ保存加算手段と、
を具備することを特徴とする演算器。 - 部分剰余を和(Sum)と桁上げ(Carry)の2つの数デジットの和によって表現し、基数2のSRTアルゴリズムに基づいた平方根演算及び除算の演算器であって、
前記部分剰余の和と桁上げの2つの数デジットを記憶する部分剰余記憶回路と、
前記部分剰余の2つの数デジットの上位1ビット目乃至3ビット目における加算結果を得る加算手段と、前記部分剰余の2つの数デジットの上位4ビット目における論理和を得る論理和生成手段と、前記加算手段と前記論理和生成手段との演算結果に基づいて次の商デジットの決定を行う商デジット決定手段と、を具備する商デジット選択回路と、
演算が行われている商デジットのビット位置を記憶するビット位置指示手段と、下位からの桁上げがあるものと仮定した場合の非冗長表現された商デジットを表現する桁上げ有りの商デジット集合記憶手段と、下位からの桁上げがないものと仮定した場合の非冗長表現された商デジットを表現する桁上げ無しの商デジット集合記憶手段と、前記ビット位置指示手段、前記桁上げ有りの商デジット集合記憶手段、及び前記桁上げ無しの商デジット集合記憶手段の結果を用いて、平方根開平演算に用いられるデータを生成する開平用データ生成手段と、
前記ビット位置指示手段、前記桁上げ有り及び桁上げ無しの商デジット集合記憶手段の結果を用いて商デジット集合を生成する商デジット処理手段とを有する平方根開平演算データ生成回路と、
除数デジットを記憶する除数デジット記憶回路と、前記開平用データ生成回路若しくは前記除算デジット記憶回路のデータを選択して出力する除算/平方根演算選択回路と、
この除算/平方根演算選択回路にて出力されたデータに対し、前記商デジット選択回路により決定された商デジットにより、前記部分剰余に対して加算あるいは減算を行うデータを生成する被加数選択回路と、
この被加算数選択回路で生成されたデータ及び前記部分剰余記憶回路にて記憶された部分剰余を前記商デジット選択回路からの加減算指示信号の指示により演算を行い、前記部分剰余記憶手段に出力する桁上げ保存加算回路と、
を具備することを特徴とする演算器。 - 部分剰余を和(Sum)と桁上げ(Carry)の2つの数デジットの和によって表現し、基数が2であるSRT反復型アルゴリズムに基づいた除算若しくは平方根の演算を行う演算器であって、
前記部分剰余の2つの数デジットの上位1ビット目乃至3ビット目における加算結果D0,D1,D2を得る加算手段と、
前記加算結果における下位1ビット、及び前記部分剰余数デジットの上位4ビット目における2つのデジットの論理和D3を得る論理和生成手段と、
前記加算手段と、前記論理和生成手段との演算結果に基づいて次の商デジットの決定を行う商デジット決定手段と、
を有する商デジット選択回路を具備することを特徴とする演算器。 - 前記商デジット決定手段は、D0,D1,D2が全て1であるか、D0,D1,D3が全て0である場合に商デジットを0とし、D0が0であって、D1かD3の何れかが1である場合に商デジットを+1とし、D0が1であって、D1かD2の何れかが0である場合に商デジットを−1とし、それぞれの場合について商デジットを出力するように構成することを特徴とする請求項5記載の演算器。
- 前記商デジット決定手段は、D0が0である場合には商デジットの符号をプラスとし、1である場合にはマイナスとすることで商デジットの符号を決定する商デジット符号生成部と、D0,D1,D3が全てゼロであるか、D0,D1,D2が全て1である場合には商デジットの絶対値をゼロとし、そうでない場合には絶対値を1と決定する商デジット絶対値生成部と、を具備したことを特徴とする請求項5記載の演算器。
Priority Applications (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP31930495A JP3609512B2 (ja) | 1994-12-15 | 1995-12-07 | 演算器 |
| US08/571,718 US5798955A (en) | 1994-12-15 | 1995-12-13 | High-speed division and square root calculation unit |
| EP95119863A EP0717350A3 (en) | 1994-12-15 | 1995-12-15 | Computing unit for division and square root at high speed |
Applications Claiming Priority (5)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP31223894 | 1994-12-15 | ||
| JP18014195 | 1995-07-17 | ||
| JP6-312238 | 1995-07-17 | ||
| JP7-180141 | 1995-07-17 | ||
| JP31930495A JP3609512B2 (ja) | 1994-12-15 | 1995-12-07 | 演算器 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH0991270A JPH0991270A (ja) | 1997-04-04 |
| JP3609512B2 true JP3609512B2 (ja) | 2005-01-12 |
Family
ID=27324801
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP31930495A Expired - Fee Related JP3609512B2 (ja) | 1994-12-15 | 1995-12-07 | 演算器 |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US5798955A (ja) |
| EP (1) | EP0717350A3 (ja) |
| JP (1) | JP3609512B2 (ja) |
Families Citing this family (24)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP3352887B2 (ja) * | 1996-09-09 | 2002-12-03 | 株式会社東芝 | クランプ付除算器、このクランプ付除算器を備えた情報処理装置及び除算処理におけるクランプ方法 |
| US6230175B1 (en) * | 1997-11-11 | 2001-05-08 | Matsushita Electric Industrial Co., Ltd. | Reconfigurable digit-serial arithmetic system having a plurality of digit-serial arithmetic units |
| TW419925B (en) * | 1998-01-27 | 2001-01-21 | Mitsubishi Electric Corp | Method and apparatus for arithmetic operation and recording medium thereof |
| US6360241B1 (en) * | 1999-02-01 | 2002-03-19 | Compaq Information Technologies Goup, L.P. | Computer method and apparatus for division and square root operations using signed digit |
| US6732135B1 (en) * | 1999-02-01 | 2004-05-04 | Hewlett-Packard Development Company, L.P. | Method and apparatus for accumulating partial quotients in a digital processor |
| RU2157589C1 (ru) * | 1999-02-02 | 2000-10-10 | Воронежский государственный технический университет | Устройство для формирования остатка по модулю от числа |
| JP3793505B2 (ja) | 2000-09-26 | 2006-07-05 | 株式会社ルネサステクノロジ | 演算器及びそれを用いた電子回路装置 |
| US7031996B2 (en) * | 2000-11-02 | 2006-04-18 | Seagate Technology Llc | Calculating square root of binary numbers with fixed-point microprocessor |
| JP4042364B2 (ja) * | 2001-07-27 | 2008-02-06 | 日本電気株式会社 | アドレス生成回路、選択判断回路 |
| KR100407562B1 (ko) * | 2001-11-21 | 2003-11-28 | 삼성전자주식회사 | 제산 및 제곱근 계산 장치 및 방법 |
| EP1315079A1 (en) * | 2001-11-22 | 2003-05-28 | STMicroelectronics Limited | Circuit for calculation of division and square root with floating point numbers |
| EP1315082A1 (en) * | 2001-11-22 | 2003-05-28 | STMicroelectronics Limited | Iteration circuitry for carrying out square root operation on floating point numbers |
| EP1315077A1 (en) * | 2001-11-23 | 2003-05-28 | STMicroelectronics Limited | Circuitry and method for performing floating point compare operations |
| US7895253B2 (en) * | 2001-11-30 | 2011-02-22 | Analog Devices, Inc. | Compound Galois field engine and Galois field divider and square root engine and method |
| US6999986B2 (en) * | 2002-06-24 | 2006-02-14 | Oren Semiconductor Ltd. | Calculating circuit and method for computing an N-th root and a reciprocal of a number |
| US7016930B2 (en) * | 2002-10-25 | 2006-03-21 | Arm Limited | Apparatus and method for performing operations implemented by iterative execution of a recurrence equation |
| US7660842B2 (en) * | 2003-05-12 | 2010-02-09 | Sun Microsystems, Inc. | Method and apparatus for performing a carry-save division operation |
| US7539720B2 (en) * | 2004-12-15 | 2009-05-26 | Sun Microsystems, Inc. | Low latency integer divider and integration with floating point divider and method |
| KR100919812B1 (ko) * | 2008-03-21 | 2009-10-01 | 주식회사 하이닉스반도체 | 비트라인 프리차지 회로 |
| US8452831B2 (en) * | 2009-03-31 | 2013-05-28 | Oracle America, Inc. | Apparatus and method for implementing hardware support for denormalized operands for floating-point divide operations |
| US9086890B2 (en) | 2012-01-06 | 2015-07-21 | Oracle International Corporation | Division unit with normalization circuit and plural divide engines for receiving instructions when divide engine availability is indicated |
| US10209959B2 (en) | 2016-11-03 | 2019-02-19 | Samsung Electronics Co., Ltd. | High radix 16 square root estimate |
| JP2022121055A (ja) | 2021-02-08 | 2022-08-19 | キオクシア株式会社 | 演算装置及び演算回路 |
| GB2608444B (en) * | 2021-07-02 | 2024-09-04 | Advanced Risc Mach Ltd | On-the-fly conversion |
Family Cites Families (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4939686A (en) * | 1987-05-18 | 1990-07-03 | Weitek Corporation | Method and apparatus for shared radix 4 division and radix 4 square root |
| JPH0833816B2 (ja) * | 1988-10-08 | 1996-03-29 | 日本電気株式会社 | 固定小数点除算方式 |
| US5237525A (en) * | 1992-06-01 | 1993-08-17 | Motorola, Inc. | In a data processor an SRT divider having a negative divisor sticky detection circuit |
| US5404324A (en) * | 1993-11-01 | 1995-04-04 | Hewlett-Packard Company | Methods and apparatus for performing division and square root computations in a computer |
| JP3506753B2 (ja) * | 1994-02-28 | 2004-03-15 | 富士通株式会社 | 除算方法および除算装置 |
-
1995
- 1995-12-07 JP JP31930495A patent/JP3609512B2/ja not_active Expired - Fee Related
- 1995-12-13 US US08/571,718 patent/US5798955A/en not_active Expired - Fee Related
- 1995-12-15 EP EP95119863A patent/EP0717350A3/en not_active Ceased
Also Published As
| Publication number | Publication date |
|---|---|
| EP0717350A3 (en) | 1996-10-23 |
| US5798955A (en) | 1998-08-25 |
| JPH0991270A (ja) | 1997-04-04 |
| EP0717350A2 (en) | 1996-06-19 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP3609512B2 (ja) | 演算器 | |
| JP3689183B2 (ja) | 正確な浮動小数点除算/平方根演算を実現する正確、かつ効果的なスティッキー・ビット計算 | |
| US5128891A (en) | High speed divider with square root capability | |
| JP2622896B2 (ja) | 除算装置 | |
| JP2835153B2 (ja) | 高基数除算器 | |
| US5132925A (en) | Radix-16 divider using overlapped quotient bit selection and concurrent quotient rounding and correction | |
| US5023827A (en) | Radix-16 divider using overlapped quotient bit selection and concurrent quotient rounding and correction | |
| US20110131262A1 (en) | Floating point divider and information processing apparatus using the same | |
| US5408426A (en) | Arithmetic unit capable of performing concurrent operations for high speed operation | |
| US20040267853A1 (en) | Method and apparatus for implementing power of two floating point estimation | |
| JPH0773227A (ja) | 論理回路の自動設計方法、そのシステム及びその装置並びに乗算器 | |
| KR20020063058A (ko) | 덧셈 및 반올림 연산을 동시에 수행하는 부동 소수점alu 연산 장치 | |
| JP4273071B2 (ja) | 除算・開平演算器 | |
| US5097436A (en) | High performance adder using carry predictions | |
| US7016930B2 (en) | Apparatus and method for performing operations implemented by iterative execution of a recurrence equation | |
| US5910910A (en) | Circuit and method for rapid calculation of quotients and square roots | |
| US5867413A (en) | Fast method of floating-point multiplication and accumulation | |
| Ercegovac et al. | Fast radix-2 division with quotient-digit prediction | |
| KR100331846B1 (ko) | 실수 연산기 | |
| US20140059106A1 (en) | Arithmetic circuit for performing division based on restoring division | |
| KR101007259B1 (ko) | 패리티 생성 회로, 계수 회로 및 계수 방법 | |
| He et al. | Multiply-add fused float point unit with on-fly denormalized number processing | |
| JP3028165B2 (ja) | 高基数除算制御方法および高基数除算器 | |
| JPH0731591B2 (ja) | 先行1検出回路および浮動小数点加減算装置 | |
| EP0780759A1 (en) | Elimination of math overflow flag generation delay in an alu |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040203 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040405 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20041005 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20041014 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081022 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081022 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091022 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101022 Year of fee payment: 6 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111022 Year of fee payment: 7 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111022 Year of fee payment: 7 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121022 Year of fee payment: 8 |
|
| LAPS | Cancellation because of no payment of annual fees |