IP Library Granted Patent US 8,943,340
Granted Patent B2
US 8,943,340 · App. 13/285,414 · Granted Jan 27, 2015

Controlling a turbo mode frequency of a processor

Inventors: Avinash N. Ananthakrishnan (Hillsboro, OR); Efraim Rotem (Haifa, IL); Doron Rajwan (Rishon Le-Zion, IL); Eliezer Wiessman (Haifa, IL); Ryan Wells (Folsom, CA); Nadav Shulman (Tel Mond, IL)
Assignee: Intel Corporation
G06F1/26G06F9/3885G06F1/3206G06F1/324G06F1/3243G06F1/3287
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 8,943,340
App. No.
13/285,414
Granted
Jan 27, 2015
Kind
B2
Abstract

In one embodiment, the present invention includes a multicore processor with a power controller to control a frequency at which the processor operates. More specifically, the power controller can limit a maximum operating frequency of the processor to less than a configured maximum operating frequency to enable a reduction in a number of frequency transitions occurring responsive to power state events, thus avoiding the overhead of operations performed in handling such transitions. Other embodiments are described and claimed.

Claims (27)

1. A method comprising:

analyzing, in a logic of a multicore processor including a plurality of cores, a plurality of power state change events during an evaluation interval to determine a hypothetical number of frequency transitions responsive to the plurality of power state change events for each of N-core turbo frequencies;

selecting one of the N-core turbo frequencies to be a maximum operating frequency of the multicore processor for a next operating interval based at least in part on the hypothetical number of frequency transitions, the selected N-core turbo frequency less than a configured maximum operating frequency of the multicore processor; and

controlling the plurality of cores to operate at no higher than the selected N-core turbo frequency for the next operating interval.

2. The method of claim 1 , further comprising receiving a turbo mode request for a first core of the multicore processor from a scheduler during the next operating interval, and controlling the first core to operate at the selected N-core turbo frequency.

3. The method of claim 1 , further comprising updating a first entry of a table on a power state change event, if a hypothetical frequency transition would be performed responsive to the power state change event if the multicore processor were operating at an N-core turbo frequency associated with the first entry.

4. The method of claim 3 , further comprising selecting the maximum operating frequency based on the table and storing the maximum operating frequency in a configuration register of the multicore processor.

5. The method of claim 4 , wherein selecting the maximum operating frequency comprises selecting the maximum operating frequency to be the N-core turbo frequency associated with an entry of the table having a counter value less than a threshold.

6. The method of claim 3 , further comprising updating the first entry of the table associated with the N-core turbo frequency when a number of the plurality of cores in an active state after the power state transition event is greater than N.

7. The method of claim 6 , wherein updating the first entry includes incrementing the first entry.

8. The method of claim 3 , further comprising not updating a second entry of the table associated with an N+1-core turbo frequency when a number of the plurality of cores in an active state after the power state change event is less than or equal to N+1.

9. The method of claim 3 , further comprising updating a plurality of entries of the table responsive to the power state change event when a hypothetical frequency transition would be performed responsive to the power state change event if the multicore processor were operating at the N-core turbo frequency associated with each of the plurality of entries prior to the power state change event.

10. A processor comprising:

a plurality of cores to independently execute instructions; and

a power controller to control a frequency at which the processor is to operate, the power controller to limit a maximum operating frequency of the processor to less than a configured maximum operating frequency to enable a reduction in a number of frequency transitions occurring responsive to power state events, wherein the power controller is to analyze a plurality of power state change events during an evaluation interval to determine a hypothetical number of frequency transitions for each of N-core turbo frequencies, select one of the N-core turbo frequencies to be the maximum operating frequency for a next operating interval based at least in part on the hypothetical number of frequency transitions, the selected N-core turbo frequency less than the configured maximum operating frequency, and control the plurality of cores to operate at no higher than the selected N-core turbo frequency for the next operating interval.

11. The processor of claim 10 , wherein the power controller is coupled to a table including a plurality of entries each associated with an N-core turbo frequency and to store a counter value corresponding to the hypothetical number of frequency transitions during the evaluation interval if the processor were operating at the N-core turbo frequency.

12. The processor of claim 11 , wherein the power controller is to limit the maximum operating frequency to be an N-core turbo frequency associated with an entry of the table having a counter value less than a threshold.

13. The processor of claim 12 , wherein when a plurality of entries have a counter value less than the threshold, the power controller is to select the highest N-core turbo frequency associated with the plurality of entries.

14. The processor of claim 12 , wherein the power controller is to receive a turbo mode request from a scheduler and to cause the processor to operate at the N-core turbo frequency.

15. The processor of claim 10 , wherein responsive to the maximum operating frequency limit, when N cores of the processor are in an active state, the processor is to operate at no higher than an N+1-core turbo frequency during a turbo mode.

16. An article comprising a machine-accessible non-transitory storage medium including instructions that when executed cause a controller of a multicore processor to:

responsive to a power state change event of at least one core of a multicore processor having a plurality of cores, determine a number of cores of the multicore processor to be in an active state after the power state change event; and

determine whether to update a first entry of a turbo demotion table associated with a N-core turbo frequency based at least in part on whether a frequency transition would be performed if the multicore processor were operating at the N-core turbo frequency.

17. The article of claim 16 , further comprising instructions that when executed enable the controller to update the first entry if the frequency transition would be performed.

18. The article of claim 16 , further comprising instructions that when executed enable the controller to maintain and update the turbo demotion table for an evaluation interval having a plurality of power state change events.

19. The article of claim 18 , further comprising instructions that when executed enable the controller to access the turbo demotion table after the evaluation interval to identify the entry of the turbo demotion table having a counter field value less than a frequency transition threshold and associated with a highest N-core turbo frequency, and to limit a maximum operating frequency of the multicore processor to the highest N-core turbo frequency.

20. The article of claim 19 , wherein, responsive to the maximum operating frequency limit, when X cores of the multicore processor are in an active state, the multicore processor is to operate at no higher than an X+1-core turbo frequency during a turbo mode, wherein X is less than the number of cores of the multicore processor.

Assignments (2)
CORRECTIVE ASSIGNMENT TO CORRECT THE FOURTH ASSIGNOR NAME PREVIOUSLY RECORDED AT REEL: 027418 FRAME: 0749. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jan 6, 2016
From: ANANTHAKRISHNAN, AVINASH N.; ROTEM, EFRAIM; RAJWAN, DORON; WEISSMANN, ELIEZER; WELLS, RYAN; SHULMAN, NADAV
To: INTEL CORPORATION
Reel/Frame 037447/0320 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 20, 2011
From: ANANTHAKRISHNAN, AVINASH N.; ROTEM, EFRAIM; RAJWAN, DORON; WIESSMANN, ELIEZER; WELLS, RYAN; SHULMAN, NADAV
To: INTEL CORPORATION
Reel/Frame 027418/0749 →
Continuity (1)
Related Publication 20130111226A1 · May 2, 2013