一种终端功耗控制方法及装置的制作方法

文档序号:6468777阅读:100来源:国知局
专利名称:一种终端功耗控制方法及装置的制作方法
技术领域
本发明涉及移动终端技术领域,特别是涉及一种终端功耗控制方法及装置。
背景技术
近些年来,手机、PDA (个人数字助理)等嵌入式终端已经融入人们的 日常生活中。随着终端的功能日益强大,终端的功耗需求也越来越高;另一 方面,用户对终端的便携式需求又使得终端的能量供给受到限制。嵌入式设 备低功耗设计的目标,就是在满足用户对性能需求的前提下,尽可能降低设 备的功耗,以解决高性能与有限的电池能量之间的矛盾。
DPM ( Dynamic Power Manager,动态功耗管理)是一种能够有效降低i殳 备功摔毛的方法,DPM的其中 一种方式是DVFS( Dynamic Voltage and Frequency Scaling,动态电压频率调整),即根据当前的系统负荷状态来调整运行频率和 电压,当系统负荷较低时,可以采用较低的运行频率和电压,以达到节省功 耗的目的。
其中,动态频率调整的具体实现方法是,预先定义若干种Profile (配置 信息),每一种Profile分别对应不同的CPU ( Central Processing Unit,中央处 理单元)频率和总线频率,例如,某个Profile的所包含信息为240/120,则表 示在选择该Profile后,CPU将运行在240MHz,总线运行在120MHz。
在现有技术中,是根据CPU的负载来判断系统负荷,并进一步才艮据CPU 的负载选择相应的Profile,图1所示为一种根据CPU负载选择Profile的示意 图具体含义如下
当CPU负载在0-30%时,对应选择的Profile A为60/15,(即CPU工作 频率为60Mhz、总线工作频率为40MHz,后面描述类似);
当CPU负载在30%-50%时,对应选择的Profile B为120/40;
当CPU负载在50%-70%时,对应选择的Profile C为180/60;当CPU负载在70%-100%时,对应选择的Profile D为266/133。 在实现本发明的过程中,发明人发现现有技术中至少存在如下问题 上述方案中,根据CPU的负载来设置CPU的工作频率,并且总线的工作 频率随着CPU工作频率同方向升高或降低。而终端所要执行的具体业务对 CPU和总线的要求并不是完全一致的,例如,对于计算密集型业务,要求更 高的CPU工作频率,对总线频率要求不高;而对于控制密集型业务,则要求 更高的总线频率,并且不需要CPU进行太多运算。可见,仅根据CPU的负载, 不能客观地反映整个系统的状态,因此根据CPU的负载来选择Profile,其对 应的总线频率可能与应用业务需求不一致,如果所选择的Profile总线频率偏 高,会导致不必要的功耗增加。

发明内容
有鉴于此,本发明实施例提供了一种终端功耗控制方法及装置,实现功 耗的优化控制,降低终端的整体功耗,技术方案如下 一种终端功耗控制方法,包括 获^U冬端的处理单元负载和总线负载;
根据处理单元负载和总线负载,设置终端的处理单元工作频率和总线工 作频率。
一种终端功耗控制装置,包括
负载获取单元,用于获取终端的处理单元负载和总线负载; 频率设置单元,用于根据所述负载获取单元获取的处理单元负载和总线 负载,设置终端的处理单元的工作频率和总线工作频率。
与现有技术的仅根据CPU负载调整CPU与总线的频率相比,以上技术方 案中,终端根据处理单元(包括CPU、 DSP等)的负载和总线负载综合确定 整个系统的有效负载,并进一步调整处理单元与总线的频率,使得终端的处 理单元和总线都能够运行在与当前执行的应用业务相匹配的频率上,在保证 业务正常运行的基础上,实现了终端功耗的优化控制,降低了终端的整体功 耗。


图1为现有技术中根据CPU负载选择Profile的示意图2为实现本发明方法具体实施例一的流程图3为本发明方法具体实施例二的负载区间划分示意图4为本发明方法具体实施例二的负载区间划分的另一种示意图5为本发明实施例三的终端功耗控制装置的结构示意图6为本发明实施例三的终端功耗控制装置的另一种结构示意图。
具体实施例方式
首先对本发明实施例的终端功耗控制方法进行说明,包括获取终端的处理单元的负载和总线负载;
根据处理单元负载和总线负载,设置终端的处理单元工作频率和总线工作频率。
本发明实施例综合考虑当前的处理单元负载和总线负载,并根据处理单元和总线负载的情况,设置最优的处理单元工作频率和总线工作频率,以实现功耗的优化控制。其中,上述的处理单元,可以包括中央处理单元CPU、数字信号处理器DSP或其他类型的处理单元。为了使本技术领域的人员更好地理解本发明方案,下面将结合附图对本发明作进一步的详细说明。
实施例一
图2所示为本发明实施例终端功4毛控制方法的流程图,包括以下步骤S101,获取处理单元的负载和总线负载;
本实施例中,将处理单元以CPU为例进行i兌明。 一般来说,CPU负载和总线负载都是以百分比形式表现的。获取CPU负载的和总线负载可以采用如下的方法
获取CPU负载的方法
设定一个低优先级的任务A,统计在单位时间T2内,系统进入任务A的时间Tidle ,贝'J
77 2 — 77丄 二 -100 %通过计算Lcpu的一段时间的统计值,就能够得到当前的CPU负载。
总线的负载方法是统计在单位时间Tl内,总线所发起的读写操作所占据的时间T1()ad,则,
k 二t"oo %
通过计算Lbus的一段时间的统计值,就能够得到当前总线负载。
需要说明的是,实施例的各步骤中,是以CPU为例进行说明,事实上,所述处理单元,可以包括CPU、 DSP或其他类型的处理器;如果终端采用的是多总线的架构,则所获取的总线负载也可以是几条总线负载的加权平均值,-或者是某一条特定总线的负载(可以理解为其他总线的权重为0)。此外,本领域技术人员还可以采用其他方式获取CPU及总线负载,本发明实施例对此不加以限制。
S102,根据CPU负载,设置CPU工作频率;
CPU负载的变化区间在0-100%,可以理解的是,所^没置的CPU工作频率,应该随CPU负载同方向变化。例如,当CPU处于高负载状态时,说明终端当前所处理的应用业务需要CPU进行大量的计算处理,此时应将CPU设置为最高的工作频率以保证当前应用业务的处理效率;而当CPU处于低负载状态时,说明终端当前所处理的应用业务对CPU要求不高,此时CPU仅以较低的工作频率即可保证应用业务的正常执行,同时,降低CPU频率也会直接降低终端的整体功率消耗。
具体来讲,我们可以将CPU负载的变化区间0-100%,划分为若干个子区间,并为每一个子区间定义一个CPU的工作频率值。假i殳CPU的最高工作频率为200Mhz,那么我们可以定义
当CPU负载在0-30%时,设置CPU的工作频率为lOOMhz;
当CPU负载在30%-60%时,设置CPU的工作频率为166Mhz;
当CPU负载在60%-100%时,设置CPU的工作频率为200Mhz。
可见,上述方案中,将CPU负载的变化区间具体划分成了 3个子区间,其中30%和60%为区间的临界点,根据S101中所获取的CPU负载,判断该负载值所处的区间,进一步就可以选择与该区间相应的工作频率值。S103,根据总线负载,设置总线的工作频率。
终端所要执行的具体业务对CPU和总线的要求并不是完全一致的,例如,对于计算密集型业务,要求更高的CPU工作频率,对总线频率要求不高;而对于控制密集型业务,则要求更高的总线频率,但是不需要CPU进行太多运算。为了保证终端的总线也能够运行在适当的频率,在本发明实施例中,除了根据CPU负载,设置CPU工作频率之外,进一步还要根据总线负载,设置总线的工作频率。
与S102中所述类似,我们可以将总线负载的变化区间0-100%,划分为若干个子区间,并为每一个子区间定义一个总线的工作频率值。具体来讲,CPU频率与总线频率会运行在一种或几种特定的比值关系下,我们称该比值为CPU与总线的分频比(为描述方i"更,以下简称分频比)。例如在某时刻,CPU的工作频率为200Mhz,总线的工作频率为100Mhz,则此时的CPU与总线的分频比为1:2。分频在硬件上可以以分配器来实现, 一般在终端的电路设计中,都会包括多种分频器以实现不同的分频比设置,因此,在已经确定CPU工作频率的前提下,我们可以通过改变分频比来实现对总线工作频率的设置。
例如,终端支持1:2、 1:3和1:4三种分频,这样,我们就可以将总线负载的变化区间0-100%,划分为若干个子区间,并为每一个子区间定义一个分频比
当总线负载在0-30%时,设置分频比为1:4;当总线负载在30%-60%时,设置分频比为1:3;当总线负载在60%-100%时,i殳置分频比为1:2。
假设当前CPU的工作频率为200Mhz,则在上述三个区间范围内,按照相应的分频比设置,就可以分别将总线频率设置在50Mhz、 66Mhz和100Mhz上。
上述的步骤S101-S103,可以是周期性执行,以保证终端能够根据当前的应用业务运行状况,动态设置CPU与总线的运行频率,使得CPU和总线都能够运行在与当前执行的应用业务相匹配的频率上,在保证业务正常运行的基础上,实现了终端功耗的优化控制,降低了终端的整体功耗。实施例二
在实际应用中,我们可以预先定义一系列的Profile (配置信息),每个Profile中都包含一种具体的CPU频率值设定值,和分频比设定值,并且对应一个CPU负载及总线负载的子区间。当终端的CPU负载及总线负载变化至某个子区间时,通过加载这个子区间所对应Profile,就可以直接将CPU工作频率和总线工作频率设置完成。
参见图3所示,图3的横坐标表示CPU的负载变化,被划分为3个子区间[O,al]、 [al,a2]、 [a2, 100°/。],我们为每个子区间确定一种CPU频率设定
值;
图3的纵坐标表示总线的负载变化,被划分为3个子区间:
、 [bl, b2]、[b2, 100%],我们为每个子区间确定一种分频比的设定值;
这样,通过排列组合,我们总共能够得到3x3=9个子区间,进而可以确定了 9种Profile,即图中所示的Profile A - Profile I。当终端的CPU负载及总线负载变化至某个子区间时,只需加载对应Profile,根据该Profile中所包含的设定值,就可以完成对CPU工作频率和总线工作频率的设置。例如
当CPU负载为[O,al],总线负载为
时,加载ProfileA;
当CPU负载为[al,a2],总线负载为[bl, b2]时,加载ProfileE;
当CPU负载为[a2, 100%],总线负载为
时,加载Profile I;
上述方案中,可采用如下的工作参凄t没置Al=30%, a2=60%, bl=10%, b2=20%;
Profile A: 60, 1/4 (表示CPU频率设定值为60Mhz,分频比设定值为1/4,以下描述类似);Profile B: 60, 1/3 ;Profile C: 60, 1/2 ;Profile D: 120, 1/4 ;Profile E: 120, 1/3 ;Profile F: 120, 1/2 ;Profile G: 240, 1/4 ;Profile H: 240, 1/3 ;Profile I: 240, 1/2 ;
根据以上参数,我们就可以得到如图4所示的设置方案。由图4可以看出,在横坐标方向,随着当前CPU负载的变化,CPU会运行在不同的频率下;同样在纵坐标方向,总线频率也会随着当前总线负载的变化而改变。根据当前业务对CPU和总线的需求,动态调整CPU和总线的运行频率,在保证业务正常运行的基础上,实现了终端功耗的优化控制,降低了终端的整体功耗。
需要说明的是,本实施例中,负载区间的划分方法以及各参数的设定值仅为示意性说明,本领域技术人员可以根据实际需求,采用其他的负载区间的划分方法以及各参数设定值,本发明实施例对此不加以限定。
本领域普通技术人员可以理解实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括ROM、 RAM、》兹碟或者光盘等各种可以存储程序代码的介质。
实施例三
相应于上面的方法实施例,本发明实施例还提供一种终端功耗控制装置,
参见图5所示,包括
负载获取单元510,用于获取终端的处理单元负载和总线负载;频率设置单元520,用于根据所述负载获取单元获取的处理单元负载和总
线负载,设置处理单元的工作频率和总线工作频率。参见图5所示,所述频率设置单元520,可以包括CPU频率设置子单元521,用于根据CPU负载,设置CPU工作频率;总线频率设置子单元522,用于根据总线负载,设置总线的工作频率。具
体来讲,该总线频率设置子单元可以是分频比设置单元,用于根据所述CPU
频率设置子单元设置的CPU工作频率,通过改变CPU与总线的分频比,设置
总线的工作频率。
所述的频率设置单元520,也可以是配置信息加载单元,用于加载与当前
10处理单元负载和总线负载所对应的配置信息Profile,使用所述Profile中包含 的设定值,设置处理单元工作频率和总线工作频率;
其中,所述配置信息Profile,包括根据应用需求,预先确定的在不同的 处理单元负载和总线负载状态下的配置信息Profile,所述Profile中包含处理 单元和总线的频率设定值。
如果在上述的处理单元中,包括CPU,则确定在不同的CPU负载和总线 负载状态下的配置信息Profile的方法,具体可以包括
将CPU负载的变化区间0-100%划分为A个子区间,对每个子区间确定 一种CPU频率设定值;
将总线负载的变化区间0-100%划分为B个子区间,对每个子区间确定一 种总线的设定值(或CPU与总线的分频比设定值);
将A种CPU频率设定值与B种CPU与总线的分频比设定值进行排列组 合,确定AxB种配置信息Profile。
本发明实施例还提供了一种终端设备,该终端设备包括上述实施例三中 所述的装置。
对于装置实施例而言,由于其基本相应于方法实施例,所以描述得比较 简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例 仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是
以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要 选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术
人员在不付出创造性的劳动的情况下,即可以理解并实施。
需要说明的是,本说明书实施例中仅以CPU和总线为例,本领域技术人 员易于想到的是,所述处理单元,可以包括CPU、 DSP或其他类型的处理器, 所述获取总线的负载,也可以是在多总线或多子系统的结构下,获取某一条 特定总线或几条总线负载的加权平均值。相应的,工作频率的设定也不仅限 于CPU及总线。例如,还可以包括DSP工作频率,或者多总线系统中各条总线的工作频率值等。根据实际需求,可以对每一种负载区间做粒度更为精细
的划分,在Profile中也可以包括更多类别的频率设置信息。
以上所述仅是本发明的具体实施方式
,并不构成对本发明保护范围的限 定。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应 包含在本发明的保护范围之内。
1权利要求
1、一种终端功耗控制方法,其特征在于,包括获取终端的处理单元负载和总线负载;根据处理单元负载和总线负载,设置终端的处理单元工作频率和总线工作频率。
2、 根据权利要求1所述的方法,其特征在于,所述处理单元,包括中央 处理单元CPU和/或数字信号处理器DSP。
3、 根据权利要求1所述的方法,其特征在于,所述终端为多总线架构的 终端,则所述获取终端的总线负载,包括获取各条总线负载的加权平均值。
4、 根据权利要求1至3任一项所述的方法,其特征在于,所述处理单元 包括CPU,则所述才艮据处理单元负载和总线负载,设置终端的处理单元工作 频率和总线工作频率,包括根据处理单元负载,设置终端的处理单元工作频率; 根据已设置的CPU工作频率,通过改变CPU与总线的分频比,设置总线 的工作频率。
5、 根据权利要求1至3任一项所述的方法,其特征在于,根据应用需求, 预先确定在不同的处理单元负载和总线负载状态下的配置信息Profile,所述 Profile中包含处理单元和总线的频率设定值;则所述设置终端的处理单元工作频率和总线工作频率,包括 加载与当前处理单元负载和总线负载所对应的Profile,使用所述Profile 中包含的设定值,设置终端的处理单元工作频率和总线工作频率。
6、 根据权利要求5所述的方法,其特征在于,所述确定在不同的处理单 元负载和总线负载状态下的配置信息Profile,包括将处理单元负载的变化区间0-100%划分为A个子区间,对每个子区间确 定一种处理单元频率设定值;将总线负载的变化区间0-100%划分为B个子区间,对每个子区间确定一 种总线的设定值;将A种处理单元频率设定值与B种总线频率设定值进行排列组合,确定 A x B种配置信息Profile 。
7、 根据权利要求6所述的方法,其特征在于,所述处理单元包括CPU, 则所述对每个子区间确定一种总线的设定值,包括对每个子区间确定一种CPU与总线的分频比设定值。
8、 一种终端功耗控制装置,其特征在于,包括 负载获取单元,用于获取终端的处理单元负载和总线负载; 频率设置单元,用于根据所述负载获取单元获取的处理单元负载和总线负载,设置终端的处理单元的工作频率和总线工作频率。
9、 根据权利要求8所述的装置,其特征在于,所述处理单元,包括中央 处理单元CPU,则所述频率设置单元,包括CPU频率设置子单元,用于根据CPU负载,设置终端的CPU工作频率; 总线频率设置子单元,用于才艮据总线负载,设置终端的总线的工作频率。
10、 根据权利要求9所述的装置,其特征在于,所述总线频率设置子单元为分频比设置单元,用于根据所述CPU频率设 置子单元设置的CPU工作频率,通过改变CPU与总线的分频比,设置终端的 总线的工作频率。
11、 根据权利要求8所述的装置,其特征在于,所述频率设置单元为配 置信息加载单元,用于加载与当前处理单元负载和总线负载所对应的配置信 息Profile,使用所述Profile中包含的设定值,设置终端的处理单元工作频率 和总线工作频率;其中,所述配置信息Profile,包括4艮据应用需求,预先确定的在不同的 处理单元负载和总线负载状态下的Profile,所述Profile中包含处理单元和总 线的频率设定值。
全文摘要
本发明实施例公开了一种终端功耗控制方法及装置。一种终端功耗控制方法包括获取终端的处理单元的负载和总线负载;根据处理单元负载和总线负载,设置终端的处理单元工作频率和总线工作频率。以上技术方案中,终端根据处理单元(包括CPU、DSP等)的负载和总线负载综合确定整个系统的有效负载,并进一步调整处理单元与总线的频率,使得终端的处理单元和总线都能够运行在与当前执行的应用业务相匹配的频率上,在保证业务正常运行的基础上,实现了终端功耗的优化控制,降低了终端的整体功耗。
文档编号G06F1/32GK101477398SQ20081018654
公开日2009年7月8日 申请日期2008年12月25日 优先权日2008年12月25日
发明者涛 马 申请人:深圳华为通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1