JP3286793B2 - キャリアウトを確定する回路及び方法 - Google Patents

キャリアウトを確定する回路及び方法

Info

Publication number
JP3286793B2
JP3286793B2 JP11430192A JP11430192A JP3286793B2 JP 3286793 B2 JP3286793 B2 JP 3286793B2 JP 11430192 A JP11430192 A JP 11430192A JP 11430192 A JP11430192 A JP 11430192A JP 3286793 B2 JP3286793 B2 JP 3286793B2
Authority
JP
Japan
Prior art keywords
carry
circuit
bit
bits
addition
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP11430192A
Other languages
English (en)
Other versions
JPH0628157A (ja
Inventor
サミル・パテル
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.)
Sun Microsystems Inc
Original Assignee
Sun Microsystems 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 Sun Microsystems Inc filed Critical Sun Microsystems Inc
Publication of JPH0628157A publication Critical patent/JPH0628157A/ja
Application granted granted Critical
Publication of JP3286793B2 publication Critical patent/JP3286793B2/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/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/50Adding; Subtracting
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Optimization (AREA)
  • Logic Circuits (AREA)
  • Complex Calculations (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はコンピュータ回路に関し
て、特に、加算器回路に関してキャリアウト信号を高速
で発生する方法及び装置に関する。
【0002】
【従来の技術】デジタルコンピュータで加算器回路を使
用する目的は数多くある。その用途の大半において、加
算器回路の動作速度はきわめて重要である。たとえば、
デジタルコンピュータで情報の逐次流れを変化させる主
な方式は、条件付き分岐動作の利用によるものである。
一般に、条件付き分岐動作は何らかの算術演算に従属し
ており、その結果に基づいて、ある特定のアドレスへ分
岐すべきか否かの決定を実行する。算術演算の結果は、
通常、加算と、キャリアウトと、符号とを含み、決定は
これらの要素のいずれか1つ、又はこれらの要素の組合
わせ、もしくはこれらの要素から生成されるフラグに従
って行われれば良い。最終キャリアウト値に従属するフ
ラグを生成するために必要とされる時間の長さは重大な
要素となるのが普通であり、従って、プロセッサの速度
を増すという点で主要な要因である。
【0003】加算器の速度の改善を目指した研究は非常
に多い。その作業の多くは、通常は最も長い時間を要す
るキャリアウトの計算のスピードアップに向けられてい
た。これは、最上位の段からのキャリアウトが下位の加
算段のそれぞれで起こったことの影響を受けるという意
味からも正しい。典型的には、各段のキャリアウトは和
の計算に伴って計算される。最終的には、キャリアウト
と和を使用して、条件付き分岐機能を決定するために必
要な他の要因を計算する。
【0004】加算器を高速ハードウェアで実現する方式
には、キャリ先見方式,キャリ選択方式,マンチェスタ
キャリチェーン方式などがある。キャリ先見方式と、マ
ンチェスタキャリチェーン方式の加算器は、その動作
が、元来、逐次的な性質をもつために、速度が限定され
る。これに対し、キャリ選択方式の加算器は複数群の数
字の2つの結果を並列して計算し、グループへのキャリ
イン値がわかったところで2つのうち正しいほうを選択
する。いくつかの列をサブセットとして並列して計算す
る場合、少なくとも論理上は、非常に速い動作を得るこ
とができるであろう。ところが、現実には、そのような
加算器は大量の回路を必要とし、従って、実現に要する
コストは高く、理論上予測されるより動作速度は遅くな
ってしまう。そこで、高速で動作するが、従来のように
は非常に大量の回路を利用する必要のない構成が要求さ
れる。
【0005】論理の上では非常に高速で結果を発生する
加算器の形態の1つは、1960年6月刊行のIRE
Transactions On Electroni
cComputerに掲載されたJ.Sklansky
の論文「Conditional−Sum Addit
ion Logic」の中に記載されている。この形の
加算器は非常に高速の結果を発生すると示唆されている
が、そのような結果を得るためにはきわめて多くのゲー
トが必要であり、また、それらのゲートを経ることによ
り遅延が起こるので、そのような加算器は実際には他の
高速加算器より速いというわけではない。従って、この
場合にも、依然として、高速で動作するが、従来のよう
に非常に大量の回路を利用する必要のない構成は必要な
のである。
【0006】
【発明が解決しようとする課題】従って、本発明の目的
は、2つの2進数の加算からのキャリアウトを計算する
新たな回路を提供することである。本発明の別の、より
特定した目的は、2つの2進数の和とは別個に2つの2
進数の和のキャリアウトを高速で計算する回路を提供す
ることである。本発明のさらに別の、より特定した目的
は、条件付き分岐動作に必要な全てのフラグを高速で発
生するための回路を提供することである。
【0007】
【課題を解決するための手段】本発明の上記の目的及び
その他の目的は、はるかに高速のけた上げ生成を生じさ
せるためにけた上げ生成機能を加算器の加算機能から分
離する回路において実現される。加算すべき2つの数の
各ビットからの2つの可能キャリアウト値を利用し、次
に、連続する複数の段で、各ビットの2つの可能キャリ
アウトを1つ又は2つ以上の下位ビットからの2つの可
能キャリアウトと組合わせて、2つの可能上位キャリア
ウトを生成し、先行する段に関する実際キャリアウトが
確定されるまでこのプロセスを継続することにより、加
算の結果が得られる前に最終キャリアウトを生成するこ
とができる。このキャリアウトを使用して、条件付き分
岐動作の結果に到達するために要求される全てのフラグ
を迅速に確定する。本発明の上記の目的及び特徴,並び
にその他の目的及び特徴は、図面に関連する以下の詳細
な説明を参照することによりさらに良く理解されるであ
ろう。尚、図面中、いくつかの図を通して、同じ図中符
号は同じ素子を指示する。
【0008】〔表記法及び用語〕以下の詳細な説明の中
には、コンピュータメモリ内部におけるデータビットの
操作をアルゴリズム及び記号表示によって提示している
部分がある。そのようなアルゴリズムによる説明や表示
は、データ処理技術に熟達した人がその作業の内容をそ
の分野の当業者に最も有効に伝達するための手段であ
る。ここで、また、一般的にも、アルゴリズムはある所
望の結果に至る首尾一貫したステップのシーケンスであ
ると考えられている。それらのステップは物理的量の物
理的操作を要求するステップである。通常、それらの量
は記憶,転送,組合わせ,比較及びその他の方法による
操作が可能である電気信号又は磁気信号の形態をとる
が、必ずしもそうであるとは限らない。時によっては、
主として一般に使用されている用語であるという理由に
より、それらの信号をビット,値,要素,記号,文字,
項,数などと呼ぶと好都合であることがわかっている。
ただし、これらの用語及びそれに類する用語は、全て、
適切な物理的量と関連させるべきものであり、単にその
ような量に便宜上付されたラベルであるにすぎないこと
を忘れてはならない。さらに、実行される操作を、オペ
レータが実行する知的動作と一般に関連している加算又
は比較などの用語で呼ぶことが多いが、本発明の一部を
成す,ここで説明する動作のいずれをとっても、そのよ
うなオペレータの能力は不要であり、多くの場合に望ま
しくない。動作は機械の動作である。いずれの場合に
も、機械を動作させる際の方法動作と、計算それ自体の
方法との明確な区別に留意すべきである。本発明は、電
気信号又は他の物理的(たとえば、機械的,化学的)信
号を処理して、他の所望の物理的信号を発生させるに際
してコンピュータを動作させる装置及び方法ステップに
関する。
【0009】
【実施例】図1に2つの2進数の高速加算を得るための
典型的な構成を示す。第1のキャリ先見加算器12は、
2つの2進数A及びBの下位4ビットを加算するために
利用される。この加算器12はキャリイン信号Cin0
受信し、その信号を様々な段を通して伝播させて、信号
をそれらの段で加算すべきビットと組合わせ、最終段か
らS0〜S3と、キャリアウト信号C3とを発生する。
同時に、加算器回路14は2つの2進数A及びBの上位
ビット4〜7を受信し、和S1_4〜S1_7と、第3
段からの1のキャリインを仮定するキャリアウトC1_
8とを計算する。また、加算器回路16は2つの2進数
A及びBの上位ビットを供給されて、和S0_4〜S0
_7と、第3段からの0のキャリインを仮定するキャリ
アウトC0_8とを計算する。正しい上位和ビットは加
算器12からの最終キャリアウトC3によりマルチプレ
クサ18を使用して選択される。同様に、正しい最終キ
ャリアウト「not C8」は、キャリアウトC3の条
件に従って2つの可能性から選択するORゲート20
と、NANDゲート22とにより発生される。
【0010】これからわかるように、キャリアウト「n
ot C8」を発生するには、図1の回路は段内部にお
ける和S0〜S7を確認するための加算器12,14及
び16の数A及びBのビットの様々な加算と、けた上げ
計算の結果を待つことが必要である。これにより、加算
器の動作と、キャリアウト信号の発生は遅くなる。たと
えば、加算器12のキャリアウトC3outは、マルチ
プレクサ18及びORゲート20の内部で、和の値の多
重化と、「not C8」の計算とを制御するために使
用される。このような和の値を計算する際の利用は関連
する論理の量を増やしてしまい、その結果、最終けた上
げ出力を発生するために必要な時間が長くなる。
【0011】図2は、先に挙げた論文の中でSklan
skyにより提案された条件付きけた上げ加算器を示
す。この加算器では、2つの7ビット数を第1のレベル
でビット加算器Hによりビットごとに(x0y0からx
6y6により表される)加算して、それぞれの加算器回
路から可能な4つの出力を発生する。それらの出力は、
キャリインが0の場合には発生される和と、キャリイン
が1の場合に発生される和と、キャリインが0の場合に
発生されるキャリアウトと、キャリインが1の場合に発
生されるキャリアウトである。これらの第1レベル加算
器回路Hのうち1つおきの回路によって発生する出力信
号は、複数対の第2のレベル回路Q1に供給される。こ
れらの回路Q1は、先行ビットの出力からのキャリイン
0又はキャリイン1のいずれかによりイネーブルされ
る。従って、これらの回路は、先行する段からのキャリ
インの状態に従って決まる信号を出力端子へ転送する。
これは次のレベルまで続き、次のレベルにおいては、2
つのQ1段の可能な和と、キャリアウトの双方を先の段
からの可能な和と共に第2の対の回路Q2に供給する。
一方の回路Q2は先行する段からの0のキャリインによ
りイネーブルされ、他方の回路Q2は1のキャリインに
よりイネーブルされる。この動作は、加算すべき2つの
数にあるビットの数について必要なだけの数の段にわた
って続いてゆく。このように、先行レベルの結果を待た
ずに各レベルの結果に到達するので、Q3レベルでは、
けた上げのあらゆる可能性が依然として存在しているの
である。論理的には、これによって非常に速い演算が可
能になる。実際には、演算速度は各レベルから実際キャ
リアウト値(C1,C3,C5など)を発生させるため
に必要な時間によって左右され、各レベルにおけるそれ
らの値と、可能な和ビットとは中間可能キャリアウト値
を使用して確定される。
【0012】さらに、図2の回路を見ればわかるよう
に、このような構成を実現するために必要とされる回路
はすぐにその能力をオーバーする状態になってしまう。
実際に、Sklanskyは回路設計者に向けて「最大
ファンアウトは被加数長さの増加関数である」と明確に
警告している。ビットを加算するための回路を含めたた
めにこのようにゲート数が増加すれば、構成に要するコ
ストは大幅に上がり、加算器がキャリアウト値を発生す
るために要する時間も長くなる。これが、おそらく、こ
の種の構成が実際に実現されていない理由であろう。
【0013】現在、けた上げ生成機能を加算器の加算機
能から分離することにより、はるかに高速なけた上げ生
成を実行できるということがわかっている。さらに、条
件付き和加算器のこの基本構成を利用し、加算すべき2
つの数の各ビットからの2つの可能キャリアウトを使用
して、2つの可能けた上げを生成し、次に、連続する複
数の段で、各ビットからの2つの可能キャリアウトを1
つ又は2つ以上の下位ビットからの2つの可能キャリア
ウトと組合わせて、2つの可能上位けた上げを生成し、
先行する段からの実際けた上げが確定されるまでこのプ
ロセスを継続することにより、加算の結果を得ることが
できるより速く、最終キャリアウトを実際に生成でき
る。キャリアウト値の生成を分離したため、従来の構成
で加算回路によって発生していた遅延はなくなる。
【0014】図3は、本発明に従って構成した基本回路
のブロック線図である。図3に示す回路30は、2つの
8ビット2進数の加算からのキャリアウトビットを生成
するために利用される。以下の説明から明かになるよう
に、キャリアウト値と、条件付き分岐方程式の確定に必
要な他の値とを得るために、8ビット数の下位の7ビッ
トを使用するだけでも良い。回路30は、それぞれ、け
た上げ発生器0からけた上げ発生器6と示されている7
つの独立したけた上げ発生器回路32を含む。各けた上
げ発生器回路32は、入力として、特定のビット位置に
関わる加数からの1ビットと、被加数からの1ビットの
合わせて2つのビットを受信する。従って、加算すべき
2つの最下位ビットがけた上げ発生器0に導入されるこ
とになる。同時に、残るけた上げ発生器1〜6も、皆、
被加数と加数の特定のビット位置の2つのビットを受信
する。
【0015】各けた上げ発生器32は2つの可能キャリ
アウト値を発生する。それらの値は、そのビットへのキ
ャリインが0である場合のその段からのキャリアウト
と、キャリインが1である場合の段からのキャリアウト
である。けた上げ発生器0の場合、それらの信号はC0
−0−1及びC0−1−1として示されているが、これ
は、まず、ビット0に関するキャリアウト、次に、0又
は1のキャリイン値に関するキャリアウト、最後に、単
一の確定レベルからキャリアウトが生じたことを指示し
ている。その他のけた上げ発生器32や、ここで説明す
る他の回路からのキャリアウト信号も同じように符号表
示される。
【0016】当業者にはわかるであろうが、けた上げ発
生器32により発生された結果を、図3の回路の右側の
文字「けた上げ発生器」の下方に挙げてある2つの方程
式に従って要約しても良い。すなわち、キャリイン信号
が0であるときのキャリアウト信号(Cout_0 )は、
そのレベルで加算されるビットが共に1である場合にの
み1になりうる。さらに、キャリイン信号が1であると
きのキャリアウト信号(Cout_1 )は、そのレベルで
加算されるビットの一方が1である場合にのみ1になり
うる。それら2つのキャリアウト信号はそれぞれのけた
上げ発生器32から次の段へ伝播してゆく。ところが、
Cout_0 信号が1であれば、キャリアウト信号Cout
_1 は、加算すべき2つのビットが共に1であるため
に、0のキャリアウト信号を発生することができない。
このことを利用して、全体として相補形の論理を設ける
必要をなくすことによって、この回路(及び以下に論じ
る他の回路)の後続する段における回路を単純化する。
【0017】それぞれのけた上げ発生器0〜6からのキ
ャリアウト値は第2段へと転送される。最下位ビット0
の場合、この段はけた上げセレクタ34である。けた上
げセレクタ34は先行する段(この場合にはけた上げ発
生器0)からの2つの可能キャリアウト値を受信し、先
行する段からの実際のキャリイン値Cprevに基づいて2
つのうち正しいほうを選択する。このけた上げ選択動作
を、図3の回路の右側に示す文字「けた上げセレクタ」
に関する方程式により表しても良い。先行する段からの
キャリインCprevが0である場合、0のキャリインに対
するキャリアウトが選択され、先行する段からのキャリ
インCprevが1である場合には、1のキャリインに対す
るキャリアウトが選択されることがわかるであろう。
【0018】従って、けた上げセレクタ0は第1のレベ
ルのビット0段からの実際キャリアウトC0を発生す
る。この結果は、けた上げセレクタ2として示されてい
る同じようなけた上げセレクタ回路34へ転送される。
けた上げセレクタ2からのキャリアウトC2は、さら
に、同じようなけた上げセレクタ6へ転送される。
【0019】ビット0以外の各ビット段については、け
た上げ発生器回路32からの2つの可能キャリアウトを
けた上げ拡張器回路36に供給する。図3には、けた上
げ拡張器回路36が4つ示されているが、各回路は同じ
ように動作する。第1のレベルの各拡張器回路36(拡
張器2,4及び6)は、2つの隣接するビット位置のけ
た上げ発生器32から、それらのビット位置からの2つ
の可能キャリアウトを受信し、それら4つの可能入力に
基づいて2つの可能キャリアウト信号を発生する。従っ
て、たとえば、けた上げ拡張器2はビット1に関するけ
た上げ発生器1からのキャリアウト信号C1−0−1及
びC1−1−1を受信すると共に、ビット2に関するけ
た上げ発生器2からのキャリアウト信号C2−0−1及
びC2−1−1を受信する。これら4つの信号を使用し
て、2つの可能キャリアウトC2−0−2(ビット2に
対するキャリインが0である場合の第2のレベルのキャ
リアウト)及びC2−1−2(ビット2に対するキャリ
インが1である場合の第2のレベルのキャリアウト)を
生成する。拡張器回路36の動作を規定する論理方程式
を図3の右側の文字「けた上げ拡張器」の下方に示す。
【0020】各けた上げ拡張器回路36が発生した2つ
の可能値は、関係するビットのレベルに応じて、けた上
げセレクタ回路34又は別のけた上げ拡張器36のいず
れかへ転送される。ビット2のレベルでは、2つのキャ
リアウトはけた上げセレクタ2へ転送されることになる
のであるが、この場合、けた上げセレクタ0からのキャ
リアウトC0は、けた上げ発生器のレベルにおける4つ
の可能キャリアウトから得られる2つのキャリアウト信
号のうち、適切な一方を選択する。一方、けた上げ拡張
器4からの2つのキャリアウトと、けた上げ拡張器6か
らの2つのキャリアウトは、共に、第2のレベルのけた
上げ拡張器6−2へ入力として転送される。けた上げ発
生器のレベルからの合わせて4つの可能キャリアウトを
表すこれらの信号は、他のけた上げ拡張器36の場合と
同じように組合わされて、2つの可能キャリアウト信号
C6−0−4及びC6−1−4となる。最終キャリアウ
ト信号C6は、けた上げセレクタ6により、これら2つ
の可能キャリアウト信号からビット2からの実際キャリ
アウト値C2に応答して選択される。
【0021】尚、最終キャリアウト値は実行すべき分岐
動作の確定を助けるのに必要とされる唯一のものである
ので、キャリアウト結果を得るのに中間値は全く不要で
あることに注意すべきである。さらに、本発明ではキャ
リアウト機能を加算機能とは分離しているので、中間キ
ャリアウトビットはより上位のキャリアウトビットを生
成する目的でのみ使用され、図1及び図2に示す回路の
場合のように複数回の加算を生成するときに利用する必
要があるための遅延を生じてゆくことはない。実際、け
た上げと加算の分離によって、「最大ファンアウトは被
加数長さの増加関数ではなく、定数」になる。先に指摘
した通り、最上位ビットからのキャリアウトを計算する
には次に上位のビットがわかっているだけで良いので、
キャリアウトビットC6を8ビット加算器で利用しても
差支えない。このことは下記の方程式からも明かであ
る。式は、次に上位のビットのキャリアウトC6(従っ
て、!C6をも指す)が得られたならばキャリアウトフ
ラグNflag,Vflag及びLflagを全て生成できることを
表している。これらのフラグは、条件付き分岐動作を確
定するために必要なゼロフラグを除けば、ほぼ全てのフ
ラグである。ゼロフラグは2つのオペランドの和が0に
等しいときにアクティブ状態になる。当該分野では、ゼ
ロフラグを生成する高速方式は既に確立されている。
【0022】 Cflag=(a7*b7)*!C6+(a7+b7)*C6 Nflag=(a7 XOR b7)*!C6+(!(a7 X
OR b7))*C6 Vflag=(a7*b7)*!C6+((!a7)*(!b
7))*C6 Lflag=(Nflag XOR Vflag)=(a7+b7)*
!C6+(a7)*b7 )*C6
【0023】図3においては、そこに示された回路を使
用して2つの8ビット2進数を加算する際にキャリアウ
トを計算するために、4つの動作段が必要であることが
わかるであろう。けた上げ拡張器とけた上げセレクタの
回路が必ずしも一度に2ビットだけを処理しなくとも良
いということを認めるならば、速度をさらに改善できる
であろう。事実、それらの回路はどのような数のビット
を処理しても良く、また、組合されても良いのである。
たとえば、図4は、3つの動作段のみを使用して2つの
8ビット数の加算からのキャリアウト信号を発生する変
形した回路40を示している。図からわかるように、回
路40は図3の回路30と同じ数のけた上げ発生器回路
42を有するが、けた上げ拡張器44は2つだけであ
り、それらに加えてけた上げセレクタ46と、第2のけ
た上げセレクタ48とを使用することにより、3つのレ
ベルのみで最終キャリアウトの発生を実行し、最終キャ
リアウト信号の発生をスピードアップしている。けた上
げ拡張器44は、それぞれ、3つ(2つではなく)の個
々のけた上げ発生器42の夫々からの一対の可能キャリ
アウト信号を受信し、一対の可能キャリアウト信号を発
生する。それらの信号は図4に示す方程式に従って発生
される。けた上げセレクタ46は図3の回路30で使用
していたけた上げセレクタ34と同一であり、ビット0
のビットの加算と、キャリイン信号とから得られる単一
のキャリアウト信号C0を発生する。これに対し、けた
上げセレクタ48はそれぞれのけた上げ拡張器46から
の2つの可能キャリアウト信号を受信し、けた上げセレ
クタ46からのキャリアウトC0に基づいて適切なキャ
リアウト信号C6を選択する。けた上げセレクタ48の
動作は、実際には、けた上げ拡張とけた上げ選択の2つ
を兼ねており、図4に示すその機能についての方程式に
基づいている。
【0024】図5は、図4に示す3ビットけた上げ拡張
器回路44に関する式により表されている機能を実行す
るために利用できる回路50を示す。図5からわかるよ
うに、回路50は3つのビット位置のそれぞれからの2
つの可能キャリアウト信号を入力信号として受信し、一
対の可能出力信号Cout_0及びCout_1を発生する。
実際の回路は複数のpチャネルFETデバイス(それら
のデバイスは、全て、図5のCprev_0入力信号線の上
方にある)と、複数のnチャネルFETデバイス(図5
のCprev_0入力信号線の下方にある)とから構成され
ている。pチャネルデバイスはゲート端子に印加される
0信号によりそれぞれオンされ、nチャネルデバイスは
ゲート端子に印加される1信号によりそれぞれオンされ
る。この回路構成は図示した全ての回路図に適用され
る。
【0025】図5に示す回路50の動作をこの回路50
の下方に示した一般式から理解できるであろう。たとえ
ば、いくつかの異なる状況の下でキャリアウト信号 Co
ut_0_は1ではない(0であり、回路が反転論理で実
現されているためにこれを使用する)。それらの状況の
1つは、3つのビットのうち最上位ビットの0キャリイ
ンに関するキャリアウト信号Cin2_0が1であり、3
つのビットのうち次に上位のビットの0キャリインに関
するキャリアウト信号Cin1_0が0であり且つ3つの
ビットのうち最下位ビットの0キャリインに関するキャ
リアウト信号Cprev_0が0である場合である。これら
3つの入力に応答して回路内で成立する接続は、トラン
ジスタAを介してCout_0_ 端子が接地電位になるも
のであることがわかる。図5の回路の応答は方程式のそ
の他の要素に同様にして従うことがわかるであろう。
【0026】回路50の下方の示した一般式を利用して
も動作可能な回路を実現できると思われるが、回路50
により表される形態をとる本発明は、それらの一般式を
欠けるところなく実現した場合より速い動作を可能にす
る。図5の回路は、入力条件によっては、式に従って動
作するのに必要な複雑さを軽減できる場合であるという
事実を利用している。それらの条件とは、Cin2_0=
1とCin2_1=0が同時に起こりえないということで
ある。同じように、Cin1_0=1とCin1_1=0は
同時に起こりえない。また、Cprev_0=1とCprev_
1=0も同時に起こりえない。たとえば、図5の回路に
おいて、Cin2_0=1である場合、トランジスタAは
接地点を信号線Cout_0 に接続し、Cin2_1=0で
ある場合には、トランジスタBはVccを信号線Cout_
0_ に接続する。これは、それら2つの条件が同時に
起こると考えられる回路では失敗といえよう。回路がそ
の影響を受けないようにするために、典型的な従来の構
成は2つの条件が同時に起こるのを阻止する目的でトラ
ンジスタを追加していたであろう。これに対し、本発明
は、それらの条件が論理的には起こりえないという事実
を認識して、必要とされる回路を減らす。これにより、
その論理を実現するように構成されている典型的な回路
を使用するときに期待できる速度より速く回路は動作す
る。そこで、図5の回路50の上方に示す方程式は、余
分な段を含まずに構成したときの回路50の動作をさら
に厳密に表している。動作を確かなものとするために存
在していなけらばならない条件の数を数えただけでも、
本発明の回路の好ましい実施例においては、方程式全体
を実現した場合に要求されるより少ない数の段しか必要
でないことがわかる。本発明の他の回路について詳細に
説明しているが、これら他の回路のそれぞれが、本発明
の実現に必要な回路を減らすという同じ事実を使用して
いることである。図6は、図4に示すけた上げセレクタ
回路48に関する方程式により表される機能を実行する
ために利用しうる回路60を同じようにして示す。図5
の回路50の場合と同様に、セレクタの動作は図4の3
ビットセレクタに関する式を考慮することにより理解で
きるであろう。たとえば、いくつかの異なる状況の下で
は、キャリアウト信号Cout_ は1ではない(0であ
る)。それらの状況の1つは、3つのビットのうち最上
位ビットの0キャリインに関するキャリアウト信号Cin
2_0が1であり、3つのビットのうち次に上位のビッ
トの0キャリインに関するキャリアウト信号Cin1_0
が0であり且つ3つのビットのうち最下位ビットのキャ
リインに関するキャリアウト信号Cprevが0であるとい
う場合である。これら3つの入力に応答して回路内で成
立する接続は、トランジスタBを介してCout_ 端子が
接地電位となることがわかる。式のその他の要素も同じ
ようにして起こることがわかるであろう。
【0027】回路を反転論理で実現する方法に注目すべ
きであろう。いずれの場合にも、トランジスタが回路の
次の段にソース電圧を直接に供給するような構成とな
る。このように、段の何らかの損失を補償するためにバ
ッファ段を設ける必要はない。従って、標準のマルチプ
レクサやバッファを使用する回路で発生するような遅延
は排除される。
【0028】本発明に従って設計された、32ビット加
算に関わるキャリアウト信号を発生する回路を図7に示
す。このブロック線図の素子は、一対のビット位置から
の発生と拡張の2つの機能を実行する複数の2ビットけ
た上げ発生・拡張器回路64と、3つの4ビットけた上
げ拡張器回路66と、単一のビット位置からの発生と選
択の2つの機能を実行する1つの2ビットけた上げ発生
・セレクタ回路68と、2つの4ビットけた上げセレク
タ70とを含む。回路64は、先に説明した通り、対ご
とのビット位置1〜30における可能キャリアウトを発
生し、第1のビットの後の2つの隣接するビットそれぞ
れからの各キャリアウトを組合わせて、さらに2つの可
能キャリアウトを発生するように機能する。回路66は
ビット7〜30に関するそれぞれ4つの組合わせの結果
を組合わせて、さらに2つの可能キャリアウトを得る。
回路66からの可能キャリアウトは、全て、最も右側に
あるセレクタ回路70に供給される。回路64からのビ
ット1〜6の可能キャリアウトは左側に位置するけた上
げセレクタ回路70に供給され、けた上げ発生器・セレ
クタ回路68がビット0について確定したキャリアウト
C0を使用して、キャリアウトC6を選択する。最初の
7つのビットレベルからの選択を実行するけた上げセレ
クタ回路70からのキャリアウトC6を使用して、右側
の回路70からのキャリアウトC30を選択し、それを
使用して、上記の条件付き動作を制御するために必要な
フラグを生成する。
【0029】図8には、2ビットけた上げ発生器・拡張
回路64を示す。図9には、2ビットけた上げ発生器・
セレクタ回路68を示す。また、図10には、4ビット
けた上げ拡張器回路66を示す。図11には、4ビット
セレクタ回路70を示す。これらの回路は、それぞれ、
先に詳細に説明した回路と同様に設計されており、余分
なトランジスタを省くことにより、可能な限り速いキャ
リアウト応答を行う。回路64のキャリアウト発生及び
拡張と、回路68のけた上げ発生及び選択とを併合すれ
ば、図7の回路の段の数は1つ減り、それにより、最終
キャリアウト信号を発生するために要求される時間は短
縮されることに注目すべきである。
【0030】本発明を好ましい一実施例に関して説明し
たが、当業者により本発明の趣旨から逸脱せずに様々な
変形や変更を実施しうることが理解させるであろう。従
って、本発明は特許請求の範囲によって判断されるべき
である。
【図面の簡単な説明】
【図1】従来の典型的な加算器回路のブロック線図。
【図2】従来の技術により提案された条件付き和加算器
のブロック線図。
【図3】本発明に従って構成した第1のけた上げ計算回
路のブロック線図。
【図4】本発明に従って構成した第2のけた上げ計算回
路のブロック線図。
【図5】図4に示す回路の一部の回路図。
【図6】図4に示す回路の別の部分の回路図。
【図7】本発明に従って構成した第3のけた上げ計算回
路のブロック線図。
【図8】図7に示す回路の各部分の回路図。
【図9】図7に示す回路の各部分の回路図。
【図10】図7に示す回路の各部分の回路図。
【図11】図7に示す回路の各部分の回路図。
【符号の説明】
32 けた上げ発生器回路 34 けた上げセレクタ 36 けた上げ拡張器回路 42 けた上げ発生器回路 44 けた上げ拡張器 46 けた上げセレクタ 48 第2のけた上げセレクタ 64 2ビットけた上げ発生・拡張器回路 66 4ビットけた上げ拡張器回路 68 2ビットけた上げ発生・セレクタ回路 70 4ビットけた上げセレクタ
───────────────────────────────────────────────────── フロントページの続き (73)特許権者 591064003 901 SAN ANTONIO ROA D PALO ALTO,CA 94303, U.S.A. (56)参考文献 特開 平3−75925(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 7/50

Claims (4)

    (57)【特許請求の範囲】
  1. 【請求項1】 2つの数の加算からのキャリアウトを確
    定する回路において、加算すべき2つの数の最下位ビット以外の1ビットまた
    は2以上の隣接するビットについての加算からの2つの
    可能キャリアウトを出力する第1の手段と、 この第1の手段により生成された2つの可能キャリアウ
    トのうちの一方を、前記1ビットまたは2以上の隣接ビ
    ットより最下位ビット側の1ビットまたは2以上の隣接
    するビットの加算からの実際のキャリアウトにより決定
    し、当該決定された一方の可能キャリアウトに基づき前
    記2つの数の加算からのキャリアウトを確定して出力す
    る第2の手段と を具備する回路。
  2. 【請求項2】 加算すべき2つの数の最下位ビットの加
    算から決定された当該最下位ビットにおける実際のキャ
    リアウトに基づき複数のビットを処理することにより、
    実際のキャリアウトを決定する第3の手段をさらに備え
    た請求項1記載の回路。
  3. 【請求項3】 前記第2の手段の出力に基づき、2つの
    数の加算に従属する条件付き分岐動作に必要なフラグを
    生成する第4の手段をさらに備えた請求項2記載の回
    路。
  4. 【請求項4】 2つの数の加算からのキャリアウトを確
    定する方法において、 加算すべき2つの数の最下位ビット以外の1ビットまた
    は2以上の隣接するビットについての加算からの2つの
    可能キャリアウトを出力する第1のステップと、 加算すべき2つの数の最下位ビットの加算から決定され
    た当該最下位ビットにおける実際のキャリアウトによ
    り、当該最下位ビット以外の1ビットまたは2以上の隣
    接するビットについての実際のキャリアウトを順次決定
    する第2のステップと、 前記第1のステップにより生成された2つの可能キャリ
    アウトのうちの一方を、前記第2のステップにより順次
    決定された実際のキャリアウトにより決定し、 当該決定
    された一方の可能キャリアウトに基づき前記2つの数の
    加算からのキャリアウトを確定して出力する第3のステ
    ップと からなる方法。
JP11430192A 1991-04-08 1992-04-08 キャリアウトを確定する回路及び方法 Expired - Fee Related JP3286793B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US68257591A 1991-04-08 1991-04-08
US682575 1991-04-08

Publications (2)

Publication Number Publication Date
JPH0628157A JPH0628157A (ja) 1994-02-04
JP3286793B2 true JP3286793B2 (ja) 2002-05-27

Family

ID=24740277

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11430192A Expired - Fee Related JP3286793B2 (ja) 1991-04-08 1992-04-08 キャリアウトを確定する回路及び方法

Country Status (4)

Country Link
EP (1) EP0508627B1 (ja)
JP (1) JP3286793B2 (ja)
KR (1) KR100256103B1 (ja)
DE (1) DE69228140T2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2263002B (en) * 1992-01-06 1995-08-30 Intel Corp A parallel binary adder
JP6454542B2 (ja) 2014-12-26 2019-01-16 Fdk株式会社 外付けptc素子、および筒形電池

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3346241A1 (de) * 1983-03-31 1984-10-04 Siemens AG, 1000 Berlin und 8000 München Parallelverknuepfungsschaltung mit verkuerztem uebertragsdurchlauf
JPS60142423A (ja) * 1983-12-28 1985-07-27 Fujitsu Ltd 条件コ−ド生成方式
JPH01244531A (ja) * 1988-03-25 1989-09-28 Fujitsu Ltd 論理回路

Also Published As

Publication number Publication date
KR100256103B1 (ko) 2000-05-01
DE69228140T2 (de) 1999-08-19
EP0508627B1 (en) 1999-01-13
EP0508627A3 (en) 1994-07-13
KR920020313A (ko) 1992-11-21
DE69228140D1 (de) 1999-02-25
JPH0628157A (ja) 1994-02-04
EP0508627A2 (en) 1992-10-14

Similar Documents

Publication Publication Date Title
US3993891A (en) High speed parallel digital adder employing conditional and look-ahead approaches
JP3729881B2 (ja) 並列加算および平均演算を行うための回路およびその方法
US6411980B2 (en) Data split parallel shifter and parallel adder/subtractor
US6301600B1 (en) Method and apparatus for dynamic partitionable saturating adder/subtractor
US3814925A (en) Dual output adder and method of addition for concurrently forming the differences a{31 b and b{31 a
JPH0823811B2 (ja) 3オペランド演算論理機構におけるオーバーフローを決定する方法及び算術上のオーバーフローを検出する機構
US8429213B2 (en) Method of forcing 1's and inverting sum in an adder without incurring timing delay
US6578063B1 (en) 5-to-2 binary adder
US5235539A (en) Method and apparatus for generating carry out signals
US6584485B1 (en) 4 to 2 adder
US5867413A (en) Fast method of floating-point multiplication and accumulation
US6061707A (en) Method and apparatus for generating an end-around carry in a floating-point pipeline within a computer system
EP0670061B1 (en) Enhanced fast multiplier
JP3286793B2 (ja) キャリアウトを確定する回路及び方法
JP3537378B2 (ja) 加算器および集積回路
JPH0784760A (ja) 自己検査型補数加算器ユニット
US5117384A (en) Method and apparatus for exponent adder
JPH09222991A (ja) 加算方法および加算器
US6684236B1 (en) System of and method for efficiently performing computations through extended booth encoding of the operands thereto
US6826588B2 (en) Method and apparatus for a fast comparison in redundant form arithmetic
JPH09114641A (ja) 最上位デジットを決定するための装置と方法
US7216141B2 (en) Computing carry-in bit to most significant bit carry save adder in current stage
US20030084084A1 (en) Method and apparatus for a multi-purpose domino adder
JPH0366693B2 (ja)
US6631393B1 (en) Method and apparatus for speculative addition using a limited carry

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees