Embodiments relate to power management of an integrated circuit.
Advances in semiconductor processing and logic design have permitted an increase in the amount of logic that may be present on integrated circuit devices. As a result, computer system configurations have evolved from a single or multiple integrated circuits in a system to multiple hardware threads, multiple cores, multiple devices, and/or complete systems on individual integrated circuits. Additionally, as the density of integrated circuits has grown, the power requirements for computing systems (from embedded systems to servers) have also escalated. Furthermore, demanding software, and its requirements of hardware, have also caused an increase in computing device energy consumption. In fact, some studies indicate that computing devices consume a sizeable percentage of the entire electricity supply for a country, such as the United States of America. As a result, there is a vital need for energy efficiency and conservation associated with integrated circuits. These needs will increase as servers, desktop computers, notebooks, ultrabooks, tablets, mobile phones, processors, embedded systems, etc. become even more prevalent (from inclusion in the typical computer, automobiles, and televisions to biotechnology).
In addition, there are various constraints placed on an integrated circuit with regard to the level at which it can operate, both as to operating frequency and voltage (as well as other possible constraints). Many of these constraints are placed by the manufacturer of an integrated circuit and can relate to parameters such as a thermal design point (TDP), which is a maximum heat dissipation that an associated cooling system can handle for the integrated circuit (and thus the average maximum power that the integrated circuit can consume). The integrated circuit can similarly be constrained to operate at a maximum available frequency, maximum available voltage and so forth.
Depending on the environmental conditions at which an integrated processor is operating and its processing load, a processor may be constrained to operate at no greater than an electrical design point (EDP) which is a maximum power consumption level (actually current, translated to power) that the integrated processor as a whole is not allowed to exceed, even instantaneously. While this EDP is set on manufacture for different operating conditions (e.g., temperature and so forth), as greater amounts of cores and other circuitry are present on a processor or other integrated circuit, which can potentially operate at different power consumption levels, it becomes difficult to monitor and determine a dynamic EDP for the processor.
Embodiments may determine an electrical design point (EDP) constraint for a multicore processor in which each core (or group of cores) can be at a separate frequency point. In addition to frequency independency, the cores can be independently active or in a sleep state, and if active, may or may not be using certain high power consuming circuitry such as special multiply-add or vector processing circuitry. Each of these aspects affects the amount of power consumed by a core. The total power consumed by all cores may be controlled to fit within a given power budget and electrical design point.
Optimizing a system for maximum performance at minimum power consumption is usually done using the operating system (OS) or system software to control hardware elements. Most modern OS's use the Advanced Configuration and Power Interface (ACPI) standard (e.g., Rev. 3.0b, published Oct. 10, 2006) for optimizing the system in these areas.
According to an OS-based ACPI mechanism, a processor can operate at various power and performance states or levels. With regard to power states, ACPI specifies different sleep states, generally referred to as C0 to Cn states. When a core is active, it runs at a C0 state, and when the core is idle it may be placed in a core low power state, also called a core non-zero C-state (e.g., C1-C6 states). When all cores of a multicore processor are in a core low power state, the processor can be placed in a package low power state, such as a package C6 low power state.
In addition to these sleep states, a processor can further be configured to operate at one of multiple performance states, namely from P0 to PN. In general, the P1 performance state may correspond to the highest guaranteed performance state that can be requested by an OS. In addition to this P1 state, the OS can further request a higher performance state, namely a P0 state. This P0 state may thus be an opportunistic state in which, when power and/or thermal budget is available, processor hardware can configure the processor or at least portions thereof to operate at a higher than guaranteed frequency. In many implementations a processor can include multiple so-called bin frequencies, also referred to herein as turbo mode frequencies, above this P1 frequency. The highest such frequency may correspond to a maximum available turbo mode frequency (P01), which is a highest frequency at which a domain can operate. This maximum available turbo mode frequency thus is the highest end of multiple turbo mode frequencies greater than the P1 frequency and corresponds to a maximum non-guaranteed highest performance level that can be achieved. Note that the terms “performance state” or “P-state” can be interchangeably used with the term “operating frequency” (or more generally “frequency”) as the frequency at which a core operates has a direct correlation to its performance. Thus as used herein a higher performance state correlates to a higher operating frequency.
Although the following embodiments are described with reference to energy conservation and energy efficiency in specific integrated circuits, such as in computing platforms or processors, other embodiments are applicable to other types of integrated circuits and logic devices. Similar techniques and teachings of embodiments described herein may be applied to other types of circuits or semiconductor devices that may also benefit from better energy efficiency and energy conservation. For example, the disclosed embodiments are not limited to any particular type of computer systems, and may be also used in other devices, such as handheld devices, systems on chip (SoCs), and embedded applications. Some examples of handheld devices include cellular phones, Internet protocol devices, digital cameras, personal digital assistants (PDAs), and handheld PCs. Embedded applications typically include a microcontroller, a digital signal processor (DSP), network computers (NetPC), set-top boxes, network hubs, wide area network (WAN) switches, or any other system that can perform the functions and operations taught below. Moreover, the apparatus', methods, and systems described herein are not limited to physical computing devices, but may also relate to software optimizations for energy conservation and efficiency. As will become readily apparent in the description below, the embodiments of methods, apparatus', and systems described herein (whether in reference to hardware, firmware, software, or a combination thereof) are vital to a ‘green technology’ future, such as for power conservation and energy efficiency in products that encompass a large portion of the US economy.
Referring now to
As seen, processor 110 may be a single die processor including multiple cores 120a-120n. In addition, each core may be associated with an individual voltage regulator 125a-125n. Accordingly, a fully implemented voltage regulator (FIVR) implementation may be provided to allow for fine-grained control of voltage and thus power and performance of each individual core. As such, each core can operate at an independent voltage and frequency, enabling great flexibility and affording wide opportunities for balancing power consumption with performance.
Still referring to
In various embodiments, PCU 138 may include logic to perform an efficient analysis to determine a maximum permitted turbo mode frequency, also referred to herein as an EDP clip point. While not shown for ease of illustration, understand that additional components may be present within processor 110 such as uncore logic, and other components such as internal memories, e.g., one or more levels of a cache memory hierarchy and so forth. Furthermore, while shown in the implementation of
Conventional multicore processors operate all cores at a single common frequency, which reduces EDP calculation complexity. In such a processor, a table, indexable by the number of active/sleeping cores and number of cores using math units, is used to determine the maximum operating frequency that meets the electrical design point. The table is recomputed each time the temperature changes by a significant amount. However, in various embodiments such a table becomes prohibitively large given that each of the cores can in addition seek and operate at a different frequency from its siblings. And the dynamic frequency range for core operation increases as core counts increase. Large tables require more time for computation, with recomputations performed on any significant temperature change. Further, storage space increases with table size, increasing die size and power dissipation. A possible optimization is to trim table size by bucketing frequencies, but in so doing approximations would result in greater than necessary EDP clipping that would compromise performance. A combination of a partially generated but accurate table with a search in a smaller subspace is a more complex solution without adequate savings in space and compute time. In fact, on a simple processor used for firmware execution, determining the upper and lower power envelopes for a core activity pattern (frequencies, active/sleep, math on/off) is itself non-trivial and may require nearly as many compute cycles as computing full power for that pattern.
Embodiments thus provide a dynamic clip point computation algorithm to determine EDP in the context of per core P-states (PCPS), to enable the operation of cores at different voltage/frequencies. To this end, a unit power table may be computed and maintained. Then based on this table and information regarding a core activity pattern, an EDP clip point can be determined.
The various computations performed in an embodiment may be performed within a power control unit of the processor. Referring now to
Accordingly as shown in
Note that unit power table 190 may be recomputed on any significant temperature change (e.g., approximately 1-2 Celsius), given that capacitance changes with temperature and hence the power to operate at any given frequency changes. In one embodiment, the power may be computed according to tV2f, where t=temperature, V=voltage and f=frequency.
Thus as seen in
Still referring to
In various embodiments, to determine the activity level of a core, activity array 198 may be maintained, e.g., in a storage of PCU 138. This array, also referred to as a core activity pattern storage, may include N elements, one per core of the multicore processor. In one embodiment, each element is a triplet that abstracts core activity as follows: <frequency, active/inactive, math-unit active/inactive>.
As examples, two such entries of this array may be as follows:
<F1, active, math-unit inactive>
<F2, sleep, math-unit active>.
Note that although described with these particular parameters in this embodiment, more or different parameters may be considered. In one embodiment, this array can be populated using activity information received from the cores, e.g., via a PCU interrupt that provides information about any thread, and thus core, C-state, and/or P-state change request. Also understand that in other embodiments, one or both of unit power table 190 and core activity array 198 may be located outside of the PCU.
Based on all of this information, clip logic 195 can determine a maximum permitted turbo frequency, which can be lower than the maximum available turbo mode frequency, e.g., as fused into the part. Based on the analysis performed in clip logic 195, this maximum permitted turbo frequency can be provided to a core frequency controller 192 which may be used to communicate an authorized operating frequency to each of the cores within the processor. Although shown at this high level in the embodiment of
In one embodiment, a search for the EDP constraint may be implemented in EDP clip logic 195, which can include firmware of the PCU. To not violate the electrical design constraint in the core power domain, the power drawn by each core is estimated and the sum is calculated. Then it can be determined whether this estimated power sum would exceed the power budget at the maximum current that may be drawn. If the sum exceeds power limits, the maximum frequency of operation can be dropped progressively until the sum satisfies the power constraint. Progressively dropping operating frequency may be more productive and fairer than turning off cores.
Embodiments may use a binary search with certain heuristics to determine the EDP clip point. In an exemplary embodiment, the maximum number of iterations is log(N), where N is the number of rows in the unit power table. In one embodiment the heuristics may include: 1) first considering all other constraints, such as thermal, stock keeping unit (SKU) and so forth such as customer-specified such as over clocking or a lower than maximum turbo to clip the upper limit, effectively reducing the range, and hence search space speeding the search; and 2) to further speed the search, classify the cores into three groups: inactive, guaranteed, and turbo. Of course other groupings are possible, such as multiple guaranteed groupings, depending on whether certain circuitry is active or inactive.
Then to determine the available amounts of power for cores in or seeking a turbo mode, power for the cores seeking a frequency at or below the maximum guaranteed frequency is first computed. This total power consumption for guaranteed cores can be subtracted from the total power budget along with power for additional circuitry of the processor, such as an uncore circuit, effectively reducing the number of operations per iteration, because there may be fewer than K turbo cores, where K is the number of cores in the system.
In one embodiment, the search may terminate in certain circumstances. First, a search can be terminated upon encountering an iteration where no clipping occurs. Such iteration occurs when all the cores seek a frequency lower than the EDP clip point under investigation. Second, a search can be terminated when the residual power at a potential EDP clip point is lower than a configured threshold. In one embodiment, this threshold may be the power to run a single core at the lowest possible frequency.
Embodiments thus support EDP in a context in which individual or clusters of cores operate at different voltage/frequency (V/F) points. Supporting EDP in such contexts is handled by a compute-on-the-fly approach in accordance with an embodiment of the present invention to avoid the prohibitive size and compute time to facilitate table lookup based solutions.
Referring now to
Next, control passes to block 220 where the cores can be classified into different bins. In the embodiment of
After classifying the cores, control passes to block 230 where power consumption can be determined for the guaranteed and inactive cores. In many implementations, the power consumption contribution of an inactive core may be close to or equal to zero Watts. In one embodiment, the determination of power consumed by the cores can be based on information in a unit power table to provide information as to power consumption for a given performance level and type of circuitry active. Via a PCU, embodiments may have access to thread/core active status, and circuitry in action, in particular PCU system state information/storage that is updated by transition events. In one embodiment, such information may be held in mask for rapid use, for example, core sleep state masks for each of sleep states C0, C3, and C6. Next, this determined power consumption for the guaranteed cores can be subtracted from the available power budget to thus determine an available power budget at block 240.
Control then passes to block 250 where based on this available power budget, an iterative search can be performed. More specifically this search may determine the maximum permitted turbo mode for the cores. In one embodiment, a binary search may be performed iteratively until an iteration of the search occurs in which no core is clipped, meaning that no core is requesting a turbo level higher than an EDP clip point, which may be set at a given turbo level. Or, the iterations can conclude when the residual power is less than a threshold power level. In one embodiment, this threshold power level may correspond to the lowest amount of power able to power a core at its minimum operating frequency. Although shown at this high level in the embodiment of
Referring now to Table 1, shown is example pseudocode for performing a dynamic EDP binary search/clip point analysis in accordance with an embodiment of the present invention.
Referring now to
As seen in
From both block 325 and diamond 315 (if the core is not seeking a higher value performance state than this mid value), control passes to block 330 where the remaining power can be decremented based on this core performance state and whatever circuitry is active in the core. As discussed above, this determination can be based on information in a unit power table, along with this mid value. Next it can be determined at diamond 335 whether all turbo cores have been considered. If not, control passes back to block 310 above. Otherwise, method 300 may conclude at block 340 where the remaining power at this EDP clip point under consideration is thus determined along with the determination of whether the clip flag is indicated to be true (meaning that one or more cores were clipped from a requested performance state to the mid state) or false in that no such core was clipped. Although shown at this high level in the embodiment of
Referring now to
As seen, method 400 can begin by setting a high value to a highest available performance state according to processor constraints (block 405). As discussed above, such constraints can include thermal and SKU among others. In one embodiment, this high value may correspond to the highest possible P-state available. Next control passes to block 410 where a low value can be set to a minimum operating frequency, which also corresponds to a maximum efficiency state. In an embodiment, the low value can correspond to the lowest possible P-state.
Next control passes to diamond 415 where can be determined whether any core is seeking to operate at a turbo mode. If not, control passes to block 425 where the EDP clip point value can be set to this high value. Accordingly, control passes to block 430 where the method may conclude by indicating that the EDP clip point has been found.
If instead of one or more cores is seeking a turbo mode, control passes to diamond 420 where it can be determined whether the high value is less than a maximum guaranteed frequency. If so, control passes to block 425, discussed above. Otherwise, control passes to block 435 where the mid value can be set to the average of the high and low values. Next, control passes to block 440 where a remaining power can be computed for the turbo cores at this mid value. In an embodiment, this computation can be performed according to the method of
Referring still to
Otherwise if at least one of the cores seeking a turbo mode was clipped, control passes to block 450 to determine whether the remaining power is greater than zero. If not, the high value can be set to the mid value at block 455, and next a determination can be made at diamond 460 as to whether a difference between the high and low values is equal to one. If not, control passes to block 440 discussed above.
If instead the difference is equal to one, control passes to block 465 where the mid value can be set equal to the high value, and control passes to block 480 where the remaining power can be computed for the turbo cores using this mid value. This determination may be performed in a similar manner to the calculation described above as to
Referring still to
Computing EDP clip on the fly in a PCPS environment in accordance with an embodiment of the present invention thus saves on table compute time and space. Using an embodiment that does not approximate core power states results in no artificial clipping due to approximations and ensures maximum performance gains. Also, using search heuristics and a binary search helps reduce the complexity to O(log(n)), which does not increase sleep state exit latencies.
Referring now to
In various embodiments, power control unit 555 may be in communication with OS power management code, effected by the OS writing to a machine specific register (MSR), one per logical processor. For example, based on a request received from the OS and information regarding the workloads being processed by the cores, power control unit 555 may use included EDP clip logic 557 that in one embodiment may execute firmware to realize the algorithm set forth in
With further reference to
Referring now to
As seen in
Coupled between front end units 610 and execution units 620 is an out-of-order (OOO) engine 615 that may be used to receive the micro-instructions and prepare them for execution. More specifically OOO engine 615 may include various buffers to re-order micro-instruction flow and allocate various resources needed for execution, as well as to provide renaming of logical registers onto storage locations within various register files such as register file 630 and extended register file 635. Register file 630 may include separate register files for integer and floating point operations. Extended register file 635 may provide storage for vector-sized units, e.g., 256 or 512 bits per register.
Various resources may be present in execution units 620, including, for example, various integer, floating point, and single instruction multiple data (SIMD) logic units, among other specialized hardware. For example, such execution units may include one or more arithmetic logic units (ALUs) 622, among other such execution units.
Results from the execution units may be provided to retirement logic, namely a reorder buffer (ROB) 640. More specifically, ROB 640 may include various arrays and logic to receive information associated with instructions that are executed. This information is then examined by ROB 640 to determine whether the instructions can be validly retired and result data committed to the architectural state of the processor, or whether one or more exceptions occurred that prevent a proper retirement of the instructions. Of course, ROB 640 may handle other operations associated with retirement.
As shown in
Referring now to
In general, each core 710 may further include last level caches in addition to various execution units and additional processing elements. In turn, the various cores may be coupled to each other and to a shared cache memory formed of a plurality of units of a LLC 7400-740n. In various embodiments, LLC 740 may be shared amongst the cores and the graphics engine, as well as various media processing circuitry. As seen, a ring interconnect 730 thus couples the cores together, and provides interconnection between the cores, graphics domain 720 and system agent circuitry 750. In one embodiment, interconnect 730 can be part of the core domain. However in other embodiments the ring interconnect can be of its own domain.
As further seen, system agent domain 750 may include display controller 752 which may provide control of and an interface to an associated display. As further seen, system agent domain 750 may include a power control unit 755 which can include an EDP clip logic 759 in accordance with an embodiment of the present invention to dynamically limit a turbo mode frequency of the cores based on analysis of an available power budget, the activity status of cores seeking a turbo mode, and their determined contribution to power consumption. In various embodiments, this logic may execute the algorithm described above in
As further seen in
Embodiments may be implemented in many different system types. Referring now to
Still referring to
Furthermore, chipset 890 includes an interface 892 to couple chipset 890 with a high performance graphics engine 838, by a P-P interconnect 839. In turn, chipset 890 may be coupled to a first bus 816 via an interface 896. As shown in
In accordance with the above discussion, an embodiment can be implemented as a processor with multiple cores each to independently execute instructions (and which may operate at an independent voltage and frequency). Included in the processor or coupled thereto may be a power controller. This controller can be configured with logic to group the cores into multiple groups corresponding to inactive cores, cores operating at or below a guaranteed maximum operating frequency, and cores requesting a turbo mode frequency. From these groupings, an available power budget for the turbo seeking cores can be determined based on power consumption for the other cores. Then an iterative search can be performed for a maximum permitted turbo mode frequency for these turbo seeking cores. In an embodiment, the power controller can be configured with one or more means for performing such operations.
Another aspect is directed to a system with a multicore processor including multiple cores and a PCU to dynamically limit a maximum permitted turbo mode frequency based on a core activity pattern that indicates for each of the cores an activity level and a logic unit state of the corresponding core and power consumption information of a unit power table that, in one embodiment, is dynamically computed based on a temperature of the multicore processor.
In another embodiment, control logic may be configured to execute a method that includes grouping cores into multiple groups, determining a power consumption for guaranteed and inactive cores to determine an available power budget for a turbo seeking group of cores, and performing an iterative search for a permitted maximum turbo mode frequency for this group of cores based on the available power budget. This iterative search can be performed until none of the this group of cores is requesting a turbo mode frequency greater than a candidate maximum permitted turbo mode frequency, a remaining power value is less than a threshold power level but not negative, or no further search is possible and the remaining power value is greater than zero.
Embodiments may be used in many different types of systems. For example, in one embodiment a communication device can be arranged to perform the various methods and techniques described herein. Of course, the scope of the present invention is not limited to a communication device, and instead other embodiments can be directed to other types of apparatus for processing instructions, or one or more machine readable media including instructions that in response to being executed on a computing device, cause the device to carry out one or more of the methods and techniques described herein.
Embodiments may be implemented in code and may be stored on a storage medium having stored thereon instructions which can be used to program a system to perform the instructions. The storage medium may include, but is not limited to, any type of disk including floppy disks, optical disks, solid state drives (SSDs), compact disk read-only memories (CD-ROMs), compact disk rewritables (CD-RWs), and magneto-optical disks, semiconductor devices such as read-only memories (ROMs), random access memories (RAMs) such as dynamic random access memories (DRAMs), static random access memories (SRAMs), erasable programmable read-only memories (EPROMs), flash memories, electrically erasable programmable read-only memories (EEPROMs), magnetic or optical cards, or any other type of media suitable for storing electronic instructions.
While the present invention has been described with respect to a limited number of embodiments, those skilled in the art will appreciate numerous modifications and variations therefrom. It is intended that the appended claims cover all such modifications and variations as fall within the true spirit and scope of this present invention.
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/US2012/028876 | 3/13/2012 | WO | 00 | 6/25/2013 |
Publishing Document | Publishing Date | Country | Kind |
---|---|---|---|
WO2013/137860 | 9/19/2013 | WO | A |
Number | Name | Date | Kind |
---|---|---|---|
5163153 | Cole et al. | Nov 1992 | A |
5522087 | Hsiang | May 1996 | A |
5590341 | Matter | Dec 1996 | A |
5621250 | Kim | Apr 1997 | A |
5931950 | Hsu | Aug 1999 | A |
6748546 | Mirov et al. | Jun 2004 | B1 |
6792392 | Knight | Sep 2004 | B1 |
6823516 | Cooper | Nov 2004 | B1 |
6829713 | Cooper et al. | Dec 2004 | B2 |
6996728 | Singh | Feb 2006 | B2 |
7010708 | Ma | Mar 2006 | B2 |
7043649 | Terrell | May 2006 | B2 |
7093147 | Farkas et al. | Aug 2006 | B2 |
7111179 | Girson et al. | Sep 2006 | B1 |
7194643 | Gonzalez et al. | Mar 2007 | B2 |
7272730 | Acquaviva et al. | Sep 2007 | B1 |
7412611 | Tipley | Aug 2008 | B2 |
7412615 | Yokota et al. | Aug 2008 | B2 |
7434073 | Magklis | Oct 2008 | B2 |
7437270 | Song et al. | Oct 2008 | B2 |
7454632 | Kardach et al. | Nov 2008 | B2 |
7529956 | Stufflebeam | May 2009 | B2 |
7539885 | Ma | May 2009 | B2 |
7596705 | Kim | Sep 2009 | B2 |
7730340 | Hu et al. | Jun 2010 | B2 |
8429441 | Baker et al. | Apr 2013 | B2 |
8438359 | Kasahara et al. | May 2013 | B2 |
8463973 | Naffziger et al. | Jun 2013 | B2 |
8560869 | Allarey | Oct 2013 | B2 |
8924758 | Steinman et al. | Dec 2014 | B2 |
20010044909 | Oh et al. | Nov 2001 | A1 |
20020194509 | Plante et al. | Dec 2002 | A1 |
20030061383 | Zilka | Mar 2003 | A1 |
20040025069 | Gary et al. | Feb 2004 | A1 |
20040064752 | Kazachinsky et al. | Apr 2004 | A1 |
20040098560 | Storvik et al. | May 2004 | A1 |
20040139356 | Ma | Jul 2004 | A1 |
20040268166 | Farkas et al. | Dec 2004 | A1 |
20050022038 | Kaushik et al. | Jan 2005 | A1 |
20050033881 | Yao | Feb 2005 | A1 |
20050132238 | Nanja | Jun 2005 | A1 |
20060050670 | Hillyard et al. | Mar 2006 | A1 |
20060053326 | Naveh | Mar 2006 | A1 |
20060059286 | Bertone et al. | Mar 2006 | A1 |
20060069936 | Lint et al. | Mar 2006 | A1 |
20060117202 | Magklis et al. | Jun 2006 | A1 |
20060184287 | Belady et al. | Aug 2006 | A1 |
20070005995 | Kardach et al. | Jan 2007 | A1 |
20070016817 | Albonesi et al. | Jan 2007 | A1 |
20070033425 | Clark | Feb 2007 | A1 |
20070079294 | Knight | Apr 2007 | A1 |
20070106827 | Boatright et al. | May 2007 | A1 |
20070156992 | Jahagirdar | Jul 2007 | A1 |
20070214342 | Newburn | Sep 2007 | A1 |
20070239398 | Song et al. | Oct 2007 | A1 |
20070245163 | Lu et al. | Oct 2007 | A1 |
20080005592 | Allarey et al. | Jan 2008 | A1 |
20080028240 | Arai et al. | Jan 2008 | A1 |
20080162972 | Liu et al. | Jul 2008 | A1 |
20080250260 | Tomita | Oct 2008 | A1 |
20090006871 | Liu et al. | Jan 2009 | A1 |
20090132844 | Allarey et al. | May 2009 | A1 |
20090150695 | Song et al. | Jun 2009 | A1 |
20090150696 | Song et al. | Jun 2009 | A1 |
20090158061 | Schmitz et al. | Jun 2009 | A1 |
20090158067 | Bodas et al. | Jun 2009 | A1 |
20090172375 | Rotem et al. | Jul 2009 | A1 |
20090172428 | Lee | Jul 2009 | A1 |
20090187776 | Baba | Jul 2009 | A1 |
20090235105 | Branover et al. | Sep 2009 | A1 |
20100064162 | Rotem et al. | Mar 2010 | A1 |
20100115304 | Finkelstein et al. | May 2010 | A1 |
20100115309 | Carvalho et al. | May 2010 | A1 |
20100138675 | Nikazm et al. | Jun 2010 | A1 |
20100146513 | Song | Jun 2010 | A1 |
20100191997 | Dodeja et al. | Jul 2010 | A1 |
20100213919 | Takayanagi et al. | Aug 2010 | A1 |
20110138388 | Wells et al. | Jun 2011 | A1 |
20110154090 | Dixon et al. | Jun 2011 | A1 |
20110161683 | Zou et al. | Jun 2011 | A1 |
20110258477 | Baker et al. | Oct 2011 | A1 |
20120054515 | Naffziger et al. | Mar 2012 | A1 |
20120072750 | Jahagirdar et al. | Mar 2012 | A1 |
20120079290 | Kumar et al. | Mar 2012 | A1 |
20120246506 | Knight | Sep 2012 | A1 |
20120331321 | Kaburlasos | Dec 2012 | A1 |
20130061064 | Ananthakrishnan et al. | Mar 2013 | A1 |
20130080803 | Ananthakrishnan et al. | Mar 2013 | A1 |
20130080804 | Ananthakrishan et al. | Mar 2013 | A1 |
20130111120 | Ananthakrishnan et al. | May 2013 | A1 |
20130111121 | Ananthakrishnan et al. | May 2013 | A1 |
20130111226 | Ananthakrishnan et al. | May 2013 | A1 |
20130111236 | Ananthakrishnan et al. | May 2013 | A1 |
20130346774 | Bhandaru et al. | Dec 2013 | A1 |
20140068284 | Bhandaru et al. | Mar 2014 | A1 |
20140068290 | Bhandaru et al. | Mar 2014 | A1 |
20140195829 | Bhandaru et al. | Jul 2014 | A1 |
20140208141 | Bhandaru et al. | Jul 2014 | A1 |
Number | Date | Country |
---|---|---|
1 282 030 | May 2003 | EP |
Entry |
---|
Microsoft® Computer Dictionary by: Microsoft Press Publisher: Microsoft Press Pub. Date: Mar. 15, 2002 Print ISBN-13:978-0-7356-1495-6 Print ISBN-10: 0-7356-1495-4 Pages in Print Edition: 656. |
U.S. Patent and Trademark Office, Office Action mailed Aug. 5, 2014 in U.S. Appl. No. 13/600,568, with Reply to Office Action filed on Oct. 29, 2014. |
International Searching Authority, “Notification of Transmittal of the International Search Report and the Written Opinion of the International Searching Authority,” mailed Nov. 28, 2012, in International application No. PCT/US2012/028876. |
Intel Developer Forum, IDF2010, Opher Kahn, et al., “Intel Next Generation Microarchitecture Codename Sandy Bridge: New Processor Innovations,” Sep. 13, 2010, 58 pages. |
SPEC-Power and Performance, Design Overview V1.10, Standard Performance Information Corp., Oct. 21, 2008, 6 pages. |
Intel Technology Journal, “Power and Thermal Management in the Intel Core Duo Processor,” May 15, 2006, pp. 109-122. |
Anoop Iyer, et al., “Power and Performance Evaluation of Globally Asynchronous Locally Synchronous Processors,” 2002, pp. 1-11. |
Greg Semeraro, et al., “Hiding Synchronization Delays in a GALS Processor Microarchitecture,” 2004, pp. 1-13. |
Joan-Manuel Parcerisa, et al., “Efficient Interconnects for Clustered Microarchitectures,” 2002, pp. 1-10. |
Grigorios Magklis, et al., “Profile-Based Dynamic Voltage and Frequency Scalling for a Multiple Clock Domain Microprocessor,” 2003, pp. 1-12. |
Greg Semeraro, et al., “Dynamic Frequency and Voltage Control for a Multiple Clock Domain Architecture,” 2002, pp. 1-12. |
Greg Semeraro, “Energy-Efficient Processor Design Using Multiple Clock Domains with Dynamic Voltage and Frequency Scaling,” 2002, pp. 29-40. |
R. Todling, et al., “Some Strategies for Kalman Filtering and Smoothing,” 1996, pp. 1-21. |
R.E. Kalman, “A New Approach to Linear Filtering and Prediction Problems,” 1960, pp. 1-12. |
Intel Corporation, “Intel 64 and IA-32 Architectures Software Developer's Manual,” vol. 3 (3A, 3B & 3C): System Programming Guide, Feb. 2014, Chapter 14 Power and Thermal Management (14.1-14.9.5), 44 pages. |
U.S. Patent and Trademark Office, Office Action mailed on Jul. 17, 2015 and Reply filed Oct. 13, 2015 in U.S. Appl. No. 13/997,288. |
U.S. Patent and Trademark Office, Office Action mailed Jun. 10, 2015 and Reply filed Sep. 10, 2015, in U.S. Appl. No. 13/997,386. |
U.S. Patent and Trademark Office, Office Action mailed Jul. 17, 2015, in U.S. Appl. No. 13/997,288. |
Number | Date | Country | |
---|---|---|---|
20140195829 A1 | Jul 2014 | US |