JP2594428B2 - キヤリー伝播遅延を短縮する方法および装置 - Google Patents
キヤリー伝播遅延を短縮する方法および装置Info
- Publication number
- JP2594428B2 JP2594428B2 JP62005166A JP516687A JP2594428B2 JP 2594428 B2 JP2594428 B2 JP 2594428B2 JP 62005166 A JP62005166 A JP 62005166A JP 516687 A JP516687 A JP 516687A JP 2594428 B2 JP2594428 B2 JP 2594428B2
- Authority
- JP
- Japan
- Prior art keywords
- carry
- adder
- ahead
- look
- group
- 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 - Lifetime
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/50—Adding; Subtracting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/50—Adding; Subtracting
- G06F7/505—Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination
- G06F7/506—Adding; 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/508—Adding; 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 carry look-ahead circuits
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Computing Systems (AREA)
- Mathematical Optimization (AREA)
- General Engineering & Computer Science (AREA)
- Logic Circuits (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
- Dc Digital Transmission (AREA)
- Complex Calculations (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Description
【発明の詳細な説明】 〔利用分野〕 本発明は、デイジタル・アダーの分野、さらに詳細に
は加算器におけるキヤリー先見装置に関する。
は加算器におけるキヤリー先見装置に関する。
コンピユータまたはマイクロプロセツサの中枢は、演
算論理装置(ALU)である。ALUの主な機能の1つは、デ
イジタル数の加算である。ALUにおける加算回路は、2
つの数を合わせて、和を発生する手段を提供する。
算論理装置(ALU)である。ALUの主な機能の1つは、デ
イジタル数の加算である。ALUにおける加算回路は、2
つの数を合わせて、和を発生する手段を提供する。
代表的な半加算器は、2つの数を加算し、キヤリー
(桁上げ)と和とを生じる。全加算器は入来のキヤリー
を受けるとともにそのキヤリー入力も加算し、そして和
とキヤリー出力とを発生する。キヤリー出力は、次の上
位桁ビツトへのキヤリー入力として働く。各全加算器を
順次結合することにより、完全な加算器となり、この加
算器の大きさは、カスケード結合された段数によつて決
まる。しかし、簡単なリツプル加算器においては、当該
の段における加算を行なう前に、前の段でのキヤリーの
発生を必要とするため、その処理時間は遅くなる。
(桁上げ)と和とを生じる。全加算器は入来のキヤリー
を受けるとともにそのキヤリー入力も加算し、そして和
とキヤリー出力とを発生する。キヤリー出力は、次の上
位桁ビツトへのキヤリー入力として働く。各全加算器を
順次結合することにより、完全な加算器となり、この加
算器の大きさは、カスケード結合された段数によつて決
まる。しかし、簡単なリツプル加算器においては、当該
の段における加算を行なう前に、前の段でのキヤリーの
発生を必要とするため、その処理時間は遅くなる。
この問題を解決するため、ルツクアヘツド回路すなわ
ち先見回路が開発された。代表的な先見回路は、加算さ
れるべき所定数のビツトを調べ、そしてこれらビツトを
加算して和を出す前にキヤリー出力を発生する。したが
つて、代表的な従来回路は、一対の4ビツトを結合して
一段にし、その段における和を発生する前に、次の段へ
キヤリー出力を供給する。先見回路は、全てのビツト位
置を通してのリツプリングの必要を低減し、それにより
処理時間を低減している。しかし、このような先見回路
は、一段におけるビツト数が増加すると、かなりな大き
さになつてしまう。したがつて、従来の装置は一段当り
4つのビツトの数に制限されている。
ち先見回路が開発された。代表的な先見回路は、加算さ
れるべき所定数のビツトを調べ、そしてこれらビツトを
加算して和を出す前にキヤリー出力を発生する。したが
つて、代表的な従来回路は、一対の4ビツトを結合して
一段にし、その段における和を発生する前に、次の段へ
キヤリー出力を供給する。先見回路は、全てのビツト位
置を通してのリツプリングの必要を低減し、それにより
処理時間を低減している。しかし、このような先見回路
は、一段におけるビツト数が増加すると、かなりな大き
さになつてしまう。したがつて、従来の装置は一段当り
4つのビツトの数に制限されている。
本発明は、キヤリーの伝播の最適化のため、キヤリー
先見のグループ化を不規則に行つてこれらを組み合わせ
る手法を提供する。中央部ではより多いビツトをグルー
プ化し、両端部ではより少ないビツトをグループ化する
ことにより、より速いキヤリー伝播を達成することがで
きる。多ビツトのプロセツサ、たとえば今日の32ビツト
・プロセツサを使用する場合、ALUにおけるキヤリー伝
播遅延は、処理速度の制限要因となつている。本発明
は、このようなキヤリー伝播遅延を低減することを目ざ
している。
先見のグループ化を不規則に行つてこれらを組み合わせ
る手法を提供する。中央部ではより多いビツトをグルー
プ化し、両端部ではより少ないビツトをグループ化する
ことにより、より速いキヤリー伝播を達成することがで
きる。多ビツトのプロセツサ、たとえば今日の32ビツト
・プロセツサを使用する場合、ALUにおけるキヤリー伝
播遅延は、処理速度の制限要因となつている。本発明
は、このようなキヤリー伝播遅延を低減することを目ざ
している。
本発明は、先見回路のため、ビツトを不規則グループ
化して組み合わせる方法に関する。中央の諸段では多く
のビツトのグループ化、両端の段では少ないビツトのグ
ループ化をすることにより、従来技術のグループ化より
も速いキヤリー伝播を達成することができる。すなわ
ち、32ビツト・プロセツサにおいては、従来技術のグル
ープ化よりも、処理時間は25%も改善できる。本発明
は、32ビツトのグループ化に関して示されているが、他
の組合せにも適用し得る。また、本発明は、普通の加算
回路に適用し得、必ずしもALU回路に限定されない。
化して組み合わせる方法に関する。中央の諸段では多く
のビツトのグループ化、両端の段では少ないビツトのグ
ループ化をすることにより、従来技術のグループ化より
も速いキヤリー伝播を達成することができる。すなわ
ち、32ビツト・プロセツサにおいては、従来技術のグル
ープ化よりも、処理時間は25%も改善できる。本発明
は、32ビツトのグループ化に関して示されているが、他
の組合せにも適用し得る。また、本発明は、普通の加算
回路に適用し得、必ずしもALU回路に限定されない。
本発明の目的は、キヤリー先見加算器におけるビツト
の最適なグループ化を行なうことである。
の最適なグループ化を行なうことである。
本発明の他の目的は、プロセツサにおけるALUの処理
時間を短縮することである。
時間を短縮することである。
以下本発明の実施例を説明するにあたり、そのより良
き理解のために、先ず従来技術を詳細に説明する。
き理解のために、先ず従来技術を詳細に説明する。
キヤリー・グループ化先見回路の本発明について説明
する前に、本発明の基盤となつている従来技術について
先ず説明する。本発明は、デマルチプレツクス32ビツト
・バスを用いている32ビツト・プロセツサの速度を増す
必要性から生じたものである。初期のキヤリー先見グル
ープ化は、TTL技術の結果である、通常4ビツトの均一
グループを使用していた。特に、現在の半導体パツケー
ジングに適している本発明は、処理速度を著しく低減し
ている。
する前に、本発明の基盤となつている従来技術について
先ず説明する。本発明は、デマルチプレツクス32ビツト
・バスを用いている32ビツト・プロセツサの速度を増す
必要性から生じたものである。初期のキヤリー先見グル
ープ化は、TTL技術の結果である、通常4ビツトの均一
グループを使用していた。特に、現在の半導体パツケー
ジングに適している本発明は、処理速度を著しく低減し
ている。
従来例 第1図は、従来のリツプル・キヤリー加算器を示して
いる。完全な32ビツト加算器は、キヤリー入力(CIN)1
1とともに2つの32ビツト数AおよびBを加算し、和お
よびキヤリー出力(COUT)12を発生する。ビツト・ゼロ
・アダー段10は、ビツトA013,B014およびキヤリー入力1
1を受け、和S015のビツト・ゼロと、次のビツト・アダ
ー段17へのキヤリーC116を発生する。アダー段17は、次
のビツト(A1,B1)18,19に対して同じシーケンスの動作
を行ない、S120およびC221を発生する。このシーケンス
は32回繰返され、COUT(C32)12が発生される。各段が
動作を行なうのにt時間かかるとすると、従来の32ビツ
ト・リツプル方法は32t時間後キヤリー出力12を発生す
る。
いる。完全な32ビツト加算器は、キヤリー入力(CIN)1
1とともに2つの32ビツト数AおよびBを加算し、和お
よびキヤリー出力(COUT)12を発生する。ビツト・ゼロ
・アダー段10は、ビツトA013,B014およびキヤリー入力1
1を受け、和S015のビツト・ゼロと、次のビツト・アダ
ー段17へのキヤリーC116を発生する。アダー段17は、次
のビツト(A1,B1)18,19に対して同じシーケンスの動作
を行ない、S120およびC221を発生する。このシーケンス
は32回繰返され、COUT(C32)12が発生される。各段が
動作を行なうのにt時間かかるとすると、従来の32ビツ
ト・リツプル方法は32t時間後キヤリー出力12を発生す
る。
第2図は、先見方法を用いた従来の32ビツト・加算器
を示している。第2図では、各ビツト段(各アダー・セ
ル)22は、PG(伝播/ジエネレート)回路23を内蔵して
いる。各PG回路23は、次の真理値表にしたがつて、伝播
信号(Pn)24とジエネレート信号(Gn)25とを発生す
る。
を示している。第2図では、各ビツト段(各アダー・セ
ル)22は、PG(伝播/ジエネレート)回路23を内蔵して
いる。各PG回路23は、次の真理値表にしたがつて、伝播
信号(Pn)24とジエネレート信号(Gn)25とを発生す
る。
Gn=AnBn (式1) Pn=AnBn (式2) 和26は、 Sn=AnBnCn (式3) なお、Pn=1の時、キヤリー入力は、Gnの値に関係な
くキヤリー出力に伝播される。Pn=0の時、Gnの値はキ
ヤリー入力の値に関係なくキヤリー出力を決定する。伝
播信号24とジエネレート信号25は従来技術において周知
であり、これら2つの信号を供給するのに、多くの回路
が選択されてきた。
くキヤリー出力に伝播される。Pn=0の時、Gnの値はキ
ヤリー入力の値に関係なくキヤリー出力を決定する。伝
播信号24とジエネレート信号25は従来技術において周知
であり、これら2つの信号を供給するのに、多くの回路
が選択されてきた。
先見回路30は、ビツト0〜ビツト3の段30,31,32,33
からの伝播信号24およびジエネレート信号25と、キヤリ
ー入力(C0)34とを受ける。回路30は、次の真理値表に
したがつて、それ自身のグループP信号(Pg)およびグ
ループG信号(Gg)を内部で発生する。
からの伝播信号24およびジエネレート信号25と、キヤリ
ー入力(C0)34とを受ける。回路30は、次の真理値表に
したがつて、それ自身のグループP信号(Pg)およびグ
ループG信号(Gg)を内部で発生する。
Gg=G3+P3G2+P3P2G1+P3P2P1G0 (式4) Pg=P3P2P1P0 (式5) 回路30は、その後、段33のキヤリー出力C4に等しい出
力35を発生する。そのC4は次式により定まる。
力35を発生する。そのC4は次式により定まる。
Cn=Gn-1+Pn-1Gn-2+Pn-1Pn-2Gn-3+…… +Pn-1Pn-2……P0C0 (式6) そして、 C4=G3+P3G2+P3P2G1+P3P2P1G0 +P3P2P1P0C0 (式7) これは次の式に等しい。
C4=Gg+PgC0 (式8) 先見回路30を用いることにより、1つのブロツクに関
するキヤリー出力値は、和の値がそのブロツク(段30〜
33)に関して計算されるのと同時に計算される。
するキヤリー出力値は、和の値がそのブロツク(段30〜
33)に関して計算されるのと同時に計算される。
第3図は、先見ブロツク40につき4ビツトのグループ
化を示している。32ビツト加算器においては、キヤリー
出力41を発生するのに、8つのブロツクを必要とする。
各ブロツク40は、キヤリー42を次の上位桁のブロツクに
リツプリングで送る。先見ブロツク40はビツト段におけ
る加算操作と同時にキヤリー決定を行なうので、キヤリ
ー出力41は第1図のリツプル構造よりもはるかに速く発
生される。また、各ブロツク40は並行処理できるので、
制限要因は、キヤリー先見回路をキヤリーが伝播するの
に要する時間によつて決まる。
化を示している。32ビツト加算器においては、キヤリー
出力41を発生するのに、8つのブロツクを必要とする。
各ブロツク40は、キヤリー42を次の上位桁のブロツクに
リツプリングで送る。先見ブロツク40はビツト段におけ
る加算操作と同時にキヤリー決定を行なうので、キヤリ
ー出力41は第1図のリツプル構造よりもはるかに速く発
生される。また、各ブロツク40は並行処理できるので、
制限要因は、キヤリー先見回路をキヤリーが伝播するの
に要する時間によつて決まる。
第4図は、先見ブロツク40の詳細な動作を示してい
る。各ブロツク40は、第3図に示されているのと同時に
4ビツト・グループ化である。各ブロツクからのキヤリ
ー42は、内部で発生された値(Gg)45または伝播値(P
g)46により決定される。そして、COUT=Gg+PgCiであ
る。 各ビットに対応するビット・アダー(ビット・セ
ル)44は、4つで1つのセルグループにグループ化され
て、各先見回路に対応させられている。キャリーの最長
リップル作用は、キャリー入力Co47が、8つの先見ブロ
ック40を伝播しなければならない場合(8つの先見ブロ
ック40のPgがすべて1である場合)に生じる。一方、あ
るブロックのグループP信号(Pg)がゼロとなる場合、
そのブロック中の何れかのビット位置でキャリー伝播信
号Pがゼロであり(式5を参照)、そのビット位置でキ
ャリー伝播の連鎖が途切れる。
る。各ブロツク40は、第3図に示されているのと同時に
4ビツト・グループ化である。各ブロツクからのキヤリ
ー42は、内部で発生された値(Gg)45または伝播値(P
g)46により決定される。そして、COUT=Gg+PgCiであ
る。 各ビットに対応するビット・アダー(ビット・セ
ル)44は、4つで1つのセルグループにグループ化され
て、各先見回路に対応させられている。キャリーの最長
リップル作用は、キャリー入力Co47が、8つの先見ブロ
ック40を伝播しなければならない場合(8つの先見ブロ
ック40のPgがすべて1である場合)に生じる。一方、あ
るブロックのグループP信号(Pg)がゼロとなる場合、
そのブロック中の何れかのビット位置でキャリー伝播信
号Pがゼロであり(式5を参照)、そのビット位置でキ
ャリー伝播の連鎖が途切れる。
C047=1で、且つC32=1である場合、キャリー入力C
047がすべての先見ブロック40に伝播するものとすれ
ば、伝搬経路は8つの先見ブロックにわたって連続した
ものとなる。各先見ブロックでの遅延がL期間であると
すると、全伝播遅延はt=8Lとなる。
047がすべての先見ブロック40に伝播するものとすれ
ば、伝搬経路は8つの先見ブロックにわたって連続した
ものとなる。各先見ブロックでの遅延がL期間であると
すると、全伝播遅延はt=8Lとなる。
あるビット位置でキャリー伝播信号Pがゼロである
と、そのビット位置でキャリー伝播の連鎖が途切れるか
ら、その途切れたビットを境界にして上位桁側と下位桁
側とのそれぞれにおいて、キャリー伝播を並列的に行わ
せることができる。第4図では、キャリー伝播が出力ビ
ット段「1」から始まり、出力ビット段「30」まで行わ
れなければならないときに最悪のケースとなる。この最
悪のケースのキヤリー伝播路は、矢印48で示されてい
る。段0および31はキヤリーを伝播しないので(P0=P
31=0)、キヤリーはビツト1,2,3,28,29,30に関するビ
ツト・アダーにおいてリツプルしなければならない。ま
た、キヤリーは先見ブロツク2〜7(6ブロツク)に伝
播しなければならない。したがつて、キヤリーを伝播す
るための各ビツト・アダーに関する遅延がB期間である
とすると、全伝播遅延は、 T=3B+6L+3Bである。
と、そのビット位置でキャリー伝播の連鎖が途切れるか
ら、その途切れたビットを境界にして上位桁側と下位桁
側とのそれぞれにおいて、キャリー伝播を並列的に行わ
せることができる。第4図では、キャリー伝播が出力ビ
ット段「1」から始まり、出力ビット段「30」まで行わ
れなければならないときに最悪のケースとなる。この最
悪のケースのキヤリー伝播路は、矢印48で示されてい
る。段0および31はキヤリーを伝播しないので(P0=P
31=0)、キヤリーはビツト1,2,3,28,29,30に関するビ
ツト・アダーにおいてリツプルしなければならない。ま
た、キヤリーは先見ブロツク2〜7(6ブロツク)に伝
播しなければならない。したがつて、キヤリーを伝播す
るための各ビツト・アダーに関する遅延がB期間である
とすると、全伝播遅延は、 T=3B+6L+3Bである。
B=Lであるならば、T=12Bとなる。
4ビツト以上の先見回路は可能ではあるが、論理回路
は、式(6)に示すように複雑になつてしまう。また、
集積回路構成の初期の段階においては、TTLパツケージ
は、パツケージ当り4ビツト・アダーを有している傾向
があつた。したがつて、単一パツケージにおける4ビツ
ト先見回路は、4ビツト・アダーを補うよう選択されて
いた。この傾向は現在もまだ続いている。
は、式(6)に示すように複雑になつてしまう。また、
集積回路構成の初期の段階においては、TTLパツケージ
は、パツケージ当り4ビツト・アダーを有している傾向
があつた。したがつて、単一パツケージにおける4ビツ
ト先見回路は、4ビツト・アダーを補うよう選択されて
いた。この傾向は現在もまだ続いている。
本発明の実施例 本発明は、単一の半導体チツプに内蔵された、より速
い32ビツト・マイクロプロセツサを開発する必要から生
じたものである。高密度で単一のパツケージングのた
め、ビツト・グループの実際のビツト数は、グループ当
りのビツト数が多数だと複雑な回路になるということを
除いては、パツケージングに関して重要ではなかつた。
なお、このような複雑な回路になると、先見回路の目的
を損なつてしまう。
い32ビツト・マイクロプロセツサを開発する必要から生
じたものである。高密度で単一のパツケージングのた
め、ビツト・グループの実際のビツト数は、グループ当
りのビツト数が多数だと複雑な回路になるということを
除いては、パツケージングに関して重要ではなかつた。
なお、このような複雑な回路になると、先見回路の目的
を損なつてしまう。
第5図は、本発明の作用を示している。32ビツトの全
加算器60は、カスケード・リツプル形12、最下位ビツト
(LSB)アダーであるビツト・ゼロ・アダー50と、最上
位ビツト(MSB)アダーであるビツト31アダー65ととも
に配置されている。32ビツト・アダー60の各ビツト・ア
ダー61は、前のビツト・アダーからのキヤリー入力の
他、2つのビツトを受け、次のビツト・アダー(図示せ
ず)へキヤリー出力を発生する。LSBアダー50はキヤリ
ー入力64を受け、かつMSBアダー65はキヤリー出力66を
発生する。各ビツト・アダー61もまた、各先見キヤリー
発生ブロツク67へのPおよびLライン(図示せず)を有
するPG回路を含んでいる。各先見ブロツク67は、前のブ
ロツクからのキヤリー入力を受けかつ次のブロツクへキ
ヤリー出力を発生するようにカスケード形に配置されて
いる。第1ブロツク52はキヤリー入力64を受け、かつ最
後のブロツク62はキヤリー出力66を発生する。
加算器60は、カスケード・リツプル形12、最下位ビツト
(LSB)アダーであるビツト・ゼロ・アダー50と、最上
位ビツト(MSB)アダーであるビツト31アダー65ととも
に配置されている。32ビツト・アダー60の各ビツト・ア
ダー61は、前のビツト・アダーからのキヤリー入力の
他、2つのビツトを受け、次のビツト・アダー(図示せ
ず)へキヤリー出力を発生する。LSBアダー50はキヤリ
ー入力64を受け、かつMSBアダー65はキヤリー出力66を
発生する。各ビツト・アダー61もまた、各先見キヤリー
発生ブロツク67へのPおよびLライン(図示せず)を有
するPG回路を含んでいる。各先見ブロツク67は、前のブ
ロツクからのキヤリー入力を受けかつ次のブロツクへキ
ヤリー出力を発生するようにカスケード形に配置されて
いる。第1ブロツク52はキヤリー入力64を受け、かつ最
後のブロツク62はキヤリー出力66を発生する。
不規則グループ化は、中央部に大きなグループ、両端
部に小さいグループを含む、キヤリー先見のための8つ
のブロツクを形成している。ビツト・ゼロ・アダー50と
ビツト1アダー51は第1グループを形成し、かつキヤリ
ー先見出力は第1ブロツク52により発生される。第2ブ
ロツク55は3つのビツトから成り、1グループ当りのビ
ツト数は中央ブロツク56に至るまで増加し、その後のブ
ロツクのグループ当りのビツト数は減少する。ビツトの
各ブロツクからのキヤリー出力は、リツプル・キヤリー
出力70または先見出力71により供給され、その後、キヤ
リー入力として次のビツト・グループに入力される。当
然、先見ブロツク67からの出力が優先される。
部に小さいグループを含む、キヤリー先見のための8つ
のブロツクを形成している。ビツト・ゼロ・アダー50と
ビツト1アダー51は第1グループを形成し、かつキヤリ
ー先見出力は第1ブロツク52により発生される。第2ブ
ロツク55は3つのビツトから成り、1グループ当りのビ
ツト数は中央ブロツク56に至るまで増加し、その後のブ
ロツクのグループ当りのビツト数は減少する。ビツトの
各ブロツクからのキヤリー出力は、リツプル・キヤリー
出力70または先見出力71により供給され、その後、キヤ
リー入力として次のビツト・グループに入力される。当
然、先見ブロツク67からの出力が優先される。
図のビツト・シーケンスは次の通りのグループ化とな
つている 3 4 5 6 5 4 3 2 最悪の場合の伝播は、位置53で開始しかつ位置54で終
了するものである。この場合、ビツト段1、先見ブロツ
ク2〜7、ビツト段29,30の経路であり、その全遅延
は、 T=2B+6L+1B である。(Bはビツト段の遅延、Lは先見ブロツクの遅
延)ここで、L=Bであるならば、T=9Bとなる。
つている 3 4 5 6 5 4 3 2 最悪の場合の伝播は、位置53で開始しかつ位置54で終
了するものである。この場合、ビツト段1、先見ブロツ
ク2〜7、ビツト段29,30の経路であり、その全遅延
は、 T=2B+6L+1B である。(Bはビツト段の遅延、Lは先見ブロツクの遅
延)ここで、L=Bであるならば、T=9Bとなる。
この遅延は、最悪の場合の遅延12Bを有する均一グル
ープよりも25%も改善されている。すなわち、従来の均
一ビツト・グループよりも処理時間が25%も低減される
ことになる。
ープよりも25%も改善されている。すなわち、従来の均
一ビツト・グループよりも処理時間が25%も低減される
ことになる。
ある実施例では、B遅延がL遅延よりも小さいので、
次のパターンが選択されている。
次のパターンが選択されている。
3 4 5 6 5 5 4 このパターンにより、最適な伝播遅延が得られる。
本発明の実施例では32ビツト・パターンが使用されて
いるが、本発明は32ビツト以外にも適用し得る。また、
LおよびB遅延の選択にしたがつて、数多くの不規則グ
ループを使用し得る。本発明は、最適なキヤリー路遅延
をもたらすため、不規則先見グループ化を使用してい
る。さらに、本発明は、他の加算回路においても使用す
ることができ、ALUの加算回路だけに限定されない。
いるが、本発明は32ビツト以外にも適用し得る。また、
LおよびB遅延の選択にしたがつて、数多くの不規則グ
ループを使用し得る。本発明は、最適なキヤリー路遅延
をもたらすため、不規則先見グループ化を使用してい
る。さらに、本発明は、他の加算回路においても使用す
ることができ、ALUの加算回路だけに限定されない。
以上のように、本発明は、キヤリー先見回路に関する
アダービツトを不規則にグループ化する方法を提供して
いる。
アダービツトを不規則にグループ化する方法を提供して
いる。
第1図は従来のリツプル・キヤリー加算器の概要図、第
2図は従来のキヤリー先見加算器の概要図、第3図は各
キヤリー先見回路に対し4ビツトにグループ化する従来
例を示す図、第4図はキヤリー先見加算器の機能を示し
た従来技術を示す図、第5図は本発明の不規則グループ
化を示す説明図である。 11……キヤリー入力、12……キヤリー出力、S……和、
22……ビツト段、23……PG回路、24……伝播信号、25…
…ジエネレート信号、30……先見回路、40……先見ブロ
ツク、41……キヤリー出力、42……キヤリー。
2図は従来のキヤリー先見加算器の概要図、第3図は各
キヤリー先見回路に対し4ビツトにグループ化する従来
例を示す図、第4図はキヤリー先見加算器の機能を示し
た従来技術を示す図、第5図は本発明の不規則グループ
化を示す説明図である。 11……キヤリー入力、12……キヤリー出力、S……和、
22……ビツト段、23……PG回路、24……伝播信号、25…
…ジエネレート信号、30……先見回路、40……先見ブロ
ツク、41……キヤリー出力、42……キヤリー。
フロントページの続き (56)参考文献 特開 昭50−68036(JP,A) 特開 昭60−55438(JP,A)
Claims (8)
- 【請求項1】複数のアダー・セルを直列に配置して2つ
の数を加算する過程であって、各アダー・セルが、前記
2つの数について対応するビットを受けるとともに、キ
ャリー入力ビットを受け、和出力ビット及びキャリー出
力ビットを出力し、さらに、キャリー伝播信号及びジェ
ネレート信号をキャリー先見回路に供給するものであ
る、複数のアダー・セルを直列に配置して2つの数を加
算する過程と; 上記アダー・セルをグループ化して各グループ毎にキャ
リー先見出力を発生する過程であって、グループ当りの
アダー・セルの数を異ならせ、中央に最大セル数のグル
ープが厚生され、中央から離れるに従ってだんだん小さ
いセル数のグループが構成されるようグループ化し、各
グループ毎にキャリー先見出力を発生する過程と; 複数のキャリー先見回路を直列に配置して、キャリー先
見出力を伝播させる過程と; 上記キャリー先見回路に上記アダー・セルの各グループ
を接続する過程と から成り、一様に又はほぼ一様にアダー・セルがグルー
プ化されている場合に比べてキャリー伝播遅延が短縮さ
れることを特徴とする、加算器におけるキャリー伝播遅
延を短縮する方法。 - 【請求項2】特許請求の範囲第1項記載の方法におい
て、32個のアダー・セルを最上位桁グループから最下位
桁グループへ向かって、3,4,5,6,5,4,3,2のセル数のグ
ループへのグループ化を含むことを特徴とする方法。 - 【請求項3】特許請求の範囲第1項記載の方法におい
て、32個のアダー・セルを最上位桁グループから最下位
桁グループへ向かって、3,4,5,6,5,5,4のセル数のグル
ープへのグループ化を含むことを特徴とする方法。 - 【請求項4】複数のアダー・セルを備えていて2つの数
を加算する加算器におけるキャリー発生装置であって、
各アダー・セルが、前記2つの数について対応するビッ
トを受けるとともに、キャリー入力ビットを受け、和出
力ビット及びキャリー出力ビットを出力し、さらに、キ
ャリー伝播信号及びジェネレート信号をキャリー先見回
路に供給するものである、加算器におけるキャリー発生
装置において、 複数のキャリー先見回路を備え、これらのキャリー先見
回路は、異なった数の上記アダー・セルを有するセルグ
ループそれぞれに接続され、各キャリー先見回路は、対
応するセルグループのアダー・セルからのキャリー伝播
信号及びジェネレート信号を受けてキャリー先見出力を
供給し、これらのキャリー先見回路はキャリー先見出力
が伝播されるよう直列に結合されており; 上記各キャリー先見回路は、対応するセルグループ内を
伝播するキャリーを決定するよう結合され; セルグループは、最大数のアダー・セルを有するものが
中央に配置され、両端に近づくにつれてアダー・セルの
数が小さくなるよう構成され; もって、加算器のキャリー伝播遅延が、一様に又はほぼ
一様にアダー・セルをグループ化した場合に比べて短縮
されることを特徴とするキャリー発生装置。 - 【請求項5】特許請求の範囲第4項記載の装置におい
て、キャリー先見回路は32個のアダー・セルに体してキ
ャリー伝播経路を供給することを特徴とするキャリー発
生装置。 - 【請求項6】特許請求の範囲第5項記載の装置におい
て、セルグループは、最上位桁グループから最下位桁グ
ループへ向かって、3,4,5,6,5,4,3,2のセル数のである
ようにアダー・セルをグループ化したことを特徴とする
キャリー発生装置。 - 【請求項7】特許請求の範囲第5項記載の装置におい
て、セルのグループは、最上位桁グループから最下位桁
グループへ向かって、3,4,5,6,5,5,4であるようにアダ
ー・セルをグループ化したことを特徴とするキャリー発
生装置。 - 【請求項8】特許請求の範囲第7項記載の装置におい
て、上記装置は半導体チップに製造されていることを特
徴とするキャリー発生装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US06/820,384 US4737926A (en) | 1986-01-21 | 1986-01-21 | Optimally partitioned regenerative carry lookahead adder |
US820384 | 1986-01-21 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS62172429A JPS62172429A (ja) | 1987-07-29 |
JP2594428B2 true JP2594428B2 (ja) | 1997-03-26 |
Family
ID=25230620
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP62005166A Expired - Lifetime JP2594428B2 (ja) | 1986-01-21 | 1987-01-14 | キヤリー伝播遅延を短縮する方法および装置 |
Country Status (8)
Country | Link |
---|---|
US (1) | US4737926A (ja) |
JP (1) | JP2594428B2 (ja) |
KR (1) | KR940008613B1 (ja) |
CN (1) | CN1003678B (ja) |
DE (1) | DE3700991C2 (ja) |
GB (1) | GB2185605B (ja) |
HK (1) | HK57290A (ja) |
SG (1) | SG34590G (ja) |
Families Citing this family (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4942548A (en) * | 1987-06-25 | 1990-07-17 | International Business Machines Corporation | Parallel adder having removed dependencies |
US4993073A (en) * | 1987-10-01 | 1991-02-12 | Sparkes Kevin J | Digital signal mixing apparatus |
US5122982A (en) * | 1988-02-29 | 1992-06-16 | Chopp Computer Corporation | Carry generation method and apparatus |
AU3289889A (en) * | 1988-02-29 | 1989-09-22 | Chopp Computer Corporation | Carry generation method and apparatus |
US4924423A (en) * | 1988-04-25 | 1990-05-08 | International Business Machines Corporation | High speed parity prediction for binary adders using irregular grouping scheme |
US5136539A (en) * | 1988-12-16 | 1992-08-04 | Intel Corporation | Adder with intermediate carry circuit |
US4905180A (en) * | 1988-12-16 | 1990-02-27 | Intel Corporation | MOS adder with minimum pass gates in carry line |
JPH02245926A (ja) * | 1989-03-20 | 1990-10-01 | Fujitsu Ltd | 論理回路 |
EP0609372A1 (en) * | 1991-10-24 | 1994-08-10 | Intel Corporation | Data processing system |
US5361370A (en) * | 1991-10-24 | 1994-11-01 | Intel Corporation | Single-instruction multiple-data processor having dual-ported local memory architecture for simultaneous data transmission on local memory ports and global port |
JPH0651950A (ja) * | 1992-07-30 | 1994-02-25 | Mitsubishi Electric Corp | 加算回路 |
EP0590251A2 (en) * | 1992-09-22 | 1994-04-06 | Motorola, Inc. | High-speed adder |
US5483478A (en) * | 1992-10-16 | 1996-01-09 | Xilinx, Inc. | Method and structure for reducing carry delay for a programmable carry chain |
US5337269A (en) * | 1993-03-05 | 1994-08-09 | Cyrix Corporation | Carry skip adder with independent carry-in and carry skip paths |
US5327369A (en) * | 1993-03-31 | 1994-07-05 | Intel Corporation | Digital adder and method for adding 64-bit, 16-bit and 8-bit words |
US5508952A (en) * | 1993-10-19 | 1996-04-16 | Kantabutra; Vitit | Carry-lookahead/carry-select binary adder |
GB2293665A (en) * | 1994-09-29 | 1996-04-03 | Texas Instruments Ltd | A look-ahead scheme. |
US5581497A (en) * | 1994-10-17 | 1996-12-03 | Intel Corporation | Carry skip adder with enhanced grouping scheme |
US5701504A (en) * | 1994-12-28 | 1997-12-23 | Intel Corporation | Apparatus and method for addition based on Kogge-Stone parallel algorithm |
US5619442A (en) * | 1995-04-07 | 1997-04-08 | National Semiconductor Corporation | Alternating polarity carry look ahead adder circuit |
US5978826A (en) * | 1995-12-01 | 1999-11-02 | Lucent Techologies Inc. | Adder with even/odd 1-bit adder cells |
US5854918A (en) * | 1996-01-24 | 1998-12-29 | Ricoh Company Ltd. | Apparatus and method for self-timed algorithmic execution |
US5835782A (en) * | 1996-03-04 | 1998-11-10 | Intel Corporation | Packed/add and packed subtract operations |
US6205463B1 (en) * | 1997-05-05 | 2001-03-20 | Intel Corporation | Fast 2-input 32-bit domino adder |
US6735612B1 (en) * | 1997-06-24 | 2004-05-11 | International Business Machines Corporation | Carry skip adder |
US6405233B1 (en) | 1999-06-30 | 2002-06-11 | Intel Corporation | Unaligned semaphore adder |
DE10050589B4 (de) | 2000-02-18 | 2006-04-06 | Hewlett-Packard Development Co., L.P., Houston | Vorrichtung und Verfahren zur Verwendung beim Durchführen einer Gleitkomma-Multiplizier-Akkumulier-Operation |
US6539413B1 (en) * | 2000-03-15 | 2003-03-25 | Agere Systems Inc. | Prefix tree adder with efficient sum generation |
US6922717B2 (en) | 2001-09-28 | 2005-07-26 | Intel Corporation | Method and apparatus for performing modular multiplication |
US20030065696A1 (en) * | 2001-09-28 | 2003-04-03 | Ruehle Michael D. | Method and apparatus for performing modular exponentiation |
US7325025B2 (en) * | 2001-12-18 | 2008-01-29 | Intel Corporation | Look-ahead carry adder circuit |
US7516173B2 (en) * | 2004-08-04 | 2009-04-07 | Intel Corporation | Carry-skip adder having merged carry-skip cells with sum cells |
KR100867641B1 (ko) * | 2006-07-31 | 2008-11-10 | 삼성전자주식회사 | 조건 선택 가산기 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
NL213922A (ja) * | 1957-01-22 | |||
US3697735A (en) * | 1969-07-22 | 1972-10-10 | Burroughs Corp | High-speed parallel binary adder |
US3700857A (en) * | 1971-04-14 | 1972-10-24 | Bell Telephone Labor Inc | Electrical resistance heater |
JPS5068036A (ja) * | 1973-10-16 | 1975-06-07 | ||
US3987291A (en) * | 1975-05-01 | 1976-10-19 | International Business Machines Corporation | Parallel digital arithmetic device having a variable number of independent arithmetic zones of variable width and location |
IL59907A0 (en) * | 1980-04-23 | 1980-06-30 | Nathan Grundland | Arithmetic logic unit |
JPS6055438A (ja) * | 1983-09-05 | 1985-03-30 | Matsushita Electric Ind Co Ltd | 2入力加算器 |
US4623981A (en) * | 1983-09-20 | 1986-11-18 | Digital Equipment Corporation | ALU with carry length detection |
EP0164450B1 (en) * | 1983-12-27 | 1990-03-07 | Nec Corporation | A carry circuit suitable for a high-speed arithmetic operation |
-
1986
- 1986-01-21 US US06/820,384 patent/US4737926A/en not_active Expired - Lifetime
- 1986-10-08 GB GB8624162A patent/GB2185605B/en not_active Expired
- 1986-11-05 KR KR1019860009312A patent/KR940008613B1/ko not_active IP Right Cessation
-
1987
- 1987-01-14 JP JP62005166A patent/JP2594428B2/ja not_active Expired - Lifetime
- 1987-01-15 DE DE3700991A patent/DE3700991C2/de not_active Expired - Fee Related
- 1987-01-17 CN CN87100346.5A patent/CN1003678B/zh not_active Expired
-
1990
- 1990-05-15 SG SG345/90A patent/SG34590G/en unknown
- 1990-08-02 HK HK572/90A patent/HK57290A/xx not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
GB2185605B (en) | 1989-10-25 |
CN87100346A (zh) | 1987-08-19 |
KR940008613B1 (ko) | 1994-09-24 |
US4737926A (en) | 1988-04-12 |
GB8624162D0 (en) | 1986-11-12 |
GB2185605A (en) | 1987-07-22 |
JPS62172429A (ja) | 1987-07-29 |
DE3700991C2 (de) | 1996-02-01 |
KR870007460A (ko) | 1987-08-19 |
DE3700991A1 (de) | 1987-07-23 |
SG34590G (en) | 1990-07-13 |
HK57290A (en) | 1990-08-10 |
CN1003678B (zh) | 1989-03-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2594428B2 (ja) | キヤリー伝播遅延を短縮する方法および装置 | |
JP2976114B2 (ja) | 加算器回路 | |
US6029187A (en) | Fast regular multiplier architecture | |
US5325320A (en) | Area efficient multiplier for use in an integrated circuit | |
US4525797A (en) | N-bit carry select adder circuit having only one full adder per bit | |
US5010510A (en) | Multiplying unit circuit | |
US5508952A (en) | Carry-lookahead/carry-select binary adder | |
US5343417A (en) | Fast multiplier | |
Ngai et al. | Regular, area-time efficient carry-lookahead adders | |
US5146421A (en) | High speed parallel multiplier circuit | |
US6065033A (en) | Wallace-tree multipliers using half and full adders | |
US4700325A (en) | Binary tree calculations on monolithic integrated circuits | |
EP0670061B1 (en) | Enhanced fast multiplier | |
JP3412878B2 (ja) | 不等桁上げ方式(varied carry scheme)を用いた高速加算器とそれに関連する方法 | |
GB2263002A (en) | Parallel binary adder. | |
US5257217A (en) | Area-efficient multiplier for use in an integrated circuit | |
US5875125A (en) | X+2X adder with multi-bit generate/propagate circuit | |
JPH07107665B2 (ja) | 高速乗算器回路 | |
US5327368A (en) | Chunky binary multiplier and method of operation | |
JPH056892B2 (ja) | ||
US5944777A (en) | Method and apparatus for generating carries in an adder circuit | |
KR950015180B1 (ko) | 고속연산형 가산기 | |
JP3207490B2 (ja) | 加算回路及びそれを使用したnビット加算器 | |
RU1795453C (ru) | Комбинационный двоичный сумматор | |
JPH06318148A (ja) | 高速加算回路 |