Error correction method with instruction level rollback
First Claim
1. An error correction method, comprising:
- detecting an error in a CPU bus write instruction in a CPU with a pipeline structure by a CPU bus error detector;
restoring, via a rollback control unit, a content of a register file from a delayed register file which holds the content of the register file at a time when an Instruction N was executed correctly before the error; and
re-executing, with rollback control, via a rollback control unit, an Instruction N+1 which is the next instruction after the Instruction N,wherein the CPU and the rollback control unit are connected to one another via a bus,wherein the CPU bus error detector decodes the CPU bus write instruction, and obtains an index of a register Ra which holds a write address of the CPU bus write instruction, and an index of a register Rd which holds write data of the CPU bus write instruction and compares the write address and write data outputted to the CPU bus with the value of Ra and Rd in the delayed register file, andwherein instructions for setting the write address and write data to register Ra and register Rd are allocated so that the write address and write data are set to registers Ra and Rd in the delayed register file before the CPU bus write instruction is executed.
3 Assignments
0 Petitions
Accused Products
Abstract
This method is an error correction method such that, when an error is detected in a CPU with pipeline structure, a content of a register file is restored by a delayed register file which holds an execute completion state of an [Instruction N] correctly executed before this error, and a rollback control that re-executes an instruction from the [Instruction N+1] which is the next instruction of the [Instruction N] is performed. The method collects a parity check result of arbitrary Flip-Flops existing inside the CPU, and detects an error. As a result, the content of the register file is restored into the instruction execute completion state preceding to the instruction range likely to malfunction by the error, and the instruction can be roll backed from the beginning of the instruction range likely having malfunctioned by the error.
390 Citations
9 Claims
-
1. An error correction method, comprising:
-
detecting an error in a CPU bus write instruction in a CPU with a pipeline structure by a CPU bus error detector; restoring, via a rollback control unit, a content of a register file from a delayed register file which holds the content of the register file at a time when an Instruction N was executed correctly before the error; and re-executing, with rollback control, via a rollback control unit, an Instruction N+1 which is the next instruction after the Instruction N, wherein the CPU and the rollback control unit are connected to one another via a bus, wherein the CPU bus error detector decodes the CPU bus write instruction, and obtains an index of a register Ra which holds a write address of the CPU bus write instruction, and an index of a register Rd which holds write data of the CPU bus write instruction and compares the write address and write data outputted to the CPU bus with the value of Ra and Rd in the delayed register file, and wherein instructions for setting the write address and write data to register Ra and register Rd are allocated so that the write address and write data are set to registers Ra and Rd in the delayed register file before the CPU bus write instruction is executed.
-
-
2. An error correction method for an information processing unit, which comprises a CPU with pipeline structure and a rollback control unit connected to the CPU via a bus, said method comprising:
-
when an error is detected, restoring a content of a register file from a delayed register file which holds an execute completion state of an [Instruction N] correctly executed before this error; and re-executing an instruction from an [Instruction N+1] which is the next instruction after the [Instruction N] wherein; the CPU includes a plurality of first flip flops, a parity check circuit and a second flip flop, the rollback control unit include an error mask circuit, the error mask circuit includes a plurality of mask logistics, wherein output signals of the plurality of first flip flops are input to the parity check circuit, the parity check circuit inputs a signal obtained by collecting parity check results of each output signal by logical add to the second flip flop, and the second flip flop outputs an error detection signal, and when the error detection signal is a predetermined value, the plurality of mask logics make an address, an instruction code, a write control and a write data into invalid values. - View Dependent Claims (3, 4)
-
-
5. An information processing unit for performing an error correction method, comprising:
-
a CPU with pipeline structure; and a rollback control unit connected to the CPU via a bus which, when an error is detected, restores a content of a register file from a delayed register file which holds an execute completion state of an [Instruction N] correctly executed before this error and re-executes an instruction from an [Instruction N+1] which is the next instruction after the [Instruction N], wherein; the CPU includes a plurality of first flip flops, a parity check circuit and a second flip flop, the rollback control unit includes an error mask circuit, the error mask circuit includes a plurality of mask logics, output signals of the plurality of first flip flops are input to the parity check circuit, the parity check circuit inputs a signal obtained by collecting parity check results of each output signal by logical add to the second flip flop, and the second flip flop outputs an error detection signal, and when the error detection signal is a predetermined value, the plurality of mask logics make an address, an instruction code, a write control and a write data into invalid values. - View Dependent Claims (6, 7)
-
-
8. An information processing unit for performing an error correction method, comprising:
-
a CPU with pipeline structure; and a rollback control unit connected to the CPU via a bus, which, when an error is detected, restores a content of a register file from a delayed register file which holds an execute completion state of an [Instruction N] correctly executed before this error and re-executes an instruction from an [Instruction N+1] which is the next instruction after the [Instruction N], wherein; the rollback control unit includes a CPU bus error detector which detects an error of a CPU bus write accompanied with execution of an instruction subsequent to the error occurrence, the CPU bus error detector has a plurality of comparators, and read data from the delayed register file and address data on the CPU bus are compared by the plurality of comparators and a bus write cancel is issued based on the comparison result. - View Dependent Claims (9)
-
Specification