A portable computer may include a graphics processing unit (e.g., a graphics processor). Graphics processors consume significant battery power. In some situations, a user may be using the portable computer for simple tasks that do not require a full voltage and frequency of a graphics processor. In this situation, the power and frequency used by the graphics processor may be reduced to save battery reserves. To reduce power consumption, the graphics processor may operate in one of several power-performance states (i.e., P-states). P-states may indicate a voltage and frequency in which the graphics processor will operate. For example, P-state zero (i.e., P0) may be a highest-performance state that indicates the graphics processor will operate at a maximum voltage and a maximum frequency.
The graphics processor may be associated with a plurality of P-states such as P0 through Pn, where n is an integer greater than 0. P-states, such as P1 through Pn, may be successively lower-performance states than P0 where each has a scaled down voltage and frequency. For example, P1 will be associated with a slower frequency and lower voltage than P0 and P2 will be associated with a slower frequency and lower voltage than P1.
Referring now to
At a time of startup, the first operating point and the second operating point may be determined (e.g., read) by a computer processor. Each operating point may be defined by a voltage and a frequency associated with the graphics processing unit. In one embodiment, the first register may be a Turbo register that stores a maximum voltage and a maximum frequency at which the graphics processing unit may operate. The second register may comprise a Thermal Design Power (TDP) register that indicates a voltage/frequency to operate the graphics processing unit that is lower than the voltage and frequency values stores in the Turbo register. In some embodiments, the TDP register may indicate a lowest voltage/frequency to operate the graphics processing unit. In some embodiments, the voltage values and frequency values that are populated into the Turbo and TDP registers are determined at a time of manufacture of the graphics processing unit.
For illustrative purposes, and to aid in understanding features of the specification, an example will now be introduced. This example will be carried through the detailed description and this example is not intended to limit the scope of the claims. For example, at a time of manufacture a graphics processing unit may be tested by testing equipment. The testing equipment may determine that a maximum operating voltage for the graphics processing unit is 1.53 volts and that a maximum operating frequency for the graphics processing unit is 833 MHz. The testing equipment may then store the 1.53 volts value and 833 MHz value into the graphic processing unit's Turbo register. Next, the testing equipment may determine that a lowest operating point for the graphic processing unit may comprise a voltage of 1.10 volts and a frequency of 496 MHz. These values may also be stored in a register of the graphics processing unit. Once installed in a portable computer, at a time of startup, the first operating point (1.53 V/833 MHz) and the second operating point (1.10 V/496 MHz) may be read by a computer processor.
A plurality of voltage/frequency values between the first operating point and the second operating point are automatically determined at 102, where each of the plurality of voltage/frequency values may comprise both a voltage and a frequency. The determined values may be stored in one or more registers in a chip set associated with the graphics processing unit.
In some embodiments, automatically determining values between the first operating point and the second operating point may comprise plotting the first operating point and the second operating point on a graph and calculating a line on the graph between the first operating point and the second operating point. In some embodiments, the graph may an electrically determined graph that is determined by a computer processor. The plurality of voltage/frequency values may comprise values that are decremented from the first operating point by a fixed voltage amount or by a fixed frequency amount. For example, each plurality of voltage/frequency values may comprise a frequency that is decremented by X MHz, where X is a value greater than zero. In some embodiments, each of the plurality of voltage/frequency values may comprise a voltage that is decremented by Y volts, where Y is a value greater than zero. In the case that a frequency that is decremented by X MHz, once the frequency is decremented, a corresponding voltage value on the graph may be used to complete a voltage component of a voltage/frequency value. In this regard, a difference between the frequency associated with the first operating point and the frequency associated with the first of the plurality of voltage/frequency values is substantially equal to a difference between the frequency associated with the first of the plurality voltage/frequency value and the frequency associated with the second of the plurality of voltage/frequency values. Or in other words, f0−f1=f1−f2.
In some embodiments, a first voltage/frequency value of the plurality of voltage/frequency values may be associated with a voltage that is less than a voltage associated with the first operating point and may also be associated with a frequency that is less than a frequency associated with the first operating point. A second voltage/frequency value of the plurality of voltage/frequency values may be associated with a voltage that is less than the voltage associated with the first voltage/frequency value of the plurality of voltage/frequency values and may be associated with a frequency that is less than the frequency associated with the first of the plurality of voltage/frequency values.
Continuing with the above example and now referring to
Referring back to
Continuing with the above example, and again referring to
Now referring to
The memory 205 may store, for example, applications, programs, procedures, and/or modules that store instructions to be executed. The memory 205 may comprise, according to some embodiments, any type of memory for storing data, such as a Single Data Rate Random Access Memory (SDR-RAM), a Double Data Rate Random Access Memory (DDR-RAM), or a Programmable Read Only Memory (PROM).
The processor 201 may include or otherwise be associated with dedicated registers, stacks, queues, etc. that are used to execute program code and/or one or more of these elements may be shared there between.
The medium 202 may comprise any computer-readable medium that may store instructions to be executed by the processor 201. For example, the medium 202 may comprise, but is not limited to, a compact disk, a digital video disk, flash memory, optical storage, random access memory, read only memory, or magnetic media.
The graphics processing unit (GPU) 203 may comprise a first register 203A and a second register 203B. In some embodiments, the first register 203A and the second register 203B may comprise fuse registers. While two registers are illustrated, the GPU 203 may comprise any number of registers. For example, the GPU's 203 first register 203A may comprise a Turbo register, the second register 203B may comprise a TDP register and a third register (not shown) may comprise a lowest frequency mode (LFM) register. At a time of manufacture of the GPU 203, each register may be populated with information associated with the GPU 203.
The switching voltage regulator 204 may comprise any switching voltage regulator that is, or will be, known. In some embodiments, the switching voltage regulator 204 may control a voltage and a frequency associated with power provided to the GPU 203. In some embodiments, the switching voltage regulator may be controlled by the processor 201 to regulate a voltage and frequency that is supplied to the GPU 203. The switching voltage regulator 204 may be controlled based on the first operating point 203A, the second operating point 203B, and a plurality of voltage/frequency values.
Referring now to
In some embodiments, an LFM may correspond to a most efficient operating point. As illustrated at 307 of
In some embodiments, an LFM register or a third general purpose register (i.e., fuse) may be used to store an LFM. That is, a flag may be set to indicate that an equation (e.g., a linear equation) may use the values associated with the Turbo register, the TDP register, and the LFM register. In some embodiments, using the values associated with the LFM register rather than the TDP register may improve efficiency as illustrated in
As illustrated in
Various modifications and changes may be made to the foregoing embodiments without departing from the broader spirit and scope set forth in the appended claims.
Number | Date | Country | Kind |
---|---|---|---|
2696/DEL/2009 | Dec 2009 | IN | national |
Number | Name | Date | Kind |
---|---|---|---|
4088980 | Tanigawa et al. | May 1978 | A |
4378557 | Murata | Mar 1983 | A |
5049796 | Seraji | Sep 1991 | A |
5491704 | Duron | Feb 1996 | A |
5781783 | Gunther et al. | Jul 1998 | A |
5812860 | Horden et al. | Sep 1998 | A |
5987614 | Mitchell et al. | Nov 1999 | A |
6005549 | Forest | Dec 1999 | A |
6088794 | Yoon et al. | Jul 2000 | A |
6115823 | Velasco et al. | Sep 2000 | A |
6141762 | Nicol et al. | Oct 2000 | A |
6151652 | Kondo et al. | Nov 2000 | A |
6333750 | Odryna et al. | Dec 2001 | B1 |
6351529 | Holeva | Feb 2002 | B1 |
6351850 | van Gilluwe et al. | Feb 2002 | B1 |
6429840 | Sekiguchi | Aug 2002 | B1 |
6466829 | Sickler | Oct 2002 | B1 |
6509911 | Shimotono | Jan 2003 | B1 |
6532506 | Dunstan et al. | Mar 2003 | B1 |
6539443 | Dunstan et al. | Mar 2003 | B1 |
6640145 | Hoffberg et al. | Oct 2003 | B2 |
6677991 | Ito | Jan 2004 | B1 |
6691236 | Atkinson | Feb 2004 | B1 |
6704875 | Kinoshita et al. | Mar 2004 | B1 |
6704879 | Parrish | Mar 2004 | B1 |
6763226 | McZeal, Jr. | Jul 2004 | B1 |
6771250 | Oh | Aug 2004 | B1 |
6944229 | Son et al. | Sep 2005 | B2 |
6967522 | Chandrakasan et al. | Nov 2005 | B2 |
6996441 | Tobias | Feb 2006 | B1 |
7006881 | Hoffberg et al. | Feb 2006 | B1 |
7017053 | Mizuyabu et al. | Mar 2006 | B2 |
7020786 | Vyssotski et al. | Mar 2006 | B2 |
7023192 | Sutardja et al. | Apr 2006 | B2 |
7027032 | Rosenberg et al. | Apr 2006 | B2 |
7036032 | Mizuyabu et al. | Apr 2006 | B2 |
7053594 | Sutardja et al. | May 2006 | B2 |
7111179 | Girson et al. | Sep 2006 | B1 |
7114086 | Mizuyabu et al. | Sep 2006 | B2 |
7130807 | Mikurak | Oct 2006 | B1 |
7143215 | Dunstan et al. | Nov 2006 | B2 |
7161590 | Daniels | Jan 2007 | B2 |
7166966 | Naugler, Jr. et al. | Jan 2007 | B2 |
7181370 | Furem et al. | Feb 2007 | B2 |
7188261 | Tobias et al. | Mar 2007 | B1 |
7190338 | Kubota et al. | Mar 2007 | B2 |
7243246 | Allen et al. | Jul 2007 | B2 |
7243254 | Kuroodi et al. | Jul 2007 | B1 |
7339570 | Kubota et al. | Mar 2008 | B2 |
7343484 | Du et al. | Mar 2008 | B2 |
7562233 | Sheng et al. | Jul 2009 | B1 |
7609047 | Ravichandran | Oct 2009 | B2 |
7941675 | Burr et al. | May 2011 | B2 |
8250395 | Carter et al. | Aug 2012 | B2 |
8370658 | Sheng et al. | Feb 2013 | B2 |
20020040442 | Ishidera | Apr 2002 | A1 |
20020075249 | Kubota et al. | Jun 2002 | A1 |
20020091991 | Castro | Jul 2002 | A1 |
20030051183 | Lo et al. | Mar 2003 | A1 |
20030059020 | Meyerson et al. | Mar 2003 | A1 |
20030085621 | Potega | May 2003 | A1 |
20030103088 | Dresti et al. | Jun 2003 | A1 |
20030160239 | Shinagawa et al. | Aug 2003 | A1 |
20030169247 | Kawabe et al. | Sep 2003 | A1 |
20030188144 | Du et al. | Oct 2003 | A1 |
20040178785 | Sutardja et al. | Sep 2004 | A1 |
20040196016 | Sutardja et al. | Oct 2004 | A1 |
20040236969 | Lippert et al. | Nov 2004 | A1 |
20040259542 | Viitamaki et al. | Dec 2004 | A1 |
20050046396 | Patterson | Mar 2005 | A1 |
20050071698 | Kangas | Mar 2005 | A1 |
20050086280 | Thuerk | Apr 2005 | A1 |
20050134578 | Chambers et al. | Jun 2005 | A1 |
20050138437 | Allen et al. | Jun 2005 | A1 |
20050151571 | Brown et al. | Jul 2005 | A1 |
20050240538 | Ranganathan | Oct 2005 | A1 |
20050243588 | Kubota et al. | Nov 2005 | A1 |
20050263765 | Maekawa | Dec 2005 | A1 |
20060022657 | Sutardja et al. | Feb 2006 | A1 |
20060080062 | Bose et al. | Apr 2006 | A1 |
20060250377 | Zadesky et al. | Nov 2006 | A1 |
20060265609 | Fung | Nov 2006 | A1 |
20070094525 | Uguen et al. | Apr 2007 | A1 |
20070103122 | Morong et al. | May 2007 | A1 |
20070145962 | Huang et al. | Jun 2007 | A1 |
20070146354 | Kubota et al. | Jun 2007 | A1 |
20070225951 | Eryilmaz et al. | Sep 2007 | A1 |
20080016468 | Chambers et al. | Jan 2008 | A1 |
20080030182 | Sutardja et al. | Feb 2008 | A1 |
20080059814 | Esliger | Mar 2008 | A1 |
20080126803 | Ginter et al. | May 2008 | A1 |
20080130322 | Artusi et al. | Jun 2008 | A1 |
20080157743 | Martin et al. | Jul 2008 | A1 |
20080169796 | Buethker et al. | Jul 2008 | A1 |
20080195878 | Meijer et al. | Aug 2008 | A1 |
20080232141 | Artusi et al. | Sep 2008 | A1 |
20080238380 | Jain | Oct 2008 | A1 |
20080243899 | Staudinger et al. | Oct 2008 | A1 |
20080252280 | Prodic et al. | Oct 2008 | A1 |
20080307240 | Dahan et al. | Dec 2008 | A1 |
Number | Date | Country | |
---|---|---|---|
20110154069 A1 | Jun 2011 | US |