Single-Core Temporal Lockstep for Processor Error Detection
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional lockstep error detection methods in computer processors require additional processor cores, increasing costs, area, power consumption, and software complexity, while lacking efficient error detection and recovery mechanisms.
Innovation Solution
A single processor core implements temporal lockstep by executing instructions twice, once as a dummy phase and once as a real phase, with results compared to identify errors, utilizing hardware-based finite state machines and voting circuits for error detection and recovery.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If additional processor cores are used for lockstep error detection, then error detection capability is improved, but device complexity and cost increase
Solution Approach 1:
The processor is segmented into two functional phases: a dummy phase for error detection and a real phase for actual computation. The dummy phase executes identical instructions to the real phase but discards results, while the real phase executes instructions and commits results. This temporal segmentation allows error detection without requiring additional processor cores, resolving the contradiction between reliability and device complexity.
Solution Approach 2:
The processor alternates between dummy phase execution and real phase execution in a periodic manner. For each instruction, the dummy phase executes first to detect potential errors, followed by the real phase execution to perform actual computation. This periodic alternation enables continuous error detection while maintaining single-core operation, addressing the contradiction between error detection capability and processor core quantity.
2Reliability
If additional processor cores are used for lockstep error detection, then error detection capability is improved, but power consumption increases
Solution Approach 1:
The computation process is segmented into dummy phase execution (for error detection) and real phase execution (for actual work). The dummy phase consumes power for instruction decoding and execution but discards results, while the real phase consumes power for both execution and result commitment. This segmentation enables error detection using the same processor core, avoiding the additional power consumption that would result from running duplicate processor cores.
Solution Approach 2:
The processor serves its own error detection needs by using its own execution resources during the dummy phase. The same processor core that will execute the real instruction also executes the dummy instruction for error detection purposes. This self-service approach eliminates the need for separate error detection hardware, thereby reducing overall power consumption while maintaining error detection capability.
3Reliability
If additional processor cores are used for lockstep error detection, then error detection capability is improved, but processing time increases
Solution Approach 1:
The processor periodically alternates between dummy phase execution and real phase execution for each instruction. The dummy phase executes the instruction to detect errors, and the real phase executes the same instruction to produce actual results. This periodic alternation within a single core enables error detection without the time penalty of parallel execution on multiple cores, as the same hardware resources are reused sequentially.
Solution Approach 2:
The error detection function and the computation function are merged into a single processor core through temporal multiplexing. The dummy phase performs error detection by executing instructions, and the real phase performs computation by executing the same instructions. By merging these functions into one core rather than using separate cores, the system achieves error detection capability while minimizing processing time overhead.
4Reliability
If additional processor cores are used for lockstep error detection, then error detection capability is improved, but area increases
Solution Approach 1:
The processor functionality is segmented into dummy phase execution units and real phase execution units that share the same physical hardware resources. The instruction decoder, execution units, and registers are reused between dummy and real phases rather than being duplicated. This segmentation approach enables error detection capability while maintaining a compact single-core architecture, resolving the contradiction between reliability and processor area.
Solution Approach 2:
The processor core is designed with universal functionality that serves both error detection and computation purposes. The same execution units, registers, and control logic are used during both the dummy phase (for error detection) and the real phase (for computation). This multi-functionality eliminates the need for dedicated error detection hardware, thereby reducing the overall processor area while maintaining robust error detection capability.
Data Source
AI summary
Apparatuses, systems, and methods for implementing temporal lockstep for error detection utilizing a single processor are provided. For example, a processor includes a controller, wherein the controller includes a finite state machine comprising a plurality of states. The processor, based at least on the plurality of states of the finite state machine, is configured to fetch a first instruction, generate a first dummy instruction based on the first instruction and a first real instruction based on the first instruction, execute the first dummy instruction to generate a first dummy result; store the first dummy result in a first dummy buffer, execute the first real instruction to generate a first real result, and compare the first dummy result stored in the first dummy buffer with the first real result to identify an error.


