Method of task transition between heterogenous processors
AssigneeAdvanced Micro Devices, Inc.
InventorsAlexander J. Branover, Benjamin Tsien, Elliot H. Mednick
Life of this patent
Estimating the term…
Abstract
A method, system, and apparatus determines that one or more tasks should be relocated from a first processor to a second processor by comparing performance metrics to associated thresholds or by using other indications. To relocate the one or more tasks from the first processor to the second processor, the first processor is stalled and state information from the first processor is copied to the second processor. The second processor uses the state information and then services incoming tasks instead of the first processor.
Claims20
A method for relocating a computer-implemented task from a relatively less-powerful processor to a relatively more-powerful processor, the method comprising:
- monitoring one or more metrics associated with execution of the task by the relatively less-powerful processor;
- comparing at least one metric of the one or more metrics to a threshold;
- and
- selectively relocating the task to the relatively more-powerful processor and executing the task on the relatively more-powerful processor based on the comparing.
A method for relocating a computer-implemented task from a relatively more-powerful processor to a relatively less-powerful processor, the method comprising:
- monitoring one or more metrics associated with execution of the task by the relatively more-powerful processor;
- comparing at least one metric of the one or more metrics to a threshold;
- and
- selectively relocating the task to the relatively less-powerful processor and executing the task on the relatively less-powerful processor based on the comparing.
A method of task relocation from a first processor to a second processor, the method comprising:
- placing the first processor into an idle state or a stalled state;
- saving the architecture state of the first processor in a first memory location;
- copying the architecture state from the first memory location to a second memory location;
- redirecting an interrupt to the second processor;
- restoring, by the second processor, the architecture state from the second memory location;
- fetching, by the second processor, an interrupt service routine (ISR) address;
- servicing, by the second processor, the ISR using the ISR address;
- and
- executing one or more subsequent tasks by the second processor while the first processor remains in the idle state or the stalled state.
Dependencies are inferred from the claim text.