一种控制中央处理器的方法和装置
技术领域
本发明涉及通信领域,尤其涉及一种控制中央处理器的方法和装置。
背景技术
随着计算需求特别是移动计算领域的不断增加,处理器正朝着高主频、多核心方向发展,单位时间内的并行处理能力大大增加,同时也带来了较大的功耗负担。减小处理器的无效功率耗用问题对于计算系统,尤其是移动手持式计算设备而言具有重要意义。
现有技术提出一种技术方案,一旦CPU占用率大于占用率阈值,即将CPU频率设置为最高频率。但这样的调频方式使得CPU在CPU占用率大于占用率阈值后,一直工作在最高频率,会造成CPU不必要的电量浪费。
发明内容
本发明实施例提供一种控制中央处理器的方法和装置,可减少频率调整中,当CPU占用率大于占用率阈值时的CPU电量消耗。
根据本发明的第一方面,一种控制中央处理器CPU的方法,包括:
获取工作的CPU的占用率和工作频率;
当所述占用率大于占用率阈值,判断所述工作频率是否小于第一频率;
当所述工作频率小于第一频率时,确认所述工作频率为第一频率;
其中,所述第一频率小于所述CPU的最高频率。
在第一方面的第一种可能的实现方式中,所述方法还包括:
当所述工作频率大于或等于第一频率时,判断所述工作频率是否小于或等于第二频率,所述第二频率大于所述第一频率且小于所述最高频率;
当所述工作频率小于或等于所述第二频率时,确认所述工作频率为第二频率。
结合第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述当所述工作频率小于或等于所述第二频率时,确认所述工作频率为第二频率,包括:
当所述工作频率小于或等于所述第二频率,且循环保持计数值小于循环保持计数阈值时,确认所述工作频率为第二频率。
结合第一方面的第二种可能的实现方式,在第三种可能的实现方式中,还包括:
所述循环保持计数值加一。
结合第一方面的第一种可能的实现方式,或第一方面的第二种可能的实现方式,或第一方面的第三种可能的实现方式,在第四种可能的实现方式中,还包括:
当所述工作频率大于所述第二频率时,确认所述工作频率为第三频率,所述第三频率等于所述最高频率。
结合第一方面的第二种可能的实现方式,或第一方面的第三种可能的实现方式,或第一方面的第四种可能的实现方式,在第五种可能的实现方式中,还包括:
当所述循环保持计数值大于或等于所述循环保持计数阈值时,确认所述工作频率为所述最高频率。
结合第一方面的第二种可能的实现方式,或第一方面的第三种可能的实现方式,或第一方面的第四种可能的实现方式,或第一方面的第五种可能的实现方式,在第六种可能的实现方式中,还包括:
当所述占用率大于所述占用率阈值,且所述工作频率小于或等于所述第一频率时,清零所述循环保持计数值。
结合第一方面,或第一方面的第一种可能的实现方式,第一方面的第二种可能的实现方式,或第一方面的第三种可能的实现方式,或第一方面的第四种可能的实现方式,或第一方面的第五种可能的实现方式,或第一方面的第六种可能的实现方式,在第七种可能的实现方式中,还包括:
当所述占用率小于或等于所述占用率阈值时,获取所述占用率与所述工作频率的乘积,确认所述工作频率为与所述乘积最接近的频率值,并清零所述循环保持计数值。
在第一方面的第八种可能的实现方式中,还包括:
当所述工作频率大于或等于第一频率时,确认所述工作频率为最高频率。
结合第一方面,或第一方面的第八种可能的实现方式,在第九种可能的实现方式中,所述当所述工作频率小于第一频率时,确认所述工作频率为第一频率,具体为:
当所述工作频率小于第一频率,且循环保持计数值小于循环保持计数阈值时,确认所述工作频率为第一频率。
结合第一方面的第九种可能的实现方式,在第十种可能的实现方式中,还包括:
所述循环保持计数值加一。
结合第一方面的第九种可能的实现方式,或第一方面的第十种可能的实现方式,在第十一种可能的实现方式中,还包括:
当所述循环保持计数值大于或等于所述循环保持计数阈值时,确认所述工作频率为所述最高频率。
结合第一方面的第九种可能的实现方式,或第一方面的第十种可能的实现方式,或第一方面的第十一种可能的实现方式,在第十二种可能的实现方式中,还包括:
当所述占用率小于或等于所述占用率阈值时,获取所述占用率与所述工作频率的乘积,确认所述工作频率为与所述乘积最接近的频率值,并清零所述循环保持计数值。
结合第一方面,或第一方面的第一种可能的实现方式,或第一方面的第二种可能的实现方式,或第一方面的第三种可能的实现方式,或第一方面的第四种可能的实现方式,或第一方面的第五种可能的实现方式,或第一方面的第六种可能的实现方式,或第一方面的第七种可能的实现方式,或第一方面的第八种可能的实现方式,或第一方面的第九种可能的实现方式,或第一方面的第十种可能的实现方式,或第一方面的第十一种可能的实现方式,或第一方面的第十二种可能的实现方式,在第十三种可能的实现方式中,在所述CPU对应的定时器的计时时刻到达时,执行所述方法的步骤。
结合第一方面的第十三种可能的实现方式,在第十四种可能的实现方式中,所述方法还包括:当系统空闲时,所述定时器停止计时。
结合第一方面的第十三种可能的实现方式,或第一方面的第十四种可能的实现方式,在第十五种可能的实现方式中,所述方法还包括:当系统退出空闲时,所述定时器启动计时。
结合第一方面的第十三种可能的实现方式,或第一方面的第十四种可能的实现方式,或第一方面的第十五种可能的实现方式,在第十六种可能的实现方式中,所述方法还包括:
如果在所述定时器连续计时时刻到达时,获取的所述定时器对应的工作频率均为频率最大值,且所述工作频率均为频率最大值的次数刚大于最高频率持续周期次数阈值,则所述定时器停止计时。
结合第一方面的第十六种可能的实现方式,在第十七种可能的实现方式中,所述最高频率持续周期次数阈值为:
(开启CPU功耗敏感因子阈值×开核采样空间)/(占用率阈值×频率权重),其中,所述频率权重为所述第一权重;
所述工作频率均为频率最大值的次数刚大于最高频率持续周期次数阈值为:
所述工作频率均为频率最大值的次数为最高频率持续周期次数阈值加一。
结合第一方面,或第一方面的第一种可能的实现方式,或第一方面的第二种可能的实现方式,或第一方面的第三种可能的实现方式,或第一方面的第四种可能的实现方式,或第一方面的第五种可能的实现方式,或第一方面的第六种可能的实现方式,或第一方面的第七种可能的实现方式,或第一方面的第八种可能的实现方式,或第一方面的第九种可能的实现方式,或第一方面的第十种可能的实现方式,或第一方面的第十一种可能的实现方式,或第一方面的第十二种可能的实现方式,或第一方面的第十三种可能的实现方式,或第一方面的第十四种可能的实现方式,或第一方面的第十五种可能的实现方式,或第一方面的第十六种可能的实现方式,或第一方面的第十七种可能的实现方式,在第十八种可能的实现方式中,所述第一频率为电流-频率曲线中的拐点对应的频率。
结合第一方面的第十八种可能的实现方式,在第十九种可能的实现方式中,所述电流-频率曲线中,第一斜率小于第二斜率;
所述第一斜率为比所述拐点对应的频率低的测量点形成的直线的斜率;所述第二斜率为比所述拐点对应的频率高的测量点形成的直线的斜率。
结合第一方面的第一种可能的实现方式,或第一方面的第二种可能的实现方式,或第一方面的第三种可能的实现方式,或第一方面的第四种可能的实现方式,或第一方面的第五种可能的实现方式,或第一方面的第六种可能的实现方式,或第一方面的第七种可能的实现方式,或第一方面的第八种可能的实现方式,或第一方面的第九种可能的实现方式,或第一方面的第十种可能的实现方式,或第一方面的第十一种可能的实现方式,或第一方面的第十二种可能的实现方式,或第一方面的第十三种可能的实现方式,或第一方面的第十四种可能的实现方式,或第一方面的第十五种可能的实现方式,或第一方面的第十六种可能的实现方式,或第一方面的第十七种可能的实现方式,或第一方面的第十八种可能的实现方式,或第一方面的第十九种可能的实现方式,在第二十种可能的实现方式中,所述第二频率为所述第一频率和所述最高频率的平均值。
根据本发明的第二方面,一种终端,包括处理器,所述处理器用于:
获取工作的CPU的占用率和工作频率;
当所述占用率大于占用率阈值,判断所述工作频率是否小于第一频率;
当所述工作频率小于第一频率时,确认所述工作频率为第一频率;
其中,所述第一频率小于所述CPU的最高频率。
在第二方面的第一种可能的实现方式中,所述处理器还用于:
当所述工作频率大于或等于第一频率时,判断所述工作频率是否小于或等于第二频率,所述第二频率大于所述第一频率且小于所述最高频率;
当所述工作频率小于或等于所述第二频率时,确认所述工作频率为第二频率。
结合第二方面的第一种可能的实现方式,在第二种可能的实现方式中,所述处理器当所述工作频率小于或等于所述第二频率时,确认所述工作频率为第二频率,包括:
当所述工作频率小于或等于所述第二频率,且循环保持计数值小于循环保持计数阈值时,确认所述工作频率为第二频率。
结合第二方面的第二种可能的实现方式,在第三种可能的实现方式中,所述处理器还用于:
所述循环保持计数值加一。
结合第二方面的第一种可能的实现方式,或第二方面的第二种可能的实现方式,或第二方面的第三种可能的实现方式,在第四种可能的实现方式中,处理器还用于:
当所述工作频率大于所述第二频率时,确认所述工作频率为第三频率,所述第三频率等于所述最高频率。
结合第二方面的第二种可能的实现方式,或第二方面的第三种可能的实现方式,或第二方面的第四种可能的实现方式,在第五种可能的实现方式中,所述处理器还用于:
当所述循环保持计数值大于或等于所述循环保持计数阈值时,确认所述工作频率为所述最高频率。
结合第二方面的第二种可能的实现方式,或第二方面的第三种可能的实现方式,或第二方面的第四种可能的实现方式,或第二方面的第五种可能的实现方式,在第六种可能的实现方式中,所述处理器还用于:
当所述占用率大于所述占用率阈值,且所述工作频率小于或等于所述第一频率时,清零所述循环保持计数值。
结合第二方面,或第二方面的第一种可能的实现方式,第二方面的第二种可能的实现方式,或第二方面的第三种可能的实现方式,或第二方面的第四种可能的实现方式,或第二方面的第五种可能的实现方式,或第二方面的第六种可能的实现方式,在第七种可能的实现方式中,所述处理器还用于:
当所述占用率小于或等于所述占用率阈值时,获取所述占用率与所述工作频率的乘积,确认所述工作频率为与所述乘积最接近的频率值,并清零所述循环保持计数值。
在第二方面的第八种可能的实现方式中,所述处理器还用于:
当所述工作频率大于或等于第一频率时,确认所述工作频率为最高频率。
结合第二方面,或第二方面的第八种可能的实现方式,在第九种可能的实现方式中,所述处理器当所述工作频率小于第一频率时,确认所述工作频率为第一频率,具体为:
当所述工作频率小于第一频率,且循环保持计数值小于循环保持计数阈值时,确认所述工作频率为第一频率。
结合第二方面的第九种可能的实现方式,在第十种可能的实现方式中,所述处理器还用于:
所述循环保持计数值加一。
结合第二方面的第九种可能的实现方式,或第二方面的第十种可能的实现方式,在第十一种可能的实现方式中,所述处理器还用于:
当所述循环保持计数值大于或等于所述循环保持计数阈值时,确认所述工作频率为所述最高频率。
结合第二方面的第九种可能的实现方式,或第二方面的第十种可能的实现方式,或第二方面的第十一种可能的实现方式,在第十二种可能的实现方式中,所述处理器还用于:
当所述占用率小于或等于所述占用率阈值时,获取所述占用率与所述工作频率的乘积,确认所述工作频率为与所述乘积最接近的频率值,并清零所述循环保持计数值。
结合第二方面,或第二方面的第一种可能的实现方式,或第二方面的第二种可能的实现方式,或第二方面的第三种可能的实现方式,或第二方面的第四种可能的实现方式,或第二方面的第五种可能的实现方式,或第二方面的第六种可能的实现方式,或第二方面的第七种可能的实现方式,或第二方面的第八种可能的实现方式,或第二方面的第九种可能的实现方式,或第二方面的第十种可能的实现方式,或第二方面的第十一种可能的实现方式,或第二方面的第十二种可能的实现方式,在第十三种可能的实现方式中,所述处理器还用于:在所述CPU对应的定时器的计时时刻到达时,执行所述方法的步骤。
结合第二方面的第十三种可能的实现方式,在第十四种可能的实现方式中,所述处理器还用于:当系统空闲时,所述定时器停止计时。
结合第二方面的第十三种可能的实现方式,或第二方面的第十四种可能的实现方式,在第十五种可能的实现方式中,所述处理器还用于:当系统退出空闲时,所述定时器启动计时。
结合第二方面的第十三种可能的实现方式,或第二方面的第十四种可能的实现方式,或第二方面的第十五种可能的实现方式,在第十六种可能的实现方式中,所述处理器还用于:
如果在所述定时器连续计时时刻到达时,获取的所述定时器对应的工作频率均为频率最大值,且所述工作频率均为频率最大值的次数刚大于最高频率持续周期次数阈值,则所述定时器停止计时。
结合第二方面的第十六种可能的实现方式,在第十七种可能的实现方式中,所述最高频率持续周期次数阈值为:
(开启CPU功耗敏感因子阈值×开核采样空间)/(占用率阈值×频率权重),其中,所述频率权重为所述第一权重;
所述工作频率均为频率最大值的次数刚大于最高频率持续周期次数阈值为:
所述工作频率均为频率最大值的次数为最高频率持续周期次数阈值加一。
结合第二方面,或第二方面的第一种可能的实现方式,或第二方面的第二种可能的实现方式,或第二方面的第三种可能的实现方式,或第二方面的第四种可能的实现方式,或第二方面的第五种可能的实现方式,或第二方面的第六种可能的实现方式,或第二方面的第七种可能的实现方式,或第二方面的第八种可能的实现方式,或第二方面的第九种可能的实现方式,或第二方面的第十种可能的实现方式,或第二方面的第十一种可能的实现方式,或第二方面的第十二种可能的实现方式,或第二方面的第十三种可能的实现方式,或第二方面的第十四种可能的实现方式,或第二方面的第十五种可能的实现方式,或第二方面的第十六种可能的实现方式,或第二方面的第十七种可能的实现方式,在第十八种可能的实现方式中,所述第一频率为电流-频率曲线中的拐点对应的频率。
结合第二方面的第十八种可能的实现方式,在第十九种可能的实现方式中,所述电流-频率曲线中,第一斜率小于第二斜率;
所述第一斜率为比所述拐点对应的频率低的测量点形成的直线的斜率;所述第二斜率为比所述拐点对应的频率高的测量点形成的直线的斜率。
结合第二方面的第一种可能的实现方式,或第二方面的第二种可能的实现方式,或第二方面的第三种可能的实现方式,或第二方面的第四种可能的实现方式,或第二方面的第五种可能的实现方式,或第二方面的第六种可能的实现方式,或第二方面的第七种可能的实现方式,或第二方面的第八种可能的实现方式,或第二方面的第九种可能的实现方式,或第二方面的第十种可能的实现方式,或第二方面的第十一种可能的实现方式,或第二方面的第十二种可能的实现方式,或第二方面的第十三种可能的实现方式,或第二方面的第十四种可能的实现方式,或第二方面的第十五种可能的实现方式,或第二方面的第十六种可能的实现方式,或第二方面的第十七种可能的实现方式,或第二方面的第十八种可能的实现方式,或第二方面的第十九种可能的实现方式,在第二十种可能的实现方式中,所述第二频率为所述第一频率和所述最高频率的平均值。
根据本发明的第三方面,一种装置,包括:
第一单元,获取工作的CPU的占用率和工作频率;
第二单元,当所述占用率大于占用率阈值,判断所述工作频率是否小于第一频率;
第三单元,当所述工作频率小于第一频率时,确认所述工作频率为第一频率;其中,所述第一频率小于所述CPU的最高频率。
在第三方面的第一种可能的实现方式中,所述装置还包括:
第四单元,用于当所述工作频率大于或等于第一频率时,判断所述工作频率是否小于或等于第二频率,所述第二频率大于所述第一频率且小于所述最高频率;
第五单元,用于当所述工作频率小于或等于所述第二频率时,确认所述工作频率为第二频率。
结合第三方面的第一种可能的实现方式,在第二种可能的实现方式中,所述第五单元具体用于:当所述工作频率小于或等于所述第二频率,且循环保持计数值小于循环保持计数阈值时,确认所述工作频率为第二频率。
结合第三方面的第二种可能的实现方式,在第三种可能的实现方式中,还包括:第六单元,用于将所述循环保持计数值加一。
结合第三方面的第一种可能的实现方式,或第三方面的第二种可能的实现方式,或第三方面的第三种可能的实现方式,在第四种可能的实现方式中,还包括:
第七单元,用于当所述工作频率大于所述第二频率时,确认所述工作频率为第三频率,所述第三频率等于所述最高频率。
结合第三方面的第二种可能的实现方式,或第三方面的第三种可能的实现方式,或第三方面的第四种可能的实现方式,在第五种可能的实现方式中,还包括:
第八单元,用于当所述循环保持计数值大于或等于所述循环保持计数阈值时,确认所述工作频率为所述最高频率。
结合第三方面的第二种可能的实现方式,或第三方面的第三种可能的实现方式,或第三方面的第四种可能的实现方式,或第三方面的第五种可能的实现方式,在第六种可能的实现方式中,还包括:
第九单元,用于当所述占用率大于所述占用率阈值,且所述工作频率小于或等于所述第一频率时,清零所述循环保持计数值。
结合第三方面,或第三方面的第一种可能的实现方式,第三方面的第二种可能的实现方式,或第三方面的第三种可能的实现方式,或第三方面的第四种可能的实现方式,或第三方面的第五种可能的实现方式,或第三方面的第六种可能的实现方式,在第七种可能的实现方式中,还包括:
第十单元,用于当所述占用率小于或等于所述占用率阈值时,获取所述占用率与所述工作频率的乘积,确认所述工作频率为与所述乘积最接近的频率值,并清零所述循环保持计数值。
在第三方面的第八种可能的实现方式中,还包括:
第十一单元,用于当所述工作频率大于或等于第一频率时,确认所述工作频率为最高频率。
结合第三方面,或第三方面的第八种可能的实现方式,在第九种可能的实现方式中,所述第三单元具体用于:
当所述工作频率小于第一频率,且循环保持计数值小于循环保持计数阈值时,确认所述工作频率为第一频率。
结合第三方面的第九种可能的实现方式,在第十种可能的实现方式中,还包括第十二单元,用于将所述循环保持计数值加一。
结合第三方面的第九种可能的实现方式,或第三方面的第十种可能的实现方式,在第十一种可能的实现方式中,还包括:
第十三单元,用于当所述循环保持计数值大于或等于所述循环保持计数阈值时,确认所述工作频率为所述最高频率。
结合第三方面的第九种可能的实现方式,或第三方面的第十种可能的实现方式,或第三方面的第十一种可能的实现方式,在第十二种可能的实现方式中,还包括:
第十四单元,用于当所述占用率小于或等于所述占用率阈值时,获取所述占用率与所述工作频率的乘积,确认所述工作频率为与所述乘积最接近的频率值,并清零所述循环保持计数值。
结合第三方面,或第三方面的第一种可能的实现方式,或第三方面的第二种可能的实现方式,或第三方面的第三种可能的实现方式,或第三方面的第四种可能的实现方式,或第三方面的第五种可能的实现方式,或第三方面的第六种可能的实现方式,或第三方面的第七种可能的实现方式,或第三方面的第八种可能的实现方式,或第三方面的第九种可能的实现方式,或第三方面的第十种可能的实现方式,或第三方面的第十一种可能的实现方式,或第三方面的第十二种可能的实现方式,在第十三种可能的实现方式中,还包括:定时器,用于在所述CPU对应的定时器的计时时刻到达时,执行所述方法的步骤。
结合第三方面的第十三种可能的实现方式,在第十四种可能的实现方式中,所述方法还包括第十五单元,用于:当系统空闲时,所述定时器停止计时。
结合第三方面的第十三种可能的实现方式,或第三方面的第十四种可能的实现方式,在第十五种可能的实现方式中,所述方法还包括第十六单元,用于:当系统退出空闲时,所述定时器启动计时。
结合第三方面的第十三种可能的实现方式,或第三方面的第十四种可能的实现方式,或第三方面的第十五种可能的实现方式,在第十六种可能的实现方式中,所述方法还包括:
第十七单元,用于在所述定时器连续计时时刻到达时,获取的所述定时器对应的工作频率均为频率最大值,且所述工作频率均为频率最大值的次数刚大于最高频率持续周期次数阈值,则所述定时器停止计时。
结合第三方面的第十六种可能的实现方式,在第十七种可能的实现方式中,所述最高频率持续周期次数阈值为:
(开启CPU功耗敏感因子阈值×开核采样空间)/(占用率阈值×频率权重),其中,所述频率权重为所述第一权重;
所述工作频率均为频率最大值的次数刚大于最高频率持续周期次数阈值为:
所述工作频率均为频率最大值的次数为最高频率持续周期次数阈值加一。
结合第三方面,或第三方面的第一种可能的实现方式,或第三方面的第二种可能的实现方式,或第三方面的第三种可能的实现方式,或第三方面的第四种可能的实现方式,或第三方面的第五种可能的实现方式,或第三方面的第六种可能的实现方式,或第三方面的第七种可能的实现方式,或第三方面的第八种可能的实现方式,或第三方面的第九种可能的实现方式,或第三方面的第十种可能的实现方式,或第三方面的第十一种可能的实现方式,或第三方面的第十二种可能的实现方式,或第三方面的第十三种可能的实现方式,或第三方面的第十四种可能的实现方式,或第三方面的第十五种可能的实现方式,或第三方面的第十六种可能的实现方式,或第三方面的第十七种可能的实现方式,在第十八种可能的实现方式中,所述第一频率为电流-频率曲线中的拐点对应的频率。
结合第三方面的第十八种可能的实现方式,在第十九种可能的实现方式中,所述电流-频率曲线中,第一斜率小于第二斜率;
所述第一斜率为比所述拐点对应的频率低的测量点形成的直线的斜率;所述第二斜率为比所述拐点对应的频率高的测量点形成的直线的斜率。
结合第三方面的第一种可能的实现方式,或第三方面的第二种可能的实现方式,或第三方面的第三种可能的实现方式,或第三方面的第四种可能的实现方式,或第三方面的第五种可能的实现方式,或第三方面的第六种可能的实现方式,或第三方面的第七种可能的实现方式,或第三方面的第八种可能的实现方式,或第三方面的第九种可能的实现方式,或第三方面的第十种可能的实现方式,或第三方面的第十一种可能的实现方式,或第三方面的第十二种可能的实现方式,或第三方面的第十三种可能的实现方式,或第三方面的第十四种可能的实现方式,或第三方面的第十五种可能的实现方式,或第三方面的第十六种可能的实现方式,或第三方面的第十七种可能的实现方式,或第三方面的第十八种可能的实现方式,或第三方面的第十九种可能的实现方式,在第二十种可能的实现方式中,所述第二频率为所述第一频率和所述最高频率的平均值。
根据本发明的第四方面,一种携带程序代码的计算机程序,当所述计算机程序在计算机上运行时,所述程序代码执行结合本发明的第一方面;或第一方面的第一种可能的实现方式;或第一方面的第二种可能的实现方式;或第一方面的第三种可能的实现方式;或第一方面的第四种可能的实现方式;或第一方面的第五种可能的实现方式;或第一方面的第六种可能的实现方式;或第一方面的第七种可能的实现方式;或第一方面的第八种可能的实现方式;或第一方面的第九种可能的实现方式;或第一方面的第十种可能的实现方式;或第一方面的第十一种可能的实现方式;或第一方面的第十二种可能的实现方式;或第一方面的第十三种可能的实现方式;或第一方面的第十四种可能的实现方式;或第一方面的第十五种可能的实现方式;或第一方面的第十六种可能的实现方式;或第一方面的第十七种可能的实现方式;或第一方面的第十八种可能的实现方式;或第一方面的第十九种可能的实现方式;或第一方面的第二十种可能的实现方式;或本发明的第二方面;或第二方面的第一种可能的实现方式;或第二方面的第二种可能的实现方式;或第二方面的第三种可能的实现方式;或第二方面的第四种可能的实现方式;或第二方面的第五种可能的实现方式;或第二方面的第六种可能的实现方式;或第二方面的第七种可能的实现方式;或第二方面的第八种可能的实现方式;或第二方面的第九种可能的实现方式;或第二方面的第十种可能的实现方式;或第二方面的第十一种可能的实现方式;或第二方面的第十二种可能的实现方式;或第二方面的第十三种可能的实现方式;或第二方面的第十四种可能的实现方式;或第二方面的第十五种可能的实现方式;或第二方面的第十六种可能的实现方式;或第二方面的第十七种可能的实现方式;或第二方面的第十八种可能的实现方式;或第二方面的第十九种可能的实现方式;或第二方面的第二十种可能的实现方式;或本发明的第三方面;或第三方面的第一种可能的实现方式;或第三方面的第二种可能的实现方式;或第三方面的第三种可能的实现方式;或第三方面的第四种可能的实现方式;或第三方面的第五种可能的实现方式;或第三方面的第六种可能的实现方式;或第三方面的第七种可能的实现方式;或第三方面的第八种可能的实现方式;或第三方面的第九种可能的实现方式;或第三方面的第十种可能的实现方式;或第三方面的第十一种可能的实现方式;或第三方面的第十二种可能的实现方式;或第三方面的第十三种可能的实现方式;或第三方面的第十四种可能的实现方式;或第三方面的第十五种可能的实现方式;或第三方面的第十六种可能的实现方式;或第三方面的第十七种可能的实现方式;或第三方面的第十八种可能的实现方式;或第三方面的第十九种可能的实现方式;或第三方面的第二十种可能的实现方式所述的方法。
根据本发明的第五方面,一种计算机可读存储介质,所述计算机存储计算机程序代码,当所述计算机程序代码被一个计算机执行的时候,所述计算机程序代码可以使得所述计算机执行结合本发明的第一方面;或第一方面的第一种可能的实现方式;或第一方面的第二种可能的实现方式;或第一方面的第三种可能的实现方式;或第一方面的第四种可能的实现方式;或第一方面的第五种可能的实现方式;或第一方面的第六种可能的实现方式;或第一方面的第七种可能的实现方式;或第一方面的第八种可能的实现方式;或第一方面的第九种可能的实现方式;或第一方面的第十种可能的实现方式;或第一方面的第十一种可能的实现方式;或第一方面的第十二种可能的实现方式;或第一方面的第十三种可能的实现方式;或第一方面的第十四种可能的实现方式;或第一方面的第十五种可能的实现方式;或第一方面的第十六种可能的实现方式;或第一方面的第十七种可能的实现方式;或第一方面的第十八种可能的实现方式;或第一方面的第十九种可能的实现方式;或第一方面的第二十种可能的实现方式;或本发明的第二方面;或第二方面的第一种可能的实现方式;或第二方面的第二种可能的实现方式;或第二方面的第三种可能的实现方式;或第二方面的第四种可能的实现方式;或第二方面的第五种可能的实现方式;或第二方面的第六种可能的实现方式;或第二方面的第七种可能的实现方式;或第二方面的第八种可能的实现方式;或第二方面的第九种可能的实现方式;或第二方面的第十种可能的实现方式;或第二方面的第十一种可能的实现方式;或第二方面的第十二种可能的实现方式;或第二方面的第十三种可能的实现方式;或第二方面的第十四种可能的实现方式;或第二方面的第十五种可能的实现方式;或第二方面的第十六种可能的实现方式;或第二方面的第十七种可能的实现方式;或第二方面的第十八种可能的实现方式;或第二方面的第十九种可能的实现方式;或第二方面的第二十种可能的实现方式;或本发明的第三方面;或第三方面的第一种可能的实现方式;或第三方面的第二种可能的实现方式;或第三方面的第三种可能的实现方式;或第三方面的第四种可能的实现方式;或第三方面的第五种可能的实现方式;或第三方面的第六种可能的实现方式;或第三方面的第七种可能的实现方式;或第三方面的第八种可能的实现方式;或第三方面的第九种可能的实现方式;或第三方面的第十种可能的实现方式;或第三方面的第十一种可能的实现方式;或第三方面的第十二种可能的实现方式;或第三方面的第十三种可能的实现方式;或第三方面的第十四种可能的实现方式;或第三方面的第十五种可能的实现方式;或第三方面的第十六种可能的实现方式;或第三方面的第十七种可能的实现方式;或第三方面的第十八种可能的实现方式;或第三方面的第十九种可能的实现方式;或第三方面的第二十种可能的实现方式所述的方法。
根据本发明的第六方面,一种计算机程序产品,所述计算机程序产品包括计算机程序代码,当所述计算机程序代码被一个计算机执行的时候,所述计算机程序代码可以使得所述计算机执行结合本发明的第一方面;或第一方面的第一种可能的实现方式;或第一方面的第二种可能的实现方式;或第一方面的第三种可能的实现方式;或第一方面的第四种可能的实现方式;或第一方面的第五种可能的实现方式;或第一方面的第六种可能的实现方式;或第一方面的第七种可能的实现方式;或第一方面的第八种可能的实现方式;或第一方面的第九种可能的实现方式;或第一方面的第十种可能的实现方式;或第一方面的第十一种可能的实现方式;或第一方面的第十二种可能的实现方式;或第一方面的第十三种可能的实现方式;或第一方面的第十四种可能的实现方式;或第一方面的第十五种可能的实现方式;或第一方面的第十六种可能的实现方式;或第一方面的第十七种可能的实现方式;或第一方面的第十八种可能的实现方式;或第一方面的第十九种可能的实现方式;或第一方面的第二十种可能的实现方式;或本发明的第二方面;或第二方面的第一种可能的实现方式;或第二方面的第二种可能的实现方式;或第二方面的第三种可能的实现方式;或第二方面的第四种可能的实现方式;或第二方面的第五种可能的实现方式;或第二方面的第六种可能的实现方式;或第二方面的第七种可能的实现方式;或第二方面的第八种可能的实现方式;或第二方面的第九种可能的实现方式;或第二方面的第十种可能的实现方式;或第二方面的第十一种可能的实现方式;或第二方面的第十二种可能的实现方式;或第二方面的第十三种可能的实现方式;或第二方面的第十四种可能的实现方式;或第二方面的第十五种可能的实现方式;或第二方面的第十六种可能的实现方式;或第二方面的第十七种可能的实现方式;或第二方面的第十八种可能的实现方式;或第二方面的第十九种可能的实现方式;或第二方面的第二十种可能的实现方式;或本发明的第三方面;或第三方面的第一种可能的实现方式;或第三方面的第二种可能的实现方式;或第三方面的第三种可能的实现方式;或第三方面的第四种可能的实现方式;或第三方面的第五种可能的实现方式;或第三方面的第六种可能的实现方式;或第三方面的第七种可能的实现方式;或第三方面的第八种可能的实现方式;或第三方面的第九种可能的实现方式;或第三方面的第十种可能的实现方式;或第三方面的第十一种可能的实现方式;或第三方面的第十二种可能的实现方式;或第三方面的第十三种可能的实现方式;或第三方面的第十四种可能的实现方式;或第三方面的第十五种可能的实现方式;或第三方面的第十六种可能的实现方式;或第三方面的第十七种可能的实现方式;或第三方面的第十八种可能的实现方式;或第三方面的第十九种可能的实现方式;或第三方面的第二十种可能的实现方式所述的方法。
从上述方案可以看出,本发明实施例提供的控制中央处理器的方法和装置,当CPU占用率大于占用率阈值后,进一步判断工作频率是否小于第一频率。当工作频率小于第一频率时,确认工作频率为小于所述CPU的最高频率的第一频率。这种调节频率的方式不是一次性将CPU频率调整为最高频率,故而能减少在频率调整中,当CPU占用率大于占用率阈值时的CPU电量消耗。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
图1是本发明第一实施例中控制CPU的方法的概要流程图;
图2是本发明第二实施例中控制CPU的方法的详细流程图;
图3是本发明第三实施例中控制CPU的方法的另一详细流程图;
图4是本发明第四实施例中电流-频率曲线示意图;
图5是本发明第五实施例中终端的结构示意图;
图6是本发明第六实施例中手机的部分结构的框图;
图7是本发明第七实施例中装置的概要结构示意图;
图8A是本发明第八实施例中装置的第一详细结构示意图;
图8B是本发明第八实施例中装置的第二详细结构示意图;
图8C是本发明第八实施例中装置中定时器的结构示意图。
具体实施方式
为确认本发明的目的、技术方案和优点更加清楚,下面结合附图对本发明实施例作进一步的详细描述。
本发明的第一实施例提供一种控制CPU的方法,如图1的概要流程图所示,包括如下步骤:
步骤101,获取工作的CPU的占用率和工作频率。
步骤102,当所述占用率大于占用率阈值时,判断所述工作频率是否小于第一频率。占用率阈值根据不同的平台可取不同值,该值的取值范围可以在90%到95%之间。这里的不同的平台是指不同的硬件芯片组。
步骤103,当所述工作频率小于第一频率时,确认所述工作频率为第一频率。这里所说的“确定...为第一频率”,是指如果工作频率不是第一频率,改变工作频率为第一频率。如果工作频率为第一频率,使工作频率保持为第一频率。
其中,所述第一频率小于所述CPU的最高频率。
本发明实施例提供的控制中央处理器的方法,当CPU占用率大于占用率阈值后,进一步判断工作频率是否小于第一频率。当工作频率小于第一频率时,确认工作频率为小于所述CPU的最高频率的第一频率。这种调节频率的方式不是一次性将CPU频率调整为最高频率,故而能减少CPU在频率调整中的电量消耗。
本发明的第二实施例提供一种控制CPU的方法,由负责调度的CPU执行。即执行该方法的CPU可调度其他普通的执行指令和运算的CPU。该负责调度的CPU可以是除其他普通执行指令和运算的CPU以外独立的CPU,也可将调度功能集成在某个普通执行指令和运算的CPU中。该负责调度的CPU(后文简称为“调度CPU”)的硬件形式可以是高级精简指令集计算机(AdvancedReducedInstructionSetComputing(RISC)Machines,ARM)芯片,也可以是单片机等其他芯片。如图2的详细流程图所示,包括如下步骤:
步骤201,获取当前工作的CPU的占用率和工作频率。CPU的占用率值和工作频率值可以分别通过检测获得。
步骤202,判断CPU的占用率是否大于占用率阈值。如果大于,进入步骤204。否则,进入步骤203。
步骤203,如果CPU的占用率小于或等于占用率阈值,则获取占用率与工作频率的乘积,确认所述工作频率为与所述乘积最接近的频率值,并清零循环保持计数值。
由于工作频率是逐个离散的值,有可能该乘积和逐个离散的值并不重合,因此有可能需要将工作频率设置为与乘积最接近的频率值。当然,如果该乘积和逐个离散的值重合,则可将工作频率设置为与乘积对应的频率值。此处的“确定”是指,如果该乘积和逐个离散的值并不重合,则将工作频率设置为与乘积最接近的频率值;如果该乘积和逐个离散的值重合,则将工作频率设置为与乘积对应的频率值。本文其他处“确定”含义参考此处类推解释,其他处不再另外解释。
另外,该循环保持计数值的作用是和循环保持计数阈值比较,如果小于该循环保持计数阈值,则在原计数基础上继续计数。一旦循环保持计数值大于或等于循环保持计数阈值,则调整现有频率到比现有频率更高的频率。
步骤204,如果CPU的占用率大于占用率阈值,则继续判断CPU工作频率是否小于第一频率。如果工作频率小于第一频率,则进入步骤205。否则,进入步骤206。
步骤205,当工作频率小于第一频率时,确认所述工作频率为第一频率。进一步的,还可清零循环保持计数值。
步骤206,当工作频率大于或等于第一频率时,继续判断CPU工作频率是否小于或等于第二频率。其中,第二频率大于或等于第一频率,且小于最高频率。如果工作频率小于或等于第二频率,则进入步骤207。否则,进入步骤209。
步骤207,当工作频率小于或等于第二频率时,继续判断循环保持计数值是否小于循环保持计数阈值。如果循环保持计数值小于循环保持计数阈值,进入步骤208。否则,进入步骤209。
步骤208,当循环保持计数值小于循环保持计数阈值时,确认所述工作频率为第二频率。进一步的,循环保持计数值可加一。
步骤209,当循环保持计数值大于或等于循环保持计数阈值,或者CPU工作频率大于第二频率时,确认所述工作频率为第三频率,该第三频率大于所述第二频率。第三频率,可以是CPU的最高频率,或是大于第二频率且小于最高频率的频率。
本发明实施例提供的控制中央处理器的方法,通过设置比第一频率高的第二频率,和比第二频率高的第三频率,实现频率级别的更细划分,适用于具备工作频率较高(如最高频率可达1.5GHz(千兆赫兹))的CPU硬件芯片组。从而当CPU频率较高,保障用户体验和CPU性能的同时,不是一次性调高频率到最大频率,而是分段调节频率,故可进一步节省CPU的功率消耗。
本发明的第三实施例提供一种控制CPU的方法,由负责调度的CPU执行。如图3的详细流程图所示,包括如下步骤:
步骤301,获取当前工作的CPU的占用率和工作频率。CPU的占用率值和工作频率值可以分别通过检测获得。
步骤302,判断CPU的占用率是否大于占用率阈值。如果CPU的占用率大于占用率阈值,则进入步骤304。否则,进入步骤303。
步骤303,当CPU的占用率小于或等于占用率阈值时,获取占用率与工作频率的乘积,确认所述工作频率为与所述乘积最接近的频率值,并清零循环保持计数值。
由于工作频率是逐个离散的值,有可能该乘积和逐个离散的值并不重合,因此有可能需要将工作频率设置为与乘积最接近的频率值。当然,如果该乘积和逐个离散的值重合,则可将工作频率设置为与乘积对应的频率值。
另外,该循环保持计数值的作用是和循环保持计数阈值比较,如果小于该循环保持计数阈值,则在原计数基础上继续计数。一旦循环保持计数值大于或等于循环保持计数阈值,则调整现有频率到比现有频率更高的频率。
步骤304,判断工作频率是否小于第一频率。如果工作频率小于第一频率,则进入步骤305。否则,进入步骤307。其中,第一频率小于最高频率。
步骤305,当工作频率小于第一频率时,判断循环保持计数值是否小于循环保持计数阈值。如果循环保持计数值小于循环保持计数阈值,进入步骤306。否则,进入步骤307。
步骤306,当循环保持计数值小于循环保持计数阈值时,确认工作频率为第一频率,还可进一步将循环保持计数值加一。
步骤307,当循环保持计数值大于或等于循环保持计数阈值,或工作频率大于或等于第一频率时,确认CPU的工作频率为最高频率。
本发明实施例提供的控制中央处理器的方法,通过设置比最高频率低的第一频率,实现频率的分级,该实施例的方法可适用于具备工作频率中等(如最高频率可达1GHz)的CPU硬件芯片组。从而当CPU频率较高,保障用户体验和CPU性能的同时,不是一次性调高频率到最大频率,而是分段调节频率(例如先调节到第一频率),故可进一步节省CPU的功率消耗。
此外,本发明实施例提供的控制中央处理器的方法,还可应用在具备更细的频率分级的CPU硬件芯片组中。如在该CPU硬件芯片组中,工作频率可以到达2GHz。此时可设置小于最高频率的第一频率,第二频率,第三频率,甚至第四频率。例如,该第三频率可以设置在第二实施例中的第一频率和第二频率的中值频率处,该第四频率可以设置在第二实施例中的第二频率和最高频率的中值频率处。当然,也可以在第一频率和最高频率之间做频率间隔的三等分,五等分,甚至N等分。N为大于或等于二的正整数。
在上述本实施例在第一实施例,第二实施例或第三实施例的基础上,可新增定时功能。即每当定时器的计时到达时,执行上述实施例一,第二实施例或第三实施例的方法。
一种控制定时器的方式包括:
当系统空闲时,所述定时器停止计时。
进一步的,该方法还可以包括,当系统退出空闲时,所述定时器启动计时。
其中,系统空闲与否,由执行该实施例方法的调度CPU所在设备的操作系统通知该负责调度的CPU。
在上述基础上,另一种控制定时器的方式包括:
如果在所述定时器连续计时时刻到达时,获取的所述定时器对应的工作频率均为频率最大值,且所述工作频率均为频率最大值的次数刚大于最高频率持续周期次数阈值,则所述定时器停止计时。
具体的,最高频率持续周期次数阈值的定义可以为:
(开启CPU功耗敏感因子阈值×开核采样空间)/(占用率阈值×频率权重),其中,所述频率权重为所述第一权重,取值可为4。开启CPU功耗敏感因子阈值可以设为200。开核采样空间为大于或等于一的整数,如可以取值为10。
工作频率均为频率最大值的次数刚大于最高频率持续周期次数阈值可以为:所述工作频率均为频率最大值的次数为最高频率持续周期次数阈值加一。
例如,如果连续5次计时时刻到达时,获取的所述定时器对应的工作频率均为频率最大值,并且最高频率持续周期次数阈值为4,则所述定时器停止计时。
本发明的第四实施例提供一种控制CPU的方法,该实施例在上述第一实施例,第二实施例,或第三实施例的基础上,说明各种小于最高频率的频率是如何产生的。如图4所示,为实测的某个普通的执行指令和运算的CPU的电流-频率曲线示意图。图4中,横坐标为频率,单位是MHz(兆赫兹),从左到右,频率依次升高。纵坐标是普通CPU的电流消耗,从下到上,电流消耗依次升高。其中,横坐标的频率是离散的,即普通CPU工作在离散的频率点上。图4中间的各个菱形的黑点是实测的测量点,在工作在特定频率点时的电流消耗。根据各个测量点,可以大致画出一条体现电流和频率的关系的曲线,如图4的黑色实线所示。该黑色实线并不是一条有固定斜率的直线,而是由有两条具备固定斜率的直线相连而形成。可以看出,该黑色实线中,频率比功耗拐点频率小的测量点(即曲线中,功耗拐点频率对应的测量点的左边的测量点)连接成的直线的斜率(可称为第一斜率),比频率比功耗拐点频率大的测量点(即曲线中,功耗拐点频率对应的测量点的右边的测量点)连接成的直线的斜率(可称为第二斜率),要小。图中,功耗拐点频率对应具体数值918MHz,该值大致位于最高频率1512MHz和最低频率384MHz的中间,处于该大致中间的频率可保证用户体验和系统的运行性能。当然,该值在不同的平台也可以取其他值,如702MHz,810MHz,或1026MHz。而此时功耗拐点频率对应消耗的电流又相对较低(对应150mA的电流消耗),因此可以将功耗拐点频率设为普通CPU工作时的最佳工作频率点。上述第一实施例,第二实施例,或第三实施例中,可以将第一频率设置为功耗拐点频率。
考虑到当普通CPU频率高于功耗拐点频率后,可进一步节省该普通CPU的功耗,因此可进一步在功耗拐点频率和最高频率之间设置其他频率,使得当普通CPU频率高于功耗拐点频率后,不是一次性将普通CPU的工作频率调节为最高频率。如如图4所示,可在功耗拐点频率和最高频率的中点设置功耗中值频率。当普通CPU的工作频率高于功耗拐点频率后,可将该普通CPU的工作频率调整到功耗中值频率,而不是一次性调整到最高频率,从而节省普通CPU的功率消耗。该功耗中值频率可设置为第二频率。
当某普通CPU的最高频率可到达更高频率(如2GHz)时,还可进一步在功耗拐点频率和功耗中值频率之间设置一个第三频率,和/或,在功耗中值频率和最高频率之间设置一个第四频率。这样,通过更多的频率的分级,可实现不同层级的频率调整,从而在工作频率向更高频率调整的过程中,根据情况依次调整到相应的适配频率,而不是一次调整到最高频率或比适配频率更高的频率,从而节省该普通CPU的功率消耗。
本发明第五实施例提供一种终端,如图5所示。上述终端501包括处理器5011。处理器5011可以是负责调度的CPU,其作用是负责调度和控制一个或多个普通CPU。
该处理器5011用于:获取工作的CPU的占用率和工作频率;当所述占用率大于占用率阈值,判断所述工作频率是否小于第一频率;当所述工作频率小于第一频率时,确认所述工作频率为第一频率。
其中,第一频率小于所述CPU的最高频率。
CPU的占用率值和工作频率值可以分别通过检测获得。
占用率阈值根据不同的平台可取不同值,该值的取值范围可以在90%到95%之间。这里的不同的平台是指不同的硬件芯片组。
在第一种实施方式中,处理器可包括如下功能:
进一步,处理器还可用于:当工作频率大于或等于第一频率时,判断所述工作频率是否小于或等于第二频率,第二频率大于所述第一频率且小于所述最高频率;当所述工作频率小于或等于所述第二频率时,确认所述工作频率为第二频率。
处理器当所述工作频率小于或等于所述第二频率时,确认所述工作频率为第二频率,具体可包括:
当所述工作频率小于或等于所述第二频率,且循环保持计数值小于循环保持计数阈值时,确认所述工作频率为第二频率。该循环保持计数值的作用是和循环保持计数阈值比较,如果小于该循环保持计数阈值,则在原计数基础上继续计数。一旦循环保持计数值大于或等于循环保持计数阈值,则调整现有频率到比现有频率更高的频率。进一步的,处理器还可用于:将所述循环保持计数值加一。
进一步的,处理器还可用于:当所述工作频率大于所述第二频率时,确认所述工作频率为第三频率,所述第三频率等于所述最高频率。
进一步的,处理器还可用于:当所述循环保持计数值大于或等于所述循环保持计数阈值时,确认所述工作频率为所述最高频率。
进一步的,处理器还可用于:当所述占用率大于所述占用率阈值,且所述工作频率小于或等于所述第一频率时,清零所述循环保持计数值。
进一步的,处理器还可用于:当所述占用率小于或等于所述占用率阈值时,获取所述占用率与所述工作频率的乘积,确认所述工作频率为与所述乘积最接近的频率值,并清零所述循环保持计数值。
在第二种实施方式中,处理器可包括如下功能:
处理器还可用于:当所述工作频率大于或等于第一频率时,确认所述工作频率为最高频率。
处理器当所述工作频率小于第一频率时,确认所述工作频率为第一频率,具体可为:当所述工作频率小于第一频率,且循环保持计数值小于循环保持计数阈值时,确认所述工作频率为第一频率。进一步,处理器还可用于:将所述循环保持计数值加一。
处理器还可用于:当所述循环保持计数值大于或等于所述循环保持计数阈值时,确认所述工作频率为所述最高频率。
处理器还可用于:当所述占用率小于或等于所述占用率阈值时,获取所述占用率与所述工作频率的乘积,确认所述工作频率为与所述乘积最接近的频率值,并清零所述循环保持计数值。
进一步的,以下处理器的功能适用于上述第一种实施方式和第二种实施方式:
处理器还用于,在所述CPU对应的定时器的计时时刻到达时,执行上述各实施方式中处理器的功能。
进一步的,处理器还可用于:当系统空闲时,所述定时器停止计时。
进一步的,处理器还可用于:当系统退出空闲时,所述定时器启动计时。其中,系统空闲与否,由执行该实施例方法的调度CPU所在设备的操作系统通知该负责调度的CPU。
进一步的,处理器还可用于:如果在所述定时器连续计时时刻到达时,获取的所述定时器对应的工作频率均为频率最大值,且所述工作频率均为频率最大值的次数刚大于最高频率持续周期次数阈值,则所述定时器停止计时。
具体的,最高频率持续周期次数阈值的定义可以为:(开启CPU功耗敏感因子阈值×开核采样空间)/(占用率阈值×频率权重),其中,所述频率权重为所述第一权重,取值可为4。开启CPU功耗敏感因子阈值可以设为200。开核采样空间为大于或等于一的整数,如可以取值为10。
工作频率均为频率最大值的次数刚大于最高频率持续周期次数阈值为:所述工作频率均为频率最大值的次数为最高频率持续周期次数阈值加一。
例如,如果连续5次计时时刻到达时,获取的所述定时器对应的工作频率均为频率最大值,并且最高频率持续周期次数阈值为4,则所述定时器停止计时。
其中,第一频率可以为电流-频率曲线中的拐点对应的频率。
在图4所示的电流-频率曲线中,第一斜率小于第二斜率;
所述第一斜率为比所述拐点对应的频率低的测量点形成的直线的斜率;所述第二斜率为比所述拐点对应的频率高的测量点形成的直线的斜率。
所述第二频率为所述第一频率和所述最高频率的平均值。
具体各种小于最高频率的中间频率的确定,可进一步参考图4和本发明的第四实施例的介绍,此处不再赘述。
本发明第五实施例提供的终端,通过设置的比最高频率低的第一频率,或进一步包括第二频率等,实现频率的分级。该实施例的终端可适用于具备工作频率中等(如最高频率可达1GHz)的CPU硬件芯片组,或具备工作频率较高(如最高频率可达1.5GHz(千兆赫兹))的CPU硬件芯片组。从而当CPU频率较高,保障用户体验和CPU性能的同时,不是一次性调高频率到最大频率,而是分段调节频率(例如先调节到第一频率或第二频率),故可进一步节省CPU的功率消耗。
本发明第六实施例还提供一种手机,手机为本发明第五实施例提供的终端的具体形式。进一步的,终端还可包括平板电脑、PDA(PersonalDigitalAssistant,个人数字助理)、POS(PointofSales,销售终端)、车载电脑等。本文对终端类型不作限定,只要不属于局端设备均可认为是本文所指的终端。图6为手机的部分结构的框图。参考图6,手机100包括、RF(RadioFrequency,射频)电路110、存储器120、输入单元130、显示单元140、传感器150、音频电路160、WiFi(wirelessfidelity,无线保真)模块170、处理器180、以及电源190等部件。本领域技术人员可以理解,图6中示出的手机结构并不构成对手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
下面结合图6对手机100的各个构成部件进行具体的介绍:
RF电路110可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给处理器180处理;另外,将设计上行的数据发送给基站。通常,RF电路包括但不限于天线、至少一个放大器、收发信机、耦合器、LNA(LowNoiseAmplifier,低噪声放大器)、双工器等。此外,RF电路110还可以通过无线通信与网络和其他设备通信。所述无线通信可以使用任一通信标准或协议,包括但不限于GSM(GlobalSystemofMobilecommunication,全球移动通讯系统)、GPRS(GeneralPacketRadioService,通用分组无线服务)、CDMA(CodeDivisionMultipleAccess,码分多址)、WCDMA(WidebandCodeDivisionMultipleAccess,宽带码分多址)、LTE(LongTermEvolution,长期演进)、电子邮件、SMS(ShortMessagingService,短消息服务)等。
存储器120可用于存储软件程序以及模块,处理器180通过运行存储在存储器120的软件程序以及模块,从而执行手机100的各种功能应用以及数据处理。存储器120可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图象播放功能等)等;存储数据区可存储根据手机100的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器120可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
输入单元130可用于接收输入的数字或字符信息,以及产生与手机100的用户设置以及功能控制有关的键信号输入。具体地,输入单元130可包括触控面板131以及其他输入设备132。触控面板131,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板131上或在触控面板131附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板131可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器180,并能接收处理器180发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板131。除了触控面板131,输入单元130还可以包括其他输入设备132。具体地,其他输入设备132可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元140可用于显示由用户输入的信息或提供给用户的信息以及手机100的各种菜单。显示单元140可包括显示面板141,可选的,可以采用LCD(LiquidCrystalDisplay,液晶显示器)、OLED(0rganicLight-EmittingDiode,有机发光二极管)等形式来配置显示面板141。进一步的,触控面板131可覆盖显示面板141,当触控面板131检测到在其上或附近的触摸操作后,传送给处理器180以确定触摸事件的类型,随后处理器180根据触摸事件的类型在显示面板141上提供相应的视觉输出。虽然在图6中,触控面板131与显示面板141是作为两个独立的部件来实现手机100的输入和输入功能,但是在某些实施例中,可以将触控面板131与显示面板141集成而实现手机100的输入和输出功能。
手机100还可包括至少一种传感器150,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板141的亮度,接近传感器可在手机100移动到耳边时,关闭显示面板141和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于手机100还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路160、扬声器161,麦克风162可提供用户与手机100之间的音频接口。音频电路160可将接收到的音频数据转换后的电信号,传输到扬声器161,由扬声器161转换为声音信号输出;另一方面,麦克风162将收集的声音信号转换为电信号,由音频电路160接收后转换为音频数据,再将音频数据输出至RF电路108以发送给比如另一手机,或者将音频数据输出至存储器120以便进一步处理。
WiFi属于短距离无线传输技术,手机100通过WiFi模块170可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图1示出了WiFi模块170,但是可以理解的是,其并不属于手机100的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器180是手机100的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器120内的软件程序和/或模块,以及调用存储在存储器120内的数据,执行手机100的各种功能和处理数据,从而对手机进行整体监控。优选的,处理器180可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器180中。
可选的,处理器180可包括一个或多个处理单元。一个或多个处理单元中可包括一个独立的调度CPU和一个或多个普通CPU。所述调度CPU可调度普通CPU。该调度CPU的硬件形式可以是高级精简指令集计算机(AdvancedReducedInstructionSetComputing(RISC)Machines,ARM)芯片,也可以是单片机等其他芯片。普通CPU即普通执行指令和运算的CPU。可以理解的,该调度CPU的功能也可集成在某个或某几个普通CPU中,本实施例不做限制。该调度CPU的功能具体可参考前述的第一至第五实施例,此处不再赘述。
手机100还包括给各个部件供电的电源190(比如电池),优选的,电源可以通过电源管理系统与处理器180逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗等功能。
尽管未示出,手机100还可以包括摄像头、蓝牙模块等,在此不再赘述。
本发明第七实施例还提供一种装置,如图7所示,该装置701包括:第一单元7011,获取工作的CPU的占用率和工作频率;第二单元7012,当所述占用率大于占用率阈值,判断所述工作频率是否小于第一频率;第三单元7013,当所述工作频率小于第一频率时,确认所述工作频率为第一频率。
其中,所述第一频率小于所述CPU的最高频率。占用率阈值根据不同的平台可取不同值,该值的取值范围可以在90%到95%之间。这里的不同的平台是指不同的硬件芯片组。
本发明实施例提供的装置,当CPU占用率大于占用率阈值后,进一步判断工作频率是否小于第一频率。当工作频率小于第一频率时,确认工作频率为小于所述CPU的最高频率的第一频率。这种调节频率的方式不是一次性将CPU频率调整为最高频率,故而能减少CPU在频率调整中的电量消耗。
本发明第八实施例还提供一种装置,如图8A所示,该装置在上述本发明第七实施例的基础上,还包括:
第四单元,用于当所述工作频率大于或等于第一频率时,判断所述工作频率是否小于或等于第二频率,所述第二频率大于所述第一频率且小于所述最高频率。
第五单元,用于当所述工作频率小于或等于所述第二频率时,确认所述工作频率为第二频率。第五单元具体还可用于:当所述工作频率小于或等于所述第二频率,且循环保持计数值小于循环保持计数阈值时,确认所述工作频率为第二频率。
进一步的,该装置还可包括:第六单元,用于将所述循环保持计数值加一。
进一步的,该装置还可包括:第七单元,用于当所述工作频率大于所述第二频率时,确认所述工作频率为第三频率,所述第三频率等于所述最高频率。
进一步的,该装置还可包括:第八单元,用于当所述循环保持计数值大于或等于所述循环保持计数阈值时,确认所述工作频率为所述最高频率。
进一步的,该装置还可包括:第九单元,用于当所述占用率大于所述占用率阈值,且所述工作频率小于或等于所述第一频率时,清零所述循环保持计数值。
进一步的,该装置还可包括:第十单元,用于当所述占用率小于或等于所述占用率阈值时,获取所述占用率与所述工作频率的乘积,确认所述工作频率为与所述乘积最接近的频率值,并清零所述循环保持计数值。
本发明实施例提供的装置,通过设置比第一频率高的第二频率,和比第二频率高的第三频率,实现频率级别的更细划分,适用于具备工作频率较高(如最高频率可达1.5GHz(千兆赫兹))的CPU硬件芯片组。从而当CPU频率较高,保障用户体验和CPU性能的同时,不是一次性调高频率到最大频率,而是分段调节频率,故可进一步节省CPU的功率消耗。
本发明第八实施例还提供一种装置,如图8B所示,该装置在上述本发明第七实施例的基础上,还包括:
第十一单元,用于当所述工作频率大于或等于第一频率时,确认所述工作频率为最高频率。
进一步的,第三单元具体可用于:当所述工作频率小于第一频率,且循环保持计数值小于循环保持计数阈值时,确认所述工作频率为第一频率。
进一步的,该装置还可包括:第十二单元,用于将所述循环保持计数值加一。
进一步的,该装置还可包括:第十三单元,用于当所述循环保持计数值大于或等于所述循环保持计数阈值时,确认所述工作频率为所述最高频率。
进一步的,该装置还可包括:第十四单元,用于当所述占用率小于或等于所述占用率阈值时,获取所述占用率与所述工作频率的乘积,确认所述工作频率为与所述乘积最接近的频率值,并清零所述循环保持计数值。
本发明实施例提供的控制中央处理器的方法,通过设置比最高频率低的第一频率,实现频率的分级,该实施例的方法可适用于具备工作频率中等(如最高频率可达1GHz)的CPU硬件芯片组。从而当CPU频率较高,保障用户体验和CPU性能的同时,不是一次性调高频率到最大频率,而是分段调节频率(例如先调节到第一频率),故可进一步节省CPU的功率消耗。
本发明第八实施例还提供一种装置,如图8C所示,该装置在上述本发明第七实施例或与图8A对应的实施例或与图8B对应的实施例的基础上,还包括:
定时器,用于在所述CPU对应的定时器的计时时刻到达时,执行本发明第七实施例或与图8A对应的实施例或与图8B对应的实施例所述的装置的功能。
进一步的,该装置还可包括:第十五单元,用于当系统空闲时,控制所述定时器停止计时。
进一步的,该装置还可包括:第十六单元,用于当系统退出空闲时,控制所述定时器启动计时。
进一步的,该装置还可包括:第十七单元,用于在所述定时器连续计时时刻到达时,获取的所述定时器对应的工作频率均为频率最大值,且所述工作频率均为频率最大值的次数刚大于最高频率持续周期次数阈值,则所述定时器停止计时。
其中,最高频率持续周期次数阈值为:(开启CPU功耗敏感因子阈值×开核采样空间)/(占用率阈值×频率权重),其中,所述频率权重为所述第一权重;
所述工作频率均为频率最大值的次数刚大于最高频率持续周期次数阈值为:所述工作频率均为频率最大值的次数为最高频率持续周期次数阈值加一。
关于上述第七实施例,或第八实施例中的第一频率和第二频率的确定,可参考如下方式进行:
第一频率为电流-频率曲线中的拐点对应的频率。
图4的电流-频率曲线中,第一斜率小于第二斜率;第一斜率为比所述拐点对应的频率低的测量点形成的直线的斜率;所述第二斜率为比所述拐点对应的频率高的测量点形成的直线的斜率。
第二频率为所述第一频率和所述最高频率的平均值。
进一步的,第一频率和第二频率的确定,也可以参考图4和本发明第四实施例的相关描述,此处不再赘述。
本发明第九实施例还提供一种携带程序代码的计算机程序,当所述计算机程序在计算机上运行时,所述程序代码执行如本发明第一至四实施例所述的方法。
本发明第十实施例还提供一种计算机可读存储介质,该计算机存储计算机程序代码,当计算机程序代码被一个计算机执行的时候,计算机程序代码可以确认得计算机执行本发明第一至四实施例所述的方法的步骤。
本发明第十一实施例还提供一种计算机程序产品,该计算机程序产品包括计算机程序代码,当计算机程序代码被一个计算机执行的时候,计算机程序代码可以确认得计算机执行本发明第一至四实施例所述的方法的步骤。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。