本申請案請求2014年4月22日申請且標題為“LATENCY-BASED POWER MODE UNITS FOR CONTROLLING POWER MODES OF PROCESSOR CORES,AND RELATED METHODS AND SYSTEMS”的美國專利申請案第14/258,541號的優先權,所述美國專利申請案全文以引用的方式并入本文中。
技術領域
本發明的技術大體上涉及處理器核心,且特別涉及控制處理器核心的電力模式。
背景技術:
基于處理器的計算機系統可包含各自包含用于指令執行的一或多個處理器核心的一或多個中央處理單元(CPU)。每一處理器核心包含用于經由多個管線級處理指令的硬件資源。舉例來說,在管線中處理指令可包含提取指令及譯碼指令,隨后將所述指令發送至執行單元,諸如算術邏輯單元。另外,處理器核心的硬件資源可分成被稱為“線程”(也被稱作“硬件線程”)的獨立部分。線程為處理器核心提供同時并行處理多個指令的能力。更具體來說,處理器核心內的線程可處理指令,同時同一處理器核心內的另一線程處理不同指令。
就此而言,在處理器核心內處理指令有助于對應CPU的總電力消耗。致力于省電,CPU可采用經配置以取決于處理器核心的活動控制處理器核心的電力電平的電力控制單元。舉例來說,電力控制單元可在至少一個線程處于活動狀態下時提供標稱電力電平至處理器核心,以提供充足電力來驅動處理器核心內的硬件資源來處理指令。然而,若處理器核心中無線程處于活動狀態下,則電力控制單元可使處理器核心電力衰弱以省電。以此方式,通過在處理器核心具有活動狀態下的線程時提供標稱電力至處理器核心及在所有線程處于非活動時使處理器核心電力衰弱來節省處理器核心及其對應CPU的電力消耗。
技術實現要素:
在實施方式中揭示的方面包含用于控制處理器核心的電力模式的基于延時的電力模式單元。也揭示相關方法及系統。在本文中的方面中,本文揭示的電力模式單元也經配置以能夠在處理器核心的一或多個線程在待決狀態下且無線程在活動狀態下時降低或衰弱提供至處理器核心的電力,而不是所述電力模式單元僅能夠在無線程處于活動時使處理器核心電力衰弱來省電。
當線程中的指令的處理由等待自處理器核心的外部檢索數據以用于所述指令而無需線程以其它方式處理另一指令構成時,線程在處理器核心中處于待決狀態。舉例來說,正由線程處理的指令的操作數可為位于處理器核心外部的存儲器中的數據。若處理器核心在線程處于待決狀態下且等待來自處理器核心外部的請求時并不需要如此多的電力來操作,則也可在等待周期的延時期間降低由處理器核心消耗的電力。以此方式,即使當線程處于待決狀態下時也可在處理器核心中省電。能夠另外在線程處于待決狀態下時(相對于僅在所有線程處于非活動時)省電的中央處理單元(CPU)可降低處理器核心及其對應CPU中的總電力消耗。
就此而言,在一個方面中,提供一種用于控制處理器核心的電力模式的基于延時的電力模式單元。基于延時的電力模式單元包括電力模式輸入,所述電力模式輸入經配置以接收關于供應至處理器核心以用于處理器核心外部的數據存取的電力電平的電力模式信息。基于延時的電力模式單元進一步包括經配置以接收關于處理器核心中的線程的狀態的工作負荷信息的線程工作負荷輸入。基于延時的電力模式單元經配置以產生電力模式設定來將處理器核心設置成當(1)工作負荷信息指示處理器核心的一或多個線程在待決狀態下且無線程在活動狀態下且(2)電力模式信息指示一或多個線程的當前數據存取延時在對應于降低電力模式的在待決狀態下時在降低電力模式下操作。值得注意的是,基于待決狀態下的一或多個線程的當前數據存取延時調節降低電力模式允許處理器核心在線程受限于等待長延時數據時省電。基于延時的電力模式單元也可經進一步配置以向電力模式輸出提供電力模式設定,以向用于控制由處理器核心使用的電力的電力控制單元提供電力模式設定。
在另一方面中,提供一種用于控制處理器核心的電力模式的基于延時的電力模式設備。所述基于延時電力模式設備包括用于接收關于供應至處理器核心以用于處理器核心外部的數據存取的電力電平的電力模式信息的裝置。所述基于延時電力模式設備也包括用于接收關于處理器核心中的線程的狀態的工作負荷信息的裝置。所述基于延時電力模式設備也包括用于產生電力模式設定來將處理器核心設置成當工作負荷信息指示處理器核心的一或多個線程在待決狀態下且無線程在活動狀態下且電力模式信息指示一或多個線程的當前數據存取延時在對應于降低電力模式的在待決狀態下時在降低電力模式下操作的裝置。所述基于延時電力模式設備也可進一步包括裝置,所述裝置用于提供電力模式設定至用于控制由處理器核心使用的電力的裝置。
在另一方面中,提供一種用于使用基于延時的確定控制處理器核心的電力模式的方法。所述方法包括接收關于供應至處理器核心以用于處理器核心外部的數據存取的電力電平的電力模式信息。所述方法進一步包括接收關于處理器核心中的線程的狀態的工作負荷信息。所述方法進一步包括產生電力模式設定來將處理器核心設置成當(1)工作負荷信息指示處理器核心的一或多個線程在待決狀態下且無線程在活動狀態下且(2)電力模式信息指示一或多個線程的當前數據存取延時在對應于降低電力模式的在待決狀態下時在降低電力模式下操作。所述方法也可進一步包括向用于控制由處理器核心使用的電力的電力控制單元提供電力模式設定。
在另一方面中,其上存儲有計算機可執行指令的非暫時性計算機可讀媒體,所述指令在由處理器執行時引起處理器接收關于供應至處理器核心以用于處理器核心外部的數據存取的電力電平的電力模式信息。所述計算機可執行指令進一步引起處理器接收關于處理器核心中的線程的狀態的工作負荷信息。所述計算機可執行指令進一步引起處理器產生電力模式設定來將處理器核心設置成當(1)工作負荷信息指示處理器核心的一或多個線程在待決狀態下且無線程在活動狀態下且(2)電力模式信息指示一或多個線程的當前數據存取延時在對應于降低電力模式的在待決狀態下時在降低電力模式下操作。所述計算機可執行指令可進一步引起處理器向用于控制由處理器核心使用的電力的電力控制單元提供電力模式設定。
附圖說明
圖1為采用基于延時的電力模式單元的示范性處理器子系統的框圖,所述基于延時的電力模式單元經配置以通過在處理器核心的一或多個線程在待決狀態下且無線程在活動狀態下時降低供應至處理器核心的電力電平來控制處理器核心的電力模式;
圖2為說明圖1中的基于延時的電力模式單元控制處理器核心的電力模式的示范性過程的流程圖,所述控制包含在處理器核心的的一或多個線程在待決狀態下且無線程在活動狀態下時降低供應至處理器核心的電力電平;
圖3A為說明處理器核心的示范性線程活動及電力電平活動以及由圖1中的基于延時的電力模式單元基于線程處于活動、非活動還是待決狀態下控制處理器核心的對應電力模式的圖式;
圖3B為說明作為采用圖1中的基于延時的電力模式單元的結果的圖3A中的處理器核心的示范性電力降低的圖式;
圖4為說明圖1中的基于延時的電力模式單元控制處理器核心的電力模式的示范性過程的流程圖,其中可基于資料存取延時的持續時間產生與較低電力模式或較高電力模式相關聯的電力模式設定;
圖5為說明處理器核心的示范性線程活動及電力電平活動以及由圖1中的基于延時的電力模式單元控制的當線程經調度以在處理器核心外部的數據存取的定義閾值時間內變為活動時處理器核心的對應電力模式的圖式;
圖6為說明處理器核心的示范性線程活動及電力電平活動以及由圖1中的基于延時的電力模式單元控制的在處理器核心內的兩個線程在待決、活動及非活動狀態之間轉變時處理器核心的對應電力模式的圖式;及
圖7為示范性基于處理器的系統的框圖,所述系統可包含含有一或多個處理器核心及圖1中的基于延時的電力模式單元的中央處理單元(CPU)。
具體實施方式
現在參考圖式,描述本發明的若干示范性方面。詞語“示范性”在本文中用以意謂“充當實例、個例或說明”。不必將本文中描述為“示范性”的任何方面解釋為優選或優于其它方面。
本文揭示的方面包含用于控制處理器核心的電力模式的基于延時的電力模式單元。也揭示相關方法及系統。就此而言,圖1說明采用用于控制處理器核心14的電力模式的示范性基于延時的電力模式單元12的示范性中央處理單元(CPU)子系統10。處理器核心14具有各自經配置以提供同時處理的多個線程X(0)-X(N),其中『N+1』等于線程的數目。然而,處理器核心14可包含僅一個(1)線程。如下文更詳細論述,圖1中的基于延時的電力模式單元12經配置以能夠在處理器核心14中的線程X(0)-X(N)中的至少一者處于待決狀態下且無線程X(0)-X(N)處于活動時降低或衰弱提供給處理器核心14的電力。以此方式,即使當線程X(0)-X(N)處于待決狀態下時(相對于僅在處理器核心14中的線程X(0)-X(N)處于非活動時),也可在處理器核心14中省電。
當線程X中的指令的處理由等待自處理器核心14外部檢索數據以用于所述指令而無需線程X以其它方式處理另一指令構成時,圖1中的處理器核心14中的線程X處于待決狀態下。另外,當線程X并非等待自處理器核心14外部檢索數據且線程X正以其它方式處理指令時,處理器核心14中的線程X處于活動狀態下。當線程X既不在活動狀態下,也不在待決狀態下時,線程X處于非活動狀態下。舉例來說,正通過處理器核心14中的線程X處理的指令的操作數可為位于處理器核心14外部的存儲器中的數據。若處理器核心14在線程X處于待決狀態下且等待來自處理器核心14外部的請求時并不需要如此多的電力來操作,則在等待周期的延時期間也可降低由處理器核心14消耗的電力。以此方式,即使當線程X(0)-X(N)處于待決狀態下時也可在處理器核心14中省電。采用基于延時的電力模式單元12來另外在線程X(0)-X(N)處于待決狀態下時(相對于僅在所有線程X(0)-X(N)處于非活動時)省電可降低處理器核心14及對應CPU子系統10中的總電力消耗。
繼續參考圖1,在論述基于延時的電力模式單元12控制處理器核心14的電力模式以省電的實例之前,首先描述基于延時的電力模式單元12及CPU子系統10的組件。在此方面中,基于延時的電力模式單元12包含電力模式輸入16。電力模式輸入16經配置以接收關于供應至處理器核心14的電力電平的電力模式信息18。在此實例中,電力模式信息18包含用于處理器核心14外部的數據存取的電力電平。然而,電力模式信息18也可包含用于其它類型的數據存取的電力電平。基于延時的電力模式單元12也包含經配置以接收關于處理器核心14中的線程X(0)-X(N)的狀態的工作負荷信息22的線程工作負荷輸入20。舉例來說,工作負荷信息22可包含指示處理器核心14的一或多個線程X(0)-X(N)在待決狀態下且無線程X(0)-X(N)在活動狀態下、線程X(0)-X(N)中的至少一者在活動狀態下、還是所有線程X(0)-X(N)皆為非活動的信息。基于延時的電力模式單元12經配置以產生電力模式設定24來基于電力模式信息18及工作負荷信息22將處理器核心14設置成在降低或較高電力模式下操作。基于延時的電力模式單元12經進一步配置以向電力模式輸出26提供電力模式設定24,以向電力控制單元28提供電力模式設定24,用以控制由處理器核心14使用的電力。在此實例中,提供兩個電力控制單元28(0)、28(1)。第一電力控制單元28(0)用于控制提供給存儲器30的電力。第二電力控制單元28(1)用于控制提供給處理器核心14中的邏輯32的電力以用于執行或支持其中的處理。
另外,在此方面中,基于延時的電力模式單元12經配置以在中斷輸出36上產生中斷34來讓處理器核心14準備好在較高電力模式下操作。替代地,基于延時的電力模式單元12可經配置以在電力模式設定24的所存儲先前個例與較高電力模式相關聯時放棄在中斷輸出36上產生中斷34。舉例來說,電力模式設定24的所存儲先前個例可存儲在基于延時的電力模式單元12內的單元存儲器37中。
圖2說明圖1中的基于延時的電力模式單元12用于控制處理器核心14的電力模式的示范性過程38。參考圖2,基于延時的電力模式單元12首先接收關于供應至處理器核心14以用于處理器核心14外部的數據存取的電力電平的電力模式信息18(框40)。基于延時的電力模式單元12隨后接收表示處理器核心14中的線程X(0)-X(N)的狀態的工作負荷信息22(框42)。基于延時的電力模式單元12可在框42中接收工作負荷信息22,隨后或同時在框40中接收電力模式信息18。另外,一旦基于延時的電力模式單元12接收到電力模式信息18及工作負荷信息22兩者,基于延時的電力模式單元12就確定以下各者:(1)工作負荷信息22是否指示處理器核心14的一或多個線程X(0)-X(N)在待決狀態下且無線程X(0)-X(N)在活動狀態下;及(2)電力模式信息18是否指示所述一或多個線程X(0)-X(N)的當前數據存取延時在對應于降低電力模式的待決狀態下(框44)。
繼續參考圖2,若框44中的兩個狀況存在,則此意謂處理器核心14并無活動的任何線程X(0)-X(N)。另外,此也意謂處理器核心14并無不久可變為活動的處于待決狀態下的任何線程X。由此,在此情境下,可降低提供給處理器核心14的電力以省電。就此而言,基于延時的電力模式單元12產生電力模式設定24來將處理器核心14設置成在降低電力模式下操作(框46)。基于延時的電力模式單元12提供指示降低電力模式的電力模式設定24至用于控制由處理器核心14使用的電力的電力控制單元28(0)、28(1)(框48)。
然而,若圖2的框44中的兩個狀況不存在,則處理器核心14可能需要較高電力電平以用于處理指令。舉例來說,可能需要較高電力電平以供處理器核心14中的線程X有效地處理指令。在此情境下,基于延時的電力模式單元12產生電力模式設定24來將處理器核心14設置成在較高電力模式(相對于降低電力模式)下操作(框50)。基于延時的電力模式單元12提供電力模式設定24至用于控制由處理器核心14使用的電力的電力控制單元28(0)、28(1)(框48)。可不斷重復圖2中的過程38以允許基于延時的電力模式單元12來控制處理器核心14的電力電平。
由此,總的來說,通過圖1中的基于延時的電力模式單元12采用圖2中的過程38,基于延時的電力模式單元12使得如果正處理的所有線程X(0)-X(N)在待決狀態下,則即使當正處理線程X(0)-X(N)時,也實現處理器核心14中的電力節省。
為提供對圖1中的基于延時的電力模式單元12在線程X(0)-X(N)處于待決狀態下且無線程X(0)-X(N)處于活動時降低提供給處理器核心14的電力的進一步解釋,提供圖3A。圖3A說明示范性線程活動圖表52及展示基于延時的電力模式單元12對處理器核心14電力電平的影響的對應電力電平活動圖表54。
參考圖3A,線程活動圖表52展示在時間t0處處于非活動狀態下的處理器核心14中的第一線程X(0),如通過低活動等級LL所說明。為了清楚起見,線程活動圖表52上的低活動等級LL可表示線程X(0)處于非活動或待決狀態下,而高活動等級LH表示線程X(0)處于活動狀態下。另外,處理器核心14中的所有其它線程X(1)-X(N)(圖中未展示)在圖3A中處于非活動。因為所有線程X(0)-(N)處于非活動,處理器核心14處于其中在時間t0處電力電平P等于PC(例如,電力衰弱等級)的降低電力模式下,如電力電平活動圖表54中所示。如本文所使用,使處理器核心14電力衰弱在于將供應至處理器核心14的電力降低至將數據保留在存儲器30及邏輯32中所需的最小等級。雖然在此實例中PC大于零電力電平P0,但一些方面可具有等于P0的PC。另外,在時間t1處,線程X(0)變成活動,如通過高活動等級LH所說明。作為響應,基于延時的電力模式單元12產生電力模式設定24來將處理器核心14設置成以較高電力模式操作。基于延時的電力模式單元12也響應于產生對應于較高電力模式的電力模式設定24而在中斷輸出36上產生中斷34。中斷34提示處理器核心14在準備線程相關活動時在時間t1-2期間進行“喚醒”程序。另外,電力模式設定24引起電力控制單元28(0)、28(1)供應標稱電力至處理器核心14,從而在時間t1處將電力電平P變成PN。
繼續參考圖3A,在時間t3處,作為指令的處理的一部分,線程X(0)發起存儲在處理器核心14外部的數據的數據存取。由此,線程X(0)在時間t3處變成待決狀態,如通過線程活動圖表52中的低活動等級LL所示。因為所有其它線程X(1)-X(N)仍處于非活動,故工作負荷信息22指示處理器核心14的一或多個線程在待決狀態下且無線程在活動狀態下。在此實例中,電力模式信息18指示線程X(0)的對應于降低電力模式的當前數據存取延時。因此,基于延時的電力模式單元12產生電力模式設定24來將處理器核心14設置成降低電力模式。電力控制單元28(0)、28(1)供應降低電力電平至處理器核心14,從而引起電力電平P在時間t3處降至PC,因為處理器核心14并不需要與線程處于活動時相比一樣多的電力來操作。由此,即使線程X(0)處于待決狀態下而非非活動,基于延時的電力模式單元12也使得處理器核心14能夠在時間t3處開始在降低電力模式下操作。
繼續參考圖3A,處理器核心14在時間t4處接收自處理器核心14外部請求以用于待決線程X(0)的資料,從而引起線程X(0)變為活動的,如通過高活動等級LH所說明。此引起基于延時的電力模式單元12產生電力模式設定24來將處理器核心14設置成在較高電力模式下操作。電力模式設定24引起電力控制單元28(0)、28(1)供應標稱電力至處理器核心14,從而引起電力電平P在時間t4處升至PN。另外,基于延時的電力模式單元12也產生中斷34,從而提示處理器核心14在時間t4-5期間進行喚醒程序。由此,基于延時的電力模式單元12使得處理器核心14能夠在線程X(0)變成待決時的時間t3處開始以PC操作,直至在線程X(0)接收所請求數據時的時間t4為止。
就此而言,繼續參考圖3A,時間t3-4對應于與處理器核心14外部的數據存取相關聯的將線程X(0)置于待決狀態下的數據存取延時。由此,處理器核心14在時間t3-4期間保持在具有設置為PC的電力電平P的降低電力模式下,藉此貫穿彼時間框在處理器核心14內省電。圖3B中說明在線程X(0)處于待決狀態下時通過將電力電平P降低至PC而在處理器核心14中節省的電力的量。更具體而言,相較于當電力電平P在線程X(0)處于待決狀態下時保持在PN處時不省電,電力整體55(0)展示在時間t3-4期間在處理器核心14中節省PN-PC的總電力。
繼續參考圖3A,在時間t6處,線程X(0)發起存儲在處理器核心14外部的數據的數據存取,且由此線程X(0)變成待決狀態,如通過低活動等級LL所說明。類似于在時間t3-4期間的先前數據存取,電力模式信息18指示線程X(0)的對應于降低電力模式的當前數據存取延時。因為所有其它線程X(1)-X(N)在線程X(0)處于待決時處于非活動,故工作負荷信息22指示處理器核心14的一個線程在待決狀態下且無線程在活動狀態下。基于電力模式信息18及工作負荷信息22,基于延時的電力模式單元12生成電力模式設定24來將處理器核心14設置成降低電力模式。由此,電力控制單元28(0)、28(1)供應降低電力電平至處理器核心14,從而引起電力電平P在時間t6處降至PR。接收自處理器核心14外部請求的數據后,線程X(0)在時間t7處變成活動的,如通過高活動等級LH所說明。此引起基于延時的電力模式單元12產生電力模式設定24來將處理器核心14設置成在較高電力模式下操作。另外,基于延時的電力模式單元12也產生中斷34,從而提示處理器核心14在時間t7-8期間進行喚醒程序。電力模式設定24引起電力控制單元28(0)、28(1)供應標稱電力至處理器核心14,從而引起電力電平P在時間t7處升至PN。
繼續參考圖3A,時間t6-7對應于與處理器核心14外部的數據存取相關聯的在時間t6處將線程X(0)置于待決狀態下的數據存取延時。由此,處理器核心14在時間t6-7期間保持在具有設置為PR的電力電平P的降低電力模式下,藉此貫穿彼時間框在處理器核心14內省電。圖3B中說明在線程X(0)處于待決狀態下時通過將電力電平P降低至PR而在處理器核心14中節省的電力的量。更具體而言,相較于在線程X(0)處于待決狀態下時電力節省缺乏使得電力電平P保持在PN處,電力整體55(1)展示在時間t6-7期間在處理器核心14中節省PN-PR的總電力。
值得注意的是,盡管處理器核心14在時間t3-4及時間t6-7期間在降低電力模式下操作,但電力電平PC在時間t3-4期間比在時間t6-7期間的電力電平PR低。在降低電力模式的獨立個例期間的電力電平P的此類差異系歸因于取決于對應數據存取延時的電力電平P。舉例來說,與時間t3-4相關聯的數據存取延時比與時間t6-7相關聯的數據存取延時更長。處理器核心14在時間t3-4期間可以電力電平PC操作,因為在此類長數據存取延時期間節省的電力比與自電力衰弱狀態喚醒處理器核心14相關聯的任何效能損失更重要。相反,在與關聯于時間t6-7的數據存取延時一樣短的數據存取延時期間通過使處理器核心14電力衰弱而節省的電力可能不能調整此類效能損失。然而,相較于電力電平PC,自電力電平PR喚醒處理器核心14具有較小效能損失。由此,僅在時間t6-7期間將處理器核心14降低至電力電平PR可節省足以調整與自電力電平PR喚醒處理器核心14相關聯的效能損失的電力。因此,基于延時的電力模式單元12經配置以產生對應于針對特定資料存取處理器核心14必須等待的時間量的電力模式設定24。
現參考圖1提供本文揭示的方面的具體細節。在此方面中,基于延時的電力模式單元12上的電力模式輸入16經配置以自處理器核心14內的存儲器30接收電力模式信息18。替代地,電力模式信息18可存儲在處理器核心14外部的另一存儲器中。如先前所描述,電力模式信息18包含關于應將哪一電力模式供應至處理器核心14的信息。更具體而言,電力模式信息18可包含關于處理器核心14外部的數據存取的延時及對應于所述數據存取的電力模式的信息。作為非限制性實例,電力模式信息18可包含數據接口(自所述數據接口請求數據)的識別符、對應于自數據接口存取數據的延時及對應于特定數據接口的電力模式。以此方式,降低電力模式可與關聯于自處理器核心14外部的特定數據接口存取數據的延時相關聯。作為非限制性實例,若此類數據存取具有相對長延時,則自遵循二階(L2)高速緩存未命中的較低等級存儲器存取數據可與降低電力模式相關聯。類似地,自具有相對長數據存取延時的不可緩存外圍裝置存取數據也可對應于降低電力模式。
繼續參考圖1,基于延時的電力模式單元12經配置以藉助于線程工作負荷輸入20自處理器核心14內的邏輯32接收工作負荷信息22。如先前所描述,工作負荷信息22包含關于處理器核心14內的線程X(0)-X(N)的狀態的信息。詳言的,工作負荷信息22可包含指示處理器核心14的一或多個線程X(0)-X(N)在待決狀態下且無線程X(0)-X(N)在活動狀態下、至少一個線程X在活動狀態下、還是所有線程X(0)-X(N)皆為非活動的信息。由此,電力模式信息18及工作負荷信息22提供關于以下各者的細節:在待決狀態下的線程X(0)-X(N)中的一者是否具有與降低電力模式相關聯的一數據存取延時,及處理器核心14的當前活動是否能夠禁得起電力降低。
繼續參考圖1,在此方面中,電力模式設定24可基于處理器核心14中存在的狀況而變化。舉例來說,基于延時的電力模式單元12經進一步配置以產生電力模式設定24來將處理器核心14設置成當工作負荷信息22指示處理器核心14中的所有線程X(0)-X(N)處于非活動時在降低電力模式下操作。詳言的,若無線程X(0)-X(N)處于待決或活動狀態下,則處理器核心14能夠禁得起降低電力模式,因為處理器核心14內的存儲器30及邏輯32在無線程X(0)-(N)正在處理指令時并不需要滿電力。另外,基于延時的電力模式單元12也經配置以產生電力模式設定24來將處理器核心14設置成在其中的狀況不滿足降低電力模式時在較高電力模式下操作。更具體而言,產生的電力模式設定24將在電力模式信息18指示在待決狀態下的線程X(0)-X(N)中的一者的數據存取延時并不對應于降低電力模式時反映較高電力模式。類似地,若工作負荷信息22指示處理器核心14的至少一個線程X在活動狀態下時,電力模式設定24將設置處理器核心14為在較高電力模式下運行。由此,基于延時的電力模式單元12經配置以根據處理器核心14的當前需求產生電力模式設定24。
繼續參考圖1,在此方面中,基于延時的電力模式單元12也經配置以在產生的電力模式設定24指示較高電力模式時通知處理器核心14。詳言的,處理器核心14可能需要采取某些步驟以便自降低電力模式轉變至較高電力模式,通常被稱作“喚醒”處理器核心14。由此,基于延時的電力模式單元12經配置以響應于產生電力模式設定24來將處理器核心14設置成在較高電力模式下操作而在中斷輸出36上產生中斷34。將中斷34提供至處理器核心14中的邏輯32,以通知處理器核心14準備在較高電力模式下操作。替代地,基于延時的電力模式單元12可經配置以響應于產生電力模式設定24來將處理器核心14設置成在降低電力模式下操作而產生中斷34。以此方式,可將中斷34提供至處理器核心14中的邏輯32,使得邏輯32可采取步驟來自較高電力模式轉變至降低電力模式。
繼續參考圖1,在此方面中,基于延時的電力模式單元12安置于處理器核心14內。然而,在其它方面中,基于延時的電力模式單元12可以其它方式安置于處理器核心14外部且產生省電益處。由此,無論基于延時的電力模式單元12在CPU子系統10中的位置如何,若正處理的所有線程X(0)-X(N)處于待決狀態下,則即使當正處理線程X(0)-X(N)時,基于延時的電力模式單元12也可協助在處理器核心14中省電。
除考慮線程狀態及任何對應數據存取延時的外,基于延時的電力模式單元12可在產生電力模式設定24時考慮線程X(0)-X(N)的將來活動的計時。舉例來說,若線程X(0)-X(N)中的一者經調度以在同一或另一線程X(0)-X(N)變成待決狀態之后的相對短時間內變為活動的,則在此類短時段中降低電力所需的額外負荷可能比任何電力節省更重要。就此而言,圖4說明圖1中的基于延時的電力模式單元12用于部分基于線程X(0)-X(N)中的一者可遵循數據存取請求變為活動的速度來控制處理器核心14的電力模式的示范性過程56。
繼續參考圖4,框40、框42、框44、框46、框48及框50中的步驟與先前在圖2中所描述相同。然而,若框44中的兩個狀況存在,則基于延時的電力模式單元12作出額外確定而非產生用于降低電力模式的電力模式設定24。詳言的,基于延時的電力模式單元12確定工作負荷信息22是否指示處理器核心14具有經調度以在處理器核心14外部的數據存取發起后的定義閾值時間內變為活動的線程X(框58)。舉例來說,第一線程X(0)可轉變至待決狀態,而無其它線程X(1)-X(N)處于活動狀態下。若第二線程X(1)經調度以在第一線程X(0)轉變至待決狀態之后不久變為活動,則處理器核心14可能低效地進入僅具有的降低電力模式以在一旦第二線程X(1)處于活動狀態下時進入較高電力模式。由此,定義閾值時間可表示最小持續時間,其中處理器核心14需要具有在待決狀態下的一或多個線程X(0)-X(N)且無在活動狀態下的線程X(0)-X(N)以便調整進入降低電力模式。與喚醒處理器核心14相關聯的效能損失可為確定此類計時的重要因素。
以此方式,繼續參考圖4,若在框58處線程X經調度以在定義閾值時間內變為活動,則基于延時的電力模式單元12經配置以產生用于較高電力模式的電力模式設定24(框50)。相反,若在框58處無線程X(0)-X(N)經調度以在定義閾值時間內變為活動,則基于延時的電力模式單元12經配置以產生用于所述降低電力模式的電力模式設定24(框46)。在框46或框50處產生電力模式設定24后,基于延時的電力模式單元12經配置以在框48處提供電力模式設定24至用于控制由處理器核心14使用的電力的電力控制單元28(0)、28(1)。通過采用所述過程56,基于延時的電力模式單元12使得若正處理的所有線程X(0)-X(N)處于待決狀態下且對應數據存取延時調整處理器核心14進入降低電力模式,則即使在正處理線程X(0)-X(N)時也能夠在處理器核心14中省電。
就此而言,圖5說明當線程X(0)經調度以在處理器核心14外部的數據存取的定義閾值時間內變為活動,而所有其它線程X(1)-X(N)(圖中未展示)保持非活動時,圖1中的處理器核心14的線程活動圖表60及對應電力電平活動圖表62。直至時間t6的線程活動圖表60及電力電平活動圖表62的轉變及相關計時等同于圖3A中直至時間t6的線程活動圖表52及電力電平活動圖表54的轉變及相關計時。
然而在圖5中的時間t6處,線程X(0)發起存儲在處理器核心14外部的數據的數據存取,且由此線程X(0)變成待決狀態,如通過低活動等級LL所說明。然而,盡管線程X(0)處于待決狀態下而無其它線程處于活動狀態下,但線程X(0)經調度以在時間t9處變為活動,如通過高活動等級LH所說明。另外,時間t9發生在處理器核心14的定義閾值時間內。結果,電力模式設定24繼續對應于較高電力模式,而并非基于延時的電力模式單元12產生電力模式設定24來將處理器核心14設置成在降低電力模式下操作。由此,若時間t9不在定義閾值時間內,則電力電平P在時間t6-9期間保持在PN處,而不是降至PC或PR。另外,當線程X(0)在時間t9處變成活動(如通過高活動等級LH所說明)時,電力電平P保持在PN處。值得注意的是,因為處理器核心14在時間t6-9期間保持在PN處,故處理器核心14確實不需要時間來在線程X(0)在時間t9處變成活動后完成其喚醒程序。以此方式,將基于延時的電力模式單元12配置成在線程經調度以在處理器核心14外部的數據存取的發起后的定義閾值時間內變為活動時產生用于較高電力模式的電力模式設定24可減少處理時間并且省電。
另外,圖6說明當兩個線程在待決、活動及非活動狀態之間變化時圖1中的處理器核心14的線程活動圖表64及對應電力電平活動圖表66。以此方式,線程活動圖表64說明第一線程X(0)及第二線程X(1)的活動,而所有其它線程X(2)-X(N)(圖中未展示)保持非作用。
繼續參考圖6,線程活動圖表64展示在時間t10處在非活動狀態下的第一線程X(0)及第二線程X(1),如通過低活動等級LL所說明。因此,電力電平活動圖表66展示在時間t10處電力電平P處于PC。另外,第一線程X(0)及第二線程(1)兩者在時間t11處變為活動,如通過高活動等級LH所示。此引起基于延時的電力模式單元12產生電力模式設定24來將處理器核心14設置成較高電力模式。較高電力模式引起電力控制單元28(0)、28(1)供應標稱電力至處理器核心14,此情況又引起電力電平P在時間t11處升至PN。在時間t12處,第一線程X(0)及第二線程X(1)兩者轉變成待決狀態,如通過低活動等級LL所示。然而,當電力模式信息18指示直至線程X(1)經調度在時間t15處變為活動為止對應于用于第二線程X(1)的降低電力模式的當前數據存取延時時,第一線程X(0)經調度在時間t13處再次變為活動,如通過高活動等級LH所示。時間t13發生在用于處理器核心14的定義閾值時間內,導致基于延時的電力模式單元12產生電力模式設定24來在時間t12處將處理器核心14設置成較高電力模式。由此,電力電平P在時間t12-14期間保持在PN處。值得注意的是,盡管電力模式設定24的先前個例與較高電力模式相關聯,但在此方面中,基于延時的電力模式單元12經配置以在時間t12處產生與較高電力模式相關聯的電力模式設定24。然而,當電力模式設定24的所存儲先前個例分別與較高電力模式或降低電力模式相關聯時,基于延時的電力模式單元12的其它方面可放棄產生電力模式設定24來將處理器核心14設置成較高電力模式或降低電力模式。舉例來說,電力模式設定24的所存儲先前個例可存儲在基于延時的電力模式單元12內的單元存儲器37中。
繼續參考圖6,第一線程X(0)完成其指令的處理且在時間t14處變成非活動,如通過低活動等級LL所說明。然而,第二線程X(1)在時間t14處保持在待決狀態下,且經調度以在時間t15處變為活動,如通過高活動等級LH所示。在此實例中,第二線程X(1)具有與降低電力模式相關聯的剩余數據存取延時。另外,在時間t15處,經調度變為活動的唯一線程為第二線程X(1),所述時間t15并非在處理器核心14的定義閾值時間內。由此,基于延時的電力模式單元12經配置以產生電力模式設定24來將處理器核心14設置成在時間t14處在降低電力模式下操作。結果,電力電平P在時間t14-15期間經設置成PC。第二線程X(1)在時間t15處變成活動狀態,如通過高活動等級LH所示。基于延時的電力模式單元12產生為較高電力模式的電力模式設定24,導致電力電平P在時間t15處返回至PN。以此方式,基于延時的電力模式單元12使得處理器核心14即使在多個線程在待決、活動及非活動狀態之間變化時也能夠省電。
根據本文揭示的方面的用于控制處理器核心的電力模式的基于延時的電力模式單元以及相關方法及系統可提供于或集成至任何基于處理器的裝置中。實例包含(但不限于)機頂盒、娛樂單元、導航裝置、通信裝置、固定位置數據單元、移動位置數據單元、移動電話、蜂窩電話、計算機、便攜式計算機、臺式計算機、個人數字助理(PDA)、監視器、計算機監視器、電視、調諧器、無線電、衛星無線電、音樂播放器、數字音樂播放器、便攜式音樂播放器、數字視頻播放器、視頻播放器、數字視頻光盤(DVD)播放器及便攜式數字視頻播放器。
就此而言,圖7說明可采用圖1中所說明的基于延時的電力模式單元12的基于處理器的系統68的實例。在此實例中,基于處理器的系統68包含一或多個CPU 70,其各自包含一或多個處理器72。CPU 70可具有耦合至處理器72以用于快速存取暫時存儲的數據的高速緩沖存儲器74。CPU 70耦合至系統總線76且可使包含于基于處理器的系統68中的主控裝置與受控裝置相互耦合。眾所周知,CPU 70通過經由系統總線76交換地址、控制及數據信息而與所述其它裝置通信。舉例來說,CPU 70可將總線事務請求傳達至作為受控裝置的實例的存儲器控制器78。盡管圖7中未說明,但可提供多個系統總線76,其中每一系統總線76構成不同網狀架構。
其它主控裝置及受控裝置可連接至系統總線76。如圖7中所說明,作為實例,所述裝置可包含存儲器系統80、一或多個輸入裝置82、一或多個輸出裝置84、一或多個網絡接口裝置86及一或多個顯示控制器88。輸入裝置82可包含任何類型的輸入裝置,包括(但不限于)輸入鍵、開關、語音處理器等。輸出裝置84可包含任何類型的輸出裝置,包含(但不限于)音頻、視頻、其它視覺指示器等。網絡接口裝置86可為任何經配置以允許至網絡90及來自網絡90的數據交換的裝置。網絡90可為任何類型的網絡,包含(但不限于)有線或無線網絡、專用或公用網絡、局域網(LAN)、廣域網(WLAN)及因特網。網絡接口裝置86可經配置以支持任何類型的所要通信協議。存儲器系統80可包含一或多個存儲器單元92(0-N)。
CPU 70也可經配置以經由系統總線76接入顯示控制器88來控制發送至一或多個顯示器94的信息。顯示控制器88將信息發送至待經由一或多個視頻處理器96顯示的顯示器94,所述視頻處理器將待顯示的信息處理成適合于顯示器94的格式。顯示器94可包含任何類型的顯示器,包含(但不限于)陰極射線管(CRT)、液晶顯示器(LCD)、等離子體顯示器等。
所屬領域的技術人員將進一步了解,結合本文所揭示的方面所描述的各種說明性邏輯框、模塊、電路及算法可實施為電子硬件、存儲于存儲器中或另一計算機可讀媒體中且由處理器或其它處理裝置執行的指令或此兩者的組合。作為實例,本文中所描述的主控裝置及受控裝置可用于任何電路、硬件組件、集成電路(IC)或IC芯片中。本文中所揭示的存儲器可為任何類型及大小的存儲器,且可經配置以存儲所要的任何類型的信息。為了清楚地說明此可互換性,上文已大體上關于功能性描述了各種說明性組件、框、模塊、電路及步驟。如何實施此功能性取決于特定應用、設計選項和/或強加于整個系統的設計約束。對于每一特定應用來說,所屬領域的技術人員可以變化的方式實施所描述的功能性,但不應將所述實施決策解釋為導致脫離本發明的范圍。
可通過處理器、數字信號處理器(DSP)、專用集成電路(ASIC)、現場可編程門陣列(FPGA)或經設計以執行本文中所描述功能的其它可編程邏輯裝置、離散門或晶體管邏輯、離散硬件組件,或其任何組合來實施或執行結合本文中所揭示的方面而描述的各種說明性邏輯框、模塊及電路。處理器可為微處理器,但在替代方案中,處理器可為任何常規的處理器、控制器、微控制器或狀態機。處理器也可實施為計算裝置的組合,例如,DSP與微處理器的組合、多個微處理器、結合DSP核心的一或多個微處理器,或任何其它此配置。
本文中所揭示的方面可體現于硬件及存儲于硬件中的指令中,且可駐留于(例如)隨機存取存儲器(RAM)、閃速存儲器、只讀存儲器(ROM)、電可編程ROM(EPROM)、電可擦除可編程ROM(EEPROM)、緩存器、硬盤、可卸除式磁盤、CD-ROM或本領域中已知的任何其它形式的計算機可讀媒體中。示范性存儲媒體耦合至處理器,使得處理器可從存儲媒體讀取信息并將信息寫入至存儲媒體。在替代方案中,存儲媒體可與處理器成一體式。處理器及存儲媒體可駐留于ASIC中。所述ASIC可駐留于遠程站臺中。在替代方案中,處理器及存儲媒體可作為離散組件而駐留于遠程站臺、基站或服務器中。
也應注意,描述本文中在任何示范性方面中所描述的操作步驟以提供實例及論述。可以不同于所說明的序列的眾多不同序列執行所描述的操作。此外,描述于單一操作步驟中的操作可實際上以數個不同步驟執行。另外,可組合示范性方面中所論述的一或多個操作步驟。應理解,如所屬領域的技術人員將容易地顯而易見,流程圖圖式中所說明的操作步驟可經受眾多不同修改。所屬領域的技術人員也將理解,可使用多種不同技術及技藝中的任一者來表示信息及信號。舉例來說,可由電壓、電流、電磁波、磁場或磁粒子、光場或光粒子或其任何組合表示在貫穿以上描述中可能提及的數據、指令、命令、信息、信號、位、符號及碼片。
提供本發明的先前描述以使得任何所屬領域的技術人員能夠制造或使用本發明。對本發明的各種修改對于所屬領域的技術人員而言將為顯而易見的,且可在不脫離本發明的精神或范圍的情況下將本文中所定義的一般原理應用于其它變體。由此,本發明并不希望限于本文中所描述的實例及設計,而應符合與本文中所揭示的原理及新穎特征相一致的最廣泛范圍。