DE102014014301A1 - 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 PDFInfo
- Publication number
- DE102014014301A1 DE102014014301A1 DE102014014301.5A DE102014014301A DE102014014301A1 DE 102014014301 A1 DE102014014301 A1 DE 102014014301A1 DE 102014014301 A DE102014014301 A DE 102014014301A DE 102014014301 A1 DE102014014301 A1 DE 102014014301A1
- Authority
- DE
- Germany
- Prior art keywords
- core processor
- energy
- core
- processor chip
- controller
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/28—Supervision thereof, e.g. detecting power-supply failure by out of limits supervision
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/324—Power saving characterised by the action undertaken by lowering clock frequency
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3243—Power saving in microcontroller unit
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B17/00—Monitoring; Testing
- H04B17/20—Monitoring; Testing of receivers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L27/00—Modulated-carrier systems
- H04L27/0014—Carrier regulation
- H04L2027/0016—Stabilisation of local oscillators
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L27/00—Modulated-carrier systems
- H04L27/0014—Carrier regulation
- H04L2027/0044—Control loops for carrier regulation
- H04L2027/0063—Elements of loops
- H04L2027/0067—Phase error detectors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L27/00—Modulated-carrier systems
- H04L27/0014—Carrier regulation
- H04L2027/0044—Control loops for carrier regulation
- H04L2027/0071—Control of loops
- H04L2027/0075—Error weighting
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Power Sources (AREA)
- Microcomputers (AREA)
Abstract
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.
- KURZE BESCHREIBUNG
- 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.
- KURZE BESCHREIBUNG DER ZEICHNUNGEN
- 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 und3B 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-Chips100 gemäß wenigstens einer beispielhaften Ausführungsform. Der Mehrkern-Prozessor-Chip100 umfasst mehrere Kernprozessoren, z. B.120-1 –120-N und eine Zentralsteuerung110 . Die Zentralsteuerung110 ist zur Verwaltung der globalen Energie des Mehrkern-Prozessor-Chips100 ausgebildet. Die Zentralsteuerung ist an die mehreren Kernprozessoren120-1 –120-N angekoppelt und ausgebildet zum Bestimmen einer Schätzung globalen Energieverbrauchs durch den Mehrkern-Prozessor-Chip100 ü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 Zentralsteuerung110 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äß demUS-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 Zentralsteuerung110 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-Chips100 ausgebildet. -
2 ist ein Flussdiagramm eines Verfahrens zum Regeln von Energie in dem Mehrkern-Prozessor-Chip100 gemäß wenigstens einer beispielhaften Ausführungsform. Bei Block210 werden ein oder mehr mit den mehreren Kernprozessoren, z. B.120-1 –120-N , verbundene Energieschätzungen durch die Zentralsteuerung110 angesammelt. Die Zentralsteuerung110 kann weiterhin mit dem einen oder den mehreren Koprozessorblöcken, z. B.130-1 –130-M , verbundene Energieschätzung(en) am Block220 ansammeln, wenn der Mehrkern-Prozessor-Chip100 solche Koprozessorblöcke umfasst. - Am Block
230 benutzt die Zentralsteuerung110 die angesammelte(n) Energieschätzung(en) zum Bestimmen einer Schätzung der durch den Mehrkern-Prozessor-Chip100 über ein festes Zeitintervall verbrauchten Gesamtenergie. Beispielsweise kann die Zentralsteuerung110 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 Block230 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 Zentralsteuerung110 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-Chip100 ü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). - 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-Chip100 für die letzten wenigen Millisekunden ruhig gewesen war. Anders gesagt ermöglicht der Sättigungswert dem Mehrkern-Prozessor-Chip100 , 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), and
Global_lim = Global_lim – 1 wenn (Cum_Power_Estimate > Target_Power). - 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-Chips100 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 Zentralsteuerung110 einen Befehl an alle Kernprozessoren, z. B.120-1 –120N , senden, der die Kernprozessoren anweist, ihren entsprechenden Energieverbrauch zu regeln. Beispielsweise kann die Zentralsteuerung110 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 Zentralsteuerung110 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 Zentralsteuerung110 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-Chip100 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-Chip100 die Zielenergie überschreitet und die Gesamtdifferenz Null beträgt, sendet die Zentralsteuerung110 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 Zentralsteuerung110 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 Zentralsteuerung110 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 Zentralsteuerung110 empfangenen globalen Schwellwert überschreitet und hört dann auf, Anweisung auszugeben, bis zum Ende des festen Zeitintervalls. -
3A und3B 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 Zentralsteuerung110 zurückzusendende Energieschätzung darstellende Nutzlast. Der erste Kernprozessor, z. B.120-1 , empfängt den Lesebefehl von der Zentralsteuerung110 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 Kernprozessoren120-2 –120-N wiederholt. Am letzten Kernprozessor, z. B.120-N , wird das Additionsendergebnis zur Zentralsteuerung110 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 Zentralsteuerung110 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 und120 -(k3 + 1)–120-N . Die bitweise Addition und Weiterleitung kann in jedem seriellen Aufbau angewandt werden. Die Zentralsteuerung110 empfängt vier Energieschätzungen, z. B. von den Kernprozessoren120 -k1,120 -k2,120 -k3 und120-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 Zentralsteuerung110 beispielsweise die vier empfangenen Energieschätzungen. Die Zentralsteuerung110 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 , ..., oder130-M kann einen oder mehrere Takte aufweisen. Nach einer beispielhaften Ausführungsform empfängt die Zentralsteuerung110 Informationen von Koprozessorblöcken, z. B.130-1 –130-M , die Energieverbrauchsschätzung für jeden der entsprechenden Takte ermöglichen. Die Zentralsteuerung110 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-Chip100 zu erzeugen. -
5 zeigt Beispiele eines einem Koprozessorblocktakt zugeordneten Taktsignals510 und eines entsprechenden abgeänderten Taktsignals520 gemäß wenigstens einer beispielhaften Ausführungsform. Das abgeänderte Taktsignal520 wird an der Zentralsteuerung110 von einem Koprozessorblock, z. B.130-1 ,130-2 , ..., oder130-M empfangen. Das Taktsignal510 weist typischerweise eine höhere Frequenz als die der Zentralsteuerung110 auf. Damit kann die Zentralsteuerung, wenn das Taktsignal510 zur Zentralsteuerung110 gesendet wird, das Taktsignal510 nicht ordnungsgemäß abtasten, um die entsprechende Energie zu schätzen. Das Taktsignal510 kann Ruheperioden511 enthalten, wodurch die den Koprozessorblöcken, z. B.130-1 ,130-M zugeordneten verschiedenen Taktsignale510 asynchron werden. - Nach einer beispielhaften Ausführungsform wird das abgeänderte Taktsignal
520 durch Verringern einer Anzahl von Taktzyklen im Taktsignal510 in einem einzelnen Zyklus in dem abgeänderten Taktsignal520 erzeugt. Beispielsweise entsprechen 32 Taktzyklen im Taktsignal510 einem einzigen Zyklus im abgeänderten Taktsignal520 . Damit kann die Zentralsteuerung110 das abgeänderte Taktsignal520 ordnungsgemäß abtasten. - Jeder Koprozessorblock, z. B.
130-1 ,130-2 , ... oder130-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 Taktsignal520 , 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 Zentralsteuerung110 empfangen. Die Zentralsteuerung110 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-Chip100 kann die Zentralsteuerung110 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. - Während die vorliegende Erfindung insbesondere mit Bezugnahmen auf beispielhafte Ausführungsformen derselben gezeigt und beschrieben worden ist, wird der Fachmann verstehen, dass verschiedene Änderungen an Form und Einzelheiten daran durchgeführt werden können, ohne aus dem durch die beiliegenden Ansprüche umfassten Schutzumfang der Erfindung zu weichen.
- ZITATE ENTHALTEN IN DER BESCHREIBUNG
- Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
- Zitierte Patentliteratur
-
- US 8356194 [0017]
Claims (30)
- Verfahren zum Regeln von Energie in einem Mehrkern-Prozessor-Chip, umfassend: Ansammeln an einer Steuerung in dem Mehrkern-Prozessor-Chip einer oder mehrerer, mehreren Kernprozessoren in dem Mehrkern-Prozessorchip zugeordneten Energieschätzungen; Bestimmen 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, dass Energieverbrauch an jedem Kernprozessor basierend auf dem bestimmten globalen Energieschwellwert geregelt wird.
- Verfahren nach Anspruch 1, wobei Ansammeln der einen oder mehreren, mehreren Kernprozessoren zugeordneten Energieschätzungen Empfangen einer oder mehrerer Gesamt-Summen von einer oder mehreren Teilmengen der mehreren Kernprozessoren in dem Mehrkern-Prozessor-Chip zugeordneten Energieschätzungen umfasst.
- Verfahren nach Anspruch 1, wobei Ansammeln der einen oder mehreren, mehreren Kernprozessoren zugeordneten Energieschätzungen Empfangen mehrerer Energieschätzungen entsprechend den mehreren Kernprozessoren in dem Mehrkern-Prozessor-Chip umfasst.
- Verfahren nach Anspruch 1, wobei Ansammeln der einen oder mehreren, mehreren Kernprozessoren zugeordneten Energieschätzungen Senden eines Lesebefehls von der Steuerung zu wenigstens einem Kernprozessor der mehreren Kernprozessoren umfasst.
- Verfahren nach Anspruch 4, wobei ein einen Lesebefehl empfangender Kernprozessor einen eine Gesamtsumme von Energieschätzungen darstellenden Parameterwert aktualisiert und den Lesebefehl mit der aktualisierten Gesamtsumme zu einem anderen Kernprozessor oder zu der Steuerung weiterleitet.
- Verfahren nach Anspruch 1, wobei Bestimmen des globalen Energieschwellwerts umfasst: 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; und Verringern des den globalen Energieschwellwert darstellenden Parameterwerts bei Bestimmen, dass die bestimmte Gesamtenergieschätzung größer als die gewünschte Zielenergie ist.
- Verfahren nach Anspruch 6, wobei die gewünschte Zielenergie eine durch einen Benutzer oder Hersteller des Mehrkern-Prozessor-Chips gesetzte Konstante ist.
- Verfahren nach Anspruch 6, wobei die gewünschte Zielenergie basierend wenigstens teilweise auf gemessenen Temperaturwerten des Mehrkern-Prozessor-Chips dynamisch gesetzt wird.
- Verfahren nach Anspruch 1, weiterhin umfassend: Ansammeln einer oder mehrerer, einem oder mehreren Koprozessorblöcken in den Mehrkern-Prozessor-Chip zugeordneten Darstellungen von Takttätigkeiten; Bestimmen einer oder mehrerer, dem einen oder den mehreren Koprozessorenblöcken zugeordneten Energieschätzungen basierend wenigstens teilweise auf der einen oder den mehreren angesammelten Darstellungen, wobei das Bestimmen einer Gesamt-Energieschätzung für den Mehrkern-Prozessor-Chip weiterhin auf der einen oder den mehreren, dem einen oder den mehreren Koprozessorblöcken zugeordneten Energieschätzungen basiert.
- Verfahren nach Anspruch 9, wobei Bestimmen der einen oder mehreren, dem einen oder den mehreren Koprozessorblöcken zugeordneten Energieschätzungen weiterhin auf einer Nachschlagetabelle basiert.
- Verfahren nach Anspruch 9, wobei Ansammeln der einen oder mehreren Darstellungen der dem einen oder den mehreren Koprozessorblöcken zugeordneten Takttätigkeiten umfasst: Zählen an jedem Koprozessorblock von dem gleichen Koprozessorblock zugeordneten Takttätigkeitszyklen; Erzeugen einer Darstellung der dem Koprozessorblock zugeordneten Takttätigkeit durch Abbilden einer vordefinierten Anzahl gezählter Takttätigkeitszyklen auf ein einziges Symbol in der Darstellung der dem Koprozessorblock zugeordneten Takttätigkeit; und Empfangen durch die Steuerung der Darstellung der dem Koprozessorblock zugeordneten Takttätigkeit.
- Verfahren nach Anspruch 1, wobei Bewirken, dass der Energieverbrauch an jedem Kernprozessor geregelt ist, Anweisen jedes Kernprozessors zum Regeln des Energieverbrauchs des Kernprozessors basierend auf dem globalen Schwellwert umfasst.
- Verfahren nach Anspruch 12, wobei Anweisen jedes Kernprozessors zum Regeln des Energieverbrauchs Senden einer Anzeige des bestimmten globalen Schwellwerts zu jedem Kernprozessor umfasst.
- Verfahren nach Anspruch 13, weiterhin umfassend Vergleichen des globalen Schwellwerts mit einer lokalen Energiegrenze durch jeden Kernprozessor.
- Verfahren nach Anspruch 1, wobei Bewirken, dass der Energieverbrauch an jedem Kernprozessor geregelt wird, Einstellen einer Haupttaktfrequenz umfasst.
- Mehrkern-Prozessor-Chip umfassend: mehrere Kernprozessoren; und eine an wenigstens einen der mehreren Kernprozessoren angekoppelte Steuerung, wobei die Steuerung ausgebildet ist, eine oder mehrere den mehreren Kernprozessoren in dem Mehrkern-Prozessor-Chip zugeordnete Energieschätzungen anzusammeln; einen globalen Energieschwellwert basierend auf einer Gesamt-Energieschätzung zu bestimmen, wobei die Gesamt-Energieschätzung basierend wenigstens teilweise auf der einen oder den mehreren angesammelten Energieschätzungen bestimmt wird; und Bewirken, dass der Energieverbrauch an jedem Kernprozessor basierend auf dem bestimmten globalen Energieschwellwert geregelt wird.
- Mehrkern-Prozessor-Chip nach Anspruch 16, wobei beim Ansammeln der einen oder mehreren, den mehreren Kernprozessoren zugeordneten Energieschätzungen die Steuerung ausgebildet ist, eine oder mehrere Gesamtsummen von einer oder mehreren Teilmengen der mehreren Kernprozessoren zugeordneten Energieschätzungen zu empfangen.
- Mehrkern-Prozessor-Chip nach Anspruch 16, wobei beim Ansammeln der einen oder mehreren, den mehreren Kernprozessoren zugeordneten Energieschätzungen die Steuerung zum Empfangen mehrerer Energieschätzungen entsprechend den mehreren Kernprozessoren ausgebildet ist.
- Mehrkern-Prozessor-Chip nach Anspruch 16, wobei beim Ansammeln der einen oder mehreren, den mehreren Kernprozessoren zugeordneten Energieschätzungen die Steuerung zum Senden eines Lesebefehls von der Steuerung zu wenigstens einem Kernprozessor der mehreren Kernprozessoren ausgebildet ist.
- Mehrkern-Prozessor-Chip nach Anspruch 19, wobei wenigstens ein Kernprozessor von den mehreren Kernprozessoren ausgebildet ist; ein Lesebefehl zu empfangen; einen eine Gesamtsumme von Energieschätzungen darstellenden Parameterwert zu aktualisieren; und den Lesebefehl mit der aktualisierten Gesamtsumme zu einem anderen Kernprozessor oder der Steuerung weiterzuleiten.
- Mehrkern-Prozessor-Chip nach Anspruch 16, wobei beim Bestimmen des globalen Energieschwellwerts die Steuerung ausgebildet ist: einen den globalen Energieschwellwert darstellenden Parameterwert bei Bestimmen, dass die bestimmte Gesamtenergieschätzung und ein entsprechender Durchschnittswert über Zeit beide kleiner als eine gewünschte Zielenergie sind, zu erhöhen; und den den globalen Energieschwellwert darstellenden Parameterwert bei Bestimmen, dass die bestimmte Gesamtenergieschätzung größer als die gewünschte Zielenergie ist, zu verringern.
- Mehrkern-Prozessor-Chip nach Anspruch 21, wobei die gewünschte Zielenergie eine durch einen Benutzer oder einen Hersteller des Mehrkern-Prozessor-Chips gesetzte Konstante ist.
- Mehrkern-Prozessor-Chip nach Anspruch 21, wobei die gewünschte Zielenergie basierend wenigstens teilweise auf gemessenen Temperaturwerten des Mehrkern-Prozessor-Chips dynamisch gesetzt wird.
- Mehrkern-Prozessor-Chip nach Anspruch 16, wobei der Mehrkern-Prozessor-Chip weiterhin einen oder mehrere Koprozessorblöcke umfasst und die Steuerung weiterhin ausgebildet ist; eine oder mehrere Darstellungen von dem einen oder den mehreren Koprozessorblöcken zugeordneten Takttätigkeiten anzusammeln; eine oder mehrere, dem einen oder den mehreren Koprozessorblöcken zugeordnete Energieschätzungen basierend wenigstens teilweise auf der einen oder den mehreren angesammelten Darstellungen zu bestimmen, wobei das Bestimmen einer Gesamtenergieschätzung für den Mehrkern-Prozessor-Chip weiterhin auf der einen oder den mehreren, dem einen oder den mehreren Koprozessorblöcken zugeordneten Energieschätzungen basiert.
- Mehrkern-Prozessor-Chip nach Anspruch 24, wobei beim Bestimmen der einen oder mehreren, dem einen oder mehreren Koprozessorblöcken zugeordneten Energieschätzungen die Steuerung weiterhin zum Überprüfen einer Nachschlagetabelle zum Bestimmen der jedem Koprozessorblock zugeordneten Energieschätzung ausgebildet ist.
- Mehrkern-Prozessor-Chip nach Anspruch 24, wobei beim Ansammeln einer oder mehrerer Darstellungen der dem einen oder den mehreren Koprozessorblöcken zugeordneten Takttätigkeiten jeder Koprozessorblock ausgebildet ist: an jedem Koprozessorblock dem gleichen Koprozessorblock zugeordnete Takttätigkeitszyklen zu zählen; eine Darstellung der dem Koprozessorblock zugeordneten Takttätigkeit durch Abbilden einer vordefinierten Anzahl gezählter Takttätigkeitszyklen auf ein einziges Symbol in der Darstellung der dem Koprozessorblock zugeordneten Takttätigkeit zu erzeugen; und die Darstellung der dem Koprozessorblock zugeordneten Takttätigkeit zur Steuerung zu senden.
- Mehrkern-Prozessor-Chip nach Anspruch 16, wobei beim Bewirken, dass der Energieverbrauch an jedem Kernprozessor geregelt ist, die Steuerung weiterhin zum Anweisen jedes Kernprozessors zum Regeln des Energieverbrauchs des Kernprozessors basierend auf dem globalen Schwellwert ausgebildet ist.
- Mehrkern-Prozessor-Chip nach Anspruch 27, wobei beim Anweisen jedes Kernprozessors zum Regeln des Energieverbrauchs die Steuerung weiterhin ausgebildet ist, eine Anzeige des bestimmten globalen Schwellwerts zu jedem Kernprozessor zu senden.
- Mehrkern-Prozessor-Chip nach Anspruch 28, wobei jeder Kernprozessor zum Vergleichen des globalen Schwellwerts mit einer lokalen Energiegrenze ausgebildet ist.
- Mehrkern-Prozessor-Chip nach Anspruch 16, wobei beim Bewirken, dass der Energieverbrauch an jedem Kernprozessor geregelt ist, die Steuerung zum Einstellen einer Haupttaktfrequenz ausgebildet ist.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
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 |
US14/038,549 | 2013-09-26 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE102014014301A1 true DE102014014301A1 (de) | 2015-03-26 |
DE102014014301B4 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) | CN104516475B (de) |
DE (1) | DE102014014301B4 (de) |
HK (1) | HK1209210A1 (de) |
Families Citing this family (19)
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 |
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 |
IL297858A (en) | 2020-05-01 | 2023-01-01 | Monday Com Ltd | Digital processing systems and methods for improved networking and collaborative work management systems, methods and devices |
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)
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 |
Family Cites Families (43)
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 |
KR100915258B1 (ko) | 2003-05-07 | 2009-09-03 | 모사이드 테크놀로지스 코포레이션 | 전원 아일랜드를 사용한 집적 회로의 전원 관리 |
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 | 株式会社ソニー・コンピュータエンタテインメント | プロセッサ、情報処理装置およびプロセッサの制御方法 |
US20090171646A1 (en) * | 2004-08-31 | 2009-07-02 | 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 | 発熱量の制御方法およびコンピュータ |
US8037893B2 (en) | 2006-05-03 | 2011-10-18 | International Business Machines Corporation | Optimizing thermal performance using thermal flow analysis |
US20070260894A1 (en) | 2006-05-03 | 2007-11-08 | Aguilar Maximino Jr | Optimizing thermal performance using feed-back directed optimization |
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 | 富士通株式会社 | 設計支援プログラム、設計支援装置、および設計支援方法 |
US8402290B2 (en) | 2008-10-31 | 2013-03-19 | Intel Corporation | Power management for multiple processor cores |
JP5256340B2 (ja) | 2009-03-05 | 2013-08-07 | 株式会社日立製作所 | 計算機及び計算機の電力管理システム |
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 | 포항공과대학교 산학협력단 | 멀티 코어 프로세서의 전력 관리 방법, 멀티 코어 프로세서의 전력 관리 방법이 기록된 기록매체 및 이를 실행하는 멀티 코어 프로세서 시스템 |
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 |
-
2013
- 2013-09-26 US US14/038,549 patent/US9671844B2/en active Active
-
2014
- 2014-09-22 JP JP2014192982A patent/JP6169547B2/ja active Active
- 2014-09-25 CN CN201410498360.9A patent/CN104516475B/zh active Active
- 2014-09-25 DE DE102014014301.5A patent/DE102014014301B4/de active Active
- 2014-09-25 KR KR1020140128554A patent/KR101701004B1/ko active IP Right Grant
- 2014-09-25 CN CN201710532160.4A patent/CN107272876B/zh active Active
-
2015
- 2015-10-09 HK HK15109894.1A patent/HK1209210A1/xx unknown
-
2017
- 2017-04-27 US US15/499,531 patent/US10152102B2/en active Active
-
2018
- 2018-12-05 US US16/210,987 patent/US10732684B2/en active Active
-
2020
- 2020-06-08 US US16/895,438 patent/US10983576B2/en active Active
-
2021
- 2021-03-16 US US17/202,557 patent/US11709534B2/en active Active
Patent Citations (1)
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 |
Also Published As
Publication number | Publication date |
---|---|
US20170228007A1 (en) | 2017-08-10 |
US20150089251A1 (en) | 2015-03-26 |
HK1209210A1 (en) | 2016-03-24 |
US20210200287A1 (en) | 2021-07-01 |
US20190107874A1 (en) | 2019-04-11 |
KR101701004B1 (ko) | 2017-02-13 |
US20200301491A1 (en) | 2020-09-24 |
CN104516475B (zh) | 2017-07-21 |
KR20150034650A (ko) | 2015-04-03 |
CN107272876B (zh) | 2020-09-22 |
CN104516475A (zh) | 2015-04-15 |
JP6169547B2 (ja) | 2017-07-26 |
US10732684B2 (en) | 2020-08-04 |
US9671844B2 (en) | 2017-06-06 |
US11709534B2 (en) | 2023-07-25 |
US10152102B2 (en) | 2018-12-11 |
US10983576B2 (en) | 2021-04-20 |
JP2015079496A (ja) | 2015-04-23 |
CN107272876A (zh) | 2017-10-20 |
DE102014014301B4 (de) | 2018-08-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE102014014301B4 (de) | Verfahren und Einrichtung zum Verwalten globaler Chip-Energie auf einem Chip-internen Mehrkernsystem | |
DE10297598B4 (de) | Vorrichtung und System zum Abschätzen und Steuern von di/dt-induzierten Spannungsänderungen bei Energieversorgungen | |
DE112017000855B4 (de) | Energiesparender zeitlich gemultiplexter neurosynaptischer Kern zum Implementieren neuronaler Netze | |
DE102007053796B4 (de) | Betreiben integrierter Schaltkreis-Logikblöcke bei unabhängigen Spannungen mit einer einzelnen Spannungsversorgung | |
DE102018115131A1 (de) | Reaktives leistungsmanagement für nichtflüchtige speicher-controller | |
DE112017008096T5 (de) | Stromsteuerung einer verarbeitungseinheit | |
EP1756714A2 (de) | Verfahren zur prüfung der echtzeitfähigkeit eines systems | |
DE102018200794A1 (de) | Aktionsinformationslernvorrichtung, aktionsinformationsoptimierungssystem und aktionsinformationslernprogramm | |
DE2646296A1 (de) | Assoziative elektronische schaltungsanordnung aus digitalen prozessoren | |
DE102019201928A1 (de) | System und Verfahren zum Steuern einer Ladungspumpe | |
DE102020118005A1 (de) | Verfahren und einrichtung zum dynamischen drosseln von rechenengines | |
DE112019000676T5 (de) | Zentraler scheduler und anweisungszuteiler für einen neuronalen inferenzprozessor | |
DE102017128711A1 (de) | Mehrkernprozessor und Verfahren zur dynamischen Einstellung einer Versorgungsspannung und einer Taktfrequenz | |
DE102018003245A1 (de) | Numerische Steuereinrichtung | |
DE112012005572T5 (de) | Ausgleichen einer Bandbreite für mehrere Anforderer, die ein gemeinsam genutztes Speichersystem verwenden | |
DE102004061339A1 (de) | Scheduling-Verfahren, insbesondere Kontex-Scheduling-Verfahren, und Einrichtung zur Verwendung bei einem Scheduling-Verfahren | |
DE102008023681A1 (de) | Verfahren und Vorrichtung zum Regeln eines Versorgungsstroms für eine Schaltung oder eine Mehrzahl von Schaltungsblöcken | |
DE112018006793T5 (de) | Hybrid-priorisierte ressourcenzuweisung in rechenvorrichtungen mit wärme- oder energiebegrenzung | |
DE112010003227T5 (de) | System und verfahren zum ausgleichen von eingangsstrom mit parallelen leistungsversorgungen | |
DE112018003751T5 (de) | Verfolgung einer globalen minimalen energie unter berücksichtigung der spannungsreglereffizienz | |
DE69129916T2 (de) | Schaltung zur Erzeugung einer Adresse eines Wahlspeichers | |
DE102023101325A1 (de) | Systeme, vorrichtungen und verfahren zur leistungsverwaltung und leistungsschätzung | |
DE10331801B4 (de) | Schaltung zum kontinuierlichen Überwachen und Einstellen eines analogen Signals sowie Verfahren zum Betreiben einer Schaltung | |
DE112017006454T5 (de) | Computervorrichtung, Aufgabeneinleitungsverfahren und Aufgabeneinleitungsprogramm | |
DE69223672T2 (de) | Wartezustand nach Dienstanforderung in einem ikonischen Programmiersystem |
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 |