Patent ID: 8037287

Claim:
Apparatus for processing data comprising: an instruction processing pipeline having a plurality of pipeline stages; at least one error detector, coupled to a pipeline stage of said instruction processing pipeline and responsive to at least one signal value within said pipeline stage, configured to detect a processing error associated with an erring program instruction within said pipeline stage; error recovery circuitry, coupled to said at least one error detector and responsive to detection of a processing error by said error detector, configured to initiate an error recovery operation as a consequence of which at least one program instruction being processed in said instruction processing pipeline becomes a lost program instruction for which at least some state is lost and processing cannot continue, said error correction circuitry configured to (i) correct processing of said erring program instruction in place within said instruction processing pipeline such that a next following program instruction is said lost program instruction and (ii) discard said erring program instruction such that said erring program instruction is said lost program instruction; and a flush controller, coupled to said at least one error detector and responsive to detection of a processing error by said error detector, configured to selectively flush from said instruction processing pipeline one or more subsequent program instructions dependent upon said lost program instruction while program instructions independent of said lost program instruction are retained for further processing in said instruction processing pipeline, wherein said error recovery operation selects only one of (i) and (ii).