JPH0253809B2 - - Google Patents
Info
- Publication number
- JPH0253809B2 JPH0253809B2 JP59171759A JP17175984A JPH0253809B2 JP H0253809 B2 JPH0253809 B2 JP H0253809B2 JP 59171759 A JP59171759 A JP 59171759A JP 17175984 A JP17175984 A JP 17175984A JP H0253809 B2 JPH0253809 B2 JP H0253809B2
- Authority
- JP
- Japan
- Prior art keywords
- error
- control storage
- storage device
- instruction
- pipeline
- 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
- 238000012545 processing Methods 0.000 claims abstract description 34
- 238000012937 correction Methods 0.000 claims abstract description 33
- 238000001514 detection method Methods 0.000 claims abstract description 16
- 238000011084 recovery Methods 0.000 claims abstract description 13
- 238000000034 method Methods 0.000 claims description 12
- 230000010365 information processing Effects 0.000 claims description 6
- NGVDGCNFYWLIFO-UHFFFAOYSA-N pyridoxal 5'-phosphate Chemical compound CC1=NC=C(COP(O)(O)=O)C(C=O)=C1O NGVDGCNFYWLIFO-UHFFFAOYSA-N 0.000 description 11
- 238000010586 diagram Methods 0.000 description 8
- 239000000872 buffer Substances 0.000 description 2
- 230000008094 contradictory effect Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012360 testing method 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
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
-
- 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
- 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
- G06F11/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
-
- 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/14—Error detection or correction of the data by redundancy in operation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/22—Microcontrol or microprogram arrangements
- G06F9/26—Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3861—Recovery, e.g. branch miss-prediction, exception handling
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Advance Control (AREA)
- Detection And Correction Of Errors (AREA)
- Debugging And Monitoring (AREA)
- Retry When Errors Occur (AREA)
Description
【発明の詳細な説明】
〔発明の技術分野〕
本発明は、パイプライン処理を行う情報処理装
置における誤り回復方式、特に制御記憶装置に格
納されたマイクロ命令で制御されてパイプライン
処理を行う情報処理装置における制御記憶装置の
誤り回復方式に関する。
置における誤り回復方式、特に制御記憶装置に格
納されたマイクロ命令で制御されてパイプライン
処理を行う情報処理装置における制御記憶装置の
誤り回復方式に関する。
マイクロプログラム制御で機械命令のパイプラ
イン処理を行う情報処理装置においては、マイク
ロ命令を格納する制御記憶装置から読み出された
マイクロ命令に誤りが存在すると全体のパイプラ
イン処理が正しく実行されない。そこで、パイプ
ライン処理においては、制御記憶装置に格納され
る命令中に誤り修正コードを設け、読み出された
マイクロ命令中の誤りの検出と修正を行つてい
る。
イン処理を行う情報処理装置においては、マイク
ロ命令を格納する制御記憶装置から読み出された
マイクロ命令に誤りが存在すると全体のパイプラ
イン処理が正しく実行されない。そこで、パイプ
ライン処理においては、制御記憶装置に格納され
る命令中に誤り修正コードを設け、読み出された
マイクロ命令中の誤りの検出と修正を行つてい
る。
第4図は、従来の制御記憶装置の誤り回復方式
を示したものである。制御記憶装置11にはパイ
プライン処理に対するマイクロ命令が格納してい
る。このマイクロ命令が読み出されるとデータレ
ジスタ12に書き込まれる。デコーダ13は、デ
ータレジスタ12中の命令をデコードしてパイプ
ライン処理を行う各制御ポイント及び次のサイク
ル用マイクロ命令レジスタに送る。
を示したものである。制御記憶装置11にはパイ
プライン処理に対するマイクロ命令が格納してい
る。このマイクロ命令が読み出されるとデータレ
ジスタ12に書き込まれる。デコーダ13は、デ
ータレジスタ12中の命令をデコードしてパイプ
ライン処理を行う各制御ポイント及び次のサイク
ル用マイクロ命令レジスタに送る。
一方、命令の内容は、誤り検出・修正回路14
にも読み出される。ここで誤り修正コードにより
命令中に誤りビツトが存在するか否かが検査さ
れ、誤りが検出されないときは、パイプラインコ
ントローラ15に所定の動作を行わせる。パイプ
ラインコントローラ15は、命令中に誤りがない
ときは、パイプライン処理の各サイクルのリリー
ス信号を発生してD,A,T,B,E,Wの各サ
イクルを正常に実行する。Dサイクルでは読み出
された命令のデコードが行われ、Aサイクルでは
オペランドのアドレス計算が行われ、Tサイクル
ではそのアドレスのアドレス変換が行われ、Bサ
イクルではバツフアやレジスタをアクセスし、E
サイクルではバツフアやレジスタから読み出され
たデータに対して処理が実行され、Wサイクルで
は処理結果の書き込みが行われる。
にも読み出される。ここで誤り修正コードにより
命令中に誤りビツトが存在するか否かが検査さ
れ、誤りが検出されないときは、パイプラインコ
ントローラ15に所定の動作を行わせる。パイプ
ラインコントローラ15は、命令中に誤りがない
ときは、パイプライン処理の各サイクルのリリー
ス信号を発生してD,A,T,B,E,Wの各サ
イクルを正常に実行する。Dサイクルでは読み出
された命令のデコードが行われ、Aサイクルでは
オペランドのアドレス計算が行われ、Tサイクル
ではそのアドレスのアドレス変換が行われ、Bサ
イクルではバツフアやレジスタをアクセスし、E
サイクルではバツフアやレジスタから読み出され
たデータに対して処理が実行され、Wサイクルで
は処理結果の書き込みが行われる。
データレジスタ12に読み出された命令中に誤
りが検出されたときは、パイプラインコントロー
ラ15の動作を停止させ、パイプラインにインタ
ーロツクをかける。そしてこのインターロツク中
中に命令中の誤りを修正し、さらに記憶制御装置
11に対する正しい命令の再書き込みを行う。誤
り修正コードには、通常1ビツト誤りに対しては
検出及び修正能力があり、2ビツト誤りに対して
は検出だけが可能な1ビツト誤り検出・修正、2
ビツト誤り検出(SEC・DED:Singleerror
correction、Double error detection)コードが
用いられる。
りが検出されたときは、パイプラインコントロー
ラ15の動作を停止させ、パイプラインにインタ
ーロツクをかける。そしてこのインターロツク中
中に命令中の誤りを修正し、さらに記憶制御装置
11に対する正しい命令の再書き込みを行う。誤
り修正コードには、通常1ビツト誤りに対しては
検出及び修正能力があり、2ビツト誤りに対して
は検出だけが可能な1ビツト誤り検出・修正、2
ビツト誤り検出(SEC・DED:Singleerror
correction、Double error detection)コードが
用いられる。
ところで、この従来の誤り検出・修正回路14
においては、誤り修正はもとより誤り検出にもか
なり時間がかかるものであつたため、命令の読み
出し毎に誤り検出・修正を行うためには専用の修
正サイクルを設ける等の措置が必要であつた。し
かし、このような修正サイクルを正規のパイプラ
イン処理サイクルの他に増すことは、全体のパイ
プライン処理時間を大きく増大させることになる
ので性能上好ましいことではない。また、制御記
憶装置から読み出された命令に誤りが検出される
と、その機械命令の処理を中止し、機械命令単位
で再実行しようとする。しかし、複数フローでそ
の機能を実現している機械命令の場合には、障害
を起したフローより前のフローでレジスタへの書
き込みなどを行つていて、再実行するために命令
実行前の状態に戻すことができない場合(これを
「リトライポイントを過ぎた」という)があり、
その場合には誤りが救えなかつた。
においては、誤り修正はもとより誤り検出にもか
なり時間がかかるものであつたため、命令の読み
出し毎に誤り検出・修正を行うためには専用の修
正サイクルを設ける等の措置が必要であつた。し
かし、このような修正サイクルを正規のパイプラ
イン処理サイクルの他に増すことは、全体のパイ
プライン処理時間を大きく増大させることになる
ので性能上好ましいことではない。また、制御記
憶装置から読み出された命令に誤りが検出される
と、その機械命令の処理を中止し、機械命令単位
で再実行しようとする。しかし、複数フローでそ
の機能を実現している機械命令の場合には、障害
を起したフローより前のフローでレジスタへの書
き込みなどを行つていて、再実行するために命令
実行前の状態に戻すことができない場合(これを
「リトライポイントを過ぎた」という)があり、
その場合には誤りが救えなかつた。
本発明の目的は、従来の制御記憶装置の誤り回
復方式の欠点を解消し、制御記憶装置から読み出
された命令中の誤りを早期に検出し、命令が実行
される前の段階でパイプラインにインターロツク
をかけ、このインターロツク中に誤り修正を行う
ことにより、命令のフロー単位で誤り修正を行う
ことができるようにしたパイプライン処理を行う
情報処理装置における制御記憶装置の誤り回復方
式を提供するにある。
復方式の欠点を解消し、制御記憶装置から読み出
された命令中の誤りを早期に検出し、命令が実行
される前の段階でパイプラインにインターロツク
をかけ、このインターロツク中に誤り修正を行う
ことにより、命令のフロー単位で誤り修正を行う
ことができるようにしたパイプライン処理を行う
情報処理装置における制御記憶装置の誤り回復方
式を提供するにある。
本発明は、前記目的を達成するため、制御記憶
装置に格納された命令で制御されてパイプライン
処理を行う情報処理装置における制御記憶装置の
誤り回復方式において、前記命令に一定パリテイ
の誤り修正コードを用い、前記制御記憶装置から
読み出された命令のパリテイを検査し、このパリ
テイに誤りが検出されたときに直ちにパイプライ
ンにインターロツクをかけるパリテイチエツク回
路と、インターロツク中に読み出された命令の誤
り修正と場合によつては制御記憶装置へ命令の再
書き込みを行なう誤り検出・修正回路を備え、こ
れによりT(変換)サイクル前に命令中の誤り検
出を行つてパイプラインにインターロツクをか
け、命令のフロー単位で誤り修正を行うことがで
きるようにしたことを特徴とする。
装置に格納された命令で制御されてパイプライン
処理を行う情報処理装置における制御記憶装置の
誤り回復方式において、前記命令に一定パリテイ
の誤り修正コードを用い、前記制御記憶装置から
読み出された命令のパリテイを検査し、このパリ
テイに誤りが検出されたときに直ちにパイプライ
ンにインターロツクをかけるパリテイチエツク回
路と、インターロツク中に読み出された命令の誤
り修正と場合によつては制御記憶装置へ命令の再
書き込みを行なう誤り検出・修正回路を備え、こ
れによりT(変換)サイクル前に命令中の誤り検
出を行つてパイプラインにインターロツクをか
け、命令のフロー単位で誤り修正を行うことがで
きるようにしたことを特徴とする。
本発明の実施例を図面に基づいて説明する。第
1図は本発明の一実施例のブロツク説明図、第2
図はマイクロ命令フオーマツトの説明図、第3図
は第1図の動作タイムチヤートである。
1図は本発明の一実施例のブロツク説明図、第2
図はマイクロ命令フオーマツトの説明図、第3図
は第1図の動作タイムチヤートである。
第1図において、21はパイプライン処理を行
うマイクロ命令が格納されている制御記憶装置、
22は制御記憶装置21から読み出されたマイク
ロ命令が書き込まれるデータレジスタ、23はマ
イクロ命令をデコードするデコーダ、24は命令
中の誤り検出及び修正を行う誤り検出・修正回
路、25はパイプライン処理の各サイクルのリリ
ース信号を発生して各サイクルを順次実行させる
パイプラインコントローラ、26はマイクロ命令
コードのパリテイチエツクを行うパリテイチエツ
ク回路である。
うマイクロ命令が格納されている制御記憶装置、
22は制御記憶装置21から読み出されたマイク
ロ命令が書き込まれるデータレジスタ、23はマ
イクロ命令をデコードするデコーダ、24は命令
中の誤り検出及び修正を行う誤り検出・修正回
路、25はパイプライン処理の各サイクルのリリ
ース信号を発生して各サイクルを順次実行させる
パイプラインコントローラ、26はマイクロ命令
コードのパリテイチエツクを行うパリテイチエツ
ク回路である。
次に、第1図の動作を、まず制御記憶装置21
から読み出されたマイクロ命令中に誤りがない場
合の動作について説明する。制御記憶装置21か
ら読み出されたパイプライン処理に対するマイク
ロ命令はデータレジスタ22に書き込れる。デコ
ーダ23は、データレジスタ22中のマイクロ命
令をデコードしてパイプライン処理を行う各制御
ポイント及び次のサイクル用マイクロ命令レジス
タに送る。
から読み出されたマイクロ命令中に誤りがない場
合の動作について説明する。制御記憶装置21か
ら読み出されたパイプライン処理に対するマイク
ロ命令はデータレジスタ22に書き込れる。デコ
ーダ23は、データレジスタ22中のマイクロ命
令をデコードしてパイプライン処理を行う各制御
ポイント及び次のサイクル用マイクロ命令レジス
タに送る。
一方、マイクロ命令の内容は誤り検出・修正回
路24にも読み出される。ここで次に説明する誤
り修正コードによりマイクロ命令中に誤りビツト
が存在するか否かが検査され、誤りが検出され
ず、そして次に説明するパリテイチエツク回路2
6からもパリテイ誤りが検出されないときは、パ
イプラインコントローラ25に所定の動作を行わ
せる。
路24にも読み出される。ここで次に説明する誤
り修正コードによりマイクロ命令中に誤りビツト
が存在するか否かが検査され、誤りが検出され
ず、そして次に説明するパリテイチエツク回路2
6からもパリテイ誤りが検出されないときは、パ
イプラインコントローラ25に所定の動作を行わ
せる。
パイプラインコントローラ25は、マイクロ命
令中に誤りがないときは、パイプライン処理の各
サイクルのリリース信号を発生して、第3図Aに
示す正常なパイプライン処理をPLP1,PLP2、等
を順次実行してゆく。この第3図Aのパイプライ
ン処理動作は、第5図のものと同じ内容のもので
あるので説明は省略する。
令中に誤りがないときは、パイプライン処理の各
サイクルのリリース信号を発生して、第3図Aに
示す正常なパイプライン処理をPLP1,PLP2、等
を順次実行してゆく。この第3図Aのパイプライ
ン処理動作は、第5図のものと同じ内容のもので
あるので説明は省略する。
次に、誤り修正コードと制御記憶装置21から
読み出されたマイクロ命令中に誤りが存在する場
合の動作について説明する。第2図に示したマイ
クロ命令フオーマツトにおいて、CKはECCチエ
ツクビツトでDATAは命令コードである。
読み出されたマイクロ命令中に誤りが存在する場
合の動作について説明する。第2図に示したマイ
クロ命令フオーマツトにおいて、CKはECCチエ
ツクビツトでDATAは命令コードである。
誤り修正コードには例えば1ビツト誤りに対し
ては検出及修正可能で、2ビツト誤りに対しては
検出が可能なSEC・DECコードが用いられるが、
本発明においては、この誤り修正コードECC自
体が一定のパリテイとなるようにする。SEC・
DEDコードは、1ビツト誤り検出・修正のコー
ドのデータビツトを1ビツト検査ビツトにし、全
域的パリテイを付することによつて得られ、この
SEC・DEDコードは、通常それ自体で偶数パリ
テイとなつている。このようにそれ自体が偶数パ
リテイとなつている誤り修正コードECCを用い
ると、パリテイチエツクにより奇数ビツト誤りが
容易に検出できる。本発明の誤り修正コード
ECCは偶数パリテイに限定されるものではない
が、ビツト誤りはせいぜい1ビツト誤りであるの
が普通であるから、1ビツト誤りに対しては検出
及び修正能力を有し2ビツトの誤り検出が可能
で、それ自体が偶数パリテイになつているSEC・
DEDコードを誤り修正コードECCとして用いれ
ば、所望の一定パリテイの誤り修正コードECC
が特別の付加回路を設けることなく実現できるの
で好適である。
ては検出及修正可能で、2ビツト誤りに対しては
検出が可能なSEC・DECコードが用いられるが、
本発明においては、この誤り修正コードECC自
体が一定のパリテイとなるようにする。SEC・
DEDコードは、1ビツト誤り検出・修正のコー
ドのデータビツトを1ビツト検査ビツトにし、全
域的パリテイを付することによつて得られ、この
SEC・DEDコードは、通常それ自体で偶数パリ
テイとなつている。このようにそれ自体が偶数パ
リテイとなつている誤り修正コードECCを用い
ると、パリテイチエツクにより奇数ビツト誤りが
容易に検出できる。本発明の誤り修正コード
ECCは偶数パリテイに限定されるものではない
が、ビツト誤りはせいぜい1ビツト誤りであるの
が普通であるから、1ビツト誤りに対しては検出
及び修正能力を有し2ビツトの誤り検出が可能
で、それ自体が偶数パリテイになつているSEC・
DEDコードを誤り修正コードECCとして用いれ
ば、所望の一定パリテイの誤り修正コードECC
が特別の付加回路を設けることなく実現できるの
で好適である。
マイクロ命令が制御記憶装置21から読み出さ
れると、その出力はデータレジスタ22に書き込
まれると同時にパリテイチエツク回路26に加え
られる。パリテイチエツク回路26は排他的論理
和で構成されており、マイクロ命令中のビツト誤
りの有無をパリテイチエツクにより検出する。パ
リテイチエツク回路26におけるパリテイチエツ
クは高速で実行できるので、マイクロ命令中のビ
ツト誤りの有無はAサイクル終了以前に検出可能
である。したがつてAサイクルから次のTサイク
ルに移行する前にパイプラインコントローラ25
の動作を停止させ、パイプラインをインターロツ
クすることができる。
れると、その出力はデータレジスタ22に書き込
まれると同時にパリテイチエツク回路26に加え
られる。パリテイチエツク回路26は排他的論理
和で構成されており、マイクロ命令中のビツト誤
りの有無をパリテイチエツクにより検出する。パ
リテイチエツク回路26におけるパリテイチエツ
クは高速で実行できるので、マイクロ命令中のビ
ツト誤りの有無はAサイクル終了以前に検出可能
である。したがつてAサイクルから次のTサイク
ルに移行する前にパイプラインコントローラ25
の動作を停止させ、パイプラインをインターロツ
クすることができる。
第3図は、マイクロ命令中にビツト誤りがパリ
テイチエツクにより検出されたときの各パイプラ
インの動作フローをタイムチヤートで示したもの
である。第3図Aはマイクロ命令に誤りが存在し
ない場合の正常なパイプライン処理動作、第3図
Bはマイクロ命令中に誤りが検出された場合の動
作であるが、第3図Aの正常動作については前に
説明したとおりである。
テイチエツクにより検出されたときの各パイプラ
インの動作フローをタイムチヤートで示したもの
である。第3図Aはマイクロ命令に誤りが存在し
ない場合の正常なパイプライン処理動作、第3図
Bはマイクロ命令中に誤りが検出された場合の動
作であるが、第3図Aの正常動作については前に
説明したとおりである。
第3図Bにおいて、パイプライン処理PLP1ま
で正常にパイプライン処理が実行され、パイプラ
イン処理PLP2において制御記憶装置21から読
み出されたマイクロ命令に誤りが存在したとす
る。パリテイチエツク回路26はA2サイクルま
でにパリテイチエツクによりマイクロ命令中に誤
りがあることを検出し、次のT2サイクルに移る
前にパイプラインコントローラ25の動作を停止
させパイプラインをインタロツクする(第3図
Bt1)。パイプラインがインタロツクされると、
PLP2より前のパイプライン処理PLP1は影響を受
けることなくT1,B1,E1,W1のフローが続行さ
れるが、PLP2より後の各パイプラインのフロー
は図示のように停止され、PLP2はA2サイクル状
態で、PLP3はD3サイクル状態で待ち状態とな
り、PLP4以後はマイクロ命令の読み出しは行わ
れない。
で正常にパイプライン処理が実行され、パイプラ
イン処理PLP2において制御記憶装置21から読
み出されたマイクロ命令に誤りが存在したとす
る。パリテイチエツク回路26はA2サイクルま
でにパリテイチエツクによりマイクロ命令中に誤
りがあることを検出し、次のT2サイクルに移る
前にパイプラインコントローラ25の動作を停止
させパイプラインをインタロツクする(第3図
Bt1)。パイプラインがインタロツクされると、
PLP2より前のパイプライン処理PLP1は影響を受
けることなくT1,B1,E1,W1のフローが続行さ
れるが、PLP2より後の各パイプラインのフロー
は図示のように停止され、PLP2はA2サイクル状
態で、PLP3はD3サイクル状態で待ち状態とな
り、PLP4以後はマイクロ命令の読み出しは行わ
れない。
誤り検出・修正回路24は、パイプラインがイ
ンターロツク状態にあるときに誤り修正コード
ECCにより、データレジスタ22内のマイクロ
命令に生じたビツト誤りを修正するとともに、場
合によつては制御記憶装置21に正しいマイクロ
命令の再書き込みを行う。このビツト誤りの修正
及び制御記憶装置21への再書き込みが時間t2で
終了すると、インターロツクが解除され、パイプ
ライン処理PLP2を含めてそれ以降の各パイプラ
イン処理が、図示のように、インターロツクされ
る前のサイクルに引き続いて再開される。
ンターロツク状態にあるときに誤り修正コード
ECCにより、データレジスタ22内のマイクロ
命令に生じたビツト誤りを修正するとともに、場
合によつては制御記憶装置21に正しいマイクロ
命令の再書き込みを行う。このビツト誤りの修正
及び制御記憶装置21への再書き込みが時間t2で
終了すると、インターロツクが解除され、パイプ
ライン処理PLP2を含めてそれ以降の各パイプラ
イン処理が、図示のように、インターロツクされ
る前のサイクルに引き続いて再開される。
以上の実施例では、命令としてマイクロ命令を
用いた場合について説明したが、本発明における
命令はマイクロ命令の場合に限定されるものでな
い。また誤り修正コードECCもSEC・DEDコー
ドに限定されるものでない。
用いた場合について説明したが、本発明における
命令はマイクロ命令の場合に限定されるものでな
い。また誤り修正コードECCもSEC・DEDコー
ドに限定されるものでない。
本発明では、パリテイチエツク回路とECCチ
エツチ回路をもつているので、この2つのチエツ
ク回路で矛循する検査結果(例ば、パリテイチエ
ツクはエラーなし、ECCチエツクは1ビツトエ
ラー)が報告された場合には、チエツク回路に障
害のあることが検出できる。
エツチ回路をもつているので、この2つのチエツ
ク回路で矛循する検査結果(例ば、パリテイチエ
ツクはエラーなし、ECCチエツクは1ビツトエ
ラー)が報告された場合には、チエツク回路に障
害のあることが検出できる。
さらに、制御記憶装置に欠陥が生じて命令に誤
りが生じると、読み出された命令には常に誤りが
発生する。本実施例では、所定回数再書き込みし
た命令に誤りが連続するときは、制御記憶装置自
体に誤りがあるとして制御記憶装置への再書き込
みをやめている。
りが生じると、読み出された命令には常に誤りが
発生する。本実施例では、所定回数再書き込みし
た命令に誤りが連続するときは、制御記憶装置自
体に誤りがあるとして制御記憶装置への再書き込
みをやめている。
以上説明したように、本発明によれば、制御記
憶装置に格納される命令の誤り修正コードとして
一定パリテイとなる誤り修正コードを用い、制御
記憶装置から読み出された命令のパリテイを検査
することにより、命令中のビツト誤りの有無を速
かに検出して直ちにパイプラインをインターロツ
クするようにしたので、そのフローによつて各レ
ジスタが影響を受ける前にパイプラインをインタ
ーロツクすることができ、命令中のビツト誤り修
正及び制御記憶装置への命令の再書き込みをその
命令のフロー単位で行うことができる。また、命
令のリトライポイントを過ぎた時点で起つた制御
記憶装置の誤りは命令リトライで回復する従来の
方式では回復不能であつたが、本発明のように命
令のフロー単位で誤りを修正する方式では、制御
記憶装置の誤りを検出して、所定の回復処理を行
わせることができる。
憶装置に格納される命令の誤り修正コードとして
一定パリテイとなる誤り修正コードを用い、制御
記憶装置から読み出された命令のパリテイを検査
することにより、命令中のビツト誤りの有無を速
かに検出して直ちにパイプラインをインターロツ
クするようにしたので、そのフローによつて各レ
ジスタが影響を受ける前にパイプラインをインタ
ーロツクすることができ、命令中のビツト誤り修
正及び制御記憶装置への命令の再書き込みをその
命令のフロー単位で行うことができる。また、命
令のリトライポイントを過ぎた時点で起つた制御
記憶装置の誤りは命令リトライで回復する従来の
方式では回復不能であつたが、本発明のように命
令のフロー単位で誤りを修正する方式では、制御
記憶装置の誤りを検出して、所定の回復処理を行
わせることができる。
第1図は本発明の一実施例の説明図、第2図は
マイクロ命令のフオーマツトの説明図、第3図は
第1図の実施例の動作タイムチヤート説明図、第
4図は従来のパイプライン処理における制御記憶
装置の誤り回復方式の説明図、第5図は第4図の
動作タイムチヤート説明図である。 21……制御記憶装置、22……データレジス
タ、23……デコーダ、24……誤り検出・修正
回路、25……パイプラインコントローラ、26
……パリテイチエツク回路。
マイクロ命令のフオーマツトの説明図、第3図は
第1図の実施例の動作タイムチヤート説明図、第
4図は従来のパイプライン処理における制御記憶
装置の誤り回復方式の説明図、第5図は第4図の
動作タイムチヤート説明図である。 21……制御記憶装置、22……データレジス
タ、23……デコーダ、24……誤り検出・修正
回路、25……パイプラインコントローラ、26
……パリテイチエツク回路。
Claims (1)
- 【特許請求の範囲】 1 制御記憶装置に格納された命令で制御されて
少なくともオペランド・アドレス計算段、オペラ
ンドデータの読出し制御段、演算処理段、および
演算結果の書込み制御段を有するパイプライン処
理部を備えた情報処理装置における制御記憶装置
の誤り回復方式において、 前記命令には誤り検出機能および誤り修正機能
を有するコードを付加し、 前記制御記憶装置から読出された命令の誤り検
出を、上記パイプライン処理部におけるオペラン
ドアドレス計算段の動作と平行して行い、 誤りを検出した時には、上記パイプライン処理
部の少なくともオペランド・アドレス計算段の動
作を停止させ、 当該誤りを生じた命令を修正し、 修正後の命令を用いて上記オペランド・アドレ
ス計算段の動作を再開することを特徴とする制御
記憶装置の誤り回復方式。 2 制御記憶装置に格納された命令がマイクロ命
令であることを特徴とする特許請求の範囲第1項
記載の制御記憶装置の誤り回復方式。 3 誤り修正コードが1ビツト誤り検出・修正、
2ビツト誤り検出コードであることを特徴とする
特許請求の範囲第1項又は第2項記載の制御記憶
装置の誤り回復方式。
Priority Applications (9)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
BR8503913A BR8503913A (pt) | 1984-08-18 | 1984-08-16 | Sistema e processo de recuperacao de erros em um processador de dados do tipo de canalizacao tendo um dispositivo de memoria de controle e processo de recuperacao de erros em um processador de dados do tipo de canalizacao |
JP59171759A JPS6151241A (ja) | 1984-08-18 | 1984-08-18 | 制御記憶装置の誤り回復方式 |
CA000488181A CA1235816A (en) | 1984-08-18 | 1985-08-06 | Error recovery system in a data processor having a control storage |
US06/763,268 US4701915A (en) | 1984-08-18 | 1985-08-07 | Error recovery system in a data processor having a control storage |
AU45949/85A AU559960B2 (en) | 1984-08-18 | 1985-08-09 | Error recovery system in data processor |
KR1019850005859A KR900002604B1 (ko) | 1984-08-18 | 1985-08-14 | 제어기억장치를 갖는 정보처리장치내의 에러회복 장치 및 방법. |
DE8585305798T DE3587058T2 (de) | 1984-08-18 | 1985-08-15 | Fehlerbeseitigungssystem in einem datenprozessor mit einem steuerspeicher. |
EP85305798A EP0173515B1 (en) | 1984-08-18 | 1985-08-15 | Error recovery system in a data processor having a control storage |
ES546202A ES8700462A1 (es) | 1984-08-18 | 1985-08-16 | Un sistema de recuperacion de errores en un ordenador de da-tos del tipo de conducto |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP59171759A JPS6151241A (ja) | 1984-08-18 | 1984-08-18 | 制御記憶装置の誤り回復方式 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS6151241A JPS6151241A (ja) | 1986-03-13 |
JPH0253809B2 true JPH0253809B2 (ja) | 1990-11-19 |
Family
ID=15929153
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP59171759A Granted JPS6151241A (ja) | 1984-08-18 | 1984-08-18 | 制御記憶装置の誤り回復方式 |
Country Status (9)
Country | Link |
---|---|
US (1) | US4701915A (ja) |
EP (1) | EP0173515B1 (ja) |
JP (1) | JPS6151241A (ja) |
KR (1) | KR900002604B1 (ja) |
AU (1) | AU559960B2 (ja) |
BR (1) | BR8503913A (ja) |
CA (1) | CA1235816A (ja) |
DE (1) | DE3587058T2 (ja) |
ES (1) | ES8700462A1 (ja) |
Families Citing this family (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0654476B2 (ja) * | 1987-03-04 | 1994-07-20 | 日本電気株式会社 | 制御メモリ誤り訂正制御方式 |
US4855947A (en) * | 1987-05-27 | 1989-08-08 | Amdahl Corporation | Microprogrammable pipeline interlocks based on the validity of pipeline states |
JP2606862B2 (ja) * | 1987-12-28 | 1997-05-07 | 株式会社東芝 | 単−エラー検出・訂正方式 |
US5210758A (en) * | 1988-06-13 | 1993-05-11 | Unisys Corporation | Means and method for detecting and correcting microinstruction errors |
US5019967A (en) * | 1988-07-20 | 1991-05-28 | Digital Equipment Corporation | Pipeline bubble compression in a computer system |
US5144628A (en) * | 1988-10-05 | 1992-09-01 | Nec Corporation | Microprogram controller in data processing apparatus |
JP2858140B2 (ja) * | 1988-10-19 | 1999-02-17 | アポロ・コンピューター・インコーポレーテッド | パイプラインプロセッサ装置および方法 |
KR930001056B1 (ko) * | 1988-11-10 | 1993-02-13 | 미쯔비시덴끼 가부시끼가이샤 | 하드웨어 소터유니트 및 그의 에러수집방법 |
GB8828817D0 (en) * | 1988-12-09 | 1989-01-18 | Int Computers Ltd | Data processing apparatus |
AU628971B2 (en) * | 1989-05-22 | 1992-09-24 | Tandem Computers Incorporated | Sequential parity correction |
JP2839664B2 (ja) * | 1990-07-17 | 1998-12-16 | 株式会社東芝 | 計算機システム |
JP2594695B2 (ja) * | 1990-10-01 | 1997-03-26 | 日本電気株式会社 | 制御メモリ誤り訂正機構 |
US5590294A (en) * | 1991-03-19 | 1996-12-31 | Silicon Graphics, Inc. | Method and apparatus for retarting pipeline processing |
US5283891A (en) * | 1991-08-08 | 1994-02-01 | Kabushiki Kaisha Toshiba | Error information saving apparatus of computer |
EP0547769B1 (en) * | 1991-12-18 | 1999-10-13 | Sun Microsystems, Inc. | Write overlap with overwrite prevention |
US5386549A (en) * | 1992-11-19 | 1995-01-31 | Amdahl Corporation | Error recovery system for recovering errors that occur in control store in a computer system employing pipeline architecture |
WO1997001842A1 (fr) * | 1995-06-29 | 1997-01-16 | International Business Machines Corporation | Appareil d'enregistrement/de reproduction de signaux et procede pour changer une sequence d'execution d'une procedure de correction d'erreur |
US6745363B2 (en) * | 1999-07-30 | 2004-06-01 | Hewlett-Packard Development Company, Lp | Early error detection using ECC |
US6804819B1 (en) | 2000-09-18 | 2004-10-12 | Hewlett-Packard Development Company, L.P. | Method, system, and computer program product for a data propagation platform and applications of same |
US7386610B1 (en) | 2000-09-18 | 2008-06-10 | Hewlett-Packard Development Company, L.P. | Internet protocol data mirroring |
US6977927B1 (en) | 2000-09-18 | 2005-12-20 | Hewlett-Packard Development Company, L.P. | Method and system of allocating storage resources in a storage area network |
US6606690B2 (en) | 2001-02-20 | 2003-08-12 | Hewlett-Packard Development Company, L.P. | System and method for accessing a storage area network as network attached storage |
US7058877B2 (en) * | 2002-05-14 | 2006-06-06 | Sun Microsystems, Inc. | Method and apparatus for providing error correction within a register file of a CPU |
US7124331B2 (en) * | 2002-05-14 | 2006-10-17 | Sun Microsystems, Inc. | Method and apparatus for providing fault-tolerance for temporary results within a CPU |
US7383464B2 (en) * | 2003-12-08 | 2008-06-03 | International Business Machines Corporation | Non-inline transaction error correction |
US7581152B2 (en) * | 2004-12-22 | 2009-08-25 | Intel Corporation | Fault free store data path for software implementation of redundant multithreading environments |
DE102005041469A1 (de) * | 2005-09-01 | 2007-03-15 | Robert Bosch Gmbh | Datenverarbeitungssystem |
TW201123732A (en) * | 2009-12-31 | 2011-07-01 | Ind Tech Res Inst | Processing devices |
US10594491B2 (en) * | 2015-12-24 | 2020-03-17 | Intel Corporation | Cryptographic system memory management |
US10296405B2 (en) * | 2016-07-05 | 2019-05-21 | SK Hynix Inc. | Nonvolatile memory system and error determination method thereof |
US11379308B2 (en) * | 2018-12-10 | 2022-07-05 | Zoox, Inc. | Data processing pipeline failure recovery |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4371930A (en) * | 1980-06-03 | 1983-02-01 | Burroughs Corporation | Apparatus for detecting, correcting and logging single bit memory read errors |
JPS5958547A (ja) * | 1982-09-28 | 1984-04-04 | Fujitsu Ltd | マイクロプログラム制御装置のエラ−処理方式 |
JPS59117800A (ja) * | 1982-12-25 | 1984-07-07 | Fujitsu Ltd | バツフア・ストレ−ジの1ビツトエラ−処理方式 |
US4604750A (en) * | 1983-11-07 | 1986-08-05 | Digital Equipment Corporation | Pipeline error correction |
-
1984
- 1984-08-16 BR BR8503913A patent/BR8503913A/pt not_active IP Right Cessation
- 1984-08-18 JP JP59171759A patent/JPS6151241A/ja active Granted
-
1985
- 1985-08-06 CA CA000488181A patent/CA1235816A/en not_active Expired
- 1985-08-07 US US06/763,268 patent/US4701915A/en not_active Expired - Lifetime
- 1985-08-09 AU AU45949/85A patent/AU559960B2/en not_active Ceased
- 1985-08-14 KR KR1019850005859A patent/KR900002604B1/ko not_active IP Right Cessation
- 1985-08-15 DE DE8585305798T patent/DE3587058T2/de not_active Expired - Fee Related
- 1985-08-15 EP EP85305798A patent/EP0173515B1/en not_active Expired - Lifetime
- 1985-08-16 ES ES546202A patent/ES8700462A1/es not_active Expired
Also Published As
Publication number | Publication date |
---|---|
KR900002604B1 (ko) | 1990-04-20 |
EP0173515A3 (en) | 1988-12-14 |
ES8700462A1 (es) | 1986-10-01 |
BR8503913A (pt) | 1986-05-27 |
EP0173515A2 (en) | 1986-03-05 |
KR870002503A (ko) | 1987-03-31 |
AU4594985A (en) | 1986-02-27 |
AU559960B2 (en) | 1987-03-26 |
CA1235816A (en) | 1988-04-26 |
JPS6151241A (ja) | 1986-03-13 |
DE3587058T2 (de) | 1993-05-19 |
US4701915A (en) | 1987-10-20 |
EP0173515B1 (en) | 1993-02-03 |
DE3587058D1 (de) | 1993-03-18 |
ES546202A0 (es) | 1986-10-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH0253809B2 (ja) | ||
KR860001476B1 (ko) | 마이크로 프로그램 제어장치의 에러로부터 회복하는 방법 | |
EP0655686B1 (en) | Retry control method and device for control processor | |
JPS5856141B2 (ja) | 情報処理装置の障害処理方式 | |
JPS60142747A (ja) | 命令再実行制御方式 | |
JPH01309421A (ja) | 誤り訂正方式 | |
JPH11327940A (ja) | 命令再実行制御方式 | |
JPH0135369B2 (ja) | ||
JPS61139836A (ja) | パイプライン計算機の命令制御方式 | |
JPS59129995A (ja) | 記憶装置 | |
JPH03111953A (ja) | メモリアドレスの障害検出方法 | |
JPS6159696A (ja) | 制御メモリ修復方式 | |
JPS6261974B2 (ja) | ||
JPS6282436A (ja) | 情報処理装置 | |
JPH0520215A (ja) | 情報処理装置 | |
JPH0412492B2 (ja) | ||
JPS621049A (ja) | メモリのアクセス制御方式 | |
JPH0553844A (ja) | 情報処理装置 | |
JPH0640304B2 (ja) | 制御記憶エラ−処理方式 | |
JPS5968060A (ja) | 制御メモリの再試行方式 | |
JPH05241871A (ja) | 情報処理装置 | |
JPS60238933A (ja) | 制御記憶装置のエラ−処理方式 | |
JPS6340939A (ja) | 制御記憶のエラ−修正制御方式 | |
JPS62211759A (ja) | 制御記憶障害防除機構を備えたマイクロプログラム制御装置 | |
JPH08166891A (ja) | フォールトトレラントコンピュータシステム |