[go: up one dir, main page]

DE102009051387A1 - Power Management für Mehrprozessorkerne - Google Patents

Power Management für Mehrprozessorkerne Download PDF

Info

Publication number
DE102009051387A1
DE102009051387A1 DE102009051387A DE102009051387A DE102009051387A1 DE 102009051387 A1 DE102009051387 A1 DE 102009051387A1 DE 102009051387 A DE102009051387 A DE 102009051387A DE 102009051387 A DE102009051387 A DE 102009051387A DE 102009051387 A1 DE102009051387 A1 DE 102009051387A1
Authority
DE
Germany
Prior art keywords
processor
power
processor cores
energy
cores
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
DE102009051387A
Other languages
English (en)
Inventor
Lev Finkelstein
Efraim Rotem
Aviad Santa Clara Cohen
Ronny Ronen
Doron Rajwan
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of DE102009051387A1 publication Critical patent/DE102009051387A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/20Cooling means
    • G06F1/206Cooling means comprising thermal management
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/324Power saving characterised by the action undertaken by lowering clock frequency
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3296Power saving characterised by the action undertaken by lowering the supply or operating voltage
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Power Sources (AREA)
  • Microcomputers (AREA)

Abstract

Es werden Verfahren und eine Vorrichtung betreffend Power Management für Mehrprozessorkerne beschrieben. Bei einer Ausführungsform können eine oder mehrere Techniken lokal verwendet werden (z.B. auf einer Pro-Kern-Basis), um den Energieverbrauch in einem Prozessor zu regeln. Bei einer anderen Ausführungsform kann Energie auf verschiedene Powerplanes eines Prozessors verteilt werden, basierend auf energiebezogenen Berücksichtigungen. Andere Ausführungsformen werden ebenfalls offenbart und beansprucht.

Description

  • TECHNISCHES GEBIET
  • Die vorliegende Offenbarung betrifft im Allgemeinen das Gebiet der Elektronik. Spezieller betrifft eine erfindungsgemäße Ausführungsform das Power Management für Mehrprozessorkerne.
  • HINTERGRUND
  • Da die Technologie zur Herstellung von integrierten Schaltungen (Integrated Circuit, IC) besser wird, sind Hersteller in der Lage, zusätzliche Funktionalität auf einen einzelnen Siliziumträger zu integrieren. Die Anzahl an Komponenten auf einem einzelnen IC-Chip steigt jedoch in denn Maße, wie die Anzahl dieser Funktionalitäten steigt. Zusätzliche Komponenten fügen zusätzliche Signalumschaltung hinzu, die wiederum mehr Wärme erzeugt. Die zusätzliche Wärme kann einen IC-Chip beispielsweise durch thermische Ausdehnung beschädigen. Die zusätzliche Wärme kann auch Verwendungsorte und/oder Applikationen eines EDV Geräts einschränken, das solche Chips beinhaltet. Ein tragbares EDV-Gerät kann beispielsweise einzig auf Batterieleistung angewiesen sein. Somit wird in dem Maße, wie zusätzliche Funktionalität in tragbare EDV Geräte integriert wird, der Bedarf, den Energieverbrauch zu verringern, zunehmend wichtiger, beispielsweise die Batterieleistung länger aufrechtzuerhalten. Nicht tragbare Computersysteme werden ebenfalls mit Problemen bezüglich Kühlung und Energieerzeugung konfrontiert, da ihre IC-Komponenten mehr Energie verbrauchen und mehr Wärme erzeugen.
  • Um Schäden aufgrund von thermalen Ausnahmesituationen zu begrenzen, kann ein Ansatz dynamische Spannungsskalierung (Dynamic Voltage Scaling, DVS) verwenden. Wenn beispielsweise die Temperatur einen bestimmten Grenzwert überschreitet, werden die Frequenz und die Spannung auf ein bestimmtes Niveau gesenkt, und dann auf ein anderes Niveau (nicht notwendigerweise das Originale) angehoben. Bei Mehrkernprozessor-Designs würde solch ein Ansatz jedoch die Leistung verringern, da alle Kerne benachteiligt sein können, egal ob sie eine thermale Ausnahmesituation hervorrufen oder nicht. Ein weiterer Ansatz kann Frequenzdrosselung verwenden (was lediglich eine Projektion von DVS auf einen Frequenzbereich sein kann). Die Einbuße für solch einen Ansatz kann jedoch linear bezüglich der Verringerung der Leistung sein. Die Einbuße von DVS-Techniken kann beispielsweise teilweise geringer sein, da eine Frequenzverringerung um einen Faktor x mit einer Verringerung der Spannung um denselben Faktor einhergeht, und die Leistung folglich um einen Faktor x3 verringert ist.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Die ausführliche Beschreibung erfolgt unter Bezugnahme auf die beigefügten Figuren. In den Figuren bezeichnet/bezeichnen die ganz linke(n) Ziffer(n) einer Bezugsnummer die Figur, in der die Bezugsnummer zum ersten Mal auftaucht. Die Verwendung der gleichen Bezugsnummern in verschiedenen Figuren kennzeichnet ähnliche oder identische Elemente.
  • 1, 6 und 7 zeigen Blockdiagramme von Ausführungsformen von Computersystemen, die zur Implementierung verschiedener hier erörterter Ausführungsformen verwendet werden können.
  • 2 und 4 zeigen Graphen gemäß einiger Ausführungsformen.
  • 3 und 5 zeigen Ablaufdiagramme von Verfahren gemäß einiger Ausführungsformen.
  • AUSFÜHRLICHE BESCHREIBUNG
  • In der folgenden Beschreibung werden zahlreiche spezielle Details angeführt, um ein gründliches Verständnis verschiedener Ausführungsformen bereitzustellen. Verschiedene erfindungsgemäße Ausführungsformen können jedoch ohne diese spezifischen Details umgesetzt werden. In anderen Fällen wurden wohlbekannte Verfahren, Verfahrensweisen, Komponenten und Schaltungen nicht im Detail beschrieben, um die jeweiligen erfindungsgemäßen Ausführungsformen nicht in den Hintergrund rücken zu lassen. Ferner können verschiedene Aspekte von erfindungsgemäßen Ausführungsformen unter Verwendung verschiedener Mittel ausgeführt werden, wie beispielsweise integrierte Halbleiterschaltungen („Hardware”), computerlesbare Befehle, die in einem oder mehreren Programmen organisiert sind („Software”), oder irgendeine Kombination von Hardware und Software. Zum Zwecke dieser Offenbarung soll ein Verweis auf „Logik” entweder Hardware, Software oder irgendeine Kombination davon bedeuten.
  • Einige der hier erörterten Ausführungsformen können ein effizientes Power Management für Mehrprozessorkerne bereitstellen. Wie vorstehend erörtert, kann die Tatsache, dass man auf DVS angewiesen ist, die Leistung verringern, da alle Kerne benachteiligt sein können, egal ob sie eine thermale Ausnahmesituation hervorrufen oder nicht. Bei einer Ausführungsform können, in Antwort auf die Erkennung eines thermalen Events (z. B. Erkennung zu hoher Temperatur an einem oder mehreren der Kerne), eine oder mehrere Drosselungstechniken lokal (z. B. auf einer Pro-Kern-Basis) für einen oder mehrere Prozessorkerne (z. B. in einem Mehrkernprozessor) verwendet werden, die sich beispielsweise eine einzige Powerplane teilen. Bei Designs mit Mehrfach-Powerplanes kann die Leistung auch auf verschiedene Powerplanes unter energiebezogenen Festlegungen in Übereinstimmung mit einer Ausführungsform verteilt werden. Außerdem können einige Ausführungsformen in Computersystemen angewendet werden, die einen oder mehrere Prozessoren (z. B. mit einem oder mehreren Prozessorkernen) enthalten, wie beispielsweise diejenigen, die mit Bezug auf 17 erörtert werden.
  • Spezieller zeigt 1 ein Blockdiagramm eines Computersystems 100 gemäß einer erfindungsgemäßen Ausführungsform. Das System 100 kann einen oder mehrere Prozessoren 102-1 bis 102-N beinhalten (hier im Allgemeinen als „Prozessoren 102” oder „Prozessor 102” bezeichnet). Die Prozessoren 102 können über eine Kopplungsstruktur oder einen Bus 104 kommunizieren. Jeder Prozessor kann verschiedene Komponenten beinhalten, von denen einige der Klarheit wegen nur mit Bezug auf Prozessor 102-1 erörtert werden. Demnach kann jeder der verbleibenden Prozessoren 102-2 bis 102-N die gleichen oder ähnliche Komponenten beinhalten, wie mit Bezug auf den Prozessor 102-1 erörtert.
  • Bei einer Ausführungsform kann der Prozessor 102-1 einen oder mehrere Prozessorkerne 106-1 bis 106-M (hier als „Kerne 106” oder „Kern 106” bezeichnet), einen Cache 108 und/oder einen Router 110 beinhalten. Die Prozessorkerne 106 können auf einem einzelnen integrierten Schaltungs-(IC)-Chip implementiert sein. Außerdem kann der Chip einen oder mehrere gemeinsam genutzte und/oder private Caches (wie beispielsweise Cache 108), Busse oder Kopplungsstrukturen (wie beispielsweise ein Bus oder eine Kopplungsstruktur 112), Grafik- und/oder Memory-Controller (wie beispielsweise diejenigen, die mit Bezug auf 67 erörtert werden) oder andere Komponenten beinhalten.
  • Bei einer Ausführungsform kann der Router 110 dazu verwendet werden, zwischen verschiedenen Komponenten des Prozessors 102-1 und/oder System 100 zu kommunizieren. Außerdem kann der Prozessor 102-1 mehr als einen Router 110 beinhalten. Außerdem kann die Menge an Routern 110 miteinander kommunizieren, um ein Datenrouting zwischen verschiedenen Komponenten innerhalb oder außerhalb des Prozessors 102-1 zu ermöglichen.
  • Der Cache 108 kann Daten speichern (z. B. einschließlich Befehlen), die von einer oder mehreren Komponenten des Prozessors 102-1, wie beispielsweise den Kernen 106, verwendet werden. Der Cache 108 kann beispielsweise Daten, die in einem Speicher 114 gespeichert sind, lokal in den Cache-Speicher aufnehmen, damit die Komponenten des Prozessors 102 schneller darauf zugreifen können (z. B. schnellerer Zugriff durch die Kerne 106). Wie in 1 gezeigt, kann der Speicher 114 mit den Prozessoren 102 über die Kopplungsstruktur 104 kommunizieren. Bei einer Ausführungsform kann der Cache 108 (der gemeinsam genutzt sein kann) ein Mid-Level Cache (MLC), ein Last Level Cache (LLC) etc. sein. Ebenso kann jeder der Kerne 106 einen Level 1-(L1)-Cache (116-1) (hier im Allgemeinen als „L1-Cache 116” bezeichnet) oder andere Cache-Level wie beispielsweise einen Level 2- (L2)-Cache beinhalten. Außerdem können verschiedene Komponenten des Prozessors 102-1 direkt mit dem Cache 108 über einen Bus (z. B. den Bus 112) und/oder einen Memory-Controller oder Hub kommunizieren.
  • Das System 100 kann auch eine Stromquelle 120 (z. B. eine Gleichstrom-(DC)-Stromquelle oder eine Wechselstrom-(AC)-Stromquelle) beinhalten, um einer oder mehreren Komponenten des Systems 100 Energie bereitzustellen. Bei einigen Ausführungsformen kann die Stromquelle 120 eine oder mehrere Batteriepackungen beinhalten. Die Stromquelle 120 kann durch einen Spannungsregler (Voltage Regulator, VR) 130 an Komponenten von System 100 gekoppelt sein. Außerdem, auch wenn 1 eine Stromquelle 120 und einen Spannungsregler 130 zeigt, können zusätzliche Stromquellen und/oder Spannungsregler verwendet werden. Beispielsweise kann jeder der Prozessoren 102 (einen) entsprechende(n) Spannungsregler und/oder Stromquelle(n) aufweisen. Der/die Spannungsregler 130 können auch an eine einzelne Powerplane 135 (die z. B. alle Kerne 106 mit Strom versorgt) oder an Mehrfach-Powerplanes 135 (wo z. B. jede Powerplane einen anderen Kern oder eine andere Gruppe an Kernen mit Strom versorgen kann), gekoppelt sein.
  • Während 1 zusätzlich die Stromquelle 120 und den Spannungsregler 130 als getrennte Komponenten zeigt, können die Stromquelle 120 und der Spannungsregler 130 in andere Komponenten von System 100 eingebracht sein. Beispielsweise kann der gesamte oder Teile des VR 130 in die Stromquelle 120 und/oder Prozessor 102 eingebracht sein.
  • Wie in 1 gezeigt, kann der Prozessor 102 weiter eine Power Management Logik 140 beinhalten, um die Stromversorgung der Komponenten des Prozessors 102 (z. B. Kerne 106) zu steuern. Logik 140 kann auf eines oder mehrere der hier erörterten Speichergeräte Zugriff haben, um Informationen zu speichern, die Operationen von Logik 140 betreffen, wie beispielsweise Informationen, die, wie hier erörtert, mit verschiedenen Komponenten von System 100 kommuniziert werden. Wie gezeigt kann Logik 140 an den VR 130 und/oder andere Komponenten von System 100 (wie beispielsweise die Kerne 106) gekoppelt sein. Die Logik 140 kann beispielsweise gekoppelt sein, um Informationen (z. B. in Form von einem oder mehreren Bits oder Signalen) zu empfangen, um den Zustand von einem oder mehreren Sensoren 150 anzugeben (wobei der/die Sensor(en) 150 benachbart zu den Komponenten von System 100 (oder anderen hier erörterten Computersystemen, wie beispielsweise diejenigen, die mit Bezug auf andere Figuren, einschließlich 4 und 5 beispielsweise, erörtert wurden) bereitgestellt werden können, wie beispielsweise die Kerne 106, Kopplungsstrukturen 104 oder 112 etc., um Schwankungen der Temperatur, Betriebsfrequenz, Betriebsspannung, des Energieverbrauchs, der Kommunikationsaktivität zwischen den Kernen etc. zu erkennen) und/oder Informationen von einer oder mehreren Logik(en) zur Überwachung der Leistung 145 (die z. B. den Betriebszustand verschiedener Komponenten von System 100 wie beispielsweise Betriebstemperatur, Betriebsfrequenz, Betriebsspannung, Betriebszustand (z. B. aktiv oder inaktiv), Energieverbrauch (augenblicklich oder über einen Zeitraum) etc. angeben kann). Die Logik 140 kann den VR 130, die Stromquelle 120 und/oder individuelle Komponenten von System 100 (wie beispielsweise die Kerne 106) anweisen, ihre Operationen zu modifizieren. Bei einer Ausführungsform können Schwankungen derart erkannt werden, dass Verlustleistung gegenüber aktiver Leistung berücksichtigt wird. Logik 140 kann beispielsweise dem VR 130 und/oder der Stromquelle 120 anzeigen, dass sie ihre Ausgabeleistung anpassen müssen. Bei einigen Ausführungsformen kann Logik 140 die Kerne 106 ersuchen, ihre Betriebsfrequenz, ihren Energieverbrauch etc. zu modifizieren. Auch wenn Komponenten 140, 145 und 150 als in dem Prozessor 102-1 beinhaltet gezeigt sind, können diese Komponenten anderswo in dem System 100 bereitgestellt werden. Die Power Management Logik 140 kann beispielsweise in dem VR 130, in der Stromquelle 120, direkt an die Kopplungsstruktur 104 gekoppelt, innerhalb eines oder mehrerer (oder alternativ aller) Prozessoren 102 etc. bereitgestellt werden.
  • Davon ausgehend, dass ein System von n Prozessoren vorliegt, und dass es einen einzigen heißen Kern gibt, dessen Leistung um einen Faktor β verringert werden muss (d. h. mit β multipliziert werden muss, was zwischen 0 und 1 liegen kann), um zu verhindern, dass thermale Constraints verletzt werden. Die gesamte Verlangsamung des Systems wird als gewichtete Summe von Verlangsamungen eines jeden Prozessors gemessen. Wird beispielsweise einer von 4 Kernen um 20% verlangsamt, kann der tatsächliche Frequenzfaktor als (3 + 0,8)/4 oder 95% ermittelt werden.
  • Bei einer Ausführungsform kann die Verlangsamung für verschiedene Verfahren zum Wärmemanagement (wobei sich Sdvs auf eine Verlangsamung für DVS bezieht und Sft sich auf eine Verlangsamung für Frequenzsteuerung bezieht), wie folgt ermittelt werden:
    Figure 00070001
    (wo z. B. alle Kerne benachteiligt sind) Sft = n – 1n × 1 + 1n × β (wo z. B. ein Kern benachteiligt ist)
  • Unter Bezugnahme auf 2 werden in Übereinstimmung mit einer Ausführungsform Beispiele relativer Steigerung reiner Drosselung gegenüber DVS gezeigt. Wie hier erörtert, bezieht sich „reine” Drosselung auf Situationen, in denen nur eines der folgenden Verfahren zur Verringerung des Energieverbrauchs in einem Prozessor verwendet wird: Frequenzdrosselung (was sich im Allgemeinen lediglich auf Projektion von DVS auf einen Frequenzbereich bezieht), Clock-Gating (was z. B. beinhaltet, Teile von Schaltkreisen, wo Flip-Flops den Zustand nicht ändern, zu deaktivieren) und/oder mikroarchitektonische Drosselung (wo z. B. eine auf dem Chip integrierte Wärmeeinheit die Sperrschichttemperatur eines Prozessors überwacht und Betriebsspannung und/oder -frequenz eines Prozessors dynamisch anpasst, um unter sich verändernden Umgebungsbedingungen maximale Leistung bereitzustellen).
  • Spezieller kann die Beziehung zwischen reiner Drosselung gegenüber DVS mittels der Formel Sft/Sdvs – 1 beschrieben werden. Wie unter Bezugnahme auf 2 ersichtlich ist, nimmt die Steigerung mit einer zunehmenden Anzahl an Kernen zu. Es ist anzumerken, dass für zwei Kerne DVS für sinnvolle Werte von β bei einigen Ausführungsformen immer noch attraktiver sein kann. Bei einer Ausführungsform können DVS und/oder Drosselung auf Kerne eines Prozessors selektiv angewendet werden, wie hier z. B. mit Bezug auf 3 weiter erörtert werden wird.
  • Bei einigen Ausführungsformen kann die Ermittlung, ob eine oder mehrere der DVS und/oder Drosselung(en) verwendet werden, auf der Anzahl an Kernen basieren. Solche Techniken können beispielsweise in Prozessoren mit mehr als zwei Kernen angewendet werden. Solche Techniken können jedoch auch auf Prozessoren mit weniger als drei Kernen angewendet werden.
  • 3 zeigt ein Ablaufdiagramm einer Ausführungsform eines Verfahrens 300 zur Anwendung einer oder mehrerer ausgewählter Techniken an mehrere Kerne eines Prozessors zur Regelung der Leistung. Bei einer Ausführungsform können verschiedene Komponenten, die mit Bezug auf 12 und 67 erörtert werden, verwendet werden, um eine oder mehrere der Operationen auszuführen, die mit Bezug auf 3 erörtert werden.
  • Bezugnehmend auf 13, kann bei einer Operation 302 ermittelt werden, welche(r) (und/oder wie viele) Kern(e) in einem Mehrkernprozessor thermale Probleme (wie beispielsweise Wärmespannung oder zu hohe Betriebstemperatur) verursachen. Beispielsweise kann Logik 140 Informationen von Sensoren 150 empfangen, die den Kernen 106 benachbart sind. Alternativ kann dies stattfinden, indem der Energieverbrauch z. B. über einen Energie-Monitor/Energie-Monitore 145 in Kombination mit den Messwerten eines Wärmesensors/von Wärmesensoren 150 berechnet wird.
  • Bei einer Operation 304 kann ermittelt werden, wie viele Kerne in einem Prozessor aktiv und kalt sind (z. B. bei einen Temperaturwert, der unter einem zu hohen Temperaturgrenzwert liegt, wie beispielsweise von denn/den Sensor(en) 150 erkannt). Logik 140 kann beispielsweise Statistiken (die z. B. von einem Monitor/Monitoren 145, Sensor(en) 150 und/oder Kern(en) 106 selbst bereitgestellt werden) bezüglich Betriebszuständen der Kerne 106 berücksichtigen, um zu ermitteln, welche Kerne 106 aktiv und kalt sind. Bei einer Operation 306 kann die Information von Operationen 302 und/oder 304 (einschließlich verschiedener Einbußen wie beispielsweise diejenigen, die mit Bezug auf 2, einschließlich beispielsweise Spannungswechseleinbußen für DVS etc., erörtert wurden) und mögliche Constraints berücksichtigt werden (z. B. mag es nicht wünschenswert sein, die Frequenz eines heißen Kerns zu stark zu verringern, um eine reibungslose Operation kritischer Applikationen aufrechtzuerhalten), um zu ermitteln, welche Technik(en) zur Regelung des Energieverbrauchs in einem Mehrkernprozessor verwendet werden sollten. Bei einer Operation 308 können die ausgewählte(n) Technik(en) angewendet werden, um eine Betriebscharakteristik eines oder mehrerer der Kerne 106 (wie beispielsweise Betriebsspannung und/oder eine Betriebsfrequenz eines Prozessorkerns 106) zu drosseln oder zu modifizieren. Logik 140 kann beispielsweise DVS, reine Drosselungstechniken oder irgendwelche Kombinationen daraus zur Steuerung des Energieverbrauchs von Prozessoren 102 in Betracht ziehen. Außerdem kann Operation 308 bei einer Ausführungsform eine Kombination der Techniken anwenden, z. B. wo DVS alle Kerne auf einen bestimmten Energiezustand (Power State, P-state) senkt und der heiße Kern zusätzlich von einer der reinen Drosselungstechniken verlangsamt wird.
  • Bei einer Ausführungsform können die Operationen von Verfahren 300 fortlaufend (oder periodisch) wiederholt werden, z. B. kann Operation 302 nach Operation 308 ohne Verzögerung (oder nach Ablauf einer Zeitspanne, die z. B. von einer Timer-Logik gesetzt wurde) wieder aufgenommen werden. Bei einigen Ausführungsformen kann Verfahren 300 es einem Prozessor erlauben, die Leistungseinbußen aufgrund des Wärmemanagements bei thermisch limitierten Anwendungsfällen für mehrere Kerne, die sich die gleiche Powerplane teilen, zu verringern.
  • Zusätzliche Herausforderungen an das Power Management können jedoch in Hinblick auf Prozessoren mit Mehrfach-Powerplanes vorliegen. Wenn beispielsweise Mehrfach-Powerplanes, die sich die gleiche Stromquelle 120 teilen, in System 100 vorliegen, müsste das Power Management sowohl für individuelle Constraints pro Powerplane als auch globale Constraints pro Gehäuse erfüllt werden. Dadurch ist es möglich, sich ein gemeinsames Leistungs-/Energiebudget pro Gehäuse zu teilen und eine Verwendung von beispielsweise ungenutzter Prozessorkernleistung für eine bessere Grafikeffekt(e)(Graphics Effect(s), GFX)-Leistung in einer GFX-intensiven Auslastung zu ermöglichen, wenn Prozessorressourcen nicht vollständig genutzt werden. Die hier unter Bezug auf Mehrfach-Powerplanes erörterten Techniken können jedoch ebenfalls auf Implementierungen angewendet werden, die eine einzelne Powerplane verwenden können.
  • Einige der derzeitigen auf Power Management basierenden Schemata können den zeitlichen Aspekt des Power Managements nicht berücksichtigen, da sie sich im Allgemeinen nur mit dem jeweils aktuellen Zeitpunkt befassen. Demnach kann bei einigen Ausführungsformen ein Energiebudget pro Powerplane verwendet werden, das es erlaubt: (1) sowohl individuelle Komponente (z. B. individueller Prozessorkern) als auch gemeinsam genutzte Constraints (z. B. unter mehreren Komponenten oder Prozessorkernen gemeinsam genutzt) auf eine Art und Weise zu definieren, die zeitliche Aspekte berücksichtigt; (2) geltende Constraints entsprechend verschiedener Zeitkonstanten auszudrücken; (3) den Fall von Online-Änderungen in den Constraints zu handhaben. Bei einer Ausführungsform kann die Energieverteilung auf verschiedenen Powerplanes und unter energiebezogenen Festlegung(en) gehandhabt werden.
  • Bei einigen Ausführungsformen können gemäß einem derzeitigen Budget das Energiebudget geregelt und/oder Leistungseinstellung(en) (z. B. Spannung und/oder Frequenzänderungen) vorgenommen werden. Energiebasiertes Power Management kann durch Steuerung des Energiebudgets, das iterativ wie folgt definiert ist, ausgeführt werden: En+1 = αEn + (TDPn – Pn)Δtn (1),wobei TDPn das Energielimit der Thermal Design Power (TDP) bei Schritt n ist; Pn die Energie ist, die bei Schritt n über die Zeit Δtn aufgewendet wird und α die Dämpfungskomponente ist. Beispielsweise entspricht die Verwendung von α = 0.999 einer Zeitfenstergröße von Sekunden, während die Verwendung von α = 0.9 einer wesentlich kleineren Zeitfenstergröße entspricht. Der Ausdruck für En entspricht dem Energie-„Rest”, welcher diejenige Energiemenge ist, die nicht von dem System verbraucht wurde. Der Wert der Dämpfungskomponente ist definiert durch die Anforderungen der Zeitfenstergröße. Die TDP-Werte können bei einigen Ausführungsformen auch durch eine Softwareapplikation oder einen Benutzer bereitgestellt werden.
  • Solch ein Energiebudget entspricht dem Auferlegen einer exponentiellen Maske auf den Unterschied zwischen TDP zu jedem Zeitmoment und der zu diesem Moment aufgewandten Energie, nämlich:
    Figure 00110001
  • Demnach kann das System (z. B. Logik 140) TDP-Constraints getrennt auf jede der Powerplanes setzen oder/und TDP-Constraints auf das gesamte IC-Gehäuse setzen. Gemäß den auferlegten Constraints können mehrere Budgets bei einigen Ausführungsformen aufrechterhalten werden, beispielsweise pro Powerplane für individuelle Constraints und/oder pro Gehäuse für gemeinsam genutzte Constraints. Außerdem können verschiedene Budgets, Energie pro Fenstergröße (ausgedrückt durch a) und/oder pro TDP-Constraints aufrechterhalten werden. Es ist anzumerken, dass dieses Rahmenwerk einen Fall, wenn TDP bei einigen Ausführungsformen on-the-fly geändert wird (z. B. durch eine Softwareapplikation oder einen Benutzer), reibungslos handhabt. Bei einer Ausführungsform kann eine Menge an Energiebudgets Ekn aufrechterhalten werden, z. B. wo k einem speziellen Constraint und n dem Zeitschritt entspricht. Ein Ziel eines solchen Mechanismus zum Power Management ist es, die Energiebudgets positiv zu halten, während die Leistung maximiert wird.
  • Bei einer Ausführungsform kann ein Controllerbudget definiert sein (z. B. durch die Logik 140 implementiert). Pro Powerplane i wird eine Controllerfunktion definiert, die mit fi(E), bezeichnet ist und die den diskreten Mengen von Energiezuständen ein Energiebudget zuordnet. Bei einer Ausführungsform bildet ein Controller, der eine nicht abnehmende Funktion sein muss, einen Bereich [Einidrig , Eihoch ] auf dem diskreten Bereich [Pin , Pi0 ], ab, wobei Pi0 der maximale Turbozustand für diese Powerplane und Pin der Zustand maximaler Effizienz ist. Budgetwerte niedriger als Einidrig werden in Pin , abgebildet, während Budgetwerte größer als Eihoch auf Pi0 abgebildet werden. Weitere Anforderungen können die Erfüllung einiger Anforderungen in Ankerpunkten beinhalten – beispielsweise entspricht das Nullbudget dem P1 genannten, garantierten Energiezustand: fi(0) = Pin , E ≤ Einidrig fi(0) = Pi1 fi(E) = Pi0 , E ≥ Eihoch
  • In Übereinstimmung mit einer Ausführungsform wird ein Beispiel einer Controllerfunktion in 4 gezeigt. Der konkrete Controller kann die Anforderungen einer speziellen Powerplane (wie beispielsweise die Einbuße bei Übergängen zwischen P-states) berücksichtigen.
  • Hinsichtlich der Constraints wird von der Existenz von m Controllern ausgegangen, wobei fi(E) verschiedenen Powerplanes entspricht. Für Constraint k können Benutzer- (oder Applikations-definierte) Voreinstellungen ermittelt werden, die beschreiben, wie Budget Ek unter den Powerplanes verteilt wird. Beispielsweise kann eine solche Information bereitgestellt werden als Eingabe in Form von Vektoren Wk mit einer Länge m, derart, dass Eintrag i dem Teil des Budgets entspricht, der zu Powerplane i geht. Bei einzelnen Constraints kann eine einzelne Powerplane das Gesamtbudget enthalten, sodass der entsprechende Gewichtungsvektor ein Einheitsvektor ist. Im allgemeinen Fall kann Powerplane i den Teil des Budgets enthalten: Ek,i = WkiEk (2)
  • In einigen Fällen kann es sein, dass bei einer Powerplane i ihr Teil WkiEk hoch genug ist, um maximalen Turbo (nämlich WkiEk ≥ Eihoch ) bereitzustellen. In diesem Fall kann das „ungenutzte” Budget für diese Powerplane WkiEk unter dem Rest der Powerplanes proportional zu ihren Gewichtungen verteilt werden.
  • Sei bei Ek,in der Teil des Budgets Ek, das Powerplane i bei Schritt tn aufnimmt, dann kann die resultierende P-state Empfehlung auf diesem Schritt für Powerplane i geschrieben werden als:
    Figure 00130001
  • Das Sammeln der Empfehlungen über alle Constraints kann den resultierenden Aufbau pro Powerplane bereitstellen. Es ist anzumerken, dass das Ergebnis eine Obergrenze sein kann und bei einigen Ausführungsformen durch andere Algorithmen weiter modifiziert werden kann. Außerdem wird ein Beispiel eines Ablaufdiagramms für energiebasiertes Power Management in Übereinstimmung mit einer erfindungsgemäßen Ausführungsform in 5 gezeigt.
  • Spezieller zeigt 5 ein Ablaufdiagramm einer Ausführungsform eines Verfahrens 500 zur Anwendung einer oder mehrerer ausgewählter Techniken für Power Management Operationen auf mehreren Kernen eines Prozessors. Bei einer Ausführungsform können verschiedene Komponenten, die mit Bezug auf 14 und 67 erörtert werden, zur Ausführung einer oder mehrerer der Operationen verwendet werden, die mit Bezug auf 5 erörtert werden.
  • Bezug nehmend auf 15 kann bei einer Operation 502 der Rest des Energiebudgets pro Constraint Ekn ermittelt werden (z. B. durch die Logik 140 in Übereinstimmung mit Formel (1) vorstehend). Bei einer Operation 504 kann der Rest des Energiebudgets pro Powerplane Ek,in ermittelt werden (z. B. durch die Logik 140 in Übereinstimmung mit Formel (2) vorstehend). Bei einer Operation 506 können Controllerempfehlungen pro Powerplane uin ermittelt werden (z. B. durch die Logik 140 in Übereinstimmung mit Formel (3) vorstehend). Bei Operation 508 kann der Zeitschritt inkrementiert werden (z. B. durch Logik 140), z. B. um zukünftige Werte für jedes Powerplanebudget während einer nächsten Zeitperiode zu ermitteln.
  • Bei einer Ausführungsform können die Operationen von Verfahren 300 fortlaufend (oder periodisch) wiederholt werden, z. B. kann Operation 302 nach Operation 308 ohne Verzögerung (oder nach Ablauf einer Zeitspanne, die z. B. von einer Timer-Logik gesetzt wurde) wieder aufgenommen werden.
  • Bei einer Ausführungsform können die Operationen von Verfahren 500 fortlaufend (oder periodisch) wiederholt werden, z. B. kann Operation 502 nach Operation 508 ohne Verzögerung (oder nach Ablauf einer Zeitspanne, die z. B. von einer Timer-Logik gesetzt wurde) wieder aufgenommen werden. Bei einer Ausführungsform können Techniken, die mit Bezug auf die 23 erörtert werden, kombiniert werden mit 45. Beispielsweise können die Techniken, die mit Bezug auf 23 erörtert werden, auf Prozessoren mit Mehrfach-Powerplanes angewendet werden. Ebenfalls können die Techniken, die mit Bezug auf 45 erörtert werden, bei einem Prozessor mit einer einzelnen Powerplane angewendet werden.
  • 6 zeigt ein Blockdiagramm eines Computersystems 600 in Übereinstimmung mit einer erfindungsgemäßen Ausführungsform. Das Computersystem 600 kann eine oder mehrere Zentraleinheit(en) (CPUs) oder Prozessoren 602-1 bis 602-P (die hier als „Prozessoren 602” oder „Prozessor 602” bezeichnet werden) beinhalten. Die Prozessoren 602 können über ein Kopplungsstrukturnetzwerk (oder Bus) 604 kommunizieren. Die Prozessoren 602 können einen Universalprozessor, einen Netzwerkprozessor (der Daten verarbeitet, die über ein Computernetzwerk 603 kommuniziert werden) oder andere Typen eines Prozessors (einschließlich eines RISC(Reduced Instruction Set Computer) oder eines CISC(Complex Instruction Set Computer)-Prozessors) beinhalten. Außerdem können die Prozessoren 602 ein Einkern- oder Mehrkerndesign haben. Die Prozessoren 602 mit einem Mehrkerndesign können verschiedene Typen von Prozessorkernen auf dem gleichen Integrierte-Schaltung-(IC)-Die integrieren. Ebenfalls können die Prozessoren 602 mit Mehrkerndesign als symmetrische oder asymmetrische Multiprozessoren implementiert werden. Bei einer Ausführungsform können einer oder mehrere der Prozessoren 602 gleich oder ähnlich den Prozessoren 102 von 1 sein. Bei einigen Ausführungsformen können einer oder mehrere der Prozessoren 602 einen oder mehrere der Kerne 106, Logik 140, Sensor(en) 150 und/oder Energie-Monitor(en) 145 von 1 beinhalten. Ebenfalls können die Operationen, die mit Bezug auf 15 erörtert werden, durch eine oder mehrere Komponenten des Systems 600 ausgeführt werden. Beispielsweise kann ein Spannungsregler (wie beispielsweise VR 130 von 1) Spannung regeln, die einer oder mehreren Komponenten von 6 in Richtung von Logik 140 geliefert wird.
  • Ein Chipsatz 606 kann ebenfalls mit dem Kopplungsstrukturnetzwerk 604 kommunizieren. Der Chipsatz 606 kann einen Grafik- und Memory-Control-Hub (GMCH) 608 beinhalten. Der GMCH 608 kann einen Memory-Controller 610 beinhalten, der mit einem Speicher 612 kommuniziert. Der Speicher 612 kann Daten speichern, einschließlich Sequenzen von Befehlen, die durch den Prozessor 602 oder jedes andere Gerät, das in dem Computersystem 600 eingeschlossen ist, ausgeführt werden. Bei einer erfindungsgemäßen Ausführungsform kann der Speicher 612 ein oder mehrere flüchtige Speicher(oder Memory)-Geräte, wie beispielsweise Random Access Memory (RAM), dynamisches RAM (DRAM), synchrones DRAM (SDRAM), statisches RAM (SRAM) oder andere Arten von Speichergeräten beinhalten. Permanentspeicher können ebenfalls verwendet werden, wie beispielsweise eine Festplatte. Zusätzliche Geräte können über das Kopplungsstrukturnetzwerk 604, wie beispielsweise mehrere CPUs und/oder mehrfache Systemspeicher, kommunizieren.
  • Der GMCH 608 kann ebenfalls eine Grafikschnittstelle 614 beinhalten, die mit einem Grafikbeschleuniger 616 kommuniziert. Bei einer erfindungsgemäßen Ausführungsform kann die Grafikschnittstelle 614 mit dem Grafikbeschleuniger 616 über einen Accelerated Graphics Port (AGP) kommunizieren. Bei einer erfindungsgemäßen Ausführungsform kann ein Display (wie beispielsweise ein Flachbildschirm, ein Röhrenmonitor (CRT), ein Projektionsschirm, etc.) mit der Grafikschnittstelle 614 über beispielsweise einen Signalumwandler kommunizieren, der eine digitale Darstellung eines Bildes übersetzt, das in einem Speichergerät, wie beispielsweise einen Videospeicher oder Systemspeicher, in Displaysignale übersetzt, die vom Display interpretiert und angezeigt werden. Die durch das Displaygerät erzeugten Displaysignale können verschiedene Steuergeräte durchlaufen, bevor sie vorn Display interpretiert werden und anschließend darauf angezeigt werden.
  • Durch eine Hubschnittstelle 618 kann der GMCH 608 mit einem Eingangs/Ausgangs-Kontrollhub (ICH) 620 kommunizieren. Der ICH 620 kann eine Schnittstelle zu Eingangs/Ausgangs-(I/O-Input/Output)-Geräten bereitstellen, die mit dem Computersystem 600 kommunizieren. Der ICH 620 kann mit einem Bus 622 mittels einer peripheren Brücke (oder Controller) 624, wie beispielsweise einer Peripheral Component Interconnect(PCI)-Brücke, einem universellen seriellen Bus(USB)-Controller oder anderen Arten von peripheren Brücken oder Controllern kommunizieren. Die Brücke 624 kann einen Datenpfad zwischen dem Prozessor 602 und peripheren Geräten bereitstellen. Andere Arten von Topologien können verwendet werden. Es können auch mehrere Busse mit dem ICH 620, z. B. mittels mehrerer Brücken oder Controller kommunizieren. Außerdem können andere Peripheriegeräte in Kommunikation mit dem ICH 620 bei verschiedenen erfindungsgemäßen Ausführungsformen, Integrated Drive Electronics (IDE) oder Small Computer System Interface (SCSI) Festplatte(n), USB Port(s), eine Tastatur, eine Maus, parallele(n) Port(s), serielle(n) Port(s), Diskettenlaufwerk(e), Unterstützung digitaler Ausgaben (z. B. digitales Video Interface (DVI)) oder andere Geräte beinhalten.
  • Der Bus 622 kann mit einem Audiogerät 626, einem oder mehreren Diskettenlaufwerk(en) 628 und einem oder mehreren Netzwerk-Interface-Geräte(n) 630 (das in Kommunikation mit dem Computernetzwerk 603 steht) kommunizieren. Andere Geräte können über den Bus 622 kommunizieren. Ebenfalls können verschiedene Komponenten (wie beispielsweise das Netzwerk-Interface-Gerät 630) bei einigen erfindungsgemäßen Ausführungsformen mit dem GMCH 608 kommunizieren. Zusätzlich können der Prozessor 602 und der GMCH 608 kombiniert sein, um einen einzelnen Chip zu bilden. Des Weiteren kann bei anderen erfindungsgemäßen Ausführungsformen der Grafikbeschleuniger 616 in dem GMCH 608 beinhaltet sein.
  • Des Weiteren kann das Computersystem 600 flüchtigen und/oder nicht flüchtigen Memory (oder Speicher) beinhalten. Beispielsweise kann Permanentspeicher eines oder mehrere der Folgenden beinhalten: Festspeicher (read-only memory, ROM), programmierbaren ROM (programmable ROM, PROM), löschbaren PROM (erasable PROM, EPROM), elektrischer EPROM (electrically EPROM, EEPROM), ein Diskettenlaufwerk (z. B. 628), eine Diskette, eine Compact Disk ROM (CD-ROM), eine Digital Versatile Disk (DVD), Flash-Memory, eine magnetooptische Disk oder andere Arten von nicht flüchtigen maschinenlesbaren Medien, die in der Lage sind, elektronische Daten (z. B. einschließlich Befehlen) zu speichern. Bei einer Ausführungsform können Komponenten des Systems 600 in einer Punkt-zu-Punkt-(PtP)-Konfiguration angeordnet sein. Beispielsweise können Prozessoren, Speicher und/oder Eingangs/Ausgangs-Geräte durch eine Anzahl an Punkt-zu-Punkt-Schnittstellen verbunden sein.
  • 7 zeigt ein Computersystem 700, das in einer Punkt-zu-Punkt-(PtP)-Konfiguration angeordnet ist, gemäß einer erfindungsgemäßen Ausführungsform. Insbesondere zeigt 7 ein System, in dem Prozessoren, Speicher und Eingangs/Ausgangs-Geräte durch eine Anzahl an Punkt-zu-Punkt-Schnittstellen verbunden sind. Die Operationen, die mit Bezug auf 16 erörtert werden, können durch eine oder mehrere Komponenten des Systems 700 ausgeführt werden. Beispielsweise kann ein Spannungsregler (wie beispielsweise VR 130 von 1) Spannung regeln, die einer oder mehreren Komponenten von 7 geliefert wird.
  • Wie in 7 gezeigt, kann das System 700 mehrere Prozessoren beinhalten, von denen der Klarheit wegen nur zwei, nämlich Prozessoren 702 und 704, gezeigt sind. Die Prozessoren 702 und 704 können jeweils einen lokalen Memory-Controller-Hub (MCH) 706 und 708 beinhalten, um die Kommunikation mit Speichern 710 und 712 zu ermöglichen. Die Speicher 710 und/oder 712 können verschiedene Daten speichern, wie beispielsweise diejenigen, die mit Bezug auf den Speicher 612 von 6 erörtert sind. Ebenfalls können die Prozessoren 702 und 704 einen oder mehrere der Kerne 106, Logik 140, Sensor(en) 150 und/oder Energie-Monitor(e) 145 von 1 beinhalten.
  • Bei einer Ausführungsform können die Prozessoren 702 und 704 einer der Prozessoren 602 sein, die mit Bezug auf 6 erörtert sind. Die Prozessoren 702 und 704 können über eine Punkt-zu-Punkt-(PtP)-Schnittstelle 714 unter Verwendung der PtP-Schnittstellenschaltungen 716 bzw. 718 Daten austauschen. Die Prozessoren 702 und 704 können ebenfalls jeweils Daten mit einem Chipsatz 720 über einzelne PtP-Schnittstellen 722 und 724 unter Verwendung von Punkt-zu-Punkt-Schnittstellenschaltungen 726, 728, 730 und 732 austauschen. Der Chipsatz 720 kann weiter Daten mit einer Hochleistungsgrafikschaltung 734 über eine Hochleistungsgrafikschnittstelle 736, z. B. unter Verwendung einer PtP-Schnittstellenschaltung 737, austauschen.
  • Bei mindestens einer Ausführungsform können eine oder mehrere Operationen, die mit Bezug auf 16 erörtert sind, von den Prozessoren 702 oder 704 und/oder anderen Komponenten des Systems 700, beispielsweise denjenigen, die über einen Bus 740 kommunizieren, ausgeführt werden. Andere erfindungsgemäße Ausführungsformen können jedoch in anderen Schaltungen, Logik-Einheiten oder Geräten innerhalb des Systems 700 von 7 existieren. Des Weiteren können einige erfindungsgemäße Ausführungsformen auf mehrere Schaltungen, Logik-Einheiten oder Geräte, wie in 7 gezeigt, verteilt werden.
  • Chipsatz 720 kann mit dem Bus 740 unter Verwendung einer PtP-Schnittstellenschaltung 741 kommunizieren. Der Bus 740 kann ein oder mehrere Geräte haben, die mit ihm kommunizieren, wie beispielsweise eine Busbrücke 742 und I/O-Geräte 743. Über einen Bus 744 kann die Busbrücke 742 mit anderen Geräten, wie beispielsweise einer Tastatur/Maus 745, Kommunikationsgeräten 746 (wie beispielsweise Modems, Netzwerk-Interface-Geräte oder andere Kommunikationsgeräte, die mit dem Computernetzwerk 603 kommunizieren können), Audio-I/O-Geräten und/oder Datenspeichergeräten 748, kommunizieren. Die Datenspeichergeräte 748 können Code 749 speichern, der durch die Prozessoren 702 und/oder 704 ausgeführt werden kann.
  • Bei vielen erfindungsgemäßen Ausführungsformen können die hier erörterten Operationen, z. B. mit Bezug auf die 17, implementiert werden als Hardware (z. B. Logik-Schaltkreis), Software, Firmware oder Kombinationen davon, die als ein Computerprogramm-Produkt bereitgestellt werden können, z. B. einschließlich ein maschinenlesbares oder computerlesbares Medium, auf dem Befehle (oder Software-Verfahren) gespeichert sind, die verwendet werden, um einen Computer so zu programmieren, dass er einen hier erörterten Prozess ausführt. Das maschinenlesbare Medium kann ein Speichergerät, wie beispielsweise diejenigen, die mit Bezug auf 17 erörtert sind, beinhalten. Zusätzlich können solche computerlesbaren Medien als ein Computerprogramm-Produkt heruntergeladen werden, wobei das Programm von einem entfernten Computer (z. B. einem Server) zu einem anfragenden Computer (z. B. einem Client) mittels Datensignalen übertragen werden kann, die in einem Trägersignal oder anderem Ausbreitungsmedium über einen Kommunikationslink (z. B. einen Bus, ein Modem oder eine Netzwerkverbindung) bereitgestellt werden.
  • Die Bezugnahme auf „eine Ausführungsform” in der Beschreibung bedeutet, dass eine bestimmte Funktionalität, Struktur und/oder ein bestimmtes Merkmal, das in Zusammenhang mit der Ausführungsform beschrieben wird, in mindestens eine Implementierung eingeschlossen ist. Das Auftreten des Ausdrucks „bei einer Ausführungsform” an verschiedenen Stellen in der Beschreibung kann sich stets auf die gleiche Ausführungsform beziehen oder auch nicht. In der Beschreibung und den Ansprüchen können auch die Begriffe „gekoppelt” und „verbunden” gemeinsam mit ihren Ableitungen verwendet werden. Bei einigen erfindungsgemäßen Ausführungsformen kann „verbunden” verwendet werden, um anzuzeigen, dass zwei oder mehrere Elemente in direktem physischen oder elektrischen Kontakt miteinander stehen. „Gekoppelt” kann bedeuten, dass zwei oder mehrere Elemente in direktem physischen oder elektrischen Kontakt sind. „Gekoppelt” kann aber auch bedeuten, dass sich zwei oder mehrere Elemente vielleicht nicht in direkten Kontakt miteinander befinden, jedoch trotzdem miteinander kooperieren oder zusammenwirken können.
  • Obwohl somit erfindungsgemäße Ausführungsformen sprachlich durch spezifische Strukturmerkmale und/oder methodische Akte beschrieben wurden, versteht sich, dass der beanspruchte Gegenstand nicht auf diese spezifischen Merkmale oder Akte beschränkt sein kann. Vielmehr werden die spezifischen Merkmale und Akte als beispielhafte Formen offengelegt, die den beanspruchten Gegenstand implementieren.

Claims (30)

  1. Vorrichtung umfassend: einen Prozessor mit einer Vielzahl an Prozessorkernen; eine einzige Powerplane, um mehr als einen der Vielzahl an Prozessorkernen mit Strom zu versorgen; und eine Power Management Logik, um eine Modifikation einer Betriebscharakteristik von mindestens einem Prozessorkern der Vielzahl an Prozessorkernen zu bewirken, in Antwort auf: eine Erkennung von zu hoher Temperatur in dem mindestens einem Prozessorkern; und eine Ermittlung, welche der anderen Prozessorkerne der Vielzahl an Prozessorkernen aktiv sind und sich bei einem Temperaturwert befinden.
  2. Vorrichtung nach Anspruch 1, wobei der Temperaturwert unter einem zu hohen Temperaturgrenzwert liegt.
  3. Vorrichtung nach Anspruch 1, wobei die Power Management Logik bewirken soll: eine Verringerung der Spannung, die mehr als einen Kern des Prozessors versorgt, und eine Verringerung der Betriebscharakteristik von dem mindestens einen Prozessorkern.
  4. Vorrichtung nach Anspruch 1, wobei die Betriebscharakteristik von dem mindestens einen Prozessorkern eines oder mehrere umfasst von: eine Betriebsspannung und eine Betriebsfrequenz.
  5. Vorrichtung nach Anspruch 1, weiter umfassend einen oder mehrere Sensoren zur Erkennung von Schwankungen, entsprechend einem oder mehreren der Vielzahl an Prozessorkernen bei einer oder mehreren von: Temperatur, Betriebsfrequenz, Betriebsspannung und Energieverbrauch.
  6. Vorrichtung nach Anspruch 1, weiter umfassend einen Spannungsregler, um mehr als einen der Kerne des Prozessors über die einzelne Powerplane mit Strom zu versorgen.
  7. Vorrichtung nach Anspruch 1, wobei die Vielzahl an Prozessorkernen hauptsächlich aus drei oder mehr Prozessorkernen besteht.
  8. Vorrichtung nach Anspruch 1, wobei der Prozessor und die Power Management Logik sich auf einer einzelnen integrierten Schaltung befinden.
  9. Vorrichtung nach Anspruch 1, wobei die Power Management Logik ein Energiebudget für jede einer Vielzahl an Powerplanes ermitteln soll, basierend auf: einem Energierest einer entsprechenden Powerplane einer Vielzahl an Powerplanes, der anzeigt, wie viel Energie während einer vorherigen Zeitperiode unverbraucht blieb; und einem oder mehreren einer Vielzahl an Constraints, entsprechend jeder der Vielzahl an Powerplanes.
  10. Vorrichtung umfassend: einen Prozessor mit einer Vielzahl an Prozessorkernen; eine Vielzahl an Powerplanes, um die Vielzahl an Prozessorkernen mit Strom zu versorgen; und eine Power Management Logik, um ein Energiebudget für jede der Vielzahl an Powerplanes zu ermitteln, basierend auf: einem Energierest einer entsprechenden Powerplane der Vielzahl an Powerplanes, der anzeigt, wie viel Energie während einer vorherigen Zeitperiode unverbraucht blieb; und einem oder mehreren einer Vielzahl an Constraints, entsprechend jeder der Vielzahl an Powerplanes.
  11. Vorrichtung nach Anspruch 10, wobei die Power Management Logik basierend auf einem Limit der Thermal Design Power (TDP) während der Zeitperiode den Energierest ermitteln soll.
  12. Vorrichtung nach Anspruch 10, wobei die Power Management Logik basierend auf einer Menge an Energie, die über die Zeitperiode verbraucht wurde, den Energierest ermitteln soll.
  13. Vorrichtung nach Anspruch 10, wobei die Power Management Logik basierend auf einer Dämpfungskomponente den Energierest ermitteln soll.
  14. Vorrichtung nach Anspruch 10, wobei die Power Management Logik basierend auf allen der Vielzahl an Constraints für jede der Vielzahl an Powerplanes ein Energiebudget ermitteln soll.
  15. Vorrichtung nach Anspruch 10, weiter umfassend einen oder mehrere Sensoren zur Erkennung von Schwankungen, entsprechend einem oder mehreren der Vielzahl an Prozessorkernen bei einer oder mehreren von: Temperatur, Betriebsfrequenz, Betriebsspannung und Energieverbrauch.
  16. Vorrichtung nach Anspruch 10, weiter umfassend einen Spannungsregler, um den Prozessor über die Vielzahl an Powerplanes mit Strom zu versorgen.
  17. Vorrichtung nach Anspruch 10, wobei die Power Management Logik eine Modifikation einer Betriebscharakteristik von mindestens einem Prozessorkern der Vielzahl an Prozessorkernen bewirken soll, in Antwort auf: eine Erkennung von zu hoher Temperatur bei dem mindestens einen Prozessorkern; und eine Ermittlung, welche der anderen Prozessorkerne der Vielzahl an Prozessorkernen aktiv sind und sich bei einem Temperaturwert befinden.
  18. Vorrichtung nach Anspruch 17, wobei der Temperaturwert unter einem zu hohen Temperaturgrenzwert liegt.
  19. Vorrichtung nach Anspruch 17, wobei die Power Management Logik bewirken soll: eine Verringerung von Spannung, die mehr als einen Kern des Prozessors mit Strom versorgt, und eine Verringerung der Betriebscharakteristik des mindestens einen Prozessorkerns.
  20. Verfahren umfassend: zu ermitteln, ob eine Betriebscharakteristik von mindestens einem Prozessorkern einer Vielzahl an Prozessorkernen modifiziert werden soll in Antwort auf: eine Erkennung von zu hoher Temperatur bei dem mindestens einen Prozessorkern und eine Ermittlung, welche der anderen Prozessorkerne der Vielzahl an Prozessorkernen aktiv sind und sich bei einem Temperaturwert befinden; und Ermittlung eines Energiebudgets für eine oder mehrere Powerplanes, die gekoppelt sind, um die Vielzahl an Prozessorkernen mit Strom zu versorgen, basierend auf: einem Energierest einer entsprechenden Powerplane von der einen oder mehreren Powerplanes, der anzeigt, wie viel Energie während einer vorherigen Zeitperiode unverbraucht blieb, und einem oder mehreren Constraints, entsprechend jeder der einen oder mehreren Powerplanes.
  21. Verfahren nach Anspruch 20, wobei der Temperaturwert unter einem zu hohen Temperaturgrenzwert liegt.
  22. Verfahren nach Anspruch 20, wobei die Betriebscharakteristik von dem mindestens einen Prozessorkern eine oder mehrere umfasst von: eine Betriebsspannung und eine Betriebsfrequenz.
  23. Verfahren nach Anspruch 20, weiter umfassend das Erkennen von Schwankungen, entsprechend einem oder mehreren der Vielzahl an Prozessorkernen bei einer oder mehreren von: Temperatur, Betriebsfrequenz, Betriebsspannung und Energieverbrauch.
  24. Verfahren nach Anspruch 20, wobei das Ermitteln des Energiebudgets für eine oder mehrere Powerplanes ausgeführt wird, basierend auf einer oder mehreren von: einem Limit der Thermal Design Power (TDP) während der Zeitperiode; einer Menge an Energie, die über die Zeitperiode verbraucht wurde; und einer Dämpfungskomponente.
  25. System umfassend: einen Prozessor mit einer Vielzahl an Prozessorkernen; eine oder mehrere Powerplanes, um die Vielzahl an Prozessorkernen mit Strom zu versorgen; einen Spannungsregler, um die Vielzahl an Prozessorkernen über die eine oder die mehreren Powerplanes mit Strom zu versorgen; und eine Power Management Logik, um: zu ermitteln, ob eine Betriebscharakteristik von mindestens einem Prozessorkern einer Vielzahl an Prozessorkernen modifiziert werden soll in Antwort auf: eine Erkennung von zu hoher Temperatur in dem mindestens einem Prozessorkern, und eine Ermittlung, welche der anderen Prozessorkerne der Vielzahl an Prozessorkernen aktiv sind und sich bei einem Temperaturwert befinden; und Ermitteln eines Energiebudgets für eine oder mehrere Powerplanes, die gekoppelt sind, um die Vielzahl an Prozessorkernen mit Strom zu versorgen, basierend auf: einem Energierest einer entsprechenden Powerplane der einen oder der mehreren Powerplanes, der anzeigt, wie viel Energie während einer vorherigen Zeitperiode unverbraucht blieb, und einen oder mehrere Constraints, entsprechend jeder der einen oder mehreren Powerplanes.
  26. System nach Anspruch 25, weiter umfassend einen oder mehrere Sensoren zur Erkennung von Schwankungen, entsprechend einem oder mehreren der Vielzahl an Prozessorkernen bei einer oder mehreren von: Temperatur, Betriebsfrequenz, Betriebsspannung und Energieverbrauch.
  27. System nach Anspruch 25, wobei der Temperaturwert unter einem zu hohen Temperaturgrenzwert liegt.
  28. System nach Anspruch 25, wobei die Power Management Logik bewirken soll: eine Verringerung von Spannung, die mehr als einen Kern des Prozessors versorgt, und eine Verringerung der Betriebscharakteristik des mindestens einen Prozessorkerns.
  29. System nach Anspruch 25, wobei die Power Management Logik den Energierest ermitteln soll, basierend auf einer oder mehreren von: einem Limit der Thermal Design Power (TDP) während der Zeitperiode; eine Menge an Energie, die während der Zeitperiode verbraucht wurde; und einer Dämpfungskomponente.
  30. System nach Anspruch 25, weiter umfassend ein Audiogerät.
DE102009051387A 2008-10-31 2009-10-30 Power Management für Mehrprozessorkerne Withdrawn DE102009051387A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/263,421 US8402290B2 (en) 2008-10-31 2008-10-31 Power management for multiple processor cores
US12/263,421 2008-10-31

Publications (1)

Publication Number Publication Date
DE102009051387A1 true DE102009051387A1 (de) 2010-09-30

Family

ID=42132943

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102009051387A Withdrawn DE102009051387A1 (de) 2008-10-31 2009-10-30 Power Management für Mehrprozessorkerne

Country Status (4)

Country Link
US (2) US8402290B2 (de)
CN (2) CN101923383B (de)
DE (1) DE102009051387A1 (de)
TW (1) TWI430079B (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8707060B2 (en) 2008-10-31 2014-04-22 Intel Corporation Deterministic management of dynamic thermal response of processors

Families Citing this family (76)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8627117B2 (en) * 2009-06-26 2014-01-07 Seagate Technology Llc Device with power control feature involving backup power reservoir circuit
US9003206B2 (en) * 2009-12-23 2015-04-07 Bae Systems Information And Electronic Systems Integration Inc. Managing communication and control of power components
US8356194B2 (en) 2010-01-28 2013-01-15 Cavium, Inc. Method and apparatus for estimating overshoot power after estimating power of executing events
US8312305B2 (en) * 2010-02-04 2012-11-13 International Business Machines Corporation Power management for systems on a chip
FR2960314B1 (fr) * 2010-05-19 2012-07-27 Bull Sas Procede d'optimisation de gestion de veille d'un microprocesseur permettant la mise en oeuvre de plusieurs coeurs logiques et programme d'ordinateur mettant en oeuvre un tel procede
US8442786B2 (en) 2010-06-02 2013-05-14 Advanced Micro Devices, Inc. Flexible power reporting in a computing system
TWI423549B (zh) 2010-07-02 2014-01-11 Univ Nat Chiao Tung 辨識電器狀態的電力監測裝置及其電力監測方法
US8510582B2 (en) * 2010-07-21 2013-08-13 Advanced Micro Devices, Inc. Managing current and power in a computing system
US8495395B2 (en) * 2010-09-14 2013-07-23 Advanced Micro Devices Mechanism for controlling power consumption in a processing node
US8943334B2 (en) 2010-09-23 2015-01-27 Intel Corporation Providing per core voltage and frequency control
WO2012069881A1 (en) * 2010-11-25 2012-05-31 Freescale Semiconductor, Inc. Method and apparatus for managing power in a multi-core processor
US20120159219A1 (en) * 2010-12-20 2012-06-21 Lilly Huang Vr power mode interface
US8984305B2 (en) * 2010-12-21 2015-03-17 Intel Corporation Method and apparatus to configure thermal design power in a microprocessor
TWI582565B (zh) * 2010-12-21 2017-05-11 英特爾股份有限公司 用以配置微處理器中之熱設計功率的方法和裝置
US9069555B2 (en) 2011-03-21 2015-06-30 Intel Corporation Managing power consumption in a multi-core processor
TWI454905B (zh) 2011-09-30 2014-10-01 Intel Corp 在多核心平台中之受限制的啓動技術
US8832478B2 (en) 2011-10-27 2014-09-09 Intel Corporation Enabling a non-core domain to control memory bandwidth in a processor
CN103139086B (zh) * 2011-12-02 2017-06-23 纬创资通股份有限公司 可调节开关时序的路由器及调节路由器开关时序的方法
US8862909B2 (en) 2011-12-02 2014-10-14 Advanced Micro Devices, Inc. System and method for determining a power estimate for an I/O controller based on monitored activity levels and adjusting power limit of processing units by comparing the power estimate with an assigned power limit for the I/O controller
US8924758B2 (en) 2011-12-13 2014-12-30 Advanced Micro Devices, Inc. Method for SOC performance and power optimization
US9304570B2 (en) * 2011-12-15 2016-04-05 Intel Corporation Method, apparatus, and system for energy efficiency and energy conservation including power and performance workload-based balancing between multiple processing elements
US9400545B2 (en) 2011-12-22 2016-07-26 Intel Corporation Method, apparatus, and system for energy efficiency and energy conservation including autonomous hardware-based deep power down in devices
US20120095607A1 (en) * 2011-12-22 2012-04-19 Wells Ryan D Method, Apparatus, and System for Energy Efficiency and Energy Conservation Through Dynamic Management of Memory and Input/Output Subsystems
US9753516B2 (en) * 2011-12-22 2017-09-05 Intel Corporation Method, apparatus, and system for energy efficiency and energy conservation by mitigating performance variations between integrated circuit devices
US9563254B2 (en) * 2011-12-22 2017-02-07 Intel Corporation System, method and apparatus for energy efficiency and energy conservation by configuring power management parameters during run time
US20130173946A1 (en) * 2011-12-29 2013-07-04 Efraim Rotem Controlling power consumption through multiple power limits over multiple time intervals
US9354689B2 (en) 2012-03-13 2016-05-31 Intel Corporation Providing energy efficient turbo operation of a processor
WO2013137862A1 (en) * 2012-03-13 2013-09-19 Intel Corporation Dynamically controlling interconnect frequency in a processor
US9436245B2 (en) 2012-03-13 2016-09-06 Intel Corporation Dynamically computing an electrical design point (EDP) for a multicore processor
US9360909B2 (en) 2012-04-19 2016-06-07 Intel Corporation System, method and apparatus for energy efficiency and energy conservation by configuring power management parameters during run time
US9703364B2 (en) 2012-09-29 2017-07-11 Intel Corporation Rotational graphics sub-slice and execution unit power down to improve power performance efficiency
US9164931B2 (en) 2012-09-29 2015-10-20 Intel Corporation Clamping of dynamic capacitance for graphics
US9804656B2 (en) * 2012-09-29 2017-10-31 Intel Corporation Micro-architectural energy monitor event-assisted temperature sensing
US10007323B2 (en) 2012-12-26 2018-06-26 Intel Corporation Platform power consumption reduction via power state switching
US9395774B2 (en) * 2012-12-28 2016-07-19 Intel Corporation Total platform power control
EP2973180B1 (de) 2013-03-15 2020-01-15 OLogN Technologies AG Systeme, verfahren und vorrichtungen zur sicheren speicherung und ausgabe von zahlungsinformationen
KR20140128118A (ko) * 2013-04-26 2014-11-05 삼성전자주식회사 애플리케이션 프로세서 및 이의 동적 온도 관리 방법
US9671844B2 (en) * 2013-09-26 2017-06-06 Cavium, Inc. Method and apparatus for managing global chip power on a multicore system on chip
US9250910B2 (en) 2013-09-27 2016-02-02 Intel Corporation Current change mitigation policy for limiting voltage droop in graphics logic
US9483092B2 (en) * 2013-10-14 2016-11-01 Advanced Micro Devices, Inc. Performance state boost for multi-core integrated circuit
US9317089B2 (en) 2013-10-28 2016-04-19 Intel Corporation Mesh performance improvement using dual voltage data transfer
US9514715B2 (en) 2013-12-23 2016-12-06 Intel Corporation Graphics voltage reduction for load line optimization
US9436786B1 (en) * 2014-02-12 2016-09-06 Xilinx, Inc. Method and circuits for superclocking
US9477289B2 (en) * 2014-03-25 2016-10-25 Advanced Micro Devices, Inc. Dynamic power allocation based on PHY power estimation
JP5986138B2 (ja) * 2014-05-09 2016-09-06 レノボ・シンガポール・プライベート・リミテッド 複数のプロセッサに電力を供給する電源装置の出力を制御する方法、電源システムおよび情報処理装置
US9652026B2 (en) * 2014-12-21 2017-05-16 Qualcomm Incorporated System and method for peak dynamic power management in a portable computing device
US10528117B2 (en) 2014-12-22 2020-01-07 Qualcomm Incorporated Thermal mitigation in devices with multiple processing units
US10481671B2 (en) * 2015-05-21 2019-11-19 Hitachi, Ltd. Power saving for a computer system and computer based on differences between chip regions in processing and communication times
US9846470B2 (en) 2015-08-06 2017-12-19 Seagate Technology Llc Data storage power management
US10007310B2 (en) * 2016-07-08 2018-06-26 Qualcomm Incorporated Circuits and methods providing calibration for temperature mitigation in a computing device
CN107844152B (zh) * 2016-09-20 2020-06-02 华为技术有限公司 负载监控器、基于多核心架构的供电系统和电压调整方法
US10156877B2 (en) 2016-10-01 2018-12-18 Intel Corporation Enhanced power management for support of priority system events
US10401940B2 (en) * 2016-10-10 2019-09-03 International Business Machines Corporation Power management in disaggregated computing systems
CN106802598A (zh) * 2016-12-30 2017-06-06 广东欧珀移动通信有限公司 一种基于多核心接入点架构的供电方法以及多核心接入点
WO2018145201A1 (en) 2017-02-08 2018-08-16 Upstream Data Inc. Blockchain mine at oil or gas facility
US10423209B2 (en) * 2017-02-13 2019-09-24 Apple Inc. Systems and methods for coherent power management
US10565079B2 (en) 2017-09-28 2020-02-18 Intel Corporation Determination of idle power state
WO2019139632A1 (en) 2018-01-11 2019-07-18 Lancium Llc Method and system for dynamic power delivery to a flexible datacenter using unutilized energy sources
US11016553B2 (en) 2018-09-14 2021-05-25 Lancium Llc Methods and systems for distributed power control of flexible datacenters
US11031787B2 (en) 2018-09-14 2021-06-08 Lancium Llc System of critical datacenters and behind-the-meter flexible datacenters
US11025060B2 (en) 2018-09-14 2021-06-01 Lancium Llc Providing computational resource availability based on power-generation signals
US10873211B2 (en) 2018-09-14 2020-12-22 Lancium Llc Systems and methods for dynamic power routing with behind-the-meter energy storage
US11031813B2 (en) 2018-10-30 2021-06-08 Lancium Llc Systems and methods for auxiliary power management of behind-the-meter power loads
US11128165B2 (en) 2019-02-25 2021-09-21 Lancium Llc Behind-the-meter charging station with availability notification
WO2020227811A1 (en) 2019-05-15 2020-11-19 Upstream Data Inc. Portable blockchain mining system and methods of use
US11126245B2 (en) * 2019-06-21 2021-09-21 Intel Corporation Device, system and method to determine a power mode of a system-on-chip
US11397999B2 (en) 2019-08-01 2022-07-26 Lancium Llc Modifying computing system operations based on cost and power conditions
US11868106B2 (en) 2019-08-01 2024-01-09 Lancium Llc Granular power ramping
CN110442224A (zh) * 2019-09-17 2019-11-12 联想(北京)有限公司 电子设备的电源功率分配方法、电子设备和可读存储介质
US10618427B1 (en) 2019-10-08 2020-04-14 Lancium Llc Behind-the-meter branch loads for electrical vehicle charging
US11016458B2 (en) 2019-10-28 2021-05-25 Lancium Llc Methods and systems for adjusting power consumption based on dynamic power option agreement
CN110764605B (zh) * 2019-10-30 2021-11-02 Oppo广东移动通信有限公司 多核处理器控制方法、装置、电子设备及存储介质
US11042948B1 (en) 2020-02-27 2021-06-22 Lancium Llc Computing component arrangement based on ramping capabilities
US10985652B1 (en) 2020-03-02 2021-04-20 Google Llc Power balancer for series-connected load zones of an integrated circuit
CA3076653A1 (en) 2020-03-21 2021-09-21 Upstream Data Inc. Portable blockchain mining systems and methods of use
EP4196876A4 (de) 2020-08-14 2024-04-10 Lancium Llc Leistungsbewusste planung

Family Cites Families (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5392437A (en) * 1992-11-06 1995-02-21 Intel Corporation Method and apparatus for independently stopping and restarting functional units
JP3297389B2 (ja) * 1998-12-07 2002-07-02 インターナショナル・ビジネス・マシーンズ・コーポレーション 消費電力制御方法および電気機器
US6232820B1 (en) 1999-06-14 2001-05-15 Intel Corporation Method and apparatus for dynamic clock gating
EP1098239A1 (de) * 1999-11-02 2001-05-09 Microchip Technology Inc. Mikrokontroller, bei dem die Kernlogik abgeschaltet werden kann während die input-output ports ihr Zustand beibehalten
US6791157B1 (en) 2000-01-18 2004-09-14 Advanced Micro Devices, Inc. Integrated circuit package incorporating programmable elements
US6920571B2 (en) 2000-12-14 2005-07-19 Hewlett-Packard Development Company, L.P. Steering circuit and method that gradually counts a voltage output code until matching a voltage input code
US7975156B2 (en) * 2008-10-21 2011-07-05 Dell Products, Lp System and method for adapting a power usage of a server during a data center cooling failure
US7111178B2 (en) * 2001-09-28 2006-09-19 Intel Corporation Method and apparatus for adjusting the voltage and frequency to minimize power dissipation in a multiprocessor system
US7262628B2 (en) 2004-07-02 2007-08-28 Primarion, Inc. Digital calibration with lossless current sensing in a multiphase switched power converter
US6804632B2 (en) * 2001-12-06 2004-10-12 Intel Corporation Distribution of processing activity across processing hardware based on power consumption considerations
US6908227B2 (en) * 2002-08-23 2005-06-21 Intel Corporation Apparatus for thermal management of multiple core microprocessors
US7770042B2 (en) * 2002-10-03 2010-08-03 Via Technologies, Inc. Microprocessor with improved performance during P-state transitions
US7774627B2 (en) * 2002-10-03 2010-08-10 Via Technologies, Inc. Microprocessor capable of dynamically increasing its performance in response to varying operating temperature
US7814350B2 (en) * 2002-10-03 2010-10-12 Via Technologies, Inc. Microprocessor with improved thermal monitoring and protection mechanism
US20040117673A1 (en) 2002-12-17 2004-06-17 Tawfik Arabi Method and apparatus to provide platform load lines
US7402958B2 (en) 2003-06-30 2008-07-22 Intel Corporation Display power partitioning
US8037445B2 (en) 2003-08-20 2011-10-11 Hewlett-Packard Development Company, L.P. System for and method of controlling a VLSI environment
US7966511B2 (en) * 2004-07-27 2011-06-21 Intel Corporation Power management coordination in multi-core processors
US7451333B2 (en) * 2004-09-03 2008-11-11 Intel Corporation Coordinating idle state transitions in multi-core processors
US6908337B1 (en) * 2004-10-19 2005-06-21 Cablesat International Co., Ltd. Cable terminal
US7386737B2 (en) 2004-11-02 2008-06-10 Intel Corporation Method and apparatus to control temperature of processor
US20060161375A1 (en) * 2004-12-30 2006-07-20 Allen Duberstein Optimizing processing speed based on measured temperatures
US7502948B2 (en) * 2004-12-30 2009-03-10 Intel Corporation Method, system, and apparatus for selecting a maximum operation point based on number of active cores and performance level of each of the active cores
US7463993B2 (en) 2005-05-10 2008-12-09 Intel Corporation Adaptive thermal-based frequency-bounds control
KR101108397B1 (ko) 2005-06-10 2012-01-30 엘지전자 주식회사 멀티-코어 프로세서의 전원 제어 장치 및 방법
JP4764696B2 (ja) 2005-10-07 2011-09-07 ルネサスエレクトロニクス株式会社 半導体集積回路装置
US7487371B2 (en) * 2005-12-16 2009-02-03 Nvidia Corporation Data path controller with integrated power management to manage power consumption of a computing device and its components
US7263457B2 (en) * 2006-01-03 2007-08-28 Advanced Micro Devices, Inc. System and method for operating components of an integrated circuit at independent frequencies and/or voltages
JP2007233782A (ja) 2006-03-02 2007-09-13 Lenovo Singapore Pte Ltd 発熱量の制御方法およびコンピュータ
US20070280079A1 (en) 2006-06-05 2007-12-06 Yuh Cheng Asymmetry measurement apparatus
US7752468B2 (en) * 2006-06-06 2010-07-06 Intel Corporation Predict computing platform memory power utilization
US20080005591A1 (en) * 2006-06-28 2008-01-03 Trautman Mark A Method, system, and apparatus for dynamic thermal management
US7650518B2 (en) 2006-06-28 2010-01-19 Intel Corporation Method, apparatus, and system for increasing single core performance in a multi-core microprocessor
US8044697B2 (en) 2006-06-29 2011-10-25 Intel Corporation Per die temperature programming for thermally efficient integrated circuit (IC) operation
US7685445B2 (en) 2006-06-29 2010-03-23 Intel Corporation Per die voltage programming for energy efficient integrated circuit (IC) operation
JP2008026948A (ja) * 2006-07-18 2008-02-07 Renesas Technology Corp 半導体集積回路
US7584369B2 (en) * 2006-07-26 2009-09-01 International Business Machines Corporation Method and apparatus for monitoring and controlling heat generation in a multi-core processor
US7617403B2 (en) * 2006-07-26 2009-11-10 International Business Machines Corporation Method and apparatus for controlling heat generation in a multi-core processor
US7793125B2 (en) 2007-01-10 2010-09-07 International Business Machines Corporation Method and apparatus for power throttling a processor in an information handling system
US7865751B2 (en) * 2007-06-18 2011-01-04 Intel Corporation Microarchitecture controller for thin-film thermoelectric cooling
US20080317086A1 (en) 2007-06-22 2008-12-25 Santos Ishmael F Self-calibrating digital thermal sensors
US7679340B2 (en) 2007-06-29 2010-03-16 Intel Corporation Low power optimized voltage regulator
US7930578B2 (en) 2007-09-27 2011-04-19 International Business Machines Corporation Method and system of peak power enforcement via autonomous token-based control and management
US8032772B2 (en) * 2007-11-15 2011-10-04 Intel Corporation Method, apparatus, and system for optimizing frequency and performance in a multi-die microprocessor
US8578193B2 (en) * 2007-11-28 2013-11-05 International Business Machines Corporation Apparatus, method and program product for adaptive real-time power and perfomance optimization of multi-core processors
US20090327776A1 (en) 2008-06-30 2009-12-31 Nguyen Don J Multiple load line voltage regulators
US8214658B2 (en) * 2008-08-20 2012-07-03 International Business Machines Corporation Enhanced thermal management for improved module reliability
US8707060B2 (en) 2008-10-31 2014-04-22 Intel Corporation Deterministic management of dynamic thermal response of processors
US8635470B1 (en) * 2009-12-16 2014-01-21 Applied Micro Circuits Corporation System-on-chip with management module for controlling processor core internal voltages

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8707060B2 (en) 2008-10-31 2014-04-22 Intel Corporation Deterministic management of dynamic thermal response of processors

Also Published As

Publication number Publication date
US20100115304A1 (en) 2010-05-06
US20130219196A1 (en) 2013-08-22
CN103440028A (zh) 2013-12-11
CN101923383B (zh) 2013-08-14
TWI430079B (zh) 2014-03-11
TW201022923A (en) 2010-06-16
CN101923383A (zh) 2010-12-22
CN103440028B (zh) 2016-12-28
US8402290B2 (en) 2013-03-19

Similar Documents

Publication Publication Date Title
DE102009051387A1 (de) Power Management für Mehrprozessorkerne
DE112012001358B4 (de) Verwalten von Energieverbrauch in einem Mehrfachkernprozessor
DE112007001215B4 (de) Vorhersage der Leistungsnutzung von Rechenplattformspeicher
DE112012003701B4 (de) Dynamisches Zuordnen eines Leistungsbudgets über mehrere Domänen eines Prozessors
DE112009004875B4 (de) Umhüllungsleistungssteuerung
DE102009015495B4 (de) Energieverwaltung bei einer Plattform basierend auf der Lenkung über die Wartezeit
DE102014001914B4 (de) Dynamische Steuerung einer maximalen Betriebsspannung für einen Prozessor
DE102007053796B4 (de) Betreiben integrierter Schaltkreis-Logikblöcke bei unabhängigen Spannungen mit einer einzelnen Spannungsversorgung
DE10392619B4 (de) Energieverwaltung für eine integrierte Grafikeinheit
DE102010045743B4 (de) Verfahren und Vorrichtung, um Turboleistung für das Event-Handling zu verbessern
DE102009058426B4 (de) Verfahren und Vorrichtung zum Power-Management eines Prozessors
DE102007048505B4 (de) Server, konfiguriert zum Verwalten von Leistung und Betriebsverhalten
DE112012006377B4 (de) Energieverbrauch und Leistung von Computersystemen steuern
DE102007021258B4 (de) Leistungszuweisungsmanagement in einem Informationsverarbeitungssystem
DE112005003136B4 (de) Verfahren, Vorrichtung und System zum dynamischen Einstellen von Arbeitsparametern von mehreren Porzessorkernen
DE102015102689B4 (de) Steuern von Flankensteilheiten eines Prozessors auf der Basis eines Batterieladezustands
DE69629123T2 (de) Apparat und verfahren zum reduzieren des stromverbrauchs durch skalierung von spannung und frequenz
DE102013217804B4 (de) System und Verfahren zur Berücksichtigung von Alterungswirkungen in einer Computervorrichtung
DE112018007545T5 (de) Energiesteuerungsarbitration
DE112013005278T5 (de) Dynamisches Abgleichen von Leistung über eine Mehrzahl von Prozessordomänen gemäß Leistungsabgleichsteuerungs-BIAS
DE10339500A1 (de) System und Verfahren zum Implementieren einer integrierten Schaltung mit einer dynamisch variablen Leistungsgrenze
DE112007001056T5 (de) PRO-Chip-Spannungsprogammierung für den Energie-Effizienten integrierten Schaltkreis (IC) Betrieb
DE102010054067A1 (de) Power-Management-System und Verfahren
DE10297158B4 (de) Computersystem mit Regelung seiner zugeführten Spannung
DE112007001433B4 (de) Verfahren, Vorrichtung und System zum Wärmemanagement unter Verwendung einer Leistungdichte-Rückmeldung

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
R016 Response to examination communication
R002 Refusal decision in examination/registration proceedings
R006 Appeal filed
R008 Case pending at federal patent court
R011 All appeals rejected, refused or otherwise settled
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee

Effective date: 20140501