Wat is het verschil tussen C-States en P-States van de CPU?

Laatste update: 15/10/2025

  • C-Staten worden opgeslagen bij inactiviteit (dieper = meer latentie), P-Staten passen de frequentie/spanning aan onder belasting.
  • Beide zijn orthogonaal: de CPU kan diep in slaap vallen nadat hij op hoge frequentie heeft gedraaid.
  • C6/C7-latenties hebben invloed op gaming, audio en netwerken; pas de maximale C-status aan op basis van de belasting.
  • Gebruik hulpmiddelen (Windows en Linux) en BIOS/OS-profielen om te meten en beheren zonder dat dit ten koste gaat van de stabiliteit.

CPU-vermogenstoestanden: C-toestanden en P-toestanden

Bij moderne processoren is het energiebeheer niet een enkele schakelaar, maar een set gecoördineerde mechanismen (onder andere C-States en P-States van de CPU) die het besturingssysteem, de firmware en de CPU zelf gebruiken om het stroomverbruik, de temperatuur en de prestaties in realtime aan te passen. Dit artikel vat die wirwar van afkortingen samen, zodat u begrijpt wat er onder de motorkap gebeurt wanneer uw computer energie bespaart of versnelt.

Hoewel elke fabrikant en CPU-familie zijn eigen draai eraan geeft, is de basis gemeenschappelijk: ACPI definieert standaard “staten” Voor het systeem, de apparaten en de processor. Hier ziet u de verschillen tussen C-States en P-States, hoe ze zich verhouden tot G/S/D-States, welke impact ze in de praktijk hebben op latentie, waarom gamers en professionele audiofielen diepe slaap vaak uitschakelen en welke praktische tools beschikbaar zijn voor gebruik op Windows, Linux en omgevingen zoals ESXi.

ACPI in een notendop

ACPI (Geavanceerde configuratie en Power Interface) is de standaard die de stroomvoorziening in pc's en servers orkestreert, en die APM vervangen door meer controle en granulariteitHet werd in de jaren 90 bedacht door Intel, Microsoft en Toshiba en is inmiddels uitgegroeid tot een systeem met 64-bits, multiprocessing, moderne bussen (PCIe, SATA, USB 3.x) en gebeurtenisdetectie (bijvoorbeeld de aan/uit-knop).

Hoewel ACPI voornamelijk wordt gebruikt in de x86-familie, is het ook op andere architecturen geïmplementeerd. Op mobiele ARM-apparaten is het echter er worden bedrijfseigen strategieën gebruikt (zoals big.LITTLE en heterogene clusters) om efficiëntie en respons in evenwicht te brengen, afhankelijk van de belasting.

ACPI

Globale en opschortende staten (G-staten en S-staten)

Globale toestanden beschrijven de volledige toestand van het systeem. De belangrijkste is G0/S0 (werkend), waar de computer actief is. Op recente hardware is er S0ix (substaten van S0) die zeer fijne slaapstanden mogelijk maken waarbij een deel van de SoC in slaapstand gaat, vooral in laptops.

  • G0/S0: systeem in werking.
  • G1 (Slapen): omvat S1, S2, S3 (slaapstand naar RAM) en S4 (slaapstand naar schijf). S3 houdt het RAM-geheugen aangestuurd om snel te hervatten; S4 wist het geheugen naar niet-vluchtig geheugen.
  • G2/S5 (zachte start): Logische uitschakeling met minimaal vermogen om activering door gebeurtenissen (toetsenbord, netwerk, enz.) mogelijk te maken.
  • G3 (Mechanisch uitgeschakeld): Fysieke uitschakeling; alleen de RTC overleeft per batterij.

Onthoud dat De C-States van de processor bevinden zich binnen G0/S0: Wanneer het systeem G1 binnengaat, wordt het CPU-pakket afgesloten en stoppen C-States met afspelen.

Apparaatstatussen (D-statussen)

ACPI definieert ook hoe randapparatuur in slaapstand gaat of wakker wordt. D0 is gelijk aan “volledige werking”, D1/D2 zijn tussenliggend (apparaatafhankelijk) en D3 vertakt zich in Hot (met hulpvoeding, reagerend op de bus) of Cold (volledig uit, reageert niet). Hierdoor kan bijvoorbeeld een netwerkkaart de computer activeren terwijl andere apparaten in slaap blijven.

Exclusieve inhoud - Klik hier  Hoe werkt een boormachine en waarvoor wordt hij gebruikt?

T-States: klokmodulatie, het laatste redmiddel

Naast P en C is er de klokmodulatie (T-toestanden): een soort PWM die interne klokpulsen in een patroon onderdrukt (bijv. 1 op de 8), waardoor de activiteit afneemt zonder de geadverteerde basisfrequentie te veranderen. Het is bedoeld als thermische of noodmaatregel (PROCHOT) en wordt aangestuurd via IA32_CLOCK_MODULATION, met oorzaken/logs in MSR_*_PERF_LIMIT_REASONS.

Hoewel sommige documenten het als ‘irrelevant’ beschouwen, Het blijft voorkomen op laptops met een redelijk thermisch ontwerp en onder aanhoudende belasting. Als Windows een "snelheid" onder de minimale EIST meldt, is er waarschijnlijk T-State actief (clock gating).

M‑Staten: Geheugenbesparingen

ACPI biedt ook geheugenstatussen om het stroomverbruik van het DRAM-subsysteem te verminderen wanneer het systeem inactief is. M0 is normale werkingM1/M2 en andere modi dwingen het geheugen zichzelf te vernieuwen en vertragen de timing, wat leidt tot een lager energieverbruik en langere ontwaaklatentie. Deze zijn minder zichtbaar voor de gebruiker, maar dragen wel bij aan de algehele besparing.

c-toestanden en p-toestanden

Processor C-States: Slaap met hoofd

Laten we nu het onderwerp van het artikel bespreken: C-States en P-States. C-States zijn de inactieve toestanden van de kernel of het pakket. Hoe hoger het getal, hoe dieper de slaap en grotere besparingen, maar ook een hogere wake-up latency. Ze worden aangevraagd met bevoorrechte instructies zoals HLT of MWAIT (de laatste kan expliciet een Cx en substatus aanvragen), en de capaciteitstoewijzing bereikt het besturingssysteem via ACPI (_CST).

  • C0: normale uitvoering. Dit is waar P‑States in het spel komen.
  • C1/C1E (Halt): de kern stopt, bijna onmiddellijke terugkeer naar C0; C1E verlaagt het verbruik verder.
  • C2 (Stopklok): De kloksignalen worden gestopt, de terugkeer duurt iets langer.
  • C3 (Slaap/Diepe slaap): L1/L2 wordt naar de laatste cache (LLC) geflusht en de kernklokken worden uitgeschakeld; alleen de essentiële toestand van de kern blijft bewaard.
  • C6 en hoger: De kern kan worden uitgeschakeld en de context ervan kan worden opgeslagen in een speciaal SRAM, waardoor de kernspanning daalt tot ~0 V; bij het afsluiten wordt de kernstatus hersteld. Sommige modellen stellen tot C10 bloot op recente platforms.

Naast de C-toestanden per kern (CC-toestanden) is er het vlak van Pakket C-States (PC-states) die gedeelde blokken (zoals de LLC) uitschakelen wanneer alle cores dit toestaan. Er zijn ongeldige combinaties (als een core zich in C0 bevindt, kan het pakket zich niet in PC6 bevinden) en de CPU kan de tier automatisch "promoveren" of "degraderen" op basis van doellatenties en -residenties.

Exclusieve inhoud - Klik hier  Hoe ontgrendel ik het toetsenbord van een Toshiba Satellite P50-C?

Latentie is belangrijk: C1 wordt in slechts enkele tientallen cycli verlaten, terwijl C6/C7 honderden microseconden kan kosten. Belastingen die gevoelig zijn voor vertraging (gamen, realtime audio, veeleisende netwerken) hebben er dus last van als de processor regelmatig in diepe slaap valt.

Prestatie P-toestanden: frequentie en spanning

Terwijl C-Staten ‘slapen als er geen werk is’ zijn, zijn P-Staten ‘het tempo aanpassen als er geen werk is’. Ja, er is werk, maar het vergt niet het maximum.P0 is de hoogste prestatiestatus (hoogste frequentie/spanning), daarna komen P1, P2... elk met afnemende frequentie-spanningsparen. Deze tabellen worden via ACPI (_PSS) aan het besturingssysteem gedeclareerd en aangestuurd door MSR's zoals IA32_PERF_CTL/IA32_PERF_STATUS.

Historisch gezien vroeg het besturingssysteem om P-States (EIST/SpeedStep op Intel, PowerNow! op AMD), maar tegenwoordig is het gebruikelijk om Hardwaregestuurde prestatiestaten (HWP/Speed ​​Shift):Het besturingssysteem geeft een voorkeur aan (prestaties/besparingen) en de CPU bepaalt in milliseconden het exacte punt, met een zeer fijne per-core-granulariteit.

Een belangrijk detail: P-Staten en C-Staten zijn “orthogonaal”Je kunt op P0 (hoge frequentie) zitten en, zodra je inactief wordt, C6 binnengaan. Omgekeerd zijn er onder aanhoudende belasting op P2 geen C-toestanden omdat de kern actief is (C0). Daarom is het een goed idee om "frequentie/spanning" (P) mentaal te scheiden van "inactief" (C).

p-states cpu

Van APM naar ACPI: een paradigmaverschuiving

APM was de vorige API die voornamelijk werd beheerd vanuit BIOS en drivers. Het maakte het mogelijk Schakel inactieve randapparatuur uit en definieer eenvoudige globale statussen, maar de CPU viel om veiligheidsredenen buiten de directe controle van het besturingssysteem. ACPI evolueerde naar een rijker, meer gestandaardiseerd model, met tabelbeschrijvingen, gedetailleerde controle en nauwe samenwerking tussen firmware, besturingssysteem en hardware.

Hoe je de C-Staten binnenkomt en verlaat

Wanneer de scheduler geen threads klaar heeft, voert hij HLT of MWAIT uit met een hint over de doel-C-status; Onderbrekingen ‘breken’ de slaap en de kern terugbrengen naar C0. Privécaches worden geleegd op C3; context wordt opgeslagen in SRAM op C6 en de spanning wordt verlaagd naar nul. Sommige CPU's implementeren Power Aware Interrupt Routing (PAIR) om interrupts naar reeds actieve kernen (om op te slaan) of naar inactieve kernen (voor uitvoering), indien van toepassing.

Turbo, TDP en vermogenslimieten

Processoren definiëren een TDP dat het koelsysteem op een duurzame basis moet kunnen afvoeren (PL1: veilig gemiddeld vermogen). Hierboven kunnen krachtigere ramen worden gebruikt (PL2, en extra niveaus zoals PL3/PL4 (afhankelijk van het platform) gedurende beperkte perioden. Indien er thermische en elektrische speling is, kan de kern de basisfrequentie via Turbo overschrijden, zelfs asymmetrische vorm (meer turbo met minder actieve kernen).

Wanneer de temperaturen de drempelwaarde overschrijden of de VRM/het vermogen dit vereist, PROCHOT kan worden geactiveerd en ga naar T-State of frequentieclipping om de chip te beschermen. Dit gedrag komt vaak voor bij dunne laptops.

Exclusieve inhoud - Klik hier  Nvidia stapt over naar Intel met 5.000 miljard dollar en sluit partnerschap voor nieuwe chips

 

Windows: energieschema's, metingen en tellers

Windows biedt plannen zoals “Energiebesparing”"Gebalanceerd" en "Hoge prestaties". De eerste heeft de neiging om verlaag de P-staten agressief en slaap rustigDe derde optie handhaaft hoge frequenties en voorkomt latentieverlies ten koste van de efficiëntie. "Balanced" probeert een middenweg te vinden.

In Taakbeheer is 'snelheid' een synthetische metriek die gemiddelden per kern en houdt rekening met modulatietaak als er T-States zijn. Deze kan de basis (Turbo) overschrijden of onder de minimale EIST (gating) dalen. Voor geavanceerde telemetrie geeft de teller "\Processor Information(_Total)\% Processor Performance" het percentage effectieve prestaties per CPU weer.

Er zijn hulpprogramma's om te diagnosticeren of aan te passen: CPU-Z (basisgegevens), Hwinfo (sensoren), Gasstop (klokken, C-States per kern en PROCHOT/modulatiecontrole), of ParkControl (core parking tuning/C‑States) die verborgen parameters van het energieplan aanraken (powercfg maakt het mogelijk om “IDLE_PROMOTE/DEMOTE” etc. te bewerken).

Linux: cpupower, turbostat en CoreFreq

In Linux zijn er hulpmiddelen zoals processorkracht gouverneurs, frequentiebereiken en overgangslatentie weergeven; turbostaat geeft MSR's, kernprestatielimietredenen (MSR_CORE_PERF_LIMIT_REASONS) en residenties per C-staat weer; en KernFreq biedt een gedetailleerd overzicht van absolute frequenties, C-States en Turbo per core/pakket.

Een praktische nuance: op sommige computers is de driver intel_idle kan BIOS-beperkingen negeren over C-States en gebruiken hun eigen tabel. In andere gevallen "blokkeert" de firmware de diepste C-State die voor het besturingssysteem is toegestaan ​​via MSR.

BIOS/UEFI en profielen: wie is nu echt de baas?

In de BIOS/UEFI-instellingen verschijnen ze meestal toetsschakelaars: EIST/SpeedStep, TurboBoost en CPU C-StatesBovendien kunt u bij veel servers energieprofielen kiezen: "Maximale prestaties" (alles op zijn best, met minimale latentie) of "Besturingssysteemgestuurd/Aangepast", waarbij de hypervisor of het besturingssysteem de P/C-statussen beheert. Door "Besturingssysteembesturingsmodus" te selecteren, wordt de intelligentie gedelegeerd aan het besturingssysteem.

Als u hypervisors zoals ESXi gebruikt, is het een goed idee om deze te combineren OS-besturingsmodus in BIOS met het plan 'Hoge prestaties' van de hypervisor wanneer het doel is om de prestaties te optimaliseren (bijvoorbeeld met NSX-T, Edge Nodes of latentiegevoelige functies). In dat scenario ziet u vaker P-State 0 en C-States beperkt tot C0/C1; met een "Balanced"-plan zal de host meer vertrouwen op lagere P-States en diepere C-States.

Om deze hele C-States en P-States chaos samen te vatten: ACPI definieert het frame, C-States besparen energie als er geen werk is, P-States passen de hoge/lage versnelling aan onder belasting, T-States redden de dag bij extreme hitte en M-States schrappen watts van het geheugen. Het belangrijkste is dat u het juiste profiel voor uw toepassing kiest., meet met de juiste gereedschappen en stel indien nodig redelijke grenzen aan de rustdiepte.

Moderne standby-modus verbruikt veel batterij in rust
Gerelateerd artikel:
Moderne stand-bymodus verbruikt batterij tijdens slaap: hoe schakel je dit uit?