DE102021126686A1 - Leistungsverwaltungseinrichtung und -verfahren für mehrebenenspeichersysteme - Google Patents

Leistungsverwaltungseinrichtung und -verfahren für mehrebenenspeichersysteme Download PDF

Info

Publication number
DE102021126686A1
DE102021126686A1 DE102021126686.6A DE102021126686A DE102021126686A1 DE 102021126686 A1 DE102021126686 A1 DE 102021126686A1 DE 102021126686 A DE102021126686 A DE 102021126686A DE 102021126686 A1 DE102021126686 A1 DE 102021126686A1
Authority
DE
Germany
Prior art keywords
power
memory
state
performance
connection
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
DE102021126686.6A
Other languages
English (en)
Inventor
Chia-Hung Kuo
Anoop Mukker
Eng Hun Ooi
Avishay Snir
Shrinivas Venkatraman
Kuan Hua Tan
Wai Ben Lin
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of DE102021126686A1 publication Critical patent/DE102021126686A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0605Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3215Monitoring of peripheral devices
    • G06F1/3225Monitoring of peripheral devices of memory devices
    • 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/325Power saving in peripheral device
    • G06F1/3275Power saving in memory, e.g. RAM, cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • G06F13/4291Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a clocked protocol
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0625Power saving in storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0634Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0685Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0026PCI express
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0042Universal serial bus [USB]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • Power Sources (AREA)

Abstract

Ein Mehrebenen-Speicherarchitekturschema zum dynamischen Ausgleichen einer Anzahl von Parametern, wie etwa Leistung, Thermen, Kosten, Latenz und Leistungsfähigkeit für Speicherebenen, die progressiv weiter von dem Prozessor in der Plattform entfernt sind, basierend darauf, wie Anwendungen Speicherebenen verwenden, die weiter von Prozessorkernen entfernt sind. Bei manchen Beispielen ist die Entscheidungsfindung für den Zustand des Fernspeichers (FM) dezentral. Zum Beispiel treffen eine Prozessorleistungsverwaltungseinheit (p-Einheit), eine Nahspeichersteuerung (NMC) und/oder eine Fernspeicherhoststeuerung (FMHC) Entscheidungen über die Leistung und/oder den Leistungsfähigkeitszustand des FM auf ihren jeweiligen Ebenen. Diese Entscheidungen werden koordiniert, um für eine bestimmte Zeit den optimalsten Leistungs- und/oder Leistungsfähigkeitszustand des FM bereitzustellen. Der Leistungs- und/oder Leistungsfähigkeitszustand der Speicher ändert sich adaptiv zu sich ändernden Arbeitslasten und anderen Parametern, selbst wenn sich der oder die Prozessoren in einem bestimmten Leistungszustand befinden.

Description

  • HINTERGRUND
  • Aktuelle Speicherarchitekturen, bei denen der Leistungszustand eines Speichers eng mit einem Prozessor- und/oder System-on-Chip (SoC) -Leistungszustand gekoppelt ist, arbeiten gut für einen Einebenenspeicher. Hier ist ein Einebenenspeicher ein Speicher, der sich in einer Hierarchie über einem Prozessor-Cache befindet. Zum Beispiel ist dynamischer Direktzugriffsspeicher (DRAM) in einem SoC, der sich wie ein Hauptspeicher für einen Prozessor verhält, ein Einebenenspeicher.
  • Da sich Speicherarchitekturen entwickeln, um einen Speicher über den Einebenenspeicher (z. B. DRAM) hinaus auf einen viel dichteren Zweiebenenspeicher (2LM) mit einer zweiten Speicherebene oder höher zu erweitern, bieten Plattformen möglicherweise keinen eng gekoppelten Leistungszustand des Erweiterungsspeichers zu einem Prozessoraktivitätszustand. Ein Beispiel für eine Speichervorrichtung mit höherer Latenz ist ein Festplattenlaufwerk (HDD), ein nichtflüchtiger Off-Chip-Speicher, wie etwa 3Dxpoint™ der Intel Corporation aus Kalifornien usw. Ein Grund dafür, dass Plattformen möglicherweise keinen eng gekoppelten Leistungszustand des 2LM zu einem Prozessoraktivitätszustand bieten, beruht auf signifikant höherer additiver Leistung der Verbindungsschnittstellen und des 2LM und kostspieligen thermischen Lösungen zum Abkühlen des 2LM. Ferner kann der 2LM aufgrund der Latenz, Leistungsfähigkeit und Energieeinbußen, die mit dem austretenden Niedrigleistungszustand assoziiert sind, wenn der Prozessor oder die E/A-Vorrichtungen auf den 2LM zugreifen müssen, möglicherweise nicht willkürlich in einen Niedrigleistungszustand versetzt werden.
  • Figurenliste
  • Ein umfassenderes Verständnis der Ausführungsformen der Offenbarung geht aus der nachstehenden ausführlichen Beschreibung und aus den begleitenden Zeichnungen verschiedener Ausführungsformen der Offenbarung hervor, die jedoch nicht so aufgefasst werden sollten, dass sie die Offenbarung auf die spezifischen Ausführungsformen beschränken, sondern lediglich zur Erläuterung und zum Verständnis dienen.
    • 1 veranschaulicht ein Speicherverwaltungssubsystem gemäß manchen Ausführungsformen.
    • 2 veranschaulicht ein koordiniertes Leistungsverwaltungssystem.
    • 3 veranschaulicht ein entkoppeltes Leistungsverwaltungssystem gemäß manchen Ausführungsformen.
    • 4 veranschaulicht ein Flussdiagramm eines entkoppelten Leistungsverwaltungssystems für HOBL (Hour of Battery Life) und/oder Arbeitslasten mit QoS-Anforderungen (QoS: Quality of Service) gemäß manchen Ausführungsformen.
    • 5 veranschaulicht eine intelligente Vorrichtung oder ein Computersystem oder ein SoC (System-on-Chip) mit entkoppeltem Leistungsverwaltungssystem, um Leistungsthermen und Latenz zu optimieren, gemäß manchen Ausführungsformen.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Manche Ausführungsformen beschreiben ein Mehrebenen-Speicherarchitekturschema zum dynamischen Ausgleichen einer Anzahl von Parametern, wie etwa Leistung, Thermik, Kosten, Latenz und Leistungsfähigkeit für Speicherebenen, die progressiv weiter von dem Prozessor in der Plattform entfernt sind, basierend darauf, wie Anwendungen Speicherebenen verwenden, die weiter von Prozessorkernen entfernt sind. Die Speicherebenen beinhalten einen Bereich von Ebenen, der sich von einer nächsten Speicherebene zu einer entferntesten Speicherebene erstreckt. Die nächste Speicherebene ist der Cache, gefolgt von Ebene-2-Cache, Hauptspeicher und so weiter. Die entfernteste Speicherebene wird hier allgemein als Far Memory (FM) bezeichnet. Verschiedene Ausführungsformen stellen ein Schema bereit, das eine Kombination von Hardware und Software umfasst, um den Leistungszustandspegel des FM im Hinblick auf eine Analyse der Anzahl von Parametern zu verwalten. Manche Ausführungsformen stellen eine Systemlösung zum Verwalten von Leistung, Leistungsfähigkeit und Latenzzustand des FM-Subsystems durch eine Kombination von Hardware- und Softwarelösungen auf Systemebene bereit, die eine Architektur mit geschlossenem Regelkreis erzeugen, bei der Entscheidungen basierend auf aktuellen Arbeitslastanforderungen, Zugriffsprofilen, System- und/oder thermischem Zustand der Vorrichtung dynamisch angepasst werden.
  • Bei manchen Ausführungsformen ist das Entscheiden für den Zustand des FM dezentral. Zum Beispiel treffen eine Prozessorleistungsverwaltungseinheit (p-Unit), eine Nahspeichersteuerung (NMC) und/oder eine Fernspeicher-Hoststeuerung (FMHC) Entscheidungen über die Leistung und/oder den Leistungsfähigkeitszustand des FM auf ihren jeweiligen Ebenen. Diese Entscheidungen werden koordiniert, um für eine bestimmte Zeit den optimalsten Leistungs- und/oder Leistungsfähigkeitszustand des FM bereitzustellen. Zum Beispiel trifft jede einzelne Komponente (z. B. p-Unit, NMC, FMHC) ihre Entscheidungen basierend auf den Informationen, die auf ihrer Ebene in einer Pipeline verfügbar sind, und koordiniert die Entscheidungen der Komponenten darunter in der Pipeline. In einer Pipeline befindet sich die p-Einheit auf der niedrigsten Ebene, während sich Software, die auf einem Betriebssystem (OS) läuft, auf der höchsten Ebene der Pipeline befindet. Daher wird Software auch in dieser Lösung als eine der „Komponenten“ behandelt, da sie Informationen von den Anwendungen und Benutzern direkt empfangen kann und daher ein höheres Koordinationsniveau bereitstellen kann. Andere Ebenen in der Pipeline schließen NMC, FCHC, Firmware und OS ein.
  • Bei manchen Ausführungsformen ist eine Einrichtung bereitgestellt, die mehrere Verarbeitungskerne beinhaltet. Die Prozessorkerne können symmetrisch oder asymmetrisch sein. Die Einrichtung umfasst ferner eine erste Speichersteuerung (z. B. Nahspeichersteuerung), die über eine erste Verbindung (z. B. DDR (Double Data Rate) oder DDR (Low Power)) mit einem oder mehreren ersten Speichermodulen gekoppelt ist. Bei manchen Ausführungsformen ist die Einrichtung eine zweite Speichersteuerung (z. B. eine Fernspeichersteuerung), die über eine zweite Verbindung (z. B. PCIe (Peripheral Component Interface Express)-Verbindung) mit einem oder mehreren zweiten Speichermodulen (z. B. Level-2-Speicher) gekoppelt ist. Bei manchen Ausführungsformen beinhaltet die Einrichtung eine p-Einheit, die mit den mehreren Verarbeitungskernen, der ersten Speichersteuerung und der zweiten Speichersteuerung gekoppelt ist. Bei manchen Ausführungsformen bestimmt die p-Einheit die Leistungs- und/oder Leistungsfähigkeitsrichtlinie (z. B. beinhalten die Leistungs- und/oder Leistungsfähigkeitsrichtlinie eine hohe Batterielebensdauer und Dienstgüte) und Randbedingungen (z. B. Leistungshüllkurve, thermische Grenze und maximaler Versorgungsstrom) für die Einrichtung und einen Leistungszustand für die erste und/oder zweite Verbindung über die erste Speichersteuerung und/oder die zweite Speichersteuerung. Bei manchen Ausführungsformen weisen die zweiten Speichermodule eine langsamere Austrittslatenz als eine Austrittslatenz der ersten Speichermodule auf. Bei verschiedenen Ausführungsformen ist der Leistungszustand der ersten und/oder zweiten Verbindung von Leistungszuständen der Vielzahl von Verarbeitungskernen entkoppelt.
  • Bei manchen Ausführungsformen verwaltet die zweite Speichersteuerung Leistung des einen oder der mehreren zweiten Speichermodule über die zweite Verbindung und basierend auf einem dynamischen Profil der Arbeitslast, die einer Speichervorrichtung (z. B. der lokalen Steuerung der entfernten Speichervorrichtung) zugeführt wird, wobei die Speichervorrichtung mit den zweiten Speichermodulen und der zweiten Speichersteuerung gekoppelt ist. Bei manchen Ausführungsformen hat die Speichervorrichtung Vorrang vor der zweiten Speichersteuerung und/oder der Leistungsverwaltungseinheit, um den Leistungszustand der zweiten Verbindung zu entscheiden. Bei manchen Ausführungsformen beinhaltet die zweite Speichersteuerung einen Timer zum Bestimmen einer Austrittslatenz aus einem Leistungszustand der zweiten Verbindung, wobei die Austrittslatenz durch die zweite Speichersteuerung berücksichtigt wird, um einen Leistungszustand der zweiten Verbindung zu bestimmen. Bei manchen Ausführungsformen empfängt die p-Einheit Speicherzugriffsmusterhinweise für ein Betriebssystem und stellt die Speicherzugriffsmusterhinweise an die zweite Speichersteuerung bereit, wobei die zweite Speichersteuerung die Speicherzugriffsmusterhinweise berücksichtigt, um einen Leistungszustand der zweiten Verbindung zu bestimmen.
  • Es gibt viele technische Wirkungen verschiedener Ausführungsformen. Zum Beispiel ermöglicht die Leistungs- und/oder Leistungsfähigkeitsverwaltungstechnik eine neue Erzeugung von Prozessorprodukten, wobei Produkte für Leistung, Leistungsfähigkeit und/oder Thermik für neue Arbeitslasten optimiert sind, die FM nutzen, wie etwa eine persistente Speicherarchitektur. Beispiele für FM sind unter anderem 3Dxpoint™ der Intel Corporation aus Kalifornien, nichtflüchtige Speicher, wie etwa ein magnetischer Direktzugriffsspeicher (MRAM) usw. Das Schema verschiedener Ausführungsformen ermöglicht den Speichern, Leistungs- und/oder Leistungsfähigkeitszustände einzugeben, die sich nicht in Lockstep mit dem Leistungszustand des oder der Prozessorkerne oder eines Prozessors befinden. Der Leistungs- und/oder Leistungsfähigkeitszustand der Speicher ändert sich adaptiv zu wechselnden Arbeitslasten und anderen Parametern, auch wenn sich die Prozessoren bzw. Prozessorkerne in einem bestimmten Leistungszustand befinden. Andere technische Auswirkungen werden anhand der verschiedenen Figuren und Ausführungsformen ersichtlich.
  • In der folgenden Beschreibung werden zahlreiche Einzelheiten besprochen, um eine ausführlichere Erläuterung von Ausführungsformen der vorliegenden Offenbarung bereitzustellen. Es wird jedoch für einen Fachmann offensichtlich sein, dass Ausführungsformen der vorliegenden Offenbarung ohne diese spezifischen Einzelheiten umgesetzt werden können. In anderen Fällen sind wohlbekannte Strukturen und Vorrichtungen in Blockdiagrammform anstatt ausführlich gezeigt, um zu vermeiden, dass Ausführungsformen der vorliegenden Offenbarung verunklart werden.
  • Es wird angemerkt, dass in den entsprechenden Zeichnungen der Ausführungsformen Signale durch Linien repräsentiert sind. Manche Linien können dicker sein, um mehr zugehörige Signalpfade anzugeben, und/oder Pfeile an einem oder mehreren Enden aufweisen, um eine primäre Informationsflussrichtung anzugeben. Solche Angaben sollen nicht einschränkend sein. Vielmehr werden die Leitungen in Verbindung mit einem oder mehreren Ausführungsbeispielen verwendet, um ein leichteres Verständnis einer Schaltung oder einer logischen Einheit zu erleichtern. Ein beliebiges repräsentiertes Signal kann, wie durch Gestaltungsbedürfnisse oder Präferenzen vorgegeben, tatsächlich ein oder mehrere Signale umfassen, die sich in beide Richtungen bewegen können und mit einem beliebigen geeigneten Typ von Signalschema implementiert werden können.
  • 1 veranschaulicht ein Speicherverwaltungssubsystem 100 gemäß manchen Ausführungsformen. Das Subsystem 100 umfasst einen Prozessor 101, einen Fernspeicher (FM) 102, einen Nahspeicher (NM) 103, ein OS und/oder Treiber 104, Softwareanwendungen 104a, ein Benutzersteuermodell 105, E/A-Vorrichtungen 106_1 bis 106 N, Prozessorkerne 107, eine Leistungsverwaltungssteuerung (p-Einheit) 108, eine Nahspeichersteuerung (NMC) 109, eine Fernspeicherhoststeuerung 110 (FMHC), eine Fernspeichervorrichtung 111, Fernspeichermodule 112, NM-Module 113, eine Nahspeicherleistungs- und/oder Leistungsfähigkeitsdomäne 114, eine Fernspeicherleistungs- und/oder thermische Domäne 115, eine Fernspeichervorrichtungsleistungs- und/oder thermische Domäne 116 umfasst. Bei der verschiedenen Schnittstelle kann es sich dabei nicht um eine tatsächliche physische Schnittstelle handeln, sondern um konzeptuelle Daten und Steuerung. Zusätzlich dazu gibt es zusätzliche Daten- und Steuerschnittstellen zwischen verschiedenen Komponenten, die verwendet werden, um tatsächliche Daten zu übertragen, aber jene sind hier nicht gezeigt, da sie bezüglich Leistung, Leistungsfähigkeit und Wärmemanagement orthogonal sind.
  • Bei manchen Ausführungsformen ist der Prozessor 101 eine vereinfachte Version eines System-on-Chip (SoC) aus 5. Der Prozessor 101 kann Prozessorkerne 107 beinhalten, die symmetrisch oder asymmetrisch sein können. Symmetrische Kerne sind identische Kerne, während asymmetrische Kerne unterschiedliche physikalische und/oder funktionelle Leistungen aufweisen. Asymmetrische Kerne können zum Beispiel eine Sammlung von großen und kleinen Kernen beinhalten. Die Prozessorkerne 107 können in Abhängigkeit von ihrer Verwendung in unterschiedliche Leistungszustände eintreten. Jeder CPU-Kern kann seine eigene Leistungssteuerungseinheit beinhalten. Bei verschiedenen Ausführungsformen analysiert die Leistungsverwaltungseinheit (p-Einheit) 108 eine Anzahl von Parametern, um den Leistungszustand jedes Kerns 107 zu bestimmen. Diese Parameter beinhalten Arbeitslast jedes Kerns, aktuelle Temperatur jedes Kerns, Betriebsfrequenz jedes Kerns, Arbeitslast in der Pipeline für jeden Kern, Leistungshüllkurve des Computersystems, maximalen Strom IccMax des Prozessors 101 und/oder jedes Kerns 107, maximale Leistung des Prozessors 101 und/oder jedes Kerns 107, Alterungs- und Zuverlässigkeitsmaße jedes Kerns usw.
  • Die p-Einheit 108 steuert die Leistungszustände jedes Kerns 107 und stellt auch Empfehlungen über Leistungs- und/oder Leistungsfähigkeitszustände der fernen Speichermodule 112 und der nahen Speichermodule 113 an den NMC 109 und FMHC 110 bereit. Bei manchen Ausführungsformen stellt der FMHC 110 Empfehlungen an die Fernspeichervorrichtung 111 (eine andere Steuerung) bereit, um den Leistungszustand der Fernspeichermodule 112 zu steuern. Beispiele für Nahspeichermodule 113 sind ein DDRkompatibler Speicher (DDR: Double Data Rate), ein LPDDR-kompatibler Speicher (LPDDR: Low Power DDR), ein SRAM (SRAM: Static Random Access Memory). Beispiele für Fernspeichermodule 112 sind unter anderem Festplatten, magnetische Direktzugriffsspeicher, 3DX-Punktspeicher von Intel usw. Im Allgemeinen weisen Speicher mit höherem Speicherplatz, höherer Bandbreite, aber langsameren Austrittszeiten vom Niedrigleistungszustand zum aktiven Zustand Fernspeichermodule 112 auf. Umgekehrt weisen Speicher mit vergleichsweise geringerem Speicherplatz, aber schnelleren Austrittszeiten vom Zustand mit niedriger Leistung zum aktiven Zustand Nahspeichermodule 113 auf. Eine beliebige geeignete Schnittstelle kann verwendet werden, um mit den Fernspeichermodulen 112 und den Nahspeichermodulen 113 verbunden zu werden.
  • Bei manchen Ausführungsformen gibt es mehrere Leistungsverwaltungsdomänen in der Plattform, einschließlich Nahspeicherleistungs-/- leistungsfähigkeitsdomäne 114, thermischer Fernspeichervorrichtungsdomäne 115 und thermischer Fernspeicherleistungsdomäne 116. Dabei sind die Domänen durch Einflusszonen in gepunkteten Kreisen für jede Steuerung dargestellt.
  • Bei manchen Ausführungsformen gehört die thermische Fernspeichervorrichtungsdomäne 116 zu der Fernspeichervorrichtung 111. Allgemein beschreiben verschiedene Ausführungsformen zwei Verwaltungsebenen in der Domäne 115. Diese Verwaltungsebenen beinhalten eine Geräteselbstverwaltung und fernspeicherkostengesteuerte Verwaltung. Die Vorrichtungsselbstverwaltung involviert die Vorrichtung 111, die ihre interne Leistung, ihre interne Leistungsfähigkeit und ihren thermischen Zustand überwacht und den Zustand zum Übergang durch verschiedene Ebene dynamisch verwaltet, um Systemleistungsfähigkeit, Latenz und thermische Erwartungen zu erfüllen. Die durch den Fernspeicherhost gesteuerte Verwaltung beinhaltet, dass die Fernspeicherhoststeuerung 110 explizite Zustandsinformationen an die Fernspeichervorrichtung 111 sendet, um bestimmte Zustandsübergänge zu erzwingen. Bei manchen Ausführungsformen kann es in diesem Fall gewisse Selbstentscheidungen der Vorrichtung geben, die Vorrang haben. Falls sich die Vorrichtung 111 zum Beispiel unter gewissen thermischen Bedingungen befindet, kann sie die Wahl treffen, gewisse Leistungszustandsübergänge von dem FMHC 110 zu ignorieren.
  • Bei manchen Ausführungsformen umfasst die thermische Fernspeicherleistungsdomäne 115 die Fernspeichervorrichtung 111, die Fernspeichermodule 112, die Fernspeicherhoststeuerung 110 und beliebige dazwischenliegende physische Schnittstellen oder Verbindungsvorrichtungen. Bei manchen Ausführungsformen ist die Fernspeicherhoststeuerung 110 für die Verwaltung der Domäne 115 verantwortlich. Bei manchen Ausführungsformen führt der FMHC 110 Leistungs- und Leistungsfähigkeitsmanagementaufgaben aus, die auf Informationen von verschiedenen Quellen beruhen. Diese Quellen beinhalten Latenztoleranzindikatoren von E/A-Vorrichtungen 106_1 bis 106 N (wobei N eine Zahl ist), Prozessorkernausführungszustand, Leistungsfähigkeitshinweise und Speicherzugriffsmusterhinweise aus dem OS und/oder Treibern 104, Fernspeicherlatenz-, Toleranz- und empfohlene Fernspeicherspeicherzustandsindikatoren.
  • Bei manchen Ausführungsformen wird die Arbeitslast, die der Fernspeichervorrichtung zugeführt wird, durch den FMHC 110 profiliert, um über den Leistungszustand zu entscheiden, in den das Fernspeichersubsystem platziert werden sollte. Dieser Algorithmus beinhaltet Profilieren einer Ruheperiode während der Arbeitslasten und Berücksichtigen der Leistungs- und Leistungsfähigkeitseinbußen, die mit dem Eintreten in einen Leistungszustand assoziiert sind. Je tiefer ein Leistungszustand, desto höhere Leistungseinsparungen bietet er, sobald der Eintritt in den Zustand erfolgt ist, aber typischerweise höhere Transientenenergiekosten, die mit dem Eintreten in den tieferen Zustand und dem Austreten aus dem tieferen Zustand assoziiert sind.
  • Bei manchen Ausführungsformen empfängt der FMHC 110 Latenztoleranzhinweise durch die p-Einheit 108 basierend auf den Informationen, die durch verbundene Vorrichtungen (z. B. Universal Serial Bus (USB)-Vorrichtungen, Anzeige usw.) bereitgestellt werden. Bei manchen Ausführungsformen empfängt der FMHC 110 die Benutzersteuerung 105, um den Leistungs- und/oder Leistungsfähigkeitszustand der Fernspeichermodule 112 zu bestimmen. Zum Beispiel wird einem Benutzer eine Auswahl gegeben, ein Fernspeicherleistungsprofil seiner Plattform basierend auf seinen Nutzungsfällen auszuwählen. Bei manchen Ausführungsformen haben das OS 104 und/oder die Softwareanwendungen 104a zusätzliche Intelligenz basierend auf den Arbeitslasten, die auf den Prozessorkernen 107 laufen, und liefern Informationen an die p-Einheit 108, die relevante Hinweise auf den FMHC 110 tunnelt. Bei manchen Ausführungsformen wird der Prozessorkemausführungszustand auch von der p-Einheit 108 direkt oder indirekt als Ausführungszustand an den FMHC 110 weitergeleitet, so dass er bei Leistungs- und Leistungsfähigkeitsentscheidungen des Fernspeichersubsystems (das die Fernspeichervorrichtung 111 und die Fernspeichermodule 112 umfasst) berücksichtigt werden kann.
  • Bei manchen Ausführungsformen werden zusätzliche Arbeitslastinformationen durch verschiedene Komponenten innerhalb des Subsystems dem OS 104 als Verkehrsmusterhinweise bereitgestellt, die es dem OS 104 ermöglichen könnten, mehr Fähigkeiten hinzuzufügen, wie Bewegen heißer Seiten von den Fernspeichermodulen 112 zu den Nahspeichermodulen 113, um das Gesamtleistungsprofil der Arbeitslast zu verbessern. Falls es wenig Aktivität für die Fernspeichermodule 112 gibt, kann das OS 104 bei manchen Ausführungsformen ermöglichen, dass die Fernspeicherhoststeuerung 110 das Fernspeichersubsystem in sehr tiefe Leistungszustände versetzt und OS-Zugriffsmechanismen auf die Fernspeichermodule 112 dynamisch anpasst, um viel größere Latenzen beim Zugreifen darauf zu berücksichtigen.
  • Verschiedene Ausführungsformen werden hier unter Bezugnahme auf Cx-Zustände für Prozessorzustände und Lx-Zustände für Fernspeicherzustände beschrieben. Cx-Zustände entsprechen Zuständen, die durch die Advanced Configuration and Power Interface (ACPI)-Spezifikation (z. B. Version 6.2 Releasing Mai 2017) definiert sind, während Lx-Zustände für Peripheral Component Interconnect Express (PCIe)-Verbindungszustände vortrainieren. Lx-Zustände werden grob als Fernspeicherzustände bezeichnet, da die PCIe-Verbindung den Prozessor 101 mit dem Fernspeicher 102 verbindet. Die Ausführungsformen sind jedoch nicht auf Cx-Zustände und Lx-Zustände beschränkt. Andere Prozessorzustände und Speicherverbindungszustände und/oder Speicherleistungszustände können verwendet werden. Zum Beispiel P-Zustände und S-Zustände. Bei manchen Ausführungsformen kann der Mehrebenenspeicher stattdessen und/oder zusätzlich zur Verwendung bestimmter Cx-, Lx-, P- und/oder S-Zustände auch mit Referenzzuständen verwaltet werden, die Ansprechempfindlichkeit, rechenintensive Aufgaben, Hintergrundaufgaben usw. repräsentieren.
  • C-Zustände sind die Ruhe- (Stromspar-)Zustände. C-Zustand x, Cx, bedeutet, dass sich ein oder mehrere Subsysteme der CPU im Leerlauf befinden, abgeschaltet sind. C-Zustände sind Zustände, wenn die CPU ausgewählte Funktionen reduziert oder ausgeschaltet hat. Unterschiedliche Prozessoren unterstützen unterschiedliche Anzahlen von C-Zuständen, in denen verschiedene Teile der CPU ausgeschaltet sind.
  • P-Zustände, die auch durch die ACPI-Spezifikation definiert sind, stellen einen Weg bereit, die Frequenz und Spannung, mit denen der Prozessor läuft, so zu skalieren, dass der Leistungsverbrauch der CPU reduziert wird. Die Anzahl verfügbarer P-Zustände kann für jedes CPU-Modell unterschiedlich sein, sogar jene aus derselben Familie.
  • S-Zustände sind Schlafzustände, die durch die ACPI definiert sind. Bei S0 handelt es sich um einen laufenden oder aktiven Zustand. In diesem Zustand läuft die Maschine vollständig. S 1 ist ein Schwebezustand. In diesem Zustand setzt die CPU-Aktivität aus, behält aber ihre Kontexte bei. S1- und S3-Zustände sind Schlafzustände. In diesen Zuständen werden Speicherkontexte gehalten, aber CPU-Kontexte gehen verloren. Die Unterschiede zwischen S2 und S3 bestehen in der CPU-Reinitialisierung durch Firmware und der Geräte-Reinitialisierung. S4 ist ein Schlafzustand, in dem Kontexte auf einer Platte (z. B. Fernspeicher) gespeichert werden. Bei der Rückkehr in den S0-Zustand wird der Kontext wieder hergestellt. Dies ist identisch mit Soft-Off für Hardware. Dieser Zustand kann entweder durch das OS oder Firmware realisiert werden. S5 ist ein Soft-Off-Zustand. Alle Aktivitäten stoppen und alle Kontexte gehen in diesem Zustand verloren.
  • C0 ist ein aktiver Zustand, bei dem die CPU/der Kern Anweisungen ausführt. C1 ist ein Halt-Zustand, in dem nichts ausgeführt wird, er kann aber augenblicklich zu C0 zurückkehren. C2 ist ein Stoppuhr-Zustand, ähnlich wie C1, aber es dauert längere Zeit, um zu C0 zurückzukehren. C3 ist ein Schlafzustand. Ein Prozessor kann aus dem C3-Zustand in den C0 zurückgehen, benötigt aber erheblich längere Zeit.
  • Das PCIe definiert vier Verbindungsleistungszustandspegel, die softwaregesteuert sind: voll aktiver Zustand (L0), elektrischer Leerlauf- oder Bereitschaftszustand (L0s), L1 (Bereitschaftszustand mit niedrigerer Leistung/Schlummerzustand), L2 (Schlafzustand mit niedriger Leistung) und L3 (Verbindungs-Aus-Zustand).
  • Wenn Verbindungen von L0- zu L3-Zuständen übergehen, nehmen sowohl Stromspar- als auch Austrittslatenzen zu. Im L0-Zustand ist die Verbindung in ihrem Bereitschaftsmodus voll aktiv und verbraucht die maximale Wirkleistung. Während kurzer Intervalle von logischem Leerlauf in Abwesenheit von Verbindungsaktivitäten kann die Verbindung für eine kleine Leistungsreduktion in einen LOs-Zustand mit sehr niedrigen Austrittslatenzen (einige hundert Nanosekunden) übergehen.
  • In dem L1-Zustand sind alle Versorgungen und alle Referenztaktkomponenten vollständig aktiv, außer wie durch die Taktleistungsverwaltung erlaubt, wenn sie aktiviert sind. Wenn die optionale interne Phasenregelschleife (PLL) aus- oder eingeschaltet ist, können Sender (Tx) und Empfänger (Rx) ausgeschaltet oder im Leerlauf sein und der Gleichtaktschalter bleibt aktiv. In Abhängigkeit von der Anzahl optionaler aktiver Vorrichtungen im L1-Zustand können Stromeinsparungen im L1-Bereitschaftsmodus beschränkt sein und erfüllen die Anforderungen des Mobilmarkts nicht wie beabsichtigt, obwohl die Austrittslatenzen des L1-Zustands unter gewissen Bedingungen in der Größenordnung von Mikrosekunden liegen könnten.
  • Im L2-Ruhezustand sind alle Takte und Hauptleistungsversorgungen ausgeschaltet, was die höchsten Leerlaufzustandsleistungseinsparungen bereitstellt. Allerdings sind Austrittslatenzen sehr lang, in der Größenordnung von Millisekunden, und nicht akzeptabel; daher wird der L2-Leistungszustand in mobilen Anwendungen nicht häufig verwendet.
  • Um den Leistungsverbrauch im L1-Leerlaufzustand mit vernünftigen Austrittslatenzzielen und ohne die Gesamtleistungsfähigkeit der PCIe-Verbindungszustände zu beeinträchtigen, definiert PCI-SIG zwei neue Unterzustände als Teil des L1-Verbindungszustands. Die L1-Unterzustände L1.1 und LI. 2 nutzen ein bidirektionales Seitenbandtaktanfragesignal pro Verbindung, das von beiden Ports an den beiden Enden einer Verbindung benötigt wird. Falls beide Enden der Verbindung nicht für den L1-Unterzustand fähig und aktiviert sind, dann kann die Verbindung nur im Legacy-L1-Leistungszustand arbeiten.
  • Interne PLLs weisen keine Option mehr auf, eingeschaltet zu sein und sollten sowohl in L1.1 als auch L1.2 ausgeschaltet sein, da Referenztakteingaben in L1-Unterzuständen nicht benötigt werden. Gleichermaßen sind sowohl Tx als auch Rx ausgeschaltet und müssen keinen elektrischen Leerlauf in diesen Unterzuständen detektieren. Der Hauptunterschied zwischen L1.1 und L1.2 ist der Gleichtaktspannungsstatus, da er im L1.1 beibehalten wird und im L1.2-Unterzustand ausgeschaltet ist. Daher ist die Austrittslatenz von L1.2 aufgrund der Gleichtaktwiederherstellungszeit viel länger als L1.1.
  • 2 veranschaulicht ein koordiniertes Leistungsverwaltungssystem 200. In einem traditionellen Prozessorsystem ist der Leistungs- und/oder Leistungsfähigkeitszustand des Fernspeichers direkt oder eng mit dem Leistungszustand des Prozessors oder Prozessorkerns gekoppelt. In diesem Beispiel sind vier Zustandskategorien gezeigt. Es können jedoch weniger oder mehr Zustände vorliegen. Die linke Spalte stellt die Leistungszustände 201 für einen Prozessor oder Prozessorkern bereit, während die rechte Spalte den Leistungszustand 202 für Fernspeicher bereitstellt. Wenn sich der Prozessor im aktiven Zustand (z. B. C0-Zustand) befindet, kann der Fernspeicherleistungszustand einer von dem L0- oder LOs-Zustand sein. Wenn sich der Prozessor im C2- oder C2R-Zustand befindet, kann der Fernspeicherleistungszustand einer von dem L0- oder LOs-Zustand sein. Wenn sich der Prozessor in einem des C3- bis C6-Zustands befindet, befindet sich der Fernspeicherleistungszustand in einem L1-Zustand. Wenn sich der Prozessor im C11-Zustand befindet, befindet sich der Fernspeicherleistungszustand im L1.2-Zustand. Dieses koordinierte Leistungsverwaltungssystem 200 berücksichtigt keine aktuelle und zukünftige Arbeitslast, Aktivität von Speicherverbindungen, OS-basierte Leistungsfähigkeitshinweise usw. In manchen Fällen können tiefere Leistungszustände für Speicherverbindungen und Fernspeicher verfügbar sein, aber nicht eingesetzt werden, weil sich der Prozessor in dem höheren aktiven Zustand befinden kann. Von daher bleiben Leistungsfähigkeit und Leistung verschwendet. Diverse Ausführungsformen stellen eine Systemlösung bereit, um den Leistungs-, Leistungsfähigkeits- und Latenzzustand des FM-Subsystems durch eine Kombination von Hardware- und Softwarelösungen auf Systemebene zu verwalten, die eine Architektur mit geschlossenem Regelkreis erzeugen, bei der Entscheidungen basierend auf aktuellen Arbeitslastanforderungen, Zugriffsprofilen, System- und/oder thermischem Zustand der Vorrichtung dynamisch angepasst werden.
  • Tabelle 1 veranschaulicht ein Beispiel für den koordinierten Prozessorleistungszustand und PCIe-Verbindungszustand (der in einen Fernspeicherzustand übersetzt wird). Die Latenz kann in Abhängigkeit von der Fernspeichervorrichtung variieren. Tabelle 1
    Cx-Zustand des Prozessors FM-Zustand PCIe-Verbindungszustand FM-Modulzustand FM-Ausgangslatenz (µS)
    C2 PM1 L0s Leerlauf 1,1
    C2R PM1
    C3 PM2 L1 Schlummern 10
    C6 PM2
    C7 PM3 L1.1 Schlaf 50
    C8 PM3
    C9 PM4 L1.2 Schlaf+ 150
    C10 PM4
    C11 (S0ix) PM5 L1.2 Tiefschlaf 5700
    S3 PM6 Aus (L2, L3) Koma 30000
    S4 AUS Aus Aus 100000
  • Hier bezieht sich „FM-Zustand“ auf den Zustand, der von der Fernspeicherhoststeuerung 110 im Host basierend auf den Entscheidungen, die von dem Host getroffen werden, an die Fernspeichervorrichtung 111 kommuniziert wird. Der FM-Zustand gibt den Zustand des gesamten Fernspeichersubsystems wieder. Hier bezieht sich „FM-Modulzustand“ auf eine interne Abbildung des vom Host kommunizierten Zustands auf den vorrichtungsinternen Zustand und Komponenten, die mit der Vorrichtung verbunden sind, z. B. Medien, Leistungslieferkomponenten usw. Der FM-Modulzustand bezieht sich auch auf den internen Zustand der FM-Vorrichtung 111 und der an die Fernspeichervorrichtung 111 angeschlossenen Komponenten. Bei diesem Beispiel gibt es eine Eins-zu-eins-Abbildung zwischen dem FM-Zustand und dem FM-Modulzustand, weil dies bei einer Implementierung so ist. Es könnte jedoch eine andere Implementierung geben, bei der derselbe „FM-Modulzustand“ auf mehr als einen „FM-Vorrichtungszustand“ abgebildet wird.
  • 3 veranschaulicht ein entkoppeltes Leistungsverwaltungssystem 300 gemäß manchen Ausführungsformen. Im Vergleich zum koordinierten Leistungsverwaltungssystem 200 sind bei verschiedenen Ausführungsformen der oder die Leistungszustände 302 des Fernspeichers 102 dezentral und von dem Leistungs- und/oder Leistungszustand 301 des Prozessors 101 und/oder der Prozessorkerne 107 entkoppelt. In diesem Beispiel hängt die Entscheidung für einen bestimmten PCIe-Verbindungszustand 302 für Fernspeicher von einer Anzahl von Faktoren und nicht von einem bloßen Leistungs- und/oder Leistungsfähigkeitszustand 301 des Prozessors ab.
  • Bei verschiedenen Ausführungsformen treffen die p-Einheit 108, der NMC 109, der FMHC 110 und/oder die Fernspeichervorrichtung 111 Entscheidungen über den Leistungs- und/oder Leistungsfähigkeitszustand der PCIe-Verbindung (hier als FM-Zustand bezeichnet) auf ihren jeweiligen Pegeln. Diese Entscheidungen werden koordiniert, um für eine gegebene Zeit den optimalsten Leistungs- und/oder Leistungszustand der PCIe-Verbindung bereitzustellen. Zum Beispiel trifft jede einzelne Komponente (z. B. die p-Einheit 108, der NMC 109, der FMHC 110, die Fernspeichervorrichtung 111) ihre Entscheidungen basierend auf den Informationen, die auf ihrer Ebene in einer Pipeline verfügbar sind, und koordiniert die Entscheidungen der Komponenten darunter in der Pipeline. Wie hier besprochen, beinhaltet der Entscheidungsprozess dynamisches Profilieren von Arbeitslastspeisung des Fernspeichers 112, Latenztoleranzhinweise, Anwendungsfälle, Leistungsfähigkeitshinweise und/oder Zugriffsmusterhinweise vom OS 104, den Ausführungszustand des Prozessors 107, Metriken, die angeben, wie lange Daten vor dem nächsten Zugriff erwartungsgemäß in den Fernspeichermodulen 112 verbleiben usw.
  • Wenn sich der Prozessor in einem von den C0- bis C2R-Zuständen befindet, kann der Fernspeicherleistungszustand einer von L0, L0s, L0s.1, L1 oder L1.1 sein. Jeder PCI-Verbindungszustand weist eine assoziierte Austrittslatenz von seinem Zustand in den L0-Zustand auf. In Abhängigkeit von den verschiedenen hier besprochenen Faktoren in Bezug auf den Entscheidungsprozess und die Austrittslatenzen können PCIe-Verbindungen zwischen verschiedenen Verbindungszuständen übergehen, um Leistung und/oder Leistungsfähigkeit zu optimieren. PCI-Verbindungszustände können zum Beispiel von L0s nach L0, L0s.1 nach L0 und andere Zustände basierend auf einem Timer übergehen. Der Timer kann Teil des FMHC 110 sein, der basierend auf der Verweilzeit in diesem Verbindungszustand bestimmt, wann von einem PCI-Verbindungszustand in einen anderen übergegangen werden soll. Fortfahrend mit dem Beispiel, wenn sich der Prozessor im C9-Zustand befindet, befindet sich der PCIe-Verbindungszustand im L1.2-Zustand.
  • Tabelle 2 veranschaulicht ein Beispiel für den entkoppelten Prozessorleistungszustand und PCIe-Verbindungszustand (der in einen Fernspeicherzustand übersetzt). Die Latenz kann in Abhängigkeit von der Fernspeichervorrichtung variieren. Tabelle 2
    Cx-Zustand des Prozessors 107 Zustand der Fernspeichervorrichtung 111 PCIe-Verbindungszustand Zustand des Fernspeichermoduls 112 Austrittslate nz in (µS) des FM-Moduls 112
    C0-C8 PM0 L0s L0s Leerlauf 1
    PM0 L0s L0s.1 Leerlauf 3
    PM1 L1 Tiefleerlauf 5
    PM2 L1 Schlummern 15
    PM3 L1.1 Schlaf 50
    C9 PM4 L1.2 Schlaf 210
    C10 PM4 L1.2 Schlaf 210
    PM5 L1.2 Tiefschlaf 5700
    S3 Aus Aus (L2, L3) Aus 30000
    S4 Aus Aus Aus 100000
  • Von der voraussichtlichen PCIe-Verbindungsleistungsverwaltung ermöglicht die p-Einheit 108 dem PCIe-Verbindungszustand des FMHC 110, autonom einen niedrigeren Zustand einzunehmen oder basierend auf ihrer Richtlinie und Randbedingung in niedrige Leistung einzutreten, und der FMHC 110 initiiert den Verbindungszustandsübergang. Wie hier beschrieben, gehen Benutzereingaben, Latenztoleranz der verbundenen Vorrichtungen, OS- und Anwendungshinweise, Temperatur der Fernspeichervorrichtung und Ausführungszustand der CPU-Kerne in diese Richtlinien ein. Bei manchen Ausführungsformen spiegelt der FMHC 110 (auch als PCIe-Steuerung bezeichnet) dann die Zustände der FMHC-Verbindung zum Fernspeicher 112 wider. Bei manchen Ausführungsformen beherbergt FMHC 110 einen dynamischen Energieverfolgungsmechanismus, der die Arbeitslasten für Latenz und Energiekosten für verschiedene Leistungszustandsübergänge profiliert. Bei manchen Ausführungsformen ändert der dynamische Mechanismus im FMHC 110 die Leistungsverwaltungsrichtlinien des Fernspeichersubsystems basierend auf dem Profil der aktuellen Arbeitslast und entscheidet dynamisch, welcher Leistungszustand der beste für die Arbeitslast ist.
  • 4 veranschaulicht ein Flussdiagramm 400 eines entkoppelten Leistungsverwaltungssystems für eine hohe Batterielebensdauer (HOBL) und/oder Arbeitslasten mit Dienstgüteanforderungen (QoS) gemäß manchen Ausführungsformen. Obwohl verschiedene Blöcke in einer spezifischen Reihenfolge veranschaulicht sind, kann die Reihenfolge modifiziert werden. Zum Beispiel können manche Blöcke vor anderen durchgeführt werden, während manche Blöcke parallel durchgeführt werden.
  • Bei Block 401 bestimmt die p-Einheit 108 Richtlinie und Randbedingung basierend auf Plattformhinweisen. Bei manchen Ausführungsformen umfasst die Richtlinie Maximieren der Batterielebensdauer (HOBL) und/oder Dienstgüte (QoS) usw. Bei manchen Ausführungsformen können die Randbedingungen die Leistungshüllkurve des Computersystems, thermische Beschränkungen des Computersystems und/oder einzelner Kerne 107, die Alterung von Vorrichtungen in dem System usw. beinhalten, sammelt die p-Einheit 108 Unmengen von Daten von verschiedenen Sensoren (z. B. thermischen Sensoren, Spannungsversorgungssensoren, Stromsensoren, Strom- und zukünftige Arbeitslasten, Nah- und Fernspeichernutzung für unterschiedliche Arbeitslasten, Hinweise vom OS 104 usw.), um dem FMHC 110 zu empfehlen, wie der PCIe-Verbindungszustand sein sollte. Der PCIe-Verbindungszustand entspricht dem Fernspeicherzustand.
  • Die HOBL-Richtlinie richtet sich auf die Präferenz für Stromeinsparungen auf Kosten der Leistungsfähigkeit. Wenn zum Beispiel ein Computersystem mit einer Batterie läuft, dann können PCIe-Verbindungszustände ausgewählt werden, um weniger Verkehr auf der PCIe-Verbindung zu erreichen. In diesem Fall kann die p-Einheit zum Beispiel mehr auf Nahspeichermodule 113 zum Zugreifen auf und/oder Speichern von Daten als auf Fernspeichermodule 112 angewiesen sein. Für HoBL-Arbeitslasten mit ungefähr 0 % Fernspeicheraktivität erreicht der L1.1-Leistungsfluss die niedrigste Verbindungsleistung, wenn die CPU-Kerne 107 aktiv sind. Der tiefste Leistungszustand von L1.1 wird gewählt, um die maximale Austrittslatenz für Speicherverkehr zu begrenzen, wenn der Verkehr auf den Fernspeicher 112 trifft. Tiefere Zustände werden jedoch zugelassen, wenn bei einer bestimmten Implementierung die Austrittslatenzen die Anforderungen des Systems erfüllen, an das die Implementierung angeschlossen ist.
  • QoS ist eine Richtlinie, die sich auf die Präferenz für die Leistungsfähigkeit für Energieeinsparungen richtet. Wenn zum Beispiel ein Computer an eine AC/DC-Steckdose angeschlossen ist und die Batterie nicht die primäre Stromversorgungsquelle ist, können die p-Einheit und andere Steuerungen PCIe-Verbindungen angemessen auswählen, die eine geringere Austrittslatenz für eine schnellere Reaktion beim Ausführen einer Arbeitslast bereitstellen. Für Arbeitslasten mit Ansprechempfindlichkeit oder QoS-Anforderungen erfüllt der L0s.1-Leistungsfluss eine 3-µs-Weckanforderung (die sich an der Speicherselbstauffrischungslatenz ausrichtet) und spart zusätzliche Leistung im Vergleich zu einer Plattformleistung von ungefähr 200 mW des L0s-Zustands. Bei diesem Beispiel würde ohne L0s.1 die PCIe-Verbindung in LOs eintreten, um 3 µs zu erfüllen. Die PCIe-Verbindungszustände in Diagramm 420 veranschaulichen den Transfer zwischen PCIe-Verbindungszuständen basierend auf Austrittslatenzzeiten. Die Austrittslatenzzeiten zwischen den PCIe-Verbindungszuständen sind Beispiele zum Veranschaulichen des Entscheidungsprozesses zum Eintreten in gewisse PCIe-Verbindungszustände.
  • Bei Block 402 profiliert der FMHC 110 dynamisch die Arbeitslast, die den Fernspeicher und andere Parameter speist. Bei manchen Ausführungsformen profiliert FMHC 110 die Leerlaufperiode während der Arbeitslasten und berücksichtigt die Leistungs- und Leistungsfähigkeitseinbußen, die mit dem Eintreten in einen Leistungszustand assoziiert sind. Je tiefer ein Leistungszustand, desto höhere Leistungseinsparungen bietet er, sobald der Eintritt in den Zustand erfolgt ist, aber typischerweise höhere Transientenenergiekosten, die mit dem Eintreten in den tieferen Zustand und dem Austreten aus dem tieferen Zustand assoziiert sind.
  • Bei Block 403 schlägt der FMHC 110 einen Leistungszustand für den Fernspeicher 111/112 basierend auf der Arbeitslast und anderen Parametern vor. Zusätzlich zu dem dynamischen Profilieren der Arbeitslastspeisung des Fernspeichers 112 kann der FMHC 110 auch Latenztoleranzhinweise von der p-Einheit für verschiedene Vorrichtungen, die an das Computersystem angeschlossen sind, Hinweise vom OS 104, die ein Benutzernutzungsverhalten in Bezug auf eine durch den oder die Kerne 107 ausgeführte Anwendung, einen Prozessorkernausführungszustand usw. angeben, berücksichtigen.
  • Bei Block 404 tritt der Fernspeicher 112 in den vorgeschlagenen Leistungszustand ein. Bei manchen Ausführungsformen kann der FMHC 110 einen PCIe-Verbindungszustand vorschlagen, aber die Fernspeichervorrichtung 111 (z. B. die lokale Steuerung für Fernspeichermodule 112) kann sich für einen anderen Handlungsplan entscheiden. In diesem Fall kann die Empfehlung von der Fernspeichervorrichtung 111 Vorrang vor der Empfehlung von der p-Einheit 108 und/oder dem FMHC 110 haben. Bei manchen Ausführungsformen verhält sich die p-Einheit 108 als eine Supervisor-p-Einheit, während sich die Nahspeichersteuerung 109, der FMHC 110 und/oder die Fernspeichervorrichtung 111 hinsichtlich des Einstellens von PCIe-Verbindungszuständen als Supervisand-p-Einheiten verhalten. Bei manchen Ausführungsformen verhält sich die Nahspeichersteuerung 109 als eine Supervisor-p-Einheit für ihre Domäne 115. Bei manchen Ausführungsformen verhält sich der FMHC 110 als eine Supervisor-p-Einheit für seine Domäne 115. Bei manchen Ausführungsformen verhält sich die Speichervorrichtung 111 als eine Supervisor-p-Einheit für ihre Domäne 116.
  • Das Schema verschiedener Ausführungsformen ermöglicht, dass neue Computerarchitekturen auf eine Weise aufgebaut werden, bei der Legacy-Arbeitslasten, die möglicherweise wenig auf Speicher jenseits des DRAM-basierten Nahspeichers 113 zugreifen müssen, wenig Einfluss auf die Batterielebensdauer in den Plattformen haben, und ermöglicht gleichzeitig, dass Leistung, Leistungsfähigkeit und thermische Eigenschaften für neue Arbeitslasten optimiert werden, die entfernte Speichermodule 112 nutzen können.
  • Elemente von Ausführungsformen (z. B. das Flussdiagramm unter Bezugnahme auf 4) sind auch als ein maschinenlesbares Medium (z. B. ein Speicher) zum Speichern der computerausführbaren Anweisungen (z. B. Anweisungen zum Implementieren beliebiger anderer hier besprochener Prozesse) bereitgestellt. Bei manchen Ausführungsformen umfasst die Rechenplattform einen Speicher, einen Prozessor, maschinenlesbare Speichermedien (auch als greifbares maschinenlesbares Medium bezeichnet), eine Kommunikationsschnittstelle (z. B. eine drahtlose oder drahtgebundene Schnittstelle) und einen Netzwerkbus, die miteinander gekoppelt sind.
  • Bei manchen Ausführungsformen ist der Prozessor ein Digitalsignalprozessor (DSP: Digital Signal Processor), eine anwendungsspezifische integrierte Schaltung (ASIC: Application Specific Integrated Circuit), eine Universalzentralverarbeitungseinheit (CPU: Universal-Central Processing Unit) oder eine Niedrigleistungslogik, die eine einfache Zustandsmaschine implementiert, um das Verfahren unter Bezugnahme auf 4 und/oder verschiedene Ausführungsformen usw. durchzuführen.
  • Bei manchen Ausführungsformen sind die verschiedenen Logikblöcke des Systems über einen Netzwerkbus miteinander gekoppelt. Jedes geeignete Protokoll kann verwendet werden, um den Netzwerkbus zu implementieren. Bei manchen Ausführungsformen beinhaltet das maschinenlesbare Speichermedium Anweisungen (auch als Programmsoftwarecode/-anweisungen bezeichnet) zum Berechnen oder Messen eines Abstands und einer relativen Orientierung einer Vorrichtung unter Bezugnahme auf eine andere Vorrichtung, wie unter Bezugnahme auf verschiedene Ausführungsformen und ein Flussdiagramm beschrieben.
  • Programmsoftwarecode/-anweisungen, die mit Flussdiagrammen unter Bezugnahme auf 4 (und/oder verschiedene Ausführungsformen) assoziiert sind und ausgeführt werden, um Ausführungsformen des offenbarten Gegenstands zu implementieren, können als Teil eines Betriebssystems oder einer spezifischen Anwendung, Komponente, Programm, Objekt, Modul, Routine oder andere Sequenz von Anweisungen oder Struktur von Sequenzen von Anweisungen, die als „Programmsoftwarecode/-anweisungen“, „Betriebssystem-Programmsoftwarecode/-anweisungen“, „Anwendungsprogrammsoftwarecode/-anweisungen“ oder einfach „Software“ oder Firmware bezeichnet werden, die in den Prozessor eingebettet sind. Bei manchen Ausführungsformen werden der Programmsoftwarecode/die -anweisungen, die mit Flussdiagrammen unter Bezugnahme auf 4 (und/oder verschiedene Ausführungsformen) assoziiert sind, durch das System ausgeführt.
  • Bei manchen Ausführungsformen werden der Programmsoftwarecode/die Programmbefehle, die unter Bezugnahme auf 4 (und/oder verschiedene Ausführungsformen) assoziiert sind, in einem computerausführbaren Speichermedium gespeichert und durch den Prozessor ausgeführt. Hier ist das computerausführbare Speicherungsmedium ein greifbares maschinenlesbares Medium, das verwendet werden kann, um Programmsoftwarecode/-anweisungen und Daten zu speichern, die bei Ausführung durch eine Rechenvorrichtung bewirken, dass ein oder mehrere Prozessoren (ein) Verfahren durchführen, wie es/sie in einem oder mehreren beigefügten Ansprüchen angegeben sein können, die sich auf den offenbarten Gegenstand beziehen.
  • Das greifbare maschinenlesbare Medium kann eine Speicherung des ausführbaren Softwareprogrammcodes/der -anweisungen und Daten an verschiedenen greifbaren Orten einschließen, die zum Beispiel ROM, flüchtigen RAM, nichtflüchtigen Speicher und/oder Cache und/oder anderen greifbaren Speicher einschließen, wie in der vorliegenden Anmeldung referenziert. Abschnitte dieses Programmsoftwarecodes/dieser - anweisungen und/oder Daten können in einer beliebigen dieser Massen- und Arbeitsspeichervorrichtungen gespeichert werden. Außerdem kann/können der Programmsoftwarecode/die -anweisungen von einer anderen Speicherung erhalten werden, einschließlich z. B. über zentralisierte Server oder Peer-to-Peer-Netzwerke und dergleichen, einschließlich des Internets. Unterschiedliche Abschnitte des Softwareprogrammcodes/der - anweisungen und Daten können zu unterschiedlichen Zeiten und in unterschiedlichen Kommunikationssitzungen oder in der gleichen Kommunikationssitzung erhalten werden.
  • Bei manchen Ausführungsformen beinhaltet das maschinenlesbare Speichermedium maschinenlesbare Anweisungen, die bei Ausführung bewirken, dass eine oder mehrere Maschinen ein Verfahren durchführen, das Folgendes umfasst: Bestimmen der Leistungs- und/oder Leistungsfähigkeitsrichtlinie und Randbedingungen für ein Prozessorsystem; Kommunizieren eines ersten Leistungszustands für eine Verbindung über eine Speichersteuerung; dynamisches Profilieren der Arbeitslast, die eine Speichervorrichtung speist, die mit der Speichersteuerung gekoppelt ist; und Vorschlagen eines zweiten Leistungszustands für die Verbindung basierend auf der Leistungs- und/oder Leistungfähigkeitsrichtlinie und Randbedingungen und dynamisch profilierter Arbeitslast. Bei manchen Ausführungsformen beinhaltet die Leistungs- und/oder Leistungsfähigkeitsrichtlinie eine hohe Batterielebensdauer und Dienstqualität. Bei manchen Ausführungsformen ist der erste Leistungszustand für die Verbindung gleich dem zweiten Leistungszustand für die Verbindung. Bei manchen Ausführungsformen unterscheidet sich der erste Leistungszustand für die Verbindung vom zweiten Leistungszustand für die Verbindung. Bei manchen Ausführungsformen hat der zweite Leistungszustand Vorrang vor dem ersten Leistungszustand. Bei manchen Ausführungsformen beinhaltet das maschinenlesbare Speichermedium ferner maschinenlesbare Anweisungen, die bei Ausführung bewirken, dass die eine oder die mehreren Maschinen das Verfahren durchführen, das Folgendes umfasst: Bestimmen einer Austrittslatenz aus einem Leistungszustand der zweiten Verbindung; und Berücksichtigen der Austrittslatenz durch die Speichersteuerung, um einen Leistungszustand der zweiten Verbindung zu bestimmen.
  • Der Softwareprogrammcode/die -anweisungen (die unter Bezugnahme auf 4 und andere Ausführungsformen assoziiert sind) und Daten können in ihrer Gesamtheit vor der Ausführung eines jeweiligen Softwareprogramms oder einer jeweiligen Anwendung durch die Rechenvorrichtung erhalten werden. Alternativ können Teile des Softwareprogrammcodes/der -anweisungen und der Daten dynamisch erhalten werden, z. B. Just-in-Time, wenn sie zur Ausführung benötigt werden. Alternativ kann beispielhaft eine Kombination dieser Weisen zum Erhalten des Softwareprogrammcodes/der -anweisungen und der Daten erfolgen, z. B. beispielhaft für unterschiedliche Anwendungen, Komponenten, Programme, Objekte, Module, Routinen oder andere Sequenzen von Anweisungen oder eine Organisation von Sequenzen von Anweisungen. Somit ist nicht erforderlich, dass sich die Daten und Anweisungen zu einem bestimmten Zeitpunkt in ihrer Gesamtheit auf einem greifbaren maschinenlesbaren Medium befinden.
  • Beispiele für greifbare computerlesbare Medien sind unter anderem, ohne darauf beschränkt zu sein, Medien von einem beschreibbaren und nicht beschreibbaren Typ, wie flüchtige und nichtflüchtige Speichervorrichtungen, Nurlesespeicher (ROM), Direktzugriffsspeicher (RAM), Flash-Speichervorrichtungen, Disketten und andere entfernbare Platten, magnetische Speicherungsmedien, optische Speicherungsmedien (z. B. Compact Disk Read-Only Memory (CD-ROMS), Digital Versatile Disks (DVDs) usw.). Der Softwareprogrammcode/die -anweisungen kann/können temporär in digitalen greifbaren Kommunikationslinks gespeichert werden, während elektrische, optische, akustische oder andere Formen von sich ausbreitenden Signalen wie Trägerwellen, Infrarotsignalen, Digitalsignalen usw. durch solche greifbaren Kommunikationsverbindungen implementiert werden.
  • Allgemein beinhaltet das greifbare maschinenlesbare Medium einen beliebigen greifbaren Mechanismus, der Informationen in einer Form bereitstellt (d. h. in digitaler Form, z. B. Datenpakete, speichert und/oder überträgt), auf die eine Maschine (d. h. eine Rechenvorrichtung) zugreifen kann, die z. B. in einer Kommunikationsvorrichtung, einer Rechenvorrichtung, einer Netzwerkvorrichtung, einem persönlichen digitalen Assistenten, einem Herstellungswerkzeug, einer Mobilkommunikationsvorrichtung enthalten sein kann, unabhängig davon, ob sie Anwendungen und gesponserte Anwendungen aus dem Kommunikationsnetzwerk wie etwa dem Internet, z. B. ein iPhone®, Galaxy® oder dergleichen, oder einer beliebigen anderen Vorrichtung einschließlich einer Rechenvorrichtung, herunterladen und ausführen kann oder nicht. Bei einer Ausführungsform liegt das prozessorbasierte System in Form eines PDA (Personal Digital Assistant), eines Mobiltelefons, eines Notebook-Computers, eines Tablets, einer Spielekonsole, einer Set-Top-Box, eines eingebetteten Systems, eines TV (Fernseher), eines Personal-Desktop-Computers usw. vor oder ist darin enthalten. Alternativ dazu können die traditionellen Kommunikationsanwendungen und (eine) gesponserte Anwendung(en) in einigen Ausführungsformen des offenbarten Gegenstands verwendet werden.
  • 5 veranschaulicht eine intelligente Vorrichtung oder ein Computersystem oder ein SoC (System-on-Chip) mit entkoppeltem Leistungsverwaltungssystem, um Leistungsthermen und Latenz zu optimieren, gemäß manchen Ausführungsformen.
  • Es wird darauf hingewiesen, dass jene Elemente von 5, die gleichen Bezugszahlen (oder Bezeichnungen) wie die Elemente einer beliebigen anderen Figur aufweisen, auf eine beliebige ähnliche Weise wie jene beschriebene arbeiten oder funktionieren können, aber nicht darauf beschränkt sind. Jeder Block in diesem intelligenten Gerät kann die Einrichtung zur dynamischen Optimierung der Batterieladespannung aufweisen.
  • Bei manchen Ausführungsformen repräsentiert die Vorrichtung 5500 eine geeignete Rechenvorrichtung, wie etwa ein Rechentablett, ein Mobiltelefon oder Smartphone, einen Laptop, einen Desktop, eine Internet-of-Things (IoT)-Vorrichtung, einen Server, eine tragbare Vorrichtung, eine Set-Top-Box, ein drahtloses E-Lesegerät oder dergleichen. Es versteht sich, dass gewisse Komponenten allgemein gezeigt sind und nicht alle Komponenten einer solchen Vorrichtung in der Vorrichtung 5500 gezeigt sind.
  • Bei einem Beispiel weist die Vorrichtung 5500 ein SoC (System-on-Chip) 5501 auf. Eine beispielhafte Grenze des SoC 5501 ist unter Verwendung gepunkteter Linien in 5 veranschaulicht, wobei manche beispielhaften Komponenten als in dem SoC 5501 enthalten veranschaulicht sind - jedoch kann das SoC 5501 beliebige geeignete Komponenten der Vorrichtung 5500 beinhalten.
  • Bei manchen Ausführungsformen weist die Vorrichtung 5500 einen Prozessor 5504 auf. Der Prozessor 5504 kann eine oder mehrere physische Vorrichtungen, wie Mikroprozessoren, Anwendungsprozessoren, Mikrosteuerungen, programmierbare Logikvorrichtungen, Verarbeitungskerne oder andere Verarbeitungsimplementierungen wie disaggregierte Kombinationen mehrerer Rechen-, Grafik-, Beschleuniger-, E/A- und/oder anderer Verarbeitungschips einschließen. Die Verarbeitungsoperationen, die durch den Prozessor 5504 durchgeführt werden, schließen die Ausführung einer Betriebsplattform oder eines Betriebssystems, auf der/dem Anwendungen und/oder Vorrichtungsfunktionen ausgeführt werden, ein. Die Verarbeitungsoperationen schließen Operationen in Bezug auf eine E/A (Eingabe/Ausgabe) mit einem menschlichen Benutzer oder mit anderen Vorrichtungen, Operationen in Bezug auf eine Leistungsverwaltung, Operationen in Bezug auf ein Verbinden der Rechenvorrichtung 5500 mit einer anderen Vorrichtung und/oder dergleichen ein. Die Verarbeitungsoperationen können auch Operationen in Bezug auf Audio-E/A und/oder Anzeige-E/A beinhalten.
  • Bei einigen Ausführungsformen beinhaltet der Prozessor 5504 mehrere Verarbeitungskerne (auch als Kerne bezeichnet) 5508a, 5508b, 5508c. Wenngleich lediglich drei Kerne 5508a, 5508b, 5508c in 5 veranschaulicht sind, kann der Prozessor 5504 eine beliebige andere geeignete Anzahl von Verarbeitungskernen, z. B. dutzende oder sogar hunderte von Verarbeitungskernen, einschließen. Die Prozessorkerne 5508a, 5508b, 5508c können auf einem einzigen integrierten Schaltkreis (IC)-Chip implementiert sein. Darüber hinaus kann der Chip einen oder mehrere gemeinsam genutzte und/oder private Caches, Busse oder Zwischenverbindungen, Grafik- und/oder Speichersteuerungen oder andere Komponenten beinhalten.
  • Bei manchen Ausführungsformen weist der Prozessor 5504 einen Cache 5506 auf. In einem Beispiel können Abschnitte des Caches 5506 individuellen Kernen 5508 zugeordnet sein (z. B. ein erster Abschnitt des Caches 5506, der dem Kern 5508 a zugeordnet ist, ein zweiter Abschnitt des Caches 5506, der dem Kern 5508 b zugeordnet ist und so weiter). In einem Beispiel können ein oder mehrere Abschnitte des Caches 5506 von zwei oder mehr der Kerne 5508 gemeinsam genutzt werden. Der Cache 5506 kann in verschiedene Ebenen aufgeteilt sein, z.B. Level 1 (L1)-Cache, Level 2 (L2)-Cache, Level 3 (L3)-Cache usw.
  • Bei manchen Ausführungsformen kann der Prozessorkern 5504 eine Abrufeinheit zum Abrufen von Anweisungen (einschließlich Anweisungen mit bedingten Verzweigungen) zur Ausführung durch den Kern 5504 beinhalten. Die Anweisungen können aus beliebigen Speichervorrichtungen wie etwa dem Speicher 5530 abgerufen werden. Der Prozessorkern 5504 kann auch eine Decodiereinheit zum Decodieren der abgerufenen Anweisungen beinhalten. Beispielsweise kann die Decodiereinheit den abgerufenen Befehl in mehrere Mikrooperationen decodieren. Der Prozessorkern 5504 kann eine Planungseinheit zum Durchführen verschiedener Operationen beinhalten, die mit dem Speichern decodierter Anweisungen assoziiert sind. Zum Beispiel kann die Planungseinheit Daten von der Decodiereinheit halten, bis die Befehle versandbereit sind, z. B. bis alle Quellwerte eines decodierten Befehls verfügbar werden. In einer Ausführungsform kann die Planungseinheit decodierte Anweisungen planen und/oder an eine Ausführungseinheit zur Ausführung ausgeben (oder absenden).
  • Die Ausführungseinheit kann die übermittelten Anweisungen ausführen, nachdem sie (z. B. durch die Decodiereinheit) decodiert und (z. B. durch die Planungseinheit) versendet wurden. Bei einer Ausführungsform kann die Ausführungseinheit mehr als eine Ausführungseinheit (wie etwa eine Bildgebungsberechnungseinheit, eine Grafikberechnungseinheit, eine Allzweckberechnungseinheit usw.) beinhalten. Die Ausführungseinheit kann auch verschiedene arithmetische Operationen durchführen, wie etwa Addition, Subtraktion, Multiplikation und/oder Division, und kann eine oder mehrere arithmetische Logikeinheiten (ALUs) beinhalten. Bei einer Ausführungsform kann ein (nicht gezeigter) Coprozessor verschiedene arithmetische Operationen in Verbindung mit der Ausführungseinheit durchführen.
  • Ferner kann die Ausführungseinheit Anweisungen außerhalb der Reihenfolge ausführen. Daher kann der Prozessorkern 5504 in einer Ausführungsform ein Außer-Reihenfolge-Prozessorkern sein. Der Prozessorkern 5504 kann auch eine Rückzugseinheit beinhalten. Die Rückzugseinheit kann ausgeführte Anweisungen zurückziehen, nachdem sie übergeben wurden. Bei einer Ausführungsform kann das Zurückziehen der ausgeführten Anweisungen dazu führen, dass der Prozessorzustand von der Ausführung der Anweisungen übergeben wird, physische Register, die von den Anweisungen verwendet werden, freigegeben werden usw. Der Prozessorkern 5504 kann auch eine Buseinheit beinhalten, um die Kommunikation zwischen Komponenten des Prozessorkerns 5504 und anderen Komponenten über einen oder mehrere Busse zu ermöglichen. Der Prozessorkern 5504 kann auch ein oder mehrere Register zum Speichern von Daten beinhalten, auf die durch verschiedene Komponenten des Kerns 5504 zugegriffen wird (wie etwa Werte, die sich auf zugewiesene App-Prioritäten und/oder eine Zuordnung von Subsystemzuständen (-modi) beziehen).
  • Bei manchen Ausführungsformen umfasst die Vorrichtung 5500 Konnektivitätsschaltungsanordnungen 5531. Zum Beispiel beinhalten die Konnektivitätsschaltungsanordnungen 5531 Hardwarevorrichtungen (z. B. drahtlose und/oder drahtgebundene Verbinder und Kommunikationshardware) und/oder Softwarekomponenten (z. B. Treiber, Protokollstapel), um z. B. der Vorrichtung 5500 zu ermöglichen, mit externen Vorrichtungen zu kommunizieren. Die Vorrichtung 5500 kann von den externen Vorrichtungen wie etwa anderen Rechenvorrichtungen, Drahtloszugangspunkten oder Basisstationen usw. getrennt sein.
  • Bei einem Beispiel können die Konnektivitätsschaltungsanordnungen 5531 mehrere unterschiedliche Konnektivitätstypen beinhalten. Zur Verallgemeinerung können die Konnektivitätsschaltungsanordnungen 5531 zellulare Konnektivitätsschaltungsanordnungen, drahtlose Konnektivitätsschaltungsanordnungen usw. beinhalten. Zellulare Konnektivitätsschaltungsanordnungen von Konnektivitätsschaltungsanordnungen 5531 beziehen sich allgemein auf eine zellulare Netzwerkkonnektivität, die durch drahtlose Träger bereitgestellt wird, wie etwa über GSM (Global System for Mobile Communications) oder Variationen oder Ableitungen, CDMA (Code Division Multiple Access) oder Variationen oder Ableitungen, TDM (Time Division Multiplexing) oder Variationen oder Ableitungen, Universal Mobile Telecommunications Systems (UMTS) oder Variationen oder Ableitungen, 3GPP Long Term Evolution (LTE)-System oder Variationen oder Ableitungen, 3GPP LTE-Advanced (LTE-A)-System oder Variationen oder Ableitungen, 3GPP Long Term Evolution (LTE-System oder Variationen oder Ableitungen, drahtloses System oder Variationen oder Ableitungen der fünften Generation (5G), System oder Variationen oder Ableitungen der 5G-Mobilnetze, System oder Variationen oder Ableitungen der 5G-New Radio (NR)-System oder Variationen oder Ableitungen oder andere zellulare Dienststandards. Drahtlose Konnektivitätsschaltungsanordnungen (oder drahtlose Schnittstelle) der Konnektivitätsschaltungsanordnungen 5531 beziehen sich auf drahtlose Konnektivität, die nicht zellulär ist, und können persönliche Netze (wie etwa Bluetooth, Nahfeld usw.), lokale Netze (wie etwa Wi-Fi) und/oder Weitbereichsnetze (wie etwa WiMax) und/oder andere drahtlose Kommunikation beinhalten. In einem Beispiel können die Konnektivitätsschaltungsanordnungen 5531 eine Netzwerkschnittstelle wie etwa eine drahtgebundene oder drahtlose Schnittstelle beinhalten, z. B. so dass eine Systemausführungsform in eine drahtlose Vorrichtung, zum Beispiel ein Mobiltelefon oder einen persönlichen digitalen Assistenten, integriert werden kann.
  • Bei manchen Ausführungsformen umfasst die Vorrichtung 5500 die Steuerzentrale 5532, die Hardwarevorrichtungen und/oder Softwarekomponenten in Bezug auf eine Interaktion mit einer oder mehreren E/A-Vorrichtungen repräsentiert. Der Prozessor 5504 kann zum Beispiel mit einer Anzeige 5522 und/oder einer oder mehreren Peripherievorrichtungen 5524 und/oder Speichervorrichtungen 5528 und/oder einer oder mehreren anderen externen Vorrichtungen 5529 usw. über die Steuerzentral 5532 kommunizieren. Die Steuerzentrale 5532 kann ein Chipsatz, eine Plattform-Steuerzentrale (PCH: Platform Control Hub) und/oder dergleichen sein.
  • Die Steuerzentrale 5532 veranschaulicht zum Beispiel einen oder mehrere Verbindungspunkte für zusätzliche Vorrichtungen, die mit der Vorrichtung 5500 verbunden sind, über die z. B. ein Benutzer mit dem System interagieren könnte. Vorrichtungen (z. B. die Vorrichtungen 5529), die an der Vorrichtung 5500 angebracht sein können, sind unter anderem Mikrofonvorrichtungen, Lautsprecher- oder Stereosysteme, Audiovorrichtungen, Videosysteme oder andere Anzeigevorrichtungen, Tastatur- oder Tastaturvorrichtungen oder andere E/A-Vorrichtungen zur Verwendung mit spezifischen Anwendungen, wie etwa Kartenlesegeräten oder anderen Vorrichtungen.
  • Wie oben erwähnt, kann die Steuerzentrale 5532 mit Audiovorrichtungen, der Anzeige 5522 usw. interagieren. Zum Beispiel kann eine Eingabe durch ein Mikrofon oder eine andere Audiovorrichtung eine Eingabe oder Befehle für eine oder mehrere Anwendungen oder Funktionen der Vorrichtung 5500 bereitstellen. Zusätzlich dazu kann eine Audioausgabe anstelle oder zusätzlich zu einer Anzeigeausgabe bereitgestellt werden. Falls die Anzeige 5522 einen Touchscreen beinhaltet, agiert die Anzeige 5522 bei einem anderen Beispiel auch als Eingabevorrichtung, die wenigstens teilweise durch die Steuerzentrale 5532 verwaltet werden kann. Es können auch zusätzliche Tasten oder Schalter auf der Rechenvorrichtung 5500 vorhanden sein, um E/A-Funktionen bereitzustellen, die von der Steuerzentrale 5532 verwaltet werden. Bei einer Ausführungsform verwaltet die Steuerzentrale 5532 Vorrichtungen wie etwa Beschleunigungsmesser, Kameras, Lichtsensoren oder andere Umgebungssensoren oder andere Hardware, die in der Vorrichtung 5500 enthalten sein kann. Die Eingabe kann Teil einer direkten Benutzerinteraktion sowie eine Umgebungseingabe an das System bereitstellen, um seine Operationen zu beeinflussen (wie etwa Filtern des Rauschens, Anpassen von Anzeigen zur Helligkeitsdetektion, Anwenden eines Blitzes für eine Kamera oder andere Merkmale).
  • Bei manchen Ausführungsformen kann sich die Steuerzentrale 5532 mit verschiedenen Vorrichtungen unter Verwendung eines beliebigen geeigneten Kommunikationsprotokolls, z. B. PCIe (Peripheral Component Interconnect Express), USB (Universal Serial Bus), Thunderbolt, High Definition Multimedia Interface (HDMI), Firewire usw., koppeln.
  • Bei manchen Ausführungsformen repräsentiert die Anzeige 5522 Komponenten der Hardware (z. B. Anzeigevorrichtungen) und Software (z. B. Treiber), die eine visuelle und/oder taktile Anzeige für einen Benutzer bereitstellen, um mit der Vorrichtung 5500 zu interagieren. Die Anzeige 5522 kann eine Anzeigeschnittstelle, einen Anzeigebildschirm und/oder eine Hardwarevorrichtung beinhalten, die verwendet werden, um einem Benutzer eine Anzeige bereitzustellen. Bei manchen Ausführungsformen beinhaltet die Anzeige 5522 eine Touchscreen- (oder Touchpad)-Vorrichtung, die einem Benutzer sowohl eine Ausgabe als auch eine Eingabe bereitstellt. In einem Beispiel kann die Anzeige 5522 direkt mit dem Prozessor 5504 kommunizieren. Die Anzeige 5522 kann eine oder mehrere einer internen Anzeigevorrichtung, wie in einer mobilen elektronischen Vorrichtung oder einer Laptopvorrichtung, oder einer externen Anzeigevorrichtung sein, die über eine Anzeigeschnittstelle (z. B. DisplayPort usw.) angebracht ist. Bei einer Ausführungsform kann die Anzeige 5522 eine Head-Mounted-Anzeige (HMD) sein, wie etwa eine stereoskopische Anzeigevorrichtung zur Verwendung in Virtual-Reality (VR)-Anwendungen oder Augmented Reality (AR)-Anwendungen.
  • Bei manchen Ausführungsformen und obwohl dies in der Figur nicht veranschaulicht ist, kann die Vorrichtung 5500 zusätzlich zu dem Prozessor 5504 (oder stattdessen) eine Grafikverarbeitungseinheit (GPU: Graphics Processing Unit) beinhalten, die einen oder mehrere Grafikverarbeitungskerne umfasst, die einen oder mehrere Aspekte des Anzeigens von Inhalten auf der Anzeige 5522 steuern können.
  • Die Steuerzentral 5532 (oder die Plattformsteuerzentrale) kann Hardwareschnittstellen und -verbinder sowie Softwarekomponenten (z. B. Treiber, Protokollstapel) beinhalten, um Peripherieverbindungen, z. B. mit Peripherievorrichtungen 5524, herzustellen.
  • Es versteht sich, dass die Vorrichtung 5500 sowohl eine Peripherievorrichtung zu anderen Rechenvorrichtungen sein könnte als auch Peripherievorrichtungen aufweisen könnte, die damit verbunden sind. Die Vorrichtung 5500 kann einen „Docking“-Verbinder zum Verbinden mit anderen Rechenvorrichtungen für Zwecke wie etwa das Verwalten (z. B. Herunterladen und/oder Hochladen, Ändern, Synchronisieren) von Inhalten auf der Vorrichtung 5500 aufweisen. Zusätzlich dazu kann ein Dockingverbinder ermöglichen, dass sich die Vorrichtung 5500 mit gewissen Peripheriegeräten verbindet, die ermöglichen, dass die Rechenvorrichtung 5500 eine Inhaltsausgabe steuert, zum Beispiel zu audiovisuellen oder anderen Systemen.
  • Zusätzlich zu einem proprietären Dockingverbinder oder einer anderen proprietären Verbindungshardware kann die Vorrichtung 5500 Peripherieverbindungen über gemeinsame oder standardbasierte Verbinder herstellen. Gängige Typen können unter anderem ein Universal Serial Bus (USB)-Verbinder (der eine beliebige einer Anzahl verschiedener Hardwareschnittstellen beinhalten kann), ein DisplayPort einschließlich MiniDisplayPort (MDP), eine High Definition Multimedia Interface (HDMI), Firewire oder andere Typen sein.
  • Bei manchen Ausführungsformen können die Konnektivitätsschaltungsanordnungen 5531 mit der Steuerzentrale 5532 gekoppelt sein, z. B. zusätzlich oder anstatt direkt mit dem Prozessor 5504 gekoppelt zu sein. Bei manchen Ausführungsformen kann die Anzeige 5522 mit der Steuerzentrale 5532 gekoppelt sein, z. B. zusätzlich oder anstatt direkt mit dem Prozessor 5504 gekoppelt zu sein.
  • Bei manchen Ausführungsformen umfasst die Vorrichtung 5500 einen Speicher 5530, der über die Speicherschnittstelle 5534 mit dem Prozessor 5504 gekoppelt ist. Der Speicher 5530 beinhaltet Speichervorrichtungen zum Speichern von Informationen in der Vorrichtung 5500.
  • Bei manchen Ausführungsformen beinhaltet der Speicher 5530 eine Einrichtung zum Beibehalten einer stabilen Taktung, wie unter Bezugnahme auf verschiedene Ausführungsformen beschrieben. Der Speicher kann nichtflüchtige (Zustand ändert sich nicht, wenn die Stromversorgung der Speichervorrichtung unterbrochen wird) und/oder flüchtige (Zustand ist unbestimmt, wenn die Stromversorgung der Speichervorrichtung unterbrochen wird) Speichervorrichtungen beinhalten. Die Speichervorrichtung 5530 kann eine dynamische Direktzugriffsspeichervorrichtung (DRAM: dynamic random-access memory), eine statische Direktzugriffsspeichervorrichtung (SRAM: static random access memory), eine Flash-Speichervorrichtung, eine Phasenwechselspeichervorrichtung oder eine andere Speichervorrichtung sein, die eine geeignete Leistungsfähigkeit aufweist, um als Prozessspeicher zu dienen. Bei einer Ausführungsform kann der Speicher 5530 als Systemspeicher für die Vorrichtung 5500 arbeiten, um Daten und Anweisungen zur Verwendung zu speichern, wenn der eine oder die mehreren Prozessoren 5504 eine Anwendung oder einen Prozess ausführen. Der Speicher 5530 kann Anwendungsdaten, Benutzerdaten, Musik, Fotos, Dokumente oder andere Daten sowie Systemdaten (ob langfristig oder temporär) in Bezug auf die Ausführung der Anwendungen und Funktionen der Vorrichtung 5500 speichern.
  • Elemente verschiedener Ausführungsformen und Beispiele sind auch als ein maschinenlesbares Medium (z. B. ein Speicher 5530) zum Speichern der computerausführbaren Anweisungen (z. B. Anweisungen zum Implementieren beliebiger anderer hier besprochener Prozesse) bereitgestellt. Das maschinenlesbare Medium (z. B. der Speicher 5530) kann unter anderem Flash-Speicher, optische Platten, CD-ROMs, DVD-ROMS, RAMs, EPROMs, EEPROMs, magnetische oder optische Karten, Phasenwechselspeicher (PCM) oder andere Arten von maschinenlesbaren Medien, die zum Speichern elektronischer oder computerausführbarer Anweisungen geeignet sind, beinhalten. Beispielsweise können Ausführungsformen der Offenbarung als ein Computerprogramm (z. B. BIOS) heruntergeladen werden, das von einem entfernten Computer (z. B. einem Server) zu einem anfordernden Computer (z. B. einem Client) mittels Datensignalen über eine Kommunikationsverbindung (z. B. einem Modem oder einer Netzwerkverbindung) übertragen werden kann.
  • Bei manchen Ausführungsformen umfasst die Vorrichtung 5500 Temperaturmessschaltungsanordnungen 5540, z. B. zum Messen der Temperatur verschiedener Komponenten der Vorrichtung 5500. Bei einem Beispiel können die Temperaturmessschaltungsanordnungen 5540 eingebettet oder an verschiedenen Komponenten gekoppelt oder angebracht sein, deren Temperatur gemessen und überwacht werden soll. Zum Beispiel können die Temperaturmessungsschaltungsanordnungen 5540 die Temperatur eines (oder innerhalb eines) oder mehrerer der Kerne 5508a, 5508b, 5508c des Spannungsreglers 5514, des Speichers 5530, einer Hauptplatine des SoC 5501 und/oder einer beliebigen geeigneten Komponente der Vorrichtung 5500 messen. Bei manchen Ausführungsformen enthalten die Temperaturmessungsschaltungsanordnungen 5540 eine Low Power Hybrid Reverse-Bandabstandreferenz (LPHR-BGR) und einen digitalen Temperatursensor (DTS), der einen Subschwellen-Metalloxid-Halbleiter-Transistor (MOS-Transistor) und die parasitäre PNP-Bipolartransistor-Vorrichtung (parasitäre PNP-BJT-Vorrichtung) nutzt, um eine umgekehrte BGR zu bilden, die als die Basis für konfigurierbare BGR- oder DTS-Betriebsmodi dient. Die LPHR-Architektur verwendet kostengünstige MOS-Transistoren und die standardmäßige parasitäre PNP-Vorrichtung. Basierend auf einer Bandlückenspannung in Sperrrichtung kann die LPHR als eine konfigurierbare BGR arbeiten. Durch Vergleichen der konfigurierbaren BGR mit der skalierten Basis-Emitter-Spannung kann der Schaltkreis auch als ein DTS mit einer linearen Transferfunktion mit Einzeltemperaturtrimmung für eine hohe Genauigkeit arbeiten.
  • Bei manchen Ausführungsformen umfasst die Vorrichtung 5500 Leistungsmessschaltungsanordnungen 5542, z. B. zum Messen der Leistung, die durch eine oder mehrere Komponenten der Vorrichtung 5500 verbraucht wird. Bei einem Beispiel können die Leistungsmessschaltungsanordnungen 5542 zusätzlich zu oder anstelle der Leistung die Spannung und/oder den Strom messen. Bei einem Beispiel können die Leistungsmessschaltungsanordnungen 5542 eingebettet oder an verschiedenen Komponenten gekoppelt oder angebracht sein, deren Leistungs-, Spannungs- und/oder Stromverbrauch gemessen und überwacht werden sollen. Zum Beispiel können die Leistungsmessschaltungsanordnungen 5542 Leistung, Strom und/oder Spannung, die durch einen oder mehrere Spannungsregler 5514 geliefert werden, Leistung, die an das SoC 5501 geliefert wird, Leistung, die an die Vorrichtung 5500 geliefert wird, Leistung, die durch den Prozessor 5504 (oder eine beliebige andere Komponente) der Vorrichtung 5500 verbraucht wird usw. messen.
  • Bei manchen Ausführungsformen umfasst die Vorrichtung 5500 einen oder mehrere Spannungsreglerschaltungsanordnungen, die allgemein als Spannungsregler (VR) 5514 bezeichnet werden. Der VR 5514 erzeugt Signale mit geeigneten Spannungspegeln, die geliefert werden können, um beliebige geeignete Komponenten der Vorrichtung 5500 zu betreiben. Lediglich als Beispiel ist veranschaulicht, dass VR 5514 Signale an den Prozessor 5504 der Vorrichtung 5500 liefert. Bei manchen Ausführungsformen empfängt der VR 5514 ein oder mehrere VID-Signale (VID: Voltage Identification) und erzeugt das Spannungssignal auf einem angemessenen Pegel basierend auf den VID-Signalen. Für den VR 5514 können verschiedene Typen von VRs genutzt werden. Der VR 5514 kann zum Beispiel einen „Abwärts“-VR, einen „Aufwärts“-VR, eine Kombination von Abwärts □ und Aufwärts-VRs, einen Low-Dropout-Regler (LDO-Regler), einen DC-DC-Schaltregler, einen reglerbasierten DC-DC-Regler mit konstanter Ein-Zeit usw. einschließen. Ein Abwärts-VR wird allgemein in Leistungsbereitstellungsanwendungen verwendet, in denen eine Eingangsspannung mit einem kleineren Verhältnis als eins in eine Ausgangsspannung transformiert werden muss. Der Aufwärts-VR wird allgemein in Leistungsbereitstellungsanwendungen verwendet, bei denen eine Eingangsspannung in einem Verhältnis, das größer als eins ist, in eine Ausgangsspannung transformiert werden muss. Bei manchen Ausführungsformen weist jeder Prozessorkern seinen eigenen VR auf, der durch die PCU 5510a/b und/oder den PMIC 5512 gesteuert wird. Bei manchen Ausführungsformen weist jeder Kern ein Netzwerk von verteilten LDOs auf, um eine effiziente Leistungsverwaltungssteuerung bereitzustellen. Die LDOs können digital, analog oder eine Kombination von digitalen oder analogen LDOs sein. Bei manchen Ausführungsformen beinhaltet der VR 5514 eine Stromverfolgungseinrichtung zum Messen eines Stroms durch die Stromversorgungsschiene(n).
  • Bei manchen Ausführungsformen beinhaltet der VR 5514 ein digitales Steuerschema zum Verwalten von Zuständen eines Proportional-Integral-Differenzial (PID)-Filters (auch als digitaler Typ-III-Kompensator bekannt). Das digitale Steuerschema steuert den Integrator des PID-Filters, um eine nichtlineare Steuerung des Sättigens des Tastverhältnisses zu implementieren, während der der proportionale und der abgeleitete Term des PID auf 0 gesetzt werden, während der Integrator und seine internen Zustände (vorherige Werte oder Speicher) auf ein Tastverhältnis gesetzt werden, das die Summe des aktuellen nominalen Tastverhältnisses plus einem deltaD ist. Das deltaD ist das maximale Tastverhältnisinkrement, das zum Regeln eines Spannungsreglers von ICCmin auf ICCmax verwendet wird, und ist ein Konfigurationsregister, das nach Silicium gesetzt werden kann. Eine Zustandsmaschine bewegt sich von einem nichtlinearen Alles-EIN-Zustand (der die Ausgangsspannung Vout zurück zu einem Regelfenster bringt) zu einem Tastverhältnis mit offener Schleife, das die Ausgangsspannung etwas höher als die erforderliche Referenzspannung Vref hält. Nach einer gewissen Periode in diesem Zustand des offenen Regelkreises bei dem befohlenen Tastverhältnis fährt die Zustandsmaschine dann den Tastverhältniswert des offenen Regelkreises herunter, bis die Ausgangsspannung nahe dem befohlenen Vref liegt. Von daher wird ein Ausgangsflattern an der Ausgangsversorgung des VR 5514 vollständig eliminiert (oder im Wesentlichen eliminiert) und es gibt lediglich einen einzigen Unterschwingungsübergang, der zu einer garantierten Vmin basierend auf einer Komparatorverzögerung und dem di/dt der Last mit der verfügbaren Ausgangsentkopplungskapazität führen könnte.
  • In einigen Ausführungsformen schließt der VR 5514 eine separate Selbststartsteuerung, die ohne Sicherungs- und/oder Trimminformationen funktionsfähig ist, ein. Die Selbststartsteuerung schützt den VR 5514 vor großen Einschaltströmen und Spannungsüberschwingungen, während sie in der Lage ist, einer variablen VID-Referenzrampe (VID: Voltage Identification) zu folgen, die durch das System vorgegeben wird. Bei manchen Ausführungsformen verwendet die Selbststartsteuerung einen Relaxationsoszillator, der in die Steuerung eingebaut ist, um die Schaltfrequenz des Abwärtswandlers einzustellen. Der Oszillator kann entweder unter Verwendung eines Takts oder einer Stromreferenz initialisiert werden, um nahe einer gewünschten Betriebsfrequenz zu sein. Der Ausgang des VR 5514 ist schwach an den Oszillator gekoppelt, um das Tastverhältnis für den Betrieb mit geschlossenem Regelkreis einzustellen. Der Regler ist natürlich so vorgespannt, dass die Ausgangsspannung immer geringfügig höher als der Sollwert ist, wodurch die Notwendigkeit für durch Prozess, Spannung und/oder Temperatur vorgegebene (PVT-vorgegebene) Trimmungen beseitigt wird.
  • Bei manchen Ausführungsformen umfasst die Vorrichtung 5500 eine oder mehrere Taktgeneratorschaltungsanordnungen, die allgemein als Taktgenerator 5516 bezeichnet werden. Der Taktgenerator 5516 erzeugt Taktsignale mit geeigneten Frequenzpegeln, die beliebigen geeigneten Komponenten der Vorrichtung 5500 bereitgestellt werden können. Lediglich als Beispiel ist der Taktgenerator 5516 derart veranschaulicht, dass er dem Prozessor 5504 der Vorrichtung 5500 Taktsignale zuführt. Bei manchen Ausführungsformen empfängt der Taktgenerator 5516 ein oder mehrere FID-Signale (FID: Frequency Identification) und erzeugt die Taktsignale mit einer geeigneten Frequenz basierend auf den FID-Signalen.
  • Bei manchen Ausführungsformen umfasst die Vorrichtung 5500 eine Batterie 5518, die verschiedene Komponenten der Vorrichtung 5500 mit Strom versorgt. Lediglich als Beispiel ist veranschaulicht, dass die Batterie 5518 den Prozessor 5504 mit Strom versorgt. Obwohl dies in den Figuren nicht veranschaulicht ist, kann die Vorrichtung 5500 eine Ladeschaltungsanordnung umfassen, z. B. um die Batterie basierend auf einer Wechselstrom-Stromversorgung (AC: Alternating Current), die von einem AC-Adapter empfangen wird, aufzuladen.
  • Bei manchen Ausführungsformen überprüft die Batterie 5518 periodisch eine tatsächliche Batteriekapazität oder -energie mit Ladung auf eine voreingestellte Spannung (z. B. 4,1 V). Die Batterie entscheidet dann über die Batteriekapazität bzw. -energie. Falls die Kapazität oder Energie unzureichend ist, dann erhöht eine Einrichtung in oder assoziiert mit der Batterie die Ladespannung geringfügig bis zu einem Punkt, bei dem die Kapazität ausreichend ist (z. B. von 4,1 V auf 4,11 V). Der Prozess des periodischen Überprüfens und leichten Erhöhens der Ladespannung wird durchgeführt, bis die Ladespannung die Spezifikationsgrenze (z. B. 4,2 V) erreicht. Das hierin beschriebene Schema weist Vorteile auf, wie dass die Batterielanglebigkeit erhöht werden kann, das Risiko einer unzureichenden Energiereserve reduziert werden kann, die Burst-Leistung so lange wie möglich verwendet werden kann und/oder sogar eine höhere Burst-Leistung verwendet werden kann.
  • Bei manchen Ausführungsformen umfasst die Ladeschaltungsanordnung (z. B. 5518) einen Abwärts-Aufwärts-Wandler. Dieser Abwärts-Aufwärts-Wandler umfasst DrMOS- oder DrGaN-Vorrichtungen, die anstelle von Halbbrücken für herkömmliche Abwärts-Aufwärts-Wandler verwendet werden. Verschiedene Ausführungsformen werden hier mit Bezug auf DrMOS beschrieben. Die Ausführungsformen sind jedoch auf DrGaN anwendbar. Die DrMOS-Vorrichtungen ermöglichen eine bessere Effizienz bei der Leistungsumwandlung aufgrund einer reduzierten parasitären und optimierten MOSFET-Kapselung. Da die Totzeitverwaltung DrMOS-intern erfolgt, ist die Totzeitverwaltung genauer als für herkömmliche Abwärts-Aufwärts-Wandler, was zu einer höheren Effizienz bei der Umwandlung führt. Eine höhere Betriebsfrequenz ermöglicht eine kleinere Induktivitätsgröße, was wiederum die z-Höhe des Ladegeräts reduziert, das den DrMOSbasierten Abwärts-Aufwärts-Wandler umfasst. Der Abwärts-Aufwärts-Wandler verschiedener Ausführungsformen umfasst ein doppelt gefaltetes Bootstrap für DrMOS-Vorrichtungen. Bei manchen Ausführungsformen werden zusätzlich zu den traditionellen Bootstrap-Kondensatoren gefaltete Bootstrap-Kondensatoren hinzugefügt, die induktive Knoten mit den zwei Sätzen von DrMOS-Schaltern kreuzkoppeln.
  • Bei manchen Ausführungsformen umfasst die Vorrichtung 5500 eine Leistungssteuereinheit (PCU: Power Control Unit) 5510 (auch als Leistungsverwaltungseinheit (PMU: Power Management Unit), Leistungsverwaltungssteuerung (PMC: Power Management Controller), Leistungseinheit (p-Einheit) usw. bezeichnet). Bei einem Beispiel können einige Abschnitte der PCU 5510 durch einen oder mehrere Verarbeitungskerne 5508 implementiert sein, und diese Abschnitte der PCU 5510 sind symbolisch unter Verwendung eines gestrichelten Kastens veranschaulicht und mit PCU 5510a gekennzeichnet. Bei einem Beispiel können einige andere Abschnitte der PCU 5510 außerhalb der Verarbeitungskerne 5508 implementiert sein, und diese Abschnitte der PCU 5510 sind symbolisch unter Verwendung eines gestrichelten Kastens veranschaulicht und mit PCU 5510b gekennzeichnet. Die PCU 5510 kann verschiedene Leistungsverwaltungsoperationen für die Vorrichtung 5500 implementieren. Die PCU 5510 kann Hardwareschnittstellen, Hardwareschaltkreisanordnungen, Verbinder, Register usw. sowie Softwarekomponenten (z. B. Treiber, Protokollstapel) beinhalten, um verschiedene Leistungsverwaltungsoperationen für die Vorrichtung 5500 zu implementieren.
  • In verschiedenen Ausführungsformen ist die PCU oder PMU 5510 auf eine hierarchische Weise organisiert, die eine hierarchische Leistungsverwaltung (HPM) bildet. Eine HPM verschiedener Ausführungsformen baut eine Fähigkeit und Infrastruktur auf, die eine Verwaltung auf Package-Ebene für die Plattform ermöglichen, während sie weiterhin auf Autonomieinseln ausgerichtet sind, die über das zugehörige Die im Package bestehen könnten. Die HPM übernimmt keine vorbestimmte Zuordnung physischer Partitionen zu Domänen. Eine HPM-Domäne kann an einer Funktion ausgerichtet sein, die innerhalb eines Dielet, in einer Dielet-Grenze, in einem oder mehreren Dielets, in einem Begleit-Die oder sogar einer diskreten CXL-Vorrichtung integriert ist. Die HPM behandelt die Integration mehrerer Instanzen desselben Dies, gemischt mit proprietären Funktionen oder Drittfunktionen, die auf demselben Die oder einem separaten Die integriert sind, und sogar von Beschleunigern, die über CXL (z. B. Flexbus) verbunden sind, die sich innerhalb des Packages oder in einem diskreten Formfaktor befinden können.
  • Die HPM ermöglicht Designern, die Ziele der Skalierbarkeit, Modularität und späten Bindung zu erfüllen. Die HPM ermöglicht auch, dass PMU-Funktionen, die bereits auf anderen Dies bestehen können, genutzt werden, anstatt im flachen Schema deaktiviert zu werden. Die HPM ermöglicht die Verwaltung einer beliebigen Sammlung von Funktionen unabhängig von deren Integrationsgrad. Die HPM verschiedener Ausführungsformen ist skalierbar, modular, arbeitet mit symmetrischen Multi-Chip-Prozessoren (MCPs) und arbeitet mit asymmetrischen MCPs. Die HPM benötigt zum Beispiel keine Signal-PM-Steuerung und Package-Infrastruktur, um über angemessene Skalierungsgrenzen hinaus zu wachsen. Die HPM ermöglicht ein spätes Hinzufügen eines Die in einem Package ohne die Notwendigkeit einer Änderung in der Basis-Die-Infrastruktur. Die HPM adressiert den Bedarf an disaggregierten Lösungen, die Dies unterschiedlicher Prozesstechnologieknoten aufweisen, die in einem einzigen Gehäuse gekoppelt sind. Die HPM adressiert auch die Bedürfnisse begleitender Die-Integrationslösungen - innerhalb und außerhalb des Packages.
  • Bei verschiedenen Ausführungsformen beinhaltet jeder Die (oder jedes Dielet) eine Leistungsverwaltungseinheit (PMU) oder p-Einheit. Prozessor-Dies können zum Beispiel eine Supervisor-p-Einheit, Supervisand-p-Einheit oder eine Supervisor-/Supervisand-p-Einheit in Doppelrolle aufweisen. Bei manchen Ausführungsformen weist ein E/A-Die seine eigene p-Einheit mit Doppelrolle wie etwa Supervisor- und/oder Supervisand-p-Einheit auf. Die p-Einheiten in jedem Die können Instanzen einer generischen p-Einheit sein. In einem solchen Beispiel weisen alle p-Einheiten dieselbe Fähigkeit und dieselben Schaltungen auf, sind aber (dynamisch oder statisch) dazu konfiguriert, eine Rolle eines Supervisors, Supervisanden und/oder von beiden zu übernehmen. Bei manchen Ausführungsformen sind die p-Einheiten für Rechen-Dies Instanzen einer Rechen-p-Einheit, während p-Einheiten für E/A-Dies Instanzen einer E/A-p-Einheit sind, die sich von der Rechen-p-Einheit unterscheidet. Je nach Rolle erlangt die p-Einheit spezifische Zuständigkeiten zur Leistungsverwaltung des Multi-Chip-Moduls und/oder der Rechenplattform. Während verschiedene p-Einheiten für Dies in einem Multi-Chip-Modul oder System-on-Chip beschrieben sind, kann eine p-Einheit auch Teil einer externen Vorrichtung wie einer E/A-Vorrichtung sein.
  • Hier müssen die verschiedenen p-Einheiten nicht gleich sein. Die HPM-Architektur kann sehr unterschiedliche Typen von p-Einheiten betreiben. Den p-Einheiten ist gemein, dass von ihnen erwartet wird, dass sie HPM-Nachrichten empfangen, und dass von ihnen erwartet wird, dass sie diese verstehen können. Bei manchen Ausführungsformen kann sich die p-Einheit von E/A-Dies von der p-Einheit der Rechen-Dies unterscheiden. Zum Beispiel unterscheidet sich die Anzahl von Registerinstanzen jeder Registerklasse in der E/Ap-Einheit von denen in den p-Einheiten der Rechen-Dies. Ein E/A-Die weist die Fähigkeit auf, ein HPM-Supervisor für CXL-verbundene Vorrichtungen zu sein, aber ein Rechen-Die muss diese Fähigkeit möglicherweise nicht aufweisen. Die E/A- und Rechen-Dies weisen auch unterschiedliche Firmware-Flüsse und möglicherweise unterschiedliche Firmware-Abbilder auf. Dies sind Auswahlen, die eine Implementierung treffen kann. Eine HPM-Architektur kann wählen, dass sie ein Obermengen-Firmware-Abbild aufweist und selektiv Flüsse ausführt, die für den Die-Typ relevant sind, dem die Firmware zugeordnet ist. Alternativ dazu kann es eine Kunden-Firmware für jeden p-Einheit-Typ geben; sie kann eine optimierte Dimensionierung der Firmware-Speicheranforderungen für jeden p-Einheit-Typ ermöglichen.
  • Die p-Einheit in jedem Die kann als eine Supervisor-p-Einheit, Supervisand-p-Einheit oder mit einer Doppelrolle von Supervisor/Supervisand konfiguriert sein. Deshalb können p-Einheiten Rollen eines Supervisors oder Supervisanden für verschiedene Domänen durchführen. Bei verschiedenen Ausführungsformen ist jede Instanz der p-Einheit in der Lage, lokale dedizierte Ressourcen autonom zu verwalten, und enthält Strukturen, um Daten zu aggregieren und zwischen Instanzen zu kommunizieren, um eine geteilte Ressourcenverwaltung durch die Instanz, die als der gemein genutzte Ressourcen-Supervisor konfiguriert ist, zu ermöglichen. Eine nachrichten- und drahtbasierte Infrastruktur ist bereitgestellt, die dupliziert und konfiguriert werden kann, um eine Verwaltung und Flüsse zwischen mehreren p-Einheiten zu ermöglichen.
  • Bei manchen Ausführungsformen werden Leistungs- und Wärmeschwellen durch eine Supervisor-p-Einheit an Supervisand-p-Einheiten kommuniziert. Zum Beispiel erfährt eine Supervisor-p-Einheit die Arbeitslast (aktuell und zukünftig) jedes Die, Leistungsmessungen jedes Die und andere Parameter (z. B. Leistungsgrenzen auf Plattformebene) und bestimmt neue Leistungsgrenzen für jeden Die. Diese Leistungsgrenzen werden dann von Supervisor-p-Einheiten über ein oder mehrere Verschaltungen und Fabrics an die Supervisand-p-Einheiten kommuniziert. Bei manchen Ausführungsformen gibt eine Fabric eine Gruppe von Fabrics und einer Verschaltung an, die eine erste Fabric, eine zweite Fabric und eine schnell reagierende Verschaltung einschließt. Bei manchen Ausführungsformen wird die erste Fabric für eine gemeinsame Kommunikation zwischen einer Supervisor-p-Einheit und einer Supervisand-p-Einheit verwendet. Diese gemeinsamen Kommunikationen schließen eine Änderung der Spannung, der Frequenz und/oder des Leistungszustands eines Die ein, die basierend auf einer Anzahl von Faktoren (z. B. zukünftige Arbeitslast, Benutzerverhalten usw.) geplant wird. Bei manchen Ausführungsformen wird die zweite Fabric für eine Kommunikation mit höherer Priorität zwischen einer Supervisor-p-Einheit und einer Supervisand-p-Einheit verwendet. Ein Beispiel für eine Kommunikation mit höherer Priorität ist unter anderem eine Nachricht zum Drosseln aufgrund eines möglichen Zustands eines thermischen Durchgehens, eines Zuverlässigkeitsproblems usw. Bei manchen Ausführungsformen wird eine schnell reagierende Verschaltung zum Kommunizieren einer schnellen oder harten Drosselung aller Dies verwendet. In diesem Fall kann eine Supervisor-p-Einheit zum Beispiel eine Schnelldrosselungsnachricht an alle anderen p-Einheiten senden. Bei manchen Ausführungsformen ist eine Schnellantwort-Zwischenverbindung eine Legacy-Zwischenverbindung, deren Funktion durch die zweite Struktur durchgeführt werden kann.
  • Die HPM-Architektur verschiedener Ausführungsformen ermöglicht Skalierbarkeit, Modularität und späte Bindung symmetrischer und/oder asymmetrischer Dies. Hier sind symmetrische Dies Dies gleicher Größe, Art und/oder Funktion, während asymmetrische Dies Dies unterschiedlicher Größe, Art und/oder Funktion sind. Ein hierarchischer Ansatz ermöglicht auch, dass PMU-Funktionen, die bereits auf anderen Dies bestehen können, genutzt werden, anstatt im herkömmlichen flachen Leistungsverwaltungsschema deaktiviert zu werden. Die HPM übernimmt keine vorbestimmte Zuordnung physischer Partitionen zu Domänen. Eine HPM-Domäne kann an einer Funktion ausgerichtet sein, die innerhalb eines Dielet, in einer Dielet-Grenze, in einem oder mehreren Dielets, in einem Begleit-Die oder sogar einer diskreten CXL-Vorrichtung integriert ist. Die HPM ermöglicht die Verwaltung einer beliebigen Sammlung von Funktionen unabhängig von deren Integrationsgrad. Bei manchen Ausführungsformen wird eine p-Einheit als Supervisor-p-Einheit basierend auf einem oder mehreren Faktoren deklariert. Diese Faktoren beinhalten Speichergröße, physische Beschränkungen (z. B. Anzahl von Pin-Outs) und Orte von Sensoren (z. B. Temperatur, Leistungsverbrauch usw.), um physische Grenzen des Prozessors zu bestimmen.
  • Die HPM-Architektur verschiedener Ausführungsformen stellt ein Mittel zum Skalieren der Leistungsverwaltung bereit, sodass eine einzelne p-Einheit-Instanz nicht den gesamten Prozessor unterstützen muss. Dies ermöglicht eine Leistungsverwaltung bei geringerer Granularität und verbessert Reaktionszeiten und Effektivität. Eine hierarchische Struktur behält eine monolithische Benutzeransicht bei. Zum Beispiel stellt die HPM-Architektur dem OS auf Betriebssystemebene (OS-Ebene) eine einzige PMU-Ansicht bereit, obwohl die PMU physisch in einer oder mehreren Supervisor-Supervisand-Konfigurationen verteilt ist.
  • Bei manchen Ausführungsformen ist die HPM-Architektur zentralisiert, wobei ein Supervisor alle Supervisanden steuert. Bei manchen Ausführungsformen ist die HPM-Architektur dezentralisiert, wobei verschiedene p-Einheiten in verschiedenen Dies die Gesamtleistungsverwaltung durch eine Peer-to-Peer-Kommunikation steuern. Bei manchen Ausführungsformen ist die HPM-Architektur verteilt, wobei es unterschiedliche Supervisoren für unterschiedliche Domänen gibt. Ein Beispiel für eine verteilte Architektur ist eine baumartige Architektur.
  • Bei manchen Ausführungsformen umfasst die Vorrichtung 5500 eine integrierte Schaltung für die Leistungsverwaltung (PMIC) 5512, z. B. zum Implementieren verschiedener Leistungsverwaltungsoperationen für die Vorrichtung 5500. Bei manchen Ausführungsformen ist die PMIC 5512 eine integrierte Schaltung für die rekonfigurierbare Leistungsverwaltung (RPMIC) und/oder eine IMVP (Intel® Mobile Voltage Positioning). In einem Beispiel befindet sich die PMIC innerhalb eines IC-Die, der von dem Prozessor 5504 getrennt ist. Es kann verschiedene Leistungsverwaltungsoperationen für die Vorrichtung 5500 implementieren. Die PMIC 5512 kann Hardwareschnittstellen, Hardwareschaltungsanordnungen, Verbinder, Register usw. sowie Softwarekomponenten (z. B. Treiber, Protokollstapel) beinhalten, um verschiedene Leistungsverwaltungsoperationen für die Vorrichtung 5500 zu implementieren.
  • Bei einem Beispiel umfasst die Vorrichtung 5500 die PCU 5510 und/oder den PMIC 5512. Bei einem Beispiel kann eine beliebige der PCU 5510 oder der PMIC 5512 in der Vorrichtung 5500 fehlen und daher sind diese Komponenten unter Verwendung gepunkteter Linien veranschaulicht.
  • Verschiedene Leistungsverwaltungsoperationen der Vorrichtung 5500 können durch die PCU 5510, durch die PMIC 5512 oder durch eine Kombination aus der PCU 5510 und der PMIC 5512 durchgeführt werden. Zum Beispiel können die PCU 5510 und/oder die PMIC 5512 einen Leistungszustand (z. B. p-Zustand) für verschiedene Komponenten der Vorrichtung 5500 auswählen. Zum Beispiel können die PCU 5510 und/oder die PMIC 5512 einen Leistungszustand (z. B. gemäß der ACPI (Advanced Configuration and Power Interface)-Spezifikation) für verschiedene Komponenten der Vorrichtung 5500 auswählen. Lediglich als ein Beispiel können die PCU 5510 und/oder die PMIC 5512 bewirken, dass verschiedene Komponenten der Vorrichtung 5500 in einen Schlafzustand, in einen aktiven Zustand, in einen geeigneten C-Zustand (z. B. C0-Zustand oder einen anderen geeigneten C-Zustand gemäß der ACPI-Spezifikation) usw. übergehen. Bei einem Beispiel können die PCU 5510 und/oder die PMIC 5512 eine Spannung, die durch den VR 5514 ausgegeben wird, und/oder eine Frequenz eines Taktsignals, das durch den Taktgenerator ausgegeben wird, steuern, z. B. indem das VID-Signal bzw. das FID-Signal ausgegeben wird. Bei einem Beispiel können die PCU 5510 und/oder die PMIC 5512 Batterieleistungsverbrauch, Laden der Batterie 5518 und Merkmale in Bezug auf den Stromsparbetrieb steuern.
  • Der Taktgenerator 5516 kann eine Phasenregelschleife (PLL: Phase Locked Loop), eine Frequenzregelschleife (FLL: Frequency Locked Loop) oder eine beliebige geeignete Taktquelle umfassen. Bei manchen Ausführungsformen weist jeder Kern des Prozessors 5504 seine eigene Taktquelle auf. Von daher kann jeder Kern mit einer Frequenz arbeiten, die unabhängig von der Betriebsfrequenz des anderen Kerns ist. Bei manchen Ausführungsformen führt die PCU 5510 und/oder die PMIC 5512 eine adaptive oder dynamische Frequenzskalierung oder -anpassung durch. Zum Beispiel kann die Taktfrequenz eines Prozessorkerns erhöht werden, falls der Kern nicht bei seiner maximalen Leistungsverbrauchsschwelle oder -grenze arbeitet. Bei manchen Ausführungsformen bestimmt die PCU 5510 und/oder PMIC 5512 die Betriebsbedingung jedes Kerns eines Prozessors und passt Frequenz und/oder Leistungsversorgungsspannung dieses Kerns opportunistisch an, ohne dass die Kerntaktquelle (z. B. die PLL dieses Kerns) die Verriegelung verliert, wenn die PCU 5510 und/oder PMIC 5512 bestimmt, dass der Kern unterhalb eines Zielleistungsfähigkeitspegels arbeitet. Falls zum Beispiel ein Kern Strom von einer Leistungsversorgungsschiene bezieht, der geringer als ein Gesamtstrom ist, der für diesen Kern oder Prozessor 5504 zugewiesen ist, dann kann die PCU 5510 und/oder PMIC 5512 temporär die Leistungsaufnahme für diesen Kern oder Prozessor 5504 erhöhen (z. B. durch Erhöhen der Taktfrequenz und/oder des Leistungsversorgungsspannungspegels), so dass der Kern oder Prozessor 5504 mit einem höheren Leistungsfähigkeitspegel arbeiten kann. Von daher können die Spannung und/oder Frequenz temporär für den Prozessor 5504 erhöht werden, ohne die Produktzuverlässigkeit zu verletzen.
  • Bei einem Beispiel können die PCU 5510 und/oder die PMIC 5512 Leistungsverwaltungsoperationen, z. B. wenigstens teilweise basierend auf dem Empfangen von Messungen von Leistungsmessschaltungsanordnungen 5542, Temperaturmessschaltungsanordnungen 5540, dem Ladungspegel der Batterie 5518 und/oder beliebigen anderen geeigneten Informationen, die für die Leistungsverwaltung verwendet werden können, durchführen. Zu diesem Zweck ist die PMIC 5512 kommunikativ mit einem oder mehreren Sensoren gekoppelt, um verschiedene Werte/Variationen in einem oder mehreren Faktoren zu erfassen/detektieren, die sich auf das Leistungs-/thermische Verhalten des Systems/der Plattform auswirken. Beispiele für den einen oder die mehreren Faktoren sind unter anderem elektrischer Strom, Spannungsabfall, Temperatur, Betriebsfrequenz, Betriebsspannung, Leistungsverbrauch, Zwischenkernkommunikationsaktivität usw. Einer oder mehrere dieser Sensoren können in physischer Nähe (und/oder thermischem Kontakt/Kopplung) mit einer oder mehreren Komponenten oder Logik/IP-Blöcken eines Computersystems bereitgestellt sein. Zusätzlich dazu können der oder die Sensoren bei mindestens einer Ausführungsform direkt mit der PCU 5510 und/oder der PMIC 5512 gekoppelt sein, um zu ermöglichen, dass die PCU 5510 und/oder die PMIC 5512 Prozessorkernenergie mindestens teilweise basierend auf einem oder mehreren Werten, die durch einen oder mehrere der Sensoren detektiert werden, verwalten.
  • Auch ist ein beispielhafter Softwarestapel der Vorrichtung 5500 veranschaulicht (obwohl nicht alle Elemente des Softwarestapels veranschaulicht sind). Lediglich als ein Beispiel können die Prozessoren 5504 Anwendungsprogramme 5550, das Betriebssystem 5552, ein oder mehrere für die Leistungsverwaltung (PM) spezifische Anwendungsprogramme (z. B. allgemein als PM-Anwendungen 5558 bezeichnet) und/oder dergleichen ausführen. Die PM-Anwendungen 5558 können auch durch die PCU 5510 und/oder PMIC 5512 ausgeführt werden. Das OS 5552 kann auch eine oder mehrere PM-Anwendungen 5556a, 5556b, 5556c beinhalten. Das OS 5552 kann auch verschiedene Treiber 5554a, 5554b, 5554c usw. beinhalten, von denen manche für Leistungsverwaltungszwecke spezifisch sein können. Bei manchen Ausführungsformen kann die Vorrichtung 5500 ferner ein Basic Input/Output System (BIOS) 5520 umfassen. Das BIOS 5520 kann mit OS 5552 kommunizieren (z. B. über einen oder mehrere Treiber 5554), mit Prozessoren 5504 kommunizieren usw.
  • Zum Beispiel können eine oder mehrere der PM-Anwendungen 5558, 5556, Treiber 5554, BIOS 5520 usw. verwendet werden, um leistungsverwaltungsspezifische Aufgaben zu implementieren, z. B. um die Spannung und/oder Frequenz verschiedener Komponenten der Vorrichtung 5500 zu steuern, um den Aufweckzustand, den Schlafzustand und/oder einen beliebigen anderen geeigneten Leistungszustand verschiedener Komponenten der Vorrichtung 5500 zu steuern, den Batterieleistungsverbrauch, das Laden der Batterie 5518, Merkmale in Bezug auf den Stromsparbetrieb usw. zu steuern.
  • Bei manchen Ausführungsformen ist die Batterie 5518 eine Li-Metall-Batterie mit einer Druckkammer, um einen gleichmäßigen Druck auf eine Batterie zu ermöglichen. Die Druckkammer wird von Metallplatten (z. B. Druckausgleichsplatte) getragen, die dazu dienen, der Batterie einen gleichmäßigen Druck zu verleihen. Die Druckkammer kann Druckgas, elastisches Material, Federteller usw. beinhalten. Die Außenhaut der Druckkammer kann sich frei biegen, an ihren Rändern durch eine (Metall-)Haut zurückgehalten werden, übt aber immer noch einen gleichmäßigen Druck auf die Platte aus, die die Batteriezelle komprimiert. Die Druckkammer verleiht einer Batterie einen gleichmäßigen Druck, der dazu verwendet wird, eine Batterie mit hoher Energiedichte mit beispielsweise 20 % mehr Batterielebensdauer zu ermöglichen.
  • Bei manchen Ausführungsformen weist pCode, der auf der PCU 5510a/b ausgeführt wird, eine Fähigkeit auf, zusätzliche Rechen- und Telemetrieressourcen für die Laufzeitunterstützung des pCodes zu ermöglichen. Hier bezieht sich pCode auf eine Firmware, die durch die PCU 5510a/b zur Leistungsverwaltung des 5501 ausgeführt wird. Beispielsweise kann der pCode Frequenzen und geeignete Spannungen für den Prozessor einstellen. Ein Teil des p-Codes ist über OS 5552 zugänglich. Bei verschiedenen Ausführungsformen werden Mechanismen und Verfahren bereitgestellt, die einen Energieleistungspräferenz (EPP)-Wert basierend auf Arbeitslasten, Benutzerverhalten und/oder Systembedingungen dynamisch ändern. Es kann eine wohldefinierte Schnittstelle zwischen OS 5552 und dem pCode geben. Die Schnittstelle kann die Softwarekonfiguration mehrerer Parameter ermöglichen oder erleichtern und/oder Hinweise auf den pCode liefern. Als ein Beispiel kann ein EPP-Parameter einen p-Code-Algorithmus darüber informieren, ob Leistungsfähigkeit oder Batterielebensdauer wichtiger ist.
  • Diese Unterstützung kann auch durch das OS 5552 erfolgen, indem Maschinenlernunterstützung als Teil des OS 5552 aufgenommen wird und entweder der EPP-Wert, den das OS der Hardware (z. B. verschiedene Komponenten des SoC 5501) anzeigt, durch Maschinenlernvorhersage eingestellt wird, oder indem die Maschinenlernvorhersage an den pCode auf eine Art und Weise geliefert wird, die derjenigen ähnlich ist, die durch einen DTT-Treiber (DTT: Dynamic Tuning Technology) vorgenommen wird. In diesem Modell kann OS 5552 Sichtbarkeit für denselben Satz von Telemetrien aufweisen, wie sie einem DTT zur Verfügung stehen. Als Ergebnis einer DTT-Maschinenlernhinweiseinstellung kann der pCode seine internen Algorithmen abstimmen, um optimale Leistungs- und Leistungsfähigkeitsergebnisse nach der Maschinenlernvorhersage des Aktivierungstyps zu erreichen. Der pCode als Beispiel kann die Verantwortung für die Prozessornutzungsänderung erhöhen, um eine schnelle Reaktion auf die Benutzeraktivität zu ermöglichen, oder kann den Bias zur Energieeinsparung erhöhen, indem entweder die Verantwortung für die Prozessornutzung verringert wird oder indem mehr Leistung eingespart wird und die Leistungsfähigkeit erhöht wird, die durch Abstimmen der Energieeinsparoptimierung verloren geht. Dieser Ansatz kann das Einsparen von mehr Batterielebensdauer erleichtern, falls die aktivierten Aktivitätstypen etwas Leistungsfähigkeitspegel gegenüber dem verlieren, was das System aktivieren kann. Der pCode kann einen Algorithmus für dynamisches EPP beinhalten, der die zwei Eingaben, eine vom OS 5552 und die andere von Software wie etwa DTT nehmen kann und selektiv auswählen kann, eine höhere Leistungsfähigkeit und/oder Ansprechempfindlichkeit bereitzustellen. Als Teil dieses Verfahrens kann der pCode in dem DTT eine Option ermöglichen, seine Reaktion für den DTT für verschiedene Aktivitätstypen abzustimmen.
  • Bei manchen Ausführungsformen verbessert der pCode die Leistungsfähigkeit des SoC im Batteriemodus. Bei manchen Ausführungsformen ermöglicht der pCode drastisch höhere SoC-Spitzenleistungsgrenzpegel (und somit höhere Turboleistung) im Batteriemodus. Bei manchen Ausführungsformen implementiert der pCode eine Leistungsdrosselung und ist Teil der Dynamic Tuning Technology (DTT) von Intel. Bei verschiedenen Ausführungsformen wird die Spitzenleistungsgrenze auf PL4 bezogen. Die Ausführungsformen sind jedoch auf andere Spitzenleistungsgrenzen anwendbar. Bei manchen Ausführungsformen legt der pCode die Vth-Schwellenspannung (den Spannungspegel, bei dem die Plattform das SoC drosseln wird) auf eine solche Weise fest, dass verhindert wird, dass das System unerwartet abschaltet (oder Black Screening). Bei manchen Ausführungsformen berechnet der pCode die SoC-Spitzenleistungsgrenze Psoc,pk (z. B. PL4) gemäß der Schwellenspannung (Vth). Dies sind zwei abhängige Parameter, falls einer eingestellt ist, kann der andere berechnet werden. Der pCode wird verwendet, um einen Parameter (Vth) basierend auf den Systemparametern und der Historie des Betriebs optimal einzustellen. Bei manchen Ausführungsformen stellt der pCode ein Schema zum dynamischen Berechnen des Drosselungsniveaus (Psoc,Th) basierend auf der verfügbaren Batterieleistung (die sich langsam ändert) und zum Einstellen der SoC-Drosselungsspitzenleistung (Psoc,Th) bereit. Bei manchen Ausführungsformen bestimmt der pCode die Frequenzen und Spannungen basierend auf Psoc,Th. Drosselungsereignisse wirken sich in diesem Fall weniger negativ auf die SoC-Leistungsfähigkeit aus. Verschiedene Ausführungsformen stellen ein Schema bereit, das den Betrieb eines Rahmens mit maximaler Leistungsfähigkeit (Pmax) ermöglicht.
  • Bei manchen Ausführungsformen schließt der VR 5514 einen Stromsensor zum Erfassen und/oder Messen eines Stroms durch einen High-Side-Schalter des VR 5514 ein. Bei manchen Ausführungsformen verwendet der Stromsensor einen Verstärker mit kapazitiv gekoppelten Eingängen in Rückkopplung, um den Eingangs-Offset des Verstärkers zu erfassen, der während der Messung kompensiert werden kann. Bei manchen Ausführungsformen wird der Verstärker mit kapazitiv gekoppelten Eingängen in Rückkopplung verwendet, um den Verstärker in einem Gebiet zu betreiben, in dem die Eingangsgleichtaktspezifikationen gelockert sind, sodass die Rückkopplungsregelkreisverstärkung und/oder -bandbreite höher ist. Bei manchen Ausführungsformen wird der Verstärker mit kapazitiv gekoppelten Eingängen in Rückkopplung verwendet, um den Sensor mit der Wandlereingangsspannung zu betreiben, indem Regler mit hoher PSRR (Power Supply Rejection Ratio) eingesetzt werden, um eine lokale, saubere Versorgungsspannung zu erzeugen, was eine geringere Störung des Stromnetzes im Schalterbereich verursacht. Bei manchen Ausführungsformen kann eine Variante des Designs verwendet werden, um die Differenz zwischen der Eingangsspannung und der Reglerversorgung abzutasten und diejenige zwischen den Drain-Spannungen der Leistungs- und Replikatschalter nachzubilden. Dadurch kann der Sensor nicht mit der Leistungsversorgungsspannung beaufschlagt werden. Bei manchen Ausführungsformen wird der Verstärker mit kapazitiv gekoppelten Eingängen in Rückkopplung verwendet, um leistungsliefernetzwerkbezogene (PDN-bezogene) Änderungen in der Eingangsspannung während der Stromerfassung zu kompensieren.
  • Manche Ausführungsformen verwenden drei Komponenten, um die Spitzenleistung des SoC 5501 basierend auf den Zuständen einer USB-TYP-C-Vorrichtung 5529 anzupassen. Diese Komponenten schließen einen OS-Spitzenleistungsmanager (Teil des OS 5552), einen USB-Typ-C-Verbindungsmanager (Teil des OS 5552) und einen USB-Typ-C-Protokollvorrichtungstreiber (z. B. einen der Treiber 5554a, 5554b, 5554c) ein. Bei manchen Ausführungsformen sendet der USB-Typ-C-Verbindungsmanager eine synchrone Anforderung an den OS-Spitzenleistungsmanager, wenn eine USB-Typ-C-Leistungssenkenvorrichtung an das SoC 5501 angebracht oder von diesem getrennt wird, und der USB-Typ-C-Protokollvorrichtungstreiber sendet eine synchrone Anforderung an den Spitzenleistungsmanager, wenn die Leistungssenke den Vorrichtungszustand wechselt. Bei manchen Ausführungsformen nimmt der Spitzenleistungsmanager das Leistungsbudget von der CPU, wenn der USB-Typ-C-Verbinder an einer Leistungssenke angebracht ist und aktiv ist (z. B. Hochleistungsvorrichtungszustand). Bei manchen Ausführungsformen gibt der Spitzenleistungsmanager das Leistungsbudget an die CPU für die Leistungsfähigkeit zurück, wenn der USB-Typ-C-Verbinder entweder getrennt ist oder die angebrachte und Leistungssenkenvorrichtung inaktiv (niedrigster Vorrichtungszustand) ist.
  • Bei manchen Ausführungsformen wird eine Logik bereitgestellt, um den am besten arbeitenden Verarbeitungskern dynamisch für BIOS-Einschaltflüsse und Schlafzustand-Austrittsflüsse (z. B. S3, S4 und/oder S5) auszuwählen. Die Auswahl des Bootstrap-Prozessors (BSP) wird anstelle einer festen Hardwareauswahl zu einer beliebigen Zeit auf eine frühe Einschaltzeit verschoben. Für eine maximale Boot-Leistungsfähigkeit wählt die Logik den schnellsten fähigen Kern als BSP zu einer frühen Einschaltzeit aus. Außerdem wählt die Logik zur maximalen Energieeinsparung den leistungseffizientesten Kern als BSP aus. Die Prozessorauswahl oder das Umschalten zum Auswählen des BSP erfolgt sowohl während des Bootens als auch während des Einschaltflusses (z. B. des S3-, S4- und/oder S5-Flusses).
  • Bei manchen Ausführungsformen sind die Speicher hierin in einer Mehrebenen-Speicherarchitektur organisiert und ihre Leistungsfähigkeit wird durch ein dezentrales Schema bestimmt. Das dezentrale Schema beinhaltet eine p-Einheit 5510 und Speichersteuerungen. Bei manchen Ausführungsformen gleicht das Schema dynamisch eine Anzahl von Parametern, wie etwa Leistung, Thermen, Kosten, Latenz und Leistungsfähigkeit für Speicherebenen aus, die in der Plattform 5500 progressiv weiter vom Prozessor entfernt sind, basierend darauf, wie Anwendungen Speicherebenen verwenden, die weiter von Prozessorkernen entfernt sind. Bei manchen Beispielen ist die Entscheidungsfindung für den Zustand des Fernspeichers (FM) dezentral. Zum Beispiel treffen eine Prozessorleistungsverwaltungseinheit (p-Einheit), eine Nahspeichersteuerung (NMC) und/oder eine Fernspeicherhoststeuerung (FMHC) Entscheidungen über die Leistung und/oder den Leistungsfähigkeitszustand des FM auf ihren jeweiligen Ebenen. Diese Entscheidungen werden koordiniert, um für eine bestimmte Zeit den optimalsten Leistungs- und/oder Leistungsfähigkeitszustand des FM bereitzustellen. Der Leistungs- und/oder Leistungszustand der Speicher ändert sich adaptiv zu sich ändernden Arbeitslasten und anderen Parametern, selbst wenn sich der oder die Prozessoren in einem bestimmten Leistungszustand befinden.
  • Ein Bezug in der Beschreibung auf „eine Ausführungsform“, „(genau) eine Ausführungsform“, „manche Ausführungsformen“ oder „andere Ausführungsformen“ bedeutet, dass ein bestimmtes Merkmal, eine bestimmte Struktur oder Charakteristik, das/die in Verbindung mit den Ausführungsformen beschrieben ist, bei wenigstens manchen Ausführungsformen, aber nicht notwendigerweise allen Ausführungsformen enthalten ist. Die verschiedenen Erscheinungen von „einer Ausführungsform“, „(genau) einer Ausführungsform“ oder „manchen Ausführungsformen“ beziehen sich nicht notwendigerweise alle auf die gleichen Ausführungsformen. Falls die Spezifikation angibt, dass eine Komponente, ein Merkmal, eine Struktur oder eine Charakteristik enthalten sein „kann“ oder „könnte“, muss diese spezielle Komponente, dieses spezielle Merkmal, diese spezielle Struktur oder diese spezielle Charakteristik nicht enthalten sein. Falls sich die Spezifikation oder der Anspruch auf „ein“ Element bezieht, bedeutet dies nicht, dass es nur eines der Elemente gibt. Wenn sich die Spezifikation oder Ansprüche auf „ein zusätzliches“ Element bezieht, schließt dies nicht aus, dass es mehr als eines der zusätzlichen Elemente gibt.
  • In der gesamten Beschreibung und in den Ansprüchen bedeutet der Ausdruck „verbunden“ eine direkte Verbindung wie etwa eine elektrische, mechanische oder magnetische Verbindung zwischen den Dingen, die verbunden sind, ohne irgendwelche Zwischenvorrichtungen.
  • Der Ausdruck „gekoppelt“ bezeichnet eine direkte oder indirekte Verbindung, wie etwa eine direkte elektrische, mechanische oder magnetische Verbindung zwischen den Dingen, die durch eine oder mehrere passive oder aktive Zwischenvorrichtungen verbunden sind, oder eine indirekte Verbindung.
  • Der Ausdruck „benachbart“ verweist hier allgemein auf eine Position einer Sache, die neben (z. B. unmittelbar daneben oder in der Nähe mit einer oder mehreren Sachen dazwischen) oder an eine andere Sache angrenzt (z. B. daran anstoßend).
  • Der Ausdruck „Schaltung“ oder „Modul“ kann sich auf eine oder mehrere passive und/oder aktive Komponenten beziehen, die dazu eingerichtet sind, miteinander zusammenzuwirken, um eine gewünschte Funktion bereitzustellen.
  • Der Ausdruck „Signal“ kann sich auf wenigstens ein Stromsignal, Spannungssignal, Magnetsignal oder Daten-/Taktsignal beziehen. Die Bedeutung von „ein“, „eine(s/r)“ und „das“ schließen Pluralreferenzen ein. Die Bedeutung von „in“ schließt „in“ und „auf“ ein.
  • Der Ausdruck „analoges Signal“ ist ein beliebiges kontinuierliches Signal, bei dem zeitvariierende Merkmal (Variable) des Signals eine Repräsentation einer anderen zeitvariierenden Größe ist, d. h. analog zu einem anderen zeitvariierenden Signal.
  • Der Ausdruck „digitales Signal“ ist ein physikalisches Signal, das eine Repräsentation einer Folge diskreter Werte (eines quantifizierten zeitdiskreten Signals) ist, beispielsweise eines beliebigen Bitstroms oder eines digitalisierten (abgetasteten und analog/digital gewandelten) analogen Signals.
  • Der Ausdruck „Skalieren“ verweist allgemein auf das Umwandeln eines Designs (Schematik und Layout) von einer Prozesstechnologie zu einer anderen Prozesstechnologie und kann anschließend in der Layoutfläche reduziert werden. In manchen Fällen verweist Skalieren auch auf das Vergrößern eines Designs von einer Prozesstechnologie zu einer anderen Prozesstechnologie und kann anschließend die Layoutfläche erhöhen. Der Ausdruck „Skalieren“ verweist allgemein auch auf Verkleinern oder Vergrößern eines Layouts und von Vorrichtungen innerhalb desselben Technologieknotens. Der Ausdruck „Skalieren“ kann sich auch auf Anpassen (z. B. Verlangsamen oder Beschleunigen - d. h. Herunterskalieren bzw. Heraufskalieren) einer Signalfrequenz relativ zu einem anderen Parameter, zum Beispiel einem Leistungspegel, beziehen.
  • Die Ausdrücke „im Wesentlichen“, „nahe“, „näherungsweise“, „nahezu“ und „etwa“ verweisen allgemein darauf, dass sie innerhalb von +/- 10 % eines Zielwerts liegen.
  • Sofern nichts anderes angegeben ist, gibt die Verwendung der Ordnungsadjektive „erste(r/s)“, „zweite(r/s)“ und „dritte(r/s)“ usw. zum Beschreiben eines gemeinsamen Objekts lediglich an, dass auf unterschiedliche Instanzen gleicher Objekte Bezug genommen wird und nicht implizieren soll, dass sich die so beschriebenen Objekte in einer gegebenen Reihenfolge befinden müssen, entweder zeitlich, räumlich, in Rangfolge oder auf irgendeine andere Weise.
  • Für die Zwecke der vorliegenden Offenbarung bedeuten die Formulierungen „A und/oder B“ und „A oder B“ (A), (B) oder (A und B). Für die Zwecke der vorliegenden Offenbarung bedeutet der Ausdruck „A, B und/oder C“ (A), (B), (C), (A und B), (A und C), (B und C) oder (A, B und C).
  • Die Ausdrücke „links“, „rechts“, „vorne“, „hinten“, „oben“, „unten“, „über“, „unter“ und dergleichen in der Beschreibung und in den Ansprüchen, falls vorhanden, werden zu beschreibenden Zwecken und nicht notwendigerweise zum Beschreiben permanenter relativer Positionen verwendet.
  • Es wird darauf hingewiesen, dass diejenigen Elemente der Figuren, die die gleichen Bezugszeichen (oder Namen) wie die Elemente einer beliebigen anderen Figur aufweisen, auf eine beliebige ähnliche Weise wie die beschriebene arbeiten oder funktionieren können, aber nicht darauf beschränkt sind.
  • Zu Zwecken der Ausführungsformen sind die Transistoren in verschiedenen Schaltungen und Logikblöcken, die hier beschrieben sind, Metalloxidhalbleiter (MOS)-Transistoren oder ihre Derivate, wobei die MOS-Transistoren Drain-, Source-, Gate- und Bulkanschlüsse beinhalten. Die Transistoren und/oder die MOS-Transistorderivate beinhalten auch Tri-Gate und FinFET-Transistoren, Gate-All-Round-Zylinder-Transistoren, Tunnelung-FET- (TFET), Quadratdraht- oder Rechteckbandtransistoren, ferroelektrische FETs (FeFETs) oder andere Vorrichtungen, die Transistorfunktionalität implementieren, wie Kohlenstoffnanoröhren oder Spintronvorrichtungen. Symmetrische Source- und Drain-Anschlüsse eines MOSFET sind also identische Anschlüsse und werden hier austauschbar verwendet. Eine TFET-Vorrichtung weist andererseits asymmetrische Source- und Drain-Anschlüsse auf. Fachleute verstehen, dass andere Transistoren, zum Beispiel Bipolartransistoren (BJT-PNP/NPN), BiCMOS, CMOS usw., verwendet werden können, ohne vom Schutzumfang der Offenbarung abzuweichen.
  • Hier verweist der Ausdruck „Supervisor“ allgemein auf eine Leistungssteuerungs- oder Leistungsverwaltungseinheit (eine „p-Einheit“), die leistungs- und leistungsfähigkeitsbezogene Parameter für eine oder mehrere assoziierte Leistungsdomänen überwacht und verwaltet, entweder allein oder in Zusammenarbeit mit einer oder mehreren anderen p-Einheiten. Leistungs-/leistungsfähigkeitsbezogene Parameter können unter anderem Domänenleistung, Plattformleistung, Spannung, Spannungsdomänenstrom, Die-Strom, Lastleitung, Temperatur, Vorrichtungslatenz, Nutzung, Taktfrequenz, Verarbeitungseffizienz, Strom-/zukünftige Arbeitslastinformationen und andere Parameter sein. Sie kann neue Leistungs- oder Leistungsfähigkeitsparameter (Grenzen, Durchschnittsbetrieb usw.) für die eine oder die mehreren Domänen bestimmen. Diese Parameter können dann über eine oder mehrere Fabrics und/oder Zwischenverbindungen an Supervisand-p-Einheiten oder direkt an gesteuerte oder überwachte Entitäten wie etwa VR oder Taktdrosselsteuerregister kommuniziert werden. Ein Supervisor erfährt die Arbeitslast (aktuell und zukünftig) eines oder mehrerer Dies, Leistungsmessungen des einen oder der mehreren Dies und andere Parameter (z. B. Plattformebenenleistungsgrenzen) und bestimmt neue Leistungsgrenzen für das eine oder die mehreren Dies. Diese Leistungsgrenzen werden dann von Supervisor-p-Einheiten über ein oder mehrere Fabrics und/oder eine Verschaltung an die Supervisand-p-Einheiten kommuniziert. In Beispielen, in denen ein Die eine p-Einheit aufweist, wird eine Supervisor-p-Einheit (Svor-p-Einheit) auch als Supervisor-Die bezeichnet.
  • Hier bezieht sich der Ausdruck „Supervisand“ allgemein auf eine Leistungssteuerung oder eine Leistungsverwaltungseinheit (eine „p-Einheit“), die leistungs- und leistungsfähigkeitsbezogene Parameter für eine oder mehrere zugehörige Leistungsdomänen überwacht und verwaltet, entweder allein oder in Zusammenarbeit mit einer oder mehreren anderen p-Einheiten, und Anweisungen von einem Supervisor zum Einstellen von Leistungs- und/oder Leistungsfähigkeitsparametern (z. B. Versorgungsspannung, Betriebsfrequenz, Maximalstrom, Drosselschwelle usw.) für seine zugehörige Leistungsdomäne empfängt. In Beispielen, in denen ein Die eine p-Einheit aufweist, kann eine Supervisand-p-Einheit (Svee-p-Einheit) auch als Supervisand-Die bezeichnet werden. Es wird angemerkt, dass eine p-Einheit entweder als eine Svor-, eine Svee- oder beides, eine Svor/Svee-p-Einheit, dienen kann.
  • Hier verweist der Ausdruck „Prozessorkern“ allgemein auf eine unabhängige Ausführungseinheit, die jeweils einen Programmthread parallel zu anderen Kernen ausführen kann. Ein Prozessorkern kann eine dedizierte Leistungssteuerung oder Leistungssteuereinheit (p-Einheit) beinhalten, die dynamisch oder statisch als ein Supervisor oder Supervisand konfiguriert sein kann. Diese dedizierte p-Einheit wird in manchen Beispielen auch als autonome p-Einheit bezeichnet. In manchen Beispielen sind alle Prozessorkerne von der gleichen Größe und Funktionalität, d. h. symmetrische Kerne. Prozessorkerne können aber auch asymmetrisch sein. Zum Beispiel weisen manche Prozessorkerne eine andere Größe und/oder Funktion als andere Prozessorkerne auf. Ein Prozessorkern kann ein virtueller Prozessorkern oder ein physischer Prozessorkern sein.
  • Hier verweist der Ausdruck „Die“ allgemein auf ein einziges kontinuierliches Stück Halbleitermaterial (z. B. Silicium), in dem sich Transistoren oder andere Komponenten, die einen Prozessorkern bilden, befinden können. Mehrkernprozessoren können zwei oder mehr Prozessoren auf einem einzigen Die aufweisen, alternativ können aber die zwei oder mehr Prozessoren auf zwei oder mehr jeweiligen Dies bereitgestellt sein. Jeder Die verfügt über eine eigene Leistungssteuerung oder Leistungssteuereinheit (p-Einheit) Leistungssteuerung oder Leistungssteuereinheit (p-Einheit), die dynamisch oder statisch als Supervisor oder Supervisand konfiguriert werden kann. Bei manchen Beispielen weisen Dies die gleiche Größe und Funktionalität auf, d. h. symmetrische Kerne. Die Dies können aber auch asymmetrisch sein. Manche Dies weisen zum Beispiel eine andere Größe und/oder Funktion als andere Dies auf.
  • Hier bezieht sich der Ausdruck „Zwischenverbindung“ auf eine Kommunikationsverbindung oder einen Kommunikationskanal zwischen zwei oder mehr Punkten oder Knoten. Sie kann einen oder mehrere separate Leitungspfade wie etwa Drähte, Vias, Wellenleiter, passive Komponenten und/oder aktive Komponenten umfassen. Es kann sich auch um eine Fabric handeln.
  • Hier verweist der Ausdruck „Schnittstelle“ allgemein auf Software und/oder Hardware, die zum Kommunizieren mit einer Zwischenverbindung verwendet werden. Eine Schnittstelle kann eine Logik und einen E/A-Treiber/-Empfänger zum Senden und Empfangen von Daten über die Zwischenverbindung oder einen oder mehrere Drähte beinhalten.
  • Hier verweist der Ausdruck „Fabric“ allgemein auf einen Kommunikationsmechanismus mit einem bekannten Satz von Quellen, Zielen, Routingregeln, Topologie und anderen Eigenschaften. Die Quellen und Ziele können eine beliebige Art von Datenhandhabungsfunktionseinheit wie etwa Leistungsverwaltungseinheiten sein. Fabrics können sich zweidimensional entlang einer x-y-Ebene eines Die erstrecken und/oder dreidimensional (3D) entlang einer x-y-z-Ebene eines Stapels von vertikal und horizontal angeordneten Dies erstrecken. Eine einzelne Fabric kann sich über mehrere Dies erstrecken. Eine Fabric kann eine beliebige Topologie wie eine Mesh-Topologie, Sterntopologie, Daisy-Chain-Topologie annehmen. Eine Fabric kann Teil eines Network-on-Chip (NoC) mit mehreren Agenten sein. Diese Agenten können eine beliebige Funktionseinheit sein.
  • Hier bezieht sich der Ausdruck „Dielet“ oder „Chiplet“ allgemein auf ein physisch unterscheidbares Halbleiter-Die, das in der Regel auf eine Weise mit einem angrenzenden Die verbunden ist, die es der Fabric über eine Die-Grenze hinweg ermöglicht, wie eine einzelne Fabric anstatt als zwei unterschiedliche Fabrics zu fungieren. Somit können zumindest einige Dies Dielets sein. Jedes Dielet kann eine oder mehrere p-Einheiten einschließen, die dynamisch oder statisch als ein Supervisor, Supervisand oder beides konfiguriert sein können.
  • Hier verweist der Ausdruck „Domäne“ allgemein auf einen logischen oder physischen Umfang, der ähnliche Eigenschaften (z. B. Versorgungsspannung, Betriebsfrequenz, Typ von Schaltungen oder Logik und/oder Arbeitslasttyp) aufweist und/oder durch einen bestimmten Agenten gesteuert wird. Eine Domäne kann zum Beispiel eine Gruppe von Logikeinheiten oder Funktionseinheiten sein, die durch einen bestimmten Supervisor gesteuert werden. Eine Domäne kann auch als autonomer Perimeter (AP) bezeichnet werden. Eine Domäne kann ein gesamtes System-on-Chip (SoC) oder ein Teil des SoC sein und wird durch eine p-Einheit gesteuert.
  • Des Weiteren können die speziellen Merkmale, Strukturen, Funktionen oder Charakteristiken in einer oder mehreren Ausführungsformen auf eine beliebige geeignete Weise kombiniert werden. Zum Beispiel kann eine erste Ausführungsform überall dort mit einer zweiten Ausführungsform kombiniert werden, wo sich die speziellen Merkmale, Strukturen, Funktionen oder Charakteristiken, die mit den zwei Ausführungsformen assoziiert sind, nicht gegenseitig ausschließen.
  • Obgleich die Offenbarung in Verbindung mit spezifischen Ausführungsformen davon beschrieben wurde, werden Fachleuten angesichts der vorstehenden Beschreibung viele Alternativen, Modifikationen und Variationen solcher Ausführungsformen offensichtlich sein. Die Ausführungsformen der Offenbarung sollen alle derartigen Alternativen, Modifikationen und Variationen umfassen, so dass sie in den breiten Schutzumfang der angehängten Ansprüche fallen.
  • Außerdem können wohlbekannte Leistungs-/Masseverbindungen zu Integrierter-Schaltkreis (IC)-Chips und anderen Komponenten innerhalb der präsentierten Figuren zur Vereinfachung der Veranschaulichung und Erörterung und um die Offenbarung nicht zu verunklaren, gezeigt sein oder nicht. Ferner können Anordnungen in Blockdiagrammform gezeigt werden, um ein Verunklaren der Offenbarung zu vermeiden, und auch in Anbetracht dessen, dass Besonderheiten bezüglich der Implementierung solcher Blockdiagrammanordnungen stark von der Plattform abhängen, innerhalb derer die vorliegende Offenbarung implementiert werden soll (d. h. solche Besonderheiten sollten durchaus im Aufgabenbereich des Fachmanns liegen). Wo spezifische Einzelheiten (z. B. Schaltungen) dargelegt sind, um Ausführungsbeispiele der Offenbarung zu beschreiben, sollte einem Fachmann ersichtlich sein, dass die Offenbarung ohne oder mit Variation dieser spezifischen Einzelheiten umgesetzt werden kann. Die Beschreibung ist somit veranschaulichend anstatt als Einschränkung anzusehen.
  • Die folgenden Beispiele betreffen weitere Ausführungsformen. Besonderheiten in den Beispielen können überall bei einer oder mehreren Ausführungsformen verwendet werden. Alle optionalen Merkmale der hierin beschriebenen Einrichtung können auch in Bezug auf ein Verfahren oder Verfahren implementiert werden. Die Beispiele können in beliebigen Kombinationen kombiniert werden. Beispielsweise kann Beispiel 4 mit Beispiel 2 kombiniert werden.
  • Beispiel 1: Eine Einrichtung, die Folgendes aufweist: eine Vielzahl von Verarbeitungskernen; eine erste Speichersteuerung, die mit einem oder mehreren ersten Speichermodulen über eine erste Verbindung gekoppelt ist; eine zweite Speichersteuerung, die mit einem oder mehreren zweiten Speichermodulen über eine zweite Verbindung gekoppelt ist; und eine Leistungsverwaltungseinheit, die mit der Vielzahl von Verarbeitungskernen, der ersten Speichersteuerung und der zweiten Speichersteuerung gekoppelt ist, wobei die Leistungsverwaltungseinheit dazu dient, die Leistungs- und/oder Leistungsfähigkeitsrichtlinie und Randbedingungen für die Einrichtung zu bestimmen und einen Leistungszustand für die erste und/oder zweite Verbindung über die erste Speichersteuerung und/oder die zweite Speichersteuerung zu kommunizieren.
  • Beispiel 2: Die Einrichtung nach einem beliebigen Beispiel hierin, wobei die zweite Speichersteuerung die Leistung des einen oder der mehreren zweiten Speichermodule über die zweite Verbindung und basierend auf einem dynamischen Profil der Arbeitslast, die einer Speichervorrichtung zugeführt wird, verwaltet, wobei die Speichervorrichtung mit den zweiten Speichermodulen und der zweiten Speichersteuerung gekoppelt ist.
  • Beispiel 3: Die Einrichtung von Beispiel 2, wobei die Speichervorrichtung Vorrang vor der zweiten Speichersteuerung und/oder der Leistungsverwaltungseinheit hat, um über den Leistungszustand der zweiten Verbindung zu entscheiden.
  • Beispiel 4: Die Einrichtung nach einem beliebigen Beispiel hierin, wobei die zweite Speichersteuerung einen Timer zum Bestimmen einer Austrittslatenz aus einem Leistungszustand der zweiten Verbindung beinhaltet, wobei die Austrittslatenz durch die zweite Speichersteuerung berücksichtigt wird, um einen Leistungszustand der zweiten Verbindung zu bestimmen.
  • Beispiel 5: Die Einrichtung nach einem beliebigen Beispiel hierin, wobei die Leistungsverwaltungseinheit Speicherzugriffsmusterhinweise für ein Betriebssystem empfängt und die Speicherzugriffsmusterhinweise an die zweite Speichersteuerung bereitstellt, wobei die zweite Speichersteuerung die Speicherzugriffsmusterhinweise berücksichtigt, um einen Leistungszustand der zweiten Verbindung zu bestimmen.
  • Beispiel 6: Die Einrichtung nach einem beliebigen Beispiel hierin, wobei die Leistungs- und/oder Leistungsfähigkeitsrichtlinie eine Batterielebensdauer und Dienstqualität beinhaltet.
  • Beispiel 7: Die Einrichtung nach einem beliebigen Beispiel hierin, wobei die Randbedingungen eine Leistungshüllkurve, eine thermische Grenze und einen maximalen Versorgungsstrom beinhalten.
  • Beispiel 8: Die Einrichtung nach einem beliebigen Beispiel hierin, wobei die erste Verbindung eine Verbindung mit doppelter Datenrate ist und wobei die ersten Speichermodule einen dynamischen Direktzugriffsspeicher umfassen.
  • Beispiel 9: Die Einrichtung nach einem beliebigen Beispiel hierin, wobei die zweite Verbindung eine Peripheral Component Interface Express-Verbindung ist, wobei die zweiten Speichermodule eine langsamere Austrittslatenz als eine Austrittslatenz der ersten Speichermodule aufweisen.
  • Beispiel 10: Die Einrichtung nach einem beliebigen Beispiel hierin, wobei der Leistungszustand der ersten und/oder zweiten Verbindung von Leistungszuständen der Vielzahl von Verarbeitungskernen entkoppelt ist.
  • Beispiel 11: Maschinenlesbares Speichermedium mit maschinenlesbaren Anweisungen, die bei Ausführung bewirken, dass eine oder mehrere Maschinen ein Verfahren durchführen, das Folgendes umfasst: Bestimmen einer Leistungs- und/oder Leistungsfähigkeitsrichtlinie und von Randbedingungen für ein Prozessorsystem; Kommunizieren eines ersten Leistungszustands für eine Verbindung über eine Speichersteuerung; dynamisches Profilieren der Arbeitslast, die eine Speichervorrichtung speist, die mit der Speichersteuerung gekoppelt ist; Vorschlagen eines zweiten Leistungszustands für die Verbindung basierend auf der Leistungs- und/oder Leistungsrichtlinie und Randbedingungen und dynamisch profilierter Arbeitslast.
  • Beispiel 12: Maschinenlesbares Speichermedium nach einem beliebigen Beispiel hierin, wobei die Leistungs- und/oder Leistungsfähigkeitsrichtlinie eine Batterielebensdauer und Dienstqualität beinhaltet.
  • Beispiel 13: Maschinenlesbares Speichermedium nach einem beliebigen Beispiel, wobei der erste Leistungszustand für die Verbindung gleich dem zweiten Leistungszustand für die Verbindung ist.
  • Beispiel 14: Maschinenlesbares Speichermedium nach einem beliebigen Beispiel hierin, wobei sich der erste Leistungszustand für die Verbindung von dem zweiten Leistungszustand für die Verbindung unterscheidet.
  • Beispiel 15: Maschinenlesbares Speichermedium nach einem beliebigen Beispiel hierin, wobei der zweite Leistungszustand Vorrang vor dem ersten Leistungszustand hat.
  • Beispiel 16: Maschinenlesbares Speichermedium nach einem beliebigen Beispiel hierin, das maschinenlesbare Anweisungen aufweist, die bei Ausführung bewirken, dass die eine oder die mehreren Maschinen das Verfahren durchführen, das Folgendes umfasst: Bestimmen einer Austrittslatenz aus einem Leistungszustand der zweiten Verbindung; und Berücksichtigen der Austrittslatenz durch die Speichersteuerung, um einen Leistungszustand der zweiten Verbindung zu bestimmen.
  • Beispiel 17: System, umfassend: Fernspeichermodule; Nahspeichermodule; einen Prozessor, der mit den Fernspeichermodulen und den Nahspeichermodulen gekoppelt ist; und eine drahtlose Vorrichtung, um dem Prozessor zu ermöglichen, mit einer anderen Vorrichtung zu kommunizieren, wobei der Prozessor aufweist: eine Vielzahl von Verarbeitungskernen; eine Nahspeichersteuerung, die über eine erste Verbindung mit den Nahspeichermodulen gekoppelt ist; eine Fernspeichersteuerung, die über eine zweite Verbindung mit den Fernspeichermodulen gekoppelt ist; und eine Leistungsverwaltungseinheit, die mit der Vielzahl von Verarbeitungskernen, der Nahspeichersteuerung und der Fernspeichersteuerung gekoppelt ist, wobei die Leistungsverwaltungseinheit dazu dient, eine Leistungs- und/oder Leistungfähigkeitsrichtlinie und Randbedingungen für den Prozessor zu bestimmen und einen Leistungszustand für die erste und/oder die zweite Verbindung über die Nahspeichersteuerung und/oder die Fernspeichersteuerung zu kommunizieren.
  • Beispiel 18: Das System nach einem beliebigen Beispiel hierin, wobei die Fernspeichersteuerung die Leistung der Fernspeichermodule über die zweite Verbindung und basierend auf einem dynamischen Profil der Arbeitslast, die einer Speichervorrichtung zugeführt wird, verwaltet, wobei die Speichervorrichtung mit den Fernspeichermodulen und der Fernspeichersteuerung gekoppelt ist.
  • Beispiel 19: Das System nach einem beliebigen Beispiel hierin, wobei die Speichervorrichtung Vorrang vor der Fernspeichersteuerung und/oder der Leistungsverwaltungseinheit hat, um den Leistungszustand der zweiten Verbindung zu entscheiden.
  • Beispiel 20: Das System nach einem beliebigen Beispiel hierin, wobei die Fernspeichersteuerung einen Timer zum Bestimmen einer Austrittslatenz aus einem Leistungszustand der zweiten Verbindung beinhaltet, wobei die Austrittslatenz durch die Fernspeichersteuerung berücksichtigt wird, um einen Leistungszustand der zweiten Verbindung zu bestimmen.
  • Es wird eine Zusammenfassung bereitgestellt, die es dem Leser ermöglicht, die Art und den Kern der technischen Offenbarung zu ermitteln. Die Zusammenfassung wird mit dem Verständnis eingereicht, dass sie nicht verwendet wird, um den Schutzumfang oder die Bedeutung der Ansprüche zu beschränken. Die folgenden Ansprüche werden hiermit in die detaillierte Beschreibung aufgenommen, wobei jeder Anspruch für sich allein als separate Ausführungsform steht.

Claims (20)

  1. Einrichtung, die Folgendes umfasst: eine Vielzahl von Verarbeitungskernen; eine erste Speichersteuerung, die über eine erste Verbindung mit einem oder mehreren ersten Speichermodulen gekoppelt ist; eine zweite Speichersteuerung, die über eine zweite Verbindung mit einem oder mehreren zweiten Speichermodulen gekoppelt ist; und eine Leistungsverwaltungseinheit, die mit der Vielzahl von Verarbeitungskernen, der ersten Speichersteuerung und der zweiten Speichersteuerung gekoppelt ist, wobei die Leistungsverwaltungseinheit dazu dient, eine Leistungs- und/oder Leistungsfähigkeitsrichtlinie und Randbedingungen für die Einrichtung zu bestimmen und einen Leistungszustand für die erste und/oder die zweite Verbindung über die erste Speichersteuerung und/oder die zweite Speichersteuerung zu kommunizieren.
  2. Einrichtung nach Anspruch 1, wobei die zweite Speichersteuerung die Leistung des einen oder der mehreren zweiten Speichermodule über die zweite Verbindung und basierend auf einem dynamischen Profil der Arbeitslast, die einer Speichervorrichtung zugeführt wird, verwaltet, wobei die Speichervorrichtung mit den zweiten Speichermodulen und der zweiten Speichersteuerung gekoppelt ist.
  3. Einrichtung nach Anspruch 2, wobei die Speichervorrichtung Vorrang vor der zweiten Speichersteuerung und/oder der Leistungsverwaltungseinheit hat, um über den Leistungszustand der zweiten Verbindung zu entscheiden.
  4. Einrichtung nach einem der Ansprüche 1 bis 3, wobei die zweite Speichersteuerung einen Timer zum Bestimmen einer Austrittslatenz aus einem Leistungszustand der zweiten Verbindung beinhaltet, wobei die Austrittslatenz von der zweiten Speichersteuerung berücksichtigt wird, um einen Leistungszustand der zweiten Verbindung zu bestimmen.
  5. Einrichtung nach einem der Ansprüche 1 bis 4, wobei die Leistungsverwaltungseinheit Speicherzugriffsmusterhinweise für ein Betriebssystem empfängt und die Speicherzugriffsmusterhinweise an die zweite Speichersteuerung bereitstellt, wobei die zweite Speichersteuerung die Speicherzugriffsmusterhinweise berücksichtigt, um einen Leistungszustand der zweiten Verbindung zu bestimmen.
  6. Einrichtung nach einem der Ansprüche 1 bis 5, wobei die Leistungs- und/oder Leistungsfähigkeitsrichtlinie eine Batterielebensdauer und Dienstgüte beinhaltet.
  7. Einrichtung nach einem der Ansprüche 1 bis 6, wobei die Randbedingungen eine Leistungshüllkurve, eine thermische Grenze und einen maximalen Versorgungsstrom umfassen.
  8. Einrichtung nach einem der Ansprüche 1 bis 7, wobei die erste Verbindung eine Verbindung mit doppelter Datenrate ist und wobei die ersten Speichermodule einen dynamischen Direktzugriffsspeicher umfassen.
  9. Einrichtung nach einem der Ansprüche 1 bis 8, wobei die zweite Verbindung eine Peripheral Component Interface Express-Verbindung ist, wobei die zweiten Speichermodule eine langsamere Austrittslatenz als eine Austrittlatenz der ersten Speichermodule aufweisen.
  10. Einrichtung nach einem der Ansprüche 1 bis 9, wobei der Leistungszustand der ersten und/oder zweiten Verbindung von Leistungszuständen der Vielzahl von Verarbeitungskernen entkoppelt ist.
  11. Maschinenlesbares Speichermedium mit maschinenlesbaren Anweisungen, die bei Ausführung bewirken, dass eine oder mehrere Maschinen ein Verfahren durchführen, das Folgendes umfasst: Bestimmen der Leistungs- und/oder Leistungsfähigkeitsrichtlinie und Randbedingungen für ein Prozessorsystem; Kommunizieren eines ersten Leistungszustands für eine Verbindung über eine Speichersteuerung; dynamisches Profilieren einer Arbeitslast, die eine Speichervorrichtung speist, die mit der Speichersteuerung gekoppelt ist; Vorschlagen eines zweiten Leistungszustands für die Verbindung basierend auf der Leistungs- und/oder Leistungsfähigkeitsrichtlinie und Randbedingungen und dynamisch profilierter Arbeitslast.
  12. Maschinenlesbares Speichermedium nach Anspruch 11, wobei die Leistungs- und/oder Leistungsfähigkeitsrichtlinie eine Batterielebensdauer und Dienstgüte beinhaltet.
  13. Maschinenlesbares Speichermedium nach Anspruch 11 oder Anspruch 12, wobei der erste Leistungszustand für die Verbindung gleich dem zweiten Leistungszustand für die Verbindung ist.
  14. Maschinenlesbares Speichermedium nach einem der Ansprüche 11 bis 13, wobei sich der erste Leistungszustand für die Verbindung von dem zweiten Leistungszustand für die Verbindung unterscheidet.
  15. Maschinenlesbares Speichermedium nach einem der Ansprüche 11 bis 14, wobei der zweite Leistungszustand Vorrang vor dem ersten Leistungszustand hat.
  16. Maschinenlesbares Speichermedium nach einem der Ansprüche 11 bis 15, das maschinenlesbare Anweisungen aufweist, die bei Ausführung bewirken, dass die eine oder die mehreren Maschinen das Verfahren durchführen, das Folgendes umfasst: Bestimmen einer Austrittslatenz aus einem Leistungszustand der zweiten Verbindung; Berücksichtigen der Austrittslatenz durch die Speichersteuerung, um einen Leistungszustand der zweiten Verbindung zu bestimmen.
  17. System, das Folgendes umfasst: Fernspeichermodule; Nahspeichermodule; einen Prozessor, der mit den Fernspeichermodulen und den Nahspeichermodulen gekoppelt ist; und eine Drahtlosvorrichtung, um dem Prozessor zu ermöglichen, mit einer anderen Vorrichtung zu kommunizieren, wobei der Prozessor Folgendes beinhaltet: eine Vielzahl von Verarbeitungskernen; eine Nahspeichersteuerung, die über eine erste Verbindung mit den Nahspeichermodulen gekoppelt ist; eine Fernspeichersteuerung, die über eine zweite Verbindung mit den Fernspeichermodulen gekoppelt ist; und eine Leistungsverwaltungseinheit, die mit der Vielzahl von Verarbeitungskernen, der Nahspeichersteuerung und der Fernspeichersteuerung gekoppelt ist, wobei die Leistungsverwaltungseinheit dazu dient, eine Leistungs- und/oder Leistungsfähigkeitsrichtlinie und Randbedingungen für den Prozessor zu bestimmen und einen Leistungszustand für die erste und/oder die zweite Verbindung über die Nahspeichersteuerung und/oder die Fernspeichersteuerung zu kommunizieren.
  18. System nach Anspruch 17, wobei die Fernspeichersteuerung die Leistung der Fernspeichermodule über die zweite Verbindung und basierend auf einem dynamischen Profil der Arbeitslast, die einer Speichervorrichtung zugeführt wird, verwaltet, wobei die Speichervorrichtung mit den Fernspeichermodulen und der Fernspeichersteuerung gekoppelt ist.
  19. System nach Anspruch 18, wobei die Speichervorrichtung Vorrang vor der Fernspeichersteuerung und/oder der Leistungsverwaltungseinheit hat, um über den Leistungszustand der zweiten Verbindung zu entscheiden.
  20. System nach einem der Ansprüche 17 bis 19, wobei die Fernspeichersteuerung einen Timer zum Bestimmen einer Austrittslatenz aus einem Leistungszustand der zweiten Verbindung beinhaltet, wobei die Austrittslatenz durch die Fernspeichersteuerung berücksichtigt wird, um einen Leistungszustand der zweiten Verbindung zu bestimmen.
DE102021126686.6A 2020-12-19 2021-10-14 Leistungsverwaltungseinrichtung und -verfahren für mehrebenenspeichersysteme Pending DE102021126686A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/128,072 US20220197519A1 (en) 2020-12-19 2020-12-19 Multi-level memory system power management apparatus and method
US17/128,072 2020-12-19

Publications (1)

Publication Number Publication Date
DE102021126686A1 true DE102021126686A1 (de) 2022-06-23

Family

ID=81847527

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102021126686.6A Pending DE102021126686A1 (de) 2020-12-19 2021-10-14 Leistungsverwaltungseinrichtung und -verfahren für mehrebenenspeichersysteme

Country Status (3)

Country Link
US (1) US20220197519A1 (de)
CN (1) CN114647296A (de)
DE (1) DE102021126686A1 (de)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11789658B2 (en) 2021-04-13 2023-10-17 SK Hynix Inc. Peripheral component interconnect express (PCIe) interface system and method of operating the same
KR102668564B1 (ko) * 2021-06-01 2024-05-24 에스케이하이닉스 주식회사 PCIe 인터페이스 장치 및 그 동작 방법
KR102518317B1 (ko) 2021-04-13 2023-04-06 에스케이하이닉스 주식회사 PCIe 인터페이스 장치 및 그 동작 방법
US20230090103A1 (en) * 2021-09-20 2023-03-23 Western Digital Technologies, Inc. Sideband Information Over Host Interface Considering Link States
JP2024014337A (ja) * 2022-07-22 2024-02-01 キオクシア株式会社 メモリシステム
CN116301662B (zh) * 2023-05-12 2023-08-01 合肥联宝信息技术有限公司 一种固态硬盘功耗管理方法及固态硬盘

Also Published As

Publication number Publication date
US20220197519A1 (en) 2022-06-23
CN114647296A (zh) 2022-06-21

Similar Documents

Publication Publication Date Title
DE102021126686A1 (de) Leistungsverwaltungseinrichtung und -verfahren für mehrebenenspeichersysteme
DE102021124514A1 (de) Vorrichtung und verfahren für hierarchische leistungsverwaltung
DE112019002883T5 (de) Vorrichtung und verfahren für proaktives leistungsmanagement
DE112019002524T5 (de) Drosseln von komponenten über prioritätenreihenfolgen
DE102021119090A1 (de) Einrichtung und verfahren für energieeffiziente kernspannungsauswahl
US11742754B2 (en) Enhanced constant-on-time buck intellectual property apparatus and method
US11809250B2 (en) Workload aware power limiting and multiple-input multiple-output control
DE102020131640A1 (de) Vorrichtung und verfahren zur laststromerfassung mit schnellem ansprechen
DE102020134347A1 (de) Leistungsfeldeffekttransistor-topologie und bootstrapschaltung für invertierenden buck-boost-gs-gs-wandler
US11940855B2 (en) Apparatus and method for dynamic reallocation of processor power by throttling processor to allow an external device to operate
DE102020131690A1 (de) Energieverwaltung für usb-typ-c-subsysteme
DE102021132804A1 (de) Ospm-richtlinienverfahren und -einrichtung zur dynamischen usb-c-modusauswahl
DE112020003722T5 (de) Digital-linearer hybrid-schaltkondensator-spannungsregler
CN115514036A (zh) 自适应突发功率和快速电池充电装置和方法
DE102020134343A1 (de) Treiberunterstützte esd-schutzvorrichtung und zugehöriges verfahren
DE102020134338A1 (de) Inferenzbasierte schnellladung
DE102021119048A1 (de) Einrichtung und verfahren für eine einheitliche halte- und reaktivierungsklemme
DE102021121216A1 (de) Einrichtung und Verfahren zum Steuern eines Prozessorspitzensttroms
CN115378253A (zh) 计算型电流传感器
DE102021130628A1 (de) Sicherheitsverriegelungseinrichtung und verfahren für geistiges eigentum
US20210132123A1 (en) Per-part real-time load-line measurement apparatus and method
DE102022103790A1 (de) Einrichtung und verfahren zum detektieren einer leistungsversorgungssicherheitsanpassung und risikominderung
DE102022105671A1 (de) Phasenregelkreis-unterstützte schnellstartvorrichtung und schnellstartverfahren
US20210167014A1 (en) Apparatus and method to increase effective capacitance with layout staples
DE102020129505A1 (de) Klemmverfahren und -einrichtung mit digitalem linearem regler