IP Library › Granted Patent US 12,416,940
Granted Patent B2
US 12,416,940 · App. 18/765,128 · Granted Sep 16, 2025

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/45558G06F9/4893G06F2009/45591Y02D10/00
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 12,416,940
App. No.
18/765,128
Granted
Sep 16, 2025
Kind
B2
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 (42)

1. A multi-core processor comprising:

a plurality of processing cores;

a plurality of control registers corresponding to the plurality of processing cores, wherein each control register of the plurality of control registers is associated with a different processing core of the plurality of processing cores, the plurality of control registers to store per-core base clock frequency values corresponding to 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 multi-core processor; and

power management circuitry to execute 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 circuitry to:

receive target per-core base clock frequency values, at least some of the 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 of the plurality of control registers to cause a corresponding processing core of the plurality of processing cores to operate according to the target per-core base clock frequency values; and

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

2. The multi-core processor of claim 1 , wherein the target per-core base clock frequency values are determined based, at least in part, on a target service level.

3. The multi-core processor of claim 2 , wherein the target service level is to indicate one or more of: a maximum power to be consumed by all or a subset of the plurality of processing cores, a thermal design power (TDP) value, and exclusivity to use one or more particular processing cores of the plurality of processing cores.

4. The multi-core processor of claim 3 , wherein the target service level is to be satisfied by the power management circuitry utilizing different combinations of processing cores of the plurality of processing cores operating at different base clock frequency values.

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

6. The multi-core processor of claim 1 , wherein the power management circuitry is to expose the target per-core base clock frequency values on a hardware interface.

7. The multi-core processor of claim 6 , wherein the power management circuitry 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 multi-core processor.

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

9. 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 plurality of processing cores.

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

11. The multi-core processor of claim 10 , wherein the power management circuitry is to adjust the one or more workloads by offloading a task to another processor or reducing the target per-core clock frequency values.

12. The multi-core processor of claim 1 , 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.

13. 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.

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

15. The multi-core processor of claim 1 , 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 multi-core processor.

16. A system, comprising:

a system memory to store instructions and data;

a memory controller coupled to the system memory; and

a multi-core processor coupled to the memory controller, the multi-core processor comprising:

a plurality of processing cores;

a plurality of control registers corresponding to the plurality of processing cores,

wherein each control register of the plurality of control registers is associated with a different processing core of the plurality of processing cores, the plurality of control registers to store per-core base clock frequency values corresponding to 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 multi-core processor; and

power management circuitry to execute 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 circuitry to:

receive target per-core base clock frequency values, at least some of the 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 of the plurality of control registers to cause a corresponding processing core of the plurality of processing cores to operate according to the target per-core base clock frequency values; and

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

17. The system of claim 16 , further comprising:

a graphics processor coupled to the memory controller;

one or more storage devices coupled to the memory controller; and

a plurality of input/output (IO) interfaces to couple one or more IO devices to the memory controller.

18. The system of claim 17 , wherein the target per-core base clock frequency values are determined based, at least in part, on a target service level.

19. The system of claim 18 , wherein the target service level is to indicate one or more of: a maximum power to be consumed by all or a subset of the plurality of processing cores, a thermal design power (TDP) value, and exclusivity to use one or more particular processing cores of the plurality of processing cores.

Continuity (4)
Continuation 18329492 · Jun 5, 2023
Continuation 17520296 · Nov 5, 2021
Continuation 16480830
Related Publication 20250004495A1 · Jan 2, 2025
References Cited (44)
US 6754837B1 · Helms · 2004 [cited by applicant]
US 6886093B2 · Henry et al. · 2005 [cited by applicant]
US 8566627B2 · Halepete et al. · 2013 [cited by applicant]
US 8984313B2 · Bhandaru · 2015 [cited by examiner]
US 9052901B2 · Shah et al. · 2015 [cited by applicant]
US 11169560B2 · Srinivasan et al. · 2021 [cited by applicant]
US 11703906B2 · Srinivasan et al. · 2023 [cited by applicant]
US 12066853B2 · Srinivasan · 2024 [cited by examiner]
US 20070150893A1 · Grobman · 2007 [cited by applicant]
US 20070204186A1 · Brown et al. · 2007 [cited by applicant]
US 20090055826A1 · Bernstein et al. · 2009 [cited by applicant]
US 20100011233A1 · Halepete et al. · 2010 [cited by applicant]
US 20100235672A1 · Zhang et al. · 2010 [cited by applicant]
US 20100235678A1 · Kompella et al. · 2010 [cited by applicant]
US 20110239015A1 · Boyd et al. · 2011 [cited by applicant]
US 20120110352A1 · Branover et al. · 2012 [cited by applicant]
US 20130246820A1 · Branover et al. · 2013 [cited by applicant]
US 20140068290A1 · Bhandaru et al. · 2014 [cited by applicant]
US 20150134572A1 · Forlines et al. · 2015 [cited by applicant]
US 20150149800A1 · Gendler et al. · 2015 [cited by applicant]
US 20160019181A1 · Tan et al. · 2016 [cited by applicant]
US 20160085293A1 · Bhandaru et al. · 2016 [cited by applicant]
US 20160091938A1 · Edwards et al. · 2016 [cited by applicant]
US 20160203012A1 · Dong et al. · 2016 [cited by applicant]
US 20160259392A1 · Weissmann et al. · 2016 [cited by applicant]
US 20170075733A1 · Kannan · 2017 [cited by applicant]
US 20170206118A1 · Therien et al. · 2017 [cited by applicant]
US 20170249000A1 · Ragland et al. · 2017 [cited by applicant]
CN 1397878A · 2003 [cited by applicant]
CN 104205077A · 2014 [cited by applicant]
CN 105556438A · 2016 [cited by applicant]
International Preliminary Report on Patentability dated Aug. 27, 2019 for PCT Patent Application No. PCT/US2017/019484. [cited by applicant]
International Preliminary Report on Patentability, PCT App. No. PCT/US17/19484, Sep. 6, 2019, 12 pages. [cited by applicant]
International Search Report and Written Opinion, PCT App. No. PCT/US17/19484, Nov. 24, 2017, 13 pages. [cited by applicant]
Non-Final Office Action, U.S. Appl. No. 16/480,830, Jan. 4, 2021, 10 pages. [cited by applicant]
Non-Final Office Action, U.S. Appl. No. 17/520,296, Nov. 17, 2022, 7 pages. [cited by applicant]
Non-Final Office Action, U.S. Appl. No. 18/329,492, Dec. 19, 2023, 6 pages. [cited by applicant]
Notice of Allowance, U.S. Appl. No. 16/480,830, Apr. 20, 2021, 7 pages. [cited by applicant]
Notice of Allowance, U.S. Appl. No. 17/520,296, Mar. 3, 2023, 5 pages. [cited by applicant]
Notice of Allowance, U.S. Appl. No. 18/329,492, Apr. 16, 2024, 5 pages. [cited by applicant]
Notice of Allowance, CN App. No. 201780084195.4, Jun. 7, 2023, 4 pages (2 pages of English Translation and 2 pages of Original Document). [cited by applicant]
Notice of Allowance, CN App. No. 202111591730.X, Jan. 4, 2024, 4 pages (2 pages of English Translation and 2 pages of Original Document). [cited by applicant]
Office Action, CN App. No. 201780084195.4, Jan. 18, 2023, 7 pages of Original Document only. [cited by applicant]
Office Action, CN App. No. 202111591730.X, Jun. 30, 2023, 7 pages of Original Document only. [cited by applicant]