DE112005001779B4 - Energiemanagement-Koordination in mehrkernigen Prozessoren - Google Patents
Energiemanagement-Koordination in mehrkernigen Prozessoren Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/324—Power saving characterised by the action undertaken by lowering clock frequency
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3296—Power saving characterised by the action undertaken by lowering the supply or operating voltage
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy 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 - 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 Prozessor10 mit einem ersten Kern12 , einem zweiten Kern14 und einer Hardware-Koordinationslogik16 , welche operativ an den ersten Kern12 und den zweiten Kern14 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 Prozessor10 leicht erhöht werden, ohne die Idee und den Umfang der Ausführungsformen der Erfindung zu verlassen. Jeder der dargestellten Kerne12 ,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 Prozessor10 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 Prozessors10 durchgeführt werden. Noch ein anderes energiesparendes Merkmal könnte die Drosselung von Architekturkomponenten der Kerne12 ,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 Kernen12 ,14 gesteuert werden. Der dargestellte Prozessor10 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 Kernen12 ,14 gemeinsam benutzt wird, während eine unabhängige Taktdrosselungseinstellung steuern kann, wie oft der Takt nur an den ersten Kern12 angelegt wird. Somit könnten die Einstellungen der Taktfrequenz und der Versorgungsspannung als Einstellung22 einer gemeinsam benutzten Ressource angesehen werden, und die unabhängige Taktdrosselungseinstellung könnte als Einstellung24 der unabhängigen Ressourcen angesehen werden. In ähnlicher Weise kann der zweite Kern ebenso eine unabhängige Taktdrosselungseinstellung aufweisen, welche von einer Einstellung26 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 Einstellungen24 ,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 Betriebserfordernis18 aus, und der zweite Kern14 gibt ein zweites Betriebserfordernis20 aus. Die Koordinationslogik16 kann die Einstellung22 der gemeinsam benutzten Ressourcen mit den Betriebserfordernissen18 ,20 koordinieren. Wie unten noch detaillierter beschrieben wird, könnten die Betriebserfordernisse18 ,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 Kerne12 ,14 abläuft. Zum Beispiel könnte der erste Kern12 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 Betriebserfordernis18 ein Energieerfordernis sein, welches ein achtzigprozentiges Energieniveau anzeigt. Alternativ könnte sich der zweite Kern14 in einem Betriebsmodus befinden, welcher volle Energie benötigt, so daß das zweite Betriebserfordernis20 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-Koordinationslogik16 ermöglicht wird, entweder auf Basis einer Leistungs- oder auf Basis einer Energiestrategie zu arbeiten, kann der Prozessor10 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 Einstellung22 der gemeinsam benutzten Ressourcen gemäß dem ersten Betriebserfordernis18 und dem zweiten Betriebserfordernis20 auswählen. Das Ergebnis ist ein Betriebszustand, welcher die Betriebserfordernisse18 ,20 erfüllen kann oder nicht. Wenn zum Beispiel die Einstellung22 der gemeinsam benutzten Ressourcen das erste Betriebserfordernis18 nicht erfüllt, wählt der erste Kern12 für die erste Einstellung24 der unabhängigen Ressourcen einen modifizierten/angepaßten Wert aus, welcher ermöglicht, daß das erste Betriebserfordernis18 erfüllt wird. Alternativ wählt, wenn die Einstellung22 der gemeinsam benutzten Ressourcen das zweite Betriebserfordernis20 nicht erfüllt, der zweite Kern14 für die zweite unabhängige Ressource einen modifizierten/angepaßten Wert aus, welcher ermöglicht, daß das zweite Betriebserfordernis20 erfüllt wird. Die Koordinationslogik16 kann deswegen die resultierenden Einstellungen24 ,26 der unabhängigen Ressourcen basierend auf dem Unterschied zwischen den einzelnen Betriebserfordernissen18 ,20 und der Einstellung22 der gemeinsam benutzten Ressourcen ermitteln, welcher den tatsächlichen erreichten Koordinationszustand reflektiert. Einfach ausgedrückt können die Einstellungen24 ,26 der unabhängigen Ressourcen alle Leistungs-/Energiemängel ausgleichen, welche mit der Einstellung22 der gemeinsam benutzten Ressource in Verbindung stehen, was durch einen oder mehrere der Kerne12 ,14 erzwungen werden kann. - Somit würde im obigen Beispiel nicht erfüllter Betriebserfordernisse die Koordinationslogik
16 die Tatsache berücksichtigen, daß der zweite Kern14 ein höheres Energieniveau benötigt, und würde eine koordinierte Einstellung22 der gemeinsam benutzten Ressourcen wählen, welche dieses Erfordernis erfüllt. Die Einstellung22 der gemeinsam benutzten Ressourcen würde deswegen zu einem Betriebszustand von Einhundert Prozent Energie für beide Kerne12 ,14 führen, und der erste Kern12 wiese immer noch ein Betriebserfordernis18 von achtzig Prozent auf. Da der erste Kern12 das erste Betriebserfordernis18 noch nicht erfüllt hat, wählt der erste Kern12 einen korrigierten/angepaßten Wert für die erste Einstellung24 der unabhängigen Ressourcen aus, welcher ermöglicht, daß das erste Betriebserfordernis18 erfüllt wird. Zum Beispiel könnte der erste Kern12 seine unabhängige Taktdrosselungseinstellung erhöhen, um die gewünschte zwanzigprozentige Verringerung der Energie zu erreichen. Somit kann die Koordinationslogik16 durch Koordinieren der Einstellung22 der gemeinsam benutzten Ressourcen mit den Einstellungen24 ,26 der unabhängigen Ressourcen in einer Mehrkern-Umgebung effizient die Energie verwalten. - Die Koordinationslogik
16 kann die Einstellung22 der gemeinsam benutzten Ressourcen auswählen, indem sie das erste Betriebserfordernis18 in einen ersten Zielwert umsetzt und das zweite Betriebserfordernis20 in einen zweiten Zielwert umsetzt, wobei die Zielwerte mögliche Werte für die Einstellung22 der gemeinsam benutzten Ressourcen repräsentieren. Die Koordinationslogik16 kann dann den ersten Zielwert mit dem zweiten Zielwert vergleichen und den höheren der beiden als Einstellung22 der gemeinsam benutzten Ressourcen auswählen. Es sollte auch angemerkt werden, daß die Koordinationslogik16 einfach die Betriebserfordernisse18 ,20 vergleichen und das höhere der beiden auswählen könnte. Die Koordinationslogik16 kann deswegen als „Maximumdetektor” für Betriebserfordernisse und/oder Zielwerte der Einstellung22 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 Koordinationslogik16 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 Koordinationslogik16 die Einstellung22 der gemeinsam benutzten Ressourcen basierend auf dem modifizierten Betriebserfordernis anpassen. In solch einem Fall könnte der erste Kern12 die Einstellung24 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 Kern12 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 Einstellungen24 ,26 der unabhängigen Ressourcen effizienter sind als die Einstellung22 der gemeinsam benutzten Ressourcen, so daß die Einstellungen24 ,26 der unabhängigen Ressourcen zuerst ausgewählt werden, wobei die Einstellung22 der gemeinsam benutzten Ressourcen die Einstellungen24 ,26 der unabhängigen Ressourcen ausgleicht. - In
2 und3 ist eine Energiemanagementarchitektur58 dargestellt, welche benutzt werden kann, um eine Hardware-Koordinationslogik zu realisieren, bzw. eine Leistungszustands-Übergangstabelle34 , welche benutzt werden kann, um die oben beschriebene Umsetzung zu erleichtern. Obwohl die Architektur58 und die Tabelle34 sehr hilfreich beim Energiemanagement sein können, können auch andere Ansätze verfolgt werden. Im dargestellten Beispiel wird ein Leistungszustands(„L-Zustands”)-Aktivierungsbefehl60 , 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-Übergangstabelle34 zuzugreifen. Obwohl nur ein einziger Aktivierungsbefehl60 dargestellt ist, können auch mehrere Aktivierungsbefehle gleichzeitig auf die Tabelle34 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 Aktivierungsbefehle60 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 Steuerbus62 (62a bis62e ) gegeben werden. Der dargestellte erste Steuerblock64 für gemeinsam benutzte Ressourcen entspricht deswegen dem in der Tabelle34 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 Steuerbus66 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 Einstellung68 der gemeinsam benutzten Ressourcen ausgewählt werden. Im dargestellten Beispiel die Einstellung68 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 Einstellung68 der gemeinsam benutzten Ressourcen definiert sind. Der erste Steuerblock64 für gemeinsam benutzte Ressourcen sendet auch ein Betriebszustandssignal70 an die Zustandsberechnungslogik84 , welche eine Berechnung72 des tatsächlichen Betriebszustands erzeugt. Das Betriebszustandssignal70 kennzeichnet den Leistungs- und/oder Energiezustand, welcher sich aus der Einstellung68 der gemeinsam benutzten Ressourcen ergibt. Somit würde in diesem Beispiel das Betriebszustandssignal70 das Leistungsniveau von 100% kennzeichnen. - Außerdem kann der erste Steuerblock
64 für gemeinsam benutzte Ressourcen basierend auf der Einstellung68 der gemeinsam benutzten Ressourcen korrigierte Betriebserfordernisse und/oder Zielwerte erzeugen und die korrigierten Zielwerte auf den Steuerbus62b geben, wo die korrigierten Zielwerte einem zweiten Steuerblock76 für gemeinsam benutzte Ressourcen ermöglichen, eine Einstellung80 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 Tabelle34 entnommen werden (obwohl in der Tabelle nur ein gemeinsam benutztes Merkmal dargestellt ist). Im dargestellten Beispiel könnte es sich bei der Einstellung80 der gemeinsam benutzten Ressourcen um eine Busfrequenzeinstellung handeln. Der zweite Steuerblock76 für gemeinsam benutzte Ressourcen sammelt auch Betriebserfordernisse und/oder Zielwerte von einem oder mehreren Prozessorkernen aus einem Steuerbus78 und ermittelt das Maximum der Einstellung. Dieses Maximum entspricht der Einstellung80 der gemeinsam benutzten Ressourcen, welche den Takt anweist, in der geeigneten Einstellung der gemeinsam benutzten Ressourcen zu arbeiten. Ein Betriebszustandssignal82 wird auch an die Zustandsberechnungslogik84 gesendet. Wenn weitere Ressourcen-Steuerblöcke benötigt werden, werden korrigierte Betriebserfordernisse und/oder Zielwerte erzeugt und auf den Steuerbus62c gegeben. - Wenn die Einstellungen der gemeinsam benutzten Ressourcen alle beendet sind, sorgt die Energiemanagementarchitektur
58 für die Verwendung eines Steuerblocks86 für unabhängige Ressourcen, um eine Einstellung88 der unabhängigen Ressourcen zu erzeugen, wobei die Einstellung88 der unabhängigen Ressourcen dem betreffenden Prozessorkern ermöglicht, alle zusätzlichen Energieeinsparungen zu erzielen, welche sich in einem korrigierten Betriebserfordernis auf dem Steuerbus62d 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 Steuerblock86 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 Steuerblock86 für unabhängige Ressourcen kann auch ein Betriebszustandssignal92 zur Verwendung bei der Erzeugung der tatsächlichen Betriebszustandsberechnung72 erzeugen. Wenn die Einstellung der unabhängigen Ressourcen88 das korrigierte Betriebserfordernis nicht vollständig erfüllen kann, kann ein anderes korrigiertes Betriebserfordernis auf dem Steuerbus62e an den nächsten Steuerblock für unabhängige Ressourcen (nicht dargestellt) gesendet werden. - In
4 ist ein Beispiel für ein System28 dargestellt, welches eine Taktquelle30 mit einer gemeinsam benutzten Frequenzeinstellung22a' , einen Bus11 mit einer gemeinsam benutzten Frequenzeinstellung22c' , eine Spannungsquelle32 mit einer gemeinsam benutzten Spannungseinstellung22b' und einen mehrkernigen Prozessor10' aufweist. Das System28 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 Prozessor10' weist einen ersten Kern12' , einen zweiten Kern14' und eine Hardware-Koordinationslogik16' auf. Der erste Kern12' gibt ein erstes Betriebserfordernis (nicht dargestellt) aus, und der zweite Kern14' gibt ein zweites Betriebserfordernis (nicht dargestellt) aus. Die Koordinationslogik16' koordiniert die gemeinsam benutzten Frequenzeinstellungen22' (22a' bis22c' ) mit den Betriebserfordernissen und mit den Einstellungen24' ,26' der unabhängigen Ressourcen des ersten und zweiten Kerns12' bzw.14' . - In
5 ist ein Verfahren96 zum Energiemanagement dargestellt. Das Verfahren96 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 Verfahrens96 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 Verfahren96 für die Ausgabe eines ersten Betriebserfordernis von einem ersten Prozessorkern im Verarbeitungsblock98 . Ein zweites Betriebserfordernis wird von einem zweiten Prozessorkern in Block100 ausgegeben. Block102 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 Block102' ein Ansatz zur Koordinierung einer Einstellung der gemeinsam benutzten Ressourcen detaillierter dargestellt. Insbesondere sorgt Block104 für die Auswahl der Einstellung der gemeinsam benutzten Ressourcen gemäß dem ersten Betriebserfordernis und dem zweiten Betriebserfordernis Block106 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 Block104' detaillierter einen Ansatz zur Auswahl einer Einstellung der gemeinsam benutzten Ressourcen. In dem dargestellten Beispiel wird das erste Betriebserfordernis in Block108 in einen ersten Zielwert umgesetzt, und das zweite Betriebserfordernis wird in Block110 in einen zweiten Zielwert umgesetzt. Wie bereits erörtert, kann die Umsetzung in den Blöcken108 und110 durch die Verwendung einer Energiezustands-Übergangstabelle erleichtert werden. Block112 sorgt für einen Vergleich des ersten Betriebserfordernisses mit dem zweiten Betriebserfordernis. Alternativ können die Zielwerte selbst verglichen werden. Wenn in Block114 ermittelt wird, daß das zweite Betriebserfordernis größer ist als das erste Betriebserfordernis, sorgt Block116 für die Auswahl des zweiten Zielwertes als Einstellung der gemeinsam benutzten Ressourcen. Anderenfalls wird in Block118 der erste Zielwert als Einstellung der gemeinsam benutzten Ressourcen ausgewählt. Block120 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 Block122 übermittelt. - In
8 ist ein Verfahren124 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. Block126 sorgt für die Ausgabe eines modifizierten Betriebserfordernisses aus dem zweiten Prozessorkern. Die Einstellung der gemeinsam benutzten Ressourcen wird in Block128 basierend auf dem modifizieren Betriebserfordernis angepaßt. Block130 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)
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- Prozessor nach Anspruch 2, wobei die Koordinationslogik mehrere Einstellungen der gemeinsam benutzten Ressourcen mit mehreren Einstellungen der unabhängigen Ressourcen koordiniert.
- 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.
- Prozessor nach Anspruch 1, wobei die mehreren Betriebserfordernisse mehrere Energieerfordernisse gemäß der Energieeinsparstrategie umfassen.
- Prozessor nach Anspruch 1, wobei die mehreren Betriebserfordernisse mehrere Leistungserfordernisse gemäß der Hochleistungsstrategie umfassen.
- 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.
- 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.
- 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.
- 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.
- Verfahren nach Anspruch 15, wobei das Umsetzen des ersten und zweiten Betriebserfordernisses das Verwenden einer Leistungszustands-Übergangstabelle umfasst.
- 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.
- 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.
- Verfahren nach Anspruch 13, welches ferner ein Koordinieren mehrerer Einstellungen der gemeinsam benutzten Ressourcen mit mehreren Einstellungen der unabhängigen Ressourcen umfasst.
- Verfahren nach Anspruch 12, wobei das Koordinieren ein Koordinieren bei einer Einstellung, ausgewählt aus einer Gruppe, umfassend eine Spannungseinstellung und eine Frequenzeinstellung umfasst.
- Verfahren nach Anspruch 12, wobei das Koordinieren ein Koordinieren der Einstellung der gemeinsam benutzten Ressourcen mit mehreren Energieerfordernissen umfasst.
- Verfahren nach Anspruch 12, wobei das Koordinieren ein Koordinieren der Einstellung der gemeinsam benutzten Ressourcen mit mehreren Leistungserfordernissen umfasst.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- System nach Anspruch 23, wobei die mehreren Betriebserfordernisse mehrere Energieerfordernisse umfassen.
- System nach Anspruch 23, wobei die mehreren Betriebserfordernisse mehrere Leistungserfordernisse umfassen.
- 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.
- 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.
- 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.
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)
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)
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)
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)
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 | 기아자동차주식회사 | 자동차의 휠 조립 장치 및 조립 방법 |
-
2004
- 2004-07-27 US US10/899,674 patent/US7966511B2/en active Active
-
2005
- 2005-07-15 CN CN2005800257043A patent/CN1993669B/zh active Active
- 2005-07-15 TW TW094124132A patent/TWI349851B/zh active
- 2005-07-15 JP JP2007522581A patent/JP2008507766A/ja active Pending
- 2005-07-15 DE DE112005001779T patent/DE112005001779B4/de active Active
- 2005-07-15 WO PCT/US2005/025088 patent/WO2006019973A1/en active Application Filing
-
2011
- 2011-06-21 US US13/165,415 patent/US8726048B2/en active Active
- 2011-09-16 JP JP2011202792A patent/JP5154682B2/ja active Active
Patent Citations (2)
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)
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 |