專利名稱::主動電源管理的制作方法
技術領域:
:本發(fā)明涉及一種用于在主動電源管理方案中控制處理器時鐘頻率的方法和系統(tǒng)。本發(fā)明屬于主動電源管理(activepowermanagement,APM)的領域,其意指對處理器時鐘頻率和核心供給電壓(Vdd)的短期控制來最小化主動模式下的功率消耗。主動電源管理通常是一種快速電源管理組件,其中每幾百微秒就可能需要修改時鐘頻率和電壓。決定是基于短期應用需要。
背景技術:
:存在很多種主動電源管理方案。許多這種被用于找到最優(yōu)Vdd/時鐘頻率匹配的方案假定兩參數(shù)均能夠以連續(xù)的方式進行改變。這種電源模型不適用于其中供給電壓和/或時鐘頻率具有已定義細度(granularity)的架構。
發(fā)明內容本發(fā)明的的目標是提供一種用于控制處理器時鐘頻率的方法和系統(tǒng),其能夠緩解所存在的其中時鐘頻率僅能夠隨細度進行改變的限制。根據(jù)本發(fā)明的一方面,提供一種控制處理器時鐘頻率的方法,該處理器在多主動周期中執(zhí)行軟件,該方法包括對于每個周期向電源管理應用程序供給至少一個參數(shù),該參數(shù)為具有高頻和低頻操作間隔(interval)的周期定義執(zhí)行配置文件(profile);基于所述配置文件,電源管理應用程序確定用于高頻和低頻操作間隔的被準許的時鐘頻率;處理器在周期的起始處向電源管理應用程序供給對該周期的操作循環(huán)要求;基于操作循環(huán)要求,電源管理應用程序為每個周期確定低頻間隔的長度;以及基于由電源管理應用程序所確定的被準許的時鐘頻率,在每個間隔中對時鐘頻率進行控制。本發(fā)明的另一方面提供了一種電源管理系統(tǒng),該電源管理系統(tǒng)包括適于在多個主動周期中執(zhí)行軟件的處理器;電源管理應用程序,操作用于接收為具有高頻和低頻操作間隔的每個周期定義執(zhí)行配置文件的參數(shù)并且為所述間隔確定高頻和低頻時鐘速率;以及用于以由所述電源管理應用程序所確定的頻率向所述處理器供給時鐘信號的裝置,其中所述處理器操作用于在周期的起始處向所述電源管理應用程序供給對該周期的操作循環(huán)要求,并且其中所述電源管理應用程序操作用于基于所述參數(shù)和操作循環(huán)要求而為每個周期確定低頻間隔的長度。本文所描述的本發(fā)明的實施例特別適合于其中時鐘頻率選擇由它的細度所限制的架構,特別是在其中時鐘由除以除數(shù)的高頻鎖相環(huán)(PLL)輸出所產(chǎn)生的架構中。在那種情況下,從電源管理應用程序向時鐘裝置輸出該除數(shù)。在本發(fā)明的優(yōu)選實施例中,電源管理應用程序還確定用于高頻和低頻操作間隔的供給電壓。在特別優(yōu)選的實施例中,在分別用于高頻和低頻操作間隔的第一和第二預定供給電壓之間作出選擇。本發(fā)明的實施例特別適合于正在運行無線調制解調器應用程序以實現(xiàn)軟調制解4調器的處理器。調制解調器應用程序的MIPS(百萬指令每秒)特性不是平坦的(所需要的平均MIPS比在一些密集活動必須快速完成時所需要的最大MIPS低)。如果處理器的時鐘頻率(并且因此供給電壓)在應用程序執(zhí)行期間不改變,則能夠存在長期不活動。因為與更快速地但在較高的時鐘頻率下做同樣的工作并且然后進入空閑相比,在較低的時鐘頻率下做同樣的工作是更加電源高效的,所以本文所描述的電源管理應用程序目標在于最小化不活動周期。本文所描述的本發(fā)明的實施例包括其中存在兩個處理器的架構,其中一個處理器利用諸如無線調制解調器應用程序之類的規(guī)則執(zhí)行模式來執(zhí)行實時編碼,而另一個處理器類似于更通用的處理器。本發(fā)明特別適合于當信息在無線通信系統(tǒng)中傳輸并且需要基于時隙進行處理時在無線調制解調器中的基于時隙的活動。這樣的系統(tǒng)包括GSM或者UMTS系統(tǒng)。在這種情況下,周期能夠與時隙對準。本發(fā)明所描述的實施例提供如下優(yōu)勢自動電源管理(APM)切換的速度能夠非??焖?,小于毫秒。在以下實施例中,時鐘頻率經(jīng)受兩級控制輸入以改變頻率。每個“模式”都具有APM(執(zhí)行)配置文件(相對于僅單個頻率),該APM配置文件在APM周期內定義了標稱高/低速度分裂(split)這提供了初始的MIPS調諧。該標稱高/低分裂然后基于逐個時隙進行改變以提供非常精細的、動態(tài)的MIPS控制。并行但關聯(lián)的(connected)電壓改變——即除了頻率改變之外,但部分地響應于頻率改變——給出與電壓跟蹤軟件(voltagetrackingsoftware,AVS)的緊密交互以為APM周期的高低兩部分提供可靠的電壓設置。為了更好地理解本發(fā)明并示出如何可以實現(xiàn)本發(fā)明,現(xiàn)在將通過示例方式參考附圖,其中圖1是使用主動電源管理的處理器架構的示意框圖;圖2是用于處理器中的主動電源管理的步驟序列的示意流程圖;以及圖3是處理器的示例性示意執(zhí)行配置文件。具體實施例方式參考圖1,示出了使用主動電源管理的處理器架構的示意框圖。為了清晰起見,圖1中的某些元件以由功能表示的框圖呈現(xiàn)為單獨的框。將容易明白的是,在該架構中這些元件實際上可以是在一個或多個處理器上運行的軟件應用程序。主動電源管理應用程序(APM)10運行在第一處理器DXPO12上。APM10被配置為以MIPS的形式從處理器DXPO12中接收操作循環(huán)信息。APM10也被配置為接收定義執(zhí)行配置文件的參數(shù)。在本發(fā)明的特別實施例中,執(zhí)行配置文件數(shù)據(jù)通過在處理器DXPO12上運行的應用程序而被供給到APM10。進一步處理器DXPl14也被示出。處理器DXPl14沒有執(zhí)行配置文件——它被假定為作為通用處理器進行操作,并5且能夠按需請求所需要的操作頻率(在本文中是指MHz)。然而,處理器DXPO12處理“周期性”性質的實時應用程序。在以下中討論它的時鐘需求。來自APM10的時鐘頻率控制輸出15控制處理器時鐘(CLK)16。時鐘16以由APM10控制的頻率產(chǎn)生用于處理器DXPO12和處理器DXPl14的時鐘信號。來自APM10的電壓控制輸出17控制AVS(自動電壓供給)功能18內的功能20,該功能20從第一和第二預設電平Vddl、Vdd2中選擇供給電壓。所選擇的設置,Vddl或者Vdd2,設置處理器DXPO12和DXPl14的供給電壓。除了用于在個別設置之間進行選擇的選擇(快速路徑)功能20之外,AVS18具有功能22(全路徑功能),該功能22設置Vddl和Vdd2的電平例如以跟蹤溫度。在操作中執(zhí)行配置文件數(shù)據(jù)被供給到APM10。所述執(zhí)行配置文件數(shù)據(jù)可以由處理器DXPO12供給到APM10。執(zhí)行配置文件定義了處理器DXPO12的時鐘頻率(MHz)需要在整個配置文件時間跨度上如何改變。處理器DXPO12的行為被假定為周期性的。在本上下文中周期是如下時間在該時間期間需要緊張的處理活動,接著是平靜。示例是在無線通信系統(tǒng)中的數(shù)據(jù)的UMTS時隙,UMTS時隙為666微秒長。該周期被假定為“短的”,這意味著因為改變時延和APM開銷而不可能在周期內多次改變供給電壓Vdd18。執(zhí)行配置文件是模式特定的。因此對于例如UMTS和GSM模式可能存在單獨的配置文件。APM10的軟件允許在無線調制解調器模式改變(例如UMTS/GSM,而且UMTS語音/UMTS高速數(shù)據(jù))時改變主動配置文件。根據(jù)所描述的實施例,執(zhí)行配置文件僅由兩部分組成高速(高頻)和低速(低頻)間隔。認識到APM10的需要可能不容易按照這種簡單模型進行表達,因此允許附加的靈活性該應用程序可能要求在每個配置文件周期內縮短低頻間隔,如圖3中示出的和下面所討論的。執(zhí)行配置文件包括以下信息,這些信息可以以參數(shù)的形式被提供給APM10高頻間隔的所請求的時鐘頻率;·以微秒計的高頻間隔的最小長度;整個執(zhí)行配置文件周期的長度;以及應用程序需要的平均時鐘頻率。然后APM10能夠基于被供給到它的執(zhí)行配置文件數(shù)據(jù)而為每個執(zhí)行配置文件導出進一步信息。所導出的數(shù)據(jù)可以包括·高頻間隔的被準許的時鐘頻率;低頻間隔的被準許的時鐘頻率;以及標稱高頻間隔長度。在選擇“被準許的”頻率的過程中,(除了來自配置文件的參數(shù))考慮到來自能夠被請求的處理器DXPl14的所需要的MIPS;以這種方式,DXPl能夠調制基于配置文件的“準許程序”。高頻間隔的被準許的MHz將通常即在正常的操作條件下比所請求的MHz更高。這是由于時鐘16的細度。在所描述的實施例中,時鐘信號以由除數(shù)控制的頻率由鎖相環(huán)(PLL)產(chǎn)生。低頻間隔的被準許的MHz和實際的標稱高頻間隔長度可以被選擇成滿足平均MHz請求。它們也可以考慮到時鐘16的細度。高頻和低頻間隔的被準許的MHz對于給定的模式保持恒定。所述AVS功能18在線15上接收被準許的MHz并且使用它們作為參考MHz以適應兩個Vdd設置Vddl和Vdd2。這在下面進一步解釋。低頻間隔的被準許的MHz不能高于高頻間隔的被準許的MHz。它們被允許相同。這是由時鐘頻率準許程序保證的。低頻間隔的長度可以依據(jù)處理器DXPO12上執(zhí)行的應用程序(調制解調器軟件)而被修改。就是說,因為用于低頻間隔的由處理器DXPO12所需要的MIPS可能基于逐個周期而不同,所以調制解調器軟件被配置為允許在每個周期的起始處(實際上在每個高頻到低頻過渡處)向APM10傳送該信息。APM10然后可能決定(如果需要的話)提前隨后的低頻到高頻過渡或者對于當前周期完全抑制低間隔以給予調制解調器軟件更多的MIPS。這個特征可以被視為一種類型的PWM(脈沖寬度調制),從而增強基礎的雙間隔周期性。配置文件間隔切換,即從高頻間隔到低頻間隔的切換反之亦然,包括修改時鐘頻率和在Vddl/Vdd2間選擇供給電壓。通過改變從APM10到CLK16發(fā)送的時鐘除數(shù)來修改時鐘頻率。這種配置不需要對被用于產(chǎn)生CLK16的鎖相環(huán)進行預編程,并且因此是非??焖俚?。在本文中通過對核心電壓編程兩個Vdd設置(全路徑)并且使用專用輸入信號17而在它們之間切換(快速路徑)來實現(xiàn)電壓改變。兩個Vdd設置的實際編程能夠由在處理器DXPl14上運行的AVS應用程序完成,同時APM10使用專用硬件信號的快速轉換(toggling)而只選擇兩個設置之一。在控制AVS18輸出的選擇功能20被切換時和在所選擇的Vdd到達所期望的電壓電平時之間存在時延。由于Vdd時延,當改變到更高頻率和電壓時,Vdd18的改變事件在頻率改變之前被調度以確保Vdd適合于更高頻率。在執(zhí)行周期期間在間隔之間過渡時存在兩種要考慮的情況低頻——>高頻間隔切換首先Vdd18必須增加并且只有在足夠的延遲之后CLK16才可以增加。這可以作為兩步操作來執(zhí)行,與減少Vdd/頻率不同。電壓改變將在切換到高頻間隔之前被調度發(fā)生。時鐘頻率切換將在需要時被調度以精準地發(fā)生·高頻——>低頻間隔切換首先CLK16應該被減少并且然后Vdd18能夠被降低。這可以按需完成,即當調制解調器軟件用信號通知完成了高間隔時。參考圖2,示出了概述處理器的主動電源管理的步驟序列的示意性流程圖。執(zhí)行配置文件在步驟22中被供給到APM10。所述執(zhí)行配置文件包括如上面所討論的參數(shù),并且為每個主動周期定義了高頻和低頻操作間隔?;谒┙o的執(zhí)行配置文件,考慮到DXPO14的MHz要求和時鐘細度,APM10確定被準許的高頻時鐘(步驟24)和被準許的低頻時鐘(步驟26)。在步驟28中,APM將被準許的時鐘傳送給AVS。在步驟30處,在周期的起始處還向APM10供給由調制解調器軟件確定的對周期的操作循環(huán)要求。該操作循環(huán)要求可以由處理器DXPO12提供。示例性操作循環(huán)要求可能是以所需要的MIPS形式。低頻間隔的長度可以基于所述操作循環(huán)要求在步驟32處由APM10計算。低頻間隔的長度的計算是在評估高頻間隔是否經(jīng)歷了“抖動的,,過渡后進行的。APM10基于該周期中所需要的MIPS以及“抖動的”高到低過渡的實際時間而確定每個周期的低間隔的長度。為了有效的集成電源管理,在本發(fā)明所描述的實施例中被準許的高頻和低頻時鐘被供給到AVS功能18。AVS可以使用該時鐘信息以適應如上面所描述的Vddl和Vdd2的設置。在步驟34處,APM10通過提供除數(shù)以分割向產(chǎn)生處理器時鐘信號的鎖相環(huán)提供的時鐘信號來控制CLK16。如上面所解釋的那樣控制Vdd。步驟30、32、34以循環(huán)被重復執(zhí)行。以下是一種可以被用于實現(xiàn)本發(fā)明的可能算法8InputsRequestedhighMHz(HighMhzReq)RequestedaverageMHz(AvgMhzReq)Executionprofilelength(ProfileLen)Minimumhighintervallength(MinHighLen)RequestedDXPOMHz(DxpODirectReq)RequestedDXPlMHz(DxplDirectReq)MinimumsettableMHz(MinMHz)PLLoutMHz(PllMhz)Outputs:GrantedhighMHz(GrantedHighMhz>GrantedlowMHz(GrantedLowMhz)Nominalhighintervallength(MominalHighLen)Nominallowintervallength(NominalLowLen)GrantedMHzwhenAPMinactive(GrantedDirectMhz)Functions:FindLowerSettableMHz(mhz):PllMhz/CEILING(PllMhz/mhz)FindHigherSettableMHz(mhz):PllMhz/FLOOR(PllMhz/mhz)IsLowIntervalPwm(...):selectsflat/PWMlowintervalAlgorithm:GrantedDirrectMhz=MAX(DxpODirectReqfDxplDirectReq,MinMhz)ModulatedHighMhzReq=MAX(HighMhzReq,DxplDirectReq,MinMhz)GrantedHighMhz=FindHigherSettableMHz(ModulatedHighMhzReq)MaxLowLen=ProfileLen-MinHighLenDxplDirectReqRemaining=GrantedHighMhz-(GrantedHighMhz-DxplDirectReq)*ProfileLen/MaxLowLenLowMhzReq=HighMhzReq-(HighMhzReq-AvgMhzReq)*ProfileLen/MaxLowLenModulatedLowMhzReq=MAX(LowMhzReq,DxplDirectReqRemaining)LowSettableMhzHigher=MAX(FindHigherSettableMHz(ModulatedLowMhzReq),MinMhz)LowSettableMhzLower=MAX(FindLowerSettableMHz(ModulatedLowMhzReq),MinMhZ)LowIntervalPwm=IsLowIntervalPwm(...)GrantedLowMhz=LowIntervalPwm?LowSettableMhzLower:LowSettableMhzHigherLowLen=MaxLowLen*(GrantedHighMhz-ModulatedLowMhzReq)/(GrantedHighMhz-GrantedLowMhz)NominalLowLen=LowLen<MaxLowLen?LowLen:MaxLowLenNominalHighLen=ProfileLen-NominalLowLen上面算法在上面能夠減少低間隔長度但不能延長它。然而,其中低間隔長度被延長的備選方案是可能的。所述算法被包括僅用于說明目的。本發(fā)明的范圍旨在覆蓋使用實現(xiàn)如所附權利要求中所描述的發(fā)明的備選算法。備選算法可以適應附加的因素。APM10用戶可以動態(tài)地(基于逐個周期)請求低頻間隔長度根據(jù)對其瞬間時鐘頻率需要的估計而從其標稱值被延長或縮短(如果可能的話)。參考圖3,示出了執(zhí)行配置文件的示例性示意圖。在水平軸上示出時間。高頻間隔38和低頻間隔40被清楚地示出為構成整個配置文件周期42。圖3也示出了用于高頻和低頻間隔的被請求的時鐘頻率44以及用于高頻和低頻間隔的被準許的時鐘頻率46。Vdd軌跡48也被示出并且論證了在從高頻間隔到低頻間隔的過渡期間的Vdd時延50以及從低頻間隔到高頻間隔的傳送期間的Vdd時延52。配置文件周期42的開頭M和配置文件周期42的結尾56是固定的,如上面已經(jīng)提到的。然而,從高頻間隔到低頻間隔的過渡可能受到抖動58的影響。因此在圖3中可以看到,低頻間隔40的長度可以被更改60、62以適應這一點并且通過延長低頻間隔來提高電源效率。將明白的是,上面所描述的主動電源管理特別適合于“周期性”軟件,該軟件例如在無線通信系統(tǒng)中或者在其中數(shù)據(jù)處理是“突發(fā)性(bursty),,的其他情形中正在處理基于時隙的數(shù)據(jù)。在其他的情況下,處理器DXPO12應當被允許以正常的方式請求MHz,就像DXPl14一樣。該架構可以被設置以便如果執(zhí)行配置文件被選擇,則來自處理器DXPO12的對MHz的任何直接請求都被忽略。處理器DXPO12可以被告知“不選擇”該執(zhí)行配置文件,在該情況下直接MHz請求變得有效。如果沒有配置文件被選擇,并且兩個處理器中沒有一個請求MHz,則最小MHz將被選擇。處理器DXPl14和DXPO12的(直接的或者基于配置文件的)MHz請求在APM10中被組合并且被傳送到AVS功能18,其跟蹤針對所組合MHz請求的供給電壓Vdd。雖然在上面所描述的實施例中僅基于在周期的起始處所接收的MIPS要求來修改低頻間隔的長度,但是在那個點處調諧被準許的時鐘頻率也將是可能的。權利要求1.一種控制在多個主動周期中執(zhí)行軟件的處理器的時鐘頻率的方法,該方法包括對于每個周期向電源管理應用程序供給至少一個參數(shù),該參數(shù)為具有高頻和低頻操作間隔的周期定義執(zhí)行配置文件;基于所述配置文件,電源管理應用程序確定用于高頻和低頻操作間隔的被準許的時鐘頻率;處理器在周期的起始處向電源管理應用程序供給對該周期的操作循環(huán)要求;基于操作循環(huán)要求,電源管理應用程序為每個周期確定低頻間隔的長度;以及基于由電源管理應用程序所確定的被準許的時鐘頻率,在每個間隔中控制時鐘頻率。2.根據(jù)權利要求1所述的方法,其中所述電源管理應用程序進一步控制處理器的供給電壓。3.根據(jù)權利要求2所述的方法,其中所述電源管理應用程序被布置成在高頻和低頻操作間隔中分別控制向處理器供給第一和第二預定供給電壓之一。4.根據(jù)任一項前述權利要求所述的方法,其中對于在無線通信系統(tǒng)中所傳送的信息而言周期是時隙。5.根據(jù)任一項前述權利要求所述的方法,其中所述執(zhí)行配置文件針對處理器的每個操作模式被指定。6.根據(jù)權利要求5所述的方法,其中所述處理器的操作模式是基于無線通信系統(tǒng)中的通信模式。7.根據(jù)任一項前述權利要求所述的方法,其中定義所述執(zhí)行配置文件的參數(shù)包括下列中的至少一個高頻操作間隔的高頻時鐘速率;高頻操作間隔的最小長度;所述執(zhí)行配置文件的周期長度;以及所述周期的平均時鐘頻率。8.根據(jù)任一項前述權利要求所述的方法,其中在周期的起始處由處理器供給的操作循環(huán)要求是在MIPS中確定的。9.根據(jù)任一項前述權利要求所述的方法,其中針對每個間隔由所述電源管理應用程序所確定的被準許的時鐘頻率取決于供給時鐘信號到所述處理器的時鐘的細度。10.根據(jù)任一項前述權利要求所述的方法,其中進一步處理器被布置成向所述電源管理應用程序供給操作循環(huán)要求,其中所述電源管理應用程序在為每個周期確定低頻間隔的長度和每個間隔的被準許的時鐘頻率中考慮到該操作循環(huán)要求。11.一種電源管理系統(tǒng),包括適于在多個主動周期中執(zhí)行軟件的處理器;電源管理應用程序,操作用于接收為具有高頻和低頻操作間隔的每個周期定義執(zhí)行配置文件的參數(shù)并且操作用于為每個間隔確定被準許的時鐘頻率;以及用于以由所述電源管理應用程序所確定的頻率向所述處理器供給時鐘信號的裝置;其中所述處理器操作用于在周期的起始處向所述電源管理應用程序供給對該周期的操作循環(huán)要求,并且其中所述電源管理應用程序操作用于基于所述參數(shù)和操作循環(huán)要求為每個周期確定低頻間隔的長度。12.根據(jù)權利要求11所述的系統(tǒng),包括用于向所述處理器供給電壓的裝置,所述電壓由所述電源管理應用程序控制。13.根據(jù)權利要求12所述的系統(tǒng),其中所述電壓供給裝置操作用于分別對高頻和低頻操作間隔施加第一和第二預定電壓之一。14.根據(jù)權利要求11-13中任一項所述的系統(tǒng),包括進一步處理器,被布置成從所述時鐘裝置中接收時鐘信號并且進一步操作用于向所述電源管理應用程序供給操作循環(huán)要求,其中在確定被準許的時鐘頻率時考慮到該操作循環(huán)要求。全文摘要一種控制在多個主動周期中執(zhí)行軟件的處理器的時鐘頻率的方法,該方法包括對于每個周期向電源管理應用程序供給至少一個參數(shù),該參數(shù)為具有高頻和低頻操作間隔的周期定義執(zhí)行配置文件;基于所述配置文件,電源管理應用程序確定用于高頻和低頻操作間隔的被準許的時鐘頻率;處理器在周期的起始處向電源管理應用程序供給對該周期的操作循環(huán)要求;基于操作循環(huán)要求,電源管理應用程序為每個周期確定低頻間隔的長度;并且基于由電源管理應用程序所確定的被準許的時鐘頻率,在每個間隔中控制時鐘頻率。文檔編號G06F1/32GK102257454SQ200980147119公開日2011年11月23日申請日期2009年5月29日優(yōu)先權日2008年11月24日發(fā)明者M·赫隆德,P·卡明申請人:艾色拉公司