本發(fā)明涉及SOC芯片設(shè)計(jì)領(lǐng)域,特別涉及一種基于硬件變頻的方法和裝置。
背景技術(shù):
移動(dòng)設(shè)備的SOC架構(gòu)通常由CPU、GPU、VPU等功能模塊,以及總線互連模塊組成。每個(gè)功能模塊及總線互連模塊可以使用不同的工作時(shí)鐘頻率和工作電壓。為了滿足最佳功耗與性能的匹配,部分功能模塊如CPU、GPU可以根據(jù)實(shí)際需要工作在不同的時(shí)鐘頻率下,較低的時(shí)鐘頻率可以使用較低電壓以達(dá)到降低功率消耗的目的。
然而,現(xiàn)有的變頻方案存在著諸多問題:第一,系統(tǒng)的DVFS(動(dòng)態(tài)電壓頻率調(diào)節(jié))只實(shí)現(xiàn)CPU等主要功能模塊,并沒有實(shí)現(xiàn)針對(duì)整個(gè)SOC架構(gòu)范圍的DVFS技術(shù)。尤其是總線互連模塊和DRAM控制模塊(以DDR為例,后文稱DDR單元),其作為系統(tǒng)關(guān)鍵路徑,不同功能模塊工作時(shí)需要通過總線互連模塊來傳輸數(shù)據(jù),很難通過實(shí)現(xiàn)軟件控制總線互聯(lián)模塊的DVFS,導(dǎo)致該模塊在工作時(shí)功耗無(wú)法得到有效優(yōu)化;第二,現(xiàn)有的DVFS通常由軟件進(jìn)行控制,存在調(diào)整滯后的問題;第三,通過軟件來實(shí)現(xiàn)DVFS,軟件本身運(yùn)行需要占用CPU資源,這與通過DVFS實(shí)現(xiàn)降低系統(tǒng)功耗目的相悖。
技術(shù)實(shí)現(xiàn)要素:
為此,需要提供一種基于硬件變頻的技術(shù)方案,用以解決現(xiàn)有的變頻方案無(wú)法覆蓋整個(gè)SOC架構(gòu)的各個(gè)模塊,系統(tǒng)關(guān)鍵路徑(如總線互連模塊)很難通過軟件調(diào)頻,導(dǎo)致系統(tǒng)功耗增加,以及軟件本身需要消耗系統(tǒng)資源導(dǎo)致降低功耗不佳等問題。
為此,發(fā)明人提供了一種基于硬件變頻的裝置,所述裝置包括目標(biāo)單元、變頻監(jiān)測(cè)單元和變頻控制單元,所述目標(biāo)單元為待變頻的單元,每一目標(biāo)單元對(duì)應(yīng)一變頻監(jiān)測(cè)單元,變頻監(jiān)測(cè)單元與變頻控制單元連接;所述變頻監(jiān)測(cè)單元包括負(fù)載監(jiān)測(cè)單元、判斷單元和變頻請(qǐng)求發(fā)送單元;所述變頻控制單元包括變頻策略確定單元和變頻策略執(zhí)行單元;
所述負(fù)載監(jiān)測(cè)單元用于監(jiān)測(cè)目標(biāo)單元的負(fù)載數(shù)據(jù),所述負(fù)載數(shù)據(jù)為目標(biāo)單元在預(yù)設(shè)時(shí)間內(nèi)的空閑狀態(tài)與工作狀態(tài)的時(shí)間占比;
所述判斷單元用于判斷當(dāng)前目標(biāo)單元的負(fù)載數(shù)據(jù)是否大于第一預(yù)設(shè)閾值或小于第二預(yù)設(shè)閾值,若是則變頻請(qǐng)求發(fā)送單元用于發(fā)送第一變頻請(qǐng)求至變頻控制單元;
所述變頻策略確定單元用于接收第一變頻請(qǐng)求,并根據(jù)負(fù)載數(shù)據(jù)與變頻策略的對(duì)應(yīng)關(guān)系,確定目標(biāo)單元對(duì)應(yīng)的目標(biāo)頻率;
所述變頻策略執(zhí)行單元用于執(zhí)行變頻策略確定單元所確定目標(biāo)頻率,將目標(biāo)單元的頻率調(diào)整為目標(biāo)頻率。
進(jìn)一步地,所述裝置還包括溫控單元,所述溫控單元與變頻控制單元連接;
所述溫控單元用于監(jiān)測(cè)目標(biāo)單元的當(dāng)前溫度,并在目標(biāo)單元的當(dāng)前溫度大于第三預(yù)設(shè)閾值或小于第四預(yù)設(shè)閾值時(shí),發(fā)送第二變頻請(qǐng)求至變頻控制單元;
所述變頻策略確定單元用于接收第二變頻請(qǐng)求,并根據(jù)溫度與變頻策略的對(duì)應(yīng)關(guān)系,確定目標(biāo)單元對(duì)應(yīng)的最高變頻頻率;
所述變頻策略執(zhí)行單元用于執(zhí)行變頻策略確定單元所確定變頻策略,將目標(biāo)單元的頻率調(diào)整為最高變頻頻率。
進(jìn)一步地,“變頻策略執(zhí)行單元用于執(zhí)行變頻策略確定單元所確定目標(biāo)頻率,將目標(biāo)單元的頻率調(diào)整為目標(biāo)頻率”包括:當(dāng)目標(biāo)頻率大于最高變頻頻率時(shí),將目標(biāo)單元的頻率調(diào)整為最高變頻頻率;當(dāng)目標(biāo)頻率不大于最高變頻頻率時(shí),將目標(biāo)單元的頻率調(diào)整為目標(biāo)頻率。
進(jìn)一步地,所述目標(biāo)單元還用于發(fā)送第三變頻請(qǐng)求至變頻控制單元,所述變頻策略執(zhí)行單元用于將目標(biāo)單元的頻率調(diào)整為預(yù)設(shè)頻率。
進(jìn)一步地,所述“變頻策略執(zhí)行單元用于將目標(biāo)單元的頻率調(diào)整為目標(biāo)頻率”包括:變頻策略執(zhí)行單元通過調(diào)節(jié)目標(biāo)單元的工作電壓來對(duì)目標(biāo)單元的頻率進(jìn)行調(diào)整。
進(jìn)一步地,所述目標(biāo)單元包括總線互連單元和DDR單元。
發(fā)明人還提供了一種基于硬件變頻的方法,所述方法應(yīng)用于基于硬件變頻的裝置,所述裝置包括目標(biāo)單元、變頻監(jiān)測(cè)單元和變頻控制單元,所述目標(biāo)單元為待變頻的單元,每一目標(biāo)單元對(duì)應(yīng)一變頻監(jiān)測(cè)單元,變頻監(jiān)測(cè)單元與變頻控制單元連接;所述變頻監(jiān)測(cè)單元包括負(fù)載監(jiān)測(cè)單元、判斷單元和變頻請(qǐng)求發(fā)送單元;所述變頻控制單元包括變頻策略確定單元和變頻策略執(zhí)行單元;所述方法包括以下步驟:
負(fù)載監(jiān)測(cè)單元監(jiān)測(cè)目標(biāo)單元的負(fù)載數(shù)據(jù),所述負(fù)載數(shù)據(jù)為目標(biāo)單元在預(yù)設(shè)時(shí)間內(nèi)的空閑狀態(tài)與工作狀態(tài)的時(shí)間占比;
判斷單元判斷當(dāng)前目標(biāo)單元的負(fù)載數(shù)據(jù)是否大于第一預(yù)設(shè)閾值或小于第二預(yù)設(shè)閾值,若是則變頻請(qǐng)求發(fā)送單元發(fā)送第一變頻請(qǐng)求至變頻控制單元;
變頻策略確定單元接收第一變頻請(qǐng)求,并根據(jù)負(fù)載數(shù)據(jù)與變頻策略的對(duì)應(yīng)關(guān)系,確定目標(biāo)單元對(duì)應(yīng)的目標(biāo)頻率;
變頻策略執(zhí)行單元執(zhí)行變頻策略確定單元所確定目標(biāo)頻率,將目標(biāo)單元的頻率調(diào)整為目標(biāo)頻率。
進(jìn)一步地,所述裝置還包括溫控單元,所述溫控單元與變頻控制單元連接;所述方法包括:
溫控單元監(jiān)測(cè)目標(biāo)單元的當(dāng)前溫度,并在目標(biāo)單元的當(dāng)前溫度大于第三預(yù)設(shè)閾值或小于第四預(yù)設(shè)閾值時(shí),發(fā)送第二變頻請(qǐng)求至變頻控制單元;
變頻策略確定單元接收第二變頻請(qǐng)求,并根據(jù)溫度與變頻策略的對(duì)應(yīng)關(guān)系,確定目標(biāo)單元對(duì)應(yīng)的最高變頻頻率;
變頻策略執(zhí)行單元執(zhí)行變頻策略確定單元所確定變頻策略,將目標(biāo)單元的頻率調(diào)整為最高變頻頻率。
進(jìn)一步地,“變頻策略執(zhí)行單元執(zhí)行變頻策略確定單元所確定目標(biāo)頻率,將目標(biāo)單元的頻率調(diào)整為目標(biāo)頻率”包括:當(dāng)目標(biāo)頻率大于最高變頻頻率時(shí),將目標(biāo)單元的頻率調(diào)整為最高變頻頻率;當(dāng)目標(biāo)頻率不大于最高變頻頻率時(shí),將目標(biāo)單元的頻率調(diào)整為目標(biāo)頻率。
進(jìn)一步地,所述方法還包括:目標(biāo)單元發(fā)送第三變頻請(qǐng)求至變頻控制單元,所述變頻策略執(zhí)行單元用于將目標(biāo)單元的頻率調(diào)整為預(yù)設(shè)頻率。
進(jìn)一步地,所述“變頻策略執(zhí)行單元將目標(biāo)單元的頻率調(diào)整為目標(biāo)頻率”包括:變頻策略執(zhí)行單元通過調(diào)節(jié)目標(biāo)單元的工作電壓來對(duì)目標(biāo)單元的頻率進(jìn)行調(diào)整。
進(jìn)一步地,所述目標(biāo)單元包括總線互連單元和DDR單元。
上述技術(shù)方案所述的基于硬件變頻的方法和裝置,所述裝置包括目標(biāo)單元、變頻監(jiān)測(cè)單元和變頻控制單元,所述目標(biāo)單元為待變頻的單元,每一目標(biāo)單元對(duì)應(yīng)一個(gè)變頻監(jiān)測(cè)單元;所述變頻監(jiān)測(cè)單元包括負(fù)載監(jiān)測(cè)單元、判斷單元和變頻請(qǐng)求發(fā)送單元;所述變頻控制單元包括變頻策略確定單元和變頻策略執(zhí)行單元。在使用時(shí)可以通過負(fù)載監(jiān)測(cè)單元實(shí)時(shí)監(jiān)測(cè)目標(biāo)單元的負(fù)載數(shù)據(jù),
當(dāng)判斷當(dāng)前目標(biāo)單元的負(fù)載數(shù)據(jù)大于第一預(yù)設(shè)閾值或小于第二預(yù)設(shè)閾值時(shí),變頻策略確定單元確定當(dāng)前的變頻策略,并將目標(biāo)單元的工作頻率調(diào)整為變頻策略對(duì)應(yīng)的工作頻率。所有的變頻過程經(jīng)過變頻控制單元控制實(shí)現(xiàn),相較于利用軟件實(shí)現(xiàn)變頻的方式而言,適用性更為廣泛,可以高效執(zhí)行目標(biāo)單元的變頻,進(jìn)而降低系統(tǒng)功耗。
附圖說明
圖1為本發(fā)明一實(shí)施方式涉及的基于硬件變頻的裝置示意圖;
圖2為本發(fā)明另一實(shí)施方式涉及的基于硬件變頻的示意圖;
圖3為本發(fā)明一實(shí)施方式涉及的變頻監(jiān)測(cè)單元的示意圖;
圖4為本發(fā)明一實(shí)施方式涉及的變頻控制單元的示意圖;
圖5為本發(fā)明一實(shí)施方式涉及的DVFS表格的示意圖;
圖6為本發(fā)明一實(shí)施方式涉及的溫控表格的示意圖;
圖7為本發(fā)明一實(shí)施方式涉及的工作電壓與工作頻率對(duì)應(yīng)關(guān)系的示意圖;
圖8為本發(fā)明一實(shí)施方式涉及的基于硬件變頻的方法的流程圖;
圖9為本發(fā)明另一實(shí)施方式涉及的基于硬件變頻的方法的流程圖。
附圖標(biāo)記說明:
101、目標(biāo)單元;
102、變頻監(jiān)測(cè)單元;121、負(fù)載監(jiān)測(cè)單元;122、判斷單元;123、變頻請(qǐng)求發(fā)送單元;
103、變頻控制單元;131、變頻策略確定單元;132、變頻策略執(zhí)行單元;
104、溫控單元。
具體實(shí)施方式
為詳細(xì)說明技術(shù)方案的技術(shù)內(nèi)容、構(gòu)造特征、所實(shí)現(xiàn)目的及效果,以下結(jié)合具體實(shí)施例并配合附圖詳予說明。
請(qǐng)參閱圖1,為本發(fā)明一實(shí)施方式涉及的基于硬件變頻的裝置示意圖。所述置包括目標(biāo)單元101、變頻監(jiān)測(cè)單元102和變頻控制單元103,所述目標(biāo)單元101為待變頻的單元,每一目標(biāo)單元101對(duì)應(yīng)一變頻監(jiān)測(cè)單元102,變頻監(jiān)測(cè)單元102與變頻控制單元103連接;所述變頻監(jiān)測(cè)單元102包括負(fù)載監(jiān)測(cè)單元121、判斷單元122和變頻請(qǐng)求發(fā)送單元123;所述變頻控制單元103包括變頻策略確定單元131和變頻策略執(zhí)行單元132;
所述負(fù)載監(jiān)測(cè)單元121用于監(jiān)測(cè)目標(biāo)單元的負(fù)載數(shù)據(jù),所述負(fù)載數(shù)據(jù)為目標(biāo)單元在預(yù)設(shè)時(shí)間內(nèi)的空閑狀態(tài)與工作狀態(tài)的時(shí)間占比;
所述判斷單元122用于判斷當(dāng)前目標(biāo)單元的負(fù)載數(shù)據(jù)是否大于第一預(yù)設(shè)閾值或小于第二預(yù)設(shè)閾值,若是則變頻請(qǐng)求發(fā)送單元123用于發(fā)送第一變頻請(qǐng)求至變頻控制單元;
所述變頻策略確定單元131用于接收第一變頻請(qǐng)求,并根據(jù)負(fù)載數(shù)據(jù)與變頻策略的對(duì)應(yīng)關(guān)系,確定目標(biāo)單元對(duì)應(yīng)的目標(biāo)頻率;
所述變頻策略執(zhí)行單元132用于執(zhí)行變頻策略確定單元所確定目標(biāo)頻率,將目標(biāo)單元的頻率調(diào)整為目標(biāo)頻率。
在使用基于硬件變頻的裝置時(shí),首先負(fù)載監(jiān)測(cè)單元監(jiān)測(cè)目標(biāo)單元的負(fù)載數(shù)據(jù),所述負(fù)載數(shù)據(jù)為目標(biāo)單元在預(yù)設(shè)時(shí)間內(nèi)的空閑狀態(tài)與工作狀態(tài)的時(shí)間占比。在本實(shí)施方式中,所述目標(biāo)單元包括總線互連單元和DDR單元??偩€互連單元是SOC系統(tǒng)的關(guān)鍵路徑,許多數(shù)據(jù)需要通過總線互連單元才可從一個(gè)功能單元傳輸至另一個(gè)功能單元,因而采用軟件的變頻方法很難對(duì)總線互連單元進(jìn)行變頻,而DDR作為系統(tǒng)內(nèi)存,其存儲(chǔ)的數(shù)據(jù)負(fù)載往往實(shí)時(shí)變化,也難以通過軟件來實(shí)現(xiàn)變頻。本裝置通過在總線互連單元和DDR單元中增加負(fù)載檢測(cè)單元,實(shí)時(shí)監(jiān)測(cè)總線以及DDR的負(fù)載狀態(tài),獲取負(fù)載數(shù)據(jù),進(jìn)而根據(jù)負(fù)載數(shù)據(jù)的情況來決定是否要變頻。
而后判斷單元判斷當(dāng)前目標(biāo)單元的負(fù)載數(shù)據(jù)是否大于第一預(yù)設(shè)閾值或小于第二預(yù)設(shè)閾值。在本實(shí)施方式中,第一預(yù)設(shè)閾值為所設(shè)定的目標(biāo)單元對(duì)應(yīng)的負(fù)載上限值,第二預(yù)設(shè)閾值為所設(shè)定的目標(biāo)單元對(duì)應(yīng)的負(fù)載下限值。如圖3所示,判斷單元可以用上限比較器和下限比較器來實(shí)現(xiàn),上線比較器用于將當(dāng)前負(fù)載數(shù)據(jù)與負(fù)載上限值進(jìn)行比較,下線比較器用于將當(dāng)前負(fù)載數(shù)據(jù)與負(fù)載下限值進(jìn)行比較,定時(shí)器可以用于設(shè)定采樣周期,在本實(shí)施方式中,采樣周期為50ms,即每隔50ms對(duì)負(fù)載數(shù)據(jù)進(jìn)行采樣。如果判斷單元判定當(dāng)前目標(biāo)單元的負(fù)載數(shù)據(jù)是否大于第一預(yù)設(shè)閾值或小于第二預(yù)設(shè)閾值,說明需要對(duì)目標(biāo)單元進(jìn)行變頻,具體地,當(dāng)判斷單元判定當(dāng)前目標(biāo)單元的負(fù)載數(shù)據(jù)大于第一預(yù)設(shè)閾值時(shí),需要調(diào)高目標(biāo)單元的工作頻率;當(dāng)判斷單元判定當(dāng)前目標(biāo)單元的負(fù)載數(shù)據(jù)小于第二預(yù)設(shè)閾值時(shí),需要調(diào)低目標(biāo)單元的工作頻率。
而后變頻策略確定單元接收第一變頻請(qǐng)求,并根據(jù)負(fù)載數(shù)據(jù)與變頻策略的對(duì)應(yīng)關(guān)系,確定目標(biāo)單元對(duì)應(yīng)的目標(biāo)頻率。而后變頻策略執(zhí)行單元執(zhí)行變頻策略確定單元所確定目標(biāo)頻率,將目標(biāo)單元的頻率調(diào)整為目標(biāo)頻率。如圖5所示,為本發(fā)明一實(shí)施方式涉及的DVFS表格的示意圖。其中MAX表示頻率電壓表中最高檔頻率,ID表示當(dāng)前頻率在頻率電壓表中的序號(hào),ID+1或者-1表示調(diào)整到需要更高或者更低一檔頻率。每一檔頻率都對(duì)應(yīng)一個(gè)頻率范圍值,例如當(dāng)前目標(biāo)單元的負(fù)載數(shù)據(jù)從60%提升至80%,則說明需要將目標(biāo)單元的工作頻率提高一檔,假設(shè)原來的工作頻率為1.2GHZ,從圖7中可以看出,高一檔的頻率為1.35GHZ,即需要將目標(biāo)單元的工作頻率從1.2GHZ提高至1.35GHZ。在本實(shí)施方式中,所述“變頻策略執(zhí)行單元用于將目標(biāo)單元的頻率調(diào)整為目標(biāo)頻率”包括:變頻策略執(zhí)行單元通過調(diào)節(jié)目標(biāo)單元的工作電壓來對(duì)目標(biāo)單元的頻率進(jìn)行調(diào)整。如圖6所示,1.2GHZ工作頻率對(duì)應(yīng)的工作電壓為1100mV,1.3GHZ工作頻率對(duì)應(yīng)的工作電壓為1200mV,因而變頻策略執(zhí)行單元將目標(biāo)單元的工作電壓從1100mV調(diào)整為1200mV,使得目標(biāo)單元的頻率調(diào)整為1.35GHZ。所述變頻策略可以通過軟件配置的形式進(jìn)行修改,可靈活適配不同產(chǎn)品系統(tǒng)的實(shí)際使用。
在本實(shí)施方式中,所述裝置還包括溫控單元104,所述溫控單元104與變頻控制單元103連接。所述溫控單元104用于監(jiān)測(cè)目標(biāo)單元的當(dāng)前溫度,并在目標(biāo)單元的當(dāng)前溫度大于第三預(yù)設(shè)閾值或小于第四預(yù)設(shè)閾值時(shí),發(fā)送第二變頻請(qǐng)求至變頻控制單元;所述變頻策略確定單元131用于接收第二變頻請(qǐng)求,并根據(jù)溫度與變頻策略的對(duì)應(yīng)關(guān)系,確定目標(biāo)單元對(duì)應(yīng)的最高變頻頻所述變頻策略執(zhí)行單元132用于執(zhí)行變頻策略確定單元所確定變頻策略,將目標(biāo)單元的頻率調(diào)整為最高變頻頻率。目標(biāo)單元的工作頻率除了受到負(fù)載數(shù)據(jù)等因素的影響需要調(diào)整外,也受到溫度的限制。如圖6所示,當(dāng)溫度達(dá)到一定值時(shí),目標(biāo)單元所能運(yùn)行的最高工作頻率也存在著上限值。所述“變頻策略執(zhí)行單元用于執(zhí)行變頻策略確定單元所確定目標(biāo)頻率,將目標(biāo)單元的頻率調(diào)整為目標(biāo)頻率”包括:當(dāng)目標(biāo)頻率大于最高變頻頻率時(shí),將目標(biāo)單元的頻率調(diào)整為最高變頻頻率;當(dāng)目標(biāo)頻率不大于最高變頻頻率時(shí),將目標(biāo)單元的頻率調(diào)整為目標(biāo)頻率。同樣以根據(jù)負(fù)載數(shù)據(jù)需要將當(dāng)前的目標(biāo)單元的頻率從1.25GHZ提高至1.35HZ為例,假設(shè)這時(shí)目標(biāo)單元的溫度達(dá)到90℃,從表中可以看出在90℃下所允許的最高變頻頻率為1GHZ,因而變頻策略執(zhí)行單元將會(huì)把目標(biāo)單元的工作頻率調(diào)整為1GHZ而非1.35HZ,而如果當(dāng)前目標(biāo)單元的溫度低于80℃,也就是說目標(biāo)單元當(dāng)前所能運(yùn)行的最高變頻頻率要高于1.35GHZ,則變頻策略執(zhí)行單元將會(huì)把目標(biāo)單元的工作頻率調(diào)整為1GHZ而非1.35HZ,以滿足性能需要。
在本實(shí)施方式中,所述目標(biāo)單元還用于發(fā)送第三變頻請(qǐng)求至變頻控制單元,所述變頻策略執(zhí)行單元用于將目標(biāo)單元的頻率調(diào)整為預(yù)設(shè)頻率。目標(biāo)單元在執(zhí)行某些特殊工作(如必須在很短的時(shí)間內(nèi)完成少量的數(shù)據(jù)運(yùn)算并傳遞給下一流程)時(shí),可能需要要按最高性能模式來完成,這時(shí)候目標(biāo)單元可以主動(dòng)向變頻控制單元發(fā)起第三變頻請(qǐng)求,變頻策略確定單元會(huì)根據(jù)其他變頻條件(目標(biāo)單元的負(fù)載情況、溫度情況等),以確定是否可以將當(dāng)前目標(biāo)單元的工作頻率調(diào)整為預(yù)設(shè)頻率(即所需要的高性能對(duì)應(yīng)的頻率),如果達(dá)到變頻條件,變頻策略執(zhí)行單元將目標(biāo)單元的頻率調(diào)整為預(yù)設(shè)頻率。第三變頻請(qǐng)求可以根據(jù)目標(biāo)單元收到的操作請(qǐng)求自行觸發(fā)或者由軟件設(shè)置接口觸發(fā)。
如圖2,為本發(fā)明另一實(shí)施方式涉及的基于硬件變頻的示意圖。DVFS(Dynamic Voltage and Frequency Scaling)動(dòng)態(tài)電壓頻率調(diào)節(jié),是一種實(shí)時(shí)的電壓和頻率調(diào)節(jié)技術(shù)。圖中的CPU、GPU、VCODEC、LCDC、DRAM、總線互連等為目標(biāo)單元,可以看出目標(biāo)單元都有一對(duì)應(yīng)的DVFSI模塊(即本發(fā)明中的變頻監(jiān)測(cè)單元),圖中的DVFSC為本發(fā)明中的變頻控制單元。如圖3所示,當(dāng)負(fù)載監(jiān)測(cè)單元通過上限比較器和下限比較器監(jiān)測(cè)到當(dāng)前目標(biāo)單元的負(fù)載數(shù)據(jù)超過預(yù)設(shè)范圍(即不落入兩者的區(qū)間內(nèi))時(shí),將發(fā)送變頻請(qǐng)求至DVFSC。如圖4所示,DVFSC在接收到變頻請(qǐng)求后,會(huì)從DVFS表格中獲取當(dāng)前目標(biāo)單元的負(fù)載數(shù)據(jù)對(duì)應(yīng)的目標(biāo)頻率,同時(shí)也會(huì)從溫控模塊(即溫控單元)中根據(jù)溫控表格進(jìn)而確定當(dāng)前目標(biāo)單元所能運(yùn)行的最高變頻頻率,對(duì)兩者進(jìn)行比較將其發(fā)送至頻率電壓控制單元(即本發(fā)明的變頻策略執(zhí)行單元),進(jìn)而通過調(diào)整目標(biāo)單元的工作電壓將目標(biāo)單元的工作頻率調(diào)整為所需要的頻率。
以及發(fā)明人還提供了一種基于硬件變頻的方法,所述方法應(yīng)用于基于硬件變頻的裝置,所述裝置包括目標(biāo)單元、變頻監(jiān)測(cè)單元和變頻控制單元,所述目標(biāo)單元為待變頻的單元,每一目標(biāo)單元對(duì)應(yīng)一變頻監(jiān)測(cè)單元,變頻監(jiān)測(cè)單元與變頻控制單元連接;所述變頻監(jiān)測(cè)單元包括負(fù)載監(jiān)測(cè)單元、判斷單元和變頻請(qǐng)求發(fā)送單元;所述變頻控制單元包括變頻策略確定單元和變頻策略執(zhí)行單元。如圖8所示,為本發(fā)明一實(shí)施方式涉及的基于硬件變頻的方法的流程圖。所述方法包括以下步驟:
首先進(jìn)入步驟S801負(fù)載監(jiān)測(cè)單元監(jiān)測(cè)目標(biāo)單元的負(fù)載數(shù)據(jù).所述負(fù)載數(shù)據(jù)為目標(biāo)單元在預(yù)設(shè)時(shí)間內(nèi)的空閑狀態(tài)與工作狀態(tài)的時(shí)間占比。在本實(shí)施方式中,所述目標(biāo)單元包括總線互連單元和DDR單元。總線互連單元是SOC系統(tǒng)的關(guān)鍵路徑,許多數(shù)據(jù)需要通過總線互連單元才可從一個(gè)功能單元傳輸至另一個(gè)功能單元,因而采用軟件的變頻方法很難對(duì)總線互連單元進(jìn)行變頻,而DDR作為系統(tǒng)內(nèi)存,其存儲(chǔ)的數(shù)據(jù)負(fù)載往往實(shí)時(shí)變化,也難以通過軟件來實(shí)現(xiàn)變頻。本裝置通過在總線互連單元和DDR單元中增加負(fù)載檢測(cè)單元,實(shí)時(shí)監(jiān)測(cè)總線以及DDR的負(fù)載狀態(tài),獲取負(fù)載數(shù)據(jù),進(jìn)而根據(jù)負(fù)載數(shù)據(jù)的情況來決定是否要變頻。
而后進(jìn)入步驟S802判斷單元判斷當(dāng)前目標(biāo)單元的負(fù)載數(shù)據(jù)是否大于第一預(yù)設(shè)閾值或小于第二預(yù)設(shè)閾值,若是則變頻請(qǐng)求發(fā)送單元發(fā)送第一變頻請(qǐng)求至變頻控制單元。在本實(shí)施方式中,第一預(yù)設(shè)閾值為所設(shè)定的目標(biāo)單元對(duì)應(yīng)的負(fù)載上限值,第二預(yù)設(shè)閾值為所設(shè)定的目標(biāo)單元對(duì)應(yīng)的負(fù)載下限值。如圖3所示,判斷單元可以用上限比較器和下限比較器來實(shí)現(xiàn),上線比較器用于將當(dāng)前負(fù)載數(shù)據(jù)與負(fù)載上限值進(jìn)行比較,下線比較器用于將當(dāng)前負(fù)載數(shù)據(jù)與負(fù)載下限值進(jìn)行比較,定時(shí)器可以用于設(shè)定采樣周期,在本實(shí)施方式中,采樣周期為50ms,即每隔50ms對(duì)負(fù)載數(shù)據(jù)進(jìn)行采樣。如果判斷單元判定當(dāng)前目標(biāo)單元的負(fù)載數(shù)據(jù)是否大于第一預(yù)設(shè)閾值或小于第二預(yù)設(shè)閾值,說明需要對(duì)目標(biāo)單元進(jìn)行變頻,具體地,當(dāng)判斷單元判定當(dāng)前目標(biāo)單元的負(fù)載數(shù)據(jù)大于第一預(yù)設(shè)閾值時(shí),需要調(diào)高目標(biāo)單元的工作頻率;當(dāng)判斷單元判定當(dāng)前目標(biāo)單元的負(fù)載數(shù)據(jù)小于第二預(yù)設(shè)閾值時(shí),需要調(diào)低目標(biāo)單元的工作頻率。
而后進(jìn)入步驟S803變頻策略確定單元接收第一變頻請(qǐng)求,并根據(jù)負(fù)載數(shù)據(jù)與變頻策略的對(duì)應(yīng)關(guān)系,確定目標(biāo)單元對(duì)應(yīng)的目標(biāo)頻率。而后可以進(jìn)入步驟S804變頻策略執(zhí)行單元執(zhí)行變頻策略確定單元所確定目標(biāo)頻率,將目標(biāo)單元的頻率調(diào)整為目標(biāo)頻率。如圖5所示,為本發(fā)明一實(shí)施方式涉及的DVFS表格的示意圖。其中MAX表示頻率電壓表中最高檔頻率,ID表示當(dāng)前頻率在頻率電壓表中的序號(hào),ID+1或者-1表示調(diào)整到需要更高或者更低一檔頻率。每一檔頻率都對(duì)應(yīng)一個(gè)頻率范圍值,例如當(dāng)前目標(biāo)單元的負(fù)載數(shù)據(jù)從60%提升至80%,則說明需要將目標(biāo)單元的工作頻率提高一檔,假設(shè)原來的工作頻率為1.2GHZ,從圖7中可以看出,高一檔的頻率為1.35GHZ,即需要將目標(biāo)單元的工作頻率從1.2GHZ提高至1.35GHZ。在本實(shí)施方式中,所述“變頻策略執(zhí)行單元用于將目標(biāo)單元的頻率調(diào)整為目標(biāo)頻率”包括:變頻策略執(zhí)行單元通過調(diào)節(jié)目標(biāo)單元的工作電壓來對(duì)目標(biāo)單元的頻率進(jìn)行調(diào)整。如圖6所示,1.2GHZ工作頻率對(duì)應(yīng)的工作電壓為1100mV,1.3GHZ工作頻率對(duì)應(yīng)的工作電壓為1200mV,因而變頻策略執(zhí)行單元將目標(biāo)單元的工作電壓從1100mV調(diào)整為1200mV,使得目標(biāo)單元的頻率調(diào)整為1.35GHZ。
如圖9所示,所述裝置還包括溫控單元,所述溫控單元與變頻控制單元連接;所述方法包括:首先進(jìn)入步驟S901溫控單元監(jiān)測(cè)目標(biāo)單元的當(dāng)前溫度,并在目標(biāo)單元的當(dāng)前溫度大于第三預(yù)設(shè)閾值或小于第四預(yù)設(shè)閾值時(shí),發(fā)送第二變頻請(qǐng)求至變頻控制單元。所示第三預(yù)設(shè)閾值為溫度上限值,第四預(yù)設(shè)閾值為溫度下限值。而后進(jìn)入步驟S902變頻策略確定單元接收第二變頻請(qǐng)求,并根據(jù)溫度與變頻策略的對(duì)應(yīng)關(guān)系,確定目標(biāo)單元對(duì)應(yīng)的最高變頻頻率。而后進(jìn)入步驟S903變頻策略執(zhí)行單元執(zhí)行變頻策略確定單元所確定變頻策略,將目標(biāo)單元的頻率調(diào)整為最高變頻頻率。目標(biāo)單元的工作頻率除了受到負(fù)載數(shù)據(jù)等因素的影響需要調(diào)整外,也受到溫度的限制。如圖6所示,當(dāng)溫度達(dá)到一定值時(shí),目標(biāo)單元所能運(yùn)行的最高工作頻率也存在著上限值。所述“變頻策略執(zhí)行單元用于執(zhí)行變頻策略確定單元所確定目標(biāo)頻率,將目標(biāo)單元的頻率調(diào)整為目標(biāo)頻率”包括:當(dāng)目標(biāo)頻率大于最高變頻頻率時(shí),將目標(biāo)單元的頻率調(diào)整為最高變頻頻率;當(dāng)目標(biāo)頻率不大于最高變頻頻率時(shí),將目標(biāo)單元的頻率調(diào)整為目標(biāo)頻率。同樣以根據(jù)負(fù)載數(shù)據(jù)需要將當(dāng)前的目標(biāo)單元的頻率從1.25GHZ提高至1.35HZ為例,假設(shè)這時(shí)目標(biāo)單元的溫度達(dá)到90℃,從表中可以看出在90℃下所允許的最高變頻頻率為1GHZ,因而變頻策略執(zhí)行單元將會(huì)把目標(biāo)單元的工作頻率調(diào)整為1GHZ而非1.35HZ,而如果當(dāng)前目標(biāo)單元的溫度低于80℃,也就是說目標(biāo)單元當(dāng)前所能運(yùn)行的最高變頻頻率要高于1.35GHZ,則變頻策略執(zhí)行單元將會(huì)把目標(biāo)單元的工作頻率調(diào)整為1GHZ而非1.35HZ,以滿足性能需要。
在本實(shí)施方式中,所述方法還包括:目標(biāo)單元發(fā)送第三變頻請(qǐng)求至變頻控制單元,所述變頻策略執(zhí)行單元用于將目標(biāo)單元的頻率調(diào)整為預(yù)設(shè)頻率。目標(biāo)單元在執(zhí)行某些特殊工作(如必須在很短的時(shí)間內(nèi)完成少量的數(shù)據(jù)運(yùn)算并傳遞給下一流程)時(shí),可能需要要按最高性能模式來完成,這時(shí)候目標(biāo)單元可以主動(dòng)向變頻控制單元發(fā)起第三變頻請(qǐng)求,變頻策略確定單元會(huì)根據(jù)其他變頻條件(目標(biāo)單元的負(fù)載情況、溫度情況等),以確定是否可以將當(dāng)前目標(biāo)單元的工作頻率調(diào)整為預(yù)設(shè)頻率(即所需要的高性能對(duì)應(yīng)的頻率),如果達(dá)到變頻條件,變頻策略執(zhí)行單元將目標(biāo)單元的頻率調(diào)整為預(yù)設(shè)頻率。第三變頻請(qǐng)求可以根據(jù)目標(biāo)單元收到的操作請(qǐng)求自行觸發(fā)或者由軟件設(shè)置接口觸發(fā)。
上述技術(shù)方案所述的基于硬件變頻的方法和裝置,所述裝置包括目標(biāo)單元、變頻監(jiān)測(cè)單元和變頻控制單元,所述目標(biāo)單元為待變頻的單元,每一目標(biāo)單元對(duì)應(yīng)一變頻監(jiān)測(cè)單元;所述變頻監(jiān)測(cè)單元包括負(fù)載監(jiān)測(cè)單元、判斷單元和變頻請(qǐng)求發(fā)送單元;所述變頻控制單元包括變頻策略確定單元和變頻策略執(zhí)行單元。在使用時(shí)可以通過負(fù)載監(jiān)測(cè)單元實(shí)時(shí)監(jiān)測(cè)目標(biāo)單元的負(fù)載數(shù)據(jù),當(dāng)判斷當(dāng)前目標(biāo)單元的負(fù)載數(shù)據(jù)大于第一預(yù)設(shè)閾值或小于第二預(yù)設(shè)閾值時(shí),變頻策略確定單元確定當(dāng)前的變頻策略,并將目標(biāo)單元的工作頻率調(diào)整為變頻策略對(duì)應(yīng)的工作頻率。所有的變頻過程經(jīng)過變頻控制單元控制實(shí)現(xiàn),相較于利用軟件實(shí)現(xiàn)變頻的方式而言,適用性更為廣泛,可以高效執(zhí)行目標(biāo)單元的變頻,進(jìn)而降低系統(tǒng)功耗。
需要說明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語(yǔ)僅僅用來將一個(gè)實(shí)體或者操作與另一個(gè)實(shí)體或操作區(qū)分開來,而不一定要求或者暗示這些實(shí)體或操作之間存在任何這種實(shí)際的關(guān)系或者順序。而且,術(shù)語(yǔ)“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者終端設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者終端設(shè)備所固有的要素。在沒有更多限制的情況下,由語(yǔ)句“包括……”或“包含……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者終端設(shè)備中還存在另外的要素。此外,在本文中,“大于”、“小于”、“超過”等理解為不包括本數(shù);“以上”、“以下”、“以內(nèi)”等理解為包括本數(shù)。
本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,上述各實(shí)施例可提供為方法、裝置、或計(jì)算機(jī)程序產(chǎn)品。這些實(shí)施例可采用完全硬件實(shí)施例、完全軟件實(shí)施例、或結(jié)合軟件和硬件方面的實(shí)施例的形式。上述各實(shí)施例涉及的方法中的全部或部分步驟可以通過程序來指令相關(guān)的硬件來完成,所述的程序可以存儲(chǔ)于計(jì)算機(jī)設(shè)備可讀取的存儲(chǔ)介質(zhì)中,用于執(zhí)行上述各實(shí)施例方法所述的全部或部分步驟。所述計(jì)算機(jī)設(shè)備,包括但不限于:個(gè)人計(jì)算機(jī)、服務(wù)器、通用計(jì)算機(jī)、專用計(jì)算機(jī)、網(wǎng)絡(luò)設(shè)備、嵌入式設(shè)備、可編程設(shè)備、智能移動(dòng)終端、智能家居設(shè)備、穿戴式智能設(shè)備、車載智能設(shè)備等;所述的存儲(chǔ)介質(zhì),包括但不限于:RAM、ROM、磁碟、磁帶、光盤、閃存、U盤、移動(dòng)硬盤、存儲(chǔ)卡、記憶棒、網(wǎng)絡(luò)服務(wù)器存儲(chǔ)、網(wǎng)絡(luò)云存儲(chǔ)等。
上述各實(shí)施例是參照根據(jù)實(shí)施例所述的方法、設(shè)備(系統(tǒng))、和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或方框圖來描述的。應(yīng)理解可由計(jì)算機(jī)程序指令實(shí)現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計(jì)算機(jī)程序指令到計(jì)算機(jī)設(shè)備的處理器以產(chǎn)生一個(gè)機(jī)器,使得通過計(jì)算機(jī)設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的裝置。
這些計(jì)算機(jī)程序指令也可存儲(chǔ)在能引導(dǎo)計(jì)算機(jī)設(shè)備以特定方式工作的計(jì)算機(jī)設(shè)備可讀存儲(chǔ)器中,使得存儲(chǔ)在該計(jì)算機(jī)設(shè)備可讀存儲(chǔ)器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能。
這些計(jì)算機(jī)程序指令也可裝載到計(jì)算機(jī)設(shè)備上,使得在計(jì)算機(jī)設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的處理,從而在計(jì)算機(jī)設(shè)備上執(zhí)行的指令提供用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的步驟。
盡管已經(jīng)對(duì)上述各實(shí)施例進(jìn)行了描述,但本領(lǐng)域內(nèi)的技術(shù)人員一旦得知了基本創(chuàng)造性概念,則可對(duì)這些實(shí)施例做出另外的變更和修改,所以以上所述僅為本發(fā)明的實(shí)施例,并非因此限制本發(fā)明的專利保護(hù)范圍,凡是利用本發(fā)明說明書及附圖內(nèi)容所作的等效結(jié)構(gòu)或等效流程變換,或直接或間接運(yùn)用在其他相關(guān)的技術(shù)領(lǐng)域,均同理包括在本發(fā)明的專利保護(hù)范圍之內(nèi)。