终端设备的运行频率的控制方法和控制系统与流程

文档序号:12118169阅读:364来源:国知局
终端设备的运行频率的控制方法和控制系统与流程

本公开实施例涉及移动终端领域,具体涉及一种终端设备的运行频率的控制方法和控制系统。



背景技术:

终端设备诸如智能手机、PAD近几年快速发展,它们具有优秀的操作系统,可以自由安装各种应用软件,用户量也连年增加。但受限于电池容量的大小,再加上终端设备上部署的大量的应用软件,导致终端设备的续航时间经常为用户所抱怨。经过实验发现,终端设备的功耗和CPU(Central Processing Unit,中央处理器)和GPU(Graphic Processing Unit,图形处理器)的运行频率相关。实际上,终端设备在运行中的频率并不是固定的,而是根据实际情况进行动态调整。但是频繁地调整CPU和GPU的频率又会造成算法和硬件的开销过大。因此,选择合适的时间点调整终端设备的运行频率至关重要。



技术实现要素:

有鉴于此,本公开实施例提供一种终端设备的运行频率的控制方法和控制系统,以解决在现实中需要通过适当地调整终端设备的运行频率来节约功耗的问题。

根据本公开实施例的第一方面,本公开实施例提供一种终端设备的运行频率的控制方法,所述终端设备中预存有所述终端设备可使用的运行频率和预设条件的对应关系,所述控制方法包括:

一种终端设备的运行频率的控制方法,所述终端设备中预存有所述终端设备可使用的运行频率和预设条件的对应关系,其特征在于,所述控制方法包括:获取所述终端设备的当前负载和当前运行频率;判断所述终端设备的当前负载是否满足预设条件;如果满足预设条件,获取所述预设条件对应的运行频率作为第一频率;如果所述第一频率和所述当前运行频率不相同,则根据所述第一频率调整所述当前运行频率;其中,所述终端设备可使用的运行频率包括至少两个数值。

可选地,还包括:获取所述终端设备的剩余电量值;

所述根据所述第一频率调整所述当前运行频率进一步包括:当所述剩余电量值大于等于设定的电量阈值时,将所述当前运行频率调整为所述第一频率;当所述剩余电量值小于设定的电量阈值时,仅当所述第一频率小于所述当前运行频率时,将所述当前运行频率调整为所述第一频率。

可选地,所述判断所述终端设备的当前负载是否满足预设条件包括:判断所述终端设备的当前负载是否大于第一阈值;和/或判断所述终端设备的当前负载是否小于所述第一阈值且大于第二阈值;和/或判断所述终端设备的当前负载是否小于第二阈值。

可选地,所述运行频率包括CPU频率和GPU频率。

可选地,所述终端设备的当前负载包括:所述终端设备的CPU、GPU的利用率和/或正在使用、等待使用所述终端设备的CPU和GPU的任务总数。

可选地,所述终端设备中预存的预设条件是可配置的。

可选地,所述终端设备为移动机、平板电脑、学习机、电视盒子、超级电视机中的一种。

根据本公开实施例的第二方面,本公开实施例提供一种终端设备的运行频率的控制系统,包括:获取模块,用于获得所述终端设备的当前负载和当前运行频率;

设置模块,用于判断所述终端设备的当前负载是否满足预设条件,如果满足预设条件,获得所述预设条件对应的运行频率作为第一频率,如果所述第一频率和所述当前运行频率的数值不同,则将所述当前运行频率调整为所述第一频率;

存储模块,用于预存有所述终端设备可使用的运行频率和预设条件的对应关系,所述终端设备可使用的运行频率至少包括两个数值。

可选地,所述设置模块包括:

第一判断单元,用于判断所述当前负载是否大于第一阈值,和/或判断所述当前负载是否小于所述第一阈值且大于第二阈值,和/或判断所述当前负载是否小于第二阈值;

第二判断单元,用于比较所述第一频率和所述当前运行频率;

第一设置单元,用于如果所述第一频率和所述当前运行频率不相同,则将所述当前运行频率调整为所述第一频率。

可选地,所述运行频率包括CPU频率和GPU频率。

可选地,所述终端设备的当前负载包括:所述终端设备的CPU、GPU的利用率和/或正在使用、等待使用所述终端设备的CPU和GPU的任务总数。

可选地,所述终端设备中预存的预设条件是可配置的。

在本实施例中,在不同的场景下采集终端设备的当前负载和当前运行频率,在当前负载满足预设条件的基础上,按预设的数值调整终端设备的运行频率,以此节约终端设备的功耗,提高续航时间。进一步地,用户可根据需求,在合理的范围内设置运行频率切换的条件,以控制终端设备切换当前运行频率的时间点,从而进一步节约功耗。

附图说明

通过参照以下附图对本公开实施例的描述,本公开实施例的上述以及其它目的、特征和优点将更为清楚,在附图中:

图1是根据本公开实施例的终端设备的运行频率的控制方法的流程图;

图2a是根据本公开实施例另一实施例的终端设备的运行频率的控制方法的流程图;

图2b是根据本公开实施例另一实施例的终端设备的运行频率的控制方法的流程图;

图3是根据本公开实施例的终端设备的运行频率的控制系统的结构图。

图4是根据图3的中的终端设备的运行频率的控制系统中的设置单元的结构图。

具体实施方式

以下基于实施例对本公开实施例进行描述,但是本公开实施例并不仅仅限于这些实施例。在下文对本公开实施例的细节描述中,详尽描述了一些特定的细节部分。对本领域技术人员来说没有这些细节部分的描述也可以完全理解本公开实施例。为了避免混淆本公开实施例的实质,公知的方法、过程、流程没有详细叙述。另外附图不一定是按比例绘制的。

附图中的流程图、框图图示了本公开实施例的系统、方法、装置的可能的体系框架、功能和操作,流程图和框图上的方框可以代表一个、程序段或仅仅是一段代码,所述、程序段和代码都是用来实现规定逻辑功能的可执行指令。也应当注意,所述实现规定逻辑功能的可执行指令可以重新组合,从而生成新的和程序段。因此附图的方框以及方框顺序只是用来更好的图示实施例的过程和步骤,而不应以此作为对发明本身的限制。

图1是根据本公开实施例的终端设备的运行频率的控制方法的流程图,包括步骤101-106。

在步骤101中,获取终端设备的当前负载和当前运行频率。

终端设备包括智能手机、平板电脑、学习机、电视盒子、超级电视机等智能电子设备。本步骤中的当前负载可以通过终端设备的CPU和GPU的使用情况来描述。CPU和GPU的使用情况可以通过CPU和GPU的利用率和应用数量描述。CPU和GPU的利用率是当前在终端设备中运行的所有程序实时占用的CPU/GPU的百分比。应用数量指一段时间内正在使用和等待使用CPU/GPU的任务总数。终端设备在不同场景下负载差别很大,例如,如果终端设备同时运行WORD、AUTOCAD(绘图软件)、PowerPoint等多种运行程序,则当前的负载很高,相反,运行少量程序或者处于待机状态的终端设备的负载很低。

在本实施例中,终端设备中预存有终端设备可使用的运行频率和预设条件的对应关系。这些可使用的运行频率已经经过反复试验和验证,确定可用后才能真正地应用于终端设备上。而终端设备的当前运行频率也来自预存的运行频率的数值。终端设备可以在每次设置或调整终端设备的运行频率时记录下当前使用的运行频率已备后续查询,或者直接通过CPU厂家提供的接口获得当前的运行频率。

在步骤102中,判断当前负载是否满足预设条件。如果满足预设条件,则执行步骤103。

在步骤103中,获得预设条件对应的运行频率作为第一频率。

在步骤104中,比较第一频率和当前运行频率。如果第一频率和当前运行频率不同,执行步骤105,否则执行步骤106。

在步骤105中,根据第一频率调整当前运行频率。

在步骤106中,不做任何处理。

在102-106的步骤中,根据终端设备中预存的终端设备可使用的运行频率和预设条件的对应关系,通过预设条件能够得到对应的运行频率,将其作为第一频率,对第一频率和当前运行频率进行比较,如果第一频率和当前运行频率的数值不相同,根据第一频率调整当前运行频率。

在本实施例中,在不同的场景下采集终端设备的当前负载和当前运行频率,在当前负载满足预设条件的基础上,以预设的数值调整终端设备的运行频率,以此节约功耗,提高续航时间。进一步地,在本实施例中的预设条件都是可以配置的,用户可以自身需求进行调整。例如,通过PAD玩游戏的青少年,对终端设备的性能要求较高,可以调高终端设备的当前运行频率,而反应相对迟钝的老人,对终端的性能要求较低,则可以调低终端设备的当前运行频率以提高续航时间。

可选地,在上述实施例中,终端设备的运行频率包括CPU频率和GPU频率。终端设备的当前负载包括:终端设备的CPU、GPU的利用率和/或正在使用、等待使用终端设备的CPU和GPU的任务总数。

可以理解的是,对于多核CPU和GPU,可以针对CPU和GPU的每个核,根据每个核的当前负载调整每个核的当前运行频率。其实施过程和上述步骤相同,这里不再赘述。

图2a是根据本公开实施例另一实施例的终端设备的运行频率的控制方法的流程图。如图2所示,所述控制方法包括步骤201-207。

在步骤201中,获取终端设备的当前负载和当前运行频率。

本步骤中的当前负载可以通过终端设备的CPU和GPU的使用情况来描述。终端设备在不同场景下负载差别很大,例如,如果终端设备同时运行WORD、AUTOCAD(绘图软件)、PowerPoint等多种运行程序,则当前的负载很高,相反,运行少量程序或者处于待机状态的终端设备的负载很低。

在步骤202中,判断当前负载是否大于第一阈值。如果当前负载大于第一阈值,则执行步骤203,否则执行步骤204。

在步骤203中,获得负载大于第一阈值时对应的运行频率作为第一频率。

在步骤204中,判断当前负载大于第二阈值。如果当前负载大于第二阈值,则执行步骤205,否则执行步骤206。

在步骤205中,获得负载大于第二阈值而小于第一阈值时对应的运行频率作为第一频率。

在步骤206中,获得负载小于第二阈值时对应的运行频率作为第一频率。

在步骤207中,比较第一频率和当前运行频率。

在步骤208中,将当前运行频率设置为第一频率。

在步骤209中,不做任何处理。

在本实施例中,根据终端设备的当前负载和第一阈值、第二阈值的关系,从终端设备中预存的可使用的运行频率和预设条件的对应关系中找到当前的条件对应的运行频率的数值,并进一步比较该数值和当前运行频率的数值是否相同,如果不同,则将当前运行频率调整为该数值。通过这种方式,使终端设备的运行频率均为经过验证过的频率。

可选地,终端设备中存储的运行频率包括CPU和GPU的频率。GPU频率包括GPU核心频率和GPU显卡频率,为了保证GPU正常工作,同时存储GPU核心频率和GPU显卡频率。

表1是一个可使用的运行频率和预设条件的对应关系的示例性表格。

表格1

在本实施例中,第一阈值大于第二阈值(表中80%和30%)。通过控制预设条件(控制第一阈值和第二阈值大小),可以控制终端设备的当前运行频率,从而节约功耗。例如,在表格1中,如果将80%(第一阈值)增加为90%,将30%(第二阈值)增加为35%,则由于将当前运行频率的升频时间点推迟,将降频的时间点提前,则可以CPU和GPU处于较低运行频率的时间增长,从而减少终端设备的功耗。此外,CPU、GPU生产厂家都提供了调整频率的接口,用于程序调用。下面是调整频率的部分代码示例:

if(ui32GPULoading>95&&ui32CPULoading>95)

i32NewFreqID+=1;

if(ui32GPULoading<30&&ui32CPULoading<30)

i32NewFreqID-=1;

其中,变量ui32GPULoading和ui32CPULoading分别表示GPU和CPU的负载,i32NewFreqID表示当前频率的标识(和表格1中的编号对应),通过标识确定当前运行频率。ui32GPULoading和ui32CPULoading的值大于95%时,调整CPU和GPU的运行频率,ui32GPULoading和ui32CPULoading的值小于30%时,调整CPU和GPU的运行频率。当然,CPU和GPU使用的阈值可以不同,不影响本公开实施例的实质。

在图2b所示的控制方法中,根据剩余电量值和预设条件综合调整终端设备当前运行频率。具体地,包括以下步骤。

在步骤211中,获取终端设备的当前负载、当前运行频率和剩余电量值。

在步骤212中,判断当前负载是否满足预设条件。如果满足预设条件,则执行步骤213。

在步骤213中,获得预设条件对应的运行频率作为第一频率。

在步骤214中,判断剩余电量值是否大于等于设定的电量阈值。如果剩余电量值大于等于设定的电量值,执行步骤215,否则执行步骤217。

在步骤215中,比较第一频率和当前运行频率。如果第一频率和当前运行频率不相同,则执行步骤216。

在步骤216中,将当前运行频率调整为第一频率。

在步骤217中,比较第一频率和当前运行频率。如果第一频率小于行频率当前运行频率,执行步骤218。

在步骤218中,将当前运行频率调整为第一频率。

在本实施例中,当剩余电量值大于等于设定的电量阈值时,可以根据当前负载将当前运行频率调高或调低为第一频率,但是当剩余电量值小于设定的电量阈值时,只有第一频率小于当前运行频率的条件下,才能将当前运行频率调低到第一频率,即在电量较小的情况下,不允许调高当前运行频率,以此来节省电量。

图3是根据本公开实施例的终端设备的运行频率的控制系统的结构图。包括获取模块302、设置模块303和存储模块304。

获取模块302获得终端设备的当前负载和当前运行频率。如上所述,可以调用GPU/CPU厂商提供的接口获取当前运行频率,或者通过查询记录获取当前运行频率。当前负载可以通过CPU和GPU的使用情况来描述。CPU和GPU的使用情况可以通过CPU和GPU的利用率和负载进行说明。例如,CPU和GPU的利用率是当前在终端设备中运行的所有程序实时占用的CPU/GPU的百分比。CPU和GPU的负载显示的是一段时间内正在使用和等待使用CPU/GPU的任务总数。

设置模块303判断当前负载是否满足预设条件,如果满足预设条件,获得预设条件对应的运行频率作为第一频率,如果第一频率和当前运行频率不同,则将当前运行频率设置为第一频率。

存储模块304预存有终端设备可使用的运行频率和预设条件的对应关系。上面的表格1给出了一个示例性的运行频率和预设条件的对应关系的数据。当然,该对应关系的数据是可以配置的,用户可以根据自身的实际需求修改该数据。可以理解的是,由于终端设备的运行频率设置不当,可能会对系统造成危害,所以,可以选择设置为终端设备当前运行频率的数值均为经过验证的频率数值。

图4是根据图3的中的终端设备的运行频率的控制系统中的设置单元的结构图。

具体地,设置模块403包括:第一判断单元4031、第二判断单元4032和第一设置单元4033。

第一判断单元4031判断当前负载是否大于第一阈值,和/或判断当前负载是否小于第一阈值且大于第二阈值,和/或判断当前负载是否小于第二阈值。第二判断单元4032比较第一频率和当前运行频率。第一设置单元4033用于如果第一频率和当前运行频率不同,则将当前运行频率设置为第一频率。如果第一频率和终端设备当前运行频率相同,则不进行处理。

可选地,运行频率包括CPU频率和GPU频率。

可选地,当前负载为正在使用和等待使用CPU和GPU的任务总数。对于多核CPU和GPU,可以针对CPU和GPU的每个核,根据每个核的当前负载调整每个核的当前运行频率。

在本公开实施例中,根据终端设备的当前负载判断终端设备当前运行频率是否需要调整,如果需要调整,根据预设条件调整当前运行频率,从而使终端设备一直以合适的运行频率运行,以此节约终端设备的功耗,提高续航时间,并能进一步提升用户体验。

系统的各个或单元可以通过硬件、固件或软件实现。软件例如包括采用JAVA、C/C++/C#、SQL等各种编程语言形成的编码程序。虽然在方法以及方法图例中给出本公开实施例的步骤以及步骤的顺序,但是所述步骤实现规定的逻辑功能的可执行指令可以重新组合,从而生成新的步骤。所述步骤的顺序也不应该仅仅局限于所述方法以及方法图例中的步骤顺序,可以根据功能的需要随时进行调整。例如将其中的某些步骤并行或按照相反顺序执行。

根据本公开实施例的系统和方法可以部署在单个或多个服务器上。例如,可以将不同的分别部署在不同的服务器上,形成专用服务器。或者,可以在多个服务器上分布式部署相同的功能单元、或系统,以减轻负载压力。所述服务器包括但不限于在同一个局域网以及通过Internet连接的多个PC机、PC服务器、刀片机、超级计算机等。

以上所述仅为本公开实施例的优选实施例,并不用于限制本公开实施例,对于本领域技术人员而言,本公开实施例可以有各种改动和变化。凡在本公开实施例的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本公开实施例的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1