The technical field relates to the field of data or graphics processor architecture. More specifically, this invention relates to the field of achieving power control with a processor via varying instruction issuance for a group of processor operational units.
Information or data processors are found in many contemporary electronic devices such as, for example, personal computers, game playing devices and video equipment. Modern processors include extensive execution resources to support concurrent processing of multiple instructions. A processor typically includes several operational units including: integer, floating point, branch, and memory units. Additionally, register files and on-chip caches are also provided to supply the operational units with operands. This is particularly evident in graphics processors, which typically have a large number of operational units and registers compared to general purpose processors. When fully engaged by an executing program, these operational units can create significant power dissipation issues.
To conserve power, a processor may employ power throttling, such as by gating a clock signal to cut off the clock signal delivered to operational units that are not used by an executing instruction sequence. Alternately (or additionally), a processor may limit an operational unit's operating frequency by slowing the clock signal for that operational unit. Power throttling may also be implemented through altering the number of instructions processed by an operational unit per clock cycle (instruction throttling) or by suspending instruction issuance for an operational unit for a time period. These and other power control mechanisms have their particular advantages and disadvantages.
An apparatus is provided for power control in a processor by modifying instruction issuance. The apparatus comprises a plurality of operational units arranged as a group of operational units. A power consumption monitor determines when the cumulative power consumption of the group of operational units exceeds a threshold, after which a filter for issuing instructions to the group of operational units modifies instruction issuance to the group of operational units.
In another embodiment, apparatus is provided for power control in a processor by modifying instruction issuance. The apparatus comprises a plurality of operational units arranged as a group of operational units. A power consumption monitor determines when the cumulative power consumption of the group of operational units exceeds a threshold during a time interval, after which a filter for issuing instructions to the group of operational units suspends instruction issuance to the group of operational units for the remainder of the time interval.
A method is provided for controlling power consumption in a processor via modifying instruction issuance. The method comprises monitoring the cumulative power consumption by a group of operational units within a processor and modifying instruction issuance to the group of operational units responsive to the cumulative power consumption of the group of operational units exceeding a threshold.
In another embodiment, a method is provided for controlling power consumption in a processor via modifying instruction issuance. The method comprises monitoring the cumulative power consumption by a group of operational units within a processor over a time interval. If the cumulative power consumption of the group of operational units exceeds a threshold, instruction issuance to the group of operational units is suspended for the remainder of the time interval.
Embodiments of the present invention will hereinafter be described in conjunction with the following drawing figures, wherein like numerals denote like elements, and
The following detailed description is merely exemplary in nature and is not intended to limit the disclosure or the application and uses of the disclosure. As used herein, the word “exemplary” means “serving as an example, instance, or illustration.” Thus, any embodiment described herein as “exemplary” is not necessarily to be construed as preferred or advantageous over other embodiments. Moreover, as used herein, the word “processor” encompasses any type of information or data processor, including, without limitation, Internet access processors, Intranet access processors, personal data processors, military data processors, financial data processors, navigational processors, voice processors, music processors, video processors or any multimedia processors. All of the embodiments described herein are exemplary embodiments provided to enable persons skilled in the art to make or use the disclosed embodiments and not to limit the scope of the disclosure which is defined by the claims. Furthermore, there is no intention to be bound by any expressed or implied theory presented in the preceding technical field, background, brief summary, the following detailed description or for any particular processor microarchitecture.
In this document, relational terms such as first and second, and the like may be used solely to distinguish one entity or action from another entity or action without necessarily requiring or implying any actual such relationship or order between such entities or actions. Numerical ordinals such as “first,” “second,” “third,” etc. simply denote different singles of a plurality and do not imply any order or sequence unless specifically defined by the claim language.
Additionally, the following description refers to elements or features being “connected” or “coupled” together. As used herein, “connected” may refer to one element/feature being directly joined to (or directly communicating with) another element/feature, and not necessarily mechanically. Likewise, “coupled” may refer to one element/feature being directly or indirectly joined to (or directly or indirectly communicating with) another element/feature, and not necessarily mechanically. However, it should be understood that, although two elements may be described below, in one embodiment, as being “connected,” in alternative embodiments similar elements may be “coupled,” and vice versa. Thus, although the schematic diagrams shown herein depict example arrangements of elements, additional intervening elements, devices, features, or components may be present in an actual embodiment.
Finally, for the sake of brevity, conventional techniques and components related to processor architecture and other functional aspects of a processor system (and the individual operating components of the system) may not be described in detail herein. Furthermore, the connecting lines shown in the various figures contained herein are intended to represent example functional relationships and/or physical couplings between the various elements. It should be noted that many alternative or additional functional relationships or physical connections may be present in an embodiment of the invention. It should also be understood that
Referring now to
The processor 10 of
The processor 10 also includes a power control module 38 that programs (via programming lines 40) the filters 34 and 36 based upon the power requirements of the processor. For example, the power control module 38 may provide the instruction issuance time interval duration, the cumulative power threshold, cumulative power rate threshold and other parameters to the filters 34 and 36. The power control module 38 may also vary (via programming line 42) the internal clock 28 of the processor 10 to achieve additional control over power consumption by modulating the clock signal 29.
Referring now to
Generally, it is convenient to have durations for both the time interval 50 and the second time interval 56 set to a multiple of the clock signal (29 in
Accordingly, the exemplary embodiments of the present disclosure contemplate a number of options to prevent such a resonance condition from occurring. In some embodiments, the filters (34 and 36 in
Referring now to
Other parameters programmed by the power control module and stored in a filter data memory 62 include any allowed instruction issuance rate changes (e.g., threshold adjustments) for subsequent short-term time intervals from previous time intervals. Also, a minimum or maximum instruction issue rate may be programmed into the filter, which varies the speed in which a group of operational units could achieve the threshold value within the short-term time interval. During power state changes of the processor (10 in
The group power monitor 62 may have various embodiments such as a counter that counts the instructions issued to the group of operational units during the short-term time interval. In some embodiments, a simple running count of instructions issued is accumulated and compared to the threshold. In other embodiments, double-word instructions are counted as two instructions since double-word instructions typically consume twice as much power as single-word instructions. Other arrangements and features including, but not limited to, weighted averaging, power state offset, calibration and modulation of the clock signal (29 in
Referring now to
The routine begins in step 72 where the second (long-term) time interval (56 in
Referring now to
The routine begins in step 92 where programming from the power control module (38 in
Optionally, the filter monitors the minimum and maximum allowed instruction issue rates. Accordingly, decision 98 determines whether the current instruction issue rate is below the minimum instruction issue rate. If so, the rate of instruction issuance is allowed to increase (step 100). Next, decision 102 determines whether the current instruction issue rate is above the maximum instruction issue rate. If so, the rate of instruction issuance is reduced in step 104. If the instruction issue rate is determined by decisions 98 and 102 to be within the minimum and maximum allowed instruction issue rates, decision 106 determines whether the cumulative power consumption for the group of operational units (30 in
Various processor-based devices that may advantageously use the processor (or any computational unit) of the present disclosure include, but are not limited to, laptop computers, digital books or readers, printers, scanners, standard or high-definition televisions or monitors and standard or high-definition set-top boxes for satellite or cable programming reception. In each example, any other circuitry necessary for the implementation of the processor-based device would be added by the respective manufacturer. The above listing of processor-based devices is merely exemplary and not intended to be a limitation on the number or types of processor-based devices that may advantageously use the processor (or any computational) unit of the present disclosure.
While at least one exemplary embodiment has been presented in the foregoing detailed description of the disclosure, it should be appreciated that a vast number of variations exist. It should also be appreciated that the exemplary embodiment or exemplary embodiments are only examples, and are not intended to limit the scope, applicability, or configuration of the disclosure in any way. Rather, the foregoing detailed description will provide those skilled in the art with a convenient road map for implementing an exemplary embodiment of the disclosure, it being understood that various changes may be made in the function and arrangement of elements described in an exemplary embodiment without departing from the scope of the disclosure as set forth in the appended claims and their legal equivalents.
Number | Name | Date | Kind |
---|---|---|---|
3816716 | De Garmo | Jun 1974 | A |
4001690 | Mack et al. | Jan 1977 | A |
4550369 | Rokutanda et al. | Oct 1985 | A |
4611289 | Coppola | Sep 1986 | A |
5021679 | Fairbanks et al. | Jun 1991 | A |
5072376 | Ellsworth et al. | Dec 1991 | A |
5167024 | Smith et al. | Nov 1992 | A |
5218704 | Watts, Jr. et al. | Jun 1993 | A |
5268845 | Startup et al. | Dec 1993 | A |
5303095 | Vuong | Apr 1994 | A |
5365552 | Astle | Nov 1994 | A |
5396635 | Fung | Mar 1995 | A |
5408639 | Gulick et al. | Apr 1995 | A |
5410711 | Stewart | Apr 1995 | A |
5412780 | Rushton | May 1995 | A |
5416726 | Garcia-Duarte et al. | May 1995 | A |
5428790 | Harper et al. | Jun 1995 | A |
5442794 | Wisor et al. | Aug 1995 | A |
5461266 | Koreeda et al. | Oct 1995 | A |
5465367 | Reddy et al. | Nov 1995 | A |
5481690 | Grumlose et al. | Jan 1996 | A |
5623677 | Townsley et al. | Apr 1997 | A |
5719800 | Mittal et al. | Feb 1998 | A |
5835746 | Girardeau et al. | Nov 1998 | A |
6029006 | Alexander et al. | Feb 2000 | A |
6125450 | Kardach | Sep 2000 | A |
6415388 | Browning et al. | Jul 2002 | B1 |
6564328 | Grochowski et al. | May 2003 | B1 |
6633987 | Jain et al. | Oct 2003 | B2 |
7047336 | Lin et al. | May 2006 | B2 |
7111179 | Girson et al. | Sep 2006 | B1 |
7114086 | Mizuyabu et al. | Sep 2006 | B2 |
7167994 | Zdravkovic | Jan 2007 | B2 |
7269751 | Janakiraman et al. | Sep 2007 | B2 |
7281140 | Burns et al. | Oct 2007 | B2 |
7284137 | Clark et al. | Oct 2007 | B2 |
7330988 | Golla et al. | Feb 2008 | B2 |
7337339 | Choquette et al. | Feb 2008 | B1 |
7418608 | Kumar et al. | Aug 2008 | B2 |
7444526 | Felter et al. | Oct 2008 | B2 |
7689849 | Sokorac | Mar 2010 | B2 |
7779276 | Bolan et al. | Aug 2010 | B2 |
Number | Date | Country | |
---|---|---|---|
20130124900 A1 | May 2013 | US |