IP Library › Granted Patent US 12,422,913
Granted Patent B1
US 12,422,913 · App. 18/051,820 · Granted Sep 23, 2025

Power management for a graphics processing unit or other circuit

Inventors: Patrick Y. Law (Cupertino, CA); Robert A. Drebin (Palo Alto, CA); Keith Cox (Sunnyvale, CA); James S. Ismail (San Jose, CA)
Assignee: Apple Inc.
G06F1/3265G06F1/206G06F1/3203G06F1/3206G06F1/3218G06F1/324G06F1/3287G06F1/3296Y02D10/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,422,913
App. No.
18/051,820
Filed
Nov 1, 2022
Granted
Sep 23, 2025
Kind
B1
Art Unit
2176
USPC
713/322
Abstract

In one embodiment, a system includes power management control that controls a duty cycle of a processor to manage power. The duty cycle may be the amount of time that the processor is powered on as a percentage of the total time. By frequently powering up and powering down the processor during a period of time, the power consumption of the processor may be controlled while providing the perception that the processor is continuously available. For example, the processor may be a graphics processing unit (GPU), and the period of time over which the duty cycle is managed may be a frame to be displayed on the display screen viewed by a user of the system.

Claims (45)

1. An integrated circuit comprising:

a processor;

power monitor circuitry coupled to the processor and configured to generate a power measurement representing power consumed in the processor; and

controller circuitry coupled to the power monitor circuitry and the processor and configured to implement a feedback loop to perform the following procedure multiple times:

generate a target power measurement based on an amount of remaining battery life in a battery that is a source of power to the integrated circuit;

determine an error between the target power measurement and a power measurement generated by the power monitor circuitry;

based on the determined error:

select a limit for a first amount of time within a given fixed time period that the processor is powered on to no more than a first limit amount such that the processor is powered off during a remainder of the fixed time period beyond the limit, wherein the controller circuitry is configured to determine the limit amount at a current powered first operating point of the processor having a first non-zero frequency and a first non-zero supply voltage; and

alter a subsequent powered operating point of the processor to a powered second operating point, having a second non-zero frequency and a second non-zero supply voltage, including to select the second operating point based on a non-zero length of the first amount of time.

2. The integrated circuit as recited in claim 1 , wherein the controller circuitry is configured to generate the target power measurement further based on a desired amount of time that remaining power in the battery is to last.

3. The integrated circuit as recited in claim 1 wherein the controller circuitry is configured to:

detect that the first amount of time is less than a first threshold; and

reduce the subsequent operating point based on detecting that the first amount of time is less than the first threshold.

4. The integrated circuit as recited in claim 3 wherein the controller circuitry is configured to:

detect that the first amount of time is greater than a second threshold and that the first limit amount is at a maximum; and

increase the subsequent operating point based on detecting that the first amount of time is greater than the second threshold and that the first limit amount is at the maximum.

5. The integrated circuit as recited in claim 1 wherein the controller circuitry comprises a second processor and a non-transitory computer accessible storage medium storing a plurality of instructions which, when executed by the second processor, causes the second processor to perform operations comprising at least a portion of operations performed by the controller circuitry during use.

6. The integrated circuit as recited in claim 5 wherein the controller circuitry further comprises hardware circuitry configured to perform a remaining portion of operations performed by the controller circuitry during use.

7. The integrated circuit as recited in claim 1 wherein the controller circuitry is configured to power off the processor in the given fixed time period based on completion of a task even if the first limit amount has not been exhausted.

8. The integrated circuit as recited in claim 1 wherein the power monitor circuitry is configured to estimate the power measurement based on activity in the processor.

9. The integrated circuit as recited in claim 1 wherein the power monitor circuitry is configured to measure power consumption from a power supply to the processor to determine the power measurement.

10. The integrated circuit as recited in claim 1 wherein the given fixed time period is one of a plurality of fixed time periods over which the processor operates, and wherein the processor performs a task within each of the plurality of fixed time periods during use, and wherein the controller circuitry is configured to permit the processor to exceed the first limit amount subsequent to one or more of the plurality of fixed time periods in which the processor completed the task in less than the first limit amount.

11. A method comprising:

performing, by a computing system, the following procedure multiple times in a feedback loop:

generating a power measurement representing power consumed in a processor;

generating a target power measurement based on an amount of remaining battery life in a battery that is a source of power to the processor;

determining an error between the target power measurement and the power measurement; and

based on the determined error:

selecting a limit for a first amount of time within a given fixed time period that the processor is powered on to no more than a first limit amount such that the processor is powered off during a remainder of the fixed time period beyond the limit, wherein the first limit amount is determined at a current powered operating point of the processor having a first non-zero frequency and a first non-zero supply voltage; and

alter a subsequent powered operating point of the processor to a powered second operating point, having a second non-zero frequency and a second non-zero supply voltage, including to select the second operating point based on a non-zero length of the first amount of time.

12. The method as recited in claim 11 wherein the generating the target power measurement is further based on a desired amount of time that remaining power in the battery is to last.

13. The method as recited in claim 11 further comprising:

detecting that the first amount of time is less than a first threshold; and

reducing the subsequent operating point based on detecting that the first amount of time is less than the first threshold.

14. The method as recited in claim 13 further comprising:

detecting that the first amount of time is greater than a second threshold and that the first limit amount is at a maximum; and

increasing the subsequent operating point based on detecting that the first amount of time is greater than the second threshold and that the first limit amount is at the maximum.

15. The method as recited in claim 11 wherein the given fixed time period is one of a plurality of fixed time periods over which the processor operates, and the processor performs a task within each of the plurality of fixed time periods during use, and the method further comprises permitting the processor to exceed the first limit amount subsequent to one or more of the plurality of fixed time periods in which the processor completed the task in less than the first limit amount.

16. A method comprising:

generating a power measurement representing power consumed in a processor;

generating a target power measurement for the processor;

determining an error between the target power measurement and the power measurement;

limiting a first amount of time within a given fixed time period that the processor is powered on to no more than a first limit amount, wherein the first limit amount is determined at a current operating point of the processor based on the determined error, the given fixed time period is one of a plurality of fixed time periods over which the processor operates, wherein the processor performs a task within each of the plurality of fixed time periods during use; and

permitting the processor to exceed the first limit amount subsequent to one or more of the plurality of fixed time periods in which the processor completed the task in less than the first limit amount.

17. The method as recited in claim 16 further comprising accumulating, by an integral controller, an amount of time not consumed by the processor in the one or more of the plurality of fixed time periods.

Continuity (5)
Continuation 17221076 · Apr 2, 2021
Continuation 16139631 · Sep 24, 2018
Continuation 15284660 · Oct 4, 2016
Continuation 14549656 · Nov 21, 2014
Continuation 13090459 · Apr 20, 2011
References Cited (105)
US 5921650A · Doany et al. · 1999 [cited by applicant]
US 5926640A · Mason · 1999 [cited by examiner]
US 6067083A · Glen et al. · 2000 [cited by applicant]
US 6076171A · Kawata · 2000 [cited by applicant]
US 6535798B1 · Bhatia et al. · 2003 [cited by applicant]
US 6657634B1 · Sinclair et al. · 2003 [cited by applicant]
US 6687844B1 · Zhang · 2004 [cited by applicant]
US 6820209B1 · Culbert et al. · 2004 [cited by applicant]
US 6950105B2 · Giemborek et al. · 2005 [cited by applicant]
US 7017059B2 · Law et al. · 2006 [cited by applicant]
US 7256795B2 · Chen · 2007 [cited by applicant]
US 7451332B2 · Culbert et al. · 2008 [cited by applicant]
US 7490254B2 · Clark · 2009 [cited by applicant]
US 7500123B2 · Luong et al. · 2009 [cited by applicant]
US 7504800B2 · Culbert et al. · 2009 [cited by applicant]
US 7529948B2 · Conroy et al. · 2009 [cited by applicant]
US 7562234B2 · Conroy et al. · 2009 [cited by applicant]
US 7664970B2 · Jahagirdar · 2010 [cited by applicant]
US 7730336B2 · Marinkovic et al. · 2010 [cited by applicant]
US 7774626B2 · Fleming · 2010 [cited by examiner]
US 7788516B2 · Conroy et al. · 2010 [cited by applicant]
US 7802120B2 · Conroy et al. · 2010 [cited by applicant]
US 7849332B1 · Alben et al. · 2010 [cited by applicant]
US 7861013B2 · Hunkins et al. · 2010 [cited by applicant]
US 7861102B1 · Ranganathan · 2010 [cited by examiner]
US 7903116B1 · Klock et al. · 2011 [cited by applicant]
US 8010822B2 · Marshall et al. · 2011 [cited by applicant]
US 8028185B2 · Branover et al. · 2011 [cited by applicant]
US 8117473B2 · Oh · 2012 [cited by applicant]
US 8799697B2 · Johnson et al. · 2014 [cited by applicant]
US 8856566B1 · Jane · 2014 [cited by applicant]
US 8908581B2 · Ho et al. · 2014 [cited by applicant]
US 8924752B1 · Law et al. · 2014 [cited by applicant]
US 9058155B2 · Cepulis et al. · 2015 [cited by applicant]
US 9235251B2 · Gargash · 2016 [cited by examiner]
US 9250665B2 · Avkarogullari et al. · 2016 [cited by applicant]
US 9349393B2 · Jane · 2016 [cited by applicant]
US 9494994B1 · Law et al. · 2016 [cited by applicant]
US 9927863B1 · Jane · 2018 [cited by applicant]
US 9952655B1 · Jane et al. · 2018 [cited by applicant]
US 10114446B1 · Law et al. · 2018 [cited by applicant]
US 11009938B1 · Law et al. · 2021 [cited by applicant]
US 20020133789A1 · Hsu · 2002 [cited by applicant]
US 20040039954A1 · White et al. · 2004 [cited by applicant]
US 20040083397A1 · Chen · 2004 [cited by examiner]
US 20050131584A1 · Law et al. · 2005 [cited by applicant]
US 20050231454A1 · Alben et al. · 2005 [cited by applicant]
US 20060097662A1 · Santos · 2006 [cited by examiner]
US 20060143483A1 · Liebenow · 2006 [cited by examiner]
US 20070010963A1 · Gaskins · 2007 [cited by applicant]
US 20070067136A1 · Conroy · 2007 [cited by examiner]
US 20070206018A1 · Bajic · 2007 [cited by examiner]
US 20070238437A1 · Jaakkola · 2007 [cited by applicant]
US 20080028236A1 · Capps · 2008 [cited by examiner]
US 20080031279A1 · Hatakeyama · 2008 [cited by applicant]
US 20080168285A1 · de Cesare · 2008 [cited by applicant]
US 20080303833A1 · Swift et al. · 2008 [cited by applicant]
US 20090007123A1 · Sreedharan et al. · 2009 [cited by applicant]
US 20090094473A1 · Mizutani · 2009 [cited by examiner]
US 20090153540A1 · Blinzer et al. · 2009 [cited by applicant]
US 20090157914A1 · Junkins et al. · 2009 [cited by applicant]
US 20090171511A1 · Tolentino · 2009 [cited by examiner]
US 20090177907A1 · Sotomayor, Jr. · 2009 [cited by examiner]
US 20090187753A1 · Gelman · 2009 [cited by examiner]
US 20090222654A1 · Hum et al. · 2009 [cited by applicant]
US 20090284534A1 · Hendry et al. · 2009 [cited by applicant]
US 20090299543A1 · Cox et al. · 2009 [cited by applicant]
US 20090309885A1 · Samson · 2009 [cited by examiner]
US 20100058078A1 · Branover et al. · 2010 [cited by applicant]
US 20100103147A1 · Sumpter · 2010 [cited by applicant]
US 20100115220A1 · Lee · 2010 [cited by applicant]
US 20100122101A1 · Naffziger · 2010 [cited by examiner]
US 20100156492A1 · Perkins et al. · 2010 [cited by applicant]
US 20100235654A1 · Malik · 2010 [cited by applicant]
US 20110023040A1 · Hendry et al. · 2011 [cited by applicant]
US 20110055596A1 · Wyatt · 2011 [cited by applicant]
US 20110057936A1 · Gotwalt et al. · 2011 [cited by applicant]
US 20110106935A1 · Srinivasan · 2011 [cited by applicant]
US 20110148890A1 · Kaburlasos et al. · 2011 [cited by applicant]
US 20120146708A1 · Naffziger et al. · 2012 [cited by applicant]
US 20120166845A1 · Henry et al. · 2012 [cited by applicant]
US 20120185703A1 · Machnicki et al. · 2012 [cited by applicant]
US 20120249559A1 · Khodorkovsky et al. · 2012 [cited by applicant]
US 20130021352A1 · Wyatt et al. · 2013 [cited by applicant]
US 20130057562A1 · Nordlund et al. · 2013 [cited by applicant]
US 20130080816A1 · Johnson et al. · 2013 [cited by applicant]
US 20130097448A1 · Davis et al. · 2013 [cited by applicant]
US 20130155073A1 · Khodorkovsky et al. · 2013 [cited by applicant]
US 20130169656A1 · Cheng et al. · 2013 [cited by applicant]
US 20130326250A1 · Sullivan et al. · 2013 [cited by applicant]
US 20140344429A1 · Baumann · 2014 [cited by applicant]
U.S. Appl. No. 13/090,459, filed Apr. 20, 2011, Patrick Y. Law. [cited by applicant]
“Demystify Power Gating and Stop Leakage Cold”, Anand Iyer, Mar. 3, 2006, EE Times, pp. 1-4. [cited by applicant]
Ryan Smith, “AMD's Radeon HD 6970 & Radeon HD 6950: The Future for AMD,” AnandTech, Dec. 15, 2010, pp. 1-44. [cited by applicant]
Josh Venning, “ATI Mobility Radeon X1600 First Look,” AnandTech, Dec. 5, 2005, pp. 1-3. [cited by applicant]
Anand Lal Shimpi & Derek Wilson, “ATI Radeon HD 3870 & 3850: A Return to Competition,” AnandTech, Nov. 15, 2007, pp. 1-16. [cited by applicant]
Matthew Witheiler, “ATI Mobility Radeon 9000: Raising the bar again,” AnandTech, Aug. 29, 2002, pp. 1-12. [cited by applicant]
AMD, FirePro Graphics: AMD PowerTuneTechnology, May 2011, PowerTune Technology Whitepaper, pp. 1-4. [cited by applicant]
W1zzard, NVIDIA GeFOrce GTX Kepler 2 GB Review, Mar. 2012, retrieved from , <<http://www.techpowerup.com/reviews/NVIDIA/GeForce_GTX680/30.html>>on Aug. 7, 2015. [cited by applicant]
U.S. Appl. No. 13/466,597, filed May 8, 2012, all pages. [cited by applicant]
Office Action U.S. Appl. No. 13/466,597, mailed Apr. 4, 2015, 14 pages. [cited by applicant]
Office Action U.S. Appl. No. 13/466,597, mailed Oct. 22, 2015, 19 pages. [cited by applicant]
Office Action U.S. Appl. No. 13/466,597, mailed Nov. 21, 2014, 7 pages. [cited by applicant]
U.S. Appl. No. 14/549,656, filed Nov. 21, 2014, all pages. [cited by applicant]
U.S. Appl. No. 15/284,660, filed Oct. 4, 2016, all pages. [cited by applicant]