深入瞭解 Power 架構

「等等,」讀者說,「我不知道任何實際運作方式!」沒錯!現在,我們將目標的抽象實作項目與具體項目綁定。

Power DAG

在電源架構中,我們的有向非循環圖 (「DAG」) 是電源等級的 DAG。每個電源等級都會說明資源的狀態。資源只能處於單一電量等級。

為方便起見,資源的電源等級會彙整為稱為「電源元素」的排序集合。許多電源元素只有開與關兩種電源等級。電源元素的關閉等級必須沒有任何相依項目。

電源元素可能有開啟和關閉以外的其他等級。在電源架構中,較高階的電源等級取決於較低階的電源等級。

網路堆疊電源元素圖表

如果考量網路堆疊電源元素,我們可以將其設為「MAX」等級。「MAX」等級具備「ON」等級的所有要求 (即網路驅動程式庫已開啟),但「MAX」需要網路堆疊用於高吞吐量加密函式的特殊協同處理器。

那麼,如果網路 driver 也有「MAX」層級,而網路 stack 的「MAX」層級也依此層級而定,該怎麼辦呢?

網路堆疊電源堆疊電源元素取決於網路驅動程式庫電源元素圖表

我們提到,網路堆疊的「MAX」等級取決於網路堆疊的「ON」等級。這表示間接網路堆疊的「MAX」層級取決於網路驅動程式庫程式的「ON」層級,而網路堆疊的「MAX」層級則直接取決於網路驅動程式庫程式的「MAX」層級。這是否表示電源架構會告知網路驅動程式庫同時處於「ON」和「MAX」狀態?否。電源架構會一律選擇符合所有目前需求的電源元素的電源等級

因此,有時會設有兩個以上的功率等級,並將其排序。如果電源元素只能有兩種狀態 (開啟和關閉),這會造成電源資源擁有者必須明確在代表資源狀態的元素之間建立依附元件,而使用電源等級時,高階等級對低階等級的依附元件是隱含的,因此需要設定的項目較少。