Dynamic core swapping
AssigneeIntel Corporation
InventorsBrian V. Belmont, Animesh Mishra, James P. Kardach
Life of this patent
Estimating the term…
Abstract
An embodiment of the present invention is a technique to dynamically swap processor cores. A first core has a first instruction set. The first core executes a program at a first performance level. The first core stops executing the program when a triggering event occurs. A second core has a second instruction set compatible with the first instruction set and has a second performance level different than the first performance level. The second core is in a power down state when the first core is executing the program. A circuit powers up the second core after the first core stops executing the program such that the second core continues executing the program at the second performance level.
Claims7
A processor comprising:
- a first core and a second core, wherein the first core and the second core have different micro-architectures, including different pipeline depths, and wherein the first and second cores have fully compatible instruction set architectures, and wherein the second core is to provide a higher performance level than the first core at a higher power consumption level than the first core, and wherein the first core is to provide a lower performance level than the second core at a lower power consumption level than the first core, wherein a program is to be switched from the first core to the second core if a load on the first core exceeds a threshold level, wherein the first core is to enter a power down state if the second core is to execute the program, and wherein the second core is to be in a power down state when the first core is executing the program, wherein in response to a triggering event, the second core is to be powered up, state information of the first core is to be saved and restored to the second core, the second core is to execute the program, a cache memory associated with the first core is to be flushed, and the first core is to enter the power down state.
A method comprising:
- executing a program at a first performance level on a first processor core having a first instruction set while a second processor core is in a power down state, wherein the first processor core and the second processor core have different micro-architectures, including different pipeline depths;
- stopping execution of the program on the first processor core if a triggering event corresponding to a load on the first processor core exceeding a threshold level occurs;
- powering up the second processor core having a second performance level that is at a higher power consumption level than the first performance level and a second instruction set that is compatible with the first instruction set, and powering down the first processor core;
- executing the program on the second processor core at the second performance level.
Dependencies are inferred from the claim text.