JPH04227533A - 高速加算器 - Google Patents

高速加算器

Info

Publication number
JPH04227533A
JPH04227533A JP3068498A JP6849891A JPH04227533A JP H04227533 A JPH04227533 A JP H04227533A JP 3068498 A JP3068498 A JP 3068498A JP 6849891 A JP6849891 A JP 6849891A JP H04227533 A JPH04227533 A JP H04227533A
Authority
JP
Japan
Prior art keywords
carry
adder
adders
independent
assuming
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.)
Withdrawn
Application number
JP3068498A
Other languages
English (en)
Inventor
Thomas W Lynch
トーマス・ダブリュ・リンチ
Steven D Mcintyre
スティーブン・ディー・マキンタイア
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.)
Advanced Micro Devices Inc
Original Assignee
Advanced Micro Devices Inc
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 Advanced Micro Devices Inc filed Critical Advanced Micro Devices Inc
Publication of JPH04227533A publication Critical patent/JPH04227533A/ja
Withdrawn 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/50Adding; Subtracting
    • G06F7/505Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination
    • G06F7/506Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination with simultaneous carry generation for, or propagation over, two or more stages
    • G06F7/507Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination with simultaneous carry generation for, or propagation over, two or more stages using selection between two conditionally calculated carry or sum values
    • 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/49Computations with a radix, other than binary, 8, 16 or decimal, e.g. ternary, negative or imaginary radices, mixed radix non-linear PCM

Landscapes

  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Optimization (AREA)
  • General Engineering & Computer Science (AREA)
  • Nonlinear Science (AREA)
  • Complex Calculations (AREA)
  • Transition And Organic Metals Composition Catalysts For Addition Polymerization (AREA)
  • Lubricants (AREA)
  • Pharmaceuticals Containing Other Organic And Inorganic Compounds (AREA)
  • Analogue/Digital Conversion (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】
【0001】
【関連の出願への相互参照】この出願は次の米国特許出
願に関するものである。
【0002】   連続番号            名称     
                         
      発明者(06940/0002)   パ
イプライン化された浮動小数点処理ユニット    パ
ールマン                (Pipe
lined Floating Point Proc
essing       (Perlman)、  
                Unit)    
                         
         他 (06940/0003)  
 正規化パイプライン化された浮動小数点処理    
  グプタ                ユニット
                         
            (Gupte)、他    
             (Normalizing
 Pipelined Floating Point
                    Proce
ssing Unit) (06940/0004) 
  多重アキュムレータを有する演算ユニット    
    タムラ                 (
Arithmetic Unit Having Mu
ltiple            (Tamura
) 、                  Accu
mulators)                
               他 (06940/0
005)   多重動作のブール条件を収集するための
装置      マクミン             
   および方法                 
                  (McMinn
) 、                 (Appa
ratus and Method For Coll
ecting         他         
         Boolean Conditio
ns of Multiple Operations
) (06940/0007)   高速繰返し除算の
ための特殊キャリ保存        シャー    
            加算器          
                         
    (Shah) 、他            
     (A Special Carry Sav
e Adder For High         
          Speed Iterative
 Division)  (06940/0009) 
  基数4キャリ先見ツリーおよびそのための    
    リンチ                冗長
セル                       
              (Lynch)、他  
              (Radix 4 Ca
rry Lookahead Tree and Re
dundant                  
Cell Therefor)  (06940/00
14)   平方根任意選択を有する高速除算器   
           リンチ           
     (High Speed Divider 
With Square Root         
(Lynch)、他                
 Option)すべての相互参照はこれとともに同じ
日付に出願され、かつこの発明の譲受人に譲渡され、か
つそれに対してこの引用によりここに援用される。
【0003】
【発明の背景】
【0004】
【発明の分野】この発明は、高速デジタル電子加算のた
めの回路に関するものである。
【0005】
【関連技術の説明】2進けた値加算において、2進けた
値コードで表現された2個のオペランドは、また2進け
た値コードの結果を生じるように合計される。各オペラ
ンド、および結果はビットのアレイである。2進けた値
コードにおいて、アレイにおけるビットの位置はその2
の累乗の重みを決定し、ゆえに値=合計(ビット×2^
pos)である。表現の値を決定する際に最も小さい重
みを有するビットは最下位ビット、またはLSBと呼ば
れる。同様に、最も大きい重みを有するビットは最上位
ビット、またはMSBと呼ばれる。ほかの記数法は加算
のためによりよい特性を有するが、それらはほかの問題
を被り、そのため事実上今日市場にあるどのコンピュー
タも2進けた値コードを用いる。
【0006】手で行なわれる加算方法において、合計は
LSB位置に対して形成され、キャリはあるいは次のビ
ット位置に伝播され、かつこの処理は結果における各ビ
ットが計算されるまで連続するビット位置に対して繰返
される。この方法は図1に示されるように「キャリ伝播
」加算として当業者には知られている。キャリ伝播加算
はその直列の性質により本質的に遅い。
【0007】伝統的に、加算は、1985年、アディソ
ン・ウエズリー(AddisonWesley)、CM
OS・VLSI・設計(CMOS  VLSI  De
sign)において説明されるような次の技術、キャリ
先見、マンチェスタキャリ先見、2進キャリ先見ツリー
およびキャリ選択加算、のうちの1つを用いることによ
り速度を早められてきた。1988年、コンピュータ科
学の論理上の局面に関する第5回年次シンポジウム(t
he  5th  Annual  symposiu
m  on  Theoretical  Aspec
ts  of  ComputerScience)、
STACSにおいて説明されたような別の技術は条件合
計加算である。さらに別の技術は1988年技術論文の
固体回路会議概要において説明された多重出力ドミノ論
理加算器である。
【0008】キャリ選択および条件合計加算器を除くこ
れらの加算器の各々は、キャリ伝播、キャリ生成および
キャリ消去の概念に基づいており(図2参照)、当業者
には十分に理解される。もし所与のビット位置に対する
加算演算へのキャリの後に所与のビット位置からのキャ
リが続けばキャリはビット位置を介して「伝播する」と
言われるが、一方キャリが入力されないとき所与のビッ
ト位置に対する加算はキャリアウトを生じない。もし所
与の位置に対する加算がキャリインから独立してキャリ
アウトを生じれば、キャリは所与のビット位置から「生
成された」と言われる。キャリがビットを介して伝播し
なければ、キャリはビット位置において「消去された」
と言われる。当業者には知られているように、かつ図2
に示されるように、伝播および生成信号は実際に加算を
することなく見出されてもよい。
【0009】隣接する合計機能、隣接する伝播機能また
は隣接する生成機能のグループ分けは「ブロック」と呼
ばれてもよく、その例が図1に示される。伝播、生成お
よび消去という用語がブロックに与えられてもよい。も
し所与のブロックのLSB加算へのキャリの後に所与の
ブロックのMSB加算からのキャリが続けば、キャリは
所与のブロックを介して伝播すると言われる。もし前記
ブロックのMSB加算がブロックのLSBへのキャリか
ら独立してキャリアウトを生じれば、ブロックはキャリ
を生成すると言われる。1985年、アディソン・ウエ
ズリー、CMOS  VLSIにおいて説明されたマン
チェスタキャリチェインにおいてなされたように、もし
ブロックにおける所与のビット位置が生成しかつ所与の
ビットおよびブロックのMSB間のすべてのビットが伝
播するならば、ブロックは生成し得るにすぎないという
ことがいかなる当業者にも知られている。
【0010】キャリ先見加算器理論の概観は、マックグ
ロー−ヒル(McGraw−Hill)(1984年)
、J.J.F.カバナフ(Cavanagh)によるデ
ジタルコンピュータ演算(Digital  Comp
uter  Arithmetic)の107頁ないし
117頁において与えられる。CLAは冗長論理を用い
てキャリのコンピュータ動作の速度を上げる。ブロック
は、ブロックのLSBが加算のLSBに一致し、かつブ
ロックのMSBが所与のビット位置に一致するように所
与のビット位置に対して規定される。ゆえに、図3に示
されるように、結果におけるビット位置から1を引いた
ものと同じ数のブロックがある。もしキャリアウトが必
要とされれば付加的なブロックが必要とされる。各ブロ
ックは、入力としての入力オペランドおよび加算へのキ
ャリ、ならびに出力としての1つのキャリだけを有する
。論理的に、2つのゲート遅延においていかなる単一の
論理機能が実行されてもよく、そのためキャリ先見加算
器において合計を生じる時間は論理的に一定の4つのゲ
ート遅延であるが、しかしながら、真のゲートの有限利
得はどの1つのゲートも所与の時間量において駆動でき
る負荷の量を制限し、そのためより多くのゲート遅延が
加えられなければならない。また、入力オペランド自体
はゲートによって駆動されるので、駆動されるキャリブ
ロックの数、およびゆえに結果が有してもよいビットの
数はまた制限される。キャリ先見加算器は少しのビット
を超えるサイズの結果のために比較的遅くなる。キャリ
先見加算器の性能は真のゲートのローディング考慮がゲ
ート遅延の論理的数ではなく加算時間を決定することを
示す。リング(Ling)により発明され、1981年
5月、研究および開発のIBM機関誌(IBM  Jo
urnal  of  Research  and 
 Development)に提出された最近の加算器
は、ビットごとに、ブロックごとにつき1つのゲート入
力によって伝播および生成状態の出力からの負荷を減ら
す。この方法はローディング問題を緩和するが、CLA
加算器はいくつかのビットより多い加算のために比較的
効率の悪いまま残る。
【0011】図4のマンチェスタキャリ先見加算器は、
キャリが伝播するブロックをスキップすることを許容す
ることによって加算の速度を上げる。この方法を適用す
るために、加算はどのキャリ伝播論理も重複しないよう
に一連のブロックに分けられる。それから、所与のブロ
ックに対してすべてのビット伝播は所与のブロックが伝
播するかどうかを決定するために互いに論理積される。 もしブロックが伝播するのならば、バイパスがオンにさ
れて、それはブロックのLSBへのいかなるキャリもブ
ロックのMSBの出力に直接経路づけるであろう。この
方法はCMOSにおける特定のサイズの加算器に対して
はうまく作用し、しかしながら、その性能は加算のサイ
ズにまだ直線的に相関する。この問題を緩和する試みに
おいて、IEEEコンピュータに関する会報(IEEE
  Transactions  on  Compu
ters)第36巻において説明されるように、多重レ
ベルのスキップが加えられる。32ビットより大きい加
算に対して、この方法は2進先見キャリ加算器の速度に
接近できるだけであり、かつ論理的理由および実用的理
由によりこの出願において示されている加算器より著し
く遅いであろう。
【0012】図5の2進先見キャリツリーはlog2 
(加算長)+(オーバヘッド)に関するゲート遅延を有
する。キャリ先見加算器の場合でのように、回路ローデ
ィングは、大きいツリー、すなわち約8ビットより大き
い加算に対するツリー、に対するlog2 ゲート遅延
の実現を妨げる。また、当業者には知られているように
、ツリーは大きい加算に対して大きくなりかつ配置に対
して効率が悪くなる。1988年に技術論文のIEEE
固体回路会議概要で説明されたMODLゲート加算器は
、これらの問題のいくらかを緩和する試みであり、かつ
大きい加算に対してlog2 (加算長)×直線的性能
(log2 より小さい)を許容する。
【0013】図6に示されるキャリ選択加算器は、加算
を3つのブロックに分割する原理に基づいている。第1
ブロックは2個のオペランドの底部半分を加算する。第
2ブロックは第1ブロックの0からのキャリインを仮定
してオペランドの上部半分を加算する。第3ブロックは
第1ブロックの1からのキャリインを仮定してオペラン
ドの上部半分を加算する。第1ブロックからのキャリが
計算されると、それは2から1のマルチプレクサ(mu
x)を経て、ブロック2からの合計またはブロック3か
らの合計を選択することにより結果の正確な上部半分を
選ぶために用いられる。キャリ選択加算器が直列に配列
されると、それらはセクションの数に第1セクションの
加算時間を足したものに関連する直線的性能を有する。 大きい加算に対して、この型の加算器は比較的遅いが小
型である。
【0014】条件合計加算器は反復的に適用されたキャ
リ選択加算器である。加算は多くの冗長な2のブロック
に分けられ、そこから起こり得る合計の半分だけが残る
ように1組が選ばれる。起こり得る合計を半分にするプ
ロセスは、結果だけが残るまで多段において続けられる
。この加算器はlog2 性能を有し、しかしながら、
それはBLC加算器よりさらに大きい。加算は各段にお
いてキャリと共に計算されるので、合計論理は不必要に
何度も再生される。また、合計オーバヘッドはこの加算
器をBLC加算器より遅くする。
【0015】加算器は多くのデジタル回路の中心部を形
成し、かつそれらはRISCマイクロプロセッサの必要
とされるサイクル時間の主な寄与物であるので、この発
明により提供されるように、より速い加算器は必要とさ
れ続ける。
【0016】
【発明の概要】この発明は、少なくとも1つの第1の独
立加算器、少なくとも1つの第2の独立加算器および少
なくとも1つの第1の独立加算器および少なくとも1つ
の第2の独立加算器に対してキャリを発生するための手
段とを含む改良された高速加算器を提供し、キャリを発
生するための手段は少なくとも1つの第1の独立加算器
および少なくとも1つの第2の独立加算器と同時に動作
可能である。
【0017】この発明の実施例において、少なくとも1
つの第1の独立加算器は1のキャリを仮定しかつ少なく
とも1つの第2の独立加算器は0のキャリを仮定する。
【0018】この発明の教示に従って、高速加算器は複
数個(たとえば8個)の第1の独立加算器および、同様
に、複数個(たとえば8個)の第2の独立加算器を含む
ことができる。
【0019】この発明のある実施例はまた、複数個の第
1および第2の加算器からの適切な結果を選択するマル
チプレクサを含む。
【0020】このマルチプレクサは、たとえば直接キャ
リを使用するよりもむしろ疎らなキャリ原理で演算する
ことができる。
【0021】この発明のさらに他の実施例においては、
キャリを発生するための手段は基数、たとえば基数−4
論理を用いることができる。
【0022】この発明はまた、0のキャリインを仮定し
第1および第2のオペランドを加算するステップと、1
のキャリインを仮定し第1および第2のオペランドを加
算するステップと、キャリを予測するステップと、0の
キャリインを仮定した加算、1のキャリインを仮定した
加算および予測されたキャリの結果に基づいて適切な結
果を選択するステップとを含む第1および第2のオペラ
ンドの電子デジタル加算を達成する方法を提供する。
【0023】したがって、より速くかつ/またはより廉
価な加算器を提供することがこの発明の目的である。
【0024】比較的ゲート遅延がほとんどない加算器回
路を提供することはこの発明の別の目的である。
【0025】よく釣合いがとれる(scale)加算器
回路を提供することはこの発明のさらに別の目的である
【0026】比較的ほとんどない空間を使用する高速加
算器を提供することはこの発明のさらにまた別の目的で
ある。
【0027】全体の加算としてキャリビットの数の小数
に演算するキャリ予測ブロックの性能に接近する加算器
回路を提供することはこの発明のさらに他の目的である
【0028】この発明の他の目的、利点および新規な特
徴は、添付の図面に関連して考えられるときこの発明の
以下の詳細な説明から明らかになるであろう。
【0029】
【好ましい実施例の説明】今、図7を参照して、プロセ
ッサ2を含む計算システムの単純化されたシステム図が
示される。いくつかの次の図と同様にこの図の目的は、
この発明の教示に従った加算器が有益に組込まれてもよ
い環境を示すことである。プロセッサ2は3つの非多重
化バスを用いて外部命令およびデータにアクセスする。 これらのバスは集合的にチャネルと呼ばれてもよい。チ
ャネルは、命令転送のための32ビットバス4と、デー
タ転送のための第2の34ビットバス6と、命令および
データアクセス間で共用される第3のアドレスバス8と
を含む。アドレスバス8はパイプライン化され、そのた
め命令またはデータ転送が完了する前にそれは解放され
得る。このことは第1が完了する前に次のアクセスが始
まることを許容し、かつプロセッサ2が同時進行中の2
つのアクセスを有することを許容する。図7に示される
全体のシステムはまた命令ROM10および命令メモリ
12を含むように見られてもよく、両方ともアドレスバ
ス8および命令バス4の間で作動的に接続される。さら
に、データメモリ14およびデータ転送制御器16がア
ドレスバス8およびデータバス6の間で作動的に接続さ
れるように示される。さらに、データ転送制御器16は
また、システムバス18に信号を送り、かつシステムバ
ス18から信号を受取るように作動的に接続される。
【0030】今、図8を参照して、プロセッサ2のより
よい理解が得られるようにプロセッサ2のデータフロー
図が示される。
【0031】プロセッサ2は命令実行に対して4段のパ
イプラインを実現し、4段は「フェッチ」、「デコード
」、「実行」および「書戻し」である。プロセッサ2の
命令フェッチユニット20は命令を取出し、かつ命令を
他の機能ユニットに供給する。ユニット20は命令先取
り(prefetch)バッファ、分岐目標キャッシュ
およびプログラムカウンタユニットを組込む。これらの
サブユニットは以下で図9を参照してさらに論じられる
であろう。命令フェッチユニット20のすべての構成要
素はプロセッサパイプラインのフェッチ段の間に動作す
る。
【0032】プロセッサ2はまた実行ユニット22を含
む。実行ユニット22は、レジスタファイル、アドレス
ユニット、演算/論理ユニット、フィールドシフトユニ
ットおよび優先付器(prioritizer)および
浮動小数点処理ユニットを含む。命令フェッチユニット
20のサブユニットのように、これらのサブユニットは
また図9を参照して以下でさらに論じられる。レジスタ
ファイルおよびアドレスユニットはパイプラインのデコ
ード段の間に動作する。演算/論理ユニット、フィール
ドシフトユニットおよび優先付器はパイプラインの実行
段の間に動作する。レジスタファイルはまた書戻し段の
間に動作する。
【0033】よりさらに図8を参照して、プロセッサ2
はメモリ管理ユニット24を含むように見られてもよい
。メモリ管理ユニット24は、すべての分岐、ロードお
よびストアに対してアドレス変換およびメモリ保護機能
を実行する。ユニット24はパイプラインの実行段の間
で動作し、そのためそれが発生する物理的アドレスは書
戻し段の初めに利用可能である。プロセッサ2における
ユニット20、22および24の相互接続は、それらの
システムバスとのインタフェースと同様にまた図8に示
される。
【0034】今、図9を参照して、プロセッサ2の副構
成要素に関するさらなる詳細が図で示される。先に述べ
られたように、命令フェッチユニット20は命令先取り
バッファ26、分岐目標キャッシュ28およびプログラ
ムカウンタユニット30を含むように見られてもよい。 また先に述べられたように、メモリ管理ユニット24は
すべての分岐、ロードおよびストアに対してアドレス変
換およびメモリ保護機能を実行するための手段32を含
むように見られてもよい。最後に、実行ユニット22は
レジスタファイル34、アドレスユニット36、演算/
論理ユニット38、フィールドシフトユニット(参照番
号38でまた示される)、優先付器(参照番号38でま
た示される)および浮動小数点処理ユニット40を含む
ように見られてもよい。様々な他の要素(たとえば、特
殊目的レジスタ42)および相互接続の詳細が図9に示
されるが、それらはただ周辺的にこの発明に相関するだ
けなので、かつプロセッサ2をよく理解するために図だ
けで当業者には十分通じるので、浮動小数点ユニット4
0およびそれが作動的に接続される他の要素以外のすべ
てのユニットに関するさらなる記述はここでは述べられ
ない。
【0035】浮動小数点ユニット40のいくつかの注目
すべき局面が図9を参照して見られてもよい。浮動小数
点ユニット40がAおよびBオペランドを操作すること
を認識して、これらのAおよびBオペランドはそれぞれ
Aバス44、Bバス46を介してレジスタファイル34
からくる。浮動小数点ユニット40による操作、たとえ
ば計算の結果は結果バス48を介してレジスタファイル
に書込まれる。また、浮動小数点ユニット40の演算に
対する命令はプロセッサ命令バス50を介してそこに伝
送される。
【0036】今、図10を参照して、この発明の教示に
従って製造されたパイプライン化された浮動小数点処理
ユニットの様々な副構成要素が今見られる。図9を参照
して先に論じられた様々なインタフェース点はこの図に
おいて同様に示されかつ名称をつけられ、すなわち、レ
ジスタファイルからのオペランドはAバス44およびB
バス46を介して浮動小数点ユニットに送込まれ、結果
が結果バス48を介して浮動小数点ユニットを出て、か
つ命令は命令またはIバス50を介して浮動小数点ユニ
ットに伝送される。図10を特に参照して、浮動小数点
ユニット内でAバス、Bバスおよび結果バスはインター
フェイスユニット52に作動的に接続されるように見ら
れてもよく、一方Iバスはそこにおいて制御器54に作
動的に接続される。
【0037】処理のための数、すなわちAおよびBオペ
ランドが浮動小数点ユニット40のような浮動小数点ユ
ニットに入力されるとき、浮動小数点ユニットが所望の
(または命令された)算術演算を実行し、かつバス48
のような結果バス上に結果を出力することはよく知られ
ている。浮動小数点ユニット40のような浮動小数点ユ
ニットは浮動小数点および整数の両方を処理してもよい
。32ビット(単精度)および64ビット(2倍精度)
のような様々な浮動小数点フォーマットが支えられても
よい。さらに、浮動小数点ユニット40は、IEEE、
DECおよびIBMフォーマットを支持してもよいが、
整数から浮動小数点への変換およびその逆の変換を取扱
ってもよい。浮動小数点ユニット40の上の局面の各々
は上で言及された関連の場合においてさらに論じられ、
かつここに引用により援用される。
【0038】さらに図10を参照して、当業者はここに
示される様々な浮動小数点ユニット副構成要素のほとん
どの機能および動作を理解するべきである。一般的に従
来の個々の態様で動作し、かつこうしてここでは詳細に
論じられないこれらの副構成要素は予検出器56、正規
化解除器(denormalizer)58、多機能ユ
ニット60、再正規化器(renormalizer)
62、乗算器64、部分積合計器66、除算器68、丸
め器70およびアキュムレータ(単数または複数)72
を含む。しかしながらこれらの副構成要素およびその相
互作用のいくつかの非常に重要な局面は存在し、かつ関
連の場合において詳細に論じられ、読者はそれらを参照
するようにと勧められる。
【0039】今、図11を参照すると、この発明の教示
に従った加算器のブロック図がそこに示されている。当
業者によって理解されるはずであるように、図11に示
される加算器は、図10に示される浮動小数点ユニット
の多機能ユニット60、乗算器64および/または除算
器68に組込まれてもよい。さらに、図11に示される
加算器は少なくとも1つの第1の加算器ブロック74、
少なくとも1つの第2の加算器ブロック76、キャリ先
見ツリーブロック78、伝播および生成ブロック80お
よびマルチプレクサ82を含むことが見られてもよく、
それらの各々は以下でさらに詳しく論じられる。
【0040】最初に伝播および生成ブロック80を参照
すると、当業者によってよく理解されるはずであるよう
に、このブロック80は、入力オペランドに基づいて適
当なように伝播および生成信号を発生する。
【0041】図11を続けて参照すると、ブロック80
によって発生された伝播および生成信号は加算器のブロ
ック78、74および76に伝送されるということが見
られてもよい。キャリ予測ブロック78において、その
実施例は上記の関連の場合において詳しく論じられるが
、これらの2つの信号は、ブロック境界のためのキャリ
を発生するために加算器のキャリ入力と組合わされ、線
路92上に与えられる。
【0042】ブロック境界上のキャリだけが予測論理か
ら必要とされるので、予測論理はより簡単でかつより少
ない内部のローディングを有する。このより少ない内部
のローディングは、この特許の教示に従うと、キャリ予
測回路がその理論上の最大速度に接近することを許容す
るであろう。さらに、ブロック境界キャリだけが予測論
理から必要とされるので、予測論理は実質的により小さ
くなるであろうし、これゆえ、この特許の教示に従うと
、予測論理は論理上より少ない時間でもキャリを発生す
ることができるであろう。
【0043】図11において示されている発明の実施例
において、加算器ブロック74および76は事実上少数
の入力を有する8個の独立加算器の同一の組である。し
かしながら、加算器ブロック74および加算器ブロック
76の間の重要な差は前者のブロックはゼロ(0)のキ
ャリインを仮定しかつ後者のブロックはいち(1)のキ
ャリインを仮定する。独立加算器のすべての結果は、線
路94および96を介して加算器ブロック74および7
6からマルチプレクサ82へ送られることが図7におい
て見られてもよい。さらに、キャリ先見ツリー信号はま
た線路98を介してマルチプレクサ82に送られる。
【0044】ブロック82は様々な加算器から正確な結
果を選ぶマルチプレクサである。すなわち、もしゼロの
キャリインが適当であれば、ブロック74の結果がマル
チプレクサ82によって選ばれるであろうし、かつもし
1のキャリインが正確であったならば、マルチプレクサ
82はブロック76の出力結果を選ぶ。ブロック74お
よび76の各々ので8個の独立加算器を用いるこの発明
の実施例においては、満足に実行するであろうマルチプ
レクサは8×[(2のうちの1)×8]マルチプレクサ
であるだろう。
【0045】前述のことに基づくと、合計ブロック(7
4および76)は非常に速いキャリ予測ブロック(78
)と同時に評価を行なってもよく、そのため加算時間は
非常に速いキャリ予測ブロックを足した1マルチプレク
サ遅延か、または合計ブロックにおける最も遅いチェイ
ンにおける加算時間かのどちらかであることを当業者は
わかるはずであろう。当業者はこれは非常に速い加算器
であることを理解すべきである。図11の線路に沿った
この発明の実施例は製造されかつ先行技術の形状よりも
より速くかつより廉価であることが見つけられている。 さらに、製造された回路はほとんどないゲート遅延を有
し、それはlog4  n+2である。さらに、製造さ
れた形状は容易に縮小拡大(scale)してもよくか
つそれはあまり大きい領域を使用しない。実際、それは
古い1μミクロンCMOSプロセッサにおいて64ビッ
トが4.0ナノセカンド加算を達成するためには450
ミクロンより少なく使用する傾向がある。
【0046】この発明を十分理解するように当業者を補
助するために、図12、13および14においてそれぞ
れブロック82、76および74に関するさらなる詳細
が提示されている。図12ないし図14において示され
ている様々な信号形状はこの発明の譲受人によって作ら
れた製品、特にAM29050において実際に用いられ
た信号に一致する。今、当業者は十分に理解すべきであ
るように、図12は8×[(2のうちの1)×8]のマ
ルチプレクサブロックを示す。図13は1のキャリイン
を仮定する8ビット加算器を示す。もちろん、この図の
底部の注釈は、この発明の実施例においては加算器ブロ
ック76を形成する8個のこのような加算器があるであ
ろうことを示す。同様に図14はゼロのキャリインを仮
定する8ビット加算器を示しかつこの発明の実施例にお
いては加算器ブロック74において8個のこのような加
算器があってもよい。
【0047】前述のことに基づくと、この発明は現在の
技術にすばらしい利点を提供する高速加算器を提供する
ことを当業者は理解すべきである。これらの利点は速度
、低出費、ほとんどないゲート遅延、縮小拡大の可能性
(scaleability)および小さい領域の使用
を含む。ここに示されかつ記述されたこの発明の特定の
実施例においては、速い基数4キャリ先見ツリーは8ビ
ット加算器の対が評価を行なうのと同じ時間で評価を行
なう。各加算器対は1のキャリインを仮定する加算器お
よび0のキャリインの加算器を含む。最終のマルチプレ
クサは正確な結果を選ぶ。
【0048】この発明の概念から逸脱することなしにこ
こに記述された構造や技術において特に述べられたもの
の他にも多くの修正および変形がなされてもよいことを
当業者は認識するであろう。たとえば、この発明はいか
なる数nのビットに対して一般にされてもよい。したが
って、前掲の特許請求の範囲内においてこの発明は特に
ここに記述された以外の態様で実施されてもよい。
【図面の簡単な説明】
【図1】先行の形状である。
【図2】他の先行の形状である。
【図3】さらに他の先行の形状である。
【図4】なおさらに他の先行の形状である。
【図5】さらに他の先行の形状である。
【図6】さらに他の先行の形状である。
【図7】その部分においてこの発明を組込んだシステム
のブロック図である。
【図8】図7において示されたプロセッサのブロック図
である。
【図9】図8のプロセッサのより詳細なブロック図であ
る。
【図10】その部分においてこの発明を組込んだ浮動小
数点ユニットのブロック図である。
【図11】この発明の教示に従った加算回路のブロック
図である。
【図12】図11の加算回路の一部のブロック図である
【図13】図11の加算回路の一部のブロック図である
【図14】図11の加算回路の一部のブロック図である
【符号の説明】
2  プロセッサ 40  浮動小数点ユニット 74  第1の加算器ブロック 76  第2の加算器ブロック

Claims (17)

    【特許請求の範囲】
  1. 【請求項1】  少なくとも1つの第1の独立加算器と
    、少なくとも1つの第2の独立加算器と、前記少なくと
    も1つの第1の独立加算器および前記少なくとも1つの
    第2の独立加算器に対してのキャリを発生するための手
    段とを含み、前記キャリを発生するための手段は前記少
    なくとも1つの第1の独立加算器および前記少なくとも
    1つの第2の独立加算器と同時に動作可能である、高速
    加算器。
  2. 【請求項2】  前記少なくとも1つの第1の独立加算
    器は1のキャリを仮定する、請求項1に記載の高速加算
    器。
  3. 【請求項3】  前記少なくとも1つの第2の独立加算
    器はゼロのキャリを仮定する、請求項2に記載の高速加
    算器。
  4. 【請求項4】  複数個の第1の加算器がありかつ複数
    個の第2の加算器がある、請求項3に記載の高速加算器
  5. 【請求項5】  8個の第1の加算器があり、かつ8個
    の第2の加算器がある、請求項4に記載の高速加算器。
  6. 【請求項6】  前記複数個の第1の加算器および前記
    複数個の第2の加算器から適切な結果を選択するマルチ
    プレクサをさらに含む、請求項4に記載の高速加算器。
  7. 【請求項7】  前記マルチプレクサは疎らなキャリ原
    理に基づいて動作する、請求項6に記載の高速加算器。
  8. 【請求項8】  前記キャリを発生するための手段はキ
    ャリ先見、キャリスキップ、二進先見ツリー、キャリ選
    択、または基数4ツリー論理を用いる、請求項7に記載
    の高速加算器。
  9. 【請求項9】  前記キャリを発生するための手段は基
    数−4論理を用いる、請求項8に記載の高速加算器。
  10. 【請求項10】  ゼロのキャリインを仮定して前記第
    1および第2のオペランドを加算するステップと、1の
    キャリインを仮定して前記第1および第2のオペランド
    を加算するステップと、キャリを予測するステップと、
    前記ゼロのキャリインを仮定した加算、前記ゼロのキャ
    リインを仮定した加算、および前記予測したキャリの結
    果に基づいて適切な結果を選択するステップとを含む、
    第1および第2のオペランドの電子デジタル加算を達成
    する方法。
  11. 【請求項11】  前記ゼロのキャリインを仮定した加
    算は複数個の加算器によって達成される、請求項10に
    記載の方法。
  12. 【請求項12】  前記1のキャリインを仮定した加算
    は複数個の加算器によって達成される、請求項11に記
    載の方法。
  13. 【請求項13】  0のキャリインを仮定した前記複数
    個の加算器は8個の加算器を含む、請求項12に記載の
    方法。
  14. 【請求項14】  0のキャリインを仮定した前記複数
    個の加算器は8個の加算器を含む、請求項13に記載の
    方法。
  15. 【請求項15】  前記キャリの予測は基数−4キャリ
    先見ツリーによって達成される、請求項14に記載の方
    法。
  16. 【請求項16】  前記適切な結果の選択はマルチプレ
    クサによって達成される、請求項15に記載の方法。
  17. 【請求項17】  前記マルチプレクサは8×[(2の
    うちの1)×8]マルチプレクサを含む、請求項16に
    記載の方法。
JP3068498A 1990-04-02 1991-04-01 高速加算器 Withdrawn JPH04227533A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US50381890A 1990-04-02 1990-04-02
US503818 1990-04-02

Publications (1)

Publication Number Publication Date
JPH04227533A true JPH04227533A (ja) 1992-08-17

Family

ID=24003637

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3068498A Withdrawn JPH04227533A (ja) 1990-04-02 1991-04-01 高速加算器

Country Status (4)

Country Link
EP (1) EP0450752B1 (ja)
JP (1) JPH04227533A (ja)
AT (1) ATE180068T1 (ja)
DE (1) DE69131218D1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010122741A (ja) * 2008-11-17 2010-06-03 Kumamoto Univ データ処理装置

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ES2071556B1 (es) * 1992-12-31 1996-01-16 Alcatel Standard Electrica Dispositivo de reduccion del numero de palabras de datos en operaciones aritmeticas binarias.
KR100224278B1 (ko) * 1996-12-18 1999-10-15 윤종용 패스 트랜지스터 로직을 사용하는 조건 합 가산기 및 그것을 구비한 집적 회로

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3993891A (en) * 1975-07-03 1976-11-23 Burroughs Corporation High speed parallel digital adder employing conditional and look-ahead approaches
JPH01244531A (ja) * 1988-03-25 1989-09-28 Fujitsu Ltd 論理回路

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010122741A (ja) * 2008-11-17 2010-06-03 Kumamoto Univ データ処理装置

Also Published As

Publication number Publication date
EP0450752B1 (en) 1999-05-12
EP0450752A2 (en) 1991-10-09
DE69131218D1 (de) 1999-06-17
EP0450752A3 (en) 1993-05-26
ATE180068T1 (de) 1999-05-15

Similar Documents

Publication Publication Date Title
EP0450755B1 (en) Radix 4 carry lookahead trees
Jaberipur et al. Improving the speed of parallel decimal multiplication
US7509368B2 (en) Sparse tree adder circuit
US5285406A (en) High speed mixed radix adder
JPH10232765A (ja) 演算装置の演算方法、記憶媒体及び演算装置
JPH06208456A (ja) 集積化乗算/累算ユニットを有するcpu
WO2006039610A1 (en) An apparatus and method for address generation using a hybrid adder
US5337269A (en) Carry skip adder with independent carry-in and carry skip paths
US6578063B1 (en) 5-to-2 binary adder
KR100308726B1 (ko) 고속 산술 장치에서 올림수 예견가산기 스테이지의 수를 감소시키는 장치 및 방법
Sips Bit-sequential arithmetic for parallel processors
JPH04227533A (ja) 高速加算器
Pineiro et al. A radix-2 digit-by-digit architecture for cube root
Putra et al. Optimized hardware algorithm for integer cube root calculation and its efficient architecture
JP3745759B2 (ja) 相補的なホット桁上げ信号を生成する桁上げ論理を含んだハイブリッド桁上げ先見型/桁上げ選択加算器およびその桁上げ論理を作る方法
Ibrahim Radix-2n multiplier structures: A structured design methodology
US5978826A (en) Adder with even/odd 1-bit adder cells
Sharma et al. Addition Of redundant binary signed digits using RBSD Adder
Tan et al. Efficient Multiple-Precision and Mixed-Precision Floating-Point Fused Multiply-Accumulate Unit for HPC and AI Applications
Abu Al-Haija et al. Fast Radix-2 Sequential Multiplier Using Kintex-7 FPGA Chip Family
Santhi et al. Realization of parallel prefix adders for power and speed critical applications
Abrar et al. An area-optimized N-bit multiplication technique using N/2-bit multiplication algorithm
Aggoun et al. Bit-level pipelined digit-serial multiplier
WO1998029800A1 (en) Spatially pipelined arithmetic logic unit
EP0780759A1 (en) Elimination of math overflow flag generation delay in an alu

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 19980711