一種中央處理器的管理方法、及裝置的制造方法
【專利摘要】本發(fā)明實(shí)施例公開了一種中央處理器的管理方法、及裝置,其中方法的實(shí)現(xiàn)包括:確定第一預(yù)測(cè)條件和第二預(yù)測(cè)條件,所述第一預(yù)測(cè)條件和所述第二預(yù)測(cè)條件均為影響中央處理器CPU喚醒時(shí)間的因素;統(tǒng)計(jì)使用所述第一預(yù)測(cè)條件預(yù)測(cè)所述CPU進(jìn)入低功耗模式LPM的正確率;若所述正確率高于預(yù)定閾值,則繼續(xù)使用所述第一預(yù)測(cè)條件預(yù)測(cè)所述CPU的下次喚醒時(shí)間;否則,使用所述第二預(yù)測(cè)條件預(yù)測(cè)所述CPU的下次喚醒時(shí)間。在采用預(yù)測(cè)條件對(duì)CPU的下次喚醒時(shí)間進(jìn)行預(yù)測(cè),同時(shí)考慮多種因素對(duì)CPU的下次喚醒時(shí)間的影響,可以比較準(zhǔn)確的預(yù)測(cè)CPU下次要喚醒的時(shí)間,使CPU能夠選擇較為合適的PLM,從而兼顧C(jī)PU的功耗和性能需求;因此,可以在保持低功耗的前提下維持較高的CPU性能。
【專利說明】
一種中央處理器的管理方法、及裝置
技術(shù)領(lǐng)域
[0001]本發(fā)明涉及計(jì)算機(jī)技術(shù)領(lǐng)域,特別涉及一種中央處理器的管理方法、及裝置。
【背景技術(shù)】
[0002]在目前廣泛使用的操作系統(tǒng)中,當(dāng)中央處理器(Central Processing Unit,CPU)上有任務(wù)運(yùn)行時(shí),CPU會(huì)處于運(yùn)行態(tài)(active state),當(dāng)任務(wù)執(zhí)行完成或被移出后,CPU會(huì)進(jìn)入低功耗模式(Low Power Mode,LPM),包括等待中斷模式(wait for interrupt,WFI),休眠模式(Suspend)或是掉電模式(Power collapse)等不同的LPM;不同的LPM對(duì)應(yīng)不同的CPU響應(yīng)時(shí)間和功耗水平。
[0003]比如:在WFI下CPU響應(yīng)速度快但功耗水平較高,而power col lapse狀態(tài)CPU響應(yīng)速度很慢但功耗最低。CPU處于長(zhǎng)時(shí)間運(yùn)行態(tài),可以保證較好的運(yùn)行性能,但是會(huì)增加功耗。CPU處于長(zhǎng)時(shí)間LPM,會(huì)節(jié)省功耗,但是會(huì)影響響應(yīng)速度。所以合理的判斷CI3U進(jìn)入合適的LPM,成為了操作系統(tǒng)功耗性能表現(xiàn)的一大重要影響指標(biāo)。
[0004]目前CPU低功耗模式選擇的基本思路是:根據(jù)最近喚醒的時(shí)鐘到期時(shí)間和上次系統(tǒng)喚醒時(shí)間,先預(yù)測(cè)下次CPU喚醒的時(shí)間,然后找到滿足該響應(yīng)時(shí)間內(nèi)功耗最低的LPM。目前比較通用的兩種LPM管理算法有menu governor(菜單調(diào)節(jié))算法和ladder governor(梯形調(diào)節(jié))算法:
[0005]l、Menu governor:
[0006]Menu算法思路是先嘗試找到過去數(shù)次(8次)進(jìn)入LPM的時(shí)間統(tǒng)計(jì),找到其中比較接近的幾個(gè)數(shù)據(jù)取平均值來預(yù)測(cè)下次喚醒時(shí)間。假如數(shù)據(jù)分散,找不到合適的平均數(shù),就按照時(shí)間長(zhǎng)短劃分12個(gè)桶,每個(gè)桶分別對(duì)應(yīng)不同的阻尼系數(shù),讀取下次即將喚醒系統(tǒng)的時(shí)鐘(timer)值,乘以其對(duì)應(yīng)桶的阻尼系數(shù)來預(yù)測(cè)下次CPU喚醒時(shí)間。該算法中使用12桶,需要學(xué)習(xí)調(diào)整12個(gè)對(duì)應(yīng)的阻尼系數(shù),算法系數(shù)調(diào)整速度很難跟上CPU狀態(tài)變化,從而導(dǎo)致預(yù)測(cè)值的準(zhǔn)確性比較低;而如果采用取眾數(shù)平均時(shí),會(huì)使算法復(fù)雜度提高。
[0007]2、Ladder governor:
[0008]Ladder算法思路比較簡(jiǎn)單,算法沒有對(duì)下次CPU喚醒時(shí)間做預(yù)測(cè),而是直接對(duì)過去一次或者若干次處在某一 LPM的時(shí)間進(jìn)行統(tǒng)計(jì),假如處于LPM的時(shí)間小于該LPM對(duì)應(yīng)的響應(yīng)時(shí)間,則說明當(dāng)前進(jìn)入LPM的響應(yīng)時(shí)間不滿足性能需求,需要切到更輕一級(jí)LPM以滿足性能需求;反之亦然。該算法主要根據(jù)歷史數(shù)據(jù),逐級(jí)調(diào)整切換LPM,在CPU狀態(tài)切換劇烈的場(chǎng)景下,該算法跟隨性和響應(yīng)速度相對(duì)較慢。
[0009]因此,目前的CPU低功耗模式選擇方案具有較大局限性,無法在保持低功耗的前提下維持較高的(PU性能。
【發(fā)明內(nèi)容】
[0010]本發(fā)明實(shí)施例提供了一種中央處理器的管理方法、及裝置,用于在保持低功耗的前提下維持較高的(PU性能。
[0011]一方面本發(fā)明實(shí)施例提供了一種中央處理器的管理方法,包括:
[0012]確定第一預(yù)測(cè)條件和第二預(yù)測(cè)條件,所述第一預(yù)測(cè)條件和所述第二預(yù)測(cè)條件均為影響中央處理器CPU喚醒時(shí)間的因素;
[0013]統(tǒng)計(jì)使用所述第一預(yù)測(cè)條件預(yù)測(cè)所述CPU進(jìn)入低功耗模式LPM的正確率;
[0014]若所述正確率高于預(yù)定閾值,則繼續(xù)使用所述第一預(yù)測(cè)條件預(yù)測(cè)所述CHJ的下次喚醒時(shí)間;否則,使用所述第二預(yù)測(cè)條件預(yù)測(cè)所述CPU的下次喚醒時(shí)間。
[0015]在一個(gè)可選的實(shí)現(xiàn)方式中,所述第一預(yù)測(cè)條件為時(shí)鐘值、所述第二預(yù)測(cè)條件為中斷時(shí)刻。
[0016]在一個(gè)可選的實(shí)現(xiàn)方式中,所述低功耗模式LPM包括:
[0017]等待中斷模式、休眠模式或者掉電模式。
[0018]在一個(gè)可選的實(shí)現(xiàn)方式中,所述統(tǒng)計(jì)使用所述第一預(yù)測(cè)條件預(yù)測(cè)所述CHJ進(jìn)入低功耗模式LPM的正確率包括:
[0019]確定使用時(shí)鐘值作為預(yù)測(cè)條件預(yù)測(cè)所述CPU的下次喚醒時(shí)間后,所述CPU進(jìn)入目標(biāo)LPM,確定所述目標(biāo)LPM的CPU響應(yīng)時(shí)間;確定所述目標(biāo)LPM的CPU響應(yīng)時(shí)間是否處于所述CPU在LPM下的睡眠時(shí)間以及CPU時(shí)鐘值之間;若是,則確定預(yù)測(cè)錯(cuò)誤;
[0020]在使用時(shí)鐘值作為預(yù)測(cè)條件預(yù)測(cè)所述CPU的下次喚醒時(shí)間預(yù)定次數(shù)后,統(tǒng)計(jì)預(yù)測(cè)正確率。
[0021 ]在一個(gè)可選的實(shí)現(xiàn)方式中,所述方法還包括:
[0022 ] 若所述目標(biāo)LPM的CPU響應(yīng)時(shí)間大于所述CPU在LPM下的睡眠時(shí)間以及CPU時(shí)鐘值,或者,小于所述CPU在LPM下的睡眠時(shí)間以及CPU時(shí)鐘值;或者,若所述CPU在LPM下的睡眠時(shí)間與CPU時(shí)鐘值的差值小于預(yù)定門限,則確定預(yù)測(cè)正確。
[0023]在一個(gè)可選的實(shí)現(xiàn)方式中,所述中央處理器的管理方法應(yīng)用于對(duì)眾核CPU的管理。
[0024]二方面本發(fā)明實(shí)施例還提供了一種中央處理器的管理裝置,包括:
[0025]條件確定單元,用于確定第一預(yù)測(cè)條件和第二預(yù)測(cè)條件,所述第一預(yù)測(cè)條件和所述第二預(yù)測(cè)條件均為影響中央處理器(PU喚醒時(shí)間的因素;
[0026]正確率統(tǒng)計(jì)單元,用于統(tǒng)計(jì)使用所述第一預(yù)測(cè)條件預(yù)測(cè)所述CPU進(jìn)入低功耗模式LPM的正確率;
[0027]預(yù)測(cè)控制單元,用于若所述正確率統(tǒng)計(jì)單元確定正確率高于預(yù)定閾值,則繼續(xù)使用所述第一預(yù)測(cè)條件預(yù)測(cè)所述(PU的下次喚醒時(shí)間;否則,使用所述第二預(yù)測(cè)條件預(yù)測(cè)所述CHJ的下次喚醒時(shí)間。
[0028]在一個(gè)可選的實(shí)現(xiàn)方式中,所述第一預(yù)測(cè)條件為時(shí)鐘值、所述第二預(yù)測(cè)條件為中斷時(shí)刻。
[0029]在一個(gè)可選的實(shí)現(xiàn)方式中,所述低功耗模式LPM包括:
[0030]等待中斷模式、休眠模式或者掉電模式。
[0031]在一個(gè)可選的實(shí)現(xiàn)方式中,在所述預(yù)測(cè)控制單元確定使用時(shí)鐘值作為預(yù)測(cè)條件預(yù)測(cè)所述(PU的下次喚醒時(shí)間后,所述CPU進(jìn)入目標(biāo)LPM;所述正確率統(tǒng)計(jì)單元包括:
[0032]時(shí)間確定單元,用于確定所述目標(biāo)LPM的CPU響應(yīng)時(shí)間;
[0033]正誤確定單元,用于確定所述目標(biāo)LPM的CPU響應(yīng)時(shí)間是否處于所述CPU在LPM下的睡眠時(shí)間以及CPU時(shí)鐘值之間;若是,則確定預(yù)測(cè)錯(cuò)誤;
[0034]統(tǒng)計(jì)單元,用于在使用時(shí)鐘值作為預(yù)測(cè)條件預(yù)測(cè)所述CHJ的下次喚醒時(shí)間預(yù)定次數(shù)后,統(tǒng)計(jì)預(yù)測(cè)正確率。
[0035]在一個(gè)可選的實(shí)現(xiàn)方式中,所述正誤確定單元,還用于若所述目標(biāo)LPM的CPU響應(yīng)時(shí)間大于所述CPU在LPM下的睡眠時(shí)間以及CPU時(shí)鐘值,或者,小于所述CPU在LPM下的睡眠時(shí)間以及CPU時(shí)鐘值;或者,若所述CPU在LPM下的睡眠時(shí)間與CPU時(shí)鐘值的差值小于預(yù)定門限,則確定預(yù)測(cè)正確。
[0036]在一個(gè)可選的實(shí)現(xiàn)方式中,所述中央處理器的管理裝置應(yīng)用于對(duì)眾核CPU的管理。
[0037]三方面本發(fā)明實(shí)施例還提供了一種電子設(shè)備,包括:中央處理器和存儲(chǔ)器,其中,所述中央處理器用于執(zhí)行本發(fā)明實(shí)施例提供的任意一項(xiàng)所述的方法。
[0038]從以上技術(shù)方案可以看出,本發(fā)明實(shí)施例具有以下優(yōu)點(diǎn):在采用預(yù)測(cè)條件對(duì)CPU的下次喚醒時(shí)間進(jìn)行預(yù)測(cè),采用統(tǒng)計(jì)正確率的方式,同時(shí)考慮多種因素對(duì)CPU的下次喚醒時(shí)間的影響,可以比較準(zhǔn)確的預(yù)測(cè)CPU下次要喚醒的時(shí)間,使CPU能夠選擇較為合適的PLM,從而兼顧C(jī)PU的功耗和性能需求;因此,可以在保持低功耗的前提下維持較高的CPU性能。
【附圖說明】
[0039]為了更清楚地說明本發(fā)明實(shí)施例中的技術(shù)方案,下面將對(duì)實(shí)施例描述中所需要使用的附圖作簡(jiǎn)要介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域的普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0040]圖1為本發(fā)明實(shí)施例方法流程示意圖;
[0041 ]圖2為本發(fā)明實(shí)施例方法流程示意圖;
[0042]圖3為本發(fā)明實(shí)施例裝置結(jié)構(gòu)示意圖;
[0043]圖4為本發(fā)明實(shí)施例裝置結(jié)構(gòu)示意圖;
[0044]圖5為本發(fā)明實(shí)施例裝置結(jié)構(gòu)示意圖;
[0045]圖6為本發(fā)明實(shí)施例終端設(shè)備結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0046]為了使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖對(duì)本發(fā)明作進(jìn)一步地詳細(xì)描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部份實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其它實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0047]本發(fā)明實(shí)施例提供了一種中央處理器的管理方法,如圖1所示,包括:
[0048]101:確定第一預(yù)測(cè)條件和第二預(yù)測(cè)條件,上述第一預(yù)測(cè)條件和上述第二預(yù)測(cè)條件均為影響中央處理器CPU喚醒時(shí)間的因素;
[0049]影響CPU喚醒時(shí)間的因素可能有很多,目前主要有:時(shí)鐘(timer)和中斷;以上第一預(yù)測(cè)條件和第二預(yù)測(cè)條件依據(jù)影響CPU喚醒時(shí)間的因素確定,具體本發(fā)明實(shí)施例不作唯一性限定。在本發(fā)明實(shí)施例中,時(shí)鐘值可以理解為CPU時(shí)鐘值,或者,系統(tǒng)時(shí)鐘值。
[0050]102:統(tǒng)計(jì)使用上述第一預(yù)測(cè)條件預(yù)測(cè)上述CPU進(jìn)入低功耗模式LPM的正確率;
[0051]在本發(fā)明實(shí)施例中,使用預(yù)測(cè)條件預(yù)測(cè)上述CPU的下次喚醒時(shí)間后,CPU會(huì)選擇進(jìn)入到一種合適的LPM,但是由于預(yù)測(cè)的準(zhǔn)確性會(huì)受到實(shí)際情況的影響,例如CPU狀態(tài)的變化,會(huì)導(dǎo)致進(jìn)入的LPM并不一定合適;因此會(huì)存在一定比例預(yù)測(cè)不正確的情況。
[0052]103:若上述正確率高于預(yù)定閾值,則繼續(xù)使用上述第一預(yù)測(cè)條件預(yù)測(cè)上述CPU的下次喚醒時(shí)間;否則,使用上述第二預(yù)測(cè)條件預(yù)測(cè)上述CPU的下次喚醒時(shí)間。
[0053]這里的預(yù)定閾值可以是任意設(shè)定的閾值,用于確定第一預(yù)測(cè)條件是否能夠準(zhǔn)確預(yù)測(cè)CPU的下次喚醒時(shí)間,因此該預(yù)定閾值設(shè)置得越高則表示對(duì)預(yù)測(cè)結(jié)果的準(zhǔn)確度要求越高,可以理解的是設(shè)置得越高會(huì)帶來更為頻繁的切換預(yù)測(cè)條件;綜合考慮,可以設(shè)置到60%左右的值會(huì)較為合理,可以理解的是設(shè)置成其他值并不會(huì)影響到本發(fā)明實(shí)施例的實(shí)現(xiàn)。
[0054]本發(fā)明實(shí)施例,在采用預(yù)測(cè)條件對(duì)CPU的下次喚醒時(shí)間進(jìn)行預(yù)測(cè),采用統(tǒng)計(jì)正確率的方式,同時(shí)考慮多種因素對(duì)CPU的下次喚醒時(shí)間的影響,可以比較準(zhǔn)確的預(yù)測(cè)CPU下次要喚醒的時(shí)間,使CPU能夠選擇較為合適的PLM,從而兼顧C(jī)PU的功耗和性能需求;因此,可以在保持低功耗的前提下維持較高的CPU性能。
[0055]作為一個(gè)更為具體的應(yīng)用舉例,上述第一預(yù)測(cè)條件為時(shí)鐘值、上述第二預(yù)測(cè)條件為中斷時(shí)刻。
[0056]在本發(fā)明實(shí)施例中,LPM可以有很多種,本實(shí)施例提供了如下舉例:上述低功耗模式LPM包括:
[0057]等待中斷模式、休眠模式或者掉電模式。
[0058]可以理解的是,LPM還可以有其他表現(xiàn)形式,本發(fā)明實(shí)施例在預(yù)測(cè)CPU的下次喚醒時(shí)間后,選擇進(jìn)入哪一種LPM,因此LPM具體有哪些并不會(huì)影響到前期預(yù)測(cè)的執(zhí)行過程。以上舉例也不應(yīng)理解為對(duì)本發(fā)明實(shí)施例的唯一性限定。
[0059]本發(fā)明實(shí)施例還提供了具體如何統(tǒng)計(jì)正確率的實(shí)現(xiàn)方案,上述統(tǒng)計(jì)使用上述第一預(yù)測(cè)條件預(yù)測(cè)上述(PU進(jìn)入低功耗模式LPM的正確率包括:
[0060]確定使用時(shí)鐘值作為預(yù)測(cè)條件預(yù)測(cè)上述CPU的下次喚醒時(shí)間后,上述CPU進(jìn)入目標(biāo)LPM,確定上述目標(biāo)LPM的CPU響應(yīng)時(shí)間;確定上述目標(biāo)LPM的CPU響應(yīng)時(shí)間是否處于上述CPU在LPM下的睡眠時(shí)間以及CPU時(shí)鐘值之間;若是,則確定預(yù)測(cè)錯(cuò)誤;
[0061]在使用時(shí)鐘值作為預(yù)測(cè)條件預(yù)測(cè)上述CPU的下次喚醒時(shí)間預(yù)定次數(shù)后,統(tǒng)計(jì)預(yù)測(cè)正確率。
[0062]本實(shí)施例,基于以時(shí)鐘值和中斷時(shí)刻作為影響CPU喚醒時(shí)間的因素,提出了具體的確定何種情況下可以認(rèn)為是預(yù)測(cè)錯(cuò)誤的情況。需要說明的是,如果上述CPU在LPM下的睡眠時(shí)間與CHJ時(shí)鐘值的差值小于預(yù)定門限,即使?jié)M足上述目標(biāo)LPM的CPU響應(yīng)時(shí)間處于上述CPU在LPM下的睡眠時(shí)間以及CPU時(shí)鐘值之間,也可以認(rèn)為預(yù)測(cè)正確。
[0063]本發(fā)明實(shí)施例還基于確定預(yù)測(cè)錯(cuò)誤的情況,提供了具體如何統(tǒng)計(jì)預(yù)測(cè)正確的實(shí)現(xiàn)方案:上述方法還包括:
[0064]若上述目標(biāo)LPM的CPU響應(yīng)時(shí)間大于上述CPU在LPM下的睡眠時(shí)間以及CPU時(shí)鐘值,或者,小于上述CPU在LPM下的睡眠時(shí)間以及CPU時(shí)鐘值;或者,若上述CPU在LPM下的睡眠時(shí)間與CPU時(shí)鐘值的差值小于預(yù)定門限,則確定預(yù)測(cè)正確。
[0065]可以理解的是,如果將預(yù)測(cè)錯(cuò)誤的情況排除在外,將其他情況都認(rèn)為是預(yù)測(cè)正確,也是可以實(shí)現(xiàn)的;因此確定預(yù)測(cè)正確的流程并不一定是完全必要的;另外,如果將預(yù)測(cè)正確的情況確定為正確的全集,不考慮如何確定預(yù)測(cè)錯(cuò)誤,將不屬于預(yù)測(cè)正確的情況全部認(rèn)為是預(yù)測(cè)錯(cuò)誤,也是可以實(shí)現(xiàn)的;因此以上關(guān)于確定預(yù)測(cè)正確以及確定預(yù)測(cè)錯(cuò)誤的實(shí)現(xiàn)方案,可以分別獨(dú)立存在;同時(shí),也可以綜合考慮。
[0066]作為一個(gè)更為優(yōu)選的應(yīng)用場(chǎng)景,上述中央處理器的管理方法應(yīng)用于對(duì)眾核CPU的管理。
[0067]在具有多核(S卩:多CPU,眾核CPU)系統(tǒng)中,可以通過將CPU至于更加合適的LPM狀態(tài),從而幫助操作系統(tǒng)的任務(wù)調(diào)度器(scheduler)更加精確的分配任務(wù)到合適的CPU上,減少系統(tǒng)功耗和調(diào)度開銷,并提高系統(tǒng)運(yùn)行性能。
[0068]基于以上說明可見,本發(fā)明實(shí)施例設(shè)計(jì)了一種新的用于降低多核系統(tǒng)功耗及提高性能的低功耗模式切換算法(LPM Governor),設(shè)計(jì)原理是:用CPU上次處在LPM的時(shí)間和上次系統(tǒng)時(shí)鐘(t imer)的值進(jìn)行比較打分,假如二者都處在同一 LPM的響應(yīng)時(shí)間范圍,則認(rèn)為用系統(tǒng)timer來預(yù)測(cè)下次CPU喚醒是正確的,反之是錯(cuò)誤的;低功耗模式切換算法統(tǒng)計(jì)過去若干次(例如,五次)的打分情況,假如正確率比較好(例如,正確率>60%)時(shí),則繼續(xù)使用timer來預(yù)測(cè),否則使用上次CPU被中斷喚醒時(shí)間(即中斷時(shí)亥Ij)來預(yù)測(cè)下次喚醒CPU時(shí)間。這樣可以比較好的反映中斷對(duì)CPU的影響,提高CPU對(duì)瞬時(shí)劇烈變化場(chǎng)景的突變CPU需求的響應(yīng)速度。同時(shí)低功耗模式切換算法用CHJ在不同LPM的響應(yīng)時(shí)間來作為打分門限,這樣CPU狀態(tài)切換決策能夠直接體現(xiàn)出不同CPU的特性,針對(duì)性和準(zhǔn)確性比較好。該算法在CPU頻繁喚醒(中斷較多)的場(chǎng)景,可以在保持低功耗的前提下維持較高的(PU性能。
[0069]因此,本發(fā)明實(shí)施例通過對(duì)系統(tǒng)timer和CPU喚醒時(shí)間進(jìn)行對(duì)比打分,評(píng)估timer預(yù)測(cè)的準(zhǔn)確性,在中斷頻繁的場(chǎng)景實(shí)時(shí)修正預(yù)測(cè)值,可以比較準(zhǔn)確的預(yù)測(cè)下次CHJ喚醒時(shí)間,從而使CHJ進(jìn)入比較合理的LPM,可以在盡量保持低功耗的情況下維持比較好的CPU性能。
[0070]一般情況下CPU對(duì)應(yīng)幾個(gè)經(jīng)典LPM低功耗模式,每個(gè)不同的低功耗模式CPU都有不同的響應(yīng)時(shí)間和功耗特性:比如WFI模式(CPU響應(yīng)速度最快,不過在WFI模式功耗最大)、休目民(suspend/re tent 1n)模式(CPU響應(yīng)速度與功耗水平都居中)、掉電模式(Powercollapse,CPU響應(yīng)最慢但最省電)等。顯然,對(duì)于中斷/任務(wù)調(diào)度比較頻繁,需要CPU實(shí)時(shí)響應(yīng)的情況下,WFI比較合適;對(duì)于系統(tǒng)長(zhǎng)時(shí)間的休眠,掉電(power co 11apse)模式比較合適。
[0071]當(dāng)CPU進(jìn)入空閑(idle)狀態(tài),開始考慮到底該進(jìn)入哪個(gè)LPM時(shí),目前比較普遍的思路就是先預(yù)測(cè)下次CHJ喚醒時(shí)間,找到滿足該喚醒時(shí)間(CPU LPM響應(yīng)時(shí)間〈下次喚醒時(shí)間)的功耗水平最低的LPM。
[0072]影響CPU下次喚醒時(shí)間的主要因素有:
[0073]⑴、時(shí)鐘(timer),每個(gè)CPU都有對(duì)應(yīng)的自己的timer,驅(qū)動(dòng)程序、內(nèi)核模塊、應(yīng)用等都會(huì)根據(jù)自身需要設(shè)置不同的timer,通常以最近將要到期的timer為準(zhǔn)。
[0074]⑵、中斷,調(diào)度器內(nèi)部中斷以及系統(tǒng)外部中斷等。在中斷較少的情況下,可以預(yù)期CPU在LPM中間不會(huì)被喚醒直到timer到期;假如中斷比較多的情況下,CPU會(huì)在timer到期之前被中斷喚醒,所以CPU在LPM的時(shí)間就會(huì)遠(yuǎn)小于timer值。所以,可以用上次進(jìn)入LPM的時(shí)間與上次的timer比較,來判定當(dāng)前系統(tǒng)是否比較繁忙(中斷比較多)。為了方便說明算法過程,定義幾個(gè)基本變量如下:
[0075]L1:標(biāo)記某一種LPM,比如WFI ,suspend等;
[0076]TL1:某一種LPMLi對(duì)應(yīng)的CPU響應(yīng)時(shí)間;
[0077]SL1:CPU在低功耗模式Li下睡眠的時(shí)間;
[0078]Ttimer:CPU timer值;
[0079]El1:預(yù)測(cè)得到的下次CPU被喚醒時(shí)間。
[0080]具體流程,如圖2所示,包括如下步驟:
[0081 ] 201:統(tǒng)計(jì)上次CPU在低功耗模式Li的睡眠時(shí)間SLi和上次的Ttimer;
[0082]后續(xù)流程中,是給Ttimer打分的步驟,包括202?205。
[0083]202:確定SLi是否約等于Ttimer ;如果是,進(jìn)入203,否則進(jìn)入204 ;
[0084]假如SLi和Ttimer基本相當(dāng)(或者稍小),說明CI3U在上次LPM Li中沒有被中斷打斷,上次Ttimer很好的預(yù)測(cè)了CPU被喚醒時(shí)間,所以預(yù)測(cè)正確;
[0085]203:確定Ttimer預(yù)測(cè)正確,進(jìn)入206 ;
[0086]204: SLi與Ttimer是否均位于TLi同一側(cè),如果是,進(jìn)入203否則進(jìn)入205;
[0087]在202確定為否的情況下,S卩:SLi和Ttimer差異比較大的情況,其中一種情況是:SLi與Ttimer都大于或者都小于TLi,即他們都落在當(dāng)時(shí)LPM模式TLi的同一側(cè),說明中斷對(duì)CPU喚醒有很大影響,不過還在同一 LPM模式的響應(yīng)時(shí)間范圍內(nèi);這種情況下,雖然繼續(xù)用timer預(yù)測(cè)有些不太準(zhǔn)確,但是并不會(huì)影響CPU進(jìn)入正確的LPM模式,所以還認(rèn)為預(yù)測(cè)正確;
[0088]另一種情況下:SLi和Ttimer分別位于TLi的兩側(cè),說明中斷的影響非常明顯,Ttimer已經(jīng)不足以作為進(jìn)入正確LPM的判斷依據(jù),所以Ttimer預(yù)測(cè)錯(cuò)誤,需要在下次預(yù)測(cè)考慮中斷的影響。
[0089]205:確定Ttimer預(yù)測(cè)錯(cuò)誤,進(jìn)入206 ;
[0090]206:統(tǒng)計(jì)最近若干次預(yù)測(cè)結(jié)果;
[0091]這里可以統(tǒng)計(jì)N次,例如5次的預(yù)測(cè)結(jié)果。當(dāng)然,也可以設(shè)置成其他次數(shù),本實(shí)施例不作唯一性限定。假如正確率大于一定門限(60%),下次預(yù)測(cè)可以繼續(xù)使用timer;否則使用上次中斷喚醒CPU的時(shí)間來預(yù)測(cè)下次喚醒時(shí)間。
[0092]207:確定正確率是否大于門限值;如果是,進(jìn)入208,否則進(jìn)入209;
[0093 ] 208:使用Tt imer預(yù)測(cè)下次CPU喚醒時(shí)間,得到預(yù)測(cè)值EI i,進(jìn)入210 ;
[0094]209:使用中斷時(shí)間預(yù)測(cè)下次CPU喚醒時(shí)間,得到預(yù)測(cè)值El i,進(jìn)入210;
[0095]210:根據(jù)得到的預(yù)測(cè)值Eli,在所有LPM模式中找到滿足(TLi〈ELi)條件的功耗最小的模式。
[0096]本發(fā)明實(shí)施例,對(duì)于CPU下次喚醒時(shí)間的預(yù)測(cè)兼顧timer與中斷影響。使用對(duì)系統(tǒng)timer與CPU真實(shí)處在LPM時(shí)間比較打分,來評(píng)定預(yù)測(cè)效果,在預(yù)測(cè)正確率低于一定門限時(shí),切換使用中斷喚醒時(shí)間來預(yù)測(cè),可以兼顧功耗和性能。
[0097]本發(fā)明實(shí)施例并沒有按照傳統(tǒng)思路根據(jù)過去LPM時(shí)間的統(tǒng)計(jì)數(shù)據(jù)來計(jì)算擬合本次在LPM睡眠時(shí)間,而是直接針對(duì)CPU特性,按照CPU LPM的響應(yīng)時(shí)間對(duì)過去的timer預(yù)測(cè)做評(píng)價(jià)打分,算法思路簡(jiǎn)單,對(duì)芯片進(jìn)出各種LPM模式的系統(tǒng)開銷做出了針對(duì)性的優(yōu)化。
[0098]本發(fā)明實(shí)施例還提供了一種中央處理器的管理裝置,如圖3所示,包括:
[0099]條件確定單元301,用于確定第一預(yù)測(cè)條件和第二預(yù)測(cè)條件,上述第一預(yù)測(cè)條件和上述第二預(yù)測(cè)條件均為影響中央處理器(PU喚醒時(shí)間的因素;
[0100]正確率統(tǒng)計(jì)單元302,用于統(tǒng)計(jì)使用上述第一預(yù)測(cè)條件預(yù)測(cè)上述CPU進(jìn)入低功耗模式LPM的正確率;
[0101]預(yù)測(cè)控制單元303,用于若上述正確率統(tǒng)計(jì)單元302確定正確率高于預(yù)定閾值,則繼續(xù)使用上述第一預(yù)測(cè)條件預(yù)測(cè)上述CPU的下次喚醒時(shí)間;否則,使用上述第二預(yù)測(cè)條件預(yù)測(cè)上述CPU的下次喚醒時(shí)間。
[0102]影響CPU喚醒時(shí)間的因素可能有很多,目前主要有:時(shí)鐘(timer)和中斷;以上第一預(yù)測(cè)條件和第二預(yù)測(cè)條件依據(jù)影響CPU喚醒時(shí)間的因素確定,具體本發(fā)明實(shí)施例不作唯一性限定。在本發(fā)明實(shí)施例中,時(shí)鐘值可以理解為CPU時(shí)鐘值,或者,系統(tǒng)時(shí)鐘值。
[0103]在本發(fā)明實(shí)施例中,使用預(yù)測(cè)條件預(yù)測(cè)上述CPU的下次喚醒時(shí)間后,CPU會(huì)選擇進(jìn)入到一種合適的LPM,但是由于預(yù)測(cè)的準(zhǔn)確性會(huì)受到實(shí)際情況的影響,例如CPU狀態(tài)的變化,會(huì)導(dǎo)致進(jìn)入的LPM并不一定合適;因此會(huì)存在一定比例預(yù)測(cè)不正確的情況。
[0104]這里的預(yù)定閾值可以是任意設(shè)定的閾值,用于確定第一預(yù)測(cè)條件是否能夠準(zhǔn)確預(yù)測(cè)CPU的下次喚醒時(shí)間,因此該預(yù)定閾值設(shè)置得越高則表示對(duì)預(yù)測(cè)結(jié)果的準(zhǔn)確度要求越高,可以理解的是設(shè)置得越高會(huì)帶來更為頻繁的切換預(yù)測(cè)條件;綜合考慮,可以設(shè)置到60%左右的值會(huì)較為合理,可以理解的是設(shè)置成其他值并不會(huì)影響到本發(fā)明實(shí)施例的實(shí)現(xiàn)。
[0105]本發(fā)明實(shí)施例,在采用預(yù)測(cè)條件對(duì)CPU的下次喚醒時(shí)間進(jìn)行預(yù)測(cè),采用統(tǒng)計(jì)正確率的方式,同時(shí)考慮多種因素對(duì)CPU的下次喚醒時(shí)間的影響,可以比較準(zhǔn)確的預(yù)測(cè)CPU下次要喚醒的時(shí)間,使CPU能夠選擇較為合適的PLM,從而兼顧C(jī)PU的功耗和性能需求;因此,可以在保持低功耗的前提下維持較高的CPU性能。
[0106]作為一個(gè)更為具體的應(yīng)用舉例,上述第一預(yù)測(cè)條件為時(shí)鐘值、上述第二預(yù)測(cè)條件為中斷。
[0107]在本發(fā)明實(shí)施例中,LPM可以有很多種,本實(shí)施例提供了如下舉例:上述低功耗模式LPM包括:
[0108]等待中斷模式、休眠模式或者掉電模式。
[0109]可以理解的是,LPM還可以有其他表現(xiàn)形式,本發(fā)明實(shí)施例在預(yù)測(cè)CPU的下次喚醒時(shí)間后,選擇進(jìn)入哪一種LPM,因此LPM具體有哪些并不會(huì)影響到前期預(yù)測(cè)的執(zhí)行過程。以上舉例也不應(yīng)理解為對(duì)本發(fā)明實(shí)施例的唯一性限定。
[0110]本發(fā)明實(shí)施例還提供了具體如何統(tǒng)計(jì)正確率的實(shí)現(xiàn)方案,進(jìn)一步地,如圖4所示,在上述預(yù)測(cè)控制單元303確定使用時(shí)鐘值作為預(yù)測(cè)條件預(yù)測(cè)上述CPU的下次喚醒時(shí)間后,上述CPU進(jìn)入目標(biāo)LPM;上述正確率統(tǒng)計(jì)單元302包括:
[0111]時(shí)間確定單元401,用于確定上述目標(biāo)LPM的CPU響應(yīng)時(shí)間;
[0112]正誤確定單元402,用于確定上述目標(biāo)LPM的CPU響應(yīng)時(shí)間是否處于上述CPU在LPM下的睡眠時(shí)間以及CPU時(shí)鐘值之間;若是,則確定預(yù)測(cè)錯(cuò)誤;
[0113]統(tǒng)計(jì)單元403,用于在使用時(shí)鐘值作為預(yù)測(cè)條件預(yù)測(cè)上述CPU的下次喚醒時(shí)間預(yù)定次數(shù)后,統(tǒng)計(jì)預(yù)測(cè)正確率。
[0114]本實(shí)施例,基于以時(shí)鐘值和中斷作為影響CPU喚醒時(shí)間的因素,提出了具體的確定何種情況下可以認(rèn)為是預(yù)測(cè)錯(cuò)誤的情況。需要說明的是,如果上述CPU在LPM下的睡眠時(shí)間與CPU時(shí)鐘值的差值小于預(yù)定門限,即使?jié)M足上述目標(biāo)LPM的CPU響應(yīng)時(shí)間處于上述CI3U在LPM下的睡眠時(shí)間以及CPU時(shí)鐘值之間,也可以認(rèn)為預(yù)測(cè)正確。
[0115]本發(fā)明實(shí)施例還基于確定預(yù)測(cè)錯(cuò)誤的情況,提供了具體如何統(tǒng)計(jì)預(yù)測(cè)正確的實(shí)現(xiàn)方案:上述正誤確定單元402,還用于若上述目標(biāo)LPM的CPU響應(yīng)時(shí)間大于上述CPU在LPM下的睡眠時(shí)間以及CPU時(shí)鐘值,或者,小于上述CPU在LPM下的睡眠時(shí)間以及CPU時(shí)鐘值;或者,若上述CPU在LPM下的睡眠時(shí)間與CPU時(shí)鐘值的差值小于預(yù)定門限,則確定預(yù)測(cè)正確。
[0116]可以理解的是,如果將預(yù)測(cè)錯(cuò)誤的情況排除在外,將其他情況都認(rèn)為是預(yù)測(cè)正確,也是可以實(shí)現(xiàn)的;因此確定預(yù)測(cè)正確的流程并不一定是完全必要的;另外,如果將預(yù)測(cè)正確的情況確定為正確的全集,不考慮如何確定預(yù)測(cè)錯(cuò)誤,將不屬于預(yù)測(cè)正確的情況全部認(rèn)為是預(yù)測(cè)錯(cuò)誤,也是可以實(shí)現(xiàn)的;因此以上關(guān)于確定預(yù)測(cè)正確以及確定預(yù)測(cè)錯(cuò)誤的實(shí)現(xiàn)方案,可以分別獨(dú)立存在;同時(shí),也可以綜合考慮。
[0117]作為一個(gè)更為優(yōu)選的應(yīng)用場(chǎng)景,可選地,上述中央處理器的管理裝置應(yīng)用于對(duì)眾核CPU的管理。
[0118]在具有多核(S卩:多CPU,眾核CPU)系統(tǒng)中,可以通過將CPU至于更加合適的LPM狀態(tài),從而幫助操作系統(tǒng)的任務(wù)調(diào)度器(scheduler)更加精確的分配任務(wù)到合適的CPU上,減少系統(tǒng)功耗和調(diào)度開銷,并提高系統(tǒng)運(yùn)行性能。
[0119]本發(fā)明實(shí)施例還提供了一種電子設(shè)備,如圖5所示,包括:中央處理器501和存儲(chǔ)器502,其中存儲(chǔ)器502可以用于處理器501執(zhí)行數(shù)據(jù)處理所需要的緩存,還可以用于提供處理器501執(zhí)行數(shù)據(jù)處理調(diào)用的數(shù)據(jù)以及獲得的結(jié)果數(shù)據(jù)的存儲(chǔ)空間;該電子設(shè)備還可以包含其他硬件設(shè)備,本實(shí)施例對(duì)此不作限定;
[0120]其中,上述處理器501,用于確定第一預(yù)測(cè)條件和第二預(yù)測(cè)條件,上述第一預(yù)測(cè)條件和上述第二預(yù)測(cè)條件均為影響中央處理器CPU喚醒時(shí)間的因素;統(tǒng)計(jì)使用上述第一預(yù)測(cè)條件預(yù)測(cè)上述CPU進(jìn)入低功耗模式LPM的正確率;若上述正確率高于預(yù)定閾值,則繼續(xù)使用上述第一預(yù)測(cè)條件預(yù)測(cè)上述CPU的下次喚醒時(shí)間;否則,使用上述第二預(yù)測(cè)條件預(yù)測(cè)上述CHJ的下次喚醒時(shí)間。
[0121]在本發(fā)明實(shí)施例中,使用預(yù)測(cè)條件預(yù)測(cè)上述CPU的下次喚醒時(shí)間后,CPU會(huì)選擇進(jìn)入到一種合適的LPM,但是由于預(yù)測(cè)的準(zhǔn)確性會(huì)受到實(shí)際情況的影響,例如CPU狀態(tài)的變化,會(huì)導(dǎo)致進(jìn)入的LPM并不一定合適;因此會(huì)存在一定比例預(yù)測(cè)不正確的情況。
[0122]這里的預(yù)定閾值可以是任意設(shè)定的閾值,用于確定第一預(yù)測(cè)條件是否能夠準(zhǔn)確預(yù)測(cè)CPU的下次喚醒時(shí)間,因此該預(yù)定閾值設(shè)置得越高則表示對(duì)預(yù)測(cè)結(jié)果的準(zhǔn)確度要求越高,可以理解的是設(shè)置得越高會(huì)帶來更為頻繁的切換預(yù)測(cè)條件;綜合考慮,可以設(shè)置到60%左右的值會(huì)較為合理,可以理解的是設(shè)置成其他值并不會(huì)影響到本發(fā)明實(shí)施例的實(shí)現(xiàn)。
[0123]本發(fā)明實(shí)施例,在采用預(yù)測(cè)條件對(duì)CPU的下次喚醒時(shí)間進(jìn)行預(yù)測(cè),采用統(tǒng)計(jì)正確率的方式,同時(shí)考慮多種因素對(duì)CPU的下次喚醒時(shí)間的影響,可以比較準(zhǔn)確的預(yù)測(cè)CPU下次要喚醒的時(shí)間,使CPU能夠選擇較為合適的PLM,從而兼顧C(jī)PU的功耗和性能需求;因此,可以在保持低功耗的前提下維持較高的CPU性能。
[0124]作為一個(gè)更為具體的應(yīng)用舉例,上述第一預(yù)測(cè)條件為時(shí)鐘值、上述第二預(yù)測(cè)條件為中斷。
[0125]在本發(fā)明實(shí)施例中,LPM可以有很多種,本實(shí)施例提供了如下舉例:上述低功耗模式LPM包括:
[0126]等待中斷模式、休眠模式或者掉電模式。
[0127]可以理解的是,LPM還可以有其他表現(xiàn)形式,本發(fā)明實(shí)施例在預(yù)測(cè)CPU的下次喚醒時(shí)間后,選擇進(jìn)入哪一種LPM,因此LPM具體有哪些并不會(huì)影響到前期預(yù)測(cè)的執(zhí)行過程。以上舉例也不應(yīng)理解為對(duì)本發(fā)明實(shí)施例的唯一性限定。
[0128]本發(fā)明實(shí)施例還提供了具體如何統(tǒng)計(jì)正確率的實(shí)現(xiàn)方案,上述處理器501,用于統(tǒng)計(jì)使用上述第一預(yù)測(cè)條件預(yù)測(cè)上述(PU進(jìn)入低功耗模式LPM的正確率包括:
[0129]確定使用時(shí)鐘值作為預(yù)測(cè)條件預(yù)測(cè)上述CPU的下次喚醒時(shí)間后,上述CPU進(jìn)入目標(biāo)LPM,確定上述目標(biāo)LPM的CPU響應(yīng)時(shí)間;確定上述目標(biāo)LPM的CPU響應(yīng)時(shí)間是否處于上述CPU在LPM下的睡眠時(shí)間以及CPU時(shí)鐘值之間;若是,則確定預(yù)測(cè)錯(cuò)誤;
[0130]在使用時(shí)鐘值作為預(yù)測(cè)條件預(yù)測(cè)上述CPU的下次喚醒時(shí)間預(yù)定次數(shù)后,統(tǒng)計(jì)預(yù)測(cè)正確率。
[0131]本實(shí)施例,基于以時(shí)鐘值和中斷作為影響CPU喚醒時(shí)間的因素,提出了具體的確定何種情況下可以認(rèn)為是預(yù)測(cè)錯(cuò)誤的情況。需要說明的是,如果上述CPU在LPM下的睡眠時(shí)間與CPU時(shí)鐘值的差值小于預(yù)定門限,即使?jié)M足上述目標(biāo)LPM的CPU響應(yīng)時(shí)間處于上述CI3U在LPM下的睡眠時(shí)間以及CPU時(shí)鐘值之間,也可以認(rèn)為預(yù)測(cè)正確。
[0132]本發(fā)明實(shí)施例還基于確定預(yù)測(cè)錯(cuò)誤的情況,提供了具體如何統(tǒng)計(jì)預(yù)測(cè)正確的實(shí)現(xiàn)方案:上述處理器501,還用于若上述目標(biāo)LPM的CPU響應(yīng)時(shí)間大于上述CPU在LPM下的睡眠時(shí)間以及CPU時(shí)鐘值,或者,小于上述CPU在LPM下的睡眠時(shí)間以及CPU時(shí)鐘值;或者,若上述CPU在LPM下的睡眠時(shí)間與CPU時(shí)鐘值的差值小于預(yù)定門限,則確定預(yù)測(cè)正確。
[0133]可以理解的是,如果將預(yù)測(cè)錯(cuò)誤的情況排除在外,將其他情況都認(rèn)為是預(yù)測(cè)正確,也是可以實(shí)現(xiàn)的;因此確定預(yù)測(cè)正確的流程并不一定是完全必要的;另外,如果將預(yù)測(cè)正確的情況確定為正確的全集,不考慮如何確定預(yù)測(cè)錯(cuò)誤,將不屬于預(yù)測(cè)正確的情況全部認(rèn)為是預(yù)測(cè)錯(cuò)誤,也是可以實(shí)現(xiàn)的;因此以上關(guān)于確定預(yù)測(cè)正確以及確定預(yù)測(cè)錯(cuò)誤的實(shí)現(xiàn)方案,可以分別獨(dú)立存在;同時(shí),也可以綜合考慮。
[0134]作為一個(gè)更為優(yōu)選的應(yīng)用場(chǎng)景,可選地,上述電子設(shè)備的上述處理器501為眾核CPUo
[0135]在具有多核(S卩:多CPU,眾核CPU)系統(tǒng)中,可以通過將CPU至于更加合適的LPM狀態(tài),從而幫助操作系統(tǒng)的任務(wù)調(diào)度器(scheduler)更加精確的分配任務(wù)到合適的CPU上,減少系統(tǒng)功耗和調(diào)度開銷,并提高系統(tǒng)運(yùn)行性能。
[0136]本發(fā)明實(shí)施例還提供了一種終端設(shè)備,如圖6所示,為了便于說明,僅示出了與本發(fā)明實(shí)施例相關(guān)的部分,具體技術(shù)細(xì)節(jié)未揭示的,請(qǐng)參照本發(fā)明實(shí)施例方法部分。該終端設(shè)備可以為包括手機(jī)、平板電腦、PDA(Personal Digital Assistant,個(gè)人數(shù)字助理)、P0S(Point of Sales,銷售終端)、車載電腦等任意終端設(shè)備,以終端設(shè)備為手機(jī)為例:
[0137]圖6示出的是與本發(fā)明實(shí)施例提供的終端設(shè)備相關(guān)的手機(jī)的部分結(jié)構(gòu)的框圖。參考圖6,手機(jī)包括:射頻(Rad1 Frequency,RF)電路610、存儲(chǔ)器620、輸入單元630、顯示單元640、傳感器650、音頻電路660、無線保真(wireless fidelity,WiFi)模塊670、處理器680、以及電源690等部件。本領(lǐng)域技術(shù)人員可以理解,圖6中示出的手機(jī)結(jié)構(gòu)并不構(gòu)成對(duì)手機(jī)的限定,可以包括比圖示更多或更少的部件,或者組合某些部件,或者不同的部件布置。
[0138]下面結(jié)合圖6對(duì)手機(jī)的各個(gè)構(gòu)成部件進(jìn)行具體的介紹:
[0139]RF電路610可用于收發(fā)信息或通話過程中,信號(hào)的接收和發(fā)送,特別地,將基站的下行信息接收后,給處理器680處理;另外,將設(shè)計(jì)上行的數(shù)據(jù)發(fā)送給基站。通常,RF電路610包括但不限于天線、至少一個(gè)放大器、收發(fā)信機(jī)、耦合器、低噪聲放大器(Low NoiseAmpl if ier,LNA)、雙工器等。此外,RF電路610還可以通過無線通信與網(wǎng)絡(luò)和其他設(shè)備通信。上述無線通信可以使用任一通信標(biāo)準(zhǔn)或協(xié)議,包括但不限于全球移動(dòng)通訊系統(tǒng)(GlobalSystem of Mobile communicat1n,GSM)、通用分組無線服務(wù)(General Packet Rad1Service,GPRS)、碼分多址(Code Divis1n Multiple Access,CDMA)、寬帶碼分多址(Wideband Code Divis1n Multiple Access ,WCDMA)、長(zhǎng)期演進(jìn)(Long Term Evolut1n,LTE)、電子郵件、短消息服務(wù)(Short Messaging Service,SMS)等。
[0140]存儲(chǔ)器620可用于存儲(chǔ)軟件程序以及模塊,處理器680通過運(yùn)行存儲(chǔ)在存儲(chǔ)器620的軟件程序以及模塊,從而執(zhí)行手機(jī)的各種功能應(yīng)用以及數(shù)據(jù)處理。存儲(chǔ)器620可主要包括存儲(chǔ)程序區(qū)和存儲(chǔ)數(shù)據(jù)區(qū),其中,存儲(chǔ)程序區(qū)可存儲(chǔ)操作系統(tǒng)、至少一個(gè)功能所需的應(yīng)用程序(比如聲音播放功能、圖像播放功能等)等;存儲(chǔ)數(shù)據(jù)區(qū)可存儲(chǔ)根據(jù)手機(jī)的使用所創(chuàng)建的數(shù)據(jù)(比如音頻數(shù)據(jù)、電話本等)等。此外,存儲(chǔ)器620可以包括高速隨機(jī)存取存儲(chǔ)器,還可以包括非易失性存儲(chǔ)器,例如至少一個(gè)磁盤存儲(chǔ)器件、閃存器件、或其他易失性固態(tài)存儲(chǔ)器件。
[0141]輸入單元630可用于接收輸入的數(shù)字或字符信息,以及產(chǎn)生與手機(jī)的用戶設(shè)置以及功能控制有關(guān)的鍵信號(hào)輸入。具體地,輸入單元630可包括觸控面板631以及其他輸入設(shè)備632。觸控面板631,也稱為觸摸屏,可收集用戶在其上或附近的觸摸操作(比如用戶使用手指、觸筆等任何適合的物體或附件在觸控面板631上或在觸控面板631附近的操作),并根據(jù)預(yù)先設(shè)定的程式驅(qū)動(dòng)相應(yīng)的連接裝置??蛇x的,觸控面板631可包括觸摸檢測(cè)裝置和觸摸控制器兩個(gè)部分。其中,觸摸檢測(cè)裝置檢測(cè)用戶的觸摸方位,并檢測(cè)觸摸操作帶來的信號(hào),將信號(hào)傳送給觸摸控制器;觸摸控制器從觸摸檢測(cè)裝置上接收觸摸信息,并將它轉(zhuǎn)換成觸點(diǎn)坐標(biāo),再送給處理器680,并能接收處理器680發(fā)來的命令并加以執(zhí)行。此外,可以采用電阻式、電容式、紅外線以及表面聲波等多種類型實(shí)現(xiàn)觸控面板631。除了觸控面板631,輸入單元630還可以包括其他輸入設(shè)備632。具體地,其他輸入設(shè)備632可以包括但不限于物理鍵盤、功能鍵(比如音量控制按鍵、開關(guān)按鍵等)、軌跡球、鼠標(biāo)、操作桿等中的一種或多種。
[0142]顯示單元640可用于顯示由用戶輸入的信息或提供給用戶的信息以及手機(jī)的各種菜單。顯示單元640可包括顯示面板641,可選的,可以采用液晶顯示器(Liquid CrystalDisplay,IXD)、有機(jī)發(fā)光二極管(Organic Light-Emitting D1de,0LED)等形式來配置顯示面板641。進(jìn)一步的,觸控面板631可覆蓋顯示面板641,當(dāng)觸控面板631檢測(cè)到在其上或附近的觸摸操作后,傳送給處理器680以確定觸摸事件的類型,隨后處理器680根據(jù)觸摸事件的類型在顯示面板641上提供相應(yīng)的視覺輸出。雖然在圖6中,觸控面板631與顯示面板641是作為兩個(gè)獨(dú)立的部件來實(shí)現(xiàn)手機(jī)的輸入和輸入功能,但是在某些實(shí)施例中,可以將觸控面板631與顯示面板641集成而實(shí)現(xiàn)手機(jī)的輸入和輸出功能。
[0143]手機(jī)還可包括至少一種傳感器650,比如光傳感器、運(yùn)動(dòng)傳感器以及其他傳感器。具體地,光傳感器可包括環(huán)境光傳感器及接近傳感器,其中,環(huán)境光傳感器可根據(jù)環(huán)境光線的明暗來調(diào)節(jié)顯示面板641的亮度,接近傳感器可在手機(jī)移動(dòng)到耳邊時(shí),關(guān)閉顯示面板641和/或背光。作為運(yùn)動(dòng)傳感器的一種,加速計(jì)傳感器可檢測(cè)各個(gè)方向上(一般為三軸)加速度的大小,靜止時(shí)可檢測(cè)出重力的大小及方向,可用于識(shí)別手機(jī)姿態(tài)的應(yīng)用(比如橫豎屏切換、相關(guān)游戲、磁力計(jì)姿態(tài)校準(zhǔn))、振動(dòng)識(shí)別相關(guān)功能(比如計(jì)步器、敲擊)等;至于手機(jī)還可配置的陀螺儀、氣壓計(jì)、濕度計(jì)、溫度計(jì)、紅外線傳感器等其他傳感器,在此不再贅述。
[0144]音頻電路660、揚(yáng)聲器661,傳聲器662可提供用戶與手機(jī)之間的音頻接口。音頻電路660可將接收到的音頻數(shù)據(jù)轉(zhuǎn)換后的電信號(hào),傳輸?shù)綋P(yáng)聲器661,由揚(yáng)聲器661轉(zhuǎn)換為聲音信號(hào)輸出;另一方面,傳聲器662將收集的聲音信號(hào)轉(zhuǎn)換為電信號(hào),由音頻電路660接收后轉(zhuǎn)換為音頻數(shù)據(jù),再將音頻數(shù)據(jù)輸出處理器680處理后,經(jīng)RF電路610以發(fā)送給比如另一手機(jī),或者將音頻數(shù)據(jù)輸出至存儲(chǔ)器620以便進(jìn)一步處理。
[0145]WiFi屬于短距離無線傳輸技術(shù),手機(jī)通過WiFi模塊670可以幫助用戶收發(fā)電子郵件、瀏覽網(wǎng)頁(yè)和訪問流式媒體等,它為用戶提供了無線的寬帶互聯(lián)網(wǎng)訪問。雖然圖6示出了WiFi模塊670,但是可以理解的是,其并不屬于手機(jī)的必須構(gòu)成,完全可以根據(jù)需要在不改變發(fā)明的本質(zhì)的范圍內(nèi)而省略。
[0146]處理器680是手機(jī)的控制中心,利用各種接口和線路連接整個(gè)手機(jī)的各個(gè)部分,通過運(yùn)行或執(zhí)行存儲(chǔ)在存儲(chǔ)器620內(nèi)的軟件程序和/或模塊,以及調(diào)用存儲(chǔ)在存儲(chǔ)器620內(nèi)的數(shù)據(jù),執(zhí)行手機(jī)的各種功能和處理數(shù)據(jù),從而對(duì)手機(jī)進(jìn)行整體監(jiān)控??蛇x的,處理器680可包括一個(gè)或多個(gè)處理單元;優(yōu)選的,處理器680可集成應(yīng)用處理器和調(diào)制解調(diào)處理器,其中,應(yīng)用處理器主要處理操作系統(tǒng)、用戶界面和應(yīng)用程序等,調(diào)制解調(diào)處理器主要處理無線通信??梢岳斫獾氖?,上述調(diào)制解調(diào)處理器也可以不集成到處理器680中。
[0147]手機(jī)還包括給各個(gè)部件供電的電源690(比如電池),優(yōu)選的,電源可以通過電源管理系統(tǒng)與處理器680邏輯相連,從而通過電源管理系統(tǒng)實(shí)現(xiàn)管理充電、放電、以及功耗管理等功能。
[0148]盡管未示出,手機(jī)還可以包括攝像頭、藍(lán)牙模塊等,在此不再贅述。
[0149]在本發(fā)明實(shí)施例中,該終端設(shè)備所包括的處理器680還具有控制執(zhí)行方法流程的功能。其中,該處理器680可以為眾核CPU。
[0150]值得注意的是,上述裝置實(shí)施例中,所包括的各個(gè)單元只是按照功能邏輯進(jìn)行劃分的,但并不局限于上述的劃分,只要能夠?qū)崿F(xiàn)相應(yīng)的功能即可;另外,各功能單元的具體名稱也只是為了便于相互區(qū)分,并不用于限制本發(fā)明的保護(hù)范圍。
[0151]另外,本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述各方法實(shí)施例中的全部或部分步驟是可以通過程序來指令相關(guān)的硬件完成,相應(yīng)的程序可以存儲(chǔ)于一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,上述提到的存儲(chǔ)介質(zhì)可以是只讀存儲(chǔ)器,磁盤或光盤等。
[0152]以上僅為本發(fā)明較佳的【具體實(shí)施方式】,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明實(shí)施例揭露的技術(shù)范圍內(nèi),可輕易想到的變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)該以權(quán)利要求的保護(hù)范圍為準(zhǔn)。
【主權(quán)項(xiàng)】
1.一種中央處理器的管理方法,其特征在于,包括: 確定第一預(yù)測(cè)條件和第二預(yù)測(cè)條件,所述第一預(yù)測(cè)條件和所述第二預(yù)測(cè)條件均為影響中央處理器CPU喚醒時(shí)間的因素; 統(tǒng)計(jì)使用所述第一預(yù)測(cè)條件預(yù)測(cè)所述CHJ進(jìn)入低功耗模式LPM的正確率; 若所述正確率高于預(yù)定閾值,則繼續(xù)使用所述第一預(yù)測(cè)條件預(yù)測(cè)所述CPU的下次喚醒時(shí)間;否則,使用所述第二預(yù)測(cè)條件預(yù)測(cè)所述CHJ的下次喚醒時(shí)間。2.根據(jù)權(quán)利要求1所述方法,其特征在于,所述第一預(yù)測(cè)條件為時(shí)鐘值、所述第二預(yù)測(cè)條件為中斷時(shí)刻。3.根據(jù)權(quán)利要求1所述方法,其特征在于,所述低功耗模式LPM包括: 等待中斷模式、休眠模式或者掉電模式。4.根據(jù)權(quán)利要求2所述方法,其特征在于,所述統(tǒng)計(jì)使用所述第一預(yù)測(cè)條件預(yù)測(cè)所述(PU進(jìn)入低功耗模式LPM的正確率包括: 確定使用時(shí)鐘值作為預(yù)測(cè)條件預(yù)測(cè)所述CPU的下次喚醒時(shí)間后,所述CPU進(jìn)入目標(biāo)LPM,確定所述目標(biāo)LPM的CPU響應(yīng)時(shí)間;確定所述目標(biāo)LPM的CPU響應(yīng)時(shí)間是否處于所述CPU在LPM下的睡眠時(shí)間以及CPU時(shí)鐘值之間;若是,則確定預(yù)測(cè)錯(cuò)誤; 在使用時(shí)鐘值作為預(yù)測(cè)條件預(yù)測(cè)所述CPU的下次喚醒時(shí)間預(yù)定次數(shù)后,統(tǒng)計(jì)預(yù)測(cè)正確率。5.根據(jù)權(quán)利要求4所述方法,其特征在于,所述方法還包括: 若所述目標(biāo)LPM的CPU響應(yīng)時(shí)間大于所述CPU在LPM下的睡眠時(shí)間以及CPU時(shí)鐘值,或者,小于所述CPU在LPM下的睡眠時(shí)間以及CPU時(shí)鐘值;或者,若所述CPU在LPM下的睡眠時(shí)間與CPU時(shí)鐘值的差值小于預(yù)定門限,則確定預(yù)測(cè)正確。6.根據(jù)權(quán)利要求4或5所述方法,其特征在于,所述中央處理器的管理方法應(yīng)用于對(duì)眾核CPU的管理。7.—種中央處理器的管理裝置,其特征在于,包括: 條件確定單元,用于確定第一預(yù)測(cè)條件和第二預(yù)測(cè)條件,所述第一預(yù)測(cè)條件和所述第二預(yù)測(cè)條件均為影響中央處理器(PU喚醒時(shí)間的因素; 正確率統(tǒng)計(jì)單元,用于統(tǒng)計(jì)使用所述第一預(yù)測(cè)條件預(yù)測(cè)所述CPU進(jìn)入低功耗模式LPM的正確率; 預(yù)測(cè)控制單元,用于若所述正確率統(tǒng)計(jì)單元確定正確率高于預(yù)定閾值,則繼續(xù)使用所述第一預(yù)測(cè)條件預(yù)測(cè)所述CPU的下次喚醒時(shí)間;否則,使用所述第二預(yù)測(cè)條件預(yù)測(cè)所述CPU的下次喚醒時(shí)間。8.根據(jù)權(quán)利要求7所述裝置,其特征在于,所述第一預(yù)測(cè)條件為時(shí)鐘值、所述第二預(yù)測(cè)條件為中斷時(shí)刻。9.根據(jù)權(quán)利要求7所述裝置,其特征在于,所述低功耗模式LPM包括: 等待中斷模式、休眠模式或者掉電模式。10.根據(jù)權(quán)利要求8所述裝置,其特征在于,在所述預(yù)測(cè)控制單元確定使用時(shí)鐘值作為預(yù)測(cè)條件預(yù)測(cè)所述CPU的下次喚醒時(shí)間后,所述CPU進(jìn)入目標(biāo)LPM;所述正確率統(tǒng)計(jì)單元包括: 時(shí)間確定單元,用于確定所述目標(biāo)LPM的CRJ響應(yīng)時(shí)間; 正誤確定單元,用于確定所述目標(biāo)LPM的CPU響應(yīng)時(shí)間是否處于所述CPU在LPM下的睡眠時(shí)間以及CPU時(shí)鐘值之間;若是,則確定預(yù)測(cè)錯(cuò)誤; 統(tǒng)計(jì)單元,用于在使用時(shí)鐘值作為預(yù)測(cè)條件預(yù)測(cè)所述CPU的下次喚醒時(shí)間預(yù)定次數(shù)后,統(tǒng)計(jì)預(yù)測(cè)正確率。11.根據(jù)權(quán)利要求10所述裝置,其特征在于, 所述正誤確定單元,還用于若所述目標(biāo)LPM的CPU響應(yīng)時(shí)間大于所述CPU在LPM下的睡眠時(shí)間以及CPU時(shí)鐘值,或者,小于所述CPU在LPM下的睡眠時(shí)間以及CPU時(shí)鐘值;或者,若所述CPU在LPM下的睡眠時(shí)間與CPU時(shí)鐘值的差值小于預(yù)定門限,則確定預(yù)測(cè)正確。12.根據(jù)權(quán)利要求10或11所述裝置,其特征在于,所述中央處理器的管理裝置應(yīng)用于對(duì)眾核(PU的管理。13.—種電子設(shè)備,包括:中央處理器和存儲(chǔ)器,其特征在于,所述中央處理器用于執(zhí)行權(quán)利要求1至6任意一項(xiàng)所述的方法。
【文檔編號(hào)】G06F1/32GK106055079SQ201610380645
【公開日】2016年10月26日
【申請(qǐng)日】2016年5月31日
【發(fā)明人】曾元清
【申請(qǐng)人】廣東歐珀移動(dòng)通信有限公司