- حالتهای C در حالت بیکاری (idle) صرفهجویی میکنند (عمیقتر = تأخیر بیشتر)، حالتهای P فرکانس/ولتاژ را در زیر بار تنظیم میکنند.
- هر دو متعامد هستند: پردازنده میتواند پس از کار با فرکانس بالا، عمیقاً به خواب برود.
- تأخیرهای C6/C7 بر بازی، صدا و شبکه تأثیر میگذارند؛ حداکثر C-State را بر اساس بار کاری تنظیم کنید.
- از ابزارها (ویندوز و لینوکس) و پروفایلهای BIOS/OS برای اندازهگیری و مدیریت بدون از دست دادن پایداری استفاده کنید.

در پردازندههای مدرن، مدیریت توان یک سوئیچ واحد نیست، بلکه مجموعهای از ... مکانیسمهای هماهنگ (وضعیتهای C و P از CPU، و غیره) که سیستم عامل، میانافزار و خود پردازنده برای تنظیم مصرف برق، دما و عملکرد در لحظه استفاده میکنند. این مقاله این مجموعهی درهمتنیده از کلمات اختصاری را خلاصه و سازماندهی میکند تا بتوانید بفهمید وقتی کامپیوتر شما در مصرف برق صرفهجویی میکند یا سرعت آن افزایش مییابد، چه اتفاقی در پشت پرده میافتد.
اگرچه هر سازنده و خانواده CPU جزئیات خاص خود را اضافه میکند، اما اساس کار مشترک است: ACPI «وضعیتهای» استاندارد را تعریف میکند برای سیستم، دستگاهها و پردازنده. در اینجا تفاوتهای بین C-Stateها و P-Stateها، ارتباط آنها با G/S/D-Stateها، تأثیر واقعی آنها بر تأخیر، دلیل غیرفعال شدن حالت خواب عمیق توسط گیمرها و علاقهمندان حرفهای به صدا و اینکه چه ابزارهای کاربردی برای استفاده در ویندوز، لینوکس و محیطهایی مانند ESXi در دسترس هستند را خواهید دید.
ACPI به طور خلاصه
ACPI (پیکربندی پیشرفته و رابط قدرت) استانداردی است که توان را در رایانههای شخصی و سرورها هماهنگ میکند، و اینکه جایگزین APM با کنترل و جزئیات بیشتر شداین فناوری در دهه ۹۰ میلادی توسط اینتل، مایکروسافت و توشیبا ابداع شد و تکامل یافت تا شامل پردازندههای ۶۴ بیتی، چندپردازشی، گذرگاههای مدرن (PCIe، SATA، USB 3.x) و تشخیص رویداد (مثلاً دکمه پاور) شود.
اگرچه ACPI در درجه اول در خانواده x86 استفاده میشود، اما در معماریهای دیگر نیز پیادهسازی شده است. با این حال، در دستگاههای تلفن همراه ARM، از استراتژیهای اختصاصی استفاده میشود (مانند big.LITTLE و خوشههای ناهمگن) برای ایجاد تعادل بین کارایی و پاسخدهی بسته به بار.

حالتهای جهانی و حالتهای تعلیق (حالتهای G و حالتهای S)
حالتهای کلی، حالت کامل سیستم را توصیف میکنند. مهمترین مورد این است که G0/S0 (در حال کار)، جایی که کامپیوتر فعال است. در سختافزارهای جدید، این مورد وجود دارد S0ix (زیرحالتهای S0) که امکان حالتهای خواب بسیار دقیق با بخشی از SoC در حالت خواب را فراهم میکنند، مخصوصاً در لپتاپها.
- G0/S0: سیستم در حال کار.
- G1 (خواب): شامل S1، S2، S3 (معلق شدن به RAM) و S4 (خواب زمستانی روی دیسک) میشود. S3 رم را روشن نگه میدارد برای از سرگیری سریع؛ S4 حافظه را به حافظه غیرفرار منتقل میکند.
- G2/S5 (خاموش کردن نرم)خاموش شدن منطقی با حداقل توان برای فعال شدن بر اساس رویدادها (صفحه کلید، شبکه و غیره).
- G3 (خاموش کردن مکانیکی)خاموشی فیزیکی؛ فقط RTC با هر باتری کار میکند.
به خاطر داشته باشید که حالتهای C پردازنده در محدوده G0/S0 قرار دارند.وقتی سیستم وارد G1 میشود، بسته CPU خاموش میشود و حالتهای C از اجرا باز میمانند.
حالتهای دستگاه (حالتهای D)
ACPI همچنین نحوهی خواب یا بیدار شدن لوازم جانبی را تعریف میکند. D0 معادل «عملکرد کامل» است، D1/D2 حد واسط هستند. (وابسته به دستگاه) و D3 به دو دسته داغ (با توان کمکی، در حال پاسخ به گذرگاه) یا سرد (کاملاً خاموش، بدون پاسخ) تقسیم میشود. این به عنوان مثال به یک کارت شبکه اجازه میدهد تا کامپیوتر را در حالی که سایر دستگاهها در حالت خواب هستند، بیدار کند.
حالتهای T: مدولاسیون کلاک، آخرین راه حل
علاوه بر P و C، موارد زیر نیز وجود دارد: مدولاسیون کلاک (حالتهای T): نوعی PWM که پالسهای ساعت داخلی را طبق یک الگو (مثلاً ۱ از هر ۸) سرکوب میکند و فعالیت را بدون تغییر فرکانس پایه اعلام شده کاهش میدهد. این به عنوان یک اقدام متقابل حرارتی یا اضطراری (PROCHOT) در نظر گرفته شده است و از طریق IA32_CLOCK_MODULATION کنترل میشود، و علل/گزارشها در MSR_*_PERF_LIMIT_REASONS ثبت میشوند.
اگرچه برخی اسناد آن را «نامربوط» میدانند، اما در عمل این مشکل مدام در لپتاپهایی با طراحی حرارتی مناسب ظاهر میشود. و تحت بارهای پایدار. اگر ویندوز «سرعت» پایینتر از حداقل EIST را گزارش میدهد، احتمالاً T-State فعال است (گیتینگ کلاک).
حالتهای M: صرفهجویی در حافظه
ACPI همچنین حالتهای حافظه را برای کاهش مصرف برق زیرسیستم DRAM در زمانی که سیستم بیکار است، فراهم میکند. M0 عملکرد عادی استحالتهای M1/M2 و سایر حالتها، حافظه را مجبور به خود-رفرش (self-refresh) و کاهش زمانبندی میکنند که منجر به کاهش مصرف انرژی با تأخیرهای بیدارباش طولانیتر میشود. این موارد برای کاربر کمتر قابل مشاهده هستند، اما در صرفهجویی کلی نقش دارند.
حالتهای C پردازنده: خواب با هد
حالا بیایید به موضوع مقاله بپردازیم: حالتهای C و حالتهای P. حالتهای C، حالتهای غیرفعال هسته یا بسته هستند. هر چه عدد بالاتر باشد، خواب عمیقتر است و صرفهجویی بیشتر، اما همچنین تأخیر بیدار شدن بالاتر. آنها با دستورالعملهای ممتازی مانند HLT یا MWAIT درخواست میشوند (دومی میتواند صریحاً یک Cx و substatus را درخواست کند) و نگاشت قابلیت از طریق ACPI (_CST) به سیستم عامل میرسد.
- C0: اجرای عادی. اینجاست که P-Stateها وارد عمل میشوند.
- C1/C1E (توقف): هسته متوقف میشود، بازگشت تقریباً فوری به C0؛ C1E مصرف را بیشتر کاهش میدهد.
- C2 (ساعت توقف)سیگنالهای ساعت متوقف شدهاند، بازگشت کمی بیشتر طول میکشد.
- C3 (خواب/خواب عمیق): L1/L2 به آخرین حافظه پنهان (LLC) منتقل میشود و کلاکهای هسته خاموش میشوند؛ فقط حالت اساسی هسته حفظ میشود.
- C6 و بالاترهسته را میتوان خاموش کرد و اطلاعات مربوط به آن را در SRAM اختصاصی ذخیره کرد که این امر ولتاژ هسته را به حدود ۰ ولت کاهش میدهد؛ پس از خروج، وضعیت هسته بازیابی میشود. برخی از مدلها در پلتفرمهای جدید تا C10 را در معرض خطر قرار میدهند.
علاوه بر حالتهای C به ازای هر هسته (حالتهای CC)، صفحهی ... نیز وجود دارد. حالتهای C بسته (حالتهای PC) که بلوکهای مشترک (مانند LLC) را وقتی همه هستهها اجازه میدهند، خاموش میکنند. ترکیبهای نامعتبری وجود دارد (اگر یک هسته در C0 باشد، بسته نمیتواند در PC6 باشد) و CPU میتواند به طور خودکار بر اساس تأخیرها و محلهای اقامت هدف، لایه را "ارتقا" یا "تنزل" دهد.
اهمیت تأخیر: C1 تنها در چند ده چرخه رها میشوددر حالی که C6/C7 میتواند صدها میکروثانیه زمان ببرد. از این رو، اگر پردازنده مرتباً به خواب عمیق فرو رود، بارهای حساس به تأخیر (بازی، صدای بلادرنگ، شبکهسازی سنگین) دچار مشکل میشوند.
حالتهای P عملکرد: فرکانس و ولتاژ
در حالی که حالتهای C «خواب هستند وقتی که کاری وجود ندارد»، حالتهای P «سرعت را تنظیم میکنند وقتی که بله، کار هست، اما حداکثر تلاش لازم نیست«. P0 بالاترین حالت عملکرد (بالاترین فرکانس/ولتاژ) است، سپس P1، P2... هر کدام با جفتهای فرکانس-ولتاژ نزولی میآیند. این جداول از طریق ACPI (_PSS) به سیستم عامل اعلام میشوند و توسط MSRهایی مانند IA32_PERF_CTL/IA32_PERF_STATUS کنترل میشوند.
از نظر تاریخی، سیستم عامل درخواست P-State میکرد (EIST/SpeedStep در اینتل، PowerNow! در AMD)، اما امروزه رایج است که حالتهای عملکرد کنترلشده توسط سختافزار (HWP/Speed Shift)سیستمعامل یک اولویت (عملکرد/صرفهجویی) را نشان میدهد و پردازنده در عرض چند میلیثانیه نقطه دقیق را با جزئیات بسیار دقیق برای هر هسته تعیین میکند.
یک نکته کلیدی: حالتهای P و C «متعامد» هستندشما میتوانید در P0 (فرکانس بالا) باشید و پس از غیرفعال شدن، وارد C6 شوید. برعکس، تحت بار پایدار در P2، هیچ حالت C وجود ندارد زیرا هسته در حال اجرا است (C0). به همین دلیل است که ایده خوبی است که به طور ذهنی "فرکانس/ولتاژ" (P) را از "بیکار" (C) جدا کنید.
از APM به ACPI: یک تغییر الگو
APM رابط برنامهنویسی کاربردی (APM) قبلی بود که عمدتاً از طریق بایوس و درایورها مدیریت میشد. لوازم جانبی غیرفعال را خاموش کنید و حالتهای سراسری سادهای تعریف کنیداما به دلایل امنیتی، CPU خارج از کنترل مستقیم سیستم عامل بود. ACPI به یک مدل غنیتر و استانداردتر، با توضیحات جدول، کنترل جزئی و همکاری نزدیک بین میانافزار، سیستم عامل و سختافزار، تکامل یافت.
نحوه ورود و خروج از کشورهای C
وقتی زمانبند هیچ نخ آمادهای نداشته باشد، HLT یا MWAIT را با اشارهای به حالت C هدف اجرا میکند؛ وقفهها خواب را مختل میکنند و هسته را به C0 برمیگرداند. حافظههای نهان خصوصی در C3 خالی میشوند؛ محتوا در SRAM در C6 ذخیره میشود و ولتاژ به صفر کاهش مییابد. برخی از CPUها مسیریابی وقفه آگاه از توان (PAIR) را برای مسیریابی وقفهها به هستههای فعال (برای صرفهجویی) یا هستههای غیرفعال (برای عملکرد)، حسب مورد.
محدودیتهای توربو، TDP و توان
پردازندهها یک TDP تعریف میکنند که سیستم خنککننده باید بتواند آن را به طور پایدار دفع کند (PL1: توان متوسط ایمن). در بالا، شیشههای برقی بالاتر میتوانند وارد شوند (PL2و سطوح اضافی مانند PL3/PL4 بسته به پلتفرم) برای دورههای محدود. اگر فضای حرارتی و الکتریکی کافی وجود داشته باشد، هسته میتواند از طریق توربو از فرکانس پایه فراتر رود، حتی شکل نامتقارن (توربو بیشتر با هستههای فعال کمتر).
وقتی دما از آستانه فراتر رود یا VRM/پاور آن را ایجاب کند، PROCHOT قابل فعالسازی است و برای محافظت از تراشه، T-State یا برش فرکانس را وارد کنید. این رفتار در لپتاپهای نازک رایج است.
ویندوز: طرحهای مصرف برق، خوانشها و شمارندهها
پیشنهادات ویندوز طرحهایی مانند «صرفهجویی در مصرف انرژی»، «متعادل» و «عملکرد بالا». مورد اول معمولاً حالتهای P را به شدت پایین بیاورید و خواب عمیقی داشته باشیدسومی فرکانسهای بالا را حفظ میکند و از افت تأخیر به قیمت کاهش کارایی جلوگیری میکند. «متعادل» سعی در ایجاد یک راه میانه دارد.
در Task Manager، «سرعت» یک معیار مصنوعی است که میانگین در هر هسته و در نظر گرفتن وظیفه مدولاسیون اگر حالتهای T وجود داشته باشد. ممکن است از مقدار پایه (توربو) تجاوز کند یا از حداقل EIST (دروازهبندی) پایینتر بیاید. برای تلهمتری پیشرفته، شمارندهی «\اطلاعات پردازنده(_کل)\% عملکرد پردازنده» درصد عملکرد مؤثر توسط CPU را نشان میدهد.
ابزارهایی برای تشخیص یا تنظیم وجود دارد: پردازنده مرکزی Z (دادههای اولیه)، HWiNFO (حسگرها)، دریچه گاز را متوقف کنید (کلاکها، حالتهای C به ازای هر هسته و کنترل PROCHOT/مدولاسیون)، یا پارک کنترل (تنظیم پارکینگ اصلی/حالتهای C) که پارامترهای پنهان طرح قدرت را لمس میکنند (powercfg امکان ویرایش «IDLE_PROMOTE/DEMOTE» و غیره را فراهم میکند).
لینوکس: cpupower، turbostat و CoreFreq
در لینوکس، ابزارهایی مانند cpupower گاورنر، محدودههای فرکانسی و تأخیرهای انتقال را نشان دهید؛ توربواستات MSRها، دلایل محدودیت عملکرد هسته (MSR_CORE_PERF_LIMIT_REASONS) و محلهای اقامت را بر اساس C-State نمایش میدهد؛ و فرکانس هسته نمای دقیقی از فرکانسهای مطلق، حالتهای C و توربو در هر هسته/بسته ارائه میدهد.
یک نکته کاربردی: در بعضی از کامپیوترها، درایور intel_idle میتواند محدودیتهای BIOS را نادیده بگیرد روی C-Stateها و از جدول خودشان استفاده میکنند. در برخی دیگر، میانافزار عمیقترین C-State مجاز برای سیستمعامل را از طریق MSR «قفل» میکند.
BIOS/UEFI و پروفایلها: چه کسی واقعاً مسئول است؟
در تنظیمات BIOS/UEFI معمولاً ظاهر میشوند. کلیدهای میانبر: EIST/SpeedStep، TurboBoost و CPU C-Statesعلاوه بر این، بسیاری از سرورها به شما امکان میدهند پروفایلهای قدرت را انتخاب کنید: «حداکثر عملکرد» (همه چیز در بهترین حالت خود، با حداقل تأخیر) یا «سیستم عامل کنترلشده/سفارشی»، که در آن هایپروایزر یا سیستم عامل، وضعیتهای P/C را مدیریت میکند. انتخاب «حالت کنترل سیستم عامل» اطلاعات را به سیستم عامل واگذار میکند.
اگر از هایپروایزرهایی مانند ESXi استفاده میکنید، ترکیب آنها ایده خوبی است. حالت کنترل سیستم عامل در بایوس با طرح «عملکرد بالا» از هایپروایزر زمانی که هدف، کاهش عملکرد است (برای مثال با NSX-T، Edge Nodes یا توابع حساس به تأخیر). در این سناریو، P-State 0 را بیشتر و C-State ها را محدود به C0/C1 خواهید دید؛ با یک طرح «متعادل»، میزبان بیشتر به P-State های پایینتر و C-State های عمیقتر تکیه خواهد کرد.
برای خلاصه کردن این آشفتگی C-State و P-State: ACPI چارچوب را تعریف میکند، C-Stateها در مواقع بیکاری برق را ذخیره میکنند، P-Stateها دندههای بالا/پایین را در شرایط پرکاری تنظیم میکنند، T-Stateها در گرمای شدید صرفهجویی میکنند و M-Stateها از حافظه وات کم میکنند. نکته اصلی این است که پروفایل مناسب را برای استفاده خود انتخاب کنید.با ابزارهای صحیح اندازهگیری کنید و در صورت لزوم، محدودیتهای معقولی برای عمق سکون تعیین کنید.
ویراستار متخصص در مسائل فناوری و اینترنت با بیش از ده سال تجربه در رسانه های مختلف دیجیتال. من به عنوان ویراستار و تولید کننده محتوا برای شرکت های تجارت الکترونیک، ارتباطات، بازاریابی آنلاین و تبلیغات کار کرده ام. من همچنین در وب سایت های اقتصاد، دارایی و سایر بخش ها نوشته ام. کار من نیز علاقه من است. اکنون، از طریق مقالات من در Tecnobits، سعی می کنم تمام اخبار و فرصت های جدیدی را که دنیای فناوری هر روز برای بهبود زندگی مان به ما ارائه می دهد، کشف کنم.

