DE112005003136B4 - Verfahren, Vorrichtung und System zum dynamischen Einstellen von Arbeitsparametern von mehreren Porzessorkernen - Google Patents
Verfahren, Vorrichtung und System zum dynamischen Einstellen von Arbeitsparametern von mehreren Porzessorkernen Download PDFInfo
- Publication number
- DE112005003136B4 DE112005003136B4 DE112005003136T DE112005003136T DE112005003136B4 DE 112005003136 B4 DE112005003136 B4 DE 112005003136B4 DE 112005003136 T DE112005003136 T DE 112005003136T DE 112005003136 T DE112005003136 T DE 112005003136T DE 112005003136 B4 DE112005003136 B4 DE 112005003136B4
- Authority
- DE
- Germany
- Prior art keywords
- cores
- active
- maximum operating
- activity module
- 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
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
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3287—Power saving characterised by the action undertaken by switching off individual functional units in the computer system
-
- 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/16—Constructional details or arrangements
- G06F1/20—Cooling means
- G06F1/206—Cooling means comprising thermal management
-
- 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/3206—Monitoring of events, devices or parameters that trigger a change in power modality
-
- 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/325—Power saving in peripheral device
- G06F1/3275—Power saving in memory, e.g. RAM, cache
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0862—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0875—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with dedicated cache, e.g. instruction or stack
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline, look ahead
- G06F9/3802—Instruction prefetching
- G06F9/3814—Implementation provisions of instruction buffers, e.g. prefetch buffer; banks
-
- 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
-
- 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/3243—Power saving in microcontroller unit
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/45—Caching of specific data in cache memory
- G06F2212/452—Instruction code
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/60—Details of cache memory
- G06F2212/602—Details relating to cache prefetching
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30076—Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
- G06F9/30083—Power or thermal control instructions
-
- 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
-
- 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
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Abstract
Verfahren zum dynamischen Einstellen von Arbeitsparametern von mehreren Prozessorkernen, umfassend die Schritte:
Ermitteln einer Anzahl von aktiven Kernen in einer Mehrzahl von Prozessorkernen mittels eines Aktivitätsmoduls (14; 14');
Auswählen eines maximalen Arbeitspunkts, der eine maximale Arbeitsfrequenz und/oder eine maximale Kernspannung aufweist, für wenigstens einen der aktiven Kerne basierend auf der Anzahl von aktiven Kernen mittels des Aktivitätsmoduls (14; 14');
Erzeugen einer Begrenzungsanfrage basierend auf dem maximalen Arbeitspunkt, die die maximale Arbeitsfrequenz und/oder die maximale Kernspannung angibt, mittels des Aktivitätsmoduls (14; 14'), und
Begrenzen der Arbeitsfrequenz und/oder der Kernspannung der aktiven Kerne basierend auf der Begrenzungsanfrage mittels einer Steuerung (24).
Ermitteln einer Anzahl von aktiven Kernen in einer Mehrzahl von Prozessorkernen mittels eines Aktivitätsmoduls (14; 14');
Auswählen eines maximalen Arbeitspunkts, der eine maximale Arbeitsfrequenz und/oder eine maximale Kernspannung aufweist, für wenigstens einen der aktiven Kerne basierend auf der Anzahl von aktiven Kernen mittels des Aktivitätsmoduls (14; 14');
Erzeugen einer Begrenzungsanfrage basierend auf dem maximalen Arbeitspunkt, die die maximale Arbeitsfrequenz und/oder die maximale Kernspannung angibt, mittels des Aktivitätsmoduls (14; 14'), und
Begrenzen der Arbeitsfrequenz und/oder der Kernspannung der aktiven Kerne basierend auf der Begrenzungsanfrage mittels einer Steuerung (24).
Description
- HINTERGRUND
- Technisches Gebiet
- Die vorliegende Erfindung betrifft ein Verfahren, eine Vorrichtung und ein System zum dynamischen Einstellen von Arbeitsparametern von mehreren Prozessorkernen. Insbesondere betreffen bestimmte Ausführungsbeispiele das Verwalten von Arbeitspunkten in Multi-Kern-Verarbeitungsarchitekturen.
- Diskussion
- Die Popularität von Computersystemen wächst weiterhin und die Nachfrage nach komplexeren Verarbeitungsarchitekturen hat historische Ausmaße erreicht. Beispielsweise finden Multi-Kernprozessoren zunehmend Verbreitung in der Computerindustrie und werden wahrscheinlich in Server, Desktop Personal Computern (PCs), Notebook PCs, Personal Digital Assistants (PDAs), drahtlosen „Smart”-Telefonen usw. verwendet. Mit der Anzahl von Prozessorkernen in einem System steigt auch die potentielle maximale Energie. Der erhöhte Stromverbrauch wird in mehr Wärme umgesetzt, wodurch den Computerdesignern und Herstellern eine Anzahl von Problemen gestellt wird. Beispielsweise kann sich die Vorrichtungsgeschwindigkeit und Langzeitzuverlässigkeit mit zunehmender Temperatur verschlechtern. Erreichen die Temperaturen kritisch hohe Werte, kann die Hitze Fehlfunktionen, Erniedrigung der Lebenszeit oder sogar permanente Schädigungen an Bestandteilen verursachen.
- Während eine Anzahl von Lösungen zur Kühlung entwickelt wurde, wächst beständig eine Kluft zwischen der potentiellen Hitze und dem Kühlvermögen von modernen Rechnersystemen. In dem Bemühen diese Kluft zu verengen, beziehen einige Versuche bei der Spannungsverwaltung in Computerprozessoren die Verwendung von einem oder mehreren „on-die”-Temperatursensoren in Verbindung mit einem Spannungsreduktionsmechanismus ein. Der Spannungsreduktionsmechanismus wird üblicherweise gemäß dem entsprechenden Temperatursensorzustand an- und abgeschaltet (z. B. „gedrosselt”), um den Stromverbrauch zu verringern. Andere Herangehensweisen ziehen alternativ das Umschalten zwischen geringen und hohen Frequenz/Spannungsarbeitspunkten mit ein.
- Während diese Lösungen unter bestimmten Umständen akzeptierbar sind, verbleibt erheblicher Raum für Verbesserungen. Beispielsweise neigen diese Lösungen dazu, das Bestimmen der Systemleistung zu erschweren (i. e. die Lösungen neigen dazu, „nicht-deterministisch” zu sein). Tatsächlich ist temperaturbasiertes Drosseln oft stark vom Umgebungsklima abhängig, das den Grad der Leistungsvorhersage verringern kann. Beispielsweise ist es wahrscheinlich, dass für dasselbe verwendete Modell an einem warmen Tag stärkeres Drosseln (und daher geringere Leistung) auftritt als an einem kalten Tag. Zusätzlich kann das Reduzieren der Energie durch Drosseln zwischen den Operationspunkten zur Inkonsistenz der Wahrnehmung des Benutzers führen. Diese Nachteile werden vergrößert, wenn die Kluft zwischen der verbrauchten Energie und den externen Kühlungskapazitäten zunimmt aufgrund der Anwesenheit mehrerer Prozessorkerne im System.
- Die
US-5,790,817 offenbart ein Verfahren zum dynamischen Einstellen der Taktfrequenz bei Mikroprozessoren mit Multikern-Architektur. Bei dem bekannten Verfahren kann jedem Datensignalprozessor selektiv eine Task von einem Mikrocontroller zugeordnet werden, wobei in Abhängigkeit von der Rechenlast die Taktfrequenz eines jeden Datensignalprozessors unabhängig eingestellt werden kann, um den Energieverbrauch möglichst gering zu halten. - Die
US-2002/0095610 A1 - Aus der
US-2004/0215986 A1 - Der vorliegenden Erfindung liegt die Aufgabe zugrunde, verbesserte Verfahren, Vorrichtungen und Systeme zum dynamischen Einstellen von Arbeitsparametern von mehreren Prozessorkernen zu schaffen.
- Diese Aufgabe wird gemäß einem ersten Aspekt durch ein Verfahren gemäß dem Wortlaut von Anspruch 1 gelöst.
- Weiterhin wird diese Aufgabe gemäß einem zweiten Aspekt durch eine Vorrichtung gemäß dem Wortlaut von Anspruch 8 gelöst.
- Gemäß einem dritten Aspekt wird diese Aufgabe durch ein System gemäß dem Wortlaut von Anspruch 15 gelöst.
- KURZE BESCHREIBUNG DER ZEICHNUNGEN
- Die verschiedenen Vorteile der Ausführungsbeispiele der vorliegenden Erfindung werden für den Fachmann beim Lesen der folgenden Beschreibung und der beigefügten Ansprüche und mit Bezug auf die folgenden Zeichnungen ersichtlich sein, in denen:
-
1 ein Diagramm eines Beispiels einer Verarbeitungsarchitektur gemäß einem Ausführungsbeispiel der Erfindung ist; -
2 ein Diagramm eines Beispiels eines Systems gemäß eines Ausführungsbeispiels der Erfindung ist; -
3 ein Flussdiagramm eines Beispiels eines Verfahrens zum Verwalten von Arbeitspunkten gemäß eines Ausführungsbeispiels der Erfindung ist; -
4 ist ein Flussdiagramm eines Beispiels eines Verfahrens zum Ermitteln einer Anzahl von aktiven Kernen gemäß eines Ausführungsbeispiels der Erfindung ist; und -
5 ein Flussdiagramm eines Beispiels eines Verfahrens zum Auswählen eines maximalen Arbeitspunkts gemäß eines Ausführungsbeispiels der Erfindung ist. - DETAILIERTE BESCHREIBUNG
- In der folgenden Beschreibung sind vielzählige besondere Details zum Zwecke der Erläuterung dargestellt, um ein tiefes Verständnis der Ausführungsbeispiele der vorliegenden Erfindung zu ermöglichen. Es wird jedoch für den Fachmann offensichtlich sein, dass die Ausführungsbeispiele der vorliegenden Erfindung ohne diese bestimmten Details ausgeführt werden können. In anderen Fällen wurden die speziellen Vorrichtungsstrukturen und Verfahren nicht beschrieben, damit die Ausführungsbeispiele der vorliegenden Erfindung nicht unklar werden. Die folgende Beschreibung und die Zeichnungen sind für die Ausgestaltungen der Erfindung erläuternd und nicht dazu gedacht, die Ausführungsbeispiele der Erfindung einzuschränken.
-
1 zeigt eine Verarbeitungsarchitektur10 mit einer Mehrzahl von Prozessorkernen12 (12a ,12b ), ein Aktivitätsmodul14 und eine Mehrzahl von maximalen Arbeitspunkten16 (16a ,16b ), aus denen ausgewählt wird. Die Prozessorkerne12 können ähnlich einem Pentium® 4 Prozessorkern sein, der von der Intel® Corporation in Santa Clara, Kalifornien erhältlich ist, bei dem jeder Kern12 vollständig funktional mit Holbefehl-Einheiten, Anweisungsdekodierern, Level one (L1) Cache, Ausführungseinheiten usw. (nicht gezeigt) sein. Zusätzlich kann das Aktivitätsmodul14 in einer festen Funktionalitätshardware ausgeführt sein, wie etwa der Complementary Metal Oxide Semiconductor (CMOS) Technologie, als Mikrocode, als Software (z. B. als Teil eines Betriebssystems/Operating System; OS) oder jeder Kombination davon. In dem beschriebenen Beispiel ist das Aktivitätsmodul14 als Hardware ausgeführt. - In einem Beispiel weist jeder der maximalen Arbeitspunkte
16 eine maximale Arbeitsfrequenz und Spannung auf. Die maximalen Arbeitspunkte16 können basierend auf dem Wissen der Kühlungslösungen, die für das System und/oder die thermischen Beschränkungen des Systems erhältlich sind, bestimmt werden. Beispielsweise kann sie in einer Dualkern-Architektur mit nur einem aktiven Kern bestimmt werden, das System kann geeignet gekühlt werden, wenn der aktive Kern auf eine maximale Arbeitsfrequenz von 2.0 GHz begrenzt wird (und/oder einer Kernspannung von 1,7 V). Es ist jedoch ebenso bekannt, dass, wenn beide Kerne aktiv sind, die Kerne auf eine maximale Arbeitsfrequenz von 1,5 GHz begrenzt werden sollten (und/oder einer Kernspannung von 1,35 V), damit die Kühlungslösung effektiv ist. Das dargestellte Aktivitätsmodul14 ermittelt die Anzahl18 aktiver Kerne in der Mehrzahl von Prozessorkernen12 und wählt einen maximalen Arbeitspunkt17 für die aktiven Kerne basierend auf der Anzahl18 von aktiven Kernen aus. Die maximalen Arbeitspunkte16 können in einer Konfigurationstabelle gespeichert werden. - Beispielsweise kann das Aktivitätsmodul
14 eine Konfigurationstabelle verwenden, wie die folgende in Tabelle 1, um einen maximalen Arbeitspunkt in einer Dualkernarchitektur auszuwählen.# Aktiv Max. Freq. 1 2,0 GHz 2 1,5 GHz - Wobei der erste maximale Arbeitspunkt
16a dem Wert von 2,0 GHz zugeordnet ist und der zweite maximale Arbeitspunkt16b dem Wert von 1,5 GHz zugeordnet ist. Ermittelt daher das Aktivitätsmodul14 , das der erste Kern12a aktiv ist und der zweite Kern12b inaktiv ist, würde die Anzahl von aktiven Kernen eins sein und der erste maximale Arbeitspunkt16a (i. e. eine maximale Arbeitsfrequenz von 2,0 GHz) würde für den ersten Kern12a ausgewählt werden. In ähnlicher Weise, wenn ermittelt wird, dass der erste Kern12a inaktiv ist und der zwei te Kern12b aktiv ist, würde der erste maximale Arbeitspunkt16a (i. e. eine maximale Arbeitsfrequenz von 2,0 GHz) für den zweiten Kern12b ausgewählt werden. - Ermittelt das Aktivitätsmodul
14 auf der anderen Seite, dass sowohl der erste Kern12a als auch der zweite Kern12b aktiv sind, würde die Anzahl von aktiven Kernen zwei sein und der zweite maximale Arbeitspunkt16b (i. e. eine maximale Arbeitsfrequenz von 1,5 GHz) würde sowohl für den ersten Kern12a als auch den zweiten Kern12b ausgewählt werden. Daher kann das dargestellte Aktivitätsmodul14 unter den oben genannten Gegebenheiten ermitteln, dass beide Kerne12a ,12b aktiv sind und daher den zweiten maximalen Arbeitspunkt16b als den ausgewählten maximalen Arbeitspunkt17 auswählen. Die speziellen Frequenzen sind nur angegeben, um die Diskussion zu erleichtern. - Durch Auswählen des maximalen Arbeitspunkts
17 basierend auf der Anzahl18 von aktiven Kernen bietet die Architektur10 eine Anzahl von Vorteilen gegenüber herkömmlichen Techniken. Beispielsweise kann die Kluft zwischen der potentiell maximalen Energie und der verfügbaren Kühlungskapazitäten in einer Weise verkleinert werden, die nicht direkt von der Temperatur abhängt. Da die Abhängigkeit von den Umwelttemperaturbedingungen minimiert werden können, kann eine besser vorhersagbare Leistung erreicht werden. Die hier beschriebenen Ansätze sind stärker deterministisch als herkömmliche Ansätze. Zusätzlich erhöht das Begrenzen des Arbeitspunkts basierend auf der Anzahl von aktiven Kernen die Effektivität der verfügbaren Kühlungslösungen. - Der maximale Arbeitspunkt
17 kann auch ausgewählt werden basierend auf den aktiven Kernleistungsgraden19 , die durch das Aktivitätsmodul14 ermittelt werden können. Insbesondere vermögen die Prozessorkerne12 bei verschiedenen Leistungsgraden basierend auf einer Vielzahl von Faktoren zu arbeiten. Beispielsweise kann ein Ansatz das Umschalten zwischen Arbeitspunkten geringer und hoher Frequenz/Spannung basierend auf der Kernnutzung und/oder Temperatur beinhalten. In einem Fall kann ermittelt sein, dass ein aktiver Kern bei einem relativ geringen Leistungsgrad läuft, der es dem anderen Kern/den anderen Kernen erlaubt, bei einem höheren Leistungsgrad zu arbeiten als es unter einer reinen Aktiv/Einzelbestimmung erlaubt wäre. - Beispielsweise kann ermittelt worden sein, dass die Kerne
12a und12b aktiv sind und dass der erste Kern12a bei 1,0 GHz arbeitet. Es kann auch ermittelt worden sein, dass unter solchen Bedingungen der zweite Kern12b bei einer Frequenz so hoch wie 1,86 GHz arbeitet ohne das Kühlungsvermögen des Systems zu überschreiten. Eher als das Auswählen des maximalen Arbeitspunkts17 für beide Kerne bei 1,5 GHz, könnte das Aktivitätsmodul14 die aktive Kernleistungsgrade19 verwenden, um einen ersten Kern maximalen Arbeitspunkt von 1,0 GHz und einen zweiten Kern maximalen Arbeitspunkt von 1,86 GHz einzustellen. Daher kann der ausgewählte maximale Arbeitspunkt17 eine pro Kern Komponente haben. - Sich nun
2 zuwendend ist ein System20 mit einem Multikern Prozessor22 gezeigt, wobei das System20 Teil eines Servers, eines Desktop Personalcomputers (PC), eines Notebook PCs, einer Handheld Computereinrichtung, etc. sein kann. Im dargestellten Beispiel hat der Prozessor22 ein Aktivitätsmodul14' , eine Mehrzahl von Prozessorkernen12' (12a' –12n' ) und eine Spannungs- und Frequenzsteuerung24 . - Das dargestellte System
20 beinhaltet auch eine oder mehrere Input/Output (I/O) Einrichtungen26 und verschiedene Speichersubsysteme, die an den Prozessor22 entweder direkt oder über den Weg eines Chipsatzes28 angeschlossen sind. Im gezeigten Beispiel weisen die Speichersubsysteme einen Random Access Memory (RAM)30 und31 , wie etwa ein Fast Page Mode (FPM), Error Correcting Code (ECC), Extended Data Output (EDO) oder Synchronous Dynamic RAM (SDRAM) Typ von Speicher auf und können auch aufgenommen sein in ein Single Inline Memory Module (SIMM), Dual Inline Memory Module (DIMM), Small Outline DIMM (SODIMM), und so weiter. Beispielsweise haben SODIMMs eine reduzierte Packhöhe aufgrund einer schrägen Anordnung mit Hinblick auf die benachbarte Platine. Daher kann das Ausbilden des RAM30 als ein SODIMM besonders nützlich sein, wenn das System20 Teil eines Notebook PCs ist, in dem die thermischen Beschränkungen relativ streng sind. SODIMMs sind in größerem Detail imUS-Patent Nr. 5,227,664 von Toshio, et al. beschrieben. - Die Speicherteilsysteme können auch ein Read Only Memory (ROM)
32 , wie etwa ein Compact Disk ROM (CD-Rom), eine magnetische Platte, ein Flashspeicher, etc. aufweisen. Das dargestellte RAM30 ,31 und ROM32 beinhaltet Anweisungen34 , die durch den Prozessor22 als ein oder mehrere Threads ausgeführt werden kann. Das ROM32 kann ein Basic Input/Output System (BIOS) Flashspeicher sein. Jeder RAM30 ,31 und/oder ROM32 vermag eine Konfigurationstabelle36 zu speichern, die verwendet werden kann, um maximale Arbeitspunkte auszuwählen. Die Tabelle36 , die durch Software „on the fly” berechnet oder im Speicher vorgespeichert sein kann, kann ähnlich der oben diskutierten Tabelle I sein. In diesem Zusammenhang kann das Aktivitätsmodul14' eine Konfigurationstabelleneingabe38 aufweisen, die verwendet werden kann, um auf die Konfigurationstabelle36 zuzugreifen. - Wie bereits diskutiert, vermag das Aktivitätsmodul
14' die Anzahl von aktiven Kernen in der Mehrzahl von Prozessorkernen12' zu ermitteln. Die Aktivität kann durch Überwachen eines Zustandsignals40 (40a –40n ) eines jeden der Mehrzahl von Prozessorkernen12' und Identifizieren, ob jedes Zustandssignal40 anzeigt, dass der zugehörige Kern aktiv ist, ermittelt werden. Beispielsweise kann das Aktivitätsmodul14' ein Advanced Configuration and Power Interface (z. B. ACPI Spezifikation, Rev. 3.0, 2. September 2004; Rev. 2.0c, 25. August 2003; Rev. 2.0, 27. Juli 2000, etc.). Prozessorenergiezustand. („Cx Zustand”) Signal eines jeden der Mehrzahl von Prozessorkernen12' überwachen. ACPI Cx Zustände sind relativ unproblematisch zu überwachen und bieten daher eine nützliche Lösung zum Ermitteln der Anzahl von aktiven Kernen. - ACPI definiert den Energiezustand des Systemprozessors im Arbeitszustand („GO”) entweder als aktiv (ausführen) oder ruhend (nicht ausführen), bei dem die Energiezustände auf jeden Prozessorkern
12' angewendet werden können. Insbesondere sind die Prozessorenergiezustände als C0, C1, C2, C3, ... Cn bezeichnet. Der flachste C0 Energiezustand ist ein aktiver Energiezustand, bei dem die CPU Anweisungen ausführt. Die C1 bis Cn Energiezustände sind Prozessorruhezustände, bei denen der Prozessor weniger Strom verbraucht und weniger Hitze abgibt als beim Prozessor im C0 Zustand verbleiben. Während des Ruhezustands führt der Prozessorkern keine Anweisungen aus. Jeder Prozessorruhezustand hat eine Latenz, die mit Eingang und Ausgang des Zustands assoziiert ist, die der Stromeinsparung des Zustands entspricht. Allgemein, je länger die Eingangs/Ausgangslatenz, desto größer die Stromeinsparungen während des Zustands. Um Strom zu sparen, versetzt ein Betriebssystem Energieverwaltungs (Operating System Power Management; OSPM) Modul (nicht gezeigt) den Prozessorkern in einen seiner unterstützten Ruhezustände, wenn ruhend. - Die Zustandssignale
40 können auch Informationen über die Leistungsgrade enthalten. Beispielsweise können die Zustandssignale40 den Leistungsgrad eines jeden aktiven Kerns anzeigen. Solch ein Signal könnte durch die ACPI Leistungszustand (Px Zustand) Signale bereitgestellt werden. Insbesondere kann ACPI während des C0 Zustands erlauben, dass die Leistung des Prozessorkerns mittels eines definierten „Drosselvorgangs” und durch Übergang in mehrere Leistungszustände (Px Zustände) geändert wird. Während ein Kern im P0 Zustand ist, verwendet dieser sein maximales Leistungsvermögen und mag maximale Energie verbrauchen. Während ein Kern im P1 Zustand ist, ist das Leistungsvermögen des Kerns auf unterhalb seines Maximums begrenzt und verbraucht weniger als die maximale Energie. Während ein Kern in Pn Zustand ist, ist das Leistungsvermögen des Kerns auf seinem minimalen Grad und verbraucht minimale Energie während im aktiven Zustand verbleibend. Der Zustand n ist eine maximale Zahl und ist prozessor- oder einrichtungsabhängig. Die Prozessorkerne und Einrichtungen können eine Unterstützung für eine ungefähre Anzahl von Leistungszuständen, die nicht über 16 hinausgeht, entsprechend der ACPI Spezifikation, Rev. 3.0 definieren. - Daher kann es, wenn das dargestellte Aktivitätsmodul
14' die Ruhezustandssignale40 überwacht, identifizieren, ob jedes Zustandssignal40 anzeigt, dass der zugehörige Kern aktiv ist. Das Aktivitätsmodul14' kann dann die Konfigurationstabelle36 nach einem Eintrag durchsuchen, der die Anzahl von aktiven Kernen enthält. Eine ähnliche Suche könnte im Hinblick auf die Leistungsgrade durchgeführt werden. Beim Auffinden des Eintrags kann das Aktivitätsmodul14' einen maximalen Arbeitspunkt abfragen, über die Konfigurationstabelleneingabe38 von dem Eintrag, bei dem der maximale Arbeitspunkt einem Parameter ermöglicht, wie etwa Frequenz oder Kernspannung, begrenzt zu werden. - Beispielsweise kann das Aktivitätsmodul
14' eine Begrenzungsanfrage42 basierend auf dem maximalen Arbeitspunkt erzeugen. Wie bereits bemerkt, kann die Begrenzungsanfrage42 eine maximale Arbeitsfrequenz und/oder maximale Kernspannung bestimmen. Daher stellt die Steuerung24 sicher, wenn die aktiven Kerne Arbeitspunktanfragen an die Steuerung24 senden, dass keine der Arbeitspunkte den maximalen Arbeitspunkt übertrifft, der in der Be grenzungsanfrage42 bestimmt ist. Einfach ausgedrückt, kann die Steuerung24 den geeigneten Parameter der aktiven Kerne basierend auf der Begrenzungsanfrage42 begrenzen. - Obwohl das dargestellte System
20 eine Verarbeitungsarchitektur aufweist, die einen Einzelpaket/Anschluss, Multikern-Prozessor22 enthält, sind die Ausgestaltungen der Erfindung nicht derart begrenzt. Beispielsweise könnte eine erste Teilmenge der Mehrzahl von Prozessorkernen12 innerhalb eines ersten Prozessorpakets enthalten sein und eine zweite Teilmenge der Mehrzahl von Prozessorkernen12 könnte innerhalb eines zweiten Prozessorpakets enthalten sein. Tatsächlich kann jede Verarbeitungsarchitektur, in der die Leistungsvorhersage und/oder Energieverwaltung von Bedeutung sind, Nutzen aus den hier beschriebenen Grundlagen ziehen. Darüber hinaus gibt es eine Anzahl von Aspekten von Einzelpaket/Anschluss, Multikernprozessoren für die das System20 gut geeignet ist. - Sich nun
3 zuwendend ist ein Verfahren44 zum Verwalten von Arbeitspunkten gezeigt. Das Verfahren44 kann in einer festgelegten Funktionalitätshardware ausgeführt sein, wie etwa Complementary Metal Oxide Semiconductor (CMOS) Technologie, Microcode, Software, etwa als Teil eines Betriebssystems (OS) oder jede Kombination davon. Der Verarbeitungsblock46 ist vorgesehen zum Ermitteln der Anzahl von aktiven Kernen in einer Mehrzahl von Prozessorkernen und/oder dem Leistungsgrad eines jeden der aktiven Kerne. Ein maximaler Arbeitspunkt ist für die aktiven Kerne am Block48 ausgewählt basierend auf der Anzahl von aktiven Kernen und/oder dem aktiven Kernleistungsgrad (den aktiven Kernleistungsgraden). Der Block50 ist vorgesehen zum Erzeugen einer Begrenzungsanfrage, basierend auf dem maximalen Arbeitspunkt, wobei ein Arbeitsparameter der Kerne basierend auf der Begrenzungsanfrage begrenzt werden kann. Die Begrenzungsanfrage kann eine maximale Arbeitsfrequenz und/oder maximale Arbeitsspannung bestimmen. -
4 zeigt einen Ansatz zum Ermitteln der Anzahl von aktiven Kernen in größerem Detail bei Block46' . Insbesondere sieht der dargestellte Block52 das Überwachen eines Ruhezustandssignals eines jeden der Mehrzahl von Prozessorkernen vor. Wie bereits besprochen, können die Ruhezustandssignale ACPI Cx Zustandssignale sein. Enthält das Überwachen bei Block52 das Überwachen der Leistungszustandsdaten, können die Signale ACPI Px Zu standssignale sein. Block54 ist vorgesehen zum Identifizieren, ob jedes Ruhezustandssignal anzeigt, dass ein zugehöriger Kern aktiv ist. - Sich nun
5 zuwendend ist ein Ansatz zum Auswählen eines maximalen Arbeitspunkts in größerem Detail bei Block48' gezeigt. In dem gezeigten Beispiel ist der maximale Arbeitspunkt ausgewählt basierend auf der Anzahl von aktivierten Kernen. Alternativ kann die Auswahl auf dem Leistungsgrad eines jeden aktiven Kerns basiert sein. Insbesondere ist der gezeigte Block56 vorgesehen zum Durchsuchen einer Konfigurationstabelle nach einem Eintrag, der die Anzahl von aktiven Kernen enthält. In einem Ausführungsbeispiel ist das Durchsuchen an einer BIOS Konfigurationstabelle durchgeführt. Der maximale Arbeitspunkt ist aus dem Eintrag bei Block58 abgefragt. Alternativ können die maximalen Arbeitspunkte errechnet werden. Solch ein Ansatz kann insbesondere dann nützlich sein, wenn die Auswahl von maximalen Arbeitspunkten auf den aktiven Kernleistungsgraden basiert ist. Beispielsweise kann die Berechnung ein Mittel (gewichtet oder ungewichtet) der Kernarbeitsfrequenzen einbeziehen. Ein gewichtetes Mittel kann insbesondere bei Systemen mit nicht symmetrischen Kernen (i. e. große und kleine Kerne im selben System) nützlich sein, weil den größeren Kernen ein größeres Gewicht gegeben werden könnte aufgrund ihres potentiell größeren Beitrags zum Gesamtstromverbrauch. - Daher können die hier beschriebenen Ausführungsbeispiele eine Begrenzung der Energie in Multikernverarbeitungsarchitekturen vorsehen, während vorhersagbare Leistung über den Großteil des Energiebereichs der Architektur gegeben ist. Durch dynamisches Einstellen des maximalen Frequenz- und Spannungsarbeitspunkts auf die Anzahl von aktiven Kernen in der Architektur bieten diese Lösungen einen grobkörnigen Mechanismus, der verwendet werden kann als Stand-Alone Technik oder als Ergänzung zu traditionellen temperatur-basierten Drosselungstechniken.
- Der Fachmann wird aus der vorstehenden Beschreibung anerkennen, dass die breiten Techniken der Ausführungsbeispiele der vorliegenden Erfindung in einer Vielfalt von Formen ausgeführt sein können. Während die Ausführungsbeispiele dieser Erfindung in Zusammenhang mit besonderen Beispielen dieser beschrieben worden sind, sollte der wahre Umfang der Ausführungsbeispiele der Erfindung nicht darauf beschränkt sein, da andere Modifikationen für den erfahrenen Praktiker beim Studium der Zeichnungen, der Beschreibung und den folgenden Ansprüchen ersichtlich werden.
Claims (17)
- Verfahren zum dynamischen Einstellen von Arbeitsparametern von mehreren Prozessorkernen, umfassend die Schritte: Ermitteln einer Anzahl von aktiven Kernen in einer Mehrzahl von Prozessorkernen mittels eines Aktivitätsmoduls (
14 ;14' ); Auswählen eines maximalen Arbeitspunkts, der eine maximale Arbeitsfrequenz und/oder eine maximale Kernspannung aufweist, für wenigstens einen der aktiven Kerne basierend auf der Anzahl von aktiven Kernen mittels des Aktivitätsmoduls (14 ;14' ); Erzeugen einer Begrenzungsanfrage basierend auf dem maximalen Arbeitspunkt, die die maximale Arbeitsfrequenz und/oder die maximale Kernspannung angibt, mittels des Aktivitätsmoduls (14 ;14' ), und Begrenzen der Arbeitsfrequenz und/oder der Kernspannung der aktiven Kerne basierend auf der Begrenzungsanfrage mittels einer Steuerung (24 ). - Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass das Ermitteln die Schritte Überwachen eines Ruhezustandsignals von jedem der Mehrzahl der Prozessorkernen; und Identifizieren, ob jedes Ruhezustandsignal anzeigt, dass ein dazugehöriger Kern aktiv ist, beinhaltet.
- Verfahren nach Anspruch 2, dadurch gekennzeichnet, dass das Überwachen das Überwachen eines Advanced Configuration and Power Interface (ACPI) Prozessorenergiezustand (Cx-Zustand) Signals beinhaltet.
- Verfahren nach Anspruch 1 oder 3, dadurch gekennzeichnet, dass das Auswählen die Schritte Durchsuchen einer Konfigurationstabelle nach einem Eintrag, der die Anzahl von aktiven Kernen enthält; und Abfragen des maximalen Arbeitspunkts aus dem Eintrag beinhaltet.
- Verfahren nach Anspruch 4, dadurch gekennzeichnet, dass das Durchsuchen das Durchsuchen einer Basic Input/Output System (BIOS) Konfigurationstabelle beinhaltet.
- Verfahren nach Anspruch 1, gekennzeichnet durch Ermitteln eines Leistungsgrads von jedem der aktiven Kerne, wobei das Auswählen weiter auf den Leistungsgraden basiert.
- Verfahren nach Anspruch 6, dadurch gekennzeichnet, dass das Ermitteln jedes Leistungsgrads das Überwachen eines Advanced Configuration and Power Interface (ACPI) Leistungszustand (Px-Zustand) Signals eines dazugehörigen Kerns beinhaltet.
- Vorrichtung zum dynamischen Einstellen von Arbeitsparametern von mehreren Prozessorkernen, umfassend: eine Mehrzahl von Prozessorkernen (
12a , ...12n' ); ein Aktivitätsmodul (14 ;14' ) zum Ermitteln einer Anzahl von aktiven Kernen in der Mehrzahl von Prozessorkernen und Auswählen eines maximalen Arbeitspunkts, der eine maximale Arbeitsfrequenz und/oder eine maximale Kernspannung aufweist, für wenigstens einen der aktiven Kerne basierend auf der Anzahl von aktiven Kernen, wobei das Aktivitätsmodul zum Erzeugen einer Begrenzungsanfrage basierend auf dem maximalen Arbeitspunkt vorgesehen ist, die zum Angeben einen maximalen Arbeitsfrequenz und/oder maximale Kernspannung vorgesehen ist; und einen Controller zum Begrenzen der Arbeitsfrequenz und/oder der Kernspannung der aktiven Kerne basierend auf der Begrenzungsanfrage. - Vorrichtung nach Anspruch 8, dadurch gekennzeichnet, dass das Aktivitätsmodul (
14 ;14' ) zum Überwachen eines Ruhezustandsignals eines jeden der Mehrzahl von Prozessorkernen (12a , ...12n ) und zum Identifizieren, welches der Ruhezustandsignale anzeigt, dass ein dazugehöriger Kern aktiv ist, vorgesehen ist. - Vorrichtung nach Anspruch 9, dadurch gekennzeichnet, dass das Aktivitätsmodul (
14 ;14' ) zum Überwachen eines Advanced Configuration and Power Interface (ACPI) Prozessorenergiezustand (Cx-Zustand) Signals vorgesehen ist. - Vorrichtung nach Anspruch 8, dadurch gekennzeichnet, dass das Aktivitätsmodul (
14 ;14' ) zum Durchsuchen einer Konfigurationstabelle (36 ) nach einem Eintrag, der die Anzahl von aktiven Kernen enthält und zum Abfragen des maximalen Arbeitspunkts aus dem Eintrag vorgesehen ist. - Vorrichtung nach Anspruch 11, dadurch gekennzeichnet, dass das Aktivitätsmodul (
14 ;14' ) zum Durchsuchen einer Basic Input/Output System (BIOS) Konfigurationstabelle zum Erhalten des Eintrags vorgesehen ist. - Vorrichtung nach Anspruch 8, gekennzeichnet durch eine Prozessorbaugruppe, die die Mehrzahl von Prozessorkernen enthält.
- Vorrichtung nach Anspruch 8, gekennzeichnet durch: eine erste Prozessorbaugruppe, die eine erste Teilmenge der Mehrzahl von Prozessorkernen enthält; und eine zweite Prozessorbaugruppe, die eine zweite Teilmenge der Mehrzahl von Prozessorkernen enthält.
- System (
20 ) zum dynamischen Einstellen von Arbeitsparametern von mehreren Prozessorkernen, umfassend: ein small outline dual inline memory module (SODIMM) (30 ); eine an das SODIMM angeschlossene Verarbeitungsarchitektur, wobei die Architektur eine Mehrzahl von Prozessorkernen (12a , ...12n' ) und ein Aktivitätsmodul (14 ;14' ) aufweist, wobei das Aktivitätsmodul (14 ;14' ) eine Anzahl von aktiven Kernen in der Mehrzahl von Prozessorkernen ermittelt und einen maximalen Arbeitspunkt, der eine maximale Arbeitsfrequenz und/oder eine maximale Kernspannung aufweist, für wenigstens einen der aktiven Kerne basierend auf der Anzahl von aktiven Kernen auswählt, und eine Steuerung (24 ), wobei das Aktivitätsmodul (14' ) eine Begrenzungsabfrage basierend auf dem maximalen Arbeitspunkt erzeugt und die Steuerung (24 ) die Arbeitsfrequenz und/oder die Kernspannung der aktiven Kerne basierend auf der Begrenzungsabfrage begrenzt. - System (
20 ) nach Anspruch 15, dadurch gekennzeichnet, dass das Aktivitätsmodul (14' ) zum Überwachen eines Ruhezustandsignals eines jeden der Mehrzahl von Prozessorkernen (12a , ...12n' ) und zum Identifizieren, ob jedes Ruhezustandsignal anzeigt, dass ein dazugehöriger Kern aktiv ist, vorgesehen ist. - System (
20 ) nach Anspruch 15, weiter gekennzeichnet durch einen Speicher zum Speichern einer Konfigurationstabelle, wobei das Aktivitätsmodul die Konfigurationstabelle nach einem Eintrag durchsucht, der die Anzahl von aktiven Kernen enthält und den maximalen Arbeitspunkt aus dem Eintrag abfragt.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/026,705 US7502948B2 (en) | 2004-12-30 | 2004-12-30 | 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 |
US11/026,705 | 2004-12-30 | ||
PCT/US2005/046847 WO2006073899A2 (en) | 2004-12-30 | 2005-12-20 | Operating point management in multi-core architectures |
Publications (2)
Publication Number | Publication Date |
---|---|
DE112005003136T5 DE112005003136T5 (de) | 2007-11-22 |
DE112005003136B4 true DE112005003136B4 (de) | 2009-10-01 |
Family
ID=36099392
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE112005003136T Active DE112005003136B4 (de) | 2004-12-30 | 2005-12-20 | Verfahren, Vorrichtung und System zum dynamischen Einstellen von Arbeitsparametern von mehreren Porzessorkernen |
Country Status (5)
Country | Link |
---|---|
US (7) | US7502948B2 (de) |
CN (1) | CN100549908C (de) |
DE (1) | DE112005003136B4 (de) |
TW (1) | TWI310129B (de) |
WO (1) | WO2006073899A2 (de) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102012213063A1 (de) * | 2012-07-25 | 2014-01-30 | Siemens Aktiengesellschaft | Steuervorrichtung für eine Prozess- und/oder Fertigungsanlage |
Families Citing this family (200)
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 |
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 |
GB0519981D0 (en) | 2005-09-30 | 2005-11-09 | Ignios Ltd | Scheduling in a multicore architecture |
US8799687B2 (en) | 2005-12-30 | 2014-08-05 | Intel Corporation | Method, apparatus, and system for energy efficiency and energy conservation including optimizing C-state selection under variable wakeup rates |
US7650518B2 (en) * | 2006-06-28 | 2010-01-19 | Intel Corporation | Method, apparatus, and system for increasing single core performance in a multi-core microprocessor |
KR101285665B1 (ko) | 2006-11-27 | 2013-07-11 | 엘지전자 주식회사 | 수면 모드를 지원하는 멀티 코어 시스템 온 칩 |
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 |
US7900069B2 (en) * | 2007-03-29 | 2011-03-01 | Intel Corporation | Dynamic power reduction |
US8949635B2 (en) * | 2007-09-28 | 2015-02-03 | Intel Corporation | Integrated circuit performance improvement across a range of operating conditions and physical constraints |
US8032772B2 (en) * | 2007-11-15 | 2011-10-04 | Intel Corporation | Method, apparatus, and system for optimizing frequency and performance in a multi-die microprocessor |
US8024590B2 (en) * | 2007-12-10 | 2011-09-20 | Intel Corporation | Predicting future power level states for processor cores |
US8086885B2 (en) * | 2007-12-14 | 2011-12-27 | Nokia Corporation | Runtime control of system performance |
US8010822B2 (en) * | 2008-03-28 | 2011-08-30 | Microsoft Corporation | Power-aware thread scheduling and dynamic use of processors |
US8732488B1 (en) | 2008-04-17 | 2014-05-20 | Marvell International Ltd. | Millions of instruction per second (MIPS) based idle profiler in a power management framework |
US8281160B1 (en) * | 2008-04-17 | 2012-10-02 | Marvell International Ltd. | Method and system for selecting an operating frequency for a chip to provide a desired overall power dissipation value for the chip |
US7757233B2 (en) * | 2008-07-10 | 2010-07-13 | International Business Machines Corporation | Controlling a computer system having a processor including a plurality of cores |
US8386807B2 (en) * | 2008-09-30 | 2013-02-26 | Intel Corporation | Power management for processing unit |
US8402290B2 (en) * | 2008-10-31 | 2013-03-19 | Intel Corporation | Power management for multiple processor cores |
US8064197B2 (en) | 2009-05-22 | 2011-11-22 | Advanced Micro Devices, Inc. | Heat management using power management information |
US9298583B2 (en) * | 2009-06-04 | 2016-03-29 | International Business Machines Corporation | Network traffic based power consumption estimation of information technology systems |
US9594599B1 (en) * | 2009-10-14 | 2017-03-14 | Nvidia Corporation | Method and system for distributing work batches to processing units based on a number of enabled streaming multiprocessors |
US9098274B2 (en) | 2009-12-03 | 2015-08-04 | Intel Corporation | Methods and apparatuses to improve turbo performance for events handling |
US20110138395A1 (en) * | 2009-12-08 | 2011-06-09 | Empire Technology Development Llc | Thermal management in multi-core processor |
US8775830B2 (en) * | 2009-12-16 | 2014-07-08 | Qualcomm Incorporated | System and method for dynamically controlling a plurality of cores in a multicore central processing unit based on temperature |
US9176572B2 (en) | 2009-12-16 | 2015-11-03 | Qualcomm Incorporated | System and method for controlling central processing unit power with guaranteed transient deadlines |
US9128705B2 (en) * | 2009-12-16 | 2015-09-08 | Qualcomm Incorporated | System and method for controlling central processing unit power with reduced frequency oscillations |
US20110145559A1 (en) * | 2009-12-16 | 2011-06-16 | Thomson Steven S | System and method for controlling central processing unit power with guaranteed steady state deadlines |
US9104411B2 (en) | 2009-12-16 | 2015-08-11 | Qualcomm Incorporated | System and method for controlling central processing unit power with guaranteed transient deadlines |
US8909962B2 (en) * | 2009-12-16 | 2014-12-09 | Qualcomm Incorporated | System and method for controlling central processing unit power with guaranteed transient deadlines |
US9563250B2 (en) * | 2009-12-16 | 2017-02-07 | Qualcomm Incorporated | System and method for controlling central processing unit power based on inferred workload parallelism |
US8689037B2 (en) | 2009-12-16 | 2014-04-01 | Qualcomm Incorporated | System and method for asynchronously and independently controlling core clocks in a multicore central processing unit |
US8650426B2 (en) * | 2009-12-16 | 2014-02-11 | Qualcomm Incorporated | System and method for controlling central processing unit power in a virtualized system |
US8442786B2 (en) | 2010-06-02 | 2013-05-14 | Advanced Micro Devices, Inc. | Flexible power reporting in a computing system |
US8510582B2 (en) * | 2010-07-21 | 2013-08-13 | Advanced Micro Devices, Inc. | Managing current and power in a computing system |
US9600059B2 (en) * | 2010-09-20 | 2017-03-21 | Apple Inc. | Facilitating power management in a multi-core processor |
US8943334B2 (en) | 2010-09-23 | 2015-01-27 | Intel Corporation | Providing per core voltage and frequency control |
US8843775B2 (en) * | 2010-10-08 | 2014-09-23 | Intel Corporation | Energy optimization techniques in a computing system |
US8793512B2 (en) * | 2010-10-29 | 2014-07-29 | Advanced Micro Devices, Inc. | Method and apparatus for thermal control of processing nodes |
US9261949B2 (en) | 2010-10-29 | 2016-02-16 | Advanced Micro Devices, Inc. | Method for adaptive performance optimization of the soc |
US9335805B2 (en) * | 2010-11-25 | 2016-05-10 | Freescale Semiconductor, Inc. | Method and apparatus for managing power in a multi-core processor |
US8612781B2 (en) * | 2010-12-14 | 2013-12-17 | Advanced Micro Devices, Inc. | Method and apparatus for application of power density multipliers optimally in a multicore system |
US8972746B2 (en) * | 2010-12-17 | 2015-03-03 | Intel Corporation | Technique for supporting multiple secure enclaves |
US20120159123A1 (en) * | 2010-12-17 | 2012-06-21 | Advanced Micro Devices, Inc. | Cstate boost method and apparatus |
US8782451B2 (en) | 2010-12-22 | 2014-07-15 | Via Technologies, Inc. | Power state synchronization in a multi-core processor |
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 |
US9460038B2 (en) | 2010-12-22 | 2016-10-04 | Via Technologies, Inc. | Multi-core microprocessor internal bypass bus |
US8637212B2 (en) | 2010-12-22 | 2014-01-28 | Via Technologies, Inc. | Reticle set modification to produce multi-core dies |
US8631256B2 (en) | 2010-12-22 | 2014-01-14 | Via Technologies, Inc. | Distributed management of a shared power source to a multi-core microprocessor |
US8930676B2 (en) * | 2010-12-22 | 2015-01-06 | Via Technologies, Inc. | Master core discovering enabled cores in microprocessor comprising plural multi-core dies |
US9069555B2 (en) | 2011-03-21 | 2015-06-30 | Intel Corporation | Managing power consumption in a multi-core processor |
US8949637B2 (en) * | 2011-03-24 | 2015-02-03 | Intel Corporation | Obtaining power profile information with low overhead |
CN102841808B (zh) * | 2011-06-21 | 2017-12-08 | 技嘉科技股份有限公司 | 电脑系统的效能提升方法及其电脑系统 |
US8793515B2 (en) | 2011-06-27 | 2014-07-29 | Intel Corporation | Increasing power efficiency of turbo mode operation in a processor |
US8769316B2 (en) | 2011-09-06 | 2014-07-01 | Intel Corporation | Dynamically allocating a power budget over multiple domains of a processor |
US8688883B2 (en) | 2011-09-08 | 2014-04-01 | Intel Corporation | Increasing turbo mode residency of a processor |
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 |
US8914650B2 (en) | 2011-09-28 | 2014-12-16 | Intel Corporation | Dynamically adjusting power of non-core processor circuitry including buffer circuitry |
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 |
US8943340B2 (en) | 2011-10-31 | 2015-01-27 | Intel Corporation | Controlling a turbo mode frequency of a processor |
US9158693B2 (en) | 2011-10-31 | 2015-10-13 | Intel Corporation | Dynamically controlling cache size to maximize energy efficiency |
US8904209B2 (en) * | 2011-11-14 | 2014-12-02 | Microsoft Corporation | Estimating and managing power consumption of computing devices using power models |
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 |
US9239611B2 (en) | 2011-12-05 | 2016-01-19 | Intel Corporation | Method, apparatus, and system for energy efficiency and energy conservation including balancing power among multi-frequency domains of a processor based on efficiency rating scheme |
US8972763B2 (en) | 2011-12-05 | 2015-03-03 | Intel Corporation | Method, apparatus, and system for energy efficiency and energy conservation including determining an optimal power state of the apparatus based on residency time of non-core domains in a power saving state |
US8924758B2 (en) | 2011-12-13 | 2014-12-30 | Advanced Micro Devices, Inc. | Method for SOC performance and power optimization |
US9052901B2 (en) | 2011-12-14 | 2015-06-09 | Intel Corporation | Method, apparatus, and system for energy efficiency and energy conservation including configurable maximum processor current |
US8799694B2 (en) * | 2011-12-15 | 2014-08-05 | International Business Machines Corporation | Adaptive recovery for parallel reactive power throttling |
US9372524B2 (en) | 2011-12-15 | 2016-06-21 | Intel Corporation | Dynamically modifying a power/performance tradeoff based on processor utilization |
US9098261B2 (en) | 2011-12-15 | 2015-08-04 | Intel Corporation | User level control of power management policies |
US9137848B2 (en) * | 2012-01-31 | 2015-09-15 | Lg Electronics Inc. | Mobile terminal, controlling method thereof and recording medium thereof |
US9354689B2 (en) | 2012-03-13 | 2016-05-31 | Intel Corporation | Providing energy efficient turbo operation of a processor |
US9436245B2 (en) * | 2012-03-13 | 2016-09-06 | Intel Corporation | Dynamically computing an electrical design point (EDP) for a multicore processor |
WO2013137862A1 (en) | 2012-03-13 | 2013-09-19 | Intel Corporation | Dynamically controlling interconnect frequency in a processor |
US10191742B2 (en) * | 2012-03-30 | 2019-01-29 | Intel Corporation | Mechanism for saving and retrieving micro-architecture context |
US9547027B2 (en) | 2012-03-30 | 2017-01-17 | Intel Corporation | Dynamically measuring power consumption in a processor |
WO2013162589A1 (en) | 2012-04-27 | 2013-10-31 | Intel Corporation | Migrating tasks between asymmetric computing elements of a multi-core processor |
CN102789301A (zh) * | 2012-05-17 | 2012-11-21 | 江苏中科梦兰电子科技有限公司 | 一种计算机的电源管理方法 |
US9218045B2 (en) * | 2012-06-30 | 2015-12-22 | Intel Corporation | Operating processor element based on maximum sustainable dynamic capacitance associated with the processor |
US9063727B2 (en) | 2012-08-31 | 2015-06-23 | Intel Corporation | Performing cross-domain thermal control in a processor |
US8984313B2 (en) | 2012-08-31 | 2015-03-17 | Intel Corporation | Configuring power management functionality in a processor including a plurality of cores by utilizing a register to store a power domain indicator |
US9342122B2 (en) | 2012-09-17 | 2016-05-17 | Intel Corporation | Distributing power to heterogeneous compute elements of a processor |
US9423858B2 (en) | 2012-09-27 | 2016-08-23 | Intel Corporation | Sharing power between domains in a processor package using encoded power consumption information from a second domain to calculate an available power budget for a first domain |
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 |
US9164931B2 (en) | 2012-09-29 | 2015-10-20 | Intel Corporation | Clamping of dynamic capacitance for graphics |
US9946319B2 (en) * | 2012-11-20 | 2018-04-17 | Advanced Micro Devices, Inc. | Setting power-state limits based on performance coupling and thermal coupling between entities in a computing device |
US9575543B2 (en) | 2012-11-27 | 2017-02-21 | Intel Corporation | Providing an inter-arrival access timer in a processor |
US9183144B2 (en) | 2012-12-14 | 2015-11-10 | Intel Corporation | Power gating a portion of a cache memory |
US9292468B2 (en) | 2012-12-17 | 2016-03-22 | Intel Corporation | Performing frequency coordination in a multiprocessor system based on response timing optimization |
US9405351B2 (en) * | 2012-12-17 | 2016-08-02 | Intel Corporation | Performing frequency coordination in a multiprocessor system |
KR102005765B1 (ko) | 2012-12-17 | 2019-07-31 | 삼성전자주식회사 | 시스템-온 칩과, 이의 동작 방법 |
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 |
US9075556B2 (en) | 2012-12-21 | 2015-07-07 | Intel Corporation | Controlling configurable peak performance limits of a processor |
US9081577B2 (en) | 2012-12-28 | 2015-07-14 | Intel Corporation | Independent control of processor core retention states |
US9164565B2 (en) | 2012-12-28 | 2015-10-20 | Intel Corporation | Apparatus and method to manage energy usage of a processor |
US9335803B2 (en) * | 2013-02-15 | 2016-05-10 | Intel Corporation | Calculating a dynamically changeable maximum operating voltage value for a processor based on a different polynomial equation using a set of coefficient values and a number of current active cores |
US9367114B2 (en) | 2013-03-11 | 2016-06-14 | Intel Corporation | Controlling operating voltage of a processor |
US9395784B2 (en) | 2013-04-25 | 2016-07-19 | Intel Corporation | Independently controlling frequency of plurality of power domains in a processor system |
US9377841B2 (en) | 2013-05-08 | 2016-06-28 | Intel Corporation | Adaptively limiting a maximum operating frequency in a multicore processor |
US9823719B2 (en) | 2013-05-31 | 2017-11-21 | Intel Corporation | Controlling power delivery to a processor via a bypass |
US9195291B2 (en) | 2013-06-21 | 2015-11-24 | Apple Inc. | Digital power estimator to control processor power consumption |
US9304573B2 (en) * | 2013-06-21 | 2016-04-05 | Apple Inc. | Dynamic voltage and frequency management based on active processors |
US9348401B2 (en) | 2013-06-25 | 2016-05-24 | Intel Corporation | Mapping a performance request to an operating frequency in a processor |
US9471088B2 (en) | 2013-06-25 | 2016-10-18 | Intel Corporation | Restricting clock signal delivery in a processor |
US9348407B2 (en) | 2013-06-27 | 2016-05-24 | Intel Corporation | Method and apparatus for atomic frequency and voltage changes |
US9354681B2 (en) | 2013-06-28 | 2016-05-31 | Intel Corporation | Protected power management mode in a processor |
US9377836B2 (en) | 2013-07-26 | 2016-06-28 | Intel Corporation | Restricting clock signal delivery based on activity in a processor |
US9495001B2 (en) | 2013-08-21 | 2016-11-15 | Intel Corporation | Forcing core low power states in a processor |
US9292064B2 (en) * | 2013-09-18 | 2016-03-22 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Changing output power to be within a range based on a power use efficiency peak |
US10386900B2 (en) | 2013-09-24 | 2019-08-20 | Intel Corporation | Thread aware power management |
US9405345B2 (en) | 2013-09-27 | 2016-08-02 | Intel Corporation | Constraining processor operation based on power envelope information |
US9594560B2 (en) | 2013-09-27 | 2017-03-14 | Intel Corporation | Estimating scalability value for a specific domain of a multicore processor based on active state residency of the domain, stall duration of the domain, memory bandwidth of the domain, and a plurality of coefficients based on a workload to execute on the domain |
US9250910B2 (en) | 2013-09-27 | 2016-02-02 | Intel Corporation | Current change mitigation policy for limiting voltage droop in graphics logic |
US9494998B2 (en) | 2013-12-17 | 2016-11-15 | Intel Corporation | Rescheduling workloads to enforce and maintain a duty cycle |
US9514715B2 (en) | 2013-12-23 | 2016-12-06 | Intel Corporation | Graphics voltage reduction for load line optimization |
US9459689B2 (en) | 2013-12-23 | 2016-10-04 | Intel Corporation | Dyanamically adapting a voltage of a clock generation circuit |
US9436786B1 (en) | 2014-02-12 | 2016-09-06 | Xilinx, Inc. | Method and circuits for superclocking |
US9323525B2 (en) | 2014-02-26 | 2016-04-26 | Intel Corporation | Monitoring vector lane duty cycle for dynamic optimization |
US9606605B2 (en) | 2014-03-07 | 2017-03-28 | Apple Inc. | Dynamic voltage margin recovery |
US10108454B2 (en) | 2014-03-21 | 2018-10-23 | Intel Corporation | Managing dynamic capacitance using code scheduling |
US9665153B2 (en) | 2014-03-21 | 2017-05-30 | Intel Corporation | Selecting a low power state based on cache flush latency determination |
US9395788B2 (en) | 2014-03-28 | 2016-07-19 | Intel Corporation | Power state transition analysis |
US9671767B2 (en) | 2014-05-14 | 2017-06-06 | Advanced Micro Devices, Inc. | Hybrid system and method for determining performance levels based on thermal conditions within a processor |
US9652019B2 (en) | 2014-06-02 | 2017-05-16 | Advanced Micro Devices, Inc. | System and method for adjusting processor performance based on platform and ambient thermal conditions |
US10417149B2 (en) | 2014-06-06 | 2019-09-17 | Intel Corporation | Self-aligning a processor duty cycle with interrupts |
US9760158B2 (en) | 2014-06-06 | 2017-09-12 | Intel Corporation | Forcing a processor into a low power state |
US9606602B2 (en) | 2014-06-30 | 2017-03-28 | Intel Corporation | Method and apparatus to prevent voltage droop in a computer |
US9513689B2 (en) | 2014-06-30 | 2016-12-06 | Intel Corporation | Controlling processor performance scaling based on context |
US9575537B2 (en) | 2014-07-25 | 2017-02-21 | Intel Corporation | Adaptive algorithm for thermal throttling of multi-core processors with non-homogeneous performance states |
US9760136B2 (en) | 2014-08-15 | 2017-09-12 | Intel Corporation | Controlling temperature of a system memory |
US9665161B2 (en) * | 2014-08-27 | 2017-05-30 | Mediatek Inc. | Method and computer-readable medium for dynamically managing power of multi-core processor |
US9619289B2 (en) | 2014-09-11 | 2017-04-11 | Dell Products, L.P. | Workload optimized server for intelligent algorithm trading platforms |
US9671853B2 (en) | 2014-09-12 | 2017-06-06 | Intel Corporation | Processor operating by selecting smaller of requested frequency and an energy performance gain (EPG) frequency |
US20160327999A1 (en) * | 2014-09-17 | 2016-11-10 | Mediatek Inc. | Dynamic frequency scaling in multi-processor systems |
US10339023B2 (en) | 2014-09-25 | 2019-07-02 | Intel Corporation | Cache-aware adaptive thread scheduling and migration |
US9977477B2 (en) | 2014-09-26 | 2018-05-22 | Intel Corporation | Adapting operating parameters of an input/output (IO) interface circuit of a processor |
US10928882B2 (en) * | 2014-10-16 | 2021-02-23 | Futurewei Technologies, Inc. | Low cost, low power high performance SMP/ASMP multiple-processor system |
US10248180B2 (en) | 2014-10-16 | 2019-04-02 | Futurewei Technologies, Inc. | Fast SMP/ASMP mode-switching hardware apparatus for a low-cost low-power high performance multiple processor system |
US9684360B2 (en) | 2014-10-30 | 2017-06-20 | Intel Corporation | Dynamically controlling power management of an on-die memory of a processor |
US9703358B2 (en) | 2014-11-24 | 2017-07-11 | Intel Corporation | Controlling turbo mode frequency operation in a processor |
US20160147280A1 (en) | 2014-11-26 | 2016-05-26 | Tessil Thomas | Controlling average power limits of a processor |
US9710043B2 (en) | 2014-11-26 | 2017-07-18 | Intel Corporation | Controlling a guaranteed frequency of a processor |
US10048744B2 (en) | 2014-11-26 | 2018-08-14 | Intel Corporation | Apparatus and method for thermal management in a multi-chip package |
US10877530B2 (en) | 2014-12-23 | 2020-12-29 | Intel Corporation | Apparatus and method to provide a thermal parameter report for a multi-chip package |
US20160224098A1 (en) | 2015-01-30 | 2016-08-04 | Alexander Gendler | Communicating via a mailbox interface of a processor |
US9639134B2 (en) | 2015-02-05 | 2017-05-02 | Intel Corporation | Method and apparatus to provide telemetry data to a power controller of a processor |
US10234930B2 (en) | 2015-02-13 | 2019-03-19 | Intel Corporation | Performing power management in a multicore processor |
US9910481B2 (en) | 2015-02-13 | 2018-03-06 | Intel Corporation | Performing power management in a multicore processor |
US9874922B2 (en) | 2015-02-17 | 2018-01-23 | Intel Corporation | Performing dynamic power control of platform devices |
US9842082B2 (en) | 2015-02-27 | 2017-12-12 | Intel Corporation | Dynamically updating logical identifiers of cores of a processor |
US9710054B2 (en) | 2015-02-28 | 2017-07-18 | Intel Corporation | Programmable power management agent |
US9625984B2 (en) * | 2015-03-27 | 2017-04-18 | Intel Corporation | Technologies for managing power during an activation cycle |
US10031574B2 (en) * | 2015-05-20 | 2018-07-24 | Mediatek Inc. | Apparatus and method for controlling multi-core processor of computing system |
US9760160B2 (en) * | 2015-05-27 | 2017-09-12 | Intel Corporation | Controlling performance states of processing engines of a processor |
CN105068871B (zh) * | 2015-07-28 | 2018-12-21 | 深圳市万普拉斯科技有限公司 | 运算资源的控制方法和装置 |
US9710041B2 (en) | 2015-07-29 | 2017-07-18 | Intel Corporation | Masking a power state of a core of a processor |
US9990024B2 (en) * | 2015-09-09 | 2018-06-05 | Qualcomm Incorporated | Circuits and methods providing voltage adjustment as processor cores become active based on an observed number of ring oscillator clock ticks |
US10001822B2 (en) | 2015-09-22 | 2018-06-19 | Intel Corporation | Integrating a power arbiter in a processor |
US9983644B2 (en) | 2015-11-10 | 2018-05-29 | Intel Corporation | Dynamically updating at least one power management operational parameter pertaining to a turbo mode of a processor for increased performance |
US9910470B2 (en) | 2015-12-16 | 2018-03-06 | Intel Corporation | Controlling telemetry data communication in a processor |
US10146286B2 (en) | 2016-01-14 | 2018-12-04 | Intel Corporation | Dynamically updating a power management policy of a processor |
US10296067B2 (en) * | 2016-04-08 | 2019-05-21 | Qualcomm Incorporated | Enhanced dynamic clock and voltage scaling (DCVS) scheme |
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 |
US10289188B2 (en) | 2016-06-21 | 2019-05-14 | Intel Corporation | Processor having concurrent core and fabric exit from a low power state |
US10324519B2 (en) | 2016-06-23 | 2019-06-18 | Intel Corporation | Controlling forced idle state operation in a processor |
US10281975B2 (en) | 2016-06-23 | 2019-05-07 | Intel Corporation | Processor having accelerated user responsiveness in constrained environment |
US10379596B2 (en) | 2016-08-03 | 2019-08-13 | Intel Corporation | Providing an interface for demotion control information in a processor |
US10379904B2 (en) | 2016-08-31 | 2019-08-13 | Intel Corporation | Controlling a performance state of a processor using a combination of package and thread hint information |
US10423206B2 (en) * | 2016-08-31 | 2019-09-24 | Intel Corporation | Processor to pre-empt voltage ramps for exit latency reductions |
US10234920B2 (en) | 2016-08-31 | 2019-03-19 | Intel Corporation | Controlling current consumption of a processor based at least in part on platform capacitance |
US10168758B2 (en) | 2016-09-29 | 2019-01-01 | Intel Corporation | Techniques to enable communication between a processor and voltage regulator |
US10064141B2 (en) * | 2016-12-09 | 2018-08-28 | Qualcomm Incorporated | Core frequency/count decision-based thermal mitigation optimization for a multi-core integrated circuit |
JP2018106591A (ja) * | 2016-12-28 | 2018-07-05 | ルネサスエレクトロニクス株式会社 | 半導体装置、動作制御方法、及びプログラム |
US11054883B2 (en) * | 2017-06-19 | 2021-07-06 | Advanced Micro Devices, Inc. | Power efficiency optimization in throughput-based workloads |
US11144085B2 (en) * | 2017-06-23 | 2021-10-12 | Intel Corporation | Dynamic maximum frequency limit for processing core groups |
US10429919B2 (en) | 2017-06-28 | 2019-10-01 | Intel Corporation | System, apparatus and method for loose lock-step redundancy power management |
US10571998B2 (en) * | 2017-08-09 | 2020-02-25 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Systems and methods for operating computing devices at peak power efficiency in real time |
US11593544B2 (en) | 2017-08-23 | 2023-02-28 | Intel Corporation | System, apparatus and method for adaptive operating voltage in a field programmable gate array (FPGA) |
US10565079B2 (en) | 2017-09-28 | 2020-02-18 | Intel Corporation | Determination of idle power state |
US10620266B2 (en) | 2017-11-29 | 2020-04-14 | Intel Corporation | System, apparatus and method for in-field self testing in a diagnostic sleep state |
US10620682B2 (en) | 2017-12-21 | 2020-04-14 | Intel Corporation | System, apparatus and method for processor-external override of hardware performance state control of a processor |
US10909738B2 (en) | 2018-01-05 | 2021-02-02 | Nvidia Corporation | Real-time hardware-assisted GPU tuning using machine learning |
US11500439B2 (en) * | 2018-03-02 | 2022-11-15 | Samsung Electronics Co., Ltd. | Method and apparatus for performing power analytics of a storage system |
US10620969B2 (en) | 2018-03-27 | 2020-04-14 | Intel Corporation | System, apparatus and method for providing hardware feedback information in a processor |
US10739844B2 (en) | 2018-05-02 | 2020-08-11 | Intel Corporation | System, apparatus and method for optimized throttling of a processor |
US10955899B2 (en) | 2018-06-20 | 2021-03-23 | Intel Corporation | System, apparatus and method for responsive autonomous hardware performance state control of a processor |
US10976801B2 (en) | 2018-09-20 | 2021-04-13 | Intel Corporation | System, apparatus and method for power budget distribution for a plurality of virtual machines to execute on a processor |
US10860083B2 (en) | 2018-09-26 | 2020-12-08 | Intel Corporation | System, apparatus and method for collective power control of multiple intellectual property agents and a shared power rail |
US11656676B2 (en) | 2018-12-12 | 2023-05-23 | Intel Corporation | System, apparatus and method for dynamic thermal distribution of a system on chip |
US11256657B2 (en) | 2019-03-26 | 2022-02-22 | Intel Corporation | System, apparatus and method for adaptive interconnect routing |
US11442529B2 (en) | 2019-05-15 | 2022-09-13 | Intel Corporation | System, apparatus and method for dynamically controlling current consumption of processing circuits of a processor |
US11157329B2 (en) | 2019-07-26 | 2021-10-26 | Intel Corporation | Technology for managing per-core performance states |
US11698812B2 (en) * | 2019-08-29 | 2023-07-11 | Intel Corporation | System, apparatus and method for providing hardware state feedback to an operating system in a heterogeneous processor |
US10948957B1 (en) | 2019-09-26 | 2021-03-16 | Apple Inc. | Adaptive on-chip digital power estimator |
US11366506B2 (en) | 2019-11-22 | 2022-06-21 | Intel Corporation | System, apparatus and method for globally aware reactive local power control in a processor |
US11132201B2 (en) | 2019-12-23 | 2021-09-28 | Intel Corporation | System, apparatus and method for dynamic pipeline stage control of data path dominant circuitry of an integrated circuit |
US11921564B2 (en) | 2022-02-28 | 2024-03-05 | Intel Corporation | Saving and restoring configuration and status information with reduced latency |
US20230315191A1 (en) * | 2022-03-30 | 2023-10-05 | Advanced Micro Devices, Inc. | Core Activation and Deactivation for a Multi-Core Processor |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5790817A (en) * | 1996-09-25 | 1998-08-04 | Advanced Micro Devices, Inc. | Configurable digital wireless and wired communications system architecture for implementing baseband functionality |
US20020009510A1 (en) * | 1998-10-05 | 2002-01-24 | Muhlbauer Roman Conrad | Plant extracts for the treatment of increased bone resorption |
DE20212071U1 (de) * | 2002-08-06 | 2002-11-07 | Clevo Co | Notebookcomputer mit Temperaturregelfunktion |
US20040215986A1 (en) * | 2003-04-25 | 2004-10-28 | Shakkarwar Rajesh G. | Systems and methods for dynamic power management of electronic devices |
Family Cites Families (63)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
US5530932A (en) | 1994-12-23 | 1996-06-25 | Intel Corporation | Cache coherent multiprocessing computer system with reduced power operating features |
JP3466793B2 (ja) | 1995-09-28 | 2003-11-17 | 株式会社東芝 | マルチプロセッサシステム |
US5862368A (en) * | 1996-12-11 | 1999-01-19 | Dell Usa, L.P. | Process to allow automatic microprocessor clock frequency detection and selection |
US5832284A (en) * | 1996-12-23 | 1998-11-03 | International Business Machines Corporation | Self regulating temperature/performance/voltage scheme for micros (X86) |
US6308279B1 (en) | 1998-05-22 | 2001-10-23 | Intel Corporation | Method and apparatus for power mode transition in a multi-thread processor |
US6141762A (en) * | 1998-08-03 | 2000-10-31 | Nicol; Christopher J. | Power reduction in a multiprocessor digital signal processor based on processor load |
US6535798B1 (en) * | 1998-12-03 | 2003-03-18 | Intel Corporation | Thermal management in a system |
US6317840B1 (en) * | 1999-03-24 | 2001-11-13 | International Business Machines Corporation | Control of multiple equivalent functional units for power reduction |
US6631474B1 (en) * | 1999-12-31 | 2003-10-07 | Intel Corporation | System to coordinate switching between first and second processors and to coordinate cache coherency between first and second processors during switching |
US6766460B1 (en) * | 2000-08-23 | 2004-07-20 | Koninklijke Philips Electronics N.V. | System and method for power management in a Java accelerator environment |
US6988211B2 (en) * | 2000-12-29 | 2006-01-17 | Intel Corporation | System and method for selecting a frequency and voltage combination from a table using a selection field and a read-only limit field |
US6829713B2 (en) * | 2000-12-30 | 2004-12-07 | Intel Corporation | CPU power management based on utilization with lowest performance mode at the mid-utilization range |
JP2002215599A (ja) * | 2001-01-18 | 2002-08-02 | Mitsubishi Electric Corp | マルチプロセッサシステムおよびその制御方法 |
US6990598B2 (en) * | 2001-03-21 | 2006-01-24 | Gallitzin Allegheny Llc | Low power reconfigurable systems and methods |
US6836849B2 (en) * | 2001-04-05 | 2004-12-28 | International Business Machines Corporation | Method and apparatus for controlling power and performance in a multiprocessing system according to customer level operational requirements |
US6678811B2 (en) * | 2001-04-07 | 2004-01-13 | Hewlett-Packard Development Company, L.P. | Memory controller with 1X/MX write capability |
US6845456B1 (en) * | 2001-05-01 | 2005-01-18 | Advanced Micro Devices, Inc. | CPU utilization measurement techniques for use in power management |
US7111178B2 (en) * | 2001-09-28 | 2006-09-19 | Intel Corporation | Method and apparatus for adjusting the voltage and frequency to minimize power dissipation in a multiprocessor system |
US6804632B2 (en) * | 2001-12-06 | 2004-10-12 | Intel Corporation | Distribution of processing activity across processing hardware based on power consumption considerations |
US7318164B2 (en) * | 2001-12-13 | 2008-01-08 | International Business Machines Corporation | Conserving energy in a data processing system by selectively powering down processors |
US7089430B2 (en) * | 2001-12-21 | 2006-08-08 | Intel Corporation | Managing multiple processor performance states |
US6996728B2 (en) * | 2002-04-26 | 2006-02-07 | Hewlett-Packard Development Company, L.P. | Managing power consumption based on utilization statistics |
US7222245B2 (en) * | 2002-04-26 | 2007-05-22 | Hewlett-Packard Development Company, L.P. | Managing system power based on utilization statistics |
US7254812B1 (en) * | 2002-05-31 | 2007-08-07 | Advanced Micro Devices, Inc. | Multi-processor task scheduling |
US7155617B2 (en) * | 2002-08-01 | 2006-12-26 | Texas Instruments Incorporated | Methods and systems for performing dynamic power management via frequency and voltage scaling |
US7080263B2 (en) * | 2002-08-12 | 2006-07-18 | Hewlett-Packard Development Company, L.P. | Voltage management of processors in a bladed system based on number of loaded processors |
US6908227B2 (en) * | 2002-08-23 | 2005-06-21 | Intel Corporation | Apparatus for thermal management of multiple core microprocessors |
US7313706B2 (en) * | 2002-09-17 | 2007-12-25 | Hewlett-Packard Development Company, L.P. | System and method for managing power consumption for a plurality of processors based on a supply voltage to each processor, temperature, total power consumption and individual processor power consumption |
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 |
US7069189B2 (en) * | 2002-12-31 | 2006-06-27 | Intel Corporation | Method and apparatus for controlling multiple resources using thermal related parameters |
US6711447B1 (en) * | 2003-01-22 | 2004-03-23 | Intel Corporation | Modulating CPU frequency and voltage in a multi-core CPU architecture |
US7337334B2 (en) * | 2003-02-14 | 2008-02-26 | International Business Machines Corporation | Network processor power management |
US7093147B2 (en) * | 2003-04-25 | 2006-08-15 | Hewlett-Packard Development Company, L.P. | Dynamically selecting processor cores for overall power efficiency |
US20050046400A1 (en) * | 2003-05-21 | 2005-03-03 | Efraim Rotem | Controlling operation of a voltage supply according to the activity of a multi-core integrated circuit component or of multiple IC components |
US7146514B2 (en) * | 2003-07-23 | 2006-12-05 | Intel Corporation | Determining target operating frequencies for a multiprocessor system |
US7134031B2 (en) * | 2003-08-04 | 2006-11-07 | Arm Limited | Performance control within a multi-processor system |
US8037445B2 (en) | 2003-08-20 | 2011-10-11 | Hewlett-Packard Development Company, L.P. | System for and method of controlling a VLSI environment |
US7290155B2 (en) | 2003-10-28 | 2007-10-30 | Intel Corporation | Method, system, and apparatus for dynamically configuring the operating point utilized for thermal management of an integrated circuit |
US20050132239A1 (en) * | 2003-12-16 | 2005-06-16 | Athas William C. | Almost-symmetric multiprocessor that supports high-performance and energy-efficient execution |
US7770034B2 (en) * | 2003-12-16 | 2010-08-03 | Intel Corporation | Performance monitoring based dynamic voltage and frequency scaling |
US7167992B2 (en) * | 2003-12-18 | 2007-01-23 | Lenovo Singapore Pte, Ltd. | Method for controlling the switching of operating modes of an information processor according to the time of switching of the operating modes |
EP1555595A3 (de) * | 2004-01-13 | 2011-11-23 | LG Electronics, Inc. | Vorrichtung zur Stromversorgungssteuerung eines eine Mehrzahl von Kernen aufweisenden Prozessors und entsprechendes Steuerungsverfahren |
US7062933B2 (en) * | 2004-03-24 | 2006-06-20 | Intel Corporation | Separate thermal and electrical throttling limits in processors |
US7360103B2 (en) * | 2004-05-21 | 2008-04-15 | Intel Corporation | P-state feedback to operating system with hardware coordination |
JP3805344B2 (ja) | 2004-06-22 | 2006-08-02 | 株式会社ソニー・コンピュータエンタテインメント | プロセッサ、情報処理装置およびプロセッサの制御方法 |
US7249268B2 (en) * | 2004-06-29 | 2007-07-24 | Intel Corporation | Method for performing performance optimization operations for a processor having a plurality of processor cores in response to a stall condition |
US7330988B2 (en) | 2004-06-30 | 2008-02-12 | Sun Microsystems, Inc. | Method and apparatus for power throttling in a multi-thread processor |
US8190863B2 (en) | 2004-07-02 | 2012-05-29 | Intel Corporation | Apparatus and method for heterogeneous chip multiprocessors via resource allocation and restriction |
US7363523B2 (en) * | 2004-08-31 | 2008-04-22 | Intel Corporation | Method and apparatus for controlling power management state transitions |
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 |
US7711966B2 (en) * | 2004-08-31 | 2010-05-04 | Qualcomm Incorporated | Dynamic clock frequency adjustment based on processor load |
US7426648B2 (en) * | 2004-09-30 | 2008-09-16 | Intel Corporation | Global and pseudo power state management for multiple processing elements |
US7257679B2 (en) | 2004-10-01 | 2007-08-14 | Advanced Micro Devices, Inc. | Sharing monitored cache lines across multiple cores |
US7788670B2 (en) * | 2004-10-26 | 2010-08-31 | Intel Corporation | Performance-based workload scheduling in multi-core architectures |
US7386737B2 (en) | 2004-11-02 | 2008-06-10 | Intel Corporation | Method and apparatus to control temperature of processor |
US7526661B2 (en) * | 2004-12-02 | 2009-04-28 | Intel Corporation | Performance state-based thread management |
US7346787B2 (en) * | 2004-12-07 | 2008-03-18 | Intel Corporation | System and method for adaptive power management |
US7814485B2 (en) * | 2004-12-07 | 2010-10-12 | Intel Corporation | System and method for adaptive power management based on processor utilization and cache misses |
US7502948B2 (en) | 2004-12-30 | 2009-03-10 | Intel Corporation | Method, system, and apparatus for selecting a maximum operation point based on number of active cores and performance level of each of the active cores |
US7463993B2 (en) | 2005-05-10 | 2008-12-09 | Intel Corporation | Adaptive thermal-based frequency-bounds control |
-
2004
- 2004-12-30 US US11/026,705 patent/US7502948B2/en active Active
-
2005
- 2005-12-20 DE DE112005003136T patent/DE112005003136B4/de active Active
- 2005-12-20 CN CNB2005800442307A patent/CN100549908C/zh active Active
- 2005-12-20 WO PCT/US2005/046847 patent/WO2006073899A2/en active Application Filing
- 2005-12-23 TW TW094146174A patent/TWI310129B/zh active
-
2009
- 2009-03-10 US US12/401,538 patent/US8650424B2/en active Active
-
2010
- 2010-12-29 US US12/980,532 patent/US9619009B2/en active Active
-
2013
- 2013-12-28 US US14/142,822 patent/US20140115362A1/en not_active Abandoned
-
2015
- 2015-09-26 US US14/866,874 patent/US9785226B2/en active Active
-
2016
- 2016-04-29 US US15/143,309 patent/US10013047B2/en active Active
-
2018
- 2018-07-02 US US16/025,955 patent/US11287871B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5790817A (en) * | 1996-09-25 | 1998-08-04 | Advanced Micro Devices, Inc. | Configurable digital wireless and wired communications system architecture for implementing baseband functionality |
US20020009510A1 (en) * | 1998-10-05 | 2002-01-24 | Muhlbauer Roman Conrad | Plant extracts for the treatment of increased bone resorption |
DE20212071U1 (de) * | 2002-08-06 | 2002-11-07 | Clevo Co | Notebookcomputer mit Temperaturregelfunktion |
US20040215986A1 (en) * | 2003-04-25 | 2004-10-28 | Shakkarwar Rajesh G. | Systems and methods for dynamic power management of electronic devices |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102012213063A1 (de) * | 2012-07-25 | 2014-01-30 | Siemens Aktiengesellschaft | Steuervorrichtung für eine Prozess- und/oder Fertigungsanlage |
Also Published As
Publication number | Publication date |
---|---|
US10013047B2 (en) | 2018-07-03 |
US8650424B2 (en) | 2014-02-11 |
US20140115362A1 (en) | 2014-04-24 |
CN100549908C (zh) | 2009-10-14 |
US20160018882A1 (en) | 2016-01-21 |
CN101111814A (zh) | 2008-01-23 |
DE112005003136T5 (de) | 2007-11-22 |
US20090172375A1 (en) | 2009-07-02 |
US20110099397A1 (en) | 2011-04-28 |
TW200634498A (en) | 2006-10-01 |
WO2006073899A2 (en) | 2006-07-13 |
US9619009B2 (en) | 2017-04-11 |
US9785226B2 (en) | 2017-10-10 |
US20160246359A1 (en) | 2016-08-25 |
US20190041966A1 (en) | 2019-02-07 |
US11287871B2 (en) | 2022-03-29 |
US20060149975A1 (en) | 2006-07-06 |
WO2006073899A3 (en) | 2007-01-04 |
US7502948B2 (en) | 2009-03-10 |
TWI310129B (en) | 2009-05-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE112005003136B4 (de) | Verfahren, Vorrichtung und System zum dynamischen Einstellen von Arbeitsparametern von mehreren Porzessorkernen | |
DE602005005035T2 (de) | Verfahren zur ausführung von operationen, die durch ein bauteil mit einem thermischen schwellwert auszuführen sind, sowie verarbeitungssystem mit einem proszessor | |
DE102020120019A1 (de) | Proaktive di/dt-spannungs-dachabfall-abschwächung | |
DE112007001215B4 (de) | Vorhersage der Leistungsnutzung von Rechenplattformspeicher | |
DE102009058426B4 (de) | Verfahren und Vorrichtung zum Power-Management eines Prozessors | |
DE112011103193B4 (de) | Bereitstellung einer Pro-Kern-Spannungs-und Frequenzsteuerung | |
DE112011103216T5 (de) | Scheduling von Anwendungen in heterogenen Multiprozessorcomputerplattformen | |
DE102010054337A1 (de) | Mechanismen, um ineffizientes Core-Hopping zu vermeiden und Hardware-unterstützte Auswahl eines Niedrigleitungszustands bereitzustellen | |
DE112017001805T5 (de) | Bestimmen von thermischen obergrenzen in einem prozessor mit mehreren dies | |
DE102007006190B4 (de) | Techniken zur Verwendung von Speicher-Attributen | |
DE102009051387A1 (de) | Power Management für Mehrprozessorkerne | |
DE112012002664T5 (de) | Erhöhen der Energieeffizienz des Turbo-Modus-Betriebs in einem Prozessor | |
DE112007000446T5 (de) | Verfahren und Vorrichtung zum Verwenden dynamischer Arbeitsmengenmerkmale, um die Skalierung von Frequenz und Spannung einer CPU zu steuern | |
DE112006002056T5 (de) | Erhöhung der Arbeitsleistung eines oder mehrerer Kerne in Multikernprozessoren | |
DE102010034555A1 (de) | Bereitstellen von Zustandsspeicher in einem Prozessor für Systemmanagement-Modus | |
DE202012008539U1 (de) | Dynamisches Zuordnen eines Leistungsbudgets über mehrere Domänen eines Prozessors | |
DE112013005278T5 (de) | Dynamisches Abgleichen von Leistung über eine Mehrzahl von Prozessordomänen gemäß Leistungsabgleichsteuerungs-BIAS | |
DE112012007115T5 (de) | Wahlweise Logikprozessor-Zählung und Typauswahl für eine gegebene Arbeitsbelastung basierend auf Wärme- und Leistungsbudget-Einschränkungen der Plattform | |
DE112018007545T5 (de) | Energiesteuerungsarbitration | |
DE112007001987T5 (de) | Überführen einer Rechenplattform in einen Systemzustand niedriger Leistung | |
DE112011105590T5 (de) | Energieeffiziente Prozessorarchitektur | |
DE112004001887T5 (de) | Optimierung der SMI-Handhabung und -Initialisierung | |
DE112013006241T5 (de) | Techniken für Plattform-Arbeitszyklus-Wechsel | |
DE112013005081T5 (de) | Ausführen der Frequenzkoordination in einem Mehrprozessorsystem | |
US20190146567A1 (en) | Processor throttling based on accumulated combined current measurements |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8364 | No opposition during term of opposition |