裝置電源狀態
裝置電源狀態描述計算機中裝置的電源狀態,與計算機中的其他裝置無關。 裝置電源狀態的名稱為 D0、D1、D2 和 D3。 D0 是完全開啟狀態,D1、D2 和 D3 是低功率狀態。 狀態號碼與耗電量相反:較高的數字狀態使用較少的電源。 從 Windows 8 開始,D3 狀態會分成兩個子狀態:D3hot 和 D3cold。
裝置電源狀態的特點是下列屬性:
耗電量:裝置使用多少電源?
裝置內容:裝置在此狀態中保留多少操作內容?
裝置驅動程式行為:裝置的驅動程式必須執行什麼動作,才能將裝置還原到完全運作狀態?
還原時間:將裝置還原至完整運作狀態需要多久時間? 大部分類型的裝置都有與一個裝置類別相差甚遠的還原時間。 只有少數類型的裝置,例如 GPU,具有需要較長時間才能還原的大型硬體內容。
喚醒功能:裝置是否可以從此狀態要求喚醒? 一般而言,如果裝置可以從指定的電源狀態要求喚醒(例如 D2),它也可以要求從任何較高電源狀態 (D1) 喚醒。
電源狀態的確切定義是裝置特定的。 並非所有裝置都會定義所有狀態;許多裝置只會定義 D0 和 D3 狀態。 如需詳細資訊,請參閱裝置類別電源管理參考規格,以瞭解針對特定裝置定義哪些裝置電源狀態,以及每個狀態的作業需求為何。 (參考規格可在 ACPI / Power Management 網站。
裝置的電源狀態不需要符合 系統電源狀態。 例如,即使系統處於系統 工作狀態 (S0),某些裝置仍可處於 off (D3) 狀態。
裝置的電源狀態似乎與裝置父總線的電源狀態無關。 例如,當其父主機控制器處於 D3 狀態時,USB 裝置可能處於 D2(選擇性暫停)狀態。 這兩種狀態似乎不一致,只是因為USB和總線上(通常是PCI或PCI Express)上USB主機控制器所連線的 Dx 狀態定義不同。
某些裝置能夠在單一裝置電源狀態內使用數種不同的低功率模式。 如果裝置的驅動程式可以自動將裝置從某個模式切換到另一個模式,而不需要變更裝置電源狀態,則這類裝置可以使用這些模式。 不過,一般規則是,如果模式之間沒有使用者可察覺的差異,裝置應該只使用最低電源模式。 如果低功率模式,例如低速模式,會對效能造成負面影響,或對設備驅動器以外的軟體而言並不透明,則硬體不應該自動使用它。 如需詳細資訊,請參閱裝置類別電源管理參考規格。
驅動程式或電源管理員可以要求裝置電源狀態轉換,而且所有驅動程式都必須準備好處理要求這類轉換的 IRP。 如需詳細資訊,請參閱下列文章:
傳送裝置電源狀態的IRP_MN_QUERY_POWER或IRP_MN_SET_POWER
如同系統,裝置可以從工作狀態 (D0) 轉換為任何低功率狀態 (D1、D2 或 D3),以及從任何低功率狀態轉換為工作狀態。 下圖是顯示有效裝置電源狀態轉換的狀態圖表。
此圖表顯示 D3 到 D3hot 和 D3cold 的細分。 從 Windows 8 開始定義 D3hot 和 D3cold。 所有裝置都必須支援 D0 狀態和 D3hot 子狀態。 圖表中顯示的其他狀態是選擇性的。
在上圖中,從 D3hot 轉換到 D3cold 是裝置低功率狀態之間的唯一直接轉換。 低功率狀態之間的所有其他轉換都需要中繼轉換至 D0,這可讓設備驅動器視需要設定裝置硬體,以進入下一個低功率狀態或維持在 D0 中。 不過,當裝置電源關閉時,裝置會結束 D3hot 並進入 D3cold,這不需要設備驅動器的介入。 此驅動程式會在裝置進入 D3hot 之前,執行裝置硬體的任何必要設定;不需要額外的設定,即可準備裝置,以便從 D3hot 轉換至 D3cold。 如需詳細資訊,請參閱 在驅動程序中支援 D3cold。
PCI 根埠到連接點 D 狀態對應
在 Windows 10 系統上,整體平臺電源狀態取決於 SoC (晶片上的系統) 整合裝置的電源狀態(D 狀態),包括 PCI 根埠。 根據正在開發的平臺,PCI 根埠的 D 狀態需求可能會因每個平臺電源狀態而有所不同。 建議您參閱 IHV 平臺特定檔,以取得平臺和裝置電源狀態需求。
下表列舉PCI根埠及其附加端點的電源狀態對應。 必須達到下列端點的 D 狀態,才能讓根埠進入目標 D 狀態。
根埠目標 D 狀態 | 端點 D 狀態 |
---|---|
D0 | D0, D0:F1 |
D0:F1 | D3hot |
D3hot | D3cold (請參閱下面的附注) |
注意
PCI D3cold 電源狀態需要BIOS和設備驅動器支援。 如果缺少支援,PCI 端點將只能達到 D3Hot。 如需詳細資訊,請參閱 在驅動程序中支援 D3Cold。