Arithmetic Processing Device Error Detection and Correction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Arithmetic processing devices face performance reduction due to difficulties in correcting errors in register files during pipeline processing, especially when errors are not detected in time, leading to incomplete re-execution of instructions and reduced functionality.
Innovation Solution
Incorporating a first register, a second register, an error detector, a controller, and an error corrector within the arithmetic processing device to detect errors early and interrupt instruction execution, allowing for timely correction and re-execution of instructions by using parity data and ECC data for error detection and correction.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If error detection is performed upon transfer from the second register file to the computing section, then error detection capability is provided, but it is difficult to correct errors in time and re-execute instructions
Solution Approach 1:
The patent applies preliminary action by performing error detection at an earlier stage in the data flow - specifically upon transfer from the first register file to the second register file, rather than waiting until data reaches the computing section. This early detection enables timely error correction and instruction re-execution before the error affects computational results, resolving the contradiction between providing error detection capability and maintaining timely error correction.
2Productivity
If commit for completing the first instruction is not stopped in time, then instruction execution completes, but error correction becomes difficult and performance is reduced
Solution Approach 1:
The patent implements preliminary action by detecting errors before the commit stage completes. The error detection occurs upon transfer from the first register file to the second register file, which is before the commit for completing the instruction finishes. This timing allows the system to stop the commit process and correct errors before they are finalized, maintaining both instruction execution completion and error correction capability.
Solution Approach 2:
The patent uses feedback by implementing an error detection mechanism that provides information about data integrity back to the control logic. When an error is detected in the data being transferred between register files, this feedback triggers the controller to stop the commit process and initiate error correction, ensuring that compromised instructions are not committed and can be re-executed after correction.
3Reliability
If functions of the computing section are stopped to correct errors, then error correction is possible, but performance of the arithmetic processing device is reduced
Solution Approach 1:
The patent applies segmentation by separating error detection and correction operations from the main computational flow. The error detection is performed independently upon data transfer between register files, and error correction is handled as a separate process that can interrupt only the specific instruction containing the error. This segmentation allows the computing section to continue processing other instructions while correcting errors in affected instructions, minimizing performance impact while maintaining reliability.
Data Source
AI summary
An arithmetic processing device includes: a first register configured to hold data to be used to execute an instruction; a second register configured to hold a portion of the data held in the first register; a computing circuit configured to execute computation using the data held in the second register; a first error detector configured to detect whether or not an error is included in the data to be transferred by the first register to the second register; a controller configured to interrupt the execution of the instruction if the first error detector detects the error in the data; and an error corrector configured to correct the error in the data held in the first register if the first error detector detects the error in the data.


