JPH0454256B2 - - Google Patents

Info

Publication number
JPH0454256B2
JPH0454256B2 JP1096579A JP9657989A JPH0454256B2 JP H0454256 B2 JPH0454256 B2 JP H0454256B2 JP 1096579 A JP1096579 A JP 1096579A JP 9657989 A JP9657989 A JP 9657989A JP H0454256 B2 JPH0454256 B2 JP H0454256B2
Authority
JP
Japan
Prior art keywords
parity
carry
cin
bit
sum
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
JP1096579A
Other languages
English (en)
Other versions
JPH01304542A (ja
Inventor
Uashiriadeisu Sutamateisu
Maaku Shuwaatsu Eritsuku
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH01304542A publication Critical patent/JPH01304542A/ja
Publication of JPH0454256B2 publication Critical patent/JPH0454256B2/ja
Granted 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

Landscapes

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

Description

【発明の詳細な説明】 A 産業上の利用分野 本発明はデイジタル計算機システムのためのエ
ラー検出に係り、特に高速2進加算器のためのパ
リテイ予測論理に係る。
B 従来技術及びその課題 2進加算器はデイジタル計算機システムの重要
な構成要素であり、従つてその速度及び信頼性が
計算機システム設計で大きな関心を集めている。
よく知られているように、2つのオペランドに対
する演算結果の生成という点では、リプル桁上げ
加算器よりも桁上げ先見加算器の方が速い。桁上
げ先見加算器は様々な形を取るが、本発明は高速
2進加算器の設計ではなくて、そのエラー検出の
ための検査論理に関する。
計算機の使用形態は、過去においては、オフラ
インのバツチ処理が殆んどであり、ハードウエア
の誤動作が検出されなくてもそれ程の影響はなか
つた。しかし今日では、メインフレーム計算機で
さえ、オンラインの情報処理、データ入力及び検
策、プロセスの実時間制御等に利用されている。
これらのアプリケーシヨンでは、計算機の誤動作
はできるだけ早く検出する必要がある。ところ
が、デイジタル計算機の大型化及び複雑化に伴な
い、正確な動作の確認が益々難しくなつてきてい
る。
最近の計算機システムは、信頼性を上げるため
にエラー検出機構を組み込んでいる。その代表的
なものがパリテイ検査であり、通常はバイト毎に
1つのパリテイ・ビツトを付加している。計算機
システムの構成ユニツト間でのデータ転送は標準
のフオーマツトで行われ、例えば4バイトのワー
ド単位で転送する場合は、全部で36ビツト(32デ
ータ・ビツト+4パリテイ・ビツト)が転送され
る。
このようなワードが例えば加算器で操作される
時は、パリテイ・ビツトは各バイトから切離さ
れ、別に処理される。2つのワードを加算で組合
わして結果のワードを生成する場合、結果の各バ
イトに対してパリテイ・ビツトを生成しなければ
ならない。以前は、このようなパリテイ・ビツト
は、加算器から結果ワードが出力されてから生成
されていた。しかし現在では、加算操作の速度を
上げるため、加算操作と並行して結果のパリテ
イ・ビツトを予測することが一般に行われてい
る。生成された予測パリテイは結果ワードの実パ
リテイと比較され、もし不一致であれば、その時
発生されるエラー信号により加算操作が繰返され
る。再びエラーが検出されると、加算器が誤動作
したものとみなされる。
加算器は一般に2つの複数ビツト・オペランド
を使用する。オペランドを組合せて演算結果を生
成する際にオペランド・ビツトが2進加算器によ
つて変換されるので、演算結果のパリテイ・ビツ
トを予測するのは難しい。この問題を解決するた
め、加算器のエラー検査で一般に使用されている
技術は、2つの同じ加算器を装備して、それらの
演算結果をビツト単位で比較することにより、エ
ラーが生じでいないかどうかを検査するものであ
る。3つの同じ加算器を用いて、それらの演算結
果に対し多数決をとるものもある。
しかし、上述の技術は何れも欠点がある。ま
ず、同じ加算器を重複して設けるとコスト高にな
る。また、加算器の動作中ずつとパリテイ・ビツ
トを保存しておくことはできない。これは、同じ
システムの他のすべての区域でパリテイ・ビツト
がずつと保存されている場合には望ましくない。
従つて、加算器の出力に対する正しいパリテイ
を予測するためのパリテイ予測論理を構築するの
が好ましい。
パリテイ予測方式は例えば米国特許第3925647
号明細書及び1981年5月刊のIBM Technical
Disclosure Bulletin第23巻、第12号に掲載
Kalandra外の文献に記載されている。しかし、
これらで使用されているパリテイ予測回路はかな
り複雑であり、場合によつては加算器自身よりも
長い遅延が生じることがある。遅延をなくすこと
は、特にパイプライン式処理システムでは重要で
ある。パリテイ予測遅延があると、システム設計
者は、システムを加算器の速度で動作させ且つ加
算器の誤動作によるシステム・エラーを解決する
ための手段を設けるか、又はパリテイ予測回路の
遅延を考慮してシステムの動作速度を下げるかの
選択を迫られる。
米国特許第3911261号明細書は別のパリテイ予
測方式を開示しているが、N段の装置(例えばレ
ジスタ)のうちのK段(K<N)かの情報を用い
てパリテイを予測しているので、予測確率は100
%ではない。予測が外めた時のエラー及び遅延は
今日の計算機では許容し得ないものである。
C 課題を解決するための手段 本発明に従う2オペランド加算器のためのパリ
テイ予測回路は少なくとも加算器自身と同程度の
速さで動作する。これは、オペランドの加算結果
を表わす和のバイトをセグメント化することによ
り達成される。各和バイトは、所定の連続ビツト
から成る少なくとも3つのグループにセグメント
化される。後述の実施例では、第1グループは和
バイトの上位2ビツトを含み、第2グループは次
の3ビツトを含み、第3グループは下位3ビツト
を含む。各グループに対して部分パリテイ・ビツ
トが生成され、それらの排他的ORをとることに
より、当該和バイトのためのパリテイ・ビツトが
生成される。パリテイは、オペランド及び該オペ
ランドと共に加算器に供給される桁上げビツトか
ら予測される。従つて、外部で生成されたパリテ
イ入力ビツト及び内部桁上げビツトを使用する必
要はない。後述の実施例は最小限の論理ゲート
(排他的ORゲート)でパリテイ予測を行う。
D 実施例 本発明を実施し得る代表的な計算機システムの
構成を第2図に示す。このシステムは、それぞれ
が主記憶装置10及びI/O資源14を有する1
以上のCPU10を含む。CPU10で演算される
オペラインドは、アドレス・バス15へアドレス
を出力することによつて主記憶装置12からデー
タ・バス16を介して得られる。米国特許第
3400371号明細書はこのようなシステムの詳細を
開示している。
CPU10の内部構造の1例を第3図に示す。
制御装置(C)18はアドレス・レジスタ(AR)1
9を介してアドレス・バス15へアドレス情報を
出力する。それに応答して主記憶装置12から読
み出されたプログラム命令はデータ・バス16及
びデータ・レジスタ(DR)20を介して命令レ
ジスタ(IR)21にロードされる。制御装置1
8は命令レジスタ21にロードされた命令を解読
し、CPU動作を制御する同期及び制御信号を発
生する。これらの信号に応答して、主記憶装置1
2からオペランドが取出されて、一対のオペラン
ド・レジスタ(OPA、OPB)30に供給され、
ALU32で演算される。ALU32は演算結果を
出力レジスタ34に供給する。この演算結果は、
主記憶装置12に書込まれたり、CPU10の他
の内部レジスタに転送されたりする。
本発明の装置を含むALU32の詳細を第1図
に示す。図示のように、ALUは、オペランド・
レジスタ30から2つのオペランドA及びBを受
取る通常の桁上げ先見加算器(CLA)40を含
む。
各オペランドは、4つの8ビツト・バイトヘグ
ループ分けされる32データ・ビツトから成る標準
形式で供給される。ここでは、オペランドAのバ
イトをA〓〜A(3)で示し、オペランドBのバイト
B〓〜B(3)で示すことにする。オペランドA及び
オペランドB共に、バイトの重みはA〓及びB〓
が最高であり、以下順に下つてA(3)〜B(3)が最下
位バイトになつている。従つて、バイトA(i)はバ
イトA(i+1)よりも桁が上である。各オペラ
ンドのヒツトはai又はbiで示す。iは0から31ま
での値をとる正の整数である。バイトの場合と同
じく、ビツトの重みもiが大きくなるにつれて下
がり、ビツトiはビツトi+1よりも上位の桁に
なる。
CLA40は公知の手順に従つて、オペランド
と桁上げ選択回路42からの桁上げ入力信号Cin
とを組合せる。Langdon外の論文“Concurrent
Error Dection for Group Look−Ahead
Binary Addres”、IBM Techinal Report、
TR01.1200、1969年8月26日、はこのような桁上
げ先見加算器の動作を詳しく説明している。桁上
げ選択回路42も通常のもので、例えば米国特許
第3986015号明細書に記載の如き回路を使用でき
る。Cinは2値信号であり、それが第1の状態に
あると、CLA40の最下位ビツト位置に1の桁
上げが入力される。これに対して、Cinが反対の
第2状態にあると、0の桁上げが入力される。
CLA40はオペランドA及びBをCin信号と組合
せて、演算結果を表わす32ビツトの和Sを生成す
る。和Sは、4つの和バイトS〓〜S(3)に区分さ
れる32データ・ビツトs0〜s31を含む。和のビツ
ト及びバイトの重みづけはオペランドの場合と同
じである。
本実施例におけるCLA40は、前述の
Langdon外の論文に記載されている型の加算器
であり、パリテイ回路44でエラー検出を行うも
のとする。パリテイ回路44は和ビツトs0〜s31
に応答して各和バイトS〓〜S(3)に対するパリテ
イ・ビツトを計算する。パリテイ回路44も通常
のものであり、例えば前述の米国特許明細書に記
載の如き回路を使用できる。パリテイ回路44の
出力は排他的OR(XOR)回路46へ供給される。
XOR回路46には、本発明の回路、すなわちパ
リテイ予測回路48の出力も供給される。
パリテイ予測回路48は、加算器40へ供給さ
れる両方のオペランド及びCin信号を受取り、パ
リテイを予測して、和Sの各バイトに対する適切
に条件づけられたパリテイ・ビツトを供給する。
パリテイ予測回路48の出力はXOR回路46へ
送られ、そこでパリテイ回路44からのパリテ
イ・ビツトと比較される。XOR回路46は、回
路44及び48の出力が同じかどうかを示す信号
Eを出力する。
次に、数式を用いてパリテイ予測を説明する。
以下では、次のような表記法及びブール等価式を
用いる。
表記法 (1)′は反転を表わす。
(2) (a+b)はa及びbのORを表わす。
(3) (ab)はa及びbのANDを表わす。
(4) は排他的OR(XOR)を表わす。
(5) Tiはビツトiの桁上げ伝播を表わす。
(6) Giはビツトiの桁上げ生成を表わす。
(7) Hiはビツトiの半和を表わす。
(8) Tx−yはビツトxからビツトyまでの桁
上げ伝播信号を表わす。
(9) Gx−yはビツトxからビツトyまでの桁
上げ生成信号を表わす。
(10) Pcx−yはビツトxからビツトyまでの桁
上げのパリテイを表わす。
(11) Psx−yはビツトxからビツトyまでの
和のパリテイを表わす。
(12) 0は最上位ビツトを表わす。
ブール等価式 (1.1) 1a=a′ (1.2) a+b=abab (1.3) a+a′b=a+b (1.4) Ti=(ai+bi) (1.5) Gi=(aibi) (1.6) Hi=(aibi)=TiGi′ “桁上げ”は、同じ桁のオペランド・セグメン
トを組合せることによつて生成され、次の上位桁
のオペランド・セクメントの組合せへ伝播される
量のことである。例えば“Cin”は、オペランA
及びBの最下位バイトの加算に使用すべく加算器
に送られる。次の桁のオペランド・バイトA2及
びB2の組合せに対する桁上げ入力は、A3,B
3及びCinの和の桁上げ出力である。
前述のLangdon外の論文は、桁上げ先見加算
器のための従来のパリテイ予測方式を記載してい
る。それによれば、加算に対するパリテイは次式
で与えられる。
Ps=PsPbPc (1) 上式において、Psは和のパリテイ、Psはオペ
ランドAのパリテイ、PbはオペランドBのパリ
テイ、Pcは桁上げのパリテイをそれぞれ表わす。
上式を直接実現しようとすると、加算結果の生成
に関してかなりのパリテイ予測遅延が生じる。或
るビツトへの桁上げが計算されてしまうと、普通
は和を生成するのに1段分の遅延しか必要としな
いが、桁上げのパリテイPcを計算するためには、
各ビツトへの桁上げの計算後にXORトリーを必
要とし、従つて、演算結果よりもかなり遅れてパ
リテイが生成される。
加算操作に要する実行サイクルの数を減ららす
ためには、和のパリテイを予測することによつて
パリテイ及び演算結果が同時に得られるようにす
るのがよい。
Langdon外の論文では、パリテイ予測式の実
現は、今日までずつと踏襲されてきた初期の桁上
げ先見アーキテクチヤに基いている。当時の回路
技術ではフアンインに制限があつたため、オペラ
ンド及び和のバイトは2つの4ビツト・グループ
に分割されていた。各4ビツト・グループの和及
び桁上げ出力は、隣接する下位の4ビツト・グル
ープからの桁上げ先見の生成によつて左右されて
いた。Longdon外の論文に見られる従来のパリ
テイ予測の公式化は、次のステツプに従うセグメ
ント化を反映している。
1 和及びオペランドの各バイトを2つの4ビツ
ト・グループに分ける。
2 隣接する下位のグループに応じて各グループ
への桁上げを生成する。
3 グループ内部の半和Hiを生成する。
4 グループ内部の伝播信号T及び生成信号Gを
生成する。
5 次に従つてグループのパリテイを計算する。
Ps=PaPbG0G12(G0H1H2′+G1H2)Cin(H
0′+H1H2′)(2a) 6 あるいは次式を使つてもよい。
Ps=T0T1T2H3(G0H1H2′+G1H2)(CinH0′
+CinH1H2′)(2b) 式(2a)及び(2b)は何れも4ビツトのグル
ープを仮定しているので、8ビツト・バイトに適
用するには修正する必要がある。式(2a)の場
合は次のようになる。
Ps=Pa1Pb1G0G1G2(G0H1H2′+G1H2)C4(
H0′ +H1H2′)Pa2Pb2G45G6(G4H5H6′+G5
H6)Cin(H4′+H5H6′)(3) 上式において、Pa1、Pb1は和バイトの最初の
4ビツト・グループのパリテイを表わし、Pa2、
Pb2は第2の4ビツト・グループのパリテイを表
わす。C4はバイトの上位4ビツトへの桁上げで
ある。式(3)を実現するには、バイト、入力のバリ
テイ及び第3ビツトへの桁上げに対して13個の
XORゲートを必要とする。式(2b)を和バイト
のパリテイ予測のために修正すると次のようにな
る。
Ps=T0T1T2H3(G0H1H2′+G1H2)(C4H0′ +C4H1H2′)T4T5T6H7(G4H5H6′ +G5H6)(CinH4′+CinH5H6′) (4) 式(4)の場合は、必要なXORゲートの数が11に
減つている。
前述のように、加算操作におけるパリテイは式
(1)で与えられるが、本発明もこれに基いているの
で、次に再記しておく。
Ps=PaPbPc (2.1) バイト当りのパリテイを1ビツトにするのであ
れば、和の各バイトに対して式(2.1)を実現し
なければならない。そのため、本発明では和バイ
トのグループ分けを行う。。例えば、次のように
和バイトを2ビツト−3ビツト−3ビツトグルー
プに分ける。
上記において、和バイトS(j)のビツトは、番号
iが最上位であり、i+7が最下位である。他の
和バイト及びオペライト・バイトについてもビツ
トの重みづけは同じである。Cinは1つ下位の和
バイトS(j+1)からの桁上げ出力を表す。た
だしj=3の場合は、桁上げ選択回路42からの
桁上げ信号になる。Cin1はビツト・グループi
+2〜i〜4への桁上げ入力であり、Cin2はビ
ツト・ウループi〜i+1への桁上げ入力であ
る。
和バイトのパリテイはその各ビツトs0〜s7の排
他的ORをとることによつて得られるが、上述の
グループ分けに従うと次式で与えられる。
Ps0−7=Ps0−1Ps2−4Ps5−7 (2.2) 式(2.1)に従つて右辺の各項を書き直すと次
のようになる。
Ps5−7=Pa5−7Pb5−7Pc5−7 Ps2−4=Pa2−4Pb2−4Pc2−4 Ps0−1=Pa0−1Pb0−1Pc0−1 3ビツトのグループにおいては、次式から4つ
の桁上げが計算される。
Cin=当該グループへの桁上げ入力 Ci=Gi+TiCin Ci−1=Gi−1+(Ti−1)G1+(Ti−1)TiCin Ci−2=当該グループからの桁上げ出力 ビツト5〜7のグループにおける桁上げは次の
ようになる。
Cin=前の桁上げ C7=G7+T7Cin C6=G6+T6G7+T6T7Cin C5=Cout 従つて、 Pc5−7=CinC7C6=Cin(G7+T7Cin)(G6+T6
G7+T6T7Cin)(3.2) 式(1.1)、(1、2)及び(1.6)を用いて右辺
の第2項を書き直すと、 G7+T7Cin=G7T7CinG7T7Cin=G7T7Cin(1+G7)
=G7H7Cin(3.3) 同様にして式(3.2)の右辺第3項を書き直す
と、 G6+T6G7+T6T7Cin=G6T6G7G6T6G7T6T7CinG6T6
T7Cin T6T7G7CinT6T7G6G7Cin (3.4) ここで、 x=T6G7G6T6G7=T6G7(1G6)=T6G7G6′=H6G7 y=T6T7Cin(1G6)=H6T7Cin z=T6T7Cin(1G6)=H6T7G7Cin とおくと、 G6+T6G7+T6T7Cin=G6xyz=G6G6G7H6T7C
inH6T7G7Cin =G6H6G7H6T7Cin(1G7) となるから、結局式(3.4)は次式のようになる。
G6+T6G7+T6T7Cin=G6H6G7H6T7Cin (3.5) 式(3.3)及び(3.5)を式(3.2)に代入する
と、 Pc5−7=Cin(G7H7Cin)(G6H6T7H6H7Cin) =G6G7H6G7Cin(1H7H6H7) =G6G7H6G7Cin(1H(1H6) =G6G7H6G7Cin(1H7H6′) =G6G7H6G7Cin(H7′+H6) (3.6) 同様にして次式も導ける。
Po2−4=G3G4H3G4Cin1(H4′+H3) (3.7) Pc0−1は2ビツトのグループに対するもので
あり、このグループにおける桁上げは、 Cin2=桁上げ入力 C1=G1+T1Cin2 C0=桁上下出力 であるかる、Pc0−1は次のように導ける。
Pc0−1=Cin2C1=Cin2(G1+T1Cin2) =Cin2G1T1Cin2G1T1Cin2=Cin2G1T1Cin2(
1G1) =Cin2G1H1Cin2=G1Cin2(1H1)=G1H1′
Cin2(3.8) バイト内の各グループの桁上げの予測パリテイ
をまとめると次のようになる。
Pc5−7=G6G7H6G7Cin(H7′+H6) (3.6) Pc2−4=G3G4H3G4Cin1(H4′+H3) (3.7) Pc0−1=G1H1′Cin2 (3.8) グループのパリテイ 桁上げのパリテイ予測のための式を用いて、3
つの和グループのパリテイを導くことができる。
ビツト5、6及び7のグループに対するパリテ
イPa及びPbは次のようになる。
Pa5−7=a5a6a7 Pb5−7=b5b6b7 従つて、和ビツトs5〜s7のパリテイは Ps5−7a6a7b5b6b7G6G7H6G7Cin(H7
′+H6) ここで、 a6b6G6=a6b6a6b6=a6+b6=T6 a7b7G7=T7 及び a5b5=H5 が成立するから、パリテイは次のようになる。
Ps5−7=T6T7H5H6G7Cin(H7′+H6) (4.1) 同様にして、和の他のグループ・バリテイも次
のように導くことができる。
Ps2−4=T3T4H2H3G4Cin1(H4′+H3)(4.2) Ps0−1=T1H0H1′Cin2 (4.3) 式(4.1)の右辺は次ように書き直せる。
T6T7H5H6G7(H7′+H6)Cin =T6T7(Cin+Cin′)H5H6G7(H7′H6)Cin
) =T6T7CinT7Cin′H5H6G7(H7′+H6)Cin ここで、 T7CinCin(H7′+H6)=Cin(T7(H7′+H6))=C
in(T7′(H7′+H6)+T7H7H6′)=Cin(T7′+T7′H
6
+T7H7H6′) =Cin(T7′+T7H7H6′)=Cin(T7′+T7T7G7′H6) =Cin(T7′+T7G7′H6)=Cin(T7′+G7′H6′) であるから、 Ps5−7=H5T6H6G7T7Cin′Cin(T7′G7′H6
) となり、ここで T7Cin′Cin(T7′+G7′H6′)=Cin(T7′+G7′H6
′)+T7Cin′ とすると、 Ps5−7=H5T6H6G7((T7′+G7′H6′)Cin+T7
Cin′) 上式で右辺中で、 T6H6G7=G7+T6G7′ であるから、結局次式が成立する。
Ps5−7=H5(G6+T6G7′)((T7′+G7′H6′)C
in+T7Cin′)(4.4) 式(4.4)の右辺は排他的ORを2つしか含んで
いない。ビツト2〜4に対しても同様にして導く
ことができる。
Ps2−4=H2(G3+T3G4′)((T4′+G4′H3′)C
in1+T4Cin1)(4.5) ビツト0及び1に対する和のパリテイは次のよ
うになる。
Ps0−1=H0T1Cin2T1Cin2′H1′Cin2 =H0T1Cin2T1Cin2′(T1′+G1)Cin2 =H0T1Cin2′Cin2(T1(T1′+G1)) =H0T1Cin2′Cin2(T1′(T1′+G1))+T1(T1
G1′)) =H0T1Cin2′Cin2(T1′+T1G1′) =H0T1Cin2′Cin2(T1′+G1′) =H0(T1Cin2′+(Cin2′+T1G1)+Cin2(T1′+
G1′(T1′+Cin2)) =H0(T1Cin2′+Cin2(T1′+G1′)) =H0(T1Cin2′+G1′Cin2} (4.6) バイト内の各グループに対する和のパリテイを
まとめると次のようになる。
Ps5−7=H5(G6+T6G7′)((T7′+G7′H6′)C
in+T7Cin′)(4.4) Ps2−4=H2(G3+T3G4′)((T4′+G4′H3′)C
in1+T4Cin1′)(4.5) Ps0−1=H0(T1Cin2′+G1′Cin2) (4.6) 式(4.4)〜(4.6)は、和バイトの3つのグル
ープに対する第1のパリテイ予測方法を記述する
ものである。
式(4.1)〜(4.3)から和バイトのグループに
対する第2のパリテイ予測法を導くことができ
る。これは正の桁上げ入力項だけを用いるもので
ある。式(4.1)及び(4.2)は次のように変形さ
れる。
Ps5−7=T6T7H5H6G7Cin(H7′+H6)=T7H5
T6T6G6′G7Cin(H7′+H6) =T7H5T6(1G6′G7)Cin(H7′+H6) =T7H5(G6+T6G7′)Cin(H7′+H6)(4.7) 同様に、 Ps2−4=T4H2(G3+T3G4′)Cin1(H4′+H3)
(4.8) Ps0−1を与える式(4.3)は変わらない。
これで和のパリテイを与えるための2つの方法
が導かれたことになる。第1の方法は式(4.4)
(4.5)及び(4.6)に従い、第2の方法は式
(4.7)、(4.8)及び(4.3)に従う。次にこれらの
式を用いて和のバイトのパリテイを決定するステ
ツプについて述べる。和バイトのパリテイは桁上
げ入力項によつて左右される。前述のようなグル
ープ分けの場合、桁上げ入力項は次のようにな
る。
Cin=当該バイトへの桁上げ入力 Cin1=G5−7+T5−7Cin Cin2=G2−7+T2−7Cin これから明らかなように、バイトのパリテイは
Cinによつて異なるが、バイト内部の桁上げには
関係しない。前述の第1及び第2の方法を規定す
る式をこれらの桁上げ入力項を用いて書き直すと
次のようになる。
方法1 Ps5−7=H5(G6+T6G7′)((T7′+G7′H6′)C
in+T7Cin′)(5.1) 2−4=H2(G3+T3G4′)((T4′+G4′H3′)(
G5−7+T5− 7Cin)+T4(G5−7+T5−7Cin)′) (5.2) Ps0−1=H0T1(G2−7+T2−7Cin)′+G1′(G1′
(G2−7+T2−7Cin))(5.3) 方法2 Ps5−7=H5T7(G6+T6G7′)Cin(H7′+H6)(
5.4) Ps2−4=H2T4(G3+T3G4′)((G5−7+T5−7
Cin)(H4′+H3))(5.5) Ps0−1=T1H0(G2−7+T2−7Cin)H1′ (5.6) 何れの方法においても、和バイトのパリテイは
3つの式の排他的ORをとることによつて得られ
る。第1の方法でパリテイを生成する場合。必要
な排他的ORゲートの数は7つである。
これらの式を実現する場合、Cinの計算に数サ
イクルを要することがあるので、各バイトについ
てCinが予測される。桁上げ回路はよく知られて
おり、例えばLangdon外の論文にある式(3)〜(6)
によつて表現される。Cinが0の場合及びCinが
1の場合のパリテイを得るのに並列ハードウエア
を使用することができる。これは、方法1では次
のようになる。
Cin=1の場合 Ps5−7=H5(G6+T6G7′)(T7′+G7′H6′)(5
.1a) Ps2−4=H2(G3+T3G4′)((T4′+G4′H3)(G
5−7+T5−7) +T4(G5−7′T5−7′)) (5.2a) Ps0−1=H0(T1(G2−7′T2−7′)+G1′(G2−7
+T2−7))(5.3a) Cin=0の場合 Ps5−7=H5(G6+T6G7′)T7 (5.4a) Ps2−4=H2(G3+T3G4′)((T4′+G4′H3′)G
5−7+T4G5−7′)(5.5a) Ps0−1=H0(T1G2−7′+G1G2−7)(5.6a) 式(5.1a)及び(5.4a)はそれぞれ次のように
書き直すことができる。
Ps5−7=H5(T6′G7′+G6′H7+G6G7} (5.1b) Ps5−7=H5(T6′G7′+T6T7′+G6′G7) (5.4b) 第4図はパリテイ予測回路48の構成を示した
もので、桁上げ生成回路50、H、T及びGを生
成する中間項生成回路52、グループ・パリテイ
予測回路56、並びに複数の3入力排他的OR
(XOR)回路58を含んでいる。
桁上げ生成回路50の構成及び動作はすべて公
知のものであり、外部からのCin、オペランドA
及びオペランドBに応答して、バイト桁上げ信号
Cin、Cin(2)、Cin(1)及びCin〓を生成する。これ
らは、或る和バイトから次の上位桁の和バイトへ
の桁上げを表わす。例えばCinは、最下位の和ビ
ツトを生成する回路への桁上げ入力を表わし、オ
ペランドA及びBの最下位ビツトと組合わされ
る。Cin(2)は最下位の和ビツトS(3)の生成から生
じる桁上げ出力を表わし、和バイトS(2)の生成の
ための桁上げ入力となる。同様に、Cin(1)及び
Cin〓はそれぞれ和バイトS(1)及びS〓を生成す
るための桁上げ入力である。桁上げ生成回路50
からの桁上げ信号は式(5.1)〜(5.6)における
Cin項に対応している。Cinの生成は容易である。
例えば第4図では、反転器51によつてCin〓の
補数であるCin〓′を生成している。第4図には
示していないが、他のCinの補数も同様にして生
成することができる。
第5図は、最初の和バイトS〓のパリテイ・ビ
ツトを計算するために、式(1.4)〜(1.6)に従
つて中間項H、T及びGを生成する回路を示して
いる。第5図から明らかなように、これらの項は
オペランドA及びBの最上位バイトを構成する8
ビツトa0〜a7及びb0〜b7から生成される。第6
図及び第7図は、AWDゲート及びORゲートの
組合せによつてG5−7、T5−7、G2−7及び
T2−7を生成する回路を示している。これらの
項も公知であり、Langdon外の論文の第2頁に
記載されている。第5図〜第7図の回路は、オペ
ランド・レジスタ30を除いて、中間項生成回路
52に含まれる。図には示していないが、中間項
生成回路52は和バイトS(1)〜S(3)のための同様
な回路を含んでいる。
第4図に示したグループ・パリテイ予測回路5
6は、桁上げ生成回路50からの桁上げ信号及び
それらの補数信号を回路52からの中間項信号と
組合せることにより、和バイトS〓〜S(3)に対す
る予測パリテイ・ビツトP0〜P3を計算するのに
必要なグループ・パリテイ予測ビツトを生成す
る。以下では、グループ・パリテイ予測回路56
において、パリテイ・ビツトP0の計算に必要な
グループ・パリテイ・ビツトを生成する部分だけ
を説明するが、他のグループ・パリテイ・ビツト
も同様にして生成することができる。
和バイトS〓のパリテイ・ビツトP0を計算す
るためには、前述の2組の式(5、1)〜(5.3)
及び(5.4)〜(5.6}の何れかに従つて3つのグ
ループ・パリテイ・ビツトPs0−1、Ps2−4及
びPs5−7を生成しなければならない。
方法1すなわち式(5.1)〜(5.3)に従つてグ
ループ・パリテイ・ビツトを生成する回路を第8
図〜第10図に示す。これらの回路は最終段の
XORゲート60,62及び64からグループ・
パリテイ・ビツトPs5−7、Ps2−4、及びPs0−
1をそれぞれ生成する。これらのグループ・パリ
テイ・ビツトはXOR回路58で組合わされて、
和バイトS〓の予測パリテイ・ビツトP0が生成
される。
第11図〜第13図は、式(5.4)〜(5.6)に
従つてグループ・パリテイ・ビツトPs5−7、
Ps2−4及びPs0−1を生成する回路を示してい
る。これらのグループ・パリテイ・ビツトもその
排他的ORをとることによつて予測パリテイ・ビ
ツトP0を生成する。
第8図〜第13図の回路を構成している種々の
論理ゲートの入出力接続は、図から明らかなよう
に、式(5.1)〜(5.6)にそれぞれ従つてなされ
ている。
E 発明の効果 本発明によれば、最小限の遅延で加算操作のた
めパリテイ予測を行うことができる。
【図面の簡単な説明】
第1図は本発明に従うパリテイ予測回路を組込
んだ加算器の構成を示すブロツク図。第2図は本
発明を適用し得る計算機システムの概略を示すブ
ロツク図。第3図は第2図の計算器システムにお
けるCPUの構成を示すブロツク図。第4図はパ
リテイ予測回路48の構成を示すブロツク図。第
5図乃至第7図は中間項生成回路52の一部を示
す論理回路図。第8図乃至第13図はグループ・
パリテイ予測回路56の構成を示す論理回路図。

Claims (1)

  1. 【特許請求の範囲】 1 2つのオペランド及び桁上げ入力を受取つて
    和を表わす演算結果を出力する加算器のためのパ
    リテイ予測回路であつて、 前記和のバイトを構成する8ビツトをそれぞれ
    所定数のビツトから成る複数のグループ(s0s1、
    s2s3s4、s5s6s7)に分け、前記オペライド及び前
    記桁上げ入力に応答して各該グループに対するグ
    ループ・パリテイ信号(Ps0−1、Ps2−4、Ps5
    −7)を、1のオペランドを成すビツトのグルー
    プ(a0−1、a2−4、a5−7)各々に対するパ
    リテイ(Pa0−1、Pa2−4、Pa5−7)と他の
    オペランドを成すビツトのグループ(b0−1、
    b2−4、b5−7)各々に対するパリテイ(Pb0−
    1、Pb2−4、Pb5−7)と各グループに対する
    桁上げ信号のパリテイ(Pc0−1、Pc2−4、
    Pc5−7)との排他的論理和 Ps0−1=Pa0−1Pb0−1Pc0−1 Ps2−4=Pa2−4Pb2−4Pc2−4 Ps5−7=Pa5−7Pb5−7Pc5−7 をとつて生成するグループ・パリテイ予測回路
    と、 前記和のバイトに対するパリテイ信号Pを、前
    記グループ・パリテイ信号の排他的論理和 P=Pa0−1Ps2−4Pc5−7 をとることによつて、生成する排他的OR回路と を設けたことを特徴とするパリテイ予測回路。
JP1096579A 1988-04-25 1989-04-18 パリテイ予測回路 Granted JPH01304542A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/185,581 US4924423A (en) 1988-04-25 1988-04-25 High speed parity prediction for binary adders using irregular grouping scheme
US185581 1988-04-25

Publications (2)

Publication Number Publication Date
JPH01304542A JPH01304542A (ja) 1989-12-08
JPH0454256B2 true JPH0454256B2 (ja) 1992-08-28

Family

ID=22681588

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1096579A Granted JPH01304542A (ja) 1988-04-25 1989-04-18 パリテイ予測回路

Country Status (3)

Country Link
US (1) US4924423A (ja)
EP (1) EP0339296A3 (ja)
JP (1) JPH01304542A (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2713364B1 (fr) * 1993-11-30 1996-01-12 Bull Sa Dispositif de calcul des bits de parité associés à une somme de deux nombres.
US5636156A (en) * 1994-12-12 1997-06-03 International Business Machines Corporation Adder with improved carry lookahead structure
US6523049B1 (en) 1999-12-21 2003-02-18 International Business Machines Corporation Circuit and method for determining greater than or equal to three out of sixty-six
EP1435005B1 (en) * 2001-06-01 2005-12-14 Koninklijke Philips Electronics N.V. A digital system and a method for error detection thereof
DE102006027448B4 (de) * 2006-06-12 2008-05-15 Universität Potsdam Schaltungsanordnung
US8549260B2 (en) * 2009-01-29 2013-10-01 Infineon Technologies Ag Apparatus for processing data and method for generating manipulated and re-manipulated configuration data for processor

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5613336A (en) * 1979-07-14 1981-02-09 Towa Seiko Kk Hand labeler

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3911261A (en) * 1974-09-09 1975-10-07 Ibm Parity prediction and checking network
US3925647A (en) * 1974-09-30 1975-12-09 Honeywell Inf Systems Parity predicting and checking logic for carry look-ahead binary adder
US3986015A (en) * 1975-06-23 1976-10-12 International Business Machines Corporation Arithmetic unit for use in a digital data processor and having an improved system for parity check bit generation and error detection
US4079457A (en) * 1977-01-03 1978-03-14 Honeywell Information Systems Inc. Current mode binary/BCD arithmetic logic unit with parity
US4224680A (en) * 1978-06-05 1980-09-23 Fujitsu Limited Parity prediction circuit for adder/counter
DE3671554D1 (de) * 1985-01-25 1990-06-28 Siemens Ag Schaltungsanordnung zur funktionsueberwachung eines arithmetische operationen ausfuehrenden rechenwerkes anhand von paritaetsbits.
US4737926A (en) * 1986-01-21 1988-04-12 Intel Corporation Optimally partitioned regenerative carry lookahead adder

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5613336A (en) * 1979-07-14 1981-02-09 Towa Seiko Kk Hand labeler

Also Published As

Publication number Publication date
US4924423A (en) 1990-05-08
EP0339296A3 (en) 1991-06-26
EP0339296A2 (en) 1989-11-02
JPH01304542A (ja) 1989-12-08

Similar Documents

Publication Publication Date Title
US8832166B2 (en) Floating point multiplier circuit with optimized rounding calculation
US4525797A (en) N-bit carry select adder circuit having only one full adder per bit
JP3244506B2 (ja) 小型乗算器
JPH07210369A (ja) 並列加算および平均演算を行うための回路およびその方法
JPH0542011B2 (ja)
JP3813127B2 (ja) 3つのゲートのクリティカル・パスを有するワイド加算器
US3986015A (en) Arithmetic unit for use in a digital data processor and having an improved system for parity check bit generation and error detection
JPH0454256B2 (ja)
US5097436A (en) High performance adder using carry predictions
JP2554452B2 (ja) 自己検査型補数加算器ユニット
KR101007259B1 (ko) 패리티 생성 회로, 계수 회로 및 계수 방법
JPH09222991A (ja) 加算方法および加算器
JPH0450614B2 (ja)
US5504867A (en) High speed microprocessor branch decision circuit
JPH0370416B2 (ja)
JP2608600B2 (ja) 2つの数の和のパリティビットの計算装置
JP2592584B2 (ja) 加算装置
US8473541B2 (en) M-bit race delay adder and method of operation
JPS6261120A (ja) けた上げ選択加算器
US5588127A (en) High speed microprocessor branch decision circuit
JPH07120291B2 (ja) 加算器のためのパリティチェック装置
US6820109B2 (en) System and method for predictive comparator following addition
US6438572B1 (en) Adder having reduced number of internal layers and method of operation thereof
JP3199196B2 (ja) 5入力加算器
JPH0648499B2 (ja) プロセッシングユニット