- C-States 在空閒時保存(更深 = 更長延遲),P-States 在負載下調整頻率/電壓。
- 兩者是正交的:CPU 可以在高頻運行後深度睡眠。
- C6/C7 延遲會影響遊戲、音訊和網路;根據負載調整最大 C 狀態。
- 使用工具(Windows 和 Linux)和 BIOS/OS 設定檔進行測量和管理,而不會失去穩定性。

在現代處理器中,電源管理不是單獨的開關,而是一組 協調機制(CPU 的 C 狀態和 P 狀態等) 作業系統、韌體和 CPU 本身會利用這些參數即時調整功耗、溫度和效能。本文將對這些複雜的縮寫進行提煉和整理,以便您了解電腦在省電或加速時背後的運作機制。
儘管每個製造商和 CPU 系列都添加了自己的特色,但基礎是共同的: ACPI 定義標準“狀態” 適用於系統、設備和處理器。在這裡,您將了解 C 狀態和 P 狀態之間的差異、它們與 G/S/D 狀態的關係、它們對延遲的實際影響、遊戲玩家和專業音響發燒友經常禁用深度睡眠的原因,以及在 Windows、Linux 和 ESXi 等環境中有哪些實用工具可用。
ACPI 簡介
ACPI (Advanced Configuration and Power Interface) 是協調 PC 和伺服器電源的標準, 以更好的控制和粒度取代 APM。它誕生於 90 年代,由英特爾、微軟和東芝共同開發,並發展到包括 64 位元、多處理、現代匯流排(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 保持 RAM 供電 快速恢復;S4 將記憶體刷新到非揮發性記憶體。
- G2/S5(軟關機):以最小功率進行邏輯關機,以允許透過事件(鍵盤、網路等)喚醒。
- G3(機械關閉):實體關機;每個電池僅能維持 RTC 運作。
請記住這一點 處理器的 C 狀態位於 G0/S0 內:當系統進入 G1 時,CPU 套件關閉且 C 狀態停止播放。
設備狀態(D 狀態)
ACPI 也定義了周邊設備如何睡眠或喚醒。 D0 相當於“全功能”,D1/D2 為中間 (取決於設備)且 D3 分支為熱(使用輔助電源,響應總線)或冷(完全關閉,無響應)。例如,這允許網路卡在其他裝置處於休眠狀態時喚醒電腦。
T-States:時鐘調製,最後的手段
除了 P 和 C 之外,還有 時鐘調變(T 狀態):一種 PWM,它會以某種模式(例如,每 8 個脈衝中抑制 1 個)抑制內部時脈脈衝,從而減少活動,而不會改變標稱的基準頻率。它旨在作為一種熱效應或緊急應對措施 (PROCHOT),並透過 IA32_CLOCK_MODULATION 進行控制,原因/日誌位於 MSR_*_PERF_LIMIT_REASONS 中。
儘管有些文件認為這“無關緊要”,但在實踐中 它不斷出現在具有良好散熱設計的筆記型電腦上 以及持續負載下。如果您看到 Windows 報告的「速度」低於最低 EIST,則很可能存在 T 狀態啟動(時脈門控)。
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 V;退出時,核心狀態將恢復。某些型號在最新平台上最高可達 C10。
除了每個原子核的 C 態(CC 態)之外,還有 包 C 狀態(PC 狀態) 當所有核心都允許時,關閉共享區塊(例如 LLC)。存在無效的組合(如果核心位於 C0,則封包不能位於 PC6),且 CPU 可以根據目標延遲和駐留時間自動「提升」或「降低」層級。
延遲很重要: C1 僅用數十個週期就被廢棄而 C6/C7 則可能耗時數百微秒。因此,如果處理器經常進入深度睡眠,延遲敏感型負載(遊戲、即時音訊、高要求網路)就會受到影響。
性能 P 狀態:頻率和電壓
C 型州是“沒有工作時睡覺”,而 P 型州是“調整節奏時 是的,有工作,但不需要付出最大努力。」。P0 代表最高效能狀態(最高頻率/電壓),然後是 P1、P2…每個狀態的頻率/電壓對依次遞減。這些表透過 ACPI (_PSS) 聲明到作業系統,並由 IA32_PERF_CTL/IA32_PERF_STATUS 等 MSR 控制。
歷史上,作業系統要求 P-States(英特爾的 EIST/SpeedStep,AMD 的 PowerNow!),但今天常見的是 硬體控制的效能狀態(HWP/Speed Shift):作業系統指示偏好(效能/節省),CPU 以毫秒為單位決定精確點,並且每個核心的粒度非常精細。
一個關鍵細節: P 狀態和 C 狀態是“正交的”您可以處於 P0(高頻)狀態,然後在進入非活動狀態後進入 C6 狀態。相反,在 P2 持續負載下,由於核心正在執行(C0),因此不存在 C 狀態。這就是為什麼最好在心理上將“頻率/電壓”(P)與“空閒”(C)區分開來。
從 APM 到 ACPI:典範轉移
APM 是以前主要由 BIOS 和驅動程式管理的 API。它允許 關閉不活動的周邊設備並定義簡單的全域狀態但出於安全原因,CPU 不受作業系統的直接控制。 ACPI 發展成為一個更豐富、更標準化的模型,具有表格描述、精細控制以及韌體、作業系統和硬體之間的緊密協作。
如何進入和退出 C 狀態
當調度程式沒有準備好的執行緒時,它會執行 HLT 或 MWAIT 並提示目標 C 狀態; 幹擾會「破壞」睡眠 並將核心返回到 C0。私有快取在 C3 處刷新;上下文在 C6 處儲存到 SRAM,電壓降至零。一些 CPU 實現了電源感知中斷路由 (PAIR),將中斷路由到 已經活躍的核心(保存)或閒置的核心 (為了表現),視情況而定。
Turbo、TDP 和功率限制
處理器定義了冷卻系統必須能夠持續散熱的 TDP(PL1:安全平均功率)。 以上,更高等級的電動車窗可以進入(PL2以及根據平台而定的 PL3/PL4 等額外等級)在有限時間內保持穩定。如果存在散熱和電氣餘裕,核心可以透過 Turbo 超過基頻,即使 不對稱形狀(渦輪增壓更多,活動核心更少).
當溫度超過閾值或 VRM/電源需要時, PROCHOT 可以激活 並進入T狀態或頻率削波來保護晶片。這種行為在輕薄筆記型電腦中很常見。
Windows:電源計畫、讀數和計數器
Windows 提供 「節能」等計劃、「平衡」和「高性能」。前者傾向於 積極降低 P 狀態並安然入睡第三種方案保持高頻率,並避免延遲下降,但以犧牲效率為代價。 「平衡」方案則嘗試一種中間立場。
在任務管理器中,「速度」是一個綜合指標, 每核平均值並考慮調製佔空比 如果存在 T 狀態。它可能超過基準值(Turbo)或低於最低 EIST(門控)。對於進階遙測,「\處理器資訊(_Total)\% 處理器效能」計數器反映的是 CPU 有效性能的百分比。
有一些實用程式可以診斷或調整: CPU-Z (基礎數據), HWiNFO (感應器), 油門停止 (時鐘、每個核心的 C 狀態和 PROCHOT/調變控制),或 公園控制中心 (核心停車調整/C 狀態)觸及隱藏的電源計劃參數(powercfg 允許編輯“IDLE_PROMOTE/DEMOTE”等)。
Linux:cpupower、turbostat 和 CoreFreq
在 Linux 中,類似這樣的工具 中央處理器功率 顯示調節器、頻率範圍和轉換延遲; 渦輪增壓器 顯示 MSR、核心效能限制原因(MSR_CORE_PERF_LIMIT_REASONS)以及 C-State 的居住地; 核心頻率 提供每個核心/封裝的絕對頻率、C 狀態和 Turbo 的詳細視圖。
一個實際的細微差別:在某些計算機上,驅動程式 intel_idle 可以忽略 BIOS 限制 覆蓋 C 狀態並使用自己的表。在其他情況下,韌體透過 MSR「鎖定」作業系統允許的最深 C 狀態。
BIOS/UEFI 和設定檔:誰真正負責?
它們通常出現在 BIOS/UEFI 設定中 按鍵開關:EIST/SpeedStep、TurboBoost 和 CPU C-States此外,許多伺服器允許您選擇電源設定檔:「最高效能」(所有功能均處於最佳狀態,延遲最小)或「作業系統控制/自訂」(由虛擬機器管理程式或作業系統控制 P/C 狀態)。選擇「作業系統控制模式」可將智慧委託給作業系統。
如果您使用 ESXi 之類的虛擬機器管理程序,最好結合 BIOS 中的作業系統控制模式與「高效能」計劃 當目標是壓縮效能時(例如使用 NSX-T、邊緣節點或延遲敏感功能),虛擬機器管理程式會更依賴 P 狀態 0。在這種情況下,您會更頻繁地看到 P 狀態 0,而 C 狀態限制為 C0/C1;而使用「平衡」計劃,主機將更依賴較低的 P 狀態和更深的 C 狀態。
總結整個 C 狀態和 P 狀態的混亂情況:ACPI 定義框架,C 狀態在沒有工作時節省電力,P 狀態在負載下調整高/低檔,T 狀態在極端高溫下挽救局面,M 狀態減少內存的瓦數。 關鍵是選擇適合您用途的正確設定檔。,使用正確的工具進行測量,並在必要時對休止深度設定合理的限制。
專門研究技術和互聯網問題的編輯,在不同數位媒體領域擁有十多年的經驗。我曾在電子商務、通訊、線上行銷和廣告公司擔任編輯和內容創作者。我還在經濟、金融和其他領域的網站上撰寫過文章。我的工作也是我的熱情所在。現在,透過我的文章 Tecnobits,我嘗試探索科技世界每天為我們提供的所有新聞和新機會,以改善我們的生活。

