- C-tilstander lagrer ved inaktiv drift (dypere = mer latens), P-tilstander justerer frekvens/spenning under belastning.
- Begge er ortogonale: CPU-en kan sove dypt etter å ha kjørt med høy frekvens.
- C6/C7-forsinkelser påvirker spilling, lyd og nettverk; juster maksimal C-tilstand basert på belastning.
- Bruk verktøy (Windows og Linux) og BIOS/OS-profiler for å måle og styre uten å miste stabilitet.
I moderne prosessorer er strømstyring ikke en enkelt bryter, men et sett med koordinerte mekanismer (blant annet C-tilstander og P-tilstander i CPU-en) som operativsystemet, fastvaren og selve CPU-en bruker til å justere strømforbruk, temperatur og ytelse i sanntid. Denne artikkelen destillerer og organiserer dette virvaret av akronymer, slik at du kan forstå hva som skjer under panseret når datamaskinen sparer strøm eller øker hastigheten.
Selv om hver produsent og CPU-familie legger til sitt eget preg, er grunnlaget felles: ACPI definerer standard «tilstander» for systemet, enhetene og prosessoren. Her ser du forskjellene mellom C-tilstander og P-tilstander, hvordan de forholder seg til G/S/D-tilstander, hvilken innvirkning de har på latens i den virkelige verden, hvorfor spillere og profesjonelle audiofile ofte deaktiverer dyp søvn, og hvilke praktiske verktøy som er tilgjengelige for bruk på Windows, Linux og miljøer som ESXi.
ACPI i et nøtteskall
ACPI (Avansert konfigurasjon og strømgrensesnitt) er standarden som styrer strømforsyningen i PC-er og servere, og som erstattet APM med større kontroll og granularitetDen ble født av Intel, Microsoft og Toshiba på 90-tallet og utviklet seg til å inkludere 64-bits, multiprosessering, moderne busser (PCIe, SATA, USB 3.x) og hendelsesdeteksjon (f.eks. av/på-knappen).
Selv om ACPI primært brukes i x86-familien, har det også blitt distribuert på andre arkitekturer. På ARM-mobilenheter derimot, proprietære strategier brukes (som big.LITTLE og heterogene klynger) for å balansere effektivitet og respons avhengig av belastningen.

Globale og suspenderte stater (G-stater og S-stater)
Globale tilstander beskriver systemets fullstendige tilstand. Den viktigste er G0/S0 (Fungerer), der datamaskinen er aktiv. På nyere maskinvare finnes det S0ix (undertilstander av S0) som tillater veldig fine søvnmoduser med deler av SoC-en i dvalemodus, spesielt i bærbare datamaskiner.
- G0/S0: systemet i drift.
- G1 (Sovende): dekker S1, S2, S3 (suspendere til RAM) og S4 (dvalemodus til disk). S3 holder RAM-en drevet for å gjenoppta raskt; S4 tømmer minnet til ikke-flyktig lagring.
- G2/S5 (Myk av)Logisk avstenging med minimal strømforbruk for å tillate oppvåkning av hendelser (tastatur, nettverk osv.).
- G3 (Mekanisk av)Fysisk avstengning; bare RTC-en overlever per batteri.
Husk det Prosessorens C-tilstander ligger innenfor G0/S0Når systemet går inn i G1, slås CPU-pakken av, og C-tilstandene slutter å spille.
Enhetstilstander (D-tilstander)
ACPI definerer også hvordan eksterne enheter sover eller våkner. D0 tilsvarer «full drift», D1/D2 er mellomliggende (enhetsavhengig) og D3 forgrener seg til Varm (med hjelpestrøm, svarer på bussen) eller Kald (helt av, svarer ikke). Dette lar for eksempel et nettverkskort vekke datamaskinen mens andre enheter forblir i dvalemodus.
T-tilstander: Klokkemodulering, siste utvei
I tillegg til P og C finnes det klokkemodulasjon (T-tilstander): en type PWM som undertrykker interne klokkepulser i et mønster (f.eks. 1 av hver 8), og reduserer aktivitet uten å endre den annonserte basisfrekvensen. Den er ment som et termisk eller nødstiltak (PROCHOT) og styres via IA32_CLOCK_MODULATION, med årsaker/logger i MSR_*_PERF_LIMIT_REASONS.
Selv om noen dokumenter anser det som «irrelevant», i praksis Det dukker stadig opp på bærbare datamaskiner med et rimelig termisk design og under vedvarende belastning. Hvis du ser at Windows rapporterer en «hastighet» under minimum EIST, er T-tilstanden sannsynligvis aktiv (klokkegating).
M-States: Minnebesparelser
ACPI gir også minnetilstander for å redusere strømforbruket til DRAM-undersystemet når systemet er inaktivt. M0 er normal driftM1/M2 og andre moduser tvinger minnet til å oppdatere seg selv og reduserer timingen, noe som reduserer strømforbruket med lengre oppvåkningsforsinkelser. Disse er mindre synlige for brukeren, men bidrar til den totale besparelsen.
Prosessor C-tilstander: Hvilemodus med hodet
La oss nå ta for oss artikkelens tema: C-tilstander og P-tilstander. C-tilstander er inaktive tilstander til kjernen eller pakken. Jo høyere tall, desto dypere søvn og større besparelser, men også høyere oppvåkningsforsinkelse. De forespurtes med privilegerte instruksjoner som HLT eller MWAIT (sistnevnte kan eksplisitt forespørre en Cx og understatus), og kapasitetstilordningen når operativsystemet via ACPI (_CST).
- C0: normal utførelse. Det er her P-tilstander kommer inn i bildet.
- C1/C1E (Stopp)kjernen stopper, nesten umiddelbar retur til C0; C1E reduserer forbruket ytterligere.
- C2 (Stoppklokke)Klokkesignalene stoppes, retur tar litt lengre tid.
- C3 (Søvn/Dyp søvn)L1/L2 tømmes til siste hurtigbuffer (LLC) og kjerneklokkene slås av; bare kjernens essensielle tilstand er bevart.
- C6 og overKjernen kan slås av og konteksten lagres i dedikert SRAM, noe som reduserer kjernespenningen til ~0 V. Kjernetilstanden gjenopprettes ved avslutning. Noen modeller utsettes for opptil C10 på nyere plattformer.
I tillegg til C-tilstandene per kjerne (CC-tilstander), finnes planet til Pakke C-tilstander (PC-tilstander) som slår av delte blokker (som LLC) når alle kjerner tillater det. Det er ugyldige kombinasjoner (hvis en kjerne er i C0, kan ikke pakken være i PC6), og CPU-en kan automatisk "forfremme" eller "degradere" nivået basert på målforsinkelser og residenser.
Latens betyr noe: C1 blir forlatt på bare noen få dusin sykluser, mens C6/C7 kan koste hundrevis av mikrosekunder. Derfor lider forsinkelsesfølsomme belastninger (spill, sanntidslyd, krevende nettverk) hvis prosessoren ofte faller i dyp hvilemodus.
Ytelses-P-tilstander: Frekvens og spenning
Mens C-statene «sover når det ikke er noe arbeid», er P-statene «justerer tempoet når Ja, det er arbeid, men det tar ikke maksimalt.”. P0 er den høyeste ytelsestilstanden (høyeste frekvens/spenning), deretter kommer P1, P2… hver med avtagende frekvens-spenningspar. Disse tabellene deklareres til operativsystemet via ACPI (_PSS) og kontrolleres av MSR-er som IA32_PERF_CTL/IA32_PERF_STATUS.
Historisk sett ba operativsystemet om P-tilstander (EIST/SpeedStep på Intel, PowerNow! på AMD), men i dag er det vanlig å Maskinvarestyrte ytelsestilstander (HWP/Speed Shift)Operativsystemet angir en preferanse (ytelse/besparelser), og CPU-en bestemmer det nøyaktige punktet i millisekunder, med en veldig fin granularitet per kjerne.
En viktig detalj: P-tilstander og C-tilstander er «ortogonale»Du kan være på P0 (høy frekvens) og, når du blir inaktiv, gå inn i C6. Omvendt, under vedvarende belastning på P2, er det ingen C-tilstander fordi kjernen kjører (C0). Derfor er det lurt å mentalt skille "frekvens/spenning" (P) fra "tomgang" (C).
Fra APM til ACPI: et paradigmeskifte
APM var det tidligere API-et som hovedsakelig ble administrert fra BIOS og drivere. Slå av inaktive eksterne enheter og definer enkle globale tilstander, men CPU-en var utenfor operativsystemets direkte kontroll av sikkerhetsmessige årsaker. ACPI utviklet seg til en rikere, mer standardisert modell, med tabellbeskrivelser, detaljert kontroll og tett samarbeid mellom fastvare, operativsystem og maskinvare.
Hvordan komme inn og ut av C-statene
Når planleggeren ikke har noen tråder klare, kjører den HLT eller MWAIT med et hint om mål-C-tilstanden; Avbrudd «bryter» søvnen og returnere kjernen til C0. Private hurtigbuffere tømmes ved C3; kontekst lagres i SRAM ved C6 og spenningen senkes til null. Noen CPU-er implementerer Power Aware Interrupt Routing (PAIR) for å rute avbrudd til allerede aktive kjerner (for å lagre) eller for å sette kjerner i hvilemodus (for ytelse), etter behov.
Turbo, TDP og effektgrenser
Prosessorer definerer en TDP som kjølesystemet må kunne forsvinne på en vedvarende basis (PL1: sikker gjennomsnittlig effektOver kan elektriske vinduer med høyere kapasitet komme inn (PL2, og tilleggsnivåer som PL3/PL4 avhengig av plattform) i begrensede perioder. Hvis det er termisk og elektrisk takhøyde, kan kjernen overstige basisfrekvensen via Turbo, til og med asymmetrisk form (mer turbo med færre aktive kjerner).
Når temperaturene overstiger terskelen eller VRM/strømmen krever det, PROCHOT kan aktiveres og skriv inn T-tilstand eller frekvensklipping for å beskytte brikken. Denne oppførselen er vanlig på tynne bærbare datamaskiner.
Windows: Strømstyringsplaner, avlesninger og tellere
Windows-tilbud planer som «Energisparing», «Balansert» og «Høy ytelse». Den første har en tendens til å senke P-tilstandene aggressivt og sove godtDen tredje opprettholder høye frekvenser og unngår latensfall på bekostning av effektivitet. «Balansert» forsøker en mellomting.
I Oppgavebehandling er «hastighet» en syntetisk måleenhet som gjennomsnitt per kjerne og tar hensyn til modulasjonsbelastning hvis det finnes T-tilstander. Den kan overstige basen (Turbo) eller falle under minimum EIST (gating). For avansert telemetri gjenspeiler telleren "\Processor Information(_Total)\% Processor Performance" prosentandelen effektiv ytelse per CPU.
Det finnes verktøy for å diagnostisere eller justere: CPU-Z (grunnleggende data), HWiNFO (sensorer), Gassstopp (klokker, C-tilstander per kjerne og PROCHOT/modulasjonskontroll), eller ParkControl (kjerneparkeringsjustering/C-tilstander) som berører skjulte strømstyringsplanparametere (powercfg tillater redigering av «IDLE_PROMOTE/DEMOTE» osv.).
Linux: CPU-kraft, turbostat og CoreFreq
I Linux, verktøy som CPU-kraft vis regulatorer, frekvensområder og overgangslatenser; turbostat viser MSR-er, årsaker til kjerneytelsesgrenser (MSR_CORE_PERF_LIMIT_REASONS) og residenser etter C-stat; og Kjernefrekvens gir en detaljert oversikt over absolutte frekvenser, C-tilstander og turbo per kjerne/pakke.
En praktisk nyanse: på noen datamaskiner er driveren intel_idle kan ignorere BIOS-begrensninger over C-tilstander og bruker sin egen tabell. I andre tilfeller «låser» fastvaren den dypeste C-tilstanden som er tillatt for operativsystemet via MSR.
BIOS/UEFI og profiler: Hvem har egentlig kontrollen?
I BIOS/UEFI-innstillingene vises de vanligvis tastebrytere: EIST/SpeedStep, TurboBoost og CPU C-StatesI tillegg lar mange servere deg velge strømprofiler: «Maksimal ytelse» (alt på sitt beste, med minimale forsinkelser) eller «OS-kontrollert/tilpasset», der hypervisoren eller operativsystemet styrer P/C-tilstander. Hvis du velger «OS-kontrollmodus», delegerer du intelligensen til operativsystemet.
Hvis du bruker hypervisorer som ESXi, er det lurt å kombinere OS-kontrollmodus i BIOS med «Høy ytelse»-planen av hypervisoren når målet er å presse ytelsen (for eksempel med NSX-T, Edge Nodes eller latenssensitive funksjoner). I det scenariet vil du se P-tilstand 0 oftere og C-tilstander begrenset til C0/C1; med en «balansert» plan vil verten stole mer på lavere P-tilstander og dypere C-tilstander.
For å oppsummere hele dette C-tilstander og P-tilstander-rotet: ACPI definerer rammen, C-tilstander sparer strøm når det ikke er noe arbeid, P-tilstander justerer høyt/lavt gir under belastning, T-tilstander redder dagen i ekstrem varme, og M-tilstander reduserer wattforbruket til minnet. Nøkkelen er å velge riktig profil for ditt bruk., mål med riktig verktøy og sett om nødvendig fornuftige grenser for hviledybden.
Redaktør spesialisert i teknologi og internettspørsmål med mer enn ti års erfaring i ulike digitale medier. Jeg har jobbet som redaktør og innholdsskaper for e-handel, kommunikasjon, online markedsføring og reklameselskaper. Jeg har også skrevet på nettsteder innen økonomi, finans og andre sektorer. Arbeidet mitt er også min lidenskap. Nå, gjennom artiklene mine i Tecnobits, Jeg prøver å utforske alle nyhetene og nye mulighetene som teknologiverdenen tilbyr oss hver dag for å forbedre livene våre.


