DE102014014301B4 - Verfahren und Einrichtung zum Verwalten globaler Chip-Energie auf einem Chip-internen Mehrkernsystem - Google Patents

Verfahren und Einrichtung zum Verwalten globaler Chip-Energie auf einem Chip-internen Mehrkernsystem Download PDF

Info

Publication number
DE102014014301B4
DE102014014301B4 DE102014014301.5A DE102014014301A DE102014014301B4 DE 102014014301 B4 DE102014014301 B4 DE 102014014301B4 DE 102014014301 A DE102014014301 A DE 102014014301A DE 102014014301 B4 DE102014014301 B4 DE 102014014301B4
Authority
DE
Germany
Prior art keywords
energy
core processor
core
core processors
global
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
DE102014014301.5A
Other languages
English (en)
Other versions
DE102014014301A1 (de
Inventor
David A. Carlson
Richard E. Kessler
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.)
Marvell Asia Pte Ltd
Original Assignee
Cavium LLC
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 Cavium LLC filed Critical Cavium LLC
Publication of DE102014014301A1 publication Critical patent/DE102014014301A1/de
Application granted granted Critical
Publication of DE102014014301B4 publication Critical patent/DE102014014301B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • 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/28Supervision thereof, e.g. detecting power-supply failure by out of limits supervision
    • 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/3243Power saving in microcontroller unit
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B17/00Monitoring; Testing
    • H04B17/20Monitoring; Testing of receivers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L27/00Modulated-carrier systems
    • H04L27/0014Carrier regulation
    • H04L2027/0016Stabilisation of local oscillators
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L27/00Modulated-carrier systems
    • H04L27/0014Carrier regulation
    • H04L2027/0044Control loops for carrier regulation
    • H04L2027/0063Elements of loops
    • H04L2027/0067Phase error detectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L27/00Modulated-carrier systems
    • H04L27/0014Carrier regulation
    • H04L2027/0044Control loops for carrier regulation
    • H04L2027/0071Control of loops
    • H04L2027/0075Error weighting
    • 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

Abstract

Verfahren zum Regeln von Energieverbrauch in einem Mehrkern-Prozessor-Chip (100), umfassend:
Ansammeln (210) an einer Steuerung (110) in dem Mehrkern-Prozessor-Chip (100) einer oder mehrerer, mehreren Kernprozessoren (120-1-120-N) in dem Mehrkern-Prozessorchip (100) zugeordneten Energieschätzungen;
wobei Ansammeln der einen oder mehreren, mehreren Kernprozessoren (120-1 - 120-N) zugeordneten Energieschätzungen Senden eines Lesebefehls von der Steuerung (110) zu wenigstens einem Kernprozessor der mehreren Kernprozessoren (120-1 - 120-N) umfasst; und
wobei ein einen Lesebefehl empfangender Kernprozessor der mehreren Kernprozessoren (120-1 - 120-N) einen eine Gesamtsumme von Energieschätzungen darstellenden Parameterwert aktualisiert und den Lesebefehl mit der aktualisierten Gesamtsumme zu einem anderen Kernprozessor der mehreren Kernprozessoren (120-1 - 120-N) oder zu der Steuerung (110) weiterleitet;
Bestimmen (240) eines globalen Energieschwellwerts basierend auf einer Gesamt-Energieschätzung, wobei die Gesamt-Energieschätzung basierend wenigstens teilweise auf der einen oder den mehreren angesammelten Energieschätzungen bestimmt wird; und
Bewirken (250), dass der Energieverbrauch an jedem Kernprozessor der mehreren Kernprozessoren (120-1 - 120-N) basierend auf dem bestimmten globalen Energieschwellwert geregelt wird;
wobei das Bestimmen des globalen Energieschwellwerts Folgendes aufweist:
Anpassen eines Parameterwertes, der den globalen Energieschwellenwert repräsentiert, und zwar basierend auf der bestimmten Gesamtenergieschätzung und einem entsprechenden Durchschnittswert über Zeit in Relation zu einer gewünschten Zielenergie.

Description

  • HINTERGRUND
  • Energieverbrauch in Computer-Prozessoren wird gewöhnlich auf eine Weise zum Vermeiden von Überhitzen des Prozessors oder des entsprechenden Chips geregelt. Anders gesagt wird durch Regeln des Energieverbrauchs in dem Prozessor die entsprechende Temperatur auch unter Kontrolle gehalten.
  • An dieser Stelle sei auf US 8 402 290 B2 hingewiesen, die Verfahren und eine Vorrichtung zum Power Management für Mehrprozessorkerne offenbart. Dabei können eine oder mehrere Techniken lokal verwendet werden (z.B. auf einer Pro-Kern-Basis), um den Energieverbrauch in einem Prozessor zu regeln oder Energie kann basierend auf energiebezogenen Berücksichtigungen auf verschiedene Powerplanes eines Prozessors verteilt werden.
  • Die vorliegende Erfindung ist darauf gerichtet, eines oder mehrere der Probleme oder Nachteile zu überwinden, die mit dem Stand der Technik assoziiert sind.
  • KURZE BESCHREIBUNG
  • Die Aufgabe der vorliegenden Erfindung wird durch ein Verfahren zum Regeln von Energieverbrauch in einem Mehrkern-Prozessor-Chip sowie durch einen Mehrkern-Prozessor-Chip gemäß den geltenden Hauptansprüchen gelöst. Die Unteransprüche beziehen sich auf bevorzugte Ausführungen der Erfindung. Energieverwaltung in Mehrkern-Prozessorvorrichtungen wird typischerweise örtlich an jedem Kernprozessor durchgeführt. Zum Verbessern von Leistung und Steigern des Wirkungsgrades besteht ein Bedarf an einer Fähigkeit zum Verwalten globaler Chip-Energie auf solchen Vorrichtungen.
  • Gemäß wenigstens einer beispielhaften Ausführungsform umfasst ein globaler Energieverwaltungsansatz zum Regeln von Energieverbrauch in einem Mehrkern-Prozessor-Chip Ansammeln an einer Steuerung in dem Mehrkern-Prozessor-Chip einer oder mehrerer, mehreren Kernprozessoren in dem Mehrkern-Prozessorchip zugeordneten Energieschätzungen. Es wird ein globaler Energieschwellwert basierend auf einer Gesamtenergieschätzung bestimmt, wobei die Gesamtenergieschätzung basierend wenigstens teilweise auf der einen oder den mehreren angesammelten Energieschätzungen bestimmt wird. Die Steuerung bewirkt Regeln des Energieverbrauchs an jedem der Mehrkern-Prozessoren basierend auf dem bestimmten globalen Energieschwellwert.
  • Beim Ansammeln der einen oder mehreren Energieschätzungen kann die Steuerung einen die den Gesamtenergieverbrauch durch die Mehrkernprozessoren darstellende Gesamtenergieschätzung anzeigenden Einzelwert empfangen. Die Mehrkernprozessoren können auf eine Weise zum Bilden eines Reihenaufbaus aneinander angekoppelt sein, wobei an jedem Kernprozessor die örtliche Energieverbrauchsschätzung zu einem die Gesamtenergieschätzung darstellenden Wert hinzugefügt und an den nächsten Kernprozessor weitergeleitet wird. Am letzten Kernprozessor wird der Endwert der Gesamtenergieschätzung zur Steuerung weitergeleitet. Alternativ können die mehreren Kernprozessoren auf eine Weise zum Bilden mehr als eines Reihenaufbaus gekoppelt sein, in welchem Fall die Steuerung mehr als eine Energieschätzung empfängt. Bei einem noch weiteren Beispiel kann jeder Kernprozessor seine lokale Energieverbrauchsschätzung direkt zur Steuerung senden.
  • Die Steuerung kann zum Senden eines Lesebefehls von der Steuerung zu wenigstens einem Kernprozessor der mehreren Kernprozessoren ausgebildet sein. Der Lesebefehl kann eine Anzeige einer Leseoperation und eines Nutzlastwertes umfassen. Ein den Lesebefehl empfangender Kernprozessor fügt die lokale Energieschätzung dem Nutzlastwert hinzu und leitet den Lesebefehl mit dem aktualisierten Nutzlastwert zu einem nächsten Kernprozessor oder zur Steuerung weiter. Der Nutzlastwert stellt eine Gesamtsumme von mit einem oder mehreren Kernprozessoren verbundenen Energieschätzungen dar.
  • Beim Bestimmen des globalen Energieschwellwerts ist die Steuerung zum Erhöhen eines den globalen Energieschwellwert darstellenden Parameterwerts bei Bestimmen, dass die bestimmte Gesamtenergieschätzung und ein entsprechender Durchschnittswert über Zeit beide kleiner als eine gewünschte Zielenergie sind, ausgelegt und zum Erniedrigen des den globalen Energieschwellwert darstellenden Parameterwerts bei Bestimmen, dass die bestimmte Gesamtenergieschätzung größer als die gewünschte Zielenergie ist. Die gewünschte Zielenergie kann eine durch einen Benutzer oder einen Hersteller des Mehrkern-Prozessorchips gesetzte Konstante sein. Alternativ kann die gewünschte Zielenergie basierend wenigstens teilweise auf gemessenen Temperaturwerten des Mehrkern-Prozessorchips dynamisch gesetzt werden.
  • Auch kann der Mehrkern-Prozessorchip einen oder mehrere Koprozessorblöcke umfassen. Zum Berücksichtigen des Energieverbrauchs des einen oder der mehreren Koprozessorblöcke ist die Steuerung zum Ansammeln einer oder mehrerer Darstellungen von mit dem einen oder den mehreren Koprozessorblöcken verbundenen Taktaktivitäten ausgebildet; Bestimmen einer oder mehrerer, mit dem einen oder den mehreren Koprozessorblöcken verbundenen Energieschätzungen basierend wenigstens teilweise auf der einen oder den mehreren angesammelten Darstellungen, wobei das Bestimmen der Gesamtenergieschätzung für den Mehrkern-Prozessor-Chip weiterhin auf der einen oder den mehreren, mit dem einen oder den mehreren Koprozessorblöcken verbundenen Energieschätzungen basiert. Beim Bestimmen der einen oder der mehreren, mit dem einen oder den mehreren Koprozessorblöcken verbundenen Energieschätzungen kann die Steuerung zum Beispiel eine Nachschlagetabelle zum Bestimmen des mit jeder Darstellung einer Taktaktivität verbundenen Energieverbrauchs einsetzen. Die eine oder die mehreren Darstellungen der mit dem einen oder den mehreren Koprozessorblöcken verbundenen Taktaktivitäten können durch Zählen an jedem Koprozessorblock von mit dem gleichen Koprozessorblock verbundenen Taktaktivitätzyklen und Erzeugen einer Darstellung der mit dem Koprozessorblock verbundenen Taktaktivität durch Abbilden einer vordefinierten Anzahl gezählter Taktaktivitätzyklen auf ein Einzelsymbol in der Darstellung der mit dem Koprozessorblock verbundenen Taktaktivität gebildet werden. Die Darstellung der mit dem Koprozessorblock verbundenen Taktaktivität wird dann durch die Steuerung empfangen.
  • Durch Bewirken der Regelung des Energieverbrauchs an jedem Kernprozessor kann die Steuerung den Energieverbrauch an den Kernprozessoren durch Einstellen einer Haupttaktfrequenz und dadurch Beeinflussen der Frequenzen von mit den mehreren Kernprozessoren verbundenen Takte regeln. Alternativ sendet die Steuerung einen Befehl zu allen Kernprozessoren, der sie anweist, ihren lokalen Energieverbrauch zu regeln. Ein solcher Befehl kann eine Anzeige des globalen Schwellwerts enthalten. Bei Empfang des globalen Energieschwellwerts vergleicht jeder Kernprozessor den globalen Energieschwellwert mit einem örtlichen Energieschwellwert zum Bestimmen einer durch den Kernprozessor zu benutzenden Grenzenergie.
  • Figurenliste
  • Das Obige wird aus der nachfolgenden ausführlicheren Beschreibung beispielhafter Ausführungsformen der Erfindung offenbar werden, so wie sie in den beiliegenden Zeichnungen dargestellt sind, in denen gleiche Bezugsziffern in allen unterschiedlichen Ansichten auf die gleichen Teile bezogen sind. Die Zeichnungen sind nicht unbedingt maßstabgerecht, wobei stattdessen die Betonung auf der Darstellung von Ausführungsformen der vorliegenden Erfindung gelegt ist.
    • 1 ist ein Blockschaltbild eines Mehrkern-Prozessor-Chips gemäß wenigstens einer beispielhaften Ausführungsform;
    • 2 ist ein Flussdiagramm eines Verfahrens zum Regeln von Energie in einem Mehrkern-Prozessorchip gemäß wenigstens einer beispielhaften Ausführungsform;
    • 3A und 3B sind Blockschaltbilder beispielhafter Reihenaufbauten zum Ansammeln von Energieschätzung(en) von den mehreren Kernprozessoren;
    • 4 ist ein Blockschaltbild eines Aufbaus zur Ansammlung von Energieschätzungen aus mehreren Koprozessorblöcken; und
    • 5 zeigt Beispiele eines einem Koprozessorblocktakt zugeordneten Taktsignals und eines entsprechenden abgeänderten Taktsignals gemäß wenigstens einer beispielhaften Ausführungsform.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Es folgt eine Beschreibung von beispielhaften Ausführungsformen der Erfindung.
  • Typische Energieverwaltungsverfahren für Mehrkern-Prozessor-Chips sind gewöhnlich einem entsprechenden Kernprozessor lokal und werden für den Mehrkern-Prozessor-Chip nicht global durchgeführt. Bei lokaler Anwendung von Energieverwaltung an jedem Kernprozessor wird ein Energieverbrauchsetat für den Mehrkern-Prozessor-Chip zum Berechnen eines Energieetats für jeden Kernprozessor durch die entsprechende Anzahl von Kernprozessoren geteilt. Dann verwaltet jeder Kernprozessor seine Energie unabhängig von anderen Kernprozessoren basierend auf dem berechneten Energieetat für jeden Kernprozessor. Als solche kann die dynamische Energie eines gegebenen Kernprozessors begrenzt sein. Auch kann lokales Anwenden von Energieverwaltung an jedem Kernprozessor zu Leistungsabwertung führen. Während beispielsweise ein erster Kernprozessor nur einen kleinen Teil des ihm verfügbaren Energieetats benutzen könnte, könnte ein zweiter Kernprozessor mehr Energie benötigen, als durch den berechneten Energieetat für jeden Kernprozessor erlaubt wird. Damit können einige Aufgaben bei lokalem Durchführen von Energieverwaltung längere Zeit zu ihrer Durchführung beanspruchen und sich der Verbrauch von mehr Energie am Mehrkern-Prozessor-Chip ergeben. Im Folgenden werden Ausführungsformen des Anwendens globaler Energieverwaltung auf Chipebene beschrieben.
  • 1 ist ein Blockschaltbild eines Mehrkern-Prozessor-Chips 100 gemäß wenigstens einer beispielhaften Ausführungsform. Der Mehrkern-Prozessor-Chip 100 umfasst mehrere Kernprozessoren, z.B. 120-1 - 120-N und eine Zentralsteuerung 110. Die Zentralsteuerung 110 ist zur Verwaltung der globalen Energie des Mehrkern-Prozessor-Chips 100 ausgebildet. Die Zentralsteuerung ist an die mehreren Kernprozessoren 120-1 - 120-N angekoppelt und ausgebildet zum Bestimmen einer Schätzung globalen Energieverbrauchs durch den Mehrkern-Prozessor-Chip 100 über ein gegebenes Zeitintervall. Nach wenigstens einem Aspekt wird die globale Energieschätzung periodisch über ein festes Zeitintervall bestimmt. Beim Bestimmen der globalen Energieschätzung ist die Zentralsteuerung 110 zum Aufzeichnen einer oder mehrerer, mit den mehreren Kernprozessoren verbundenen Energieschätzungen, z.B. 120-1 - 120-N, ausgebildet. An jedem der mehreren Kernprozessoren, z.B. 120-1 - 120-N kann lokale Energieschätzung gemäß dem US-Patent-Nr. 8,356,194 beschriebenen Ausführungsformen durchgeführt werden, das hier in seiner Gesamtheit aufgenommen ist.
  • Weiterhin kann der Mehrkern-Prozessor-Chip 100 einen oder mehrere Koprozessorblöcke umfassen, z.B. 130-1 - 130-M. Gemäß wenigstens einer beispielhaften Ausführungsform sind die Koprozessorblöcke, z.B. 130-1 - 130-M zum Durchführen von Eingangs-/Ausgangs-(E/A-)Ankopplungsoperationen und/oder anderen Operationen zum Ergänzen der Funktionen der mehreren Kernprozessoren, z.B. 120-1 - 120-N, ausgebildet. Die Zentralsteuerung 110 ist zum Berücksichtigen von durch die Koprozessorblöcke, z.B. 130-1 - 130-M, verbrauchte Energie bei Bestimmen der globalen Energieschätzung des Mehrkern-Prozessor-Chips 100 ausgebildet.
  • 2 ist ein Flussdiagramm eines Verfahrens zum Regeln von Energie in dem Mehrkern-Prozessor-Chip 100 gemäß wenigstens einer beispielhaften Ausführungsform. Bei Block 210 werden ein oder mehr mit den mehreren Kernprozessoren, z.B. 120-1 - 120-N, verbundene Energieschätzungen durch die Zentralsteuerung 110 angesammelt. Die Zentralsteuerung 110 kann weiterhin mit dem einen oder den mehreren Koprozessorblöcken, z.B. 130-1 - 130-M, verbundene Energieschätzung(en) am Block 220 ansammeln, wenn der Mehrkern-Prozessor-Chip 100 solche Koprozessorblöcke umfasst.
  • Am Block 230 benutzt die Zentralsteuerung 110 die angesammelte(n) Energieschätzung(en) zum Bestimmen einer Schätzung der durch den Mehrkern-Prozessor-Chip 100 über ein festes Zeitintervall verbrauchten Gesamtenergie. Beispielsweise kann die Zentralsteuerung 110 die mit den mehreren Kernprozessoren, z.B. 120-1 - 120-N, verbundenen angesammelten Energieschätzungen summieren und gegebenenfalls die mit dem einen oder den mehreren Koprozessorblöcken, z.B. 130-1 - 130-M, verbundenen angesammelten Energieschätzung(en). Alternativ oder zusätzlich kann die Zentralsteuerung andere rechnerische Verarbeitung beim Bestimmen der Gesamt-Energieschätzung durchführen. Der Vorgang am Block 230 kann optional sein. Die Zentralsteuerung kann zum Beispiel eine die durch die mehreren Kernprozessoren, z.B. 120-1 - 120-N, verbrauchte Gesamtenergie anzeigende Einzelenergieschätzung ansammeln. In einem solchen Fall kann die angesammelte Einzelenergieschätzung als die Gesamtenergieschätzung benutzt werden.
  • Am Block 240 wird ein globaler Energieschwellwert durch die Zentralsteuerung 110 bestimmt. Der globale Energieschwellwert wird basierend auf der Gesamtenergieschätzung bestimmt. Neben der Gesamtenergieschätzung kann weiterhin ein Zielenergiewert bei der Bestimmung des globalen Energieschwellwerts benutzt werden. Der globale Energieschwellwert stellt eine nicht durch irgendeinen der Kernprozessoren über ein festes Zeitintervall zu überschreitende globale Energieverbrauchsgrenze dar. Der Zielenergiewert zeigt einen Zielenergieverbrauchspegel für den Mehrkern-Prozessor-Chip 100 über das feste Zeitintervall an.
  • Nach wenigstens einer beispielhaften Ausführung unterhält die Zentralsteuerung 110 einen Gesamt-Differenzparameter und einen globalen Schwellwertparameter. Der Gesamt-Differenzparameter, z.B. Cum_Diff stellt eine Summe oder einen Durchschnittswert von Differenzen zwischen bestimmten Gesamt-Energieschätzungen dar, z.B. Cum_Energie_Schätzung und Zielenergie, z.B. Ziel_Energie. Beispielsweise wird bei jedem Zeitintervall der Gesamt-Differenzparameter aktualisiert als: Cum_Diff = Cum_Diff + ( Cum_Energie _ Schätzung Ziel_Energie ) .
    Figure DE102014014301B4_0001
  • Es wird erwartet, dass der Parameter Cum_Diff nahe Null liegt, wenn die Auslastung ausreicht, um die mehreren Kernprozessoren, z.B. 120-1 - 120-N, für ein gegebenes Zeitintervall beschäftigt zu halten. Wenn die Auslastung für die Zeitdauer nicht ausreicht, wird der Parameter Cum_Diff negativ, bis er einen negativen Mindestwert erreicht, an dem der Parameter gesättigt wird. Der negative Mindestwert oder Sättigungswert kann basierend auf einer thermischen Konstante definiert werden, die beispielsweise anzeigt, dass der Mehrkern-Prozessor-Chip 100 für die letzten wenigen Millisekunden ruhig gewesen war. Anders gesagt ermöglicht der Sättigungswert dem Mehrkern-Prozessor-Chip 100, nur seine kurze und relevante Geschichte zu speichern. Alternativ kann die Gesamt-Energiedifferenz als eine gewichtete Summe definiert werden.
  • Der globale Schwellwertparameter, z.B. Global_lim kann mit jedem Zeitintervall aktualisiert werden als: Global_lim = Global_lim + 1 wenn ( Cum_Power_Estimate < Target_Power ) und ( Cum_Diff < 0 ) ,
    Figure DE102014014301B4_0002
    and    Global_lim = Global_lim 1  wenn  ( Cum_Power_Estimate < Target_Power ) .
    Figure DE102014014301B4_0003
  • Das heißt, der globale Energieschwellwert wird nur erhöht, wenn die Gesamt-Energieschätzung weniger als die Zielschätzung ist und die Gesamtdifferenz weniger als Null ist. Auch wird der globale Energieschwellwert nur dann erniedrigt, wenn die Gesamtenergieschätzung größer als die Zielenergie ist.
  • Nach einem beispielhaften Aspekt kann der Zielenergiewert durch den Hersteller des Mehrkern-Prozessor-Chips 100 als eine Konstante gesetzt werden. Alternativ kann der Zielenergiewert durch die Software des Mehrkern-Prozessor-Chips 100 einstellbar sein. Nach einem weiteren Aspekt kann die Zielenergie dynamisch sein, z.B. basierend auf durch Temperatursensoren bereitgestellten Informationen. Beispielsweise kann sich die Zielenergie basierend auf der aufgezeichneten Temperatur des Mehrkern-Prozessor-Chips 100 ändern.
  • Sobald der globale Schwellwert, z.B. Global-lim für ein bestimmtes Zeitintervall bestimmt ist, wird die Zentralsteuerung 110 eingerichtet, zu veranlassen, dass wenigstens ein Kernprozessor seinen Energieverbrauch verringert oder erhöht. Nach einer beispielhaften Ausführungsform kann die Zentralsteuerung 110 einen Befehl an alle Kernprozessoren, z.B. 120-1 - 120N, senden, der die Kernprozessoren anweist, ihren entsprechenden Energieverbrauch zu regeln. Beispielsweise kann die Zentralsteuerung 110 den bestimmten globalen Schwellwert, z.B. Global_lim an alle Kernprozessoren, z.B. 120-1 - 120-N, senden. Jeder Kernprozessor unterhält einen lokalen Energiegrenzwert, z.B. Power_lim. Alternativ kann die Zentralsteuerung 110 einen, an einen vorhergehenden globalen Schwellwert anzulegenden, ein Inkrement oder Dekrement darstellenden Wert senden. An jedem Kernprozessor wird der Mindestwert des globalen Schwellwerts und der lokalen Energiegrenze als eine Obergrenze zum Energieverbrauch in wenigstens dem nächsten Zeitintervall benutzt. Gemäß einer weiteren beispielhaften Ausführungsform kann die Zentralsteuerung 110 Energieverbrauch an den mehreren Kernprozessoren, z.B. 120-1 - 120-N, direkt verringern oder erhöhen. Beispielsweise kann die Zentralsteuerung die Frequenz eines Haupttaktes einstellen mit dem Ergebnis der Einstellung der Frequenz der Takte der mehreren Kernprozessoren, z.B. 120-1 - 120-N.
  • Gemäß wenigstens einer beispielhaften Ausführungsform sendet die Zentralsteuerung 110, wenn die bestimmte Gesamtenergieschätzung für den Mehrkern-Prozessor-Chip 100 die Zielenergie nicht überschreitet, ein Signal zu den Kernprozessoren, z.B. 120-1 - 120-N, das anzeigt, dass sie sich nicht abzudrosseln brauchen, das heißt ihre entsprechenden Frequenzen zu verringern brauchen. Wenn jedoch die bestimmte Gesamtenergieschätzung für den Mehrkern-Prozessor-Chip 100 die Zielenergie überschreitet und die Gesamtdifferenz Null beträgt, sendet die Zentralsteuerung 110 ein Signal, um die Kernprozessoren, z.B. 120-1 - 120-N, anzuweisen, sich abzudrosseln. Unabhängig davon, ob das Signal die Kernprozessoren, z.B. 120-1 - 120-N, anweist, sich abzudrosseln oder nicht, kann das gesendete Signal eine Anzeige einer Regeloperation und eine den globalen Schwellwert führende Nutzlast enthalten. Durch Vergleichen des globalen Schwellwerts mit der lokalen Energiegrenze entscheidet jeder Kernprozessor dann, ob Abdrosseln durchzuführen ist oder nicht. Anders gesagt kann das gesendete Signal dem den Lesebefehl darstellenden Signal ähnlich sein, nur zeigt die Anzeige der Operation eine Regeloperation anstatt einer Leseoperation an und die Nutzlast stellt den globalen Schwellwert anstatt des Energieschätzungswerts dar. Beispielsweise kann ein Lesebefehl durch 0 angezeigt und der Regelbefehl kann durch 1 angezeigt werden.
  • Gemäß einer weiteren beispielhaften Ausführung können zwei Drähte die Zentralsteuerung 110 an die Kernprozessoren, z.B. 120-1 - 120-N, ankoppeln. Ein Draht kann als „throttle_this_interval“ (dieses Intervall abdrosseln) bezeichnet sein. Dieser Draht wird zu allen Kernprozessoren, z.B. 120-1 - 120-N, rundgesendet. Der Draht „throttle_this_interval“ kann seriell zu den Kernprozessoren, z.B. 120-1 - 120-N, rundgesendet werden. Der zweite Draht kann als „Summen-‟draht bezeichnet sein. Der „Summen-‟draht wird seriell zu jedem Kernprozessor herumgesendet, oder zu einer Teilmenge der mehreren Kernprozessoren, und kehrt zur Zentralsteuerung 110 zurück, nachdem er jeden Kernprozessor durchläuft. Nach einer Ruhephase zeigt die erste Aktivierung des „Summen-‟drahtes an, dass eine Gesamtenergieschätzung innerhalb einer nächsten Anzahl von Bit am Draht folgt, niedrigstwertiges Bit (LSB) zuerst und höchstwertiges Bit (MSB) zuletzt. Wenn ein Kernprozessor erkennt, dass der „Summen-‟draht aktiv ist, weiß er, seine lokale Energieschätzung der Gesamtenergieschätzung bei der nächsten Anzahl von Bit hinzuzufügen. Die Zentralsteuerung empfängt den „Summen-‟draht und setzt zutreffenderweise den „dieses Intervall abdrosseln“-Draht, sofern zutreffend.
  • Gemäß wenigstens einer beispielhaften Ausführung wird die Ansammlung der Energieschätzung(en) innerhalb einer Hälfte des festen Zeitintervalls durchgeführt, während Anweisen der Kernprozessoren zum Regeln ihres entsprechenden Energieverbrauchs innerhalb der anderen Hälfte des festen Zeitintervalls eintritt. Wenn beispielsweise das feste Zeitintervall gleich 256 Taktzyklen beträgt, wird Ansammeln der Energieschätzung(en) durch die Zentralsteuerung 110 innerhalb von 128 Taktzyklen durchgeführt, und Anweisen der Kernprozessoren, z.B. 120-1 - 120-N, zum Regeln ihres entsprechenden Energieverbrauchs nimmt weitere 128 Taktzyklen ein. Bestimmen des globalen Schwellwerts durch die Zentralsteuerung 110 kann als Teil des Ansammelns von Energieschätzung(en) oder Teil des Anweisens der Kernprozessoren, z.B. 120-1 - 120-N, zum Regeln ihres entsprechenden Energieverbrauchs angesehen werden.
  • An jedem der mehreren Kernprozessoren, z.B. 120-1 - 120-N, wird, sobald ein Signal oder Befehl mit Anweisungen zum Verringern des lokalen Energieverbrauchs empfangen wird, die richtige Handlung durch den Kernprozessor unternommen. Eine Weise zum Verringern des Energieverbrauchs ist, die lokale Taktfrequenz zu verringern. Ein solcher Ansatz kann anwendbar sein, wenn jeder Kernprozessor seine eigene Phasenregelschleife (PLL - Phase Locked-Loop) aufweist. Eine weitere Weise zum Verringern des lokalen Energieverbrauchs an einem Kernprozessor ist, mit der Ausgabe von Anweisungen aufzuhören. Beispielsweise kann der Kernprozessor weiterhin Anweisungen innerhalb des festen Zeitintervalls weiterverarbeiten, bis der Energieverbrauch die lokale Energiegrenze oder den von der Zentralsteuerung 110 empfangenen globalen Schwellwert überschreitet und hört dann auf, Anweisung auszugeben, bis zum Ende des festen Zeitintervalls.
  • 3A und 3B sind Blockschaltbilder beispielhafter serieller Aufbauten zum Ansammeln von Energieschätzung(en) von den mehreren Kernprozessoren, z.B. 120-1 - 120-N. 3A zeigt einen einzelnen seriellen Aufbau, nachdem die Zentralsteuerung einen Lesebefehl zu einem der Kernprozessoren, z.B. 120-1 sendet. Gemäß einem beispielhaften Aspekt umfasst der Lesebefehl eine Anzeige der Leseoperation und eine zur Zentralsteuerung 110 zurückzusendende Energieschätzung darstellende Nutzlast. Der erste Kernprozessor, z.B. 120-1, empfängt den Lesebefehl von der Zentralsteuerung 110 und nimmt seinen geschätzten Energieverbrauchswert in die Nutzlast des Lesebefehls auf. Wenn der Anfangswert der Nutzlast Null beträgt, kann der geschätzte Energieverbrauchswert durch eine Additionsoperation aufgenommen werden. Der Lesebefehl wird dann zum nächsten Kernprozessor, z.B. 120-2, weitergeleitet.
  • Der Kernprozessor 120-2 ist zum Addieren seines geschätzten Energieverbrauchswerts zu dem Nutzlastwert und Weiterleiten des Lesebefehls zum nächsten Kernprozessor, z.B. 120-3, ausgebildet. Die Zufügung des lokal geschätzten Energieverbrauchswertes und des Nutzlastwertes wird an jedem der Kernprozessoren 120-2 - 120-N wiederholt. Am letzten Kernprozessor, z.B. 120-N, wird das Additionsendergebnis zur Zentralsteuerung 110 weitergeleitet. Der zur Zentralsteuerung weitergeleitete Wert kann als die Gesamt-Energieschätzung für alle Kernprozessoren, z.B. 120-1 - 120-N, benutzt werden oder es kann eine weitere rechnerische Verarbeitung angewandt werden. Die an den Kernprozessoren durchgeführten Additionsoperationen können eine Zeitverzögerung der Ankunft des Endergebnisses an der Zentralsteuerung 110 bewirken.
  • Gemäß einer beispielhaften Ausführung kann eine solche Zeitverzögerung durch Anwenden von Addition und bitweiser Weiterleitung verringert werden. Anders gesagt wird, beginnend mit dem niedrigstwertigen (LSB - Least Significant Bit), sobald Addition durchgeführt wird, der Übertragswert gesichert, während das Additionsergebnisbit weitergeleitet wird. Dann werden der Übertragswert und die nächsten LSB des lokal geschätzten Energieverbrauchswertes und der Nutzlastwerte addiert. Der neue Übertragswert wird gesichert und das Additionsergebnisbit wird zum nächsten Kernprozessor weitergeleitet. Am nächsten Kernprozessor werden gleichartige Operationen durchgeführt. Das heißt, sobald ein Bit der Nutzlast empfangen wird, wird die entsprechende Addition durchgeführt und das Additionsergebnisbit wird zu einem anderen Kernprozessor weitergeleitet. Damit wird die Zeitverzögerung bedeutend verringert.
  • In 3B sind die Kernprozessoren in vier seriellen Aufbauten angeordnet, z.B. 120-1 - 120-k1, 120-(k1+1) - 120-k2, 120-(k2+1) - 120-k3 und 120-(k3+1) - 120-N. Die bitweise Addition und Weiterleitung kann in jedem seriellen Aufbau angewandt werden. Die Zentralsteuerung 110 empfängt vier Energieschätzungen, z.B. von den Kernprozessoren 120-k1, 120-k2, 120-k3 und 120-N. Jede der vier Energieschätzungen stellt eine Gesamt-Energieschätzung für den entsprechenden seriellen Aufbau dar. Zum Berechnen der Gesamt-Energieschätzung summiert die Zentralsteuerung 110 beispielsweise die vier empfangenen Energieschätzungen. Die Zentralsteuerung 110 kann andere rechnerische Verarbeitung beim Bestimmen der Gesamt-Energieschätzung für alle Kernprozessoren, z.B. 120-1-120-N durchführen.
  • 4 ist ein Blockschaltbild einer Anordnung zur Ansammlung von Energieschätzungen aus mehreren Koprozessorblöcken, z.B. 130-1 - 130-M. In jedem Koprozessorblock wird das meiste der Energie, z.B. rund 90 Prozent, durch den (die) entsprechenden Takt(e) verbraucht. Ein Koprozessorblock, z.B.130-1, 130-2, ..., oder 130-M kann einen oder mehrere Takte aufweisen. Nach einer beispielhaften Ausführungsform empfängt die Zentralsteuerung 110 Informationen von Koprozessorblöcken, z.B. 130-1 - 130-M, die Energieverbrauchsschätzung für jeden der entsprechenden Takte ermöglichen. Die Zentralsteuerung 110 empfängt zum Beispiel für jeden, einem Koprozessorblock zugeordneten Takt ein abgeändertes Taktsignal. Die den Takten der Koprozessorblöcke, z.B. 130-1 - 130-M, zugeordneten geschätzten Energieverbrauche werden mit den von den mehreren Kernprozessoren, z.B. 120-1 - 120-N, angesammelten Energieschätzung(en) summiert, um eine globale Gesamt-Energieverbrauchsschätzung für den gesamten Mehrkern-Prozessor-Chip 100 zu erzeugen.
  • 5 zeigt Beispiele eines einem Koprozessorblocktakt zugeordneten Taktsignals 510 und eines entsprechenden abgeänderten Taktsignals 520 gemäß wenigstens einer beispielhaften Ausführungsform. Das abgeänderte Taktsignal 520 wird an der Zentralsteuerung 110 von einem Koprozessorblock, z.B. 130-1, 130-2, ..., oder 130-M empfangen. Das Taktsignal 510 weist typischerweise eine höhere Frequenz als die der Zentralsteuerung 110 auf. Damit kann die Zentralsteuerung, wenn das Taktsignal 510 zur Zentralsteuerung 110 gesendet wird, das Taktsignal 510 nicht ordnungsgemäß abtasten, um die entsprechende Energie zu schätzen. Das Taktsignal 510 kann Ruheperioden 511 enthalten, wodurch die den Koprozessorblöcken, z.B. 130-1, 130-M zugeordneten verschiedenen Taktsignale 510 asynchron werden.
  • Nach einer beispielhaften Ausführungsform wird das abgeänderte Taktsignal 520 durch Verringern einer Anzahl von Taktzyklen im Taktsignal 510 in einem einzelnen Zyklus in dem abgeänderten Taktsignal 520 erzeugt. Beispielsweise entsprechen 32 Taktzyklen im Taktsignal 510 einem einzigen Zyklus im abgeänderten Taktsignal 520. Damit kann die Zentralsteuerung 110 das abgeänderte Taktsignal 520 ordnungsgemäß abtasten.
  • Jeder Koprozessorblock, z.B. 130-1, 130-2, ... oder 130-M ist zum Bereitstellen einer Zählung der einem Takt im gleichen Koprozessorblock zugeordneten Takttätigkeitszyklen ausgebildet. Basierend auf der Zählung von Taktzyklen wird eine Darstellung der Takttätigkeit, z.B. das abgeänderte Taktsignal 520, durch Abbilden einer vordefinierten Anzahl, z.B. 32 von gezählten Takttätigkeitszyklen auf ein einzelnes Symbol in der erzeugten Darstellung der Takttätigkeit erzeugt. Die erzeugte Darstellung wird dann durch die Zentralsteuerung 110 empfangen. Die Zentralsteuerung 110 kann beispielsweise eine Nachschlagetabelle zum Bestimmen des jeder erzeugten Darstellung einer Takttätigkeit zugeordneten Energieverbrauchs einsetzen. Bei einem Bestimmen der Gesamt-Energieverbrauchsschätzung für den gesamten Mehrkern-Prozessor-Chip 100 kann die Zentralsteuerung 110 den mehreren Kernprozessoren, z.B. 120-1 - 120-N, zugeordnete angesammelte Energieschätzung(en) wie auch Energieschätzung(en) entsprechend den Koprozessorblöcken, z.B. 130-1, 130-M summieren.

Claims (28)

  1. Verfahren zum Regeln von Energieverbrauch in einem Mehrkern-Prozessor-Chip (100), umfassend: Ansammeln (210) an einer Steuerung (110) in dem Mehrkern-Prozessor-Chip (100) einer oder mehrerer, mehreren Kernprozessoren (120-1-120-N) in dem Mehrkern-Prozessorchip (100) zugeordneten Energieschätzungen; wobei Ansammeln der einen oder mehreren, mehreren Kernprozessoren (120-1 - 120-N) zugeordneten Energieschätzungen Senden eines Lesebefehls von der Steuerung (110) zu wenigstens einem Kernprozessor der mehreren Kernprozessoren (120-1 - 120-N) umfasst; und wobei ein einen Lesebefehl empfangender Kernprozessor der mehreren Kernprozessoren (120-1 - 120-N) einen eine Gesamtsumme von Energieschätzungen darstellenden Parameterwert aktualisiert und den Lesebefehl mit der aktualisierten Gesamtsumme zu einem anderen Kernprozessor der mehreren Kernprozessoren (120-1 - 120-N) oder zu der Steuerung (110) weiterleitet; Bestimmen (240) eines globalen Energieschwellwerts basierend auf einer Gesamt-Energieschätzung, wobei die Gesamt-Energieschätzung basierend wenigstens teilweise auf der einen oder den mehreren angesammelten Energieschätzungen bestimmt wird; und Bewirken (250), dass der Energieverbrauch an jedem Kernprozessor der mehreren Kernprozessoren (120-1 - 120-N) basierend auf dem bestimmten globalen Energieschwellwert geregelt wird; wobei das Bestimmen des globalen Energieschwellwerts Folgendes aufweist: Anpassen eines Parameterwertes, der den globalen Energieschwellenwert repräsentiert, und zwar basierend auf der bestimmten Gesamtenergieschätzung und einem entsprechenden Durchschnittswert über Zeit in Relation zu einer gewünschten Zielenergie.
  2. Verfahren nach Anspruch 1, wobei Ansammeln der einen oder mehreren, mehreren Kernprozessoren (120-1 - 120-N) zugeordneten Energieschätzungen Empfangen einer oder mehrerer Gesamt-Summen von einer oder mehreren Teilmengen der mehreren Kernprozessoren (120-1 - 120-N) in dem Mehrkern-Prozessor-Chip (100) zugeordneten Energieschätzungen umfasst.
  3. Verfahren nach Anspruch 1, wobei Ansammeln der einen oder mehreren, mehreren Kernprozessoren (120-1 - 120-N) zugeordneten Energieschätzungen Empfangen mehrerer Energieschätzungen entsprechend den mehreren Kernprozessoren (120-1 - 120-N) in dem Mehrkern-Prozessor-Chip (100) umfasst.
  4. Verfahren nach Anspruch 1, wobei das Anpassen des Parameterwertes, der den globalen Energieschwellenwert repräsentiert, umfasst: Erhöhen des den globalen Energieschwellwert darstellenden Parameterwerts bei Bestimmen, dass die bestimmte Gesamtenergieschätzung und der entsprechender Durchschnittswert über Zeit beide kleiner als die gewünschte Zielenergie sind.
  5. Verfahren nach Anspruch 1, wobei das Anpassen des Parameterwertes, der den globalen Energieschwellenwert repräsentiert, umfasst: Verringern des den globalen Energieschwellwert darstellenden Parameterwerts bei Bestimmen, dass die bestimmte Gesamtenergieschätzung größer als die gewünschte Zielenergie ist.
  6. Verfahren nach Anspruch 1, wobei die gewünschte Zielenergie eine durch einen Benutzer oder Hersteller des Mehrkern-Prozessor-Chips (100) gesetzte Konstante ist.
  7. Verfahren nach Anspruch 1, wobei die gewünschte Zielenergie basierend wenigstens teilweise auf gemessenen Temperaturwerten des Mehrkern-Prozessor-Chips (100) dynamisch gesetzt wird.
  8. Verfahren nach Anspruch 1, weiterhin umfassend: Ansammeln einer oder mehrerer, einem oder mehreren Koprozessorblöcken (130-1, 130-M) in den Mehrkern-Prozessor-Chip (100) zugeordneten Darstellungen von Takttätigkeiten; Bestimmen einer oder mehrerer, dem einen oder den mehreren Koprozessorenblöcken (130-1, 130-M) zugeordneten Energieschätzungen basierend wenigstens teilweise auf der einen oder den mehreren angesammelten Darstellungen, wobei das Bestimmen der Gesamtenergieschätzung für den Mehrkern-Prozessor-Chip (100) weiterhin auf der einen oder den mehreren, dem einen oder den mehreren Koprozessorblöcken (130-1, 130-M) zugeordneten Energieschätzungen basiert.
  9. Verfahren nach Anspruch 8, wobei Bestimmen der einen oder mehreren, dem einen oder den mehreren Koprozessorblöcken (130-1, 130-M) zugeordneten Energieschätzungen weiterhin auf einer Nachschlagetabelle basiert.
  10. Verfahren nach Anspruch 8, wobei Ansammeln der einen oder mehreren Darstellungen der dem einen oder den mehreren Koprozessorblöcken (130-1, 130-M) zugeordneten Takttätigkeiten umfasst: Zählen an jedem Koprozessorblock von dem gleichen Koprozessorblock der einen oder mehreren Koprozessorblöcke (130-1, 130-M) zugeordneten Takttätigkeitszyklen; Erzeugen einer Darstellung der dem Koprozessorblock der einen oder mehreren Koprozessorblöcke (130-1, 130-M) zugeordneten Takttätigkeit durch Abbilden einer vordefinierten Anzahl gezählter Takttätigkeitszyklen auf ein einziges Symbol in der Darstellung der dem Koprozessorblock der einen oder mehreren Koprozessorblöcke (130-1, 130-M) zugeordneten Takttätigkeit; und Empfangen durch die Steuerung (110) der Darstellung der dem Koprozessorblock der einen oder mehreren Koprozessorblöcke (130-1, 130-M) zugeordneten Takttätigkeit.
  11. Verfahren nach Anspruch 1, wobei Bewirken, dass der Energieverbrauch an jedem Kernprozessor der mehreren Kernprozessoren (120-1 - 120-N) geregelt ist, Anweisen jedes Kernprozessors der mehreren Kernprozessoren (120-1-120-N) zum Regeln des Energieverbrauchs des Kernprozessors basierend auf dem globalen Energieschwellwert umfasst.
  12. Verfahren nach Anspruch 11, wobei Anweisen jedes Kernprozessors der mehreren Kernprozessoren (120-1 - 120-N) zum Regeln des Energieverbrauchs Senden einer Anzeige des bestimmten globalen Energieschwellwerts zu jedem Kernprozessor umfasst.
  13. Verfahren nach Anspruch 12, weiterhin umfassend Vergleichen des globalen Energieschwellwerts mit einer lokalen Energiegrenze durch jeden Kernprozessor der mehreren Kernprozessoren (120-1 - 120-N).
  14. Verfahren nach Anspruch 1, wobei Bewirken, dass der Energieverbrauch an jedem Kernprozessor der mehreren Kernprozessoren (120-1 - 120-N) geregelt wird, Einstellen einer Haupttaktfrequenz umfasst.
  15. Mehrkern-Prozessor-Chip (100) umfassend: mehrere Kernprozessoren (120-1 - 120-N); und eine an wenigstens einen der mehreren Kernprozessoren (120-1 - 120-N) angekoppelte Steuerung (110), wobei die Steuerung (110) ausgebildet ist, eine oder mehrere den mehreren Kernprozessoren (120-1 - 120-N) in dem Mehrkern-Prozessor-Chip (100) zugeordnete Energieschätzungen anzusammeln; wobei beim Ansammeln der einen oder mehreren, mehreren Kernprozessoren (120-1 - 120-N) zugeordneten Energieschätzungen die Steuerung (110) konfiguriert ist, einen Lesebefehl von der Steuerung (110) zu wenigstens einem Kernprozessor der mehreren Kernprozessoren (120-1 - 120-N) zu senden; wobei der wenigstens eine Kernprozessor der mehreren Kernprozessoren (120-1 - 120-N) konfiguriert ist: einen Lesebefehl zu empfangen; einen eine Gesamtsumme von Energieschätzungen darstellenden Parameterwert zu aktualisieren; und den Lesebefehl mit der aktualisierten Gesamtsumme zu einem anderen Kernprozessor der mehreren Kernprozessoren (120-1 - 120-N) oder zu der Steuerung (110) weiterzuleiten; einen globalen Energieschwellwert basierend auf einer Gesamtenergieschätzung zu bestimmen, wobei die Gesamtenergieschätzung basierend wenigstens teilweise auf der einen oder den mehreren angesammelten Energieschätzungen bestimmt wird; und zu bewirken, dass der Energieverbrauch an jedem Kernprozessor der mehreren Kernprozessoren (120-1 - 120-N) basierend auf dem bestimmten globalen Energieschwellwert geregelt wird; wobei beim Bestimmen des globalen Energieschwellenwertes die Steuerung weiter konfiguriert ist, einen Parameterwert, der den globalen Energieschwellenwert repräsentiert, und zwar basierend auf der bestimmten Gesamtenergieschätzung und einem entsprechenden Durchschnittswert über Zeit in Relation zu einer gewünschten Zielenergie zu bestimmen.
  16. Mehrkern-Prozessor-Chip (100) nach Anspruch 15, wobei beim Ansammeln der einen oder mehreren, den mehreren Kernprozessoren (120-1 - 120-N) zugeordneten Energieschätzungen die Steuerung (110) ausgebildet ist, eine oder mehrere Gesamtsummen von einer oder mehreren Teilmengen der mehreren Kernprozessoren (120-1 - 120-N) zugeordneten Energieschätzungen zu empfangen.
  17. Mehrkern-Prozessor-Chip (100) nach Anspruch 15, wobei beim Ansammeln der einen oder mehreren, den mehreren Kernprozessoren (120-1 - 120-N) zugeordneten Energieschätzungen die Steuerung (110) zum Empfangen mehrerer Energieschätzungen entsprechend den mehreren Kernprozessoren (120-1 - 120-N) ausgebildet ist.
  18. Mehrkern-Prozessor-Chip (100) nach Anspruch 15, wobei beim Anpassen des Parameterwertes, der den globalen Energieschwellwert repräsentiert, die Steuerung (110) ausgebildet ist: den den globalen Energieschwellwert darstellenden Parameterwert bei Bestimmen, dass die bestimmte Gesamtenergieschätzung und der entsprechende Durchschnittswert über Zeit beide kleiner als die gewünschte Zielenergie sind, zu erhöhen.
  19. Mehrkern-Prozessor-Chip (100) nach Anspruch 15, wobei beim Anpassen des Parameterwertes, der den globalen Energieschwellwert repräsentiert, die Steuerung (110) ausgebildet ist: den den globalen Energieschwellwert darstellenden Parameterwert bei Bestimmen, dass die bestimmte Gesamtenergieschätzung größer als die gewünschte Zielenergie ist, zu verringern.
  20. Mehrkern-Prozessor-Chip (100) nach Anspruch 15, wobei die gewünschte Zielenergie eine durch einen Benutzer oder einen Hersteller des Mehrkern-Prozessor-Chips (100) gesetzte Konstante ist.
  21. Mehrkern-Prozessor-Chip (100) nach Anspruch 15, wobei die gewünschte Zielenergie basierend wenigstens teilweise auf gemessenen Temperaturwerten des Mehrkern-Prozessor-Chips (100) dynamisch gesetzt wird.
  22. Mehrkern-Prozessor-Chip (100) nach Anspruch 15, wobei der Mehrkern-Prozessor-Chip (100) weiterhin einen oder mehrere Koprozessorblöcke (130-1, 130-M) umfasst und die Steuerung (110) weiterhin ausgebildet ist; eine oder mehrere Darstellungen von dem einen oder den mehreren Koprozessorblöcken (130-1, 130-M) zugeordneten Takttätigkeiten anzusammeln; und eine oder mehrere, dem einen oder den mehreren Koprozessorblöcken (130-1, 130-M) zugeordnete Energieschätzungen basierend wenigstens teilweise auf der einen oder den mehreren angesammelten Darstellungen zu bestimmen, wobei das Bestimmen der Gesamtenergieschätzung für den Mehrkern-Prozessor-Chip (100) weiterhin auf der einen oder den mehreren, dem einen oder den mehreren Koprozessorblöcken (130-1, 130-M) zugeordneten Energieschätzungen basiert.
  23. Mehrkern-Prozessor-Chip (100) nach Anspruch 22, wobei beim Bestimmen der einen oder mehreren, dem einen oder mehreren Koprozessorblöcken (130-1, 130-M) zugeordneten Energieschätzungen die Steuerung (110) weiterhin zum Überprüfen einer Nachschlagetabelle zum Bestimmen der jedem Koprozessorblock der einen oder mehreren Koprozessorblöcke (130-1, 130-M) zugeordneten Energieschätzung ausgebildet ist.
  24. Mehrkern-Prozessor-Chip (100) nach Anspruch 22, wobei beim Ansammeln einer oder mehrerer Darstellungen der dem einen oder den mehreren Koprozessorblöcken (130-1, 130-M) zugeordneten Takttätigkeiten jeder Koprozessorblock der einen oder mehreren Koprozessorblöcke (130-1, 130-M) ausgebildet ist: an jedem Koprozessorblock der einen oder mehreren Koprozessorblöcke (130-1, 130-M) dem gleichen Koprozessorblock zugeordnete Takttätigkeitszyklen zu zählen; eine Darstellung der dem Koprozessorblock der einen oder mehreren Koprozessorblöcke (130-1, 130-M) zugeordneten Takttätigkeit durch Abbilden einer vordefinierten Anzahl gezählter Takttätigkeitszyklen auf ein einziges Symbol in der Darstellung der dem Koprozessorblock der einen oder mehreren Koprozessorblöcke (130-1, 130-M) zugeordneten Takttätigkeit zu erzeugen; und die Darstellung der dem Koprozessorblock der einen oder mehreren Koprozessorblöcke (130-1, 130-M) zugeordneten Takttätigkeit zur Steuerung (110) zu senden.
  25. Mehrkern-Prozessor-Chip (100) nach Anspruch 15, wobei beim Bewirken, dass der Energieverbrauch an jedem Kernprozessor der mehreren Kernprozessoren (120-1 - 120-N) geregelt ist, die Steuerung (110) weiterhin zum Anweisen jedes Kernprozessors der mehreren Kernprozessoren (120-1 - 120-N) zum Regeln des Energieverbrauchs des Kernprozessors der mehreren Kernprozessoren (120-1 - 120-N) basierend auf dem globalen Energieschwellwert ausgebildet ist.
  26. Mehrkern-Prozessor-Chip (100) nach Anspruch 25, wobei beim Anweisen jedes Kernprozessors der mehreren Kernprozessoren (120-1 - 120-N) zum Regeln des Energieverbrauchs die Steuerung (110) weiterhin ausgebildet ist, eine Anzeige des bestimmten globalen Energieschwellwerts zu jedem Kernprozessor der mehreren Kernprozessoren (120-1 - 120-N) zu senden.
  27. Mehrkern-Prozessor-Chip (100) nach Anspruch 26, wobei jeder Kernprozessor der mehreren Kernprozessoren (120-1 - 120-N) zum Vergleichen des globalen Energieschwellwerts mit einer lokalen Energiegrenze ausgebildet ist.
  28. Mehrkern-Prozessor-Chip (100) nach Anspruch 15, wobei beim Bewirken, dass der Energieverbrauch an jedem Kernprozessor der mehreren Kernprozessoren (120-1 - 120-N) geregelt ist, die Steuerung (110) zum Einstellen einer Haupttaktfrequenz ausgebildet ist.
DE102014014301.5A 2013-09-26 2014-09-25 Verfahren und Einrichtung zum Verwalten globaler Chip-Energie auf einem Chip-internen Mehrkernsystem Active DE102014014301B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/038,549 2013-09-26
US14/038,549 US9671844B2 (en) 2013-09-26 2013-09-26 Method and apparatus for managing global chip power on a multicore system on chip

Publications (2)

Publication Number Publication Date
DE102014014301A1 DE102014014301A1 (de) 2015-03-26
DE102014014301B4 true DE102014014301B4 (de) 2018-08-16

Family

ID=52623702

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102014014301.5A Active DE102014014301B4 (de) 2013-09-26 2014-09-25 Verfahren und Einrichtung zum Verwalten globaler Chip-Energie auf einem Chip-internen Mehrkernsystem

Country Status (6)

Country Link
US (5) US9671844B2 (de)
JP (1) JP6169547B2 (de)
KR (1) KR101701004B1 (de)
CN (2) CN107272876B (de)
DE (1) DE102014014301B4 (de)
HK (1) HK1209210A1 (de)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8356194B2 (en) 2010-01-28 2013-01-15 Cavium, Inc. Method and apparatus for estimating overshoot power after estimating power of executing events
WO2021220058A1 (en) 2020-05-01 2021-11-04 Monday.com Ltd. Digital processing systems and methods for enhanced collaborative workflow and networking systems, methods, and devices
US9671844B2 (en) 2013-09-26 2017-06-06 Cavium, Inc. Method and apparatus for managing global chip power on a multicore system on chip
US20150220128A1 (en) * 2014-02-04 2015-08-06 Infineon Technologies Ag Method and Apparatus for Use in a Data Processing System
US9477243B2 (en) * 2014-12-22 2016-10-25 Intel Corporation System maximum current protection
US9760159B2 (en) 2015-04-08 2017-09-12 Microsoft Technology Licensing, Llc Dynamic power routing to hardware accelerators
US9798376B2 (en) * 2015-08-03 2017-10-24 Qualcomm Incorporated Power distribution network (PDN) droop/overshoot mitigation
KR102599653B1 (ko) * 2015-11-20 2023-11-08 삼성전자주식회사 냉각 알고리즘을 수행하는 집적 회로와 이를 포함하는 모바일 장치
KR102578648B1 (ko) 2016-03-14 2023-09-13 삼성전자주식회사 모뎀 데이터에 따라 코어 스위칭이 수행되는 애플리케이션 프로세서 및 이를 포함하는 시스템 온 칩
CN106598203B (zh) * 2016-12-21 2019-04-23 上海海事大学 一种数据密集环境下的单芯片多处理器系统的电源管理方法
US20200142461A1 (en) * 2018-10-31 2020-05-07 Bitmain Inc. Integrated circuit with chip-level serial power domains, and circuit board having the same
CN109831144A (zh) * 2019-03-01 2019-05-31 深圳市道通智能航空技术有限公司 温度保护方法、装置和无人飞行器
CN110413414A (zh) * 2019-07-29 2019-11-05 北京百度网讯科技有限公司 用于平衡负载的方法、装置、设备和计算机可读存储介质
US11287872B2 (en) * 2020-02-04 2022-03-29 Qualcomm Incorporated Multi-thread power limiting via shared limit
CN113065229A (zh) * 2021-03-10 2021-07-02 电子科技大学 一种众核暗硅芯片的实时功率预算技术
US11592889B2 (en) * 2021-05-12 2023-02-28 Apple Inc. Die-to-die dynamic clock and power gating
US11698671B2 (en) * 2021-09-22 2023-07-11 Apple Inc. Peak power management for processing units
US11709529B2 (en) * 2021-10-12 2023-07-25 Hewlett Packard Enterprise Development Lp Variable enhanced processor performance
WO2023101663A1 (en) * 2021-12-01 2023-06-08 Picoai Limeted Method and apparatus of power control based on block activities

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8402290B2 (en) 2008-10-31 2013-03-19 Intel Corporation Power management for multiple processor cores

Family Cites Families (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5887611A (ja) 1981-11-20 1983-05-25 Fujitsu Ltd 可変クロツク発振器
JPH0744408A (ja) 1993-07-27 1995-02-14 Pfu Ltd 内部に温度検出機能を備えたマイクロプロセッサ
JPH1091268A (ja) 1996-09-11 1998-04-10 Sony Corp 半導体回路のクロック周波数制御方法およびデータ処理装置
JPH11232147A (ja) 1998-02-16 1999-08-27 Toshiba Corp パワーエスティメーション装置、パワーエスティメーション方法、及びパワーエスティメーションプログラムを記録した機械読み取り可能な記録媒体
US6367023B2 (en) 1998-12-23 2002-04-02 Intel Corporation Method and apparatus of measuring current, voltage, or duty cycle of a power supply to manage power consumption in a computer system
US6363490B1 (en) 1999-03-30 2002-03-26 Intel Corporation Method and apparatus for monitoring the temperature of a processor
US6564328B1 (en) * 1999-12-23 2003-05-13 Intel Corporation Microprocessor with digital power throttle
US7516334B2 (en) 2001-03-22 2009-04-07 Sony Computer Entertainment Inc. Power management for processing modules
US6834353B2 (en) 2001-10-22 2004-12-21 International Business Machines Corporation Method and apparatus for reducing power consumption of a processing integrated circuit
US6957352B2 (en) 2002-03-15 2005-10-18 Intel Corporation Processor temperature control interface
US7086058B2 (en) 2002-06-06 2006-08-01 International Business Machines Corporation Method and apparatus to eliminate processor core hot spots
KR100992177B1 (ko) 2003-05-07 2010-11-04 모사이드 테크놀로지스 코포레이션 파워 아일랜드를 사용한 집적 회로의 파워 관리
US8037445B2 (en) 2003-08-20 2011-10-11 Hewlett-Packard Development Company, L.P. System for and method of controlling a VLSI environment
JP2005295768A (ja) 2004-04-05 2005-10-20 Yazaki Corp 電源分配システム
US7231474B1 (en) 2004-06-01 2007-06-12 Advanced Micro Devices, Inc. Serial interface having a read temperature command
JP3805344B2 (ja) 2004-06-22 2006-08-02 株式会社ソニー・コンピュータエンタテインメント プロセッサ、情報処理装置およびプロセッサの制御方法
WO2006024325A1 (en) * 2004-08-31 2006-03-09 Freescale Semiconductor, Inc. Method for estimating power consumption
US7437581B2 (en) 2004-09-28 2008-10-14 Intel Corporation Method and apparatus for varying energy per instruction according to the amount of available parallelism
US7878016B2 (en) 2004-12-30 2011-02-01 Intel Corporation Device and method for on-die temperature measurement
US7444526B2 (en) 2005-06-16 2008-10-28 International Business Machines Corporation Performance conserving method for reducing power consumption in a server system
JP2007122657A (ja) 2005-10-31 2007-05-17 Toshiba Corp 消費電流制御システム
US7721128B2 (en) 2005-11-29 2010-05-18 International Business Machines Corporation Implementation of thermal throttling logic
US7421601B2 (en) 2006-02-17 2008-09-02 International Business Machines Corporation Method and system for controlling power in a chip through a power-performance monitor and control unit
JP2007233782A (ja) 2006-03-02 2007-09-13 Lenovo Singapore Pte Ltd 発熱量の制御方法およびコンピュータ
US20070260894A1 (en) 2006-05-03 2007-11-08 Aguilar Maximino Jr Optimizing thermal performance using feed-back directed optimization
US8037893B2 (en) 2006-05-03 2011-10-18 International Business Machines Corporation Optimizing thermal performance using thermal flow analysis
CN100517176C (zh) 2006-06-21 2009-07-22 国际商业机器公司 实现热调节逻辑的数据处理系统和方法
US7584369B2 (en) 2006-07-26 2009-09-01 International Business Machines Corporation Method and apparatus for monitoring and controlling heat generation in a multi-core processor
US8122265B2 (en) 2006-12-29 2012-02-21 Intel Corporation Power management using adaptive thermal throttling
US8117478B2 (en) 2006-12-29 2012-02-14 Intel Corporation Optimizing power usage by processor cores based on architectural events
JP2009031689A (ja) 2007-07-30 2009-02-12 Ricoh Co Ltd 温度監視装置及び温度監視方法
JP4395800B2 (ja) 2007-09-18 2010-01-13 日本電気株式会社 電力管理システムおよび電力管理方法
JP2009129137A (ja) 2007-11-22 2009-06-11 Hitachi High-Technologies Corp マイクロプロセッサの温度監視制御装置、およびマイクロプロセッサの温度監視制御方法
US7949889B2 (en) 2008-01-07 2011-05-24 Apple Inc. Forced idle of a data processing system
US8001394B2 (en) 2008-01-31 2011-08-16 International Business Machines Corporation Method and system of multi-core microprocessor power management and control via per-chiplet, programmable power modes
JP5056573B2 (ja) * 2008-05-09 2012-10-24 富士通株式会社 設計支援プログラム、設計支援装置、および設計支援方法
US8880922B2 (en) 2009-03-05 2014-11-04 Hitachi, Ltd. Computer and power management system for computer
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
KR101155202B1 (ko) * 2009-12-24 2012-06-13 포항공과대학교 산학협력단 멀티 코어 프로세서의 전력 관리 방법, 멀티 코어 프로세서의 전력 관리 방법이 기록된 기록매체 및 이를 실행하는 멀티 코어 프로세서 시스템
US8356194B2 (en) * 2010-01-28 2013-01-15 Cavium, Inc. Method and apparatus for estimating overshoot power after estimating power of executing events
US20120144215A1 (en) 2010-12-03 2012-06-07 Advanced Micro Devices, Inc. Maximum current limiting method and apparatus
US9250682B2 (en) * 2012-12-31 2016-02-02 Intel Corporation Distributed power management for multi-core processors
US9671844B2 (en) 2013-09-26 2017-06-06 Cavium, Inc. Method and apparatus for managing global chip power on a multicore system on chip

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8402290B2 (en) 2008-10-31 2013-03-19 Intel Corporation Power management for multiple processor cores

Also Published As

Publication number Publication date
US20210200287A1 (en) 2021-07-01
US11709534B2 (en) 2023-07-25
KR101701004B1 (ko) 2017-02-13
CN104516475B (zh) 2017-07-21
US9671844B2 (en) 2017-06-06
HK1209210A1 (en) 2016-03-24
US20150089251A1 (en) 2015-03-26
CN107272876B (zh) 2020-09-22
US10732684B2 (en) 2020-08-04
KR20150034650A (ko) 2015-04-03
US20170228007A1 (en) 2017-08-10
CN107272876A (zh) 2017-10-20
US20200301491A1 (en) 2020-09-24
JP2015079496A (ja) 2015-04-23
US10152102B2 (en) 2018-12-11
US20190107874A1 (en) 2019-04-11
US10983576B2 (en) 2021-04-20
DE102014014301A1 (de) 2015-03-26
CN104516475A (zh) 2015-04-15
JP6169547B2 (ja) 2017-07-26

Similar Documents

Publication Publication Date Title
DE102014014301B4 (de) Verfahren und Einrichtung zum Verwalten globaler Chip-Energie auf einem Chip-internen Mehrkernsystem
DE69907512T2 (de) Gerät und verfahren zur automatischen frequenzregelung einer zentralen verarbeitungseinheit
DE69629123T2 (de) Apparat und verfahren zum reduzieren des stromverbrauchs durch skalierung von spannung und frequenz
DE602004001904T2 (de) Verfahren und System zur Zuweisung von Ressourcen eines Computers
DE10297598T5 (de) Mechanismus zum Abschätzen und Steuern von di/dt-induzierten Spannungsänderungen bei Energieversorgungen
DE112017008096T5 (de) Stromsteuerung einer verarbeitungseinheit
DE102010054337A1 (de) Mechanismen, um ineffizientes Core-Hopping zu vermeiden und Hardware-unterstützte Auswahl eines Niedrigleitungszustands bereitzustellen
DE102009051387A1 (de) Power Management für Mehrprozessorkerne
DE102005044533A1 (de) Aufgabenplanungsverfahren für geringe Leistungsableitung in einem Systemchip
DE112006001004T5 (de) Erweiterbare Planung von Tasks in zeitgetriggerten, verteilten, eingebetteten Systemen
DE102018115131A1 (de) Reaktives leistungsmanagement für nichtflüchtige speicher-controller
CN113515382B (zh) 云资源的分配方法、装置、电子设备及存储介质
DE102015102689A1 (de) Steuern von Flankensteilheiten eines Prozessors auf der Basis eines Batterieladezustands
DE112006001011T5 (de) Erweiterbare Planung von Nachrichten auf zeitgetriggerten Bussen
DE102017128711A1 (de) Mehrkernprozessor und Verfahren zur dynamischen Einstellung einer Versorgungsspannung und einer Taktfrequenz
DE102018003245A1 (de) Numerische Steuereinrichtung
DE102020118005A1 (de) Verfahren und einrichtung zum dynamischen drosseln von rechenengines
DE102016118409A1 (de) Leistungsmanagement für datenzentrumsleistungsarchitekturen
DE112017006367T5 (de) Aufgabenmanagement mit dynamischer Laufzeit
DE102008023681B4 (de) Verfahren und Vorrichtung zum Regeln eines Versorgungsstroms für eine Schaltung oder eine Mehrzahl von Schaltungsblöcken
DE112021000842T5 (de) Maschinelle Lernvorrichtung, Computervorrichtung, Steuersystem und maschinelles Lernverfahren
DE112012005572T5 (de) Ausgleichen einer Bandbreite für mehrere Anforderer, die ein gemeinsam genutztes Speichersystem verwenden
DE102023101325A1 (de) Systeme, vorrichtungen und verfahren zur leistungsverwaltung und leistungsschätzung
DE102010028896A1 (de) Verfahren und Vorrichtung zum Zuweisen einer Mehrzahl von Teilaufgaben einer Aufgabe zu einer Mehrzahl von Recheneinheiten einer vorgegebenen Prozessorarchitektur
DE112018006793T5 (de) Hybrid-priorisierte ressourcenzuweisung in rechenvorrichtungen mit wärme- oder energiebegrenzung

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R083 Amendment of/additions to inventor(s)
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R081 Change of applicant/patentee

Owner name: MARVELL ASIA PTE, LTD., SG

Free format text: FORMER OWNER: CAVIUM, INC., SAN JOSE, CALIF., US

Owner name: CAVIUM, LLC (N.D.GES.D.STAATES DELAWARE), SAN , US

Free format text: FORMER OWNER: CAVIUM, INC., SAN JOSE, CALIF., US

R082 Change of representative

Representative=s name: WAGNER & GEYER PARTNERSCHAFT MBB PATENT- UND R, DE

R020 Patent grant now final
R081 Change of applicant/patentee

Owner name: MARVELL ASIA PTE, LTD., SG

Free format text: FORMER OWNER: CAVIUM, LLC (N.D.GES.D.STAATES DELAWARE), SAN JOSE, CALIF., US

R082 Change of representative

Representative=s name: WAGNER & GEYER PARTNERSCHAFT MBB PATENT- UND R, DE

R082 Change of representative

Representative=s name: GRUENECKER PATENT- UND RECHTSANWAELTE PARTG MB, DE