PROVIDING AN ASYMMETRIC MULTICORE PROCESSOR SYSTEM TRANSPARENTLY TO AN OPERATING SYSTEM
First Claim
1. A multicore processor including:
- a core of a first instruction set architecture (ISA), the first ISA core visible to an operating system (OS) and including a first use register to store an indicator to identify an ISA used by a process executing on the first ISA core;
a core of a second ISA including a second use register to store an indicator to identify an ISA used by a process executing on the second ISA core, wherein the second ISA core is transparent to the OS and heterogeneous from the first ISA core; and
a migration unit coupled to the first and second ISA cores to dynamically migrate a first process scheduled by the OS to the first ISA core to the second ISA core, where the dynamic migration is transparent to the OS.
2 Assignments
0 Petitions
Accused Products
Abstract
In one embodiment, the present invention includes a multicore processor with first and second groups of cores. The second group can be of a different instruction set architecture (ISA) than the first group or of the same ISA set but having different power and performance support level, and is transparent to an operating system (OS). The processor further includes a migration unit that handles migration requests for a number of different scenarios and causes a context switch to dynamically migrate a process from the second core to a first core of the first group. This dynamic hardware-based context switch can be transparent to the OS. Other embodiments are described and claimed.
61 Citations
26 Claims
-
1. A multicore processor including:
-
a core of a first instruction set architecture (ISA), the first ISA core visible to an operating system (OS) and including a first use register to store an indicator to identify an ISA used by a process executing on the first ISA core; a core of a second ISA including a second use register to store an indicator to identify an ISA used by a process executing on the second ISA core, wherein the second ISA core is transparent to the OS and heterogeneous from the first ISA core; and a migration unit coupled to the first and second ISA cores to dynamically migrate a first process scheduled by the OS to the first ISA core to the second ISA core, where the dynamic migration is transparent to the OS. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method comprising:
-
determining, in a migration unit of a multicore processor, if code of a process executing on a first core is supported by a second core, wherein the first and second cores are of the multicore processor and the second core is transparent to an operating system (OS) and heterogeneous from the first core; and if so, dynamically migrating the process from the first core to the second core, via the migration unit, if the first core is underutilized. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18)
-
-
19. A system comprising:
-
a multicore processor including a first plurality of cores and a second plurality of cores, the second plurality of cores heterogeneous to the first plurality of cores and transparent to an operating system (OS), and a migration unit, wherein the migration unit is to receive an interrupt from a second core of the second plurality of cores responsive to an instruction of a process that the second core does not support and to cause a context switch to dynamically migrate the process from the second core to a first core of the first plurality of cores transparently to the OS, wherein the OS scheduled the process to the first core; and a dynamic random access memory (DRAM) coupled to the multicore processor. - View Dependent Claims (20, 21, 22, 23, 24, 25, 26)
-
Specification