- C-состојбите заштедуваат во мирување (подлабоко = поголема латенција), P-состојбите ја прилагодуваат фреквенцијата/напонот под оптоварување.
- И двете се ортогонални: процесорот може длабоко да спие откако ќе работи на висока фреквенција.
- Латенциите на C6/C7 влијаат на игрите, аудио и вмрежувањето; прилагодете ја максималната C-состојба врз основа на оптоварувањето.
- Користете алатки (Windows и Linux) и BIOS/OS профили за мерење и управување без губење на стабилноста.

Кај современите процесори, управувањето со енергијата не е еден прекинувач, туку збир од координирани механизми (C-состојби и P-состојби на CPU, меѓу другите) што оперативниот систем, фирмверот и самиот процесор го користат за прилагодување на потрошувачката на енергија, температурата и перформансите во реално време. Оваа статија ги дестилира и организира тие акроними за да можете да разберете што се случува под хаубата кога вашиот компјутер заштедува енергија или забрзува.
Иако секој производител и семејство на процесори додава свој печат, основата е заедничка: ACPI дефинира стандардни „состојби“ за системот, уредите и процесорот. Тука ќе ги видите разликите помеѓу C-состојбите и P-состојбите, како тие се поврзани со G/S/D-состојбите, какво влијание имаат врз латенцијата во реалниот свет, зошто гејмерите и професионалните аудиофили често го оневозможуваат длабокиот сон и кои практични алатки се достапни за употреба на Windows, Linux и средини како ESXi.
ACPI накратко
ACPI (Advanced Configuration and Power Interface) е стандардот што ја оркестрира моќноста кај персоналните компјутери и серверите, и тоа го замени APM со поголема контрола и грануларностРоден е од рацете на Интел, Мајкрософт и Тошиба во 90-тите и еволуираше за да вклучи 64-битни, мултипроцесорски, модерни магистрали (PCIe, SATA, USB 3.x) и детекција на настани (на пр., копчето за вклучување).
Иако ACPI првенствено се користи во семејството x86, тој е распореден и на други архитектури. Сепак, на мобилните уреди ARM, се користат сопствени стратегии (како што се big.LITTLE и хетерогени кластери) за да се балансира ефикасноста и одговорот во зависност од оптоварувањето.

Глобални и суспендирани држави (Г-држави и С-држави)
Глобалните состојби ја опишуваат целосната состојба на системот. Најважната е G0/S0 (Работно), каде што компјутерот е активен. На понов хардвер има S0ix (подсостојби на S0) кои овозможуваат многу фини режими на спиење со дел од SoC во мирување, особено кај лаптопите.
- G0/S0: систем во функција.
- G1 (Спиење): ги опфаќа S1, S2, S3 (суспендирање на RAM) и S4 (хибернација на диск). S3 ја напојува RAM меморијата за брзо продолжување; S4 ја чисти меморијата во неиспарлива меморија.
- G2/S5 (Меко исклучување)Логичко исклучување со минимална моќност за да се овозможи будење преку настани (тастатура, мрежа итн.).
- G3 (Механичко исклучување): Физичко исклучување; само RTC преживува по батерија.
Ten presente que C-состојбите на процесорот се наоѓаат во рамките на G0/S0Кога системот ќе влезе во G1, процесорскиот пакет се исклучува и C-состојбите престануваат да се репродуцираат.
Состојби на уредот (D-состојби)
ACPI исто така дефинира како периферните уреди спијат или се будат. D0 е еквивалентно на „целосна работа“, D1/D2 се средни (зависно од уредот) и D3 се разгранува во Hot (со помошно напојување, реагира на магистралата) или Cold (целосно исклучено, не реагира). Ова им овозможува, на пример, на мрежната картичка да го разбуди компјутерот додека другите уреди се во мирување.
Т-држави: Модулација на часовникот, последно средство
Покрај P и C, тука е и модулација на часовникот (Т-состојби): вид на PWM што ги потиснува внатрешните пулсирања на часовникот во шема (на пр., 1 од секои 8), намалувајќи ја активноста без да ја менува рекламираната основна фреквенција. Наменет е како термичка или итна контрамерка (PROCHOT) и се контролира преку IA32_CLOCK_MODULATION, со причини/логови во MSR_*_PERF_LIMIT_REASONS.
Иако некои документи го сметаат за „ирелевантно“, во пракса Постојано се појавува на лаптопи со добар термички дизајн и под континуирано оптоварување. Ако видите дека Windows пријавува „брзина“ под минималниот EIST, веројатно е активна T-состојба (тајм гејтинг на часовникот).
M-Состојби: Заштеда на меморија
ACPI исто така обезбедува состојби на меморијата за да се намали потрошувачката на енергија на DRAM подсистемот кога системот е неактивен. M0 е нормално работењеM1/M2 и другите режими ја принудуваат меморијата само да се освежува и да го забави времето, намалувајќи ја потрошувачката на енергија со подолги латенции при будење. Овие се помалку видливи за корисникот, но придонесуваат за целокупната заштеда.
C-состојби на процесорот: Спиење со главата
Да се осврнеме сега на темата на статијата: C-состојби и P-состојби. C-состојбите се состојбите на мирување на јадрото или пакетот. Колку е поголем бројот, толку е подлабок сонот и поголеми заштеди, но исто така и поголема латентност на будење. Тие се бараат со привилегирани инструкции како што се HLT или MWAIT (вторите можат експлицитно да побараат Cx и подстатус), а мапирањето на можностите стигнува до оперативниот систем преку ACPI (_CST).
- C0: нормално извршување. Тука влегуваат во игра P-состојбите.
- C1/C1E (Запирање): јадрото запира, речиси моментално враќање до C0; C1E дополнително ја намалува потрошувачката.
- C2 (Стоперка): Сигналите на часовникот се запрени, враќањето трае малку подолго.
- C3 (Спиење/Длабок сон)L1/L2 се брише до последниот кеш (LLC) и јадрените часовници се исклучуваат; само есенцијалната состојба на јадрото е зачувана.
- C6 и погореЈадрото може да се исклучи, а неговиот контекст да се зачува во наменска SRAM меморија, со што напонот на јадрото се намалува на ~0 V; по излегувањето, состојбата на јадрото се враќа во првобитната состојба. Некои модели изложуваат до C10 на поновите платформи.
Покрај C-состојбите по јадро (CC-состојби), постои и рамнината на C-состојби на пакетот (PC-состојби) кои ги исклучуваат споделените блокови (како LLC) кога сите јадра го дозволуваат тоа. Постојат неважечки комбинации (ако јадрото е во C0, пакетот не може да биде во PC6), а процесорот може автоматски да го „промовира“ или „деградира“ нивото врз основа на целните латенции и резиденции.
Латентноста е важна: C1 е напуштен за само неколку десетици циклуси, додека C6/C7 може да чини стотици микросекунди. Оттука, оптоварувањата чувствителни на доцнење (игри, аудио во реално време, мрежно поврзување со големи барања) страдаат ако процесорот често паѓа во длабок сон.
P-состојби на перформанси: Фреквенција и напон
Додека C-состојбите се „спиење кога нема работа“, P-состојбите се „прилагодување на темпото кога Да, има работа, но не го зема максимумот.„P0 е состојбата со највисоки перформанси (највисока фреквенција/напон), потоа доаѓаат P1, P2… секој со парови фреквенција-напон што се намалуваат. Овие табели се декларираат на оперативниот систем преку ACPI (_PSS) и се контролираат од MSR како IA32_PERF_CTL/IA32_PERF_STATUS.“
Историски гледано, оперативниот систем барал P-состојби (EIST/SpeedStep на Intel, PowerNow! на AMD), но денес е вообичаено да се Хардверски контролирани состојби на перформанси (HWP/Speed Shift)Оперативниот систем означува преференција (перформанси/заштеда), а процесорот ја одредува точната точка во милисекунди, со многу фина грануларност по јадро.
Клучен детаљ: P-состојбите и C-состојбите се „ортогонални“Можете да бидете на P0 (висока фреквенција) и, откако ќе станете неактивни, да влезете во C6. Обратно, под продолжено оптоварување на P2, нема C-состојби бидејќи јадрото се извршува (C0). Затоа е добра идеја ментално да се оддели „фреквенција/напон“ (P) од „мирување“ (C).
Од APM до ACPI: промена на парадигмата
APM беше претходниот API управуван првенствено од BIOS и драјвери. Тој дозволуваше Исклучете ги неактивните периферни уреди и дефинирајте едноставни глобални состојби, но процесорот беше надвор од директната контрола на оперативниот систем од безбедносни причини. ACPI еволуираше во побогат, постандардизиран модел, со описи на табели, грануларна контрола и тесна соработка помеѓу фирмверот, оперативниот систем и хардверот.
Како да влезете и излезете од C-државите
Кога распоредувачот нема подготвени нишки, тој извршува HLT или MWAIT со навестување за целната C-состојба; Прекините го „кршат“ сонот и вратете го јадрото на C0. Приватните кеш-мемории се чистат на C3; контекстот се зачувува во SRAM на C6 и напонот се намалува на нула. Некои процесори имплементираат Power Aware Interrupt Routing (PAIR) за да ги насочат прекините кон веќе активни јадра (за зачувување) или за неактивни јадра (за перформанси), по потреба.
Турбо, TDP и ограничувања на моќноста
Процесорите дефинираат TDP што системот за ладење мора да може да го дисипира на континуирана основа (PL1: безбедна просечна моќност). Погоре, повисоките електрични прозорци можат да влезат (PL2и дополнителни нивоа како што се PL3/PL4 во зависност од платформата) за ограничени периоди. Доколку има термички и електричен простор, јадрото може да ја надмине основната фреквенција преку турбо, дури и асиметрична форма (повеќе турбо со помалку активни јадра).
Кога температурите го надминуваат прагот или VRM/моќта го бара тоа, PROCHOT може да се активира и внесете T-состојба или фреквентно клипирање за да го заштитите чипот. Ова однесување е вообичаено кај тенки лаптопи.
Windows: Планови за напојување, отчитувања и бројачи
Windows нуди планови како „Заштеда на енергија“, „Балансирано“ и „Високи перформанси“. Првиот има тенденција да агресивно ги намалуваат P-состојбите и спијат цврстоТретиот систем одржува високи фреквенции и избегнува пад на латенцијата на сметка на ефикасноста. „Balanced“ се обидува да најде среден избор.
Во Task Manager, „брзината“ е синтетичка метрика која просеци по јадро и ја зема предвид модулациската должност ако има Т-состојби. Може да ја надмине основната вредност (Турбо) или да падне под минималниот EIST (гејтинг). За напредна телеметрија, бројачот „\Processor Information(_Total)\% Processor Performance“ го одразува процентот на ефективни перформанси по процесор.
Постојат алатки за дијагностицирање или прилагодување: CPU-Z (основни податоци), HWiNFO (сензори), Стоп за гас (тактови, C-состојби по јадро и PROCHOT/контрола на модулација), или ПаркКонтрол (јадро за паркирање/C-состојби) што ги допираат скриените параметри на планот за напојување (powercfg дозволува уредување на „IDLE_PROMOTE/DEMOTE“ итн.).
Linux: cpupower, турбостат и CoreFreq
Во Linux, алатки како што се CPU моќност прикажува регулатори, фреквенциски опсези и транзициски латенции; турбостат прикажува MSR, причини за ограничување на перформансите на јадрото (MSR_CORE_PERF_LIMIT_REASONS) и резиденции по C-State; и CoreFreq дава детален преглед на апсолутните фреквенции, C-состојбите и турбо по јадро/пакет.
Практична нијанса: на некои компјутери, возачот intel_idle може да ги игнорира ограничувањата на BIOS-от преку C-состојби и користат сопствена табела. Во други случаи, фирмверот ја „заклучува“ најдлабоката C-состојба дозволена за оперативниот систем преку MSR.
BIOS/UEFI и профили: Кој е навистина главен?
Во поставките на BIOS/UEFI тие обично се појавуваат прекинувачи на копчиња: EIST/SpeedStep, TurboBoost и C-State-ови на процесоротДополнително, многу сервери ви овозможуваат да изберете профили за моќност: „Максимални перформанси“ (сè во најдобро издание, со минимални латенции) или „Контролирано/Прилагодено од оперативниот систем“, каде што хипервизорот или оперативниот систем ги регулираат состојбите на системот. Со избирање на „Режим за контрола на оперативниот систем“ се делегира интелигенцијата на оперативниот систем.
Ако користите хипервизори како ESXi, добра идеја е да комбинирате Режим на контрола на оперативниот систем во BIOS со планот „Високи перформанси“ на хипервизорот кога целта е да се намалат перформансите (на пример, со NSX-T, Edge Nodes или функции чувствителни на латенција). Во тој сценарио, почесто ќе гледате P-состојба 0 и C-состојби ограничени на C0/C1; со „балансиран“ план, домаќинот ќе се потпира повеќе на пониски P-состојби и подлабоки C-состојби.
Да резимираме целата оваа збрка помеѓу C-состојбите и P-состојбите: ACPI го дефинира фрејмворкот, C-состојбите штедат енергија кога нема работа, P-состојбите ја прилагодуваат високата/ниската брзина под оптоварување, T-состојбите го спасуваат денот при екстремна топлина, а M-состојбите трошат вати од меморијата. Клучот е да го изберете вистинскиот профил за вашата употреба., измерете со соодветни алатки и, доколку е потребно, поставете разумни граници на длабочината на одмор.
Уредник специјализиран за технологија и интернет прашања со повеќе од десет години искуство во различни дигитални медиуми. Работев како уредник и креатор на содржини за компании за е-трговија, комуникација, онлајн маркетинг и рекламирање. Имам пишувано и на веб-страниците за економија, финансии и други сектори. Мојата работа е и моја страст. Сега, преку моите написи во Tecnobits, се трудам да ги истражувам сите новости и нови можности кои светот на технологијата ни ги нуди секој ден за подобрување на нашите животи.

