JP2608600B2 - 2つの数の和のパリティビットの計算装置 - Google Patents

2つの数の和のパリティビットの計算装置

Info

Publication number
JP2608600B2
JP2608600B2 JP1038109A JP3810989A JP2608600B2 JP 2608600 B2 JP2608600 B2 JP 2608600B2 JP 1038109 A JP1038109 A JP 1038109A JP 3810989 A JP3810989 A JP 3810989A JP 2608600 B2 JP2608600 B2 JP 2608600B2
Authority
JP
Japan
Prior art keywords
circuit
group
outputs
bits
carry
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
JP1038109A
Other languages
English (en)
Other versions
JPH01245334A (ja
Inventor
グレイネール アラン
スン クシャオウェイ
ティル ミシェル
Original Assignee
ビュル エス.アー.
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 ビュル エス.アー. filed Critical ビュル エス.アー.
Publication of JPH01245334A publication Critical patent/JPH01245334A/ja
Application granted granted Critical
Publication of JP2608600B2 publication Critical patent/JP2608600B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Correction Of Errors (AREA)

Description

【発明の詳細な説明】 産業上の利用分野 本発明は、特にコンピュータのプロセッサで使用され
る加算器に関するものである。
さらに詳細には、本発明は、2つの2進数が入力され
る加算器によって計算された加算結果である2進数に付
属するパリティビットを計算するための回路に関する。
従来の技術 一般に、ワードまたは2進数に付属するパリティビッ
トは、これらワードまたは2進数が処理回路で処理され
た後にエラーを生じていないかどうかを検出することが
できるようにするために使用される。
通常は、複数のビットからなる1つのグループのパリ
ティビットは、このグループを構成するビット全体に対
して行った「排他的OR」演算の組み合わせの結果である
と定義される。従って、パリティビットは、このグルー
プに含まれている「1」の数が奇数の場合には値「1」
をとる。そこで、このグループの中の1つのみのビッ
ト、または奇数個のビットが誤っている場合には、パリ
ティビットは本来とるべき値とは反対の値をとる。従っ
て、このグループに基づいて計算した実際のパリティ
と、パリティビットの値に対応する予期されるパリティ
とを単に比較することによりエラーを検出することがで
きる。さらに、ワードは複数のビットグループで形成す
ることができ、各グループにパリティビットを1つ割り
当てる。従って、1つのワードを複数のパリティビット
と関係付けることができる。
1つまたは複数のワードに対して演算を実行するとき
には、この演算の結果がやはり1つまたは複数のパリテ
ィビットと関係付けられているのが都合がよい。これは
特に加算演算の場合である。
加算結果のパリティビットは、この加算結果をもとに
して直接計算することができる。しかし、この方法を用
いると、結果のパリティビットは、この結果自体が得ら
れてからかなり時間が経過した後にしか得ることはでき
ない。このため、この結果と、関係するパリティビット
とが次の処理で使用される時期が遅くなる。
さらに、パリティビットは、本来の結果とは独立に計
算できることが望ましい。というのは、このようにする
と加算の正確さをモニタできるからである。
和のパリティビットの予想の問題は多数の論文で取り
扱われており、それぞれの論文には特殊な場合の解決法
が与えられている。この状況が、例えばIBM(T)Techn
ical Disclosure Bulletin第23巻、第12号、1981年5
月、5498〜5502ページに示されている。
発明が解決しようとする課題 しかし、パリティビットを計算しようとするワードが
多数のビットを含んでいるときには、上記の公知の任意
の装置を用いてあらゆる場合に高速演算を行うことがで
きるわけではない。
本発明は、2つの数の和のパリティビットをできるだ
け短時間で計算できるようにすることを目的とする。パ
リティビットを高速で計算できることの利点は、この計
算によって加算器が次の演算を再び実行できるようにな
る時期を遅らせることがない点にある。この結果、計算
ユニットは高周波数で動作することが可能になる。
和のパリティビットの計算速度が、加算の途中で現れ
るキャリービットによって形成されたワードに関係する
パリティビットの計算速度に影響されることを後述す
る。このワードを、以後「キャリーワード」と称する。
加算する数が多数のビットを含んでいる場合には、こ
のワードが複数のビットグループの連結体であると考
え、これらグループのそれぞれにパリティビットを対応
させることがより望ましい。例えば、64ビットのワード
には8個のパリティビットを対応させることができる。
すなわち、各パリティビットは、このワードの8ビット
からなる1つのグループに対応している。この方法を用
いると、特に、異なるグループにまたがる複数のエラー
がある場合にエラー検出が非常に実行しやすくなる。
定義により、キャリーワードから取り出されたグルー
プに関係するパリティビットは、原則として加算時に形
成された全キャリービットに依存する。
キャリービットの計算の問題は既に加算器を実現する
際に提起されている。実際、キャリービットは、位が上
であるほど遅く得られる。このようなわけで、加算器に
おいては、キャリービットをできるだけ速く計算するた
めにキャリー予測回路を実現しようとする試みがなされ
ている。
しかし、高性能の回路を用いても、上位のキャリーは
常に加算演算のほぼ最後になって得られる。
課題を解決するための手段 そこで、本発明は、キャリーワードを形成するグルー
プに関係するパリティビットを計算するために、キャリ
ービットの計算が実行されるごとにパリティビットの計
算に次に必要とされる時間が最大限短縮される方法を提
供する。この結果は、本発明の装置が、この計算を以下
の2段階、すなわち − 加算する数のみに依存する変数を入力変数として利
用する第1段階と、 − キャリービットが介入する高速の第2段階とを利用
して実行することにより可能になる。
第1段階は、加算器の予測回路によってキャリーの計
算が実行されている間に行われる。この計算が相対的に
遅いことを考慮すると、この第1段階は、予備計算を最
大限に実施し、従ってより高速にされた第2段階を簡単
化できるように構成されている。
より詳細には、本発明により、2つの2進数の加算の
際に現れるキャリーワードから取り出された連続したm
ビットからなる少なくとも1つのグループに関係したパ
リティビットを計算するにあたって、上記の2つの2進
数はそれぞれ、mビットからなる少なくとも1つのグル
ープを含み、これらグループは、同じ位のビットでそれ
ぞれ構成された上記2進数と上記キャリーワードにそれ
ぞれ属しており、上記2進数から取り出された上記グル
ープは、それぞれがビットam,…,ai,…,a2,a1と、ビッ
トbm,…,bi,…,b2,b1で構成されている(添字iは対応
するビット(ai,bi)のグループ内の位を表す)計算装
置であって、 − 1と(m−1)の間のすべてのiに対して pi=aibi gi=ai・bi (は、「排他的OR」演算を意味する) を計算する第1段と、 − 1と(m−1)の間のすべてのiに対して、 以下の再帰式 Pi=pi・Pi-1 Gi=gi+pi・Gi-1 (ただし、P1=p1、G1=g1) を満たす値Piならびに値Giの計算を行う第1の演算器
と、 − Y=G1G2…Gi…Gm-1 X=P1P2…Pi…Pm-1 を計算するための第2の演算器と、 − PC=Ycin・X (ただし、cinはグループの最下位のキャリービットで
あり、XはXの補数である) を計算する第3の演算器とを備えることを特徴とする装
置が提供される。
次に、この装置は、各オペランドのパリティビットを
関与させて和に関係するパリティビットを直接出力でき
るように変更し、しかもこのことで計算が遅くならない
ようにすることができる。
従って、本発明によればさらに、2つの2進数の和か
ら取り出されたmビットからなる少なくとも1つのグル
ープに関係したパリティビットを計算する装置であっ
て、上記の計算装置と、上記2進数から取り出されたグ
ループのパリティPAとPBを導入するための「排他的OR」
の追加回路を備え、 − 第1の演算器の任意の1つの出力Giを、上記追加回
路によって実行された演算PAPBGiの結果で置換する
か、あるいは − 第1の演算器の任意の2つの出力GiとGjを、それぞ
れ演算PAGiと演算PBGjの結果で置換するように構成
されていることを特徴とする装置が提供される。
本発明の特徴および利点は、以下に説明する好ましい
実施例において明らかになろう。
実施例 本発明を記述する前に、図面を参照して本発明の理論
的基礎を説明しておくのが好都合である。
Nビットの2つの数AとBが、それぞれビットaN,a
N-1,…,ai,…,a2,a1とビットbN,bN-1,…,bi,…,b2,b1
構成されている場合にこれら2つの数の加算を実行する
ために現在行われている方法は、加算に関与するキャリ
ービットciで形成されたキャリーワードCの予測回路を
利用することである。
このタイプの従来の加算器は、2つの数A、Bのビッ
トai、biをもとにして、以下の式 pi=aibi gi=ai・bi (は、「排他的OR」演算を意味する) で計算される中間変数piとgiを形成する第1段を備えて
いる。
位iのキャリービットciがわかっていると仮定する
と、和の位iのビットsiは、式 si=pici から得られる。
他方、ciは、 ci=gi-1+pi-1・ci-1 と定義される。
そこで、オペランドのビットai、biのみに依存する変
数piとgiをもとにしての繰り上げ近似により、キャリー
ビットを次々に計算することができる。この計算は、先
に説明したキャリー予測回路により実行される。加算器
は、式si=piciによって得られる和Sのビットsiを計
算する最終段を備えている。
ここで、数A、B、Cから連続部分として取り出され
ており、それぞれがビットai、bi、ci(iは関係するビ
ットからなるグループの位を示す)で構成されたビット
で形成されたグループを考える。cqが考えているグルー
プのうちの1つの中で見出される最下位のキャリービッ
トを表すことにすると、qよりも上位のiでは、 ci+1=Gi+Pi・cq であることを示すことが可能である。ここに、PiとG
iは、以下の再帰式 Pi=pi・Pi-1 Gi=gi+pi・Gi-1 (ただし、Pq=pq、Gq=gq)で定義される。
この最後の式を用いると、カスケード式に接続された
論理回路の数を減らしたキャリー予測回路を構成するこ
とができる。この回路に関しては第3図を参照してあと
で説明する。
ところでパリティビットの問題に関しては、数が一般
に同じmビットからなる複数のグループで形成されると
考えることができ、各グループには1つのパリティビッ
トが関係付けられることを見た。
従って、オペランドAとB、キャリーワードC、それ
に和Sは、それぞれ、例えばグループA1、A2、A3、A4
グループB1、B2、B3、B4、グループC1、C2、C3、C4、そ
れにグループS1、S2、S3、S4で構成されている。各グル
ープ、例えばAjには、対応するパリティビット、例えば
PAjを関係付ける。
以下の説明では、パリティビットに関しては、オペラ
ンド、キャリーワード、それに和が同類のグループのみ
を考える。すなわち、同じ位のビットで構成されたグル
ープのみを考える。さらに、記述を簡単にするため、グ
ループを同定する添字はもはや使用しない。最後に、1
つのビットの指数iは問題となっているグループに関す
る相対的な位であり、従って1とmの間の値になる。位
1というのは、グループ内の最下位である。
グループA、B、Sにそれぞれ関係するパリティビッ
トをPA、PB、PSと表記すると、関係式 PS=PAPBPC (ただし、PC=cm…ci…c2c1) が得られることが容易にわかる。
従って、PCは、加算の際に関与するキャリービットに
よって形成されたグループのパリティビットである。そ
の結果、上記の式を用いてPCを得るためには、すべての
キャリーを利用する必要がある。
ところで、理論計算により、PCを PC=Ycin・X (ただし、cinはc1すなわちグループの最下位のキャリ
ービットであり、XはXの補数である)の形に書ける
ことがわかる。ここで、 Y=G1G2…Gi…Gm-1 X=P1P2…Pi…Pm-1 であり、PiとGiは、以下の再帰式 Pi=pi・Pi-1 Gi=gi+pi・Gi-1 (ただし、P1=p1、G1=g1) を満たす。
もちろん、ワードの最下位ビットで構成されたグルー
プに対しては、通常の加算が行われるときにはcin=0
である。
以下に、上記の式を実行することによっていかにして
求める結果に到達できるかを記述する。
第1図は、本発明のパリティビット発生器に関係した
加算器の図である。
本発明を説明するため、加算すべき数AとBがそれぞ
れ4つのビットグループA1、A2、A3、A4とB1、B2、B3、
B4で構成されていると仮定する。各グループには対応す
るパリティビットが関係付けられている。例えばグルー
プA1はパリティビットPA1に関係付けられ、グループA2
はパリティPA2に関係付けられという具合である。
オペランドAならびにBと、これら2つのオペランド
に関係付けられたパリティビットは、それぞれレジスタ
RA、RB、RPA、RPBに保持される。
例えばオペランドA1とB1から取り出された同類の2つ
のグループをここで考える。グループA1はmビットa1i
で構成されており、グループB1はb1iで構成されてい
る。同じ位のビットa1iとb1iは、「排他的OR」回路と
「AND」回路を備えていて、変数 p1i=a1ib1i g1i=a1i・b1i を計算する回路11において組み合わされる。
他のグループに関係する回路12、13、14は回路11と同
じであり、これら回路の全体が加算器の第1段を形成し
ている。
キャリー予測回路20aは、入力に第1段10の出力を受
ける。この公知のキャリー予測回路20aを用いると、2
つのオペランドの加算に関与するすべてのキャリー
c1i、c2i、c3i、c4iを計算することができる。この回路
20aは、上記のグループにそれぞれ関係した複数の回路2
1a、22a、23a、24aで構成されていると考えることがで
きる。ただし、キャリーc1i、c2i、c3i、c4iは、上記の
グループにそれぞれ関係した複数の回路21a、22a、23
a、24aの出力には、後述するように、正確に対応するも
のではない。オペランドは、これらグループで形成され
る。
「排他的OR」で構成されている最終段30には、回路20
aのキャリーと、第1段10からの変数p1i〜p4iが入力さ
れる。回路30は加算結果Sのビッとs1i〜s4iを出力す
る。この回路30も、上記のグループにそれぞれ関係した
複数の回路31、32、33、34で構成されていると考えるこ
とができる。オペランドは、これらグループで形成され
る。従って、回路31は、式 s1i=p1ic1i を満たす第1のグループのビットs1iを出力する。上記
の説明は加算器のみに関しているが、以下には、この回
路のパリティビット発生器に関する部分を説明する。
図示の実施例では、オペランドAとBならびにその和
Sがmビットの4つのグループで構成されており、各グ
ループには対応する1つのパリティビットが関係付けら
れていると仮定する。
パリティビット発生器は、オペランドの同類グループ
のパリティビットと第1段10からの変数とをそれぞれ受
ける4つの演算回路41、42、43、44で構成されたユニッ
トを備えている。
例えば第1のグループと関係付けられた演算回路41は
パリティPA1、PB1と、回路11からの変数p1i、g1iを受け
る。これらの信号に応じて、演算回路41は、添字を取っ
た場合の上に示した式を満たす2つの変数X1とY1を出力
する。
同様にして、演算回路42、43、44は、それぞれ変数X2
とY2、X3とY3、X4とY4を出力する。
演算回路51、52、53、54で構成された最終段は、対応
するグループの変数X、Yと、問題となっているグルー
プに依存したキャリー信号とを受ける。
さらに詳細には、演算回路54は、第4のグループの最
下位のキャリービットである回路23aから出力されたキ
ャリーc3m+1を受ける。演算回路53は、第3のグループ
の最下位のキャリービットであるキャリーc2m+1を受
け、演算回路52は第2のグループの最下位のキャリービ
ットであるキャリーcm+1を受ける。通常の加算の場合に
は、演算回路51はキャリーc1=0を受ける。
一般に、c1iで対応する演算回路に入力されるキャリ
ーを表すと、各演算回路は、 PS=Ycin・X を満たす出力信号PS1...PS4を出力する。
従って、このようにして得られた変数PS1〜PS4は、和
から取り出された各グループに関係付けられたパリティ
ビットである。
上記の装置を一般化して、グループ数とグループ当た
りのビット数を任意にすることができる。
加算器の段10と30は、従来の「AND」と「排他的OR」
のタイプの論理回路で構成される。構成法は当業者には
公知であるので、ここでは詳しく説明しない。
これとは異なり、演算回路41〜44とキャリー予測回路
20aは詳しく説明する価値があるので第2図〜第8図を
参照して以下に記述する。
演算回路41〜44は互いに同等であるため、そのうちの
1つ、例えば演算回路41を説明すれば十分である。
さらに、本明細書の導入部分において、問題となって
いるグループのキャリービットに関係付けられたパリテ
ィの計算に問題点のあることを説明した。そこで、まず
最初に、第2図を参照して、パリティビットの計算を行
う装置を説明する。次に、第3図を参照して、この装置
を和のパリティビットの発生器に変えるにはどうしたら
よいかを説明する。
第2図は、8ビットからなるグループのキャリービッ
トと関係付けられたパリティビットの計算を行う回路の
図である。しかし、以下の説明がこの特定の場合に限定
されないのは明らかであり、この回路を任意のビット数
にいかにして一般化するかを示す。
第2図の回路は、変数p1、g1〜p7、g7を受ける第1の
演算回路41aを備えている。これら変数p1、g1〜p7、g7
は、先に説明した回路11または別の同一の回路によって
計算される。実際、回路11は、加算器と共通にすること
ができるが、高集積度の回路が実現できるならば、むし
ろ加算器とは独立な回路11を使用することが好ましい。
というのは、共通の回路11を使用すると、この回路で発
生するエラーが隠れてしまう可能性があるからである。
演算回路41aは、入力に4つの2進数Px、Gx、Py、Gy
を受けて、以下の関係式 Pz=Py・Px Gz=Gy+Py・Gx を満たす2つの2進数変数Pz、Gzを出力する第1のタイ
プの論理モジュールM1のみで構成されている。
このようなモジュールを用いて上記の構成にすること
により、iが1〜7の場合に、以下の再帰式 Pi=pi・Pi-1 Gi=gi+pi・Gi-1 (ただし、P1=p1、G1=g1) で定義される変数PiとGiを計算することができる。
出力変数の組Pz、Gzを2組の入力変数Px、GxとPy、Gy
に関係付ける関係式は、結合法則を満たすという重要な
性質をもつ。この性質があるため、この回路の層の数、
すなわちカスケード接続されるモジュールの数を最大限
に減らしてモジュールM1に変数Pi、Giを計算させること
ができるように構成することが可能になる。
以下に、再帰法によって第1の演算回路41aを構成す
る方法を説明する。指数iは、問題となっているビット
の位と、演算回路の対応する列の両方を表す。
i=1に対しては、直接にP1=p1、G1=g1が得られ
る。iが1または2の場合は、p1、g1にp2、g2を第1の
モジュール1においてさらに組み合わせる。このモジュ
ールは、P2、G2を出力する。iが3のときには、第3の
モジュール3が第1のモジュール1から出力されたP2
G2にp3、g3を組み合わせる。この第3のモジュール3は
P3、G3を出力する。iが4の場合には、別のモジュール
2がp3、g3とp4、g4を組み合わせ、このモジュール2の
出力は、別のモジュール4でモジュール1の出力と組み
合わされる。このモジュール4はP4、G4を出力する。こ
の結果が得られるのは、モジュールM1により実現される
結合法則のためである。
iが4よりも大きい場合に演算回路41aの構成を完全
なものにするためには、以下の方法に従えばよい。
iが1と2nの間の値のときの初期構成が実現されてい
る場合には、iが(2n+1)と2n+1の場合の構成は、こ
の初期構成に従って構成されてはいるが上位のほうに2n
列ずれたモジュールM1を追加することによって得られ
る。このようにして、新しい出力が得られる。次に、2n
個の追加モジュールM1を配置して、初期構成から出力さ
れた最上位の出力P2 n、G2 nと、これら新しい出力のそれ
ぞれを組み合わせる。
もちろん、この構成は次数(m−1)で止める。する
と、変数PiとGiのすべての値が得られる。従って、本実
施例では、第1の演算回路41aの出力で次数7までの変
数Pi、Giが得られる。
次に、演算回路41aの出力Pi、Giは第2の演算回路41b
の入力に入力される。
演算回路41bは、単に2つの「排他的OR」回路である
第2のタイプの論理モジュールM2で構成されている。こ
の演算回路41bは、4入力Xx、Yx、Xy、Yyであり、 Xz=XxXy Yz=YxYy を満たす2つの出力Xz、Yzを出力する。
これらモジュールM2を複数入力の「排他的OR」回路と
等価なピラミッド構造に配置するだけで十分であること
が直ちにわかる。従って、この構成にすると、関係式 Y=G1G2…Gi…Gm-1 X=P1P2…Pi…Pm-1 で定義される2つの変数XとYを得ることができる。
変数X、Yと、先に定義したキャリーcinは、第3の
演算回路51に入力される。この演算回路51の出力PCは、
論理式 PC=Ycin・X (ただし、cin(ここではcin=c1)はグループの最下位
のキャリービットであり、XはXの補数である)によ
って入力と関係付けられている。
実際には、mは常に2の冪であり、m=2nと書くこと
ができる。この場合、変数Pi、Giを得るのに必要な層の
数がnであることを容易に示すことができる。XとYを
得るのに必要な回路の層の数は2nであり、従ってパリテ
ィPCを得るための層の数は全体で(2n+1)である。従
って、m=8の場合には、パリティ発生器は7層の回路
で構成される。
和から取り出されたグループのうちの1つと関係付け
られたパリティビットを計算することのできる回路を実
現するためには、上記の回路を変更して、オペランドか
ら取り出されたグループと関係付けられたパリティビッ
トを関与させる。
関係式 PS=PAPBPC (ただし、PC=cm…ci…c2c1) が満たされており、「排他的OR」演算は交換法則と結合
法則を満たすことを考慮すると、パリティビットをYの
式に代入するだけで十分である。実際には、例えば「排
他的OR」を用いて第1の演算回路の任意の1つの出力Gi
を式PAPBGiで置換することができる。別の方法は、
第1の演算回路の任意の2つの出力GiとGjを、それぞ
れ、演算結果PAGiとPBGjで置換することである。
第3図は、この結果を得ることのできる第2図の回路
の変形例を示す図である。
この実施例によると、オペランドから取り出されたグ
ループのパリティビットPAとPBは、「排他的OR」回路5
で組み合わされる。この回路の出力は別の「排他的OR」
回路6で変数G1と組み合わされる。この第2の「排他的
OR」回路6は、変数G′=PAPBG1を出力する。
この回路の他の部分はまったく変えることがなく、演
算回路51の出力は、今や、問題となっているグループに
対する和のパリティビットPSを表す。
第4図は、キャリービット予測回路20aを備える加算
器の実施例の一部を示す図である。この回路そのものは
本発明の対象でないとはいえ、本発明の流れをよりよく
理解するには説明しておくのが有益であろう。
第1のグループのキャリー回路予測回路21aは、変数c
inと第1段10の出力とを受ける。
変数cinは、キャリーワードの最下位ビットc1に対応
する。通常の加算では、cin=0である。
しかし、この加算器は減算を実行するのに使用するこ
ともできる。実際、減算(A−B)の演算は、(A+B
+1)(ただし、BはBの補数である)を計算する
のと同じことである。
このためには、オペランドとしてAとBを用い、c
in=1である加算器を使用することができる。同様に、
このキャリービット計算装置は、やはりcin=1を第1
のグループの回路51に導入するという条件で使用するこ
とができる。
第4図の回路は、式 ci+1=Gi+Pi・cq を適用した構成である。
この回路は、変数PiとGiを計算するための先に定義し
た複数のモジュールM1を備えている。この回路はさら
に、3入力Px、Gx、cyと、関係式 cz=Gx+Px・cy を満たす出力czとを有する第3のタイプのモジュールM3
も備えている。
タイプM1とタイプM3のモジュールは、加算器の技術に
おいて「再帰解法」として知られる構成に従って配置さ
れる。
この回路は、キャリーciを出力し、この出力が次に回
路31内で同じ位の変数piと組み合わされる。
回路31は加算結果のビットsiを出力する。
加算器は、第2のグループの回路22aの32のほか、さ
らに次のグループの回路(図示せず)も備えている。
従って、第2図と第3図に示したパリティ発生器に関
与するキャリーは、加算器に属するキャリー予測回路か
ら取り出すことができる。しかし、このようにすると、
パリティ発生器で利用されるキャリービットに関するエ
ラーは完全に隠されてしまう可能性がある。この理由
で、これらパリティビットを計算するための独立した回
路を設けることが好ましい。
このような回路は加算器で使用される回路と同じにす
ることができるが、この回路を簡単化して、パリティビ
ットを発生させる際に関与するキャリービットしかこの
回路が出力しないようにするとよい。
第5図は、パリティ発生器の特別なキャリー予測回路
の図である。この回路は、パリティを関係付けられるグ
ループが8ビットを含む場合を表している。第1の部分
回路21はキャリーc9を出力する。このキャリーc9は、第
2のグループの回路52の入力信号となる。回路22は、第
3のグループの回路53の入力となるキャリーc17を出力
する。最後に、回路23(図示せず)は、第4のグループ
のためのキャリーc25を出力する。
もちろん、当業者であれば、この回路を変形してグル
ープが多数あって任意の長さである場合に適合させるこ
とが可能である。
加算する数がNビットである(Nは2の冪、すなわち
N=2rである)場合には、キャリー予測回路がr層を含
むことに注目することが重要である。この結果、加算器
は前部で(r+1)層を含むことになる。この結果は、
パリティ発生器を実現するのに必要とされる(2n+1)
層と比較される。従って、nをrの関数として選択する
とよい。
例えばN=64、m=8であるとすると、加算器とパリ
ティ発生器に対して正確に同じ数の層が得られる。しか
し、これは、これら2つの回路が正確に同じスピードで
あることを意味しているわけではない。実際、加算器と
パリティ発生器に関与する論理モジュールは互いに同等
ではない。特に、最終層では、演算回路51が加算器の最
終層31の「排他的OR」よりも複雑な演算を実行する。こ
の結果、パリティ発生器が加算器からのキャリーを利用
する場合には、パリティビットが得られるのが加算結果
が得られるのよりもわずかに遅くなる。しかし、加算器
の回路と独立なキャリー発生器を用いる場合には、この
ハンディキャップが相殺される。実際、第4図に示され
た回路と第5図に示された回路を比較すると、例えば回
路21aの最後から2番目のモジュールM3の1つが複数の
モジュールM3に出力を行うのに対し、第5図の回路では
そのようになっていないことがわかる。この結果として
この段に入力容量の差が生じ、従って第5図の回路は第
4図の回路よりも高速になる。従って、パリティ発生器
が相対的に複雑であることは、キャリー予測回路が簡単
化されることで相殺される。
以下に、本発明のパリティ発生器をCOMS技術で実現す
るための情報を与える。
モジュールM1が、 Pz=Py・Px Gz=Gy+Py・Gx を実行することは既に説明した。
しかし、CMOS技術では、相補的な機能とその二重機能
を得るのがより簡単になる。
第6図は、Gzの補数である変数Gz を得ることのでき
るCMOS回路の図である。この回路には、Pzの補数である
Pz を出力するNANDゲートを接続することができる。
第7図は、上記の二重機能を得ることのできる回路の
図である。つまり、Gx 、Gy 、Py はそれぞれGx
Gy、Pyの補数であり、第7図の回路は式 Gz=Gy+Py・Gx を満たすGzを出力する。
第7図はこの回路は、NORゲートに接続することがで
きる。従って、先に定義したモジュールM1の代わりにこ
れら回路をそれぞれ使用して、最終結果を変えることな
く第2図と第3図の回路を実現することができる。ただ
し、このためには適当なインバータを設ける必要があ
る。
これら回路はキャリー予測回路のモジュールM3を実現
するのに使用することもできる。
これら回路の構成法は当業者には公知であるため、こ
れ以上説明する必要はない。
第8図は、「排他的OR」機能を実現するためのCMOS回
路の一例を示す図である。この回路は、例えば第2図と
第3図のモジュールM2と51を実現するのに使用すること
ができる。
【図面の簡単な説明】
第1図は、加算器と本発明の装置を含む全体の回路図で
ある。 第2図は、キャリーワードから取り出された8ビットか
らなるグループに関係するパリティビットの計算装置の
図である。 第3図は、2つの2進数の和から取り出された8個のビ
ットからなるグループに関係するパリティビットを計算
する装置の図である。 第4図は、本発明の装置と組み合わされる加算器の一例
を示す図である。 第5図は、本発明の一実施例によるキャリー予測回路の
図である。 第6図と第7図は、本発明の装置で使用することのでき
る論理モジュールの実施例を示す図である。 第8図は、本発明の装置で使用することのできる別のモ
ジュールの実施例を示す図である。 (主な参照番号) 5、6……排他的OR回路、 10……第1段、 20A、21a……キャリー予測回路、 30……最終段、 41〜44、41a、41b、51〜54……演算回路、 A、B……オペランド、 A1〜A4、B1〜B4……ビットグループ、 c1i、c2i、c3i、c4i……キャリー、 M1、M2、M3……論理モジュール、 PA1〜PA4、PB1〜PB4……パリティビット、 RA、RB、RPA、RPB……レジスタ、 S……和
フロントページの続き (72)発明者 ミシェル ティル フランス国 78340 レ−クレイ−ス ー‐ブワ リュ ドゥ ラ スタシヨン 36 (56)参考文献 特公 昭56−13336(JP,B2) 特公 昭59−48421(JP,B2)

Claims (7)

    (57)【特許請求の範囲】
  1. 【請求項1】2つの2進数(A、B)の加算の際に現れ
    るキャリーワード(C)から取り出される一連のmビッ
    トからなる少なくとも1つのグループに関連したパリテ
    ィビット(PC)を計算する計算装置であって、 上記2つの2進数(A、B)の各々が、複数のmビット
    からなる少なくとも1つのグループを含み、 上記グループがそれぞれ、上記2進数(A、B)及び上
    記キャリーワード(C)に属する同じ位の複数のビット
    で構成されており、しかも、これらのグループがそれぞ
    れ、{am,・・・,ai,・・・,a2,a1}、及び{bm,・・
    ・,bi,・・・,b2,b1}で構成されている(ただし、添字
    iは、グループ内のビットの位を表す) 計算装置において、 (a)1≦i≦(m−1)のすべてのiに対して、 pi=aibi gi=ai・bi [ただし、は、「排他的OR」演算を表す] を演算する第1段(11)と、 (b)1≦i≦(m−1)のすべてのiに対して、以下
    の再帰論理式 Pi=pi・Pi-1 Gi=gi+pi・Gi-1 [ただし、P1=p1、G1=g1] を満たすPi及びGiを演算する第1の演算器(41a)と、 (c)以下の式 X=P1P2・・・Pi・・・Pm-1 Y=G1G2・・・Gi・・・Gm-1 から、X及びYを演算する第2の演算器(41b)と、 (d)以下の式 PC=YCin・X [ただし、Cinは、グループの最下位キャリービット、
    は、Xの補数] から、パリティビットPCを演算する第3の演算器(51)
    と を備えていることを特徴とする計算装置。
  2. 【請求項2】請求項1記載の計算装置において、上記キ
    ャリービットCinは、上記計算装置に含まれる加算器(1
    0、20a、30)とは別の回路によって計算されることを特
    徴とする計算装置。
  3. 【請求項3】請求項1または2記載の計算装置におい
    て、上記第1段(10)は、上記計算装置に含まれる加算
    器(20a、30)と共通であることを特徴とする計算装
    置。
  4. 【請求項4】請求項1〜3いずれかに記載の計算装置に
    おいて、 上記第1の演算器(41a)は、それぞれが、4つの入力P
    x、Gx、Py、Gyに対して演算をおこなって、以下の式 Pz=Px・Py Gz=Gy+Py・Gx を満足する2つの出力Pz、Gzを提供する、第1のタイプ
    の複数の論理モジュール(M1)で構成されており、 上記複数の論理モジュール(M1)は、複数の列に組み立
    てられており、そして、 a)第1列及び第2列においては、p1、g1、p2、g2を4
    つの入力として演算を行って、P2、G2を出力する第1の
    論理モジュール(1)を備え、 b)第3列及び第4列においては、p3、g3、p4、g4を4
    つの入力として演算を行う第2の論理モジュール(2)
    と、P2、G2、p3、g3を4つの入力として演算を行って、
    P3、G3を出力する第3の論理モジュール(3)と、P2
    G2及び第2のモジュール(2)の2つの出力を4つの入
    力として演算を行って、P4、G4を出力する第4の論理モ
    ジュール(4)とを備え、 c)第1列〜第2n列において初期構成が実現されている
    場合に、第2n+1列〜第2n+1列においては、該初期構成
    と同一の構成でかつ2n列上位にずらされた論理モジュー
    ル群と、該論理モジュール群の2n対の出力それぞれと、
    上記初期構成の最上位列の出力P2 n、G2 nとを入力として
    演算を行う、2n個の第1のタイプの追加の論理モジュー
    ルとを備えている ことを特徴とする計算装置。
  5. 【請求項5】請求項4記載の計算装置において、 上記第2の演算器(41b)は、それぞれが、4つの入力X
    x、Yx、Xy、Yyに対して演算を行って、以下の関係式 Xz=XxXy Xz=YxYy を満足する2つの出力Xz、Yzを演算する、第2のタイプ
    の複数の論理モジュール(M2)で構成されており、 該第2のタイプの複数の論理モジュールは、ピラミッド
    構造に接続されてその底辺部の論理モジュールが、第1
    の演算器(41〜44)からの出力Pi、Giをできるだけ2対
    づつ受け取るよう接続されており、かつ以下の関係式 X=P1P2・・・Pi・・・Pm-1 Y=G1G2・・・Gi・・・Gm-1 を計算するように接続されている ことを特徴とする計算装置。
  6. 【請求項6】2つの2進数(A、B)の和から取り出さ
    れるmビットの少なくとも1つのグループに関連するパ
    リティビット(PS)を計算する計算装置において、 請求項1〜5いずれかに記載の計算装置を備え、かつ上
    記2つの2進数(A、B)から取り出されたそれぞれの
    グループのパリティビットPA、PBを導くための排他的OR
    回路(5、6)を備えており、 該排他的OR回路(5、6)は、 第1の演算器(41a)の任意の1つの出力Giに関して、 PAPBGi を出力して、この出力によって出力Giを置換するか、あ
    るいは 第1の演算器(41a)の任意の2つの出力Gi、Gjに関し
    て PAGi PBGj を出力して、これらの出力によって出力Gi、Gjを置換す
    る ように接続されており、これにより、第3の演算器(5
    1)から、上記パリティビットPSが得られるようにした
    ことを特徴とする計算装置。
  7. 【請求項7】請求項6記載の計算装置において、カスケ
    ード接続される第1のタイプの論理モジュールと上記排
    他的OR回路の論理モジュールとの最大層数が増加しない
    ように、排他的OR回路の論理モジュールが接続されてい
    ることを特徴とする計算装置。
JP1038109A 1988-02-18 1989-02-17 2つの数の和のパリティビットの計算装置 Expired - Fee Related JP2608600B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR8801910 1988-02-18
FR8801910A FR2627605B1 (fr) 1988-02-18 1988-02-18 Dispositif pour le calcul des bits de parite d'une somme de deux nombres

Publications (2)

Publication Number Publication Date
JPH01245334A JPH01245334A (ja) 1989-09-29
JP2608600B2 true JP2608600B2 (ja) 1997-05-07

Family

ID=9363358

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1038109A Expired - Fee Related JP2608600B2 (ja) 1988-02-18 1989-02-17 2つの数の和のパリティビットの計算装置

Country Status (5)

Country Link
US (1) US4958353A (ja)
EP (1) EP0329545B1 (ja)
JP (1) JP2608600B2 (ja)
DE (1) DE68900439D1 (ja)
FR (1) FR2627605B1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GR920100163A (el) * 1992-04-21 1993-12-30 Koloni Sofia & Sia E E Τεχνικές κατασκευές αυτοεπαλη?ευομένων μονάδων εκτέλεσης αρι?μητικών πράξεων & μονάδων επεξεργασίας δεδομένων βασιζόμενες σε κώδικες διπλής γραμμής & κώδικες άρτιας ή περιττής ισοτιμίας.
FR2713364B1 (fr) 1993-11-30 1996-01-12 Bull Sa Dispositif de calcul des bits de parité associés à une somme de deux nombres.
US5966029A (en) * 1997-07-15 1999-10-12 Motorola, Inc. Multi-bit exclusive or

Family Cites Families (4)

* 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
JPS5613336A (en) * 1979-07-14 1981-02-09 Towa Seiko Kk Hand labeler
EP0193711B1 (de) * 1985-01-25 1990-05-23 Siemens Aktiengesellschaft Schaltungsanordnung zur Funktionsüberwachung eines arithmetische Operationen ausführenden Rechenwerkes anhand von Paritätsbits

Also Published As

Publication number Publication date
US4958353A (en) 1990-09-18
EP0329545B1 (fr) 1991-11-21
JPH01245334A (ja) 1989-09-29
DE68900439D1 (de) 1992-01-02
EP0329545A1 (fr) 1989-08-23
FR2627605A1 (fr) 1989-08-25
FR2627605B1 (fr) 1990-06-15

Similar Documents

Publication Publication Date Title
Ma et al. Multiplier policies for digital signal processing
Erle et al. Decimal multiplication with efficient partial product generation
JP3244506B2 (ja) 小型乗算器
JPS61502288A (ja) X×yビット・アレ−掛け算器/アキュムレ−タ回路
EP0827069B1 (en) Arithmetic circuit and method
US6018758A (en) Squarer with diagonal row merged into folded partial product array
JPS62256034A (ja) パイプライン演算ユニツト
JP4607604B2 (ja) 4:2csaセル及び4:2キャリ保存加算方法
JPH0756635B2 (ja) 自己チェック式加算器
Jaberipur et al. Unified Approach to the Design of Modulo-(2^ n+/-1) Adders Based on Signed-LSB Representation of Residues
Dimitrakopoulos et al. New architectures for modulo 2n-1 adders
EP0467524B1 (en) Lookahead adder
KR100308726B1 (ko) 고속 산술 장치에서 올림수 예견가산기 스테이지의 수를 감소시키는 장치 및 방법
JP2608600B2 (ja) 2つの数の和のパリティビットの計算装置
JPH02293929A (ja) デジタルシステム乗算の方法及び装置
Neeraja et al. Design of an area efficient braun multiplier using high speed parallel prefix adder in cadence
US4549280A (en) Apparatus for creating a multiplication pipeline of arbitrary size
JPH03228122A (ja) 加算回路
US4523210A (en) Fast error checked multibit multiplier
RU2477513C1 (ru) Ячейка однородной вычислительной среды, однородная вычислительная среда и устройство для конвейерных арифметических вычислений по заданному модулю
JPH0454256B2 (ja)
JP2592584B2 (ja) 加算装置
JP3741280B2 (ja) 桁上げ先見回路およびこれを用いた加算回路
Zhabin et al. Methods of on-line computation acceleration in systems with direct connection between units
US6954773B2 (en) Providing an adder with a conversion circuit in a slack propagation path

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

LAPS Cancellation because of no payment of annual fees