本申請涉及計算機技術(shù)領(lǐng)域,特別涉及一種超頻控制方法及電子設(shè)備。
背景技術(shù):
在計算機中,為了界面顯示或運行速率的極致追求,通常會對計算機的中央處理器(centralprocessingunit,cpu)進行超頻操作,即提高cpu的運行頻率,從而達到更好的顯示效果或更快的運行速率,帶給用戶更好的使用感受。
目前通常是采用被動超頻的模式,即通過調(diào)節(jié)倍頻(ratio)和電壓(volt)的方式來提升cpu的運行頻率。
但是,以上超頻方案中,會因為cpu單體的差異無法找到一個最優(yōu)的參數(shù)來對cpu的運行頻率進行控制,導(dǎo)致超頻的控制準確率較低。
技術(shù)實現(xiàn)要素:
有鑒于此,本申請的目的是提供一種超頻控制方法及電子設(shè)備,用以解決現(xiàn)有技術(shù)中通過調(diào)節(jié)倍頻和電壓的方式對cpu進行超頻導(dǎo)致超頻的控制準確率較低的技術(shù)問題。
本申請?zhí)峁┝艘环N超頻控制方法,該方法包括:
獲取流經(jīng)cpu的當前電流值及cpu的當前溫度值;
基于所述當前電流值與所述當前溫度值,確定電流偏置量;
對cpu的當前電流值增加所述電流偏置量,使得cpu基于偏置后的電流值控制運算單元的運行。
上述方法,優(yōu)選的,基于所述當前電流值與所述當前溫度值,確定電流偏置量,包括:
基于所述當前電流值,確定cpu所處的負載狀態(tài);
基于所述負載狀態(tài)與所述當前溫度值,確定電流偏置量。
上述方法,優(yōu)選的,基于所述負載狀態(tài)與所述當前溫度值,確定電流偏置量,包括:
如果所述負載狀態(tài)表明cpu處于重載狀態(tài),判斷所述當前溫度值是否超過預(yù)設(shè)的第一散熱額定值;
如果所述當前溫度值不超過所述第一散熱額定值,確定電流偏置量為負偏置且所述電流偏置量的絕對值與所述當前溫度值相對應(yīng);
如果所述當前溫度值超過所述第一散熱額定值,確定電流偏置量為正偏置且所述電流偏置量的絕對值與所述當前溫度值相對應(yīng)。
上述方法,優(yōu)選的,基于所述負載狀態(tài)與所述當前溫度值,確定電流偏置量,包括:
如果所述負載狀態(tài)表明cpu處于輕載狀態(tài),判斷所述當前溫度值是否超過預(yù)設(shè)的第二散熱額定值;
如果所述當前溫度值不超過所述第二散熱額定值,確定電流偏置量為負偏置且所述電流偏置量的絕對值與所述當前溫度值相對應(yīng);
如果所述當前溫度值超過所述第二散熱額定值,確定電流偏置量為正偏置且所述電流偏置量的絕對值與所述當前溫度值相對應(yīng)。
上述方法,優(yōu)選的,基于所述負載狀態(tài)與所述當前溫度值,確定電流偏置量,包括:
如果所述負載狀態(tài)表明cpu處于空閑狀態(tài),判斷所述當前溫度值是否超過預(yù)設(shè)的第三散熱額定值;
如果所述當前溫度值不超過所述第三散熱額定值,確定電流偏置量為負偏置且所述電流偏置量的絕對值與所述當前溫度值相對應(yīng);
如果所述當前溫度值超過所述第三散熱額定值,確定電流偏置量為正偏置且所述電流偏置量的絕對值與所述當前溫度值相對應(yīng)。
本申請還提供了一種電子設(shè)備,包括cpu及微控制單元(microcontrollerunit,mcu),其中:
mcu用于獲取流經(jīng)cpu的當前電流值及cpu的當前溫度值,基于所述當前電流值與所述當前溫度值,確定電流偏置量,并對cpu的當前電流值增加所述電流偏置量,使得cpu基于偏置后的電流值控制運算單元的運行。
上述電子設(shè)備,優(yōu)選的,還包括:
子系統(tǒng)廠商識別碼(subsystemvendorid,svid)總線控制器,連接在cpu與電壓發(fā)生器(voltageregulator,vr)之間,用于抓取svid總線數(shù)據(jù),將所述svid總線數(shù)據(jù)發(fā)送給mcu,由mcu基于所述svid總線數(shù)據(jù)獲取流經(jīng)cpu的當前電流值。
上述電子設(shè)備,優(yōu)選的,還包括:
系統(tǒng)管理總線(systemmanagementbus,smbus),連接在cpu與嵌入控制器(embeddedcontroller,ec)之間,用于抓取smbus總線數(shù)據(jù),并將所述smbus總線數(shù)據(jù)發(fā)送給mcu,由mcu基于所述smbus總線數(shù)據(jù)獲取cpu的當前溫度值。
由上述方案可知,本申請?zhí)峁┑囊环N超頻控制方法及電子設(shè)備,通過對流經(jīng)cpu的當前電流值及cpu的當前溫度值,進而基于這些電流值和電壓值對cpu增加電流偏置量,使得cpu能夠基于偏置后的電流值控制運算單元的運行,實現(xiàn)超頻。本申請中通過對cpu進行電流偏置實現(xiàn)超頻控制,直接基于cpu的實時電流和溫度就可以進行超頻控制,能夠適用于任何規(guī)格的cpu單體,無需通過測試來找參數(shù)即可實現(xiàn)準確的超頻控制,由此來提高超頻控制的準確率。
附圖說明
為了更清楚地說明本申請實施例中的技術(shù)方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本申請的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為cpu頻率與電壓的關(guān)系示意圖;
圖2為本申請實施例提供的一種超頻控制方法的流程圖;
圖3及圖4分別為本申請實施例的應(yīng)用示例圖;
圖5為本申請實施例提供的一種超頻控制方法的另一流程圖;
圖6為本申請實施例提供的一種超頻控制方法的部分流程圖;
圖7為本申請實施例提供的一種電子設(shè)備的結(jié)構(gòu)示意圖;
圖8~11分別為本申請實施例的應(yīng)用示例圖。
具體實施方式
下面將結(jié)合本申請實施例中的附圖,對本申請實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本申請一部分實施例,而不是全部的實施例。基于本申請中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本申請保護的范圍。
如圖1中所示,為cpu運行頻率與cpu核心電壓(電流)的關(guān)系示意圖,由圖1上可以看出,若要使cpu運行到更高的頻率,需要cpu擁有穩(wěn)定的核心電壓(電流),超頻通常是通過給cpu核心電壓(電流)增加一個偏置以保證cpu在較高頻率下能正常穩(wěn)定運行。為此,本申請?zhí)岢鲆韵路桨福?/p>
參考圖2,為本申請實施例提供的一種超頻控制方法的實現(xiàn)流程圖,適用于與cpu相連接的mcu等具有控制功能的器件上。
本實施例中,該方法可以包括以下步驟:
步驟201:獲取流經(jīng)cpu的當前電流值及cpu的當前溫度值。
本實施例中,可以通過連接在cpu與vr之間的svid總線控制器來抓取cpu與vr之間的svid總線數(shù)據(jù),如圖3中所示,從而本實施例利用svid總線控制器對該svid總線數(shù)據(jù)基于svid協(xié)議進行解碼及重新編碼,從而獲得流經(jīng)cpu的當前電流值。
本實施例中,可以通過連接在cpu與ec之間的smbus來抓取cpu與ec之間的smbus總線數(shù)據(jù),如圖4中所示,從而本實施例基于該smbus總線數(shù)據(jù)獲得cpu的當前溫度值。
步驟202:基于當前電流值與當前溫度值,確定電流偏置量。
其中,cpu的當前電流值與當前溫度值能夠表征cpu的當前狀況,如cpu當前的負載狀態(tài)、運行頻率參數(shù)、cpu資源占用量等等。本實施例中基于cpu的當前狀況來確定是否需要對cpu增加偏置量或者需要對cpu所添加的偏置量的大小。
需要說明的是,電流偏置量可以為正偏執(zhí)或者副偏置,該電流偏置量的絕對值大小與當前電流值與當前溫度值的大小有關(guān)。
步驟203:對cpu的當前電流值增加該電流偏置量。
其中,在對cpu的當前電流值增加電流偏置量之后,cpu會基于偏置后的電流值控制其內(nèi)部運算單元的運行,如控制運算單元開啟的個數(shù)及運算單元關(guān)閉的個數(shù),進而實現(xiàn)運行頻率的升高或降低,實現(xiàn)超頻控制。
本實施例中,可以通過與cpu相連接的vr向cpu上報iout參數(shù)即電流偏執(zhí)量進行電流偏置,cpu基于當前狀況及該iout參數(shù)來決定處于運行狀態(tài)的運算單元的數(shù)量增加或者減少,從而實現(xiàn)對cpu的超頻控制。
由上述方案可知,本申請實施例提供的一種超頻控制方法,通過對流經(jīng)cpu的當前電流值及cpu的當前溫度值,進而基于這些電流值和電壓值對cpu增加電流偏置量,使得cpu能夠基于偏置后的電流值控制運算單元的運行,實現(xiàn)超頻。本實施例中通過對cpu進行電流偏置實現(xiàn)超頻控制,直接基于cpu的實時電流和溫度就可以進行超頻控制,能夠適用于任何規(guī)格的cpu單體,無需通過測試來找參數(shù)即可實現(xiàn)準確的超頻控制,由此來提高超頻控制的準確率。
進一步的,在本實施例中對cpu的當前電流值增加電流偏置量之后,完成一次超頻控制,而在一次超頻控制之后,cpu的當前電流值與當前溫度值會根據(jù)cpu的超頻運行狀態(tài)而變化,因此,本實施例中可以在對cpu進行一次超頻控制之后,可以重新返回步驟201,如圖5中所示,重新采集cpu的當前電流值和當前溫度值,重新對cpu進行一次超頻控制,從而使得cpu的運行頻率處于實時的動態(tài)調(diào)控中,在最大限度的提升cpu超頻帶給用戶的體驗感受之外,能夠最大限度的發(fā)揮cpu的性能。
在一種實現(xiàn)方式中,本實施例在基于當前電流值與當前溫度值確定電流偏置量時,可以通過以下步驟實現(xiàn),如圖6中所示:
步驟601:基于所述當前電流值,確定cpu所處的負載狀態(tài)。
其中,如果cpu的當前電流值大于或等于預(yù)設(shè)的第一閾值,可以確定cpu處于重載狀態(tài);
如果cpu的當前電流值小于第一閾值而大于或等于預(yù)設(shè)的第二閾值,可以確定cpu處于輕載狀態(tài),第二閾值小于第一閾值;
而如果cpu的當前電流值更小,小于第二閾值,那么可以確定cpu處于空閑狀態(tài)。
步驟602:基于負載狀態(tài)和當前溫度值,確定電流偏置量。
其中,本實施例中可以在不同負載狀態(tài)下基于當前溫度值的大小來確定電流偏置量的大小。不同負載狀態(tài)下即使相同的當前溫度值電流偏置量的大小也不同;而相同負載狀態(tài)下電流偏置量的大小則與當前溫度值的大小相對應(yīng)。
需要說明的是,本實施例中在cpu處于不同負載狀態(tài)下時,可以首先判斷當前溫度值是否超過該負載狀態(tài)下對應(yīng)的預(yù)設(shè)的散熱額定值,并基于當前溫度值與散熱額定值之間的大小來確定電流偏置量是負偏置還是正偏置,之后再基于當前溫度值的大小來確定正偏置或負偏置下的偏置量絕對值的大小。
具體的,如果負載狀態(tài)表明cpu處于重載狀態(tài),則判斷當前溫度值是否超過預(yù)設(shè)的第一散熱額定值,如果當前溫度值不超過第一散熱額定值,則確定電流偏置量為負偏置且電流偏置量的絕對值與當前溫度值相對應(yīng);而如果當前溫度值超過第一散熱額定值,確定電流偏置量為正偏置且電流偏置量的絕對值與當前溫度值相對應(yīng)。
如果負載狀態(tài)表明cpu處于輕載狀態(tài),則判斷當前溫度值是否超過預(yù)設(shè)的第二散熱額定值,如果當前溫度值不超過第二散熱額定值,確定電流偏置量為負偏置且電流偏置量的絕對值與當前溫度值相對應(yīng);而如果當前溫度值超過第二散熱額定值,確定電流偏置量為正偏置且電流偏置量的絕對值與當前溫度值相對應(yīng)。
如果負載狀態(tài)表明cpu處于空閑狀態(tài),則判斷當前溫度值是否超過預(yù)設(shè)的第三散熱額定值,如果當前溫度值不超過第三散熱額定值,確定電流偏置量為負偏置且電流偏置量的絕對值與當前溫度值相對應(yīng);而如果當前溫度值超過第三散熱額定值,則確定電流偏置量為正偏置且電流偏置量的絕對值與當前溫度值相對應(yīng)。
例如,如果cpu處于輕載狀態(tài)下,判斷當前溫度值與輕載狀態(tài)下對應(yīng)的第二散熱額定值之間的大小關(guān)系,如果當前溫度值低于第二散熱額定值,那么需要對cpu的當前電流值加負偏置,負偏置的數(shù)值與當前溫度值的大小相關(guān),由此,cpu發(fā)現(xiàn)當前電流值(加過負偏置的電流值)小于實際的電流值時,會認為沒有達到實際功耗,此時,cpu會開啟更多的運算單元(內(nèi)核),從而實現(xiàn)輕載狀態(tài)下的cpu超頻;如果當前溫度值高于第二散熱額定值,那么需要對cpu的當前電流值加正偏置,正偏置的數(shù)值與當前溫度值的大小相關(guān),由此,cpu在發(fā)現(xiàn)當前電流值(加過正偏置的電流值)大于實際的電流值時,會認為有無用功的功耗,此時,cpu會關(guān)閉一部分運算單元(內(nèi)核),從而在輕載狀態(tài)下保證cpu高性能運行的同時降低cpu功耗。
再如,如果cpu處于重載狀態(tài)下,判斷當前溫度值與輕載狀態(tài)下對應(yīng)的第一散熱額定值之間的大小關(guān)系,如果當前溫度值低于第一散熱額定值,那么需要對cpu的當前電流值加負偏置,負偏置的數(shù)值與當前溫度值的大小相關(guān),由此,cpu發(fā)現(xiàn)當前電流值(加過負偏置的電流值)小于實際的電流值時,會認為沒有達到實際功耗,此時,cpu會開啟更多的運算單元(內(nèi)核),從而實現(xiàn)重載狀態(tài)下的cpu超頻;如果當前溫度值高于第一散熱額定值,那么需要對cpu的當前電流值加正偏置,正偏置的數(shù)值與當前溫度值的大小相關(guān),由此,cpu在發(fā)現(xiàn)當前電流值(加過正偏置的電流值)大于實際的電流值時,會認為有無用功的功耗,此時,cpu會關(guān)閉一部分運算單元(內(nèi)核),從而在重載狀態(tài)下保證cpu高性能運行的同時降低cpu功耗。
參考圖7,為本申請實施例提供的一種電子設(shè)備的結(jié)構(gòu)示意圖,該電子設(shè)備可以包括以下結(jié)構(gòu):
cpu701和mcu702,其中:
mcu702用于獲取流經(jīng)cpu701的當前電流值及cpu701的當前溫度值,基于當前電流值與當前溫度值,確定電流偏置量,并對cpu701的當前電流值增加電流偏置量,使得cpu701基于偏置后的電流值控制運算單元的運行。
另外,還可以包括:
svid總線控制器703,連接在cpu701與vr704之間,用于抓取svid總線數(shù)據(jù),將svid總線數(shù)據(jù)發(fā)送給mcu,由mcu702基于svid總線數(shù)據(jù)獲取流經(jīng)cpu的當前電流值。
smbus705,連接在cpu701與ec706之間,用于抓取smbus總線數(shù)據(jù),并將smbus總線數(shù)據(jù)發(fā)送給mcu702,由mcu702基于smbus總線數(shù)據(jù)獲取cpu的當前溫度值。
電路邏輯可以如圖8中所示:
在cpu與vr之間的svid總線上串接一對編解碼器,如圖8中的svidi/f編解碼器,組成svid總線控制器,mcu連接在編解碼器之間,+mcu利用svid總線控制器抓取cpu與vr之間的svid總線數(shù)據(jù),再進行解析和編碼,進而獲得流經(jīng)cpu的當前電流值;
在cpu與ec之間連接有smbus,mcu連接在smbus總線上,mcu利用smbus抓取smbus總線數(shù)據(jù)之后,基于smbus總線數(shù)據(jù)獲得cpu的當前溫度值;
mcu在獲得cpu的當前電流值和當前溫度值之后,根據(jù)當前電流值與當前溫度值對應(yīng)的當前cpu狀況對vr上報給cpu的iout參數(shù)進行offset偏置,cpu根據(jù)自身負載狀態(tài)及vr上報的iout參數(shù)的數(shù)值決定運算單元(處理單元)數(shù)目的增加或減少,從而實現(xiàn)cpucoreperformance的實時控制,如圖9中所示,橫軸vrloadcurrent表示vr負載電流(此處特指流經(jīng)cpu的當前電流值),縱軸currenttolerance表示上報給cpu的電流偏差(即電流偏置量),當上報給cpu的電流超過cpu實際抽載的電流時,cpu會減少處理單元的數(shù)目,進而降低自身功耗,降低性能;反之,當上報給cpu的電流低于cpu實際抽載的電流時,cpu會增加處理單元的數(shù)目,通過超頻使得cpu性能得到提升。
以上方案,本申請通過smbus實時獲取cpu當前溫度值temperature以及通過偵測cpu和vr之間的svid總線數(shù)據(jù)獲得當前電流值,進而根據(jù)協(xié)議標準(主要是cpu運行程序的時候不同程序?qū)pu資源占用量不同),得知當前cpu的狀況(空閑狀態(tài)idle、輕載狀態(tài)lightloading或重載狀態(tài)heavyloading),然后決定是否要通過對svid總線對vr上報給cpu的電流值進行加偏置。
由此,本申請中可以根據(jù)cpu的實時狀況動態(tài)進行超頻控制,使得超頻控制更精細、有效;
并且,本申請可以最大限度的提升cpu在輕載狀態(tài)下的performance,最大限度的發(fā)揮cpu的性能,如圖10中輕載和重載狀態(tài)下的超頻控制后performance的效果示意圖所示。
另外,還可以充分利用系統(tǒng)資源,包括系統(tǒng)power/thermal等,獲得更好的系統(tǒng)performance,如圖11中空閑idle、輕載lightloading和重載heavyloading狀態(tài)下的時間time(sec)、溫度temp、電流power、頻率freq的對應(yīng)示意圖所示。
需要說明的是,本說明書中的各個實施例均采用遞進的方式描述,每個實施例重點說明的都是與其他實施例的不同之處,各個實施例之間相同相似的部分互相參見即可。
最后,還需要說明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語僅僅用來將一個實體或者操作與另一個實體或操作區(qū)分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設(shè)備中還存在另外的相同要素。
以上對本發(fā)明所提供的一種超頻控制方法及電子設(shè)備進行了詳細介紹,對所公開的實施例的上述說明,使本領(lǐng)域?qū)I(yè)技術(shù)人員能夠?qū)崿F(xiàn)或使用本發(fā)明。對這些實施例的多種修改對本領(lǐng)域的專業(yè)技術(shù)人員來說將是顯而易見的,本文中所定義的一般原理可以在不脫離本發(fā)明的精神或范圍的情況下,在其它實施例中實現(xiàn)。因此,本發(fā)明將不會被限制于本文所示的這些實施例,而是要符合與本文所公開的原理和新穎特點相一致的最寬的范圍。