JPH01304542A - パリテイ予測回路 - Google Patents

パリテイ予測回路

Info

Publication number
JPH01304542A
JPH01304542A JP1096579A JP9657989A JPH01304542A JP H01304542 A JPH01304542 A JP H01304542A JP 1096579 A JP1096579 A JP 1096579A JP 9657989 A JP9657989 A JP 9657989A JP H01304542 A JPH01304542 A JP H01304542A
Authority
JP
Japan
Prior art keywords
parity
circuit
carry
sum
bit
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.)
Granted
Application number
JP1096579A
Other languages
English (en)
Other versions
JPH0454256B2 (ja
Inventor
Stamatis Vassiliadis
スタマテイス・ヴアシリアデイス
Eric M Schwarz
エリツク・マーク・シユワーツ
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)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 A、産業上の利用分野 本発明はディジタル計算機システムのためのエラー検出
に係り、特に高速2通加算器のためのパリティ予測論理
に係る。
B、従来技術及びその課題 2進加算器はディジタル計算機システムの重要な構成要
素であり、従ってその速度及び信頼性が計算機システム
設計で大きな関心を集めている。
よく知られているように、2つのオペランドに対する演
算結果の生成という点では、リプル桁上げ加算器よりも
析上げ先見加算器の方が速い。桁上げ先見加算器は様々
な形を取得るが1本発明は高速2進加算器の設計ではな
くて、そのエラー検出のための検査論理に関する。
計算機の使用形態は、過去においては、オフラインのバ
ッチ処理が殆んどであり、ハードウェアの誤動作が検出
されなくてもそれ程の影響はなかった。しかし今日では
、メインフレーム計算機でさえ、オンラインの情報処理
、データ入力及び検索、プロセスの実時間制御等に利用
されている。
これらのアプリケーションでは、計算機の誤動作はでき
るだけ早く検出する必要がある。ところが。
ディジタル計算機の大型化及び複雑化に伴ない、正確な
動作の確認が益々難しくなってきている。
最近の計算機システムは、信頼性を上げるためにエラー
検出機構を組み込んでいる。その代表的なものがパリテ
ィ検査であり、通常はバイト毎に1つのパリティ・ビッ
トを付加している。計算機システムの構成ユニット間で
のデータ転送は標準のフォーマツ1−で行われ1例えば
4バイトのワード単位で転送する場合は、全部で36ビ
ット(32データ・ビット+4パリテイ・ビット)が転
送される。
このようなワードが例えば加算器で操作される時は、パ
リティ・ビットは各バイトから切離され。
別に処理される62つのワードを加算で組合わして結果
のワードを生成する場合、結果の各バイトに対してパリ
ティ・ビットを生成しなければならない。以前は、この
ようなパリティ・ビットは、加算器から結果ワードが出
力されてから生成されていた。しかし現在では、加算操
作の速度を上げるため、加算操作と並行して結果のパリ
ティ・ビットを予測することが一般に行われている。生
成された予測パリティは結果ワードの実パリティと比較
され、もし不一致であれば、その時発生されるエラー信
号により加算操作が繰返される。再びエラーが検出され
ると、加算器が誤動作したものとみなされる。
加算機は一般に2つの複数ビット・オペランドを使用す
る。オペランドを組合せて演算結果を生成する際にオペ
ランド・ビットが2進加算器によって変換されるので、
演算結果のパリティ・ビットを予測するのは難しい。こ
の問題を解決するため、加算器のエラー検査で一般に使
用されている技術は、2つの同じ加算器を装備して、そ
れらの演算結果をビット単位で比較することにより、エ
ラーが生じていないかどうかを検査するものである。3
つの同じ加算器を用いて、それらの演算結果に対し多数
決をとるものもある。
しかし、上述の技術は何れも欠点がある。まず、同じ加
算器を重複して設けるとコスト高になる。
また、加算器の動作中ずっとパリティ・ビットを保存し
ておくことはできない。これは、同じシステムの他のす
べての区域でパリティ・ビットがずっと保存されている
場合には望ましくない。
従って、加算器の出力に対する正しいパリティを予測す
るためのパリティ予測論理を構築するのが好ましい。
パリティ予測方式は例えば米国特許第3925647号
明細書及び1981年5月刊のIBMTechnica
l Disclosure Bulletin第23巻
、第12号に掲載Kalandra外の文献に記載され
ている。しかし、これらで使用されているパリティ予測
回路はかなり複雑であり、場合によっては加算器自身よ
りも長い遅延が生じることがある。遅延をなくすことは
、特にパイプライン式処理システムでは重要である。パ
リティ予測遅延があると、システム設計者は、システム
を加算器の速度で動作させ且つ加算器の誤動作によるシ
ステム・エラーを解決するための手段を設けるか、又は
パリティ予測回路の遅延を考慮してシステムの動作速度
を下げるかの選択を迫られる。
米国特許第3911261号明細書は別のパリティ予測
方式を開示しているが、N段の装置(例えばレジスタ)
のうちのに段(KIN)からの情報を用いてパリティを
予測しているので、予測確率は100%ではない。予測
が外れた時のエラー及び遅延は今日の計算機では許容し
得ないものである。
C1課題を解決するための手段 本発明に従う2オペランド加算器のためのパリティ予測
回路は少なくとも加算器自身と同程度の速さで動作する
。これは、オペランドの加算結果を表わす和のバイトを
セグメント化することにより達成される。各和バイトは
、所定の連続ビットから成る少なくとも3つのグループ
にセグメント化される。後述の実施例では、第1グルー
プは和バイトの上位2ビットを含み、第2グループは次
の3ビットを含み、第3グループは下位3ビットを含む
。各グループに対して部分パリティ・ビットが生成され
、それらの排他的ORをとることにより、当該和バイト
のためのパリティ・ビットが生成される。パリティは、
オペランド及び該オペランドと共に加算器に供給される
桁上げビットから予測される。従って、外部で生成され
たパリティ入力ビット及び内部桁上げビットを使用する
必要はない。後述の実施例は最小限の論理ゲート(排他
的ORゲート)でパリティ予測を行う。
D、実施例 本発明を実施し得る代表的な計算機システムの構成を第
2図に示す。このシステムは、それぞれが主記憶装置1
0及びr/○資源14を有する1以上のCPUl0を含
む。CPUl0で演算されるオペランドは、アドレス・
バス15ヘアドレスを出力することによって主記憶装置
12からデータ・バス16を介して得られる。米国特許
第3400371号明細書はこのようなシステムの詳細
を開示している。
CPUl0の内部構造の1例を第3図に示す。制御装置
(C)18はアドレス・レジスタ(AR)19を介して
アドレス・バス15ヘアドレス情報を出力する。それに
応答して主記憶装置12から読み出されたプログラム命
令はデータ・バス16及びデータ・レジスタ(DR)2
0を介して命令レジスタ(IR)21にロードされる。
制御装置18は命令レジスタ21にロードされた命令を
解読し、CPU動作を制御する同期及び制御信号を発生
する。これらの信号に応答して、主記憶装置12からオ
ペランドが取出されて、一対のオペランド・レジスタ(
○PA、0PB)30に供給され、ALU32で演算さ
れる。ALU32は演算結果を出力レジスタ34に供給
する。この演算結果は、主記憶装置12に書込まれたり
、CPUl0の他の内部レジスタに転送されたりする。
本発明の装置を含むALU32の詳細を第1図に示す。
図示のように、ALUは、オペランド・レジスタ30か
ら2つのオペランドA及びBを受取る通常の桁上げ先見
加算器(CLA)40を含む。
各オペランドは、4つの8ビット・バイトへグループ分
けされる32データ・ビットから成る標準形式で供給さ
れる。ここでは、オペランドAのバイトをA (0)〜
A(3)で示し、オペランドBのバイトをB(0)〜B
(3)で示すことにする。
オペランドA及びオペランドB共に、バイトの重みはA
(0)及びB(0)が最高であり、以下類に下ってA(
3)〜B(3)が最下位バイトになっている。従って、
バイトA (i)はバイトA(i+1)よりも桁が上で
ある。各オペランドのビットはai又はblで示す。i
はOから31までの値をとる正の整数である。バイトの
場合と同じく、ビットの重みもiが大きくなるにつれて
下がり、ビットjはビットi+1よりも上位の桁になる
CLA40は公知の手順に従って、オペランドと桁上げ
選択回路42からの桁上げ入力信号Cinとを組合せる
。Langdon外の論文“Concurrent E
rrorDection for Group Loo
k−Ahead Binary Addres”、I 
B M  Technical Report、TR0
1,1200,1969年8月26日、はこのような桁
上げ先見加算器の動作を詳しく説明している。桁上げ選
択回路42も通常のもので、例えば米国特許第3986
015号明細書に記載の如き回路を使用できる。Cin
は2値信号であり、それが第1の状態にあると、CLA
40の最下位ビット位置に1の桁上げが入力される。
これに対して、Cinが反対の第2状態にあると、Oの
桁上げが入力される。CLA40はオペランドA及びB
をCin信号と組合せて、演算結果を表わす32ビット
の和Sを生成する。和Sは、4つの和バイト5(0)〜
5(3)に区分けされる32データ・ビット5o=s3
1を含む。和Sのビット及びパイ!−の重みづけはオペ
ランドの場合と同じである。
本実施例におけるCLA40は、前述のLangdon
外の論文に記載されている型の加算器であり、パリティ
回路44でエラー検出を行うものとする。パリティ回路
44は和ビットsO〜s31に応答して各和バイトS 
(0)〜5(3)に対するパリティ・ビットを計算する
。パリティ回路44も通常のものであり、例えば前述の
米国特許明細書に記載の如き回路を使用できる。パリテ
ィ回路44の出力は排他的OR(XOR)回路46へ供
給される。XOR回路46には、本発明の回路、すなわ
ちパリティ予、則回路48の出力も供給される。
パリティ予測回路48は、加算器40へ供給される両方
のオペランド及びCin信号を受取り、パリティを予測
して、和Sの各バイトに対する適切に条件づけられたパ
リティ・ビットを供給する。パリティ予測回路48の出
力はXOR回路46へ送られ、そこでパリティ回路44
からのパリティ・ビットと比較される。XOR回路46
は、回路44及び48の出力が同じかどうかを示す信号
Eを出力する。
次に、数式を用いてパリティ予測を説明する。
以下では、次のような表記法及びプール等価式を用いる
18表記法 1)′は反転を表わす。
2)(a+b)はa及びbのORを表わす。
3)(ab)はa及びbのANDを表わす。
4)■は排他的OR(XOR)を表わす。
5)Tiはビットiの桁上げ伝播を表わす。
6)Giはビットiの桁上げ生成を表わす。
7)Hiはビットjの半和を表わす。
8)Tx−yはビットXからビットyまでの桁上げ伝播
信号を表わす。
9)Gx−yはピッ1〜Xからビットyまでの桁上げ生
成信号を表わす。
10)Pcx−yはビットXからビットyまでの桁上げ
のパリティを表わす。
11)Psx−yはビットXからビットyまでの和のパ
リティを表わす。
12)Oは最上位ビットを表わす。
■、プール等価式 %式% ″桁上げ″は、同じ桁のオペランド・セグメントを組合
せることによって生成され、次の上位桁のオペランド・
セグメントの組合せへ伝播される量のことである。例え
ばII cinuは、オペランドA及びBの最下位バイ
トの加算に使用すべく加算器に送られる。次の桁のオペ
ランド・バイトA(2)及びB(2)の組合せに対する
桁上げ入力は、A (3) 、 B (3)及びCin
の和の桁」二げ出力である。
前述のLangdon外の論文は、桁上げ先見加算器の
ための従来のパリティ予測方式を記載している。
それによれば、加算に対するパリティは次式で与えられ
る。
Ps=PaのpbのPc    (1)上式において、
Psは和のパリティ、PaはオペランドAのパリティ、
pbはオペランドBのパリティ、Pcは桁上げのパリテ
ィをそれぞれ表わす。上式を直接実現しようとすると、
加算結果の生成に関してかなりのパリティ予測遅延が生
じる。
成るビットへの桁上げが計算されてしまうと、普通は和
を生成するのに1段分の遅延しか必要としないが、桁」
二げのパリティPcを計算するためには、各ピッ1−へ
の桁上げの計算後にXOR+−り一を必要とし、従って
演算結果よりもがなり遅れてパリティが生成される。
加算操作に要する実行サイクルの数を減ららすためには
、和のパリティを予測することによってパリティ及び演
算結果が同時に得られるようにするのがよい。
Langdon外の論文では、パリティ予測式の実現は
、今日までずっと踏襲されてきた初期の桁上げ先見アー
キテクチャに基いている。当時の回路技術ではファンイ
ンに制限があったため、オペランド及び和のバイトは2
つの4ビット・グループに分割されていた。各4ビット
・グループの和及び桁上げ出力は、隣接する下位の4ビ
ット・グループからの桁上げ先見の生成によって左右さ
れいた。
Langdon外の論文に見られる従来のパリティ予測
の公式化は、次のステップに従うセグメント化を反映し
ている。
]、和及びオペランドの各バイトを2つの4ビット・グ
ループに分ける。
2.1g接する下位のグループに応じて各グループへの
桁上げを生成する。
3、グループ内部の半和Hiを生成する。
4.グループ内部の伝播信号T及び生成信号Gを生成す
る。
5、次式に従ってグループのパリティを計算する。
Ps=Pa$Pb■GO■G1■G2の(GOHIH2
’+G IH2)■Ci n(I(O’+I(IH2’
)                        
(2a)6、あるいは次式を使ってもよい。
Ps=TO■T1■T20H3■(G OHIH2’+
GIH2)e(Ci nHO’+ci nHIH2’)
(2b) 式(2a)及び(2b)は何れも4ビットのグループを
仮定しているので、8ビット・バイトに適用するには修
正する必要がある。式(2a)の場合は次のようになる
Ps=Pal■Pbl■GOΦG1■G2ノ(GOHI
H2’+GIH2) eC4(HO’+HI H2’)
■Pa2のPb2■G4のG5のG6■(G4H5H6
’+G5H6)のC1n(H4′十H5H6′)   
           (3)上式において、Pa 1
.Pb 1は和バイトの最初の4ビット・グループのパ
リティを表わし、Pa2.Pb2は第2の4ビット・グ
ループのパリティを表わす。C4はバイトの上位4ビッ
トへの桁上げである。式(3)を実現するには、バイト
、入力のパリティ及び第3ビットへの桁上げに対して1
3個のX、 ORゲートを必要とする。式(2b)を和
バイトのパリティ予測のために修正すると次のようにな
る。
Ps=TO■T1$T2のH3の(G OHIH2’+
GIH2)  ■ (C4HO’+C4HIH2’)$
 T4 $ T5 $ T6 $ H7$ (G4H5
H6’+G5H6)■(CinH4’+C1nH5H6
’)(4)式(4)の場合は、必要なXORゲートの数
が11に減っている。
前述のように、加算操作におけるパリティは式(1)で
与えられるが、本発明もこれに基いているので、次に再
記しておく。
Ps=Pa  ■Pb ■Pc      (2,1)
バイト当りのパリティを1ピッ1−にするのであれば、
和の各バイトに対して式(2,1)を実現しなければな
らない。そのため、本発明では和バイトのグループ分け
を行う。。例えば、次のように和バイトを2ビット−3
ビット−3ビットのグループに分ける。
上記において、和バイト5(j)のビットは、番号iが
最上位であり、i+7が最下位である。
他の和バイト及びオペランド・バイトについてもビット
の重みづけは同じである。Cinは1つ下位の和バイト
S (j+1)からの桁上げ出力を表す。ただしj=3
の場合は、桁上げ選択回路42からの桁上げ信号になる
。C1n1はビット・グループi+2〜i+4への桁上
げ入力であり、C1n2はビット・グループi = i
 + 1への桁上げ入力である。
和バイトのパリティはその各ビットsO〜s7の排他的
ORをとることによって得られるが、上述のグループ分
けに従うと次式で与えられる。
PsO−7=PsO−1■Ps2−4■Ps5−7(2
,2) 式(2,1)に従って右辺の各項を書き直すと次のよう
になる。
Ps5−7=Pa5−7■Pb5−7■Pc5−7P 
s 2−4=Pa 2−4■Pb2−4■Pc2−4P
sO−1=PaO−1(f3 PbO−1のPc0−1
3ビットのグループにおいては、次式から4つの桁上げ
が計算される。
C1n=当該グループへの桁上げ入力 C1=Gi+TiC1n Ci−1=Gi−1+ (Ti−1)Gi+ (Ti−
1)iCi n C1−2=当該グループからの桁上げ出力ビット5〜7
のグループにおける桁上げは次のようになる。
Ci n=前の桁上げ C7= 07 + T 7 Ci n C6=G6+T6G7+T6T7Ci nC3=Cou
t 従って、 Pc5−7=Cin ■C7■C6 =C1n ■ (C7+ T7Cin)■ (G6+T
6G7+T6T7 Cin)        (3,2) 式(1,1)、(1,2)及び(1,6)を用いて右辺
の第2項を書き直すと、 C7+T7Ci n=07 ■T7Cin■G 7 T
 7 Ci n =C7■T7Cin (1+ 07) =C7■H7Cin (3,3) 同様にして式(3,2)の右辺第3項を書き直すと、 G6+T6G7+T6T7Cin =C6のTeO2のG6T6G7 ■ T6T7Ci n  ■ G 6 T 6 T 7
 Ci n■T6T707Cin  e T6T706
07Ci n                (3,
4)ここで、 x = T 6 G 7  ■ G6T6G7=T6G
7  (1■ G6) =T6G7G6’ = H6G 7 y=T6T7ci n  (l  e G6)=H6T
7Cin z=T6T7cj、n  (10G6)= H6T 7
07 Ci n とおくと、 G6+T6G7+T6T7Ci n =06  ■X ■y ■ Z =C6QH6C7■H6T 7 Ci n■H6T7G
7Ci n =C6■H6G 7  ■H6T7Cin(1の07) となるから、結局式(3,4)は次式のようになる。
G6+T6G7+T6T7Ci n =C6■H6C7のH6T7Ci n  (3,5)式
(3,3)及び(3,5)を式(3,2)に代入すると
、 Pc5−7=Cin  ■ (C7■H7Ci n )
e (G6  Q H6T7  ■H6H7Cin) =C6fDC7■H6G 7  ■Gin(1■H7■
H6H7) =C6■a7oI46G7 ■C1n (1eH7(1■H6)) =C6■G7 ■H6G 7 ■C1n(1[F]H7
H6’) =C6eC7■H6G7のC1n (H7’+H6)       (3,6)同様にして
次式も導ける。
Pc2−4=031f)G4 ■H3G 4 のCi、
nl (H4’+H3)   (3,7)PcO−1は
2ビットのグループに対するものであり、このグループ
における桁上げは、C1n2=桁上げ入力 C1=G1+TlC1n2 CO=桁上桁上力 出力るから、Pc0−1は次のように導ける。
Pc0−1=Cin2■C1 =C1n2 @  (G1+TlC1n2)=Cin2
■G1■T I C3,n 2■GITICin2 =Cin2■G1■TlC1n2 (1■Gl) =Cjn2■G1■HI Cj、 n 2=G1■C1
n2(1の■(1) =Gl fE) H1’Cj、 n 2     (3
,8)バイト内の各グループの桁上げの予測パリティを
まとめると次のようになる。
Pc5−7=G6■G7■H6G7■ Ci n (H7’ +H6)   (3,6)Pc2
−4=G3■G4 $ H3G4■C1n1(H4’+
H3)   (3,7)PcO−1=01の[1’ C
1n2   (3,8)グループのパリティ 桁上げのパリティ予測のための式を用いて、3つの和グ
ループのパリティを導くことができる。
ビット5.6及び7のグループに対するパリティPa及
びpbは次のようになる。
Pa5−7=a5の86のa7 Pb5−7=b5のb6のb7 従って、和ビット55〜S7のパリティはPs5−7=
a5■a6のa7のb5■b6■b7■G6■G7■H
6G7%) Cin  (H7’ +H6) ここで、 a6■b6ΦG6=a6のb6のa6のb6=a6 +
 b6 =T6 a7■b7■G7=T7 及び a5■b 5 =H5 が成立するから、パリティは次のようになる。
Ps5−7=T6■T70H5■H6G70Cin (
H7’ +H6)   (4,1)同様にして、和の他
のグループ・パリテイも次のように導くことができる。
Ps2−4=T3■T4■H2eH3G4のCi nl
 (H4’ 十H3)(4,2)PsO−1=T1■H
O■H1’ C1n2  (4,3)式(4,1)の右
辺は次のように書き直せる。
T6 6EI T7 63 H563H2O2(E) 
 (H7’  +H6)Cin =T6 ■T 7 (Ci n+ci n’ )  f
E) H5■H6G 7の(H7’ H6) Ci n
=T6■T7CinのT 7 Ci n ’のH5■ 
H2O2(Er  O−r 7′ +1(6)Cinこ
こで、 T7Ci n  ■Ci n  (H7’  +T(6
)=Ci n (T7 eE)(H7’ +H6))=
Ci n (T7’  (H7’ +H6)+T7H7
H6’)=Ci n (T7’ 十T7’ H6+T7
H7H6’ )=Cin  (T7’  +T7H7H
6’)=Cin  (T7’ +T7T7G7’ H6
)=Ci n  (T7’  +T7G7’  H6)
=Ci n (T7’ +07’ H6’ )であるか
ら、 Ps5−7=H5■T6 ■H6G7 ■T 7 Ci
 n ’  ■C1n(T7’■G7’ H6’ ) となり、ここで T7Cin’  ■Ci n  (T7’  +G7’
  H6’ )=Ci n  (T7’  +07’ 
 H6’  )+T7Cin’ とすると。
Ps5−7=H5■T6■H6G7の ((T7’ +G7’ H6’ )Cin+T7Cin
’) 上式の右辺中で、 T6 $ H6G7=G6+T6G7’であるから、結
局次式が成立する。
Ps5−7=H5■ (G6 + T6G7’ )■ 
((T7’ +G7’ H6’ )Ci n+T7Ci
 n’ )    (4,4)式(4,4)の右辺は排
他的ORを2つしか含んでいない。ビット2〜4に対し
ても同様にして導くことができる。
Ps2−4=H2■ (G3+T3G4’ )■ ((
T4’ +G4’ H3’ )Cinl+T4Cinl
’ )   (4,5)ビット0及び1−に対する和の
パリティは次のようになる。
PsO−1=HO■TlC1n 2の TlC1n2’  ■I−(1’C1n2=HO[F]
TlC1n2 (f) TICin2’の(Tl’ +Gl) 1n2 =HO■TlC1n2’  ■C1n2(TI [F]
 (T]′十G]−))=HO(f)TICi n 2
’  ■C1n2(Tl’ (Tl’  +G1))+
T1(TIGI’)) =HO■TlC1n2’  ■C1n2(Tl’  +
  TIGI’ ) =HO’a TlC1n2’  ■C1n2(Tl’ 
 +G1’ ) =HOe (TICi n2’  + ((、j、n2
’十TIG1)+C1n2 (Tl’ +G1’(Tl
’  +C1n2)) =HO@  (TICin2’  +C1n2(Tl’
  +01’  )) =HO■ (TICin2’  +  Gl’  C1
n2)            (4,6)バイト内の
各グループに対する和のパリティをまとめると次のよう
になる。
Ps5−7=H5■ (G6+T6G7’ )■ ((
T7’ +G7’ n6’ )Ci n+T7Ci n
’ )     (4,4)Ps2−4=H2■ (G
3+T3G4’)の ((T4’ +04’ n3’ 
)Cinl+T4Cinl’ )   (4,5)Ps
O−1=HO■(TICin2’+01’ C1n2)
      ’        (4,6)式(4,4
)〜(4,6)は、和バイトの3つのグループに対する
第1のパリティ予測方法を記述するものである。
式(4,1)〜(4,3)から和バイトのグループに対
する第2のパリティ予測方法を導くことができる。これ
は正の桁上げ入力順だけを用いるものである。式(4,
1)及び(4,2)は次のように変形される。
Ps5−7=T6 ■T7■H5■I−I 6 G 7
■Cj−n (H7’ +H6) =T7 ■H5$T6 ■T6GG’ G 7  ■ C1n(n7’   十 F+6)=T
7 ■H5■T6(1■G6’G 7)lf)Ci n (n7’ +)−I6)=T7の
H5の(G6+T6G7’ )■Ci n  (n7’
 +H6)   (4,7)同様に、 Ps2−4=T4 ■H2■ (G3+T3G4’ )
■Ci n 1 (n4’ +H3)(4,8)PsO
−1を与える式(4,3)は変わらない。
これで和のパリティを与えるための2つの方法が導かれ
たことになる。第1の方法は式(4,4)(4,5)及
び(4,6)に従い、第2の方法は式(4,7)、(4
,8)及び(4,3)に従う。次にこれらの式を用いて
和のバイトのパリティを決定するステップについて述べ
る。 和バイトのパリティは桁上げ入力順によって左右
される。前述のようなグループ分けの場合、桁」二げ入
力順は次のようになる。
Ci n=  当該バイトへの桁上げ入力Ci n 1
=05−7+T5−7Ci nCi、n2=02−7+
T2−7Cinこれから明らかなように、バイトのパリ
ティはCinによって異なるが、バイト内部の桁上げに
は関係しない。前述の第1及び第2の方法を規定する式
をこれらの桁上げ入力順を用いて書き直すと次にように
なる。
方広上 P s 5−7 = H5■ (G6+T6G7”) 
 ■((T7’ +07’ n6’ )Ci n+T7
Cin’ )         (5,1)Ps2−4
=H2■ (G3+T3G4’ )  ■((T4’ 
+G4″ n3’ )(G5−7+T5−7Cin)+
T4 (G5−7+T5−7Ci n)’ )    
  (5,2)PsO−1=HO■Tl (G2−7+
T2−7Cin ) ’ + 01 ’  (G 2−
7 +T 2−7 C1n))           
  (5,3)方広又 Ps5−7=H5■T7 ■ (G6+T6G7’ )
のCj n (H7’ +H6)  (5,4)Ps2
−4=H2■T4 ■ (G3+T3G4’ )IP)
((G5−7+T5−7Ci n)(H4’ 十H3)
)       (5,5)PsO−1=T1  ■H
O■ (G2−7+T2−7Cin)H1’     
     (5,6)何れの方法においても、和バイト
のパリティは3つの式の排他的ORをとることによって
得られる。第1の方法でパリティを生成する場合。必要
な排他的ORゲートの数は7つである。
これらの式を実現する場合、Cinの計算に数サイクル
を要することがあるので、各パイ1〜についてCinが
予測される。桁上げ回路はよく知られており、例えばL
angdon外の論文にある式(3)〜(6)によって
実現される。CinがOの場合及びCi nが1の場合
のパリティを得るのに並列ハードウェアを使用すること
ができる。これは、方法1では次のようになる。
以i−[己↓妬豊今 Pq5−7 =85  の (G6+T6G7’ ) 
 ■ (i”7’  +07’  H6’  )   
   (5,1a)Ps2−4=H2の (G3+T3
G4’ )■((T4’  +04’  H3’  )
  (G5−7+T5−7) 十T4 (G5−7’ 
T5−7’ ))(5,2a) PsO−1=HO■ (Tl  (G2−7’  Tl
−7’ )+01’  (G2−7+72−7))(5
,3a) Ωユn=o(7)譬今 Ps5−7=H5■ (06+T6G’7’ )  ■
T7(5,4a) Ps2−4 =H2■ (G3+T3G4’  )  
■((T4’  +04’  H3’  )G5−7+
T4G5−7’  )        (5,5a)P
sO−1,=HO■ (TiO2−7’  +GIG2
−7)                (5,6a)
式(5,1a)及び(5,4a)はそれぞれ次のように
書き直すことができる。
Ps5−7=H5■ (T6’  G7’  +06’
  H7+06G’7)            (5
,1b)Ps5−7=H5■ (T6’  G7’  
+T6T7’  +06’G7)          
(5,4b)第4図はパリティ予測回路48の構成を示
したもので、桁上げ生成回路50. H,T及びGを生
成する中間項生成回路52、グループ・パリテイ予測回
路56.並びに複数の3人力排他的OR(XOR)回路
58を含んでいる。
桁上げ生成回路50の構成及び動作はすべて公知のもの
であり、外部からのCin、オペランドA及びオペラン
ドBに応答して、バイト桁上げ信号Cin、Cin (
2)、Cin (1)及びC1n(0)を生成する。こ
れらは、成る和バイトから次の上位桁の和バイトへの桁
上げを表わす。例えばCinは、最下位の和ビットを生
成する回路への桁上げ入力を表わし、オペランドA及び
Bの最下位ビットと組合わされる。Cj、n(2)は最
下位の和バイト5(3)の生成から生じる桁上げ出力を
表わし、和バイト5(2)の生成のための桁上げ入力と
なる。同様に、Cj、n(1)及びC1n (0)はそ
れぞれ和バイト5(1)及びS(○)を生成するための
桁上げ入力である。桁上げ生成回路50からの桁上げ信
号は式(5,1)〜(5゜6)におけるCin項に対応
している。Ci nの生成は容易である。例えば第4図
では1反転器51によってC1n(0)の補数であるC
1n(0)’を生成している。第4図には示していない
が、他のCinの補数も同様にして生成することができ
る。
第5図は、最初の和バイトS (O)のパリティ・ビッ
トを計算するために、式(1,4)〜(1゜6)に従っ
て中間項H,T及びGを生成する回路を示している。第
5図から明らかなように、これらの項はオペランドA及
びBの最上位バイトを構成する8ビットao−G7及び
bo−b7から生成される。第6図及び第7図は、AN
Dゲート及びORゲートの組合せによってG5−7、T
5−7、G2−7及びT2−7を生成する回路を示して
いる。これらの項も公知であり、Langdon外の論
文の第2頁に記載されている。第5図〜第7図の回路は
、オペランド・レジスタ30を除いて、中間項生成回路
52に含まれる。図には示していないが、中間項生成回
路52は和バイト5(1)〜5(3)のための同様な回
路を含んでいる。
第4図に示したグループ・パリテイ予測回路56は、桁
上げ生成回路50からの桁上げ信号及びそれらの補数信
号を回路52からの中間項信号と組合せることにより、
和バイト5(0)〜5(3)に対する予測パリティ・ビ
ットPO〜P3を計算するのに必要なグループ・パリテ
イ予測ビットを生成する。以下では、グループ・パリテ
イ予測回路56において、パリティ・ビットPOの計算
に必要なグループ・パリテイ・ビットを生成する部分だ
けを説明するが、他のグループ・パリテイ・ピッ(へも
同様にして生成することができる。
和バイトS (0)のパリティ・ビットPOを計算する
ためには、前述の2組の式(5,l)〜(5,3)及び
(5,4)〜(5,6)の何れかに従って3つのグルー
プ・パリテイ・ビットPsO−1,Ps2−4及びPs
5−7を生成しなければならない。
方法1すなわち式(5,1)〜(5,3)に従ってグル
ープ・パリテイ・ビットを生成する回路を第8図〜第1
0図に示す。これらの回路は最終段のXORゲート60
.62及び64からグループ・パリチー4”ビットPs
5−7、Ps2−4、及びPsO−1をそれぞれ生成す
る。これらのグループ・パリテイ・ビットはXOR回路
58で組合わされて、和バイト5(0)の予測パリティ
・ビットP○が生成される。
第11図〜第13図は、式(5,4)〜(5,6)に従
ってグループ・パリテイ・ビットPs5−7゜P s 
2−4及びPsO−1を生成する回路を示している。こ
れらのグループ・パリテイ・ビットもその排他的ORを
とることによって予測パリティ・ビットPOを生成する
第8図〜第13図の回路を構成している種々の論理ゲー
トの入出力接続は、図から明らかなように。
式(5,1)〜(5,6)にそれぞれ従ってなされてい
る。
E0発明の効果 本発明によれば、最小限の遅延で加算操作のためのパリ
ティ予測を行うことができる。
【図面の簡単な説明】
第1図は本発明に従うパリティ予測回路を組込んだ加算
器の構成を示すブロック図。 第2図は本発明を適用し得る計算機システムの概略を示
すブロック図。 第3図は第2図の計算器システムにおけるCPUの構成
を示すブロック図・ 第4図はパリティ予測回路48の構成を示すブロック図
。 第5図乃至第7図は中間項生成回路52の一部を示す論
理回路図。 第8図乃至第13図はグループ・パリテイ予測回路56
の構成を示す論理回路図。 、       昧 第4図 G6□ 第9図 第1o図 第11図

Claims (1)

  1. 【特許請求の範囲】 2つのオペランド及び析上げ入力を受取って和を表わす
    演算結果を出力する加算器のためのパリテイ予測回路で
    あって、 前記和のバイトを構成する8ビットをそれぞれ所定数の
    ビットから成る複数のグループに分け、前記オペランド
    及び前記析上げ入力に応答して各該グループに対するグ
    ループ・パリテイ信号を生成するグループ・パリテイ予
    測回路と、 前記グループ・パリテイ信号を組合せることによって前
    記和のバイトに対するパリテイ信号を生成する排他的O
    R回路と を設けたことを特徴とするパリテイ予測回路。
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 true JPH01304542A (ja) 1989-12-08
JPH0454256B2 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
ATE313086T1 (de) * 2001-06-01 2005-12-15 Koninkl Philips Electronics Nv Digitales system und entsprechendes verfahren zur fehlererkennung
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
EP0339296A2 (en) 1989-11-02
EP0339296A3 (en) 1991-06-26
US4924423A (en) 1990-05-08
JPH0454256B2 (ja) 1992-08-28

Similar Documents

Publication Publication Date Title
US8832166B2 (en) Floating point multiplier circuit with optimized rounding calculation
US3825895A (en) Operand comparator
US3925647A (en) Parity predicting and checking logic for carry look-ahead binary adder
JP3813127B2 (ja) 3つのゲートのクリティカル・パスを有するワイド加算器
US6578063B1 (en) 5-to-2 binary adder
JPH01304542A (ja) パリテイ予測回路
JPS5948421B2 (ja) パリティ予測回路
JP2554452B2 (ja) 自己検査型補数加算器ユニット
US5636156A (en) Adder with improved carry lookahead structure
Vasudevan et al. A technique for modular design of self-checking carry-select adder
JPH0467212B2 (ja)
US6729168B2 (en) Circuit for determining the number of logical one values on a data bus
US6665691B2 (en) Circuit for detecting numbers equal to a power of two on a data bus
US6216147B1 (en) Method and apparatus for an N-nary magnitude comparator
US8473541B2 (en) M-bit race delay adder and method of operation
US6334136B1 (en) Dynamic 3-level partial result merge adder
JPH0370416B2 (ja)
US4958353A (en) Device for calculating the parity bits of a sum of two numbers
US6269387B1 (en) Method and apparatus for 3-stage 32-bit adder/subtractor
JPH01286047A (ja) 加算器のためのパリテイ予測システム
US5926407A (en) Combined add/shift structure
JPS6261120A (ja) けた上げ選択加算器
Vazquez et al. A Sum Error Detection Scheme for Decimal Arithmetic
JPH09185493A (ja) 加算器用集積回路
EP0704793B1 (en) Method and circuit to compare the sum of two numbers to a third number