DE112018000372T5 - Systeme und verfahren für eine kohärente energieverwaltung - Google Patents

Systeme und verfahren für eine kohärente energieverwaltung Download PDF

Info

Publication number
DE112018000372T5
DE112018000372T5 DE112018000372.8T DE112018000372T DE112018000372T5 DE 112018000372 T5 DE112018000372 T5 DE 112018000372T5 DE 112018000372 T DE112018000372 T DE 112018000372T DE 112018000372 T5 DE112018000372 T5 DE 112018000372T5
Authority
DE
Germany
Prior art keywords
power
circuits
power management
load
energy
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
DE112018000372.8T
Other languages
English (en)
Other versions
DE112018000372B4 (de
Inventor
Joseph T. Dibene II
Inder M. Sodhi
Keith Cox
Gerard R. Williams III
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.)
Apple Inc
Original Assignee
Apple Inc
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 Apple Inc filed Critical Apple Inc
Publication of DE112018000372T5 publication Critical patent/DE112018000372T5/de
Application granted granted Critical
Publication of DE112018000372B4 publication Critical patent/DE112018000372B4/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
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3296Power saving characterised by the action undertaken by lowering the supply or operating voltage

Abstract

In einer Ausführungsform schließt ein System mehrere Energieverwaltungsmechanismen, die in verschiedenen Zeitdomänen (z. B. mit unterschiedlichen Bandbreiten) betrieben werden, und eine Steuerschaltung, die zur Koordination des Betriebs der Mechanismen konfiguriert ist, ein. Wenn ein Mechanismus dem System Energie hinzufügt, kann zum Beispiel die Steuerschaltung einen anderen Mechanismus informieren, dass die Energie kommt, sodass der andere Mechanismus eine weniger drastische Maßnahme durchführen kann, als er durchführen würde, wenn keine Energie käme. Wenn eine leichte Arbeitslast durch eine Schaltung in der Nähe der Last detektiert wird und viel Energie in dem System vorhanden ist, kann die Steuerschaltung bewirken, dass die Energieverwaltungseinheit (Power Management Unit, PMU) weniger Energie erzeugt oder sogar vorübergehend ausschaltet. Es wird eine Vielfalt von Mechanismen für die koordinierte, kohärente Verwendung von Energie beschrieben.

Description

  • HINTERGRUND
  • Technisches Gebiet
  • Die hierin beschriebenen Ausführungsformen beziehen sich auf die Energieverwaltung in elektronischen Systemen und insbesondere das kohärente Verwalten von mehreren Energieverwaltungsschaltungen, die in dem System enthalten sind.
  • Beschreibung der verwandten Technik
  • Elektronische Systeme implementieren eine Vielfalt von Energieverwaltungsmechanismen in einem Versuch, das Gleichgewicht zwischen verbrauchter Energie und erreichter Leistung zu optimieren. Die Mechanismen schließen Mechanismen mit hoher Geschwindigkeit und hoher Bandbreite ein, die sich logisch in der Nähe der Last befinden, die energieverwaltet wird. Zum Beispiel können die Mechanismen mit hoher Geschwindigkeit und hoher Bandbreite auf der gleichen integrierten Schaltung wie die Last integriert sein oder sich logisch in der Nähe der Last befinden, wie an einer Schnittstelle zu der Last. Der Mechanismus schließt auch Mechanismen mit niedrigerer Geschwindigkeit und niedrigerer Bandbreite ein, die sich logisch weiter von der Last weg befinden (z. B. näher an der Energieversorgung). Allgemein werden die Energieverwaltungsmechanismen nicht in einer Rückkopplungsschleife betrieben und sind voneinander unabhängig. Somit gibt es keine Garantie, dass die Mechanismen gut zusammenarbeiten. In der Tat arbeiten die Mechanismen manchmal mit gegensätzlichen Zwecken.
  • Zum Beispiel erreichen die Ströme und die Änderungsgeschwindigkeit von Strömen (di/dt) ausreichend große Werte, und es werden Drosselmechanismen benötigt, um die elektrischen Wirkungen bei verschiedenen Zeitskalen zu begrenzen. Eine Koordination zwischen diesen Mechanismen kann wichtig sein, um Stabilitätsprobleme und die Erregung von zusätzlichem Rauschen in dem System zu verhindern.
  • Eine weitere Folge der größeren Ströme und di/dts ist, dass elektrisch die Leistung von verschiedenen Prozessoren, wie den zentralen Verarbeitungseinheiten (Central Processing Units, CPUs) und Grafikverarbeitungseinheiten (Graphics Processing Units, GPUs), durch den Schutzbereich (Guard Band) und Abfall der Spannung beeinflusst wird. Wenn das elektrische Verhalten der Energiezufuhr nicht gesteuert wird, dann nimmt der Schutzbereich (Guard Band) unvermindert zu.
  • Außerdem kann die Amortisierung von Energie innerhalb des Systems sehr komplex sein. Wenn zum Beispiel die Buskondensatoren durch Aus- und Einschalten der Lasten und der Quellen kontinuierlich geladen und entladen werden, kann beträchtliche Energie in dem System eingespart werden, indem bestimmte Systeme eingeschaltet bleiben und auf den optimalen Zeitpunkt gewartet wird, um sie aus- und einzuschalten. Immer größere Abweichungen des elektrischen Verhaltens werden im Laufe der Zeit an den Stromschienen sowohl der CPU als auch der GPU erwartet.
  • KURZDARSTELLUNG
  • In einer Ausführungsform schließt ein System mehrere Energieverwaltungsmechanismen, die in verschiedenen Zeitdomänen (z. B. mit unterschiedlichen Bandbreiten) betrieben werden, und eine Steuerschaltung, die zur Koordination des Betriebs der Mechanismen konfiguriert ist, ein. Wenn ein Mechanismus dem System Energie hinzufügt, kann zum Beispiel die Steuerschaltung einen anderen Mechanismus informieren, dass die Energie kommt, sodass der andere Mechanismus für die koordinierte, kohärente Verwendung von Energie beschrieben wird.
  • Figurenliste
  • Die folgende, detaillierte Beschreibung nimmt Bezug auf die begleitenden Zeichnungen, die nun kurz beschrieben werden.
    • 1 ist ein Blockdiagramm einer übersichtsartigen Ansicht einer Ausführungsform eines Systems, das ein kohärentes Energieverwaltungssystem (Coherent Power Management System, CPMS) einschließt.
    • 2 ist ein Blockdiagramm einer Ausführungsform des Systems einschließlich des CPMS, das als ein Satz von Kreditzustandsmaschinen, Telemetrieschaltungen und Drosselschaltungen dargestellt ist.
    • 3 ist ein Blockdiagramm einer Ausführungsform des Systems einschließlich des CPMS mit spezifischen Kompensationsschaltungen und Detektorschaltungen.
    • 4 ist ein Blockdiagramm einer Ausführungsform einer Zustandsmaschine für eine Festphasenkompensationsschaltung.
    • 5 ist ein Blockdiagramm einer Ausführungsform einer Zustandsmaschine für eine Coasting-Kompensationsschaltung.
    • 6 ist ein Blockdiagramm einer Ausführungsform einer Zustandsmaschine für eine dynamische Lastleitungskompensationsschaltung.
    • 7 ist ein Blockdiagramm einer Ausführungsform eines Systems.
    • 8 ist ein Blockdiagramm einer Ausführungsform eines computerzugänglichen Speichermediums.
  • Während in dieser Offenbarung beschriebene Ausführungsformen verschiedenen Abänderungen und alternativen Formen unterliegen können, sind spezifische Ausführungsformen davon beispielhaft in den Zeichnungen gezeigt und werden hierin detailliert beschrieben. Es versteht sich jedoch, dass die Zeichnungen und die detaillierte Beschreibung hierzu nicht die Ausführungsformen der besonderen offenbarten Form einschränken sollen, sondern dass diese im Gegenteil dazu beabsichtigt ist, alle Modifikationen, Äquivalente und Alternativen abzudecken, die innerhalb des Grundgedankens und Schutzumfangs der beigefügten Patentansprüche sind. Die hierin verwendeten Überschriften dienen nur organisatorischen Zwecken und sollen nicht verwendet werden, um den Umfang der Beschreibung einzuschränken. Wie in dieser Anmeldung verwendet, wird das Wort „können“ im ermöglichenden Sinn (d. h. „das Potential besitzend zu“ bedeutend) und nicht im zwingenden Sinn (d. h. „müssen“ bedeutend) verwendet. Gleichermaßen haben die Wörter „einschließen“, „einschließlich“ und „schließt ein“ die Bedeutung „einschließlich, jedoch nicht darauf beschränkt“.
  • Innerhalb dieser Offenbarung können verschiedene Entitäten (die verschiedentlich als „Einheiten“, „Schaltungen“, andere Komponenten usw. bezeichnet werden können) als „konfiguriert“ beschrieben oder beansprucht werden, um eine oder mehrere Aufgaben oder Operationen durchzuführen. Diese Formulierung - [Entität], die konfiguriert ist, [eine oder mehrere Aufgaben auszuführen] - wird hierin verwendet, um sich auf eine Struktur (d. h. etwas physisches, wie beispielsweise eine elektronische Schaltung) zu beziehen. Insbesondere wird diese Formulierung verwendet, um anzuzeigen, dass diese Struktur angeordnet ist, um während des Betriebs die eine oder die mehreren Aufgaben auszuführen. Es kann gesagt werden, dass eine Struktur „konfiguriert ist zum“ Ausführen einer Aufgabe, selbst wenn die Struktur gegenwärtig nicht betrieben wird. Eine „Taktschaltung, die konfiguriert ist, ein Ausgangstaktsignal zu erzeugen“ soll zum Beispiel eine Schaltung abdecken, die diese Funktion während des Betriebs ausführt, selbst wenn die betreffende Schaltung derzeit nicht verwendet wird (z. B. keine Stromversorgung damit verbunden ist). Eine Entität, die als „konfiguriert zum Ausführen“ beschrieben wird, bezieht sich somit auf etwas physisches, wie beispielsweise eine Vorrichtung, Schaltung, Speicher, der Programmanweisungen speichert, die zum Implementieren der Aufgabe ausführbar sind, usw. Dieser Ausdruck wird hierin nicht verwendet, um sich auf etwas nicht Greifbares zu beziehen. Im Allgemeinen kann die Schaltung, die die Struktur bildet, die „konfiguriert“ entspricht, Hardware-Schaltungen einschließen. Die Hardware-Schaltungen können jede Kombination von Schaltlogik kombinatorischer Logik, getakteten Datenspeichervorrichtungen, wie beispielsweise Flops, Register, Latches usw., endlichen Zustandsautomaten, Speicher, wie beispielsweise statischen Speicher mit wahlfreiem Zugriff oder eingebetteten dynamischen Speicher mit wahlfreiem Zugriff, benutzerspezifisch gestalteter Schaltlogik, analoger Schaltlogik, programmierbaren Logikanordnungen usw. einschließen. In ähnlicher Weise können vielfältige Einheiten/Schaltungen/Komponenten der Zweckmäßigkeit wegen in der Beschreibung so beschrieben sein, dass sie eine Aufgabe oder Aufgaben durchführen. Solche Beschreibungen sollten so interpretiert werden, als würden sie den Ausdruck „konfiguriert“ enthalten.
  • Der Begriff „konfiguriert zum“ soll nicht „konfigurierbar zum“ bedeuten. Ein unprogrammiertes FPGA würde zum Beispiel nicht als „konfiguriert“, eine bestimmte Funktion durchzuführen, betrachtet werden, obwohl es „konfigurierbar“ sein kann, diese Funktion durchzuführen. Nach geeigneter Programmierung kann das FPGA dann konfiguriert sein, diese Funktion durchzuführen.
  • Das Nennen in den beiliegenden Ansprüchen einer Einheit/Schaltung/Komponente oder einer anderen Struktur, die konfiguriert ist, eine oder mehrere Aufgaben durchzuführen, soll sich ausdrücklich nicht auf eine Interpretation nach 35 U.S.C. § 112 (f) für dieses Anspruchselement beziehen. Dementsprechend soll keiner der Ansprüche in dieser Anmeldung in der eingereichten Fassung so ausgelegt werden soll, dass er Mittel-plus-Funktion-Elemente aufweist. Wenn sich der Anmelder während des Erteilungsverfahrens auf die Anwendung von Abschnitt 112(f) berufen möchte, gibt er Anspruchselemente unter Verwendung des Konstrukts „Mittel zum“ [Durchführen einer Funktion] an.
  • In einer Ausführungsform können Hardware-Schaltungen gemäß dieser Offenbarung durch Codieren der Beschreibung der Schaltung in einer Hardware-Beschreibungssprache (hardware description language (HDL)), wie beispielsweise Verilog oder VHDL, implementiert werden. Die HDL-Beschreibung kann gegenüber einer Bibliothek von Zellen synthetisiert werden, die für eine gegebene Technologie zur Herstellung integrierter Schaltungen gestaltet ist, und kann aus Gründen der Zeittaktung, Energie und anderen Gründen modifiziert werden, um zu einer endgültigen Gestaltungsdatenbank zu führen, die an eine Gießerei übermittelt werden kann, um Masken zu erzeugen und letztendlich die integrierte Schaltung zu produzieren. Manche Hardware-Schaltungen oder Abschnitte davon können auch in einem schematischen Editor benutzerspezifisch gestaltet und zusammen mit synthetisierter Schaltlogik in der Gestaltung der integrierten Schaltung erfasst werden. Die integrierten Schaltungen können Transistoren einschließen und können ferner andere Schaltungselemente einschließen (z. B. passive Elemente, wie beispielsweise Kondensatoren, Widerstände, Spulen usw.) und eine Verbindung zwischen den Transistoren und Schaltungselementen herstellen. Manche Ausführungsformen können mehrere integrierte Schaltungen implementieren, die miteinander gekoppelt sind, um die Hardware-Schaltungen zu implementieren, und/oder diskrete Elemente können in manchen Ausführungsformen verwendet werden. Alternativ dazu kann die HDL-Gestaltung zu einer programmierbaren Logikanordnung, wie beispielsweise einer anwenderprogrammierbaren Gatteranordnung (field programmable gate array (FPGA)), synthetisiert werden und kann in der FPGA implementiert werden.
  • Wie hierin verwendet, wird der Begriff „basierend auf“ oder „abhängig von“ verwendet, um einen oder mehrere Faktoren zu beschreiben, die eine Bestimmung beeinflussen. Dieser Ausdruck schließt nicht die Möglichkeit aus, dass zusätzliche Faktoren die Bestimmung beeinflussen können. Das heißt, eine Bestimmung kann ausschließlich auf angegebenen Faktoren basieren oder auf den angegebenen Faktoren sowie anderen, nicht angegebenen Faktoren basieren. Man betrachte die Wendung „A auf der Basis von B bestimmen“. Diese Wendung gibt an, dass B ein Faktor ist, der verwendet wird, um A zu bestimmen, oder der die Bestimmung von A beeinflusst. Diese Wendung schließt nicht aus, dass die Bestimmung von A auch auf einem anderen Faktor, wie beispielsweise C, basieren kann. Diese Wendung soll auch eine Ausführungsform abdecken, in der A nur basierend auf B bestimmt wird. Wie hierin verwendet, ist die Wendung „basierend auf“ gleichbedeutend mit der Wendung „basierend mindestens teilweise auf“.
  • Diese Beschreibung schließt Bezugnahmen auf verschiedene Ausführungsformen ein, um anzugeben, dass die vorliegende Offenbarung sich nicht auf eine bestimmte Umsetzung beziehen soll, sondern vielmehr auf eine Reihe von Ausführungsformen, die in den Geist der vorliegenden Offenbarung fallen, einschließlich der beigefügten Ansprüche. Insbesondere können Merkmale, Strukturen oder Eigenschaften auf jegliche geeignete Art kombiniert werden, die mit dieser Offenbarung im Einklang steht.
  • DETAILLIERTE BESCHREIBUNG VON AUSFÜHRUNGSFORMEN
  • Das hierin beschriebene kohärente Energieverwaltungssystem (Coherent Power Management System, CPMS) kann eine Energieverwaltungskoordination über mehrere Energieverwaltungsmechanismen, die auf verschiedenen Zeitskalen betrieben werden können (z. B. können sie unterschiedliche Bandbreiten oder Latenzen aufweisen), bereitstellen. Das heißt, dass ein gegebener Energieverwaltungsmechanismus eine bestimmte Latenz aufweisen kann, um auf Ereignisse in dem System zu reagieren. Die verschiedenen Energieverwaltungsmechanismen können ohne ein CPMS unabhängig entworfen worden sein und unabhängig betrieben werden. Dementsprechend wird ein CPMS aufgenommen, um die Arbeit der Energieverwaltungsmechanismen zu koordinieren.
  • Wenn zum Beispiel ein erster Energieverwaltungsmechanismus bereits in Betrieb ist, um ein Ereignis zu verarbeiten, können andere Energieverwaltungsmechanismen gestoppt werden oder kann ihre Aktion reduziert werden, um den Betrieb des ersten Energieverwaltungsmechanismus zu berücksichtigen. Wenn ein Energieverwaltungsmechanismus im Begriff ist, eine Komponente auszuschalten, aber ein anderer Energieverwaltungsmechanismus eine bevorstehende Aktivität anzeigt, kann das Ausschalten verzögert/abgebrochen werden, um ein Ausschalten und erneutes Einschalten kurz danach (Energieverschwendung) zu vermeiden. Wenngleich diese Beispiele nicht erschöpfend sind, veranschaulichen sie, wie Energie in unkoordinierten Energieverwaltungsmechanismen verschwendet werden kann. Ein CPMS kann versuchen, die Energieverwaltung und Leistung des Systems auszugleichen, indem es versucht, die Leistung zu maximieren, die pro Einheit verbrauchter Energie erreicht wird.
  • In einigen Fällen kann ein langsamer wirkender Energieverwaltungsmechanismus (mit niedrigerer Bandbreite und höherer Latenz) ein Ereignis früher detektieren als ein schneller wirkender Mechanismus (mit höherer Bandbreite und niedrigerer Latenz), indem er verschiedene Parameter überwacht und/oder indem er Trends (z. B. Verläufe) in der Änderung des Parameters detektiert, anstatt eine Schwellwertüberschreitung zu detektieren. Kombinationen von Energieverwaltungsmechanismen können verwendet werden, um solche Trends/Verläufe zu detektieren. Schneller wirkende Mechanismen können Trends/Verläufe detektieren. Wenngleich die verschiedenen Monitore und Kompensationsschaltungen auf verschiedenen Zeitskalen betrieben werden können, können sie die Energiezufuhr zu der gleichen Last überwachen/kompensieren. Zum Beispiel kann die Last ein oder mehrere Prozessoren sein, wie eine oder mehrere zentrale Verarbeitungseinheiten (Central Processing Units, CPUs) und/oder eine oder mehrere Grafikverarbeitungseinheiten (Graphics Processing Units, GPUs).
  • Ein CPMS kann im Allgemeinen für jede energieverwaltete Last implementiert werden. Ein Beispiel einer integrierten Schaltung mit Prozessoren wird unten ausführlicher erörtert, es kann jedoch jede elektrische Last verwendet werden (z. B. integrierte Schaltungen ohne Prozessoren, verschiedene andere elektrische Komponenten, Prozessoren allein auf einer integrierten Schaltung usw.).
  • Nun Bezug nehmend auf 1 ist ein Blockdiagramm einer Ausführungsform eines Systems gezeigt, das eine integrierte Schaltung (Integrated Circuit, IC) 10, eine Energieverwaltungseinheit (Power Management Unit, PMU) 12 und eine Schaltung einschließt, die eine kohärente Energieverwaltung in dem System implementieren. Die Ausführungsform von 1 veranschaulicht die Schaltungen der kohärenten Energieverwaltung übersichtsartig, einschließlich Übertragungsfunktionsschaltungen 14A-14D und Kompensationsschaltungen 16A-16D. Die IC 10 schließt die Übertragungsfunktionsschaltung 14A und die Kompensationsschaltung 16A ein und schließt ferner einen oder mehrere Prozessoren ein. Zum Beispiel können die Prozessoren eine oder mehrere CPUs 18A-18N und/oder eine oder mehrere GPUs 20A-20M einschließen. Andere Ausführungsformen können auch andere Universalprozessoren oder Spezialprozessoren einschließen. Die CPUs 18A-18N und GPUs 20A-20M sind an die Übertragungsfunktionsschaltung 14A und die Kompensationsschaltung 16A gekoppelt. Die Übertragungsfunktionsschaltungen 14A-14C sind aneinander gekoppelt, und jede Übertragungsfunktionsschaltung 14A-14C ist an eine entsprechende Schaltung 22A-22C gekoppelt, die die Ausgabe der Übertragungsfunktionsschaltung 14A-14C mit der Ausgabe einer Kompensationsschaltung 16B-16D kombiniert, um eine Eingabe in eine Kompensationsschaltung 16A-16C bereitzustellen, wie in 1 gezeigt. Die Ausgabe der Übertragungsfunktionsschaltung 14C ist an die PMU 12 gekoppelt, die an die Übertragungsfunktionsschaltung 14D gekoppelt ist. Die Übertragungsfunktionsschaltung 14D ist an die Kompensationsschaltung 16D gekoppelt.
  • Die Übertragungsfunktionsschaltungen 14A-14D können dazu konfiguriert sein, verschiedene elektrische Parameter und/oder andere Umgebungsparameter in dem System zu überwachen, und können dazu konfiguriert sein, Steuerungen für entsprechende Kompensationsschaltungen 16A-16D zu erzeugen. Die elektrischen Parameter können zum Beispiel eine Spannung und einen Strom einschließen. Andere Umgebungsparameter können zum Beispiel die Temperatur, Aktivitätsebenen in der Last (z. B. CPU-Nutzung, CPU-Nutzung bestimmter Anweisungen, GPU-Nutzung usw.) usw. einschließen. Jede Übertragungsfunktionsschaltung 14A-14D kann in einem bestimmten Zeitfenster oder einer bestimmten Bandbreite betreibbar sein. Unterschiedliche Zeitfenster/Bandbreiten können sich in verschiedenen Ausführungsformen um mindestens eine Größenordnung voneinander unterscheiden. Die Zeitfenster/Bandbreiten können teilweise von der Art der Schaltung (z. B. Hochfrequenzfilterung, Schleifenstabilitätskriterien usw.) und den erfassten Parametern abhängig sein. In einer Ausführungsform kann die Übertragungsfunktionsschaltung 14A die höchste Bandbreite/das kürzeste Zeitfenster/die kürzeste Latenz aufweisen und können die Übertragungsfunktionsschaltungen 14B-14D zunehmend niedrigere Bandbreiten/längere Zeitfenster/längere Latenzen aufweisen.
  • Die Kompensationsschaltungen 16A-16D können als Reaktion auf die Eingaben von den Übertragungsfunktionsschaltungen 14A-14D und ferner als Reaktion auf Kommunikationen von anderen Kompensationsschaltungen 16A-16D, die als Reaktion auf andere Übertragungsfunktionsschaltungen 14A-14D wirken, Korrekturmaßnahmen implementieren. In einigen Fällen kann ein geringeres Kompensationsmaß durch eine gegebene Kompensationsschaltung 16A-16D bereitgestellt werden, wenn andere Kompensationsschaltungen 16A-16D bereits in Betrieb sind (selbst wenn sie langsamer wirkende Schaltungen sind).
  • Die Korrekturmaßnahmen (Kompensationen), die durch die Kompensationsschaltungen 16A-16D implementiert werden, können variieren. Zum Beispiel können die Kompensationsschaltungen 16A-16D Drosselschaltungen verschiedener Arten einschließen. Im Allgemeinen versucht eine Drosselung, Aktivitäten in der Last auf irgendeine Weise zu begrenzen. Eine Drosselung kann eine logische Aktion (z. B. Verringern des Anweisungsdurchsatzes in einem Prozessor durch Begrenzen der Ausgabe von ansonsten ausführungsfertigen Anweisungen, Taktsteuerung usw.) oder eine physische Aktion (z. B. Verringern der Taktfrequenz der Takte in der Last, Entfernen von Taktimpulsen von einem Takt, um die Frequenz wirksam zu reduzieren, usw.) sein. Die Korrekturmaßnahmen können auch Versuche einschließen, dem Ereignis entgegenzuwirken (z. B. Erhöhen der Energie in dem System durch Bereitstellen von mehr Strom von der PMU 12, Erhöhen der Spannung, um einen Spannungsabfall auszugleichen, usw.).
  • Die PMU 12 kann einen oder mehrere Spannungsregler einschließen, die konfiguriert sind, um Energie an die IC 10 und/oder andere Komponenten des Systems zu liefern. Die Spannungsregler können eine beliebige Ausführung und beliebige Merkmale aufweisen. Zum Beispiel können mehrere Phasen von Abwärtsreglern implementiert werden, wobei die Menge an Strom, die mit einer guten Regelung der Spannung (minimaler Abfall) geliefert werden kann, proportional zu der Anzahl von Phasen ist, die eingeschaltet sind. Die Anzahl von Phasen, die zu einem gegebenen Zeitpunkt eingeschaltet sind, kann von den Energiezuständen der Prozessoren in der IC 10 und/oder verschiedenen Ereignissen, die durch die Übertragungsfunktionsschaltungen 14A-14D detektiert werden, abhängig sein.
  • Die IC 10 kann in verschiedenen Ausführungsformen eine beliebige integrierte Schaltung sein. Zum Beispiel kann die IC 10 ein Prozessorchip sein, der einen oder mehrere CPUs 18A-18N und/oder einen oder mehrere GPUs 20A-20M einschließt. Die IC 10 kann ein System-on-a-Chip (SOC) sein, das einen oder mehrere Prozessoren und eine oder mehrere periphere Schaltungen (z. B. einen Speicher-Controller, der an einen Speicher in einem gegebenen System gekoppelt ist, Brücken zu Eingabe-/Ausgabeschnittstellen verschiedener Typen, Audioperipherieeinheiten, Videoperipherieeinheiten usw.) einschließt. In einigen Ausführungsformen kann die IC 10 eine IC mit fester Funktion ohne Prozessoren sein.
  • Die CPUs 18A-18N können beliebige Universalprozessoren sein, die einen beliebigen Anweisungssatz implementieren. Beliebige mikroarchitektonische Merkmale können implementiert werden (z. B. In-order, Out-of-order, skalar, superskalar, Pipeline, Speculative Execution usw.). In ähnlicher Weise können die GPUs 20A-20M ein beliebiger Typ von Grafikprozessor sein und können einen beliebigen Grafikanweisungssatz implementieren. Beliebige mikroarchitektonische Merkmale können eingesetzt werden.
  • Ein CPMS kann insbesondere auf das Koordinieren von Energieverwaltungssystemen zum Liefern von Energie an die Prozessoren in der integrierten Schaltung 10 (z. B. die CPUs 18A-18N und/oder die GPUs 20A-20M) gerichtet sein. Die Prozessoren können größere dynamische Laständerungen (z. B. Stromverbräuche) als andere Schaltungen in der integrierten Schaltung 10 (z. B. Peripherieeinheiten in einer SOC-Ausführungsform) aufweisen. In anderen Ausführungsformen kann ein CPMS wie gewünscht auch Energieverwaltungssysteme für die IC 10 insgesamt oder beliebige Abschnitte der IC 10 koordinieren.
  • Es wird darauf hingewiesen, dass die Anzahl von Übertragungsfunktionsschaltungen 14A-14D und/oder die Anzahl von Kompensationsschaltungen 16A-16D in verschiedenen Ausführungsformen variieren kann. Die Anzahl solcher Schaltungen kann mehr oder weniger als diejenigen sein, die in 1 gezeigt sind. Mehr oder weniger solcher Schaltungen können in die IC 10 integriert oder außerhalb der IC 10 enthalten sein.
  • Als Nächstes Bezug nehmend auf 2 ist ein Blockdiagramm einer Ausführungsform eines Systems einschließlich CPMS ausführlicher gezeigt. Die IC 10 ist einschließlich der CPUs 18A-18N und der GPUs 20A-20M gezeigt. Die IC 10 schließt auch eine CPMS-Steuerschaltung 30 und eine Drosselschaltung 32A ein. Das System schließt ferner Drosselschaltungen 32B-32D, Telemetrieschaltungen 36A-36C und Kreditschaltungen 34A-34C ein. Die CPMS-Steuerschaltung 30 ist an die Telemetrieschaltungen 36A-36C und die Kreditschaltungen 34A-34C gekoppelt.
  • Die vertikalen gestrichelten Linien in 2 teilen die Komponenten in K-Zustände (oder K-Fenster) K1 bis K4. Die Bandbreite/Latenz der Komponenten des CPMS in jedem K-Zustand wird durch die Zeiten dargestellt, die den K-Zuständen zugeordnet sind (weniger als 50 Nanosekunden für K1, weniger als 1 Mikrosekunde für K2, weniger als 100 Mikrosekunden für K3 und weniger als 1 Millisekunde für K4). Die Zeiten für jeden K-Zustand sind beispielhaft, und andere Ausführungsformen können andere Zeiten, die K-Zuständen zugeordnet sind, und mehr oder weniger K-Zustände aufweisen. Die Differenz zwischen einem gegebenen K-Zustand und dem nächstlangsameren (oder nächstschnelleren) K-Zustand kann in verschiedenen Ausführungen eine oder mehrere Größenordnungen sein. Die Kreditschaltungen 34A-34C, Telemetrieschaltungen 36A-36C und Drosselschaltungen 32B-32D innerhalb eines gegebenen K-Zustands sind miteinander gekoppelt.
  • Jeder K-Zustand (oder jede Zeitdomäne) weist eine zugeordnete Zeiteigenschaft auf, die ein Indikator dafür sein kann, wie schnell eine Schaltung in dem K-Zustand auf Eingaben reagieren kann, um Kompensationsausgaben zu erzeugen. Die Zeiteigenschaft kann als eine Bandbreite, eine Latenz, eine Taktperiode oder ein beliebiges anderes Zeitmaß ausgedrückt sein.
  • Die Drosselschaltungen 32A-32D können verschiedene Drosselungsmechanismen, wie die oben in Bezug auf 1 beschriebenen, implementieren. Somit können die Drosselschaltungen 32A-32D Beispiele von Kompensationsschaltungen 16A-16D in 1 sein. Wie unten genauer erläutert, können die Telemetrieschaltungen 36A-36C und entsprechenden Kreditschaltungen 34A-34C Beispiele von Übertragungsfunktionsschaltungen 14A-14D sein.
  • Die Telemetrieschaltungen 36A-36C können verschiedene Parameter in dem System (Spannung, Strom, Temperatur usw.) messen, um Ereignisse zu detektieren, für die eine Korrekturmaßnahme angezeigt sein kann. Die Telemetrieschaltungen 36A-36C können mit Kreditschaltungen 34A-34C kommunizieren, die miteinander Kredite austauschen können, die detektierte Ereignisse und Korrekturmaßnahmen, die durch andere K-Zustände durchgeführt werden, angeben. Somit können die Kredite dazu beitragen, eine Überkompensierung für Ereignisse zu verhindern, die durch mehrere Telemetrieschaltungen 36A-36C detektiert werden. Wenn zum Beispiel die Telemetrieschaltung 36C ein Ereignis detektiert und eine Korrekturmaßnahme über die Drosselschaltung 32D initiiert, kann die Kreditschaltung 34C Kredite ausgeben, um die Korrekturmaßnahme zu reflektieren. Wenn eine andere Telemetrieschaltung (z. B. die Telemetrieschaltung 36A) das gleiche Ereignis oder eine Parameteränderung, die sich auf das gleiche Ereignis bezieht, detektiert, können die Kredite, die durch die Kreditschaltung 34C an die Kreditschaltung 34A kommuniziert werden, eine Korrekturmaßnahme von der Drosselschaltung 32B verhindern oder können die Drosselung, die durch die Drosselschaltung 32B durchgeführt wird, verringern, weil die Drosselschaltung 32D eine Korrekturmaßnahme durchführt (selbst wenn die Wirkung der Korrekturmaßnahme in dem K2-Zustand aufgrund der Latenz des K4-Zustands noch nicht sichtbar ist).
  • Die CPMS-Steuerschaltung 30 kann zwischen den Kreditschaltungen 34A-34C und Telemetrieschaltungen 36A-36C koordinieren. Zum Beispiel kann die CPMS-Steuerschaltung 30 Kredite, die durch eine der Kreditschaltungen 34A-34C ausgegeben werden, in Kredite für die anderen Kreditschaltungen 34A-34C umwandeln. Zum Beispiel können die Kredite basierend darauf, welche entsprechenden Telemetrieschaltungen 36A-36C wahrscheinlich das gleiche Ereignis oder eine Parameteränderung, die sich auf das gleiche Ereignis bezieht, detektieren, auf verschiedene Kreditschaltungen verteilt werden. Die Kredite können basierend darauf, welche Korrekturmaßnahmen mit höherer Wahrscheinlichkeit die Korrekturmaßnahme ergänzen, die durch die anfänglich aktivierte Drosselschaltung 32A-32D durchgeführt wird, usw. verteilt werden.
  • Auf andere Weise betrachtet kann die Kombination aus einer gegebenen Telemetrieschaltung 36A-36C, einer entsprechenden Kreditschaltung 34A-34C und der CPMS-Steuerschaltung 30 einen Regelkreis bilden (gestrichelte Ovale 38A und 38B für den K2-Zustand bzw. den K4-Zustand). Die CPMS-Steuerschaltung 30 kann für das Bereitstellen einer Rückkopplung in jedem Regelkreis basierend auf Aktivitäten in den anderen Regelkreisen verantwortlich sein.
  • 3 ist ein Blockdiagramm einer Ausführungsform des Systems einschließlich CPMS, das ausführlicher gezeigt ist. In der Ausführungsform von 3 schließt die IC 10 die CPUs 18A-18N und die GPUs 20A-20M ein. Zusätzlich schließt die IC 10 eine Takt-Dither-/Energieschätzer(Power Estimator, PwrEst)-Schaltung 40, eine Unterspannungsdetektorschaltung (Undervoltage Detector Circuit, UVD) 42 und eine CPMS-Steuerschaltung 30A ein. Die CPMS-Steuerschaltung 30 von 2 kann in dieser Ausführungsform mit der CPMS-Steuerschaltung 30A in der IC 10 und den CPMS-Steuerschaltungen 30B und 30E in dem K2-Zustand; den CPMS-Steuerschaltungen 30C und 30F in dem K3-Zustand und den CPMS-Steuerschaltungen 30D und 30 G in dem K4-Zustand verteilt sein. Die Telemetrieschaltungen 36A-36C schließen eine Stromüberwachungs(Imon)-/Debugsteuer(DbgCtl)-Schaltung 43, eine Spannungskomparatorschaltung 44 und eine Thermosteuer(ThermCtl)-Schaltung 46 ein. Die Drosselschaltungen 32A-32D können die Takt-Dither-/PwrEst-Schaltung 40, die Taktsteuer(ClockCtl)-Schaltung 48, die Leistungssteuer(PerfCtl)-Schaltung 50 und die Temperatursteuer(TempCtl)-Schaltung 52 einschließen. Es wird darauf hingewiesen, dass einige der Schaltungen 42, 43, 44, 46, 48, 50, 52 und 30B-30G in der IC 10 enthalten sein können, selbst wenn sie in anderen K-Zuständen als dem K1-Zustand betrieben werden.
  • Die UVD-Schaltung 43 kann dazu konfiguriert sein, Unterspannungsereignisse in der Nähe der CPUs 18A-18N/GPUs 20A-20M auf der IC 10 zu detektieren. Ein Unterspannungsereignis kann ein Spannungsabfall unter einen bestimmten Schwellenwert oder mit einer bestimmten Rate sein, das angibt, dass die aktuelle Last der CPUs 18A-18N/GPUs 20A-20N möglicherweise die Leistungsfähigkeit des Energieverteilungsnetzwerks auf der IC 10 und/oder der PMU 12 überschreitet.
  • Die Imon/DbgCtl-Schaltung 42 kann Ströme über einem bestimmten Schwellenwert (oder über einem bestimmten Pegel über eine Zeitperiode) detektieren und/oder kann verschiedene Logikzustände in dem System detektieren, die zu kompensierende Ereignisse angeben können. Der Spannungskomparator 44 kann die externe Versorgungsspannung von der PMU 12 mit einem oder mehreren Schwellenwerten vergleichen, die in das System programmiert sind. Die ThermCtl-Schaltung 46 kann Temperaturen detektieren, die einen bestimmten Schwellenwert oder Schwellenwerte überschreiten.
  • Die Takt-Dither-/PwrEst-Schaltung 40 kann den Takt dithern, um die effektive Taktfrequenz als Reaktion auf Ereignisse vorübergehend zu reduzieren, und kann die in den Prozessoren der IC verbrauchte Energie digital schätzen, um eine Drosselung von Hochenergieabschnitten der Prozessoren zu bewirken. Die ClockCtl-Schaltung 48 kann dazu konfiguriert sein, die Taktfrequenz langsam zu reduzieren, wenn die Versorgungsspannungsgröße abfällt. Die PerfCtl-Schaltung 50 kann dazu konfiguriert sein, sicherzustellen, dass der Energieverbrauch des Systems insgesamt einen bestimmten Pegel nicht überschreitet. Die TempCtl-Schaltung 52 kann auf thermische Ereignisse durch schnelles Ausschalten von Prozessoren in der IC 10 reagieren.
  • Die 4 bis 6 veranschaulichen bestimmte Beispiele von Energieverwaltungsmechanismen, die in verschiedenen Ausführungsformen eines CPMS eingesetzt werden können. Die Beispiele sollen nicht einschränkend sein, da zahlreiche andere Mechanismen zusätzlich zu oder anstelle von diesen Beispielen implementiert sein können.
  • 4 ist eine Zustandsmaschine 60, die eine Ausführungsform eines Festphasenkompensationsmechanismus veranschaulicht. Wenn zum Beispiel die CPUs 18A-18N und/oder die GPUs 20A-20M in Niedrigenergiemodi (niedrige Energieversorgungsspannungsgröße und niedrige Taktfrequenz) betrieben werden, kann der Maximalstrom, den die PMU 12 möglicherweise liefern kann, durch die Tatsache begrenzt sein, dass der Niedrigenergiemodus einem niedrigeren Maximalstrom zugeordnet ist. In einer Ausführungsform kann eine feste Anzahl von Phasen von Spannungswandlern in der PMU 12 ausreichend sein, um den Strom sowie die Stromanforderungen anderer Vorrichtungen in einem System mit der IC 10 zu liefern. Die Anzahl von Phasen kann eins sein oder kann mehr als eins sein, kann aber auch weniger als die maximale Anzahl von Phasen in der PMU 12 sein. Da andere Vorrichtungen in dem System eingeschaltet werden können und vorübergehend eine Last darstellen können, die bewirken würde, dass die PMU 12 zusätzliche Phasen aktiviert, kann der Festphasenkompensationsmechanismus ein solches Aktivieren verhindern und somit Energie sparen. Die zusätzlichen Phasen werden möglicherweise nicht benötigt, weil der CPU-/GPU-Energiezustand sicherstellen kann, dass genug Strom für die andere Vorrichtung innerhalb des Stroms verfügbar ist, der durch die bereits aktivierte(n) Phase(n) geliefert werden kann. Die Zustandsmaschine 60 kann in einer Ausführungsform Teil der CPMS-Steuerschaltung 30A sein oder kann in verschiedenen Ausführungsformen in einer verteilten Art und Weise über eine oder mehrere CPMS-Steuerschaltungen 30A-30G verteilt sein oder kann ganz außerhalb der IC 10 implementiert sein.
  • Die CPMS-Steuerschaltung 30A kann eine Angabe von einem Energieverwalter in der IC 10 (nicht gezeigt) empfangen, der mindestens Energiezustände in der IC 10 verfolgt und in einigen Ausführungsformen die Energiezustände steuern kann. Die Angabe kann eine Änderung des Energiezustands von einer oder mehreren CPUs/GPUs beschreiben. Die Zustandsmaschine kann sich in einem Energiezustandsprüfungs- (Energiezust.-Prüf.-) Zustand 62 befinden. Als Reaktion auf die Angabe kann die Zustandsmaschine in einen Maximalstromprüfungs- (Max.-I-Prüf.-) Zustand 64 übergehen, in dem die CPMS-Steuerschaltung 30A bestimmen kann, ob der Maximalstrom, der durch die CPUs/GPUs in dem neuen Energiezustand gezogen werden kann, niedrig genug ist, um von der PMU 12 in einem Festphasenmodus geliefert zu werden. Zum Beispiel kann die CPMS-Steuerschaltung 30A eine Nachschlagetabelle aufweisen, die mit Energiezuständen und entsprechenden Maximalstromgrenzen programmiert ist. Wenn die Ströme in dem Festphasenmodus nicht brauchbar sind, kann die Zustandsmaschine in den Energiezust.-Prüf.-Zustand 62 zurückkehren. Wenn die Ströme dagegen in dem Festphasenmodus brauchbar sind, kann die CPMS-Steuerschaltung 30A einen Festphasenbefehl zu der PMU 12 übertragen, um zu bewirken, dass die PMU 12 in dem Festphasenmodus betrieben wird (Festphasenbefehlszustand 66). In einer Ausführungsform kann der Festphasenbefehl bewirken, dass die PMU 12 im Impulsfrequenzmodulations(Pulse Frequency Modulation, PFM)-Modus und nicht im Burst-Dauerstrommodus (Continuous Current Mode, CCM) betrieben wird. Wenn der Modus „zurückgezogen“ wird (z. B. wenn gerade in einen neuen Energiezustand gewechselt wird) (Rückzugszustand 68), kann die CPMS-Steuerschaltung 30A einen Beenden-Befehl (Beenden-Zustand 70) zu der PMU 12 übertragen und dann in den Energiezust.-Prüf.-Zustand 62 zurückkehren.
  • 5 ist eine Zustandsmaschine 80, die eine Ausführungsform eines Coasting-Kompensationsmechanismus veranschaulicht. Die Zustandsmaschine 80 kann in einer Ausführungsform Teil der CPMS-Steuerschaltung 30A sein oder kann in verschiedenen Ausführungsformen in einer verteilten Art und Weise über eine oder mehrere CPMS-Steuerschaltungen 30A-30G verteilt sein oder kann ganz außerhalb der IC 10 implementiert sein.
  • Der Coast-Modus kann ein Niedrigenergiemodus sein, der die Ausgabeschiene der PMU 12 für eine vorbestimmte Zeit ausschalten (oder „abschalten“ kann) und es ermöglichen kann, dass eine Last (z. B. die IC 10 oder insbesondere die CPUs und/oder GPUs) mit der gespeicherten Energie in der Kapazität in und in der Nähe der Last betrieben wird. Zum Beispiel ist eine IC 10 oft von einer „Entkopplungskapazität“ umgeben, die zwischen der Stromschiene und der Masseschiene verbunden ist. Die Kapazität wird geladen, wenn die Stromschiene durch die PMU 12 aktiv auf einen Spannungspegel gesteuert wird, und liefert Strom, wenn Rauschereignisse oder andere Aktivitäten zu momentanen Variationen im Laststrom führen. In Niedrigenergiemodi für die CPUs/GPUs kann der aktive Stromverbrauch mit einem angemessenen Grad an Sicherheit bekannt sein. In einigen Niedrigenergiemodi (z. B. Ruhemodi) besteht möglicherweise keine Aktivität in der Last. Unter solchen Umständen kann die PMU 12 die Stromschiene deaktivieren und es dem System erlauben, die gespeicherte Ladung zu verwenden. Die Entladungsrate kann für einen gegebenen Kapazitäts- und Niedrigenergiemodus bekannt sein, und somit ist die maximale Länge des Zeitraums, in dem der Coast-Modus aktiv sein kann, bekannt und somit die maximale Zeit, die der Coast-Modus dauern kann, bevor es der PMU 12 wieder ermöglicht wird, mehr Ladung an die Stromschiene zu liefern. Im Allgemeinen kann eine Stromschiene deaktiviert werden, wenn die PMU nicht aktiv eine Ladung (z. B. Strom) bereitstellt, um die Schiene auf einer bestimmten Spannung zu halten, während die Last den Strom verbraucht. Die Schiene wird aktiviert, wenn die PMU aktiv Ladung bereitstellt.
  • Die CPMS-Steuerschaltung 30A kann eine Angabe zum Coast-Wechsel empfangen, wenn eine CPU/GPU in einen Zustand wechselt, in dem ein Coast-Modus verwendet werden kann (z. B. ein Energiezustand, der niedrig genug ist, sodass der Energieverbrauch niedrig ist und mit einem bestimmten Grad an Schaltung bekannt ist, oder ein Ruhezustand, in dem Aktivität in der CPU/GPU stoppt). Basierend auf dem Zustand der CPUs/GPUs und der in dem System verfügbaren Energie (Zustand 82) kann die CPMS-Steuerschaltung 30A bestimmen, ob genug Energie verfügbar ist oder nicht, um in den Coast-Modus zu wechseln. Wenn dies nicht der Fall ist, kann die Zustandsmaschine 80 im Zustand 82 verbleiben und es kann nicht in den Coast-Modus gewechselt werden.
  • Das Berechnen verfügbarer Energie und das Bestimmen, ob in den Coast-Modus zu wechseln ist, kann auf verschiedene Weisen durchgeführt werden. Zum Beispiel kann die CPMS-Steuerschaltung 30A den durchschnittlichen Laststrom und die durchschnittliche Spannung messen und den durchschnittlichen Energieverbrauch pro Zeiteinheit berechnen. Alternativ dazu kann der durchschnittliche Energieverbrauch für verschiedene Zustände der CPU/GPU in einer Tabelle oder einem anderen Speicher bereitgestellt werden, die bzw. der von der CPMS-Steuerschaltung 30A gelesen werden soll. Nach dem Bestimmen der Energieverbrauchsraten, dem Bestimmen der aktuell verfügbaren Energie (basierend auf Kapazität und Spannung) und dem Bestimmen der Arbeitslastdauer und -spannen ausgehend von der Verbrauchsrate und verfügbaren Energie kann die CPMS-Steuerschaltung 30A einen Befehl zu der Taktsteuerschaltung 48 (3) senden, um die Spannungsdrift zu verfolgen und den Takt basierend auf der Spannungsdrift einzustellen (Zustand 84). Die Taktsteuerschaltung 48 kann eine Bestätigung erteilen, und die CPMS-Steuerschaltung 30A kann einen Befehl zu der PMU 12 senden, für eine bestimmte Schiene in den Coast-Modus zu wechseln (Zustand 86). Die PMU kann einen Wechsel in drei Zustände für die Schiene (Deaktivieren der Schiene) und die Ausgangsbrücke durchführen, wodurch ein vorübergehendes Ausschalten erfolgt. Die Spannung kann durch die CPMS-Steuerschaltung 30A an der Last überwacht werden, wenn die Frequenz langsam (durch die Taktsteuerschaltung 48) mit der Spannung skaliert, um Zeitspannen beizubehalten. An einem gewissen Punkt (z. B. nachdem die maximale Dauer abgelaufen ist oder als Reaktion auf einen Versuch, den Energiezustand einer CPU/GPU zu erhöhen) kann die Zustandsmaschine den Coast-Modus zurückziehen (Zustand 88). Die CPMS-Steuerschaltung 30A kann der PMU 12 signalisieren, eine Sicherung im PFM-Modus zu starten, um die Haltespannung für die Last beizubehalten (Zustand 90). Die CPMS-Steuerschaltung 30A kann den Coast-Modus deaktivieren, und die PMU 12 kann auf einen Befehl warten, die Spannung für den nächsten anstehenden Energiezustand zum Ausführen der nächsten Arbeitslast einzustellen.
  • 6 ist eine Zustandsmaschine 100 für eine Ausführungsform einer dynamischen Lastleitungskompensationsschaltung. Die Zustandsmaschine 80 kann in einer Ausführungsform Teil der CPMS-Steuerschaltung 30A sein oder kann in verschiedenen Ausführungsformen in einer verteilten Art und Weise über eine oder mehrere CPMS-Steuerschaltungen 30A-30G verteilt sein oder kann ganz außerhalb der IC 10 implementiert sein.
  • Ein dynamischer Lastleitungsmechanismus kann eine dynamische Verschiebung in der Lastleitung einer PMU 12 zwischen Energiezuständen und/oder innerhalb eines Energiezustands sein, um Energieeinsparungen für das System zu optimieren. Er basiert auf der Tatsache, dass der Maximalstrom innerhalb eines gegebenen Energiezustands berechnet wurde und dass der Spannungsregler von einer Lastleitung zur nächsten wechseln kann, um eine niedrigere Energie in dem System beizubehalten.
  • Normalerweise ist eine Lastleitung und ein Spannungsschutzbereich (Guard Band) für einen gegebenen Energiezustand festgelegt. In vielen Fällen weist das System eine Lastleitung auf und ist der Spannungsschutzbereich (Guard Band) für einen gegebenen Energiezustand festgelegt (kann sich jedoch zwischen Energiezuständen ändern). Mit einer dynamischen Lastleitung kann jedoch ein CPMS zwei Dinge in dem System berechnen. Erstens kann die CPMS-Steuerschaltung 30A die richtige Lastleitung für einen gegebenen Energiezustand berechnen und bewirken, dass die flachste Lastleitung (niedrigste Steigung) innerhalb dieses Energiezustands verwendet wird, wenn sie nicht bereits berechnet und eingestellt ist. Zweitens, wenn eine Arbeitslastverfolgung für eine gegebene Arbeitslast protokolliert wurde, kann die CPMS-Steuerschaltung 30A das Verfolgungsprotokoll prüfen und die flachste Lastleitung für diese Arbeitslast berechnen. Das heißt, wenn die Arbeitslastverfolgung eine Spezifikation für einen maximalen Abfall basierend auf vorhergehenden Informationen aufweist, kann die CPMS-Steuerschaltung 30A die flachste Lastleitung berechnen, die die Spezifikation erfüllt, und einen Befehl zum Einstellen der Lastleitung zum Senken der Energie, die in dem System verbraucht wird, senden.
  • Die Arbeitslastverfolgung kann ein Mechanismus sein, in dem ein CPMS eine gegebene Arbeitslast (z. B. eine Aufgabe, eine Anwendung, einen Thread aus einer Aufgabe usw.) identifiziert und die energieverwaltungsbezogenen Ereignisse verfolgt, die während der Durchführung dieser Arbeitslast auftreten. Die Verfolgung kann in einer nachfolgenden Ausführung der gleichen Arbeitslast verwendet werden, um Ereignisse vorherzusagen, die in der nachfolgenden Ausführung möglicherweise verwaltet werden müssen.
  • In der Zustandsmaschine 100 kann eine Angabe, dass sich ein Energiezustand ändert, bewirken, dass die CPMS-Steuerschaltung 30A bestimmt, ob die Lastleitung eingestellt werden kann (Zustand 102). Wenn dies der Fall ist, kann die CPMS-Steuerschaltung 30A einen Befehl zur Lastleitungseinstellung zu der PMU 12 übertragen (Zustand 104). Wenn eine Nachverfolgung vorhanden ist und die Nachverfolgungsprüfung angibt, dass die Lastleitung in Ordnung ist (Zustand 106), kann die CPMS-Steuerschaltung 30A entweder auf eine Änderung des Energiezustands oder einen anderen Rückzugsgrund warten, um die eingestellte Lastleitung zu beenden, (Zustand 108) und kann einen Beenden-Befehl zu der PMU 12 übertragen (der angibt, dass sie zu einer Standardlastleitung zurückkehren kann oder dass ein neuer Lastleitungsbefehl kommen kann) (Zustand 110).
  • 7 ist ein Blockdiagramm einer Ausführungsform eines Systems 150. In der veranschaulichten Ausführungsform schließt das System 150 mindestens eine Instanz einer integrierten Schaltung (IC) 10 ein, die an eine oder mehrere Peripherieeinheiten 154 und einen externen Speicher 158 gekoppelt ist. Es wird die PMU 12 bereitgestellt, die die Versorgungsspannungen zu der IC 10 sowie eine oder mehrere Versorgungsspannungen zu dem Speicher 158 und/oder den Peripherieeinheiten 154 liefert.
  • Die Peripherieeinheiten 154 können jede gewünschte Schaltlogik einschließen, abhängig vom Typ des Systems 150. Zum Beispiel kann das System 150 in einer Ausführungsform eine Rechenvorrichtung (z. B. Personalcomputer, Laptop-Computer usw.), eine mobile Vorrichtung (z. B. Personal Digital Assistant (PDA), Smartphone, Tablet usw.) sein. In verschiedenen Ausführungsformen des Systems 150 können die Peripherieeinheiten 154 Vorrichtungen für verschiedene Typen von drahtloser Kommunikation, wie Wi-Fi, Bluetooth, Mobilfunk, globales Positionsbestimmungssystem usw., einschließen. Die Peripherieeinheiten 154 können auch zusätzlichen Speicher, einschließlich RAM-Speicher, Festkörperspeicher oder Plattenspeicher, einschließen. Die Peripherieeinheiten 154 können Benutzerschnittstellen-Vorrichtungen, wie beispielsweise einen Anzeigebildschirm, einschließlich Touchscreens oder Multi-Touchscreens, Tastatur- oder andere Eingabevorrichtungen, Mikrofone, Lautsprecher usw., einschließen. In anderen Ausführungsformen kann das System 150 ein beliebiger Typ von Rechensystem sein (z. B. Desktop-Personal-Computer, Laptop, Workstation, Nettop usw.).
  • Der externe Speicher 158 kann jeden beliebigen Speichertyp einschließen. Zum Beispiel kann es sich bei dem externen Speicher 158 um einen SRAM, dynamischen RAM (DRAM), wie synchronen DRAM (SDRAM), SDRAM mit doppelter Datenübertragungsrate (DDR, DDR2, DDR3 usw.), RAMBUS-DRAM, Niedrigenergieversionen des DDR-DRAM (z. B. LPDDR, mDDS usw.) usw. handeln. Die DRAMs 12A-12B können von einem beliebigen Typ eines solchen DRAM sein, wie vorstehend aufgeführt. Der externe Speicher 158 kann ein oder mehrere Speichermodule einschließen, an denen die Speichervorrichtungen befestigt sind, wie einzelne Inline-Speichermodule (Single Inline Memory Modules, SIMMs), doppelte Inline-Speichermodule (Dual Inline Memory Modules, DIMMs) usw. Alternativ dazu kann der externe Speicher 158 eine oder mehrere Speichervorrichtungen einschließen, die an der IC 10 in einer Chip-on-Chip- oder Package-on-Package-Implementierung befestigt sind.
  • 8 ist ein Blockdiagramm einer Ausführungsform eines computerzugänglichen Speichermediums 160, das eine elektronische Beschreibung der IC 10 speichert (Bezugszeichen 162). Die Beschreibung kann ferner andere Komponenten einschließen, wie die Abschnitte des CPMS, die in einigen Ausführungsformen außerhalb des IC 10 sein können. Allgemein ausgedrückt, kann ein computerzugängliches Speichermedium ein beliebiges Speichermedium einschließen, auf das durch einen Computer während der Verwendung zugegriffen werden kann, um Anweisungen und/oder Daten zum Computer bereitzustellen. Beispielsweise kann ein computerzugängliches Speichermedium Speichermedien einschließen wie z. B. magnetische oder optische Medien, z. B. Platten (fest oder portabel), Bänder, CD-ROM, DVD-ROM, CD-R, CD-RW, DVD-R, DVD-RW oder Blu-Ray. Speichermedien können weiter flüchtige oder nichtflüchtige Speichermedien einschließen wie z. B. RAM (z. B. synchronen dynamischen RAM (SDRAM), Rambus-DRAM (RDRAM), statischen RAM (SRAM) usw.), ROM oder Flash-Speicher. Die Speichermedien können physisch innerhalb des Computers eingeschlossen sein, für den die Speichermedien Anweisungen/Daten bereitstellen. Alternativ dazu können die Speichermedien mit dem Computer verbunden sein. Beispielsweise können die Speichermedien über ein Netzwerk oder eine drahtlose Verbindung wie z. B. Netzwerk-Speicher mit dem Computer verbunden sein. Die Speichermedien können über eine Peripherieschnittstelle wie z. B. den Universal Serial Bus (USB) angeschlossen sein. Allgemein kann das computerzugängliche Speichermedium 160 Daten in einer nicht vorübergehenden Weise speichern, wobei sich in diesem Kontext nicht vorübergehend auf die Nicht-Übertragung der Anweisungen/Daten über ein Signal beziehen kann. Beispielsweise kann die nicht vorübergehende Speicherung flüchtig sein (und die gespeicherten Anweisungen/Daten als Reaktion auf ein Herunterfahren verlieren), oder sie kann nichtflüchtig sein.
  • Im Allgemeinen kann die elektronische Beschreibung 162, die auf dem computerzugänglichen Speichermedium 160 gespeichert ist, eine Datenbank sein, die von einem Programm gelesen und direkt oder indirekt verwendet werden kann, um die Hardware, die die IC 10 und/oder andere Komponenten des Systems umfasst, herzustellen. Beispielsweise kann die Beschreibung eine Beschreibung auf Verhaltensebene oder eine Beschreibung auf Register-Transfer-Ebene (register-transfer level, RTL) der Hardwarefunktionalität in einer Hochsprachen-Designsprache (high level design language, HDL), wie beispielsweise Verilog oder VHDL, sein. Die Beschreibung kann von einem Synthesewerkzeug gelesen werden, das die Beschreibung synthetisieren kann, um eine Netzliste zu erzeugen, die eine Liste von Gattern aus einer Synthesebibliothek umfasst. Die Netzliste umfasst einen Satz von Gattern, die auch die Funktionalität der Hardware darstellen, die die IC 10 umfasst. Die Netzliste kann dann platziert und geroutet werden, um einen Datensatz zu erzeugen, der geometrische Formen beschreibt, die auf Masken anzuwenden sind. Die Masken können dann in verschiedenen Halbleiterherstellungsschritten verwendet werden, um eine Halbleiterschaltung oder -schaltungen herzustellen, die der IC 10 entsprechen. Alternativ kann die Beschreibung 162 auf dem computerzugänglichen Speichermedium 300 je nach Wunsch die Netzliste (mit oder ohne die Synthesebibliothek) oder der Datensatz sein.
  • Während das computerzugängliche Speichermedium 160 eine Beschreibung 162 der IC 10 speichert, können andere Ausführungsformen eine Beschreibung 162 eines beliebigen Abschnitts der IC 10 und/oder einen beliebigen Abschnitt des Systems speichern.
  • Zahlreiche Variationen und Modifikationen werden für den Fachmann ersichtlich, sobald die vorstehende Offenbarung vollständig verstanden ist. Es ist beabsichtigt, dass die folgenden Ansprüche so interpretiert werden, dass alle solchen Variationen und Modifikationen eingeschlossen sind.

Claims (15)

  1. System, umfassend: eine energieverwaltete Last; eine Energieverwaltungseinheit, die an den Prozessor gekoppelt und dazu konfiguriert ist, Energie an die energieverwaltete Last zu liefern; eine Vielzahl von Schaltungen, wobei: jede der Vielzahl von Schaltungen einen anderen Energieverwaltungsmechanismus implementiert; jeder der Energieverwaltungsmechanismen die gleiche energieverwaltete Last beeinflusst; die Vielzahl von Schaltungen in verschiedenen von einer Vielzahl von Zeitdomänen betrieben werden, wobei sich eine Zeiteigenschaft entsprechend jeder der Vielzahl von Zeitdomänen von der Zeiteigenschaft jeder anderen der Vielzahl von Zeitdomänen unterscheidet; und eine Steuerschaltung, die dazu konfiguriert ist, die Energieverwaltungsmechanismen, die durch die Vielzahl von Schaltungen implementiert sind, zu koordinieren.
  2. System nach Anspruch 1, wobei die energieverwaltete Last eine integrierte Schaltung umfasst.
  3. System nach Anspruch 1 oder 2, wobei die energieverwaltete Last einen Prozessor umfasst.
  4. System nach einem der Ansprüche 1-3, wobei ein erster Energieverwaltungsmechanismus der Vielzahl von Energieverwaltungsmechanismen ein Festphasenmodus ist, in dem die Energieverwaltungseinheit dazu konfiguriert ist, eine Anzahl von aktivierten Phasen eines Spannungsreglers in der Energieverwaltungseinheit auf eine feste Zahl zu begrenzen.
  5. System nach einem der Ansprüche 1-4, wobei ein zweiter Energieverwaltungsmechanismus der Vielzahl von Energieverwaltungsmechanismen ein Modus ist, in dem die Energieverwaltungseinheit dazu konfiguriert ist, Energie zu der energieverwalteten Last zu deaktivieren, und die energieverwaltete Last dazu konfiguriert ist, mit Energie betrieben zu werden, die in Kondensatoren gespeichert ist, die zwischen einen Energieversorgungseingang zu der energieverwalteten Last und Masse gekoppelt sind.
  6. System nach einem der Ansprüche 1-5, wobei ein dritter Energieverwaltungsmechanismus der Vielzahl von Energieverwaltungsmechanismen ein dynamischer Lastleitungsmodus ist, in dem eine Lastleitung der Energieverwaltungseinheit während des Betriebs basierend auf einem Zustand der energieverwalteten Last eingestellt wird.
  7. System nach einem der Ansprüche 1-6, wobei die Zeiteigenschaft eine Bandbreite ist.
  8. System nach einem der Ansprüche 1-6, wobei die Zeiteigenschaft eine Latenz ist.
  9. System nach einem der Ansprüche 1-8, wobei sich die Zeiteigenschaften für die Vielzahl von Zeitdomänen um eine oder mehrere Größenordnungen voneinander unterscheiden.
  10. System nach einem der Ansprüche 1-9, wobei die Vielzahl von Schaltungen umfassen: eine Vielzahl von Überwachungsschaltungen, die dazu konfiguriert sind, Energiebedingungen an die energieverwaltete Last zu überwachen, wobei jede der Vielzahl von Überwachungsschaltungen in einer der Vielzahl von Zeitdomänen betrieben wird; und eine Vielzahl von Kompensationsschaltungen, die dazu konfiguriert sind, eine Korrekturmaßnahme als Reaktion auf Variationen in den Energiebedingungen, die durch die Vielzahl von Überwachungsschaltungen detektiert werden, zu implementieren, wobei jede der Vielzahl von Kompensationsschaltungen in einer der Vielzahl von Zeitdomänen betrieben wird.
  11. System nach Anspruch 10, ferner umfassend: eine Vielzahl von Übertragungsschaltungen, die dazu konfiguriert sind, Daten zwischen der Vielzahl von Zeitdomänen zu übertragen, wobei die Vielzahl von Kompensationsschaltungen eine Korrekturmaßnahme als Reaktion auf Eingaben von mehreren der Vielzahl von Zeitdomänen steuern.
  12. System nach Anspruch 10 oder 11, wobei die energieverwaltete Last auf einer integrierten Schaltung mit mindestens einer der Vielzahl von Überwachungsschaltungen integriert ist.
  13. Verfahren, umfassend: Überwachen von Energie an eine energieverwaltete Last; Kompensieren von Variationen in der Energie an die energieverwaltete Last unter Verwendung einer Vielzahl von Kompensationsmechanismen, die durch eine Vielzahl von Schaltungen implementiert sind, die auf verschiedenen Zeiteigenschaften betrieben werden; und Koordinieren des Betriebs der Vielzahl von Kompensationsmechanismen, wenn die Vielzahl von Kompensationsmechanismen auf eine gleiche Variation in der Energie an die energieverwaltete Last reagieren.
  14. Verfahren nach Anspruch 13, wobei sich die Zeiteigenschaften um eine oder mehrere Größenordnungen unterscheiden.
  15. Verfahren nach Anspruch 13 oder 14, wobei die energieverwaltete Last einen oder mehrere Prozessoren umfasst und die Vielzahl von Kompensationsmechanismen Variationen in der Energie an den einen oder die mehreren Prozessoren kompensieren.
DE112018000372.8T 2017-02-13 2018-02-12 Systeme und verfahren für eine kohärente energieverwaltung Active DE112018000372B4 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/430,699 2017-02-13
US15/430,699 US10423209B2 (en) 2017-02-13 2017-02-13 Systems and methods for coherent power management
PCT/US2018/017834 WO2018148665A1 (en) 2017-02-13 2018-02-12 Systems and methods for coherent power management

Publications (2)

Publication Number Publication Date
DE112018000372T5 true DE112018000372T5 (de) 2019-09-26
DE112018000372B4 DE112018000372B4 (de) 2023-05-11

Family

ID=61386918

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112018000372.8T Active DE112018000372B4 (de) 2017-02-13 2018-02-12 Systeme und verfahren für eine kohärente energieverwaltung

Country Status (4)

Country Link
US (3) US10423209B2 (de)
CN (2) CN116860098A (de)
DE (1) DE112018000372B4 (de)
WO (1) WO2018148665A1 (de)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10817043B2 (en) * 2011-07-26 2020-10-27 Nvidia Corporation System and method for entering and exiting sleep mode in a graphics subsystem
US10423209B2 (en) 2017-02-13 2019-09-24 Apple Inc. Systems and methods for coherent power management
CN115048214A (zh) * 2018-06-06 2022-09-13 北京嘉楠捷思信息技术有限公司 计算设备的芯片调频方法、装置、算力板、计算设备及存储介质
CN112711321A (zh) * 2021-01-11 2021-04-27 惠州Tcl移动通信有限公司 电源管理芯片控制方法、装置、智能终端及存储介质
US11960339B2 (en) * 2021-07-09 2024-04-16 Advanced Micro Devices, Inc. Multi-die stacked power delivery
US20230168729A1 (en) * 2021-11-30 2023-06-01 Facebook Technologies, Llc Systems and methods for peak power control

Family Cites Families (74)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5754869A (en) 1994-10-04 1998-05-19 Intel Corporation Method and apparatus for managing power consumption of the CPU and on-board system devices of personal computers
US7640446B1 (en) * 2003-09-29 2009-12-29 Marvell International Ltd. System-on-chip power reduction through dynamic clock frequency
US7370220B1 (en) * 2003-12-26 2008-05-06 Storage Technology Corporation Method and apparatus for controlling power sequencing of a plurality of electrical/electronic devices
KR20050120565A (ko) 2004-06-17 2005-12-22 인텔 코오퍼레이션 전력-관리된 리소스들을 공유하는 디바이스들 간의 전력상태 조정
US7966511B2 (en) 2004-07-27 2011-06-21 Intel Corporation Power management coordination in multi-core processors
US7562234B2 (en) * 2005-08-25 2009-07-14 Apple Inc. Methods and apparatuses for dynamic power control
US7337339B1 (en) 2005-09-15 2008-02-26 Azul Systems, Inc. Multi-level power monitoring, filtering and throttling at local blocks and globally
EP2075696A3 (de) * 2007-05-10 2010-01-27 Texas Instruments Incorporated Unterbrechungsbedingte Schaltkreise, Systeme und Verfahren
US7984314B2 (en) * 2007-05-14 2011-07-19 Intel Corporation Power management of low power link states
US7992017B2 (en) * 2007-09-11 2011-08-02 Intel Corporation Methods and apparatuses for reducing step loads of processors
US8331898B2 (en) * 2007-10-03 2012-12-11 Texas Instruments Incorporated Power-saving receiver circuits, systems and processes
US8024590B2 (en) * 2007-12-10 2011-09-20 Intel Corporation Predicting future power level states for processor cores
CA2707498A1 (en) * 2007-12-12 2009-06-18 Alan Mcdonnell Electric power distribution methods and apparatus
US8442697B2 (en) * 2007-12-18 2013-05-14 Packet Digital Method and apparatus for on-demand power management
US7962770B2 (en) * 2007-12-19 2011-06-14 International Business Machines Corporation Dynamic processor reconfiguration for low power without reducing performance based on workload execution characteristics
US7932639B2 (en) * 2007-12-31 2011-04-26 Intel Corporation Simultaneous multi-voltage rail voltage regulation messages
US8402290B2 (en) * 2008-10-31 2013-03-19 Intel Corporation Power management for multiple processor cores
US20100318827A1 (en) * 2009-06-15 2010-12-16 Microsoft Corporation Energy use profiling for workload transfer
US8200371B2 (en) * 2009-06-25 2012-06-12 Qualcomm Incorporated Prediction engine to control energy consumption
US8862914B2 (en) * 2010-02-26 2014-10-14 Microsoft Corporation Virtual machine power consumption measurement and management
US8484498B2 (en) * 2010-08-26 2013-07-09 Advanced Micro Devices Method and apparatus for demand-based control of processing node performance
US8601298B2 (en) * 2010-09-15 2013-12-03 Qualcomm Incorporated System and method for determining optimal operating parameters for conserving power in a portable device from a hypersurface which represents optimal values of the operating parameters under various synthetic workloads
WO2012054019A1 (en) * 2010-10-19 2012-04-26 Hewlett-Packard Development Company, L.P. Systems and methods for predictive control of power efficiency
US8468373B2 (en) * 2011-01-14 2013-06-18 Apple Inc. Modifying performance parameters in multiple circuits according to a performance state table upon receiving a request to change a performance state
US9069555B2 (en) * 2011-03-21 2015-06-30 Intel Corporation Managing power consumption in a multi-core processor
US20120278503A1 (en) * 2011-04-28 2012-11-01 International Business Machines Corporation Energy management system for a data center network
US9357482B2 (en) * 2011-07-13 2016-05-31 Alcatel Lucent Method and system for dynamic power control for base stations
US8970234B2 (en) * 2011-09-26 2015-03-03 Apple Inc. Threshold-based temperature-dependent power/thermal management with temperature sensor calibration
US9009451B2 (en) * 2011-10-31 2015-04-14 Apple Inc. Instruction type issue throttling upon reaching threshold by adjusting counter increment amount for issued cycle and decrement amount for not issued cycle
US8775838B2 (en) * 2012-02-01 2014-07-08 Texas Instruments Incorporated Limiting the number of unexpected wakeups in a computer system implementing a power-saving preemptive wakeup method from historical data
US9497641B2 (en) * 2012-09-21 2016-11-15 Qualcomm Incorporated Cyclic shift delay detection using a classifier
US10693294B2 (en) * 2012-09-26 2020-06-23 Stem, Inc. System for optimizing the charging of electric vehicles using networked distributed energy storage systems
US9298247B2 (en) * 2012-11-27 2016-03-29 International Business Machines Corporation Distributed power budgeting
US9311209B2 (en) * 2012-11-27 2016-04-12 International Business Machines Corporation Associating energy consumption with a virtual machine
US9383806B2 (en) * 2013-04-17 2016-07-05 Apple Inc. Multi-core processor instruction throttling
US9665141B2 (en) * 2013-06-05 2017-05-30 Apple Inc. Thermal management of an integrated circuit
US9430014B2 (en) * 2013-07-18 2016-08-30 Qualcomm Incorporated System and method for idle state optimization in a multi-processor system on a chip
US9495001B2 (en) * 2013-08-21 2016-11-15 Intel Corporation Forcing core low power states in a processor
US9703355B2 (en) * 2013-08-28 2017-07-11 Qualcomm Incorporated Method, devices and systems for dynamic multimedia data flow control for thermal power budgeting
US9329663B2 (en) * 2013-09-09 2016-05-03 Apple Inc. Processor power and performance manager
US9557786B2 (en) * 2013-11-11 2017-01-31 Mediatek Inc. Power thermal policy using micro-throttle
US9459689B2 (en) * 2013-12-23 2016-10-04 Intel Corporation Dyanamically adapting a voltage of a clock generation circuit
US20150185803A1 (en) * 2013-12-30 2015-07-02 Qualcomm Incorporated System and method for dcvs headroom adjustment and processing level optimization in a system on a chip
US9436263B2 (en) * 2014-02-21 2016-09-06 Qualcomm Incorporated Systems and methods for power optimization using throughput feedback
US9552034B2 (en) * 2014-04-29 2017-01-24 Qualcomm Incorporated Systems and methods for providing local hardware limit management and enforcement
US9817465B2 (en) * 2014-06-27 2017-11-14 Microsoft Technology Licensing, Llc Low latency computer system power reduction
US9400308B2 (en) * 2014-07-03 2016-07-26 Qualcomm Incorporated Multi-domain heterogeneous process-voltage-temperature tracking for integrated circuit power reduction
US9766684B2 (en) * 2014-07-21 2017-09-19 Apple Inc. Telemetry for power and thermal management
US9959301B2 (en) 2014-07-25 2018-05-01 Cisco Technology, Inc. Distributing and processing streams over one or more networks for on-the-fly schema evolution
US20160070327A1 (en) * 2014-09-08 2016-03-10 Qualcomm Incorporated System and method for peak current management to a system on a chip
WO2016069019A1 (en) * 2014-10-31 2016-05-06 Hewlett Packard Enterprise Development Lp Backup power supply support
US9489026B2 (en) * 2014-11-13 2016-11-08 Electronic Systems Protection, Inc. Selective event reaction processing in power control
US9710043B2 (en) * 2014-11-26 2017-07-18 Intel Corporation Controlling a guaranteed frequency of a processor
US9477243B2 (en) * 2014-12-22 2016-10-25 Intel Corporation System maximum current protection
US9811143B2 (en) * 2014-12-23 2017-11-07 Intel Corporation Systems and methods for dynamic spatial power steering
US9939869B2 (en) * 2015-03-13 2018-04-10 Qualcomm Incorporated Methods and systems for coordination of operating states amongst multiple SOCs within a computing device
US9760160B2 (en) * 2015-05-27 2017-09-12 Intel Corporation Controlling performance states of processing engines of a processor
US10275001B2 (en) * 2015-06-26 2019-04-30 Intel Corporation Thermal throttling of electronic devices
KR102548679B1 (ko) * 2015-12-14 2023-06-27 현대모비스 주식회사 차량용 모터 제어 장치 및 이를 이용한 전류 지령 생성 방법
US20170168541A1 (en) * 2015-12-15 2017-06-15 Intel Corporation Processor core energy management
US10037258B2 (en) * 2016-02-01 2018-07-31 Qualcomm Incorporated System and method for intelligent thermal management using dynamic performance floors in a portable computing device
US10108252B2 (en) * 2016-03-03 2018-10-23 Dell Products L.P. Method and system for intelligent load line control of information handling systems
US10496141B2 (en) * 2016-03-17 2019-12-03 Qualcomm Incorporated System and method for intelligent thermal management in a system on a chip having a heterogeneous cluster architecture
US11474591B2 (en) * 2016-08-05 2022-10-18 Ati Technologies Ulc Fine-grain GPU power management and scheduling for virtual reality applications
US10423206B2 (en) * 2016-08-31 2019-09-24 Intel Corporation Processor to pre-empt voltage ramps for exit latency reductions
US10437311B2 (en) * 2016-09-06 2019-10-08 International Business Machines Corporation Mitigation of on-chip supply voltage noise by monitoring slope of supply voltage based on time-based sensors
US10168758B2 (en) * 2016-09-29 2019-01-01 Intel Corporation Techniques to enable communication between a processor and voltage regulator
US20180143862A1 (en) * 2016-11-18 2018-05-24 Qualcomm Incorporated Circuits and Methods Providing Thread Assignment for a Multi-Core Processor
US20180157315A1 (en) * 2016-12-01 2018-06-07 Qualcomm Incorporated System and method for proactive power and performance management of a workload in a portable computing device
US10365707B2 (en) * 2016-12-09 2019-07-30 Intel Corporation Instruction and logic for parallel multi-step power management flow
US10591965B2 (en) * 2017-01-20 2020-03-17 Qualcomm Incorporated System and method for context-aware thermal management and workload scheduling in a portable computing device
US10423209B2 (en) 2017-02-13 2019-09-24 Apple Inc. Systems and methods for coherent power management
KR102449825B1 (ko) 2017-07-31 2022-10-04 삼성전자주식회사 지문 인식을 위한 디스플레이 및 전자 장치
US10642338B2 (en) * 2017-09-28 2020-05-05 Intel Corporation Hierarchical power management unit for low power and low duty cycle devices

Also Published As

Publication number Publication date
CN110268367A (zh) 2019-09-20
US20220137692A1 (en) 2022-05-05
US11868192B2 (en) 2024-01-09
US11204636B2 (en) 2021-12-21
US20180232034A1 (en) 2018-08-16
US10423209B2 (en) 2019-09-24
WO2018148665A1 (en) 2018-08-16
CN116860098A (zh) 2023-10-10
DE112018000372B4 (de) 2023-05-11
US20190346903A1 (en) 2019-11-14
CN110268367B (zh) 2023-06-23

Similar Documents

Publication Publication Date Title
DE112018000372B4 (de) Systeme und verfahren für eine kohärente energieverwaltung
DE102014001914B4 (de) Dynamische Steuerung einer maximalen Betriebsspannung für einen Prozessor
DE112015004438B4 (de) Niedrigenergie-Prozessor zum Steuern von Betriebszuständen eines Computersystems
DE60116650T2 (de) Strommodus-übergang für einen prozessor
DE112005002027B4 (de) Verfahren und Vorrichtung zur Steuerung von Leistungsverwaltungszustandsübergängen
DE112006003628B4 (de) System und Verfahren zum Betreiben von Komponenten einer integrierten Schaltung mit unabhängigen Frequenzen und/oder Spannungen
DE69629123T2 (de) Apparat und verfahren zum reduzieren des stromverbrauchs durch skalierung von spannung und frequenz
DE112006003575B4 (de) Verfahren und Vorrichtung für einen Nullspannungs-Prozessorschlafzustand
DE112015002522B4 (de) System-on-a-chip mit always-on-prozessor, der das SOC rekonfiguriert und Nur-Speicher-Kommunikationsmodus unterstützt
DE112008000758B4 (de) Dynamische Stromreduzierung
DE102021124514A1 (de) Vorrichtung und verfahren für hierarchische leistungsverwaltung
DE102010013228B4 (de) Verfahren und System, um die Operationen eines registrierten Speichermoduls zu verbessern
DE102009051387A1 (de) Power Management für Mehrprozessorkerne
DE112016001481T5 (de) Unterspannungserkennung und leistungsdrosselung
DE112006002056T5 (de) Erhöhung der Arbeitsleistung eines oder mehrerer Kerne in Multikernprozessoren
DE102021126686A1 (de) Leistungsverwaltungseinrichtung und -verfahren für mehrebenenspeichersysteme
DE102005044533A1 (de) Aufgabenplanungsverfahren für geringe Leistungsableitung in einem Systemchip
DE202015009993U1 (de) Parallel geschalteter integrierter Spannungsregler
DE112020004583T5 (de) Adaptiver digitaler on-chip-leistungsschätzer
DE102021119090A1 (de) Einrichtung und verfahren für energieeffiziente kernspannungsauswahl
EP3293609A1 (de) Dynamische zuverlässigkeitsqualitätsüberwachung
US20180232043A1 (en) Reduced Power Operation Using Stored Capacitor Energy
EP3356910B1 (de) Entwurf eines power-bewussten stromnetz
US10895903B2 (en) Package power zone for limiting power consumption even when individual consumers do not exceed individual limits
US11960340B2 (en) Performance management during power supply voltage droop

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R130 Divisional application to

Ref document number: 112018008268

Country of ref document: DE

R020 Patent grant now final