DE102020132082A1 - Verfahren und vorrichtung zur genauen messung einer plattformleistung - Google Patents

Verfahren und vorrichtung zur genauen messung einer plattformleistung Download PDF

Info

Publication number
DE102020132082A1
DE102020132082A1 DE102020132082.5A DE102020132082A DE102020132082A1 DE 102020132082 A1 DE102020132082 A1 DE 102020132082A1 DE 102020132082 A DE102020132082 A DE 102020132082A DE 102020132082 A1 DE102020132082 A1 DE 102020132082A1
Authority
DE
Germany
Prior art keywords
power
saving mode
operating system
pmc
measurement
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
DE102020132082.5A
Other languages
English (en)
Inventor
Sriram Ranganathan
Naveen G
Pannerkumar Rajagopal
Govindaraj Gettimalli
Javahar Ragothaman
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 DE102020132082A1 publication Critical patent/DE102020132082A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R21/00Arrangements for measuring electric power or power factor
    • G01R21/133Arrangements for measuring electric power or power factor by using digital technique
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R21/00Arrangements for measuring electric power or power factor
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3243Power saving in microcontroller unit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3246Power saving characterised by the action undertaken by software initiated power-off

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • Power Sources (AREA)

Abstract

Ein Leistungsverwaltungscontroller (PMC), der Leistungszustände einer Plattform verwaltet, informiert ein Stromspeichervorrichtung, eine Messung der Plattformleistung zu starten, während des Eintritts in den Energiesparzustand (z. B. S0iX). Die Stromspeichervorrichtung startet mit der Leistungsmessung, bis eine Stoppnachricht von dem PMC kommt. Der PMC initiiert bei Erkennung eines Weckereignisses eine Stoppnachricht an die Stromspeichervorrichtung. Sobald ein Betriebssystem(OS)-Kontext wiederhergestellt ist, kann die Software die gemessenen Daten von der Stromspeichervorrichtung lesen. Die gemessenen Daten sind für eine Hostsoftware unter Verwendung einer Standard-Programmierschnittstelle (API) zugreifbar und können zur Beeinflussung der Stromversorgungsrichtlinien des Systems verwendet werden.

Description

  • HINTERGRUND
  • Die Batterielebensdauer ist einer der Schlüsselvektoren einer Intel-Client-Plattform, die eine bedeutende Rolle bei der Definition der Endbenutzererfahrung spielen. Es besteht ein zwingender Bedarf, der von den Energiezertifizierungsbehörden (z. B. der California Energy Commission, Energy Star usw.) getrieben wird, den Stromverbrauch der kritischen Plattformkomponenten während eines aktiven Systemzustands (S0) und im Systemruhezustand (S0iX) zu messen.
  • Figurenliste
  • Die Ausführungsformen der Offenbarung werden vollständiger verstanden aus der nachstehend gegebenen ausführlichen Beschreibung und aus den beigefügten Zeichnungen verschiedener Ausführungsformen der Offenbarung, die jedoch nicht zur Einschränkung der Offenbarung auf die spezifischen Ausführungsformen herangezogen werden sollten, sondern nur zur Erklärung und zum Verständnis dienen.
    • 1 stellt ein System-on-Chip mit einem Stromspeicher zum Messen der Systemleistung dar, gemäß einigen Ausführungsformen.
    • 2 stellt ein Zeitdiagramm auf hoher Ebene dar, das zeigt, wann der Stromspeicher die Systemleistung misst, gemäß einigen Ausführungsformen.
    • 3 stellt eine Systemarchitektur zum genauen Messen einer Plattformleistung durch eine Hostsoftware dar, wenn sich ein System-on-Chip der Plattform im Energiesparmodus (z. B. S0iX) befindet, gemäß einigen Ausführungsformen.
    • 4 stellt in Ereignisflussdiagramm zum genauen Messen einer Plattformleistung durch eine Hostsoftware dar, wenn sich ein System-on-Chip der Plattform im Energiesparmodus (z. B. S0iX) befindet, gemäß einigen Ausführungsformen.
    • 5 stellt eine Logik für einen Allzweck-Eingang-/Ausgang (GPIO) zum Steuern einer Nachricht von einem Energieverwaltungscontroller (PMC) an den Stromspeicher dar, gemäß einigen Ausführungsformen.
    • 6 stellt ein intelligentes Gerät oder ein Computersystem oder ein SoC (System-on-Chip) dar, das mit einem Stromspeicher gekoppelt ist, und das die Plattformleistung durch eine Hostsoftware genau misst, wenn sich der SoC der Plattform in einem Energiesparmodus (z. B. S0iX) befindet, gemäß verschiedenen Ausführungsformen.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Verschiedene Ausführungsformen offenbaren ein Verfahren und eine Vorrichtung zum genauen Messen der Systemleistung einer Plattform, wenn sich ein System der Plattform in einem tiefen Energiesparzustand („deep low power state“) (z. B. S0iX) befindet, ohne dass ein externes Leistungsmessinstrument erforderlich ist. Eine Kernlogik verwendet eine integrierte Stromspeichervorrichtung, entsprechende Softwaretreiber und einen Energieverwaltungscontroller (PMC) innerhalb eines System-on-Chip (SoC), um die Systemleistung zu messen, wenn sich die Plattform im Tiefschlafzustand (z. B. S0iX) befindet. Eine typische Plattform enthält mehrere Spannungsschienen (z. B. VCCCORE, VCCGT, VCCSA, VCCRING, VCCIO, VCCL2, VNNAON, VCCST usw.), die die Prozessorkerne, die Grafikeinheit und andere Hardwarekomponenten des SoC mit Strom versorgen. Verschiedene Ausführungsformen stellen die Möglichkeit bereit, die gesamte Plattformleistung sowie die Leistung einzelner Komponenten zu messen.
  • In einigen Ausführungsformen informiert der PMC, der für die Verwaltung der Energiezustände der Plattform verantwortlich ist, die Stromspeichervorrichtung, mit dem Messen des Energieverbrauchs der Plattform bzw. der Plattformleistung zu starten, während des Eintritts in den Energiesparzustand (z. B. S0iX). Die Stromspeichervorrichtung startet mit der Leistungsmessung, bis eine Stoppnachricht von dem PMC kommt. Der PMC initiiert bei Erkennung eines Weckereignisses eine Stoppnachricht an die Stromspeichervorrichtung. Sobald ein Betriebssystem- (OS) Kontext wiederhergestellt ist, kann die Software die gemessenen Daten (z. B. die gemessene Leistung) aus dem Stromspeicher lesen.
  • Die gemessenen Daten sind für eine Hostsoftware unter Verwendung der Standard-Software-API (Programmierschnittstelle) zugänglich und können zur Beeinflussung der Stromversorgungsrichtlinien des Systems verwendet werden. Beispielsweise werden die gemessenen Daten von der Hostsoftware verwendet, um das Verhalten der Plattform basierend auf dem Strombedarf des Endbenutzers zu lernen, zu adaptieren und dynamisch anzupassen, sowie um den Energieverbrauch für eine bessere Strombudgetierung zu berichten. In verschiedenen Ausführungsformen sind die gemessenen Daten eigenständig in dem Hostsystem vorhanden, um einen nativen Zugriff auf die gemessenen Daten durch die Software und das Betriebssystem zu ermöglichen.
  • Es gibt viele technische Effekte verschiedener Ausführungsformen. Beispielsweise haben die Hostsoftware und das OS direkten Zugriff auf die gemessenen Daten, und dieser Zugriff ermöglicht anwendungsbewusstes leistungsgerechtes Rechnen. Das Schema verschiedener Ausführungsformen ist nicht-intrusiv und verwendet möglicherweise nicht den Prozessor (die Prozessoren) des SoC, um Leistungsdaten zu messen. Das Schema ist genau und kostengünstig, und unterstützt die Leistungsmessung sowohl im aktiven Systemzustand (z. B. S0) als auch im Systemruhezustand (z. B. SoiX). Andere technische Effekte werden aus den verschiedenen Ausführungsformen und Figuren ersichtlich.
  • In der folgenden Beschreibung werden zahlreiche Einzelheiten diskutiert, um eine gründlichere Erklärung von Ausführungsformen der vorliegenden Offenbarung bereitzustellen. Dem Fachmann wird jedoch klar sein, dass Ausführungsformen der vorliegenden Offenbarung ohne diese spezifischen Einzelheiten praktiziert werden können. In anderen Fällen werden bekannte Strukturen und Geräte in Blockdiagrammform statt im Einzelnen gezeigt, um zu vermeiden, dass Ausführungsformen der vorliegenden Offenbarung verschleiert werden.
  • Es ist zu beachten, dass in den entsprechenden Zeichnungen der Ausführungsformen Signale durch Linien repräsentiert sind. Einige Linien können dicker sein, um konstituierende Signalpfade anzuzeigen, und/oder Pfeile an einem oder mehreren Enden aufweisen, um die Richtung des primären Informationsflusses anzuzeigen. Solche Angaben sollen nicht einschränkend sein. Vielmehr werden die Linien in Verbindung mit einer oder mehreren beispielhaften Ausführungsformen verwendet, um das Verständnis einer Schaltung oder einer logischen Einheit zu erleichtern. Jedes repräsentierte Signal kann, so wie es durch Entwurfsanforderungen oder -präferenzen vorgegeben ist, tatsächlich eines oder mehrere Signale umfassen, die sich in beide Richtungen bewegen können und mit jeder geeigneten Art eines Signalschemas implementiert werden können.
  • In der gesamten Beschreibung und in den Ansprüchen bedeutet der Begriff „verbunden“ eine direkte Verbindung, wie beispielsweise eine elektrische, mechanische oder magnetische Verbindung zwischen den verbundenen Dingen, ohne zwischengeschaltete Vorrichtungen.
  • Der Begriff „gekoppelt“ bedeutet eine direkte oder indirekte Verbindung, wie beispielsweise eine direkte elektrische, mechanische oder magnetische Verbindung zwischen den verbundenen Dingen, oder eine indirekte Verbindung, über eine oder mehrere passive oder aktive zwischengeschaltete Vorrichtungen.
  • Der Begriff „benachbart“ bezieht sich hier im Allgemeinen auf eine Position eines Dings neben (oder unmittelbar neben, oder nahe an einem oder mehreren Dingen dazwischen), oder an ein anderes Objekt angrenzend (z. B. an dieses anstoßend).
  • Der Begriff „Schaltung“ oder „Modul“ kann sich auf eine oder mehrere passive und/oder aktive Komponenten beziehen, die so angeordnet sind, dass sie miteinander zusammenarbeiten, um eine gewünschte Funktion bereitzustellen.
  • Der Begriff „Signal“ kann sich auf mindestens ein Stromsignal, Spannungssignal, magnetisches Signal oder Daten-/Taktsignal beziehen. Die Bedeutung von „ein“, „eines“ und „das/die/das“ umfasst Mehrfachreferenzen. Die Bedeutung von „in“ umfasst „in“ und „auf“.
  • Der Begriff „analoges Signal“ bezieht sich hier im Allgemeinen auf jedes kontinuierliche Signal, für das das zeitvariable Merkmal (Variable) des Signals eine Repräsentation einer anderen zeitvariablen Größe, d. h. analog zu einem anderen zeitvariablen Signal, ist.
  • Der Begriff „digitales Signal“ ist ein physikalisches Signal, das eine Repräsentation einer Sequenz von diskreten Werten ist (ein quantifiziertes zeitdiskretes Signal), beispielsweise eines beliebigen Bitstroms oder eines digitalisierten (abgetasteten und analog-zu-digital umgewandelten) analogen Signals.
  • Der Begriff „Skalierung“ bezieht sich im Allgemeinen auf das Konvertieren eines Entwurfs (schematisch und Layout) von einer Prozesstechnologie in eine andere Prozesstechnologie, und kann anschließend in der Layoutfläche reduziert sein. In einigen Fällen bezieht sich Skalierung auch auf die Vergrößerung eines Entwurfs von einer Prozesstechnologie zu einer anderen Prozesstechnologie, und kann anschließend die Layoutfläche vergrößern. Der Begriff „Skalierung“ bezieht sich im Allgemeinen auch auf das Verkleinern oder Vergrößern von Layouts und Bauelementen innerhalb desselben Technologieknotens. Der Begriff „Skalierung“ kann sich auch auf das Einstellen (z. B. Verlangsamen oder Beschleunigen - d. h. Abwärtsskalieren oder Aufwärtsskalieren) einer Signalfrequenz relativ zu einem anderen Parameter, beispielsweise dem Stromversorgungspegel, beziehen. Die Begriffe „im Wesentlichen“, „dicht“, „annähernd“, „nahe“ und „ungefähr“ beziehen sich im Allgemeinen darauf, innerhalb von +/- 10% eines Zielwerts zu liegen.
  • Sofern nicht anders angegeben, zeigt die Verwendung der ordinalen Adjektive „erstes“, „zweites“ und „drittes“ usw. zur Beschreibung eines gemeinsamen Objekts lediglich an, dass auf verschiedene Instanzen gleicher Objekte Bezug genommen wird, und soll nicht bedeuten, dass die so beschriebenen Objekte in einer bestimmten Sequenz auftreten müssen, sei es zeitlich, räumlich, in einer Rangfolge, oder auf andere Weise.
  • Für die Zwecke der vorliegenden Offenbarung bedeuten die Ausdrücke „A und/oder B“ und „A oder B“ (A), (B) oder (A und B). Für die Zwecke dieser 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 Begriffe „links“, „rechts“, „vorne“, „hinten“, „oben“, „unten“, „über“, „unter“ und dergleichen in der Beschreibung und in den Ansprüchen werden, falls vorhanden, zu beschreibenden Zwecken und nicht notwendigerweise zur Beschreibung dauerhafter relativer Positionen verwendet.
  • Es wird darauf hingewiesen, dass diejenigen Elemente der Figuren, die die gleichen Bezugszeichen (oder Namen) wie die Elemente einer anderen Figur haben, auf eine ähnliche Weise wie die beschriebenen arbeiten oder funktionieren können, aber nicht darauf beschränkt sind.
  • Für die Zwecke der Ausführungsformen sind die hier beschriebenen Transistoren in verschiedenen Schaltungen und Logikblöcken Metalloxidhalbleiter- (MOS) Transistoren, oder deren Abkömmlinge, wobei die MOS-Transistoren Drain-, Source-, Gate- und Bulk-Anschlüsse aufweisen. Die Transistoren und/oder die MOS-Transistorabkömmlinge umfassen auch Tri-Gate- und FinFET-Transistoren, Gate-All-Around-Zylindertransistoren, Tunnel-FET-(TFET), Vierkantdraht- oder Rechteckband-Transistoren, ferroelektrischen FET (FeFETs) oder andere Bauelemente, die Transistorfunktionalität implementieren, wie beispielsweise Kohlenstoffnanoröhren oder spintronische Bauelemente. Symmetrische Source- und Drain-Anschlüsse eines MOSFET sind identische Anschlüsse und werden hier austauschbar verwendet. Ein TFET-Bauelement verfügt andererseits über asymmetrische Source- und Drain-Anschlüsse. Fachleute werden erkennen, dass andere Transistoren, beispielsweise Bipolar-Sperrschicht-Transistoren (BJT PNP/NPN), BiCMOS, CMOS usw., verwendet werden können, ohne vom Umfang der Offenbarung abzuweichen.
  • 1 stellt eine Vorrichtung 100 mit einem System-on-Chip 101 mit einem Stromspeicher 102 zum Messen der Systemleistung dar, gemäß einigen Ausführungsformen. Der SoC 101 ist ein Prozessor, der eine vereinfachte Version des unter Bezugnahme auf 6 beschriebenen SoC ist. Der Prozessor 101 umfasst einen Energieverwaltungscontroller 103, eine E/A-Schnittstelle 104 (z. B. eine I2C-Schnittstelle) zur Kommunikation mit dem Stromspeicher 102, und mehrere Prozessorkerne 105. Der Stromspeicher 102 umfasst Hardware, wie etwa Sensoren zum Messen der Leistung von verschiedenen Stromversorgungsschienen. Beispielsweise umfasst der Stromspeicher 102 Strom- und Spannungssensoren zum Messen der Spannung über einen Widerstand in Reihe mit Spannungsreglern, die die Stromversorgungsschienen mit Strom versorgen. Im Vergleich zu der von dem SoC 101 verbrauchten Leistung verbraucht der Stromspeicher 102 sehr wenig Leistung (z. B. weniger als 1 mW).
  • Während vier Kerne gezeigt sind, kann der Prozessor 101 eine beliebige Anzahl von Prozessorkernen aufweisen. Die Kerne können alle die gleiche Leistungsfähigkeit (d. h. symmetrisch) oder unterschiedliche Leistungsfähigkeiten und Größen (z. B. asymmetrisch) aufweisen. Der Stromspeicher 102 empfängt eine Anzahl von Stromversorgungsschienen (z. B. VCCCORE, VCCGT, VCCSA, VCCRING, VCCIO, VCCL2, VNNAON, VCCST usw.), die die Prozessorkerne, die Grafikeinheit und andere Hardwarekomponenten des SoC 101 mit Strom versorgen.
  • In einigen Ausführungsformen ist der PMC 103 für die Verwaltung der Leistungsmoden der Plattform, einschließlich des SoC 101, verantwortlich, und informiert den Stromspeicher 102, mit dem Messen des Energieverbrauchs einer Plattform von den Stromversorgungsschienen zu starten, während des Eintritts in den Energiesparzustand (z. B. S0iX). Der PMC 103 umfasst Hardware und/oder Software zum Initiieren und Stoppen der Leistungsmessung über Nachrichten an den Stromspeicher 102. Jedes geeignete Protokoll kann zum Senden und Empfangen von Nachrichten zum und vom Stromspeicher 102 verwendet werden. In einigen Ausführungsformen kommuniziert der PMC 103 mit dem Stromspeicher 102 direkt über einen erkannten Pin. In einigen Ausführungsformen kommuniziert der PMC 103 mit dem Stromspeicher 102 über die I2C-Schnittstelle 104.
  • Während verschiedene Ausführungsformen zum Messen der Leistung während des Tiefschlafzustands S0iX dargestellt sind, sind die Ausführungsformen nicht allein auf diesen Zustand beschränkt. Beispielsweise können die Ausführungsformen dazu verwendet werden, die Leistung während anderer Energiesparzustände zu messen, wie sie in der ACPI- (Advanced Configuration and Power Interface) Spezifikation, Version 6.2, veröffentlicht im Januar 2019, beschrieben sind.
  • In einigen Ausführungsformen startet der Stromspeicher 102 mit der Messung der Leistung auf den Stromversorgungsschienen, bis eine Stoppnachricht von dem PMC 103 kommt. Der PMC 103 initiiert bei Erkennung eines Weckereignisses eine Stoppnachricht an den Stromspeicher 102. Nach der Initiierung der Stoppnachricht und sobald der Betriebssystemkontext wiederhergestellt ist, kann die Software die gemessenen Daten von dem Stromspeicher 102 lesen. Die Software (z. B. die Hostsoftware) stellt eine Schnittstelle (z. B. API) zu dem Stromspeicher 102 bereit und berichtet die gemessenen Daten an das OS oder irgendeine andere Software.
  • Es ist hilfreich, zu verstehen, warum ein System mehr Energie verbraucht als erwartet. Beispielsweise, wenn nach dem Herunterladen eines Patches der C-Zustand des Systems (ein in der ACPI-Spezifikation angegebener Energiezustand) unterbrochen ist, führt dies zu einem höheren Stromverbrauch und damit zu einer Entladung des Akkus. Verschiedene Ausführungsformen ermöglichen es, die Leistung zur Laufzeit vor und nach der Installation eines System-Patches zu messen, und stellen sicher, dass die Batterielebensdauer nicht beeinträchtigt wird.
  • 2 stellt ein Zeitdiagramm 200 auf hoher Ebene dar, das zeigt, wann der Stromspeicher die Systemleistung misst, gemäß einigen Ausführungsformen. Das Diagramm 200 zeigt den SoC 101, der im normalen aktiven Zustand (z. B. im S0-Zustand) arbeitet, und in einen Energiesparmodus, wie etwa den Systemruhezustand S0iX, übergeht. Der Übergang beginnt damit, dass die Software den Betrieb zum Zeitpunkt 201 unterbricht. Der SoC 101 tritt dann in den Energiesparmodus 202 ein. In einigen Ausführungsformen führt der SoC 101 während des Energiesparmodus 202 weiterhin einige Aktivitäten aus, und das OS wird weiterhin auf dem SoC 101 ausgeführt. Während verschiedene Ausführungsformen unter Bezugnahme auf das Messen der Leistung im niedrigsten oder tiefsten Ruhe- oder Leistungszustand beschrieben werden, kann der Stromspeicher 102 auch die Leistung in jedem der Leistungszustände messen.
  • Nach Eintritt in einen Energiesparmodus tritt die Plattform (z. B. der SoC 101) in den Tiefschlafzustand (z. B. S0iX) 203 ein. Der Stromspeicher 102 startet damit, die Leistung von den verschiedenen Stromversorgungsschienen oder Stromversorgungsleitungen zu messen. Der Stromspeicher 102 startet, die Leistung der Stromversorgungsschienen zu messen, bis eine Stoppnachricht von dem PMC 103 empfangen wird. Die Dauer der Leistungsmessung wird durch das Bezugszeichen 204 angezeigt. Während des Übergangs in den Systemruhezustand (S0iX) setzt das OS alle Softwareanwendungen aus, und parkt die Geräte im Energiesparzustand, indem die Vorrichtungsleistung und die Plattformleistung entfernt werden. Ohne das Schema von verschiedenen Ausführungsformen ist es anspruchsvoll, ohne die Vorrichtungsleistung (z. B. die Leistung für den SoC 101) die Grundleistung zu messen, wenn sich das System im Tiefschlafzustand (S0iX) befindet, da keine Software oder kein Gerät verfügbar ist, um die Leistung zu messen.
  • Der Stromspeicher 102 stoppt das Messen der Leistung, wenn ein OS oder ein anderes Gerät das System aufweckt, wie durch das Bezugszeichen 205 angezeigt. Wenn das System aufwacht, geht der SoC 101 von einem tiefen Energiezustand bzw. Energiesparzustand (z. B. S0iX) in einen höheren aktiven Zustand über, und verlässt schließlich den Energiesparzustand, wie durch das Bezugszeichen 206 angezeigt. Der PMC 102 initiiert beim Erkennen eines Weckereignisses eine Stoppnachricht an den Stromspeicher 101. Der Software- und/oder OS-Kontext wird dann wiederhergestellt, wie durch das Bezugszeichen 207 angezeigt. Sobald der OS-Kontext wiederhergestellt ist, kann die Software die gemessenen Daten von dem Stromspeicher 102 lesen.
  • 3 stellt die Systemarchitektur 300 zum genauen Messen des Plattformleistung durch eine Hostsoftware dar, wenn sich ein System-on-Chip der Plattform im Energiesparmodus (z. B. S0iX) befindet, gemäß einigen Ausführungsformen. Die Architektur 300 umfasst das System 201, den Stromspeicher 102, das Betriebssystem 301, die Wechselstromquelle 302, das Batterieladegerät 303, Spannungsregler 304, und Erfassungswiderstände (z. B. Rb, R1, R2, R3 für VR1, VR2 beziehungsweise VR3). Eine vereinfachte Version des Systems 201 ist mit dem SoC 101 und dem Speicher 202 dargestellt. Eine detailliertere Version des Systems 201 wird unter Bezugnahme auf 6 beschrieben.
  • Unter erneuter Bezugnahme auf 3 empfängt das System 201 mehrere Stromversorgungen, die von unterschiedlichen Spannungsreglern erzeugt werden. Beispielsweise erzeugt das Batterieladegerät 303 eine VccBatterie aus der von der Wechselstromquelle 302 bereitgestellten Eingangsversorgung Vin, die mit einer Wandsteckdose gekoppelt sein kann. VccKern wird von VR1 aus der Eingangsversorgung VccBatterie erzeugt. VccPCH wird von VR2 aus der Eingangsversorgung VccBatterie erzeugt. VccMem wird von VR3 aus der Eingangsversorgung VccBatterie erzeugt. Während vier Stromversorgungsschienen gezeigt sind, kann eine beliebige Anzahl von Stromversorgungsschienen mit dem System 301 gekoppelt sein. In einigen Ausführungsformen ist der Stromspeicher 102 mit den verschiedenen Stromversorgungen gekoppelt, um Spannung und/oder Strom durch diese zu erfassen. In diesem Beispiel ist der Stromspeicher 102 mit vier Kanälen gezeigt, Ch1, Ch2, Ch3 und Ch4. Der Stromspeicher 102 kann jedoch mit einer beliebigen Anzahl von einem oder mehreren Kanälen gekoppelt sein. Hier ist jeder Kanal mit einer entsprechenden Stromversorgungsschiene gekoppelt. Beispielsweise ist Ch1 mit dem Widerstand Rb auf der Stromversorgungsschiene VccBatterie gekoppelt; Ch2 ist mit dem Widerstand R2 auf der Stromversorgungsschiene VccKern gekoppelt; Ch3 ist mit dem Widerstand R3 auf der Stromversorgungsschiene VccPCH gekoppelt; und Ch4 ist mit dem Widerstand R4 auf der Stromversorgungsschiene VccMem gekoppelt.
  • Der Stromspeicher 102 umfasst einen Multiplexer 102a, eine Kombinationslogik (CL) 102b und Datenregister 102c. Die Eingänge des Multiplexers 102a sind mit dem einen oder den mehreren Kanälen gekoppelt. Der Multiplexer 102a wählt zu einem Zeitpunkt einen Kanal über einen Auswahlbitcode aus, der von einem endlichen Zustandsautomaten (nicht gezeigt) gesteuert wird. In einigen Ausführungsformen ist der Multiplexer 102a ein analoger Multiplexer, der durch einen digitalen Auswahlbitcode (z. B. ein digitales Signal) gesteuert werden kann. In einigen Ausführungsformen wird der Stromspeicher 102 von einer ständig eingeschalteten (AON) Stromversorgung gespeist. An sich kann der Stromspeicher 102 nicht in tiefe Energiesparzustände eintreten, so dass er die Leistung der einen oder mehreren Stromversorgungsschienen betreiben und messen kann. Die Ausgabe des Multiplexers 102a ist eine analoge Ausgabe, die dann von einem Analog-Digital-Wandler (ADC) in der CL 102b in eine digitale Repräsentation umgewandelt wird.
  • Ein ADC ist eine Vorrichtung, die kontinuierliche physikalische Größen (z. B. Spannungen) in digitale Zahlen umwandelt, die die Amplitude der physikalischen Größen repräsentieren. Jeder geeignete ADC kann verwendet werden, um den ADC in der CL 102b zu implementieren. Beispielsweise ist der ADC einer von: einem Direktumwandlungs-ADC (für Flash-ADC), einem zweistufigen Flash-ADC, einem ADC mit sukzessiver Approximation (SAR-ADC), einem Rampenvergleichs-ADC, einem Wilkinson-ADC, einem integrierenden ADC, einem Delta-codierten ADC oder einer Gegenrampe, einem Pipeline-ADC (auch als Sub-Ranging-Quantisierer bezeichnet), einem Sigma-Delta-ADC (auch als Delta-Sigma-ADC bekannt), einem zeitverschachtelten ADC, einem ADC mit mittlerer FM-Stufe, oder einem Zeitdehnungs-ADC. Zur Erläuterung der verschiedenen Ausführungsformen wird der ADC hier als Flash-ADC betrachtet.
  • Die CL 102b erzeugt die digitale Repräsentation der analogen Messung der Leistung auf einem Kanal. Diese digitale Darstellung wird dann in den Datenregistern 102c gespeichert. Um die verschiedenen Ausführungsformen nicht zu verschleiern, sind Stromsensoren und/oder Spannungssensoren am Eingang oder Ausgang des Multiplexers 102a nicht gezeigt. Diese Stromsensoren und/oder Spannungssensoren messen die Spannung und/oder den Strom, die einem bestimmten Kanal zugeordnet sind, und dann wird die Ausgabe der Sensoren von dem ADC für die CL 102b in eine digitale Form umgewandelt.
  • In einigen Ausführungsformen liest das Betriebssystem 301 Daten (z. B. gemessene Leistungsdaten) aus Datenregistern 102c über einen Treiber aus. Beispielsweise liest die Kernel 301a mit dem Treiber 301b die Daten aus den Datenregistern 102c. Das Lesen der Daten erfolgt im Kernelmodus, während die Verarbeitung der Daten im Benutzermodus erfolgt. Im Benutzermodus kann die über das OS 301 ausgeführte Leistungsmessanwendung 301c eine Nachverarbeitung der gemessenen Daten durchführen. Die Leistungsmessanwendung 301c kann für die Dauer der Leistungsmessung Knöpfe aufweisen, wie durch die Start- und Stoppknöpfe 301d angezeigt. Die Datenverarbeitungslogik 301e führt Heuristiken an den gemessenen Daten durch. Beispielsweise vergleicht die Datenverarbeitung 301e die aktuellen Messdaten mit vorherigen Messdaten, um etwaige Trends zu bestimmen. Die Berichtslogik 301f wird verwendet, um einen Standard- oder benutzerdefinierten Bericht zu erzeugen, wie etwa eine exponentiell gewichtete gleitende mittlere Leistung (EWMA), eine mittlere Leistung (AVG.-Leistung), eine Gesamtenergie usw.
  • 4 stellt ein Ereignisflussdiagramm 400 zum genauen Messen einer Plattformleistung durch eine Hostsoftware dar, wenn sich ein System-on-Chip der Plattform im Energiesparmodus (z. B. S0iX) befindet, gemäß einigen Ausführungsformen. Das Flussdiagramm 400 fasst das Nachrichtenprotokoll zwischen dem OS 301, dem PMC 103, dem Stromspeicher 102 und der Logik 401, die das Systemweckereignis initiiert, zusammen.
  • In verschiedenen Ausführungsformen initiiert das OS 301 den Systemruhemodus, wie durch den Pfeil 402 angezeigt. Das OS 301 informiert den PMC 103, den Energiesparmodus für den SoC 101 zu starten. Der PMC 102 identifiziert die geeignete Stufe im Systemruhefluss, um die Leistungsmessung zu initiieren, wenn das System vom aktiven Systemzustand (S0) in den Energiesparzustand (S0iX) wechselt. In einigen Ausführungsformen schaltet der PMC 102 das Allzweck-E/A- (GPIO) Signal an einer GPIO-Schnittstelle auf niedrig um, was ein Hinweis für den Stromspeicher 102 ist, die Zähler zurückzusetzen und mit der Leistungsmessung zu starten. Dies wird durch den Pfeil 403 angezeigt. Der Stromspeicher 103 startet mit der Messung der Plattformleistung und protokolliert die Daten intern im Datenregister 102c, wie durch den Pfeil 404 angezeigt.
  • Bei einem Plattform-Weck-Ereignis, wie durch den Pfeil 405 angezeigt, setzt der PMC 103 das GPIO-Signal auf hoch. Dieser Hinweis 406 benachrichtigt den Stromspeicher 102, die Messung der Grundleistung zu stoppen, wie durch den Pfeil 408 angezeigt. Der PMC 103 bringt den SoC 101 wieder in den aktiven Zustand (z. B. S0), und der OS-Kontext wird wiederhergestellt. Das OS 301 liest dann die gemessenen Daten von dem Stromspeicher 102, wie durch den Pfeil 409 angezeigt. Der Stromspeicher 102 gibt die gemessenen Leistungsdaten an das OS 301 zurück, wie durch den Pfeil 410 angezeigt. In einigen Ausführungsformen können, im Benutzermodus, Anwendungen, wie das Leistungsmesstool von Intel®, zur Analyse der Daten verwendet werden. In einigen Ausführungsformen liest das Leistungsmesstool die gespeicherten Daten von dem Stromspeicher 102 unter Verwendung von I2C-Befehlen aus. Das Leistungsmesstool kann die Niedrigleistungsmessdaten für mehrere Zyklen erfassen, und dem Benutzer die relativen Leistungsdaten präsentieren.
  • 5 stellt ein Flussdiagramm 500 für einen Allzweck-Eingang/Ausgang (GPIO) zum Steuern einer Nachricht von einem Energieverwaltungscontroller (PMC) zu dem Stromspeicher dar, gemäß einigen Ausführungsformen. Während die verschiedenen Blöcke in einer bestimmten Reihenfolge angegeben sind, kann die Reihenfolge geändert werden. Beispielsweise können einige Blöcke des Flussdiagramms 500 parallel zu anderen Blöcken ausgeführt werden.
  • Das Flussdiagramm 500 beginnt bei Block 501, wo sich das System (z. B. der SoC) im aktiven Zustand (z. B. S0) befindet. Der PMC 103, der die Leistungszustände verwaltet, wartet auf eine Anweisung, um in den Energiesparmodus zu wechseln. Beispielsweise sendet das OS 301 ein Ereignissignal, das den Wunsch anzeigt, in den Tiefschlafzustand S0iX oder einen anderen Energiesparmodus („low power mode“) (LPM) zu wechseln, an den PMC 103. Das Ereignissignal kann eine S0iX-Vorbedingung anzeigen.
  • In Block 502 bestätigt der PMC 103, ob die S0iX-Vorbedingung erfüllt ist, bevor der Prozess des Übergangs in den LPM- oder S0iX-Zustand beginnt. Ein Beispiel für die S0iX-Vorbedingung ist, dass sich verschiedene Komponenten in dem SoC und in oder auf der Plattform (z. B. eine Grafikkarte, Kamera-, Audio-, USB- (Universal Serial Bus) Geräte usw.) im Ruhemodus befinden und in den LPM eintreten, um der Plattform (und dem SoC) zu ermöglichen, in den LPM eintreten. Wenn die Vorbedingung nicht erfüllt ist, wartet der PMC 103 auf eine solche Vorbedingung, und der SoC fährt im aktiven Modus (z. B. S0-Zustand) fort. Wenn die Vorbedingung erfüllt ist, sendet der PMC 103 ein Signal für einen Energiesparmodus an eine integrierte Energieverwaltungsschaltung (PMIC), um den SoC und/oder die Computerplattform in den S0iX- oder LPM-Modus zu versetzen, wie in Block 503 angezeigt. Ein Beispiel für die PMIC ist durch den Block 2412 von 6 dargestellt. Wieder unter Bezugnahme auf 5, bestätigt in einem Beispiel der PMC 103 das SLP_SO-Signal oder das STANDBY_BEREIT-Signal über ihre jeweiligen Pins des SoC 101 an die PMIC. In Block 504 prüft der PMC 103, ob der Stromspeicher 102 bereit ist, die Messung zu starten. Beispielsweise prüft der PMC 103, ob das Signal STROMSPEICHER_LPM_AKTIVIEREN gesetzt ist. Das Signal STROMSPEICHER LPM AKTIVIEREN kann ein Signal innerhalb des SoC 101 oder eines Pins des SoC 101 zur Kommunikation mit dem Stromspeicher 102 sein. Wenn der PMC 103 bestimmt, dass der Stromspeicher 102 bereit ist, die Messung zu starten, fährt der Prozess mit Block 505 fort.
  • Bei Block 505 kommuniziert der PMC 103 mit dem Stromspeicher 102 über einen GPIO-Pin des SoC 101, um den Stromspeicher 102 anzuweisen, die Leistungsmessung zu starten. In einem Beispiel treibt der PMC 103 das GPIO_ZÄHLER_RESET-Signal (oder den Pin) hoch, um den Stromspeicher anzuweisen, die Leistungsmessung zu starten. Ein Zähler im Stromspeicher 102 wird auf Null zurückgesetzt, so dass der Zähler mit dem Zählen, vom Start des Energiesparmodus bis zum Ende des Energiesparmodus, beginnen kann. Nachdem der PMC 103 das GPIO_ZÄHLER_RESET-Signal (oder den Pin) auf hoch getrieben hat, wartet der PMC 103, dass der Zähler im Stromspeicher 102 zurückgesetzt wird, und treibt dann das GPIO_ZÄHLER_RESET-Signal (oder den Pin) auf niedrig, um dem Zähler anzuzeigen, dass er jetzt mit dem Zählen beginnen kann. Der Prozess fährt dann mit Block 506 fort.
  • Bei Block 506 tritt das Computersystem in den S0iX- oder LPM-Modus ein, und der Stromspeicher 102 beginnt damit, die Leistung auf einer oder mehreren Stromversorgungsschienen (z. B. die Schienen 1 bis N, wobei ‚N‘ eine Zahl ist) zu messen. Der Zähler zählt während dieses Prozesses weiter. Der Stromspeicher 102 misst die Leistung weiter, solange er instruiert wird, dass sich das System im LPM- oder S0iX-Zustand befindet. Der Prozess beginnt dann mit Block 507.
  • Bei Block 507 hält der PMC 103 Ausschau nach einem Weckereignis, um das Computersystem aus dem LPM- oder S0iX-Zustand aufzuwecken. Der PMC 103 prüft weiterhin auf ein Weckereignis, und sobald er eines findet, fährt der Prozess mit Block 508 fort. Andernfalls bleibt der Prozess in Block 507, und der Stromspeicher misst weiterhin die Leistung.
  • Bei Block 508 sendet der PMC 103 ein Wecksignal an die PMIC und wartet dann darauf, dass die PMIC ihren Standby-Zustand (Energiesparzustand) verlässt. Nachdem die PMIC den Standby-Zustand verlassen hat, treibt der PMC 103 ein Signal auf dem GPIO, um den Stromspeicher 102 zu informieren, die Messung zu stoppen. Beispielsweise treibt der PMC 103 einen GPIO_ZÄHLER_RESET-Pin (oder ein Signal) auf hoch, um den Stromspeicher 102 zu informieren, den Leistungsmessprozess zu stoppen. Bei Block 509 empfängt der Stromspeicher 102 die Anweisung von dem PMC 103, die Messung zu stoppen, und speichert die gemessenen Daten im Speicher (z. B. in dem Datenregister 102c). Der Prozess fährt dann mit Block 510 fort, in dem das Computersystem in den normalen oder aktiven Zustand S0 übergeht. Eine Hostsoftware oder eine andere Software, wie etwa das Leistungsmesstool von Intel®, kann die gemessenen Leistungsdaten lesen und eine Analyse durchführen.
  • Elemente einiger Ausführungsformen werden auch als maschinenlesbares Medium (z. B. Speicher) zum Speichern der computerausführbaren Anweisungen (z. B. Anweisungen, um irgendwelche anderen Prozesse, die hier diskutiert werden, zu implementieren) bereitgestellt. In einigen Ausführungsformen umfasst eine Computerplattform einen Speicher, einen Prozessor, ein maschinenlesbares Speichermedium (auch als materielles maschinenlesbares Medium bezeichnet), eine Kommunikationsschnittstelle (z. B. eine drahtlose oder drahtgebundene Schnittstelle), und einen Netzwerkbus, der diese koppelt.
  • In einigen Ausführungsformen ist der Prozessor ein digitaler Signalprozessor (DSP), eine anwendungsspezifische integrierte Schaltung (ASIC), eine Allzweck-Zentraleinheit (CPU), oder eine Logik mit niedrigem Verbrauch, die einen einfachen endlichen Zustandsautomaten implementiert, um das Verfahren der Flussdiagramme 400, 500 und/oder verschiedener Ausführungsformen usw. auszuführen.
  • In einigen Ausführungsformen sind die verschiedenen Logikblöcke des Systems über den Netzwerkbus miteinander gekoppelt. Jedes geeignete Protokoll kann verwendet werden, um den Netzwerkbus zu implementieren. In einigen Ausführungsformen weist das maschinenlesbare Speichermedium Anweisungen (auch als Programmsoftware-Code/Anweisungen bezeichnet) zur intelligenten Vorhersage der Prozessorleerlaufzeit auf, wie unter Bezugnahme auf die verschiedenen Ausführungsformen und das Flussdiagramm beschrieben.
  • Der Programmsoftware-Code/die Anweisungen, die den Flussdiagrammen 400, 500 (und/oder verschiedenen Ausführungsformen) zugeordnet sind, und ausgeführt werden, um Ausführungsformen des offenbarten Gegenstands zu implementieren, können als Teil eines Betriebssystems oder einer bestimmten Anwendung, Komponente, eines Programms, Objekts, Moduls, einer Routine oder einer andere Sequenz von Anweisungen oder Organisation von Sequenzen von Anweisungen implementiert werden, die als „Programmsoftware-Code/Anweisungen“, „Betriebssystem-Programmsoftware-Code/Anweisungen“, „Anwendungsprogrammsoftware-Code/Anweisungen“ oder einfach als „Software“, oder als im Prozessor eingebettete Firmware bezeichnet werden. In einigen Ausführungsformen werden die dem Flussdiagramm 200 (und/oder verschiedenen Ausführungsformen) zugeordneten Programmsoftware-Codes/Anweisungen von dem Computersystem ausgeführt.
  • In einigen Ausführungsformen werden die dem Flussdiagramm 400, 500 (und/oder verschiedenen Ausführungsformen) zugeordneten Programmsoftware-Codes/Anweisungen in einem computerausführbaren Speichermedium gespeichert und von dem Prozessor ausgeführt. Hier ist ein computerausführbares Speichermedium ein materielles maschinenlesbares Medium, das zum Speichern von Programmsoftware-Code/Anweisungen und Daten verwendet werden kann, die, wenn sie von einem Computervorrichtung ausgeführt werden, einen oder mehrere Prozessoren veranlassen, eines oder mehrere Verfahren auszuführen, die in einem oder mehreren beigefügten Ansprüchen, die sich auf den offenbarten Gegenstand beziehen, zitiert werden können.
  • Das materielle maschinenlesbare Medium kann einen Speicher des Codes/der Anweisungen und der Daten des ausführbaren Softwareprogramms an verschiedenen materiellen Orten aufweisen, der beispielsweise ROM, flüchtigen RAM, nichtflüchtigen Speicher und/oder Cache und/oder einen anderen materiellen Speicher, auf den in der vorliegenden Anmeldung Bezug genommen wird, aufweist. Teile dieses Programmsoftware-Codes/der Anweisungen und/oder der Daten können in einem dieser Massenspeicher- und Arbeitsspeichervorrichtungen gespeichert werden. Ferner können der Programmsoftware-Code/die Anweisungen von einem anderen Speicher erhalten werden, einschließlich beispielsweise über zentralisierte Server oder Peer-to-Peer-Netzwerke und dergleichen, einschließlich des Internets. Unterschiedliche Teile des Softwareprogramm-Codes/der Anweisungen und der Daten können zu unterschiedlichen Zeiten und in unterschiedlichen Kommunikationssitzungen oder in derselben Kommunikationssitzung erhalten werden.
  • Der Softwareprogramm-Code/die Anweisungen (die dem Flussdiagramm 400, 500 und anderen Ausführungsformen zugeordnet sind) und die Daten können in ihrer Gesamtheit vor der Ausführung eines jeweiligen Softwareprogramms oder einer jeweiligen Anwendung durch die Computervorrichtung erhalten werden. Alternativ können Teile des Softwareprogramm-Codes/der Anweisungen und der Daten dynamisch erhalten werden, z. B. gerade rechtzeitig, wenn diese zur Ausführung benötigt werden. Alternativ kann eine Kombination dieser Wege zum Erhalten des Softwareprogramm-Codes/der Anweisungen und Daten auftreten, z. B. für unterschiedliche Anwendungen, Komponenten, Programme, Objekte, Module, Routinen oder andere Befehlssequenzen oder Organisation von Befehlssequenzen, um Beispiele zu nennen. Daher ist es nicht erforderlich, dass sich die Daten und Anweisungen zu einem bestimmten Zeitpunkt vollständig auf einem materiellen maschinenlesbaren Medium befinden.
  • Beispiele für materielle computerlesbare Medien umfassen, ohne darauf beschränkt zu sein, beschreibbare und nicht-beschreibbare Medien, wie etwa flüchtige und nichtflüchtige Speichervorrichtungen, Nur-Lese-Speicher (ROM), Direktzugriffsspeicher (RAM), Flash-Speichervorrichtungen, magnetischen Direktzugriffsspeicher, ferroelektrischen Speicher, Disketten- und andere Wechseldatenträger, magnetische Speichermedien, optische Speichermedien (z. B. CD-ROMs (Compact Disk-Nur-Lese-Speicher), DVDs (Digital Versatile Disks) usw. Der Softwareprogramm-Code/die Anweisungen können vorübergehend in digitalen materiellen Kommunikationsverbindungen gespeichert werden, während elektrische, optische, akustische oder andere Formen von sich ausbreitenden Signalen, wie etwa Trägerwellen, Infrarotsignale, digitale Signalen usw. über solche materiellen Kommunikationsverbindungen implementiert werden.
  • Im Allgemeinen weist das materielle maschinenlesbare Medium jeden materiellen Mechanismus auf, der Informationen in einer Form bereitstellt (d. h. in einer digitalen Form speichert und/oder überträgt, z. B. Datenpakete), die eine für eine Maschine (d. h. eine Computervorrichtung) zugreifbar sind; dieser kann beispielsweise in einer Kommunikationsvorrichtung, einer Computervorrichtung, einer Netzwerkvorrichtung, einem persönlichen digitalen Assistenten, einem Fertigungswerkzeug, einem mobilen Kommunikationsgerät enthalten sein, unabhängig davon, ob Anwendungen und subventionierte Anwendungen aus dem Kommunikationsnetzwerk, wie etwa dem Internet, heruntergeladen und ausgeführt werden können oder nicht, z. B. in einem iPhone®, Galaxy®, Blackberry® Droid®, oder dergleichen, oder einem anderen Gerät, einschließlich einer Computervorrichtung. In einer Ausführungsform liegt ein prozessorbasiertes System in Form eines PDA (persönlicher digitaler Assistent), eines Mobiltelefons, eines Notebooks, eines Tablets, einer Spielekonsole, einer Set-Top-Box, eines eingebetteten Systems oder eines TV (Fernsehgeräts), eines persönlichen Desktop-Computers usw. vor oder ist in diesem enthalten. Alternativ können die traditionellen Kommunikationsanwendungen und subventionierten Anwendungen in einigen Ausführungsformen des offenbarten Gegenstands verwendet werden.
  • 6 stellt ein intelligentes Gerät oder ein Computersystem oder einen SoC (System-on-Chip) dar, der mit einem Stromspeicher (z. B. 2442) gekoppelt ist, der eine Plattformleistung mittels einer Hostsoftware genau misst, wenn sich der SoC der Plattform im Energiesparmodus (z. B. S0iX) befindet, gemäß verschiedenen Ausführungsformen. Es wird darauf hingewiesen, dass diejenigen Elemente von 6, die die gleichen Bezugszeichen (oder Namen) wie die Elemente einer anderen Figur haben, auf eine ähnliche Weise wie die beschriebenen arbeiten oder funktionieren können, aber nicht darauf beschränkt sind.
  • In einigen Ausführungsformen repräsentiert die Vorrichtung 2400 eine geeignete Computervorrichtung, wie etwa einen Tablet-PC, ein Mobiltelefon oder ein Smartphone, einen Laptop, einen Desktop, ein Internet-der-Dinge- (IOT) Gerät, einen Server, ein tragbares Gerät, eine Set-Top-Box, einen drahtlosen E-Reader, oder dergleichen. Es versteht sich, dass bestimmte Komponenten verallgemeinert gezeigt sind, und dass nicht alle Komponenten einer solchen Vorrichtung in der Vorrichtung 2400 gezeigt sind.
  • In einem Beispiel umfasst die Vorrichtung 2400 einen SoC (System-on-Chip) 2401. Eine beispielhafte Grenze des SOC 2401 ist unter Verwendung von gestrichelten Linien in 18 dargestellt, wobei einige beispielhafte Komponenten so dargestellt sind, dass sie in dem SOC 2401 enthalten sind - jedoch kann der SOC 2401 alle geeigneten Komponenten der Vorrichtung 2400 aufweisen.
  • In einigen Ausführungsformen weist die Vorrichtung 2400 den Prozessor 2404 auf. Der Prozessor 2404 kann eine oder mehrere physikalische Vorrichtungen umfassen, wie etwa Mikroprozessoren, Anwendungsprozessoren, Mikrocontroller, programmierbare Logikvorrichtungen, Verarbeitungskerne oder andere Verarbeitungsmittel. Die von dem Prozessor 2404 ausgeführten Verarbeitungsoperationen weisen die Ausführung einer Betriebsplattform oder eines Betriebssystems auf, auf dem Anwendungen und/oder Gerätefunktionen ausgeführt werden. Die Verarbeitungsoperationen umfassen Operationen in Bezug auf eine E/A (Eingabe/Ausgabe) mit einem menschlichen Benutzer oder mit anderen Vorrichtungen, Operationen in Bezug auf die Energieverwaltung, Operationen in Bezug auf das Verbinden der Computervorrichtung 2400 mit einem anderen Gerät und/oder dergleichen. Die Verarbeitungsoperationen können auch Operationen aufweisen, die sich auf Audio-E/A und/oder Anzeige-E/A beziehen.
  • In einigen Ausführungsformen weist der Prozessor 2404 mehrere Verarbeitungskerne (auch als Kerne bezeichnet) 2408a, 2408b, 2408c auf. Obwohl in 6 lediglich drei Kerne 2408a, 2408b, 2408c dargestellt sind, kann der Prozessor 2404 eine beliebige andere geeignete Anzahl von Verarbeitungskernen aufweisen, z. B. zehn, oder sogar Hunderte von Verarbeitungskernen. Die Prozessorkerne 2408a, 2408b, 2408c können auf einem einzelnen IC- (integrierter Schaltkreis) Chip implementiert sein. Darüber hinaus kann der Chip einen oder mehrere gemeinsam genutzte und/oder private Caches, Busse oder Verbindungen, Grafik- und/oder Speichercontroller, oder andere Komponenten aufweisen.
  • In einigen Ausführungsformen weist der Prozessor 2404 den Cache 2406 auf. In einem Beispiel können Abschnitte des Caches 2406 einzelnen Kernen 2408 zugehörig sein (z. B. ist ein erster Abschnitt des Caches 2406 dem Kern 2408a zugehörig, ein zweiter Abschnitt des Caches 2406 ist dem Kern 2408b zugehörig, usw.). In einem Beispiel können einer oder mehrere Abschnitte des Caches 2406 von zwei oder mehr der Kerne 2408 gemeinsam genutzt werden. Der Cache 2406 kann in unterschiedliche Ebenen aufgeteilt sein, z. B. Cache der Ebene 1 (L1), Cache der Ebene 2 (L2), Cache der Ebene 3 (L3) usw.
  • In einigen Ausführungsformen kann der Prozessorkern 2404 eine Abrufeinheit zum Abrufen von Anweisungen (einschließlich von Anweisungen mit bedingten Verzweigungen) zur Ausführung durch den Kern 2404 aufweisen. Die Anweisungen können von beliebigen Speichervorrichtungen, wie dem Arbeitsspeicher 2430, abgerufen werden. Der Prozessorkern 2404 kann auch eine Decodiereinheit aufweisen, um den abgerufenen Befehl zu decodieren. Beispielsweise kann die Decodiereinheit den abgerufenen Befehl in mehreren Mikrooperationen decodieren. Der Prozessorkern 2404 kann eine Zeitplaneinheit aufweisen, um verschiedene Operationen auszuführen, die dem Speichern decodierter Anweisungen zugeordnet sind. Beispielsweise kann die Zeitplaneinheit Daten von der Decodiereinheit halten, bis die Anweisungen zum Versenden bereit sind, z. B., bis alle Quellwerte einer decodierten Anweisung verfügbar sind. In einer Ausführungsform kann die Zeitplaneinheit decodierte Anweisungen planen und/oder zur Ausführung an eine Ausführungseinheit ausgeben (oder versenden).
  • Die Ausführungseinheit kann die versendeten Anweisungen ausführen, nachdem sie decodiert wurden (z. B. von der Decodiereinheit) und versandt wurden (z. B. von der Zeitplaneinheit). In einer Ausführungsform kann die Ausführungseinheit mehr als eine Ausführungseinheit aufweisen (wie etwa eine Bildgebungsberechnungseinheit, eine Grafikberechnungseinheit, eine Allzweckberechnungseinheit usw.). Die Ausführungseinheit kann auch verschiedene arithmetische Operationen ausführen, wie Addition, Subtraktion, Multiplikation und/oder Division, und kann eine oder mehrere arithmetische Logikeinheiten (ALUs) aufweisen. In einer Ausführungsform kann ein Co-Prozessor (nicht gezeigt) verschiedene arithmetische Operationen in Verbindung mit der Ausführungseinheit ausführen.
  • Ferner kann die Ausführungseinheit Anweisungen ungeordnet ausführen. Daher kann der Prozessorkern 2404 in einer Ausführungsform ein ungeordneter Prozessorkern sein. Der Prozessorkern 2404 kann auch eine Rückzugseinheit aufweisen. Die Rückzugseinheit kann ausgeführte Anweisungen zurückziehen, nachdem diese festgelegt wurden. In einer Ausführungsform kann das Zurückziehen der ausgeführten Befehle dazu führen, dass der Prozessormodus vor der Ausführung der Befehle festgeschrieben wird, die von den Anweisungen verwendeten physischen Register freigegeben werden, usw. Der Prozessorkern 2404 kann auch eine Buseinheit aufweisen, um eine Kommunikation zwischen Komponenten des Prozessorkerns 2404 und anderen Komponenten über einen oder mehrere Busse zu ermöglichen. Der Prozessorkern 2404 kann auch eines oder mehrere Register zum Speichern von Daten aufweisen, auf die verschiedene Komponenten des Kerns 2404 zugreifen (wie etwa Werte, die sich auf zugewiesene App-Prioritäten und/oder die Zuordnung von Subsystemzuständen (Modi) beziehen.
  • In einigen Ausführungsformen umfasst die Vorrichtung 2400 Konnektivitätsschaltungen 2431. Beispielsweise weisen Konnektivitätsschaltungen 2431 Hardwarevorrichtungen (z. B. drahtlose und/oder verdrahtete Konnektoren und Kommunikationshardware) und/oder Softwarekomponenten (z. B. Treiber, Protokollstapel) auf, z. B., um der Vorrichtung 2400 zu ermöglichen, mit externen Geräten zu kommunizieren. Die Vorrichtung 2400 kann von den externen Geräten, wie z. B. anderen Computervorrichtungen, drahtlosen Zugangspunkten oder Basisstationen usw., getrennt sein.
  • In einem Beispiel können Konnektivitätsschaltungen 2431 mehrere unterschiedliche Arten von Konnektivität aufweisen. Allgemein können die Konnektivitätsschaltungen 2431 zellulare Konnektivitätsschaltungen, drahtlose Konnektivitätsschaltungen usw. aufweisen. Zellulare Konnektivitätsschaltungen von Konnektivitätsschaltungen 2431 beziehen sich im Allgemeinen auf eine zellulare Netzwerkkonnektivität, die von drahtlosen Trägern bereitgestellt wird, wie etwa über GSM (globales System für Mobilkommunikation) oder Variationen oder Derivate, CDMA (Codemultiplex) oder Variationen oder Derivate, TDM (Zeitmultiplex) oder Variationen oder Derivate, UMTS (Universal Mobile Telecommunications Systems) des Partnerschaftsprojekts der dritten Generation (3GPP) oder Variationen oder Derivate, das 3GPP Long-Term-Evolution- (LTE) System oder Variationen oder Derivate, das 3GPP-LTE-Advanced- (LTE-A) System oder Variationen oder Derivate, ein drahtloses System der fünften Generation (5G) oder Variationen oder Derivate, ein 5G-Mobilfunknetzsystem oder Variationen oder Derivate, ein 5G-New-Radio- (NR) System oder Variationen oder Derivate, oder über andere zellulare Dienststandards. Drahtlose Konnektivitätsschaltungen (oder eine drahtlose Schnittstelle) der Konnektivitätsschaltungen 2431 beziehen sich auf eine drahtlose Konnektivität, die nicht zellular ist und persönliche Netzwerke (wie etwa Bluetooth, Nahfeld usw.), lokale Netzwerke (wie etwa Wi-Fi) und/oder Weitverkehrsnetzwerke (wie etwa WiMax) und/oder andere drahtlose Kommunikationen aufweisen kann. In einem Beispiel können Konnektivitätsschaltungen 2431 eine Netzwerkschnittstelle aufweisen, wie etwa eine drahtgebundene oder drahtlose Schnittstelle, so dass eine Systemausführungsform in ein drahtloses Gerät, beispielsweise ein Mobiltelefon oder einen persönlichen digitalen Assistenten, eingebaut werden kann.
  • In einigen Ausführungsformen umfasst die Vorrichtung 2400 einen Steuerknoten 2432, der Hardwaregeräte und/oder Softwarekomponenten repräsentiert, die mit der Interaktion mit einem oder mehreren E/A-Geräten zusammenhängen. Beispielsweise kann der Prozessor 2404 über den Steuerknoten 2432 mit einem oder mehreren der Anzeigen 2422, einem oder mehreren Peripheriegeräten 2424, Speichervorrichtungen 2428, einem oder mehreren anderen externen Geräten 2429 usw. kommunizieren. Der Steuerknoten 2432 kann ein Chipsatz, ein PCH (Plattformsteuerknoten) und/oder dergleichen sein.
  • Beispielsweise stellt der Steuerknoten 2432 einen oder mehrere Verbindungspunkte für zusätzliche Geräte dar, die mit dem Vorrichtung 2400 verbunden sind, über die z. B. ein Benutzer mit dem System interagieren könnte. Beispielsweise umfassen Geräte (z. B. die Geräte 2429), die an die Vorrichtung 2400 angeschlossen werden können, Mikrofongeräte, Lautsprecher- oder Stereosysteme, Audiogeräte, Videosysteme oder andere Anzeigegeräte, Tastatur- oder Tastenfeld-Geräte, oder andere E/A-Geräte zur Verwendung mit spezifische Anwendungen, wie etwa Kartenleser oder andere Geräte.
  • Wie oben erwähnt, kann der Steuerknoten 2432 mit Audiogeräten, der Anzeige 2422, usw. interagieren. Beispielsweise kann die Eingabe über ein Mikrofon oder ein anderes Audiogerät Eingaben oder Befehle für eine oder mehrere Anwendungen oder Funktionen der Vorrichtungen 2400 bereitstellen. Die Audioausgabe kann anstelle oder zusätzlich zur Anzeigeausgabe bereitgestellt werden. In einem anderen Beispiel, wenn die Anzeige 2422 einen Touchscreen aufweist, fungiert die Anzeige 2422 auch als Eingabegerät, das zumindest teilweise von dem Steuerknoten 2432 verwaltet werden kann. Es können auch zusätzliche Tasten oder Schalter an der Computervorrichtung 2400 vorhanden sein, um E/A-Funktionen bereitzustellen, die von dem Steuerknoten 2432 verwaltet werden. In einer Ausführungsform verwaltet der Steuerknoten 2432 Geräte, wie etwa Beschleunigungsmesser, Kameras, Lichtsensoren oder andere Umgebungssensoren, oder andere Hardware, die in der Vorrichtung 2400 enthalten sein kann. Die Eingabe kann Teil einer direkten Benutzerinteraktion sein, sowie dem System Umgebungsdaten bereitstellen zur Beeinflussung seines Betriebs (z. B. Filtern von Rauschen, Anpassen von Anzeigen für die Helligkeitserkennung, Anwenden eines Blitzes für eine Kamera, oder andere Funktionen).
  • In einigen Ausführungsformen kann der Steuerknoten 2432 unter Verwendung eines geeigneten Kommunikationsprotokolls, z. B. PCIe (Peripheral Component Interconnect Express), USB (Universal Serial Bus), Thunderbolt, HDMI (High Definition Multimedia Interface), Firewire, usw., mit verschiedenen Geräten gekoppelt sein.
  • In einigen Ausführungsformen repräsentiert die Anzeige 2422 Hardware- (z. B. Anzeigegeräte) und Software- (z. B. Treiber) Komponenten, die eine visuelle und/oder taktile Anzeige bereitstellen, damit ein Benutzer mit der Vorrichtung 2400 interagieren kann. Die Anzeige 2422 kann eine Anzeigeschnittstelle, einen Anzeigebildschirm und/oder ein Hardwaregerät aufweisen, die verwendet werden, um einem Benutzer eine Anzeige bereitzustellen. In einigen Ausführungsformen weist die Anzeige 2422 eine Touchscreen- (oder Touchpad-) Vorrichtung auf, die sowohl eine Ausgabe als auch eine Eingabe an einen bzw. von einem Benutzer bereitstellt. In einem Beispiel kann die Anzeige 2422 direkt mit dem Prozessor 2404 kommunizieren. Die Anzeige 2422 kann eine oder mehrere interne Anzeigevorrichtungen sein, etwa in einem mobilen elektronischen Gerät oder einem Laptopgerät oder einer externen Anzeigevorrichtung, die über eine Anzeigeschnittstelle (z. B. DisplayPort usw.) angeschlossen ist. In einer Ausführungsform kann die Anzeige 2422 eine am Kopf montierte Anzeige (HMD), wie beispielsweise eine stereoskopische Anzeigevorrichtung zur Verwendung in VR- (virtuelle Realität) Anwendungen oder AR- (erweiterte Realität) Anwendungen, sein.
  • In einigen Ausführungsformen kann die Vorrichtung 2400, obwohl dies in der Figur nicht dargestellt ist, zusätzlich zu (oder anstelle von) dem Prozessor 2404 eine Grafikverarbeitungseinheit (GPU) aufweisen, die einen oder mehrere Grafikverarbeitungskerne umfasst, die einen oder mehrere Aspekte der Anzeige von Inhalten auf dem Display 2422 steuern können.
  • Der Steuerknoten 2432 (oder der Plattform-Controller-Hub) kann Hardware-Schnittstellen und -Konnektoren sowie Softwarekomponenten (z. B. Treiber, Protokollstapel) aufweisen, um periphere Verbindungen, z. B. zu Peripheriegeräten 2424, herzustellen.
  • Es versteht sich, dass die Vorrichtung 2400 sowohl ein Peripheriegerät für andere Computervorrichtungen sein kann als auch Peripheriegeräte damit verbunden sein können. Die Vorrichtung 2400 verfügt möglicherweise über einen Docking-Anschluss, über den eine Verbindung zu anderen Computervorrichtungen hergestellt werden kann, z. B. zum Verwalten (z. B. Herunterladen und/oder Hochladen, Ändern, Synchronisieren) von Inhalten auf der Vorrichtung 2400. Zusätzlich kann ein Docking-Anschluss das Herstellen einer Verbindung der Vorrichtung 2400 zu bestimmte Peripheriegeräten ermöglichen, mit denen die Computervorrichtung 2400 die Ausgabe von Inhalten, beispielsweise an audiovisuelle oder andere Systeme, steuern kann.
  • Zusätzlich zu einem proprietären Docking-Anschluss oder anderer proprietärer Verbindungshardware kann die Vorrichtung 2400 Peripherieverbindungen über gemeinsame oder standardbasierte Anschlüsse herstellen. Zu den gängigen Typen gehören ein USB- (universeller serieller Bus) Anschluss (der eine Anzahl verschiedener Hardwareschnittstellen aufweisen kann), DisplayPort, einschließlich MiniDisplayPort (MDP), HDMI (High Definition Multimedia Interface), Firewire, oder andere Typen.
  • In einigen Ausführungsformen können Konnektivitätsschaltungen 2431 mit dem Steuerknoten 2432 gekoppelt sein, z. B. zusätzlich zu oder anstelle einer direkten Kopplung mit dem Prozessor 2404. In einigen Ausführungsformen kann die Anzeige 2422 mit dem Steuerknoten 2432 gekoppelt sein, z. B. zusätzlich zu oder anstelle einer direkten Kopplung mit dem Prozessor 2404.
  • In einigen Ausführungsformen umfasst die Vorrichtung 2400 einen Arbeitsspeicher 2430, der über die Speicherschnittstelle 2434 mit dem Prozessor 2404 gekoppelt ist. Der Arbeitsspeicher 2430 weist Speichervorrichtungen zum Speichern von Informationen in der Vorrichtung 2400 auf.
  • In einigen Ausführungsformen weist der Arbeitsspeicher 2430 eine Vorrichtung zum Aufrechterhalten einer stabilen Taktung auf, wie unter Bezugnahme auf verschiedene Ausführungsformen beschrieben. Der Speicher kann nichtflüchtige (der Zustand ändert sich nicht, wenn die Stromversorgung der Speichervorrichtung unterbrochen wird) und/oder flüchtige (der Zustand ist unbestimmt, wenn die Stromversorgung der Speichervorrichtung unterbrochen wird) Speichervorrichtungen aufweisen. Die Speichervorrichtung 2430 kann eine DRAM- (Direktzugriffsspeicher) Vorrichtung, eine SRAM- (statischer Direktzugriffsspeicher) Vorrichtung, eine Flash-Speichervorrichtung, eine Phasenwechselspeichervorrichtung, oder eine andere Speichervorrichtung mit einer geeigneten Leistungsfähigkeit, um als Prozessspeicher zu dienen, sein. In einer Ausführungsform kann der Arbeitsspeicher 2430 als Systemspeicher für die Vorrichtung 2400 arbeiten, um Daten und Anweisungen zu speichern, die dann verwendet werden können, wenn der eine oder die mehreren Prozessoren 2404 eine Anwendung oder einen Prozess ausführen. Der Arbeitsspeicher 2430 kann Anwendungsdaten, Benutzerdaten, Musik, Fotos, Dokumente oder andere Daten, sowie Systemdaten (ob langfristig oder temporär) speichern, die sich auf die Ausführung der Anwendungen und Funktionen der Vorrichtung 2400 beziehen.
  • Elemente verschiedener Ausführungsformen und Beispiele werden auch als maschinenlesbares Medium (z. B. Arbeitsspeicher 2430) zum Speichern der computerausführbaren Anweisungen (z. B. Anweisungen zum Implementieren anderer hier diskutierter Prozesse) bereitgestellt. Das maschinenlesbare Medium (z. B. der Arbeitsspeicher 2430) kann 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, aufweisen, ist aber nicht darauf beschränkt. Beispielsweise können Ausführungsformen der Offenbarung als Computerprogramm (z. B. BIOS) heruntergeladen werden, das von einem entfernten Computer (z. B. einem Server) über Datensignale über eine Kommunikationsverbindung (z. B. ein Modem oder eine Netzwerkverbindung) an einen anfordernden Computer (z. B. einen Client) übertragen werden kann.
  • In einigen Ausführungsformen umfasst die Vorrichtung 2400 Temperaturmessschaltungen 2440, z. B. zum Messen der Temperatur verschiedener Komponenten der Vorrichtung 2400. In einem Beispiel können Temperaturmessschaltungen 2440 eingebettet sein oder an verschiedene Komponenten, deren Temperatur gemessen und überwacht werden sollen, gekoppelt oder angeschlossen sein. Beispielsweise können Temperaturmessschaltungen 2440 die Temperatur eines (oder mehrerer) der Kerne 2408a, 2408b, 2408c, des Spannungsreglers 2414, des Arbeitsspeichers 2430, einer Hauptplatine des SOC 2401 und/oder einer geeigneten Komponente der Vorrichtung 2400 messen.
  • In einigen Ausführungsformen umfasst die Vorrichtung 2400 Leistungsmessschaltungen 2442, z. B. zum Messen einer von einer oder mehreren Komponenten der Vorrichtung 2400 verbrauchten Leistung. In einem Beispiel könne die Leistungsmessschaltungen 2442 zusätzlich zu oder anstelle der Leistungsmessung eine Spannung und/oder einen Strom messen. In einem Beispiel können die Leistungsmessschaltungen 2442 eingebettet sein oder an verschiedene Komponenten, deren Leistung, Spannung und/oder Stromverbrauch gemessen und überwacht werden sollen, gekoppelt oder angeschlossen sein. Beispielsweise können Leistungsmessschaltungen 2442 eine Leistung, einen Strom und/oder eine Spannung, die von einem oder mehreren Spannungsreglern 2414 geliefert werden, eine Leistung, die an den SOC 2401 geliefert wird, eine Leistung, die an die Vorrichtung 2400 geliefert wird, eine Leistung, die von dem Prozessor 2404 (oder einer anderen Komponente) der Vorrichtung 2400 verbraucht wird, usw., messen. In einigen Ausführungsformen weisen die Leistungsmessschaltungen 2442 einen Stromspeicher auf, um die Plattformleistung durch eine Hostsoftware genau zu messen, wenn sich der SoC der Plattform im Energiesparmodus (z. B. S0iX) befindet, gemäß verschiedenen Ausführungsformen.
  • In einigen Ausführungsformen umfasst die Vorrichtung 2400 eine oder mehrere Spannungsregler-Schaltungen, die allgemein als Spannungsregler (VR) 2414 bezeichnet werden. Der VR 2414 erzeugt Signale mit geeigneten Spannungspegeln, die geliefert werden können, um beliebige geeignete Komponenten der Vorrichtung 2400 zu betreiben. Lediglich als Beispiel ist dargestellt, dass der VR 2414 Signale an den Prozessor 2404 der Vorrichtung 2400 liefert. In einigen Ausführungsformen empfängt der VR 2414 eines oder mehrere Spannungsidentifikations- (VID) Signale, und erzeugt das Spannungssignal auf einem geeigneten Pegel basierend auf den VID-Signalen. Für den VR 2414 können verschiedene Arten von VRs genutzt werden. Beispielsweise kann der VR 2414 einen „Buck“-VR, einen „Boost“-VR, eine Kombination von Buck- und Boost-VRs, LDO- (Low Dropout) Regler, DC/DC-Schaltregler, DC/DC-Regler auf Basis eines „Constant-On-Time“-Controllers usw. aufweisen. Ein Buck-VR wird im Allgemeinen in Stromversorgungsanwendungen verwendet, bei denen eine Eingangsspannung in einem Verhältnis kleiner als Eins in eine Ausgangsspannung umgewandelt werden muss. Ein Boost-VR wird im Allgemeinen in Stromversorgungsanwendungen verwendet, bei denen eine Eingangsspannung in einem Verhältnis größer als Eins in eine Ausgangsspannung umgewandelt werden muss. In einigen Ausführungsformen hat jeder Prozessorkern seinen eigenen VR, der von der PCU 2410a/b und/oder der PMIC 2412 gesteuert wird. In einigen Ausführungsformen verfügt jeder Kern über ein Netzwerk verteilter LDOs, um eine effiziente Steuerung für die Energieverwaltung bereitzustellen. Die LDOs können digitale, analoge, oder eine Kombination aus digitalen oder analogen LDOs sein. In einigen Ausführungsformen weist der VR 2414 eine Stromverfolgungsvorrichtung zum Messen des Stroms durch die Stromversorgungsschiene(n) auf.
  • In einigen Ausführungsformen umfasst die Vorrichtung 2400 eine oder mehrere Taktgeneratorschaltungen, die allgemein als Taktgenerator 2416 bezeichnet werden. Der Taktgenerator 2416 erzeugt Taktsignale mit geeigneten Frequenzpegeln, die beliebigen geeigneten Komponenten der Vorrichtung 2400 zugeführt werden können. In einem Beispiel wird gezeigt, dass der Taktgenerator 2416 Taktsignale an den Prozessor 2404 der Vorrichtung 2400 liefert. In einigen Ausführungsformen empfängt der Taktgenerator 2416 eines oder mehrere Frequenzidentifikations- (FID) Signale, und erzeugt die Taktsignale mit einer geeigneten Frequenz basierend auf den FID-Signalen.
  • In einigen Ausführungsformen umfasst die Vorrichtung 2400 eine Batterie 2418, die verschiedene Komponenten der Vorrichtung 2400 mit Strom versorgt. Lediglich als Beispiel ist dargestellt, dass die Batterie 2418 den Prozessor 2404 mit Strom versorgt. Obwohl dies in den Figuren nicht dargestellt ist, kann die Vorrichtung 2400 eine Ladeschaltung umfassen, z. B. zum Aufladen der Batterie, basierend auf der Wechselstromversorgung, die von einem Netzteil empfangen wird.
  • In einigen Ausführungsformen umfasst die Vorrichtung 2400 eine Leistungssteuereinheit (PCU) 2410 (auch als Energieverwaltungseinheit (PMU), Leistungssteuerung usw. bezeichnet). In einem Beispiel können einige Abschnitte der PCU 2410 durch einen oder mehrere Verarbeitungskerne 2408 implementiert werden, und diese Abschnitte der PCU 2410 werden symbolisch unter Verwendung eines gepunkteten Kästchens dargestellt und als PCU 2410a benannt. In einem Beispiel können einige andere Abschnitte der PCU 2410 außerhalb der Verarbeitungskerne 2408 implementiert sein, und diese Abschnitte der PCU 2410 werden symbolisch unter Verwendung eines gepunkteten Kästchens dargestellt und als PCU 2410b benannt. Die PCU 2410 kann verschiedene Energieverwaltungsoperationen für die Vorrichtung 2400 implementieren. Die PCU 2410 kann Hardwareschnittstellen, Hardwareschaltungen, Konnektoren, Register usw., sowie Softwarekomponenten (z. B. Treiber, Protokollstapel) aufweisen, um verschiedene Energieverwaltungsoperationen für die Vorrichtung 2400 zu implementieren.
  • In einigen Ausführungsformen umfasst die Vorrichtung 2400 eine integrierte Energieverwaltungsschaltung (PMIC) 2412, z. B., um verschiedene Energieverwaltungsoperationen für die Vorrichtung 2400 zu implementieren. In einigen Ausführungsformen ist die PMIC 2412 eine rekonfigurierbare Energieverwaltungs-IC (RPMIC) und/oder eine IMVP (Intel® Mobile Voltage Positioning). In einem Beispiel befindet sich die PMIC in einem IC-Chip, der vom Prozessor 2404 getrennt ist. Er kann verschiedene Energieverwaltungsoperationen für die Vorrichtung 2400 implementieren. Die PMIC 2412 kann Hardwareschnittstellen, Hardwareschaltungen, Konnektoren, Register usw., sowie Softwarekomponenten (z. B. Treiber, Protokollstapel) aufweisen, um verschiedene Energieverwaltungsoperationen für die Vorrichtung 2400 zu implementieren.
  • In einem Beispiel umfasst die Vorrichtung 2400 eine oder beide der PCU 2410 oder der PMIC 2412. In einem Beispiel kann eine von der PCU 2410 oder der PMIC 2412 in der Vorrichtung 2400 fehlen, und daher sind diese Komponenten unter Verwendung von gepunkteten Linien dargestellt.
  • Verschiedene Energieverwaltungsoperationen der Vorrichtung 2400 können von der PCU 2410, von der PMIC 2412 oder von einer Kombination aus der PCU 2410 und der PMIC 2412 ausgeführt werden. Beispielsweise können die PCU 2410 und/oder die PMIC 2412 für verschiedene Komponenten der Vorrichtung 2400 einen Energiezustand wählen (z. B. einen P-Zustand). Beispielsweise können die PCU 2410 und/oder die PMIC 2412 für verschiedene Komponenten der Vorrichtung 2400 einen Energiezustand wählen (z. B. gemäß der ACPI- (Advanced Configuration and Power Interface) Spezifikation). Lediglich als Beispiel können die PCU 2410 und/oder die PMIC 2412 verschiedene Komponenten der Vorrichtung 2400 dazu veranlassen, in einen Ruhemodus, in einen aktiven Zustand, in einen geeigneten C-Zustand (z. B. einen C0-Zustand oder einen anderen geeigneten C-Zustand, gemäß der ACPI-Spezifikation) zu wechseln, usw. In einem Beispiel können die PCU 2410 und/oder die PMIC 2412 eine von dem VR 2414 ausgegebene Spannung und/oder eine Frequenz eines von dem Taktgenerator ausgegebenen Taktsignals steuern, z. B. durch Ausgeben des VID-Signals und/oder des FID-Signals. In einem Beispiel können die PCU 2410 und/oder die PMIC 2412 den Stromverbrauch der Batterie, das Laden der Batterie 2418 und Funktionen im Zusammenhang mit einem Energiesparbetrieb steuern.
  • Der Taktgenerator 2416 kann einen Phasenregelkreis (PLL), einen Frequenzregelkreis (FLL) oder eine beliebige geeignete Taktquelle umfassen. In einigen Ausführungsformen hat jeder Kern des Prozessors 2404 seine eigene Taktquelle. Als solches kann jeder Kern mit einer Frequenz arbeiten, die von der Betriebsfrequenz des anderen Kerns unabhängig ist. In einigen Ausführungsformen führen die PCU 2410 und/oder die PMIC 2412 eine adaptive oder dynamische Frequenzskalierung oder -anpassung durch. Beispielsweise kann die Taktfrequenz eines Prozessorkerns erhöht werden, wenn der Kern nicht bei seiner maximalen Stromverbrauchsschwelle oder -grenze arbeitet. In einigen Ausführungsformen bestimmen die PCU 2410 und/oder die PMIC 2412 den Betriebszustand jedes Kerns eines Prozessors und passen die Frequenz und/oder die Versorgungsspannung dieses Kerns opportunistisch an, ohne dass die Kerntaktquelle (z. B. die PLL dieses Kerns) die Einrastung verliert, wenn die PCU 2410 und/oder PMIC 2412 bestimmt, dass der Kern unterhalb eines Zielleistungsniveaus arbeitet. Wenn beispielsweise ein Kern Strom von einer Stromversorgungsschiene zieht, der geringer ist als der für diesen Kern oder den Prozessor 2404 zugewiesene Gesamtstrom, können die PCU 2410 und/oder die PMIC 2412 die Leistungsaufnahme für diesen Kern oder Prozessor 2404 temporär erhöhen (z. B. durch Erhöhen der Taktfrequenz und/oder des Spannungspegels der Stromversorgung), so dass der Kern oder der Prozessor 2404 eine höhere Leistung erbringen kann. Als solches können die Spannung und/oder Frequenz für den Prozessor 2404 temporär erhöht werden, ohne die Produktzuverlässigkeit zu verletzen.
  • In einem Beispiel können die PCU 2410 und/oder die PMIC 2412 Energieverwaltungsoperationen ausführen, z. B. zumindest teilweise basierend auf dem Empfang von Messungen von Leistungsmessschaltungen 2442, Temperaturmessschaltungen 2440, dem Ladezustand der Batterie 2418 und/oder allen anderen geeigneten Informationen, die für die Energieverwaltung verwendet werden können. Zu diesem Zweck wird die PMIC 2412 kommunikativ mit einem oder mehreren Sensoren gekoppelt, um verschiedene Werte/Variationen in einem oder mehreren Faktoren zu erfassen/zu erkennen, die sich auf die Leistung/das Wärmeverhalten des Systems/der Plattform auswirken. Beispiele für einen oder mehrere Faktoren umfassen elektrischen Strom, Spannungsabfall, Temperatur, Betriebsfrequenz, Betriebsspannung, Stromverbrauch, Kommunikationsaktivität zwischen den Kernen, usw. Einer oder mehrere dieser Sensoren können in physischer Nähe (und/oder thermischen Kontakt/Kopplung) mit bzw. zu einer oder mehreren Komponenten oder Logik-/IP-Blöcken eines Computersystems bereitgestellt werden. Zusätzlich können Sensoren in mindestens einer Ausführungsform direkt mit der PCU 2410 und/oder der PMIC 2412 gekoppelt sein, damit die PCU 2410 und/oder die PMIC 2412 die Prozessorkernleistung zumindest teilweise basierend auf den von einem oder mehren der Sensoren erkannten Werten verwalten können.
  • Ebenfalls dargestellt ist ein beispielhafter Softwarestapel der Vorrichtung 2400 (obwohl nicht alle Elemente des Softwarestapels dargestellt sind). Lediglich als Beispiel können Prozessoren 2404 Anwendungsprogramme 2450, ein Betriebssystem 2452, eines oder mehrere Energieverwaltungs- (PM) spezifische Anwendungsprogramme (z. B. allgemein als PM-Anwendungen 2458 bezeichnet) und/oder dergleichen ausführen. Die PM-Anwendungen 2458 können auch von der PCU 2410 und/oder der PMIC 2412 ausgeführt werden. Das OS 2452 kann auch eine oder mehrere PM-Anwendungen 2456a, 2456b, 2456c aufweisen. Das OS 2452 kann auch verschiedene Treiber 2454a, 2454b, 2454c usw. aufweisen, von denen einige für Energieverwaltungszwecke spezifiziert sein können. In einigen Ausführungsformen kann die Vorrichtung 2400 ferner ein grundlegendes Eingabe-/Ausgabesystem (BIOS) 2420 umfassen. Das BIOS 2420 kann mit dem OS 2452 (z. B. über einen oder mehrere Treiber 2454) kommunizieren, mit Prozessoren 2404 kommunizieren, usw.
  • Beispielsweise können eine oder mehrere der PM-Anwendungen 2458, 2456, der Treiber 2454, das BIOS 2420 usw. verwendet werden, um Energieverwaltungs-spezifische Aufgaben zu implementieren, z. B., um die Spannung und/oder Frequenz verschiedener Komponenten der Vorrichtung 2400 zu steuern, zum Steuern des Weckzustands, des Ruhezustands und/oder eines anderen geeigneten Energiezustands verschiedener Komponenten der Vorrichtung 2400, zum Steuern des Batterieverbrauchs, des Ladens der Batterie 2418, von Merkmalen im Zusammenhang mit dem Energiesparbetrieb, usw.
  • Die Bezugnahme in der Beschreibung auf „eine Ausführungsform“, „die Ausführungsform“, „einige Ausführungsformen“ oder „andere Ausführungsformen“ bedeutet, dass ein bestimmtes Merkmal, eine bestimmte Struktur oder eine bestimmte Eigenschaft, die in Verbindung mit den Ausführungsformen beschrieben wurde, in mindestens einigen Ausführungsformen, aber nicht notwendigerweise in allen Ausführungsformen enthalten ist. Die verschiedenen Erscheinungsformen von „einer Ausführungsform“, „die Ausführungsform“ oder „einigen Ausführungsformen“ beziehen sich nicht notwendigerweise alle auf dieselben Ausführungsformen. Wenn in der Beschreibung angegeben ist, dass eine Komponente, ein Merkmal, eine Struktur oder ein Eigenschaft enthalten sein „kann“, „könnte“ oder „würde“, muss diese bestimmte Komponente, dieses Merkmal, diese Struktur oder diese Eigenschaften nicht enthalten sein. Wenn sich die Beschreibung oder ein Anspruch auf „ein“ oder „das“ Element bezieht, bedeutet dies nicht, dass es nur eines der Elemente gibt. Wenn sich die Beschreibung oder Ansprüche auf „ein zusätzliches“ Element beziehen, schließt dies nicht aus, dass mehr als eines der zusätzlichen Elemente vorhanden ist.
  • Darüber hinaus können die besonderen Merkmale, Strukturen, Funktionen oder Eigenschaften in einer oder mehreren Ausführungsformen auf jede geeignete Weise kombiniert werden. Beispielsweise kann eine erste Ausführungsform mit einer zweiten Ausführungsform überall dort kombiniert werden, wo sich die besonderen Merkmale, Strukturen, Funktionen oder Eigenschaften, die den beiden Ausführungsformen zugeordnet sind, nicht gegenseitig ausschließen.
  • Während die Offenbarung in Verbindung mit spezifischen Ausführungsformen davon beschrieben wurde, sollten viele Alternativen, Modifizierungen und Variationen solcher Ausführungsformen für den Durchschnittsfachmann im Lichte der vorstehenden Beschreibung offensichtlich sein. Die Ausführungsformen der Offenbarung sollen alle derartigen Alternativen, Modifizierungen und Variationen umfassen, die in den breiten Umfang der beigefügten Ansprüche fallen.
  • Zusätzlich können bekannte Strom-/Masseverbindungen zu IC-Chips und anderen Komponenten in den dargestellten Figuren zur Vereinfachung der Darstellung und Diskussion gezeigt sein oder nicht, um die Offenbarung nicht zu verschleiern. Ferner können Anordnungen in Blockdiagrammform gezeigt werden, um eine Verschleierung der Offenbarung zu vermeiden, und auch im Hinblick auf die Tatsache, dass Besonderheiten in Bezug auf eine Implementierung solcher Blockdiagrammanordnungen stark von der Plattform abhängig sind, auf der die vorliegende Offenbarung implementiert werden soll (d. h. solche Besonderheiten sollten in den Zuständigkeitsbereich eines Fachmanns fallen). Wenn spezifische Einzelheiten (z. B. Schaltungen) angegeben sind, um beispielhafte Ausführungsformen der Offenbarung zu beschreiben, sollte es für den Fachmann klar sein, dass die Offenbarung ohne oder mit einer Variation dieser spezifischen Einzelheiten praktiziert werden kann. Die Beschreibung ist daher eher veranschaulichend als einschränkend zu betrachten.
  • Verschiedene hierin beschriebene Ausführungsformen sind als Beispiele dargestellt. Die Merkmale dieser Beispiele können auf jede geeignete Weise miteinander kombiniert werden. Diese Beispiele umfassen:
  • Beispiel 1: Vorrichtung, umfassend: einen oder mehrere Kanäle zum Empfangen von Stromversorgungsleitungen; einen Eingang zum Empfangen von Anweisungen von einem Energieverwaltungscontroller zum Starten einer Leistungsmessung an den Stromversorgungsleitungen und zum Erzeugen gemessener Leistungsdaten als Reaktion darauf, dass sich ein Prozessor in einem Energiesparmodus befindet; einen Speicher zum Speichern der gemessenen Daten; und eine Eingabe/Ausgabe- (E/A) Schnittstelle zum Kommunizieren mit einem Betriebssystem, wobei das Betriebssystem auf die gemessenen Daten zugreifen soll.
  • Beispiel 2: Die Vorrichtung nach Beispiel 1 umfasst einen Analog-Digital-Wandler (ADC) zum Umwandeln von Spannung und/oder Strom auf den Stromversorgungsleitungen in eine digitale Repräsentation, wobei die gemessenen Daten der digitalen Repräsentation entsprechen.
  • Beispiel 3: Die Vorrichtung nach Beispiel 1, wobei das Betriebssystem den Energiesparmodus für den Energieverwaltungscontroller initiieren soll.
  • Beispiel 4: Vorrichtung nach Beispiel 3, wobei der Energieverwaltungscontroller als Reaktion auf die Initiierung des Energiesparmodus durch das Betriebssystem einen Start der Leistungsmessung bewirken soll.
  • Beispiel 5: Vorrichtung nach Beispiel 1, wobei der Energieverwaltungscontroller als Reaktion auf ein Weckereignis einen Stopp der Leistungsmessung bewirken soll.
  • Beispiel 6: Vorrichtung nach Beispiel 1, wobei das Betriebssystem eine API für eine Anwendung zum Verarbeiten der gemessenen Daten aufweist.
  • Beispiel 7: Vorrichtung nach Beispiel 1, wobei der eine oder die mehreren Kanäle mit einem oder mehreren Spannungsreglern gekoppelt sind.
  • Beispiel 8: Die Vorrichtung nach Beispiel 1, wobei der Energieverwaltungscontroller Teil eines System-on-Chip (SoC) ist.
  • Beispiel 9: Vorrichtung nach Beispiel 1, wobei die Anweisungen Anweisungen zum Starten einer Leistungsmessung und Anweisungen zum Stoppen einer Leistungsmessung aufweisen.
  • Beispiel 10: Die Vorrichtung nach Beispiel 1, wobei der Eingang eine Allzweck-E/A- (GPIO) Schnittstelle ist.
  • Beispiel 11: Die Vorrichtung nach Beispiel 1, wobei der Energiesparmodus ein S0iX-Zustand ist.
  • Beispiel 12: Vorrichtung, umfassend: mehrere Prozessorkerne; einen Energieverwaltungscontroller (PMC), der mit den mehreren Prozessorkernen gekoppelt ist und dazu vorgesehen ist, eine Leistung für die mehreren Prozessorkerne zu verwalten und/oder zu bewirken, dass die Vorrichtung in einen Energiesparmodus wechselt; und einen Ausgang zur Kommunikation mit einem Stromspeicher, wobei der PMC dazu vorgesehen ist, zu bewirken, dass der Stromspeicher die von der Vorrichtung aufgenommene Leistung misst, wenn die Vorrichtung in den Energiesparmodus eintritt.
  • Beispiel 13: Vorrichtung nach Beispiel 12, wobei der PMC dazu vorgesehen ist, zu bewirken, dass der Stromspeicher die Messung der von der Vorrichtung aufgenommenen Leistung stoppt, wenn die Vorrichtung den Energiesparmodus verlässt.
  • Beispiel 14: Vorrichtung nach Beispiel 12, wobei der Stromspeicher die gemessene Leistung an ein Betriebssystem bereitstellen soll.
  • Beispiel 15: Vorrichtung nach Beispiel 14, wobei das Betriebssystem eine API für eine Anwendung zum Verarbeiten der gemessenen Leistung aufweist.
  • Beispiel 16: Die Vorrichtung nach Beispiel 12, wobei der Energiesparmodus ein S0iX-Zustand ist.
  • Beispiel 17: System, umfassend: einen Stromspeicher; ein System-on-Chip, das mit dem Stromspeicher gekoppelt ist, wobei das System-on-Chip umfasst: mehrere Prozessorkerne; einen Energieverwaltungscontroller (PMC), der mit mehreren Prozessorkernen gekoppelt ist und dazu vorgesehen ist, eine Leistung für die mehreren Prozessorkerne zu verwalten und/oder zu bewirken, dass das System-on-Chip in einen Energiesparmodus wechselt; und einen Ausgang zum Kommunizieren mit dem Stromspeicher, wobei der PMC dazu vorgesehen ist, zu bewirken, dass der Stromspeicher die von dem System-on-Chip aufgenommene Leistung misst, wenn das System-on-Chip in den Energiesparmodus eintritt, wobei der Stromspeicher die gemessene Leistung als gemessene Daten speichert; und eine Eingabe/Ausgabe- (E/A) Schnittstelle zum Kommunizieren mit einem Betriebssystem, wobei das Betriebssystem auf die gemessenen Daten zugreifen soll.
  • Beispiel 18: System nach Beispiel 17, wobei der Stromspeicher einen Analog-Digital-Wandler (ADC) umfasst, um Spannung und/oder Strom auf Stromversorgungsleitungen in eine digitale Repräsentation umzuwandeln, wobei die Stromversorgungsleitungen dazu vorgesehen sind, das System-on-Chip mit Strom zu versorgen, und wobei die gemessenen Daten der digitalen Repräsentation entsprechen.
  • Beispiel 19: System nach Beispiel 17, wobei das Betriebssystem den Energiesparmodus für den PMC initiieren soll.
  • Beispiel 20: System nach Beispiel 19, wobei der PMC einen Start der Leistungsmessung als Reaktion auf die Initiierung des Energiesparmodus durch das Betriebssystem bewirken soll.
  • Es wird eine Zusammenfassung bereitgestellt, die es dem Leser ermöglicht, die Art und den Kern der technischen Offenbarung festzustellen. Die Zusammenfassung wird mit der Maßgabe unterbreitet, dass sie nicht dazu verwendet wird, den Umfang oder die Bedeutung der Ansprüche einzuschränken. Die folgenden Ansprüche werden hiermit in die ausführliche Beschreibung aufgenommen, wobei jeder Anspruch für sich als separate Ausführungsform steht.

Claims (26)

  1. Vorrichtung zur Messung einer Plattformleistung, wobei die Vorrichtung umfasst: einen oder mehrere Kanäle zum Empfangen von Stromversorgungsleitungen; einen Eingang zum Empfangen von Anweisungen von einem Energieverwaltungscontroller zum Starten einer Leistungsmessung an den Stromversorgungsleitungen, und zum Erzeugen gemessener Leistungsdaten als Reaktion darauf, dass sich ein Prozessor in einem Energiesparmodus befindet; einen Speicher zum Speichern der gemessenen Daten; und eine Eingabe/Ausgabe- (E/A) Schnittstelle zum Kommunizieren mit einem Betriebssystem, wobei das Betriebssystem auf die gemessenen Daten zugreifen soll.
  2. Vorrichtung nach Anspruch 1, umfassend einen Analog-Digital-Wandler (ADC) zum Umwandeln von Spannung und/oder Strom auf den Stromversorgungsleitungen in eine digitale Repräsentation, wobei die gemessenen Daten der digitalen Repräsentation entsprechen.
  3. Vorrichtung nach Anspruch 1, wobei das Betriebssystem den Energiesparmodus für den Energieverwaltungscontroller initiieren soll.
  4. Vorrichtung nach Anspruch 3, wobei der Energieverwaltungscontroller einen Start einer Leistungsmessung als Reaktion auf die Initiierung des Energiesparmodus durch das Betriebssystem bewirken soll.
  5. Vorrichtung nach Anspruch 1, wobei der Energieverwaltungscontroller als Reaktion auf ein Weckereignis einen Stopp einer Leistungsmessung bewirken soll.
  6. Vorrichtung nach Anspruch 1, wobei das Betriebssystem eine API für eine Anwendung zum Verarbeiten der gemessenen Daten aufweist.
  7. Vorrichtung nach Anspruch 1, wobei der eine oder die mehreren Kanäle mit einem oder mehreren Spannungsreglern gekoppelt sind.
  8. Vorrichtung nach Anspruch 1, wobei der Energieverwaltungscontroller Teil eines System-on-Chip (SoC) ist.
  9. Vorrichtung nach Anspruch 1, wobei die Anweisungen Anweisungen zum Starten einer Leistungsmessung und Anweisungen zum Stoppen einer Leistungsmessung aufweisen.
  10. Vorrichtung nach Anspruch 1, wobei der Eingang eine Allzweck-E/A-(GPIO) Schnittstelle ist.
  11. Vorrichtung nach einem der Ansprüche 1 bis 10, wobei der Energiesparmodus ein S0iX-Zustand ist.
  12. Vorrichtung zur Messung einer Plattformleistung, wobei die Vorrichtung umfasst: mehrere Prozessorkerne; einen Energieverwaltungscontroller (PMC), der an mehrere Prozessorkerne gekoppelt ist und dazu vorgesehen ist, eine Leistung für die mehreren Prozessorkerne zu verwalten und/oder zu bewirken, dass die Vorrichtung in einen Energiesparmodus wechselt; und einen Ausgang zum Kommunizieren mit einem Stromspeicher, wobei der PMC dazu vorgesehen ist, zu bewirken, dass der Stromspeicher die von der Vorrichtung aufgenommene Leistung misst, wenn die Vorrichtung in den Energiesparmodus eintritt.
  13. Vorrichtung nach Anspruch 12, wobei der PMC dazu vorgesehen ist, zu bewirken, dass der Stromspeicher die Messung der von der Vorrichtung aufgenommenen Leistung stoppt, wenn die Vorrichtung den Energiesparmodus verlässt.
  14. Vorrichtung nach Anspruch 12, wobei der Stromspeicher die gemessene Leistung an ein Betriebssystem bereitstellen soll.
  15. Vorrichtung nach Anspruch 14, wobei das Betriebssystem eine API für eine Anwendung zum Verarbeiten der gemessenen Leistung aufweist.
  16. Vorrichtung nach einem der Ansprüche 12 bis 15, wobei der Energiesparmodus ein S0iX-Zustand ist.
  17. System, umfassend: einen Stromspeicher; ein System-on-Chip, das mit dem Stromspeicher gekoppelt ist, wobei das System-on-Chip umfasst: mehrere Prozessorkerne; einen Energieverwaltungscontroller (PMC), der mit den mehreren Prozessorkernen gekoppelt ist und dazu vorgesehen ist, eine Leistung für die mehreren Prozessorkerne zu verwalten und/oder zu bewirken, dass das System-on-Chip in einen Energiesparmodus wechselt; und einen Ausgang zum Kommunizieren mit dem Stromspeicher, wobei der PMC dazu vorgesehen ist, zu bewirken, dass der Stromspeicher die von dem System-on-Chip aufgenommene Leistung misst, wenn das System-on-Chip in den Energiesparmodus eintritt, wobei der Stromspeicher die gemessene Leistung als Messdaten speichert; und eine Eingabe/Ausgabe- (E/A) Schnittstelle zum Kommunizieren mit einem Betriebssystem, wobei das Betriebssystem auf die gemessenen Daten zugreifen soll.
  18. System nach Anspruch 17, wobei der Stromspeicher einen Analog-Digital-Wandler (ADC) zum Umwandeln von Spannung und/oder Strom auf Stromversorgungsleitungen in eine digitale Repräsentation umfasst, wobei die Stromversorgungsleitungen das System-on-Chip mit Strom versorgen, und wobei die gemessenen Daten der digitalen Repräsentation entsprechen.
  19. System nach Anspruch 17, wobei das Betriebssystem den Energiesparmodus für den Energieverwaltungscontroller initiieren soll.
  20. System nach Anspruch 19, wobei der Energieverwaltungscontroller einen Start einer Leistungsmessung als Reaktion auf die Initiierung des Energiesparmodus durch das Betriebssystem bewirken soll.
  21. Verfahren zur Messung einer Plattformleistung, wobei das Verfahren umfasst: Empfangen, durch eine Eingabe, von Anweisungen von einem Energieverwaltungscontroller, um eine Messung von Leistung auf Stromversorgungsleitungen zu starten, und um gemessene Leistungsdaten zu erzeugen als Reaktion darauf, dass sich ein Prozessor in einem Energiesparmodus befindet; Speichern der gemessenen Daten in einem Speicher; und Kommunizieren über eine Eingabe/Ausgabe- (E/A) Schnittstelle mit einem Betriebssystem, wobei das Betriebssystem auf die gemessenen Daten zugreifen soll.
  22. Verfahren nach Anspruch 21, umfassend Umwandeln von Spannung und/oder Strom auf den Stromversorgungsleitungen durch einen Analog-Digital-Wandler (ADC) in eine digitale Repräsentation, wobei die gemessenen Daten der digitalen Repräsentation entsprechen.
  23. Verfahren nach Anspruch 22, wobei das Betriebssystem den Energiesparmodus für den Energieverwaltungscontroller initiieren soll.
  24. Verfahren nach Anspruch 23, umfassend Starten einer Leistungsmessung als Reaktion auf die Initiierung des Energiesparmodus durch das Betriebssystem.
  25. Verfahren nach Anspruch 23, umfassend Stoppen einer Leistungsmessung als Reaktion auf ein Weckereignis.
  26. Maschinenlesbares Speichermedium mit maschinenausführbaren Anweisungen, die bei ihrer Ausführung bewirken, dass eine oder mehrere Maschinen ein Verfahren gemäß einem der Ansprüche 21 bis 25 ausführen.
DE102020132082.5A 2020-05-09 2020-12-03 Verfahren und vorrichtung zur genauen messung einer plattformleistung Pending DE102020132082A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
IN202041019672 2020-05-09
IN202041019672 2020-05-09

Publications (1)

Publication Number Publication Date
DE102020132082A1 true DE102020132082A1 (de) 2021-11-11

Family

ID=78232047

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102020132082.5A Pending DE102020132082A1 (de) 2020-05-09 2020-12-03 Verfahren und vorrichtung zur genauen messung einer plattformleistung

Country Status (3)

Country Link
US (1) US11422173B2 (de)
CN (1) CN113625045A (de)
DE (1) DE102020132082A1 (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11698751B2 (en) * 2021-06-07 2023-07-11 Western Digital Technologies, Inc. Data storage device and method for low-latency power state transitions by having power islanding in a host memory buffer

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6144187A (en) * 1998-11-12 2000-11-07 Fairchild Semiconductor Corporation Power measurement for adaptive battery charger
KR100599166B1 (ko) * 2003-11-24 2006-07-12 삼성전자주식회사 복수의 디지털 방송 신호 수신이 가능한 디지털 방송 처리시스템 및 그 방법
US8949637B2 (en) * 2011-03-24 2015-02-03 Intel Corporation Obtaining power profile information with low overhead
US9551805B2 (en) * 2011-10-13 2017-01-24 Integrated Device Technology, Inc. Apparatus, system, and method for detecting a foreign object in an inductive wireless power transfer system via coupling coefficient measurement
US9335809B2 (en) * 2013-03-15 2016-05-10 Seagate Technology Llc Volatile memory storing system data during low power mode operation and monitoring the voltage supplied to the memory during low power mode
JP2014197726A (ja) * 2013-03-29 2014-10-16 株式会社東芝 計測装置、情報処理装置、鍵管理装置および使用量計算システム
US10001830B2 (en) * 2014-06-16 2018-06-19 Marvell World Trade Ltd. Input-output device management using dynamic clock frequency
US9514020B2 (en) * 2014-06-23 2016-12-06 Dell Products L.P. Power profile diagnostic system

Also Published As

Publication number Publication date
CN113625045A (zh) 2021-11-09
US11422173B2 (en) 2022-08-23
US20210349134A1 (en) 2021-11-11

Similar Documents

Publication Publication Date Title
DE102020132721A1 (de) Vollständig digitaler spannungsmonitor (advm) mit einzelzykluslatenz
DE112019002883T5 (de) Vorrichtung und verfahren für proaktives leistungsmanagement
DE102013110340A1 (de) Ein-Chip-System mit der Fähigkeit zum Steuern einer Leistungsversorgung gemäß einer Datentransaktion und Verfahren zum Betreiben desselben
DE102021126686A1 (de) Leistungsverwaltungseinrichtung und -verfahren für mehrebenenspeichersysteme
DE102020131640A1 (de) Vorrichtung und verfahren zur laststromerfassung mit schnellem ansprechen
DE102020131690A1 (de) Energieverwaltung für usb-typ-c-subsysteme
DE112020003722T5 (de) Digital-linearer hybrid-schaltkondensator-spannungsregler
US11774919B2 (en) Distributed and scalable all-digital low dropout integrated voltage regulator
DE102021119090A1 (de) Einrichtung und verfahren für energieeffiziente kernspannungsauswahl
DE112019002299T5 (de) Variabel adaptiver integrierter computational digital low-dropout-regler
EP3905093A1 (de) Echtzeitleistungsmessgerät zur optimierung der prozessorleistungsverwaltung
EP4155871A1 (de) Gerät und verfahren zur erreichung eines deterministischen stromsparzustands
CN114144746A (zh) 数字协调的动态可调适时钟和电压供应装置及方法
DE102021134615A1 (de) Vorrichtung und verfahren für kontextbasiertes aufladen von batterien
DE102021130628A1 (de) Sicherheitsverriegelungseinrichtung und verfahren für geistiges eigentum
DE102021121216A1 (de) Einrichtung und Verfahren zum Steuern eines Prozessorspitzensttroms
DE102020132082A1 (de) Verfahren und vorrichtung zur genauen messung einer plattformleistung
DE102020134338A1 (de) Inferenzbasierte schnellladung
DE102021119048A1 (de) Einrichtung und verfahren für eine einheitliche halte- und reaktivierungsklemme
DE102021119677A1 (de) Low power hybrid reverse-bandlückenreferenz und -digitaltemperatursensor
DE112018005673T5 (de) Konfigurierbares leeren von daten aus einem flüchtigen speicher in einen nicht flüchtigen speicher
DE112020001948T5 (de) Resonanter on-package-schaltkondensator-spannungsregler mit hoher bandbreite
DE102022103790A1 (de) Einrichtung und verfahren zum detektieren einer leistungsversorgungssicherheitsanpassung und risikominderung
DE102021132804A1 (de) Ospm-richtlinienverfahren und -einrichtung zur dynamischen usb-c-modusauswahl
DE102022124386A1 (de) Verfahren und vorrichtungen, um den netzwerkverkehr auszurichten und den leistungsverbrauch zu verbessern

Legal Events

Date Code Title Description
R081 Change of applicant/patentee

Owner name: INTEL CORPORATION, SANTA CLARA, US

Free format text: FORMER OWNER: INTEL CORPORATION, SANTA CLARA, CALIF., US