準備新式待命的硬體

進入新式待命時,必須備妥硬體元件,才能轉換到低電源作業。 在軟體元件和應用程式準備好進行低電源作業之後,硬體元件,包括其軟體設備磁碟機,必須同樣準備好進行低電量作業。

本文的其餘部分說明如何在晶片 (SoC) 上的系統外部和內部準備裝置,以便在硬體平臺進入待命之後以低電源模式運作。

硬體轉換為低電源模式

SoC 和 SoC 內部的所有裝置都必須進入低電量模式,才能在睡眠期間達到長時間的電池使用時間。 在硬體平臺進入睡眠狀態之後,平臺中的裝置會以從 SoC 外部裝置開始的排序程式切換到低電源模式。

首先,SoC 或核心晶片以外的所有裝置都必須進入低電源模式。 電源模式可能是時鐘閘道閒置狀態,例如,將 I¹C 連接的觸控控制器放在睡眠模式中。 或者,電源模式可能是稱為 D3cold的電源閘道、0 瓦狀態。 USB 連接的 Web 相機通常會在新式待命期間轉換為 D3cold。 如需詳細資訊,請參閱支援 USB 裝置的 D3cold。

每個裝置類別和連線匯流排都有自己的術語和需求,可用來將裝置轉換為最低電源模式。 不過,系統設計工具在新式待命期間,為平臺中的每個裝置規劃低電源模式作業非常重要。 系統的電池使用時間,以及將 SoC 本身置於低電源模式的能力,取決於 SoC 本身外部每個裝置的正確電源管理。

接下來,網路和無線電裝置會處於睡眠的低電源模式。 在睡眠期間,這些裝置通常仍會套用電源以維持連線能力,並在必要時喚醒 SoC。 通訊和無線電裝置通常會進入 D2/D3 低電源狀態,不過進入每個狀態的專案都是裝置類別特定的和匯流排特定的。

在 SoC 以外的所有裝置,包括通訊裝置都已關閉電源之後,SoC 上的主控制器將會關閉。 幾乎所有 SoC 都有 USB、I¹C、GPIO、SDIO 和 UART 主機控制器。 SoC 上的每一個元件都必須關閉,SoC 才能進入低電源模式。

準備睡眠期間低電源硬體的程式可以視覺化為倒置金字塔圖,如下圖所示。 當整個 SoC 晶片關機時,會達到最低電源,但只有在金字塔圖上方的每組裝置都已關閉電源之後,才會發生此情況。

電源金字塔圖

關閉 SoC 外部的裝置電源

SoC 晶片以外的每個裝置都必須進入低電源模式,才能達到兩個主要目標:

  • 減少裝置的耗電量。
  • 允許 SoC 本身關閉電源,方法是允許裝置連接的 On-SoC 主機控制器關閉電源。

在 SoC 外部關閉每個裝置電源的方法會因裝置類別和連接的匯流排而有所不同。

SoC 外部的某些裝置會置於 0 瓦、無耗電量狀態,稱為 D3cold。 D3cold 的常見裝置包括相機和感應器。 驅動程式必須儲存裝置的暫存器狀態,然後將裝置轉換為 D3 電源狀態。 ACPI 韌體會切換 GPIO 線路或關閉電源管理 IC (PMIC) 來移除電源。

SoC 外部的某些裝置會處於低電源閒置模式,以維護暫存器狀態,或裝置可能只是時鐘閘道。 例如,許多觸控控制器都有時鐘閘道狀態,耗用不到 1 毫秒的電力。 使用時鐘閘道狀態的典型優點是更快速的電源開啟時間,而不需要將裝置連線到可切換的電源軌,以降低成本。

一般而言,SoC 以外的每部裝置都必須能夠進入耗用少於 1 毫秒電源的低電量模式。 無法透過內部時鐘閘道狀態達到此電源等級的裝置應該透過 D3cold 實作電源管制。

網路和無線電裝置是 1-milliwatt 指導方針值得注意的例外狀況。 網路和無線電裝置可能需要更多電源來維護與網路的連線,或接聽無線裝置。 某些系統設計工具會將這些電源狀態轉換稱為 執行時間 D3 (RTD3) 。

PCIe 裝置的導向電源管理

SoC 外部的 PCIe 卡必須啟用稱為Device-S4導向電源管理機制,以確保它們可以進入低電源模式。 若沒有 Device-S4,如果使用者將裝置插入具有桌面新式待命系統上使用者可存取位置的 PCIe 根埠,且裝置的驅動程式不支援執行時間 D3 (RTD3) ,PCIe 裝置可能會防止系統進入 DRIPS。 若要避免這個問題,OEM 必須選擇將 PCIe 裝置的根埠加入 Device-S4。 若要讓特定 PCIe 裝置使用 Device-S4,必須符合下列需求:

  1. 裝置的父 PCIe 根埠必須指定為 DRIPS 的條件約束。
  2. 父 PCIe 根埠必須在根埠的 D0-D3 轉換時,針對根埠下游的所有子系套用基本裝置重設,並在 D3-D0 >> 轉換時將基本裝置重設為這些子系。 如需 PCIe 基本重設的詳細資訊,請參閱 PCI Express Base 規格的第 6.6.1 節。 基本重設的應用程式可以透過補充的 ACPI 機制來提供。 如需詳細資訊,請參閱 PCI 電源管理上的本指南。 若要指出平臺採用此基本重設需求,韌體必須定義支援 GUID {FDF06FAD-F744-4451-BB64-ECD792215B10} 的_DSD。 如果沒有,該 PCIe 根埠下的裝置將不會觸發導向 DRIPS。 如需詳細資訊,請參閱 PCIe 根埠的 ACPI 裝置特定資料 (_DSD)
  3. 電源資源對指定的 PCIe 根埠而言必須是唯一的,亦即不會與任何其他根埠共用。

請注意,需要相容性支援模組 (CSM) 的 PCIe 卡無法在新式待命系統中運作。 由於 UEFI 安全開機需求,新式待命系統上的 BIOS 不支援 CSM。 如需詳細資訊,請參閱 Windows 硬體相容性計畫規格

如需特定裝置類別電源管理的詳細資訊,建議系統設計工具檢閱 新式待命的裝置特定電源管理,以及 Microsoft Collaborate 上的裝置特定檔。

關閉網路裝置電源

關閉網路和無線電裝置電源是準備硬體以在睡眠期間進行低電源作業的另一個重要部分。 網路和無線電裝置與 SoC 以外的其他裝置不同,因為它們必須保持開啟電源,才能接聽有趣的事件並喚醒 SoC。 例如,Wi-Fi無線電必須能夠接聽符合 WoL 模式的封包,並在偵測到相符的封包時喚醒 SoC。

如果 Windows 預期喚醒 SoC,Windows 會在睡眠期間將網路裝置轉換為 D2/D3 狀態。 Windows 網路堆疊會在將裝置置於低電源 D2/D3 狀態之前,先設定 WoL 模式和通訊協定卸載。 所有網路裝置,包括 Wi-Fi、行動寬頻 (MBB) 和有線乙太網路,都必須能夠在睡眠期間進入 D2/D3 狀態。 如果網路裝置不需要喚醒系統,Windows 會將裝置轉換為 D3 狀態。 如果使用者已啟用飛出模式或停用特定網路裝置,則可以將網路裝置置於 D3 狀態。

每個裝置都有不同的實體方法,可從其最低電源模式喚醒 SoC。 SDIO 或 UART 上的網路裝置預期會發出 GPIO 線路來喚醒 SoC 的訊號。 透過 USB 或 HSIC 連線的網路裝置預期會使用頻內 USB 繼續訊號來喚醒 SoC。 PCI 或 PCIe 匯流排上的網路裝置預期會使用頻內 PME 訊號來喚醒 SoC。

此外,如果使用者已開啟此裝置的無線電,例如藍牙或近距離通信 (NFC) 裝置,則預期會轉換為 D2 狀態。 在 D2 狀態中,藍牙無線電會接聽配對滑鼠和鍵盤的輸入事件。 如果偵測到輸入事件,藍牙無線電會切換連線到 SoC 的 GPIO 線路,這會導致 SoC 從其低電量模式喚醒。

每個網路或無線電裝置都有自己的電源關閉實作,以供新式待命使用。 建議系統設計工具閱讀 Microsoft Collaborate 網站上的裝置類別特定檔。

關閉 SoC 主機控制器電源

在 SoC 以外的所有裝置,包括網路和無線電裝置都已關閉電源之後,裝置所連接的主機控制器必須關閉電源。 常見的主機控制器包括 USB、PCI、SDIO、GPIO 和 I¹C。

每個主機控制器的驅動程式只能在連接到主機控制器的每個裝置關閉電源之後,才能關閉硬體。 常見的範例是 USB 主機控制器。 只有在連線到 USB 的所有 USB 裝置都進入選擇性暫停狀態之後,USB 主機控制器才能關閉電源。 如果 USB 主控制器已連接 USB 滑鼠和鍵盤,則主機控制器只能在滑鼠和鍵盤關閉電源之後關閉電源。 如果滑鼠或鍵盤保持開啟電源,USB 主控制器也會保持開啟電源。

SoC 上的所有主機控制器都必須關閉睡眠狀態,SoC 本身才能關閉電源。 這就是為什麼每個裝置執行裝置電源管理非常重要的原因。 SoC 本身只能在每個主機控制器關閉電源時關閉電源。 只有在連線到主機控制器的所有裝置都已關閉電源之後,主機控制器才能關閉電源。

關閉 CPU 和 GPU 電源

就電源管理而言,SoC 晶片上的 CPU 和 GPU 與其他裝置不同。 CPU 和 GPU 會在關閉 SoC 本身電源時關閉電源,而且只要沒有以軟體活動為目標,就能夠關閉電源。

系統上的大部分軟體活動都會透過準備軟體以進行新式待命中詳述的準備階段停止。 Microsoft Store 應用程式將會暫停為 PLM 階段的一部分。 在完成 DAM 階段時,傳統型應用程式將會暫停。 在平臺進入復原階段之後,保留的唯一 CPU 活動是 Windows 本身的閒置作業。 同樣地,因為所有應用程式都已暫停,且螢幕已關閉,所以沒有 GPU 活動。

Windows 會持續管理系統上 CPU 的電源狀態,即使畫面開啟且使用者正在使用電腦也一樣。 相同的 CPU 電源狀態管理會在睡眠期間將 CPU 置於低電源模式中。 當所有 CPU 處於低電源模式,且 SoC 上的所有主機控制器都已關閉電源時,SoC 本身可以關閉電源。

關閉 SoC 電源

當 SoC 上的所有個別主機控制器、CPU 和 GPU 都已關閉電源時,Windows 會判斷是否能夠安全地關閉整個 SoC 本身的電源。 SoC 廠商提供電源引擎外掛程式 (PEP) ,以告知 Windows SoC 上的所有狀態都已儲存,讓 SoC 準備好進入低電源模式。 針對 Intel 型 SoC,會提供 PEP 收件匣。

每個 SoC 廠商都有不同 SoC 全電源狀態的實作。 這些狀態通常是時鐘閘道或電源閘道狀態,這些狀態會在自我重新整理中保留記憶體內容,而且系統可由可程式化計時器和少量耗用非常少電源的 GPIO 針腳喚醒。 Windows 會將最低 SoC 電源狀態稱為最深層執行時間閒置平臺狀態, (DRIPS) 。

DRIPS 狀態一律具有下列特性:

  • DRIPS 是 SoC 的最低耗電量狀態,其中記憶體會保留在自我重新整理模式中。
  • DRIPS 可讓 SoC 從網路、無線電和輸入裝置喚醒事件。
  • 不允許在 DRIPS 狀態期間執行 CPU 程式碼。
  • 當 SoC 處於 DRIPS 狀態時,平臺會在睡眠 (期間耗用最少的電力,但網路和無線電裝置) 所造成的耗電量差異除外。