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
Links
- 230000004044 response Effects 0.000 claims description 5
- 238000000034 method Methods 0.000 description 18
- 230000001934 delay Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 238000001514 detection method Methods 0.000 description 4
- 230000014509 gene expression Effects 0.000 description 3
- 230000007257 malfunction Effects 0.000 description 3
- 230000000295 complement effect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 229910052739 hydrogen Inorganic materials 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- GSDSWSVVBLHKDQ-UHFFFAOYSA-N 9-fluoro-3-methyl-10-(4-methylpiperazin-1-yl)-7-oxo-2,3-dihydro-7H-[1,4]oxazino[2,3,4-ij]quinoline-6-carboxylic acid Chemical compound FC1=CC(C(C(C(O)=O)=C2)=O)=C3N2C(C)COC3=C1N1CCN(C)CC1 GSDSWSVVBLHKDQ-UHFFFAOYSA-N 0.000 description 1
- 241000030538 Thecla Species 0.000 description 1
- 230000001143 conditioned effect Effects 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000013479 data entry Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000009472 formulation Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods 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進加算器のためのパ
リテイ予測論理に係る。
ラー検出に係り、特に高速2進加算器のためのパ
リテイ予測論理に係る。
B 従来技術及びその課題
2進加算器はデイジタル計算機システムの重要
な構成要素であり、従つてその速度及び信頼性が
計算機システム設計で大きな関心を集めている。
よく知られているように、2つのオペランドに対
する演算結果の生成という点では、リプル桁上げ
加算器よりも桁上げ先見加算器の方が速い。桁上
げ先見加算器は様々な形を取るが、本発明は高速
2進加算器の設計ではなくて、そのエラー検出の
ための検査論理に関する。
な構成要素であり、従つてその速度及び信頼性が
計算機システム設計で大きな関心を集めている。
よく知られているように、2つのオペランドに対
する演算結果の生成という点では、リプル桁上げ
加算器よりも桁上げ先見加算器の方が速い。桁上
げ先見加算器は様々な形を取るが、本発明は高速
2進加算器の設計ではなくて、そのエラー検出の
ための検査論理に関する。
計算機の使用形態は、過去においては、オフラ
インのバツチ処理が殆んどであり、ハードウエア
の誤動作が検出されなくてもそれ程の影響はなか
つた。しかし今日では、メインフレーム計算機で
さえ、オンラインの情報処理、データ入力及び検
策、プロセスの実時間制御等に利用されている。
これらのアプリケーシヨンでは、計算機の誤動作
はできるだけ早く検出する必要がある。ところ
が、デイジタル計算機の大型化及び複雑化に伴な
い、正確な動作の確認が益々難しくなつてきてい
る。
インのバツチ処理が殆んどであり、ハードウエア
の誤動作が検出されなくてもそれ程の影響はなか
つた。しかし今日では、メインフレーム計算機で
さえ、オンラインの情報処理、データ入力及び検
策、プロセスの実時間制御等に利用されている。
これらのアプリケーシヨンでは、計算機の誤動作
はできるだけ早く検出する必要がある。ところ
が、デイジタル計算機の大型化及び複雑化に伴な
い、正確な動作の確認が益々難しくなつてきてい
る。
最近の計算機システムは、信頼性を上げるため
にエラー検出機構を組み込んでいる。その代表的
なものがパリテイ検査であり、通常はバイト毎に
1つのパリテイ・ビツトを付加している。計算機
システムの構成ユニツト間でのデータ転送は標準
のフオーマツトで行われ、例えば4バイトのワー
ド単位で転送する場合は、全部で36ビツト(32デ
ータ・ビツト+4パリテイ・ビツト)が転送され
る。
にエラー検出機構を組み込んでいる。その代表的
なものがパリテイ検査であり、通常はバイト毎に
1つのパリテイ・ビツトを付加している。計算機
システムの構成ユニツト間でのデータ転送は標準
のフオーマツトで行われ、例えば4バイトのワー
ド単位で転送する場合は、全部で36ビツト(32デ
ータ・ビツト+4パリテイ・ビツト)が転送され
る。
このようなワードが例えば加算器で操作される
時は、パリテイ・ビツトは各バイトから切離さ
れ、別に処理される。2つのワードを加算で組合
わして結果のワードを生成する場合、結果の各バ
イトに対してパリテイ・ビツトを生成しなければ
ならない。以前は、このようなパリテイ・ビツト
は、加算器から結果ワードが出力されてから生成
されていた。しかし現在では、加算操作の速度を
上げるため、加算操作と並行して結果のパリテ
イ・ビツトを予測することが一般に行われてい
る。生成された予測パリテイは結果ワードの実パ
リテイと比較され、もし不一致であれば、その時
発生されるエラー信号により加算操作が繰返され
る。再びエラーが検出されると、加算器が誤動作
したものとみなされる。
時は、パリテイ・ビツトは各バイトから切離さ
れ、別に処理される。2つのワードを加算で組合
わして結果のワードを生成する場合、結果の各バ
イトに対してパリテイ・ビツトを生成しなければ
ならない。以前は、このようなパリテイ・ビツト
は、加算器から結果ワードが出力されてから生成
されていた。しかし現在では、加算操作の速度を
上げるため、加算操作と並行して結果のパリテ
イ・ビツトを予測することが一般に行われてい
る。生成された予測パリテイは結果ワードの実パ
リテイと比較され、もし不一致であれば、その時
発生されるエラー信号により加算操作が繰返され
る。再びエラーが検出されると、加算器が誤動作
したものとみなされる。
加算器は一般に2つの複数ビツト・オペランド
を使用する。オペランドを組合せて演算結果を生
成する際にオペランド・ビツトが2進加算器によ
つて変換されるので、演算結果のパリテイ・ビツ
トを予測するのは難しい。この問題を解決するた
め、加算器のエラー検査で一般に使用されている
技術は、2つの同じ加算器を装備して、それらの
演算結果をビツト単位で比較することにより、エ
ラーが生じでいないかどうかを検査するものであ
る。3つの同じ加算器を用いて、それらの演算結
果に対し多数決をとるものもある。
を使用する。オペランドを組合せて演算結果を生
成する際にオペランド・ビツトが2進加算器によ
つて変換されるので、演算結果のパリテイ・ビツ
トを予測するのは難しい。この問題を解決するた
め、加算器のエラー検査で一般に使用されている
技術は、2つの同じ加算器を装備して、それらの
演算結果をビツト単位で比較することにより、エ
ラーが生じでいないかどうかを検査するものであ
る。3つの同じ加算器を用いて、それらの演算結
果に対し多数決をとるものもある。
しかし、上述の技術は何れも欠点がある。ま
ず、同じ加算器を重複して設けるとコスト高にな
る。また、加算器の動作中ずつとパリテイ・ビツ
トを保存しておくことはできない。これは、同じ
システムの他のすべての区域でパリテイ・ビツト
がずつと保存されている場合には望ましくない。
ず、同じ加算器を重複して設けるとコスト高にな
る。また、加算器の動作中ずつとパリテイ・ビツ
トを保存しておくことはできない。これは、同じ
システムの他のすべての区域でパリテイ・ビツト
がずつと保存されている場合には望ましくない。
従つて、加算器の出力に対する正しいパリテイ
を予測するためのパリテイ予測論理を構築するの
が好ましい。
を予測するためのパリテイ予測論理を構築するの
が好ましい。
パリテイ予測方式は例えば米国特許第3925647
号明細書及び1981年5月刊のIBM Technical
Disclosure Bulletin第23巻、第12号に掲載
Kalandra外の文献に記載されている。しかし、
これらで使用されているパリテイ予測回路はかな
り複雑であり、場合によつては加算器自身よりも
長い遅延が生じることがある。遅延をなくすこと
は、特にパイプライン式処理システムでは重要で
ある。パリテイ予測遅延があると、システム設計
者は、システムを加算器の速度で動作させ且つ加
算器の誤動作によるシステム・エラーを解決する
ための手段を設けるか、又はパリテイ予測回路の
遅延を考慮してシステムの動作速度を下げるかの
選択を迫られる。
号明細書及び1981年5月刊のIBM Technical
Disclosure Bulletin第23巻、第12号に掲載
Kalandra外の文献に記載されている。しかし、
これらで使用されているパリテイ予測回路はかな
り複雑であり、場合によつては加算器自身よりも
長い遅延が生じることがある。遅延をなくすこと
は、特にパイプライン式処理システムでは重要で
ある。パリテイ予測遅延があると、システム設計
者は、システムを加算器の速度で動作させ且つ加
算器の誤動作によるシステム・エラーを解決する
ための手段を設けるか、又はパリテイ予測回路の
遅延を考慮してシステムの動作速度を下げるかの
選択を迫られる。
米国特許第3911261号明細書は別のパリテイ予
測方式を開示しているが、N段の装置(例えばレ
ジスタ)のうちのK段(K<N)かの情報を用い
てパリテイを予測しているので、予測確率は100
%ではない。予測が外めた時のエラー及び遅延は
今日の計算機では許容し得ないものである。
測方式を開示しているが、N段の装置(例えばレ
ジスタ)のうちのK段(K<N)かの情報を用い
てパリテイを予測しているので、予測確率は100
%ではない。予測が外めた時のエラー及び遅延は
今日の計算機では許容し得ないものである。
C 課題を解決するための手段
本発明に従う2オペランド加算器のためのパリ
テイ予測回路は少なくとも加算器自身と同程度の
速さで動作する。これは、オペランドの加算結果
を表わす和のバイトをセグメント化することによ
り達成される。各和バイトは、所定の連続ビツト
から成る少なくとも3つのグループにセグメント
化される。後述の実施例では、第1グループは和
バイトの上位2ビツトを含み、第2グループは次
の3ビツトを含み、第3グループは下位3ビツト
を含む。各グループに対して部分パリテイ・ビツ
トが生成され、それらの排他的ORをとることに
より、当該和バイトのためのパリテイ・ビツトが
生成される。パリテイは、オペランド及び該オペ
ランドと共に加算器に供給される桁上げビツトか
ら予測される。従つて、外部で生成されたパリテ
イ入力ビツト及び内部桁上げビツトを使用する必
要はない。後述の実施例は最小限の論理ゲート
(排他的ORゲート)でパリテイ予測を行う。
テイ予測回路は少なくとも加算器自身と同程度の
速さで動作する。これは、オペランドの加算結果
を表わす和のバイトをセグメント化することによ
り達成される。各和バイトは、所定の連続ビツト
から成る少なくとも3つのグループにセグメント
化される。後述の実施例では、第1グループは和
バイトの上位2ビツトを含み、第2グループは次
の3ビツトを含み、第3グループは下位3ビツト
を含む。各グループに対して部分パリテイ・ビツ
トが生成され、それらの排他的ORをとることに
より、当該和バイトのためのパリテイ・ビツトが
生成される。パリテイは、オペランド及び該オペ
ランドと共に加算器に供給される桁上げビツトか
ら予測される。従つて、外部で生成されたパリテ
イ入力ビツト及び内部桁上げビツトを使用する必
要はない。後述の実施例は最小限の論理ゲート
(排他的ORゲート)でパリテイ予測を行う。
D 実施例
本発明を実施し得る代表的な計算機システムの
構成を第2図に示す。このシステムは、それぞれ
が主記憶装置10及びI/O資源14を有する1
以上のCPU10を含む。CPU10で演算される
オペラインドは、アドレス・バス15へアドレス
を出力することによつて主記憶装置12からデー
タ・バス16を介して得られる。米国特許第
3400371号明細書はこのようなシステムの詳細を
開示している。
構成を第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の他
の内部レジスタに転送されたりする。
制御装置(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を含
む。
に示す。図示のように、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よりも上位の桁に
なる。
ループ分けされる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を含む。和のビツ
ト及びバイトの重みづけはオペランドの場合と同
じである。
と桁上げ選択回路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の出力も供給される。
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を出力する。
れる両方のオペランド及び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の和の桁上げ出力である。
トを組合せることによつて生成され、次の上位桁
のオペランド・セクメントの組合せへ伝播される
量のことである。例えば“Cin”は、オペランA
及びBの最下位バイトの加算に使用すべく加算器
に送られる。次の桁のオペランド・バイトA2及
びB2の組合せに対する桁上げ入力は、A3,B
3及びCinの和の桁上げ出力である。
前述のLangdon外の論文は、桁上げ先見加算
器のための従来のパリテイ予測方式を記載してい
る。それによれば、加算に対するパリテイは次式
で与えられる。
器のための従来のパリテイ予測方式を記載してい
る。それによれば、加算に対するパリテイは次式
で与えられる。
Ps=PsPbPc (1)
上式において、Psは和のパリテイ、Psはオペ
ランドAのパリテイ、PbはオペランドBのパリ
テイ、Pcは桁上げのパリテイをそれぞれ表わす。
上式を直接実現しようとすると、加算結果の生成
に関してかなりのパリテイ予測遅延が生じる。或
るビツトへの桁上げが計算されてしまうと、普通
は和を生成するのに1段分の遅延しか必要としな
いが、桁上げのパリテイPcを計算するためには、
各ビツトへの桁上げの計算後にXORトリーを必
要とし、従つて、演算結果よりもかなり遅れてパ
リテイが生成される。
ランドAのパリテイ、PbはオペランドBのパリ
テイ、Pcは桁上げのパリテイをそれぞれ表わす。
上式を直接実現しようとすると、加算結果の生成
に関してかなりのパリテイ予測遅延が生じる。或
るビツトへの桁上げが計算されてしまうと、普通
は和を生成するのに1段分の遅延しか必要としな
いが、桁上げのパリテイPcを計算するためには、
各ビツトへの桁上げの計算後にXORトリーを必
要とし、従つて、演算結果よりもかなり遅れてパ
リテイが生成される。
加算操作に要する実行サイクルの数を減ららす
ためには、和のパリテイを予測することによつて
パリテイ及び演算結果が同時に得られるようにす
るのがよい。
ためには、和のパリテイを予測することによつて
パリテイ及び演算結果が同時に得られるようにす
るのがよい。
Langdon外の論文では、パリテイ予測式の実
現は、今日までずつと踏襲されてきた初期の桁上
げ先見アーキテクチヤに基いている。当時の回路
技術ではフアンインに制限があつたため、オペラ
ンド及び和のバイトは2つの4ビツト・グループ
に分割されていた。各4ビツト・グループの和及
び桁上げ出力は、隣接する下位の4ビツト・グル
ープからの桁上げ先見の生成によつて左右されて
いた。Longdon外の論文に見られる従来のパリ
テイ予測の公式化は、次のステツプに従うセグメ
ント化を反映している。
現は、今日までずつと踏襲されてきた初期の桁上
げ先見アーキテクチヤに基いている。当時の回路
技術ではフアンインに制限があつたため、オペラ
ンド及び和のバイトは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 あるいは次式を使つてもよい。
0′+H1H2′)(2a) 6 あるいは次式を使つてもよい。
Ps=T0T1T2H3(G0H1H2′+G1H2)(CinH0′
+CinH1H2′)(2b) 式(2a)及び(2b)は何れも4ビツトのグル
ープを仮定しているので、8ビツト・バイトに適
用するには修正する必要がある。式(2a)の場
合は次のようになる。
+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)を和バイト
のパリテイ予測のために修正すると次のようにな
る。
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)で与えられるが、本発明もこれに基いているの
で、次に再記しておく。
(1)で与えられるが、本発明もこれに基いているの
で、次に再記しておく。
Ps=PaPbPc (2.1)
バイト当りのパリテイを1ビツトにするのであ
れば、和の各バイトに対して式(2.1)を実現し
なければならない。そのため、本発明では和バイ
トのグループ分けを行う。。例えば、次のように
和バイトを2ビツト−3ビツト−3ビツトグルー
プに分ける。
れば、和の各バイトに対して式(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への桁上げ入力であ
る。
iが最上位であり、i+7が最下位である。他の
和バイト及びオペライト・バイトについてもビツ
トの重みづけは同じである。Cinは1つ下位の和
バイトS(j+1)からの桁上げ出力を表す。た
だしj=3の場合は、桁上げ選択回路42からの
桁上げ信号になる。Cin1はビツト・グループi
+2〜i〜4への桁上げ入力であり、Cin2はビ
ツト・ウループi〜i+1への桁上げ入力であ
る。
和バイトのパリテイはその各ビツトs0〜s7の排
他的ORをとることによつて得られるが、上述の
グループ分けに従うと次式で与えられる。
他的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)は次式のようになる。
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) 同様にして次式も導ける。
と、 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は次のように導ける。
あり、このグループにおける桁上げは、 Cin2=桁上げ入力 C1=G1+T1Cin2 C0=桁上下出力 であるかる、Pc0−1は次のように導ける。
Pc0−1=Cin2C1=Cin2(G1+T1Cin2)
=Cin2G1T1Cin2G1T1Cin2=Cin2G1T1Cin2(
1G1) =Cin2G1H1Cin2=G1Cin2(1H1)=G1H1′
Cin2(3.8) バイト内の各グループの桁上げの予測パリテイ
をまとめると次のようになる。
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は次のようになる。
イPa及びPbは次のようになる。
Pa5−7=a5a6a7
Pb5−7=b5b6b7
従つて、和ビツトs5〜s7のパリテイは
Ps5−7a6a7b5b6b7G6G7H6G7Cin(H7
′+H6) ここで、 a6b6G6=a6b6a6b6=a6+b6=T6 a7b7G7=T7 及び a5b5=H5 が成立するから、パリテイは次のようになる。
′+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′ であるから、結局次式が成立する。
) =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に対しても同様にして導く
ことができる。
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に対する和のパリテイは次のよ
うになる。
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) バイト内の各グループに対する和のパリテイを
まとめると次のようになる。
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のパリテイ予測方法を記述する
ものである。
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)は次のように変形さ
れる。
対する第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)は変わらない。
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)に従う。次にこれらの
式を用いて和のバイトのパリテイを決定するステ
ツプについて述べる。和バイトのパリテイは桁上
げ入力項によつて左右される。前述のようなグル
ープ分けの場合、桁上げ入力項は次のようにな
る。
が導かれたことになる。第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の方法を規定す
る式をこれらの桁上げ入力項を用いて書き直すと
次のようになる。
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つである。
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が予測される。桁上げ回路はよく知られて
おり、例えば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)はそれぞれ次のように
書き直すことができる。
.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、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の補数も同様にして生
成することができる。
知のものであり、外部からの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)のための同様
な回路を含んでいる。
ツトを計算するために、式(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の計算に必要な
グループ・パリテイ・ビツトを生成する部分だけ
を説明するが、他のグループ・パリテイ・ビツト
も同様にして生成することができる。
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を生成しなければならない。
るためには、前述の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が生成
される。
ループ・パリテイ・ビツトを生成する回路を第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を生成する。
従つてグループ・パリテイ・ビツトPs5−7、
Ps2−4及びPs0−1を生成する回路を示してい
る。これらのグループ・パリテイ・ビツトもその
排他的ORをとることによつて予測パリテイ・ビ
ツトP0を生成する。
第8図〜第13図の回路を構成している種々の
論理ゲートの入出力接続は、図から明らかなよう
に、式(5.1)〜(5.6)にそれぞれ従つてなされ
ている。
論理ゲートの入出力接続は、図から明らかなよう
に、式(5.1)〜(5.6)にそれぞれ従つてなされ
ている。
E 発明の効果
本発明によれば、最小限の遅延で加算操作のた
めパリテイ予測を行うことができる。
めパリテイ予測を行うことができる。
第1図は本発明に従うパリテイ予測回路を組込
んだ加算器の構成を示すブロツク図。第2図は本
発明を適用し得る計算機システムの概略を示すブ
ロツク図。第3図は第2図の計算器システムにお
けるCPUの構成を示すブロツク図。第4図はパ
リテイ予測回路48の構成を示すブロツク図。第
5図乃至第7図は中間項生成回路52の一部を示
す論理回路図。第8図乃至第13図はグループ・
パリテイ予測回路56の構成を示す論理回路図。
んだ加算器の構成を示すブロツク図。第2図は本
発明を適用し得る計算機システムの概略を示すブ
ロツク図。第3図は第2図の計算器システムにお
けるCPUの構成を示すブロツク図。第4図はパ
リテイ予測回路48の構成を示すブロツク図。第
5図乃至第7図は中間項生成回路52の一部を示
す論理回路図。第8図乃至第13図はグループ・
パリテイ予測回路56の構成を示す論理回路図。
Claims (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回路と を設けたことを特徴とするパリテイ予測回路。
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)
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)
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)
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 |
-
1988
- 1988-04-25 US US07/185,581 patent/US4924423A/en not_active Expired - Fee Related
-
1989
- 1989-04-01 EP EP19890105758 patent/EP0339296A3/en not_active Withdrawn
- 1989-04-18 JP JP1096579A patent/JPH01304542A/ja active Granted
Patent Citations (1)
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) | プロセッシングユニット |