- C-states захоўвае нагрузку ў рэжыме чакання (глыбей = большая затрымка), P-states рэгулюе частату/напружанне пад нагрузкай.
- Абодва артаганальныя: працэсар можа глыбока спаць пасля працы на высокай частаце.
- Затрымкі C6/C7 уплываюць на гульні, аўдыё і сетку; рэгулюйце максімальны стан C у залежнасці ад нагрузкі.
- Выкарыстоўвайце інструменты (Windows і Linux) і профілі BIOS/АС для вымярэння і кіравання без страты стабільнасці.

У сучасных працэсарах кіраванне харчаваннем ажыццяўляецца не адным перамыкачом, а наборам... каардынаваныя механізмы (сярод іншых, C-станы і P-станы працэсара) якія аперацыйная сістэма, прашыўка і сам працэсар выкарыстоўваюць для рэгулявання спажывання энергіі, тэмпературы і прадукцыйнасці ў рэжыме рэальнага часу. У гэтым артыкуле сабраны і ўпарадкаваны гэты клубок абрэвіятур, каб вы маглі зразумець, што адбываецца "пад капотам", калі ваш камп'ютар эканоміць энергію або паскараецца.
Нягледзячы на тое, што кожны вытворца і сямейства працэсараў дадаюць свой уласны штрых, аснова агульная: ACPI вызначае стандартныя «станы» для сістэмы, прылад і працэсара. Тут вы ўбачыце адрозненні паміж C-станамі і P-станамі, як яны суадносяцца са G/S/D-станамі, які рэальны ўплыў яны аказваюць на затрымку, чаму геймеры і прафесійныя аўдыяфілы часта адключаюць глыбокі сон, а таксама якія практычныя інструменты даступныя для выкарыстання ў Windows, Linux і асяроддзях, такіх як ESXi.
ACPI коратка кажучы
АКТІ (Пашыраная канфігурацыя і інтэрфейс харчавання) — гэта стандарт, які кіруе харчаваннем ПК і сервераў, і які замяніў APM большым кантролем і дэталізацыяйЁн нарадзіўся ў 90-х гадах сумеснай працай Intel, Microsoft і Toshiba і развіўся, каб уключыць 64-бітную шматпрацэсарную сістэму, сучасныя шыны (PCIe, SATA, USB 3.x) і выяўленне падзей (напрыклад, кнопку харчавання).
Нягледзячы на тое, што ACPI ў асноўным выкарыстоўваецца ў сямействе x86, ён таксама выкарыстоўваецца на іншых архітэктурах. Аднак на мабільных прыладах ARM... выкарыстоўваюцца запатэнтаваныя стратэгіі (напрыклад, big.LITTLE і гетэрагенныя кластары) збалансаваць эфектыўнасць і рэакцыю ў залежнасці ад нагрузкі.

Глабальныя і прыпыненыя станы (G-станы і S-станы)
Глабальныя станы апісваюць поўны стан сістэмы. Найважнейшым з'яўляецца G0/S0 (працуе), дзе камп'ютар актыўны. На сучасным абсталяванні ёсць S0ix (падстаны S0) якія дазваляюць вельмі тонка рэгуляваць рэжымы сну, прычым частка SoC пераходзіць у спячы рэжым, асабліва ў ноўтбуках.
- Г0/С0: сістэма ў эксплуатацыі.
- G1 (Спячы): ахоплівае S1, S2, S3 (перавод у рэжым спячага рэжыму ў аператыўную памяць) і S4 (перавод у рэжым гібернацыі на дыск). S3 забяспечвае харчаванне аператыўнай памяці для хуткага аднаўлення; S4 скідае памяць у энерганезалежную памяць.
- G2/S5 (Плыўнае выключэнне)Лагічнае выключэнне з мінімальным спажываннем энергіі для магчымасці абуджэння па падзеях (клавіятура, сетка і г.д.).
- G3 (Механічнае адключэнне)Фізічнае адключэнне; ад батарэі працуе толькі RTC.
Майце на ўвазе, што C-станы працэсара знаходзяцца ў межах G0/S0Калі сістэма пераходзіць у стан G1, працэсар выключаецца, і станы C спыняюцца.
Станы прылад (D-станы)
ACPI таксама вызначае, як перыферыйныя прылады пераходзяць у рэжым сну або прачынаюцца. D0 эквівалентны «поўнай працы», D1/D2 — прамежкавыя (залежыць ад прылады), а D3 разгаліноўваецца на «гарачы» (з дапаможным харчаваннем, рэагуе на шыну) або «халодны» (цалкам выключаны, не рэагуе). Гэта дазваляе, напрыклад, сеткавай карце абудзіць камп'ютар, пакуль іншыя прылады застаюцца ў спячым рэжыме.
Т-станы: мадуляцыя гадзінніка, апошні сродак
Акрамя P і C, ёсць яшчэ мадуляцыя гадзінніка (T-станы): від ШІМ, які падаўляе ўнутраныя тактавыя імпульсы па пэўнай схеме (напрыклад, 1 з кожных 8), зніжаючы актыўнасць без змены заяўленай базавай частаты. Ён прызначаны для цеплавой або аварыйнай контрмеры (PROCHOT) і кіруецца праз IA32_CLOCK_MODULATION, з прычынамі/журналамі ў MSR_*_PERF_LIMIT_REASONS.
Нягледзячы на тое, што ў некаторых дакументах гэта лічыцца «няважным», на практыцы Гэта пастаянна з'яўляецца на ноўтбуках з добрай цеплавой канструкцыяй. і пры працяглых нагрузках. Калі вы бачыце, што Windows паведамляе пра «хуткасць» ніжэй за мінімальны EIST, верагодна, актыўны T-State (сінхранізацыя).
M-States: Эканомія памяці
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 В; пасля выхаду стан ядра аднаўляецца. Некаторыя мадэлі на новых платформах маюць да 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-State (EIST/SpeedStep на Intel, PowerNow! на AMD), але сёння гэта звычайная з'ява. Апаратна кіраваныя станы прадукцыйнасці (HWP/Speed Shift)АС паказвае перавагу (прадукцыйнасць/эканомія), а працэсар вызначае яе за мілісекунду з вельмі высокай дакладнасцю для кожнага ядра.
Ключавая дэталь: P-станы і C-станы з'яўляюцца «артаганальнымі»Вы можаце знаходзіцца ў стане P0 (высокая частата) і, перайшоўшы ў неактыўны стан, перайсці ў стан C6. І наадварот, пры ўстойлівай нагрузцы ў стане P2 станы C адсутнічаюць, бо ядро выконвае задачу (C0). Вось чаму добра разумова аддзяляць «частату/напружанне» (P) ад «бяздзейнасці» (C).
Ад APM да ACPI: змена парадыгмы
APM быў папярэднім API, якім кіравалі ў асноўным з BIOS і драйвераў. Ён дазваляў Адключэнне неактыўных перыферыйных прылад і вызначэнне простых глабальных станаўале працэсар знаходзіўся па-за прамым кантролем аперацыйнай сістэмы з меркаванняў бяспекі. ACPI развіўся ў больш багатую, больш стандартызаваную мадэль з апісаннямі табліц, дэталёвым кантролем і цесным узаемадзеяннем паміж прашыўкай, аперацыйнай сістэмай і абсталяваннем.
Як уязджаць і выязджаць з краін С
Калі ў планавальніка няма гатовых патокаў, ён выконвае HLT або MWAIT з падказкай мэтавага C-стану; Перапынкі «парушаюць» сон і вяртаюць ядро ў C0. Прыватныя кэшы ачышчаюцца ў C3; кантэкст захоўваецца ў SRAM у C6, і напружанне зніжаецца да нуля. Некаторыя працэсары рэалізуюць маршрутызацыю перапыненняў з улікам харчавання (PAIR) для маршрутызацыі перапыненняў да ужо актыўныя ядры (для эканоміі) або для бяздзейнасці ядраў (для прадукцыйнасці), па меры неабходнасці.
Абмежаванні турба, TDP і магутнасці
Працэсары вызначаюць TDP, які сістэма астуджэння павінна мець магчымасць рассейваць на пастаяннай аснове (PL1: бяспечная сярэдняя магутнасць). Вышэй, больш магутныя шклапад'ёмнікі могуць уваходзіць (PL2, і дадатковыя ўзроўні, такія як PL3/PL4 у залежнасці ад платформы) на працягу абмежаванага часу. Пры наяўнасці цеплавога і электрычнага запасу ядро можа перавысіць базавую частату праз турба, нават асіметрычная форма (больш турба з меншай колькасцю актыўных ядраў).
Калі тэмпература перавышае парог або гэтага патрабуе VRM/магутнасць, PROCHOT можна актываваць і ўваходзіць у T-стан або адсячэнне частаты для абароны чыпа. Такая паводзіна звычайная для тонкіх ноўтбукаў.
Windows: схемы электрасілкавання, паказанні і лічыльнікі
Прапановы Windows планы, такія як «Энергазберажэнне», «Збалансаваны» і «Высокая прадукцыйнасць». Першы, як правіла, агрэсіўна зніжаць P-станы і спаць моцнаТрэці варыянт падтрымлівае высокія частоты і пазбягае падзення затрымкі за кошт эфектыўнасці. «Збалансаваны» варыянт — спроба знайсці залатую сярэдзіну.
У дыспетчары задач «хуткасць» — гэта сінтэтычны паказчык, які у сярэднім на ядро і ўлічвае каэфіцыент мадуляцыі калі ёсць T-статы. Ён можа перавышаць базавы (Turbo) або апускацца ніжэй за мінімальны EIST (гейтынг). Для пашыранай тэлеметрыі лічыльнік «\Інфармацыя аб працэсары (_Усяго)\% Прадукцыйнасць працэсара» адлюстроўвае працэнт эфектыўнай прадукцыйнасці працэсара.
Ёсць утыліты для дыягностыкі або карэкціроўкі: CPU-Z (асноўныя дадзеныя), HWiNFO (датчыкі), Стоп дросельнай засланкі (тактавыя частоты, C-станы на ядро і кіраванне PROCHOT/мадуляцыяй), або ParkControl (налада паркоўкі ядра/C-станы), якія тычацца схаваных параметраў схемы харчавання (powercfg дазваляе рэдагаваць «IDLE_PROMOTE/DEMOTE» і г.д.).
Linux: cpupower, turbostat і CoreFreq
У Linux такія інструменты, як Магутнасць працэсара паказваць рэгулятары, дыяпазоны частот і затрымкі пераходу; турбастат адлюстроўвае MSR, прычыны абмежавання прадукцыйнасці ядра (MSR_CORE_PERF_LIMIT_REASONS) і рэзідэнцыі па штатах C; і CoreFreq забяспечвае падрабязнае агляд абсалютных частот, C-станаў і турба на кожнае ядро/корпус.
Практычны нюанс: на некаторых кампутарах драйвер intel_idle можа ігнараваць абмежаванні BIOS праз C-станы і выкарыстоўваюць сваю ўласную табліцу. У іншых выпадках прашыўка «блакуе» самы глыбокі C-стан, дазволены для АС, праз MSR.
BIOS/UEFI і профілі: хто насамрэч галоўны?
У наладах BIOS/UEFI яны звычайна адлюстроўваюцца ключавыя перамыкачы: EIST/SpeedStep, TurboBoost і C-State працэсараАкрамя таго, многія серверы дазваляюць выбіраць профілі магутнасці: «Максімальная прадукцыйнасць» (усё ў найлепшым выглядзе, з мінімальнымі затрымкамі) або «Кіраванне АС/карыстальніцкі», дзе гіпервізар або АС кіруе станамі кампутара/кантактнай сістэмы. Выбар «Рэжыму кіравання АС» перадае інтэлект аперацыйнай сістэме.
Калі вы выкарыстоўваеце гіпервізары, такія як ESXi, добрай ідэяй будзе іх спалучыць Рэжым кіравання АС у BIOS з планам «Высокая прадукцыйнасць» гіпервізара, калі мэтай з'яўляецца зніжэнне прадукцыйнасці (напрыклад, з NSX-T, памежнымі вузламі або функцыямі, адчувальнымі да затрымкі). У гэтым выпадку вы будзеце часцей бачыць P-стан 0, а C-станы будуць абмежаваныя C0/C1; пры плане «Збалансаваны» хост будзе больш абапірацца на ніжэйшыя P-станы і больш глыбокія C-станы.
Карацей кажучы, усю гэтую блытаніну з C- і P-станамі можна зрабіць наступныя высновы: ACPI вызначае рамку, C-станы эканомяць энергію, калі няма працы, P-станы рэгулююць высокую/нізкую перадачу пад нагрузкай, T-станы ратуюць сітуацыю ў моцную спякоту, а M-станы скарачаюць спажыванне памяці. Галоўнае — выбраць правільны профіль для вашых патрэб., вымяраць з дапамогай правільных інструментаў і, пры неабходнасці, усталёўваць разумныя абмежаванні на глыбіню спакою.
Рэдактар, які спецыялізуецца на тэхналогіях і пытаннях Інтэрнэту з больш чым дзесяцігадовым вопытам работы ў розных лічбавых медыя. Я працаваў рэдактарам і стваральнікам кантэнту для кампаній па электроннай камерцыі, камунікацыі, інтэрнэт-маркетынгу і рэкламе. Я таксама пісаў на вэб-сайтах па эканоміцы, фінансах і іншых галінах. Мая праца таксама маё захапленне. Цяпер праз мае артыкулы ў Tecnobits, я стараюся даследаваць усе навіны і новыя магчымасці, якія кожны дзень прапануе нам свет тэхналогій, каб палепшыць наша жыццё.

