一种中央处理器的管理方法、及装置的制造方法
【专利摘要】本发明实施例公开了一种中央处理器的管理方法、及装置,其中方法的实现包括:确定第一预测条件和第二预测条件,所述第一预测条件和所述第二预测条件均为影响中央处理器CPU唤醒时间的因素;统计使用所述第一预测条件预测所述CPU进入低功耗模式LPM的正确率;若所述正确率高于预定阈值,则继续使用所述第一预测条件预测所述CPU的下次唤醒时间;否则,使用所述第二预测条件预测所述CPU的下次唤醒时间。在采用预测条件对CPU的下次唤醒时间进行预测,同时考虑多种因素对CPU的下次唤醒时间的影响,可以比较准确的预测CPU下次要唤醒的时间,使CPU能够选择较为合适的PLM,从而兼顾CPU的功耗和性能需求;因此,可以在保持低功耗的前提下维持较高的CPU性能。
【专利说明】
一种中央处理器的管理方法、及装置
技术领域
[0001]本发明涉及计算机技术领域,特别涉及一种中央处理器的管理方法、及装置。
【背景技术】
[0002]在目前广泛使用的操作系统中,当中央处理器(Central Processing Unit,CPU)上有任务运行时,CPU会处于运行态(active state),当任务执行完成或被移出后,CPU会进入低功耗模式(Low Power Mode,LPM),包括等待中断模式(wait for interrupt,WFI),休眠模式(Suspend)或是掉电模式(Power collapse)等不同的LPM;不同的LPM对应不同的CPU响应时间和功耗水平。
[0003]比如:在WFI下CPU响应速度快但功耗水平较高,而power col lapse状态CPU响应速度很慢但功耗最低。CPU处于长时间运行态,可以保证较好的运行性能,但是会增加功耗。CPU处于长时间LPM,会节省功耗,但是会影响响应速度。所以合理的判断CI3U进入合适的LPM,成为了操作系统功耗性能表现的一大重要影响指标。
[0004]目前CPU低功耗模式选择的基本思路是:根据最近唤醒的时钟到期时间和上次系统唤醒时间,先预测下次CPU唤醒的时间,然后找到满足该响应时间内功耗最低的LPM。目前比较通用的两种LPM管理算法有menu governor(菜单调节)算法和ladder governor(梯形调节)算法:
[0005]l、Menu governor:
[0006]Menu算法思路是先尝试找到过去数次(8次)进入LPM的时间统计,找到其中比较接近的几个数据取平均值来预测下次唤醒时间。假如数据分散,找不到合适的平均数,就按照时间长短划分12个桶,每个桶分别对应不同的阻尼系数,读取下次即将唤醒系统的时钟(timer)值,乘以其对应桶的阻尼系数来预测下次CPU唤醒时间。该算法中使用12桶,需要学习调整12个对应的阻尼系数,算法系数调整速度很难跟上CPU状态变化,从而导致预测值的准确性比较低;而如果采用取众数平均时,会使算法复杂度提高。
[0007]2、Ladder governor:
[0008]Ladder算法思路比较简单,算法没有对下次CPU唤醒时间做预测,而是直接对过去一次或者若干次处在某一 LPM的时间进行统计,假如处于LPM的时间小于该LPM对应的响应时间,则说明当前进入LPM的响应时间不满足性能需求,需要切到更轻一级LPM以满足性能需求;反之亦然。该算法主要根据历史数据,逐级调整切换LPM,在CPU状态切换剧烈的场景下,该算法跟随性和响应速度相对较慢。
[0009]因此,目前的CPU低功耗模式选择方案具有较大局限性,无法在保持低功耗的前提下维持较高的(PU性能。
【发明内容】
[0010]本发明实施例提供了一种中央处理器的管理方法、及装置,用于在保持低功耗的前提下维持较高的(PU性能。
[0011]一方面本发明实施例提供了一种中央处理器的管理方法,包括:
[0012]确定第一预测条件和第二预测条件,所述第一预测条件和所述第二预测条件均为影响中央处理器CPU唤醒时间的因素;
[0013]统计使用所述第一预测条件预测所述CPU进入低功耗模式LPM的正确率;
[0014]若所述正确率高于预定阈值,则继续使用所述第一预测条件预测所述CHJ的下次唤醒时间;否则,使用所述第二预测条件预测所述CPU的下次唤醒时间。
[0015]在一个可选的实现方式中,所述第一预测条件为时钟值、所述第二预测条件为中断时刻。
[0016]在一个可选的实现方式中,所述低功耗模式LPM包括:
[0017]等待中断模式、休眠模式或者掉电模式。
[0018]在一个可选的实现方式中,所述统计使用所述第一预测条件预测所述CHJ进入低功耗模式LPM的正确率包括:
[0019]确定使用时钟值作为预测条件预测所述CPU的下次唤醒时间后,所述CPU进入目标LPM,确定所述目标LPM的CPU响应时间;确定所述目标LPM的CPU响应时间是否处于所述CPU在LPM下的睡眠时间以及CPU时钟值之间;若是,则确定预测错误;
[0020]在使用时钟值作为预测条件预测所述CPU的下次唤醒时间预定次数后,统计预测正确率。
[0021 ]在一个可选的实现方式中,所述方法还包括:
[0022 ] 若所述目标LPM的CPU响应时间大于所述CPU在LPM下的睡眠时间以及CPU时钟值,或者,小于所述CPU在LPM下的睡眠时间以及CPU时钟值;或者,若所述CPU在LPM下的睡眠时间与CPU时钟值的差值小于预定门限,则确定预测正确。
[0023]在一个可选的实现方式中,所述中央处理器的管理方法应用于对众核CPU的管理。
[0024]二方面本发明实施例还提供了一种中央处理器的管理装置,包括:
[0025]条件确定单元,用于确定第一预测条件和第二预测条件,所述第一预测条件和所述第二预测条件均为影响中央处理器(PU唤醒时间的因素;
[0026]正确率统计单元,用于统计使用所述第一预测条件预测所述CPU进入低功耗模式LPM的正确率;
[0027]预测控制单元,用于若所述正确率统计单元确定正确率高于预定阈值,则继续使用所述第一预测条件预测所述(PU的下次唤醒时间;否则,使用所述第二预测条件预测所述CHJ的下次唤醒时间。
[0028]在一个可选的实现方式中,所述第一预测条件为时钟值、所述第二预测条件为中断时刻。
[0029]在一个可选的实现方式中,所述低功耗模式LPM包括:
[0030]等待中断模式、休眠模式或者掉电模式。
[0031]在一个可选的实现方式中,在所述预测控制单元确定使用时钟值作为预测条件预测所述(PU的下次唤醒时间后,所述CPU进入目标LPM;所述正确率统计单元包括:
[0032]时间确定单元,用于确定所述目标LPM的CPU响应时间;
[0033]正误确定单元,用于确定所述目标LPM的CPU响应时间是否处于所述CPU在LPM下的睡眠时间以及CPU时钟值之间;若是,则确定预测错误;
[0034]统计单元,用于在使用时钟值作为预测条件预测所述CHJ的下次唤醒时间预定次数后,统计预测正确率。
[0035]在一个可选的实现方式中,所述正误确定单元,还用于若所述目标LPM的CPU响应时间大于所述CPU在LPM下的睡眠时间以及CPU时钟值,或者,小于所述CPU在LPM下的睡眠时间以及CPU时钟值;或者,若所述CPU在LPM下的睡眠时间与CPU时钟值的差值小于预定门限,则确定预测正确。
[0036]在一个可选的实现方式中,所述中央处理器的管理装置应用于对众核CPU的管理。
[0037]三方面本发明实施例还提供了一种电子设备,包括:中央处理器和存储器,其中,所述中央处理器用于执行本发明实施例提供的任意一项所述的方法。
[0038]从以上技术方案可以看出,本发明实施例具有以下优点:在采用预测条件对CPU的下次唤醒时间进行预测,采用统计正确率的方式,同时考虑多种因素对CPU的下次唤醒时间的影响,可以比较准确的预测CPU下次要唤醒的时间,使CPU能够选择较为合适的PLM,从而兼顾CPU的功耗和性能需求;因此,可以在保持低功耗的前提下维持较高的CPU性能。
【附图说明】
[0039]为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0040]图1为本发明实施例方法流程示意图;
[0041 ]图2为本发明实施例方法流程示意图;
[0042]图3为本发明实施例装置结构示意图;
[0043]图4为本发明实施例装置结构示意图;
[0044]图5为本发明实施例装置结构示意图;
[0045]图6为本发明实施例终端设备结构示意图。
【具体实施方式】
[0046]为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部份实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
[0047]本发明实施例提供了一种中央处理器的管理方法,如图1所示,包括:
[0048]101:确定第一预测条件和第二预测条件,上述第一预测条件和上述第二预测条件均为影响中央处理器CPU唤醒时间的因素;
[0049]影响CPU唤醒时间的因素可能有很多,目前主要有:时钟(timer)和中断;以上第一预测条件和第二预测条件依据影响CPU唤醒时间的因素确定,具体本发明实施例不作唯一性限定。在本发明实施例中,时钟值可以理解为CPU时钟值,或者,系统时钟值。
[0050]102:统计使用上述第一预测条件预测上述CPU进入低功耗模式LPM的正确率;
[0051]在本发明实施例中,使用预测条件预测上述CPU的下次唤醒时间后,CPU会选择进入到一种合适的LPM,但是由于预测的准确性会受到实际情况的影响,例如CPU状态的变化,会导致进入的LPM并不一定合适;因此会存在一定比例预测不正确的情况。
[0052]103:若上述正确率高于预定阈值,则继续使用上述第一预测条件预测上述CPU的下次唤醒时间;否则,使用上述第二预测条件预测上述CPU的下次唤醒时间。
[0053]这里的预定阈值可以是任意设定的阈值,用于确定第一预测条件是否能够准确预测CPU的下次唤醒时间,因此该预定阈值设置得越高则表示对预测结果的准确度要求越高,可以理解的是设置得越高会带来更为频繁的切换预测条件;综合考虑,可以设置到60%左右的值会较为合理,可以理解的是设置成其他值并不会影响到本发明实施例的实现。
[0054]本发明实施例,在采用预测条件对CPU的下次唤醒时间进行预测,采用统计正确率的方式,同时考虑多种因素对CPU的下次唤醒时间的影响,可以比较准确的预测CPU下次要唤醒的时间,使CPU能够选择较为合适的PLM,从而兼顾CPU的功耗和性能需求;因此,可以在保持低功耗的前提下维持较高的CPU性能。
[0055]作为一个更为具体的应用举例,上述第一预测条件为时钟值、上述第二预测条件为中断时刻。
[0056]在本发明实施例中,LPM可以有很多种,本实施例提供了如下举例:上述低功耗模式LPM包括:
[0057]等待中断模式、休眠模式或者掉电模式。
[0058]可以理解的是,LPM还可以有其他表现形式,本发明实施例在预测CPU的下次唤醒时间后,选择进入哪一种LPM,因此LPM具体有哪些并不会影响到前期预测的执行过程。以上举例也不应理解为对本发明实施例的唯一性限定。
[0059]本发明实施例还提供了具体如何统计正确率的实现方案,上述统计使用上述第一预测条件预测上述(PU进入低功耗模式LPM的正确率包括:
[0060]确定使用时钟值作为预测条件预测上述CPU的下次唤醒时间后,上述CPU进入目标LPM,确定上述目标LPM的CPU响应时间;确定上述目标LPM的CPU响应时间是否处于上述CPU在LPM下的睡眠时间以及CPU时钟值之间;若是,则确定预测错误;
[0061]在使用时钟值作为预测条件预测上述CPU的下次唤醒时间预定次数后,统计预测正确率。
[0062]本实施例,基于以时钟值和中断时刻作为影响CPU唤醒时间的因素,提出了具体的确定何种情况下可以认为是预测错误的情况。需要说明的是,如果上述CPU在LPM下的睡眠时间与CHJ时钟值的差值小于预定门限,即使满足上述目标LPM的CPU响应时间处于上述CPU在LPM下的睡眠时间以及CPU时钟值之间,也可以认为预测正确。
[0063]本发明实施例还基于确定预测错误的情况,提供了具体如何统计预测正确的实现方案:上述方法还包括:
[0064]若上述目标LPM的CPU响应时间大于上述CPU在LPM下的睡眠时间以及CPU时钟值,或者,小于上述CPU在LPM下的睡眠时间以及CPU时钟值;或者,若上述CPU在LPM下的睡眠时间与CPU时钟值的差值小于预定门限,则确定预测正确。
[0065]可以理解的是,如果将预测错误的情况排除在外,将其他情况都认为是预测正确,也是可以实现的;因此确定预测正确的流程并不一定是完全必要的;另外,如果将预测正确的情况确定为正确的全集,不考虑如何确定预测错误,将不属于预测正确的情况全部认为是预测错误,也是可以实现的;因此以上关于确定预测正确以及确定预测错误的实现方案,可以分别独立存在;同时,也可以综合考虑。
[0066]作为一个更为优选的应用场景,上述中央处理器的管理方法应用于对众核CPU的管理。
[0067]在具有多核(S卩:多CPU,众核CPU)系统中,可以通过将CPU至于更加合适的LPM状态,从而帮助操作系统的任务调度器(scheduler)更加精确的分配任务到合适的CPU上,减少系统功耗和调度开销,并提高系统运行性能。
[0068]基于以上说明可见,本发明实施例设计了一种新的用于降低多核系统功耗及提高性能的低功耗模式切换算法(LPM Governor),设计原理是:用CPU上次处在LPM的时间和上次系统时钟(t imer)的值进行比较打分,假如二者都处在同一 LPM的响应时间范围,则认为用系统timer来预测下次CPU唤醒是正确的,反之是错误的;低功耗模式切换算法统计过去若干次(例如,五次)的打分情况,假如正确率比较好(例如,正确率>60%)时,则继续使用timer来预测,否则使用上次CPU被中断唤醒时间(即中断时亥Ij)来预测下次唤醒CPU时间。这样可以比较好的反映中断对CPU的影响,提高CPU对瞬时剧烈变化场景的突变CPU需求的响应速度。同时低功耗模式切换算法用CHJ在不同LPM的响应时间来作为打分门限,这样CPU状态切换决策能够直接体现出不同CPU的特性,针对性和准确性比较好。该算法在CPU频繁唤醒(中断较多)的场景,可以在保持低功耗的前提下维持较高的(PU性能。
[0069]因此,本发明实施例通过对系统timer和CPU唤醒时间进行对比打分,评估timer预测的准确性,在中断频繁的场景实时修正预测值,可以比较准确的预测下次CHJ唤醒时间,从而使CHJ进入比较合理的LPM,可以在尽量保持低功耗的情况下维持比较好的CPU性能。
[0070]一般情况下CPU对应几个经典LPM低功耗模式,每个不同的低功耗模式CPU都有不同的响应时间和功耗特性:比如WFI模式(CPU响应速度最快,不过在WFI模式功耗最大)、休目民(suspend/re tent 1n)模式(CPU响应速度与功耗水平都居中)、掉电模式(Powercollapse,CPU响应最慢但最省电)等。显然,对于中断/任务调度比较频繁,需要CPU实时响应的情况下,WFI比较合适;对于系统长时间的休眠,掉电(power co 11apse)模式比较合适。
[0071]当CPU进入空闲(idle)状态,开始考虑到底该进入哪个LPM时,目前比较普遍的思路就是先预测下次CHJ唤醒时间,找到满足该唤醒时间(CPU LPM响应时间〈下次唤醒时间)的功耗水平最低的LPM。
[0072]影响CPU下次唤醒时间的主要因素有:
[0073]⑴、时钟(timer),每个CPU都有对应的自己的timer,驱动程序、内核模块、应用等都会根据自身需要设置不同的timer,通常以最近将要到期的timer为准。
[0074]⑵、中断,调度器内部中断以及系统外部中断等。在中断较少的情况下,可以预期CPU在LPM中间不会被唤醒直到timer到期;假如中断比较多的情况下,CPU会在timer到期之前被中断唤醒,所以CPU在LPM的时间就会远小于timer值。所以,可以用上次进入LPM的时间与上次的timer比较,来判定当前系统是否比较繁忙(中断比较多)。为了方便说明算法过程,定义几个基本变量如下:
[0075]L1:标记某一种LPM,比如WFI ,suspend等;
[0076]TL1:某一种LPMLi对应的CPU响应时间;
[0077]SL1:CPU在低功耗模式Li下睡眠的时间;
[0078]Ttimer:CPU timer值;
[0079]El1:预测得到的下次CPU被唤醒时间。
[0080]具体流程,如图2所示,包括如下步骤:
[0081 ] 201:统计上次CPU在低功耗模式Li的睡眠时间SLi和上次的Ttimer;
[0082]后续流程中,是给Ttimer打分的步骤,包括202?205。
[0083]202:确定SLi是否约等于Ttimer ;如果是,进入203,否则进入204 ;
[0084]假如SLi和Ttimer基本相当(或者稍小),说明CI3U在上次LPM Li中没有被中断打断,上次Ttimer很好的预测了CPU被唤醒时间,所以预测正确;
[0085]203:确定Ttimer预测正确,进入206 ;
[0086]204: SLi与Ttimer是否均位于TLi同一侧,如果是,进入203否则进入205;
[0087]在202确定为否的情况下,S卩:SLi和Ttimer差异比较大的情况,其中一种情况是:SLi与Ttimer都大于或者都小于TLi,即他们都落在当时LPM模式TLi的同一侧,说明中断对CPU唤醒有很大影响,不过还在同一 LPM模式的响应时间范围内;这种情况下,虽然继续用timer预测有些不太准确,但是并不会影响CPU进入正确的LPM模式,所以还认为预测正确;
[0088]另一种情况下:SLi和Ttimer分别位于TLi的两侧,说明中断的影响非常明显,Ttimer已经不足以作为进入正确LPM的判断依据,所以Ttimer预测错误,需要在下次预测考虑中断的影响。
[0089]205:确定Ttimer预测错误,进入206 ;
[0090]206:统计最近若干次预测结果;
[0091]这里可以统计N次,例如5次的预测结果。当然,也可以设置成其他次数,本实施例不作唯一性限定。假如正确率大于一定门限(60%),下次预测可以继续使用timer;否则使用上次中断唤醒CPU的时间来预测下次唤醒时间。
[0092]207:确定正确率是否大于门限值;如果是,进入208,否则进入209;
[0093 ] 208:使用Tt imer预测下次CPU唤醒时间,得到预测值EI i,进入210 ;
[0094]209:使用中断时间预测下次CPU唤醒时间,得到预测值El i,进入210;
[0095]210:根据得到的预测值Eli,在所有LPM模式中找到满足(TLi〈ELi)条件的功耗最小的模式。
[0096]本发明实施例,对于CPU下次唤醒时间的预测兼顾timer与中断影响。使用对系统timer与CPU真实处在LPM时间比较打分,来评定预测效果,在预测正确率低于一定门限时,切换使用中断唤醒时间来预测,可以兼顾功耗和性能。
[0097]本发明实施例并没有按照传统思路根据过去LPM时间的统计数据来计算拟合本次在LPM睡眠时间,而是直接针对CPU特性,按照CPU LPM的响应时间对过去的timer预测做评价打分,算法思路简单,对芯片进出各种LPM模式的系统开销做出了针对性的优化。
[0098]本发明实施例还提供了一种中央处理器的管理装置,如图3所示,包括:
[0099]条件确定单元301,用于确定第一预测条件和第二预测条件,上述第一预测条件和上述第二预测条件均为影响中央处理器(PU唤醒时间的因素;
[0100]正确率统计单元302,用于统计使用上述第一预测条件预测上述CPU进入低功耗模式LPM的正确率;
[0101]预测控制单元303,用于若上述正确率统计单元302确定正确率高于预定阈值,则继续使用上述第一预测条件预测上述CPU的下次唤醒时间;否则,使用上述第二预测条件预测上述CPU的下次唤醒时间。
[0102]影响CPU唤醒时间的因素可能有很多,目前主要有:时钟(timer)和中断;以上第一预测条件和第二预测条件依据影响CPU唤醒时间的因素确定,具体本发明实施例不作唯一性限定。在本发明实施例中,时钟值可以理解为CPU时钟值,或者,系统时钟值。
[0103]在本发明实施例中,使用预测条件预测上述CPU的下次唤醒时间后,CPU会选择进入到一种合适的LPM,但是由于预测的准确性会受到实际情况的影响,例如CPU状态的变化,会导致进入的LPM并不一定合适;因此会存在一定比例预测不正确的情况。
[0104]这里的预定阈值可以是任意设定的阈值,用于确定第一预测条件是否能够准确预测CPU的下次唤醒时间,因此该预定阈值设置得越高则表示对预测结果的准确度要求越高,可以理解的是设置得越高会带来更为频繁的切换预测条件;综合考虑,可以设置到60%左右的值会较为合理,可以理解的是设置成其他值并不会影响到本发明实施例的实现。
[0105]本发明实施例,在采用预测条件对CPU的下次唤醒时间进行预测,采用统计正确率的方式,同时考虑多种因素对CPU的下次唤醒时间的影响,可以比较准确的预测CPU下次要唤醒的时间,使CPU能够选择较为合适的PLM,从而兼顾CPU的功耗和性能需求;因此,可以在保持低功耗的前提下维持较高的CPU性能。
[0106]作为一个更为具体的应用举例,上述第一预测条件为时钟值、上述第二预测条件为中断。
[0107]在本发明实施例中,LPM可以有很多种,本实施例提供了如下举例:上述低功耗模式LPM包括:
[0108]等待中断模式、休眠模式或者掉电模式。
[0109]可以理解的是,LPM还可以有其他表现形式,本发明实施例在预测CPU的下次唤醒时间后,选择进入哪一种LPM,因此LPM具体有哪些并不会影响到前期预测的执行过程。以上举例也不应理解为对本发明实施例的唯一性限定。
[0110]本发明实施例还提供了具体如何统计正确率的实现方案,进一步地,如图4所示,在上述预测控制单元303确定使用时钟值作为预测条件预测上述CPU的下次唤醒时间后,上述CPU进入目标LPM;上述正确率统计单元302包括:
[0111]时间确定单元401,用于确定上述目标LPM的CPU响应时间;
[0112]正误确定单元402,用于确定上述目标LPM的CPU响应时间是否处于上述CPU在LPM下的睡眠时间以及CPU时钟值之间;若是,则确定预测错误;
[0113]统计单元403,用于在使用时钟值作为预测条件预测上述CPU的下次唤醒时间预定次数后,统计预测正确率。
[0114]本实施例,基于以时钟值和中断作为影响CPU唤醒时间的因素,提出了具体的确定何种情况下可以认为是预测错误的情况。需要说明的是,如果上述CPU在LPM下的睡眠时间与CPU时钟值的差值小于预定门限,即使满足上述目标LPM的CPU响应时间处于上述CI3U在LPM下的睡眠时间以及CPU时钟值之间,也可以认为预测正确。
[0115]本发明实施例还基于确定预测错误的情况,提供了具体如何统计预测正确的实现方案:上述正误确定单元402,还用于若上述目标LPM的CPU响应时间大于上述CPU在LPM下的睡眠时间以及CPU时钟值,或者,小于上述CPU在LPM下的睡眠时间以及CPU时钟值;或者,若上述CPU在LPM下的睡眠时间与CPU时钟值的差值小于预定门限,则确定预测正确。
[0116]可以理解的是,如果将预测错误的情况排除在外,将其他情况都认为是预测正确,也是可以实现的;因此确定预测正确的流程并不一定是完全必要的;另外,如果将预测正确的情况确定为正确的全集,不考虑如何确定预测错误,将不属于预测正确的情况全部认为是预测错误,也是可以实现的;因此以上关于确定预测正确以及确定预测错误的实现方案,可以分别独立存在;同时,也可以综合考虑。
[0117]作为一个更为优选的应用场景,可选地,上述中央处理器的管理装置应用于对众核CPU的管理。
[0118]在具有多核(S卩:多CPU,众核CPU)系统中,可以通过将CPU至于更加合适的LPM状态,从而帮助操作系统的任务调度器(scheduler)更加精确的分配任务到合适的CPU上,减少系统功耗和调度开销,并提高系统运行性能。
[0119]本发明实施例还提供了一种电子设备,如图5所示,包括:中央处理器501和存储器502,其中存储器502可以用于处理器501执行数据处理所需要的缓存,还可以用于提供处理器501执行数据处理调用的数据以及获得的结果数据的存储空间;该电子设备还可以包含其他硬件设备,本实施例对此不作限定;
[0120]其中,上述处理器501,用于确定第一预测条件和第二预测条件,上述第一预测条件和上述第二预测条件均为影响中央处理器CPU唤醒时间的因素;统计使用上述第一预测条件预测上述CPU进入低功耗模式LPM的正确率;若上述正确率高于预定阈值,则继续使用上述第一预测条件预测上述CPU的下次唤醒时间;否则,使用上述第二预测条件预测上述CHJ的下次唤醒时间。
[0121]在本发明实施例中,使用预测条件预测上述CPU的下次唤醒时间后,CPU会选择进入到一种合适的LPM,但是由于预测的准确性会受到实际情况的影响,例如CPU状态的变化,会导致进入的LPM并不一定合适;因此会存在一定比例预测不正确的情况。
[0122]这里的预定阈值可以是任意设定的阈值,用于确定第一预测条件是否能够准确预测CPU的下次唤醒时间,因此该预定阈值设置得越高则表示对预测结果的准确度要求越高,可以理解的是设置得越高会带来更为频繁的切换预测条件;综合考虑,可以设置到60%左右的值会较为合理,可以理解的是设置成其他值并不会影响到本发明实施例的实现。
[0123]本发明实施例,在采用预测条件对CPU的下次唤醒时间进行预测,采用统计正确率的方式,同时考虑多种因素对CPU的下次唤醒时间的影响,可以比较准确的预测CPU下次要唤醒的时间,使CPU能够选择较为合适的PLM,从而兼顾CPU的功耗和性能需求;因此,可以在保持低功耗的前提下维持较高的CPU性能。
[0124]作为一个更为具体的应用举例,上述第一预测条件为时钟值、上述第二预测条件为中断。
[0125]在本发明实施例中,LPM可以有很多种,本实施例提供了如下举例:上述低功耗模式LPM包括:
[0126]等待中断模式、休眠模式或者掉电模式。
[0127]可以理解的是,LPM还可以有其他表现形式,本发明实施例在预测CPU的下次唤醒时间后,选择进入哪一种LPM,因此LPM具体有哪些并不会影响到前期预测的执行过程。以上举例也不应理解为对本发明实施例的唯一性限定。
[0128]本发明实施例还提供了具体如何统计正确率的实现方案,上述处理器501,用于统计使用上述第一预测条件预测上述(PU进入低功耗模式LPM的正确率包括:
[0129]确定使用时钟值作为预测条件预测上述CPU的下次唤醒时间后,上述CPU进入目标LPM,确定上述目标LPM的CPU响应时间;确定上述目标LPM的CPU响应时间是否处于上述CPU在LPM下的睡眠时间以及CPU时钟值之间;若是,则确定预测错误;
[0130]在使用时钟值作为预测条件预测上述CPU的下次唤醒时间预定次数后,统计预测正确率。
[0131]本实施例,基于以时钟值和中断作为影响CPU唤醒时间的因素,提出了具体的确定何种情况下可以认为是预测错误的情况。需要说明的是,如果上述CPU在LPM下的睡眠时间与CPU时钟值的差值小于预定门限,即使满足上述目标LPM的CPU响应时间处于上述CI3U在LPM下的睡眠时间以及CPU时钟值之间,也可以认为预测正确。
[0132]本发明实施例还基于确定预测错误的情况,提供了具体如何统计预测正确的实现方案:上述处理器501,还用于若上述目标LPM的CPU响应时间大于上述CPU在LPM下的睡眠时间以及CPU时钟值,或者,小于上述CPU在LPM下的睡眠时间以及CPU时钟值;或者,若上述CPU在LPM下的睡眠时间与CPU时钟值的差值小于预定门限,则确定预测正确。
[0133]可以理解的是,如果将预测错误的情况排除在外,将其他情况都认为是预测正确,也是可以实现的;因此确定预测正确的流程并不一定是完全必要的;另外,如果将预测正确的情况确定为正确的全集,不考虑如何确定预测错误,将不属于预测正确的情况全部认为是预测错误,也是可以实现的;因此以上关于确定预测正确以及确定预测错误的实现方案,可以分别独立存在;同时,也可以综合考虑。
[0134]作为一个更为优选的应用场景,可选地,上述电子设备的上述处理器501为众核CPUo
[0135]在具有多核(S卩:多CPU,众核CPU)系统中,可以通过将CPU至于更加合适的LPM状态,从而帮助操作系统的任务调度器(scheduler)更加精确的分配任务到合适的CPU上,减少系统功耗和调度开销,并提高系统运行性能。
[0136]本发明实施例还提供了一种终端设备,如图6所示,为了便于说明,仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照本发明实施例方法部分。该终端设备可以为包括手机、平板电脑、PDA(Personal Digital Assistant,个人数字助理)、P0S(Point of Sales,销售终端)、车载电脑等任意终端设备,以终端设备为手机为例:
[0137]图6示出的是与本发明实施例提供的终端设备相关的手机的部分结构的框图。参考图6,手机包括:射频(Rad1 Frequency,RF)电路610、存储器620、输入单元630、显示单元640、传感器650、音频电路660、无线保真(wireless fidelity,WiFi)模块670、处理器680、以及电源690等部件。本领域技术人员可以理解,图6中示出的手机结构并不构成对手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
[0138]下面结合图6对手机的各个构成部件进行具体的介绍:
[0139]RF电路610可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给处理器680处理;另外,将设计上行的数据发送给基站。通常,RF电路610包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(Low NoiseAmpl if ier,LNA)、双工器等。此外,RF电路610还可以通过无线通信与网络和其他设备通信。上述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(GlobalSystem of Mobile communicat1n,GSM)、通用分组无线服务(General Packet Rad1Service,GPRS)、码分多址(Code Divis1n Multiple Access,CDMA)、宽带码分多址(Wideband Code Divis1n Multiple Access ,WCDMA)、长期演进(Long Term Evolut1n,LTE)、电子邮件、短消息服务(Short Messaging Service,SMS)等。
[0140]存储器620可用于存储软件程序以及模块,处理器680通过运行存储在存储器620的软件程序以及模块,从而执行手机的各种功能应用以及数据处理。存储器620可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器620可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
[0141]输入单元630可用于接收输入的数字或字符信息,以及产生与手机的用户设置以及功能控制有关的键信号输入。具体地,输入单元630可包括触控面板631以及其他输入设备632。触控面板631,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板631上或在触控面板631附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板631可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器680,并能接收处理器680发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板631。除了触控面板631,输入单元630还可以包括其他输入设备632。具体地,其他输入设备632可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
[0142]显示单元640可用于显示由用户输入的信息或提供给用户的信息以及手机的各种菜单。显示单元640可包括显示面板641,可选的,可以采用液晶显示器(Liquid CrystalDisplay,IXD)、有机发光二极管(Organic Light-Emitting D1de,0LED)等形式来配置显示面板641。进一步的,触控面板631可覆盖显示面板641,当触控面板631检测到在其上或附近的触摸操作后,传送给处理器680以确定触摸事件的类型,随后处理器680根据触摸事件的类型在显示面板641上提供相应的视觉输出。虽然在图6中,触控面板631与显示面板641是作为两个独立的部件来实现手机的输入和输入功能,但是在某些实施例中,可以将触控面板631与显示面板641集成而实现手机的输入和输出功能。
[0143]手机还可包括至少一种传感器650,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板641的亮度,接近传感器可在手机移动到耳边时,关闭显示面板641和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于手机还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
[0144]音频电路660、扬声器661,传声器662可提供用户与手机之间的音频接口。音频电路660可将接收到的音频数据转换后的电信号,传输到扬声器661,由扬声器661转换为声音信号输出;另一方面,传声器662将收集的声音信号转换为电信号,由音频电路660接收后转换为音频数据,再将音频数据输出处理器680处理后,经RF电路610以发送给比如另一手机,或者将音频数据输出至存储器620以便进一步处理。
[0145]WiFi属于短距离无线传输技术,手机通过WiFi模块670可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图6示出了WiFi模块670,但是可以理解的是,其并不属于手机的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
[0146]处理器680是手机的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器620内的软件程序和/或模块,以及调用存储在存储器620内的数据,执行手机的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器680可包括一个或多个处理单元;优选的,处理器680可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器680中。
[0147]手机还包括给各个部件供电的电源690(比如电池),优选的,电源可以通过电源管理系统与处理器680逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
[0148]尽管未示出,手机还可以包括摄像头、蓝牙模块等,在此不再赘述。
[0149]在本发明实施例中,该终端设备所包括的处理器680还具有控制执行方法流程的功能。其中,该处理器680可以为众核CPU。
[0150]值得注意的是,上述装置实施例中,所包括的各个单元只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
[0151]另外,本领域普通技术人员可以理解实现上述各方法实施例中的全部或部分步骤是可以通过程序来指令相关的硬件完成,相应的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
[0152]以上仅为本发明较佳的【具体实施方式】,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明实施例揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
【主权项】
1.一种中央处理器的管理方法,其特征在于,包括: 确定第一预测条件和第二预测条件,所述第一预测条件和所述第二预测条件均为影响中央处理器CPU唤醒时间的因素; 统计使用所述第一预测条件预测所述CHJ进入低功耗模式LPM的正确率; 若所述正确率高于预定阈值,则继续使用所述第一预测条件预测所述CPU的下次唤醒时间;否则,使用所述第二预测条件预测所述CHJ的下次唤醒时间。2.根据权利要求1所述方法,其特征在于,所述第一预测条件为时钟值、所述第二预测条件为中断时刻。3.根据权利要求1所述方法,其特征在于,所述低功耗模式LPM包括: 等待中断模式、休眠模式或者掉电模式。4.根据权利要求2所述方法,其特征在于,所述统计使用所述第一预测条件预测所述(PU进入低功耗模式LPM的正确率包括: 确定使用时钟值作为预测条件预测所述CPU的下次唤醒时间后,所述CPU进入目标LPM,确定所述目标LPM的CPU响应时间;确定所述目标LPM的CPU响应时间是否处于所述CPU在LPM下的睡眠时间以及CPU时钟值之间;若是,则确定预测错误; 在使用时钟值作为预测条件预测所述CPU的下次唤醒时间预定次数后,统计预测正确率。5.根据权利要求4所述方法,其特征在于,所述方法还包括: 若所述目标LPM的CPU响应时间大于所述CPU在LPM下的睡眠时间以及CPU时钟值,或者,小于所述CPU在LPM下的睡眠时间以及CPU时钟值;或者,若所述CPU在LPM下的睡眠时间与CPU时钟值的差值小于预定门限,则确定预测正确。6.根据权利要求4或5所述方法,其特征在于,所述中央处理器的管理方法应用于对众核CPU的管理。7.—种中央处理器的管理装置,其特征在于,包括: 条件确定单元,用于确定第一预测条件和第二预测条件,所述第一预测条件和所述第二预测条件均为影响中央处理器(PU唤醒时间的因素; 正确率统计单元,用于统计使用所述第一预测条件预测所述CPU进入低功耗模式LPM的正确率; 预测控制单元,用于若所述正确率统计单元确定正确率高于预定阈值,则继续使用所述第一预测条件预测所述CPU的下次唤醒时间;否则,使用所述第二预测条件预测所述CPU的下次唤醒时间。8.根据权利要求7所述装置,其特征在于,所述第一预测条件为时钟值、所述第二预测条件为中断时刻。9.根据权利要求7所述装置,其特征在于,所述低功耗模式LPM包括: 等待中断模式、休眠模式或者掉电模式。10.根据权利要求8所述装置,其特征在于,在所述预测控制单元确定使用时钟值作为预测条件预测所述CPU的下次唤醒时间后,所述CPU进入目标LPM;所述正确率统计单元包括: 时间确定单元,用于确定所述目标LPM的CRJ响应时间; 正误确定单元,用于确定所述目标LPM的CPU响应时间是否处于所述CPU在LPM下的睡眠时间以及CPU时钟值之间;若是,则确定预测错误; 统计单元,用于在使用时钟值作为预测条件预测所述CPU的下次唤醒时间预定次数后,统计预测正确率。11.根据权利要求10所述装置,其特征在于, 所述正误确定单元,还用于若所述目标LPM的CPU响应时间大于所述CPU在LPM下的睡眠时间以及CPU时钟值,或者,小于所述CPU在LPM下的睡眠时间以及CPU时钟值;或者,若所述CPU在LPM下的睡眠时间与CPU时钟值的差值小于预定门限,则确定预测正确。12.根据权利要求10或11所述装置,其特征在于,所述中央处理器的管理装置应用于对众核(PU的管理。13.—种电子设备,包括:中央处理器和存储器,其特征在于,所述中央处理器用于执行权利要求1至6任意一项所述的方法。
【文档编号】G06F1/32GK106055079SQ201610380645
【公开日】2016年10月26日
【申请日】2016年5月31日
【发明人】曾元清
【申请人】广东欧珀移动通信有限公司