JPH0991270A - 演算器 - Google Patents

演算器

Info

Publication number
JPH0991270A
JPH0991270A JP7319304A JP31930495A JPH0991270A JP H0991270 A JPH0991270 A JP H0991270A JP 7319304 A JP7319304 A JP 7319304A JP 31930495 A JP31930495 A JP 31930495A JP H0991270 A JPH0991270 A JP H0991270A
Authority
JP
Japan
Prior art keywords
quotient digit
square root
carry
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.)
Granted
Application number
JP7319304A
Other languages
English (en)
Other versions
JP3609512B2 (ja
Inventor
Harumune Matsubara
玄宗 松原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP31930495A priority Critical patent/JP3609512B2/ja
Priority to US08/571,718 priority patent/US5798955A/en
Priority to EP95119863A priority patent/EP0717350A3/en
Publication of JPH0991270A publication Critical patent/JPH0991270A/ja
Application granted granted Critical
Publication of JP3609512B2 publication Critical patent/JP3609512B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods 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/52Multiplying; Dividing
    • G06F7/535Dividing only
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods 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/52Multiplying; Dividing
    • G06F7/535Dividing only
    • G06F7/537Reduction of the number of iteration steps or stages, e.g. using the Sweeny-Robertson-Tocher [SRT] algorithm
    • G06F7/5375Non restoring calculation, where each digit is either negative, zero or positive, e.g. SRT
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods 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/544Methods 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/552Powers or roots, e.g. Pythagorean sums
    • G06F7/5525Roots or inverse roots of single operands
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/552Indexing scheme relating to groups G06F7/552 - G06F7/5525
    • G06F2207/5526Roots or inverse roots of single operands
    • G06F2207/5528Non-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)

Abstract

(57)【要約】 【課題】 演算を高速かつ、簡潔な構成において実現
し、従来問題となっていたこれらの演算の所要時間を大
幅に短縮することである。 【解決手段】 部分剰余を和(Sum)と桁上げ(Ca
rry)の2つの数デジットの和によって表現し、反復
型アルゴリズムに基づいた除算若しくは平方根の演算を
行う演算器であって、前記部分剰余の2つの数デジット
の上位1ビット目乃至3ビット目における加算結果を得
る加算手段と、前記部分剰余の2つの数デジットの上位
4ビット目における論理和を得る論理和生成手段と、前
記加算手段と、前記論理和生成手段との演算結果に基づ
いて次の商デジットの決定を行う商デジット決定手段と
を有する商デジット選択回路を具備してある。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は演算器に関し、特
に、各種の演算の高速化を図る演算器に関する。
【0002】
【従来の技術】除算ならびに、平方根の演算について
は、乗算や加減算とは異なり、その演算アルゴリズムが
完全に逐次的であることから、例えば並列演算を用いる
といった高速化手法を用いることができず、典型的には
乗算よりも1桁程度長い実行時間が必要である。このた
め、除算ならびに平方根演算に関する高速化手法につい
ては従来多くの研究がなされてきた。その中では、ニュ
ートン法に代表される、収束型アルゴリズムによる手法
と、SRTアルゴリズムと呼ばれる反復型のアルゴリズ
ムが広く知られているが、前者については、ほとんどの
場合乗算器や大量の読み出し用メモリーが必要となり、
ハードウエア量が極めて多くなることから、多くの演算
器では反復型のアルゴリズムが用いられている。この反
復型アルゴリズムでは、さらなる高速化を達成するため
に、部分剰余の値を冗長数表現とし、部分剰余演算の際
のフルビット長での加算を、時間がかかる桁上げ伝搬加
算器から、極めて短い時間で動作する桁上げ保存加算器
に代えて行っている。このため、次の商デジットを決定
する場合には、いったん冗長数表現された部分剰余の値
を、非冗長数表現とするために、必要とされる精度に応
じたビット長での桁上げ伝搬加算を行なう必要があり、
商デジットの基数が2である場合には、4ビット長での
桁上げ伝搬加算が必要であるとされている。もちろん、
ここでの桁上げ伝搬加算に要する時間は、そのまま演算
器の動作速度を規定することから、様々な工夫によって
桁上げ伝搬加算器のビット長を3ビットとする方法が知
られているが、このことを達成するために、前に選んだ
商デジットの値を記憶しておき、これと併せて商デジッ
ト選択を行なう方式や、除算における除数や、平方根演
算で用いられる、これまでの商デジット集合から導かれ
る除算における除数に相当する数の値の範囲を制限する
といった手法がとられており、前者については商デジッ
ト選択手段の構成が複雑になることから遅延時間が増大
し、後者については演算の一般性が損なわれることから
高速化に対して積極的に利用できるというものではなか
った。
【0003】また、平方根の反復型アルゴリズムによる
演算おいては、商デジットが冗長数表現されているため
に、これをもとにして除算における除数の倍数に相当す
る開平用のデータを非冗長形式にて作成するためには、
除算では除数がもともと非冗長表現されていたことから
1回で済んでいた桁上げ保存加算器での部分剰余演算を
2回に分けて行なったり、特殊なハードウエアを追加す
ることによって、商デジットが非冗長数表現となるよう
にし、部分剰余の演算は1回で済むようにしたものが知
られている。しかしながら、前者については演算回数が
増加することから論外であるし、後者についても追加さ
れるハードウエアの構成法については、その動作速度や
ハードウエア量に関して問題がある。これに加えて、次
の商デジットを仮定しておいて剰余計算の結果を予測
し、これに基づいてそのまた次の商デジットを決定する
といった高速化手法に関しても、剰余計算が加わってく
るために、この部分を高速にしない限り、有効な高速化
手法とはなり得ない。
【0004】さらには、従来例では除算について、1つ
の除算器を複数個縦続接続し、ダイナミック回路を用い
ているこれらの演算器に、適切なタイミングでセットア
ップ/リセットの指示を出しながら次々と動作させてい
くことによって、高速な演算を行なうという自己同期型
の回路構成が知られているが、平方根あるいは、平方根
及び除算を両方行なえるような演算器に関する報告はな
く、部分剰余演算の問題等のために有効な構成方法は現
在のところ知られていない。特に、自己同期型回路にお
いては、演算の終了検出を正しく行なうことが重要とな
るが、従来はビット数の極めて多い部分剰余の演算完了
を検出する構成となっており、ハードウエア量の増大
や、動作マージンの少なさ、制御の難しさといった点で
問題を含有している。
【0005】一方では、加減算結果がゼロとなるかどう
かを判断するゼロ判定回路においては、図32に示すよ
うに、加減算を行った結果に対して全ビットの論理和を
とるものと、加減算と並行してゼロ判定を行うものとが
あるが、前者についてはゼロ判定に要する時間は必ず加
減算結果が判明する時点よりも後となることから、速度
を重視する場合には、後者の手法が用いられる。例え
ば、図33に示すように、加減算器を構成している区分
加減算器ごとに、その区分加減算器への桁上げの有無に
応じたゼロ判定を行っておき、桁上げの確定に応じて最
終的な判定が行われるものが知られているが、このよう
な桁上げの伝搬を用いている回路ではゼロ判定に要する
時間は加減算に要する時間よりも一般に長くなることか
ら、加減算器+ゼロ判定回路というシステムで考えた場
合には、その動作速度をゼロ判定回路が律速してしまう
ことになる。そこで、桁上げの伝搬に律速されないゼロ
判定回路の構成方法として、図34に示すような形式の
回路が考案されている。図34の回路においては、最下
位ビットへのキャリー入力が、入力データに比べて遅れ
て生成されるような状況下においては、ゼロ判定回路全
体の動作速度を維持するために、キャリー入力信号に対
して許容される遅延時間余裕がゲート1段分しかないた
め、キャリー入力信号の遅延時間がゼロ判定演算の速度
を律速する場合も発生することになる。さらには、図3
4の回路形態では、一般に遅延時間が他の論理積や論理
和よりも大きな排他的論理和回路が縦続に接続されるた
めに、与えられた入力信号環境のもとで、十分な高速性
を発揮できないという問題がある。
【0006】以上のようなことから、加減算器+ゼロ判
定回路というシステムを実現する場合においては、加減
算器とゼロ判定とを別個のシステムとして扱って、加減
算の結果が得られた後に、ゼロ判定を改めて行うという
構成にするか、若しくは図34に示すように回路を構成
する上で、信号のタイミングや回路自体の設計条件に制
約の大きい回路を採用して加減算とゼロ判定とが平行し
て行われるようなシステムとするか、ということにな
る。
【0007】
【発明が解決しようとする課題】上述した従来技術にお
ける除算並びに平方根のための演算器においては、商選
択手段の構成が複雑であり、このため動作速度が低くな
っている。また、特に平方根の演算に関しては、得られ
た商デジット自身を用いて部分剰余の演算を行なう必要
があることから、商デジットが冗長数表現されている場
合には、このままでは2回に分けて桁上げ保存加算を行
なうか、商デジットを順次非冗長表現として演算を行う
しかなく、前者については除算では1回で済む演算が2
回必要となることから演算器の速度が低下し、後者につ
いてはアルゴリズム自身は公知であるものの、実現方法
によっては大幅なハードウエア量の増加や、遅延時間の
増大を招いていた。また、平方根の演算器に対して、幾
つかのハードウエアを共通としながら除算を実現しよう
とする場合においては、従来は部分剰余計算手段を除算
と平方根について切り替えて用いることの他に、場合に
よってはいくつかのハードウエアを追加して構成する必
要があった。さらには、演算器を複数個縦続接続して、
個々の演算器の動作タイミングを自己同期の手法によっ
て決定するような構成の演算器については除算器につい
ての公知例はあるものの、平方根あるいは、平方根及び
除算を共に行えるような演算器の構成法については前例
がない。また、除算においても、演算完了信号の検出に
関しては、ハードウエア量が多く、また動作マージンの
確保についても問題がある。
【0008】一方では、加減算結果がゼロとなるかどう
かを判断するゼロ判定回路においては、設計いかんによ
っては高速な加減算器+ゼロ判定回路というシステムを
構成することはできるが、与える信号のタイミングや、
回路配置に制約がある。又は、他の論理和や論理積とい
った論理に比べて遅延時間の大きな排他的論理和の回路
が縦続接続されていることから、動作速度的にも問題が
生じる可能性がある。
【0009】図35は従来の3ビット長加算器を用いた
商デジット選択/決定回路の構成を示す図である。図4
中のC1,C2及びC3は冗長表現されている部分剰余
の桁上げ信号の入力部である。また、S0,S1及びS
2は冗長表現されている部分剰余の加算結果信号の入力
部である。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なるD
0,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に示した商デジット選
択回路から得られる商デジット符号信号を用いて商デジ
ットの符号を仮定して生成された開平用データ信号ある
いは除算デジット信号を選択する信号選択手段(MUX
1)151と、この信号選択手段151により出力され
た信号と、2数の和として表現されている部分剰余信号
との和を計算する桁上げ保存加算手段(CSA)155
とを有している。商デジットを符号部分と絶対値部分と
に分けてCSA155により部分剰余信号を得る。これ
は図36に示したデジット決定ルールを用いて行う。
【0011】しかしながら、これらの従来の方法では、
たとえば4ビット長の桁上げ伝搬手段を用いる方法で
は、当然この部分での遅延時間が増大し、図35に示し
た方法では商デジットの選択規制の対称性が悪くなるこ
とや、前のデジットを保存しておくための商デジット記
憶手段等のハードウェアが必要であることなどから、デ
メリットがある。更には図35で示した方法では、特定
の演算すなわち、途中で割り切れてしまうような演算に
対して、誤った計算結果が得られる場合があり、これを
補正するためのハードと時間が代償として必要になると
いう欠点がある。
【0012】そこで、本発明は以上のような問題点を解
決するためになされたものであり、その目的とするとこ
ろは演算を高速かつ、簡潔な構成において実現し、従来
問題となっていたこれらの演算の所要時間を大幅に短縮
することができる演算器を提供することにある。
【0013】さらには、現在の商デジットを仮定し、次
の部分剰余を測定することで演算の高速化を図るオーバ
ラップ法に基づく演算器においては、開平用データ生成
手段を少ないハードウェアでかつ、高速に実現すること
で、平方根演算器及び、平方根と除算の共用演算器の演
算速度を向上させることができる演算器を提供すること
にある。
【0014】
【課題を解決するための手段】上記目的を達成するため
に、本発明の第1の特徴は図8に示すような平方根開平
演算データ生成手段44と除数デジットを記憶する除数
デジット記憶手段122と、部分剰余の和(Sum)と
桁上げ(Carry)の2つの数デジットを記憶する部
分剰余記憶手段121と、この部分剰余記憶手段121
の出力により商デジットを生成する商デジット選択手段
(QSL)123と、平方根開平演算データ生成手段4
4若しくは除数デジット記憶手段122のデータを選択
して出力する除算/平方根演算選択手段125と、この
除算/平方根演算選択手段125にて出力されたデータ
に対し、商デジット選択手段(QSL)123により決
定された商デジットにより、部分剰余に対して加算ある
いは減算を行うデータを生成する被加数選択手段126
と、この被加数選択手段126で生成されたデータ及び
部分剰余記憶手段121にて記憶された部分剰余を商デ
ジット選択手段(QSL)123からの加減算指示信号
の指示により演算を行い、部分剰余記憶手段121に出
力する桁上げ保存加算手段124とを有している。ここ
で平方根開平演算データ生成手段44は演算が行われて
いる商デジットのビット位置を記憶するビット位置指示
手段111と、下位からの桁上げがあるものと仮定した
場合の非冗長表現された商デジットを表現する桁上げ有
りの商デジット集合記憶手段112と、下位からの桁上
げがないものと仮定した場合の非冗長表現された商デジ
ットを表現する桁上げ無しの商デジット集合記憶手段1
13と、ビット位置指示手段111、桁上げ有りの商デ
ジット集合記憶手段112、桁上げ無しの商デジット集
合記憶手段113、商デジット選択手段(QSL)12
3の結果を用いて商デジット集合を生成する商デジット
処理手段(PQR)114と、平方根開平演算に用いら
れるデータを生成する開平用データ生成手段(RMF)
115とから構成されている。本発明の第1の特徴にお
ける商デジット選択手段(QSL)に対しては、3ビッ
ト長加算手段101に加えて、図1に示すような2入力
論理和生成手段102又は図13に示すような3入力の
論理和生成手段162を用いる。また本発明の第1の特
徴の商デジット選択手段(QSL)は図1および図13
に示すように3ビット長加算手段101からの信号なら
びに、論理和生成手段102,162からの信号をデコ
ードし、実際に選択される商デジットを決定するための
商デジット決定手段103をさらに具備している。
【0015】本発明の第1の特徴の別の態様としては、
図9に示すように平方根開平演算データ生成手段44
と、現在演算を行っている商デジットを仮定して次の部
分剰余の値を予測する次デジット仮定部分剰余予測手段
(OVLP)131と、この仮定した商デジットが決定
された時点で次デジット仮定部分剰余予測手段(OVL
P)131からの予測結果信号を選択する信号選択手段
(MUX)133と、この選択された結果に対して商デ
ジットの選択を行う商デジット選択手段(QSL)12
3と、除数デジットを記憶する除数デジット記憶手段1
22と、部分剰余の計算を行う部分剰余計算手段(PR
F)132とから構成されることである。部分剰余計算
手段(PRF)132においては、図12に示すよう
に、商デジット=+1,−1に対して前もって計算して
おいた部分剰余への演算数を、商デジットによって選択
し、これを部分剰余に加算ないしは部分剰余から減算し
て次の部分剰余を得る。
【0016】図1に示した商デジット選択回路(QS
L)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の決定ができるため、演算に
要するハードウエア量を削減すると同時に高速な商デジ
ットの決定が可能となる。
【0017】又、図13に示した商デジット選択回路1
23を有する演算器構成では、次のデジットを決定する
際に必要となる、符号を示すビットを含めた上位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が選択されることになる。従
って、従来問題であった商の不正確さの問題は生じなく
することができる。
【0019】本発明の第2の特徴は図17に示すように
演算器を所定の段数だけ縦続接続した構成とすることで
ある。図17では、現在そのビット位置で商デジットを
演算中であることを示すビット位置指示手段を用い、商
デジットの逐次非冗長表現化を行う手段あるいは、商デ
ジットの逐次非冗長表現化を行う手段を用いて平方根演
算における開平用データ生成手段(RMF)を形成し、
1回の演算で2ビット以上の商デジットを得て、除算あ
るいは平方根の演算を行う。さらには、図23に示すよ
うに部分剰余演算に用いる開平用データと、除数とを選
択する信号選択手段(MUX)171を併せて具備する
ことを特徴とする。
【0020】すなわち本発明の第2の特徴の演算器は、
商デジットを逐次冗長数−非冗長数の変換を行うこと
で、反復型アルゴリズムに基づいた除算若しくは平方根
の演算を行う。本発明の第2の特徴の演算器は図3に示
すような商デジット遂次変換部46を具備している。つ
まり図3の商デジット遂次変換部46は現在演算が行わ
れている商デジットのビット位置を、その位置に相当す
るビットだけ値が他とは異なっているような形式を用い
て記憶するビット位置指示手段111と、次の商デジッ
トの値が正であることを仮定した場合の非冗長数表現さ
れた商デジットを表現する商デジット集合(桁上げ有
り)記憶手段112と、次の商デジットの値が負である
ことを仮定した場合の非冗長数表現された商デジットを
表現する商デジット集合(桁上げ無し)記憶手段113
と、次に得られる商デジットに対応する商デジット集合
を生成する商デジット処理手段(PQR)114とから
構成され、この商デジット遂次変換部46を図17に示
すようにそれぞれ2以上の所定の数だけ縦続接続するこ
とで、該演算器における1回の演算にて2ビット以上の
所定ビット数の商デジットを得ることができる。次に、
商デジットの逐次冗長数−非冗長数変換手段あるいは、
開平用データ生成手段については、インプリメントされ
ている演算器内で、1回の信号通過に際し2デジット以
上nデジットの商デジットが計算される構成とした場合
に、演算器の入力端では現在演算を行っているビット位
置を指示するビット位置指示手段の指示が、nビットお
きにしか変化しないことを利用する。すなわち、図17
に示したようにビット位置指示手段の内容が決して変化
しないビット位置では、これを見越した商デジットの逐
次非冗長数変換あるいは開平用データ生成を行うこと
で、ビット位置指示手段の内容が変化することを前提と
して作られたハードウェアよりもはるかに小さな規模の
ハードウェアにてこれらの手段を実現することができ
る。単位演算器を複数段縦続接続して、全体の演算器を
構成している場合の、各単位演算器間の信号についても
同様なことが言え、やはり特定のビット位置でのビット
位置指示手段の内容の値が決して変化しない場所が存在
することから、同様な考え方で、商デジットの逐次非冗
長数変換や、開平用データ作成手段におけるハードウェ
アの量を大幅に低減することができる。最後に、図23
に示したような信号選択手段(MUX)171により、
開平用データと、除数とを切り替えることで、平方根と
除算を同一のハードウェアを共有しながら実現する構成
においては、商選択手段(QSL)ならびに商決定手段
といった部分に図1および図13に示した3ビット桁上
げ加算器101+第4ビットの論理和回路102,16
2のような、除算と平方根で共用できるものを用いれば
よい。このような構成によれば、両演算間の差は部分剰
余を計算する際に用いる加減算データの違いのみである
ことから、この部分を信号選択手段(MUX)171で
切り替えることによって、同一のハードウェアにて平方
根と除算が実現される。なお、この際に反復演算によっ
て得られる、冗長表現形式の1つであるsigned−
digit形式による商デジットは、少ないハードウェ
アによって非冗長形式に変換され、平方根演算において
も少ないハードウェアにて開平用データが生成されるこ
とから、演算器を少ないハード量にて実現することがで
きる。
【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,C
2,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,D
1,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の具体
的な構成を示したものであり、ビット位置指示手段11
1の信号によって、適切な値が商デジット集合の値に付
け加えられて出力される。この場合、商デジット処理手
段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)11
4については、図5に示すように商デジットが+1であ
る場合には、現時点の、桁上げを仮定した商デジット集
合に対し、1および0をビット位置指示信号Pnを用い
て付け加えたものを、桁上げを仮定したものと、仮定し
ない商デジット集合にそれぞれ書き込む。デジットが0
である場合には、現時点の商デジット集合に対し、桁上
げを仮定したものについは0を、仮定しないものについ
ては1をそれぞれ付け加えて書き戻す。最後に商デジッ
トが−1である場合には、現時点の、桁上げを仮定しな
い商デジット集合に対し、1および0をビット位置指示
信号Pnを用いて付け加えたものを、桁上げを仮定した
ものと、仮定しない商デジット集合にそれぞれ書き込
む。以上により、商デジット集合の操作が完了し、次の
開平用データ生成を行なうこととなる。
【0033】また、ビット位置指示手段111の出力に
制約条件を課するようにする。即ち、例えば、現在演算
を行っているビット位置を指示するビット位置指示手段
111の指示が、図17に示すように所定のビットおき
にしか変化しないようにすると、ビット位置指示手段1
11の内容が決して変化しないビット位置が生ずること
になる。図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若しくは前記除数デジット記憶手段12
2のデータを選択して出力する除算/平方根演算選択手
段125と、この除算/平方根演算選択手段125にて
出力されたデータに対し、前記商デジット選択手段12
3により決定された商デジットにより、前記部分剰余に
対して加算あるいは減算を行うデータを生成する被加数
選択手段126と、この被加数選択手段126で生成さ
れたデータ及び前記部分剰余記憶手段121にて記憶さ
れた部分剰余を前記商デジット選択手段(QSL)12
3からの加減算指示信号の指示により演算を行い、前記
部分剰余記憶手段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に示すように演算が行われている商
デジットのビット位置を記憶するビット位置指示手段1
11と、下位からの桁上げがあるものと仮定した場合の
非冗長表現された商デジットを表現する桁上げ有りの商
デジット集合記憶手段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つの場合につ
いて、それぞれ次の部分剰余がどのようになるのかを計
算しておき、当該デジットqj+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のOV
LP131からの予測結果信号を入力する第1のセット
アップ/リセット信号同時伝搬範囲11と、第1のセッ
トアップ/リセット信号同時伝搬範囲11からの予測結
果信号を入力する第2のセットアップ/リセット信号同
時伝搬範囲12の一部が示されている。第3のセットア
ップ/リセット信号同時伝搬範囲等は図示を省略してい
る。第1のセットアップ/リセット信号同時伝搬範囲1
1は第1の次デジット仮定部分剰余予測手段(OVL
P)131からの予測結果信号を仮定した商デジットが
決定された時点で選択する第1の信号選択手段(MU
X)133と、この選択された結果に対して商デジット
の選択を行う第1の商デジット選択手段(QSL)12
3とを具備している。さらに、本発明の第5の実施の形
態の演算器の第1のセットアップ/リセット信号同時伝
搬範囲11は図11に示すように部分剰余の計算を行う
第1の部分剰余計算手段(PRF)132、第1の信号
選択手段(MUX)133、第1の商デジット選択手段
(QSL)123、及び開平用データ生成に必要なデー
タを供給する第1の商デジット処理手段(PQR)11
4、第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のP
RF232および第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ビット長加算手段に対してa
0,a1,a2にそれぞれS0,S1,S2を、またb
0,b1,b2に対してC1,C2,C3を入力するこ
とによって、D0,D1,D2の3ビットからなる加算
結果を得る。ここで、S0,C1はそれぞれの部分剰余
信号の最上位ビットである。この時、D0は部分剰余の
符号を表わすことになり、D1,D2で部分剰余の数値
の大きさを表現することになる。また、図13中で最下
位に相当する信号S3とC4ならびに、3ビット長加算
手段101における最下位ビットD2の論理和を論理和
生成手段162によりとったものを、D3として出力す
る。そして、このようにして得られたD0,D1,D
2,D3なる信号を図14(a)あるいは同図(b)に
示す変換表を用いて商デジットに変換する。既に説明し
たように基数2のSRTアルゴリズムによる演算では、
部分剰余を冗長数で表現している場合、図35および3
6における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,D
1,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と、次に得られる商デジットに対応
する商デジット集合を生成する商デジット処理手段(P
QR)114とから構成される商デジット遂次変換部4
6をそれぞれ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)1
31を用いてこの開平用データから次の部分剰余を予測
する。そして、現在の商デジットの演算が終了すると、
予測しておいた次の部分剰余の中から正しいものを信号
選択手段(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で、除算を行う場合には、商デジット処理手段(P
QR)および開平用データ生成手段(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における演算時間と、桁上げ保存加算器1
55における演算時間との差ということになる。ところ
で、桁上げ保存加算器(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)11
5および除数デジット記憶手段122とを有した、除算
と平方根の両方の機能を発揮させることができる本発明
の第8の実施の形態の構成を示している。すなわち、図
23においては部分剰余に対する加減算量として、開平
用データか、除数データのいずれかを信号選択手段(M
UX)171を用い選択することで、同一のハードウェ
アを共有しながら除算/平方根演算を行う。この結果、
高速な除算および平方根演算を、より少ないハードウェ
アで同時に実現できるようになる。
【0059】つまり、商デジット選択手段(QSL)な
らびに商デジット決定手段といった部分に図1又は図1
3に示した3ビット桁上げ加算器101+第4ビットの
論理和回路102,162のような、除算と平方根で共
用できるものを用いることで、両演算間の差は部分剰余
を計算する際に用いる加減算データの違いのみであるこ
とから、この部分を信号選択手段(MUX)171で切
り替えることによって、同一のハードウェアにて平方根
と除算が実現される。なお、この際に反復演算によって
得られる、冗長表現形式の1つであるsigned−d
igit形式による商デジットは、少ないハードウェア
によって非冗長形式に変換され、平方根演算においても
少ないハードウェアにて開平用データが生成されること
から、演算器を少ないハード量にて実現することができ
る。
【0060】[第9実施の形態]本発明の第9の実施の
形態は図24に示すような2つのデータを、2以上のビ
ット長を有する複数のブロックに分割して加算若しくは
減算結果のゼロ判定を行う回路を具備する演算器であ
る。本発明の第9の実施の形態の演算器においては2つ
のデータがある場合に、ブロックに分割されたデータの
加算若しくは減算の結果を、前記所定のブロックの下位
のブロックからの桁上げの有無により2通りのゼロ判定
を行うゼロ判定手段251と、このゼロ判定手段251
の2通りの出力、及び前記所定のブロックの下位のブロ
ックからの桁上げ信号を入力し、この桁上げ信号により
前記ゼロ判定手段251の出力を選択する選択手段25
2とを前記各ブロック毎に有している。そしてこの各ブ
ロック毎の選択手段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の排他的論理和否定回路35
4と、前記第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は図2
8に示した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 次デジット仮定部分剰余予測手段(O
VLP) 132,232 部分剰余計算手段(PRF) 141 セットアップ信号生成手段 142 セットアップ/リセット手段 143 演算完了信号生成手段 151,233,171,152 信号選択手段(MU
X) 155 桁上げ保存加算手段(CSA) 159 1ビットシフタ 162 論理和生成手段(OR) 251 4ビット桁上げ仮定加算結果ゼロ判定回路 252,356,371 選択手段(セレクタ) 253 最終判定手段(AND) 254 選択信号発生回路 351 論理積生成手段(AND) 355 否定的論理和生成手段(NOR) 353,354 排他的論理和否定手段(XNOR) 352 否定的論理和生成手段(NOR)

Claims (18)

    【特許請求の範囲】
  1. 【請求項1】 部分剰余を和(Sum)と桁上げ(Ca
    rry)の2つの数デジットの和によって表現し、反復
    型アルゴリズムに基づいた除算若しくは平方根の演算を
    行う演算器であって、 前記部分剰余の2つの数デジットの上位1ビット目乃至
    3ビット目における加算結果を得る加算手段と、 前記部分剰余の2つの数デジットの上位4ビット目にお
    ける論理和を得る論理和生成手段と、 前記加算手段と、前記論理和生成手段との演算結果に基
    づいて次の商デジットの決定を行う商デジット決定手段
    と、 を有する商デジット選択回路を具備することを特徴とす
    る演算器。
  2. 【請求項2】 前記商デジット決定手段は、前記加算手
    段の演算結果における最上位ビットの1ビットをもっ
    て、商デジットの符号を決定する商デジット符号生成部
    と、 前記加算手段の演算結果において3ビットの値が全て1
    である場合、又は、前記加算手段の演算結果において3
    ビットの値が全て0であり、かつ前記論理和生成手段の
    論理和演算結果の値が0である場合には商デジットの値
    を0と決定し、この商デジットの値を0と決定される場
    合以外の場合には商デジットの絶対値を1と決定する商
    デジット絶対値生成部と、 を具備することを特徴とする請求項1記載の演算器。
  3. 【請求項3】 冗長数表現による商デジットを用いる反
    復アルゴリズムに基づいた平方根の演算器であって、 演算が行われている商デジットのビット位置を記憶する
    ビット位置指示手段と、 下位からの桁上げがあるものと仮定した場合の非冗長表
    現された商デジットを表現する桁上げ有りの商デジット
    集合記憶手段と、 下位からの桁上げがないものと仮定した場合の非冗長表
    現された商デジットを表現する桁上げ無しの商デジット
    集合記憶手段と、 前記ビット位置指示手段、前記桁上げ有りの商デジット
    集合記憶手段、及び前記桁上げ無しの商デジット集合記
    憶手段の結果を用いて、平方根開平演算に用いられるデ
    ータを生成する開平用データ生成手段と、 前記ビット位置指示手段、前記桁上げ有りの商デジット
    集合記憶手段、前記桁上げ無しの商デジット集合記憶手
    段、及び次に得られる商デジットにより、桁上げ有り及
    び無しに対応する商デジット集合を生成する商デジット
    処理手段と、 を有する平方根開平演算データ生成回路を具備すること
    を特徴とする演算器。
  4. 【請求項4】 前記開平用データ生成手段は、 前記ビット位置指示手段、前記桁上げ有りの商デジット
    集合記憶手段、及び前記桁上げ無しの商デジット集合記
    憶手段の結果を用いて、平方根開平演算に用いられるデ
    ータを生成する際に、 前記ビット位置指示手段の出力に制約条件を課すことを
    特徴とする請求項3記載の演算器。
  5. 【請求項5】 部分剰余を和(Sum)と桁上げ(Ca
    rry)の2つの数デジットの和によって表現し、反復
    型アルゴリズムに基づいた平方根の演算器であって、 前記部分剰余の和と桁上げの2つの数デジットを記憶す
    る部分剰余記憶回路と、 前記部分剰余の2つの数デジットの上位1ビット目乃至
    3ビット目における加算結果を得る加算手段と、前記部
    分剰余の2つの数デジットの上位4ビット目における論
    理和を得る論理和生成手段と、前記加算手段と前記論理
    和生成手段との演算結果に基づいて次の商デジットの決
    定を行う商デジット決定手段と、を具備する商デジット
    選択回路と、 演算が行われている商デジットのビット位置を記憶する
    ビット位置指示手段と、下位からの桁上げがあるものと
    仮定した場合の非冗長表現された商デジットを表現する
    桁上げ有りの商デジット集合記憶手段と、下位からの桁
    上げがないものと仮定した場合の非冗長表現された商デ
    ジットを表現する桁上げ無しの商デジット集合記憶手段
    と、前記ビット位置指示手段、前記桁上げ有りの商デジ
    ット集合記憶手段、及び前記桁上げ無しの商デジット集
    合記憶手段の結果を用いて、平方根開平演算に用いられ
    るデータを生成する開平用データ生成手段と、前記ビッ
    ト位置指示手段、前記桁上げ有りの商デジット集合記憶
    手段、前記桁上げ無しの商デジット集合記憶手段、及び
    次に得られる商デジットにより、桁上げ有り及び無しに
    対応する商デジット集合を生成する商デジット処理手段
    とを有する平方根開平演算データ生成回路と、 この平方根開平演算データ生成回路の出力に対し、前記
    商デジット選択回路により決定された商デジットによ
    り、前記平方根開平演算データ生成回路の出力を選択
    し、前記部分剰余に対して加算あるいは減算を行うデー
    タを生成する被加数選択回路と、 この被加算数選択回路で生成されたデータ及び前記部分
    剰余記憶回路にて記憶された部分剰余を前記商デジット
    選択回路からの加減算指示信号の指示により演算を行
    い、前記部分剰余記憶回路に出力する桁上げ保存加算手
    段と、 を具備することを特徴とする演算器。
  6. 【請求項6】 部分剰余を和(Sum)と桁上げ(Ca
    rry)の2つの数デジットの和によって表現し、反復
    型アルゴリズムに基づいた平方根演算及び除算の演算器
    であって、 前記部分剰余の和と桁上げの2つの数デジットを記憶す
    る部分剰余記憶回路と、 前記部分剰余の2つの数デジットの上位1ビット目乃至
    3ビット目における加算結果を得る加算手段と、前記部
    分剰余の2つの数デジットの上位4ビット目における論
    理和を得る論理和生成手段と、前記加算手段と前記論理
    和生成手段との演算結果に基づいて次の商デジットの決
    定を行う商デジット決定手段と、を具備する商デジット
    選択回路と、 演算が行われている商デジットのビット位置を記憶する
    ビット位置指示手段と、下位からの桁上げがあるものと
    仮定した場合の非冗長表現された商デジットを表現する
    桁上げ有りの商デジット集合記憶手段と、下位からの桁
    上げがないものと仮定した場合の非冗長表現された商デ
    ジットを表現する桁上げ無しの商デジット集合記憶手段
    と、前記ビット位置指示手段、前記桁上げ有りの商デジ
    ット集合記憶手段、及び前記桁上げ無しの商デジット集
    合記憶手段の結果を用いて、平方根開平演算に用いられ
    るデータを生成する開平用データ生成手段と、前記ビッ
    ト位置指示手段、前記桁上げ有り及び桁上げ無しの商デ
    ジット集合記憶手段の結果を用いて商デジット集合を生
    成する商デジット処理手段とを有する平方根開平演算デ
    ータ生成回路と、 除数デジットを記憶する除数デジット記憶回路と、 前記開平用データ生成回路若しくは前記除算デジット記
    憶回路のデータを選択して出力する除算/平方根演算選
    択回路と、 この除算/平方根演算選択回路にて出力されたデータに
    対し、前記商デジット選択回路により決定された商デジ
    ットにより、前記部分剰余に対して加算あるいは減算を
    行うデータを生成する被加数選択回路と、 この被加算数選択回路で生成されたデータ及び前記部分
    剰余記憶回路にて記憶された部分剰余を前記商デジット
    選択回路からの加減算指示信号の指示により演算を行
    い、前記部分剰余記憶手段に出力する桁上げ保存加算回
    路と、 を具備することを特徴とする演算器。
  7. 【請求項7】 部分剰余を和(Sum)と桁上げ(Ca
    rry)の2つの数デジットの和によって表現し、反復
    型アルゴリズムに基づいた平方根の演算器であって、 演算が行われている商デジットのビット位置を記憶する
    ビット位置指示手段と、下位からの桁上げがあるものと
    仮定した場合の非冗長表現された商デジットを表現する
    桁上げ有りの商デジット集合記憶手段と、下位からの桁
    上げがないものと仮定した場合の非冗長表現された商デ
    ジットを表現する桁上げ無しの商デジット集合記憶手段
    と、前記ビット位置指示手段、前記桁上げ有りの商デジ
    ット集合記憶手段、及び前記桁上げ無しの商デジット集
    合記憶手段の結果を用いて、平方根開平演算に用いられ
    るデータを生成する開平用データ生成手段と、前記ビッ
    ト位置指示手段、前記桁上げ有り及び桁上げ無しの商デ
    ジット集合記憶手段の結果を用いて商デジット集合を生
    成する商デジット処理手段とを有する平方根開平演算デ
    ータ生成回路と、 前記平方根開平演算データ生成回路の出力に対し、現在
    演算を行っている商デジットを仮定して次の部分剰余の
    値を予測する次デジット仮定部分剰余予測手段と、 前記仮定した商デジットが決定された時点で前記次デジ
    ット仮定部分剰余予測手段からの予測結果信号を選択す
    る信号選択手段と、 この選択された結果に対して商デジットの選択を行う商
    デジット選択手段と、 部分剰余の計算を行う部分剰余計算手段と、 を具備することを特徴とする演算器。
  8. 【請求項8】 前記演算器は、 除数デジットを記憶する除数デジット記憶回路をさらに
    備えることで、除算若しくは平方根の演算を行うことを
    特徴とする請求項7記載の演算器。
  9. 【請求項9】 前記部分剰余計算手段、前記信号選択手
    段、前記商デジット選択手段、前記平方根開平演算デー
    タ生成回路、次商デジット仮定部分剰余予測手段とを少
    なくとも具備するセットアップ/リセット信号同時伝搬
    範囲を複数個縦続接続し、 該複数個のセットアップ/リセット信号同時伝搬範囲の
    ひとつである第1のセットアップ/リセット信号同時伝
    搬範囲の次段以降に位置する第2のセットアップ/リセ
    ット信号同時伝搬範囲が有する前記部分剰余計算手段、
    前記商デジット選択手段、及び前記商デジット処理手段
    の少なくとも1つの演算の終了結果を検出して演算完了
    信号を生成する演算完了信号生成手段と、 この演算完了信号生成手段で生成された第2のセットア
    ップ/リセット信号同時伝搬範囲の演算の終了結果の信
    号を用いて、当該第1のセットアップ/リセット信号同
    時伝搬範囲に、演算に対するセットアップ並びに次回の
    演算に備えたリセットの動作を行うセットアップ/リセ
    ット手段と、 をさらに備えることを特徴とする請求項7記載の演算
    器。
  10. 【請求項10】 部分剰余を和(Sum)と桁上げ(C
    arry)の2つの数デジットの和によって表現し、基
    数が2である反復型アルゴリズムに基づいた除算若しく
    は平方根の演算を行う演算器であって、 前記部分剰余の2つの数デジットの上位1ビット目乃至
    3ビット目における加算結果D0,D1,D2を得る加
    算手段と、 前記加算結果における下位1ビット、及び前記部分剰余
    数デジットの上位4ビット目における2つのデジットの
    論理和D3を得る論理和生成手段と、 前記加算手段と、前記論理和生成手段との演算結果に基
    づいて次の商デジットの決定を行う商デジット決定手段
    と、 を有する商デジット選択回路を具備し、部分剰余の上位
    3ビットに対する加算結果を上位から順にD0,D1,
    D2とすることを特徴とする演算器。
  11. 【請求項11】 前記商デジット決定手段は、 D0,D1,D2が全て1であるか、D0,D1,D3
    が全て0である場合に商デジットを0とし、D0が0で
    あって、D1かD3の何れかが1である場合に商デジッ
    トを+1とし、D0が1であって、D1かD2の何れか
    が0である場合に商デジットを−1とし、それぞれの場
    合について商デジットを出力するように構成することを
    特徴とする請求項10記載の演算器。
  12. 【請求項12】 前記商デジット決定手段は、 D0が0である場合には商デジットの符号をプラスと
    し、1である場合にはマイナスとすることで商デジット
    の符号を決定する商デジット符号生成部と、 D0,D1,D3が全てゼロであるか、D0,D1,D
    2が全て1である場合には商デジットの絶対値をゼロと
    し、そうでない場合には絶対値を1と決定する商デジッ
    ト絶対値生成部と、 を具備したことを特徴とする請求項10記載の演算器。
  13. 【請求項13】 商デジットを逐次冗長数−非冗長数の
    変換を行うことで、反復型アルゴリズムに基づいた除算
    若しくは平方根の演算を行う演算器であって、 現在演算が行われている商デジットのビット位置を、そ
    の位置に相当するビットだけ値が他とは異なっているよ
    うな形式を用いて記憶するビット位置指示手段と、 次の商デジットの値が正であることを仮定した場合の非
    冗長数表現された商デジットを表現する商デジット集合
    (次商デジット正)記憶手段と、 次の商デジットの値が負であることを仮定した場合の非
    冗長数表現された商デジットを表現する商デジット集合
    (次商デジット負)記憶手段と、 次に得られる商デジットに対応する商デジット集合を生
    成する商デジット処理手段とをそれぞれ2以上の所定の
    段数だけ縦続接続する商デジット逐次変換部を具備する
    ことを特徴とする演算器。
  14. 【請求項14】 前記それぞれの商デジット逐次変換部
    は、前記第1および第2の商デジット集合記憶手段およ
    び、前記ビット位置手段の結果を用いて開平用データを
    生成する開平用データ生成手段をそれぞれ具備し、該商
    デジット逐次変換部と該開平用データ生成手段とで平方
    根開平演算データ生成手段を構成し、該平方根開平演算
    データ生成手段が前記所定の段数縦続接続することを特
    徴とする請求項13記載の演算器。
  15. 【請求項15】 前記それぞれの段の平方根開平演算デ
    ータ生成手段の出力に対し、現在演算を行っている商デ
    ジットを仮定して次の部分剰余を予測する次デジット仮
    定部分剰余予測手段と、 該次デジット仮定部分剰余予測手段からの予測結果信号
    を選択する第1の信号選択手段と、 この選択された結果に対して商デジットの選択を行う商
    デジット選択手段と、をさらに備えることを特徴とする
    請求項14記載の演算器。
  16. 【請求項16】 前記開平用データと、除算における除
    数データとを切り替えて出力する第2の信号選択手段を
    さらに備えることで同一のハードウェアを共有しなが
    ら、開平および除算演算を行うことを特徴とする請求項
    14又は15記載の演算器。
  17. 【請求項17】 2つのデータを、2以上のビット長を
    有するブロックに複数分割して加算若しくは減算結果の
    ゼロ判定を行う回路を具備する演算器において、 前記2つのデータであって、前記複数のブロックに分割
    されたデータの加算若しくは減算の結果を、前記複数の
    ブロックのうち所定のブロックの下位のブロックからの
    桁上げの有無により2通りのゼロ判定を行うゼロ判定手
    段と、 前記各ブロック毎にそれぞれ接続されたこのゼロ判定回
    路の2通りの出力、及び前記所定のブロックの下位のブ
    ロックからの桁上げ信号を入力し、この桁上げ信号によ
    り前記ゼロ判定回路の出力を選択する信号選択手段と、 この各ブロック毎の信号選択手段の出力全体で論理和又
    は論理積をとり、加減算結果の最終的な前記2つのデー
    タのゼロ判定を行うこと最終判定手段を有する加減算結
    果ゼロ判定回路と、を具備することを特徴とする演算
    器。
  18. 【請求項18】 前記ゼロ判定手段は、前記2つのデー
    タの該当するブロックの所定のビットの論理積信号を出
    力する第1の論理積回路と、 前記2つのデータの該当するブロックの所定のビットの
    論理和の否定信号を出力する否定的論理和回路と、 前記2つのデータの該当するブロックの所定のビットの
    排他的論理和否定信号を出力する第1の排他的論理和否
    定回路と、 前記所定のビットの上位ビットの排他的論理和否定信号
    を出力する第2の排他的論理和否定回路と、 前記第1の排他的論理和否定回路と前記第2の排他的論
    理和否定回路との否定的論理和信号を出力する第2の否
    定的論理和回路と、 前記第1の論理積回路の出力と否定的論理和回路の出力
    とを、前記第2の排他的論理和否定回路の出力により選
    択して出力する選択回路と、を有し、 前記選択回路の出力を前記所定のブロックの下位のブロ
    ックからの桁上げ無しのゼロ判定信号とし、前記第2の
    排他的論理和回路の出力を前記所定のブロックの下位の
    ブロックからの桁上げ有りのゼロ判定信号とすることを
    特徴とする請求項17記載の演算器。
JP31930495A 1994-12-15 1995-12-07 演算器 Expired - Fee Related JP3609512B2 (ja)

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
JP7-180141 1995-07-17
JP6-312238 1995-07-17
JP18014195 1995-07-17
JP31930495A JP3609512B2 (ja) 1994-12-15 1995-12-07 演算器

Publications (2)

Publication Number Publication Date
JPH0991270A true JPH0991270A (ja) 1997-04-04
JP3609512B2 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)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1999038142A1 (fr) * 1998-01-27 1999-07-29 Mitsubishi Denki Kabushiki Kaisha Procede et appareil pour effectuer une operation arithmetique et support d'enregistrement dudit procede
US7243119B1 (en) 2000-09-26 2007-07-10 Hitachi, Ltd. Floating point computing unit
JP2010102352A (ja) * 2003-05-16 2010-05-06 Analog Devices Inc 複合ガロア体エンジンおよびガロア体除算器および平方根エンジンおよび方法
US11669304B2 (en) 2021-02-08 2023-06-06 Kioxia Corporation Arithmetic device and arithmetic circuit for performing multiplication and division

Families Citing this family (19)

* Cited by examiner, † Cited by third party
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
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
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 삼성전자주식회사 제산 및 제곱근 계산 장치 및 방법
EP1315082A1 (en) * 2001-11-22 2003-05-28 STMicroelectronics Limited Iteration circuitry for carrying out square root operation on floating point numbers
EP1315079A1 (en) * 2001-11-22 2003-05-28 STMicroelectronics Limited Circuit for calculation of division and square root with floating point numbers
EP1315077A1 (en) * 2001-11-23 2003-05-28 STMicroelectronics Limited Circuitry and method for performing floating point compare operations
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
GB2608444A (en) * 2021-07-02 2023-01-04 Advanced Risc Mach Ltd On-the-fly-conversion

Family Cites Families (5)

* Cited by examiner, † Cited by third party
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 富士通株式会社 除算方法および除算装置

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1999038142A1 (fr) * 1998-01-27 1999-07-29 Mitsubishi Denki Kabushiki Kaisha Procede et appareil pour effectuer une operation arithmetique et support d'enregistrement dudit procede
AU736797B2 (en) * 1998-01-27 2001-08-02 Mitsubishi Denki Kabushiki Kaisha Method and apparatus for arithmetic operation and recording medium of method of operation
US6687727B2 (en) 1998-01-27 2004-02-03 Mitsubishi Denki Kabushiki Kaisha Method and apparatus for arithmetic operation and recording medium of method of operation
US6687728B2 (en) 1998-01-27 2004-02-03 Mitsubishi Denki Kabushiki Kaisha Method and apparatus for arithmetic operation and recording medium of method of operation
US7243119B1 (en) 2000-09-26 2007-07-10 Hitachi, Ltd. Floating point computing unit
JP2010102352A (ja) * 2003-05-16 2010-05-06 Analog Devices Inc 複合ガロア体エンジンおよびガロア体除算器および平方根エンジンおよび方法
JP2010102351A (ja) * 2003-05-16 2010-05-06 Analog Devices Inc 複合ガロア体エンジンおよびガロア体除算器および平方根エンジンおよび方法
US11669304B2 (en) 2021-02-08 2023-06-06 Kioxia Corporation Arithmetic device and arithmetic circuit for performing multiplication and division

Also Published As

Publication number Publication date
EP0717350A3 (en) 1996-10-23
EP0717350A2 (en) 1996-06-19
US5798955A (en) 1998-08-25
JP3609512B2 (ja) 2005-01-12

Similar Documents

Publication Publication Date Title
JPH0991270A (ja) 演算器
JP3689183B2 (ja) 正確な浮動小数点除算/平方根演算を実現する正確、かつ効果的なスティッキー・ビット計算
JP3144816B2 (ja) 除算を行なう装置
Anderson et al. The IBM system/360 model 91: Floating-point execution unit
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
JP2676410B2 (ja) ステイツキ‐ビツト値を予測する回路およびその方法
Patankar et al. Review of basic classes of dividers based on division algorithm
US20110131262A1 (en) Floating point divider and information processing apparatus using the same
Takagi et al. A hardware algorithm for integer division
US7016930B2 (en) Apparatus and method for performing operations implemented by iterative execution of a recurrence equation
EP0436905B1 (en) High performance adder using carry predictions
US5867413A (en) Fast method of floating-point multiplication and accumulation
US5910910A (en) Circuit and method for rapid calculation of quotients and square roots
JP2857505B2 (ja) 除算装置
US20140059106A1 (en) Arithmetic circuit for performing division based on restoring division
Pineiro et al. A radix-2 digit-by-digit architecture for cube root
JP3028165B2 (ja) 高基数除算制御方法および高基数除算器
Shapran et al. DIVISION USING THE BASE RADIX16 NUMBER SYSTEM TO FORM FRACTION DIGITS
JP3493085B2 (ja) 演算器
EP0780759A1 (en) Elimination of math overflow flag generation delay in an alu
JP3517162B2 (ja) 除算・開平演算装置
Pazhani et al. Design and Implementation of Computationally Efficient Arithmetic Unit
JP4109181B2 (ja) 論理回路、および、それを使用した浮動小数点演算回路とマイクロプロセッサ

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