Dynamic power management optimization

US2016378168A1 · US · A1

Patent metadata
FieldValue
Publication numberUS-2016378168-A1
Application numberUS-201514751515-A
CountryUS
Kind codeA1
Filing dateJun 26, 2015
Priority dateJun 26, 2015
Publication dateDec 29, 2016
Grant date

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Systems, apparatuses, and methods for managing power usage of integrated circuits. One or more processor cores may be powered down when the system is idle. Even if there is no user activity, the processor core(s) may be woken up periodically for background downloads to retrieve the latest status for social media and other applications. Additionally, a power management unit may track the average number of active cores and the average core utilization. If the average number of active cores is less than a first threshold and the average core utilization is less than a second threshold, the power management unit may generate a request to offline one or more cores. Still further, when the processor's skin temperature is above a threshold and all of the cores are operating at the lowest acceptable operating point, one or more cores may be powered down.

First claim

Opening claim text (preview).

What is claimed is: 1 . A method comprising: initiating power down of a compute unit; determining a value of a wakeup timer based at least in part on a history of activity of the compute unit; starting the wakeup timer; and powering down the compute unit until the wakeup timer expires. 2 . The method as recited in claim 1 , further comprising: setting the wakeup timer to a first value responsive to determining an activity indicator is less than a first threshold; and setting the wakeup timer to a second value responsive to determining the activity indicator is greater than the first threshold, wherein the second value is less than the first value. 3 . The method as recited in claim 2 , wherein the activity indicator is a counter and the method further comprises incrementing the counter responsive to detecting a memory access by the compute unit during a given interval. 4 . The method as recited in claim 3 , further comprising decrementing the counter responsive to detecting no memory accesses by the compute unit during the given interval. 5 . The method as recited in claim 1 , wherein the compute unit is a first core of a multi-core processor, and wherein the method further comprises: calculating an average number of active cores for the multi-core processor; calculating an average core utilization of the multi-core processor; and generating a request to power down the first core responsive to determining the average number of active cores is less than a first threshold and the average core utilization is less than a second threshold. 6 . The method as recited in claim 5 , further comprising powering up a second core responsive to determining the average core utilization is above a third threshold. 7 . The method as recited in claim 1 , wherein the compute unit is a first core of a multi-core processor, and wherein the method further comprises: monitoring a temperature of the multi-core processor; generating a request to power down the first core responsive to determining the temperature is above a threshold and all cores of the multi-core are operating at a lowest acceptable operating point. 8 . A system comprising: a memory; a compute unit coupled to the memory; a power management unit coupled to the compute unit, wherein the power management unit is configured to: determine a value of a wakeup timer based at least in part on a history of activity of the compute unit; start the wakeup timer; and power down the compute unit until the wakeup timer expires. 9 . The system as recited in claim 8 , wherein the power management unit is further configured to: set the wakeup timer to a first value responsive to determining an activity indicator is less than a first threshold; and set the wakeup timer to a second value responsive to determining the activity indicator is greater than the first threshold, wherein the second value is less than the first value. 10 . The system as recited in claim 9 , wherein the activity indicator is a counter and the power management unit is further configured to increment the counter responsive to detecting a memory or input/output (I/O) access by the compute unit during a given interval. 11 . The system as recited in claim 10 , wherein the power management unit is further configured to decrement the counter responsive to detecting no memory or I/O accesses by the compute unit during the given interval. 12 . The system as recited in claim 8 , wherein the compute unit is a first core of a multi-core processor, and wherein the power management unit is configured to: calculate an average number of active cores for the multi-core processor; calculate an average core utilization of the multi-core processor; and generate a request to power down the first core responsive to determining the average number of active cores is less than a first threshold and the average core utilization is less than a second threshold. 13 . The system as recited in claim 12 , wherein the power management unit is further configured to power up a second core responsive to determining the average core utilization is above a third threshold. 14 . The system as recited in claim 8 , wherein the compute unit is a first core of a multi-core processor, and wherein the power management unit is configured to: monitor a temperature of the multi-core processor; and generate a request to power down the first core responsive to determining the temperature is above a threshold and all cores of the multi-core are operating at a lowest acceptable operating point. 15 . A non-transitory computer readable storage medium storing program instructions, wherein the program instructions are executable by a processor to: initiate power down of a compute unit; determine a value of a wakeup timer based at least in part on a history of activity of the compute unit; start the wakeup timer; and power down the compute unit until the wakeup timer expires. 16 . The non-transitory computer readable storage medium as recited in claim 15 , wherein the program instructions are further executable by a processor to: set a wakeup timer to a first value responsive to determining an activity indicator is less than a first threshold; and set the wakeup timer to a second value responsive to determining the activity indicator is greater than the first threshold, wherein the second value is less than the first value. 17 . The non-transitory computer readable storage medium as recited in claim 16 , wherein the activity indicator is a counter, wherein the program instructions are further executable by a processor to increment the counter responsive to detecting a memory access by the compute unit during a given interval. 18 . The non-transitory computer readable storage medium as recited in claim 17 , wherein the program instructions are further executable by a processor to decrementing the counter responsive to detecting no memory accesses by the compute unit during the given interval. 19 . The non-transitory computer readable storage medium as recited in claim 15 , wherein the compute unit is a first core of a multi-core processor, wherein prior to initiating power down of the first core, the program instructions are executable by a processor to: calculate an average number of active cores for the multi-core processor; calculate an average core utilization of the multi-core processor; and generate a request to power down the first core responsive to determining the average number of active cores is less than a first threshold and the average core utilization is less than a second threshold. 20 . The non-transitory computer readable storage medium as recited in claim 19 , wherein the program instructions are further executable by a processor to power up a second core responsive to determining the average core utilization is above a third threshold.

Assignees

Inventors

Classifications

  • by lowering the supply or operating voltage · CPC title

  • G06F1/3287Primary

    by switching off individual functional units in the computer system · CPC title

  • by disabling clock generation or distribution · CPC title

  • Power management, i.e. event-based initiation of a power-saving mode · CPC title

  • Power saving in microcontroller unit · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US2016378168A1 cover?
Systems, apparatuses, and methods for managing power usage of integrated circuits. One or more processor cores may be powered down when the system is idle. Even if there is no user activity, the processor core(s) may be woken up periodically for background downloads to retrieve the latest status for social media and other applications. Additionally, a power management unit may track the average…
Who is the assignee on this patent?
Advanced Micro Devices Inc
What technology area does this patent fall under?
Primary CPC classification G06F1/3287. Mapped technology areas include Physics.
When was this patent published?
Publication date Thu Dec 29 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (A1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).