Jaký je rozdíl mezi C-stavy a P-stavy CPU?

Poslední aktualizace: 15/10/2025

  • C-State ukládá v klidu (hlubší = větší latence), P-State upravuje frekvenci/napětí v zátěži.
  • Oba jsou ortogonální: CPU může po spuštění na vysoké frekvenci hluboce spát.
  • Latence C6/C7 ovlivňují hraní her, zvuk a síťové připojení; upravte maximální stav C na základě zátěže.
  • Používejte nástroje (Windows a Linux) a profily BIOS/OS k měření a řízení bez ztráty stability.

Stavy napájení CPU: stavy C a stavy P

V moderních procesorech není správa napájení jedním přepínačem, ale sadou koordinované mechanismy (mimo jiné C-stavy a P-stavy CPU) které operační systém, firmware a samotný procesor používají k úpravě spotřeby energie, teploty a výkonu v reálném čase. Tento článek shrnuje a uspořádává tuto spleť zkratek, abyste pochopili, co se děje „pod kapotou“, když váš počítač šetří energii nebo zrychluje.

Ačkoli každý výrobce a řada CPU přidává svůj vlastní šmrnc, základ je společný: ACPI definuje standardní „stavy“ pro systém, zařízení a procesor. Zde uvidíte rozdíly mezi stavy C a P, jak se vztahují ke stavům G/S/D, jaký mají reálný dopad na latenci, proč hráči a profesionální audiofilové často deaktivují hluboký spánek a jaké praktické nástroje jsou k dispozici pro použití ve Windows, Linuxu a prostředích, jako je ESXi.

ACPI ve zkratce

ACPI (Rozšířené konfigurační a napájecí rozhraní) je standard, který řídí napájení počítačů a serverů a který nahradil APM větší kontrolou a granularitouZrodil se v 90. letech z rukou společností Intel, Microsoft a Toshiba a vyvinul se tak, že zahrnuje 64bitové, multiprocesorové, moderní sběrnice (PCIe, SATA, USB 3.x) a detekci událostí (např. tlačítko napájení).

Ačkoli se ACPI používá primárně v rodině x86, bylo nasazeno i na jiných architekturách. Na mobilních zařízeních ARM však... používají se proprietární strategie (jako například big.LITTLE a heterogenní klastry) vyvážit účinnost a odezvu v závislosti na zátěži.

ACPI

Globální a pozastavené stavy (stavy G a stavy S)

Globální stavy popisují celkový stav systému. Nejdůležitější je G0/S0 (pracovní), kde je počítač aktivní. Na novějším hardwaru je S0ix (substáty S0) které umožňují velmi jemné režimy spánku s částí SoC uspávající, zejména v noteboocích.

  • G0/S0: systém v provozu.
  • G1 (Spící): zahrnuje S1, S2, S3 (ukládání do RAM) a S4 (hibernace na disk). S3 udržuje RAM napájenou pro rychlé obnovení; S4 vyprázdní paměť do energeticky nezávislého úložiště.
  • G2/S5 (měkké vypnutí)Logické vypnutí s minimální spotřebou energie pro umožnění probuzení událostmi (klávesnice, síť atd.).
  • G3 (mechanické vypnutí)Fyzické vypnutí; na baterii přežije pouze časovač reálného času.

Mějte na paměti, že C-stavy procesoru se nacházejí v G0/S0.Když systém přejde do stavu G1, procesor se vypne a stavy C se přestanou přehrávat.

Stavy zařízení (D-stavy)

ACPI také definuje, jak se periferní zařízení přepínají do režimu spánku nebo probuzení. D0 odpovídá „plnému provozu“, D1/D2 jsou mezilehlé (závisí na zařízení) a D3 se větví do režimu Hot (s pomocným napájením, reaguje na sběrnici) nebo Cold (zcela vypnuto, nereaguje). To umožňuje například síťové kartě probudit počítač, zatímco ostatní zařízení zůstávají v režimu spánku.

Exkluzivní obsah – klikněte zde  Perovskitová kamera: nový standard v oblasti SPECT a obrazových senzorů

T-stavy: Modulace hodin, poslední možnost

Kromě P a C existuje také hodinová modulace (T-stavy): druh PWM, který potlačuje interní hodinové impulsy ve vzorci (např. 1 z každých 8), čímž snižuje aktivitu bez změny inzerované základní frekvence. Je určen jako tepelné nebo nouzové protiopatření (PROCHOT) a je řízen pomocí IA32_CLOCK_MODULATION s příčinami/protokoly v MSR_*_PERF_LIMIT_REASONS.

Ačkoli některé dokumenty to považují za „irelevantní“, v praxi Stále se to objevuje na noteboocích s přiměřeným tepelným designem. a při trvalém zatížení. Pokud systém Windows hlásí „rychlost“ pod minimální hodnotou EIST, je pravděpodobně aktivní T-State (synchronizace hodin).

M-Státy: Úspora paměti

ACPI také poskytuje stavy paměti pro snížení spotřeby energie subsystému DRAM, když je systém nečinný. M0 je normální provozRežimy M1/M2 a další nutí paměť k automatickému obnovování a zpomalují časování, čímž snižují spotřebu energie s delší latencí probuzení. Tyto doby jsou pro uživatele méně viditelné, ale přispívají k celkovým úsporám.

c-stavy a p-stavy

Stavy C procesoru: Spánek s hlavou v poloze

Pojďme se nyní věnovat tématu článku: C-stavy a P-stavy. C-stavy jsou nečinné stavy jádra nebo balíčku. Čím vyšší číslo, tím hlubší spánek a větší úspory, ale také vyšší latence probuzení. Jsou vyžadovány pomocí privilegovaných instrukcí, jako je HLT nebo MWAIT (druhý jmenovaný může explicitně vyžádat Cx a dílčí stav), a mapování schopností se dostává k operačnímu systému prostřednictvím ACPI (_CST).

  • C0: normální provedení. Zde přicházejí na řadu P-stavy.
  • C1/C1E (Zastavit): jádro se zastaví, téměř okamžitý návrat na C0; C1E dále snižuje spotřebu.
  • C2 (Stop-Clock): Signály hodin jsou zastaveny, návrat trvá o něco déle.
  • C3 (Spánek/Hluboký spánek)L1/L2 se vyprázdní do poslední mezipaměti (LLC) a základní hodiny se vypnou; zachovává se pouze základní stav jádra.
  • C6 a výšeJádro lze vypnout a jeho kontext uložit do vyhrazené paměti SRAM, čímž se napětí jádra sníží na ~0 V; po ukončení se stav jádra obnoví. Některé modely na novějších platformách mají přístup až k C10.

Kromě C-stavů na jádro (CC-stavy) existuje rovina Stavy C balíčku (stavy PC) které vypínají sdílené bloky (jako je LLC), když to všechna jádra povolují. Existují neplatné kombinace (pokud je jádro v C0, paket nemůže být v PC6) a CPU může automaticky „povýšit“ nebo „snížit“ úroveň na základě latence a rezidencí cíle.

Exkluzivní obsah – klikněte zde  Koupili jste si RTX 50? Budete muset zkontrolovat, zda nemá vady a nižší výkon, než je inzerováno.

Latence je důležitá: C1 je opuštěn během několika desítek cyklů, zatímco C6/C7 může trvat stovky mikrosekund. Zátěže citlivé na zpoždění (hraní her, zvuk v reálném čase, náročné síťové připojení) proto trpí, pokud procesor často upadá do hlubokého spánku.

Výkonnostní P-stavy: Frekvence a napětí

Zatímco státy C „spí, když není práce“, státy P „přizpůsobují tempo, když…“ Ano, práce je, ale nevyžaduje maximum.„P0 je stav s nejvyšším výkonem (nejvyšší frekvence/napětí), poté následují P1, P2… každý s klesajícími páry frekvence-napětí. Tyto tabulky jsou deklarovány operačnímu systému prostřednictvím ACPI (_PSS) a řízeny MSR, jako je IA32_PERF_CTL/IA32_PERF_STATUS.“

Historicky operační systém požadoval P-stavy (EIST/SpeedStep na Intelu, PowerNow! na AMD), ale dnes je běžné, že Hardwarově řízené stavy výkonu (HWP/Speed ​​​​Shift)OS indikuje preferenci (výkon/úspory) a CPU v milisekundách rozhodne o přesném bodě, s velmi jemnou granularitou pro každé jádro.

Klíčový detail: P-stavy a C-stavy jsou „ortogonální“Můžete být v P0 (vysoká frekvence) a po přepnutí do neaktivního stavu přejít do stavu C6. Naopak, při trvalém zatížení v P2 nedochází k žádným stavům C, protože jádro pracuje (C0). Proto je dobré mentálně oddělit „frekvenci/napětí“ (P) od „klidu“ (C).

p-stavy procesoru

Od APM k ACPI: změna paradigmatu

APM bylo předchozí API spravované primárně z BIOSu a ovladačů. Umožňovalo Vypněte neaktivní periferie a definujte jednoduché globální stavy, ale CPU bylo z bezpečnostních důvodů mimo přímou kontrolu operačního systému. ACPI se vyvinulo do bohatšího a standardizovanějšího modelu s popisy tabulek, granulární kontrolou a úzkou spoluprací mezi firmwarem, operačním systémem a hardwarem.

Jak vstoupit a vystoupit ze států C

Pokud plánovač nemá připravená žádná vlákna, provede HLT nebo MWAIT s nápovědou k cílovému C-stavu; Přerušení „narušují“ spánek a vrátit jádro do C0. Privátní mezipaměti se vyprázdní v C3; kontext se uloží do SRAM v C6 a napětí se sníží na nulu. Některé procesory implementují směrování přerušení s ohledem na napájení (PAIR) pro směrování přerušení do již aktivní jádra (pro úsporu) nebo pro nečinné jádra (pro výkon), dle potřeby.

Turbo, TDP a limity výkonu

Procesory definují TDP, které musí být chladicí systém schopen trvale rozptylovat (PL1: bezpečný průměrný výkon). Nahoře mohou být elektricky ovládaná okna s vyšším výkonem (PL2a další úrovně, jako například PL3/PL4 v závislosti na platformě) po omezenou dobu. Pokud je k dispozici tepelná a elektrická rezerva, může jádro překročit základní frekvenci prostřednictvím Turbo, a to i asymetrický tvar (více turbo s menším počtem aktivních jader).

Když teploty překročí prahovou hodnotu nebo to vyžaduje VRM/napájení, PROCHOT lze aktivovat a vstupují do T-stavu nebo frekvenčního ořezávání, aby chránily čip. Toto chování je běžné u tenkých notebooků.

Exkluzivní obsah – klikněte zde  Přetaktování základních desek pomocí čipové sady P35 a derivátů

 

Windows: Schémata napájení, odečty a čítače

Nabídky Windows plány jako „Úspory energie“, „Vyvážený“ a „Vysoký výkon“. První z nich má tendenci agresivně snižovat P-stavy a klidně spátTřetí varianta udržuje vysoké frekvence a vyhýbá se poklesům latence na úkor efektivity. „Vyvážená“ varianta se pokouší o kompromis.

Ve Správci úloh je „rychlost“ syntetická metrika, která průměry na jádro a zohledňuje modulační spotřebu Pokud existují T-stavy. Může překročit základní hodnotu (Turbo) nebo klesnout pod minimální hodnotu EIST (hradlování). Pro pokročilou telemetrii čítač „\Informace o procesoru (Celkem)\% Výkon procesoru“ odráží procento efektivního výkonu CPU.

Existují nástroje pro diagnostiku nebo úpravu: CPU-Z (základní údaje), Hwinfo (senzory), Zastavení škrticí klapky (takty, C-stavy na jádro a řízení PROCHOT/modulace), nebo ParkControl (ladění parkování jádra/stavy C), které se dotýkají skrytých parametrů schématu napájení (powercfg umožňuje úpravu „IDLE_PROMOTE/DEMOTE“ atd.).

Linux: cpupower, turbostat a CoreFreq

V Linuxu nástroje jako Výkon procesoru zobrazit regulátory, frekvenční rozsahy a latence přechodů; turbostat zobrazuje MSR, důvody omezení výkonu jádra (MSR_CORE_PERF_LIMIT_REASONS) a rezidence podle státu C; a CoreFreq poskytuje detailní pohled na absolutní frekvence, C-stavy a Turbo na jádro/pouzdro.

Praktická nuance: na některých počítačích ovladač intel_idle může ignorovat omezení BIOSu přes C-stavy a používají vlastní tabulku. V jiných případech firmware „uzamkne“ nejhlubší C-stav povolený pro operační systém prostřednictvím MSR.

BIOS/UEFI a profily: Kdo má ve skutečnosti na starosti?

V nastavení BIOS/UEFI se obvykle zobrazují klíčové přepínače: EIST/SpeedStep, TurboBoost a C-State CPUMnoho serverů navíc umožňuje vybrat si profily napájení: „Maximální výkon“ (vše v nejlepším provedení s minimální latencí) nebo „Řízeno operačním systémem/Vlastní“, kde stavy počítače/procesorů řídí hypervizor nebo operační systém. Výběrem „Režimu řízení operačním systémem“ delegujete inteligenci na operační systém.

Pokud používáte hypervizory jako ESXi, je vhodné je kombinovat Režim řízení OS v systému BIOS s plánem „Vysoký výkon“ hypervizoru, když je cílem snížit výkon (například u NSX-T, okrajových uzlů nebo funkcí citlivých na latenci). V tomto scénáři se častěji setkáte s P-stavem 0 a C-stavy omezenými na C0/C1; s plánem „Balanced“ se hostitel více spoléhá na nižší P-stavy a hlubší C-stavy.

Abychom to shrnuli celý tenhle chaos s C-stavy a P-stavy: ACPI definuje rám, C-stavy šetří energii, když není potřeba nic dělat, P-stavy upravují převodový stupeň při zátěži, T-stavy zachraňují situaci v extrémním horku a M-stavy snižují spotřebu paměti. Klíčem je vybrat si správný profil pro vaše použití., změřte správnými nástroji a v případě potřeby stanovte rozumné limity hloubky klidu.

Moderní pohotovostní režim v klidovém režimu vybíjí baterii
Související článek:
Moderní pohotovostní režim vybíjí baterii během spánku: jak to vypnout