DE112012006163T5 - Steuerung des Energieverbrauchs in Mehrkernumgebungen - Google Patents
Steuerung des Energieverbrauchs in Mehrkernumgebungen Download PDFInfo
- Publication number
- DE112012006163T5 DE112012006163T5 DE112012006163.2T DE112012006163T DE112012006163T5 DE 112012006163 T5 DE112012006163 T5 DE 112012006163T5 DE 112012006163 T DE112012006163 T DE 112012006163T DE 112012006163 T5 DE112012006163 T5 DE 112012006163T5
- Authority
- DE
- Germany
- Prior art keywords
- core
- frequency
- power
- tile
- modulated
- 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.)
- Granted
Links
- 238000005265 energy consumption Methods 0.000 title description 6
- 230000000903 blocking effect Effects 0.000 claims abstract description 20
- 238000000034 method Methods 0.000 claims abstract description 20
- 230000003247 decreasing effect Effects 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 10
- 238000004519 manufacturing process Methods 0.000 description 4
- 102100033239 Ras association domain-containing protein 5 Human genes 0.000 description 2
- 108050007751 Ras association domain-containing protein 5 Proteins 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 239000003990 capacitor Substances 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 150000001875 compounds Chemical class 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000001816 cooling Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000035800 maturation Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000000206 photolithography Methods 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- 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/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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/324—Power saving characterised by the action undertaken by lowering clock frequency
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3296—Power saving characterised by the action undertaken by lowering the supply or operating voltage
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/80—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Power Sources (AREA)
- Dc-Dc Converters (AREA)
Abstract
Systeme und Verfahren der Ermöglichung der Modulation einer Frequenz eines ersten Kerns in einer Mehrkernumgebung beinhalten Logik zur Bestimmung einer Leistungsgrenze, die einem ersten Kern zugewiesen ist, Logik zur Bestimmung einer Blockierzahl des ersten Kerns und Logik zur Modulation der Frequenz des ersten Kerns auf Basis von zumindest der Leistungsgrenze, die dem ersten Kern zugewiesen wurde, und der Blockierzahl des ersten Kerns. Der erste Kern ist in einer ersten Kachel eines Steckplatzes in der Mehrkern-Computerumgebung enthalten.
Description
- HINTERGRUND
- High Performance Computing(HPC)- und Supercomputing-Umgebungen können die Integration mehrerer Kerne erfordern. Der Stromverbrauch in diesen Umgebungen kann jedoch erheblich sein.
- KURZE BESCHREIBUNG DER ZEICHNUNGEN
- Die verschiedenen Vorteile der erfindungsgemäßen Ausführungsformen sind für den Fachmann beim Durchlesen der folgenden Beschreibung und der anhängenden Ansprüche sowie unter Bezugnahme auf die folgenden Zeichnungen offensichtlich, in denen:
-
1 ein Blockdiagramm ist, das ein beispielhaftes Computersystem gemäß einigen Ausführungsformen veranschaulicht, -
2 ein Blockdiagramm ist, das ein Beispiel eines Mehrkernprozessors gemäß einigen Ausführungsformen veranschaulicht, -
3 ein Blockdiagramm ist, das ein Beispiel einer Steckplatzleistungssteuereinheit (power control unit, PCU) gemäß einigen Ausführungsformen veranschaulicht, -
4 ein Blockdiagramm ist, das ein Beispiel einer lokalen Kernleistungseinheit (core local power unit, CLPU) ist, die verwendet werden kann, um die Frequenz eines Kerns zu steuern, gemäß einigen Ausführungsformen veranschaulicht und -
5 ein Ablaufdiagramm eines beispielhaften Verfahrens der Modulation der Frequenz eines Kerns in einer Kachel gemäß einigen Ausführungsformen ist. - AUSFÜHRLICHE BESCHREIBUNG
- Ausführungsformen können eine Vorrichtung umfassen, die die Modulation einer Frequenz eines ersten Kerns in einer Mehrkernumgebung ermöglicht, wobei die Vorrichtung Logik zur Bestimmung der Leistungsgrenze beinhalten kann, die einem ersten Kern zugewiesen ist, Logik zur Bestimmung einer Blockierzahl des ersten Kerns und Logik zur Modulation der Frequenz des ersten Kerns auf Basis von zumindest der Leistungsgrenze, die dem ersten Kern zugewiesen wurde, und der Blockierzahl des ersten Kerns. Der erste Kern kann in einer ersten Kachel eines Steckplatzes in der Mehrkerncomputerumgebung enthalten sein.
- Ausführungsformen können ein System umfassen, in dem eine Phasenregelschleife (phase locked loop, PLL) so konfiguriert ist, dass sie mit einem Taktsignal in einer Mehrkernumgebung verbunden ist. Das System kann einen Steckplatz umfassen, der mit der PLL gekoppelt und so konfiguriert ist, dass er mehrere Kacheln umfasst. Mindestens eine der Kacheln kann einen ersten Kern und einen zweiten Kern enthalten. Der ersten Kerns kann so konfiguriert sein, dass er eine Logik zur Bestimmung der Leistungsgrenze beinhaltet, die einem ersten Kern zugewiesen ist, zur Bestimmung einer Blockierzahl des ersten Kerns und zur Modulation der Frequenz des ersten Kerns auf Basis von zumindest der Leistungsgrenze, die dem ersten Kern zugewiesen wurde, und der Blockierzahl des ersten Kerns. Die Modulation der Frequenz des ersten Kerns kann unabhängig von einer Frequenz der Kacheln durchgeführt werden, die nicht mit dem ersten Kern verbunden sind.
- Ausführungsformen können ein computerimplementiertes Verfahren umfassen, das die Modulation einer Frequenz eines ersten Kerns in einer ersten Kachel einer Mehrkernumgebung zumindest unabhängig von Kernen in anderen Kacheln auf Basis zumindest einer geschätzten Leistungsanforderung des Kerns, einer Leistungsgrenze, die dem Kern zugewiesen ist, und einer Blockierzahl des Kerns bereitstellt. Die erste Kachel und die zweite Kachel können mit einer Phasenregelschleife (phase locked loop, PLL) eines Steckplatzes verbunden sein.
- In
1 ist ein Blockdiagramm, das ein beispielhaftes Computersystem100 veranschaulicht, gemäß einigen Ausführungsformen dargestellt. Computersystem100 kann eine Zentraleinheit (CPU)105 , einen Grafik- und Speichercontroller-Hub (GMCH)110 und einen Eingabe/Ausgabe-Controller-Hub (ICH)125 beinhalten. GMCH110 kann mit CPU105 über einen Bus107 gekoppelt sein. ICH125 kann mit GMCH110 über einen Bus122 gekoppelt sein. GMCH110 kann außerdem mit Speichergeräten115 und Anzeigegeräten120 gekoppelt sein. ICH125 kann mit E/A-Geräten130 gekoppelt sein. GMCH110 kann ein Grafiksystem200 (nicht dargestellt) umfassen. Auch wenn CPU105 , GMCH110 und ICH125 als getrennte Komponenten veranschaulicht sein können, können die Funktionen von ein oder mehreren dieser Komponenten kombiniert werden. Eine Stromversorgung150 kann verwendet werden, um Computersystem100 mit Strom zu versorgen. Stromversorgung150 kann eine Batterie oder eine externe Stromquelle sein. - In einigen Ausführungsformen kann CPU
105 ein Mehrkernprozessor sein. Die Mehrkernarchitektur kann beispielsweise auf der Many Integrated Core(MIC)-Architektur der Intel Corporation aus Santa Clara, Kalifornien, basieren und sie kann als PCI Express(Peripheral Component Interconnect Express)-Karte implementiert sein. Computersystem100 kann außerdem viele anderen Komponenten enthalten, die jedoch aus Gründen der Vereinfachung nicht dargestellt sind. In einigen Ausführungsformen kann Computersystem100 ein Servercomputersystem sein. - In
2 ist ein Blockdiagramm, das einen beispielhaften Mehrkernprozessor veranschaulicht, gemäß einigen Ausführungsformen dargestellt. Mehrkernprozessor200 kann mehrere Kerne240 ,242 ,250 ,252 ,260 ,262 ,270 und272 und mehrere Kacheln205 ,215 ,225 und235 umfassen. Jede Kachel kann zwei Kerne umfassen. Kachel205 kann beispielsweise Kerne240 und242 umfassen. Es sollte beachtet werden, dass die Anzahl der Kacheln und Kerne im Mehrkernprozessor200 um viele höher liegen kann. Es können zum Beispiel fünfzig (50) Kernen in fünfundzwanzig (25) Kacheln enthalten sein. Die Kerne240 –272 und die Kacheln205 –235 können mit einem Steckplatz verbunden sein. - Im Allgemeinen kann Mehrkernprozessor
200 mit einer einzelnen Phasenregelschleife (phase locked loop, PLL)280 implementiert sein, die ein gemeinsames Referenzsignal und damit dieselbe Frequenz für alle Kacheln205 –235 und Kerne240 –272 bereitstellt. Dies kann alle Kerne240 –272 auf eine einzige Frequenz und damit auf einen einzigen Leistungszustand (P) begrenzen. Eine mögliche Lösung, diese Begrenzung zu überwinden, ist die Implementierung einer PLL pro Kern oder Kachel. Dies kann es ermöglichen, Kern240 von Kachel205 in einen Zustand P zu versetzen (z. B. P0) und Kern250 von Kachel215 in einen anderen Zustand P zu versetzen (z. B. P1). Diese Lösung kann jedoch bei Design- oder Leistungsbeschränkungen möglicherweise nicht praktikabel sein. - In
3 ist ein Blockdiagramm, das eine beispielhafte Steckplatzleistungssteuereinheit (power control unit, PCU) veranschaulicht, gemäß einigen Ausführungsformen dargestellt. PCU305 kann so konfiguriert sein, dass sie eine Leistungsgrenze310 zuweist, der jede der Kacheln im Steckplatz zugewiesen wird. PCU305 kann der Kachel außerdem eine thermische Grenze315 zuweisen. PCU305 kann ein Steckplatzmessgerät325 enthalten, das so konfiguriert sein kann, dass es eine Leistungsschätzung320 von jeder der Kacheln empfängt. In einigen Ausführungsformen kann Leistungsgrenze310 , die einer Kachel zugewiesen ist, proportional zu einer Leistungsschätzung320 der Kachel sein. PCU305 kann außerdem mit einer Steckplatzleistungsgrenze (auch als running average power limit, RAPL) bezeichnet)330 verbunden sein. - PCU
305 kann regelmäßig (z. B. alle paar Millisekunden) die Kachelleistungsgrenze310 auf Basis von RAPL330 neu bewerten. PCU305 kann so konfiguriert sein, dass sie Leistungsschätzung320 , die von der Kachel kommt, mit der zugewiesenen Leistungsgrenze310 vergleicht. In einigen Ausführungsformen kann, wenn Leistungsschätzung320 weniger als Leistungsgrenze310 ist, PCU305 Leistungsgrenze310 verringern. In einigen Ausführungsformen kann, wenn Leistungsschätzung320 in der Nähe von Leistungsgrenze310 innerhalb eines vorher festgelegten Bereichs ist, PCU305 Leistungsgrenze310 erhöhen. - In
4 ist ein Diagramm einer lokalen Kernleistungseinheit, die verwendet werden kann, um die Frequenz eines Kerns zu steuern, gemäß einigen Ausführungsformen veranschaulicht. Da die auf den einzelnen Kernen ausgeführten Arbeitslasten unterschiedlich sein können, kann dies vorteilhaft sein, um den P-Zustand für jeden Kern oder jede Kachel unabhängig von anderen Kernen oder Kacheln im selben Steckplatz kontrollieren zu können, und gleichzeitig dieselbe PLL für den Steckplatz zu verwenden. In diesem Beispiel kann lokale Kernleistungseinheit (CLPU)400 mit Kern240 (3 ) verbunden sein und CLPU401 kann mit Kern242 (3 ) verbunden sein. - CLPU
400 kann einen Kernenergiemonitor405 umfassen. In einigen Ausführungsformen kann Leistungsschätzung320 (in3 dargestellt) durch Kernenergiemonitor405 von CLPU400 und Kernenergiemonitor (nicht dargestellt) von CLPU401 bestimmt werden. CLPU400 kann eine Performance/Throttle(P/T)-Auswahllogik410 umfassen. P/T-Auswahllogik410 kann so konfiguriert sein, dass sie den Energieverbrauch von Kern240 kontrolliert. Dies kann das Setzen von Kern240 in verschiedenen Leistungszustände (P) oder Drosselzustände (T) umfassen. - P/T-Auswahllogik
410 kann so konfiguriert sein, dass sie die Taktrate oder Frequenz ändert, bei der Kern240 betrieben werden kann. P/T-Auswahllogik410 kann außerdem einen Spannungsbetriebspunkt für Kern240 kontrollieren. Kern240 kann beispielsweise, wenn er in einen P0-Zustand gesetzt ist, bei einem relativ hohen Frequenz- und Leistungsniveau mit mehr Stromverbrauch betrieben werden, wenn er in einen P1-Zustand gesetzt ist, kann die Frequenz und Leistung von Kern240 geringer und der Energieverbrauch niedriger sein, wenn er in den T- oder gedrosselten Zustand gesetzt ist, kann Kern240 durch Modulation der Frequenz gedrosselt sein und der Energieverbrauch kann am niedrigsten sein. Der Betrieb von Kern240 bei einem niedrigen Frequenzniveau kann außerdem die thermische Last und die Kühlanforderungen verringern, die mit Kern240 verbunden sind. - Kernenergiemonitor
405 kann so konfiguriert sein, dass er einen Aktivitätszähler407 von Kern240 empfängt, um Kernenergie420 zu bestimmen. Aktivitätszähler407 kann Informationen in Verbindung damit enthalten, wie oft Kern240 in den C0-Zustand gesetzt wird, die Zahl der zurückgezogenen Befehle, die Zahl der Kernblockierungen usw. - P/T-Auswahllogik
410 kann so konfiguriert sein, dass Informationen bezüglich Kernenergie420 von Kernenergiemonitor405 , Kernblockierzahl409 von Kern240 , thermische Grenze315 von PCU305 und Leistungsgrenze310 von PCU305 empfangen werden. In einigen Ausführungsformen kann, wenn Leistungsschätzung320 als größer als die zugewiesene Leistungsgrenze310 bestimmt wird, CLPU400 die Modulation der Frequenz des Kerns mit den höheren Kernblockierungen veranlassen. Ein Schwellenwert kann verwendet werden, um zu bestimmen, ob Kernblockierzahl409 auf einem Niveau liegt, das die Modulation der Frequenz von Kern240 beeinflussen kann. Wenn der Kern zum Beispiel blockiert, kann er keine Befehle ausführen. Daher kann es sein, dass die Modulation des Kerns bei einer niedrigeren Frequenz seine Leistung nicht beeinflusst, aber seinen Energieverbrauch verringert. Die Modulation der Frequenz kann proportional zum Kernblockierverhältnis (z. B. Blockierung vs. keine Blockierung) sein und sie kann durch die Leistungsgrenze gebunden sein. Die Modulation der Frequenz des Kerns kann von Kerntaktmodulationsmodul420 durchgeführt werden. Kerntaktmodulationsmodul410 kann mit Kerntakt-Gating-Steuerung415 gekoppelt sein. Kerntakt-Gating-Steuerung415 kann mit PLL280 (in2 dargestellt) gekoppelt sein. Durch Modulation der Frequenz der Kerne im Steckplatz auf Basis der geschätzten Leistung320 und Leistungsgrenze310 können die Leistung und der Energieverbrauch der einzelnen Kerne optimiert werden. In einigen Ausführungsformen kann die Modulation der Frequenz des Kerns des Weiteren auf der zugewiesenen thermischen Grenze315 basieren. Wenn zum Beispiel bestimmt wird, dass eine Temperatur des Kerns in der Nähe der zugewiesenen thermischen Grenze315 liegt, kann P/T-Auswahllogik410 die Frequenz des Kerns verringern. P/T-Auswahllogik410 kann außerdem Benutzeranforderung490 und Betriebssystem(OS)-Anforderung495 erhalten und diese Anforderungen verwenden, um zu bestimmen, wie die Frequenz moduliert wird. - In
5 veranschaulicht ein beispielhaftes Ablaufdiagramm einen Prozess, der von einer lokalen Kernleistungseinheit (core local power unit, CLPU) gemäß einigen Ausführungsformen durchgeführt wird. Der Prozess kann CLPU400 entsprechen, die den Energieverbrauch von Kern240 kontrolliert. Bei Block505 kann die CLPU eine Leistungsgrenze bestimmen, die einem Kern zugewiesen ist. Die Leistungsgrenze kann von einer PCU305 (in4 dargestellt) zugewiesen werden. Bei Block510 kann die geschätzte Leistung bestimmt werden, die vom Kern benötigt wird. Die geschätzte Leistungsanforderung kann von Kernenergiemonitor405 (in4 und5 dargestellt) bestimmt werden. Am veranschaulichten Block515 wird die Leistungsgrenze mit der geschätzten Leistungsanforderung verglichen, um zu bestimmen, ob die dem Kern von PCU305 zugewiesene Leistung angemessen ist. Wenn die geschätzte Leistungsanforderung z. B. viel geringer als die von PCU305 zugewiesene Leistungsgrenze ist, kann die Leistungsgrenze verringert werden. Bei Block520 kann eine Reihe von Kernblockierungen bestimmt werden. Bei Block525 kann die Frequenz des Kerns auf Basis eines Ergebnisses des Vergleichs zwischen der geschätzten Leistungsanforderung und der Leistungsgrenze und auf Basis der Anzahl der Kernblockierungen moduliert werden. Die Frequenz kann zum Beispiel verringert werden, wenn die Anzahl der Kernblockierungen höher als ein vorher festgelegter Schwellenwert ist und die geschätzte Leistungsanforderungen geringer als die Leistungsgrenze ist. Auch wenn in5 nicht dargestellt, kann die Frequenz des Kerns auch auf Basis der thermischen Grenze moduliert werden, die dem Kern von PCU305 zugewiesen ist. - Verschiedene Ausführungsformen können unter Verwendung von Hardware-Elementen, Software-Elementen oder einer Kombination beider implementiert werden. Beispiele von Hardware-Elementen können Prozessoren, Mikroprozessoren, Schaltungen, Schaltungselemente (z. B. Transistoren, Widerstände, Kondensatoren, Induktionsspulen und so weiter), integrierte Schaltungen, anwendungsspezifische integrierte Schaltungen (application specific integrated circuits, ASIC), programmierbare Logikeinheiten (programmable logic devices, PLD), digitale Signalprozessoren (digital signal processors, DSP), Field Programmable Gate Array (FPGA), Logikgatter, Register, ein Halbleitergerät, Chips, Mikrochips, Chipsätze und so weiter beinhalten. Beispiele von Software können Softwarekomponenten, Programme, Anwendungen, Computerprogramme, Anwendungsprogramme, Systemprogramme, Maschinenprogramme, Betriebssystemsoftware, Middleware, Firmware, Softwaremodule, Hilfsprogramme, Unterprogramme, Funktionen, Verfahren, Prozeduren, Softwareschnittstellen, Programmierschnittstellen (application program interfaces, API), Befehlssätze, EDV-Code, Computercode, Codesegmente, Computercodesegmente, Worte, Werte, Symbole oder jede Kombination davon beinhalten. Die Bestimmung, ob eine Ausführungsform unter Verwendung von Hardware-Elementen und/oder Software-Elementen implementiert wird, kann in Übereinstimmung mit einer beliebigen Anzahl an Faktoren variieren, wie beispielsweise gewünschte Rechengeschwindigkeit, Energieniveaus, Wärmetoleranzen, Budget der Verarbeitungszyklen, Eingabedatengeschwindigkeiten, Ausgabedatengeschwindigkeiten, Speicherressourcen, Datenbusgeschwindigkeiten und andere Beschränkungen bezüglich Design oder Leistung.
- Ein oder mehrere Aspekte mindestens einer Ausführungsform können durch repräsentative Befehle implementiert werden, die auf einem maschinenlesbaren Medium gespeichert sind, das verschiedene Logiken innerhalb des Prozessors repräsentiert, die beim Lesen durch eine Maschine die Maschine veranlassen, Logik zum Ausführen der hierin beschriebenen Techniken zu erzeugen. Solche Repräsentationen, auch als „IP-Kerne” bekannt, können auf einem konkreten maschinenlesbaren Medium gespeichert und an verschiedene Kunden oder Fertigungsanlagen geliefert werden, wo sie in Fertigungsmaschinen geladen werden, welche die Logik oder den Prozessor herstellen.
- Größen/Modelle/Werte/Bereiche sind als Beispiele angegeben, obgleich Ausführungsformen der vorliegenden Erfindung nicht auf diese beschränkt sind. Mit der Ausreifung von Fertigungstechniken (z. B. Fotolithografie) im Laufe der Zeit ist zu erwarten, dass immer kleinere Geräte hergestellt werden können. Außerdem ist es möglich, dass wohl bekannte Strom-/Masseverbindungen mit den IC-Chips und anderen Komponenten in den Figuren gezeigt bzw. nicht gezeigt werden, was aus Gründen der Vereinfachung der Veranschaulichung und Erörterung geschieht, und um bestimmte Aspekte der erfindungsgemäßen Ausführungsformen nicht in den Hintergrund rücken zu lassen. Des Weiteren können Anordnungen im Blockdiagrammformat gezeigt werden, um Ausführungsformen der Erfindung nicht in den Hintergrund rücken zu lassen, und auch um aufzuzeigen, dass bestimmte Details in Bezug auf die Implementierung solcher Blockdiagrammanordnungen in hohem Maß von der Plattform abhängen, in die die Erfindung implementiert werden soll, d. h., dass der Fachmann mit solchen spezifischen Details vertraut sein sollte. Wo spezifische Details (z. B. Schaltungen) angeführt werden, um beispielhafte Ausführungsformen der Erfindung zu beschreiben, sollte der Fachmann erkennen, dass erfindungsgemäße Ausführungsformen mit oder ohne Variationen dieser spezifischen Details realisiert werden können. Die Beschreibung soll somit als veranschaulichend anstatt einschränkend angesehen werden.
- Der Begriff „gekoppelt” kann hierin verwendet sein, um auf jede Art von Beziehung, direkt oder indirekt, zwischen den betreffenden Komponenten zu verweisen, und kann sich auf elektrische, mechanische, fluidtechnische, optische, elektromagnetische, elektromechanische oder andere Verbindungen beziehen. Außerdem können die Begriffe „erste/r/s”, „zweite/r/s”, etc. hierin nur verwendet sein, um die Erörterung zu vereinfachen, und tragen keine besondere temporäre oder chronologische Bedeutung, außer anderweitig angegeben.
- Für den Fachmann ist es anhand der vorhergegangenen Beschreibung selbstverständlich, dass die breit gefächerten Techniken der erfindungsgemäßen Ausführungsformen in einer Vielfalt von Formen implementiert werden können. Deshalb soll, während die erfindungsgemäßen Ausführungsformen in Verbindung mit besonderen Beispielen davon beschrieben worden sind, der wahre Umfang der erfindungsgemäßen Ausführungsformen nicht darauf beschränkt werden, da andere Modifikationen für den Fachmann auf diesem Gebiet bei Durchsicht der Zeichnungen, der Beschreibung und der folgenden Ansprüche offensichtlich sind.
Claims (28)
- Vorrichtung, umfassend: Logik zur Bestimmung einer Leistungsgrenze, die einem ersten Kern zugewiesen ist, Logik zur Bestimmung einer Blockierzahl des ersten Kerns und Logik zur Modulation einer Frequenz des ersten Kerns basierend zumindest auf der Leistungsgrenze, die dem ersten Kern zugewiesen ist, und der Blockierzahl des ersten Kerns, wobei der erste Kern in einer Kachel eines Steckplatzes in einer Mehrkerncomputerumgebung enthalten sein muss.
- Vorrichtung nach Anspruch 1, des Weiteren umfassend: Logik zur Bestimmung einer geschätzten Leistungsanforderung des ersten Kerns, wobei die Frequenz des ersten Kerns auf Basis der geschätzten Leistungsanforderung des ersten Kerns weiter moduliert werden muss.
- Vorrichtung nach Anspruch 2, wobei die Leistungsgrenze dem ersten Kern von einer Leistungssteuereinheit (power control unit, PCU) zugewiesen werden muss, die mit dem Steckplatz verbunden ist.
- Vorrichtung nach Anspruch 1, wobei die Logik zur Modulation der Frequenz des ersten Kerns mit einer Phasenregelschleife (phase locked loop, PLL) gekoppelt ist, die mit dem Steckplatz verbunden ist.
- Vorrichtung nach Anspruch 4, wobei der Steckplatz so konfiguriert sein muss, dass er die erste Kachel und eine zweite Kachel enthält, und wobei die erste Kachel und die zweite Kachel mit der PLL verbunden sein müssen.
- Vorrichtung nach Anspruch 5, wobei die Frequenz des ersten Kerns unabhängig von einer Frequenz moduliert werden muss, die mit der zweiten Kachel verbunden ist.
- Vorrichtung nach einem der Ansprüche 1 bis 6, wobei die erste Kachel den ersten Kern und einen zweiten Kern enthalten muss, und wobei die Frequenz des ersten Kerns unabhängig von einer Frequenz moduliert werden muss, die mit dem zweiten Kern verbunden ist.
- Vorrichtung nach Anspruch 3, des Weiteren umfassend Logik zur Bestimmung einer thermischen Grenze, die dem ersten Kern von der PCU zugewiesen ist.
- Vorrichtung nach Anspruch 8, wobei die Frequenz des ersten Kerns auf Basis der thermischen Grenze moduliert werden muss.
- Vorrichtung nach Anspruch 2, wobei die Frequenz des ersten Kerns verringert wird, wenn die Blockierzahl höher als ein Schwellenwert ist und die geschätzte Leistungsanforderung niedriger als die Leistungsgrenze ist.
- Vorrichtung nach Anspruch 2, wobei die Frequenz des ersten Kerns proportional zu einem Kernblockierverhältnis moduliert wird.
- Vorrichtung nach einem der Ansprüche 1 bis 11, wobei die Frequenz des ersten Kerns innerhalb einer Grenze der Leistungsgrenze moduliert wird.
- Vorrichtung nach Anspruch 2, wobei die geschätzte Leistungsanforderung des ersten Kerns von einem Kernenergiemonitor einer lokalen Kernleistungseinheit (core local power unit, CLPU) bestimmt wird, die mit dem ersten Kern verbunden ist.
- Computerimplementiertes Verfahren, umfassend: Modulation der Frequenz eines Kerns in einer ersten Kachel einer Mehrkernumgebung zumindest unabhängig von den Kernen in anderen Kacheln auf Basis zumindest einer geschätzten Leistungsanforderung des Kerns, einer Leistungsgrenze, die mit dem Kern verbunden ist, und einer Blockierzahl des Kerns, wobei die erste Kachel und die anderen Kacheln mit einer Phasenregelschleife (phase locked loop, PLL) eines Steckplatzes verbunden ist.
- Verfahren nach Anspruch 14, des Weiteren umfassend: Bestimmung der geschätzten Leistungsanforderung des Kerns, Bestimmung der Leistungsgrenze, die dem Kern zugewiesen ist, und Bestimmung der Blockierzahl des Kerns.
- Verfahren nach Anspruch 15, wobei die Modulation der Frequenz des Kerns in der ersten Kachel die Verringerung der Frequenz des Kerns umfasst, wenn die Zahl der Kernblockierungen höher als ein Schwellenwert ist und die geschätzte Leistungsanforderung niedriger als die Leistungsgrenze ist.
- Verfahren nach Anspruch 15, wobei die Frequenz des ersten Kerns proportional zu einem Kernblockierverhältnis moduliert wird.
- Verfahren nach Anspruch 17, wobei die Frequenz des Kerns innerhalb einer Grenze der Leistungsgrenze moduliert wird.
- Verfahren nach Anspruch 14, wobei die geschätzte Leistungsanforderung des Kerns von einem Kernenergiemonitor einer lokalen Kernleistungseinheit (core local power unit, CLPU) bestimmt wird, die mit dem Kern verbunden ist.
- Verfahren nach Anspruch 14, wobei die Frequenz des Kerns in der ersten Kachel unabhängig vom anderen Kern in der ersten Kachel moduliert wird.
- Verfahren nach Anspruch 14, wobei die Frequenz des Kerns in der ersten Kachel verringert wird, wenn die Blockierzahl höher als ein Schwellenwert ist und die geschätzte Leistungsanforderung niedriger als die Leistungsgrenze ist.
- Verfahren nach einem der Ansprüche 14 bis 21, wobei die Frequenz des ersten proportional zu einem Kernblockierverhältnis moduliert wird.
- Verfahren nach einem der Ansprüche 14 bis 21, wobei die Frequenz des Kerns innerhalb einer Grenze der Leistungsgrenze moduliert wird.
- System umfassend: eine Phasenregelschleife (phase locked loop, PLL), die so konfiguriert ist, dass sie mit einem Taktsignal in einer Mehrkernumgebung verbunden ist. ein Steckplatz, der mit der PLL gekoppelt und so konfiguriert ist, dass er mehrere Kacheln umfasst, wobei mindestens eine der Kacheln einen ersten Kern und einen zweiten Kern enthält, wobei der erste Kern so konfiguriert ist, dass er Logik umfasst, um: eine Leistungsgrenze zu bestimmen, die einem ersten Kern zugewiesen ist, eine Blockierzahl des ersten Kerns zu bestimmen und eine Frequenz des ersten Kerns basierend zumindest auf der Leistungsgrenze zu modulieren, die dem ersten Kern zugewiesen ist, und der Blockierzahl des ersten Kerns, unabhängig von der Frequenz der Kacheln, die nicht mit dem ersten Kern verbunden sind.
- System nach Anspruch 24, wobei der erste Kern des Weiteren so konfiguriert ist, dass er Logik zur Bestimmung einer geschätzten Leistungsanforderung des ersten Kerns enthält.
- System nach Anspruch 25, wobei die Frequenz des ersten Kerns auf Basis der geschätzten Leistungsanforderung des ersten Kerns moduliert werden muss.
- System nach Anspruch 25, wobei die Frequenz des ersten Kerns auf Basis eines Vergleichs zwischen der Leistungsgrenze, die dem ersten Kern zugewiesen ist, und den geschätzten Leistungsanforderung des ersten Kerns moduliert werden muss.
- System nach einem der Ansprüche 24 bis 27, wobei die Frequenz des ersten Kerns unabhängig von einer Frequenz des zweiten Kerns moduliert werden muss.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2012/031751 WO2013147906A1 (en) | 2012-03-31 | 2012-03-31 | Controlling power consumption in multi-core environments |
Publications (1)
Publication Number | Publication Date |
---|---|
DE112012006163T5 true DE112012006163T5 (de) | 2015-01-08 |
Family
ID=49260959
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE112012006163.2T Granted DE112012006163T5 (de) | 2012-03-31 | 2012-03-31 | Steuerung des Energieverbrauchs in Mehrkernumgebungen |
Country Status (7)
Country | Link |
---|---|
US (1) | US9846475B2 (de) |
KR (1) | KR101677115B1 (de) |
CN (1) | CN104185827B (de) |
DE (1) | DE112012006163T5 (de) |
GB (1) | GB2514972B (de) |
TW (1) | TWI483101B (de) |
WO (1) | WO2013147906A1 (de) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9846475B2 (en) | 2012-03-31 | 2017-12-19 | Intel Corporation | Controlling power consumption in multi-core environments |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10114649B2 (en) | 2015-05-26 | 2018-10-30 | International Business Machines Corporation | Thermal availability based instruction assignment for execution |
US20170212581A1 (en) * | 2016-01-25 | 2017-07-27 | Qualcomm Incorporated | Systems and methods for providing power efficiency via memory latency control |
WO2019117962A1 (en) * | 2017-12-15 | 2019-06-20 | Intel Corporation | Power control circuitry |
US11709748B2 (en) * | 2019-11-21 | 2023-07-25 | Apple Inc. | Adaptive memory performance control by thread group |
US11106267B2 (en) * | 2019-11-27 | 2021-08-31 | Amazon Technologies, Inc. | Dynamic processor core frequency adjustment |
US20240004444A1 (en) * | 2022-06-30 | 2024-01-04 | Advanced Micro Devices, Inc. | Rest-of-chip power optimization through data fabric performance state management |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7849332B1 (en) | 2002-11-14 | 2010-12-07 | Nvidia Corporation | Processor voltage adjustment system and method |
US8086884B2 (en) | 2002-12-16 | 2011-12-27 | Hewlett-Packard Development Company, L.P. | System and method for implementing an integrated circuit having dynamically variable power limit |
US20050050310A1 (en) | 2003-07-15 | 2005-03-03 | Bailey Daniel W. | Method, system, and apparatus for improving multi-core processor performance |
US7430672B2 (en) | 2004-10-27 | 2008-09-30 | Intel Corporation | Method and apparatus to monitor power consumption of processor |
KR101108397B1 (ko) * | 2005-06-10 | 2012-01-30 | 엘지전자 주식회사 | 멀티-코어 프로세서의 전원 제어 장치 및 방법 |
US7490254B2 (en) | 2005-08-02 | 2009-02-10 | Advanced Micro Devices, Inc. | Increasing workload performance of one or more cores on multiple core processors |
US8079031B2 (en) | 2005-10-21 | 2011-12-13 | Intel Corporation | Method, apparatus, and a system for dynamically configuring a prefetcher based on a thread specific latency metric |
US7949887B2 (en) * | 2006-11-01 | 2011-05-24 | Intel Corporation | Independent power control of processing cores |
US8117478B2 (en) * | 2006-12-29 | 2012-02-14 | Intel Corporation | Optimizing power usage by processor cores based on architectural events |
US7730340B2 (en) * | 2007-02-16 | 2010-06-01 | Intel Corporation | Method and apparatus for dynamic voltage and frequency scaling |
US8443209B2 (en) * | 2009-07-24 | 2013-05-14 | Advanced Micro Devices, Inc. | Throttling computational units according to performance sensitivity |
JP2011089950A (ja) | 2009-10-26 | 2011-05-06 | Renesas Electronics Corp | 半導体集積回路およびその動作方法 |
US8943334B2 (en) * | 2010-09-23 | 2015-01-27 | Intel Corporation | Providing per core voltage and frequency control |
US8631256B2 (en) * | 2010-12-22 | 2014-01-14 | Via Technologies, Inc. | Distributed management of a shared power source to a multi-core microprocessor |
US9292070B2 (en) * | 2012-03-05 | 2016-03-22 | Advanced Micro Devices, Inc. | Method and apparatus with stochastic control based power saving operation |
CN104169832B (zh) * | 2012-03-13 | 2017-04-19 | 英特尔公司 | 提供处理器的能源高效的超频操作 |
GB2514972B (en) | 2012-03-31 | 2020-10-21 | Intel Corp | Controlling power consumption in multi-core environments |
-
2012
- 2012-03-31 GB GB1417066.6A patent/GB2514972B/en active Active
- 2012-03-31 CN CN201280072139.6A patent/CN104185827B/zh active Active
- 2012-03-31 US US13/977,525 patent/US9846475B2/en active Active
- 2012-03-31 WO PCT/US2012/031751 patent/WO2013147906A1/en active Application Filing
- 2012-03-31 DE DE112012006163.2T patent/DE112012006163T5/de active Granted
- 2012-03-31 KR KR1020147027020A patent/KR101677115B1/ko active IP Right Grant
-
2013
- 2013-03-05 TW TW102107669A patent/TWI483101B/zh active
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9846475B2 (en) | 2012-03-31 | 2017-12-19 | Intel Corporation | Controlling power consumption in multi-core environments |
Also Published As
Publication number | Publication date |
---|---|
US20150019891A1 (en) | 2015-01-15 |
GB2514972A (en) | 2014-12-10 |
TWI483101B (zh) | 2015-05-01 |
GB2514972B (en) | 2020-10-21 |
TW201403301A (zh) | 2014-01-16 |
GB201417066D0 (en) | 2014-11-12 |
KR101677115B1 (ko) | 2016-11-18 |
CN104185827B (zh) | 2017-03-15 |
WO2013147906A1 (en) | 2013-10-03 |
US9846475B2 (en) | 2017-12-19 |
CN104185827A (zh) | 2014-12-03 |
KR20140133883A (ko) | 2014-11-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE112012006163T5 (de) | Steuerung des Energieverbrauchs in Mehrkernumgebungen | |
DE102020120019A1 (de) | Proaktive di/dt-spannungs-dachabfall-abschwächung | |
DE112004001320B3 (de) | Verfahren, System und Vorrichtung zur Verbesserung der Leistung von Mehrkernprozessoren | |
DE102013217804B4 (de) | System und Verfahren zur Berücksichtigung von Alterungswirkungen in einer Computervorrichtung | |
DE102004062911B4 (de) | Verfahren zum Betrieb eines Prozessors und zugehöriges Prozessorsystem | |
DE102007053796B4 (de) | Betreiben integrierter Schaltkreis-Logikblöcke bei unabhängigen Spannungen mit einer einzelnen Spannungsversorgung | |
DE112012006377B4 (de) | Energieverbrauch und Leistung von Computersystemen steuern | |
DE102013109014A1 (de) | Dynamisches Spannungs- und Frequenzskalierungsverfahren und -vorrichtung | |
DE102009041723B4 (de) | Prozessor-Leistungsverbrauchsteuerung und Spannungsabsenkung über eine Mikroarchitektur-Bandbreitenbegrenzung | |
DE102005044533A1 (de) | Aufgabenplanungsverfahren für geringe Leistungsableitung in einem Systemchip | |
DE112011103194B4 (de) | Koordinieren von Gerät- und Anwendungsunterbrechungsereignissen zum Plattformenergiesparen | |
DE102009019824A1 (de) | Auslastungsbasierte Bestimmung von betrieblichen Kennlinien | |
DE102010045743A1 (de) | Verfahren und Vorrichtung um Turboleistung für das Event-Handling zu verbessern | |
DE102013104216A1 (de) | Verfahren und Vorrichtung zum Steuern von Leistungsaufnahme | |
DE102012215439A1 (de) | Verfahren für Energie-optimierte Mehrprozessor-Synchronisation | |
DE102018130369A1 (de) | Planung periodischer cpu-kern-diagnostiken innerhalb eines betriebssystems während der laufzeit | |
DE102019121572A1 (de) | Leistungsverwaltung in einer mehrprozessor-rechenvorrichtung | |
DE102015102689A1 (de) | Steuern von Flankensteilheiten eines Prozessors auf der Basis eines Batterieladezustands | |
DE112017008158T5 (de) | Dateienvorababrufeinplanung für cachespeicher zur verringerung von latenzen | |
DE112013005081T5 (de) | Ausführen der Frequenzkoordination in einem Mehrprozessorsystem | |
DE112012006070T5 (de) | Speichergerät, das auf Gerätebefehle zur Betriebssteuerung reagiert | |
DE112016006015T5 (de) | Maximieren der Netzwerk-Fabric-Leistung durch feingranulares Router-Link-Strommanagement | |
DE112015004405B4 (de) | Nichtflüchtiges speichermodul | |
DE112012006155B4 (de) | Verfahren und Vorrichtung zur Mitteilung der verfügbaren Batterieleistung | |
DE112013002011B4 (de) | Minimieren der Leistungsaufnahme für den Betrieb einer Verarbeitungseinheit mit fester Frequenz |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R012 | Request for examination validly filed | ||
R016 | Response to examination communication | ||
R016 | Response to examination communication | ||
R018 | Grant decision by examination section/examining division |