Asymmetric multi-core processor with native switching mechanism
First Claim
1. A processor having an instruction set architecture (ISA) which supports a set of features including a wide bit-width operating mode and a narrow bit-width operating mode, wherein the wide bit-width operating mode is wider than the narrow bit-width operating mode and wherein the ISA specifies a particular value to be written to an identified control register in order to set the current bit-width operating mode of a processing core, the processor comprising:
- a first processing core configured to support the wide bit-width operating mode and the narrow bit-width operating mode;
a second processing core configured to support at least the narrow bit-width operating mode and configured to execute a thread by consuming less power but with lower performance than the first processing core; and
a switch manager integrated into the first processing core configured to;
detect a thread fetched by the first core has switched from the wide bit-width operating mode to the narrow bit-width operating mode by detecting the particular value being written into the identified control register by the thread;
cause, in response to the detecting, microcode in the first processing core to save an execution state of the thread from the first core to a state storage and instruct the second core to retrieve the saved execution state so that execution can continue by the second processing core; and
instruct the first processing core to enter a low power mode subsequent to instructing the second core.
1 Assignment
0 Petitions
Accused Products
Abstract
A processor includes first and second processing cores configured to support first and second respective subsets of features of its instruction set architecture (ISA) feature set. The first subset is less than all the features of the ISA feature set. The first and second subsets are different but their union is all the features of the ISA feature set. The first core detects a thread, while being executed by the first core rather than by the second core, attempted to employ a feature not in the first subset and, in response, to indicate a switch from the first core to the second core to execute the thread. The unsupported feature may be an unsupported instruction or operating mode. A switch may also be made if the lower performance/power core is being over-utilized or the higher performance/power core is being under-utilized.
22 Citations
9 Claims
-
1. A processor having an instruction set architecture (ISA) which supports a set of features including a wide bit-width operating mode and a narrow bit-width operating mode, wherein the wide bit-width operating mode is wider than the narrow bit-width operating mode and wherein the ISA specifies a particular value to be written to an identified control register in order to set the current bit-width operating mode of a processing core, the processor comprising:
-
a first processing core configured to support the wide bit-width operating mode and the narrow bit-width operating mode; a second processing core configured to support at least the narrow bit-width operating mode and configured to execute a thread by consuming less power but with lower performance than the first processing core; and a switch manager integrated into the first processing core configured to; detect a thread fetched by the first core has switched from the wide bit-width operating mode to the narrow bit-width operating mode by detecting the particular value being written into the identified control register by the thread; cause, in response to the detecting, microcode in the first processing core to save an execution state of the thread from the first core to a state storage and instruct the second core to retrieve the saved execution state so that execution can continue by the second processing core; and instruct the first processing core to enter a low power mode subsequent to instructing the second core. - View Dependent Claims (2)
-
-
3. A method performed by a processor having an instruction set architecture (ISA) which supports a set of features including a wide bit-width operating mode and a narrow bit-width operating mode and having first and second processing cores, wherein the wide bit-width operating mode is wider than the narrow bit-width operating mode and the ISA specifies a particular value to be written to an identified control register in order to set the current bit-width operating mode of a processing core, and wherein the first core is configured to support the wide and the narrow bit-width operating modes and the second core is configured to support at least the narrow bit-width operating mode and to execute a thread by consuming less power but with lower performance than the first core, the method comprising:
detecting, by switch manager logic integrated in the first processing core, that a thread executing on the first core has changed from the wide bit-width operating mode to the narrow bit-width operating mode by detecting the particular value being written into the identified control register by the thread, and in response to said detecting; executing microcode in the first processing core to save current execution state of the thread to a shared state storage memory, executing microcode in the second processing core to retrieve the saved execution state, in order to transfer the execution of the thread from the first core to the second core, and instructing the first processing core to enter a low power mode. - View Dependent Claims (4)
-
5. A processor having an instruction set architecture (ISA) which supports a set of features including a wide bit-width operating mode and a narrow bit-width operating mode, wherein the wide bit-width operating mode is wider than the narrow bit-width operating mode and the ISA specifies a particular value to be written to an identified control register in order to set the current bit-width operating mode of a processing core, the processor comprising:
-
a first processing core configured to support the wide bit-width operating mode and the narrow bit-width operating mode; a second processing core configured to support at least the narrow bit-width operating mode and configured to execute a thread by consuming less power but with lower performance than the first processing core; and a switch manager integrated into the first and second processing cores configured to; detect a thread fetched by the first core has switched from the wide bit-width operating mode to the narrow bit-width operating mode by detecting the particular value being written into the identified control register by the thread; cause, in response to the detecting, microcode in the first processing core to directly transfer an execution state of the thread from the first core to the second core so that execution of the thread can continue by the second processing core; and instruct the first processing core to enter a low power mode subsequent to the transfer of the execution state. - View Dependent Claims (6, 7)
-
-
8. A method performed by a processor having an instruction set architecture (ISA) which supports a set of features including a wide bit-width operating mode and a narrow bit-width operating mode and having first and second processing cores, wherein the wide bit-width operating mode is wider than the narrow bit-width operating mode and the ISA specifies a particular value to be written to an identified control register in order to set the current bit-width operating mode of a processing core, and wherein the first core is configured to support the wide and the narrow bit-width operating modes and the second core is configured to support at least the narrow bit-width operating mode and to execute a thread by consuming less power but with lower performance than the first core, the method comprising:
detecting, by switch manager logic integrated in the first processing core, that a thread executing on the first core has changed from the wide bit-width operating mode to the narrow bit-width operating mode by detecting the particular value being written into the identified control register by the thread, and in response to said detecting; executing microcode in the first processing core to directly transfer the thread'"'"'s execution state from the first core to the second core in order to transfer the execution of the thread from the first core to the second core, and instructing the first processing core to enter a low power mode. - View Dependent Claims (9)
Specification