Distributed management of a shared clock source to a multi-core microprocessor
First Claim
1. A microprocessor, comprising:
- a plurality of dies, each die comprising;
a plurality of cores; and
a phase-locked loop (PLL), having a frequency ratio input, wherein the PLL is configured to generate a core clock signal for provision to each of the plurality of cores of the die, wherein the core clock signal has a frequency that is a ratio of a frequency of a bus clock signal received by the microprocessor based on a value of the frequency ratio input;
wherein each core is configured to generate a first frequency ratio value that indicates the desired frequency ratio of the core and to receive the first frequency ratio value from the other cores of its die and to generate a second frequency ratio value which is the largest of the first frequency ratio values of all the cores of the die; and
wherein each core is configured to provide the second frequency ratio value to the PLL if the core is a master core of the die and to provide a zero value to the PLL if the core is not a master core of the die.
1 Assignment
0 Petitions
Accused Products
Abstract
Microprocessors are provided with decentralized logic and associated methods for indicating power related operating states, such as desired voltages and frequency ratios, to shared microprocessor power resources such as a voltage regulator module (VRM) and phase locked loops (PLLs). Each core is configured to generate a value to indicate a desired operating state of the core. Each core is also configured to receive a corresponding value from each other core sharing the applicable resource, and to calculate a composite value compatible with the minimal needs of each core sharing the applicable resource. Each core is further configured to conditionally drive the composite value off core to the applicable resource based on whether the core is designated as a master core for purposes of controlling or coordinating the applicable resource. The composite value is supplied to the applicable shared resource without using any active logic outside the plurality of cores.
64 Citations
16 Claims
-
1. A microprocessor, comprising:
-
a plurality of dies, each die comprising; a plurality of cores; and a phase-locked loop (PLL), having a frequency ratio input, wherein the PLL is configured to generate a core clock signal for provision to each of the plurality of cores of the die, wherein the core clock signal has a frequency that is a ratio of a frequency of a bus clock signal received by the microprocessor based on a value of the frequency ratio input; wherein each core is configured to generate a first frequency ratio value that indicates the desired frequency ratio of the core and to receive the first frequency ratio value from the other cores of its die and to generate a second frequency ratio value which is the largest of the first frequency ratio values of all the cores of the die; and wherein each core is configured to provide the second frequency ratio value to the PLL if the core is a master core of the die and to provide a zero value to the PLL if the core is not a master core of the die. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A method for operating a microprocessor comprising a plurality of dies each comprising a plurality of cores and a phase-locked loop (PLL) having a frequency ratio input, wherein the PLL is configured to generate a core clock signal for provision to each of the plurality of cores of the die, wherein the core clock signal has a frequency that is a ratio of a frequency of a bus clock signal received by the microprocessor based on a value of the frequency ratio input, the method comprising:
-
generating, by each core, a first frequency ratio value that indicates the desired frequency ratio of the core; receiving, by each core, the first frequency ratio value from the other cores of the core'"'"'s die; generating a second frequency ratio value which is the largest of the first frequency ratio values of all the cores of the die; and providing, by each core, the second frequency ratio value to the PLL, if the core is a master core of the die and otherwise providing a zero value to the PLL. - View Dependent Claims (7, 8, 9, 10)
-
-
11. A computer program product encoded in at least one non-transitory computer usable medium for use with a computing device, the computer program product comprising:
-
computer usable program code embodied in said medium, for specifying a microprocessor, the computer usable program code comprising; program code for specifying a plurality of dies, each die comprising; a plurality of cores; and a phase-locked loop (PLL), having a frequency ratio input, wherein the PLL is configured to generate a core clock signal for provision to each of the plurality of cores of the die, wherein the core clock signal has a frequency that is a ratio of a frequency of a bus clock signal received by the microprocessor based on a value of the frequency ratio input; wherein each core is configured to generate a first frequency ratio value that indicates the desired frequency ratio of the core and to receive the first frequency ratio value from the other cores of its die and to generate a second frequency ratio value which is the largest of the first frequency ratio values of all the cores of the die; and wherein each core is configured to provide the second frequency ratio value to the PLL if the core is a master core of the die and to provide a zero value to the PLL if the core is not a master core of the die. - View Dependent Claims (12, 13, 14, 15, 16)
-
Specification