JPH06236255A - 並列桁上げ発生ネットワーク、並列加算器ネットワーク、桁上げ発生モジュール、マルチビット加算器ネットワークおよびモジュラー桁上げ伝ぱんユニット - Google Patents

並列桁上げ発生ネットワーク、並列加算器ネットワーク、桁上げ発生モジュール、マルチビット加算器ネットワークおよびモジュラー桁上げ伝ぱんユニット

Info

Publication number
JPH06236255A
JPH06236255A JP1673593A JP1673593A JPH06236255A JP H06236255 A JPH06236255 A JP H06236255A JP 1673593 A JP1673593 A JP 1673593A JP 1673593 A JP1673593 A JP 1673593A JP H06236255 A JPH06236255 A JP H06236255A
Authority
JP
Japan
Prior art keywords
carry
bit
adder
parallel
input
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.)
Pending
Application number
JP1673593A
Other languages
English (en)
Inventor
Jack T Poon
ジャック・ティ・プーン
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.)
Intel Corp
Original Assignee
Intel 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 Intel Corp filed Critical Intel Corp
Publication of JPH06236255A publication Critical patent/JPH06236255A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/508Adding; 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; 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/506Indexing scheme relating to groups G06F7/506 - G06F7/508
    • G06F2207/50632-input gates, i.e. only using 2-input logical gates, e.g. binary carry look-ahead, e.g. Kogge-Stone or Ladner-Fischer adder

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)
  • Computing Systems (AREA)
  • Mathematical Optimization (AREA)
  • General Engineering & Computer Science (AREA)
  • Complex Calculations (AREA)

Abstract

(57)【要約】 【目的】 速度を向上した高度に並列的な構造を有する
Nビット2進加算器を提供する。 【構成】 加算器は対応する演算数と桁上げビットの和
を形成する複数の並列モジューロ2加算器で構成する。
桁上げ入力は条件付き伝ぱん発生器とlog22N演算
レベルで桁上げビットを生成する無条件桁上げ発生器に
より生成する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は算術加算器回路分野に関
し、特に2進加算器ネットワークに関する。
【0002】
【従来の技術】2進加算器ネットワークはディジタルコ
ンピュータの算術演算の基本である。必要な加算器演算
は膨大となるので、コンピュータの発展の歴史では、よ
り早い構成部分の技術を通してあるいは様々な補助ロジ
ックないし計算ネットワークを用いて基本的な加算器ユ
ニットを増分してネットワーク組織を向上することでよ
り早い加算器ネットワークを常に求めてきた。初期のデ
ィジタルコンピュータはi番目の加算器出力ビットを2
ビットを法とする加算により示すことのできる高速桁上
げ加算器を使用した。
【0003】
【数1】
【0004】ここでAiとBiは入力演算数のi番目のビ
ットで、Ci-1 は次の最低ビット合計からの桁上げであ
る。桁上げは先行段階の演算数(Ai-1,Bi-1)と先行
段階桁上げCi-2でCi-1=Ai-1 * Bi-1+Ci-2(Ai-
1+Bi-1)として示すことができる。ここで(* 、+)
はそれぞれブール演算子(AND,OR)である。高速
桁上げビットのための時間は加算器の速度の制約要因と
なった。それらの欠点を克服するために後続の固定時間
加算器が導入されたが、それらの固定時間加算器は条件
付き合計及びキャリールックアヘッド(CLA)加算器
の2つのカテゴリーに分類することができる。
【0005】条件付き加算器は各々のビット合計Si を
2回計算する。すなわち1つの合計のSNiは桁上げビッ
トCi はゼロであるという想定に基づいて行い、第2の
合計のSEi はCi=1という想定の元に行う。図1は4
ビットスライス条件付き合計加算器の論理図である
(「演算入門」ワーサー、フリン、ホルト、ラインアル
ト、ウィンストン 1982年p77ffを参照のこと)。2つの
入力演算数はそれぞれA0、A1、A2、A3とB0、B1、
B2、B3 の入力ビットで示される。各々の対の演算数
ビット(Ai、Bi)は入力端子 110に加える。A0、B0
は入力演算数最小ビットに対応し、A3、B3は最上位ビ
ットに対応する。条件付き合計加算器は2つの基本的な
部分を含んでいる。すなわち出力でSN0、SN1、SN2、
SN3、SN4とSE0、SE1、SE2、SE3、SE4の条件付き
合計と条件付き桁上げの2つの集合を形成する条件付き
合計生成ユニット 130で、後者のグループはその対応す
る個々の条件付き合計発生器 141、143、145、147、149
の各々への非ゼロ繰入れの想定に基づいている。それら
の条件付き信号は出力ビットS0、S1、S2、S3と出力
桁上げビットC4に対応する個々の出力セレクタ161、1
63、165、167、169 からなる条件付き合計セレクタユニ
ットに加えられる。選択は繰入れビットC0 及びAND
ゲート113とORゲート115により条件付き合計に動作す
るその補数の/C0により制御される。図1の条件付き
4ビットスライス加算器の挙動を制御する論理式は次の
ようになる。
【0006】
【数2】
【0007】真の4ビット合計とキャリーアウトは次の
ブール式に従ってセレクタ・ユニット 150により選択さ
れる。 S0=SE0C0+SN0/C0 S1=SE1C0+SN1/C0 S2=SE2C0+SN2/C0 S3=SE3C0+SN3/C0 S4=SE4C0+SN4
【0008】上記の概念は追加のビットに拡張すること
ができるが、上記の式と図1により示唆されるように複
雑さが付随して増大する。CLA加算器はその簡潔性と
モジューラ性から最近では最も普及した集積回路実現法
であった。モジューラ性とは類似の並列装置を用いるこ
とで各々の演算数でビット数を比較的容易に拡張できる
ことを意味している。例えば図2の4ビットスライスC
LAを考えてみる。4ビットスライス条件付き加算器の
図1と比較してCLAが比較して簡潔であることが明か
に分かる。CLA合計は以下の論理式により次のように
表すことができる。
【0009】
【数3】
【0010】そしてCLA桁上げは次のようになる。 Ci+AiBi+Ci(Ai+Bi)ないし Ci=Gi+PiCi ここで Gi=AiBi および Pi=Ai+Bi
【0011】上記のCLA合計式は2つの演算数(A
i、Bi)のEORを形成することにより桁上げ項(Ci-
1)無しに直ちに評価することができる。桁上げ項(Ci
-1)は低次指標演算数(Ai-1,Bi-1) と低次桁上げ
Ci-2の関数となる。その結果、加算を完了する時間は
一般に各々の合計ビットに対する繰入れビットの入手性
により支配される。Ciに付いての上記の式は反復式
で、すなわち現在値Ci+1内のものはそれ自身の過去の
値の関数である。これは次のように明示的に述べること
ができる。 Ci+1=Gi+PiGi-1+PiPi-1Gi-2 +... +PiPi
-1 ... P0C0 したがって図2の4ビットの場合は、主要出力けた上げ
のC4は次のように表すことができる。 C4=G3+P3G2+P3P2G1+P3P2P1G0+P3P2
P1P0C0 以下を上の式に置換すると G0'=G3+P3G2+P3P2G1+P3P2P1G0 および P0'=P3P2P1P0C0、 C4=G0'+P0'C0を得ることができる。これは図2の
G0'とP0'の出力端子の論理式を示している。
【0012】図2に示すタイプの2つのネットワークを
8ビット合計を生成するモジュラーユニットとして使用
するならば、高次の4ビットネットワークに対する繰入
れビットを上記の式にしたがって形成されているであろ
う。高次のユニットC8の出力桁上げは、次のように表
すことができる。 C8=G1'+P1'G0'+P1'P0'C0 ここでG1'とP1'は、次の高次のCLAモジュラユニッ
トのCLA出力ペアである。モジューラ性は4つの4ビ
ットスライス加算器に対応し、必要な桁上げ情報、すな
わちC4,C8,C12とP"、G"を出力で生成する4グル
ープCLA発生器により拡張して、図2に示すタイプの
4つのモジュレータ加算器ユニットを用いて16ビットc
ls加算器を形成した。図3は4グループCLA発生器
を示し、4つの入力対(G'0P'0)(G'1P'1)(G'2
P'2)(G'3P'3)とC4,C8,C12と(P"、G")に
対応した桁上げ出力を有する。ここで G12=G'2+P'2G1+P'2P'1G'0+P'2P'1P'0C0 及び G"=G3+P'3G'2+P'3P'2P'1C0 P"=P'3P'2P'1P'0 従って最上位繰出しビットのC16は論理的に次のように
形成することが出来、 C16=G"+P"C0 更に必要に応じて高次のモジュラーCLA加算器ユニッ
トにパスすることができる。
【0013】図4はモジュラーCLA概念の64ビット加
算への論理的拡張を示したものである。合計16のモジュ
ラー4ビットスライスSLA加算器 200が並列に配列さ
れており、(A0、B0)・・・(A3、B3)、(A4、
B4)・・・(A7、B7)、(A60、B60)・・・(A6
3、B63)の入力演算数対とそれぞれ(S0、S1、S2、
S3)・・・(S60、S61、S62、S63)の4ビット出
力和と桁上げ生成/桁上げ伝ぱん対(P'0、G'0)・・
・(P'15、G'15) を生成する(C0,C16,C32,C
48)の繰入れビットを受ける。4つの対応するグループ
のCLA加算器 200の桁上げ出力情報をそれぞれ受け取
る4モジュラー4グループCLA発生器 250の第2論理
レベルは、その関連加算器 200のために必要な桁上げ情
報を4対の桁上げ生成/桁上げ伝ぱん対と[(P"0、
G"0),(P"1、G"1)および(P'2、G'2)]の必要
な桁上げ生成/桁上げ伝ぱん対から生成する。これから
は単一のCLA発生器 250からなる第3論理レベルが第
1、第2レベルに供給される3つの追加繰入れビットの
(C16,C32,C48)を生成する。このようにモジュラ
ー4ビットスライスCLA加算器を使用して高精度演算
に対応してきた。
【0014】更に図1の基本的条件付き加算器ユニット
をモジュラー加算器として使用して、高次桁上げを定義
する論理式は同一なのでCLA発生器の概念を使用して
高精度加算に拡張することができる。例えば第2レベル
条件付き同一キャリアは次のように表すことができるこ
とが分かる(前掲ワーサ、フリン)。 C4 = CN4 +CE4C0 C8 = CN8 +CE8CN4 + CE8CE4C0 C12 = CN12+CE12CN8 +CE12CE8CN8+CE12CE8
CE4C0 上記の式を実施するのに必要な論理は図3、4のCLA
発生器 250のものと同一なので、16ビット加算器を図5
に示すように実施することができる。加算器は、それぞ
れ4ビット対の演算数を受け取る並列に接続された4つ
の条件付き加算器100を有している。各々の加算器 100
は条件付き和発生器 130とマルチプレクサ150からなっ
ている。モジュラーグループ繰入れ対の[(CN4,CE
4),(CN8,CE8),(CN12,CE12)]は、16ビッ
ト加算を形成するのに必要なモジュラー繰入れビット
(C4、C8C、12)を生成するCLA発生器 250に供給
される。更に多くのビットに対応するのに必要な拡張
は、先述のCLA方式で明示した。
【0015】
【発明が解決しようとする課題】費用効果的な並列高速
加算器が必要とされており、桁上げビット(及び従って
和)を生成するのに必要な処理段階数を比較的低コスト
で各々の演算数内のビット数の対数に比例するようにす
ることが非常に望まれる。また一定した論理入力、論理
出力を可能にし、靜的対固定速度事前チャージ/ディス
チャージ演算を可能にする論理構成が望ましい。本発明
の目的はそれらの目標を達成することである。
【0016】
【課題を解決するための手段】各々が対応する演算数ビ
ット対と最終和桁上げ入力を受け取って合計する複数の
並列モジューロ2加算器からなる並列Nビット2進加算
器ネットワークを説明する。最終和桁上げビットは、入
力演算数ビットの対の論理的OR化に基づいて条件的桁
上げ伝ぱん項を生成する並列桁上げ伝ぱん論理アレィ
と、入力演算数ビット対のAND化に基づく無条件桁上
げ生成論理ネットワークと、条件付き及び無条件桁上げ
項で並列に演算してモジューロ2並列加算器に並列に与
えられる最終和桁上げ項の集合を生成する論理アレィか
らなる桁上げ生成ネットワークにより並列に生成され
る。モジューロ2加算器へのN和桁上げ入力の最終集合
を生成するゲート遅延の数は[log2N] であり、
加算器のスループットをかなり増大できる。
【0017】
【実施例】
A=AN-1,AN-2,...,A0 B=BN-1,BN-2,...,B0 の2つのNビット2進数演算数(A,B)の和Sは、S
=S1,SN-2,...,S0と表すことができる。ここで
【0018】
【数4】
【0019】は、次の最下位ビット対(Ai-1,Bi-1)
のモジューロ2和からのi番目の演算数ビット値(A
i,Bi) 及び繰入れビットCi-1のモジューロ2和とし
て表されるi番目の和ビットの値を示す。従って「AN
D」に対してブール論理演算子(*)を使用し、「O
R」に対して(+)を使用することで、桁上げビットは
次のように表すことができる。 C0=A0*B0 C1=A1*B1+(A1+B1)*C0 C2=A2*B2+(A2+B2)*C1 : Ci=Ai*Bi+(Ai+Bi)*Ci-1 : CN-1=AN-1*BN-1+(AN-1+BN-1)*CN-2 ここで便宜のため次のようにすると Gi=Ai*Bi Pi=Ai+Bi 上記の桁上げビット式は次のようになる。 C0=G0 C1=G1+P1C0 C2=G2+P2C1 : Ci=G : CN-1=GN-1+PN+1CN-2 (更に便宜のためにPiC=Pi*Ci とするために明示
的な「AND」演算子記号は省略していることに留意す
る。)この規約を以下の説明を通して使用する。
【0020】上記の反復式は次のように表すことができ
る。 C0=G0 C1=G1+P1G0 C2=G2+P2G1+P2P1G0 C3=G3+P3G2+P3P2G1+P3P2P1G0 C4=G4+P4G3+P4P3G2+P4P3P2G1+P4P3P2P1G0 : C=Gi+PiGi-1+PiPi-1Gi-2+PiPi-1Pi-2Gi-3 +...+PiPi-1Pi-2...PiG0 : この式の集合は一方で次のような行列で表すことができ
る。
【0021】
【数5】
【0022】あるいは単に c=P(N)g ここでcは桁上り桁ベクタ、gは桁上り発生器桁ベク
タ、P(N)は低次三角NXN伝ぱん行列である。従っ
てg=[G0G1G2・・GN-1]T=[A0B0A1B1A2B
2...AN-1BN-1]Tは、高いときは繰出しを生成する演
算数ビット対の「AND」化を示す。要素が伝ぱん制御
変数を示す行列Pは、繰出しを高次ビットに対して伝ぱ
んする手段を記述するものである。P行列は疎低三角行
列の積に因数分解することができる。例えば
【0023】
【数6】
【0024】
【数7】
【0025】従って各々の2進増分で2k≦r≦2k+1
P(r) は示した形式の(k+1)低次三角行列に因数分
解することができる。これらの因数分解式は図6、7、
8の流れ図で示すことができる。図6はP(4) の因数分
解により示される4ビット桁上げ伝ぱん過程に対応して
いる。この過程への入力は、下部に示す[G0 G1 G2
G3]Tの桁上げ発生器ベクタからなっている。矢印を有
する対角線は、対応するラベルづけされた式で原点のノ
ードのデータ上の複数(「AND」)演算に対応する。
ノード間のラベルなしの垂直線は伝送経路を示し、dt
の修正は低次ノードから高次ノードに伝送されない。全
てのノードは総和(「OR」)分岐点である。例えばC
1=G1+P1G0 およびC3=P3P2(G1+P1G0)+
(G3+P3G2)=P3P2P1G0+P3P2G1+P3G2+
G3である。繰出しベクタ[C0 C1 C2 C3]Tは上部
出力ノードにある値により示される。
【0026】図7、8はそれぞれ8および16ビット桁上
げ生成過程を示すP(8)とP(16) の流れ図を示したもの
で、明かに大きなビット数の流れ図は詳述した原理を拡
張することで同様に生成することができる。各々の2進
増分2k≦r≦2k+1−1あるいは演算数で使用するビッ
ト数のそれぞれ2倍について、1つの追加疎次三角行
列がP(r) 行列の因数分解形式を示すために必要とな
る。従って2k≦r≦3、P(r)要素に付いては2行列、
4≦r≦7、P(r)要素に付いては3行列、2k≦r≦2
k+1−1、P(r)要素に付いては(k+1)行列が必要で
ある。
【0027】各々の因数分解行列演算は図6、7、8に
示すノードの行に対応する。最低(ゼロ)レベルノード
は入力桁上げ生成ベクタ値gに対応する。ノードの次の
レベルの値は上記の例の右端の因数分解行列が入力生成
ベクタ上で演算するならば得られる列ベクタに対応す
る。同様にノードの第2レベルは、第2の右端が、その
右側の積から生じるベクタ上で演算される行列を因数分
解するならば得られる値に対応した値を有している。後
続のレベルでも同様である。一般にk+1因数分解行列
(段階)が各々の演算数の2k+1 に対して必要で、すな
わちNビット演算数について[log2N]が必要とな
る。図6、7、8の流れ図は、図9〜11に示す論理ネッ
トワーク構造をも示している。
【0028】図9は例えばGl,k をその出力で生成する
図8のノードl,kにある一般的な節点プロセッサ10を
示したものである。プロセッサ10は入力としてGl-1 ,
k−2l-1,Gl-1,kおよびPkk-1・・・Pk-2 l-1をそ
れぞれその入力端子11、12、13で受け取る。「AND」
ゲート16及び「OR」はそれらの入力を演算して出力14
で次のブール関数をもたらす。 Gl,k =Gl-1,k+Pkk-1・・・Pk-2 l-1l-1,k-2
l-1
【0029】図10は4つの行(0−3)と8つの列(0
−7)を有する8ビット桁上げ発生器の実施例である。
行1−3はそれぞれ7、6、4節点プロセッサ10からな
り、各々のタイプは図9に示す通りである。行0はG0,
k=Ak、Bk を形成しライン11のプロセッサ10に供給す
る{Ak、Bk}の対応する演算数ビット対を入力端子30
1で受け取るように配置された8つのANDゲート20か
らなる。行1のプロセッサ10はまた入力ライン 305のP
7 を通して7つの伝ぱん変数Pを受け取る。伝ぱん変数
Pk は行1、ライン13の列kにあるプロセッサ10にライ
ン12により供給されるG0,k-1 と共に入力として与えら
れる。1、kにあるプロセッサ10の出力は次の通りであ
る。
【0030】G1,k=G0,k+PkG0,k-1 同様に行2のプロセッサ10には行1の出力が入力ライン
307からP76を通した伝ぱん変数P21と共に加えられ
る。2、kにあるプロセッサ10の出力は次の通りであ
る。
【0031】G2,k=G1,k+PkPk-1G1,k-2 同様に3、kのプロセッサ10は低レベル・プロセッサと
入力ライン 309に供給されるP4P3P2P1からP7P6P
5P4の伝ぱん変数により与えられる入力から次の出力を
生成する。 G3,k=G2,k+PkPk-1Pk-2Pk-3G2,k-4 桁上げ出力C0 はライン 303の位置0、0のANDゲー
ト20から直接得ることが出来、C1 は位置1、1のプロ
セッサ10の出力ライン14から、C2とC3はそれぞれ一
2、2及び2、3のプロセッサ10から、そしてC4化ら
7は行3のプロセッサ10の出力から得ることができ
る。
【0032】図6、7、8の流れ図及び図10の桁上げ発
生器 300に関して、8ビット桁上げ発生器 300のアーキ
テクチャと構成は各々の演算数のビット数が倍増される
度に追加の行を無限に追加することで拡張することがで
きることが明かである。各々の行で必要な並列プロセッ
サ数を表1にまとめる。
【0033】
【表1】
【0034】図11は図10の8ビット桁上げ発生器に伝ぱ
ん変数を供給するのに適した8ビット伝ぱん発生器を実
現する論理回路である。伝ぱん発生器 400は入力演算数
ビット対{Ak、Bk}から次のように伝ぱん変数P1、
P2、・・・P7を形成するのに使用する7ORゲート40
を行0に含んでいる。Pk=Ak+Bk 集合{Pk}は出力ライン307上で得ることができる。次
の行はANDゲート50からなっている。行1のk番目の
ANDゲートは行0のk番目及びk−1番目の出力を受
け取り、その出力 307でPkPk-1を形成する。同様に行
2のk番目のプロセッサは行1のk番目とk−2番目の
出力を受け取って出力 309にもたらされる{PkPk-1P
k-2Pk-3}の伝ぱん変数の集合を形成する。
【0035】プロセッサ 400の構成とアーキテクチャは
図11の構造を左に拡張し、入力演算数ビット数が倍増さ
れる度にANDゲート50の追加行を追加することにより
拡張して更に多くの演算数ビットに対応することができ
る。行毎に必要なゲート数を表2に示す。
【0036】
【表2】
【0037】図12は2つの演算数ビットの完全ビット和
(Ak、Bk)及び排他的OR(EOR)ネットワーク6
1、62からなる繰入れビットCkを形成する論理ネット
ワーク60を示す。EORネットワーク61はモジューロ2
【0038】
【数8】
【0039】を形成し、ネットワーク62はその出力に以
下をもたらす。
【0040】
【数9】
【0041】さきに説明した加算ネットワーク60、桁上
げ発生器 300及び伝ぱん発生器 400に基づいて完全並列
2進加算器を次のように2つのNビット演算数を受け取
るように構成した図13に示すように定義することができ
る。 A=A0A1A2・・・AN-1 B=B0B1B2・・・BN-1 演算数AとBは伝ぱん発生器 400、桁上げ発生器 300及
び加算ユニット 500の入力に加えられる。伝ぱん発生器
400と桁上げ発生器 300は先の説明にしたがって構成す
る。加算ユニット 500はN1ビットプラスに繰入れビッ
トEORネットワーク60をそれぞれ図12で説明したよう
に含んでいる。各々のEORネットワーク60への繰入れ
は桁上げ発生器 300の適切な出力端子により提供され
る。伝ぱん変数は2つの入力演算数A、Bにより決定さ
れるように伝ぱん発生器 400により桁上げ発生器 300に
与えられる。加算ユニット 500の出力は次の通りであ
る。S=S0S1・・・SN-1
【0042】
【数10】
【0043】桁上げCN-1 は出力で、演算数A、Bのビ
ット数を拡張する際に使用するあふれビットとして得る
ことができる。桁上げ発生器 300の実施例ではモジュラ
ー中間規模集積回路技術を使用する。例えば図8の流れ
グラフを点線で示すように7つの小部分に適切に小区分
することで、回路実現へのモジュラー構築ブロック方法
のベースを形作る4ビットワイドで2レベル深さのモジ
ュールを定義することができる。4ビットワイドの区分
は任意的なもので、説明するモジュラー性の原理の説明
を可能にする最低レベルのモジュラー化を示すもので、
主に説明のために選んだものである。
【0044】図14は図9に示したタイプの2層のm節点
プロセッサ10からなるmビットワイド、2レベルモジュ
ール 500のブロック図である。5組のm入力ラインが収
納されており、入力 501は対応するlレベルの出力の
{Gl,k}を受取り、入力503は2l-1 で置き換えた{G
l,k-2 l-1}のlレベル出力を受取り、入力505、507はそ
れぞれ次の条件付き桁上げ項を受取る。
【0045】
【数11】
【0046】入力509は(l+1)番目の内層出力項の
(2lで置換した){Gl+1,k-2 l}を受け取る。出力ラ
インは2組あり、出力 511は第1の層の出力項{Gl+1,
k} に対応し、出力 513は第2層(ないしモジュール)
の出力の{Gl+2,k}に対応する。図15は4ビットワイ
ド(m=4)2層モジュール 500を使用した桁上げ発生
器300の相互接続図である。各々の論理装置 520は{G
k} を形成するのに使用する1組の4ユニット20AND
ゲートを示す。
【0047】図15は、ゼロレベル(l=0)入力の{G
0,k} から第2レベル(l=2)出力{G2,k}に関し
た行列式を示す図16及び第2レベル出力から第4レベル
出力の{G4,k} に関した行列式を示す図17を見ると理
解できる。図16では2つの16× 16行列(P1 (16)、P2
(16))がそれぞれ、16の4 × 4小行列に区分されてい
る。各々の非ゼロ値小行列は、 500モジュール内で行わ
れる単層4ビットワイド演算に対応する。右側の行列の
小行列は第1層の演算に対応し、左側のものは先述した
第2層の演算に対応する。同様に図17の右側の集合の小
行列は第3レベル(l=3)演算に対応し、左側の集合
は第4レベル(l=4)演算に対応する。それらの式は
個々のモジュール 500の入力をその出力に関連付けるこ
とで相互接続情報をもたらす。
【0048】例えば座標(1、3)で識別される図15の
第1の行のモジュール 500の入出力関係を考える。 G2,8-11 = P2.32*P1.21G0.0-3+P2.32*P1.22G0,4
-7+P2,33P1.32G0,4-7+ P2,33G0,8-11 P2.32*P1.21=0なので
【0049】
【数12】
【0050】なぜならば
【0051】
【数13】
【0052】後者の式はモジュール 500(1,3) への必要
な入力を表す。右側の最初の式は2つだけの非ゼロ積の
【0053】
【数14】
【0054】を示し、従って
【0055】
【数15】
【0056】が入力として必要となる。第2の式は
【0057】
【数16】
【0058】を必要とし、第3の式は入力4重項[G0,
8 G0,9 G0,10 G0,11]Tおよび3重項
【0059】
【数17】
【0060】を必要とする。要約すると図15に示すよう
に必要入力はG0,8-11,G1,6-7,G0,7および
【0061】
【数18】
【0062】となる(図15に関して出力キャリアの{C
k}は{G4,k} と等しいことに留意する)。モジュー
ル 500(2,4)に対する同様の解析から次の式が生じる。
【0063】
【数19】
【0064】図15に示すモジュール 500(2、4)に対
する相互接続が生じる。図18は3層の8ビットワイド2
層モジュールを用いた64ビット桁上げ発生器の簡潔な相
互接続図である。4ビットワイド2層の例で示した同一
方法で桁上げ発生器 300行列を区分することで相互接続
の詳細を得ることができる。しかし64ビットの場合は、
図18の3つの層に対応する3組の式を使用する必要があ
る。わずかに異なるモジュラー製を使用した別の実施例
を図19に示す。説明のため、24ビット加算器ネットワー
クを示しており、各々が図1で説明したように[(A0-
7,B0-7)(A8-15,B8-15),(A16-23,B16-2
3)]の2つの8ビット演算数を受け取り、各々が2つ
の条件付き8ビット和(SE,SN)を出力する3つの8
ビット条件付き加算器ネットワークと、2状態桁上げ信
号により制御される各々の条件付き加算器ユニットのS
EないしSNを選択するマルチプレクサ・ユニット 160
と、各々が2つの8ビット演算数を受け取り、その出力
で最高桁上げを例えばその関連2:1MUX160を制御
する(C0、C1、・・・C7)の可能な集合から生成す
る桁上げ発生器 400からなる桁上げ及び伝ぱん生成ユニ
ット 600からなる。最低次(右端)MUX 160はモジュ
ラー製の考察から各々の8ビット条件付き加算器 141は
関連MUX 160でパッケージする必要があることがあ
り、その場合その制御は入力桁上げの欠如によりSN 出
力は常に有効となるので低く設定されることを示すため
に点線で示していることに留意する。事実上、ユニット
141、160、600 の3つの垂直グループ化の各々は、モジ
ュラー加算器と繰出し発生器 700を構成しており、演算
数ビットと繰入れビットの2つのその関連フィールドを
必要とする。それらのユニットのタンデムな集合により
完全な加算器ができる。出力和は25ビット和S0-7,S8
-15,S16-23,S24荷より示される。
【0065】繰入れビット(C−1,C7,C15)をユ
ニット 600に収納するため、基本行列と流れ図に若干の
変更を加える必要がある。図19の右端に示したユニット
600を考えると、必要な行列は次の形式を持つ。
【0066】
【数20】
【0067】C-1の繰入れがゼロ(存在しない)なら
ば、第1の行と列はゼロとなることに留意する。またP
0=C-1であるので、C-1=0 ならばP0とその全ての
積項は消去する。従ってC-1=0の場合、ネットワーク
300、400は先のように定義される。行列の形式の場合C
-1=1ならば、桁上げ発生器ネットワーク 300と伝ぱん
発生器 400は先述のように同一論理構造を持つ。例えば
図20は、図19で8ビット条件付き加算器ユニット 141に
付いて示したように4ビット条件付き加算器ユニットを
連結するのに適した入力桁上げビットC-1を有する4ビ
ット桁上げ発生器 300に対応する流れ図を示している。
出力桁上げC3 を生成するのに必要なステップは実線で
示し、点線はさきに示した他の可能なしかし必要としな
い処理ステップを示している。これは処理モジュール10
を用いた図21に示す繰出し発生器構造300'を示すもので
ある。
【0068】図22、23はそれぞれ図19の加算器ネットワ
ークで使用した8ビットユニットの簡略化した繰出し発
生器構造 300の対応する流れ図である。図24は図19の8
ビット加算器モジュール 700で使用するのに適した伝ぱ
ん発生器400'の簡潔なブロック図である。4ビット繰出
し発生器300'で必要とされる伝ぱん項の小集合の(P3
P2P1P0、P3P2、P3、P1)もこのユニットから得
ることができる。図19の全ての連結ユニット 600には同
一流れ図と論理ネットワークを適用することができる。
しかし図19の右端の最下位ユニット 600の場合は、先の
段階からの繰入れは存在しないのでC-1=0である。他
の段階に付いては、先の節の繰出しを繰入れとして使用
することができる。図19に例を示すように拡張演算数精
度を増すためにモジュラー桁上げ伝ぱんの概念は、ユニ
ット 600、160、141を所望の語長に実施することにより
4、8、16などのどの様な大きさのモジュラービットの
使用にも適用することができる。また所定の 700セクシ
ョンの関連ユニット 600、160、141は同一語長であるが
それとタンデムに接続した他の 700ユニットでは必ずし
も同一語長ではない混合システムを構成することもでき
る。当業者には以上あるいは同様の変形が明かとなろ
う。
【図面の簡単な説明】
【図1】従来の4ビットスライス条件付き総和加算器の
論理図である。
【図2】従来の4ビットスライス・キャリールックアヘ
ッド(CLA)加算器の論理図である。
【図3】従来の4グループCLA発生器の論理図であ
る。
【図4】フル・CLAを使用した従来の64ビット加算器
のブロック図である。
【図5】4グループCLA発生器を使用した従来の16ビ
ット条件付き総和加算器のブロック図である。
【図6】4ビット桁上げ過程の流れ図である。
【図7】8ビット桁上げ過程の流れ図である。
【図8】16ビット桁上げ過程の流れ図である。
【図9】一般的な桁上げ発生器ノード実施の論理図であ
る。
【図10】8ビット桁上げ発生器のブロック図である。
【図11】8ビット伝ぱん発生器の論理図である。
【図12】桁上げ入力を有する1ビット加算器の論理図で
ある。
【図13】完全並列加算器のブロック図である。
【図14】mビット2レベル桁上げ発生器モジュールを示
す図である。
【図15】4ビット2レベル・モジュールを使用する16ビ
ット桁上げ発生器の相互接続を示す図である。
【図16】4ビット2レベル・モジュールで使用する16ビ
ット第1、第2レベル桁上げ生成行列の区分を示す図で
ある。
【図17】4ビット2レベル・モジュールで使用する16
ット第3、第4レベル桁上げ生成行列の区分を示す図で
ある。
【図18】8ビット2レベル・モジュールを使用する64
ット桁上げ発生器の相互接続を示す図である。
【図19】他の実施例のブロック図である。
【図20】4ビット桁上げ発生器に対応する流れ図であ
る。
【図21】繰り出し発生器の構造を示す図である。
【図22】8ビットユニットの簡略化下繰り出し発生器の
対応する流れ図である。
【図23】8ビットユニットの簡略化下繰り出し発生器の
対応する流れ図である。
【図24】伝ぱん発生器の簡潔なブロック図である。
【符号の説明】
150:マルチプレクサ 300:桁上げ発生器 400:伝ぱん発生器 500:加算ユニット

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 (a) 第1と第2のNビット2進演算数を
    受け取る手段と、(b) 前記第1と第2の演算数の対応す
    るビットの対に対する並列論理演算により条件つき桁上
    げ伝ぱん項を生成する桁上げ生成論理ネットワークアレ
    ィと、(c) i) 前記第1と第2の演算数の対応するビッ
    トの前記対に対する並列演算により無条件桁上げ項を生
    成する論理ネットワークと、ii) 前記無条件桁上げ項を
    受け取って演算し、最終和桁上げ項の並列集合を生成す
    る論理ネットワークアレィとからなる最終和桁上げビッ
    トを生成する桁上げ発生器論理アレィとからなり、マル
    チビット2進加算器で使用する並列桁上げ発生ネットワ
    ーク。
  2. 【請求項2】 (a) 第1と第2と第3の入力集合を有
    し、前記第1と第2の入力集合は第1と第2の入力演算
    数を受け取り、前記第3の入力集合は並列桁上げ生成ネ
    ットワークの出力に接続されて並列桁上げビットを受け
    取り入力演算数の和を生成する並列加算装置と、(b) 第
    1と第2の演算数を有し、その出力端子で桁上げビット
    の並列集合を生成する並列桁上げ生成ネットワークとか
    らなる並列加算器ネットワーク。
  3. 【請求項3】 (a) それぞれ第1と第2と第3の入力を
    有し、前記第1と第2入力は対応する次の低レベルの出
    力から別個の部分桁上げ項に接続され、前記第2の入力
    は次の低次層出力から関連置換部分桁上げ項に接続さ
    れ、前記第3の入力は次の低次の層の出力から関連条件
    つき桁上げ項に接続され、各々の出力で次のレベルの部
    分桁上げ項を生成する同等の数の第1と第2レベル桁上
    げ発生器プロセッサと、(b) 前記第1レベルの桁上げ発
    生器プロセッサの各々の前記出力を対応する前記第2レ
    ベルプロセッサの第1の入力に接続する手段と、(c) 前
    記第1と第2レベルプロセッサ出力を外部端子の第1の
    集合に接続する手段と、(d) 前記第1と第2レベルプロ
    セッサの第2と第3の入力を外部端子の第2の集合に接
    続する手段と、(e) 前記ネットワークとユニット化構造
    としてサポートする手段とからなる桁上げ発生モジュー
    ル。
  4. 【請求項4】 (a) 2フィールドの演算数ビットと入力
    桁上げビットを受け取って和と出力桁上げを生成すると
    ともに、条件つき総和加算器と、入力桁上げにより制御
    される条件つき総和選択手段と、前記出力桁上げを前記
    演算数ビットと入力桁上げビットから生成する並列桁上
    げ発生器装置とを備えたモジュラー加算器と繰り出し発
    生ユニットと、(b) 先行するモジュラー加算器と繰出し
    発生器の繰出しが表明されたときに選択される繰入れに
    基づいて前記条件つき和の制御入力に前記繰出しが接続
    され、さもなくば他の条件つき和を選択し、前記選択和
    と最終繰出しは所望の加算器出力を示すようにタンデム
    に接続された複数の前記モジュラー加算器と繰出し発生
    器ユニットとからなるマルチビット加算器ネットワー
    ク。
  5. 【請求項5】 (a) 前記桁上げビットを生成するのに必
    要な最小のプロセッサ要素集合を備えた演算数ビットと
    繰入れビットの2つの集合から出力桁上げビットを生成
    し、関連した伝ぱん変数の最小集合により制御される簡
    略化桁上げ発生器と、(b) 前記簡略化桁上げ発生器を制
    御するのに必要な最小の伝ぱん変数の集合を生成するの
    に必要な最小の論理要素集合を備えた演算数ビットと繰
    入れビットの2つの集合から伝ぱん制御変数を生成する
    簡略化伝ぱん発生器とからなるモジュラーマルチビット
    加算器ネットワークで使用するモジュラー桁上げ伝ぱん
    ユニット。
JP1673593A 1992-01-06 1993-01-06 並列桁上げ発生ネットワーク、並列加算器ネットワーク、桁上げ発生モジュール、マルチビット加算器ネットワークおよびモジュラー桁上げ伝ぱんユニット Pending JPH06236255A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US82030492A 1992-01-06 1992-01-06
US820304 1992-01-06

Publications (1)

Publication Number Publication Date
JPH06236255A true JPH06236255A (ja) 1994-08-23

Family

ID=25230433

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1673593A Pending JPH06236255A (ja) 1992-01-06 1993-01-06 並列桁上げ発生ネットワーク、並列加算器ネットワーク、桁上げ発生モジュール、マルチビット加算器ネットワークおよびモジュラー桁上げ伝ぱんユニット

Country Status (2)

Country Link
JP (1) JPH06236255A (ja)
GB (1) GB2263002B (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000054275A (ko) * 2000-05-30 2000-09-05 장주욱 입력에 따라 능동적으로 재구성 가능한 고속 병렬 덧셈기
KR20210002521A (ko) * 2018-04-20 2021-01-08 어드밴스드 마이크로 디바이시즈, 인코포레이티드 그래픽 처리 유닛에 대한 고성능 희소 삼각 풀이

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2365636B (en) 2000-08-04 2005-01-05 Automatic Parallel Designs Ltd A parallel counter and a multiplication logic circuit
GB2373602B (en) 2001-03-22 2004-11-17 Automatic Parallel Designs Ltd A multiplication logic circuit
GB2373883A (en) * 2001-03-27 2002-10-02 Automatic Parallel Designs Ltd Logic circuit for performing binary addition or subtraction
US7139789B2 (en) 2001-09-24 2006-11-21 Broadcom Corporation Adder increment circuit
US7260595B2 (en) 2002-12-23 2007-08-21 Arithmatica Limited Logic circuit and method for carry and sum generation and method of designing such a logic circuit
US7042246B2 (en) 2003-02-11 2006-05-09 Arithmatica Limited Logic circuits for performing threshold functions
US7308471B2 (en) 2003-03-28 2007-12-11 Arithmatica Limited Method and device for performing operations involving multiplication of selectively partitioned binary inputs using booth encoding
WO2004104820A2 (en) 2003-05-23 2004-12-02 Arithmatica Limited A sum bit generation circuit
US7313586B2 (en) 2004-03-05 2007-12-25 Broadcom Corporation Adder-subtracter circuit

Family Cites Families (3)

* 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
US4956802A (en) * 1988-12-14 1990-09-11 Sun Microsystems, Inc. Method and apparatus for a parallel carry generation adder
DE69228140T2 (de) * 1991-04-08 1999-08-19 Sun Microsystems Verfahren und Anordnung zur Erzeugung von Übertragsignalen

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000054275A (ko) * 2000-05-30 2000-09-05 장주욱 입력에 따라 능동적으로 재구성 가능한 고속 병렬 덧셈기
KR20210002521A (ko) * 2018-04-20 2021-01-08 어드밴스드 마이크로 디바이시즈, 인코포레이티드 그래픽 처리 유닛에 대한 고성능 희소 삼각 풀이
JP2021513172A (ja) * 2018-04-20 2021-05-20 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッドAdvanced Micro Devices Incorporated グラフィックス処理ユニット上の高性能スパース三角解

Also Published As

Publication number Publication date
GB2263002B (en) 1995-08-30
GB9227180D0 (en) 1993-02-24
GB2263002A (en) 1993-07-07

Similar Documents

Publication Publication Date Title
US5257218A (en) Parallel carry and carry propagation generator apparatus for use with carry-look-ahead adders
JP3244506B2 (ja) 小型乗算器
US4153938A (en) High speed combinatorial digital multiplier
KR100308723B1 (ko) 올림수-보존 가산기회로 및 복수의 이진 데이터 비트 합산 방법
US7308471B2 (en) Method and device for performing operations involving multiplication of selectively partitioned binary inputs using booth encoding
KR20010040263A (ko) 고속의 정규 곱셈기 구조
US3795880A (en) Partial product array multiplier
JPH0456339B2 (ja)
JPH06236255A (ja) 並列桁上げ発生ネットワーク、並列加算器ネットワーク、桁上げ発生モジュール、マルチビット加算器ネットワークおよびモジュラー桁上げ伝ぱんユニット
US5146421A (en) High speed parallel multiplier circuit
US6065033A (en) Wallace-tree multipliers using half and full adders
US5497343A (en) Reducing the number of carry-look-ahead adder stages in high-speed arithmetic units, structure and method
US7024445B2 (en) Method and apparatus for use in booth-encoded multiplication
US5586071A (en) Enhanced fast multiplier
JP3256251B2 (ja) 乗算器
JPH09222991A (ja) 加算方法および加算器
US5159568A (en) High speed parallel multiplier circuit
US5883825A (en) Reduction of partial product arrays using pre-propagate set-up
US4979018A (en) Semiconductor device with parallel multiplier using at least three wiring layers
GB2226165A (en) Parallel carry generation adder
JPH0370416B2 (ja)
JPH11282651A (ja) 並列乗算器
Lin Trading bitwidth for array size: a unified reconfigurable arithmetic processor design
JPH02115929A (ja) 乗算器
US5309384A (en) Digital multiplier with carry-sum input