DE112022003384T5 - System-On-Chip mit Leistungsversorgungsmodus mit reduzierter Anzahl von Phasen - Google Patents

System-On-Chip mit Leistungsversorgungsmodus mit reduzierter Anzahl von Phasen Download PDF

Info

Publication number
DE112022003384T5
DE112022003384T5 DE112022003384.3T DE112022003384T DE112022003384T5 DE 112022003384 T5 DE112022003384 T5 DE 112022003384T5 DE 112022003384 T DE112022003384 T DE 112022003384T DE 112022003384 T5 DE112022003384 T5 DE 112022003384T5
Authority
DE
Germany
Prior art keywords
power
setting
safe
operating voltages
power supply
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.)
Pending
Application number
DE112022003384.3T
Other languages
English (en)
Inventor
Doron Rajwan
Craig S. Forbell
Jamie L. Langlinais
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
Priority claimed from US17/572,664 external-priority patent/US11709512B2/en
Application filed by Apple Inc filed Critical Apple Inc
Publication of DE112022003384T5 publication Critical patent/DE112022003384T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05FSYSTEMS FOR REGULATING ELECTRIC OR MAGNETIC VARIABLES
    • G05F1/00Automatic systems in which deviations of an electric quantity from one or more predetermined values are detected at the output of the system and fed back to a device within the system to restore the detected quantity to its predetermined value or values, i.e. retroactive systems
    • G05F1/10Regulating voltage or current
    • G05F1/46Regulating voltage or current wherein the variable actually regulated by the final control device is dc
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/28Supervision thereof, e.g. detecting power-supply failure by out of limits supervision
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3243Power saving in microcontroller unit
    • 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/3287Power saving characterised by the action undertaken by switching off individual functional units in the computer system
    • 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Electromagnetism (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Automation & Control Theory (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Power Sources (AREA)

Abstract

Eine Einrichtung schließt Hardwareschaltungen (48, 52, 56, 60, 56, 68), eine Frontend-Leistungsversorgung, Spannungsregler (92) und Steuerschaltlogik (80, 96) ein. Die Frontend-Leistungsversorgung schließt Leistungsstufen (84) ein, die Teile elektrischer Leistung erzeugen und unabhängig aktiviert und deaktiviert werden. Die Spannungsregler sind mit einem Ausgang der Frontend-Leistungsversorgung verbunden und stellen anpassbare Betriebsspannungen an die Hardwareschaltungen bereit. Die Steuerschaltlogik steuert die Spannungsregler dahin gehend, dass sie die anpassbaren Betriebsspannungen als Reaktion auf Anforderungen von den Hardwareschaltungen bereitstellen, vergleicht die anpassbaren Betriebsspannungen mit Einstellungen, die als sicher für die Bereitstellung durch eine vordefinierte Teilanzahl der Leistungsstufen der Frontend-Leistungsversorgung spezifiziert sind, und aktiviert und deaktiviert adaptiv die Leistungsstufen, einschließlich des Sicherstellens, dass eine Anzahl von aktiven Leistungsstufen nur auf die vordefinierte Teilanzahl eingestellt ist, während die Betriebsspannungen mit den sicheren Einstellungen übereinstimmen.

Description

  • QUERVERWEIS AUF VERWANDTE ANMELDUNG
  • Diese Anmeldung beansprucht die Priorität der vorläufigen US-Patentanmeldung Nr. 63/243,754 , eingereicht am 14. September 2021, und US-Patentanmeldung Nr. 17/572,664 , eingereicht am 11. Januar 2022, deren Offenbarungen hierin durch Bezugnahme aufgenommen sind.
  • TECHNISCHES GEBIET
  • Hierin beschriebene Ausführungsformen beziehen sich allgemein auf die Leistungsverwaltung in elektronischer Schaltlogik und insbesondere auf eine adaptive Aktivierung und Deaktivierung von Leistungsstufen einer Leistungsversorgung.
  • HINTERGRUND
  • Verschiedene Leistungsverwaltungsschemata verwenden eine Vielzahl von Spannungsreglern, z. B. um sich effizient an variable Lastbedingungen anzupassen. Zum Beispiel beschreibt die US-Patentanmeldung 2004/0061380 Techniken zur Verteilung und Konditionierung von Leistung an eine oder mehrere variable Lasten. Leistung wird einer oder mehreren Leistungswandlungseinheiten (PCUs) zugeführt, die mit der einen oder den mehreren variablen Lasten verbunden sind. Die PCUs sind dazu eingerichtet, die Leistung in andere Formen umzuwandeln, die zur Verwendung durch die Komponenten des Zielsystems geeignet sind. Zusätzlich ist ein Leistungssteuermodul dazu eingerichtet, die Lastanforderungen, sowohl die aktuellen als auch die zukünftigen, der einen oder der mehreren variablen Lasten zu überwachen. Zumindest teilweise basierend auf den Lastanforderungen steuert das Leistungssteuermodul den Betrieb der einen oder der mehreren PCUs dahin gehend, eine ausreichende Leistung an die eine oder die mehreren Lasten zu der geeigneten Zeit bereitzustellen, während eine verschwendete Leistungserzeugung minimiert wird, indem alle unnötigen PCUs deaktiviert werden.
  • Als weiteres Beispiel beschreibt das US-Patent 7,161,339 eine Spannungsreglerschaltung, die einen einzigen Hochspannungsregler und eine Vielzahl von parallelen Niederspannungsreglern einschließt, die in der Lage sind, eine Zwischenspannung von dem Hochspannungsregler zu empfangen, und in der Lage sind, eine geregelte Ausgangsspannung auszugeben.
  • Die Veröffentlichung der US-Patentanmeldung 2013/0207467 beschreibt ein System, das Lasten, Linearregler, Schalter und eine Steuerung einschließt. Die Linearregler liefern Leistung an die Lasten, und die Steuerung ist dazu eingerichtet, die Schalter zu verwenden, um Leistungsquellen selektiv mit den Linearreglern zu koppeln, um eine kollektive Leistungsdissipation von Linearreglern zu regeln.
  • KURZDARSTELLUNG DER OFFENBARUNG
  • Eine hierin beschriebene Ausführungsform stellt eine Einrichtung bereit, die mehrere Hardwareschaltungen, eine Frontend-Leistungsversorgung, mehrere Spannungsregler und eine Steuerschaltlogik einschließt. Die Frontend-Leistungsversorgung ist konfiguriert, um elektrische Leistung zum Versorgen der mehreren Hardwareschaltungen zu erzeugen. Die Frontend-Leistungsversorgung schließt einen Satz von Leistungsstufen ein, die konfiguriert sind, um jeweilige Teile der elektrischen Leistung zu erzeugen und unabhängig voneinander aktiviert und deaktiviert zu werden. Die Spannungsregler sind mit einem Ausgang der Frontend-Leistungsversorgung verbunden und konfiguriert, um anpassbare Betriebsspannungen an die Hardwareschaltungen bereitzustellen. Die Steuerschaltlogik ist konfiguriert, um die Spannungsregler zur Versorgung der Hardwareschaltungen mit einer Einstellung der anpassbaren Betriebsspannungen als Reaktion auf Anforderungen von den Hardwareschaltungen dahin gehend zu steuern, die Einstellung der anpassbaren Betriebsspannungen mit einer oder mehreren sicheren Einstellungen zu vergleichen, die als sicher für die Bereitstellung durch eine vordefinierte Teilanzahl der Leistungsstufen der Frontend-Leistungsversorgung spezifiziert sind, und um die Leistungsstufen adaptiv zu aktivieren und zu deaktivieren, einschließlich der Sicherstellung, dass eine Anzahl von aktiven Leistungsstufen nur auf die vordefinierte Teilanzahl eingestellt ist, während die Einstellung der Betriebsspannungen mit mindestens einer der sicheren Einstellungen übereinstimmt.
  • In einigen Ausführungsformen, um die Leistungsstufen adaptiv zu aktivieren und zu deaktivieren, ist die Steuerschaltlogik ferner konfiguriert, um (i) zu Zeiten, zu denen die Einstellung mit mindestens einer der sicheren Einstellungen übereinstimmt, die Frontend-Leistungsversorgung so zu steuern, dass nur die vordefinierte Teilanzahl der Leistungsstufen aktiv ist, und (ii) zu anderen Zeiten, zu denen die Einstellung nicht mit irgendwelchen der sicheren Einstellungen übereinstimmt, die Frontend-Leistungsversorgung so zu steuern, dass mehr als die vordefinierte Teilanzahl der Leistungsstufen aktiv ist.
  • In einer Ausführungsform ist die Steuerschaltlogik zusätzlich zum adaptiven Aktivieren und Deaktivieren der Leistungsstufen dazu konfiguriert, eine oder mehrere der Leistungsstufen zwischen einem Normalmodus und einem Standby-Modus adaptiv zu überführen. In einer offenbarten Ausführungsform ist die vordefinierte Teilanzahl der Leistungsstufen eine einzige Leistungsstufe.
  • In einer beispielhaften Ausführungsform, während die Anzahl der aktiven Leistungsstufen die vordefinierte Teilanzahl ist, ist die Steuerschaltlogik konfiguriert, um (i) zu detektieren, dass erwartet wird, dass eine Anforderung von einer der Hardwareschaltungen die Einstellung der Betriebsspannungen von einer sicheren Einstellung in eine unsichere Einstellung ändert, und (ii) die Spannungsregler so zu steuern, dass sie nur nach dem Erhöhen der Anzahl aktiver Leistungsstufen in die unsichere Einstellung umgeschaltet werden.
  • In einer Ausführungsform hängt mindestens eine der sicheren Einstellungen von einer oder mehreren spezifizierten Temperaturschwellen ab, und beim Vergleichen der Einstellung der anpassbaren Betriebsspannungen mit den sicheren Einstellungen ist die Steuerschaltlogik konfiguriert, um eine oder mehrere Temperaturen, die mit der Einrichtung assoziiert sind, mit der einen oder den mehreren Temperaturschwellen zu vergleichen.
  • Es wird zusätzlich gemäß einer hierin beschriebenen Ausführungsform ein Verfahren bereitgestellt, das das Erzeugen von elektrischer Leistung, zum Versorgen mehrerer Hardwareschaltungen unter Verwendung einer Frontend-Leistungsversorgung, die einen Satz von Leistungsstufen umfasst, durch Erzeugen jeweiliger Teile der elektrischen Leistung unter Verwendung der Leistungsstufen beinhaltet. Anpassbare Betriebsspannungen werden den Hardwareschaltungen unter Verwendung mehrerer Spannungsregler bereitgestellt, die mit einem Ausgang der Frontend-Leistungsversorgung verbunden sind. Die Spannungsregler werden als Reaktion auf Anforderungen von den Hardwareschaltungen dahin gehend gesteuert, die Hardwareschaltungen mit einer Einstellung der anpassbaren Betriebsspannungen zu versorgen. Die Einstellung der anpassbaren Betriebsspannungen wird mit einer oder mehreren sicheren Einstellungen verglichen, die als sicher für die Bereitstellung durch eine vordefinierte Teilanzahl der Leistungsstufen der Frontend-Leistungsversorgung spezifiziert sind. Die Leistungsstufen werden adaptiv aktiviert und deaktiviert, einschließlich der Sicherstellung, dass eine Anzahl aktiver Leistungsstufen nur auf die vordefinierte Teilanzahl eingestellt wird, während die Einstellung der Betriebsspannungen mit mindestens einer der sicheren Einstellungen übereinstimmt.
  • Diese und weitere Ausführungsformen werden anhand der folgenden detaillierten Beschreibung von Ausführungsformen davon in Verbindung mit den Zeichnungen vollständig verstanden, in denen Folgendes veranschaulicht ist:
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
    • 1 ist ein Blockdiagramm, das schematisch ein Rechensystem veranschaulicht, das als ein System-on-Chip-Chip (SOC) implementiert wird, gemäß einer hierin beschriebenen Ausführungsform;
    • 2 ist ein Blockdiagramm, das schematisch ein SOC und eine assoziierte Leistungsversorgung veranschaulicht, gemäß einer hierin beschriebenen Ausführungsform;
    • 3 ist ein Blockdiagramm, das schematisch eine Schaltlogik zum Abfragen einer Liste sicherer Betriebsspannungseinstellungen veranschaulicht, gemäß einer hierin beschriebenen Ausführungsform;
    • 4 ist ein Diagramm, das schematisch eine Zustandsmaschine zum Übergang zwischen einem Niederleistungsmodus (Einzelphasenmodus) und einem Normalmodus (Allphasenmodus) veranschaulicht, gemäß einer hierin beschriebenen Ausführungsform;
    • 5 ist ein Blockdiagramm, das schematisch ein System gemäß einer hierin beschriebenen Ausführungsform veranschaulicht; und
    • 6 ist ein Blockdiagramm, das schematisch ein computerlesbares Speichermedium gemäß einer hierin beschriebenen Ausführungsform veranschaulicht.
  • DETAILLIERTE BESCHREIBUNG VON AUSFÜHRUNGSFORMEN Überblick
  • Ausführungsformen, die hierin beschrieben sind, stellen verbesserte Verfahren und Einrichtungen zur Leistungsverwaltung in elektronischer Schaltlogik bereit. Die offenbarten Techniken können zum Beispiel zum Versorgen eines System-On-Chip (SOC) in einer batteriebetriebenen Rechen- oder Kommunikationsvorrichtung mit elektrischer Leistung verwendet werden.
  • In einigen Ausführungsformen schließt ein SOC verschiedene Hardwareschaltungen, wie Zentralverarbeitungseinheiten (CPUs), Grafikverarbeitungseinheiten (GPUs), Apple Neural Engines (ANEs), Kommunikations-Fabrics und dergleichen ein. Zumindest einige der Hardwareschaltungen im SOC werden durch eine zweistufige Leistungsversorgung mit einer Primärstufe (auch als „Frontend-Stufe“ oder „Frontend-Leistungsversorgung“ bezeichnet) und einer Sekundärstufe mit Leistung versorgt.
  • Die Primärstufe der Leistungsversorgung schließt einen Satz paralleler Leistungsstufen (auch als „Phasen“ bezeichnet) ein, die jeweilige Teile der gesamten elektrischen Leistung erzeugen. Die Ausgänge der Leistungsstufen werden kombiniert, um eine einzelne Spannungsschiene zu erzeugen. Die Leistungsstufen sind einzeln, unabhängig voneinander aktivierbar und deaktivierbar. Die Sekundärstufe der Leistungsversorgung schließt mehrere anpassbare Spannungsregler ein, die von der einzelnen Spannungsschiene (d. h. durch den Ausgang der Frontend-Stufe) gespeist werden. Die Spannungsregler sind konfiguriert, um anpassbare Betriebsspannungen an die Hardwareschaltungen bereitzustellen. In einer typischen Implementierung werden die Spannungsregler in unmittelbarer Nähe zu den Hardwareschaltungen platziert, die sie bedienen, um Rauschen zu minimieren und die Spannungsgenauigkeit zu maximieren.
  • In einigen Ausführungsformen schließt das SOC ferner eine Steuerschaltlogik ein, die die Leistungsstufen und die Spannungsregler steuert. In einer beispielhaften Ausführungsform schließt die Steuerschaltlogik einen Leistungsmanager („PMGR“) und eine Frontend-Steuerung ein. Der Leistungsmanager ist mit den Hardwareschaltungen (z. B. CPUs, GPUs usw.) gekoppelt und steuert sowohl die Spannungsregler als auch die Frontend-Steuerung. Die Frontend-Steuerung steuert die Leistungsstufen der Frontend-Leistungsversorgung als Reaktion auf Anweisungen vom PMGR. In alternativen Ausführungsformen kann die Steuerschaltlogik eine beliebige andere geeignete zentralisierte oder verteilte Konfiguration aufweisen.
  • In einigen Ausführungsformen unterstützt die Leistungsversorgung verschiedene Betriebsmodi, die von der Steuerschaltlogik verwaltet werden. Einer dieser Modi ist ein Niederleistungsmodus, in dem nur eine kleine, vordefinierte Anzahl von Leistungsstufen (z. B. eine einzige Stufe) aktiv gehalten wird, um den Leckstrom zu reduzieren und somit die Effizienz zu erhöhen. Ein solcher Niederleistungsmodus ist besonders vorteilhaft in Ruhe- und anderen Szenarien mit geringer Nutzung des SOC, bei dem der Leckstrom einer Leistungsstufe nicht vernachlässigbar ist. Numerische Beispiele werden weiter unten angegeben. Die offenbarten Techniken ermöglichen einen schnellen und sicheren hardwareimplementierten Übergang in den und aus dem Niederleistungsmodus.
  • Im Zusammenhang mit der vorliegenden Offenbarung und in den Ansprüchen bezieht sich der Begriff „Deaktivierung“, wie er in dem offenbarten Niederleistungsmodus verwendet wird, auf einen beliebigen geeigneten Mechanismus, der den Leckstrom einer Leistungsstufe reduziert. Deaktivierung kann zum Beispiel das tatsächliche Abschalten einer Leistungsstufe beinhalten, was bewirkt, dass die Leistungsstufe Nullstrom zieht, oder eine teilweise Inaktivierung, die den Leckstrom auf einen kleinen Wert, aber ungleich null, reduziert. Zum Beispiel kann eine Leistungsstufe deaktiviert werden, indem ihr Treiber und unwesentliche Blöcke inaktiviert werden, um den Leckstrom zu reduzieren. Einige Blöcke der Leistungsstufe können jedoch eingeschaltet bleiben, um die Latenz der Neuaktivierung zu reduzieren. Die Deaktivierung beinhaltet in der Regel das Inaktivieren des Großteils der oder der gesamten aktiven Schaltlogik einer Leistungsstufe, z. B. Vorspannungs- und Referenzschaltlogik. In einigen Ausführungsformen wird jedoch Eingangsleistung aufrechterhalten. Die Deaktivierung wird gegebenenfalls zusätzlich zu verschiedenen Standby-Modi eingesetzt, die auf eine Leistungsstufe angewendet werden können.
  • Bei der Implementierung eines Niederleistungsmodus, der auf der Deaktivierung von Leistungsstufen basiert, besteht eine große Herausforderung in der relativ langen Aufweckzeit der Leistungsstufe beim Übergang aus diesem Modus. In einer typischen Implementierung liegt die Aufweckzeit einer Leistungsstufe in der Größenordnung von mehreren zig oder Hunderten von Mikrosekunden. Änderungen der Last hingegen können erheblich schneller sein, z. B. in der Größenordnung von einer oder einigen Mikrosekunden. (Im vorliegenden Beispiel ist eine Laständerung eine Änderung des Leistungsverbrauchs eines oder mehrerer der Spannungsregler der Sekundärstufe aufgrund von Änderungen des Leistungsverbrauchs einer oder mehrerer der Hardwareschaltungen.) Das Fehlschlagen, die erforderliche Aufweckzeit zu erfüllen, kann schwere Spannungsabfälle verursachen, die zu einer Leistungsverschlechterung oder sogar zum Zurücksetzen oder Ausfall des SOC führen könnten.
  • In einigen Ausführungsformen geht die Steuerschaltlogik gemäß einer spezifizierten Liste von „sicheren Einstellungen“ in den und aus dem Niederleistungsmodus über. Wie vorstehend erwähnt, werden die verschiedenen Spannungsregler in der sekundären Leistungsversorgungsstufe dahin gehend gesteuert, die Betriebsspannungen anzupassen, die sie als Reaktion auf Anforderungen von den verschiedenen Hardwareschaltungen bereitstellen. Zum Beispiel kann eine bestimmte CPU eine Anforderung an die Steuerschaltlogik senden, um ihre Betriebsspannung aufgrund eines bevorstehenden Anstiegs ihrer Rechenaktivität zu erhöhen, oder ihre Betriebsspannung beim Eintritt in einen Ruhe- oder weniger ausgelasteten Zeitraum zu verringern. Die Steuerschaltlogik kann auf solche Anforderungen reagieren, indem der Spannungsregler angepasst wird, der die betreffende CPU bedient. Unter bestimmten Umständen kann die Steuerschaltlogik eine Anforderung ablehnen.
  • Somit kennt die Steuerschaltlogik zu einem beliebigen gegebenen Zeitpunkt die tatsächlichen Betriebsspannungen, die von den mehreren Spannungsreglern der sekundären Leistungsversorgungsstufe geliefert werden. Die Werte der mehreren Betriebsspannungen, die von den mehreren Spannungsreglern zu einem gegebenen Zeitpunkt geliefert werden, werden hierin der Kürze halber als „Spannungseinstellung“ oder einfach „Einstellung“ bezeichnet. In einigen Ausführungsformen hält die Steuerschaltlogik eine Liste einer oder mehrerer Einstellungen, die als sicher definiert sind. In diesem Zusammenhang wird eine Einstellung als sicher angesehen, wenn (und nur wenn) die entsprechenden Betriebsspannungen erzeugt werden können, während die Frontend-Leistungsversorgung nur mit der kleinen Anzahl von aktiven Leistungsstufen arbeitet, die für den Niederleistungsmodus spezifiziert sind.
  • Zum Beispiel wird für einen Niederleistungsmodus, der nur eine einzige aktive Leistungsstufe verwendet, eine Einstellung als sicher angesehen, wenn die entsprechenden Betriebsspannungen der Spannungsregler unter Verwendung nur einer einzelnen aktiven Leistungsstufe in der Frontend-Leistungsversorgung versorgt werden können. Wenn eine bestimmte Einstellung erfordert, dass mehr als eine einzige Leistungsstufe aktiv ist, wird sie als unsicher angesehen.
  • Eine ähnliche sichere und unsichere Einstellung kann für Niederleistungsmodi mit anderen Anzahlen von aktiven Leistungsstufen definiert werden. Der Einfachheit halber bezieht sich die folgende Beschreibung hauptsächlich auf einen „einphasigen“ Niederleistungsmodus, bei dem nur eine einzige Leistungsstufe aktiv ist und die anderen inaktiv sind. Die offenbarten Techniken können jedoch verwendet werden, um andere Niederleistungsmodi zu implementieren, in denen mehr als eine Stufe (z. B. zwei Stufen) funktionsfähig ist.
  • In verschiedenen Ausführungsformen kann die Steuerschaltlogik die Liste sicherer Einstellungen auf verschiedene Weise verwenden, um sicher in den und aus dem Niederleistungsmodus überzugehen. Zum Beispiel überwacht die Steuerschaltlogik in einer Ausführungsform kontinuierlich Anforderungen für Betriebsspannungsänderungen, die von den Hardwareschaltungen empfangen werden. Beim Betrieb im Niederleistungsmodus kann die Steuerschaltlogik detektieren, dass eine Anforderung von einer Hardwareschaltung für eine Erhöhung der Betriebsspannung die neue Einstellung (die Vielzahl von Betriebsspannungen einschließlich der neu angeforderten Spannung) unsicher macht. In einem solchen Fall kann die Steuerschaltlogik die Anforderung vorübergehend ablehnen, dann durch Aktivieren zusätzlicher Leistungsstufen (z. B. aller Leistungsstufen) aus dem Niederleistungsmodus übergehen und erst dann den geeigneten Spannungsregler anpassen, um die Betriebsspannung wie angefordert zu erhöhen. Auf diese Weise ist der Übergang trotz der langsamen Reaktionszeit der Leistungsstufen uneingeschränkt sicher. In alternativen Ausführungsformen können auch andere geeignete Übergangsschemata verwendet werden.
  • In den meisten hierin beschriebenen Ausführungsformen entscheidet die Steuerschaltlogik ausschließlich basierend auf Betriebsspannungen von Hardwareschaltungen über Übergänge in den und aus dem Niederleistungsmodus. In der Praxis sind Entscheidungen alleinig basierend auf Betriebsspannungen sicher und einfach zu implementieren, können aber suboptimal sein. Mit anderen Worten, wenn zusätzliche Parameter verfügbar wären, könnte die Liste sicherer Einstellungen verfeinert werden, und der Niederleistungsmodus könnte liberaler angewendet werden.
  • Zum Beispiel kann in alternativen Ausführungsformen die Liste sicherer Einstellungen auch eine oder mehrere Temperaturschwellen angeben (z. B. hinsichtlich der Temperatur bei oder nahe einer oder mehreren der Hardwareschaltungen). In solchen Ausführungsformen kann die Steuerschaltlogik Temperaturmessungen von einem oder mehreren Temperatursensoren im SOC erhalten und die Temperaturmessungen mit den Temperaturschwellen vergleichen. Auf diese Weise kann die Steuerschaltlogik auch basierend auf Temperatur entscheiden, ob eine bestimmte Einstellung sicher ist oder nicht. Zusätzlich oder alternativ kann, wenn eine oder mehrere der Hardwareschaltungen ihre Taktfrequenzen zusätzlich zu Betriebsspannungen anpassen, auch die Taktfrequenz als ein Parameter verwendet werden, der die Definition sicherer Einstellungen und die Entscheidungen der Steuerschaltlogik präzisiert.
  • Die offenbarten Techniken ermöglichen die Implementierung von hocheffizienten Niederleistungsmodi, die eine vollständige Abschaltung von Leistungsstufen beinhalten, ohne die Zuverlässigkeit zu beeinträchtigen. In einigen Ausführungsformen ist die offenbarte Steuerschaltlogik rein in Hardware implementiert, was die Lösung sowohl schnell als auch sicher gegen feindliche Angriffe macht.
  • Die offenbarten Techniken sind auch einfach zu implementieren, da sie nur grobkörnige Kenntnisse hinsichtlich der Betriebsspannungen der bedienten Hardwareschaltungen benötigen. Obwohl die Betriebsspannung nur eine grobe, indirekte Angabe („Proxy“) für den Leistungsverbrauch ist, stellen die hierin beschriebenen Verfahren und Systeme eine erhebliche Energieeinsparung bereit. Die offenbarten Techniken sind besonders wirksam bei der Verlängerung der Batterielebensdauer von Rechen- und Kommunikationsvorrichtungen in Nutzungsmustern mit niedriger Nutzung.
  • Systembeschreibung
  • 1 ist ein Blockdiagramm, das schematisch ein Rechensystem veranschaulicht, das als ein System-on-Chip (SOC) 10 implementiert wird, gemäß einer hierin beschriebenen Ausführungsform. Das SOC 10 ist mit einem Speicher 12 gekoppelt gezeigt. Wie durch den Namen impliziert, können die Komponenten des SOC 10 auf einem einzigen Halbleitersubstrat als ein „Chip“ einer integrierten Schaltung integriert sein. In manchen Ausführungsformen können die Komponenten auf zwei oder mehr diskreten Chips in einem System implementiert sein. Hierin wird jedoch das SOC 10 als ein Beispiel verwendet. In der veranschaulichten Ausführungsform schließen die Komponenten des SOC 10 eine Vielzahl von Prozessorclustern 14, eine Speichersteuerung (MC) 22, ein Kommunikations-Fabric 27 und optional eine oder mehrere Peripheriekomponenten (kürzer „Peripheriegeräte“ - in der Figur nicht gezeigt) ein. Die Prozessorcluster 14 und die MC 22 können alle mit dem Kommunikations-Fabric 27 gekoppelt sein.
  • Die Speichersteuerung 22 kann während der Verwendung mit dem Speicher 12 gekoppelt sein. In einigen Ausführungsformen kann mehr als eine Speichersteuerung vorhanden sein, die mit einem entsprechenden Speicher gekoppelt ist. Der Speicheradressraum kann auf jede gewünschte Weise über die Speichersteuerungen abgebildet werden. In der veranschaulichten Ausführungsform können die Prozessorcluster 14 jeweilige Vielzahlen von Prozessoren (P) 30 einschließen. Die Prozessoren 30 können die Zentralverarbeitungseinheiten (CPU(s)) des SOC 10 bilden. In einer Ausführungsform werden ein oder mehrere Prozessorcluster 14 möglicherweise nicht als CPUs verwendet.
  • Wie vorstehend erwähnt, können die Prozessorcluster 14 einen oder mehrere Prozessoren 30 einschließen, die als die CPU des SOC 10 dienen können. Die CPU des Systems schließt den einen oder die mehreren Prozessoren ein, welche die Hauptsteuersoftware des Systems, wie beispielsweise ein Betriebssystem, ausführen. Allgemein kann durch die CPU während der Verwendung ausgeführte Software die anderen Komponenten des Systems steuern, um die gewünschte Funktionalität des Systems zu verwirklichen. Die Prozessoren können auch andere Software ausführen, wie z. B. Anwendungsprogramme. Die Anwendungsprogramme können Benutzerfunktionalität bereitstellen, und sie können auf dem Betriebssystem aufbauen in Bezug auf Vorrichtungssteuerung unterer Ebene, Planung, Speichermanagement usw. Dementsprechend können die Prozessoren auch als Anwendungsprozessoren bezeichnet werden.
  • Allgemein kann ein Prozessor jede beliebige Schaltlogik und oder jeden beliebigen Mikrocode einschließen, die oder der konfiguriert ist, um Anweisungen auszuführen, die in einer durch den Prozessor implementierten Anweisungssatzarchitektur (ISA) definiert sind. Prozessoren können Prozessorkerne, die auf einer integrierten Schaltung mit anderen Komponenten als einem System auf einem Chip (SOC 10) implementiert sind, oder andere Ebenen der Integration einbeziehen. Prozessoren können ferner diskrete Mikroprozessoren umfassen, sowie Prozessorkerne und/oder Mikroprozessoren, die in Mehrfachchipmodul-Implementierungen integriert sind; Prozessoren, die als mehrere integrierte Schaltungen implementiert sind; usw.
  • Die Speichersteuerung 22 kann allgemein die Schaltlogik zum Empfangen von Speicheroperationen von den anderen Komponenten des SOC 10 und zum Zugreifen auf den Speicher 12 einschließen, um die Speicheroperationen durchzuführen. Die Speichersteuerung 22 kann konfiguriert sein, um auf jeden beliebigen Typ von Speicher 12 zuzugreifen. Beispielsweise kann der Speicher 12 statischer Direktzugriffsspeicher (SRAM), dynamischer RAM (DRAM), wie synchroner DRAM (SDRAM) einschließlich DRAM mit doppelter Datenrate (DDR, DDR2, DDR3, DDR4 usw.) sein. Versionen mit geringer Leistung/mobile Versionen des DDR-DRAM können unterstützt werden (z. B. LPDDR, mDDR usw.). Die Speichersteuerung 22 kann Warteschlangen für Speicheroperationen zum Ordnen (und potenziellen Umordnen) der Operationen und zum Vorlegen der Operationen an den Speicher 12 einschließen. Die Speichersteuerung 22 kann ferner Datenpuffer einschließen, um Schreibdaten, die auf ein Schreiben in den Speicher warten, und Lesedaten, die auf ein Zurückgeben an die Quelle der Speicheroperation warten, zu speichern. In einigen Ausführungsformen kann die Speichersteuerung 22 einen Speicher-Cache einschließen, um Speicherdaten zu speichern, auf die kürzlich zugegriffen wurde. In SOC-Implementierungen kann der Speicher-Cache zum Beispiel den Leistungsverbrauch im SOC verringern, indem ein erneuter Zugriff auf Daten aus dem Speicher 12 vermieden wird, wenn erwartet wird, dass bald erneut auf die Daten zugegriffen wird. In einigen Fällen kann der Speicher-Cache auch als ein System-Cache bezeichnet werden, im Gegensatz zu privaten Caches wie einem L2-Cache oder Caches in den Prozessoren, die nur für bestimmte Komponenten dienen. Zusätzlich muss sich in manchen Ausführungsformen ein System-Cache nicht innerhalb der Speichersteuerung 22 befinden.
  • Die Peripheriegeräte im SOC 10 können ein beliebiger Satz von in dem SOC eingeschlossener zusätzlicher Hardwarefunktionalität sein. Zum Beispiel können die Peripheriegeräte Videoperipheriegeräte, wie einen Bildsignalprozessor, der zum Verarbeiten von Bilderfassungsdaten von einer Kamera oder einem anderen Bildsensor konfiguriert ist, GPUs, Video-Encoder/-Decoder, Skalierer, Rotatoren, Mischer, Anzeigesteuerung usw. einschließen. Die Peripheriegeräte können Audioperipheriegeräte, wie Mikrofone, Lautsprecher, Schnittstellen für Mikrofone und Lautsprecher, Audioprozessoren, Digitalsignalprozessoren, Mischer usw. einschließen. Die Peripheriegeräte können Schnittstellensteuerungen für verschiedene Schnittstellen außerhalb des SOC 10 einschließen, einschließlich Schnittstellen, wie Universal Serial Bus (USB), Peripheral Component Interconnect (PCI), einschließlich PCI Express (PCIe), serielle und parallele Ports usw. Die Peripheriegeräte können Networking-Peripheriegeräte, wie Medienzugriffssteuerungen (MACs), einschließen. Jeder beliebige Satz von Hardware kann eingeschlossen sein.
  • Das Kommunikations-Fabric 27 kann ein beliebiges Kommunikations-Interconnect und -protokoll zum Kommunizieren zwischen den Komponenten des SOC 10 sein. Das Kommunikations-Fabric 27 kann busgestützt sein, einschließlich gemeinsam genutzter Buskonfigurationen, Crossbar-Konfigurationen und hierarchischen Bussen mit Brücken. Das Kommunikations-Fabric 27 kann auch paketgestützt sein und kann hierarchisch sein mit Brücken, Crossbar-, Punkt-zu-Punkt- oder anderen Interconnects.
  • Es ist zu beachten, dass die Anzahl von Komponenten des SOC 10 (und die Anzahl von Teilkomponenten für die in 1 gezeigten) wie etwa die Prozessoren 30 in jedem Prozessorcluster 14 von Ausführungsform zu Ausführungsform variieren kann. Zusätzlich kann sich die Anzahl von Prozessoren 30 in einem Prozessorcluster 14 von der Anzahl von Prozessoren 30 in einem anderen Prozessorcluster 14 unterscheiden. Es kann mehr oder weniger von jeder Komponente/Teilkomponente geben als die in 1 gezeigte Anzahl.
  • Sichere adaptive Aktivierung & Deaktivierung von Leistungsstufen
  • 2 ist ein Blockdiagramm, das schematisch eine Leistungsversorgung 40 veranschaulicht, die einem SOC 44 elektrische Leistung liefert, gemäß einer hierin beschriebenen Ausführungsform. Das SOC 44 kann zum Beispiel eine beispielhafte Implementierung des SOC 10 von 1 oben sein. Das SOC 44 kann in einem beliebigen geeigneten Host-System oder einer beliebigen geeigneten Vorrichtung verwendet werden, wie zum Beispiel einem Personal Computer, einem Tablet oder einem Smartphone.
  • Das SOC 44 schließt eine Vielzahl von Hardwareschaltungen ein, die unter Verwendung der offenbarten Techniken mit elektrischer Leistung versorgt werden. In dem vorliegenden Beispiel schließen die Hardwareschaltungen zwei CPUs 48, vier GPUs 52, zwei Apple Neural Engines (ANEs) 56 und ein Speicher-Interconnect-Fabric 60 ein. In einigen Ausführungsformen kann eine zusätzliche Hardwareschaltung 68 oder können mehrere zusätzliche Schaltungen 68 eingeschlossen sein. Alternativ kann das SOC jedoch beliebige andere geeignete Anzahlen von Hardwareschaltungen beliebiger geeigneter Art einschließen. Ein Leistungsmanager (PMGR) 80 führt verschiedene Leistungsverwaltungsaufgaben für das SOC 44 durch, wie nachstehend erläutert wird.
  • Die Leistungsversorgung 40 ist eine zweistufige Leistungsversorgung mit einer Primärstufe (auch als „Frontend-Stufe“ oder „Frontend-Leistungsversorgung“ bezeichnet) und einer Sekundärstufe. Die Primärstufe schließt einen Satz paralleler Leistungsstufen 84 (auch als „Phasen“ bezeichnet) ein, die jeweilige Teile der gesamten elektrischen Leistung erzeugen. Die Leistungsstufen 84 werden durch die Batteriespannung (bezeichnet als VBAT) des Host-Systems gespeist. Die Ausgänge der Leistungsstufen 84 werden über jeweilige Induktoren 88 zu einer einzelnen Spannungsschiene kombiniert, die als VDDH bezeichnet wird. Eine Frontend-Steuerung 96 steuert die Leistungsstufen 84 und aktiviert und deaktiviert gegebenenfalls insbesondere die Leistungsstufen. Die Steuerung 96 ist in der Lage, jede Leistungsstufe 84 einzeln, unabhängig von anderen Leistungsstufen, zu aktivieren und zu deaktivieren. Die Rolle der Steuerung 96 beim Implementieren der offenbarten Niederleistungsmodi wird nachstehend im Detail erläutert.
  • In verschiedenen Ausführungsformen ist die Batteriespannung (VBAT) mit einer beliebigen geeigneten Batterietechnologie kompatibel, und die Ausgangsspannung der Frontend-Stufe (VDDH) ist mit einem beliebigen geeigneten verwendeten Prozessknoten kompatibel. Jede Leistungsstufe 84 kann zum Beispiel in der Lage sein, einen Leistungspegel von mehreren Watt bis zu mehreren zig Watt abzugeben. In dem in 2 gezeigten Beispiel beträgt die Anzahl der Leistungsstufen 84 fünf. Diese Werte sind jedoch lediglich als nicht einschränkende Beispiele angegeben. Die Anzahl der Leistungsstufen und die Nennleistung einer einzelnen Leistungsstufe können auf beliebige gewünschte Werte eingestellt werden, z. B. abhängig von den Leistungsanforderungen des SOC 44. Darüber hinaus müssen die Leistungsstufen 24 nicht notwendigerweise die gleiche Nennleistung aufweisen. Zusätzlich oder alternativ können sich eine oder mehrere Leistungsstufen 24 innerhalb des SOC 44 befinden. Im Allgemeinen können die Leistungsstufen 24 nach Bedarf innerhalb und/oder außerhalb des SOC verteilt sein.
  • Die Sekundärstufe der Leistungsversorgung 40 schließt mehrere anpassbare Spannungsregler 92 ein, die von der einzelnen Spannungsschiene (d. h. durch VDDH) gespeist werden. Die Spannungsregler 92 sind konfiguriert, um anpassbare Betriebsspannungen an die Hardwareschaltungen (im vorliegenden Beispiel an CPUs 48, GPUs 52, ANEs 56 und das Fabric 60) bereitzustellen. In dem vorliegenden Beispiel wird jede Hardwareschaltung von einem jeweiligen Regler 92 bedient. Jede Hardwareschaltung kommuniziert mit ihrem jeweiligen Regler unter Verwendung des System-Power-Management-Interface-Protokolls (SPMI-Protokolls). In einer beispielhaften Ausführungsform beträgt die Anzahl der Regler fünf, und die Spannung jedes Reglers 92 ist in Schritten von 5 mV über den Bereich von 0,4-1,2 V anpassbar. Diese Werte sind jedoch lediglich als nicht einschränkende Beispiele angegeben. Jegliche anderen Konfigurationen, die beliebige andere geeignete numerische Werte aufweisen, können in alternativen Ausführungsformen verwendet werden. Der PMGR 80 im SOC 44 kommuniziert mit den Reglern 92 und mit der Frontend-Steuerung 96 unter Verwendung eines beliebigen geeigneten Protokolls oder beliebiger geeigneter Protokolle.
  • Der PMGR 80 und die Steuerung 96 werden daher in diesem Kontext zusammen als „Steuerschaltlogik“ bezeichnet, die die offenbarten Verfahren ausführt. Die Beschreibung hierin stellt eine bestimmte Aufgabenpartitionierung („Arbeitsteilung“) zwischen dem PMGR 80 und der Steuerung 96 rein beispielhaft dar. In alternativen Ausführungsformen kann die Steuerschaltlogik unter Verwendung einer beliebigen anderen geeigneten Konfiguration implementiert werden. In alternativen Ausführungsformen können beliebige andere geeignete Schnittstellen zwischen der Steuerung 96, dem PMGR 80, den Reglern 92 und den verschiedenen Hardwareschaltungen verwendet werden. Eine Möglichkeit ist GPIO.
  • In einigen Ausführungsformen unterstützt die Steuerschaltlogik einen Niederleistungsmodus, in dem nur eine einzige Leistungsstufe 84 aktiv ist und die anderen Leistungsstufen 84 deaktiviert sind. Dieser Modus wird auch als „einphasiger“ Modus bezeichnet. Um sicher in den und aus dem Niederleistungsmodus überzugehen, speichert der PMGR 80 eine Liste einer oder mehrerer sicherer Einstellungen 98. Jede sichere Einstellung spezifiziert eine Kombination von Betriebsspannungen (die den Hardwareschaltungen zugeführt werden), die mit nur einer einzigen aktiven Leistungsstufe 84 sicher bereitgestellt werden können.
  • Tabelle 1 unten stellt eine beispielhafte Liste sicherer Betriebsspannungseinstellungen bereit: Tabelle 1: Beispielhafte sichere Betriebsspannungseinstellungen
    Eintrag Nr. CPU Max. Andere CPUs GPU Max. ANE Max. FAB Andere
    0 v1 v1 v2 v3 v4 ...
    1 unbegrenzt v5 v2 0 v4 ...
    2 Unbegrenzt max. 0 0 v6 ...
    3 Unbegrenzt v7 0 0 unbegrenzt ...
    ... ...
    7 v8 v3 v9 0 v4 ...
  • In dem vorliegenden Beispiel schließt die Liste acht Einträge (Zeilen) ein. Jeder Eintrag spezifiziert eine jeweilige sichere Einstellung der Betriebsspannungen der Hardwareschaltungen. Die Spalte „CPU Max.“ spezifiziert die Betriebsspannung der CPU 48, die die höchste Spannung unter CPUs 48 empfängt. Die Spalte „Andere CPUs“ spezifiziert die Betriebsspannung der CPU 48, die die zweithöchste Spannung unter CPUs 48 empfängt (d. h. die maximale Spannung über alle anderen CPUs als die CPU, die in der Spalte „max. CPU“ auftritt). Die Spalte „GPU Max.“ spezifiziert die Betriebsspannung der GPU 52, die die höchste Spannung unter GPUs 52 empfängt. Die Spalte „ANE Max.“ spezifiziert die Betriebsspannung der ANE 56, die die höchste Spannung unter ANEs 56 empfängt. Die Spalte „FAB“ spezifiziert die Betriebsspannung des Fabrics 60. Die Spalte „Andere“ spezifiziert die Betriebsspannung einer zusätzlichen Schaltung 68.
  • Eine bestimmte Einstellung wird als „mit einem Eintrag übereinstimmend“ oder „mit einer der sicheren Einstellungen übereinstimmend“ angesehen, wenn jede Betriebsspannung in der Einstellung gleich oder kleiner als die entsprechende Betriebsspannung ist, die im Eintrag spezifiziert ist. Eine bestimmte Einstellung wird als sicher angesehen, wenn sie mit mindestens einem Eintrag übereinstimmt. Somit ist der PMGR 80 durch das Vergleichen einer bestimmten Einstellung von Betriebsspannungen mit der Liste sicherer Einstellungen in der Lage, zu entscheiden, ob die Einstellung für die Bereitstellung unter Verwendung des Niederleistungsmodus sicher ist oder nicht.
  • Es wird darauf hingewiesen, dass in einigen Ausführungsformen das SOC 44 Hardwareschaltungen einschließt, die nicht an den offenbarten Techniken beteiligt sind. Solche Hardwareschaltungen können zum Beispiel Hardwareschaltungen einschließen, die durch feste Spannungen gespeist werden.
  • 3 ist ein Blockdiagramm, das schematisch eine beispielhafte Schaltlogik 100 zum Abfragen der Liste sicherer Einstellungen 98 veranschaulicht, gemäß einer hierin beschriebenen Ausführungsform. Die Schaltlogik 100 kann zum Beispiel Teil des PMGR 80 im SOC 44 sein.
  • Oben links in der Figur sind die Betriebsspannungen veranschaulicht, die den verschiedenen Hardwareschaltungen zugeführt werden, die an den Betriebsspannungseinstellungen beteiligt sind, in dem vorliegenden Beispiel CPUs 48, GPUs 52, ANEs 56, das Fabric 60 und eine zusätzliche Schaltung 68. Die Schaltlogik oben links in der Figur schließt Folgendes ein:
    • ▪ Ein MAX-Block 104 gibt das Maximum unter den Betriebsspannungen von CPUs 48 aus. Dieser Wert wird mit der Spalte „CPU Max.“ der Liste 98 verglichen.
    • ▪ Ein MIN-Block 105 gibt das Minimum unter den Betriebsspannungen von CPUs 48 aus. Dieser Wert wird mit der Spalte „2. CPU“ der Liste 98 verglichen.
    • ▪ Ein MAX-Block 106 gibt das Maximum unter den Betriebsspannungen von GPUs 52 aus. Dieser Wert wird mit der Spalte „GPU Max.“ der Liste 98 verglichen.
    • ▪ Ein MAX-Block 107 gibt das Maximum unter den Betriebsspannungen von ANEs 52 aus. Dieser Wert wird mit der Spalte „ANE Max.“ der Liste 98 verglichen.
    • ▪ Die Betriebsspannungen des Fabrics 60 und der zusätzlichen Schaltung 68 werden ebenfalls zum Vergleich mit den Spalten „FAB“ bzw. „Andere“ der Liste 98 bereitgestellt.
  • In dem vorliegenden Beispiel wird jeder der sechs Werte oben unter Verwendung von acht Bits repräsentiert. Die sechs Werte werden durch ein Array von Komparatoren 108 verarbeitet. Jede Zeile in dem Array entspricht einer jeweiligen Zeile (Eintrag) der Liste sicherer Einstellungen 98.
  • In einer gegebenen Zeile vergleicht der am weitesten links befindliche Komparator 108 den vom Ausgang des MAX-Blocks 104 empfangenen Wert mit dem „CPU Max.“-Wert des jeweiligen Eintrags. Der nächste Komparator 108 vergleicht den vom Ausgang des MIN-Blocks 105 empfangenen Wert mit dem „2. CPU“-Wert des jeweiligen Eintrags. Der nächste Komparator 108 vergleicht den vom Ausgang des MAX-Blocks 106 empfangenen Wert mit dem „GPU Max.“-Wert des jeweiligen Eintrags. Der nächste Komparator 108 vergleicht den vom Ausgang des MAX-Blocks 107 empfangenen Wert mit dem „ANE Max.“-Wert des jeweiligen Eintrags. Die letzten zwei Komparatoren 108 (am weitesten rechts) vergleichen die Betriebsspannungen des Fabrics 60 und der zusätzlichen Schaltung 68 mit den „FAB“- bzw. „Andere“-Werten des jeweiligen Eintrags.
  • Somit gibt eine gegebene Zeile von Komparatoren insgesamt sechs Bits aus. Jede Zeile von Komparatoren ist mit einem jeweiligen UND-Gatter 112 assoziiert, das das logische UND der sechs Bits ausgibt. Eine logische „1“ am Ausgang eines gegebenen UND-Gatters 112 gibt an, dass die evaluierte Einstellung mit dem jeweiligen Eintrag (Zeile) der Liste 98 übereinstimmt, und umgekehrt. Ein ODER-Gatter 116 gibt das logische ODER der Ausgänge der UND-Gatter 112 aus. Daher gibt eine logische „1“ am Ausgang des ODER-Gatters 116 an, dass die evaluierte Einstellung mit mindestens einem Eintrag der Liste 98 übereinstimmt. Mit anderen Worten gibt eine logische „1“ am Ausgang des ODER-Gatters 116 an, dass die evaluierte Einstellung sicher ist.
  • In einigen Ausführungsformen verwendet der PMGR 80 die Schaltlogik 100, um zu evaluieren, ob verschiedene Betriebsspannungseinstellungen für die Bereitstellung unter Verwendung des einphasigen Niederleistungsmodus sicher oder unsicher sind. In alternativen Ausführungsformen kann der PMGR 80 für diesen Zweck eine beliebige andere geeignete Schaltlogik verwenden. In einer Ausführungsform evaluiert der PMGR die Übereinstimmung als Reaktion auf jede Anforderung von einer Hardwareschaltung zum Anpassen ihrer Betriebsspannung erneut. In einer alternativen Ausführungsform evaluiert der PMGR die Übereinstimmung nur als Reaktion auf Anforderungen, die Betriebsspannung zu erhöhen, erneut.
  • 4 ist ein Diagramm, das schematisch eine endliche Zustandsmaschine (FSM) zum Übergang zwischen einem Niederleistungsmodus (Einzelphasenmodus) und einem Normalmodus (Allphasenmodus) veranschaulicht, gemäß einer hierin beschriebenen Ausführungsform. In einigen Ausführungsformen wird eine FSM dieser Art durch die Steuerschaltlogik ausgeführt. Im vorliegenden Beispiel wird die FSM durch den PMGR 80 ausgeführt und unter anderem verwendet, um die Steuerung 96 anzuweisen, ob alle Leistungsstufen 84 oder nur eine einzige Leistungsstufe aktiviert werden sollen.
  • Die FSM von 4 empfängt zwei Signaleingänge:
    • ▪ Ein Registerbit, bezeichnet als „aktiviert“, das gesetzt wird, wenn die FSM betriebsbereit sein soll.
    • ▪ Das von der Schaltlogik 100 von 3 erzeugte „Übereinstimmung“-Signal, das angibt, ob das Übereinstimmungskriterium erfüllt ist (d. h. ob die aktuelle Einstellung von Betriebsspannungen für die Bereitstellung unter Verwendung nur einer einzelnen Leistungsstufe sicher ist).
  • Im vorliegenden Beispiel schließt die FSM insgesamt sieben Zustände ein. Zwei stabile Hauptzustände sind ein „Allphasen“-Zustand („All-ϕ“-Zustand) 120, in dem die Steuerung 96 alle Leistungsstufen 84 aktiv hält, und ein „Einphasen“-Zustand („1ϕ-Zustand) 124, in dem die Steuerung 96 nur eine einzige Leistungsstufe 84 aktiv hält.
  • Wenn sich die FSM in dem Allphasen-Zustand 120 befindet und die Übereinstimmungskriterien erfüllt sind, aktiviert der PMGR 80 einen konfigurierbaren Timer (z. B. einen Timer von etwa 1 ms) und überführt die FSM in einen „Timer-aktiviert“-Zustand 140. Der Timer wird weiterhin gezählt, selbst wenn neue Spannungsänderungsanforderungen von Hardwareschaltungen eingehen, solange die Übereinstimmungskriterien erfüllt sind. In diesem Zustand sind alle Spannungsänderungsanforderungen zugelassen, und der PMGR 80 passt die Regler 92 (2) entsprechend an.
  • Wenn eine neue Spannungsänderungsanforderung von einer der Hardwareschaltungen das Übereinstimmungssignal deaktiviert, stoppt der PMGR den Timer, und die FSM kehrt in den Allphasen-Zustand 120 zurück. Wenn der Timer abläuft, beginnt der PMGR 80 mit einem gesteuerten Prozess des Überführens der Steuerung 96 (und der Leistungsversorgung im Allgemeinen) in den Niederleistungsmodus, d. h. in den Einphasen-Zustand 124. (In einigen Ausführungsformen hat externe Software die Fähigkeit, die Timer-Zählung zu verkürzen, um einen sofortigen Übergang von dem Zustand 140 in den Zustand 144 zu erzwingen.)
  • Nach Ablauf (oder Verkürzung) des Timers sendet der PMGR in einem Einphasen-Befehlsausgabe-Zustand 144 einen SPMI-Befehl an die Steuerung 96, der die Steuerung 96 zum Deaktivieren aller bis auf eine Leistungsstufe 84 anweist. Die FSM geht in einen Einphasen-Wait-Ack-Zustand 148 über, in dem der PMGR auf die Steuerung 96 wartet, die Deaktivierung zu bestätigen. Beim Empfangen einer SPMI-Bestätigung überführt der PMGR 80 die FSM an den Einphasen-Zustand 124.
  • Die FSM verlässt den Einphasen-Zustand 124 entweder, wenn das Übereinstimmungssignal deaktiviert wird (d. h. wenn die aktuelle Einstellung der Betriebsspannungen für den Einphasenmodus unsicher wird) oder wenn die FSM deaktiviert ist.
  • Beim Verlassen des Einphasen-Zustands 124 beginnt der PMGR 80 einen gesteuerten Prozess des Überführens der Steuerung 96 (und der Leistungsversorgung als Ganzes) in den Allphasen-Zustand 120. In einem Allphasen-Befehlsausgabe-Zustand 152 sendet der PMGR einen SPMI-Befehl an die Steuerung 96, der die Steuerung 96 anweist, alle Leistungsstufen 84 zu aktivieren. Die FSM geht in einen Allphasen-Wait-Ack-Zustand 156 über, in dem der PMGR auf die Steuerung 96 wartet, die Aktivierung zu bestätigen. Beim Empfangen einer SPMI-Bestätigung überführt der PMGR 80 die FSM an den Allphasen-Zustand 120.
  • In einigen Ausführungsformen wird als Sicherheitsmaßnahme die Einstellung des „Aktivieren“-Bits durch externe Software nur in dem Allphasen-Zustand 120 an die Hardware widergespiegelt und bleibt stabil. Dieser Mechanismus garantiert, dass, wann auch immer die Software die FSM deaktiviert, die Deaktivierungsangabe gültig bleibt, bis die FSM in den Allphasen-Zustand 120 zurückkehrt, selbst wenn die Software die FSM, bei einer Stufe nach dem Deaktivieren, während des FSM-Übergangs erneut aktiviert.
  • Wie in 4 zu sehen ist, teilt eine Linie 128 den Zustandsraum in zwei Gebiete, bezeichnet als ein Nichtüberwachungsgebiet 132 und ein Überwachungsgebiet 136. In einigen Ausführungsformen überwacht der PMGR 80, wenn sich die FSM im Überwachungsgebiet 136 befindet, neue Spannungsänderungsanforderungen von Hardwareschaltungen und blockiert eine Spannungsänderungsanforderung, wenn die Anforderung bewirkt, dass die neue Einstellung unsicher ist. Der PMGR bedient die Anforderung (d. h. passt den oder die geeigneten Regler 92 an) erst, nachdem die FSM erfolgreich die Linie 128 überquert hat (d. h. in den Allphasen-Zustand 120 übergegangen ist). Wenn sich die FSM im Nichtüberwachungsgebiet 132 befindet, unterlässt der PMGR 80 die Überwachung und Blockierung neuer Spannungsänderungsanforderungen, unabhängig davon, ob das Übereinstimmungskriterium erfüllt ist oder nicht. Dieser Mechanismus beseitigt eine unnötige Latenz beim Reagieren auf Spannungsänderungsanforderungen während des Betriebs im Allphasenmodus.
  • Zusätzliche Ausführungsformen und Variationen
  • In einer alternativen Ausführungsform besteht ein einfacherer Mechanismus, statt der Verwendung einer Liste sicherer Einstellungen 98, darin, eine Ein-Bit-Angabe von „sicher/unsicher“ für jede Hardwareschaltung zu definieren. Zum Beispiel kann die Steuerschaltlogik ein „sicher/unsicher“-Bit für jede Hardwareschaltung empfangen oder erzeugen, z. B. abhängig von der aktuellen Spannung und/oder Taktfrequenz dieser Schaltung. Wenn alle „sicher/unsicher“-Bits „sicher“ angeben, dann wendet die Steuerschaltlogik den Niederleistungsmodus an. Wenn ein oder mehrere „sicher/unsicher“-Bits „unsicher“ angeben, kehrt die Steuerschaltlogik in den Normalmodus (Allphasenmodus) zurück.
  • Noch eine andere Möglichkeit besteht darin, unabhängig von Betriebsspannungen zu entscheiden und zwischen dem Niederleistungsmodus (Einphasenmodus) und dem Normalmodus (Allphasenmodus) alleinig basierend auf der Temperatur zu schalten.
  • Obwohl die hierin beschriebenen Ausführungsformen hauptsächlich die Deaktivierung von Leistungsstufen in einer Frontend-Leistungsversorgung eines SOC ansprechen, können die hierin beschriebenen Verfahren und Systeme auch in einem beliebigen anderen System oder einer beliebigen anderen Anwendung verwendet werden, das bzw. die eine Vielzahl von Leistungsstufen verwendet.
  • 5 ist ein Blockdiagramm, das schematisch ein System 700 gemäß einer hierin beschriebenen Ausführungsform veranschaulicht. In der veranschaulichten Ausführungsform schließt das System 700 mindestens eine Instanz eines System-on-a-Chip (SOC) 10 ein, welches mit einem oder mehreren Peripheriegeräten 704 und einem externen Speicher 702 gekoppelt ist. Es wird eine Leistungsversorgung (PMU) 708 bereitgestellt, die dem SOC 10 Versorgungsspannungen sowie dem Speicher 702 und/oder den Peripheriegeräten 154 eine oder mehrere Versorgungsspannungen zuführt. In einigen Ausführungsformen kann mehr als eine Instanz des SOC 10 (z. B. die SOCs 10A-10q) eingeschlossen sein (und es kann auch mehr als ein Speicher 702 eingeschlossen sein).
  • Die Peripheriegeräte 704 können abhängig von dem Typ des Systems 700 eine beliebige gewünschte Schaltlogik einschließen. Zum Beispiel kann in einer Ausführungsform das System 704 eine mobile Vorrichtung (z. B. ein persönlicher digitaler Assistent (PDA), ein Smartphone usw.) sein, und die Peripheriegeräte 704 können Vorrichtungen für verschiedene Typen von drahtloser Kommunikation, wie WiFi, Bluetooth, Mobilfunk, globales Positionsbestimmungssystem usw., einschließen. Die Peripheriegeräte 704 können auch eine zusätzliche Speicherung, einschließlich einer RAM-Speicherung, Solid-State-Speicherung oder Plattenspeicherung, einschließen. Die Peripheriegeräte 704 können Benutzerschnittstellenvorrichtungen, wie einen Anzeigebildschirm, einschließlich Berührungsanzeigebildschirmen oder Mehrfachberührungsanzeigebildschirmen, Tastatur- oder anderer Eingabevorrichtungen, Mikrofonen, Lautsprechern usw., einschließen. In anderen Ausführungsformen kann das System 700 ein beliebiger Typ von Rechensystem (z. B. Desktop-Personal-Computer, Laptop, Arbeitsstation, Nettop usw.) sein.
  • Der externe Speicher 702 kann eine beliebige Art von Speicher einschließen. Zum Beispiel kann der externe Speicher 702 SRAM, dynamischer RAM (DRAM), wie synchroner DRAM (SDRAM), SDRAM mit doppelter Datenrate (DDR, DDR2, DDR3 usw.), RAMBUS-DRAM, Niederleistungsversionen des DDR-DRAM (z. B. LPDDR, mDDR usw.) usw. sein. Der externe Speicher 702 kann ein oder mehrere Speichermodule einschließen, an denen die Speichervorrichtungen gemountet sind, wie einzelne Inline-Speichermodule (SIMMs), doppelte Inline-Speichermodule (DIMMs) usw. Alternativ kann der externe Speicher 702 eine oder mehrere Speichervorrichtungen einschließen, die an dem SOC 10 in einer Chip-on-Chip- oder Package-on-Package-Implementierung gemountet sind.
  • Wie veranschaulicht, ist das System 700 derart gezeigt, dass es Anwendung in einem breiten Spektrum von Bereichen findet. Zum Beispiel kann das System 700 als Teil der Chips, Schaltlogik, Komponenten usw. eines Desktop-Computers 710, Laptop-Computers 720, Tablet-Computers 730, Funk- oder Mobiltelefons 740 oder Fernsehgeräts 750 (oder einer Set-Top-Box, die mit einem Fernsehgerät gekoppelt ist) genutzt werden. Ebenfalls veranschaulicht sind eine Smartwatch und eine Gesundheitsüberwachungsvorrichtung 760. In einigen Ausführungsformen kann eine Smartwatch eine Vielfalt von universalrechnenbezogenen Funktionen einschließen. Zum Beispiel kann eine Smartwatch Zugriff auf E-Mail, einen Mobiltelefondienst, einen Benutzerkalender und so weiter bereitstellen. In verschiedenen Ausführungsformen kann eine Gesundheitsüberwachungsvorrichtung eine dedizierte medizinische Vorrichtung sein oder anderweitig eine dedizierte gesundheitsbezogene Funktionalität einschließen. Zum Beispiel kann eine Gesundheitsüberwachungsvorrichtung die Vitalparameter eines Benutzers überwachen, die Nähe eines Benutzers zu anderen Benutzern zum Zweck der epidemiologischen Abstandswahrung, Kontaktverfolgung verfolgen, die Kommunikation im Fall einer Gesundheitsnotlage an einen Notfalldienst bereitstellen und so weiter. In verschiedenen Ausführungsformen kann die vorstehend erwähnte Smartwatch einige oder keine gesundheitsüberwachungsbezogenen Funktionen einschließen. Andere am Körper tragbare Vorrichtungen werden ebenfalls in Betracht gezogen, wie Vorrichtungen, die um den Hals getragen werden, Vorrichtungen, die im menschlichen Körper implantierbar sind, Brillen, die dazu ausgelegt sind, eine Erfahrung einer erweiterten und/oder virtuellen Realität bereitzustellen, und so weiter.
  • Das System 700 kann ferner als Teil eines Cloud-basierten Dienstes/von Cloud-basierten Diensten 770 verwendet werden. Zum Beispiel können die zuvor erwähnten Vorrichtungen und/oder andere Vorrichtungen auf Rechenressourcen in der Cloud (d. h. entfernt angeordnete Hardware- und/oder Softwareressourcen) zugreifen. Ferner noch kann das System 700 in einer oder mehreren anderen Haushaltsvorrichtungen als den zuvor erwähnten genutzt werden. Zum Beispiel können Geräte innerhalb der Wohnung Zustände überwachen und detektieren, die Aufmerksamkeit erfordern. Zum Beispiel können verschiedene Vorrichtungen innerhalb der Wohnung (z. B. ein Kühlschrank, ein Kühlsystem usw.) den Status der Vorrichtung überwachen und eine Warnung an den Wohnungseigentümer (oder zum Beispiel eine Reparatureinrichtung) bereitstellen, sollte ein bestimmtes Ereignis detektiert werden. Alternativ kann ein Thermostat die Temperatur in der Wohnung überwachen und kann Einstellungen eines Heiz-/Kühlsystems basierend auf einem Verlauf von Reaktionen auf verschiedene Zustände durch den Wohnungseigentümer automatisieren. Ebenfalls in 5 veranschaulicht ist die Anwendung des Systems 700 auf verschiedene Transportmittel. Zum Beispiel kann das System 700 in den Steuer- und/oder Unterhaltungssystemen von Flugzeugen, Zügen, Bussen, Mietautos, Personenkraftwagen, Wasserfahrzeugen, von Privatbooten bis zu Kreuzfahrtschiffen, (Miet- oder eigenen) Rollern und so weiter verwendet werden. In verschiedenen Fällen kann das System 700 verwendet werden, um eine automatisierte Führung (z. B. selbstfahrende Fahrzeuge), eine allgemeine Systemsteuerung und etwas anderes bereitzustellen. Diese beliebigen vielen anderen Ausführungsformen sind möglich und werden in Betracht gezogen. Es wird darauf hingewiesen, dass die in 5 veranschaulichten Vorrichtungen und Anwendungen nur veranschaulichend sind und nicht einschränkend sein sollen. Andere Vorrichtungen sind möglich und werden in Betracht gezogen.
  • 6 ist ein Blockdiagramm, das schematisch ein computerlesbares Speichermedium 800 gemäß einer hierin beschriebenen Ausführungsform veranschaulicht. 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 ferner flüchtige oder nichtflüchtige Speichermedien, wie RAM (z. B. synchronen dynamischen RAM (SDRAM), Rambus-DRAM (RDRAM), statischen RAM (SRAM) usw.), ROM oder Flash-Speicher, einschließen. 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 einen drahtlosen Link wie 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 800 Daten in einer nicht-transitorischen Weise speichern, wobei sich nicht-transitorisch in diesem Kontext darauf beziehen kann, dass die Anweisungen/ Daten nicht auf einem Signal übertragen werden. Beispielsweise kann die nicht-transitorische Speicherung flüchtig sein (und die gespeicherten Anweisungen/Daten als Reaktion auf ein Herunterfahren verlieren), oder sie kann nichtflüchtig sein.
  • Das computerzugängliche Speichermedium 800 in 6 kann eine Datenbank 804 speichern, die für das SOC 10 repräsentativ ist. Allgemein kann die Datenbank 804 eine Datenbank sein, welche durch ein Programm gelesen und direkt oder indirekt verwendet werden kann, um die Hardware herzustellen, die das SOC 10 umfasst. Zum Beispiel kann die Datenbank eine Beschreibung auf Verhaltensebene oder eine Beschreibung auf Register-Transfer-Ebene (RTL) der Hardwarefunktionalität in einer Sprache für ein Design auf hoher Ebene (HDL), wie 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 einschließt. Die Netzliste schließt einen Satz von Gattern ein, welche auch die Funktionalität der Hardware repräsentieren, die das SOC 10 einschließt. 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 Halbleiter-Fabrikationsschritten verwendet werden, um eine Halbleiterschaltung oder Halbleiterschaltungen herzustellen, die dem SOC 10 entsprechen. Alternativ kann die Datenbank 804 auf dem computerzugänglichen Speichermedium 800 wie gewünscht die Netzliste (mit der oder ohne die Synthesebibliothek) oder der Datensatz sein.
  • Während das computerzugängliche Speichermedium 800 eine Repräsentation des SOC 10 speichert, können andere Ausführungsformen je nach Wunsch eine Repräsentation eines beliebigen Abschnitts des SOC 10 einschließlich einer beliebigen Teilmenge der in 2 gezeigten Komponenten, beinhalten. Die Datenbank 804 kann einen beliebigen Abschnitt des Vorstehenden repräsentieren.
  • Die vorliegende Offenbarung schließt Bezugnahmen auf „eine“ Ausführungsform oder Gruppen von „Ausführungsformen“ (z. B. „einige Ausführungsformen“ oder „verschiedene Ausführungsformen“) ein. Ausführungsformen sind verschiedene Implementierungen oder Instanzen der offenbarten Konzepte. Bezugnahmen auf „Ausführungsform“, „eine Ausführungsform“, „eine bestimmte Ausführungsform“ und dergleichen beziehen sich nicht notwendigerweise auf die gleiche Ausführungsform. Eine große Anzahl möglicher Ausführungsformen wird in Betracht gezogen, einschließlich der speziell offenbarten, sowie Modifikationen oder Alternativen, die in das Wesen oder den Schutzumfang der Offenbarung fallen.
  • Diese Offenbarung kann potenzielle Vorteile erörtern, die sich aus den offenbarten Ausführungsformen ergeben können. Nicht alle Implementierungen dieser Ausführungsformen weisen notwendigerweise beliebige oder alle potenziellen Vorteile auf. Ob ein Vorteil für eine bestimmte Implementierung erreicht wird, hängt von vielen Faktoren ab, von denen einige außerhalb des Schutzumfangs dieser Offenbarung liegen. Tatsächlich gibt es eine Reihe von Gründen dafür, warum eine Implementierung, die innerhalb des Schutzumfangs der Ansprüche fällt, möglicherweise einige oder alle der offenbarten Vorteile nicht aufweist. Zum Beispiel könnte eine bestimmte Implementierung eine andere Schaltlogik außerhalb des Schutzumfangs der Offenbarung einschließen, die in Verbindung mit einer der offenbarten Ausführungsformen einen oder mehrere der offenbarten Vorteile aufhebt oder verringert. Des Weiteren könnte auch eine suboptimale Designausführung einer bestimmten Implementierung (z. B. Implementierungstechniken oder -werkzeuge) offenbarte Vorteile aufheben oder verringern. Selbst unter der Annahme einer qualifizierten Implementierung kann die Erreichung von Vorteilen weiterhin von anderen Faktoren, wie den Umgebungsumständen, in denen die Implementierung bereitgestellt wird, abhängen. Zum Beispiel können Eingaben, die einer bestimmten Implementierung bereitgestellt werden, verhindern, dass ein oder mehrere Probleme, die in dieser Offenbarung behandelt werden, bei einer bestimmten Gelegenheit auftreten, wodurch der Vorteil seiner Lösung möglicherweise nicht erreicht wird. Aufgrund des Vorhandenseins möglicher Faktoren außerhalb dieser Offenbarung ist es ausdrücklich beabsichtigt, dass alle hierin beschriebenen potenziellen Vorteile nicht als Anspruchseinschränkungen ausgelegt werden sollen, die erfüllt werden müssen, um eine Verletzung nachzuweisen. Vielmehr soll die Identifizierung solcher potenziellen Vorteile den Typ/die Typen von Verbesserung veranschaulichen, der/die für Designer verfügbar sind, die den Nutzen dieser Offenbarung haben. Dass solche Vorteile in einem erlaubenden Sinn beschrieben werden (z. B. unter der Angabe, dass ein bestimmter Vorteil „auftreten kann“), soll keinen Zweifel daran vermitteln, ob solche Vorteile tatsächlich erreicht werden können, sondern es soll stattdessen die technische Realität anerkannt werden, dass die Erreichung solcher Vorteile häufig von zusätzlichen Faktoren abhängt.
  • Sofern nicht anders angegeben, sind Ausführungsformen nicht einschränkend. Das heißt, dass die offenbarten Ausführungsformen den Schutzumfang von Ansprüchen, die basierend auf dieser Offenbarung formuliert werden, nicht einschränken sollen, selbst wenn nur ein einzelnes Beispiel in Bezug auf ein bestimmtes Merkmal beschrieben wird. Die offenbarten Ausführungsformen sollen veranschaulichend und nicht einschränkend sein, sofern in der Offenbarung keine gegenteiligen Aussagen vorhanden sind. Die Anmeldung soll es somit ermöglichen, dass Ansprüche offenbarte Ausführungsformen sowie die Alternativen, Modifikationen und Äquivalente, die für den Fachmann, der den Nutzen dieser Offenbarung hat, offensichtlich sind, abdecken.
  • Zum Beispiel können Merkmale in dieser Anmeldung auf jede geeignete Weise kombiniert werden. Dementsprechend können während der Weiterverfolgung dieser Anmeldung (oder einer Anmeldung, welche die Priorität dieser beansprucht) neue Ansprüche auf eine beliebige solche Kombination von Merkmalen formuliert werden. Insbesondere können unter Bezugnahme auf die beiliegenden Ansprüche Merkmale aus abhängigen Ansprüchen mit denen anderer abhängiger Ansprüche kombiniert werden, wo dies geeignet ist, einschließlich Ansprüchen, die von anderen unabhängigen Ansprüchen abhängen. In ähnlicher Weise können Merkmale aus jeweiligen unabhängigen Ansprüchen, wo dies geeignet ist, kombiniert werden.
  • Während die beiliegenden abhängigen Ansprüche derart formuliert sein können, dass jeder von einem einzigen anderen Anspruch abhängt, werden entsprechend auch zusätzliche Abhängigkeiten in Betracht gezogen. Alle Kombinationen von Merkmalen im abhängigen, die mit dieser Offenbarung übereinstimmen, werden in Betracht gezogen und können in dieser oder einer anderen Anmeldung beansprucht werden. Zusammengefasst sind Kombinationen nicht auf diejenigen beschränkt, die in den beiliegenden Ansprüchen speziell aufgezählt sind.
  • Gegebenenfalls wird auch in Betracht gezogen, dass Ansprüche, die in einem Format oder einem statutarischen Typ formuliert sind (z. B. Einrichtung) entsprechende Ansprüche in einem anderen Format oder statutarischen Typ (z. B. Verfahren) unterstützen sollen.
  • Da diese Offenbarung ein rechtliches Dokument ist, können verschiedene Begriffe und Phrasen einer behördlichen und rechtlichen Auslegung unterliegen. Es wird hiermit bekannt gemacht, dass die folgenden Absätze sowie Definitionen, die in der gesamten Offenbarung bereitgestellt werden, beim Bestimmen, wie basierend auf dieser Offenbarung formulierte Ansprüche auszulegen sind, verwendet werden sollen.
  • Bezugnahmen auf eine Singularform eines Elements (d. h. ein Substantiv oder eine Nominalphrase, vor dem/der ein „ein/e/r“ oder „der/die/das“ steht) sollen, sofern der Kontext nicht eindeutig etwas anderes vorschreibt, „ein/e/r oder mehrere“ bedeuten. Eine Bezugnahme auf „ein Element“ in einem Anspruch schließt somit ohne einen Begleitkontext keine zusätzlichen Instanzen des Elements aus. Eine „Vielzahl“ von Elementen bezieht sich auf einen Satz von zwei oder mehr der Elemente.
  • Das Wort „kann/können“ wird hierin in einem erlaubenden Sinn (d. h. das Potenzial aufweisend, in der Lage sein) und nicht in einem obligatorischen Sinn (d. h. muss/ müssen) verwendet.
  • Die Begriffe „umfassend“ und „einschließlich“ und Formen davon sind offen und bedeuten „einschließlich, ohne darauf beschränkt zu sein“.
  • Wenn der Begriff „oder“ in dieser Offenbarung in Bezug auf eine Liste von Optionen verwendet wird, wird er im Allgemeinen derart verstanden, dass er in dem einschließenden Sinn verwendet wird, sofern nicht der Kontext etwas anderes vorsieht. Somit ist eine Angabe von „x oder y“ äquivalent zu „x oder y oder beide“ und deckt somit 1) x, aber nicht y, 2) y, aber nicht x, und 3) sowohl x als auch y ab. Andererseits macht eine Phrase, wie „entweder x oder y, aber nicht beide“ deutlich, dass „oder“ im exklusiven Sinn verwendet wird.
  • Eine Angabe von „w, x, y oder z oder eine beliebige Kombination davon“ oder „mindestens eines von ... w, x, y und z“ soll alle Möglichkeiten abdecken, die ein einzelnes Element bis zur Gesamtanzahl von Elementen im Satz beinhalten. Bei dem Satz [w, x, y, z] decken diese Phrasen zum Beispiel jedes einzelne Element des Satzes (z. B. w, aber nicht x, y oder z), beliebige zwei Elemente (z. B. w und x, aber nicht y oder z), beliebige drei Elemente (z. B. w, x und y, aber nicht z) und alle vier Elemente ab. Die Phrase „mindestens eines von ... x, y und z“ bezieht sich somit auf mindestens ein Element des Satzes [w, x, y, z], wodurch alle möglichen Kombinationen in dieser Liste von Elementen abgedeckt werden. Diese Phrase darf nicht derart ausgelegt werden, dass es erforderlich ist, dass mindestens eine Instanz von w, mindestens eine Instanz von x, mindestens eine Instanz von y und mindestens eine Instanz von z vorhanden sind.
  • Verschiedene „Kennzeichnungen“ können in dieser Offenbarung vor Substantiven oder Substantivphrasen stehen. Sofern nicht der Kontext etwas anderes vorsieht, beziehen sich verschiedene Kennzeichnungen, die für ein Merkmal (z. B. „erste Schaltung“, „zweite Schaltung“, „bestimmte Schaltung“, „gegebene Schaltung“ usw.) verwendet werden, auf verschiedene Instanzen des Merkmals. Zusätzlich implizieren die Kennzeichnungen „erste/r/s“, „zweite/r/s“ und „dritte/r/s“, wenn sie auf ein Merkmal angewendet werden, keinen Typ von Sortierung (z. B. räumlich, zeitlich, logisch usw.), sofern nicht anders angegeben.
  • Die Phrase „basierend auf/auf der Grundlage von“ oder wird verwendet, um einen oder mehrere Faktoren zu beschreiben, die eine Bestimmung beeinflussen. Dieser Begriff 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 Phrase „A basierend auf B bestimmen“. Diese Phrase gibt an, dass B ein Faktor ist, der verwendet wird, um A zu bestimmen, oder der die Bestimmung von A beeinflusst. Diese Phrase schließt nicht aus, dass die Bestimmung von A auch auf einem anderen Faktor, wie C, basieren kann. Diese Phrase soll auch eine Ausführungsform abdecken, in der A ausschließlich basierend auf B bestimmt wird. Wie hierin verwendet, ist die Phrase „basierend auf/auf der Grundlage von“ gleichbedeutend mit der Phrase „basierend mindestens teilweise auf“.
  • Die Phrasen „als Reaktion auf“ und „in Reaktion auf“ beschreiben einen oder mehrere Faktoren, die eine Wirkung auslösen. Diese Phrase schließt nicht die Möglichkeit aus, dass zusätzliche Faktoren die Wirkung beeinflussen oder anderweitig auslösen können, entweder gemeinsam mit den angegebenen Faktoren oder unabhängig von den angegebenen Faktoren. Das heißt, eine Wirkung kann ausschließlich als Reaktion auf diese Faktoren erfolgen oder kann als Reaktion auf die angegebenen Faktoren sowie andere, nicht angegebene Faktoren erfolgen. Man betrachte die Phrase „A als Reaktion auf B durchführen“. Diese Phrase gibt an, dass B ein Faktor ist, der die Durchführung von A auslöst oder der ein bestimmtes Ergebnis für A auslöst. Diese Phrase schließt nicht aus, dass ein Durchführen von A auch als Reaktion auf einen anderen Faktor, wie C, erfolgen kann. Diese Phrase schließt auch nicht aus, dass ein Durchführen von A als Reaktion auf B und C gemeinsam erfolgen kann. Diese Phrase soll auch eine Ausführungsform abdecken, in der A ausschließlich basierend auf B durchgeführt wird. Wie hierin verwendet, ist die Phrase „basierend auf” gleichbedeutend mit der Phrase „basierend mindestens teilweise auf”. In ähnlicher Weise ist die Phrase „als Reaktion auf“ gleichbedeutend mit der Phrase „mindestens teilweise als Reaktion auf“.
  • Innerhalb dieser Offenbarung können unterschiedliche Entitäten (die verschiedentlich als „Einheiten“, „Schaltungen“, andere Komponenten usw. bezeichnet werden können) als „konfiguriert“, um eine oder mehrere Aufgaben oder Operationen durchzuführen, beschrieben oder beansprucht werden. Diese Formulierung - [Entität], die konfiguriert ist, um [eine oder mehrere Aufgaben durchzuführen] - wird hierin verwendet, um sich auf eine Struktur (d. h. etwas Physisches) zu beziehen. Insbesondere wird diese Formulierung verwendet, um anzugeben, dass diese Struktur angeordnet ist, um die eine oder die mehreren Aufgaben während des Betriebs durchzuführen. Eine Struktur kann als „konfiguriert, um“ eine Aufgabe durchzuführen, bezeichnet werden, selbst wenn die Struktur aktuell nicht betrieben wird. Somit bezieht sich eine Entität, die als „konfiguriert, um“ eine Aufgabe durchzuführen, beschrieben oder angegeben wird, auf etwas Physisches, wie eine Vorrichtung, eine Schaltung, ein System mit einer Prozessoreinheit und einen Speicher, der Programmanweisungen speichert, die ausführbar sind, um die Aufgabe zu implementieren, usw. Diese Phrase wird hierin nicht verwendet, um auf etwas nicht Greifbares Bezug zu nehmen.
  • In einigen Fällen können verschiedene Einheiten/Schaltungen/Komponenten hierin dahin gehend beschrieben werden, dass sie einen Satz von Aufgaben oder Operationen durchführen. Es versteht sich, dass diese Entitäten „konfiguriert sind, um“ diese Aufgaben/ Operationen durchzuführen, selbst wenn dies nicht spezifisch angegeben ist.
  • Der Begriff „konfiguriert, um“ soll nicht „konfigurierbar, um“ bedeuten. Ein unprogrammiertes FPGA würde zum Beispiel nicht als „konfiguriert, um“ eine bestimmte Funktion durchzuführen betrachtet werden. Dieses unprogrammierte FPGA kann jedoch „konfigurierbar, um“ diese Funktion durchzuführen, sein. Nach geeigneter Programmierung kann das FPGA dann als „konfiguriert, um“ die bestimmte Funktion durchzuführen, bezeichnet werden.
  • Für Zwecke von US-Patentanmeldungen basierend auf dieser Offenbarung soll sich in einem Anspruch, dass eine Struktur „konfiguriert, um“ eine oder mehrere Aufgaben durchzuführen, ist, ausdrücklich nicht auf die Anwendung von 35 U.S.C. § 112(f) für dieses Anspruchselement berufen werden. Wenn sich der Anmelder während des Erteilungsverfahrens einer US-Patentanmeldung basierend auf dieser Offenbarung auf die Anwendung von Abschnitt 112(f) berufen möchte, gibt er Anspruchselemente unter Verwendung des Konstrukts „Mittel zum“ [Durchführen einer Funktion] an.
  • Verschiedene „Schaltungen“ können in dieser Offenbarung beschrieben werden. Diese Schaltungen oder „Schaltlogik“ bilden Hardware, die verschiedene Typen von Schaltungselementen, wie kombinatorische Logik, getaktete Speicherungsvorrichtungen (z. B. Flip-Flops, Register, Latches usw.), endliche Zustandsmaschinen, Speicher (z. B. Direktzugriffsspeicher, eingebetteten dynamischen Direktzugriffsspeicher), programmierbare logische Arrays und so weiter, einschließt. Schaltlogik kann benutzerdefiniert oder aus Standardbibliotheken entnommen sein. In verschiedenen Implementierungen kann Schaltlogik, wie es geeignet ist, digitale Komponenten, analoge Komponenten oder eine Kombination von beiden einschließen. Bestimmte Typen von Schaltungen können allgemein als „Einheiten“ (z. B. eine Decodiereinheit, eine arithmetisch-logische Einheit (ALU), eine Funktionseinheit, eine Speicherverwaltungseinheit (MMU) usw.) bezeichnet werden. Solche Einheiten beziehen sich ebenfalls auf Schaltungen oder Schaltlogik.
  • Die offenbarten Schaltungen/Einheiten/Komponenten und andere Elemente, die in den Zeichnungen veranschaulicht und hierin beschrieben sind, schließen somit Hardwareelemente, wie die im vorstehenden Absatz beschriebenen, ein. In vielen Fällen kann die interne Anordnung von Hardwareelementen innerhalb einer bestimmten Schaltung durch Beschreiben der Funktion dieser Schaltung angegeben werden. Zum Beispiel kann eine bestimmte „Decodiereinheit“ als die Funktion des „Verarbeitens eines Opcodes einer Anweisung und Umleitens dieser Anweisung zu einer oder mehreren einer Vielzahl von Funktionseinheiten“ durchführend beschrieben werden, was bedeutet, dass die Decodiereinheit „konfiguriert ist, um“ diese Funktion durchzuführen. Diese Funktionsangabe ist für den Fachmann auf dem Computergebiet ausreichend, um einen Satz möglicher Strukturen für die Schaltung näher zu bezeichnen.
  • In verschiedenen Ausführungsformen, wie im vorstehenden Absatz erörtert, Schaltungen, Einheiten und andere Elemente durch die Funktionen oder Operationen definiert, zu deren Implementierung sie konfiguriert sind, Die Anordnung und solche Schaltungen/ Einheiten/Komponenten in Bezug aufeinander und die Weise, in der sie interagieren, bilden eine Mikroarchitekturdefinition der Hardware, die letztendlich in einer integrierten Schaltung hergestellt oder in einem FPGA programmiert wird, um eine physische Implementierung der Mikroarchitekturdefinition zu bilden. Somit wird die Mikroarchitekturdefinition von dem Fachmann als Struktur erkannt, aus der viele physische Implementierungen abgeleitet werden können, die alle in die breitere Struktur fallen, die durch die Mikroarchitekturdefinition beschrieben wird. Das heißt, dass der Fachmann, dem die gemäß dieser Offenbarung bereitgestellten Mikroarchitekturdefinition präsentiert wird, ohne unangemessenes Experimentieren und durch Anwendung durchschnittlicher Fähigkeiten die Struktur implementieren kann, indem er die Beschreibung der Schaltungen/Einheiten/Komponenten in einer Hardwarebeschreibungssprache (HDL), wie Verilog oder VHDL, codiert. Die HDL-Beschreibung wird häufig in einer Weise ausgedrückt, die als funktional erscheinen kann. Für den Fachmann auf diesem Gebiet ist diese HDL-Beschreibung jedoch die Weise, die verwendet wird, um die Struktur einer Schaltung, Einheit oder Komponente auf die nächste Implementierungsdetailebene zu transformieren. Eine solche HDL-Beschreibung kann die Form von Verhaltenscode (der üblicherweise nicht synthetisierbar ist), Register-Transfer-Sprache-Code (RTL-Code) (der im Gegensatz zu Verhaltenscode üblicherweise synthetisierbar ist) oder Strukturcode (z. B. eine Netzliste, die Logikgatter und deren Konnektivität angibt) annehmen. Die HDL-Beschreibung kann anschließend 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 Designdatenbank zu führen, die an eine Gießerei übermittelt wird, um Masken zu erzeugen und letztendlich die integrierte Schaltung herzustellen. Manche Hardware-Schaltungen oder Abschnitte davon können auch in einem schematischen Editor benutzerdefiniert ausgestaltet und zusammen mit synthetisierter Schaltlogik in das Design der integrierten Schaltung eingegliedert werden. Die integrierten Schaltungen können Transistoren und andere Schaltungselemente (z. B. passive Elemente, wie Kondensatoren, Widerstände, Induktoren usw.) einschließen 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 kann das HDL-Design zu einer programmierbaren Logikanordnung, wie einem feldprogrammierbaren Gate-Array (FPGA), synthetisiert werden und kann in dem FPGA implementiert werden. Dieses Entkoppeln zwischen dem Design einer Gruppe von Schaltungen und der anschließenden Implementierung auf niedriger Ebene dieser Schaltungen führt üblicherweise zu dem Szenario, in dem der Schaltungs- oder Logikdesigner nie einen bestimmten Satz von Strukturen für die Implementierung auf niedriger Ebene angibt, der über eine Beschreibung dessen hinausgeht, wozu die Schaltung konfiguriert ist, da dieser Prozess auf einer anderen Stufe des Schaltungsimplementierungsprozesses durchgeführt wird.
  • Die Tatsache, dass viele verschiedene Kombinationen auf niedriger Ebene von Schaltungselementen verwendet werden können, um die gleiche Spezifikation einer Schaltung zu implementieren, führt zu einer großen Anzahl von äquivalenten Strukturen für diese Schaltung. Wie angegeben, können diese Schaltungen auf niedriger Ebene gemäß Änderungen in der Herstellungstechnologie, der zur Herstellung der integrierten Schaltung ausgewählten Gießerei, der Bibliothek von Zellen, die für ein bestimmtes Projekt bereitgestellt wird, usw. variieren. In vielen Fällen können die durch verschiedene Designwerkzeuge oder -methodiken zur Herstellung dieser verschiedenen Implementierungen vorgenommenen Auswahlen beliebig sein.
  • Darüber hinaus ist es für eine einzelne Implementierung einer bestimmten Funktionsspezifikation einer Schaltung üblich, für eine gegebene Ausführungsform eine große Anzahl von Vorrichtungen (z. B. Millionen von Transistoren) einzuschließen. Entsprechend macht es das bloße Volumen dieser Informationen undurchführbar, eine vollständige Angabe der Struktur auf niedriger Ebene, die verwendet wird, um eine einzelne Ausführungsform zu implementieren, geschweige denn die enorme Anordnung äquivalenter möglicher Implementierungen bereitzustellen. Aus diesem Grund beschreibt die vorliegende Offenbarung eine Struktur von Schaltungen unter Verwendung der Funktionskurzschrift, die üblicherweise in der Industrie eingesetzt wird.
  • 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 63243754 [0001]
    • US 17572664 [0001]
    • US 20040061380 [0003]
    • US 7161339 [0004]
    • US 20130207467 [0005]

Claims (12)

  1. Einrichtung, umfassend: mehrere Hardwareschaltungen; eine Frontend-Leistungsversorgung, die konfiguriert ist, um elektrische Leistung zum Versorgen der mehreren Hardwareschaltungen zu erzeugen, wobei die Frontend-Leistungsversorgung einen Satz von Leistungsstufen umfasst, wobei die Leistungsstufen konfiguriert sind, um jeweilige Teile der elektrischen Leistung zu erzeugen und unabhängig voneinander aktiviert und deaktiviert zu werden; mehrere Spannungsregler, die mit einem Ausgang der Frontend-Leistungsversorgung verbunden sind und konfiguriert sind, um anpassbare Betriebsspannungen an die Hardwareschaltungen bereitzustellen; und eine Steuerschaltlogik, die konfiguriert ist zum: Steuern der Spannungsregler als Reaktion auf Anforderungen von den Hardwareschaltungen dahin gehend, dass die Hardwareschaltungen mit einer Einstellung der anpassbaren Betriebsspannungen versorgt werden; Vergleichen der Einstellung der anpassbaren Betriebsspannungen mit einer oder mehreren sicheren Einstellungen, die als sicher für die Bereitstellung durch eine vordefinierte Teilanzahl der Leistungsstufen der Frontend-Leistungsversorgung spezifiziert sind; und adaptives Aktivieren und Deaktivieren der Leistungsstufen, einschließlich des Sicherstellens, dass eine Anzahl aktiver Leistungsstufen nur auf die vordefinierte Teilanzahl eingestellt wird, während die Einstellung der Betriebsspannungen mit mindestens einer der sicheren Einstellungen übereinstimmt.
  2. Einrichtung nach Anspruch 1, wobei zum adaptiven Aktivieren und Deaktivieren der Leistungsstufen die Steuerschaltlogik ferner konfiguriert ist zum: zu Zeiten, zu denen die Einstellung mit mindestens einer der sicheren Einstellungen übereinstimmt, Steuern der Frontend-Leistungsversorgung so, dass nur die vordefinierte Teilanzahl der Leistungsstufen aktiv ist; und zu anderen Zeiten, zu denen die Einstellung nicht mit den sicheren Einstellungen übereinstimmt, Steuern der Frontend-Leistungsversorgung so, dass mehr als die vordefinierte Teilanzahl der Leistungsstufen aktiv ist.
  3. Einrichtung nach Anspruch 1 oder 2, wobei zusätzlich zum adaptiven Aktivieren und Deaktivieren der Leistungsstufen die Steuerschaltlogik konfiguriert ist, um eine oder mehrere der Leistungsstufen zwischen einem Normalmodus und einem Standby-Modus adaptiv zu überführen.
  4. Einrichtung nach Anspruch 1 oder 2, wobei die vordefinierte Teilanzahl der Leistungsstufen eine einzige Leistungsstufe ist.
  5. Einrichtung nach Anspruch 1 oder 2, wobei, während die Anzahl der aktiven Leistungsstufen die vordefinierte Teilanzahl ist, die Steuerschaltlogik konfiguriert ist zum: Detektieren, dass erwartet wird, dass eine Anforderung von einer der Hardwareschaltungen die Einstellung der Betriebsspannungen von einer sicheren Einstellung auf eine unsichere Einstellung ändert; und Steuern der Spannungsregler dahin gehend, dass nur nach Erhöhen der Anzahl aktiver Leistungsstufen in die unsichere Einstellung umgeschaltet wird.
  6. Einrichtung nach Anspruch 1 oder 2, wobei mindestens eine der sicheren Einstellungen von einer oder mehreren spezifizierten Temperaturschwellen abhängt, und wobei beim Vergleichen der Einstellung der anpassbaren Betriebsspannungen mit den sicheren Einstellungen die Steuerschaltlogik konfiguriert ist, um eine oder mehrere Temperaturen, die mit der Einrichtung assoziiert sind, mit der einen oder den mehreren Temperaturschwellen zu vergleichen.
  7. Verfahren, umfassend: Erzeugen von elektrischer Leistung zum Versorgen mehrerer Hardwareschaltungen unter Verwendung einer Frontend-Leistungsversorgung, die einen Satz von Leistungsstufen umfasst, durch Erzeugen jeweiliger Teile der elektrischen Leistung unter Verwendung der Leistungsstufen; Bereitstellen anpassbarer Betriebsspannungen an die Hardwareschaltungen unter Verwendung mehrerer Spannungsregler, die mit einem Ausgang der Frontend-Leistungsversorgung verbunden sind; Steuern der Spannungsregler als Reaktion auf Anforderungen von den Hardwareschaltungen dahin gehend, dass die Hardwareschaltungen mit einer Einstellung der anpassbaren Betriebsspannungen versorgt werden; Vergleichen der Einstellung der anpassbaren Betriebsspannungen mit einer oder mehreren sicheren Einstellungen, die als sicher für die Bereitstellung durch eine vordefinierte Teilanzahl der Leistungsstufen der Frontend-Leistungsversorgung spezifiziert sind; und adaptives Aktivieren und Deaktivieren der Leistungsstufen, einschließlich des Sicherstellens, dass eine Anzahl aktiver Leistungsstufen nur auf die vordefinierte Teilanzahl eingestellt wird, während die Einstellung der Betriebsspannungen mit mindestens einer der sicheren Einstellungen übereinstimmt.
  8. Verfahren nach Anspruch 7, wobei das adaptive Aktivieren und Deaktivieren der Leistungsstufen umfasst: zu Zeiten, zu denen die Einstellung mit mindestens einer der sicheren Einstellungen übereinstimmt, Steuern der Frontend-Leistungsversorgung so, dass nur die vordefinierte Teilanzahl der Leistungsstufen aktiv ist; und zu anderen Zeiten, zu denen die Einstellung nicht mit den sicheren Einstellungen übereinstimmt, Steuern der Frontend-Leistungsversorgung so, dass mehr als die vordefinierte Teilanzahl der Leistungsstufen aktiv ist.
  9. Verfahren nach Anspruch 7 oder 8, und umfassend, zusätzlich zum adaptiven Aktivieren und Deaktivieren der Leistungsstufen, adaptives Überführen einer oder mehrerer der Leistungsstufen zwischen einem Normalmodus und einem Standby-Modus.
  10. Verfahren nach Anspruch 7 oder 8, wobei die vordefinierte Teilanzahl der Leistungsstufen eine einzige Leistungsstufe ist.
  11. Verfahren nach Anspruch 7 oder 8, und umfassend, während die Anzahl der aktiven Leistungsstufen die vordefinierte Teilanzahl ist: Detektieren, dass erwartet wird, dass eine Anforderung von einer der Hardwareschaltungen die Einstellung der Betriebsspannungen von einer sicheren Einstellung auf eine unsichere Einstellung ändert; und Steuern der Spannungsregler dahin gehend, dass nur nach Erhöhen der Anzahl aktiver Leistungsstufen in die unsichere Einstellung umgeschaltet wird.
  12. Verfahren nach Anspruch 7 oder 8, wobei mindestens eine der sicheren Einstellungen von einer oder mehreren spezifizierten Temperaturschwellen abhängt, und wobei das Vergleichen der Einstellung der anpassbaren Betriebsspannungen mit den sicheren Einstellungen das Vergleichen einer oder mehrerer mit der Einrichtung assoziierter Temperaturen mit der einen oder den mehreren Temperaturschwellen umfasst.
DE112022003384.3T 2021-09-14 2022-06-19 System-On-Chip mit Leistungsversorgungsmodus mit reduzierter Anzahl von Phasen Pending DE112022003384T5 (de)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US202163243754P 2021-09-14 2021-09-14
US63/243,754 2021-09-14
US17/572,664 2022-01-11
US17/572,664 US11709512B2 (en) 2021-09-14 2022-01-11 System-on-chip with power supply mode having reduced number of phases
PCT/US2022/034125 WO2023043514A1 (en) 2021-09-14 2022-06-19 System-on-chip with power supply mode having reduced number of phases

Publications (1)

Publication Number Publication Date
DE112022003384T5 true DE112022003384T5 (de) 2024-04-18

Family

ID=82839252

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112022003384.3T Pending DE112022003384T5 (de) 2021-09-14 2022-06-19 System-On-Chip mit Leistungsversorgungsmodus mit reduzierter Anzahl von Phasen

Country Status (4)

Country Link
US (1) US20230280772A1 (de)
KR (1) KR20240034854A (de)
DE (1) DE112022003384T5 (de)
WO (1) WO2023043514A1 (de)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040061380A1 (en) 2002-09-26 2004-04-01 Hann Raymond E. Power management system for variable load applications
US7161339B2 (en) 2003-08-20 2007-01-09 Broadcom Corporation High voltage power management unit architecture in CMOS process
US20130207467A1 (en) 2012-02-09 2013-08-15 Kenneth W. Fernald Power management system

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7869228B2 (en) * 2007-06-29 2011-01-11 Intel Corporation Power delivery systems and methods with dynamic look-up table
US8271819B2 (en) * 2009-03-31 2012-09-18 Dell Products L.P. Methods and systems for initiating power to an information handling system
US9240722B2 (en) * 2014-06-19 2016-01-19 Dell Products Lp Methods and systems for improving light load efficiency for power stages of multi-phase voltage regulator circuits
US9891700B2 (en) * 2015-10-02 2018-02-13 Infineon Technologies Austria Ag Power management for datacenter power architectures
US11016551B2 (en) * 2019-03-29 2021-05-25 Microsoft Technology Licensing, Llc Thermal rotation of power supply phases
US11710726B2 (en) * 2019-06-25 2023-07-25 Microsoft Technology Licensing, Llc Through-board power control arrangements for integrated circuit devices

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040061380A1 (en) 2002-09-26 2004-04-01 Hann Raymond E. Power management system for variable load applications
US7161339B2 (en) 2003-08-20 2007-01-09 Broadcom Corporation High voltage power management unit architecture in CMOS process
US20130207467A1 (en) 2012-02-09 2013-08-15 Kenneth W. Fernald Power management system

Also Published As

Publication number Publication date
WO2023043514A1 (en) 2023-03-23
US20230280772A1 (en) 2023-09-07
KR20240034854A (ko) 2024-03-14

Similar Documents

Publication Publication Date Title
DE102020120019A1 (de) Proaktive di/dt-spannungs-dachabfall-abschwächung
DE102014003704B4 (de) Plattform-agnostisches Powermanagement
DE102012212441B4 (de) Verfahren zum Eintreten in und Verlassen eines Schlafmodus in einer Graphikverarbeitungseinheit
DE112015004438B4 (de) Niedrigenergie-Prozessor zum Steuern von Betriebszuständen eines Computersystems
DE102010013228B4 (de) Verfahren und System, um die Operationen eines registrierten Speichermoduls zu verbessern
DE102016109363A1 (de) Host-port für serielle periphere schnittstellen
DE112011102822T5 (de) Leistungsoptimierte Interrupt-Abgabe
DE112006003575T5 (de) Verfahren und Vorrichtung für einen Nullspannungs-Prozessorschlafzustand
DE112018000372B4 (de) Systeme und verfahren für eine kohärente energieverwaltung
DE112011103193T5 (de) Bereitstellung einer Pro-Kern-Spannungs-und Frequenzsteuerung
DE112016001481T5 (de) Unterspannungserkennung und leistungsdrosselung
DE112015002522T5 (de) System-on-a-chip mit always-on-prozessor, der das SOC rekonfiguriert und Nur-Speicher-Kommunikationsmodus unterstützt
DE102008064866B3 (de) Elektronische Steuerungsvorrichtung und Verfahren zur elektronischen Steuerung und zur Betätigung einer elektronischen Steuerungsvorrichtung
DE102010053298A1 (de) Synchronisierte Medienverarbeitung
DE102020131690A1 (de) Energieverwaltung für usb-typ-c-subsysteme
DE102021119090A1 (de) Einrichtung und verfahren für energieeffiziente kernspannungsauswahl
DE112020003419T5 (de) Dynamische aktualisierungsratensteuerung
DE112011105901T5 (de) Verfahren und Vorrichtung zur Energieeinsparung für First In First Out (FIF0)-Speicher
DE102022109273A1 (de) Unabhängige on-chip-mehrfachverschaltung
US20240160267A1 (en) Telemetry Push Aggregation
DE112021004707T5 (de) Skalierbares cache-kohärenzprotokoll
DE112013003212T5 (de) Drosselung des maximalen Stroms
DE112022003384T5 (de) System-On-Chip mit Leistungsversorgungsmodus mit reduzierter Anzahl von Phasen
DE102021132804A1 (de) Ospm-richtlinienverfahren und -einrichtung zur dynamischen usb-c-modusauswahl
DE112022004078T5 (de) Skalierbares hierarchisches leistungsabgabesystem

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication