共用方式為


現代待命模式的硬體準備

進入新式待命時,必須準備好硬體元件,才能轉換到低功率作業。 在軟體元件和應用程式準備好進行低功率作業之後,硬體元件,包括其軟體設備驅動器,必須同樣準備好進行低功率作業。

本文的其餘部分說明如何在硬體平台進入待命之後,準備晶元上系統內外的裝置,以低功率模式運作。

硬體轉換為低功率模式

SoC 和 SoC 內部的所有裝置都必須進入低功率模式,才能在睡眠期間達到長時間的電池使用時間。 硬體平台進入睡眠之後,平台中的裝置會按照有序的過程切換至低功率模式,這個過程從SoC外部裝置開始。

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

每個裝置類別和連線總線都有將裝置轉換為最低電源模式的術語和需求。 不過,在現代待命期間,系統設計師為平臺中的每個裝置規劃低功耗模式是非常重要的。 系統的電池使用時間,以及將SoC本身置於低功率模式的能力,取決於SoC本身外部每個裝置的正確電源管理。

接下來,網路和無線電裝置會置於睡眠的低功率模式中。 在睡眠期間,這些裝置通常會套用電源以維持連線能力,並在必要時喚醒 SoC。 通訊和射頻裝置通常會進入 D2/D3 低功率狀態,雖然進入每個狀態取決於裝置類別和總線類型。

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

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

電源金字塔圖

關閉 SoC 外部的裝置電源

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

  • 減少裝置的耗電量。
  • 允許裝置連線到的SoC主機控制器關閉電源,讓SoC本身關閉電源。

在 SoC 外部關閉每個裝置的方法會因裝置類別和連接的總線而有所不同。

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

SoC 以外的某些裝置會置於低功率閒置模式中,維持暫存器狀態,或者裝置可能只是時鐘閘控。 例如,許多觸控控制器都有時鐘閘控狀態,耗電量小於 1 毫瓦。 使用時鍾網關狀態的典型優點是更快的開機時間,而且不需要將裝置連接到可切換的電源軌來降低成本。

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

網路和無線電設備是 1 米瓦特指導方針的顯著例外。 網路和無線電裝置可能需要更多電源來維護與網路的連線,或接聽無線裝置。 某些系統設計工具會將這些電源狀態轉換稱為 運行時間 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 ExpressBase規格的第6.6.1節。 基本重設的應用可以由補充的 ACPI 機制提供。 如需詳細資訊,請參閱 PCI電源管理指南。 若要指出平臺符合此基本重設需求,韌體必須定義_DSD,且支援 GUID {FDF06FAD-F744-4451-BB64-ECD792215B10}。 如果沒有,將不會針對該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和IUsbC。

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

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

關閉 CPU 和 GPU 電源

就電源管理而言,SoC 晶片上的 CPU 和 GPU 與其他裝置不同。 CPU 和 GPU 會在 SoC 本身降功率時降低功率,而且當沒有針對它們的軟體活動時,也能降低功率。

系統上的大部分軟體活動都會在準備軟體以進行新式待命中詳述的準備階段停止。 Microsoft 市集應用程式會在 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 狀態時,平臺會在睡眠期間耗用最少的電力量(除了網路和無線電裝置所造成的耗電量差異除外)。