一种时钟频率管理方法及移动设备的制作方法

文档序号:6487021阅读:173来源:国知局
一种时钟频率管理方法及移动设备的制作方法
【专利摘要】本发明实施例公开了一种时钟频率管理方法及移动设备,用于对移动设备的时钟频率进行管理,尤其是根据CPU占用率调整外部设备时钟频率。本发明实施例方法包括:将移动设备的中央处理单元CPU时钟频率设定为上限值,所述上限值为所述移动设备稳定工作时的CPU时钟频率上限;根据第一周期获取所述移动设备的CPU占用率;根据所述CPU占用率调整所述移动设备的外部设备时钟频率。通过实施本发明方案,能够保证任务运行的流畅性,同时降低移动设备的功耗,从而提高移动设备的续航能力。
【专利说明】一种时钟频率管理方法及移动设备
【技术领域】
[0001]本发明涉及数据处理【技术领域】,尤其涉及一种时钟频率管理方法及装置。
【背景技术】
[0002]目前移动终端十分流行,多数移动终端采用OS(Operating System,操作系统)管理硬件资源和软件资源。移动设备的硬件资源包括中央处理单元(Central ProcessUnit,CPU)和外部设备两部分,外部设备进一步包括动态随机存取存储器(Dynamic RandomAccess Memory, DRAM)、液晶显不器(Liquid Crystal Display, LCD)、摄像头(Camera)和闪存(Flash)等。其中,CPU和外部设备使用各自对应的时钟频率,时钟频率越高,任务运行越流畅,同时为移动设备带来较大的功耗,降低其续航能力。因此,移动设备的功耗取决于CPU时钟频率和外部设备时钟频率。移动设备管理中需要平衡任务运行的流畅性和移动设备的续航能力。
[0003]目前使用的时钟频率管理方案为:预设一个CPU时钟频率和一个外部设备时钟频率。在运行一个任务之前,先将CPU时钟频率和外部设备时钟频率调整为与该任务相适应的频率范围,再以调整后的CPU时钟频率和外部设备时钟频率运行该任务,该任务运行完成后,将CPU时钟频率和外部设备时钟频率恢复为预设状态。
[0004]但是,上述时钟频率管理方案在确定与任务相适应的频率范围过程中存在一定难度,因此需要工程师在开发时将任务运行时所需的时钟频率考虑进去,增加了工程师的开发难度。如果是多任务运行情况,则该确定过程的难度更大。

【发明内容】

[0005]为了解决上述问题,本发明实施例提供了一种时钟频率管理方法及移动设备,用于对移动设备的时钟频率进行管理,尤其是根据CPU占用率调整外部设备时钟频率。通过实施本发明方案,能够保证任务运行的流畅性,同时降低移动设备的功耗,从而提高移动设备的续航能力。而且能够使得工程师在开发时无须将任务运行时所需的时钟频率考虑进去,因此减小了开发难度。
[0006]一种时钟频率管理方法,包括:
[0007]将移动设备的中央处理单元CPU时钟频率设定为上限值,所述上限值为所述移动设备稳定工作时的CPU时钟频率上限;
[0008]根据第一周期获取所述移动设备的CPU占用率;
[0009]根据所述CPU占用率调整所述移动设备的外部设备时钟频率。
[0010]优选地,所述计算所述移动设备的CPU占用率之前进一步包括:创建空闲任务,所述空闲任务的优先级最低,用于在所述移动设备处于空闲状态时触发所述移动设备的CPU进入挂起模式,在所述挂起模式下,所述移动设备的CPU停止运行任务;根据CPU挂起时间和所述第一周期计算所述移动设备的CPU占用率,所述CPU挂起时间为所述移动设备的CPU处于挂起模式的时间。[0011]优选地,所述时钟频率管理方法进一步包括:将处于工作状态的外部设备的时钟频率要求设定为所述移动设备的外部设备时钟频率下限。
[0012]优选地,所述根据所述CPU占用率调整所述移动设备的外部设备时钟频率进一步包括:当所述CPU占用率大于第一阈值时,上调所述移动设备的外部设备时钟频率;当所述CPU占用率小于第二阈值时,根据第一时间延时下调所述移动设备的外部设备时钟频率。
[0013]一种移动设备,包括:
[0014]第一设定单元,用于将所述移动设备的中央处理单元CPU时钟频率设定为上限值,所述上限值为所述移动设备稳定工作时的CPU时钟频率上限;
[0015]获取单元,用于根据第一周期获取所述移动设备的CPU占用率;
[0016]调整单元,用于根据所述CPU占用率调整所述移动设备的外部设备时钟频率。
[0017]优选地,所述移动设备进一步包括:
[0018]创建单元,用于创建空闲任务,所述空闲任务的优先级最低,用于在所述移动设备处于空闲状态时触发所述移动设备的CPU进入挂起模式,在所述挂起模式下,所述移动设备的CPU停止运行任务;计算单元,用于根据CPU挂起时间和所述第一周期计算所述移动设备的CPU占用率,所述CPU挂起时间为所述移动设备的CPU处于挂起模式的时间。
[0019]优选地,所述移动设备进一步包括:第二设定单元,用于将处于工作状态的外部设备的时钟频率要求设定为所述移动设备的外部设备时钟频率下限。
[0020]优选地,所述调整单元,进一步包括:上调子单元,用于当所述CPU占用率大于第一阈值时,上调所述移动设备的外部设备时钟频率;下调子单元,用于当所述CPU占用率小于第二阈值时,根据第一时间延时下调所述移动设备的外部设备时钟频率。
[0021]从以上技术方案可以看出,本发明实施例具有以下优点:
[0022]通过将移动设备的CPU时钟频率设定为上限值,能够保证任务运行的流畅性,根据CPU占用率调整移动设备的外部设备时钟频率,能够加快CPU对外部设备的访问速度或者降低移动设备的功耗,提高移动设备的续航能力。从而使得工程师在开发时无须将任务运行时所需的时钟频率考虑进去,因此减小了开发难度。
【专利附图】

【附图说明】
[0023]图1为本发明第一实施例的时钟频率方法流程图;
[0024]图2为本发明第二实施例的时钟频率方法流程图;
[0025]图3_a为本发明外部设备时钟频率调整范围第一示意图;
[0026]图3_b为本发明外部设备时钟频率调整范围第二示意图;
[0027]图4为本发明第三实施例的移动设备结构图;
[0028]图5为本发明第四实施例的移动设备结构图。
【具体实施方式】
[0029]下面将结合本发明中的说明书附图,对发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。[0030]本发明实施例提供了一种时钟频率管理方法,用于对移动设备的时钟频率进行管理,尤其是根据CPU占用率调整外部设备时钟频率。通过实施本时钟频率管理方法,能够保证任务运行的流畅性,同时降低移动设备的功耗,从而提高移动设备的续航能力。而且能够使得工程师在开发时无须将任务运行时所需的时钟频率考虑进去,因此减小了开发难度。本发明实施例还提供相关的移动设备,下面将分别对其进行详细说明。
[0031]本发明第一实施例将对一种时钟频率管理方法进行详细说明,本实施例所述的时钟频率管理方法具体流程请参见图1,包括步骤:
[0032]101、将移动设备的CPU时钟频率设定为上限值。
[0033]在移动设备中,CPU和外部设备使用各自对应的时钟频率,因此二者的时钟频率相互独立。只有二者的时钟频率在合理范围内协同工作时才能提高移动设备的性能。
[0034]在本步骤中,将移动设备的CPU时钟频率设定为上限值。所述上限值并不是指CPU能够达到的最大时钟频率,而是移动设备稳定工作时,CPU能够达到的时钟频率上限。
[0035]其中,所述上限值是根据CPU当前的工作电压确定的,该上限值会根据CPU实际工作电压的不同而有不同取值。通过将移动设备的CPU时钟频率设定为移动设备稳定工作时CPU能够达到的时钟频率上限,能够在本移动设备的系统基础上,最大限度的保证移动设备运行任务时的流畅性。
[0036]102、根据第一周期获取移动设备的CPU占用率。
[0037]CPU占用率反映运行的任务占用CPU资源的情况。CPU占用率越高,说明移动设备在某个时间段上运行了很多任务,反之较少。本实施例所述的移动设备为分时多任务操作系统,系统对CPU是分时间段使用的。例如,任务一占用10毫秒,然后任务二占用30毫秒,然后CPU空闲60毫秒,那么在前述的100毫秒内,CPU占用率为40% =[(10+30) + (10+30+60) ] X 100%。
[0038]在本步骤中,根据第一周期周期性地获取移动设备的CPU占用率。
[0039]其中,第一周期无具体限定值,在上述的例子中第一周期取100毫秒。第一周期的取值大小会影响执行以下步骤103的灵敏度,第一周期越小,执行步骤103越灵敏,第一周期越大,执行步骤103越迟钝。
[0040]103、根据CPU占用率调整移动设备的外部设备时钟频率。
[0041]在本步骤中,根据步骤102所获取的CPU占用率调整所述移动设备的外部设备时钟频率。优选地,具体为:当CPU占用率大于第一阈值时,上调所述移动设备的外部设备时钟频率;当CPU占用率小于第二阈值时,下调所述移动设备的外部设备时钟频率。
[0042]本实施例方法不对第一阈值和第二阈值作具体限定,但显而易见的,第一阈值大于第二阈值。
[0043]在步骤101中已经将移动设备的CPU时钟频率设定为上限值,经分析只有两种情况导致CPU占用率很大:
[0044]情况一、CPU当前循环执行某些指令序列;
[0045]情况二、CPU长时间处于访问外部设备的状态。
[0046]情况一出现的概率比较小,即使出现也不会持续很长时间,所以,CPU占用率很大往往是由于出现了情况二。当出现情况二时,上调移动设备的外部设备时钟频率够能加快CPU对外部设备的访问速度,从而缩短CPU访问外部设备的时间。[0047]CPU占用率很小时,说明CPU无须或者很少访问外部设备,此时下调移动设备的外部设备时钟频率,从而减少移动设备功耗。
[0048]在本实施例中,通过将移动设备的CPU时钟频率设定为上限值,能够保证任务运行的流畅性,根据CPU占用率调整移动设备的外部设备时钟频率,能够加快CPU对外部设备的访问速度或者降低移动设备的功耗,提高移动设备的续航能力。从而使得工程师在开发时无须将任务运行时所需的时钟频率考虑进去,因此减小了开发难度。
[0049]本发明第二实施例将对第一实施例所述的时钟频率管理方法进行补充说明,本实施例所述的时钟频率管理方法具体流程请参见图2,包括步骤:
[0050]201、将处于工作状态的外部设备的时钟频率要求设定为移动设备的外部设备时钟频率下限。
[0051]移动设备中包括至少一个外部设备,如DRAM、IXD、Camera和Flash等。若移动设备中某一个外部设备对外部设备时钟频率有特定的要求,那么该外部设备在处于工作状态时,能够向移动设备发出时钟频率要求,该外部设备要求的时钟频率就是移动设备的外部设备时钟频率所能下调的下限。因此能够保证移动设备在合适的外部设备时钟频率下工作,保证任务运行的流畅性。
[0052]其中,上述的时钟频率要求可以包含在该外部设备的驱动程序中。
[0053]另外,当有两个以上的外部设备提出各自对应的时钟频率要求时,取所要求的最大时钟频率为移动设备的外部设备时钟频率下限。下面以一个实例进行说明。
[0054]当移动设备的外部设备对外部设备时钟频率没有特定要求时,外部设备时钟频率可调整范围如图3-a所示。在这种情况下,根据CPU占用率情况,外部设备时钟频率可以在fmin到fmax之间进行动态调整。当移动设备的外部设备对外部设备时钟频率存在特定要求时,假设存在两个这样的外部设备A和B,外部设备A的时钟频率要求为fA,外部设备B的时钟频率要求为fB,且fA < fB,请参见图3-b,在这种情况下,根据CPU占用率情况,外部设备时钟频率只可以在fB到fmax之间进行动态调整。同理,如果没有注册外部设备B的时钟频率要求,那么,外部设备时钟频率只可以在fA到fmax之间进行动态调整。
[0055]在本步骤中,将处于工作状态的外部设备的时钟频率要求设定为所述移动设备的外部设备时钟频率下限。
[0056]优选地,外部设备的时钟频率要求并不要求一定在移动设备启动时就提出,因此步骤201还可以在后续任一步骤之前或之后执行,而且不限定执行次数,这里不再赘述。
[0057]202、创建空闲任务。
[0058]在本步骤中,移动设备启动后立即创建空闲任务,所述空闲任务的优先级最低,因此只有CPU占用率下降到接近O时该空闲任务才会被运行。在所述移动设备处于空闲状态时,CPU占用率下降到接近0,运行所述优先级最低的空闲任务,该空闲任务的实际作用是触发移动设备的CPU进入挂起模式。在挂起模式下,即使CPU工作于较高的时钟频率,其功耗也不大。
[0059]其中,挂起模式为CPU的一种节电模式,在挂起模式下,所述移动设备的CPU停止运行任务。CPU挂起模式是CPU电源管理的一种节电策略,不同的型号的CPU,对于挂起模式的描述是的差别的,例如:
[0060]ARM 的描述为:“Wait for interrupt, puts the ARM into a low power stateand stops it executing further until and interrupt occurs.,,。
[0061]MIPS 的描述为:“Register_Controlled Management,places the system into alow power state,until an exception or error occurs.1nstruction-Controlled PowerManagement,Causes the internal clocks to be suspended and pipeline to be frozen,until any enabled interrupt,NMI,debug interrupt,or reset condition occurs.,,。
[0062]PowerPC 的描述为:“Put the processor in the wait state,and is disabledwhen an interrupt occurs., ,。
[0063]但是,挂起模式的本质是一致的,即CPU停止执行指令,并且让CPU处于一种低功耗的状态。即使不同CPU对此功能的控制方法不一样,描述也不一样,但是不影响本实施例方法的实施。
[0064]203、根据CPU挂起时间和第一周期计算移动设备的CPU占用率。
[0065]在本步骤中,在空闲任务触发CPU进入挂起模式后,所述空闲任务还能够根据CPU挂起时间和所述第一周期计算所述移动设备的CPU占用率。
[0066]其中,所述CPU挂起时间为所述移动设备的CPU处于挂起模式的时间。假设第一周期为T,挂起时间为t,CPU占用率为RePU。在本步骤中,计算CPU占用率Rmi的计算式为:
[0067]Rcpu = [(T-t)+Τ] X100%。
[0068]CPU占用率反映运行的任务占用CPU资源的情况。CPU占用率越高,说明移动设备在某个时间段上运行了很多任务,反之较少。例如,任务一占用10毫秒,然后任务二占用30毫秒,且任务一和任务二无间断运行,然后CPU空闲60毫秒,即挂起时间t为60毫秒,如果前述的100毫秒为第一周期T,则在第一周期T内CPU占用率Rmi为:
[0069]Rcpu= [(T-t) ^-T] X 100%= [ (100-600) +100] X 100%= 40%。
[0070]移动设备会按所述第一周期周期性地计算CPU占用率。
[0071]优选地,在本步骤中,计算CPU占用率的操作是由空闲任务执行的,在一个第一周期T内若无执行空闲任务,即空闲任务不会计算CPU占用率,则可以取CPU占用率为100%。
[0072]204、将移动设备的CPU时钟频率设定为上限值。
[0073]在移动设备中,CPU和外部设备使用各自对应的时钟频率,因此二者的时钟频率相互独立。只有二者的时钟频率在合理范围内协同工作时才能提高移动设备的性能。
[0074]在本步骤中,将移动设备的CPU时钟频率设定为上限值。所述上限值并不是指CPU能够达到的最大时钟频率,而是移动设备稳定工作时,CPU能够达到的时钟频率上限。
[0075]其中,所述上限值是根据CPU当前的工作电压确定的,该上限值会根据CPU实际工作电压的不同而有不同取值。通过将移动设备的CPU时钟频率设定为移动设备稳定工作时CPU能够达到的时钟频率上限,能够在本移动设备的系统基础上,最大限度的保证移动设备运行任务时的流畅性。
[0076]205、根据第一周期获取移动设备的CPU占用率。
[0077]在本步骤中,根据第一周期周期性地获取移动设备的CPU占用率。
[0078]其中,第一周期无具体限定值,在上述的例子中第一周期取100毫秒。第一周期的取值大小会影响执行以下步骤206的灵敏度,第一周期越小,执行步骤206越灵敏,第一周期越大,执行步骤206越迟钝。
[0079]优选地,上述周期性获取操作所依据的第一周期可以通过设置定时器实现,这里不再赘述。
[0080]206、根据CPU占用率调整移动设备的外部设备时钟频率。
[0081]本实施例发明方法追求移动设备流畅性与续航能力的平衡,但同时以流畅性优先为原则。
[0082]在本步骤中,根据步骤205所获取的CPU占用率调整所述移动设备的外部设备时钟频率。步骤206具体包括步骤2061和步骤2062两个子步骤。步骤2061和步骤2062并没有次序相关,因此可以自由变换次序,这里不再赘述。
[0083]步骤2061和步骤2062具体为:
[0084]2061、当CPU占用率大于第一阈值时,上调移动设备的外部设备时钟频率。
[0085]在步骤204中已经将移动设备的CPU时钟频率设定为上限值,经分析只有两种情况导致CPU占用率很大:
[0086]情况一、CPU当前循环执行某些指令序列;
[0087]情况二、CPU长时间处于访问外部设备的状态。
[0088]情况一出现的概率比较小,即使出现也不会持续很长时间,所以,CPU占用率很大往往是由于出现了情况二。当出现情况二时,上调移动设备的外部设备时钟频率够能加快CPU对外部设备的访问速度,从而缩短CPU访问外部设备的时间。
[0089]其中,上调的具体方式可以是增加一个幅度值,如上调100MHz,也可以是按比例上调,如上调为原来的两倍,还可以是其它上调方式,这里不作具体限定。
[0090]优选地,上调外部设备时钟频率的操作会立即执行,以保证任务运行的流畅性。在流畅性优先原则下,上调后的外部设备时钟频率可能超出实际需要的外部设备时钟频率,此时可以根据实际情况再逐渐下调外部设备时钟频率,即进行微调。
[0091]2062、当CPU占用率小于第二阈值时,根据第一时间延时下调移动设备的外部设备时钟频率。
[0092]CPU占用率很小时,说明CPU无须或者很少访问外部设备,此时根据第一时间延时下调移动设备的外部设备时钟频率,从而减少移动设备功耗。
[0093]其中,不对第一时间作具体限定。下调的具体方式可以是减少一个幅度值,如下调100MHz,也可以是按比例下调,如下调为原来的70%,还可以是其它下调方式,这里不作具体限定。
[0094]优选地,下调外部设备时钟频率的操作会延时执行,以避免频繁调整外部设备时钟频率影响运行的流畅性。在流畅性优先原则下,下调后的外部设备时钟频率可能超出实际需要的外部设备时钟频率,此时可以根据实际情况再逐渐下调外部设备时钟频率,即进行微调。
[0095]本实施例方法不对第一阈值和第二阈值作具体限定,但显而易见的,第一阈值大
于第二阈值。
[0096]在本实施例中,通过将移动设备的CPU时钟频率设定为上限值,能够保证任务运行的流畅性,在流畅性优先原则下,根据CPU占用率调整移动设备的外部设备时钟频率,能够加快CPU对外部设备的访问速度或者降低移动设备的功耗,提高移动设备的续航能力。从而使得工程师在开发时无须将任务运行时所需的时钟频率考虑进去,因此减小了开发难度。[0097]本发明第三实施例将对一种移动设备进行详细说明,本实施例所述的移动设备中包含一个或多个单元用于实现前述方法的一个或多个步骤。因此,对前述方法中各步骤的描述适用于所述移动设备中相应的单元。本实施例所述的移动设备具体结构请参见图4,包括:
[0098]第一设定单元401,用于将所述移动设备的CPU时钟频率设定为上限值。
[0099]在移动设备中,CPU和外部设备使用各自对应的时钟频率,因此二者的时钟频率相互独立。只有二者的时钟频率在合理范围内协同工作时才能提高移动设备的性能。
[0100]第一设定单元401能够将移动设备的CPU时钟频率设定为上限值。所述上限值并不是指CPU能够达到的最大时钟频率,而是移动设备稳定工作时,CPU能够达到的时钟频率上限。
[0101]其中,所述上限值是根据CPU当前的工作电压确定的,该上限值会根据CPU实际工作电压的不同而有不同取值。通过第一设定单元401将移动设备的CPU时钟频率设定为移动设备稳定工作时CPU能够达到的时钟频率上限,能够在本移动设备的系统基础上,最大限度的保证移动设备运行任务时的流畅性。
[0102]获取单元402,用于根据第一周期获取所述移动设备的CPU占用率。
[0103]CPU占用率反映运行的任务占用CPU资源的情况。CPU占用率越高,说明移动设备在某个时间段上运行了很多任务,反之较少。本实施例所述的移动设备为分时多任务操作系统,系统对CPU是分时间段使用的。例如,任务一占用10毫秒,然后任务二占用30毫秒,然后CPU空闲60毫秒,那么在前述的100毫秒内,CPU占用率为40% =[(10+30) + (10+30+60) ] X 100%。
[0104]获取单元402能够根据第一周期周期性地获取移动设备的CPU占用率。
[0105]其中,第一周期无具体限定值,在上述的例子中第一周期取100毫秒。第一周期的取值大小会影响调整单元403的灵敏度,第一周期越小,调整单元403越灵敏,第一周期越大,调整单元403越迟钝。
[0106]调整单元403,与获取单元402通信连接,用于根据所述CPU占用率调整所述移动设备的外部设备时钟频率。
[0107]调整单元403能够根据获取单元402所获取的CPU占用率调整所述移动设备的外部设备时钟频率。优选地,具体为:当CPU占用率大于第一阈值时,上调所述移动设备的外部设备时钟频率;当CPU占用率小于第二阈值时,下调所述移动设备的外部设备时钟频率。本实施例不对第一阈值和第二阈值作具体限定,但显而易见的,第一阈值大于第二阈值。
[0108]第一设定单元401已经将移动设备的CPU时钟频率设定为上限值,经分析只有两种情况导致CPU占用率很大:
[0109]情况一、CPU当前循环执行某些指令序列;
[0110]情况二、CPU长时间处于访问外部设备的状态。
[0111]情况一出现的概率比较小,即使出现也不会持续很长时间,所以,CPU占用率很大往往是由于出现了情况二。当出现情况二时,调整单元403上调移动设备的外部设备时钟频率够能加快CPU对外部设备的访问速度,从而缩短CPU访问外部设备的时间。
[0112]CPU占用率很小时,说明CPU无须或者很少访问外部设备,此时调整单元403下调移动设备的外部设备时钟频率,从而减少移动设备功耗。[0113]在本实施例中,通过第一设定单元401将移动设备的CPU时钟频率设定为上限值,能够保证任务运行的流畅性,调整单元403根据CPU占用率调整移动设备的外部设备时钟频率,能够加快CPU对外部设备的访问速度或者降低移动设备的功耗,提高移动设备的续航能力。从而使得工程师在开发时无须将任务运行时所需的时钟频率考虑进去,因此减小了开发难度。
[0114]本发明第四实施例将对第三实施例所述的移动设备进行补充说明,本实施例所述的移动设备中包含一个或多个单元用于实现前述方法的一个或多个步骤。因此,对前述方法中各步骤的描述适用于所述移动设备中相应的单元。本实施例所述的移动设备具体结构请参见图5,包括:
[0115]第二设定单元501,用于将处于工作状态的外部设备的时钟频率要求设定为所述移动设备的外部设备时钟频率下限。
[0116]若移动设备中某一个外部设备对外部设备时钟频率有特定的要求,那么该外部设备在处于工作状态时,能够向移动设备的第二设定单元501发出时钟频率要求,该外部设备要求的时钟频率就是移动设备的外部设备时钟频率所能下调的下限。因此能够保证移动设备在合适的外部设备时钟频率下工作,保证任务运行的流畅性。
[0117]其中,上述的时钟频率要求可以包含在该外部设备的驱动程序中。
[0118]另外,当有两个以上的外部设备提出各自对应的时钟频率要求时,第二设定单元501取所要求的最大时钟频率为移动设备的外部设备时钟频率下限。
[0119]具体实例请参见第二实施例中步骤201的相关记载,这里不再赘述。
[0120]第二设定单元501能够将处于工作状态的外部设备的时钟频率要求设定为所述移动设备的外部设备时钟频率下限。
[0121]创建单元502,用于创建空闲任务。
[0122]创建单元502能够在移动设备启动后立即创建空闲任务,所述空闲任务的优先级最低,因此只有CPU占用率下降到接近O时该空闲任务才会被运行。在所述移动设备处于空闲状态时,CPU占用率下降到接近0,CPU运行所述优先级最低的空闲任务,该空闲任务的实际作用是触发移动设备的CPU进入挂起模式。在挂起模式下,即使CPU工作于较高的时钟频率,其功耗也不大。
[0123]其中,挂起模式为CPU的一种节电模式,在挂起模式下,所述移动设备的CPU停止运行任务。
[0124]计算单元503,与创建单元502通信连接,用于根据CPU挂起时间和所述第一周期计算所述移动设备的CPU占用率。
[0125]在空闲任务触发CPU进入挂起模式后,计算单元503能够根据CPU挂起时间和所述第一周期计算所述移动设备的CPU占用率。
[0126]其中,所述CPU挂起时间为所述移动设备的CPU处于挂起模式的时间。计算CPU占用率的实例请参见第二实施例步骤203的相关记载,这里不再赘述。
[0127]计算单元503能够按所述第一周期周期性地计算CPU占用率。
[0128]优选地,若在一个第一周期T内若CPU未执行空闲任务,即计算单元503不会计算CPU占用率,则可以取CPU占用率为100%。
[0129]第一设定单元504,用于将所述移动设备的中央处理单元CPU时钟频率设定为上限值。
[0130]在移动设备中,CPU和外部设备使用各自对应的时钟频率,因此二者的时钟频率相互独立。只有二者的时钟频率在合理范围内协同工作时才能提高移动设备的性能。
[0131]第一设定单元504能够将移动设备的CPU时钟频率设定为上限值。所述上限值并不是指CPU能够达到的最大时钟频率,而是移动设备稳定工作时,CPU能够达到的时钟频率上限。
[0132]其中,所述上限值是根据CPU当前的工作电压确定的,该上限值会根据CPU实际工作电压的不同而有不同取值。通过将移动设备的CPU时钟频率设定为移动设备稳定工作时CPU能够达到的时钟频率上限,能够在本移动设备的系统基础上,最大限度的保证移动设备运行任务时的流畅性。
[0133]获取单元505,用于根据第一周期获取所述移动设备的CPU占用率。
[0134]获取单元505能够根据第一周期周期性地获取移动设备的CPU占用率。
[0135]其中,第一周期无具体限定值。第一周期的取值大小会影响调整单元506的灵敏度,第一周期越小,调整单元506越灵敏,第一周期越大,调整单元506越迟钝。
[0136]优选地,上述周期性获取操作所依据的第一周期可以通过设置定时器实现,这里不再赘述。
[0137]调整单元506,与获取单元505通信连接,用于根据所述CPU占用率调整所述移动设备的外部设备时钟频率。
[0138]本实施例所述的移动设备追求流畅性与续航能力的平衡,但同时以流畅性优先为原则。
[0139]调整单元506能够根据获取单元505所获取的CPU占用率调整所述移动设备的外部设备时钟频率。调整单元506具体还包括上调子单元5061和下调子单元5062,二者通信连接。
[0140]上调子单元5061,用于当所述CPU占用率大于第一阈值时,上调所述移动设备的外部设备时钟频率。
[0141]第一设定单元504已经将移动设备的CPU时钟频率设定为上限值,经分析只有两种情况导致CPU占用率很大:
[0142]情况一、CPU当前循环执行某些指令序列;
[0143]情况二、CPU长时间处于访问外部设备的状态。
[0144]情况一出现的概率比较小,即使出现也不会持续很长时间,所以,CPU占用率很大往往是由于出现了情况二。当出现情况二时,上调子单元5061上调移动设备的外部设备时钟频率够能加快CPU对外部设备的访问速度,从而缩短CPU访问外部设备的时间。
[0145]其中,上调的具体方式可以是增加一个幅度值,如上调100MHz,也可以是按比例上调,如上调为原来的两倍,还可以是其它上调方式,这里不作具体限定。
[0146]优选地,上调子单元5061的操作会立即执行,以保证任务运行的流畅性。在流畅性优先原则下,上调后的外部设备时钟频率可能超出实际需要的外部设备时钟频率,此时下调子单元5062可以根据实际情况再逐渐下调外部设备时钟频率,即进行微调。同理,微调还可以由上调子单元5061执行。
[0147]下调子单元5062,用于当所述CPU占用率小于第二阈值时,根据第一时间延时下调所述移动设备的外部设备时钟频率。
[0148]CPU占用率很小时,说明CPU无须或者很少访问外部设备,此时下调子单元5062根据第一时间延时下调移动设备的外部设备时钟频率,从而减少移动设备功耗。
[0149]其中,不对第一时间作具体限定。下调的具体方式可以是减少一个幅度值,如下调100MHz,也可以是按比例下调,如下调为原来的70%,还可以是其它下调方式,这里不作具体限定。
[0150]优选地,下调子单元5062的操作会延时执行,以避免频繁调整外部设备时钟频率影响运行的流畅性。在流畅性优先原则下,下调后的外部设备时钟频率可能超出实际需要的外部设备时钟频率,此时下调子单元5062可以根据实际情况再逐渐下调外部设备时钟频率,即进行微调。同理,微调还可以由上调子单元5061执行。
[0151]本实施例不对第一阈值和第二阈值作具体限定,但显而易见的,第一阈值大于第
二阈值。
[0152]以下为一个本实施所述移动设备的具体应用场景:
[0153]所述移动设备为一款MP4数码播放器,当中有两个应用,一个应用是电子书,另一个应用是MP3播放器。MP4数码播放器打开电子书后,只有在翻页的时候才需要CPU运行一小段代码和进行少量数据处理,在大部分时间内CPU就可以进入挂起模式。此时CPU占用率接近0,所以外部设备时钟频率也会很低。若应用本发明,功耗可以降到4至5毫安,降幅达70%以上。
[0154]MP3播放器播放MP3时,涉及到MP3文件的读取和解码,而处理的数据量跟MP3的采样率和压缩率有关,当采样率比较大或者压缩率比较高时,CPU占用率就会提高,此时MP4数码播放器上调外部设备时钟频率,就会加快CPU对外部设备的访问速度。若应用本发明,可以让功耗下降4至10毫安,功耗下降非常明显。
[0155]在本实施例中,通过第一设定单元504将移动设备的CPU时钟频率设定为上限值,能够保证任务运行的流畅性,在流畅性优先原则下,调整单元506根据CPU占用率调整移动设备的外部设备时钟频率,能够加快CPU对外部设备的访问速度或者降低移动设备的功耗,提高移动设备的续航能力。从而使得工程师在开发时无须将任务运行时所需的时钟频率考虑进去,因此减小了开发难度。
[0156]本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
[0157]以上对本发明所提供的一种时钟频率管理方法及移动设备进行了详细介绍,对于本领域的一般技术人员,依据本发明实施例的思想,在【具体实施方式】及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
【权利要求】
1.一种时钟频率管理方法,其特征在于,包括: 将移动设备的中央处理单元CPU时钟频率设定为上限值,所述上限值为所述移动设备稳定工作时的CPU时钟频率上限; 根据第一周期获取所述移动设备的CPU占用率; 根据所述CPU占用率调整所述移动设备的外部设备时钟频率。
2.根据权利要求1所述的方法,其特征在于,所述计算所述移动设备的CPU占用率之前进一步包括: 创建空闲任务,所述空闲任务的优先级最低,用于在所述移动设备处于空闲状态时触发所述移动设备的CPU进入挂起模式,在所述挂起模式下,所述移动设备的CPU停止运行任务; 根据CPU挂起时间和所述第一周期计算所述移动设备的CPU占用率,所述CPU挂起时间为所述移动设备的CPU处于挂起模式的时间。
3.根据权利要求1或2所述的方法,其特征在于,所述时钟频率管理方法进一步包括: 将处于工作状态的外部设备的时钟频率要求设定为所述移动设备的外部设备时钟频率下限。
4.根据权利要求1或2所述的方法,其特征在于,所述根据所述CPU占用率调整所述移动设备的外部设备时钟频率进一步包括: 当所述CPU占用率大于第一阈值时,上调所述移动设备的外部设备时钟频率; 当所述CPU占用率小于第二阈值时,根据第一时间延时下调所述移动设备的外部设备时钟频率。
5.—种移动设备,其特征在于,包括: 第一设定单元,用于将所述移动设备的中央处理单元CPU时钟频率设定为上限值,所述上限值为所述移动设备稳定工作时的CPU时钟频率上限; 获取单元,用于根据第一周期获取所述移动设备的CPU占用率; 调整单元,用于根据所述CPU占用率调整所述移动设备的外部设备时钟频率。
6.根据权利要求5所述的移动设备,其特征在于,所述移动设备进一步包括: 创建单元,用于创建空闲任务,所述空闲任务的优先级最低,用于在所述移动设备处于空闲状态时触发所述移动设备的CPU进入挂起模式,在所述挂起模式下,所述移动设备的CPU停止运行任务; 计算单元,用于根据CPU挂起时间和所述第一周期计算所述移动设备的CPU占用率,所述CPU挂起时间为所述移动设备的CPU处于挂起模式的时间。
7.根据权利要求5或6所述的移动设备,其特征在于,所述移动设备进一步包括: 第二设定单元,用于将处于工作状态的外部设备的时钟频率要求设定为所述移动设备的外部设备时钟频率下限。
8.根据权利要求5或6所述的移动设备,其特征在于,所述调整单元,进一步包括: 上调子单元,用于当所述CPU占用率大于第一阈值时,上调所述移动设备的外部设备时钟频率; 下调子单元,用于当所述CPU占用率小于第二阈值时,根据第一时间延时下调所述移动设备的外部设备时钟频率。
【文档编号】G06F1/32GK103543982SQ201210246332
【公开日】2014年1月29日 申请日期:2012年7月16日 优先权日:2012年7月16日
【发明者】王国添, 徐畅, 胡胜发 申请人:安凯(广州)微电子技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1