发明内容
本发明的目的在于提供一种终端功耗的调控方法及终端,使得能以较小的资源消耗,实时调整终端的功耗,使系统运行在效率和功耗的最优平衡点上,实现终端功耗的业务敏感,有利于终端省电。
为解决上述技术问题,本发明的实施方式提供了一种终端功耗的调控方法,包含以下步骤:
在发生业务注册或业务注销时,根据当前已注册的各业务因启动所需的频率增量ΔFi,统计当前已注册的所有业务的频率增量之和其中,N为已注册的业务总数;
将统计的所述频率增量之和叠加在预先设定的基本频率之上,得到当前实际所需的总时钟频率;
根据所述总时钟频率确定终端所处的功耗等级,其中,每级所述功耗等级预先设置有对应的频率和电压;
根据所述终端所处的功耗等级,以该功耗等级中所设置的频率和电压,对所述终端进行配置。
本发明的实施方式还提供了一种终端功耗的调控方法,包含以下步骤:
在发生业务注册或业务注销时,根据当前已注册的各本地业务因启动所需的频率增量ΔFi,统计当前已注册的所有本地业务的频率增量之和其中,N为已注册的本地业务总数;
将统计的所述频率增量之和叠加在当前所有网络侧业务运行所需的基本频率之上,得到当前实际所需的总时钟频率;其中,所述基本频率根据网络侧业务集查表方式得到;
根据所述总时钟频率确定终端所处的功耗等级,其中,每级所述功耗等级预先设置有对应的频率和电压;
根据所述终端所处的功耗等级,以该功耗等级中所设置的频率和电压,对所述终端进行配置。
本发明的实施方式还提供了一种终端,包含:
频率增量统计模块,用于在发生业务注册或业务注销时,根据当前已注册的各业务因启动所需的频率增量ΔFi,统计当前已注册的所有业务的频率增量之和其中,N为已注册的业务总数;
总时钟频率获取模块,该总时钟频率获取模块与所述频率增量统计模块相连,用于将所述频率增量统计模块统计的所述频率增量之和,叠加在预先设定的基本频率之上,得到当前实际所需的总时钟频率;
功耗等级确定模块,该功耗等级确定模块与所述总时钟频率获取模块相连,用于根据所述总时钟频率获取模块得到的所述总时钟频率确定终端所处的功耗等级,其中,每级所述功耗等级预先设置有对应的频率和电压;
功耗调控模块,该功耗调控模块与所述功耗等级确定模块相连,用于根据所述终端所处的功耗等级,以该功耗等级中所设置的频率和电压,对所述终端进行配置。
本发明的实施方式还提供了一种终端,包含:
本地业务频率增量统计模块,用于在发生本地业务注册或本地业务注销时,根据当前已注册的各本地业务因启动所需的频率增量ΔFi,统计当前已注册的所有本地业务的频率增量之和其中,N为已注册的本地业务总数;
基本频率获取模块,用于在发生网络侧业务注册或网络侧业务注销时,根据网络侧业务集查表方式得到当前所有网络侧业务运行所需的基本频率;
总时钟频率获取模块,该总时钟频率获取模块与所述本地业务频率增量统计模块和基本频率获取模块相连,用于将所述本地业务频率增量统计模块统计的所述频率增量之和,叠加在所述基本频率获取模块获取的基本频率之上,得到当前实际所需的总时钟频率;
功耗等级确定模块,该功耗等级确定模块与所述总时钟频率获取模块相连,用于根据所述总时钟频率获取模块得到的所述总时钟频率确定终端所处的功耗等级,其中,每级所述功耗等级预先设置有对应的频率和电压;
功耗调控模块,该功耗调控模块与所述功耗等级确定模块相连,用于根据所述终端所处的功耗等级,以该功耗等级中所设置的频率和电压,对所述终端进行配置。
本发明实施方式相对于现有技术而言,在发生业务注册或业务注销时,根据当前已注册的所有业务的频率增量之和以及基本频率,得到当前实际所需的总时钟频率,进而确定终端所处的功耗等级,并以终端所处功耗等级的相应频率和电压,对所述终端进行配置,由于是实时地根据业务频率增量的方式来判断功耗等级,无需对繁多的本地业务制作业务集与功耗对照表,也不需要根据CPU占用率来决定功耗等级,因此,能以较小的资源消耗,实时调整终端的功耗,而且实现简单,即时生效,适应性强。使系统运行在效率和功耗的最优平衡点上,实现终端功耗的业务敏感,有利于终端省电。
另外,预先设定的基本频率为终端在待机时所需的频率,在待机时所需的频率之上,叠加统计的频率增量之和,进一步保证了为终端确定的功耗等级的准确性,使系统运行在效率和功耗的最优平衡点上。
另外,在统计当前已注册的所有业务的频率增量之和时,根据上一次统计的频率增量之和、当前最新注册的业务所需的频率增量和当前注销的业务所需的频率增量,统计当前已注册的所有业务的频率增量之和。在注册业务较多或发生变更的业务数较少的情况下,根据上一次统计的频率增量之和以及发生变更的业务,统计当前已注册的所有业务的频率增量之和,可以省去对之前已注册业务重新统计的步骤,只需在上一次统计的频率增量之和的基础上,简单加上本次新增的注册业务的频率增量和/或减去本次注销业务的频率增量即可,进一步减少了计算量,保证了业务敏感的简单实现。
另外,各业务因启动所需的频率增量ΔFi,可以在业务设计时通过中央处理器CPU占用率统计得到;也可以通过每秒钟执行的指令数统计得到。使得在需要获取总时钟频率时,能迅速地统计出当前已注册的所有业务的频率增量之和,进一步保证了终端功耗的调控实时性。
另外,如果各功耗等级所对应的频率均小于总时钟频率的频率,则通知最新注册的业务存在CPU资源风险,以保证系统运行的稳定性。
另外,还可以采用业务频率增量与业务集查表相组合的方式,实现终端功耗的调控。
具体实施方式
本发明的第一实施方式涉及一种终端功耗的调控方法。在本实施方式中,在每次业务注册/注销时进行功耗等级判断,即业务启动时将业务所需的频率增量ΔFi注册给功耗业务敏感管理器,管理器在预先设定的基本频率f的基础上,叠加各注册业务所需要的时钟频率增量ΔFi,得到当前所需的总时钟频率F,确定其所处的功耗等级,按照功耗等级中对应的频率和电压进行配置。同样,在业务注销时,在当前功耗等级对应的时钟频率上去掉该业务频率增量ΔFi,以获得将要配置的功耗等级,如图1所示。
具体流程如图2所示,在发生业务注册或业务注销时,进入步骤210,根据当前已注册的各业务因启动所需的频率增量ΔFi,统计当前已注册的所有业务的频率增量之和其中,N为已注册的业务总数。
为了方便统计,在具体实现时,可以根据上一次统计的频率增量之和、当前最新注册的业务所需的频率增量和当前注销的业务所需的频率增量,统计当前已注册的所有业务的频率增量之和。比如说,当前新注册的只有一个业务,没有新注销的业务,则可以在上一次统计的频率增量之和上加入新注册的业务,即可得到当前已注册的所有业务的频率增量之和;类似地,在只有新注销的业务,没有新注册的业务时,只需在上一次统计的频率增量之和上加入新注销的业务,即可得到当前已注册的所有业务的频率增量之和。由此可见,在注册业务较多或发生变更的业务数较少的情况下,根据上一次统计的频率增量之和以及发生变更的业务,统计当前已注册的所有业务的频率增量之和,可以省去对之前已注册业务重新统计的步骤,只需在上一次统计的频率增量之和的基础上,简单加上本次新增的注册业务的频率增量和/或减去本次注销业务的频率增量即可,进一步减少了计算量,保证了实现上的简易性。
值得一提地是,各业务因启动所需的频率增量ΔFi,在业务设计时通过中央处理器CPU占用率统计得到;或者,各业务因启动所需的频率增量ΔFi,通过每秒钟执行的指令数(mips)统计得到。各业务的ΔFi可通过CPU占用率统计得到;也可以通过每秒钟执行的指令数统计得到,使得频率增量之和能被迅速地统计出,进一步保证了终端功耗的调控实时性。当然,本领域技术人员可以理解,各业务因启动所需的频率增量还可以通过实际测试进行修正。
接着,在步骤220中,将在步骤210中统计的频率增量之和,叠加在预先设定的基本频率之上,得到当前实际所需的总时钟频率。其中,预先设定的基本频率可以是终端在待机时所需的频率,以进一步保证最终为终端确定的功耗等级的准确性。
接着,在步骤230中,根据得到的总时钟频率确定终端所处的功耗等级,其中,每级功耗等级预先设置有对应的频率和电压。
具体地说,在各功耗等级所对应的频率中,查找最接近并且大于该总时钟频率的频率,将查找到的频率所属的功耗等级,作为确定的终端所处的功耗等级。其中,如果各功耗等级所对应的频率均小于该总时钟频率的频率,则将最高的功耗等级作为确定的终端所处的功耗等级。并且,在本实施方式中,如果各功耗等级所对应的频率均小于该总时钟频率的频率,则通知最新注册的业务存在CPU资源风险,以保证系统运行的稳定性。
接着,在步骤240中,根据终端所处的功耗等级,以该功耗等级中所设置的频率和电压,对终端进行配置。
由此可见,在本实施方式中,在获得总时钟频率F后,实现功耗调控的功耗业务敏感管理器将根据出现的如下3种情况进行相应处理:
情况1:一般情况,任何CPU的时钟配置都不是任意的,那么,功耗业务敏感管理器得到的时钟运行的总频率F是不能直接配置给硬件设备,需要以“就高”原则来确定时钟配置的频率;
情况2:若系统中启动的业务较多,再有业务启动注册时,通过业务频率增量叠加的方式获得的总频率F,就有超出系统可配置的最高时钟频率Fmax的可能,则需要功耗业务敏感管理器将时钟配置成可配置的最高频率,并通知此注册业务有CPU资源风险。此时,注册业务最好执行业务注销操作,并关闭,以保证系统稳定性;
情况3:系统运行在最高时钟频率Fmax下,且根据现有已注册业务得到的时钟频率已经超出Fmax,此时有业务注销的话,若减去注销业务的频率增量后,仍然大于Fmax,则按情况2处理;若小于Fmax,则按情况1处理。
比如说,若终端系统待机时系统运行频率为f=130MHz,最高时钟频率Fmax=260MHz,当前有频率增量为ΔF1=20MHz和ΔF2=10MHz的业务1和2两个业务在运行,则系统时钟运行的总频率为F=130+20+10=160MHz。
此时,业务3启动(ΔF3=40MHz),则系统时钟运行的总频率为F=160+40=200MHz;若此时,业务1被停止,则系统时钟运行的总频率为F=200-20=180MHz。这样,在将总频率F转换成功耗等级时,就会遇到上述情况1,若系统时钟频率在180MHz附近可配置频率为169MHz和182MHz,则根据“就高”原则,应选择182MHz的功耗等级配置。
若此时再有占用CPU资源多的业务5(ΔF5=90MHz)来注册的话,则计算出的总频率F=270MHz>Fmax,此时将时钟频率配置成Fmax,并通知业务5有风险,若业务5仍运行,则系统就以Fmax全速运行;若此时业务3来注销,则F=230MHz,“就高”原则选择234MHz的功耗等级配置。
不难发现,在本实施方式中,由于是实时地根据业务频率增量的方式来判断功耗等级,无需对繁多的本地/网络业务制作业务集与功耗对照表,也不需要根据CPU占用率来决定功耗等级,因此,能以较小的资源消耗,实时调整终端的功耗,而且实现简单,即时生效,适应性强。使系统运行在效率和功耗的最优平衡点上,实现终端功耗的业务敏感,有利于终端省电。
本发明的第二实施方式涉及一种终端功耗的调控方法。第二实施方式与第一实施方式的区别之处在于:在第一实施方式中,统计所有业务的业务频率增量之和,无论是本地业务还是网络侧业务,均通过业务频率增量方式进行终端功耗的调控。而在本发明第二实施方式中,采用业务频率增量和查表方式的组合方式,对终端功耗进行调控。
以多功能手机的功耗业务敏感需求为例,网络侧业务采用业务集查表方式和本地业务采用业务频率增量的方式的组合方式实现终端功耗的调控。以网络侧业务集查表方式得到的基本时钟频率作为基本频率f,通过将统计的当前已注册的所有本地业务的频率增量之和,叠加在当前所有网络侧业务运行所需的基本频率之上,得到系统当前所需的总时钟频率F,以此频率确定终端所处的功耗等级并配置,如图3所示。若是网络业务注册/注销,重新查表更新基本频率f,再重新计算出系统当前所需的总时钟频率F,从而确定系统的功耗等级;若本地业务注册/注销,处理与单纯的业务频率增量的方式一致。同样,组合方式也是在每次业务注册/注销时进行功耗等级判断,实时调整并生效。
具体流程如图4所示,在发生业务注册或业务注销时,进入步骤410,根据当前已注册的各本地业务因启动所需的频率增量ΔFi,统计当前已注册的所有本地业务的频率增量之和其中,N为已注册的本地业务总数。其中,各本地业务因启动所需的频率增量ΔFi,在业务设计时通过中央处理器CPU占用率统计得到;或者,各本地业务因启动所需的频率增量ΔFi,通过每秒钟执行的指令数统计得到。
与第一实施方式类似,在统计当前已注册的所有本地业务的频率增量之和时,为减少计算量,可以根据上一次统计的频率增量之和、当前最新注册的本地业务所需的频率增量和当前注销的本地业务所需的频率增量,统计当前已注册的所有本地业务的频率增量之和。
接着,在步骤420中,将统计的频率增量之和叠加在当前所有网络侧业务运行所需的基本频率之上,得到当前实际所需的总时钟频率,其中,基本频率根据网络侧业务集查表方式得到。网络侧业务集查表方式与现有技术相同,即建立业务及业务组合与功耗的对照表,根据已注册的网络侧业务或网络侧业务组合,查找相对应的功耗,在此不再赘述。在本步骤中,将通过网络侧业务集查表方式查找到的对应功耗,作为当前所有网络侧业务运行所需的基本频率。
接着,在步骤430中,根据总时钟频率确定终端所处的功耗等级,其中,每级功耗等级预先设置有对应的频率和电压。本步骤与第一实施方式类似,在各功耗等级所对应的频率中,查找最接近并且大于该总时钟频率的频率,将查找到的频率所属的功耗等级,作为确定的该终端所处的功耗等级。其中,如果各功耗等级所对应的频率均小于该总时钟频率的频率,则将最高的功耗等级作为确定的该终端所处的功耗等级,当然,在这种情况下,还可以通知最新注册的本地业务存在CPU资源风险,以保证系统运行的稳定性。
接着,在步骤440中,根据终端所处的功耗等级,以该功耗等级中所设置的频率和电压,对终端进行配置,实现终端业务敏感性的实时调控。
需要说明的是,上面各种方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包含相同的逻辑关系,都在本专利的保护范围内;对算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的核心设计都在该专利的保护范围内。
本发明第三实施方式涉及一种终端,如图5所示,包含:
频率增量统计模块,用于在发生业务注册或业务注销时,根据当前已注册的各业务因启动所需的频率增量ΔFi,统计当前已注册的所有业务的频率增量之和其中,N为已注册的业务总数。
总时钟频率获取模块,该总时钟频率获取模块与所述频率增量统计模块相连,用于将所述频率增量统计模块统计的所述频率增量之和,叠加在预先设定的基本频率之上,得到当前实际所需的总时钟频率。其中,预先设定的基本频率可以是该终端在待机时所需的频率。
功耗等级确定模块,该功耗等级确定模块与所述总时钟频率获取模块相连,用于根据所述总时钟频率获取模块得到的所述总时钟频率确定终端所处的功耗等级,其中,每级所述功耗等级预先设置有对应的频率和电压。
功耗调控模块,该功耗调控模块与所述功耗等级确定模块相连,用于根据所述终端所处的功耗等级,以该功耗等级中所设置的频率和电压,对所述终端进行配置。
具体地说,功耗等级确定模块包含以下子模块:
查找子模块,用于在各功耗等级所对应的频率中,查找最接近并且大于所述总时钟频率的频率;
确定子模块,用于将所述查找子模块查找到的频率所属的功耗等级,作为确定的该终端所处的功耗等级。其中,所述确定子模块在各功耗等级所对应的频率均小于所述总时钟频率的频率时,将最高的功耗等级作为确定的所述终端所处的功耗等级。
值得一提的是,本实施方式的终端还可以包含:警示模块,该警示模块与所述总时钟频率获取模块相连,用于在各功耗等级所对应的频率均小于所述总时钟频率的频率时,通知最新注册的业务存在CPU资源风险。
不难发现,本实施方式为与第一实施方式相对应的装置实施例,本实施方式可与第一实施方式互相配合实施。第一实施方式中提到的相关技术细节在本实施方式中依然有效,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在第一实施方式中。
本发明第四实施方式涉及一种终端,如图6所示,包含:
本地业务频率增量统计模块,用于在发生本地业务注册或本地业务注销时,根据当前已注册的各本地业务因启动所需的频率增量ΔFi,统计当前已注册的所有本地业务的频率增量之和其中,N为已注册的本地业务总数。
基本频率获取模块,用于在发生网络侧业务注册或网络侧业务注销时,根据网络侧业务集查表方式得到当前所有网络侧业务运行所需的基本频率。
总时钟频率获取模块,该总时钟频率获取模块与所述本地业务频率增量统计模块和基本频率获取模块相连,用于将所述本地业务频率增量统计模块统计的所述频率增量之和,叠加在所述基本频率获取模块获取的基本频率之上,得到当前实际所需的总时钟频率。
功耗等级确定模块,该功耗等级确定模块与所述总时钟频率获取模块相连,用于根据所述总时钟频率获取模块得到的所述总时钟频率确定终端所处的功耗等级,其中,每级所述功耗等级预先设置有对应的频率和电压。
功耗调控模块,该功耗调控模块与所述功耗等级确定模块相连,用于根据所述终端所处的功耗等级,以该功耗等级中所设置的频率和电压,对所述终端进行配置。
其中,功耗等级确定模块包含以下子模块:
查找子模块,用于在各功耗等级所对应的频率中,查找最接近并且大于所述总时钟频率的频率。
确定子模块,用于将所述查找子模块查找到的频率所属的功耗等级,作为确定的该终端所处的功耗等级。其中,所述确定子模块在各功耗等级所对应的频率均小于所述总时钟频率的频率时,将最高的功耗等级作为确定的该终端所处的功耗等级。
值得一提的是,本实施方式的终端还可以包含警示模块,该警示模块与所述总时钟频率获取模块相连,用于在各功耗等级所对应的频率均小于所述总时钟频率的频率时,通知最新注册的业务存在CPU资源风险。
不难发现,本实施方式为与第二实施方式相对应的装置实施例,本实施方式可与第二实施方式互相配合实施。第二实施方式中提到的相关技术细节在本实施方式中依然有效,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在第二实施方式中。
值得一提的是,本实施方式中所涉及到的各模块均为逻辑模块,在实际应用中,一个逻辑单元可以是一个物理单元,也可以是一个物理单元的一部分,还可以以多个物理单元的组合实现。此外,为了突出本发明的创新部分,本实施方式中并没有将与解决本发明所提出的技术问题关系不太密切的单元引入,但这并不表明本实施方式中不存在其它的单元。
上述各实施方式是实现本发明的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。