DE112012006163T5 - Steuerung des Energieverbrauchs in Mehrkernumgebungen - Google Patents

Steuerung des Energieverbrauchs in Mehrkernumgebungen Download PDF

Info

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
Application number
DE112012006163.2T
Other languages
English (en)
Inventor
Anil K. Kumar
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 DE112012006163T5 publication Critical patent/DE112012006163T5/de
Granted legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • 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/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/324Power saving characterised by the action undertaken by lowering clock frequency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3296Power saving characterised by the action undertaken by lowering the supply or operating voltage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • 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 Computersystem 100 veranschaulicht, gemäß einigen Ausführungsformen dargestellt. Computersystem 100 kann eine Zentraleinheit (CPU) 105, einen Grafik- und Speichercontroller-Hub (GMCH) 110 und einen Eingabe/Ausgabe-Controller-Hub (ICH) 125 beinhalten. GMCH 110 kann mit CPU 105 über einen Bus 107 gekoppelt sein. ICH 125 kann mit GMCH 110 über einen Bus 122 gekoppelt sein. GMCH 110 kann außerdem mit Speichergeräten 115 und Anzeigegeräten 120 gekoppelt sein. ICH 125 kann mit E/A-Geräten 130 gekoppelt sein. GMCH 110 kann ein Grafiksystem 200 (nicht dargestellt) umfassen. Auch wenn CPU 105, GMCH 110 und ICH 125 als getrennte Komponenten veranschaulicht sein können, können die Funktionen von ein oder mehreren dieser Komponenten kombiniert werden. Eine Stromversorgung 150 kann verwendet werden, um Computersystem 100 mit Strom zu versorgen. Stromversorgung 150 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. Computersystem 100 kann außerdem viele anderen Komponenten enthalten, die jedoch aus Gründen der Vereinfachung nicht dargestellt sind. In einigen Ausführungsformen kann Computersystem 100 ein Servercomputersystem sein.
  • In 2 ist ein Blockdiagramm, das einen beispielhaften Mehrkernprozessor veranschaulicht, gemäß einigen Ausführungsformen dargestellt. Mehrkernprozessor 200 kann mehrere Kerne 240, 242, 250, 252, 260, 262, 270 und 272 und mehrere Kacheln 205, 215, 225 und 235 umfassen. Jede Kachel kann zwei Kerne umfassen. Kachel 205 kann beispielsweise Kerne 240 und 242 umfassen. Es sollte beachtet werden, dass die Anzahl der Kacheln und Kerne im Mehrkernprozessor 200 um viele höher liegen kann. Es können zum Beispiel fünfzig (50) Kernen in fünfundzwanzig (25) Kacheln enthalten sein. Die Kerne 240272 und die Kacheln 205235 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 Kacheln 205235 und Kerne 240272 bereitstellt. Dies kann alle Kerne 240272 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, Kern 240 von Kachel 205 in einen Zustand P zu versetzen (z. B. P0) und Kern 250 von Kachel 215 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. PCU 305 kann so konfiguriert sein, dass sie eine Leistungsgrenze 310 zuweist, der jede der Kacheln im Steckplatz zugewiesen wird. PCU 305 kann der Kachel außerdem eine thermische Grenze 315 zuweisen. PCU 305 kann ein Steckplatzmessgerät 325 enthalten, das so konfiguriert sein kann, dass es eine Leistungsschätzung 320 von jeder der Kacheln empfängt. In einigen Ausführungsformen kann Leistungsgrenze 310, die einer Kachel zugewiesen ist, proportional zu einer Leistungsschätzung 320 der Kachel sein. PCU 305 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 Kachelleistungsgrenze 310 auf Basis von RAPL 330 neu bewerten. PCU 305 kann so konfiguriert sein, dass sie Leistungsschätzung 320, die von der Kachel kommt, mit der zugewiesenen Leistungsgrenze 310 vergleicht. In einigen Ausführungsformen kann, wenn Leistungsschätzung 320 weniger als Leistungsgrenze 310 ist, PCU 305 Leistungsgrenze 310 verringern. In einigen Ausführungsformen kann, wenn Leistungsschätzung 320 in der Nähe von Leistungsgrenze 310 innerhalb eines vorher festgelegten Bereichs ist, PCU 305 Leistungsgrenze 310 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 Kern 240 (3) verbunden sein und CLPU 401 kann mit Kern 242 (3) verbunden sein.
  • CLPU 400 kann einen Kernenergiemonitor 405 umfassen. In einigen Ausführungsformen kann Leistungsschätzung 320 (in 3 dargestellt) durch Kernenergiemonitor 405 von CLPU 400 und Kernenergiemonitor (nicht dargestellt) von CLPU 401 bestimmt werden. CLPU 400 kann eine Performance/Throttle(P/T)-Auswahllogik 410 umfassen. P/T-Auswahllogik 410 kann so konfiguriert sein, dass sie den Energieverbrauch von Kern 240 kontrolliert. Dies kann das Setzen von Kern 240 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 Kern 240 betrieben werden kann. P/T-Auswahllogik 410 kann außerdem einen Spannungsbetriebspunkt für Kern 240 kontrollieren. Kern 240 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 Kern 240 geringer und der Energieverbrauch niedriger sein, wenn er in den T- oder gedrosselten Zustand gesetzt ist, kann Kern 240 durch Modulation der Frequenz gedrosselt sein und der Energieverbrauch kann am niedrigsten sein. Der Betrieb von Kern 240 bei einem niedrigen Frequenzniveau kann außerdem die thermische Last und die Kühlanforderungen verringern, die mit Kern 240 verbunden sind.
  • Kernenergiemonitor 405 kann so konfiguriert sein, dass er einen Aktivitätszähler 407 von Kern 240 empfängt, um Kernenergie 420 zu bestimmen. Aktivitätszähler 407 kann Informationen in Verbindung damit enthalten, wie oft Kern 240 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 Kernenergie 420 von Kernenergiemonitor 405, Kernblockierzahl 409 von Kern 240, thermische Grenze 315 von PCU 305 und Leistungsgrenze 310 von PCU 305 empfangen werden. In einigen Ausführungsformen kann, wenn Leistungsschätzung 320 als größer als die zugewiesene Leistungsgrenze 310 bestimmt wird, CLPU 400 die Modulation der Frequenz des Kerns mit den höheren Kernblockierungen veranlassen. Ein Schwellenwert kann verwendet werden, um zu bestimmen, ob Kernblockierzahl 409 auf einem Niveau liegt, das die Modulation der Frequenz von Kern 240 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 Kerntaktmodulationsmodul 420 durchgeführt werden. Kerntaktmodulationsmodul 410 kann mit Kerntakt-Gating-Steuerung 415 gekoppelt sein. Kerntakt-Gating-Steuerung 415 kann mit PLL 280 (in 2 dargestellt) gekoppelt sein. Durch Modulation der Frequenz der Kerne im Steckplatz auf Basis der geschätzten Leistung 320 und Leistungsgrenze 310 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 Grenze 315 basieren. Wenn zum Beispiel bestimmt wird, dass eine Temperatur des Kerns in der Nähe der zugewiesenen thermischen Grenze 315 liegt, kann P/T-Auswahllogik 410 die Frequenz des Kerns verringern. P/T-Auswahllogik 410 kann außerdem Benutzeranforderung 490 und Betriebssystem(OS)-Anforderung 495 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 CLPU 400 entsprechen, die den Energieverbrauch von Kern 240 kontrolliert. Bei Block 505 kann die CLPU eine Leistungsgrenze bestimmen, die einem Kern zugewiesen ist. Die Leistungsgrenze kann von einer PCU 305 (in 4 dargestellt) zugewiesen werden. Bei Block 510 kann die geschätzte Leistung bestimmt werden, die vom Kern benötigt wird. Die geschätzte Leistungsanforderung kann von Kernenergiemonitor 405 (in 4 und 5 dargestellt) bestimmt werden. Am veranschaulichten Block 515 wird die Leistungsgrenze mit der geschätzten Leistungsanforderung verglichen, um zu bestimmen, ob die dem Kern von PCU 305 zugewiesene Leistung angemessen ist. Wenn die geschätzte Leistungsanforderung z. B. viel geringer als die von PCU 305 zugewiesene Leistungsgrenze ist, kann die Leistungsgrenze verringert werden. Bei Block 520 kann eine Reihe von Kernblockierungen bestimmt werden. Bei Block 525 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 in 5 nicht dargestellt, kann die Frequenz des Kerns auch auf Basis der thermischen Grenze moduliert werden, die dem Kern von PCU 305 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)

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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.
  6. 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.
  7. 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.
  8. Vorrichtung nach Anspruch 3, des Weiteren umfassend Logik zur Bestimmung einer thermischen Grenze, die dem ersten Kern von der PCU zugewiesen ist.
  9. Vorrichtung nach Anspruch 8, wobei die Frequenz des ersten Kerns auf Basis der thermischen Grenze moduliert werden muss.
  10. 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.
  11. Vorrichtung nach Anspruch 2, wobei die Frequenz des ersten Kerns proportional zu einem Kernblockierverhältnis moduliert wird.
  12. Vorrichtung nach einem der Ansprüche 1 bis 11, wobei die Frequenz des ersten Kerns innerhalb einer Grenze der Leistungsgrenze moduliert wird.
  13. 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.
  14. 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.
  15. 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.
  16. 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.
  17. Verfahren nach Anspruch 15, wobei die Frequenz des ersten Kerns proportional zu einem Kernblockierverhältnis moduliert wird.
  18. Verfahren nach Anspruch 17, wobei die Frequenz des Kerns innerhalb einer Grenze der Leistungsgrenze moduliert wird.
  19. 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.
  20. Verfahren nach Anspruch 14, wobei die Frequenz des Kerns in der ersten Kachel unabhängig vom anderen Kern in der ersten Kachel moduliert wird.
  21. 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.
  22. Verfahren nach einem der Ansprüche 14 bis 21, wobei die Frequenz des ersten proportional zu einem Kernblockierverhältnis moduliert wird.
  23. Verfahren nach einem der Ansprüche 14 bis 21, wobei die Frequenz des Kerns innerhalb einer Grenze der Leistungsgrenze moduliert wird.
  24. 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.
  25. 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.
  26. System nach Anspruch 25, wobei die Frequenz des ersten Kerns auf Basis der geschätzten Leistungsanforderung des ersten Kerns moduliert werden muss.
  27. 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.
  28. 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.
DE112012006163.2T 2012-03-31 2012-03-31 Steuerung des Energieverbrauchs in Mehrkernumgebungen Granted DE112012006163T5 (de)

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)

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

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

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

Cited By (1)

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