IP Library › Granted Patent US 8,726,055
Granted Patent B2
US 8,726,055 · App. 12/886,431 · Granted May 13, 2014

Multi-core power management

Inventors: David G. Conroy (El Granada, CA); Guy Sotomayor (San Jose, CA)
Assignee: Apple Inc.
G06F1/324G06F1/3206G06F1/32G06F1/3203G06F1/3228G06F1/3234G06F1/3243G06F1/3246G06F1/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,726,055
App. No.
12/886,431
Granted
May 13, 2014
Kind
B2
Abstract

The disclosed embodiments provide a system that operates a processor in a multi-core processor system. During operation, the system detects the creation of an asynchronous wakeup event for the processor. In response to detecting the creation of the asynchronous wakeup event, when the processor is subsequently placed into an idle state, the system configures the processor to resume operation at a reduced frequency that is a fraction of an operating frequency for the multi-core processor system, wherein the reduced frequency allows more power to be allocated to other processors in the multi-core processor system.

Claims (63)

1. A method for operating a processor in a multi-core processor system, comprising:

detecting a creation of an asynchronous wakeup event in a timer queue for the processor, the asynchronous wakeup event indicating that the processor is to be placed into an idle state and is to resume operation at a specified time in the future;

in response to detecting the creation of the asynchronous wakeup event, when the processor is to be placed into an idle state, configuring the processor to resume operation at a reduced frequency that is a fraction of an operating frequency for the multi-core processor system,

upon placing the processor into the idle state, increasing a frequency of one or more other processors in the multi-core processor system from a first frequency to a second frequency;

when the asynchronous wakeup event occurs, resuming operation of the processor at the reduced frequency to service the asynchronous wakeup event;

determining a workload associated with servicing the asynchronous wakeup event;

if the workload exceeds a threshold, configuring the processor to operate at the operating frequency of the multi-core processor system, wherein said configuration comprises:

negotiating with the multi-core processor system to allocate more power to the processor;

decreasing the frequency of the one or more other processors from the second frequency to the first frequency; and

increasing the frequency of the processor from the reduced frequency to the first frequency; and

if the workload does not exceed the threshold, allowing the processor to continue servicing the asynchronous wakeup event at the reduced frequency.

2. The method of claim 1 ,

wherein a power supply for the multi-core processor system is capable of supplying power to all processors in the multi-core processor system executing at the first frequency, and

wherein the power supply is not capable of supplying power to all processors in the multi-core processor system executing at the second frequency.

3. The method of claim 1 , wherein the first frequency corresponds to an underclocked state of the multi-core processor system.

4. The method of claim 1 , wherein the second frequency corresponds to an overclocked state of the multi-core processor system.

5. The method of claim 1 , wherein the reduced frequency is associated with a throttling state of the multi-core processor system.

6. A system for operating a processor in a multi-core processor system, comprising:

a detection mechanism configured to detect a creation of an asynchronous wakeup event in a timer queue for the processor, the asynchronous wakeup event indicating that the processor is to be placed into an idle state and is to resume operation at a specified time in the future;

a power-management mechanism configured to:

prior to placing the processor into the idle state, if the creation of the asynchronous wakeup event has been detected, configure the processor to resume operation at a reduced frequency that is a fraction of an operating frequency for the multi-core processor system, and

upon placing the processor into the idle state, increase a frequency of one or more other processors in the multi-core processor system from a first frequency to a second frequency; and

an execution mechanism configured to:

resume operation of the processor at the reduced frequency to service the asynchronous wakeup event when the asynchronous wakeup event occurs;

determine a workload associated with servicing the asynchronous wakeup event;

if the workload exceeds a threshold, configure the processor to operate at the operating frequency of the multi-core processor system, wherein said configuration comprises:

negotiating with the multi-core processor system to allocate more power to the processor;

decreasing the frequency of the one or more other processors from the second frequency to the first frequency; and

increasing the frequency of the processor from the reduced frequency to the first frequency; and

if the workload does not exceed the threshold, allow the processor to continue servicing the asynchronous wakeup event at the reduced frequency.

7. The system of claim 6 ,

wherein a power supply for the multi-core processor system is capable of supplying power to all processors in the multi-core processor system executing at the first frequency, and

wherein the power supply is not capable of supplying power to all processors in the multi-core processor system executing at the second frequency.

8. The system of claim 6 , wherein the power-management mechanism uses a throttling state of the multi-core processor system to configure the processor to resume operation at the reduced frequency.

9. A non-transitory computer-readable storage medium storing instructions that when executed by a computer cause the computer to perform a method for operating a processor in a multi-core processor system, comprising:

detecting a creation of an asynchronous wakeup event in a timer queue for the processor, the asynchronous wakeup event indicating that the processor is to be placed into an idle state and is to resume operation at a specified time in the future; and

in response to detecting the creation of the asynchronous wakeup event, when the processor is to be placed into an idle state, configuring the processor to resume operation at a reduced frequency that is a fraction of an operating frequency for the multi-core processor system,

upon placing the processor into the idle state, increasing a frequency of one or more other processors in the multi-core processor system from a first frequency to a second frequency;

when the asynchronous wakeup event occurs, resuming operation of the processor at the reduced frequency to service the asynchronous wakeup event;

determining a workload associated with servicing the asynchronous wakeup event;

if the workload exceeds a threshold, configuring the processor to operate at the operating frequency of the multi-core processor system, wherein said configuration comprises:

negotiating with the multi-core processor system to allocate more power to the processor;

decreasing the frequency of the one or more other processors from the second frequency to the first frequency; and

increasing the frequency of the processor from the reduced frequency to the first frequency; and

if the workload does not exceed the threshold, allowing the processor to continue servicing the asynchronous wakeup event at the reduced frequency.

10. The non-transitory computer-readable storage medium of claim 9 , wherein the first frequency corresponds to an underclocked state of the multi-core processor system.

11. The non-transitory computer-readable storage medium of claim 9 , wherein the second frequency corresponds to an overclocked state of the multi-core processor system.

12. The non-transitory computer-readable storage medium of claim 9 , wherein the reduced frequency is associated with a throttling state of the multi-core processor system.

13. A computer system, comprising:

a multi-core processor system;

a power supply for the multi-core processor system;

a detection mechanism configured to detect a creation of an asynchronous wakeup event in a timer queue for a processor in the multi-core processor system, the asynchronous wakeup event indicating that the processor is to be placed into an idle state and is to resume operation at a specified time in the future;

a power-management mechanism configured to:

prior to placing the processor into an idle state, if the creation of the asynchronous wakeup event has been detected, configure the processor to resume operation at a reduced frequency that is a fraction of an operating frequency for the multi-core processor system; and

upon placing the processor into the idle state, increasing a frequency of one or more other processors in the multi-core processor system from a first frequency to a second frequency; and

an execution mechanism configured to:

resume operation of the processor at the reduced frequency to service the asynchronous wakeup event when the asynchronous wakeup event occurs;

determine a workload associated with servicing the asynchronous wakeup event;

if the workload exceeds a threshold, configure the processor to operate at the operating frequency of the multi-core processor system, wherein said configuration comprises:

negotiating with the multi-core processor system to allocate more power to the processor;

decreasing the frequency of the one or more other processors from the second frequency to the first frequency; and

increasing the frequency of the processor from the reduced frequency to the first frequency; and

if the workload does not exceed the threshold, allow the processor to continue servicing the asynchronous wakeup event at the reduced frequency.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 9, 2010
From: CONROY, DAVID G.; SOTOMAYOR, GUY
To: APPLE INC.
Reel/Frame 025338/0199 →
Continuity (1)
Related Publication 20120072749A1 · Mar 22, 2012