JP2592584B2 - 加算装置 - Google Patents

加算装置

Info

Publication number
JP2592584B2
JP2592584B2 JP6297258A JP29725894A JP2592584B2 JP 2592584 B2 JP2592584 B2 JP 2592584B2 JP 6297258 A JP6297258 A JP 6297258A JP 29725894 A JP29725894 A JP 29725894A JP 2592584 B2 JP2592584 B2 JP 2592584B2
Authority
JP
Japan
Prior art keywords
parity
bits
operator
bit
module
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
Application number
JP6297258A
Other languages
English (en)
Other versions
JPH07200331A (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.)
Bull SA
Original Assignee
Bull SA
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 Bull SA filed Critical Bull SA
Publication of JPH07200331A publication Critical patent/JPH07200331A/ja
Application granted granted Critical
Publication of JP2592584B2 publication Critical patent/JP2592584B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime 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/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; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/09Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/09Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
    • H03M13/098Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit using single parity bit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/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

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、特にコンピュータのプ
ロセッサにおける加算器によって行なわれる加算結果に
関連するパリティビットの計算に関するものである。
【0002】
【従来の技術】一般に、ワードや2進数に関連するパリ
ティビットは、それらのワードや数が、処理回路におけ
る操作中にエラーとならなかったかどうかを検出できる
ようにするために使用される。
【0003】1つのワードに関連しているパリティビッ
トは通常、ワードを構成するあらゆるビットの“排他的
OR”型の演算による組合せの結果と定義される。した
がって、パリティビットはワード中に含まれる“1”の
数が奇数個でならば“値1”をとる。このように、グル
ープ中の唯1つのビットあるいは奇数個のビットがエラ
ーである場合には、パリティビットは、本来もつはずの
値の補数値となる。したがって、エラーは、ワードを形
成するビットに基づいて計算される実際のパリティとパ
リティビットの値との単純な比較によって検出すること
ができる。エラーの検出率を大きくするためには、ワー
ドをmビットからなるグループK個に分割するのが普通
である。この場合、各グループが1つのパリティビット
に関連付けられる。したがって、1つのワードを複数の
パリティビットに関連付けることもできる。たとえば、
32ビットの1つのワードは8ビットのグループ4個に
分割することができ、各グループは1つのパリティビッ
トに関連付けられる。この方法によって、それぞれのグ
ループに含まれるさまざまなエラーを検出することがで
きる。
【0004】1つあるいは複数のワードに関する演算が
行なわれる場合、この演算の結果も、1つあるいは複数
のパリティビットに関連付けられる。特に加算演算の場
合がそうである。
【0005】加算結果に関連する1つあるいは複数のパ
リティビットは、その結果に基づいて直接計算すること
ができる。ただしこの場合、結果のパリティビットは、
結果自体が出た後にならないと得ることができず、その
ことから、結果とそれに関連するパリティビットを処理
の続きに使用できるタイミングが遅れてしまう。
【0006】32あるいは64ビットの加算器を備えた
最新型の演算論理機構において、エラー検出の問題は次
第に重大なものとなっている。エラーを効果的に検出す
る方法は、その計算とは別に和のパリティビットを予測
し、次に得られた結果から直接パリティビットを計算す
ることにある。これらのビットの比較によって、場合に
よっては、加算器の不適切な作動を示すエラー信号を発
生することができる。さらにこの場合、遅くとも加算結
果が使用可能になる時点では、オペランドに基づいて予
測されたパリティビットを使用できることが望ましい。
【0007】和のパリティビットの予測の問題は、数多
くの文献のなかで扱われ、特殊な場合における解決策が
与えられている。たとえば、IBM刊行のTechnical Di
sclosure Bulletin 、第23巻、1981年5月第12
号、p.5498〜5502に記載されている。
【0008】同様に“Parity prediction circuit for
adder/counter −”と題する米国特許第4224680
号は、けた上げ伝播型加算器及びカウンタに適した実施
例を提案している。ここで提案された回路は、カスケー
ドに接続された多数の段PP0〜PPnを使用してい
る。各段は以下のような伝送ビットxiとyiを供給す
る。
【0009】
【数7】
【0010】ここで、
【0011】
【数8】
【0012】ai とbi はオペランドのビット、
【0013】
【数9】
【0014】は“排他的OR”演算、
【0015】
【数10】
【0016】は“排他的OR”の補数演算であり、また
記号* は補数化演算を示している。
【0017】次に、和のパリティビットは、xn
n ,Cin,Pa,Pbに対しての論理演算を行なう出
力段PPoutによって得られる。ここで、Cinは入力
のけた上げ数であり、PaとPbはオペランドのパリテ
ィビットを示している。
【0018】しかしながら、この解決策は、けた上げ先
見型加算器のような高速加算器と組合せると十分なもの
とはいえない。なぜならこの場合、パリティビットは加
算結果が出た後に初めて得られるので、処理の続きが遅
れてしまうからである。
【0019】“2つの数の和のパリティビットの計算装
置”題する欧州特許第329545号は、けた上げ先見
型加算器のような高速加算器にも適応された実施例を提
案している。この実施例においては和のパリティビット
は、和のワードではなくけた上げワードについてのパリ
ティの計算によって得られる。
【0020】けた上げ先見型加算器によって和のビット
の前にあらゆるけた上げビットを得ることができる。し
たがってこの特許は、けた上げビットの計算が行なわれ
たら、それに関連するパリティビットを推算するのに必
要な時間が最大限短縮されるような解決策を提案してい
る。この装置は以下の2段階で計算を行なう。
【0021】−オペランドのみに依存している変数を入
力変数として使用する第一段階 −けた上げビットを介在させる高速の第二段階 第一段階は、加算器の先見(ルックアヘッド)回路によ
ってけた上げ数の計算中に行なわれる。またこの計算の
相対的な遅さを考慮して、この第一段階は最大限の準備
計算が行なわれるように設計され、その結果第二段階は
簡略化でき、したがって高速になる。
【0022】特定の条件においては、この実施例によっ
て、和に関連する1つあるいは複数のパリティビットを
和自体の前に得ることもできる。
【0023】ただし、この装置はかなり複雑であり、そ
の実行には数多くの論理回路を必要とするという欠点を
もっている。さらに、その構造上、たとえばCMOSテ
クノロジーにおいてしばしばみられる“データ経路”型
の規則正しい構造で物理的に実施するには向いていな
い。
【0024】
【発明が解決しようとする課題】したがって本発明の目
的は、先取りによるけた上げ計算という同じ原則と上述
の2つの段階は残しながらも、上記の特許に記載されて
いる装置の設置面積と速度の性能を最適化することにあ
る。
【0025】本発明はまた、この装置における論理層と
ゲートの数を減らすことを目的とする。
【0026】また“データ経路”型の規則正しい構造に
もこの装置を設置できるように適合させることを目的と
する。
【0027】さらに、従来の技術によるパリティの計算
用ブロックとけた上げ先見ブロックを合体させることを
目的とする。
【0028】以上に加えて、本発明は、けた上げ先見加
算器の構造の簡略化を可能にする。
【0029】本発明は、加算に参加し、たとえば別の加
算器からくるあるいは実施されるファンクションの修正
に役立つビットである、加算器の入力けた上げビットc
inが、計算中にのみ得ることができるオペランドのビッ
トの他のグループに対応する入力けた上げビットとは違
って、計算開始前でも使用可能であることの確認から出
発する。したがって、結果の下位ビットから形成される
グループに関連するパリティビットを計算するための回
路は、装置を遅らすことなく、演算の途中で、すでに非
常に早い時期にこの入力けた上げ数を介在させることが
できる。したがってこれらの回路は、他のグループに関
連するパリティビットを計算する回路に比べて簡略化さ
れた構造をもつことができる。こうした簡略化の結果、
他のグループの入力けた上げビットci,1 が、別個の予
測回路を必要とせずに非常に簡単に推論できることがわ
かるだろう。
【0030】本発明によれば、2つの2進数を加算する
加算装置であって、2つの2進数(A,B)を加算する
第1の加算手段(10' )を有しており、K個(K≧
2)のグループを使用し、各グループは前記2進数
(A,B)から引き出された連続するm個のビットから
なり、前記2進数はビットai,j ,bi,j の形に形成さ
れており、ここでi={1,2,…,K}であってK個
のグループのうち1つのグループを表しており、i=1
が下位mビットに対応しており、また、j={1,2,
…,m}であって1つのグループの1つのビットの重み
を表しており、前記第1の加算手段(10' )は、各値
i,j 及びgi,j を表す信号を発生し、更に前記第1の
加算手段に接続され、ビットci,j の形のけた上げワー
ド(C)を発生するけた上げ手段(60)を有しており
ここでc1,1 は加算の第1の入力けた上げビットであ
り、ci,1 (i={2,…K})は第2の入力けた上げ
ビットであり、更に前記第1の加算手段及び前記けた上
げ手段に接続され、ビットsi,j として形成される結果
(S)を生成する第2の加算手段(30;31' ,32
−34)を有しており、前記第1の加算手段の前記信号
の値は、i≠1且つj={1,2,…,m}の場合につ
いて、以下の式、
【数10】 また、i=1の場合については、以下の式、
【数11】 に従って計算され、前記けた上げ手段は、前記値p1,1
を受け取ることなく前記信号(pi,j ,gi, j )を受け
取り、前記結果(S)は前記第2の加算手段により、以
下の式、
【数12】 から生成されることを特徴とする加算装置が提供され
る。
【0031】本発明の別の特徴によれば、2つの2進数
(A,B)を加算する加算装置であって、けた上げワー
ド(C)を発生し結果(S)を生成する手段を有してお
り、K個(K≧2)のグループを使用し、各グループは
前記2進数(A,B)から引き出された連続するm個の
ビットとけた上げワード(C)と加算結果(S)とから
なり、これらがビットai,j ,bi,j ,ci,j ,si,j
の形にそれぞれ形成されており、ここでi={1,2,
…,K}はK個のグループのうちの1つのグループを表
しており、i=1が下位mビットに対応しており、j=
{1,2,…,m}は1つのグループの1つのビットの
重みを表しており、c1,1 は加算の第1の入力けた上げ
ビットであり、ci,j (i={2,…,K})は第2の
入力けた上げビットであり、前記手段は、i≠1且つj
={1,2,…,m}の場合について次の値
【数13】 を計算し、またi=1の場合について次の値
【数14】 を計算し、前記加算装置は更に、前記計算された値及前
記各2進数(A,B)のK個のパリティビットを受け取
り、前記結果(S)から引き出されたK個のグループの
K個のパリティビット(PSi )を計算するパリティ発
生回路(50' ,60)を有し、該パリティ発生回路
は、i=1の場合のGi,j の値であるG1,j 、即ちG
1,j =g1,j +p1,j ・G1,j-1 (j={2,…,
m},G1,1 =g1,1 )を計算する第1の演算子(61
a)と、
【数15】 を計算する第2の演算子(61b)とを有し、ここでP
1 及びPB1 はi=1の場合の前記パリティビットP
i 及びPBi の値であり、Y1 はi=1の場合の前記
パリティビットPSi のパリティビットPS1 に対応す
る値であることを特徴とする加算装置が提供される。
【0032】
【0033】
【0034】
【0035】
【0036】
【0037】
【0038】
【0039】
【0040】
【0041】
【0042】
【0043】
【0044】
【0045】
【0046】
【0047】本発明の別の特徴によれば、下位グループ
以外のグループについて第三演算子によって使用される
最下位けた上げ数ci,1 ((i=[2, 3, ・・・ K])
については、第一演算子において決定される。
【0048】−(i=2)については、下位mビットで
構成されたグループから計算される値G1,m に等しくな
るように −(i=[3, 4, ・・・,K])については、第一演算子
から発生する出力P i-1,m とGi-1,m 及び、すぐ下の重みのグループの入力
けた上げ数ci-1,1 を第三タイプのモジュール(M3)
の出力に適用することによって。ここでモジュールM3
の出力は以下の値を与える。
【0049】ci,1 =Gi-1,m +Pi-1,m ・c
i−1,1 本発明の別の特徴によれば、下位mビットで構成される
グループの処理を行なう第一演算子の部分は、第一タイ
プのモジュール(M1)及び第三タイプのモジュール
(M3)を使用し、第一タイプのモジュールは4つの入
力Px,Gx,Py,Gyについて演算を行ない、以下
の関係式によって入力と結びついている2つの出力P
z,Gzを与える。
【0050】Pz=Py・Px Gz=Gy+Py・Gx 第三タイプのモジュールは3つの入力Px,Gx,cy
について演算を行ない、以下の関係式を満たす出力cz
を与える。
【0051】cz=Gx+Px.cy これらのモジュールは以下の回帰法にしたがって接続さ
れる。
【0052】a)j=1については、直接G1,1
1,1 が得られる。
【0053】b)j=2については、第一のモジュール
M3(1' )がpi,2 ,g1,2 及びg1,1 について演算
を行ない、G1,2 を与える。
【0054】c)3と4の間のjについては、第二のモ
ジュールM1(2' )がp1,3 ,g1,3 及びg1,4 につ
いて演算を行ない、第三のモジュールM3(3' )がG
1, 2 とp1,3 ,g1,3 について演算を行ない、G1,3
与え、第四モジュールM3(4' )がG1,2 及び第二モ
ジュール(2' )の出力について演算を行ない、G1,4
を与える。
【0055】d)1と2n との間のjについて最初の接
続が行なわれると、2n +1と2n+1 との間のjについ
ての接続は、この最初の接続にしたがって配置されるが
上位に向かって2n 桁ずらされたモジュールM1を付け
加えることによって得られる。こうして新しい出力が与
えられ、補足的な第三タイプ(M3)の2n 出力は、こ
の最初の接続からまたそれぞれが新しい各出力から出さ
れた最上位G1,2 nの出力について演算を行なうために
配置される。
【0056】本発明の別の特徴によれば、下位mビット
で構成されたグループの処理を行なう第二演算子の部分
(61b)は、入力において、第一演算子のG1,m-1
での出力G1,j 、下位mビットで構成されるオペランド
のグループに関連するパリティPA1とPB1、さらに
入力けた上げ数c1,1 を受け取るツリー形に配置された
“排他的OR”タイプの論理ゲートで構成されている。
これらの信号は、できるだけ2つづつとられ、論理ゲー
トは以下の計算を行なうように配置される。
【0057】
【数16】
【0058】本発明の別の特徴によれば、第一段(1
0' )は、この装置に関連する加算器と共通のものでも
別のものでもよい。
【0059】
【実施例】添付の図面を参照し、例示的なものとして、
以下にその他の特徴及び利点を説明する。
【0060】以下の説明を通して、各図のなかの同一エ
レメントは、同じ参照番号で示される。
【0061】図面を参照して本発明を説明する前に、本
発明の理論的基礎を示しておこう。以下の説明を通し
て、読者は上述の特許EP329545を参照する必要
がある。この特許は従来の技術を詳しく説明していたも
のであるが、ここでは簡潔に記してみる。
【0062】一般に、それぞれ、ビットaN ,aN-1
・・・ ,ai ,・・・ ,a2 ,a1 及びbN ,bN-1 ,・・・
,bi ,・・・ ,b2 ,b1 で構成されているNビット
の2つの数AとBの和の計算は、けた上げビットci
形成されているけた上げワードC及びビットsi で形成
される和Sを生成する。ここで、数A,B,C,Sから
引き出された連続するmビットで形成され、それぞれビ
ットai,j ,bi,j ,ci,j 及びsi,j で構成されたグ
ループをみてみよう。iはグループの指数であり、場合
によっては後に下位グループと呼ばれることもある指数
1のグループは、ワードの下位mビットで構成されてお
り、jはそのグループにおけるビットの重みを示してい
る。
【0063】記数法を明確にするために、2つのオペラ
ンドAとBに対応する同等の2つのグループAiとBi
の加算のときに行なわれる演算を通常の形で記してみよ
う。この例ではグループはm=4ビットのサイズを有し
ている。
【0064】 i,1 はグループiの入力けた上げ数である。下位mビ
ット(i=1)で構成されるグループについては、c
i,1 はcinと指定される加算器のなかの入力けた上げ数
に等しい。けた上げ数ci,5 はすぐ上の重みのグループ
の入力けた上げ数ci+1,1 に等しい。上位mビットで構
成されるグループについては、ci,5 は加算器のオーバ
ーフロー変数に等しい。
【0065】今後は、グループiの指数は必要なときだ
け記される。
【0066】曖昧さをもたらさず理解を助ける場合に
は、指数はもはや、mビットのグループの内側でのビッ
トの重みと関連があるのではなく、あらゆるグループの
並置で形成される完全ワードの内側でのビットの重みと
関連するだろう。たとえば、変数xのi番目のグループ
のj番目のビットを指定するためには無差別にxi,j
るいはx(i-1)m+jと記すことができる。たとえば、グル
ープがm=8ビットのサイズをもっている場合には、オ
ペランドAの第二グループの第三ビットは、最も明確な
ものにしたがってa2,3 あるいはa1,1 と指定される。
特殊なグループへの所属が意味をもつものでない場合に
は、ai,3 あるいは単純にa3 と記すことができる。
【0067】従来の加算器のタイプは、けた上げワード
の先取り回路を使用している。このタイプの加算器は以
下の方程式にしたがって2つの数AとBのビットaj ,
j から計算される中間変数pj とgj を形成する第一
段を備えている。
【0068】
【数17】
【0069】ここで
【0070】
【数18】
【0071】は“排他的OR”演算を示している。
【0072】和の重みのビットjは、以下の方程式によ
って重みのけた上げ数cj から得られる。
【0073】
【数19】
【0074】一方、c1 =cinによって
【0075】
【数20】
【0076】となる。
【0077】このように、けた上げビットは、オペラン
ドのaj ,bj ビットのみに依存している変数pj ,g
j から少しづつ計算することができる。この計算は、以
下に記すけた上げ先取り回路によって行なわれる。この
とき、加算器は式
【0078】
【数21】
【0079】によって得られる和Sのビットsi の計算
用の最終段を備えている。
【0080】ここで、数A,B,Cから引き出された連
続ビットで形成され、それぞれビットaj ,bj ,cj
で構成されるグループをみてみよう。jはそのグループ
のビットの重みを示している。指数iのグループにおけ
る最下位けた上げビットをci,1 と表すことで、1より
大きいjについて以下のように表すことができる。
【0081】cj+1 =Gj +Pj ・ci,1 ここで、PとGj は以下の回帰式によって定められ
る。
【0082】Pj =pj ・Pj-1 ただしP1
=p1j =gj +pj ・Gj-1 ただしG1 =g1 これらの式によって、カスケードに接続された少数の論
理回路をもつけた上げ先取り回路をつくりあげることが
できる。この点に関しては、従来の技術から得られた図
3との関連で後述する。
【0083】パリティビットの問題に関しては、数は同
一サイズのmビットの複数のグループで形成されている
とみなされ、各グループには1つのパリティビットが関
連していることがわかった。
【0084】このように、オペランドAとB、けた上げ
ワードC、和Sはたとえば、それぞれグループA1,A
2,A3,A4、グループB1,B2,B3,B4、グ
ループC1,C2,C3,C4、グループS1,S2,
S3,S4で構成されている。各グループ、たとえばA
i には1つのパリティビット、たとえばPAi が結びつ
いている。
【0085】この説明のなかでは、パリティビットに関
しては単に、オペランド、けた上げワード、和の同等の
グループ、つまり同一の重みのビットで構成されたグル
ープだけを対象としていく。
【0086】それぞれが数A,B,Sから得られた同等
のグループに関連しているパリティビットをPAi ,P
i ,PSi によって表すと、以下の関係式が簡単に得
られる。
【0087】
【数22】
【0088】PCi は、加算のときに介在するけた上げ
ビットによって形成されるワードから引き出された指数
iのグループに関連するパリティビットである。先の式
によってPCi を得るためには、あらゆるけた上げ数を
入手しなければならないように見える。
【0089】しかしながら、理論上の計算によって、P
i は以下の形に置き換えることができることがわか
る。
【0090】
【数23】
【0091】ここで、ci,1 は指数iのグループの最下
位けた上げ数であり、Xi*はXi の補数である。また
【0092】
【数24】
【0093】ここで、変数Pi,j とGi,j は以下の回帰
式を満たす。
【0094】 (1) Pi,j =pi,j ・Pi,j-1 ただしP
i,1 =pi,1 (2) Gi,j =gi,j +pi,j ・Gi,j-1 ただしG
i,1 =gi,1 ワードの下位mビットで構成されるグループについては
1,1 =cinとなる。入力けた上げ数をもたない通常の
加算が行なわれる場合には、cin=0となる。入力けた
上げ数cinは、増分あるいは減算を行なうために加算器
を使用する場合には、たとえば1となる。実際に減算A
−Bの演算は、A+B* +1の計算に戻っていく。B*
はBの補数である。
【0095】ここで、上述の特許EP329545にし
たがって、従来の技術における先の式の活用についても
っと詳しく説明する。
【0096】図1は、従来の技術によるパリティビット
のジェネレータに関連する加算器を示している。
【0097】例として、加算する数AとBは、それぞれ
A1,A2,A3,A4とB1,B2,B3,B4の8
つのビットの4つのグループで構成されていると仮定し
た。各グループは、対応する1つのパリティビットに結
びついている。たとえば、グループA1はパリティビッ
トPA1 に関連しており、グループA2はパリティビッ
トPA2 に関連している、等々・・・。
【0098】オペランドAとBならびにこれら2つのオ
ペランドに関連するパリティビットは各レジスタRA,
RB,RPA,RPB中に含まれる。
【0099】ここで、オペランドから引き出された同等
の2つのグループ、たとえばA1とB1をみてみよう。
グループA1はmビットa1iで構成され、グループB1
はmビットb1iで構成される。同じ重みのビットa1i
1iは、以下の変数を計算できるように、“排他的O
R”回路及び“AND”回路を含む演算子11のなかで
組み合わされる。
【0100】
【数25】
【0101】他のグループに関連する回路12,13,
14は回路11と同じであり、これらの回路全体は加算
器の第一段10を形成する。
【0102】けた上げ先取り回路20aは、入力におい
て第一段10の出力を受け取る。回路20aは、2つの
オペランドの加算に介在するあらゆるけた上げ数
1,i ,c2,i ,c3,i ,c4,i を計算することができ
る。この回路20aは、それぞれがオペランドを形成す
るグループに関連している複数の回路21a,22a,
23a,24aで構成されているとみなすことができ
る。
【0103】“排他的OR”で構成される最終段30
は、入力において第一段10の出力を受け取る。回路3
0は、出力において加算の結果Sのビットs1,i からs
1,4 までを解放する。回路30はまた、それぞれがオペ
ランドを構成するグループに関連している複数の回路3
1,32,33,34で構成されているとみなすことが
できる。このようにして、回路31は、以下の方程式を
満たす下位グループのビットs1,i を解放する。
【0104】
【数26】
【0105】以上は加算器のみに関しているが、ここで
従来の技術のパリティのジェネレータに関する回路の部
分について説明してみよう。この例において、パリティ
のジェネレータは、それぞれがオペランドの同等のグル
ープのパリティビット及び第一段10から出た変数を受
け取る4つのオペランド41、42、43、44で構成
される集合を備えている。たとえば、下位グループに関
連する演算子41はパリティPA1 とPB1 及び回路1
1から出た変数p1,i とg1,i を受け取る。これらの信
号に応じて、演算子41は、上述の方程式を満たす2つ
の変数X1 とY1 を出力する。
【0106】同じように、回路42、43、44はそれ
ぞれ、変数X2 ,Y2 ;X3 ,Y3;X4 ,Y4 を出力
する。
【0107】演算子51,52,53,54で構成され
る最終段は、対応するグループの変数Xi ,Yi ならび
に当該のグループに依存しているけた上げ信号を受け取
る。より正確には演算子54は、指数i=4のグループ
の最下位けた上げ数である回路23aから出たけた上げ
数c3m+1を受け取る。演算子53は、指数i=3のグル
ープの最下位けた上げ数であるけた上げ数c2m+1を受け
取り、演算子52は、指数i=2のグループの最下位け
た上げ数であるけた上げ数cm+1 を受け取る。演算子5
1は入力けた上げ数cinを受け取る。
【0108】一般に、対応する演算子に与えられるけた
上げ数をci,1 で表すことによって、各演算子は、
【0109】
【数27】
【0110】を満たす出力信号PS1 ・・・PS4 を出
力する。
【0111】したがって、こうして得られた変数PS1
からPS4 までは、和から引き出された各グループに関
連するパリティビットである。
【0112】加算器の段10と30は、“AND”及び
“排他的OR”タイプの従来の論理回路で構成されてい
る。それらの実施については技術者に理解できる範囲で
あるので、ここでは詳しく説明しない。
【0113】演算子41から44ならびにけた上げ先取
り回路20aを、“データ経路”の方法を用いてCMO
Sテクノロジーに組み込むことは難しい。こうした解決
策に対する本発明の重要な利点の1つは、これらのビル
ディングブロックの簡略化と融合である。本発明の利点
を正確に理解し、さらに本発明の仕組みをよりよく把握
するために、ここで従来の技術に属してはいるが、これ
らの演算子の働きを図2と3を用いて説明してみよう。
【0114】この実施例では、演算子41から44は同
じものなので、その1つ、たとえば演算子41について
説明するだけでよいだろう。一般性をもたせるために、
この部分はすべて、グループiの指数とともにさまざま
な変数を示しながら説明する。演算子41によって処理
された変数の場合にはiは1となる。したがって、この
セクションで記される関係式はそれだけで値i=[1,
2, ・・・,m]について一般化することができる。
【0115】図2は2つの数の加算結果の8つの下位ビ
ットで構成されるグループに関連するパリティビットの
計算を可能にする回路のエレメント41を示している。
以下の説明は、この特殊なケースに限定されず、またこ
の回路はビットのどんな数についても一般化できること
は明らかである。
【0116】図2の回路は、先に説明した回路11ある
いは切り離された回路や同じ回路によって計算される変
数pi,1 ,gi,1 からpi,7 ,gi,7 を受け取る第一演
算子41aを備えている。実際にこの回路11は、加算
器と共通のものとすることもできるが、回路の完全性を
改良したい場合には、加算器からは独立した回路11を
使用することが望ましい。なぜなら、共通の回路11の
使用は、この回路に発生する恐れのあるエラーを隠して
しまうからである。
【0117】演算子41aは、入力において4つの2進
変数Px ,Gx ,Py ,Gy を受け取り、以下の方程式
を満たす2つの出力2進変数Pz,Gzを与える第一の
タイプの論理モジュールM1だけで構成されている。
【0118】Pz =Py ・Pxz =Gy +Py ・Gx 図7は、“AND(論理積)”あるいは“OR(論理
和)”タイプの論理エレメントを用いたモジュールM1
の実施例を示している。たとえば、CMOSテクノロジ
ーに適応する“NAND(否定論理積)”、“NOR
(否定論理和)”、“排他的NOR”型のエレメントを
用いた他の実施例は、技術者の領域にあることは明らか
である。
【0119】これらのモジュールの使用及びそれらの配
置は、以下の回帰関係式によって定められる変数Pi,j
とGi,j を(j=[1, 2, ・・・,7])について計算す
ることを可能にする。
【0120】 Pi,j =Pi,j ・Pi,j-1 ただしPi,1
i,1i,j =gi,j +pi,j ・Gi,j-1 ただしGi,1
i,1 出力変数対Pz,Gzを2つの入力変数対Px ,Gx
y ,Gy に結びつける関係式は、関連的であるという
重要は特徴を有している。この特徴によって、この回路
の層数つまりカスケードに置かれたこれらのモジュール
数を最小限に抑えながらも変数Pi,j とGi,j を計算で
きるようにモジュールM1を配置することができる。
【0121】帰納法によって第一演算子41aを構成す
る方法は、上述の特許EP329545中に記されてい
る。
【0122】j=1については、直接Pi,1 =pi,1
びGi,1 =gi,1 を得ることができる。j=2について
はさらに、出力においてPi,2 ,Gi,2 を与える第一モ
ジュール1のなかでpi,1 ,gi,1 とpi,2 ,gi,2
組合せる。j=3については、第三のモジュール3が第
一モジュール1から出たPi,2 ,Gi,2 をpi,3 ,g
i,3 と組合せる。このモジュール3はPi,3 ,Gi,3
与える。j=4については、別のモジュール2が
i,3 ,gi,3 とpi,4 ,gi,4 を組合せ、このモジュ
ール2の出力は、もう1つのモジュール4のなかでモジ
ュール1の出力と組み合わされる。このモジュール4は
i,4 ,Gi,4 を与える。モジュールM1によって実施
されたファンクションの連想性によってこの結果が正し
く得られる。
【0123】4より大きいjについて演算子41aの構
成を補足するには、以下の方法をとるだけでよい。
【0124】1と2n との間のjについての最初の接続
が行なわれたら、この最初の接続にしたがって配置され
ているが、上位に向かって桁を2n ずらされているモジ
ュールM1を付け加えることで、2n +1と2n+1 との
間のjについての接続が得られる。こうして新しい出力
が与えられる。次に、最初の接続から出た最上位出力P
i,2n,Gi,2nと、それぞれ新しい各出力を組合せる2n
個の補足モジュールM1が配置される。
【0125】構成は、m−1位数で終わる。このとき変
数Pi とGi のあらゆる値を自由に使用できる。したが
って当該の例では、位数7までの変数Pi,j ,Gi,j
第一演算子41aが出力において自由に使用される。
【0126】続いて、演算子41aの出力Pi,j ,G
i,j が第二の演算子41bの入力に適用される。
【0127】演算子41bは、単に、4入力Xx
x ,Xy ,Yy 型の二重“排他的OR”回路であり、
以下を満たす2つの出力Xz,Yz を与える第二タイプ
の論理モジュールM2で構成されている。
【0128】
【数28】
【0129】図8は、“排他的OR”タイプの論理エレ
メントを用いたモジュールM2の実施例を示している。
ここでまた、特殊なテクノロジーにもっと適合したエレ
メントによる他の実施例については、技術者の領域であ
る。
【0130】したがってすぐに、多入力型の“排他的O
R”演算子と同等の逆ピラミッド構成にしたがってこれ
らのモジュールM2を配置するだけでよいことがわか
る。こうしてこの接続によって、以下の関係式によって
定義される2つの変数XとY’が得られる。
【0131】
【数29】
【0132】G' i,1 は、関係式
【0133】
【数30】
【0134】によって計算される。Yi ' の計算にPA
i ,PBi を挿入する理由は後で説明する。
【0135】変数Xi ,Yi ' 及び先に定義されたけた
上げ数ci,1 (i=1,ci,1 =cinについて)は、以
下の論理方程式によって出力PSi が入力に結びついて
いる第三の演算子51に適用される。
【0136】
【数31】
【0137】ここでXi*はXi の補数である。
【0138】次の関係式からPCi の大きさを定めると
【0139】
【数32】
【0140】以下が得られる。
【0141】
【数33】
【0142】つまり、2つの2進数の加算結果のパリテ
ィはけた上げワードのパリティの排他的論理和と加算の
2つのオペランドのそれぞれのパリティに等しい。した
がって、Gi,1 をG' i,1 に置き換えない先の回路の場
合には、出力において結果のパリティの代わりにけた上
げワードのパリティを与えるであろう。さらに、第一演
算子のどの出力Gi,j も式
【0143】
【数34】
【0144】に置き換えることが可能になるであろう。
もう1つの解決策は、第一演算子の2つの出力Gi,j
i,k のいずれかをそれぞれ、演算結果
【0145】
【数35】
【0146】に置き換えることである。以上については
すべて上述の特許のなかで非常に詳しく説明されてい
る。
【0147】図3は、従来の技術によるパリティのジェ
ネレータに特有のけた上げ先取り回路を示している。こ
の回路は、それぞれが第三段の回路52,53,54に
おける入力として役立つ位数c9 ,c17,c25のけた上
げ数、つまり変数c2,1 ,c3,1 ,c4,1 を与える。本
発明ではこの回路は無意味になるので、上述の特許で詳
しく説明されているその作動についてはここに再び記す
ことはしない。
【0148】以上に記した従来の技術による解決策は、
その複雑さに加えて、CMOSテクノロジーで実施しに
くいという欠点をもっている。特に、“データ経路”タ
イプの規則正しい構造における物理的な設置には非常に
多くの改善の余地がある。このタイプの設置とともに使
用される各論理ブロックは、データの経路に沿って、ま
た経路のビット数に応じて同一の幅をもっていなければ
ならない。たとえば、経路は32ビットのスタックをと
もない、次に32ビットの増分子をともなう32ビット
のレジスタで構成することができる。これらの各ブロッ
クがすべて同じ幅をもっている場合には、重ねあわせに
よる設置は、使用する珪素の表面積や相互接続の長さと
いう点から非常に都合よく行なうことができる。
【0149】しかしながら、極端な高さ、つまり高速処
理の必要性とは相容れない相互接続の長さを与えないか
ぎり、図1に示されている回路をこのタイプの構造中に
設置するのは難しい。
【0150】この問題及び上述の装置の複雑性の問題
は、図4から6との関連で説明した回路によって解決で
きる。
【0151】下位グループとして指定された連続する下
位mビット(A1,B1,C1,S1)で構成されたデ
ータグループの演算については、変数G1,j とP1,j
計算を開始する前でもけた上げ数C1,1 を入手すること
ができる。加算器cinにおける入力けた上げ数が対象と
なるからである。したがって、計算の演算の終わりにな
って初めてこの変数を作用させるという必要がなくな
る。
【0152】また、本発明は、このけた上げ数を最下位
信号g' 1,1 の計算に入れることで、非常に急速にけた
上げ数を作用させることを提案している。
【0153】図4は、本発明による和のパリティの計算
装置を示している。この図式は、従来の技術に対応する
図1の図式と比較されなければならない。
【0154】本発明においては、従来の技術の段10に
対して、第一段10' が改良されている。新しい変数
g' 1,j とp' 1,j は以下の関係式によって計算され
る。
【0155】
【数36】
【0156】第一の指数は、上述の取決めにしたがっ
て、この改良に関連したビットグループを指している
(つまりここでは、下位グループA1,B1,C1とS
1)。
【0157】gi,j とpi,j の他の値は変わらず、従来
の技術の実施例と同じ値をとる。
【0158】gi,j =ai,j ・bi,j ((i=1),j=[2, 3, ・・・,m])あるいは
((i=[2, 3, ・・・,K],j=[1, 2, ・・・,
m])の場合 対(i,j)全体について
【0159】
【数37】
【0160】((i=1),j=[2, 3, ・・・,m])
あるいは(i=[2, 3, ・・・,K],j=[1, 2, ・・
・,m])の場合 対(i,j)全体について 変数a1,1 ,b1,1 ,cinのうちの少なくとも2つが値
1をとる場合g' 1, 1 は値1をとる。したがってg'
1,1 =c1,2 となる。
【0161】さらに、変数a1,1 ,b1,1 ,cinのうち
の1つあるいは3つが値1をとる場合p' 1,1 は値1を
とる。したがってp' 1,1 =s1,1 となる。
【0162】改良された新しい段10' は、“AN
D”、“OR”、“排他的OR”タイプの従来の論理回
路あるいは特殊なテクノロジーに適合したその他の回路
で構成されている。上述の特許に対しては11' の部分
だけが改良され、ブロック12,13,14は同じであ
る。その実施例は技術者の領域なので、ここでは詳述し
ない。
【0163】図5は、これらの入力変数を使用するため
に改良された新しい加算器を示している。加算結果Sの
ビットsi は、従来の関係式とともに計算される。
【0164】
【数38】
【0165】けた上げ数ci は以下の関係式から得られ
る。
【0166】 c1 =cini =Gi-1 +Pi-1 ・Ci-1 i=[2,3,…,K
*m]について 図5の回路は、以下の関係式を満たす3入力Px,G
x,cy及び1出力cz型M3タイプのモジュールを使
用している。
【0167】cz=Gx+Px・cy 図9は、“AND”、“OR”タイプの論理エレメント
を用いたモジュールM3の実施例を示している。ここで
はまた、技術者は、特殊なテクノロジーによりよく適合
したエレメントを用いたその他の実施例を想像すること
ができるだろう。
【0168】M1及びM3タイプのモジュールは、ここ
では詳述しないが、加算器の技術においてよく知られて
いる“recurrence solver ”と呼ばれる接続によって配
置されている。改良されたブロック10' の出力におい
て直接入手できる値c1,2 =g' 1,1 及びs1,1 =p'
1,1 によって、従来の技術に対して加算器の構造を簡略
化できる点だけを指摘しておこう。結果S1を与える下
位グループA1とB1の加算を行なうブロック31'
は、従来の技術の対応回路に比べ“排他的OR”とモジ
ュールM3をそれほど使わない。他のブロック32,3
3,34は変わらない。
【0169】同様に値pi,j とgi,j あるいはp' i,j
とg' i,j は、パリティ60の計算段中に入れられる。
この段は、パリティのジェネレータに特有のけた上げ先
見ブロック21から24までと同時に、従来の技術の上
述した特許中に記されているパリティビット計算用のブ
ロック41から44までに取って代るものである。さら
に段60は、それぞれがオペランドAとBに関連するパ
リティビットPAi とPBi を受け取る。これらのパリ
ティビットPAi とPBi はそれぞれ2つのレジスタR
PAとRPBから発生し、この例においては、4ビット
PA1 からPA4 とPB1 からPB4 で構成されてい
る。また各ビットは2つのオペランドを構成する8ビッ
トの4つのグループの1つに関連するパリティを示して
いる。段60はさらに、加算器における入力けた上げ数
である変数cin=c1,1 を受け取る。
【0170】演算子60は、それぞれが、オペランドを
形成するグループに関連する複数の演算子61、62、
63、64で構成されているとみなすことができる。上
位グループ(i=[2, 3, ・・・ K])を処理する演算
子がすべて同じ構造をもっているとしても、下位mビッ
ト(i=1)で構成されているグループを処理する演算
子61は簡略化された構造をもっていることが後にわか
るであろう。出力においては演算子61は、結果の下位
グループのパリティビットの値PS1 を直接与える。さ
らに、演算子61は、指数i=2のグループについての
より下位のけた上げ数c2,1 であるけた上げ数c1,m+1
=c9 の値を与える。
【0171】1より大きい指数iのグループのためのそ
の他の回路:段60に属する62、63、64は、それ
ぞれが、取決めに基づいて以下の関係式によって定義さ
れる変数XiとYiを与える。
【0172】
【数39】
【0173】ここでG' i,1 はけた上げワードCに関連
するパリティだけでなく、和Sに関連するパリティを計
算できるようにすでに記した関係式G' i,1 =PAi
PBi +Gi,1 によって計算される。したがって、8ビ
ットの4つのグループに分けられるワードの任意に選択
された例においては、変数iは値2、3、4をとり、変
数mは値8をとる。
【0174】さらに回路62、63、64は、出力にお
いて、すぐ上の重みのグループのより下位のけた上げ数
の値を与える。正確に言えば、演算子62はけた上げ数
2m+1=c17=c3,1 を与え、演算子63はけた上げ数
3m+1=c25=c4,1 を与える。演算子64は、加算器
のオーバーフローを示す変数であるけた上げ数c4m+1
33を与える。代案においてはこのけた上げ数c4m+1
計算されない。なぜならパリティの計算には関係ないか
らである。
【0175】演算子52、53、54で構成される最終
段は、対応するグループの変数Xi ,Yi ならびにすぐ
下の重みの段60の演算子によって得られるけた上げ信
号を受け取る。正確に言えば、演算子52は、演算子6
1によって得られたけた上げ数c9 =c2,1 を受け取
り、演算子53は演算子62によって得られたけた上げ
数c17=c3,1 を受け取り、演算子54は演算子63に
よって得られたけた上げ数c25=c4,1 を受け取る。
【0176】一般に、対応する演算子に適用される入力
けた上げ数をci,1 とすると、各演算子52から54ま
ではそれぞれが、以下の関係式を満たす出力信号PSi
を解放する。
【0177】
【数40】
【0178】この実施例においては演算子51はない。
なぜなら演算子61は出力において値PS1 を直接与え
るからである。
【0179】したがってこのように得られた変数PS1
からPS4 は、和から引き出された各グループに関連さ
れたパリティビットである。
【0180】先の装置は、グループの任意数Kとグルー
プごとのビットの任意数mについて容易に一般化されう
ることは明らかである。加算器のなかで共通なその他の
値は、たとえば、4ビットの8グループあるいは、64
ビットの加算器については4ビットの16グループであ
る。
【0181】ここで、図6を用いて、パリティの計算回
路60の作動及び、信号g' 1,1 の計算へ入力けた上げ
数cinを入れることによっての回路で実現できる簡略化
について説明してみよう。
【0182】図6は、下位の和の連続する2mビットに
よって構成される2つのグループ(指数i=1, 2のグ
ループ)に関連するパリティビットPS1 とPS2 の計
算回路61と62を示している。回路63と64は回路
62と同じなのでここには記されていない。
【0183】まず、下位和の連続するmビットで構成さ
れたグループ(i=1)を処理する回路61の説明から
始めよう。
【0184】回路61は、先述の回路11' によってあ
るいは切り離されてはいるが同じ回路によって計算され
る変数p1,2 ,g' 1,1 からp1,8 ,g1,8 までを受け
取る第一演算子61aを備えている。実際にはこの回路
11' は加算器と共通のものにすることができるが、装
置の完全性を改良しようとする場合には、加算器とは別
に回路11' を使用することが望ましい。なぜなら、共
通の回路11' の使用は、この回路内に発生する恐れの
あるエラーを隠してしまうからである。変数p' 1,1
使用されない。また、図2との関連で説明した従来の技
術に対して、変数g1,1 は、すでに上記で定義された変
数g' 1,1 =a1,1 ・b1,1 +a1,1 ・cin+b1,1
inに置き換えられる。他の変数p1,2 からp1,8 とg
1,2 からg1,8 は、従来の技術で使用されていたのと同
じである。
【0185】演算子61aは、第一のタイプM1と別の
タイプM3の論理回路で構成されている。これら2つの
タイプのモジュールの作動についてはすでに記した。こ
れらのモジュールの使用及びそれらの配置によって、以
下の回帰関係式によって定義される(j=[2, 3, ・・
・,m])についての変数G1,j を計算することができる
だろう。
【0186】 G1,j =g1,j +p1,j ・G1,j-1 ただしG1,1
g' 1,1 演算子61aにおいては変数P1,j は計算されない。
【0187】あらゆる変数G1,j は、g1,1 を入力けた
上げ数cinを考慮に入れた変数g'1,1 に置き換えるこ
とによって、従来の技術に対して改良される。g' 1,1
は実際にはc1,2 に等しいことはすでに見てきた。した
がってG1,1 =c1,2 となる。
【0188】連続する信号G1,j は、けた上げ伝播型の
加算器を用いて計算できるような累積けた上げ数の通常
の値をとると証明することができる。つまり。
【0189】 G1,j =c1,j+1 (j=[1, 2, ・・・,
m])について ここで、当該のビットの重みと同時に演算子の対応する
桁を示す指数jを繰返し扱いながら、第一演算子61a
を構成する方法を示してみよう。
【0190】j=1については、直接G1,1 =g' 1,1
=c1,2 が得られる。j=2についてはさらに、第一モ
ジュールM3:つまり出力においてG1,2 =c1,3 を与
える1' のなかでg' 1,1 とp1,2 ,g2 を組合せる。
j=3については第二モジュールM3:つまり3' がp
i,3 ,gi,3 と第一モジュールM3から出たG1,2 を組
合せる。このモジュール3' はG1,3 =c1,4 を与え
る。j=4については、第一モジュールM12' がp
1,3 ,g1,3 とp1,4 ,g1,4 を組合せ、このモジュー
ルの出力は別のモジュールM34' においてモジュール
1' の出力と組み合わされる。このモジュール4' はG
1,4 を与える。この結果は、モジュールM1とM3によ
って実行されたファンクションの連想性によって得られ
る。
【0191】4より大きいjについて演算子61aの構
成を補足するためには、以下の方法をとればよい。
【0192】1と2n との間のjについての最初の接続
が行なわれたら、この最初の接続にしたがって配置され
ているが、しかし上位に向かって桁を2nずらされてい
るモジュールM1を付け加えることで、2n +1と2
n+1 の間の接続が得られる。こうして新しい出力が与え
られる。次に、最初の接続から出た最上位出力G
1,2nを、それぞれこれらの新しい各出力と組合せる2n
個の補足モジュールM3を配置する。
【0193】構成は位数m(図2の実施例におけるm−
1の代わりに)で終わる。したがって、当該の例におい
ては、第一演算子61aの出力において、(j=[1,
2,・・,8)]についての変数G1,j を自由に使用す
る。これらの変数はそれぞれ、上記の関係式にしたがっ
て、けた上げ数c1,j+1 に等しい。
【0194】次に演算子61aの出力G1,j は、2分木
に配置された“排他的OR”ファンクションを実行する
論理ゲートで構成されている演算子61bの入力上に適
用される。このようにして回路61bは、あらゆるG
1,j 及び入力けた上げ数c1, 1 =cinの排他的論理和を
計算する。つまり、変数Y1 は以下のように定義され
る。
【0195】
【数41】
【0196】また、 G1,j =c1,j+1 したがって、
【0197】
【数42】
【0198】したがって、この下位グループについて
は、先の例と同じく、しかし変数G1,j の計算中にcin
の値を介入させることで計算された変数Y1 はけた上げ
ワードのパリティに等しくなる。
【0199】以下の関係式が得られるので、
【0200】
【数43】
【0201】PAi とPBi はそれぞれ2つのオペラン
ドAとBの指数iのグループに関連するパリティである
ことから、和の対応するグループに関連するパリティビ
ットを得るためには、さらにパリティビットPA1 とP
1 をY1 の式中に入れなければならない。図6に示さ
れているような望ましい実施例においては、式
【0202】
【数44】
【0203】は、式
【0204】
【数45】
【0205】によって置き換えられる。したがって、和
の下位グループに関連するパリティを計算するためには
以下の関係式によって定義された値Y1 を使用する。
【0206】
【数46】
【0207】Y1 の式中にオペランドのパリティビット
の値PA1 ,PA2 を入れるその他の方法は、技術者の
領域であり、すべては実施態様の選択にかかっている。
望ましい方法によれば、これらのパリティビットは、回
路の論理数を最小限に抑え、物理的な実施を簡略化でき
るように挿入される。
【0208】このように実施された図6の回路61は、
出力において、下位グループについて和のパリティビッ
トの値PS1 を直接与える。さらに、出力G1,8 =c9
は、指数i=2のグループについて最下位のけた上げビ
ットの値、つまり値c2,1 を与える。
【0209】このように実施された段61は、8ビット
のグループmのサイズをともなう例においては、合計で
5つのM1モジュールと7つのM3モジュールと9つの
“排他的OR”ゲートを備えている。図1から3による
従来の技術においては、同一のファンクションを実現す
るのに、2つの別々の回路21と41が必要であった。
これら2つの回路には、合計で13のM1モジュール、
4つのM3モジュール、6つのM2モジュール、2つの
“排他的OR”ゲート、さらに演算子51が必要であっ
た。実際にはモジュールM2は2つの“排他的OR”ゲ
ートで構成され、モジュールM1はモジュールM3より
複雑なので、この発明によって回路が著しく節約でき
る。
【0210】さらに、2つの平行ブロック21と41の
代わりにブロック61がただ1つだけ必要となるので、
“データ経路”テクノロジーとの統合は容易になる。
【0211】ここで、下位グループ以外の和のビットグ
ループに関連するパリティビットの計算用の回路62、
63、64を説明してみよう。これらの回路はすべて同
じなので、それらのうちの1つだけ、たとえば回路62
の説明だけを行なう。
【0212】当然のことながら、改良されたg' 2,1
計算中に回路61から発生する入力けた上げ数c2,1
入れることによって、回路61のモデル上に回路62を
構成することができるであろう。このことから、回路6
1にもたらされたあらゆる簡略化を回路62に適用する
ことができる。ただし、けた上げ数c2,1 は回路61の
演算の終わってから初めて得ることができる。このこと
は、回路62は、回路61がその演算をほとんど終えな
いかぎり作動が開始できないことを意味する。つまり、
装置の高速作動の必要性とは相容れないものとなる。
【0213】したがって回路62は、演算の続きにおい
てできるだけ遅くこの入力けた上げ数c2,1 を介入させ
るように、従来の技術の回路41と同じ方法で構成され
る。
【0214】回路62は、第一の演算子62aと第二の
演算子62bとで構成される。この回路についてはここ
では説明せず、図2に関連した説明にもう一度戻ってみ
よう。
【0215】この図との関連で示されている演算子41
aの反復構成の方法はまた、演算子62aの構成にも適
用できる。ただし、この構成は、従来の技術では位数m
−1で終わるのに対して位数mで終わる。したがって当
該の例においては、出力において位数1から位数8まで
の変数P2,j ,G2,j の演算子62aを自由に使用する
ことができるだろう。
【0216】次に位数m−1までの演算子62aの出力
は、第二演算子62bの入力に適用される。
【0217】演算子62bは、図2との関連で説明され
ている演算子41bと同じである。したがって、この演
算子は樹形に配置されたモジュールM2によって構成さ
れる。つまり、出力においては以下の関係式によって定
義される2つの変数X2とY2が与えられる。
【0218】
【数47】
【0219】先の例と同じように、変数G' 2,1 は、Y
2の式に、オペランドの指数i=2のグループに関連す
るパリティの値を介入させるように定義される。
【0220】
【数48】
【0221】当然のことながら、パリティビットP
2 ,PB2 と2つの変数G2,i や直接に変数Y2 との
その他の組合せも可能であるが、それは技術者の領域で
ある。
【0222】変数X2 ,Y2 と、すぐ下の位数の演算子
61から発生するけた上げ数c2, 1 は、以下の関係式に
よって出力PS2 が入力に結びついている演算子52に
適用される。
【0223】
【数49】
【0224】変数P2,m とG2,m は、P2,8 とG2,8
例においては、入力けた上げ数c2,1 とともにモジュー
ルM3に適用される。ci,1 が指数iのグループのなか
の最下位けた上げビットである場合、1より大きいjに
ついて以下の関係式が得られる。
【0225】ci,j+1 =Gi,j +Pi,j ・ci,1 j=mとすると、以下の式が得られる。
【0226】ci,1 =Gi-1,m +Pi-1,m ・c
i-1,1 (i=[3, 4, ・・・,K])について したがって、i=3及びm=8の場合、このモジュール
M3の出力は、けた上げビットc2,9 の値を与える。こ
のけた上げ数は、すぐ上の重みのグループを処理する回
路63の入力けた上げ数c3,1 である。したがって、図
5との関連で説明したけた上げ先取り回路21aの存在
は不必要である。
【0227】8ビットのサイズmをともなうこの例にお
いて、図6の回路は、12個のM1モジュール、6つの
M2モジュール、1つのM3モジュールを使用する。一
方、従来の技術の同等回路42と22は、16個のM1
モジュール、6つのM2モジュール、2つのM3モジュ
ールを必要とする。したがって大規模な簡略化が行なわ
れる。さらに、これらの回路のトポロジーの配置は“デ
ータ経路”テクノロジーとの統合により適している。
【0228】望ましい実施例においては、本発明による
パリティのジェネレータは、CMOSテクノロジーにお
いて実現される。このテクノロジーにおいては、モジュ
ールM1,M2あるいはM3によって実行されるファン
クションはより遅く、対応する補足的あるいはデュアル
ファンクションよりも多くのトランジスタを必要とす
る。したがって、技術者は、適切な場所にノットゲート
(逆転器)を備えているかぎり、適していると考えられ
る場合には、できればモジュールM1,M2,M3の補
足的あるいはデュアルファンクションを実行するモジュ
ールとともに、図5から9の回路を実施することが望ま
しい。こうした考慮はすべて使用するテクノロジーによ
って異なり、技術者の領域である実施例の選択の問題で
ある。
【0229】発明の好ましい方式と実施例が図で説明さ
れ、記述されたが、さまざまの変更と修正が発明の進歩
性の概念と精神から逸脱しないでなされることは、当業
者には明らかである。発明の広い範囲と本当の精神内に
来る概念を定義することは、付加したクレームによって
意図される。
【図面の簡単な説明】
【図1】従来の技術による加算器とパリティビットの計
算装置を備えた全体図を示している。
【図2】従来の技術による2つの2進数の和から引き出
された8ビットのグループに関連するパリティビットの
計算装置を示している。
【図3】従来の技術の特殊な実施モードによるけた上げ
ビットの先取り回路を示している。
【図4】本発明による加算器とパリティビットの計算装
置を備えた全体図を示している。
【図5】本発明によって改良された加算器の回路を示し
ている。
【図6】本発明による2つの2進数の和から引き出され
た8下位ビットの2つのグループに関連する2パリティ
ビットの計算回路を示している。
【図7】本発明において使用されるモジュールM1を示
している。
【図8】本発明において使用されるモジュールM2を示
している。
【図9】本発明において使用されるモジュールM3を示
している。

Claims (10)

    (57)【特許請求の範囲】
  1. 【請求項1】 2つの2進数を加算する加算装置であっ
    て、2つの2進数(A,B)を加算する第1の加算手段
    (10' )を有しており、K個(K≧2)のグループを
    使用し、各グループは前記2進数(A,B)から引き出
    された連続するm個のビットからなり、前記2進数はビ
    ットai,j ,bi,j の形に形成されており、ここでi=
    {1,2,…,K}であってK個のグループのうち1つ
    のグループを表しており、i=1が下位mビットに対応
    しており、また、j={1,2,…,m}であって1つ
    のグループの1つのビットの重みを表しており、前記第
    1の加算手段(10' )は、各値pi,j 及びgi,j を表
    す信号を発生し、 更に前記第1の加算手段に接続され、ビットci,j の形
    のけた上げワード(C)を発生するけた上げ手段(6
    0)を有しており、ここでc1,1 は加算の第1の入力け
    た上げビットであり、ci,1 (i={2,…,K})は
    第2の入力けた上げビットであり、 更に前記第1の加算手段及び前記けた上げ手段に接続さ
    れ、ビットsi,j として形成される結果(S)を生成す
    る第2の加算手段(30;31' ,32,−34)を有
    しており、 前記第1の加算手段の前記信号の値は、i≠1且つj=
    {1,2,…,m}の場合について、以下の式、 【数1】 また、i=1の場合については、以下の式、 【数2】 に従って計算され、 前記けた上げ手段は、前記値p1,1 を受け取ることなく
    前記信号(pi,j ,gi,j )を受け取り、前記結果
    (S)は前記第2の加算手段により、以下の式、 【数3】 から生成されることを特徴とする加算装置。
  2. 【請求項2】 2つの2進数(A,B)を加算する加算
    装置であって、けた上げワード(C)を発生し結果
    (S)を生成する手段を有しており、K個(K≧2)の
    グループを使用し、各グループは前記2進数(A,B)
    から引き出された連続するm個のビットとけた上げワー
    ド(C)と加算結果(S)とからなり、これらがビット
    i,j ,bi,j ,ci,j ,si,j の形にそれぞれ形成さ
    れており、ここでi={1,2,…,K}はK個のグル
    ープのうちの1つのグループを表しており、i=1が下
    位mビットに対応しており、j={1,2,…,m}は
    1つのグループの1つのビットの重みを表しており、c
    1,1 は加算の第1の入力けた上げビットであり、ci,j
    (i={2,…,K})は第2の入力けた上げビットで
    あり、前記手段は、i≠1且つj={1,2,…,m}
    の場合について次の値 【数4】 を計算し、またi=1の場合について次の値 【数5】 を計算し、 前記加算装置は更に、前記計算された値及び前記各2進
    数(A,B)のK個のパリティビットを受け取り、前記
    結果(S)から引き出されたK個のグループのK個のパ
    リティビット(PSi )を計算するパリティ発生回路
    (50' ,60)を有し、該パリティ発生回路は、i=
    1の場合のGi,j の値であるG1,j 、即ちG1,j =g
    1,j +p1,j ・G1,j-1 (j={2,…,m},G1,1
    =g1,1 )を計算する第1の演算子(61a)と、 【数6】 を計算する第2の演算子(61b)とを有し、ここでP
    1 及びPB1 はi=1の場合の前記パリティビットP
    i 及びPBi の値であり、Y1 はi=1の場合の前記
    パリティビットPSi のパリティビットPS1 に対応す
    る値であることを特徴とする加算装置。
  3. 【請求項3】 前記2進数(A,B)は、それぞれK個
    のパリティビット(PAi ,PBi )を有しており、更
    に前記加算結果(S)から引き出されたK個のグループ
    のK個のパリティビット(PSi)を計算するためのパ
    リティ発生回路(50' 60)を備え、該パリティ発生
    回路は前記2進数(A,B)のK個のパリティビットを
    受け取る第1の入力手段と、前記第1の入力けた上げビ
    ットc1,1 及び前記pi,j ,gi,j ,p1,j ,g1,1
    1,j を受け取る第2の入力手段とを有する請求項1に
    記載の加算装置。
  4. 【請求項4】 前記パリティ発生回路は、i=1の場合
    のGi,j の値であるG1,j ,即ち G1,j =g1,j +p1,j ・G1,j-1 (j={2,…,m},G1,1 =g1,1 ) を計算する第1の演算子(61a)と、 【数7】 を計算する第2の演算子(61b)とを有し、ここで、
    PA1 及びPB1 は、i=1の場合の前記パリティビッ
    トPAi 及びPBi の値であり、Y1 はi=1の場合の
    前記パリティビットPAi 及びPBi の値である請求項
    3に記載の加算装置。
  5. 【請求項5】 前記第1の演算子(61a)は4つの入
    力(Px,Gx,Py,Gy)を受け取り2つの出力
    (Pz,Gz)、即ち を供給する第1タイプのロジックモジュール(M1
    と、3つの入力(Px,Gx,cy)を受け取り1つの
    出力(cz)、即ちcz=Gx+Px・cyを供給する
    第2タイプのロジックモジュール(M3 )とを有し、 これらのモジュールは、以下のステップ、即ち、 a)j=1については、直接G1,1 =g1,1 が得られ、 b)j=2については、前記第2タイプのモジュール
    (M3)の第1モジュール(1' )がp1,2 ,g1,2
    1,1 について演算を行ない、G1,2 を与え、 c)j={3,4}の場合について、前記第1タイプの
    モジュール(M1)の第1モジュール(2' )が
    1,3 ,g1,3 ,p1,4 ,g1,4 について演算を行な
    い、2つの出力を与え、前記第2タイプのモジュール
    (M3)の第2モジュール(3' )がG1,2 ,p1,3
    1,3 について演算を行ない、G1,3 を与え、前記第2
    タイプのモジュール(M3)の第3モジュール(4' )
    がG1,2 と前記第2モジュール(2' )の出力について
    演算を行ない、G1,4 を与え、これによりn=2の場合
    について初期アセンブリ(j={1,…,2n })が形
    成され、 d)j={2n +1,…,2n+1 }について、追加の出
    力を供給すべく上位ビットの方向に2n の順位だけオフ
    セットした前記初期アセンブリに従って配置された前記
    第1タイプのモジュール(M1)と、前記初期アセンブ
    リの上位出力G1,2 及び前記追加の出力のそれぞれにつ
    いて演算を行う2n 個の第2タイプのモジュール(M
    3)とをそれぞれ結合し、値(G1,5 −G1,8 )をそれ
    ぞれ供給することによりアセンブリを回帰的に求める、 各ステップに従って使用される請求項2又は4に記載の
    加算装置。
  6. 【請求項6】 前記第2の演算子が前記第1の演算子の
    1 m-1 ,前記パリティPA1 ,PB1 ,及び前記第
    1入力けた上げビットc1,1 を介して前記出力G1,j
    受け取る入力を有するツリーの形に配置された排他的論
    理和タイプの論理ゲートを有し、これらの信号は、可能
    な限り2つずつ取り出され、前記ゲートが前記値Y1
    計算すべく配置される請求項2,4、又は5のいずれか
    一項に記載の加算装置。
  7. 【請求項7】 前記パリティ発生回路は更に、 i={2,…,K}について、以下の式 Gi,j =gi,j +Pi,j ・Gi,j-1 (j={2,…,m},Gi,1 =gi,1 ) Pi,j =pi,j ・Pi,j-1 (j={2,…,m},Pi,1 =pi,1 ) の各値を計算する第3の演算子(62a,63a,64a)
    と、i={2,…,K}について、以下の式 【数8】 (ここでPAi ,PBi は、オペランドA及びBのグル
    ープのi番目のパリティを表す)の各値を計算する第4
    の演算子(62b,63b,64b)と、 i={2,…,K}について、以下の式 【数9】 (ここでci,1 は前記第2入力けた上げビットであり、
    Xi* はXiの補数である)の値を計算する第5の演算
    子(52,53,54)とを有する請求項2,4,5、又は6
    のいずれか一項に記載の加算装置。
  8. 【請求項8】 前記第5の演算子(52)はi=2の場
    合、前記第2の入力けた上げビットc2,1 、即ち c2,1 =G1,m を使用し、前記パリティ発生回路は、i={3,…,
    K}の場合について、前記第5の演算子により使用され
    る前記第2の入力けた上げビットci,1 、即ち ci,1 =Gi-1,m +Pi-1,m ・ci-1,1 を計算するための手段(M3)を有する請求項7に記載
    の装置。
  9. 【請求項9】 前記手段が前記パリティ発生回路から分
    離している請求項2から8のいずれか一項に記載の加算
    装置。
  10. 【請求項10】 前記第1の加算手段が前記パリティ発
    生回路から分離している請求項3から8のいずれか一項
    に記載の加算装置。
JP6297258A 1993-11-30 1994-11-30 加算装置 Expired - Lifetime JP2592584B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR9314287 1993-11-30
FR9314287A FR2713364B1 (fr) 1993-11-30 1993-11-30 Dispositif de calcul des bits de parité associés à une somme de deux nombres.

Publications (2)

Publication Number Publication Date
JPH07200331A JPH07200331A (ja) 1995-08-04
JP2592584B2 true JP2592584B2 (ja) 1997-03-19

Family

ID=9453351

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6297258A Expired - Lifetime JP2592584B2 (ja) 1993-11-30 1994-11-30 加算装置

Country Status (5)

Country Link
US (1) US5689451A (ja)
EP (1) EP0655685B1 (ja)
JP (1) JP2592584B2 (ja)
DE (1) DE69420233T2 (ja)
FR (1) FR2713364B1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101336416B (zh) 2006-02-01 2010-08-11 富士通株式会社 奇偶生成电路、奇偶生成电路用构成电路、信息处理装置以及编码器
DE102007012726A1 (de) 2007-03-16 2008-09-18 Micronas Gmbh Verschlüsselungsvorrichtung mit einem mehrstufigen Verschlüsselungsblock

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3925647A (en) * 1974-09-30 1975-12-09 Honeywell Inf Systems Parity predicting and checking logic for carry look-ahead binary adder
US4224680A (en) 1978-06-05 1980-09-23 Fujitsu Limited Parity prediction circuit for adder/counter
US4879675A (en) * 1988-02-17 1989-11-07 International Business Machines Corporation Parity generator circuit and method
FR2627605B1 (fr) * 1988-02-18 1990-06-15 Bull Sa Dispositif pour le calcul des bits de parite d'une somme de deux nombres
US4924423A (en) * 1988-04-25 1990-05-08 International Business Machines Corporation High speed parity prediction for binary adders using irregular grouping scheme

Also Published As

Publication number Publication date
DE69420233D1 (de) 1999-09-30
FR2713364B1 (fr) 1996-01-12
JPH07200331A (ja) 1995-08-04
DE69420233T2 (de) 1999-12-30
FR2713364A1 (fr) 1995-06-09
EP0655685B1 (fr) 1999-08-25
EP0655685A1 (fr) 1995-05-31
US5689451A (en) 1997-11-18

Similar Documents

Publication Publication Date Title
JP3244506B2 (ja) 小型乗算器
US4623982A (en) Conditional carry techniques for digital processors
EP0018519B1 (en) Multiplier apparatus having a carry-save/propagate adder
EP1752870B1 (en) Multiplier
EP0436106B1 (en) High performance selfchecking counter having small circuit area
Makino et al. A 8.8-ns 54/spl times/54-bit multiplier using new redundant binary architecture
US4878192A (en) Arithmetic processor and divider using redundant signed digit arithmetic
US5097436A (en) High performance adder using carry predictions
US6519621B1 (en) Arithmetic circuit for accumulative operation
US3842250A (en) Circuit for implementing rounding in add/subtract logic networks
JP2592584B2 (ja) 加算装置
JPH0552530B2 (ja)
JPH09501528A (ja) 高速算術演算装置のけた上げ先見加算器段の数を減少させる構造及び方法
JPH0651953A (ja) 加算器
US5257217A (en) Area-efficient multiplier for use in an integrated circuit
JPH09222991A (ja) 加算方法および加算器
US20070203961A1 (en) Multiplicand shifting in a linear systolic array modular multiplier
GB2127187A (en) Circuits for operating on N- digit operands
EP0534760A2 (en) High speed multiplier device
CN109388372B (zh) 一种基于最小模块的三值光学处理器msd乘法计算方法
JP2608600B2 (ja) 2つの数の和のパリティビットの計算装置
JPH0454256B2 (ja)
JPH06149542A (ja) 加算器連鎖及び加算方法
JPH0370416B2 (ja)
EP0296344B1 (en) Parallel adder having removed dependencies

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081219

Year of fee payment: 12

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081219

Year of fee payment: 12

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091219

Year of fee payment: 13

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101219

Year of fee payment: 14

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101219

Year of fee payment: 14

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111219

Year of fee payment: 15

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121219

Year of fee payment: 16

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131219

Year of fee payment: 17

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term