IP Library › Granted Patent US 11,703,906
Granted Patent B2
US 11,703,906 · App. 17/520,296 · Granted Jul 18, 2023

Configuration of base clock frequency of processor based on usage parameters

Inventors: Vasudevan Srinivasan (Portland, OR); Krishnakanth V. Sistla (Portland, OR); Corey D. Gough (Hillsboro, OR); Ian M. Steiner (Portland, OR); Nikhil Gupta (Portland, OR); Vivek Garg (Folsom, CA); Ankush Varma (Portland, OR); Sujal A. Vora (San Jose, CA); David P. Lerner (Santa ClarA, CA); Joseph M. Sullivan (Santa Clara, CA); Nagasubramanian Gurumoorthy (Portland, OR); William J. Bowhill (Framingham, MA); Venkatesh Ramamurthy (Portland, OR); Chris MacNamara (Limerick, IE); John J. Browne (Limerick, IE); Ripan Das (Beaverton, OR)
Assignee: Intel Corporation
G06F1/08G06F1/3203G06F1/324G06F9/30101G06F9/45558G06F2009/45591
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,703,906
App. No.
17/520,296
Filed
Nov 5, 2021
Granted
Jul 18, 2023
Kind
B2
Art Unit
2186
USPC
713/501
Abstract

A processing device includes a plurality of processing cores, a control register, associated with a first processing core of the plurality of processing cores, to store a first base clock frequency value at which the first processing core is to run, and a power management circuit to receive a base clock frequency request comprising a second base clock frequency value, store the second base clock frequency value in the control register to cause the first processing core to run at the second base clock frequency value, and expose the second base clock frequency value on a hardware interface associated with the power management circuit.

Claims (40)

1. A multi-core processor comprising:

a plurality of control registers, each control register of the plurality of control registers associated with a corresponding processing core;

the plurality of control registers to store a corresponding plurality of values to indicate a per-core clock frequency for the corresponding processing cores, the plurality of values initially comprising a plurality of default values to indicate a default per-core clock frequency for the corresponding processing core, the plurality of default values determined during manufacture of the multi-core processor; and

power management circuitry to execute power management firmware to control clock frequencies of the processing cores based, at least in part, on the plurality of values, the power management circuitry to:

receive a plurality of requested values different from corresponding default values of the plurality of default values;

store the plurality of requested values in corresponding control registers of the plurality of control registers, the requested values to indicate a requested per-core clock frequency for the corresponding processing core of the processing cores;

cause each corresponding processing core of the processing cores to run at the corresponding requested per-core clock frequency; and

expose the requested values to software.

2. The multi-core processor of claim 1 , wherein the default values and the requested values are clock speeds at which the processor is to perform at a pre-determined level of workload within a thermal design power (TDP) limit of the processor.

3. The multi-core processor of claim 1 , wherein the requested values and corresponding requested per-core clock frequencies are different than the default values and corresponding default per-core clock frequency, respectively.

4. The multi-core processor of claim 1 , wherein the power management circuitry is to expose the requested values on a hardware interface.

5. The multi-core processor of claim 4 , wherein the power management circuitry is to receive the requested values from at least one of a controller executing a basic input/output system (BIOS) instruction or from a system software application executing on the processor.

6. The multi-core processor of claim 5 , wherein the processor is to execute the system software application to retrieve the requested values via the hardware interface.

7. The multi-core processor of claim 1 , wherein the plurality of control registers include model specific registers (MSRs), an MSR associated with each of the processing cores.

8. The multi-core processor of claim 1 , wherein the power management circuitry is to adjust one or more workloads on the processor to ensure that generated thermal energy does not violate a thermal design power (TDP) associated with the processor.

9. The multi-core processor of claim 8 , wherein the power management circuitry is to adjust the one or more workloads by offloading a task to another processor or reducing the requested per-core clock frequencies.

10. The multi-core processor of claim 1 , wherein at least one of the processing cores is to be run at a first per-core clock frequency and at least one other of the processing cores is to be run at a second per-core clock frequency.

11. The multi-core processor of claim 1 , further comprising a register to store a bit map, where each bit of the bit map stores an activity status for a corresponding processing core.

12. The multi-core processor of claim 1 , wherein the power management circuitry is to shut down one or more inactive processing cores of the processing cores and divert resulting spare power to active processing cores of the processing cores, including the corresponding processing cores of the processing cores running at the requested per-core clock frequencies.

13. The multi-core processor of claim 1 , wherein receiving the requested values and exposing the requested values to software comprises executing commands of an interface exposed by the processor.

14. A processor comprising:

a plurality of processing cores,

each one of the processing cores associated with a respective control register to store per-core base clock frequency values for a corresponding processing core of the plurality of processing cores,

the per-core base clock frequency values initially comprising default per-core base clock frequency values determined by a manufacturer of the processor; and

a power management circuit to execute power control unit (PCU) firmware to control clock frequencies of the plurality of processing cores based, at least in part, on the per-core base clock frequency values, the power management circuit to:

receive target per-core base clock frequency values different from corresponding default per-core base clock frequency values;

store the target per-core base clock frequency values in corresponding control registers to cause the corresponding processing core of the plurality of processing cores to run according to the target per-core base clock frequency values; and

expose the target per-core base clock frequency values to software.

15. The processor of claim 14 , wherein the default per-core base clock frequency values and the target per-core base clock frequency values are clock speeds at which the processor is to perform at a pre-determined level of workload within a thermal design power (TDP) limit of the processor.

16. The processor of claim 14 , wherein the target per-core base clock frequency values are different than the default per-core base clock frequency values.

17. The processor of claim 14 , wherein the power management circuit is to expose the target per-core base clock frequency values on a hardware interface.

18. The processor of claim 17 , wherein the power management circuit is to receive the target per-core base clock frequency values from at least one of a controller executing a basic input/output system (BIOS) instruction or from a system software application executing on the processor.

19. The processor of claim 18 , wherein the processor is to execute the system software application to retrieve the target per-core base clock frequency values via the hardware interface.

20. The processor of claim 14 , wherein the corresponding control registers include model specific registers (MSRs), an MSR associated with each core of the plurality of processing cores.

21. The processor of claim 14 , wherein the power management circuit is to adjust one or more workloads on the processor to ensure that generated thermal energy does not violate a thermal design power (TDP) associated with the processor.

22. The processor of claim 21 , wherein the power management circuit is to adjust the one or more workloads by offloading a task to another processor or reducing the target per-core base clock frequency values.

23. The processor of claim 14 , wherein at least one of the plurality of processing cores is to be run at a first per-core base clock frequency and at least one other of the plurality of processing cores is to be run at a second per-core base clock frequency.

24. The processor of claim 14 , further comprising a register to store a bit map, where each bit of the bit map stores an activity status for a corresponding processing core.

25. The processor of claim 14 , wherein the power management circuit is to shut down one or more inactive processing cores of the plurality of processing cores and divert a spare power to active processing cores of the plurality of processing cores.

26. The processor of claim 14 , wherein receiving the target per-core base clock frequency values and exposing the target per-core base clock frequency values to software comprises executing commands of an interface exposed by the processor.

Continuity (2)
Continuation 16480830
Related Publication 20220129031A1 · Apr 28, 2022
Cited By (1)
US 12,416,940