專利名稱:分布式系統中動態調節資源用電的方法和裝置的制作方法
技術領域:
本發明的實施例涉及電源管理。更具體地,實施例涉及源端(source) 控制的動態電源管理。
背景技術:
微處理器通常使用動態電源管理技術來管理用電。針對微處理器 的動態電源管理一般通過活動檢測器電路來完成,該活動檢測器電路位于 微處理器中并耦合到集中式的前端總線(FSB)。活動檢測器電路用于檢測其 中某些單元應該被開啟或關閉的情況并適當調節這些單元的供電級別 (power level)。活動檢測器電路通常提供可接受的性能,因為這樣的電路物理上 與供電受控制的單元分開僅一小段距離。然而,總線體系結構正在放棄FSB 體系結構并開始采用點對點體系結構。 一種類型的點對點體系結構被稱為
"公共系統互連"或"csr。這種體系結構很可能在電源管理中遇到困難。遇到這樣的困難的一個原因是,CSI式的分布式系統支持下列實 現電源管理電路和供電受控制的單元被放置在不同的集成電路上,但其 是通過CSI鏈路連接的。結果,從系統性能方面考慮,傳統的活動檢測器
電路不能有效地掩蓋開啟或關閉這些單元的延遲,因為其不能給這些單元
的電路提供足夠的前置時間(lead time)來通電或斷電。
在附圖中示例性地而不是限制性地說明了本發明,其中,類似的 參考標記指示相似的元件。應該注意,本公開中引用"一"或"一個"實 施例不必是相同的實施例,并且這樣的引用表示至少一個。
圖l是本發明一個實施例的雙處理器系統的方框圖。
圖2是本發明一個實施例的多處理器系統的方框圖。
圖3是根據本發明一個實施例的操作的流程圖。
具體實施例方式圖1是本發明一個實施例的雙處理器系統的方框圖。這樣的雙處 理器(DP)實施例可以出現在各個可能的平臺上。例如,該實施例可以被實 現為臺式或移動式計算機、服務器、機頂盒、個人數字助理(PDA)、數字 尋呼機、移動電話或任何其它類型的無線通信設備。在該實施例中,兩個目的端(destination)(處理器102和處理器104) 通過點對點鏈路124、 128通信地耦合到源端(在這個示例中,輸入/輸出中 心(IOH)100)。"鏈路" 一般被定義為信息攜帶介質,其用于為消息(即以預 定格式放置的信息)建立通信通路。鏈路可以是有線的物理介質(例如,總 線、 一條或多條電線、跡線(trace)、電纜等)或無線的介質(例如,結合無線 信令技術的空氣)。在某些實施例中,點對點鏈路可以是經過CSI結構126的CSI鏈 路。處理器102和處理器104可以基本上相同,并各自包括存儲器控制器 110、 112,所述控制器110、 112各自與存儲器106和108進行通信。因此, 將針對處理器102進行該實施例剩下的討論。然而,該討論同樣適用于該 系統中的其它目的端,例如,處理器104。此外,可預見某些系統可以具 有更多或更少的由源端所使用的目的端。除了存儲器控制器110之外,處理器102包括可被分配給特定源 端(例如,IOH IOO)的某些資源116和118。為了便于討論,假定資源116 和118沒有被共享,而是唯一分配給IOH 100。在某些實施例中,例如, 資源116可以表示被唯一分配給源端的部分層資源。資源116和118可以 是例如存儲器訪問所需的緩沖器,或它們可以是目的端中某種類型的執行 組件。資源116和118可以進一步各自分成多個分段(segment)(或者被稱為 塊(chunk)) 172-1至172-4和174-1至174-4。每個分段被定義為可獨立進 行電源管理,因此,該分段可以被通電或斷電,使得該資源所消耗的電力 可以以更大的粒度(granularity)變化。可以用來管理供電的粒度能夠顯著影響源端控制的動態電源 (SCDPM)方案的效率和節電效果。在許多情況下,如果僅有的選擇是令資源完全開啟或關閉,那么這將負面影響該方案的可能效益。例如,如果只 是很小程度地使用資源并幾乎在大的周期性的活動突發期間持續如此,那 么如果僅有的選擇是完全開啟或關閉,則可能極少或沒有節電。在某些實 施例中,所有分段不是必然具有相同大小或具有相同耗電。對于執行組件資源,分段概念可能更是邏輯上的而不是物理上的。 例如,執行組件可以具有許多離散的供電級別,執行組件可以在這些級別 上工作,而使得例如服務質量、執行速度等發生變化。在這種情況下,分 段表示不同的可能的供電級別。 SCDPM的優勢性前提是,相對于擁有資源的目的端,資源使用的 源端能好地了解可能需要多少資源。在SCDPM中尤其希望使用IOH 100, 這是因為IOH設備相對較高的延遲特性(這使得從發出請求時到數據實際 出現時的時間間隔更大)、大量的并行數據流數據(例如,DMA)以及IOH 中通用高速緩存的缺乏。因此,IOH 100內的活動檢測器150監控IOH的各個其它組件, 以預測可能的將來資源需求。基于該預測,活動檢測器使用其編碼器162 來產生電源管理命令,該命令可以由CSI接口 140通過點對點鏈路124發 送到目的端處理器102。在一個實施例中,編碼器162將PMC編碼為不可 配置的寫命令(8字節長),包括用以指定目的端(例如,處理器102)的目的 端標識符、用以指定資源(例如,資源116)的資源標識符和用以指定該資源 應該被上電(powerup)到或下電(powerdown)到的級別的活動向量。表l示 出了一種可能的編碼
表l
經CSI發送的SCDPM電源命令
RID0-3資源邏輯ID
DID4畫7目的端邏輯ID
活動位向量位向量指示哪些塊被要求是活動的在該實施例中,如所示,目的端ID是4位長,資源ID是4位長, 還有活動向量是56位長。4位長的目的端ID允許最多有16個不同的目的 端。類似地,4位長的資源ID允許識別16個不同的資源。在該實施例中, 活動位向量可以對用于調節任意資源的供電級別的比率進行編碼。利用54位,允許有254個比率。這當然足夠調節任何合理資源。 一般來說,這也 足以使得能夠使用這些位來指定目的端中的解碼器(下文中所討論的)所理
解的子字段。例如,設置活動位向量為全"r可表示使得那種資源完全加
電(FULLPOWER)。全"0"可表示給該資源完全斷電(POWER OFF)。在 一個實施例中,解碼器可以將54位解釋為精確性的54位百分比,這也大 大超過任何合理資源的粒度(事實上,其足以對主存儲器中的單個位進行電 源管理)。應該認為該命令格式基本上為所有感興趣的情況提供了足夠的粒 度。所產生的命令被經過鏈路124發送到處理器102的解碼器114。在 一個實施例中,解碼器102識別命令為不可配置寫,并將該命令傳遞給命 令解碼器120。命令解碼器120解析目的端ID和資源ID字段以識別該電 源管理命令針對哪個資源。命令解碼器120還對活動位向量進行解碼,并 向電源控制器122發信號告知應對何種資源(116、 118)和該資源的哪些分 段進行上電或下電。以這種方式,如果對于一個足夠長的時間周期, 一個資源很可能 未被使用或僅部分被使用,則能實現顯著的節電效果。應該認識到,構成 足夠長的時間周期的要素可以從一種資源到下一種時發生變化。例如,在 供電狀態之間轉換的話會有供電成本。在這樣的情況下,從更低的供電狀 態所獲得的節電效果應該超過轉換的成本。所述轉換還可能具有顯著的延 遲成本,因此,在確定降低的供電狀態需要多少空閑時間時,應針對所述 轉換的成本來再次估量可能的節電效果。前面提到,活動檢測器162監控IOH IOO的組件。例如,活動檢 測器150監控來自快速外圍組件互連(PCI Express)端口 132-0至132-N (統 稱132)的請求或事件。來自PCI Express端口 132的請求或事件向活動檢 測器提供了關于可能的將來使用的指示,該指示是基于請求或事件的類型、 以及與該請求或事件相關聯的目的端標識符。PCI Express端口 132連接到 PCI Express設備130-0至130-N (統稱130)。 PCI Express設備可以包括硬 盤或任何其它PCI設備。這里所用的"設備"涉及耦合到鏈路的任何電氣 組件。直接存儲器訪問(DMA)控制器170耦合到IOH 100,以允許進行DMA 事務處理并支持遺留的橋接器和其它外圍設備。DMA控制器170發送中
8斷給IOH100,活動檢測器可以監控這些中斷,并與PCI請求的情況類似, 獲得關于在耦合到源端的目的端處的所期望的將來資源使用情況(usage)的 信息。 IOH 100中的外發請求緩沖器152是內部邏輯,其用于跟蹤CSI 總線上發出的所有事務處理。通過監控外發請求緩沖器152,活動檢測器 150能夠及早獲得關于將來數據流(其中,例如目的端將要訪問IOH 100以 讀出或寫入大量數據)的信息。寫高速緩存154包含從各個I/O設備寫入并 等待存入目的端主存儲器的數據。在回寫(WB)期間,對請求進行排隊以發 送數據到目的端。通過監控隊列,活動檢測器150能夠估計在每個目的端 處由即將到來的回寫所導致的通信量。回寫隊列的大小和回寫的速率影響 時間窗口,通過該時間窗口,活動檢測器150能通過監控回寫隊列來預測 使用情況。最后,活動檢測器可以監控信用池(creditpool) 156。信用池156主
要指示目的端的當前使用情況。當前使用情況未必能很好地預測將來使用 情況,但當前使用情況可以指示針對所使用的資源的那個目的端中有不合 適的供電。在那種情況下,活動檢測器可以發送緊急上電消息到該目的端。 盡管IOH 100的許多組件已被說明為適合進行監控和提供關于將來使用情 況的提示給活動檢測器,但是其它組件也可以向活動檢測器提供用以預測 將來資源使用情況的有用信息,這也是在本發明實施例的范圍和預期內的。
考慮到可用于活動檢測器的大量信息,活動檢測器應該被設計為 使得使用情況預測在時間上足夠精確以最小化資源爭用。例如,如果IOH IOO準備寫數據流到目的端(例如,處理器102),則活動檢測器150需要及 時檢測請求、作出判定并發送上電命令給目的端,便于目的端在要寫的數 據流到達之前調節資源供電。此外,活動檢測器應該避免向目的端大量發 送電源管理消息,因為這些消息消耗點對點鏈路上的帶寬并可能使得目的 端邏輯上的延遲增加(由于其執行電源調節)。現在參考圖2,示出了根據本發明一個實施例的多處理器(MP)系 統200的示例性方框圖。類似地,MP系統200可以是臺式或移動式計算 機、服務器、機頂盒、個人數字助理(PDA)、數字尋呼機、移動電話或任 何其它類型的有線或無線通信設備。
這里,根據本發明的一個實施例,MP系統200包括多個處理器 210A-210D。一個或多個處理器,例如處理器210A-210D,可以包括存儲 器控制器(MC) 220A-220D。這些存儲器控制器220A-220D支持經過鏈路 240A-240D各自與相關聯的存儲器230A-230D進行直接通信。特別地,如 圖2所示,處理器210A經過鏈路240A耦合到存儲器230A,同時處理器 210B-210D經過鏈路240B-240D各自耦合到相應的存儲器230B-230D。在 一個實施例中,處理器和IOH基本上與上面參考圖l所述的那些相同。
此外,處理器210A經過點對點(例如,CSI)鏈路250、 252和254 耦合到其它處理器210B-210D中的每一個。類似地,處理器210B經過CSI 鏈路250、 256和258耦合到處理器210A、 210C和210D。處理器210C 經過CSI鏈路252、 256和260耦合到處理器210A、 210B和210D。處理 器210D經過CSI鏈路254、258和260耦合到處理器210A、210B和210C。 處理器210A和210B經過點對點鏈路270和272耦合到第一輸入/輸出中 心(IOH) 280,同時處理器210C和210D經過點對點鏈路274和276耦合 到第二IOH285。如果沒有直接的點對點連接,則居間設備(例如,處理器) 配備有傳遞邏輯(pass through logic),以從例如IOH 280傳遞命令到處理器 210C和210D。這使得IOH 280能夠對專用于IOH 280的那些處理器210C 和210D中的資源進行電源管理。圖3是根據本發明一個實施例的操作的流程圖。在方框302處, 活動檢測器監控源端組件。在方框304處,基于302的監控,活動檢測器 評估由各個源端組件表示的活動級別。I/O本質上傾向于非常突發性的 (bursty)。這表示在一個時間周期和下一個之間在資源使用情況上通常具有 很大差異。作為請求和數據到達之間的I/0突發的延遲的結果,IOH非常 適合于以時間高效的方式來預測將來資源使用情況,因而,能減少供電轉 換所導致的延遲。在方框306處,活動檢測器預測目的端中的將來資源使 用情況。在方框308處,判定該預測是否指示使用情況將會發生變化。例 如,對輸出請求隊列的監控可以指示請求從主存儲器讀出大文件。
如果使用情況將不會發生變化,則在方框302處繼續進行監控。 如果發生了所預測的使用情況上的變化,則在方框310處判定預測的是否 是使用情況出現降低。例如,上述大文件請求已經完成并且當前沒有進一步的文件請求。在某些實施例中,這些判定可以是隱式的(implidt)。如果 并未預測使用情況出現降低(或預測增加),則在方框312處,活動檢測器 產生命令,以將目的端資源上電而達到所預測的使用級別。如果在方框310 處預測使用情況出現降低,則在方框314處,活動檢測器產生命令,以將 目的端資源下電而達到所預測的使用級別。在方框316處,把給資源上電 或下電的命令發送到目的端。在方框318處,目的端按照該命令來調節資 源供電。然后在方框302處繼續監控。應該理解,該說明書全文中引用"一個實施例"或"一實施例" 時表示結合該實施例而說明的特定特征、結構、或特性將被包括在本發明 的至少一個實施例中。因此,這里強調并應該理解的是,本說明書各個部 分中對"一實施例"或"一個實施例"或"可替換的實施例"的引用并不
必然都指代相同的實施例。此外,在本發明的一個或多個實施例中,可以 適當組合所述特定特征、結構、或特性。在上述說明書中,已參考本發明的特定實施例說明了本發明。然 而,顯而易見的是,能對本發明進行各種修改和改變,而不偏離在所附權 利要求書中所闡述的本發明的更廣的精神和范圍。因而,說明書和附圖應 被認為是示意性的而不是限制性的。
權利要求
1、一種裝置,包括目的端處的資源,所述資源的某些部分專用于源端;所述源端處的活動檢測器,用于確定所述資源的所期望的使用情況,所述活動檢測器發送電源管理命令到所述目的端,所述電源管理命令使得所述目的端基于所期望的使用情況來調節所述資源的耗電。
2、 如權利要求l所述的裝置,其中,所述目的端包括-解碼器,用于對所述電源管理命令進行解碼;以及 電源控制器,用于響應所述電源管理命令來向所述資源供電。
3、 如權利要求2所述的裝置,其中,所述資源的專用部分邏輯上被組 織成多個獨立進行電源管理的分段。
4、 如權利要求l所述的裝置,其中,所述源端包括-外發請求隊列;回寫高速緩存;以及 信用池。
5、 如權利要求1所述的裝置,進一步包括 點對點鏈路,用于將所述源端耦合到所述目的端。
6、 如權利要求l所述的裝置,其中,所述活動檢測器包括 編碼器,用于對分組進行編碼,使其具有目的端標識符、資源標識符和活動向量。
7、 如權利要求l所述的裝置,其中,所述命令包括-不可配置寫命令。
8、 一種方法,包括評估源端中的活動以確定目的端中的資源的所期望的使用情況; 發送電源管理命令到具有所述資源的所述目的端;以及 基于所述電源管理命令來給所述資源的一部分供電。
9、 如權利要求8所述的方法,進一步包括 監控所述源端的多個組件以識別活動。
10、 如權利要求8所述的方法,其中,評估步驟包括 檢查外發請求隊列、回寫高速緩存、信用池中至少一個的內容。
11、 如權利要求8所述的方法,其中,發送電源管理命令的步驟包括: 對分組進行編碼,以使其具有目的端標識符、資源標識符和位向量,其中所述位向量用于指定部分資源是活動的;以及經過點對點鏈路將所述分組傳送到所述目的端。
12、 如權利要求8所述的方法,進一步包括-對所述電源管理命令進行解碼以識別資源和所述資源的活動級別。
13、 如權利要求8所述的方法,進一歩包括基于所述估計來預測所述資源的將來使用情況。
14、 一種系統,包括服務器平臺,其具有多個處理器,每個處理器具有至少一種資源; 輸入/輸出中心(IOH),其耦合到所述多個處理器的至少一個子集,其 中通過點對點鏈路耦合到每個處理器,所述IOH包括活動檢測器,該活動 檢測器基于所述資源的所預測的將來使用情況來發送電源管理命令到所述 多個處理器中的至少一個。
15、 如權利要求14所述的系統,進一步包括外圍組件互連設備,其耦合到所述IOH。
16、 如權利要求14所述的系統,其中,每個處理器包括 電源控制器,用于通過改變所述資源的供電狀態來響應所述電源管理命令。
17、 如權利要求16所述的系統,其中,所述資源專用于所述IOH, 并且其中,所述資源邏輯上被組織成多個可獨立進行電源管理的分段。
18、 如權利要求14所述的系統,其中,所述活動檢測器用于監控外發 請求隊列、回寫高速緩存和信用池中的至少一個,作為所述資源的所預測 的將來使用情況的至少部分基礎。
全文摘要
一種用于提供源端控制的動態電源管理的系統和方法。源端中的活動檢測器確定所期望的將來資源使用情況。基于所期望的使用情況,該源端產生電源管理命令并發送該命令到目的端。目的端然后基于該命令來調節資源的供電級別。
文檔編號G06F1/32GK101454741SQ200780019645
公開日2009年6月10日 申請日期2007年6月27日 優先權日2006年6月29日
發明者K·西斯特拉, S·R·胡特塞爾, Y·劉 申請人:英特爾公司