具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供的处理器是至少为双核的多核处理器,其中,处理器上电后始终处于运行状态的核为主控核,本发明实施例提及的一种控制处理器运行的方法基于终端实现,终端包括主控核,起到调度各个核的工作状态的作用。
本发明实施例提供的终端可以包括智能手机、平板电脑、笔记本电脑以及MPS播放器等电子产品。
图1是本发明实施例中一种控制处理器运行的方法的流程示意图。如图所示本实施例中的控制处理器运行的方法的流程可以包括:
S110,获取终端当前运行状态下处理器所需的性能值。
所述处理器可以是各类电子产品的CPU(Central Processing Unit,中央处理器),例如智能手机的CPU。所述性能值用于衡量处理器运算能力,一方面,同一核数下,处理器的工作频率越高,其运算能力越强,进而其性能值越高,另一方面,同一工作频率下,处理器所启用的核数越多,其运算能力越强,进而其性能值越高。
具体的,终端获取当前运行状态下,处理器执行当前任务所需的性能值。
可选的,终端根据当前所要运行的应用类型,获取所述处理器所需的性能值。具体实现过程中,当终端运行一个应用时,终端根据该应用的类型以及历史运行记录,估算出处理器运行该应用所需的性能值。不同的类型的应用,处理器所要求启用的核数和工作频率不同,进而要求的性能值不同。
需要指出的是,性能值的参考标准可预先设定。例如:根据预先设定的性能的参考值标准,处理器运行一般视频应用所要求的性能值为4000,处理器运行一般游戏应用所要求的性能值为10000。
S120,获取不低于所述性能值的所述处理器的至少两个运行参数组合,以及所述运行参数组合的功耗值。
由上可知,处理器的性能值取决于处理器所启用的核数和工作频率。设所述运行参数组合包括处理器所启用的核数和工作频率,那么处理器的性能值便取决于运行参数组合的形式。具体的,不同运行参数组合下处理器的性能值不同,终端获取不低于当前所需性能值的所有运行参数组合以及处理器在该运行参数组合下的功耗值。需要指出的是,上述所有运行参数组合至少有两个。另外,上述功耗值用于衡量处理器功耗的大小,同一核数下,处理器的工作频率越高,其功耗越大。
可选的,在此之前,终端可预先建立性能值与运行参数组合间的映射关系。具体映射关系请参阅图4所示的一种性能值与运行参数组合间的映射关系表,图4中,横栏中的“1core”、“2core”、“4core”代表单核、双核、四核,竖栏中的各频率值代表处理器的工作频率,另外antutu代表性能值。显而易见的,根据这个映射关系表,终端便可查到性能值对应的运行参数组合。需要指出的是,为了方便本发明实施例的说明,图4中的工作频率、性能值、功耗值只是截取的一部分离散值,并不代表全部映射关系,另外,图4中的核数也只列举了单核、双核和四核的情况,并不代表全部情况,其他核数的仍在保护范围内。
S130,在所述至少两个运行参数组合中调用功耗值最小的所述运行参数组合来运行所述处理器。
具体的,终端在上述获取的至少两个运行参数组合中,确定功耗值最小的一个运行参数组合,并控制处理器调用该运行参数组合来运行当前应用程序。
例如:假设当前运行状态下,处理器执行当前任务所需的性能值为4000,请参阅图4,查询不低于4000的性能值,其中,在单核下,工作频率不小于1497600HZ的均满足要求,且功耗最低的为图4中的①号运行参数组合,在双核下,工作频率不小于883200HZ的均满足要求,且功耗最低的为图4中的④号运行参数组合,在四核下,工作频率不小于422400HZ的均满足要求,且最低功耗为图4中的③号运行参数组合。再横向对比①、③、④三种运行参数组合,其中功耗最低的为③号运行参数组合。此时,在终端调控下,处理器启用四核并以422400HZ的工作频率来执行当前任务。
又如:假设当前运行状态下,处理器执行当前任务所需的性能值为4300,请参阅图4,查询不低于4300的性能值,其中,在单核下,工作频率不小于1574400HZ的均满足要求,且功耗最低的为图4中的②号运行参数组合,在双核下,工作频率不小于883200HZ的均满足要求,且功耗最低的为图4中的④号运行参数组合。再横向对比②、④两种运行参数组合,其中④号运行参数组合的功耗较低。此时,在终端调控下,处理器启用双核并以883200HZ的工作频率来执行当前任务。
另外,请参阅图5所示的测试结果,可知,在采用本发明实施例提供的方法后,终端启动网页时,处理器最高省电54mA/h;启动游戏时,处理器最高省电300mA/h。由此可见,本发明实施例提供的方法显著地减小了处理器的功耗。
图2是本发明实施例中另一种控制处理器运行的方法流程示意图,可以包括:
S210,在所述处理器各核数下的频率范围内设置至少三个预设阶梯频率,所述预设阶梯频率包括所述频率范围的最低工作频率和最高工作频率。
所述处理器可以是各类电子产品的CPU(Central Processing Unit,中央处理器),例如智能手机的CPU。
需要指出的是,所述处理器的工作的频率范围在不超频的情况下是固定的,现有的处理器调度策略为了满足用户的需求,只设有两个工作频率,即最低工作频率和最高工作频率,处理器在最低工作频率下的负载超过预设负载阈值时,处理器会马上将工作频率调到最高工作频率,这将增大处理器的功耗。
为了解决上述问题,具体的,终端在处理器各核数下的频率范围内设置至少三个预设阶梯频率,从而使处理器有至少三个可用的工作频率,预设阶梯频率包括最高工作频率与最低工作频率。
例如:假设处理器各核数下的频率范围为300000HZ到2150400HZ,终端可用300000HZ、1000000HZ、1500000HZ和2150400HZ四个预设阶梯频率划分上述频率范围。
S220,在当前工作频率下的工作负载超过所述当前工作频率下的预设负载阈值时,在不改变所述处理器启用的核数下,提高当前工作频率到下一预设阶梯频率。
所述工作负载为某一工作频率下,处理器内部资源的使用率。例如:假设预设负载阈值为80%,预设阶梯频率为300000HZ、1500000HZ和2150400HZ,处理器当前工作频率为300000HZ,若终端发现处理器的工作负载为90%,超过了预设负载阈值,那么终端将会把处理器的工作频率调到1500000HZ,若终端发现调节后的工作负载为85%,仍超过了预设负载阈值,则终端将继续把处理器的工作频率调到2150400HZ。
进一步地,若处理器在2150400HZ的工作频率下的工作负载仍超过80%,那么终端将会调用多核处理,调用多核处理的方法为现有技术,这里不再赘述。
更进一步地,终端会在一段预设时间内把处理器当前工作频率恢复到最低工作频率,由于此方法也是现有技术,这里不再赘述。
已知在处理器启用相同的核数下,工作频率越高,功耗越大,那么通过采用上述设置阶梯频率的方法,可以避免在高负载的情况下,处理直接使用最高工作频率,减少了处理器的功耗。
S230,建立所述性能值与所述运行参数组合间的映射关系。
可选的,终端所建立的映射关系,可参阅图4所示的一种性能值与运行参数组合间的映射关系表,图4中,横栏中的“1core”、“2core”、“4core”代表单核、双核、四核,竖栏中的各频率值代表处理器的工作频率,另外antutu代表性能值。显而易见的,根据这个映射关系表,终端便可查到性能值对应的运行参数组合。需要指出的是,为了方便本发明实施例的说明,图4中的工作频率、性能值、功耗值只是截取的一部分离散值,并不代表全部映射关系,另外,图4中的核数也只列举了单核、双核和四核的情况,并不代表全部情况,其他核数的仍在保护范围内。
S240,获取终端当前运行状态下处理器所需的性能值。
所述性能值用于衡量处理器运算能力,一方面,同一核数下,处理器的工作频率越高,其运算能力越强,进而其性能值越高,另一方面,同一工作频率下,处理器所启用的核数越多,其运算能力越强,进而其性能值越高。
具体的,终端获取当前运行状态下,处理器执行当前任务所需的性能值。
可选的,终端根据当前所要运行的应用类型,获取所述处理器所需的性能值。具体实现过程中,当终端运行一个应用时,终端根据该应用的类型以及历史运行记录,估算出处理器运行该应用所需的性能值。不同的类型的应用,处理器所要求启用的核数和工作频率不同,进而要求的性能值不同。
需要指出的是,性能值的参考标准可预先设定。例如:根据预先设定的性能的参考值标准,处理器运行一般视频应用所要求的性能值为4000,处理器运行一般游戏应用所要求的性能值为10000。
S250,获取不低于所述性能值的参考性能值,并根据所述映射关系,获取所述参考性能值所映射的所述处理器的至少两个运行参数组合。
由上可知,处理器的性能值取决于处理器所启用的核数和工作频率。设所述运行参数组合包括处理器所启用的核数和工作频率,那么处理器的性能值便取决于运行参数组合的形式。具体的,不同运行参数组合下处理器的性能值不同,终端获取不低于当前所需性能值的所有参考性能值,并根据上述映射关系,查询到所有参考性能值对应的运行参数组合。需要指出的是,上述查询到的运行参数组合至少有两个。另外,功耗值用于衡量处理器功耗的大小,同一核数下,处理器的工作频率越高,其功耗越大。
S260,在所述至少两个运行参数组合中调用功耗值最小的所述运行参数组合来运行所述处理器。
具体的,终端在上述获取的至少两个运行参数组合中,确定功耗值最小的一个运行参数组合,并控制处理器调用该运行参数组合来运行当前应用程序。
例如:假设当前运行状态下,处理器执行当前任务所需的性能值为4000,请参阅图4,查询不低于4000的性能值,其中,在单核下,工作频率不小于1497600HZ的均满足要求,且功耗最低的为图4中的①号运行参数组合,在双核下,工作频率不小于883200HZ的均满足要求,且功耗最低的为图4中的④号运行参数组合,在四核下,工作频率不小于422400HZ的均满足要求,且最低功耗为图4中的③号运行参数组合。再横向对比①、③、④三种运行参数组合,其中功耗最低的为③号运行参数组合。此时,在终端调控下,处理器启用四核并以422400HZ的工作频率来执行当前任务。
又如:假设当前运行状态下,处理器执行当前任务所需的性能值为4300,请参阅图4,查询不低于4300的性能值,其中,在单核下,工作频率不小于1574400HZ的均满足要求,且功耗最低的为图4中的②号运行参数组合,在双核下,工作频率不小于883200HZ的均满足要求,且功耗最低的为图4中的④号运行参数组合。再横向对比②、④两种运行参数组合,其中④号运行参数组合的功耗较低。此时,在终端调控下,处理器启用双核并以883200HZ的工作频率来执行当前任务。
另外,请参阅图5所示的测试结果,可知,在采用本发明实施例提供的方法后,终端启动网页时,处理器最高省电54mA/h;启动游戏时,处理器最高省电300mA/h。由此可见,本发明实施例提供的方法显著地减小了处理器的功耗。
图3是本发明实施例中一种终端的结构示意图。本发明提供的终端可以是处理器的主控核,起到调度各个核的工作状态的作用,所述处理器可以是各类电子产品的CPU(Central Processing Unit,中央处理器),例如智能手机的CPU。如图所示本发明实施例中的终端至少可以包括性能获取模块310、参数获取模块320以及处理器运行模块330,其中:
性能获取模块310,用于获取终端当前运行状态下处理器所需的性能值。
所述性能值用于衡量处理器运算能力,一方面,同一核数下,处理器的工作频率越高,其运算能力越强,进而其性能值越高,另一方面,同一工作频率下,处理器所启用的核数越多,其运算能力越强,进而其性能值越高。
具体的,性能获取模块310获取当前运行状态下,处理器执行当前任务所需的性能值。
可选的,性能获取模块310根据当前所要运行的应用类型,获取所述处理器所需的性能值。具体实现过程中,当终端运行一个应用时,性能获取模块310根据该应用的类型以及历史运行记录,估算出处理器运行该应用所需的性能值。不同的类型的应用,处理器所要求启用的核数和工作频率不同,进而要求的性能值不同。
需要指出的是,性能值的参考标准可预先设定。例如:根据预先设定的性能的参考值标准,处理器运行一般视频应用所要求的性能值为4000,处理器运行一般游戏应用所要求的性能值为10000。
参数获取模块320,用于获取不低于所述性能值的所述处理器的至少两个运行参数组合,以及所述运行参数组合的功耗值。
由上可知,处理器的性能值取决于处理器所启用的核数和工作频率。设所述运行参数组合包括处理器所启用的核数和工作频率,那么处理器的性能值便取决于运行参数组合的形式。具体的,不同运行参数组合下处理器的性能值不同,参数获取模块320获取不低于当前所需性能值的所有参考性能值,并根据上述映射关系,查询到所有参考性能值对应的运行参数组合。需要指出的是,上述查询到的运行参数组合至少有两个。另外,功耗值用于衡量处理器功耗的大小,同一核数下,处理器的工作频率越高,其功耗越大。
处理器运行模块330,用于在所述至少两个运行参数组合中调用功耗值最小的所述运行参数组合来运行所述处理器。
具体的,处理器运行模块330在上述获取的至少两个运行参数组合中,确定功耗值最小的一个运行参数组合,并控制处理器调用该运行参数组合来运行当前应用程序。
可选的,如图3所示的终端还包括映射建立模块340,用于建立所述性能值与所述运行参数组合间的映射关系。终端所建立的映射关系,可参阅图4所示的一种性能值与运行参数组合间的映射关系表,图4中,横栏中的“1core”、“2core”、“4core”代表单核、双核、四核,竖栏中的各频率值代表处理器的工作频率,另外antutu代表性能值。显而易见的,根据这个映射关系表,终端便可查到性能值对应的运行参数组合。需要指出的是,为了方便本发明实施例的说明,图4中的工作频率、性能值、功耗值只是截取的一部分离散值,并不代表全部映射关系,另外,图4中的核数也只列举了单核、双核和四核的情况,并不代表全部情况,其他核数的仍在保护范围内。
那么,处理器运行模块330的实现场景可以例如:假设当前运行状态下,处理器执行当前任务所需的性能值为4000,请参阅图4,处理器运行模块330查询不低于4000的性能值,其中,在单核下,工作频率不小于1497600HZ的均满足要求,且功耗最低的为图4中的①号运行参数组合,在双核下,工作频率不小于883200HZ的均满足要求,且功耗最低的为图4中的④号运行参数组合,在四核下,工作频率不小于422400HZ的均满足要求,且最低功耗为图4中的③号运行参数组合。再横向对比①、③、④三种运行参数组合,其中功耗最低的为③号运行参数组合。此时,在处理器运行模块330调控下,处理器启用四核并以422400HZ的工作频率来执行当前任务。
又如:假设当前运行状态下,处理器执行当前任务所需的性能值为4300,请参阅图4,处理器运行模块330查询不低于4300的性能值,其中,在单核下,工作频率不小于1574400HZ的均满足要求,且功耗最低的为图4中的②号运行参数组合,在双核下,工作频率不小于883200HZ的均满足要求,且功耗最低的为图4中的④号运行参数组合。再横向对比②、④两种运行参数组合,其中④号运行参数组合的功耗较低。此时,在处理器运行模块330调控下,处理器启用双核并以883200HZ的工作频率来执行当前任务。
另外,请参阅图5所示的测试结果,可知,在采用本发明实施例提供的方法后,终端启动网页时,处理器最高省电54mA/h;启动游戏时,处理器最高省电300mA/h。由此可见,本发明实施例提供的方法显著地减小了处理器的功耗。
请参阅图3,如图所示的终端还可以包括频率设置模块350和频率切换模块360,其中:
频率设置模块350,用于在所述处理器各核数下的频率范围内设置至少三个预设阶梯频率,所述预设阶梯频率包括所述频率范围的最低工作频率和最高工作频率。
需要指出的是,所述处理器的工作的频率范围在不超频的情况下是固定的,现有的处理器调度策略为了满足用户的需求,只设有两个工作频率,即最低工作频率和最高工作频率,处理器在最低工作频率下的负载超过预设负载阈值时,处理器会马上将工作频率调到最高工作频率,这将增大处理器的功耗。
为了解决上述问题,具体的,频率设置模块350在处理器各核数下的频率范围内设置至少三个预设阶梯频率,从而使处理器有至少三个可用的工作频率,预设阶梯频率包括最高工作频率与最低工作频率。
例如:假设处理器各核数下的频率范围为300000HZ到2150400HZ,频率设置模块350可用300000HZ、1000000HZ、1500000HZ和2150400HZ四个预设阶梯频率划分上述频率范围。
频率切换模块360,用于在当前工作频率下的工作负载超过所述当前工作频率下的预设负载阈值时,在不改变所述处理器启用的核数下,提高当前工作频率到下一预设阶梯频率。
所述工作负载为某一工作频率下,处理器内部资源的使用率。例如:假设预设负载阈值为80%,预设阶梯频率为300000HZ、1500000HZ和2150400HZ,处理器当前工作频率为300000HZ,若频率切换模块360发现处理器的工作负载为90%,超过了预设负载阈值,那么频率切换模块360将会把处理器的工作频率调到1500000HZ,若频率切换模块360发现调节后的工作负载为85%,仍超过了预设负载阈值,则频率切换模块360将继续把处理器的工作频率调到2150400HZ。
进一步地,若处理器在2150400HZ的工作频率下的工作负载仍超过80%,那么终端将会调用多核处理,调用多核处理的方法为现有技术,这里不再赘述。
更进一步地,频率切换模块360会在一段预设时间内把处理器当前工作频率恢复到最低工作频率,由于此方法也是现有技术,这里不再赘述。
已知在处理器启用相同的核数下,工作频率越高,功耗越大,那么通过采用上述设置阶梯频率的方法,可以避免在高负载的情况下,处理直接使用最高工作频率,减少了处理器的功耗。
本发明实施例根据当前处理器所需的性能值,查询不低于当前性能值且低于当前功耗的处理器的运行参数组合,并控制处理器调用其功耗最小的运行参数组合,从而实现保证处理器性能的情况下降低功耗、节省电能的功能。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
本发明实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。
本发明实施例装置中的模块可以根据实际需要进行合并、划分和删减。
本发明实施例中所述模块,可以通过通用集成电路,例如CPU(CentralProcessing Unit,中央处理器),或通过ASIC(Application Specific IntegratedCircuit,专用集成电路)来实现。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。