DE112005001779B4 - Energiemanagement-Koordination in mehrkernigen Prozessoren - Google Patents

Energiemanagement-Koordination in mehrkernigen Prozessoren Download PDF

Info

Publication number
DE112005001779B4
DE112005001779B4 DE112005001779T DE112005001779T DE112005001779B4 DE 112005001779 B4 DE112005001779 B4 DE 112005001779B4 DE 112005001779 T DE112005001779 T DE 112005001779T DE 112005001779 T DE112005001779 T DE 112005001779T DE 112005001779 B4 DE112005001779 B4 DE 112005001779B4
Authority
DE
Germany
Prior art keywords
setting
shared
requirement
resources
processor
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.)
Active
Application number
DE112005001779T
Other languages
English (en)
Other versions
DE112005001779T5 (de
Inventor
Alon Naveh
Efraim Rotem
Eliezer Weissmann
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.)
Tahoe Research Ltd
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 DE112005001779T5 publication Critical patent/DE112005001779T5/de
Application granted granted Critical
Publication of DE112005001779B4 publication Critical patent/DE112005001779B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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; CALCULATING OR 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; CALCULATING OR 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)
  • Power Sources (AREA)

Abstract

Prozessor, welcher das folgende umfasst: mehrere Kerne, welche mehrere nicht erfüllte Betriebserfordernisse für eine gemeinsam benutzte Ressource, die von den mehreren Kernen gemeinsam benutzt wird, ausgeben; und eine Koordinationslogik, welche mit den mehreren Kernen verbunden ist, wobei die Koordinationslogik eine Einstellung der gemeinsam benutzten Ressourcen für die gemeinsam benutzte Ressource, die von den mehreren Kernen gemeinsam benutzt wird, basierend auf den mehreren nicht erfüllten Betriebserfordernissen und ferner basierend darauf, ob entweder eine Energieeinsparstrategie oder eine Hochleistungsstrategie als wichtigster zu steuernder Faktor festgestellt worden ist, koordiniert.

Description

  • HINTERGRUND
  • Technisches Gebiet
  • Eine oder mehrere Ausführungsformen der vorliegenden Erfindung betreffen allgemein das Energiemanagement. Insbesondere betreffen bestimmte Ausführungsformen das Koordinieren von Energiemanagementaktivitäten in mehrkernigen Prozessoren.
  • Diskussion
  • Da der Trend zu hochentwickelten Prozessoren mit mehreren Transistoren und höheren Frequenzen weiter zunimmt, stehen Computerdesigner und -hersteller oft den entsprechenden Steigerungen des Energieverbrauchs gegenüber. Ferner können Herstellungstechniken, welche für schnellere und kleinere Komponenten sorgen, zur selben Zeit zu einer erhöhten Verlustleistung führen. Insbesondere in Mobilcomputer-Umgebungen kann ein erhöhter Energieverbrauch zu einer Überhitzung führen, welche die Leistungsfähigkeit negativ beeinflussen kann und die Batterielebensdauer merklich verringern kann.
  • Einige moderne Mobilcomputersysteme gehen das Problem der verringerten Batterielebensdauer durch die Verwirklichung von prozessorbasierten Energiemanagementschemen an. Einer der weiter verbreiteten Ansätze ist es zum Beispiel, den Energieverbrauch des Prozessors dynamisch zu verringern, indem die Kernspannung und die Taktfrequenz des Prozessors verringert werden, wenn keine Hochleistung nötig oder erwünscht ist. Das Energiemanagement kann auch verbessert werden, indem die Frequenz des Busses verringert wird, welchen der Prozessor verwendet, um mit anderen Komponenten wie Chipsätzen, Speicher-Untersystemen, Eingabe/Ausgabe(E/A)-Einheiten usw. Daten auszutauschen. Ein anderer Ansatz ist es, den Takt zum Prozessor ein- oder auszuschalten oder „ein- oder auszublenden” (also den Takt zu „drosseln”), um Energieeinsparungen zu erzielen. Noch ein anderes Beispiel eines prozessorbasierten Energiemanagements ist es, Architekturkomponenten des Prozessors, wie z. B. interne Arrays, Ausführungseinheiten usw., zu drosseln. Einige Techniken machen von verschiedenen Kombinationen dieser Ansätze Gebrauch, um den Energieverbrauch weiter zu verringern. Obwohl diese Energiemanagement-Schemen unter bestimmten Umständen akzeptabel waren, verbleibt doch eine Anzahl von Bedenken.
  • Ein Problem betrifft neuere Entwicklungen in Richtung komplexerer Prozessorarchitekturen, welche mehrere Prozessoren in einem System beinhalten können, mit mehreren Kernen in jedem Prozessor. In solch einem Fall können einige der energiebezogenen Ressourcen und zugehörigen Steuerungen von den Prozessorkernen gemeinsam benutzt werden, während andere Ressourcen und Steuerungen für einen gegebenen Kern reserviert sein können. Die reservierten Ressourcen und Steuerungen sind von den Ressourcen und Steuerungen anderer Kerne unabhängig, während die gemeinsam benutzten Ressourcen und Steuerungen von dem Zustand jedes der Kerne abhängen. Herkömmliche Energiemanagementschemen können in diesen Fällen jedoch nicht gut funktionieren, weil sie für Einzelprozessorumgebungen strukturiert sind.
  • Zum Beispiel steuert ein solches Schema die Übergänge des Prozessors zwischen verschiedenen Energiezuständen auf der Ebene des Betriebssystems (OS). Obwohl zukünftige OS-Anwendungen vielleicht Energie auf einer Pro-Kern-Basis verwalten können, ist es doch überhaupt nicht klar, ob das OS zwischen den Kernen koordinieren können wird. Ferner kann, selbst wenn OS-Anwendungen ein Pro-Kern-Energiemanagement erreichen würden, immer noch die Effizienz ein Problem sein. Insbesondere sind dem OS vielleicht nicht alle verfügbaren Leistungs-/Energiesteuerungsmechanismen bekannt, und es kann vielleicht nicht die Abwägungen zwischen diesen führen. Außerdem könnte die Abhängigkeit von Software, um solche komplizierten Architekturen zu koordinieren, den OS-Überhang erhöhen und zur Komplexität der Software-Kalkulation beitragen. Ein Energiemanagement von mehrkernigen Prozessoren auf Software-Basis kann wegen der schnellen Zustandsveränderungen, welche in voneinander abhängigen Kernen auftreten können, auch vom Gesichtspunkt der zeitlichen Abstimmung her schwierig zu verwirklichen sein.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Die verschiedenen Vorteile der Ausführungsformen der vorliegenden Erfindung werden für den Fachmann ersichtlich durch das Lesen der folgenden Beschreibung und der US 5,862,368 offenbart einen Mechanismus, mittels dessen mehrere Prozessoren in einem System mit unterschiedlichen Betriebsfrequenzen verwendet werden können, und zwar indem eine geeignete Betriebsfrequenz für das gesamte Computersystem ausgewählt wird. Wenn nur ein Prozessor vorhanden ist, dann ist die Betriebsfrequenz die maximale Betriebsfrequenz für den einen Prozessor, da sie nicht gesenkt werden muss, um anderen Prozessoren Rechnung zu tragen. Wenn jedoch zusätzliche Prozessoren in dem Computersystem vorhanden sein sollten, dann entspricht die Betriebsfrequenz für das Computersystem der maximalen Betriebsfrequenz für den langsamsten der Prozessoren in dem Computersystem.
  • Die US 2002/0095610 A1 offenbart einen Mechanismus zur Steuerung der Frequenz eines Takts, der in einen Prozessor eingegeben wird, und auch zur Änderung der Versorgungsspannung, die dem Prozessor zugeführt wird, wodurch eine Reduzierung eines Energieverbrauchs ermöglicht wird. Insbesondere ergibt sich daraus, dass in einer Anwendung mit Parallelverarbeitung, wenn einer der Prozessoren vor dem anderen fertig wird, er durch Reduzierung seiner Taktfrequenz verlangsamt werden kann, um dann Energie einzusparen.
  • Der Erfindung liegt somit die Aufgabe zugrunde, für eine Koordination des Energiemanagements bei mehrkernigen Prozessoren zu sorgen.
  • Erfindungsgemäß wird diese Aufgabe durch einen Prozessor gemäß dem Anspruch 1, ein Verfahren gemäß dem Anspruch 12, ein System gemäß dem Anspruch 23 und durch ein Verfahren gemäß dem Anspruch 31 gelöst.
  • Die jeweiligen Unteransprüche betreffen vorteilhafte Weiterentwicklungen derselben beigefügten Patentansprüche und durch Bezugnahme auf die folgenden Zeichnungen, in welchen:
  • 1 ein Blockdiagramm eines Beispiels für einen Prozessor gemäß einer Ausführungsform der Erfindung ist;
  • 2 ein Diagramm eines Beispiels für eine Energiemanagementarchitektur gemäß einer Ausführungsform der Erfindung ist;
  • 3 ein Diagramm eines Beispiels für eine Leistungszustands-Übergangstabelle gemäß einer Ausführungsform der Erfindung ist;
  • 4 ein Blockdiagramm eines Beispiels für ein System gemäß einer Ausführungsform der Erfindung ist;
  • 5 ein Ablaufdiagramm eines Beispiels für ein Verfahren zum Energiemanagement gemäß einer Ausführungsform der Erfindung ist;
  • 6 ein Ablaufdiagramm eines Beispiels für ein Verfahren zum Koordinieren der Einstellung einer gemeinsam benutzten Ressource mit der Einstellung einer unabhängigen Ressource gemäß einer Ausführungsform der Erfindung ist;
  • 7 ein Ablaufdiagramm eines Beispiels für ein Verfahren zum Auswählen der Einstellung einer gemeinsam benutzten Ressource gemäß einer Ausführungsform der Erfindung ist; und
  • 8 ein Ablaufdiagramm eines Beispiels für ein Verfahren zum Einrichten der Ressourceneinstellungen gemäß einer Ausführungsform der Erfindung ist.
  • DETAILLIERTE BESCHREIBUNG
  • 1 zeigt einen Prozessor 10 mit einem ersten Kern 12, einem zweiten Kern 14 und einer Hardware-Koordinationslogik 16, welche operativ an den ersten Kern 12 und den zweiten Kern 14 gekoppelt ist. Die Begriffe „erster” und „zweiter” werden hier lediglich zur Vereinfachung der Beschreibung verwendet. Ferner kann, obwohl hier eine Zweikernkonfiguration dargestellt ist, die Anzahl der Kerne im Prozessor 10 leicht erhöht werden, ohne die Idee und den Umfang der Ausführungsformen der Erfindung zu verlassen. Jeder der dargestellten Kerne 12, 14 ist vollfunktionell als logischer Prozessor und beinhaltet herkömmliche Ausführungseinheiten, Stufe-1(L1)-Cache-Speicher, usw. Die dargestellte Zweikernkonfiguration kann deswegen wesentliche Leistungsvorteile gegenüber herkömmlichen Einkernprozessoren bieten.
  • Der Prozessor 10 weist eine Anzahl von Merkmalen/Ressourcen auf, welche eine merkliche Energieverringerung ermöglichen. Zum Beispiel kann der Prozessor 10 ein Merkmal aufweisen, welches die Taktfrequenz und die Versorgungsspannung (z. B. die Kernspannung) des Prozessors verringern kann, wenn eine Hochleistung entweder nicht nötig oder nicht erwünscht ist. Ein anderes energiesparendes Merkmal könnte für die Verringerung der Taktfrequenz eines Busses sorgen (nicht dargestellt). Noch ein anderes Merkmal könnte für die Drosselung (oder „Ein- und Ausblendung”) der Takte sorgen, was den Energieverbrauch verringert. Die Taktdrosselung kann auf Paketebene oder für einzelne Teile des Prozessors 10 durchgeführt werden. Noch ein anderes energiesparendes Merkmal könnte die Drosselung von Architekturkomponenten der Kerne 12, 14 beinhalten, um die Energie zu verringern und/oder die Temperatur zu senken.
  • Obwohl jedes dieser Merkmale unter dem Gesichtspunkt des Energiemanagements recht vorteilhaft sein kann, machen einige von diesen Gebrauch von Ressourcen, welche von den Kernen 12, 14 gemeinsam benutzt werden, und andere betreffen Ressourcen, welche unabhängig voneinander von den Kernen 12, 14 gesteuert werden. Der dargestellte Prozessor 10 weist im Allgemeinen eine Architektur auf, welche beide Szenarien dynamisch unterstützen kann und eine Anzahl von Vorteilen gegenüber herkömmlichen Energiemanagementschemen bietet.
  • Zum Beispiel kann der dargestellte Prozessor 10 eine Einstellung der Prozessor-Taktfrequenz und der Versorgungsspannung aufweisen, welche von beiden Kernen 12, 14 gemeinsam benutzt wird, während eine unabhängige Taktdrosselungseinstellung steuern kann, wie oft der Takt nur an den ersten Kern 12 angelegt wird. Somit könnten die Einstellungen der Taktfrequenz und der Versorgungsspannung als Einstellung 22 einer gemeinsam benutzten Ressource angesehen werden, und die unabhängige Taktdrosselungseinstellung könnte als Einstellung 24 der unabhängigen Ressourcen angesehen werden. In ähnlicher Weise kann der zweite Kern ebenso eine unabhängige Taktdrosselungseinstellung aufweisen, welche von einer Einstellung 26 der unabhängigen Ressourcen repräsentiert wird.
  • Außer der unabhängigen Taktdrosselung können die Kerne 12, 14 in der Lage sein, unabhängig verschiedene funktionelle Blöcke ihrer internen Architekturen zu drosseln. Zum Beispiel könnten die Einstellungen 24, 26 der unabhängigen Ressourcen für die Drosselung von Architekturkomponenten, wie z. B. internen Arrays, Umordnungspuffern (ROBs), Reservierungsstations(RS)-Tabellen, Paralleleinheiten, Ausführungseinheiten usw. sorgen.
  • In der dargestellten Ausführungsform gibt der erste Kern 12 ein erstes Betriebserfordernis 18 aus, und der zweite Kern 14 gibt ein zweites Betriebserfordernis 20 aus. Die Koordinationslogik 16 kann die Einstellung 22 der gemeinsam benutzten Ressourcen mit den Betriebserfordernissen 18, 20 koordinieren. Wie unten noch detaillierter beschrieben wird, könnten die Betriebserfordernisse 18, 20 gemäß einer Strategie aufgestellt sein, wie z. B. einer Energiestrategie oder einer Leistungsstrategie, und können ein Produkt des Betriebssystems (OS) sein, welches auf jedem der Kerne 12, 14 abläuft. Zum Beispiel könnte der erste Kern 12 vom Benutzer/durch Software wählbare Energie-Zielvorgaben aufweisen, welche es ermöglichen, daß er den Energieverbrauch um zwanzig Prozent verringert. In diesem Fall könnte das erste Betriebserfordernis 18 ein Energieerfordernis sein, welches ein achtzigprozentiges Energieniveau anzeigt. Alternativ könnte sich der zweite Kern 14 in einem Betriebsmodus befinden, welcher volle Energie benötigt, so daß das zweite Betriebserfordernis 20 ein hundertprozentiges Energieniveau anzeigt. Die speziellen Werte sind nur beispielhaft.
  • Die Betriebserfordernisse 18, 20 könnten auch ein Leistungserfordernis bezeichnen, wie z. B. ein Leistungsniveau oder einen Index in einer Leistungszustands-Übergangstabelle, wie unten noch detaillierter beschrieben wird. Indem der Hardware-Koordinationslogik 16 ermöglicht wird, entweder auf Basis einer Leistungs- oder auf Basis einer Energiestrategie zu arbeiten, kann der Prozessor 10 darauf fokussiert sein, was für die Software aktuell der wichtigste zu steuernde Faktor ist, während der andere Faktor möglicherweise zurückgestellt wird. Obwohl die Anwendung von Leistungs-/Energiestrategien hilfreich sein kann, wenn eine Koordinierung über mehrere Merkmale und eine gemeinsame Strategie (Leistung oder Energie) erforderlich ist, können auch andere Ansätze verfolgt werden. Zum Beispiel kann die Einbeziehung der tatsächlichen Ressourceneinstellungen in die Betriebserfordernisse ebenfalls ein akzeptabler Ansatz sein.
  • Wie bereits angemerkt, kann die Koordinationslogik 16 die Einstellung 22 der gemeinsam benutzten Ressourcen gemäß dem ersten Betriebserfordernis 18 und dem zweiten Betriebserfordernis 20 auswählen. Das Ergebnis ist ein Betriebszustand, welcher die Betriebserfordernisse 18, 20 erfüllen kann oder nicht. Wenn zum Beispiel die Einstellung 22 der gemeinsam benutzten Ressourcen das erste Betriebserfordernis 18 nicht erfüllt, wählt der erste Kern 12 für die erste Einstellung 24 der unabhängigen Ressourcen einen modifizierten/angepaßten Wert aus, welcher ermöglicht, daß das erste Betriebserfordernis 18 erfüllt wird. Alternativ wählt, wenn die Einstellung 22 der gemeinsam benutzten Ressourcen das zweite Betriebserfordernis 20 nicht erfüllt, der zweite Kern 14 für die zweite unabhängige Ressource einen modifizierten/angepaßten Wert aus, welcher ermöglicht, daß das zweite Betriebserfordernis 20 erfüllt wird. Die Koordinationslogik 16 kann deswegen die resultierenden Einstellungen 24, 26 der unabhängigen Ressourcen basierend auf dem Unterschied zwischen den einzelnen Betriebserfordernissen 18, 20 und der Einstellung 22 der gemeinsam benutzten Ressourcen ermitteln, welcher den tatsächlichen erreichten Koordinationszustand reflektiert. Einfach ausgedrückt können die Einstellungen 24, 26 der unabhängigen Ressourcen alle Leistungs-/Energiemängel ausgleichen, welche mit der Einstellung 22 der gemeinsam benutzten Ressource in Verbindung stehen, was durch einen oder mehrere der Kerne 12, 14 erzwungen werden kann.
  • Somit würde im obigen Beispiel nicht erfüllter Betriebserfordernisse die Koordinationslogik 16 die Tatsache berücksichtigen, daß der zweite Kern 14 ein höheres Energieniveau benötigt, und würde eine koordinierte Einstellung 22 der gemeinsam benutzten Ressourcen wählen, welche dieses Erfordernis erfüllt. Die Einstellung 22 der gemeinsam benutzten Ressourcen würde deswegen zu einem Betriebszustand von Einhundert Prozent Energie für beide Kerne 12, 14 führen, und der erste Kern 12 wiese immer noch ein Betriebserfordernis 18 von achtzig Prozent auf. Da der erste Kern 12 das erste Betriebserfordernis 18 noch nicht erfüllt hat, wählt der erste Kern 12 einen korrigierten/angepaßten Wert für die erste Einstellung 24 der unabhängigen Ressourcen aus, welcher ermöglicht, daß das erste Betriebserfordernis 18 erfüllt wird. Zum Beispiel könnte der erste Kern 12 seine unabhängige Taktdrosselungseinstellung erhöhen, um die gewünschte zwanzigprozentige Verringerung der Energie zu erreichen. Somit kann die Koordinationslogik 16 durch Koordinieren der Einstellung 22 der gemeinsam benutzten Ressourcen mit den Einstellungen 24, 26 der unabhängigen Ressourcen in einer Mehrkern-Umgebung effizient die Energie verwalten.
  • Die Koordinationslogik 16 kann die Einstellung 22 der gemeinsam benutzten Ressourcen auswählen, indem sie das erste Betriebserfordernis 18 in einen ersten Zielwert umsetzt und das zweite Betriebserfordernis 20 in einen zweiten Zielwert umsetzt, wobei die Zielwerte mögliche Werte für die Einstellung 22 der gemeinsam benutzten Ressourcen repräsentieren. Die Koordinationslogik 16 kann dann den ersten Zielwert mit dem zweiten Zielwert vergleichen und den höheren der beiden als Einstellung 22 der gemeinsam benutzten Ressourcen auswählen. Es sollte auch angemerkt werden, daß die Koordinationslogik 16 einfach die Betriebserfordernisse 18, 20 vergleichen und das höhere der beiden auswählen könnte. Die Koordinationslogik 16 kann deswegen als „Maximumdetektor” für Betriebserfordernisse und/oder Zielwerte der Einstellung 22 der gemeinsam benutzten Ressourcen fungieren.
  • Alternativ kann die Koordinationslogik 16 den niedrigeren Wert auswählen, wenn eine Koordinationsstrategie „des Minimums beider Anforderungen” angemessen ist. Eine solche Situation könnte im Fall einer gemeinsam benutzten Taktdrosselung auftreten, oder wenn das OS entscheidet, in den Steuerungen ein „Force Min”-Kennzeichen bzw. -Flag zu setzen, wobei das Force_Min-Flag die Koordinationslogik 16 davon in Kenntnis setzen könnte, daß sie eine MINIMUM-Arbeitspunkt-Strategie durchsetzen muß, um sicherzustellen, daß das Minimum der individuellen Drosselungsanforderungen beider Kerne das ausgewählte ist. Zur Vereinfachung beziehen sich einige der hierin beschriebenen Beispiele auf die Koordinationsstrategie als Maximum-Strategie. Es sollte jedoch angemerkt werden, daß die mit den Ausführungsformen der Erfindung verbundenen Vorteile auch auf Minimum-Strategien zutreffen können.
  • Wenn der zweite Kern 14 in der Folge ein modifiziertes Betriebserfordernis ausgibt, welches einem verringerten Zielwert entspricht, kann die Koordinationslogik 16 die Einstellung 22 der gemeinsam benutzten Ressourcen basierend auf dem modifizierten Betriebserfordernis anpassen. In solch einem Fall könnte der erste Kern 12 die Einstellung 24 der unabhängigen Ressourcen basierend auf der angepaßten Einstellung der gemeinsam benutzten Ressourcen anpassen. Im obigen Beispiel nicht erfüllter Betriebserfordernisse könnte der erste Kern 12 seine unabhängige Taktdrosselungseinstellung verringern (weil sie nicht länger benötigt wird). Es sollte angemerkt werden, daß durch die Realisierung der Koordinationslogik in Hardware dem System keine kurzen OS-Reaktionszeiten, um sich schnellen Zustandsveränderungen anzupassen, aufgebürdet werden. Es sollte ebenso angemerkt werden, daß das oben beschriebene Verfahren umgekehrt werden kann, wenn bekannt ist, daß die Einstellungen 24, 26 der unabhängigen Ressourcen effizienter sind als die Einstellung 22 der gemeinsam benutzten Ressourcen, so daß die Einstellungen 24, 26 der unabhängigen Ressourcen zuerst ausgewählt werden, wobei die Einstellung 22 der gemeinsam benutzten Ressourcen die Einstellungen 24, 26 der unabhängigen Ressourcen ausgleicht.
  • In 2 und 3 ist eine Energiemanagementarchitektur 58 dargestellt, welche benutzt werden kann, um eine Hardware-Koordinationslogik zu realisieren, bzw. eine Leistungszustands-Übergangstabelle 34, welche benutzt werden kann, um die oben beschriebene Umsetzung zu erleichtern. Obwohl die Architektur 58 und die Tabelle 34 sehr hilfreich beim Energiemanagement sein können, können auch andere Ansätze verfolgt werden. Im dargestellten Beispiel wird ein Leistungszustands(„L-Zustands”)-Aktivierungsbefehl 60, welcher für jeden Prozessorkern Betriebserfordernis-Merkmale, wie z. B. ein Minimum-Erzwingungs-Merkmal, einen Leistungsindex, ein Leistungsniveau und/oder Energieniveau, definiert, verwendet, um auf die Leistungszustands-Übergangstabelle 34 zuzugreifen. Obwohl nur ein einziger Aktivierungsbefehl 60 dargestellt ist, können auch mehrere Aktivierungsbefehle gleichzeitig auf die Tabelle 34 angewendet werden.
  • Im dargestellten Beispiel können die Betriebserfordernisse als Energiebedingungen definiert sein, z. B. als absolute Energie („Abs-En”) 42 für einen kombinierten Optimalzustand oder als Energieprozentsatz („En%”) 44. Die Betriebserfordernisse könnten auch als Leistungserfordernisse definiert sein, z. B. als Leistungsindex („Lindex”) 50 oder als absolute Leistung („Leist”) 52 für einen kombinierten Optimalzustand. Um die relativ komplexe Hardware-Koordination zu unterstützen, ist zu erkennen, daß Einstellungen der gemeinsam benutzten Ressourcen über verschiedene Merkmale zusammengefaßt sein und die tatsächlichen Betriebserfordernisse auf einem „globalen” Niveau beschrieben sein können. Somit enthalten im dargestellten Beispiel die Aktivierungsbefehle 60 Betriebserfordernisse, welche sich auf den kombinierten Optimalzustand beziehen.
  • Wie bereits angemerkt, können die Zielwerte für die Ressourceneinstellungen nach dem Merkmal bezeichnet sein, wobei das Speedstep®-Merkmal („Gemeinsam benutztes Merkmal”) für die Steuerung der Einstellungen der gemeinsam benutzten Ressourcen sorgen kann, welche als Taktfrequenzeinstellungen („Frequenz”) 36 und Kernspannungseinstellungen („Vcc”) 38 dargestellt sind. Das TM1-Merkmal („Unabhängiges Merkmal”) kann andererseits für die Steuerung der Einstellungen der unabhängigen Ressourcen sorgen, welche als unabhängige Taktdrosselungseinstellungen („Drosselungs%”) 40 dargestellt sind. Wenn die Betriebserfordernisse und Zielwerte von der Koordinationslogik empfangen werden, können sie miteinander zur Auswahl einer geeigneten Gesamteinstellung verglichen werden.
  • In einem anderen speziellen Beispiel kann die Koordinationslogik, wenn der erste Kern ein Leistungsniveau von 88% anfordert, das „Betriebserfordernis” 88% Leistung verwenden, um im Abschnitt des kombinierten Optimalzustands der Tabelle die richtige Zeile zu finden. Der Tabelle kann ein Zielfrequenz-/Spannungswert von 1300 MHz/1,008 V entnommen werden und zur Weiterleitung an einen ersten Steuerblock 64 für gemeinsam benutzte Ressourcen auf einen Steuerbus 62 (62a bis 62e) gegeben werden. Der dargestellte erste Steuerblock 64 für gemeinsam benutzte Ressourcen entspricht deswegen dem in der Tabelle 34 dargestellten gemeinsam benutzten Merkmal. Gleichzeitig mit der Anforderung des ersten Kerns kann der zweite Kern ein Betriebserfordernis, z. B. eine Anforderung, ausgeben, im Leistungsniveau von 100% zu arbeiten. Die Koordinationslogik kann deswegen die Leistung von 100% verwenden, um im Abschnitt des kombinierten Optimalzustands der Tabelle die richtige Zeile zu finden, der Tabelle einen Zielfrequenz-/Spannungswert von 1700 MHz/1,233 V entnehmen und diesen auf den Steuerbus 66 geben.
  • Wenn sich das dargestellte System in der „max detect”-Betriebsart befindet (d. h., Force_Min ist nicht eingestellt), vergleicht der erste Steuerblock 64 für gemeinsam benutzte Ressourcen die beiden Betriebserfordernisse und ermittelt, daß die richtige Gesamteinstellung eine Leistung von 100% ist. Dementsprechend kann der Zielfrequenz-/Spannungswert von 1700 MHz/1,233 V als die Einstellung 68 der gemeinsam benutzten Ressourcen ausgewählt werden. Im dargestellten Beispiel die Einstellung 68 der gemeinsam benutzten Ressourcen auf die Taktquelle und/oder Spannungsquelle angewendet, wobei für die gemeinsam benutzten Ressourcen angeordnet wird, daß sie mit der geeigneten Frequenz und/oder Kernspannung arbeiten, welche durch die Einstellung 68 der gemeinsam benutzten Ressourcen definiert sind. Der erste Steuerblock 64 für gemeinsam benutzte Ressourcen sendet auch ein Betriebszustandssignal 70 an die Zustandsberechnungslogik 84, welche eine Berechnung 72 des tatsächlichen Betriebszustands erzeugt. Das Betriebszustandssignal 70 kennzeichnet den Leistungs- und/oder Energiezustand, welcher sich aus der Einstellung 68 der gemeinsam benutzten Ressourcen ergibt. Somit würde in diesem Beispiel das Betriebszustandssignal 70 das Leistungsniveau von 100% kennzeichnen.
  • Außerdem kann der erste Steuerblock 64 für gemeinsam benutzte Ressourcen basierend auf der Einstellung 68 der gemeinsam benutzten Ressourcen korrigierte Betriebserfordernisse und/oder Zielwerte erzeugen und die korrigierten Zielwerte auf den Steuerbus 62b geben, wo die korrigierten Zielwerte einem zweiten Steuerblock 76 für gemeinsam benutzte Ressourcen ermöglichen, eine Einstellung 80 der gemeinsam benutzten Ressourcen für die nächste gemeinsam benutzte Ressource zu ermitteln. Die korrigierten Werte entsprechen dem ausgewählten Betriebsniveau und können einer Tabelle wie der Tabelle 34 entnommen werden (obwohl in der Tabelle nur ein gemeinsam benutztes Merkmal dargestellt ist). Im dargestellten Beispiel könnte es sich bei der Einstellung 80 der gemeinsam benutzten Ressourcen um eine Busfrequenzeinstellung handeln. Der zweite Steuerblock 76 für gemeinsam benutzte Ressourcen sammelt auch Betriebserfordernisse und/oder Zielwerte von einem oder mehreren Prozessorkernen aus einem Steuerbus 78 und ermittelt das Maximum der Einstellung. Dieses Maximum entspricht der Einstellung 80 der gemeinsam benutzten Ressourcen, welche den Takt anweist, in der geeigneten Einstellung der gemeinsam benutzten Ressourcen zu arbeiten. Ein Betriebszustandssignal 82 wird auch an die Zustandsberechnungslogik 84 gesendet. Wenn weitere Ressourcen-Steuerblöcke benötigt werden, werden korrigierte Betriebserfordernisse und/oder Zielwerte erzeugt und auf den Steuerbus 62c gegeben.
  • Wenn die Einstellungen der gemeinsam benutzten Ressourcen alle beendet sind, sorgt die Energiemanagementarchitektur 58 für die Verwendung eines Steuerblocks 86 für unabhängige Ressourcen, um eine Einstellung 88 der unabhängigen Ressourcen zu erzeugen, wobei die Einstellung 88 der unabhängigen Ressourcen dem betreffenden Prozessorkern ermöglicht, alle zusätzlichen Energieeinsparungen zu erzielen, welche sich in einem korrigierten Betriebserfordernis auf dem Steuerbus 62d widerspiegeln. Das korrigierte Betriebserfordernis kann aus dem letzten der Steuerblöcke für gemeinsam benutzte Ressourcen erhalten werden. Im obigen Beispiel eines ersten Kerns, welcher ein Leistungsniveau von 88% benötigt, könnte der Steuerblock 86 für unabhängige Ressourcen als Einstellung der unabhängigen Ressourcen eine inabhängige Taktdrosselung von 0,125 auswählen, welche für eine Leistung von 88% sorgt. Die dargestellte Gesamteinstellung L12 beinhaltet auch eine Leistungsverringerung auf 67% durch die Einstellung der Spannung/Frequenz für gemeinsam benutzte Ressourcen, welche kombiniert mit der unabhängigen Taktdrosselung von 0,125 eine Gesamtleistung von 57% ergibt. Der hierin beschriebene Ansatz gleicht jedoch den Leistungswert aus, indem die Einstellung der unabhängigen Ressourcen verwendet wird, wenn die gemeinsam benutzte Ressource bereits ausgewählt und festeingestellt worden ist. Der Steuerblock 86 für unabhängige Ressourcen kann auch ein Betriebszustandssignal 92 zur Verwendung bei der Erzeugung der tatsächlichen Betriebszustandsberechnung 72 erzeugen. Wenn die Einstellung der unabhängigen Ressourcen 88 das korrigierte Betriebserfordernis nicht vollständig erfüllen kann, kann ein anderes korrigiertes Betriebserfordernis auf dem Steuerbus 62e an den nächsten Steuerblock für unabhängige Ressourcen (nicht dargestellt) gesendet werden.
  • In 4 ist ein Beispiel für ein System 28 dargestellt, welches eine Taktquelle 30 mit einer gemeinsam benutzten Frequenzeinstellung 22a', einen Bus 11 mit einer gemeinsam benutzten Frequenzeinstellung 22c', eine Spannungsquelle 32 mit einer gemeinsam benutzten Spannungseinstellung 22b' und einen mehrkernigen Prozessor 10' aufweist. Das System 28 könnte ein Teil eines Mobilcomputersystems sein, z. B. eines Notebook-Personalcomputers (PC), eines persönlichen digitalen Assistenten bzw. Minicomputers (PDA), eines drahtlosen „Smartphones” usw., bei welchen der Energieverbrauch und die Überhitzung Probleme von besonderem Interesse sind. Der dargestellte Prozessor 10' weist einen ersten Kern 12', einen zweiten Kern 14' und eine Hardware-Koordinationslogik 16' auf. Der erste Kern 12' gibt ein erstes Betriebserfordernis (nicht dargestellt) aus, und der zweite Kern 14' gibt ein zweites Betriebserfordernis (nicht dargestellt) aus. Die Koordinationslogik 16' koordiniert die gemeinsam benutzten Frequenzeinstellungen 22' (22a' bis 22c') mit den Betriebserfordernissen und mit den Einstellungen 24', 26' der unabhängigen Ressourcen des ersten und zweiten Kerns 12' bzw. 14'.
  • In 5 ist ein Verfahren 96 zum Energiemanagement dargestellt. Das Verfahren 96 kann unter Anwendung irgendeiner verfügbaren Hardware- und/oder Software-Programmiertechnik in einem mehrkernigen Prozessor realisiert werden. Zum Beispiel können ein oder mehrere Teile des Verfahrens 96 in Hardware mit fester Funktionalität, in einer anwendungsspezifischen integrierten Schaltung (ASIC), in einer auf einem maschinenlesbaren Medium zu speichernden Gruppe von Mikrocode-Befehlen oder irgendeiner Kombination davon enthalten sein. Insbesondere sorgt das dargestellte Verfahren 96 für die Ausgabe eines ersten Betriebserfordernis von einem ersten Prozessorkern im Verarbeitungsblock 98. Ein zweites Betriebserfordernis wird von einem zweiten Prozessorkern in Block 100 ausgegeben. Block 102 sorgt für die Koordinierung einer Einstellung der gemeinsam benutzten Ressourcen mit den Betriebserfordernissen. Die Einstellung der gemeinsam benutzten Ressourcen ist basierend auf dem ersten Betriebserfordernis und dem zweiten Betriebserfordernis bereits mit einer Einstellung der unabhängigen Ressourcen koordiniert. Die Einstellung der unabhängigen Ressourcen könnte für den ersten Prozessorkern oder den zweiten Prozessorkern reserviert sein.
  • In 6 ist in Block 102' ein Ansatz zur Koordinierung einer Einstellung der gemeinsam benutzten Ressourcen detaillierter dargestellt. Insbesondere sorgt Block 104 für die Auswahl der Einstellung der gemeinsam benutzten Ressourcen gemäß dem ersten Betriebserfordernis und dem zweiten Betriebserfordernis Block 106 sorgt für die Auswahl angepaßter Werte für die Einstellungen der unabhängigen Ressourcen, welche ermöglichen, daß die Betriebserfordernisse erfüllt werden.
  • 7 zeigt in Block 104' detaillierter einen Ansatz zur Auswahl einer Einstellung der gemeinsam benutzten Ressourcen. In dem dargestellten Beispiel wird das erste Betriebserfordernis in Block 108 in einen ersten Zielwert umgesetzt, und das zweite Betriebserfordernis wird in Block 110 in einen zweiten Zielwert umgesetzt. Wie bereits erörtert, kann die Umsetzung in den Blöcken 108 und 110 durch die Verwendung einer Energiezustands-Übergangstabelle erleichtert werden. Block 112 sorgt für einen Vergleich des ersten Betriebserfordernisses mit dem zweiten Betriebserfordernis. Alternativ können die Zielwerte selbst verglichen werden. Wenn in Block 114 ermittelt wird, daß das zweite Betriebserfordernis größer ist als das erste Betriebserfordernis, sorgt Block 116 für die Auswahl des zweiten Zielwertes als Einstellung der gemeinsam benutzten Ressourcen. Anderenfalls wird in Block 118 der erste Zielwert als Einstellung der gemeinsam benutzten Ressourcen ausgewählt. Block 120 sorgt für die Wiederholung des Auswahlverfahrens der Einstellung der gemeinsam benutzten Ressourcen für die restlichen gemeinsam benutzten Ressourcen, wenn erforderlich. Ein korrigiertes Betriebserfordernis, welches sich aus den Einstellungen der gemeinsam benutzten Ressourcen ergibt, wird den Kernen in Block 122 übermittelt.
  • In 8 ist ein Verfahren 124 zum Aktualisieren der Einstellungen der gemeinsam benutzten Ressourcen und der Einstellungen der unabhängigen Ressourcen dargestellt. Im dargestellten Beispiel hat der zweite Prozessorkern zuvor ein höheres Leistungsniveau benötigt als der erste Prozessorkern. Dementsprechend verwendet der erste Prozessorkern die Einstellungen der unabhängigen Ressourcen, um die Einstellung der gemeinsam benutzten Ressourcen auszugleichen. Block 126 sorgt für die Ausgabe eines modifizierten Betriebserfordernisses aus dem zweiten Prozessorkern. Die Einstellung der gemeinsam benutzten Ressourcen wird in Block 128 basierend auf dem modifizieren Betriebserfordernis angepaßt. Block 130 sorgt für die Anpassung der Einstellungen der unabhängigen Ressourcen des ersten Prozessorkerns basierend auf den angepaßten Einstellungen der gemeinsam benutzten Ressourcen.
  • Somit bieten die hierin beschriebenen Ausführungsformen eine Anzahl einzigartiger Vorteile für das Energiemanagement in einem mehrkernigen Prozessor. Zum Beispiel mildert das Koordinieren des Energiemanagements in einer Hardware-Koordinationslogik den Software-Überhang und die Kalkulationsprobleme. Ferner ist die Hardwarekoordination relativ schnell und verhindert Reaktionszeitprobleme, die mit einem OS-koordinierten Energiemanagement verbunden sind. Außerdem kann der Prozessor durch ein Energiemanagement, welches entweder auf einer Leistungs- oder auf einer Energiestrategie basiert, darauf fokussiert sein, was für die Software aktuell der wichtigste zu steuernde Faktor ist, während der andere Faktor möglicherweise zurückgestellt wird.

Claims (33)

  1. Prozessor, welcher das folgende umfasst: mehrere Kerne, welche mehrere nicht erfüllte Betriebserfordernisse für eine gemeinsam benutzte Ressource, die von den mehreren Kernen gemeinsam benutzt wird, ausgeben; und eine Koordinationslogik, welche mit den mehreren Kernen verbunden ist, wobei die Koordinationslogik eine Einstellung der gemeinsam benutzten Ressourcen für die gemeinsam benutzte Ressource, die von den mehreren Kernen gemeinsam benutzt wird, basierend auf den mehreren nicht erfüllten Betriebserfordernissen und ferner basierend darauf, ob entweder eine Energieeinsparstrategie oder eine Hochleistungsstrategie als wichtigster zu steuernder Faktor festgestellt worden ist, koordiniert.
  2. Prozessor nach Anspruch 1, wobei die Koordinationslogik die Einstellung der gemeinsam benutzten Ressourcen mit einer Einstellung der unabhängigen Ressourcen von mindestens einem der mehreren Kerne koordiniert.
  3. Prozessor nach Anspruch 2, wobei die Koordinationslogik die Einstellung der gemeinsam benutzten Ressourcen basierend ferner auf einem ersten Betriebserfordernis eines ersten Kerns und einem zweiten Betriebserfordernis eines zweiten Kerns auswählt, wobei der erste Kern einen angepassten Wert für die Einstellung der unabhängigen Ressourcen auswählt, welcher ermöglicht, dass das erste Betriebserfordernis erfüllt wird.
  4. Prozessor nach Anspruch 3, wobei die Koordinationslogik das erste Betriebserfordernis in einen ersten Zielwert umsetzt, das zweite Betriebserfordernis in einen zweiten Zielwert umsetzt, das erste Betriebserfordernis mit dem zweiten Betriebserfordernis vergleicht, den zweiten Zielwert als Einstellung der gemeinsam benutzten Ressourcen auswählt, wenn das zweite Betriebserfordernis größer ist als das erste Betriebserfordernis, und dem ersten Kern ein korrigiertes Betriebserfordernis übermittelt, welches sich aus der Einstellung der gemeinsam benutzten Ressourcen ergibt, wobei der erste Kern den angepassten Wert basierend auf dem korrigierten Betriebserfordernis auswählt.
  5. Prozessor nach Anspruch 4, welcher ferner eine Leistungszustands-Übergangstabelle aufweist, wobei die Koordinationslogik die Leistungszustands-Übergangstabelle verwendet, um das erste Betriebserfordernis in den ersten Zielwert umzusetzen und das zweite Betriebserfordernis in den zweiten Zielwert umzusetzen.
  6. Prozessor nach Anspruch 3, wobei der zweite Kern ein modifiziertes Betriebserfordernis ausgibt, welches einem verringerten zweiten Zielwert entspricht, die Koordinationslogik basierend auf dem modifizierten Betriebserfordernis die Einstellung der gemeinsam benutzten Ressourcen anpasst und der erste Kern basierend auf der angepassten Einstellung der gemeinsam benutzten Ressourcen die Einstellung der unabhängigen Ressourcen anpasst.
  7. Prozessor nach Anspruch 2, wobei die Einstellung der unabhängigen Ressourcen eine Einstellung umfasst, ausgewählt aus einer Gruppe, umfassend eine unabhängige Taktdrosselungseinstellung und eine Architekturdrosselungseinstellung.
  8. Prozessor nach Anspruch 2, wobei die Koordinationslogik mehrere Einstellungen der gemeinsam benutzten Ressourcen mit mehreren Einstellungen der unabhängigen Ressourcen koordiniert.
  9. Prozessor nach Anspruch 1, wobei die Einstellung der gemeinsam benutzten Ressourcen eine Einstellung umfasst, ausgewählt aus einer Gruppe, umfassend eine Spannungseinstellung und eine Frequenzeinstellung.
  10. Prozessor nach Anspruch 1, wobei die mehreren Betriebserfordernisse mehrere Energieerfordernisse gemäß der Energieeinsparstrategie umfassen.
  11. Prozessor nach Anspruch 1, wobei die mehreren Betriebserfordernisse mehrere Leistungserfordernisse gemäß der Hochleistungsstrategie umfassen.
  12. Verfahren, welches das folgende umfasst: Ausgeben mehrerer nicht erfüllter Betriebserfordernisse für eine gemeinsam benutzte Ressource, die von den mehreren Prozessorkernen gemeinsam benutzt wird; und Koordinieren einer Einstellung der gemeinsam benutzten Ressourcen für die gemeinsam benutzte Ressource, die von den mehreren Prozessorkernen gemeinsam benutzt wird, basierend auf den mehreren nicht erfüllten Betriebserfordernissen und ferner basierend darauf, ob entweder eine Energieeinsparstrategie oder eine Hochleistungsstrategie als wichtigster zu steuernder Faktor festgestellt worden ist.
  13. Verfahren nach Anspruch 12, welches ferner ein Koordinieren der Einstellung der gemeinsam benutzten Ressourcen mit einer Einstellung der unabhängigen Ressourcen von mindestens einem der mehreren Kerne umfasst.
  14. Verfahren nach Anspruch 13, wobei das Koordinieren der Einstellung der gemeinsam benutzten Ressourcen mit der Einstellung der unabhängigen Ressourcen ferner das folgende umfasst: Auswählen der Einstellung der gemeinsam benutzten Ressourcen gemäß einem ersten Betriebserfordernis eines ersten Prozessorkerns und einem zweiten Betriebserfordernis eines zweiten Prozessorkerns; und Auswählen eines angepassten Wertes für die Einstellung der unabhängigen Ressourcen, welcher ermöglicht, dass das erste Betriebserfordernis erfüllt wird.
  15. Verfahren nach Anspruch 14, wobei das Auswählen der Einstellung der gemeinsam benutzten Ressourcen das folgende umfasst: Umsetzen des ersten Betriebserfordernisses in einen ersten Zielwert; Umsetzen des zweiten Betriebserfordernisses in einen zweiten Zielwert; Vergleichen des ersten Betriebserfordernisses mit dem zweiten Betriebserfordernis; Auswählen des zweiten Zielwertes als Einstellung der gemeinsam benutzten Ressourcen, wenn das zweite Betriebserfordernis größer ist als das erste Betriebserfordernis; Übermitteln eines korrigierten Betriebserfordernisses, welches sich aus der Einstellung der gemeinsam benutzten Ressourcen ergibt, an den ersten Kern; und Auswählen des angepassten Wertes basierend auf dem korrigierten Betriebserfordernis.
  16. Verfahren nach Anspruch 15, wobei das Umsetzen des ersten und zweiten Betriebserfordernisses das Verwenden einer Leistungszustands-Übergangstabelle umfasst.
  17. Verfahren nach Anspruch 14, welches ferner das folgende umfasst: Ausgeben eines modifizierten Betriebserfordernisses aus dem zweiten Prozessorkern; Anpassen der Einstellung der gemeinsam benutzten Ressourcen basierend auf dem modifizierten Betriebserfordernis; und Anpassen der Einstellung der unabhängigen Ressourcen basierend auf der angepassten Einstellung der gemeinsam benutzten Ressourcen.
  18. Verfahren nach Anspruch 13, wobei das Koordinieren der Einstellung der gemeinsam benutzten Ressourcen mit der Einstellung der unabhängigen Ressourcen ein Koordinieren der Einstellung der gemeinsam benutzten Ressourcen mit einer Einstellung, ausgewählt aus einer Gruppe, umfassend eine unabhängige Taktdrosselungseinstellung und eine Architekturdrosselungseinstellung umfasst.
  19. Verfahren nach Anspruch 13, welches ferner ein Koordinieren mehrerer Einstellungen der gemeinsam benutzten Ressourcen mit mehreren Einstellungen der unabhängigen Ressourcen umfasst.
  20. Verfahren nach Anspruch 12, wobei das Koordinieren ein Koordinieren bei einer Einstellung, ausgewählt aus einer Gruppe, umfassend eine Spannungseinstellung und eine Frequenzeinstellung umfasst.
  21. Verfahren nach Anspruch 12, wobei das Koordinieren ein Koordinieren der Einstellung der gemeinsam benutzten Ressourcen mit mehreren Energieerfordernissen umfasst.
  22. Verfahren nach Anspruch 12, wobei das Koordinieren ein Koordinieren der Einstellung der gemeinsam benutzten Ressourcen mit mehreren Leistungserfordernissen umfasst.
  23. System, welches das folgende umfasst: eine Taktquelle, welche eine gemeinsam benutzte Frequenzeinstellung aufweist; und einen Prozessor, welcher mit der Taktquelle verbunden ist, wobei der Prozessor mehrere Kerne aufweist, die mehrere nicht erfüllte Betriebserfordernisse für eine gemeinsam benutzte Ressource, die von den mehreren Kernen gemeinsam benutzt wird, ausgeben, und eine Koordinationslogik, welche mit den mehreren Kernen verbunden ist, wobei die Koordinationslogik eine Einstellung der gemeinsam benutzten Ressourcen für die gemeinsam benutzte Ressource, die von den mehreren Kernen gemeinsam benutzt wird, basierend auf den mehreren nicht erfüllten Betriebserfordernissen und ferner basierend darauf, ob entweder eine Energieeinsparstrategie oder eine Hochleistungsstrategie als wichtigster zu steuernder Faktor festgestellt worden ist, koordiniert.
  24. System nach Anspruch 23, wobei die Koordinationslogik die Einstellung der gemeinsam benutzten Ressourcen mit einer Einstellung der unabhängigen Ressourcen von mindestens einem der mehreren Kerne koordiniert.
  25. System nach Anspruch 24, wobei die Koordinationslogik die Einstellung der gemeinsam benutzten Frequenz gemäß einem ersten Betriebserfordernis eines ersten Kerns und einem zweiten Betriebserfordernis eines zweiten Kerns auswählt, wobei der erste Kern einen angepassten Wert für die Einstellung der unabhängigen Ressourcen auswählt, welcher ermöglicht, dass das erste Betriebserfordernis erfüllt wird.
  26. System nach Anspruch 25, wobei die Koordinationslogik das erste Betriebserfordernis in eine erste Frequenz umsetzt, das zweite Betriebserfordernis in eine zweite Frequenz umsetzt, das erste Betriebserfordernis mit dem zweiten Betriebserfordernis vergleicht, die zweite Frequenz als Einstellung der gemeinsam benutzten Frequenz auswählt, wenn das zweite Betriebserfordernis größer ist als das erste Betriebserfordernis, und dem ersten Kern ein korrigiertes Betriebserfordernis übermittelt, welches sich aus der Einstellung der gemeinsam benutzten Ressourcen ergibt, wobei der erste Kern den angepassten Wert basierend auf dem korrigierten Betriebserfordernis auswählt.
  27. System nach Anspruch 25, wobei der zweite Kern ein modifiziertes Betriebserfordernis ausgibt, welches einer verringerten zweiten Frequenz entspricht, die Koordinationslogik basierend auf dem modifizierten Betriebserfordernis die gemeinsam benutzte Frequenzeinstellung anpasst und der erste Kern basierend auf der angepassten gemeinsam benutzten Frequenzeinstellung die Einstellung der unabhängigen Ressourcen anpasst.
  28. Prozessor nach Anspruch 24, wobei die Einstellung der unabhängigen Ressourcen eine Einstellung, ausgewählt aus einer Gruppe, umfassend eine unabhängige Taktdrosselungseinstellung und eine Architekturdrosselungseinstellung umfasst.
  29. System nach Anspruch 23, wobei die mehreren Betriebserfordernisse mehrere Energieerfordernisse umfassen.
  30. System nach Anspruch 23, wobei die mehreren Betriebserfordernisse mehrere Leistungserfordernisse umfassen.
  31. Verfahren, welches das folgende umfasst: Ausgeben eines ersten nicht erfüllten Betriebserfordernisses aus einem ersten Prozessorkern für eine gemeinsam benutzte Ressource, die von den mehreren Kernen gemeinsam benutzt wird; Ausgeben eines zweiten nicht erfüllten Betriebserfordernisses aus einem zweiten Prozessorkern für die gemeinsam benutzte Ressource, die von den mehreren Kernen gemeinsam benutzt wird; Umsetzen des ersten Betriebserfordernisses in einen ersten Zielwert; Umsetzen des zweiten Betriebserfordernisses in einen zweiten Zielwert; Vergleichen des ersten Betriebserfordernisses mit dem zweiten Betriebserfordernis; Auswählen des zweiten Zielwertes als Einstellung der gemeinsam benutzten Ressourcen, wenn das zweite Betriebserfordernis größer ist als das erste Betriebserfordernis, und ferner basierend darauf, ob entweder eine Energiesparstrategie oder eine Hochleistungsstrategie als wichtigster zu steuernder Faktor festgestellt worden ist; Auswählen eines angepassten Wertes für eine Einstellung der unabhängigen Ressourcen, welcher ermöglicht, dass das erste Betriebserfordernis erfüllt wird; Ausgeben eines modifizierten Betriebserfordernisses aus dem zweiten Prozessorkern; Anpassen der Einstellung der gemeinsam benutzten Ressourcen basierend auf dem modifizierten Betriebserfordernis und basierend darauf, ob entweder die Energieeinsparstrategie oder die Hochleistungsstrategie als wichtigster zu steuernder Faktor festgestellt worden ist; und Anpassen der Einstellung der unabhängigen Ressourcen basierend auf der angepaßten Einstellung der gemeinsam benutzten Ressourcen.
  32. Verfahren nach Anspruch 31, wobei die Einstellung der gemeinsam benutzten Ressourcen eine Einstellung, ausgewählt aus einer Gruppe, umfassend eine Spannungseinstellung und eine Frequenzeinstellung umfasst.
  33. Verfahren nach Anspruch 31, wobei die Einstellung der unabhängigen Ressourcen eine Einstellung, ausgewählt aus einer Gruppe, umfassend eine unabhängige Taktdrosselungseinstellung und eine Architekturdrosselungseinstellung umfasst.
DE112005001779T 2004-07-27 2005-07-15 Energiemanagement-Koordination in mehrkernigen Prozessoren Active DE112005001779B4 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/899,674 2004-07-27
US10/899,674 US7966511B2 (en) 2004-07-27 2004-07-27 Power management coordination in multi-core processors
PCT/US2005/025088 WO2006019973A1 (en) 2004-07-27 2005-07-15 Power management coordination in multi-core processors

Publications (2)

Publication Number Publication Date
DE112005001779T5 DE112005001779T5 (de) 2007-05-24
DE112005001779B4 true DE112005001779B4 (de) 2011-07-28

Family

ID=35733779

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112005001779T Active DE112005001779B4 (de) 2004-07-27 2005-07-15 Energiemanagement-Koordination in mehrkernigen Prozessoren

Country Status (6)

Country Link
US (2) US7966511B2 (de)
JP (2) JP2008507766A (de)
CN (1) CN1993669B (de)
DE (1) DE112005001779B4 (de)
TW (1) TWI349851B (de)
WO (1) WO2006019973A1 (de)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8707062B2 (en) 2005-12-30 2014-04-22 Intel Corporation Method and apparatus for powered off processor core mode
US8726048B2 (en) 2004-07-27 2014-05-13 Intel Corporation Power management coordination in multi-core processors

Families Citing this family (110)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6895520B1 (en) 2001-03-02 2005-05-17 Advanced Micro Devices, Inc. Performance and power optimization via block oriented performance measurement and control
US10331194B2 (en) 2001-03-05 2019-06-25 Pact Xpp Schweiz Ag Methods and devices for treating and processing data
US6892924B2 (en) * 2002-12-18 2005-05-17 General Motors Corporation Precessing rivet and method for friction stir riveting
US8237386B2 (en) 2003-08-15 2012-08-07 Apple Inc. Methods and apparatuses for operating a data processing system
US20070156992A1 (en) * 2005-12-30 2007-07-05 Intel Corporation Method and system for optimizing latency of dynamic memory sizing
US7788670B2 (en) * 2004-10-26 2010-08-31 Intel Corporation Performance-based workload scheduling in multi-core architectures
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
US20070043965A1 (en) * 2005-08-22 2007-02-22 Intel Corporation Dynamic memory sizing for power reduction
US8374730B2 (en) 2005-08-25 2013-02-12 Apple Inc. Methods and apparatuses for dynamic thermal control
US7562234B2 (en) 2005-08-25 2009-07-14 Apple Inc. Methods and apparatuses for dynamic power control
US8401219B2 (en) 2007-01-05 2013-03-19 Apple Inc. Headset connector
US7461275B2 (en) * 2005-09-30 2008-12-02 Intel Corporation Dynamic core swapping
TW200805047A (en) * 2005-12-23 2008-01-16 Koninkl Philips Electronics Nv Performance analysis based system level power management
US7437270B2 (en) * 2006-03-30 2008-10-14 Intel Corporation Performance state management
US7689847B2 (en) * 2006-06-13 2010-03-30 Via Technologies, Inc. Method for increasing the data processing capability of a computer system
US7650518B2 (en) * 2006-06-28 2010-01-19 Intel Corporation Method, apparatus, and system for increasing single core performance in a multi-core microprocessor
US7949887B2 (en) 2006-11-01 2011-05-24 Intel Corporation Independent power control of processing cores
CN104202689B (zh) 2007-01-06 2018-07-20 苹果公司 依照确定的啮合连接器的方向选择性路由信号的耳机连接器
EP2421101B1 (de) * 2007-01-06 2013-09-11 Apple Inc. Headsetanschluss zur selektiven Weiterleitung von Signalen in Abhängigkeit der bestimmten Ausrichtung des angeschlossenen Steckverbinders
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
JP4353990B2 (ja) * 2007-05-18 2009-10-28 株式会社半導体理工学研究センター マルチプロセッサ制御装置
US20080293449A1 (en) * 2007-05-24 2008-11-27 Stephen Barlow Method and system for partitioning a device into domains to optimize power consumption
US7971074B2 (en) * 2007-06-28 2011-06-28 Intel Corporation Method, system, and apparatus for a core activity detector to facilitate dynamic power management in a distributed system
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
US8086885B2 (en) 2007-12-14 2011-12-27 Nokia Corporation Runtime control of system performance
US7949889B2 (en) * 2008-01-07 2011-05-24 Apple Inc. Forced idle of a data processing system
US20090222832A1 (en) * 2008-02-29 2009-09-03 Dell Products, Lp System and method of enabling resources within an information handling system
US7921239B2 (en) 2008-08-08 2011-04-05 Dell Products, Lp Multi-mode processing module and method of use
US8134565B2 (en) 2008-08-08 2012-03-13 Dell Products, Lp System, module and method of enabling a video interface within a limited resource enabled information handling system
US20100033433A1 (en) * 2008-08-08 2010-02-11 Dell Products, Lp Display system and method within a reduced resource information handling system
US8001405B2 (en) * 2008-08-29 2011-08-16 International Business Machines Corporation Self-tuning power management techniques
US20100057404A1 (en) * 2008-08-29 2010-03-04 International Business Machines Corporation Optimal Performance and Power Management With Two Dependent Actuators
US8386807B2 (en) * 2008-09-30 2013-02-26 Intel Corporation Power management for processing unit
US8863268B2 (en) 2008-10-29 2014-10-14 Dell Products, Lp Security module and method within an information handling system
US8370673B2 (en) 2008-10-30 2013-02-05 Dell Products, Lp System and method of utilizing resources within an information handling system
US9407694B2 (en) 2008-10-30 2016-08-02 Dell Products, Lp System and method of polling with an information handling system
US8065540B2 (en) * 2008-10-31 2011-11-22 Dell Products, Lp Power control for information handling system having shared resources
US8037333B2 (en) * 2008-10-31 2011-10-11 Dell Products, Lp Information handling system with processing system, low-power processing system and shared resources
US8402290B2 (en) * 2008-10-31 2013-03-19 Intel Corporation Power management for multiple processor cores
US8103888B2 (en) * 2008-11-26 2012-01-24 Oracle America, Inc. Method and apparatus for power savings in a multi-threaded processor using a symbol gated with a clock signal
US9323306B2 (en) * 2008-12-03 2016-04-26 Telefonaktiebolaget Lm Ericsson (Publ) Energy based time scheduler for parallel computing system
FR2941799B1 (fr) * 2009-01-30 2011-03-04 St Nxp Wireless France Procede et systeme de gestion du fonctionnement d'un dispositif de traitement de donnees multicoeurs
US8064197B2 (en) * 2009-05-22 2011-11-22 Advanced Micro Devices, Inc. Heat management using power management information
JP2010282585A (ja) * 2009-06-08 2010-12-16 Fujitsu Ltd 電力管理回路、電力管理方法及び電力管理プログラム
US8587595B2 (en) 2009-10-01 2013-11-19 Hand Held Products, Inc. Low power multi-core decoder system and method
US8566618B2 (en) * 2009-10-05 2013-10-22 International Business Machines Corporation Reliable setting of voltage and frequency in a microprocessor
US9098274B2 (en) * 2009-12-03 2015-08-04 Intel Corporation Methods and apparatuses to improve turbo performance for events handling
US8751854B2 (en) * 2009-12-21 2014-06-10 Empire Technology Development Llc Processor core clock rate selection
US8990591B2 (en) 2009-12-31 2015-03-24 Intel Corporation Power management system for selectively changing the power state of devices using an OS power management framework and non-OS power management framework
US8677371B2 (en) * 2009-12-31 2014-03-18 International Business Machines Corporation Mixed operating performance modes including a shared cache mode
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
US20110289332A1 (en) * 2010-05-24 2011-11-24 Advanced Micro Devices, Inc. Method and apparatus for power management in a multi-processor system
US8782443B2 (en) * 2010-05-25 2014-07-15 Microsoft Corporation Resource-based adaptive server loading
US8510582B2 (en) * 2010-07-21 2013-08-13 Advanced Micro Devices, Inc. Managing current and power in a computing system
WO2012014014A2 (en) * 2010-07-27 2012-02-02 Freescale Semiconductor, Inc. Multi-Core Processor and Method of Power Management of a Multi-Core Processor
US8943334B2 (en) 2010-09-23 2015-01-27 Intel Corporation Providing per core voltage and frequency control
US8478567B2 (en) * 2010-09-28 2013-07-02 Qualcomm Incorporated Systems and methods for measuring the effectiveness of a workload predictor on a mobile device
US8631256B2 (en) * 2010-12-22 2014-01-14 Via Technologies, Inc. Distributed management of a shared power source to a multi-core microprocessor
US8972707B2 (en) 2010-12-22 2015-03-03 Via Technologies, Inc. Multi-core processor with core selectively disabled by kill instruction of system software and resettable only via external pin
TWI531896B (zh) * 2010-12-22 2016-05-01 威盛電子股份有限公司 多核心處理器的電源狀態同步化
US8799698B2 (en) 2011-05-31 2014-08-05 Ericsson Modems Sa Control of digital voltage and frequency scaling operating points
US9086883B2 (en) * 2011-06-10 2015-07-21 Qualcomm Incorporated System and apparatus for consolidated dynamic frequency/voltage control
KR20130002046A (ko) * 2011-06-28 2013-01-07 삼성전자주식회사 멀티 코어를 포함하는 저장 장치의 전력 관리 방법
US8769316B2 (en) 2011-09-06 2014-07-01 Intel Corporation Dynamically allocating a power budget over multiple domains of a processor
US8862917B2 (en) * 2011-09-19 2014-10-14 Qualcomm Incorporated Dynamic sleep for multicore computing devices
US8799697B2 (en) * 2011-09-26 2014-08-05 Qualcomm Incorporated Operating system synchronization in loosely coupled multiprocessor system and chips
US9074947B2 (en) 2011-09-28 2015-07-07 Intel Corporation Estimating temperature of a processor core in a low power state without thermal sensor information
US8954770B2 (en) 2011-09-28 2015-02-10 Intel Corporation Controlling temperature of multiple domains of a multi-domain processor using a cross domain margin
US9026815B2 (en) 2011-10-27 2015-05-05 Intel Corporation Controlling operating frequency of a core domain via a non-core domain of a multi-domain processor
US8832478B2 (en) 2011-10-27 2014-09-09 Intel Corporation Enabling a non-core domain to control memory bandwidth in a processor
US9158693B2 (en) 2011-10-31 2015-10-13 Intel Corporation Dynamically controlling cache size to maximize energy efficiency
US8943340B2 (en) 2011-10-31 2015-01-27 Intel Corporation Controlling a turbo mode frequency of a processor
US8719607B2 (en) 2011-12-01 2014-05-06 International Business Machines Corporation Advanced Pstate structure with frequency computation
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
CN102622078B (zh) * 2012-01-20 2014-10-15 李涛 基于可再生能源的计算机的性能功耗比优化方法和装置
TWI610240B (zh) * 2012-02-02 2018-01-01 緯創資通股份有限公司 電池放電方法
US8874893B2 (en) 2012-03-26 2014-10-28 International Business Machines Corporation Effect translation and assessment among microarchitecture components
US9396020B2 (en) 2012-03-30 2016-07-19 Intel Corporation Context switching mechanism for a processing core having a general purpose CPU core and a tightly coupled accelerator
US9170627B2 (en) 2012-08-20 2015-10-27 Dell Products L.P. Power management for PCIE switches and devices in a multi-root input-output virtualization blade chassis
US9037889B2 (en) * 2012-09-28 2015-05-19 Intel Corporation Apparatus and method for determining the number of execution cores to keep active in a processor
CN103810141A (zh) * 2012-11-09 2014-05-21 辉达公司 处理器和包括其的电路板
US9235252B2 (en) * 2012-12-21 2016-01-12 Intel Corporation Dynamic balancing of power across a plurality of processor domains according to power policy control bias
JP6128833B2 (ja) * 2012-12-25 2017-05-17 キヤノン株式会社 処理装置
US9766678B2 (en) * 2013-02-04 2017-09-19 Intel Corporation Multiple voltage identification (VID) power architecture, a digital synthesizable low dropout regulator, and apparatus for improving reliability of power gates
US9442559B2 (en) * 2013-03-14 2016-09-13 Intel Corporation Exploiting process variation in a multicore processor
US9027029B2 (en) 2013-03-28 2015-05-05 International Business Machines Corporation Method for activating processor cores within a computer system
US9927866B2 (en) 2013-11-21 2018-03-27 Qualcomm Incorporated Method and system for optimizing a core voltage level and enhancing frequency performance of individual subcomponents for reducing power consumption within a PCD
US9317353B2 (en) * 2013-12-26 2016-04-19 Intel Corporation Method, apparatus and system for performing voltage margining
CN103838353B (zh) * 2014-01-02 2017-09-22 深圳市金立通信设备有限公司 一种控制处理器运行的方法及终端
US9582012B2 (en) * 2014-04-08 2017-02-28 Qualcomm Incorporated Energy efficiency aware thermal management in a multi-processor system on a chip
US10255422B1 (en) 2014-09-15 2019-04-09 Apple Inc. Identity proxy for access control systems
US9696787B2 (en) * 2014-12-10 2017-07-04 Qualcomm Innovation Center, Inc. Dynamic control of processors to reduce thermal and power costs
US10031574B2 (en) * 2015-05-20 2018-07-24 Mediatek Inc. Apparatus and method for controlling multi-core processor of computing system
US10582284B2 (en) 2015-09-30 2020-03-03 Apple Inc. In-ear headphone
US10372587B1 (en) 2015-11-09 2019-08-06 The United States Of America As Represented By Secretary Of The Navy Electronic device monitoring using induced electromagnetic emissions from software stress techniques
US10073718B2 (en) 2016-01-15 2018-09-11 Intel Corporation Systems, methods and devices for determining work placement on processor cores
US9848515B1 (en) 2016-05-27 2017-12-19 Advanced Micro Devices, Inc. Multi-compartment computing device with shared cooling device
US10359833B2 (en) * 2016-06-20 2019-07-23 Qualcomm Incorporated Active-core-based performance boost
US11054884B2 (en) 2016-12-12 2021-07-06 Intel Corporation Using network interface controller (NIC) queue depth for power state management
US10423209B2 (en) 2017-02-13 2019-09-24 Apple Inc. Systems and methods for coherent power management
US10732694B2 (en) * 2017-09-22 2020-08-04 Qualcomm Incorporated Power state control of a mobile device
CN115048214A (zh) * 2018-06-06 2022-09-13 北京嘉楠捷思信息技术有限公司 计算设备的芯片调频方法、装置、算力板、计算设备及存储介质
US10955906B2 (en) 2019-02-07 2021-03-23 International Business Machines Corporation Multi-layered processor throttle controller
KR20210003370A (ko) 2019-07-02 2021-01-12 삼성전자주식회사 하드웨어 로직을 이용하여 통신 오버헤드를 감소시킨 스토리지 장치
KR20210015332A (ko) 2019-08-01 2021-02-10 삼성전자주식회사 시스템 온 칩 및 이를 포함하는 전자 장치
US11132208B2 (en) * 2019-11-20 2021-09-28 Qualcomm Incorporated System state management
US11237610B2 (en) * 2019-11-20 2022-02-01 Intel Corporation Handling loss of power for uninterruptible power supply efficiency
KR20230010106A (ko) * 2021-07-08 2023-01-18 삼성전자주식회사 공유 전압을 공유하는 제1 및 제2 장치들, 및 공유 전압을 생성하도록 구성된 전원 관리 집적 회로를 포함하는 사용자 시스템, 및 그것의 동작 방법

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5862368A (en) * 1996-12-11 1999-01-19 Dell Usa, L.P. Process to allow automatic microprocessor clock frequency detection and selection
US20020095610A1 (en) * 2001-01-18 2002-07-18 Mitsubishi Denki Kabushiki Kaisha Multiprocessor system controlling frequency of clock input to processor according to ratio of processing times of processors, and method thereof

Family Cites Families (60)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AT378369B (de) 1983-08-26 1985-07-25 Krems Chemie Gmbh Verfahren zur herstellung von methylolierten melaminen
US5526487A (en) * 1989-02-09 1996-06-11 Cray Research, Inc. System for multiprocessor communication
US5153535A (en) 1989-06-30 1992-10-06 Poget Computer Corporation Power supply and oscillator for a computer system providing automatic selection of supply voltage and frequency
US5396635A (en) * 1990-06-01 1995-03-07 Vadem Corporation Power conservation apparatus having multiple power reduction levels dependent upon the activity of the computer system
JP2809962B2 (ja) * 1993-03-02 1998-10-15 株式会社東芝 資源管理方式
US5502838A (en) 1994-04-28 1996-03-26 Consilium Overseas Limited Temperature management for integrated circuits
US5918061A (en) 1993-12-29 1999-06-29 Intel Corporation Enhanced power managing unit (PMU) in a multiprocessor chip
US5734585A (en) 1994-11-07 1998-03-31 Norand Corporation Method and apparatus for sequencing power delivery in mixed supply computer systems
US5745375A (en) 1995-09-29 1998-04-28 Intel Corporation Apparatus and method for controlling power usage
US5787294A (en) 1995-10-13 1998-07-28 Vlsi Technology, Inc. System for reducing the power consumption of a computer system and method therefor
US5812860A (en) 1996-02-12 1998-09-22 Intel Corporation Method and apparatus providing multiple voltages and frequencies selectable based on real time criteria to control power consumption
US5940785A (en) 1996-04-29 1999-08-17 International Business Machines Corporation Performance-temperature optimization by cooperatively varying the voltage and frequency of a circuit
JPH1091603A (ja) 1996-09-12 1998-04-10 Fujitsu Ltd デュアルcpuシステムにおける立ち上げ同期確立方法及び異常監視方法
US5870616A (en) 1996-10-04 1999-02-09 International Business Machines Corporation System and method for reducing power consumption in an electronic circuit
US5953685A (en) 1997-11-26 1999-09-14 Intel Corporation Method and apparatus to control core logic temperature
US6115763A (en) 1998-03-05 2000-09-05 International Business Machines Corporation Multi-core chip providing external core access with regular operation function interface and predetermined service operation services interface comprising core interface units and masters interface unit
US6141762A (en) 1998-08-03 2000-10-31 Nicol; Christopher J. Power reduction in a multiprocessor digital signal processor based on processor load
US6415388B1 (en) 1998-10-30 2002-07-02 Intel Corporation Method and apparatus for power throttling in a microprocessor using a closed loop feedback system
US6230274B1 (en) 1998-11-03 2001-05-08 Intel Corporation Method and apparatus for restoring a memory device channel when exiting a low power state
US6363490B1 (en) 1999-03-30 2002-03-26 Intel Corporation Method and apparatus for monitoring the temperature of a processor
US6711691B1 (en) 1999-05-13 2004-03-23 Apple Computer, Inc. Power management for computer systems
AU4290999A (en) 1999-06-29 2001-01-31 Hitachi Limited System lsi
KR20020050270A (ko) 1999-11-09 2002-06-26 토토라노 제이. 빈센트 환경에 따른 프로세서의 작동 파라미터의 동적 조절방법
US6564328B1 (en) * 1999-12-23 2003-05-13 Intel Corporation Microprocessor with digital power throttle
US6550020B1 (en) 2000-01-10 2003-04-15 International Business Machines Corporation Method and system for dynamically configuring a central processing unit with multiple processing cores
US6543698B1 (en) 2000-04-10 2003-04-08 Heat-N-Glo Fireplace Products, Inc. Fireplace make-up air heat exchange system
US6438658B1 (en) 2000-06-30 2002-08-20 Intel Corporation Fast invalidation scheme for caches
US6664775B1 (en) 2000-08-21 2003-12-16 Intel Corporation Apparatus having adjustable operational modes and method therefore
JP2002099433A (ja) * 2000-09-22 2002-04-05 Sony Corp 演算処理システム及び演算処理制御方法、タスク管理システム及びタスク管理方法、並びに記憶媒体
US6941480B1 (en) 2000-09-30 2005-09-06 Intel Corporation Method and apparatus for transitioning a processor state from a first performance mode to a second performance mode
US6678767B1 (en) 2000-10-06 2004-01-13 Broadcom Corp Bus sampling on one edge of a clock signal and driving on another edge
WO2002039242A1 (en) * 2000-10-31 2002-05-16 Millennial Net, Inc. Networked processing system with optimized power efficiency
US6691216B2 (en) 2000-11-08 2004-02-10 Texas Instruments Incorporated Shared program memory for use in multicore DSP devices
US6845432B2 (en) 2000-12-28 2005-01-18 Intel Corporation Low power cache architecture
JP4733877B2 (ja) 2001-08-15 2011-07-27 富士通セミコンダクター株式会社 半導体装置
US6792551B2 (en) 2001-11-26 2004-09-14 Intel Corporation Method and apparatus for enabling a self suspend mode for a processor
US6804632B2 (en) 2001-12-06 2004-10-12 Intel Corporation Distribution of processing activity across processing hardware based on power consumption considerations
US6714891B2 (en) 2001-12-14 2004-03-30 Intel Corporation Method and apparatus for thermal management of a power supply to a high performance processor in a computer system
US6885233B2 (en) 2002-05-02 2005-04-26 Intel Corporation Altering operating frequency and voltage set point of a circuit in response to the operating temperature and instantaneous operating voltage of the circuit
JP2004021574A (ja) * 2002-06-17 2004-01-22 Hitachi Ltd 半導体装置
US6983386B2 (en) * 2002-08-12 2006-01-03 Hewlett-Packard Development Company, L.P. Voltage management of blades in a bladed architecture system based on thermal and power budget allocation
US7100056B2 (en) * 2002-08-12 2006-08-29 Hewlett-Packard Development Company, L.P. System and method for managing processor voltage in a multi-processor computer system for optimized performance
US7076672B2 (en) 2002-10-14 2006-07-11 Intel Corporation Method and apparatus for performance effective power throttling
US7043649B2 (en) 2002-11-20 2006-05-09 Portalplayer, Inc. System clock power management for chips with multiple processing modules
US7028196B2 (en) 2002-12-13 2006-04-11 Hewlett-Packard Development Company, L.P. System, method and apparatus for conserving power consumed by a system having a processor integrated circuit
US6711447B1 (en) 2003-01-22 2004-03-23 Intel Corporation Modulating CPU frequency and voltage in a multi-core CPU architecture
US7134031B2 (en) * 2003-08-04 2006-11-07 Arm Limited Performance control within a multi-processor system
US7546418B2 (en) 2003-08-20 2009-06-09 Dell Products L.P. System and method for managing power consumption and data integrity in a computer system
US7127560B2 (en) 2003-10-14 2006-10-24 International Business Machines Corporation Method of dynamically controlling cache size
KR100813370B1 (ko) 2003-11-12 2008-03-12 마쯔시다덴기산교 가부시키가이샤 캐시 메모리 및 그 제어방법
JP3834323B2 (ja) 2004-04-30 2006-10-18 日本電気株式会社 キャッシュメモリおよびキャッシュ制御方法
US7360103B2 (en) * 2004-05-21 2008-04-15 Intel Corporation P-state feedback to operating system with hardware coordination
US7451333B2 (en) 2004-09-03 2008-11-11 Intel Corporation Coordinating idle state transitions in multi-core processors
US7966511B2 (en) 2004-07-27 2011-06-21 Intel Corporation Power management coordination in multi-core processors
US7664970B2 (en) 2005-12-30 2010-02-16 Intel Corporation Method and apparatus for a zero voltage processor sleep state
US20060143485A1 (en) 2004-12-28 2006-06-29 Alon Naveh Techniques to manage power for a mobile device
US7363523B2 (en) 2004-08-31 2008-04-22 Intel Corporation Method and apparatus for controlling power management state transitions
US20070156992A1 (en) 2005-12-30 2007-07-05 Intel Corporation Method and system for optimizing latency of dynamic memory sizing
US20070043965A1 (en) 2005-08-22 2007-02-22 Intel Corporation Dynamic memory sizing for power reduction
KR100680793B1 (ko) 2005-11-21 2007-02-08 기아자동차주식회사 자동차의 휠 조립 장치 및 조립 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5862368A (en) * 1996-12-11 1999-01-19 Dell Usa, L.P. Process to allow automatic microprocessor clock frequency detection and selection
US20020095610A1 (en) * 2001-01-18 2002-07-18 Mitsubishi Denki Kabushiki Kaisha Multiprocessor system controlling frequency of clock input to processor according to ratio of processing times of processors, and method thereof

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8726048B2 (en) 2004-07-27 2014-05-13 Intel Corporation Power management coordination in multi-core processors
US8707062B2 (en) 2005-12-30 2014-04-22 Intel Corporation Method and apparatus for powered off processor core mode

Also Published As

Publication number Publication date
DE112005001779T5 (de) 2007-05-24
WO2006019973A1 (en) 2006-02-23
US20060026447A1 (en) 2006-02-02
JP5154682B2 (ja) 2013-02-27
JP2008507766A (ja) 2008-03-13
TW200625069A (en) 2006-07-16
JP2012069115A (ja) 2012-04-05
US7966511B2 (en) 2011-06-21
US20110252267A1 (en) 2011-10-13
TWI349851B (en) 2011-10-01
CN1993669B (zh) 2011-08-03
CN1993669A (zh) 2007-07-04
US8726048B2 (en) 2014-05-13

Similar Documents

Publication Publication Date Title
DE112005001779B4 (de) Energiemanagement-Koordination in mehrkernigen Prozessoren
DE112011103193B4 (de) Bereitstellung einer Pro-Kern-Spannungs-und Frequenzsteuerung
DE112012002664B4 (de) Erhöhen der Energieeffizienz des Turbo-Modus-Betriebs in einem Prozessor
DE19855645C2 (de) Verfahren und Anordnung zum Betreiben eines Direktzugriffsspeichers mit verringertem Energieverbrauch
DE102009015495B4 (de) Energieverwaltung bei einer Plattform basierend auf der Lenkung über die Wartezeit
DE19681716B4 (de) Computersystem und Verfahren für ein Stromversorgungsmanagement
DE102014219905B4 (de) Konfiguration von Leistungsdomänen eines Mikrocontroller-Systems
DE102020120019A1 (de) Proaktive di/dt-spannungs-dachabfall-abschwächung
DE102010045743B4 (de) Verfahren und Vorrichtung, um Turboleistung für das Event-Handling zu verbessern
DE102009058426B4 (de) Verfahren und Vorrichtung zum Power-Management eines Prozessors
DE112012000749B4 (de) Techniken zum Verwalten des Stromverbrauchszustands eines Prozessors
DE60129373T2 (de) Hochleistung-DMAsteuerung
DE112008001655B4 (de) Verfahren, System und Vorrichtung für einen Kernaktivitätsdetektor zum Erleichtern von Dynamischer Stromverwaltung in einem verteilten System
DE60132817T2 (de) Datenverarbeitungssystem und datenprozessor
DE69907512T2 (de) Gerät und verfahren zur automatischen frequenzregelung einer zentralen verarbeitungseinheit
DE102008064866B3 (de) Elektronische Steuerungsvorrichtung und Verfahren zur elektronischen Steuerung und zur Betätigung einer elektronischen Steuerungsvorrichtung
DE102010054337A1 (de) Mechanismen, um ineffizientes Core-Hopping zu vermeiden und Hardware-unterstützte Auswahl eines Niedrigleitungszustands bereitzustellen
DE102014003704B4 (de) Plattform-agnostisches Powermanagement
DE112008001223B4 (de) Datenverarbeitung mit einem Cache-Zugriffsmodus mit geringer Leistung
DE102009041723A1 (de) Prozessor-Leistungsverbrauchsteuerung und Spannungsabsenkung über eine Mikroarchitektur-Bandbreitenbegrenzung
DE10393969T5 (de) Mechanismus zur Verteilung von Unterbrechungen niedrigster Priorität unter Berücksichtigung des Prozessorleistungszustands
DE202008018394U1 (de) Wenigstens teilweise auf einem Leistungszustand eines integrierten Schaltkreises basierende Versorgungsspannungssteuerung
DE112007000632T5 (de) Energieoptimierte Frame-Synchronisation für mehrere USB-Controller mit nicht gleichförmigen Frame-Raten
DE112013005287T5 (de) Heterogene Prozessorvorrichtung und Verfahren
DE102005037635A1 (de) Hardwaresteuerung für den Wechsel des Betriebsmodus eines Speichers

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
R018 Grant decision by examination section/examining division
R020 Patent grant now final

Effective date: 20111029

R081 Change of applicant/patentee

Owner name: TAHOE RESEARCH, LTD., IE

Free format text: FORMER OWNER: INTEL CORPORATION, SANTA CLARA, CALIF., US

R082 Change of representative

Representative=s name: DENNEMEYER & ASSOCIATES S.A., DE