Was ist der Unterschied zwischen C-States und P-States der CPU?

Letzte Aktualisierung: 03.10.2023

  • C-States speichern im Leerlauf (tiefer = mehr Latenz), P-States passen Frequenz/Spannung unter Last an.
  • Beide sind orthogonal: Die CPU kann nach dem Betrieb mit hoher Frequenz tief schlafen.
  • C6/C7-Latenzen wirken sich auf Gaming, Audio und Netzwerk aus; passen Sie den maximalen C-State je nach Auslastung an.
  • Verwenden Sie Tools (Windows und Linux) und BIOS/OS-Profile zum Messen und Steuern, ohne an Stabilität zu verlieren.

CPU-Leistungszustände: C-Zustände und P-Zustände

Bei modernen Prozessoren ist die Energieverwaltung kein einzelner Schalter, sondern eine Reihe von koordinierte Mechanismen (u.a. C-States und P-States der CPU) Die vom Betriebssystem, der Firmware und der CPU selbst verwendeten Akronyme passen Stromverbrauch, Temperatur und Leistung in Echtzeit an. Dieser Artikel klärt und ordnet dieses Wirrwarr an Abkürzungen, damit Sie verstehen, was im Hintergrund passiert, wenn Ihr Computer Strom spart oder schneller wird.

Obwohl jeder Hersteller und jede CPU-Familie ihre eigene Note hinzufügt, ist die Grundlage gleich: ACPI definiert Standard-„Zustände“ für System, Geräte und Prozessor. Hier erfahren Sie die Unterschiede zwischen C-States und P-States, wie sie sich auf G/S/D-States beziehen, welche Auswirkungen sie in der Praxis auf die Latenz haben, warum Gamer und professionelle Audiophile den Tiefschlaf oft deaktivieren und welche praktischen Tools für die Verwendung unter Windows, Linux und Umgebungen wie ESXi verfügbar sind.

ACPI auf den Punkt gebracht

ACPI (Advanced Configuration and Power Interface) ist der Standard, der die Leistung in PCs und Servern orchestriert und der APM durch mehr Kontrolle und Granularität ersetztEs wurde in den 90er Jahren von Intel, Microsoft und Toshiba entwickelt und umfasst seitdem 64-Bit, Multiprocessing, moderne Busse (PCIe, SATA, USB 3.x) und Ereigniserkennung (z. B. den Netzschalter).

Obwohl ACPI hauptsächlich in der x86-Familie verwendet wird, wurde es auch auf anderen Architekturen eingesetzt. Auf ARM-Mobilgeräten jedoch Es werden proprietäre Strategien verwendet (wie big.LITTLE und heterogene Cluster). um Effizienz und Reaktion je nach Belastung auszugleichen.

ACPI

Globale und Suspend-Zustände (G-Zustände und S-Zustände)

Globale Zustände beschreiben den Gesamtzustand des Systems. Der wichtigste ist G0/S0 (Arbeiten), wo der Computer aktiv ist. Auf neuerer Hardware gibt es S0ix (Unterzustände von S0) die insbesondere bei Laptops sehr feine Schlafmodi ermöglichen, bei denen ein Teil des SoC schläft.

  • G0/S0: System in Betrieb.
  • G1 (Schlafen): umfasst S1, S2, S3 (Suspend to RAM) und S4 (Hibernate to Disk). S3 hält den RAM mit Strom versorgt um schnell fortzufahren; S4 leert den Speicher in den nichtflüchtigen Speicher.
  • G2/S5 (Soft-Aus): Logisches Herunterfahren mit minimaler Leistung, um ein Aufwecken durch Ereignisse (Tastatur, Netzwerk usw.) zu ermöglichen.
  • G3 (Mechanisch aus): Physische Abschaltung; nur die RTC überlebt pro Batterie.

Denken Sie daran, dass Die C-States des Prozessors befinden sich innerhalb von G0/S0: Wenn das System in G1 eintritt, wird das CPU-Paket heruntergefahren und die Wiedergabe von C-States wird beendet.

Gerätezustände (D-States)

ACPI definiert auch, wie Peripheriegeräte in den Ruhezustand versetzt oder aufgeweckt werden. D0 entspricht „Vollbetrieb“, D1/D2 sind Zwischenbetrieb (geräteabhängig) und D3 verzweigt sich in Hot (mit Hilfsstrom, reagiert auf den Bus) oder Cold (komplett aus, reagiert nicht). Dadurch kann beispielsweise eine Netzwerkkarte den Computer aufwecken, während andere Geräte im Ruhezustand bleiben.

Exklusiver Inhalt – Klicken Sie hier  Wissen Sie, wie ein Laserdrucker funktioniert? Hier erfahren Sie mehr.

T-States: Taktmodulation, der letzte Ausweg

Neben P und C gibt es noch die Taktmodulation (T-States): Eine Art PWM, die interne Taktimpulse in einem Muster unterdrückt (z. B. 1 von 8) und so die Aktivität reduziert, ohne die angegebene Grundfrequenz zu ändern. Es ist als thermische oder Notfall-Gegenmaßnahme (PROCHOT) gedacht und wird über IA32_CLOCK_MODULATION gesteuert, mit Ursachen/Protokollen in MSR_*_PERF_LIMIT_REASONS.

Obwohl es in einigen Dokumenten als „irrelevant“ angesehen wird, Es erscheint immer wieder auf Laptops mit einem fairen thermischen Design und unter anhaltender Belastung. Wenn Windows eine „Geschwindigkeit“ unterhalb des minimalen EIST meldet, ist wahrscheinlich der T-State aktiv (Clock Gating).

M‑States: Speichereinsparungen

ACPI bietet auch Speicherzustände, um den Stromverbrauch des DRAM-Subsystems zu reduzieren, wenn sich das System im Leerlauf befindet. M0 ist NormalbetriebM1/M2 und andere Modi zwingen den Speicher zur Selbstaktualisierung und verlangsamen das Timing, wodurch der Stromverbrauch durch längere Aufwachlatenzen reduziert wird. Diese sind für den Benutzer weniger sichtbar, tragen aber zu den Gesamteinsparungen bei.

c-Zustände und p-Zustände

Prozessor C-States: Schlafen mit Kopf

Kommen wir nun zum Thema des Artikels: C-States und P-States. C-States sind die Leerlaufzustände des Kernels oder Pakets. Je höher die Zahl, desto tiefer der Schlaf und größere Einsparungen, aber auch eine höhere Aufwachlatenz. Sie werden mit privilegierten Anweisungen wie HLT oder MWAIT angefordert (letzteres kann explizit einen Cx und einen Unterstatus anfordern), und die Fähigkeitszuordnung erreicht das Betriebssystem über ACPI (_CST).

  • C0: normale Ausführung. Hier kommen P-States ins Spiel.
  • C1/C1E (Halt): der Kern stoppt, fast sofortige Rückkehr auf C0; C1E senkt den Verbrauch weiter.
  • C2 (Stoppuhr): Taktsignale werden gestoppt, die Rückkehr dauert etwas länger.
  • C3 (Schlaf/Tiefschlaf): L1/L2 wird in den letzten Cache (LLC) geleert und die Kerntakte werden ausgeschaltet; nur der wesentliche Zustand des Kerns bleibt erhalten.
  • C6 und höher: Der Kern kann heruntergefahren und sein Kontext im dedizierten SRAM gespeichert werden, wodurch die Kernspannung auf ~0 V gesenkt wird. Beim Beenden wird der Kernzustand wiederhergestellt. Einige Modelle bieten auf neueren Plattformen bis zu C10.

Zusätzlich zu den C‑Zuständen pro Kern (CC‑Zustände) gibt es die Ebene der Paket C-States (PC-States) die gemeinsam genutzte Blöcke (wie LLC) deaktivieren, wenn alle Kerne dies zulassen. Es gibt ungültige Kombinationen (wenn sich ein Kern in C0 befindet, kann sich das Paket nicht in PC6 befinden), und die CPU kann die Ebene basierend auf Ziellatenzen und -residenzen automatisch „heraufstufen“ oder „herabstufen“.

Exklusiver Inhalt – Klicken Sie hier  Wie lassen sich Probleme mit Einkaufslisten auf dem Echo Dot beheben?

Latenz ist wichtig: C1 wird in nur wenigen Dutzend Zyklen aufgegeben, während C6/C7 Hunderte von Mikrosekunden kosten können. Daher leiden verzögerungsempfindliche Lasten (Gaming, Echtzeit-Audio, anspruchsvolle Netzwerkanforderungen) darunter, wenn der Prozessor häufig in den Tiefschlaf fällt.

Leistungs-P-Zustände: Frequenz und Spannung

Während C-Zustände „Schlafen, wenn keine Arbeit ansteht“, sind P-Zustände „das Tempo anpassen, wenn Ja, es gibt Arbeit, aber es wird nicht das Maximum herausgeholt.„. P0 ist der höchste Leistungszustand (höchste Frequenz/Spannung), dann kommen P1, P2 … jeweils mit abnehmenden Frequenz-Spannungs-Paaren. Diese Tabellen werden dem Betriebssystem über ACPI (_PSS) deklariert und von MSRs wie IA32_PERF_CTL/IA32_PERF_STATUS gesteuert.

Historisch gesehen verlangte das Betriebssystem P-States (EIST/SpeedStep bei Intel, PowerNow! bei AMD), aber heute ist es üblich, Hardwaregesteuerte Leistungszustände (HWP/Speed ​​Shift): Das Betriebssystem gibt eine Präferenz an (Leistung/Einsparungen) und die CPU entscheidet in Millisekunden über den genauen Punkt, mit einer sehr feinen Granularität pro Kern.

Ein wichtiges Detail: P-Zustände und C-Zustände sind „orthogonal“Sie können sich bei P0 (hohe Frequenz) befinden und bei Inaktivität in C6 eintreten. Umgekehrt gibt es bei anhaltender Belastung bei P2 keine C-Zustände, da der Kern ausgeführt wird (C0). Deshalb ist es sinnvoll, „Frequenz/Spannung“ (P) gedanklich von „Leerlauf“ (C) zu trennen.

P-Zustände CPU

Von APM zu ACPI: ein Paradigmenwechsel

APM war die vorherige API, die hauptsächlich vom BIOS und den Treibern verwaltet wurde. Es erlaubte Inaktive Peripheriegeräte ausschalten und einfache globale Zustände definieren, aber die CPU lag aus Sicherheitsgründen außerhalb der direkten Kontrolle des Betriebssystems. ACPI entwickelte sich zu einem umfangreicheren, standardisierteren Modell mit Tabellenbeschreibungen, granularer Kontrolle und enger Zusammenarbeit zwischen Firmware, Betriebssystem und Hardware.

So betreten und verlassen Sie die C-Staaten

Wenn der Scheduler keine Threads bereit hat, führt er HLT oder MWAIT mit einem Hinweis auf den Ziel-C-Status aus. Unterbrechungen „brechen“ den Schlaf und den Kern auf C0 zurückführen. Private Caches werden bei C3 geleert; Kontext wird bei C6 im SRAM gespeichert und die Spannung auf Null gesenkt. Einige CPUs implementieren Power Aware Interrupt Routing (PAIR), um Interrupts an bereits aktive Kerne (zum Speichern) oder zu inaktiven Kernen (für die Leistung), je nach Bedarf.

Turbo, TDP und Leistungsgrenzen

Prozessoren definieren eine TDP, die das Kühlsystem dauerhaft abführen können muss (PL1: sichere Durchschnittsleistung). Oben können Fenster mit höherer Leistung eintreten (PL2, und zusätzliche Stufen wie PL3/PL4 je nach Plattform) für begrenzte Zeiträume. Wenn thermischer und elektrischer Spielraum vorhanden ist, kann der Kern die Basisfrequenz per Turbo überschreiten, sogar asymmetrische Form (mehr Turbo mit weniger aktiven Kernen).

Wenn die Temperaturen den Schwellenwert überschreiten oder das VRM/die Leistung dies erfordert, PROCHOT kann aktiviert werden und wechseln Sie in den T-Zustand oder in die Frequenzbegrenzung, um den Chip zu schützen. Dieses Verhalten kommt häufig bei dünnen Laptops vor.

Exklusiver Inhalt – Klicken Sie hier  Cómo Limpiar el Interior de la HP DeskJet 2720e.

 

Windows: Energiesparpläne, Messwerte und Zähler

Windows-Angebote Pläne wie „Energieeinsparungen“, „Ausgewogen“ und „Hohe Leistung“. Die erste neigt dazu Senken Sie die P-Zustände aggressiv und schlafen Sie tief und festDie dritte Option behält hohe Frequenzen bei und vermeidet Latenzabfälle auf Kosten der Effizienz. „Balanced“ versucht einen Mittelweg.

Im Task-Manager ist „Geschwindigkeit“ eine synthetische Metrik, die Durchschnitte pro Kern und berücksichtigt Modulation Duty wenn T-States vorhanden sind. Es kann die Basis (Turbo) überschreiten oder unter die minimale EIST (Gating) fallen. Für erweiterte Telemetrie gibt der Zähler „\Prozessorinformationen(_Gesamt)\% Prozessorleistung“ den Prozentsatz der effektiven Leistung pro CPU an.

Es gibt Dienstprogramme zur Diagnose oder Anpassung: CPU‑Z (Basisdaten), HWiNFO (Sensoren), Gasgriff (Takt, C-States pro Kern und PROCHOT/Modulationssteuerung) oder ParkControl (Core Parking Tuning/C-States), die versteckte Energiesparplanparameter berühren (powercfg ermöglicht die Bearbeitung von „IDLE_PROMOTE/DEMOTE“ usw.).

Linux: CPU-Leistung, Turbostat und CoreFreq

Unter Linux können Tools wie CPU-Leistung zeigen Regler, Frequenzbereiche und Übergangslatenzen an; Turbostat zeigt MSRs, Gründe für Leistungseinschränkungen (MSR_CORE_PERF_LIMIT_REASONS) und Aufenthaltsorte nach C-State an; und Kernfrequenz bietet eine detaillierte Ansicht der absoluten Frequenzen, C-States und Turbo pro Kern/Paket.

Eine praktische Nuance: Auf einigen Computern ist der Treiber intel_idle kann BIOS-Einschränkungen ignorieren über C-States und verwenden ihre eigene Tabelle. In anderen Fällen „sperrt“ die Firmware den tiefsten C-State, der für das Betriebssystem über MSR zulässig ist.

BIOS/UEFI und Profile: Wer hat wirklich das Sagen?

In den BIOS/UEFI-Einstellungen erscheinen sie normalerweise Schlüsselschalter: EIST/SpeedStep, TurboBoost und CPU C-StatesDarüber hinaus bieten viele Server die Möglichkeit, Energieprofile auszuwählen: „Maximale Leistung“ (alles optimal, mit minimalen Latenzen) oder „Betriebssystemgesteuert/Benutzerdefiniert“, wobei der Hypervisor oder das Betriebssystem die P/C-Zustände steuert. Bei Auswahl des „Betriebssystemsteuerungsmodus“ wird die Intelligenz an das Betriebssystem delegiert.

Wenn Sie Hypervisoren wie ESXi verwenden, ist es eine gute Idee, OS-Steuerungsmodus im BIOS mit dem Plan „Hohe Leistung“ des Hypervisors, wenn die Leistung gesteigert werden soll (z. B. mit NSX-T, Edge-Knoten oder latenzempfindlichen Funktionen). In diesem Szenario wird P-State 0 häufiger angezeigt und C-States auf C0/C1 beschränkt. Bei einem „Balanced“-Plan verlässt sich der Host stärker auf niedrigere P-States und tiefere C-States.

Um das ganze Durcheinander der C-States und P-States zusammenzufassen: ACPI definiert den Rahmen, C-States sparen Strom, wenn nichts zu tun ist, P-States passen den Hoch-/Niedriggang unter Last an, T-States retten die Lage bei extremer Hitze und M-States sparen Watt beim Speicher. Der Schlüssel liegt darin, das richtige Profil für Ihren Einsatzzweck auszuwählen., messen Sie mit den richtigen Werkzeugen und legen Sie gegebenenfalls sinnvolle Grenzen für die Ruhetiefe fest.

Modern Standby entlädt den Akku im Ruhezustand
Verwandter Artikel:
Modern Standby entlädt den Akku im Ruhezustand: So deaktivieren Sie es