Back to results
US 9,069,553 B2Granted
Switching tasks between heterogeneous cores
AssigneeMarvell World Trade Ltd.
InventorsOfer Zaarur, Premanand Sakarda
Life of this patent
Estimating the term…
Abstract
The present disclosure describes techniques for switching tasks between heterogeneous cores. In some aspects it is determined that a task being executed by a first core of a processor can be executed by a second core of a processor, the second core having an instruction set that is different from that of the first core, and execution of the task is switched from the first core to the second core effective to decrease an amount of energy consumed by the processor.
Claims17
A method comprising:
- determining that a task being executed by a first core of a processor can be executed by a second core of the processor, the first core executing a first operating system that is different from a second operating system executed by the second core, the first core implementing a 64-bit or 32-bit instruction set and being configured to operate at a frequency of at least 100 MHz, the second core implementing a 16-bit or 8-bit instruction set and being configured to operate at a frequency of less than 100 MHz;
- switching execution of the task from the first core to the second core effective to decrease an amount of energy consumed by the processor, the switching execution comprising:
- determining, while the task is executing on the first core, respective switch points for execution of the task at an application level, a framework level, and a hardware level;
- generating, for the respective switch points, state information useful to switch execution of the task at the application level, the framework level, and the hardware level;
- and
- switching, at the respective switch points and via the state information, execution of the task from the first core to the second core at the application level, the framework level, and the hardware level.
3 more elements
A method comprising:
- initiating an application via a first operating system, the first operating system executed by a first core of a processor, the first core implementing a 64-bit or 32-bit instruction set and being configured to operate at a frequency of at least 100 MHz, the application configured for execution by the first core;
- rendering, via the first operating system, a user interface of the application;
- determining when at least part of the application can be executed using a second operating system, the second operating system different from the first operating system and executed by a second core of the processor, the second core implementing a 16-bit or 8-bit instruction set and being configured to operate at a frequency of less than 100 MHz;
- switching, responsive to the determining, execution of the at least part of the application from the first core to the second core, the switching execution comprising:
- receiving, from the application, respective switch points of execution for the application at a software level, a firmware level, and a hardware level;
- generating, for the respective switch points, state information useful to switch execution of the application at the software level, the firmware level, and the hardware level;
- switching, at the respective switch points and via the state information, execution of the application from the first core to the second core at the software level, the firmware level, and the hardware level;
- and
- rendering, via the second operating system executed by the second core, content associated with the at least part of the application.
6 more elements
A system comprising:
- a processor configured to execute tasks of the system, the processor comprising:
- a first core configured to execute a first software at a frequency of at least 100 MHz, the first software being 64-bit or 32-bit software;
- a second core configured to execute a second software at a frequency of less than 100 MHz, the second software being 16-bit or 8-bit software that has less functionality than the first software, the second core having less current leakage than the first core;
- and
- a task switcher configured to:
- determine that a task being executed using the first software of the first core can be executed using the second software of the second core;
- transmit, responsive to the determination, an indication of a core switch to an application to which the task belongs;
- receive, from the application, respective switch points at which the task can be switched at an application level, a framework level, and a hardware level to the second core for execution using the second software;
- generate, for the respective switch points, state information useful to switch execution of the task at the application level, the framework level, and the hardware level;
- and
- switch, at the respective switch points and via the state information, execution of the task from the first software of the first core to the second software of the second core at the application, framework, and hardware levels effective to reduce an amount of energy consumed by the processor.
8 more elements
Dependencies are inferred from the claim text.