Microprocessor with dual execution core operable in high reliability mode
First Claim
Patent Images
1. A processor comprising:
- first and second execution cores to process identical instructions in lock step when in a high reliability mode and to process instructions independently when in a high performance mode, the first and second execution cores being capable of switching between the high reliability and the high performance mode under software control.
1 Assignment
0 Petitions
Accused Products
Abstract
A processor is provided having dual execution cores that may be switched between high reliability and high performance execution modes dynamically, according to the type of code segment to be executed. When the processor is in high performance mode, the dual execution cores operate in lock step on identical instructions, and the execution results generated by each execution core are compared to detect any errors. In high performance monde, the dual execution cores operate independently.
206 Citations
24 Claims
-
1. A processor comprising:
first and second execution cores to process identical instructions in lock step when in a high reliability mode and to process instructions independently when in a high performance mode, the first and second execution cores being capable of switching between the high reliability and the high performance mode under software control. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
11. A computer system comprising:
-
a memory to store a plurality of instructions, including a mode switch instruction; and
a processor including first and second execution cores that operate in lock step when the processor is in a first mode and that operate independently when the processor is in a second mode, the processor switching between the first and second processor modes in response to the mode switch instruction. - View Dependent Claims (12, 13, 14, 15, 16)
-
-
17. A method for processing code segments in a dual core processor, the method comprising:
-
detecting a first code segment to be executed in high reliability mode;
executing a first mode switch instruction to place the processor in high reliability mode; and
executing the first code segment in high reliability mode, including first and second execution cores of the dual core processor processing identical instructions in lock step during the high reliability mode. - View Dependent Claims (18, 19, 20)
detecting a code segment to be executed in high performance mode;
executing a second mode switch instruction to switch the processor to high performance mode; and
executing the code segment in high performance mode.
-
-
19. The method of claim 17, wherein executing a first mode switch instruction comprises:
-
executing the first mode switch instruction on each of the dual execution cores to put each of the execution cores into a ready state; and
switching the processor to high reliability mode when each of the dual execution cores is in the ready state.
-
-
20. The method of claim 19, wherein executing the first mode switch instruction on each of the dual execution cores causes each of the dual execution core to:
-
save an architectural state for a currently executing code segment;
flush instructions from the execution core; and
initialize the execution for the first code segment.
-
-
21. A method for changing execution mode in a dual core processor, the method comprising:
-
switching a first execution core of the processor to a ready state;
switching a second execution core of the processor to the ready state;
switching the processor to a high reliability mode when the first and second execution cores are in the ready state, and first and second execution cores of the dual core processor processing identical instructions in lock step during the high reliability mode. - View Dependent Claims (22, 23, 24)
detecting a mode switch instruction;
setting a mode status bit to a first logic state; and
flushing an instruction pipeline associated with the execution core.
-
-
23. The method of claim 21, further comprising:
-
detecting a code segment to be processed in the high reliability mode; and
scheduling first and second mode switch instructions on the first and second execution cores when the processor is not already in the high reliability mode.
-
-
24. The method of claim 23, further comprising:
-
executing the code segment in the high reliability mode;
comparing execution results generated by the first and second execution cores; and
signaling an error when the execution results do not match.
-
Specification