專利名稱:一種soc架構(gòu)下的處理器核動態(tài)變頻裝置和方法
技術(shù)領(lǐng)域:
本發(fā)明涉及CPU/SOC領(lǐng)域,更具體地說,本發(fā)明涉及在SOC架構(gòu)下的處理器核動態(tài)變頻技術(shù)。
背景技術(shù):
在嵌入式應(yīng)用領(lǐng)域,人們已將功耗和成本放在了比較重要的位置,市場對處理器的主頻可控性提出了強(qiáng)烈需求,尤其在功耗需要嚴(yán)格控制的場合。
在現(xiàn)有技術(shù)中,處理器的主頻是由一個鎖相環(huán)(PLL)提供時鐘信號的。傳統(tǒng)的處理器變頻通常有兩種方式,第一種方式是由套片組在初始化階段通過碼流(兩個串行位)來配置鎖相環(huán)PLL選頻,如R4000系列;另一種方式是在處理器上增加引腳,由跳線來選擇PLL頻率,如龍芯CPU系列。這兩種方式均在靜態(tài)狀態(tài)下進(jìn)行配置,一旦改頻,需要重新啟動系統(tǒng),缺乏靈活性。而且,選頻范圍(往往只有4種可選)有限,對系統(tǒng)功耗管理存在明顯不足。
在嵌入式應(yīng)用領(lǐng)域,如PDA、稅控機(jī)、游戲機(jī)和eBOOK等,處理器承擔(dān)的工作負(fù)載有時過重(飽和),有時過輕(饑餓)。在現(xiàn)有技術(shù)中,即使當(dāng)處理器負(fù)載過輕,處理器也是全速運(yùn)行。這樣顯然是不經(jīng)濟(jì)的。
處理器在傳統(tǒng)上是不受自身指令控制的,而處理器核(分軟核、硬核)是SOC芯片中的一個核,當(dāng)然是最重要的,一般繼承處理器技術(shù)而面向特定總線架構(gòu)而設(shè)計,對功耗要求較高。
因此,就需要有一種變頻裝置,能夠在動態(tài)情況下實(shí)現(xiàn)對處理器核的變頻,使得處理器核能在多種主頻下運(yùn)行。這樣,就允許在系統(tǒng)負(fù)載重的情況下選擇高頻運(yùn)行,在系統(tǒng)負(fù)載輕的情況下選擇低頻運(yùn)行。
發(fā)明內(nèi)容
本發(fā)明的主要目的為SOC架構(gòu)下的處理器核提供一種變頻的裝置和方法,能夠在動態(tài)情況下實(shí)現(xiàn)對處理器核的變頻,使得處理器核能在多種主頻下運(yùn)行。
為了實(shí)現(xiàn)上述目的,本發(fā)明提供一種SOC架構(gòu)下的處理器核動態(tài)變頻裝置,包括處理器核和一個為處理器核提供時鐘信號的主鎖相環(huán),還包括一個輔助鎖相環(huán),用于向處理器核提供時鐘信號;一個時鐘切換電路,該電路切換主鎖相環(huán)和輔助鎖相環(huán)輸出的時鐘信號,并將主鎖相環(huán)和輔助鎖相環(huán)輸出的時鐘信號中的一個提供給處理器核;一個與主鎖相環(huán)連接的變頻寄存器,用于存儲變頻系數(shù)。
其中,所述時鐘切換電路包括一變頻標(biāo)記輸入端,該輸入端接收變頻標(biāo)記信號,該變頻標(biāo)記信號控制時鐘切換電路對主鎖相環(huán)和輔助鎖相環(huán)輸出的時鐘信號進(jìn)行切換。
所述輔助鎖相環(huán)復(fù)用SOC上用于產(chǎn)生外圍部件的時鐘的鎖相環(huán)。
本發(fā)明還提供一種SOC架構(gòu)下的處理器核動態(tài)變頻方法,包括步驟1)發(fā)送一變頻標(biāo)記信號至切換電路;2)切換電路將時鐘總線從主鎖相環(huán)切換至輔助鎖相環(huán);3)更新變頻寄存器中的變頻系數(shù);4)變頻標(biāo)記信號發(fā)生電位變化;5)切換電路將時鐘總線從輔助鎖相環(huán)切換回主鎖相環(huán)。
其中,在步驟2)中,切換電路首先將主鎖相環(huán)提供的時鐘總線切斷,然后接通輔助鎖相環(huán)提供的時鐘總線。在步驟5)中,切換電路首先將輔助鎖相環(huán)提供的時鐘總線切斷,然后接通主鎖相環(huán)提供的時鐘總線。
采用本發(fā)明的變頻裝置和方法可以實(shí)現(xiàn)處理器核的動態(tài)變頻,根據(jù)變頻寄存器中不同的變頻系數(shù),該變頻裝置可以為處理器核提供多種頻率的時鐘總線,并且實(shí)現(xiàn)動態(tài)切換,以供系統(tǒng)在不同的負(fù)載下使用,達(dá)到系統(tǒng)合理利用功耗、節(jié)省電能的目的。
圖1是本發(fā)明的處理器核動態(tài)變頻裝置圖;圖2是本發(fā)明的處理器核動態(tài)變頻裝置的工作流程圖;圖3是將時鐘信號從CPU_clk切換到AUX_clk波形圖;圖4是將時鐘信號從AUX_clk切換回CPU_clk波形;具體實(shí)施方式
下面結(jié)合附圖和具體實(shí)施方式
對本發(fā)明作進(jìn)一步詳細(xì)描述。
如圖1所示的本發(fā)明的變頻裝置,主PLL和輔助PLL通過一個切換電路為處理器核提供時鐘信號。切換電路具有一個輸入端,該輸入端用于接收變頻標(biāo)記信號Tag。變頻標(biāo)記信號Tag控制切換電路在主PLL和輔助PLL提供的時鐘信號之間進(jìn)行切換,使得切換電路在某一時刻只將主PLL和輔助PLL中一個的時鐘信號提供給處理器核,這種切換電路的實(shí)現(xiàn)對本領(lǐng)域的一般技術(shù)人員來說是顯而易見的。一個變頻寄存器與主PLL相連,其中存儲有變頻系數(shù)Cpupll。主PLL根據(jù)該變頻系數(shù)Cpupll調(diào)整其輸出的時鐘信號的頻率,例如在后述的實(shí)施例中,變頻系數(shù)Cpupll在變頻前后由8變?yōu)?1,主PLL的輸出頻率在變頻前后相應(yīng)地發(fā)生變化。
具體的變頻流程如圖2所示,并結(jié)合圖3和圖4的波形圖。在圖3和圖4中,Cpupll為變頻系數(shù),Tag為變頻標(biāo)記信號,CPU_clk為主PLL提供的時鐘信號,AUX_clk為輔助PLL提供的時鐘信號,CPUclk為經(jīng)切換電路后最終提供給處理器核的時鐘信號。
在圖2的步驟101中,處理器核通常運(yùn)行于主PLL提供的時鐘頻率,即圖3和圖4中的CPU_clk,此時,變頻系數(shù)Cpupll為8。在圖3和圖4可看出,由于主PLL提供的時鐘信號CPU_clk是經(jīng)切換電路后提供給處理器核的,因此處理器核最終運(yùn)行的時鐘信號CPUclk要比CPU_clk稍微延遲。
在步驟102中,切換電路接收到一個變頻標(biāo)記信號,該變頻標(biāo)記信號表示在隨后的步驟中將要進(jìn)行時鐘總線的切換并且對主PLL進(jìn)行變頻。例如,在圖3中,變頻標(biāo)記信號Tag發(fā)生一個電位變化,從低電位跳到高電位,或者說從“0”變化到“1”。在步驟103中,當(dāng)變頻標(biāo)記Tag為“1”時,經(jīng)過CPU_clk時鐘的兩個時鐘同步后,切換電路將處理器核的時鐘總線從CPU_clk切換到AUX_clk。為了使得切換時鐘總線后輸出的時鐘信號CPUclk不產(chǎn)生尖脈沖,保證切換的平穩(wěn)進(jìn)行,確保處理器核正常運(yùn)行,首先將CPU_clk到CPUclk切斷,然后將AUX_clk連通CPUclk,從而保證脈沖的完整性。
在步驟104中,處理器核平穩(wěn)運(yùn)行于輔助PLL提供的時鐘AUX_clk,如圖3所示。
在步驟105中,將新的變頻系數(shù)Cpupll存儲于變頻存儲器,例如在圖3中,Cpupll由8變?yōu)?1。
在步驟106中,主PLL根據(jù)新的變頻系數(shù)Cpupll輸出變頻后的時鐘信號,這一過程一般需要10個指令周期的時間段來平穩(wěn)(與所選的鎖相環(huán)PLL有關(guān)),如圖3所示。
在步驟107中,變頻標(biāo)記信號再次發(fā)生電位變化,該變化表示隨后的步驟中將要將處理器核的時鐘總線從輔助PLL的AUX_clk切換回主PLL的CPU_clk。例如在圖4中,變頻標(biāo)記信號Tag從高電位跳到低電位,或者說從“1”變化到“0”。
在步驟108中,在變頻標(biāo)記Tag變?yōu)椤?”時,經(jīng)過兩個時鐘同步后,切換電路將處理器核的時鐘總線從AUX_clk切換回到CPU_clk,為了使得切換時鐘總線后輸出的時鐘信號CPUclk不產(chǎn)生尖脈沖,保證切換的平穩(wěn)進(jìn)行,確保處理器核正常運(yùn)行,首先將AUX_clk到CPUclk切斷,然后將CPU_clk連通CPUclk,從而保證脈沖的完整性,變頻結(jié)束。
在圖1所示的本發(fā)明的裝置中,處理器核、主PLL是常規(guī)的部件,本發(fā)明通過一個輔助PLL來提供變頻的過渡過程,以便在處理器核的工作過程中實(shí)現(xiàn)其動態(tài)變頻。對于輔助PLL,可以提供一個獨(dú)立的PLL電路來實(shí)現(xiàn),但對于SOC來說,往往具有一個用于產(chǎn)生外圍部件的時鐘的PLL,本發(fā)明中的輔助PLL可以復(fù)用該P(yáng)LL來實(shí)現(xiàn)動態(tài)變頻。
采用本發(fā)明的變頻裝置后,當(dāng)系統(tǒng)負(fù)載發(fā)生變化時,可以通過向變頻裝置發(fā)送變頻標(biāo)記信號Tag以及更新變頻寄存器中的變頻系數(shù)來實(shí)現(xiàn)處理器核的動態(tài)變頻。
SOC動態(tài)變頻工作可以在BIOS中設(shè)置,也可以在任務(wù)(或進(jìn)程)調(diào)度時采用,更大的好處是系統(tǒng)自動偵測負(fù)載,后臺處理變頻工作,系統(tǒng)合理利用功耗,達(dá)到節(jié)省電能的目的。
權(quán)利要求
1.一種SOC架構(gòu)下的處理器核動態(tài)變頻裝置,包括處理器核和一個為處理器核提供時鐘信號的主鎖相環(huán),其特征在于,還包括一個輔助鎖相環(huán),用于向處理器核提供時鐘信號;一個時鐘切換電路,該電路切換主鎖相環(huán)和輔助鎖相環(huán)輸出的時鐘信號,并將主鎖相環(huán)和輔助鎖相環(huán)輸出的時鐘信號中的一個提供給處理器核;一個與主鎖相環(huán)連接的變頻寄存器,用于存儲變頻系數(shù)。其中,所述時鐘切換電路包括一變頻標(biāo)記輸入端,該輸入端接收變頻標(biāo)記信號,該變頻標(biāo)記信號控制時鐘切換電路對主鎖相環(huán)和輔助鎖相環(huán)輸出的時鐘信號進(jìn)行切換。
2.根據(jù)權(quán)利要求1所述的SOC架構(gòu)下的處理器核動態(tài)變頻裝置,其特征在于,所述輔助鎖相環(huán)復(fù)用SOC上用于產(chǎn)生外圍部件的時鐘的鎖相環(huán)。
3.一種SOC架構(gòu)下的處理器核動態(tài)變頻方法,包括步驟1)發(fā)送一變頻標(biāo)記信號至切換電路;2)切換電路將時鐘總線從主鎖相環(huán)切換至輔助鎖相環(huán);3)更新變頻寄存器中的變頻系數(shù);4)變頻標(biāo)記信號發(fā)生電位變化;5)切換電路將時鐘總線從輔助鎖相環(huán)切換回主鎖相環(huán)。
4.根據(jù)權(quán)利要求3所述的SOC架構(gòu)下的處理器核動態(tài)變頻方法,其特征在于,步驟2)中,切換電路首先將主鎖相環(huán)提供的時鐘總線切斷,然后接通輔助鎖相環(huán)提供的時鐘總線。
5.根據(jù)權(quán)利要求3所述的SOC架構(gòu)下的處理器核動態(tài)變頻方法,其特征在于,步驟5)中,切換電路首先將輔助鎖相環(huán)提供的時鐘總線切斷,然后接通主鎖相環(huán)提供的時鐘總線。
全文摘要
本發(fā)明公開了一種SOC架構(gòu)下的處理器核動態(tài)變頻裝置和方法,該變頻裝置包括處理器核和為處理器核提供時鐘信號的主鎖相環(huán)和輔助鎖相環(huán),用于存儲變頻系數(shù)的變頻寄存器與主鎖相環(huán)連接,時鐘切換電路切換主鎖相環(huán)和輔助鎖相環(huán)輸出的時鐘信號,并將主鎖相環(huán)和輔助鎖相環(huán)輸出的時鐘信號中的一個提供給處理器核。時鐘切換電路包括一變頻標(biāo)記輸入端,該輸入端接收變頻標(biāo)記信號。采用本發(fā)明的變頻裝置和方法可以實(shí)現(xiàn)處理器核的動態(tài)變頻,根據(jù)變頻寄存器中不同的變頻系數(shù),該變頻裝置可以為處理器核提供多種頻率的時鐘總線,并且實(shí)現(xiàn)動態(tài)切換,以供系統(tǒng)在不同的負(fù)載下使用,達(dá)到系統(tǒng)合理利用功耗、節(jié)省電能的目的。
文檔編號G06F1/08GK1661512SQ20041000459
公開日2005年8月31日 申請日期2004年2月24日 優(yōu)先權(quán)日2004年2月24日
發(fā)明者張志敏 申請人:中國科學(xué)院計算技術(shù)研究所