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 PDF

Info

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
Application number
DE112005003136T
Other languages
English (en)
Other versions
DE112005003136T5 (de
Inventor
Efraim Rotem
Oren Lamden
Alon Naveh
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of DE112005003136T5 publication Critical patent/DE112005003136T5/de
Application granted granted Critical
Publication of DE112005003136B4 publication Critical patent/DE112005003136B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3287Power saving characterised by the action undertaken by switching off individual functional units in the computer system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/20Cooling means
    • G06F1/206Cooling means comprising thermal management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/324Power saving characterised by the action undertaken by lowering clock frequency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/325Power saving in peripheral device
    • G06F1/3275Power saving in memory, e.g. RAM, cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3296Power saving characterised by the action undertaken by lowering the supply or operating voltage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0862Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0875Addressing 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3802Instruction prefetching
    • G06F9/3814Implementation provisions of instruction buffers, e.g. prefetch buffer; banks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3243Power saving in microcontroller unit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/45Caching of specific data in cache memory
    • G06F2212/452Instruction code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/60Details of cache memory
    • G06F2212/602Details relating to cache prefetching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30076Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
    • G06F9/30083Power or thermal control instructions
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing 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).

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 offenbart ebenfalls ein Verfahren zum dynamischen Einstellen von Arbeitsparametern, nämlich der Arbeitsfrequenz und der Arbeitsspannung in Abhängigkeit von Programmlaufzeiten.
  • Aus der US-2004/0215986 A1 ist bekannt, zur Leistungseinsparung die Arbeitsfrequenz und die Arbeitsspannung in Abhängigkeit von einer notwendigen Bandbreite zur Übertragung von Informationen dynamisch einzustellen.
  • 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 Verarbeitungsarchitektur 10 mit einer Mehrzahl von Prozessorkernen 12 (12a, 12b), ein Aktivitätsmodul 14 und eine Mehrzahl von maximalen Arbeitspunkten 16 (16a, 16b), aus denen ausgewählt wird. Die Prozessorkerne 12 können ähnlich einem Pentium® 4 Prozessorkern sein, der von der Intel® Corporation in Santa Clara, Kalifornien erhältlich ist, bei dem jeder Kern 12 vollständig funktional mit Holbefehl-Einheiten, Anweisungsdekodierern, Level one (L1) Cache, Ausführungseinheiten usw. (nicht gezeigt) sein. Zusätzlich kann das Aktivitätsmodul 14 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ätsmodul 14 als Hardware ausgeführt.
  • In einem Beispiel weist jeder der maximalen Arbeitspunkte 16 eine maximale Arbeitsfrequenz und Spannung auf. Die maximalen Arbeitspunkte 16 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ätsmodul 14 ermittelt die Anzahl 18 aktiver Kerne in der Mehrzahl von Prozessorkernen 12 und wählt einen maximalen Arbeitspunkt 17 für die aktiven Kerne basierend auf der Anzahl 18 von aktiven Kernen aus. Die maximalen Arbeitspunkte 16 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
    Tabelle I
  • Wobei der erste maximale Arbeitspunkt 16a dem Wert von 2,0 GHz zugeordnet ist und der zweite maximale Arbeitspunkt 16b dem Wert von 1,5 GHz zugeordnet ist. Ermittelt daher das Aktivitätsmodul 14, das der erste Kern 12a aktiv ist und der zweite Kern 12b inaktiv ist, würde die Anzahl von aktiven Kernen eins sein und der erste maximale Arbeitspunkt 16a (i. e. eine maximale Arbeitsfrequenz von 2,0 GHz) würde für den ersten Kern 12a ausgewählt werden. In ähnlicher Weise, wenn ermittelt wird, dass der erste Kern 12a inaktiv ist und der zwei te Kern 12b aktiv ist, würde der erste maximale Arbeitspunkt 16a (i. e. eine maximale Arbeitsfrequenz von 2,0 GHz) für den zweiten Kern 12b ausgewählt werden.
  • Ermittelt das Aktivitätsmodul 14 auf der anderen Seite, dass sowohl der erste Kern 12a als auch der zweite Kern 12b aktiv sind, würde die Anzahl von aktiven Kernen zwei sein und der zweite maximale Arbeitspunkt 16b (i. e. eine maximale Arbeitsfrequenz von 1,5 GHz) würde sowohl für den ersten Kern 12a als auch den zweiten Kern 12b ausgewählt werden. Daher kann das dargestellte Aktivitätsmodul 14 unter den oben genannten Gegebenheiten ermitteln, dass beide Kerne 12a, 12b aktiv sind und daher den zweiten maximalen Arbeitspunkt 16b als den ausgewählten maximalen Arbeitspunkt 17 auswählen. Die speziellen Frequenzen sind nur angegeben, um die Diskussion zu erleichtern.
  • Durch Auswählen des maximalen Arbeitspunkts 17 basierend auf der Anzahl 18 von aktiven Kernen bietet die Architektur 10 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 Kernleistungsgraden 19, die durch das Aktivitätsmodul 14 ermittelt werden können. Insbesondere vermögen die Prozessorkerne 12 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 und 12b aktiv sind und dass der erste Kern 12a bei 1,0 GHz arbeitet. Es kann auch ermittelt worden sein, dass unter solchen Bedingungen der zweite Kern 12b 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 Arbeitspunkts 17 für beide Kerne bei 1,5 GHz, könnte das Aktivitätsmodul 14 die aktive Kernleistungsgrade 19 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 Arbeitspunkt 17 eine pro Kern Komponente haben.
  • Sich nun 2 zuwendend ist ein System 20 mit einem Multikern Prozessor 22 gezeigt, wobei das System 20 Teil eines Servers, eines Desktop Personalcomputers (PC), eines Notebook PCs, einer Handheld Computereinrichtung, etc. sein kann. Im dargestellten Beispiel hat der Prozessor 22 ein Aktivitätsmodul 14', eine Mehrzahl von Prozessorkernen 12'(12a'12n') und eine Spannungs- und Frequenzsteuerung 24.
  • Das dargestellte System 20 beinhaltet auch eine oder mehrere Input/Output (I/O) Einrichtungen 26 und verschiedene Speichersubsysteme, die an den Prozessor 22 entweder direkt oder über den Weg eines Chipsatzes 28 angeschlossen sind. Im gezeigten Beispiel weisen die Speichersubsysteme einen Random Access Memory (RAM) 30 und 31, 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 RAM 30 als ein SODIMM besonders nützlich sein, wenn das System 20 Teil eines Notebook PCs ist, in dem die thermischen Beschränkungen relativ streng sind. SODIMMs sind in größerem Detail im US-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 RAM 30, 31 und ROM 32 beinhaltet Anweisungen 34, die durch den Prozessor 22 als ein oder mehrere Threads ausgeführt werden kann. Das ROM 32 kann ein Basic Input/Output System (BIOS) Flashspeicher sein. Jeder RAM 30, 31 und/oder ROM 32 vermag eine Konfigurationstabelle 36 zu speichern, die verwendet werden kann, um maximale Arbeitspunkte auszuwählen. Die Tabelle 36, 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ätsmodul 14' eine Konfigurationstabelleneingabe 38 aufweisen, die verwendet werden kann, um auf die Konfigurationstabelle 36 zuzugreifen.
  • Wie bereits diskutiert, vermag das Aktivitätsmodul 14' die Anzahl von aktiven Kernen in der Mehrzahl von Prozessorkernen 12' zu ermitteln. Die Aktivität kann durch Überwachen eines Zustandsignals 40 (40a40n) eines jeden der Mehrzahl von Prozessorkernen 12' und Identifizieren, ob jedes Zustandssignal 40 anzeigt, dass der zugehörige Kern aktiv ist, ermittelt werden. Beispielsweise kann das Aktivitätsmodul 14' 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 Prozessorkernen 12' ü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 Zustandssignale 40 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 Ruhezustandssignale 40 überwacht, identifizieren, ob jedes Zustandssignal 40 anzeigt, dass der zugehörige Kern aktiv ist. Das Aktivitätsmodul 14' kann dann die Konfigurationstabelle 36 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ätsmodul 14' einen maximalen Arbeitspunkt abfragen, über die Konfigurationstabelleneingabe 38 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 Begrenzungsanfrage 42 basierend auf dem maximalen Arbeitspunkt erzeugen. Wie bereits bemerkt, kann die Begrenzungsanfrage 42 eine maximale Arbeitsfrequenz und/oder maximale Kernspannung bestimmen. Daher stellt die Steuerung 24 sicher, wenn die aktiven Kerne Arbeitspunktanfragen an die Steuerung 24 senden, dass keine der Arbeitspunkte den maximalen Arbeitspunkt übertrifft, der in der Be grenzungsanfrage 42 bestimmt ist. Einfach ausgedrückt, kann die Steuerung 24 den geeigneten Parameter der aktiven Kerne basierend auf der Begrenzungsanfrage 42 begrenzen.
  • Obwohl das dargestellte System 20 eine Verarbeitungsarchitektur aufweist, die einen Einzelpaket/Anschluss, Multikern-Prozessor 22 enthält, sind die Ausgestaltungen der Erfindung nicht derart begrenzt. Beispielsweise könnte eine erste Teilmenge der Mehrzahl von Prozessorkernen 12 innerhalb eines ersten Prozessorpakets enthalten sein und eine zweite Teilmenge der Mehrzahl von Prozessorkernen 12 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 System 20 gut geeignet ist.
  • Sich nun 3 zuwendend ist ein Verfahren 44 zum Verwalten von Arbeitspunkten gezeigt. Das Verfahren 44 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 Verarbeitungsblock 46 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 Block 48 ausgewählt basierend auf der Anzahl von aktiven Kernen und/oder dem aktiven Kernleistungsgrad (den aktiven Kernleistungsgraden). Der Block 50 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 Block 46'. Insbesondere sieht der dargestellte Block 52 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 Block 52 das Überwachen der Leistungszustandsdaten, können die Signale ACPI Px Zu standssignale sein. Block 54 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 Block 48' 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 Block 56 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 Block 58 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)

  1. 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).
  2. 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.
  3. Verfahren nach Anspruch 2, dadurch gekennzeichnet, dass das Überwachen das Überwachen eines Advanced Configuration and Power Interface (ACPI) Prozessorenergiezustand (Cx-Zustand) Signals beinhaltet.
  4. 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.
  5. Verfahren nach Anspruch 4, dadurch gekennzeichnet, dass das Durchsuchen das Durchsuchen einer Basic Input/Output System (BIOS) Konfigurationstabelle beinhaltet.
  6. Verfahren nach Anspruch 1, gekennzeichnet durch Ermitteln eines Leistungsgrads von jedem der aktiven Kerne, wobei das Auswählen weiter auf den Leistungsgraden basiert.
  7. 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.
  8. 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.
  9. 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.
  10. 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.
  11. 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.
  12. 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.
  13. Vorrichtung nach Anspruch 8, gekennzeichnet durch eine Prozessorbaugruppe, die die Mehrzahl von Prozessorkernen enthält.
  14. 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.
  15. 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.
  16. 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.
  17. 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.
DE112005003136T 2004-12-30 2005-12-20 Verfahren, Vorrichtung und System zum dynamischen Einstellen von Arbeitsparametern von mehreren Porzessorkernen Active DE112005003136B4 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6895520B1 (en) 2001-03-02 2005-05-17 Advanced Micro Devices, Inc. Performance and power optimization via block oriented performance measurement and control
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (4)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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