動態(tài)電壓頻率調(diào)整的系統(tǒng)及方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通信領(lǐng)域,并且更具體的,涉及通信領(lǐng)域中動態(tài)電壓頻率調(diào)整(Dynamic Voltage Frequency Scaling,DVFS)的系統(tǒng)及方法。
【背景技術(shù)】
[0002]DVFS是系統(tǒng)在運行過程中,根據(jù)場景和系統(tǒng)負載的大小,在滿足系統(tǒng)性能的基礎(chǔ)上動態(tài)調(diào)整中央處理器(Central Processing Unit,CPU)等相關(guān)硬件的工作電壓和工作頻率。DVFS能夠節(jié)省系統(tǒng)功耗。具體而言,在系統(tǒng)不需要高性能時,降低電壓和頻率,以降低功耗;在系統(tǒng)需要高性能時,提高電壓和頻率,以提高性能。
[0003]現(xiàn)有技術(shù)中,軟件可以根據(jù)應用場景及系統(tǒng)的運行情況,判斷是否需要對CPU的工作電壓和工作頻率進行調(diào)整。這種情況下,是否需要進行DVFS的依據(jù)是CPU的工作負載。針對不同的工作負載,為(PU設(shè)置不同的工作電壓和工作頻率。
[0004]但是,針對CPU的工作負載進行DVFS是一種粗粒度的調(diào)整方式,CPU的工作負載情況不能完全反映(PU是否需要調(diào)頻調(diào)壓的真正需求。
【發(fā)明內(nèi)容】
[0005]本發(fā)明實施例提供了動態(tài)電壓頻率調(diào)整DVFS的系統(tǒng)及方法,能夠根據(jù)CPU的核阻塞(Core Bound,CB)系數(shù)對CPU進行DVFS。
[0006]第一方面,本發(fā)明實施例提供了一種DVFS的系統(tǒng),包括:性能監(jiān)測單元,用于確定中央處理器CPU當前的第一核阻塞CB系數(shù),并根據(jù)所述第一 CB系數(shù)確定第一變化量,其中,所述第一CB系數(shù)表示所述CPU中的算術(shù)邏輯單元(Arithmetic Logic Unit,ALU)當前的處理能力的性能瓶頸;策略控制單元,用于根據(jù)所述性能監(jiān)測單元確定的所述第一變化量,調(diào)整所述CPU的工作頻率和工作電壓。
[0007]本發(fā)明實施例根據(jù)CPU的CB系數(shù)的變化量,判斷是否需要對CPU進行動態(tài)電壓頻率調(diào)整,因而能夠更加精細的控制DVFS過程,避免造成的不必要的調(diào)整,在保證CPU系統(tǒng)性能的基礎(chǔ)上實現(xiàn)對CPU功耗的精細化管理。
[0008]在一種可能的實現(xiàn)方式中,所述根據(jù)所述第一CB系數(shù)確定第一變化量,包括:根據(jù)所述第一CB系數(shù)與當前存儲的第二CB系數(shù)確定所述第一變化量,其中,所述第一變化量為所述第一 CB系數(shù)與所述第二 CB系數(shù)的差值或比值,所述第二 CB系數(shù)為上次DVFS時的CB系數(shù)。
[0009]在一種可能的實現(xiàn)方式中,當所述第一變化量為所述第一CB系數(shù)與所述第二CB系數(shù)的差值時,所述策略控制單元具體用于:當所述第一變化量大于或等于第一閾值時,提高所述CPU的工作電壓和工作頻率,其中,所述第一閾值為正數(shù);當所述第一變化量小于或等于第二閾值時,降低所述(PU的工作頻率和工作電壓,其中,所述第二閾值為負數(shù)。
[0010]這時,還可以先判斷該第一變化量是否大于0,當該第一變化量大于O并且大于第一閾值時,提高所述CPU的工作電壓和工作頻率。當該第一變化量小于O并且小于第二閾值時,降低所述CPU的工作頻率和工作電壓。
[0011 ]在一種可能的實現(xiàn)方式中,當所述第一變化量為所述第一CB系數(shù)與所述第二CB系數(shù)的比值時,所述策略控制單元具體用于:當所述第一變化量大于或等于第三閾值時,提高所述CPU的工作電壓和工作頻率,其中,所述第三閾值大于I;當所述第一變化量小于或等于第四閾值時,降低所述(PU的工作頻率和工作電壓,其中,所述第四閾值的取值范圍為O至I。
[0012]這時,還可以先判斷該第一變化量是否大于I,當該第一變化量大于I并且大于第三閾值時,提高所述CPU的工作電壓和工作頻率。當該第一變化量小于I并且小于第四閾值時,降低所述CPU的工作頻率和工作電壓。
[0013]在一種可能的實現(xiàn)方式中,所述CPU包括至少兩個ALU單元,所述性能監(jiān)測單元具體用于:確定所述至少兩個ALU單元中的每個ALU單元當前的性能參數(shù);確定所述第一 CB系數(shù),所述第一 CB系數(shù)為所述至少兩個ALU單元的所述性能參數(shù)之和。
[0014]在一種可能的實現(xiàn)方式中,所述性能監(jiān)測單元確定所述至少兩個ALU單元中的每個ALU單元當前的性能參數(shù),包括:確定所述至少兩個ALU單元中的每個ALU單元單位時間內(nèi)被阻塞的指令數(shù);計算所述每個ALU單元的所述指令數(shù)與所述每個ALU單元在所述單位時間內(nèi)執(zhí)行的所有指令的數(shù)量的比值。
[0015]在一種可能的實現(xiàn)方式中,所述性能監(jiān)測單元確定所述至少兩個ALU單元中的每個ALU單元當前的性能參數(shù),包括:確定所述至少兩個ALU單元中的每個ALU單元在單位時間內(nèi)浪費的時鐘周期數(shù);計算所述每個ALU單元的所述時鐘周期數(shù)與所述每個ALU單元在所述單位時間對應的所有時鐘周期數(shù)的比值。
[0016]在一種可能的實現(xiàn)方式中,其特征在于,所述性能監(jiān)測單元還用于:將所述第二CB系數(shù)替換為所述第一 CB系數(shù)。
[0017]這樣,在計算CB變化量時,能夠?qū)崟r根據(jù)當前的CB系數(shù)和上次DVFS時的CB系數(shù),確定CBR或者ACBR。
[0018]在一種可能的實現(xiàn)方式中,所述系統(tǒng)還包括:工作負載監(jiān)測單元,用于確定所述CPU當前的工作負載相對第二時刻的工作負載的第二變化量;所述性能檢測單元用于在所述第二變化量大于第五閾值時確定所述第一變化量。
[0019]第二方面,提供了一種DVFS的方法,包括確定中央處理器CPU當前的第一核阻塞CB系數(shù),其中,所述第一CB系數(shù)表示所述CPU中的算術(shù)邏輯單元ALU當前的處理能力的性能瓶頸;根據(jù)所述第一 CB系數(shù)確定第一變化量;其中,根據(jù)所述第一變化量,調(diào)整所述CPU的工作頻率和工作電壓。
[0020]第二方面的方法的各個步驟還可以參照第一方面的系統(tǒng)的相應模塊的各個操作,在此不再重復。
[0021 ]第三方面,提供了一種計算機可讀介質(zhì),用于存儲計算機程序,該計算機程序包括用于執(zhí)行第一方面或第一方面的任意可能的實現(xiàn)方式中的指令。
【附圖說明】
[0022]為了更清楚地說明本發(fā)明實施例的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0023]圖1是現(xiàn)有技術(shù)的DVFS系統(tǒng)的示意性架構(gòu)圖。
[0024]圖2是現(xiàn)有技術(shù)的DVFS的示意性流程圖。
[0025]圖3是本發(fā)明實施例的DVFS系統(tǒng)的示意性架構(gòu)圖。
[0026]圖4是本發(fā)明實施例的DVFS系統(tǒng)確定核阻塞系數(shù)的示意性流程圖。
[0027]圖5是本發(fā)明實施例的DVFS的示意性流程圖。
【具體實施方式】
[0028]下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
[0029]圖1是現(xiàn)有技術(shù)的DVFS的系統(tǒng)架構(gòu)圖。該系統(tǒng)包括應用2000、DVFS單元3000、電源管理單元4000和CPU 5000四大部分。其中,應用2000和DVFS單元3000為軟件部分,電源管理單元4000和CPU 5000為硬件部分。
[0030]這里,應用2000為上層應用軟件。DVFS單元3000包括調(diào)度管理單元3100、工作負載監(jiān)測單元(Workload Monitor Unit,WMU)3200、策略控制單元3300和DVFS驅(qū)動3400。調(diào)度管理單元3100對CPU執(zhí)行應用2000時的多個進程進行調(diào)度和管理。
[0031]WMU 3200用于根據(jù)調(diào)度管理單元3100實時監(jiān)測CPU的工作負載(workload,WL)。當CPU的工作負載變化時,WMU將計算出CPU當前的工作負載和上次DVFS時的工作負載的變化m( AffDo
[0032]圖1中的DVFS系統(tǒng)是否需要進行DVFS的依據(jù)是CPU的工作負載。針對不同的工作負載,為CPU設(shè)置不同的工作電壓和工作頻率。圖2示出了圖1中的策略控制單元進