处理器的处理方法和装置制造方法

文档序号:6486927阅读:184来源:国知局
处理器的处理方法和装置制造方法
【专利摘要】本发明提供一种处理器的处理方法和装置,该方法包括:获取每个CPU的当前负载数据,并从每个CPU的当前负载数据中获取第一负载数据,第一负载数据大于当前负载数据中除第一负载数据的其他当前负载数据;根据第一负载数据以及预先配置的CPU的处理策略,对每个CPU进行动态调频和/或调压处理;获取DDRC的数据负载和指令负载,并根据数据负载、指令负载以及预先配置的DDRC的处理策略,对DDRC进行动态调频和/或调压处理。
【专利说明】处理器的处理方法和装置【技术领域】
[0001]本发明涉及通信技术,尤其涉及一种处理器的处理方法和装置。
【背景技术】
[0002]现有技术中,动态调频调压(DynamicVoltage Frequency Scaling ;简称:DVFS)是指根据芯片负载的情况,自适应地调节该芯片运行时的电压和频率。例如:在处理器的负载低的阶段,调低电压和频率以降低功耗;在处理器的负载高的阶段,调高电压和频率以提高性能。
[0003]目前,处理器进行DVFS的主要方式为:处理器的各架构事件经由推入总线机制被链接在一起,其中,架构事件可以为:中央处理器(Central Processing Unit ;简称:CPU)、高速缓存或者双数据内存控制器(Dual Data RAM Controller ;简称:DDRC)。然后由推入总线收集各个架构事件的监控数据,并将该些监控数据发送给功率控制单元,以使得功率控制单元根据所有的监控数据,获取该处理器的负载情况。最后,根据该处理器的负载情况,对处理器进行DVFS。
[0004]但是,由于所有架构事件的监控数据均是串行给功率控制单元的,且只有在获取所有架构事件的监控数据后,才能对处理器进行DVFS,因此,造成对处理器进行DVFS的效
率不高。

【发明内容】

[0005]本发明提供一种处理器的处理方法和装置,用于解决现有技术中处理器进行DVFS的效率不高的问题。
[0006]本发明的第一方面是提供一种处理器的处理方法,包括:
[0007]获取每个CPU的当前负载数据,并从所述每个CPU的当前负载数据中获取第一负载数据,所述第一负载数据大于所述当前负载数据中除所述第一负载数据的其他当前负载数据;
[0008]根据所述第一负载数据以及预先配置的CPU的处理策略,对所述每个CPU进行动态调频和/或调压处理;
[0009]获取DDRC的数据负载和指令负载,并根据所述数据负载、指令负载以及预先配置的DDRC的处理策略,对所述DDRC进行动态调频和/或调压处理。
[0010]在第一方面的第一种可能的实现方式中,所述获取每个CPU的当前负载数据,包括:
[0011]对于所述每个CPU,分别采集所述CPU的当前数据流和指令流对应的计数器的值,并根据所述CPU的当前数据流和指令流对应的计数器的值,获取所述CPU的当前负载数据;
[0012]其中,所述当前负载数据包括指令发射数量和数据访问请求的数量。
[0013]结合第一方面或第一方面的第一种可能实现方式,在第一方面的第二种可能的实现方式中,所述根据所述第一负载数据以及预先配置的CPU的处理策略,对所述每个CPU进行动态调频和/或调压处理,包括:
[0014]从所述CPU的处理策略中,获取与所述第一负载数据对应的第一上限;
[0015]在所述第一负载数据大于所述第一上限时,将第一上限次数加I ;
[0016]在所述第一上限次数大于或等于所述CPU的处理策略中的向上频点对应的持续次数时,根据所述向上频点,提高所述每个CPU的频率;和/或,在所述第一上限次数大于或等于所述CPU的处理策略中的向上压值对应的持续次数时,根据所述向上压值,提高所述每个CPU的电压。
[0017]结合第一方面的第二种可能实现方式,在第一方面的第三种可能的实现方式中,还包括:
[0018]在所述第一上限次数大于或等于所述CPU的处理策略中的向上频点对应的持续次数时,根据所述向上频点,提高所述高速缓存的频率;和/或,在所述第一上限次数大于或等于所述CPU的处理策略中的向上压值对应的持续次数时,根据所述向上压值,提高所述高速缓存的电压。
[0019]结合第一方面的第二种可能实现方式,在第一方面的第四种可能的实现方式中,还包括:在所述第一负载数据小于或等于所述第一上限时,从所述CPU的处理策略中,获取与所述第一负载数据对应的第一下限;
[0020]在所述第一负载数据小于所述第一下限时,将第一下限次数加I ;
[0021]在所述第一下限次数大于或等于所述CPU的处理策略中的向下频点对应的持续次数时,根据所述向下频点,降低所述每个CPU的频率;和/或,在所述第一下限次数大于或等于所述CPU的处理策略中的向下压值对应的持续次数时,根据所述向下压值,降低所述每个CPU的电压。
[0022]结合第一方面的第四种可能实现方式,在第一方面的第五种可能的实现方式中,还包括:
[0023]在所述第一下限次数大于或等于所述CPU的处理策略中的向下频点对应的持续次数时,根据所述向下频点,降低高速缓存的频率;和/或,在所述第一下限次数大于或等于所述CPU的处理策略中的向下压值对应的持续次数时,根据所述向下压值,降低所述高速缓存的电压。
[0024]结合第一方面,在第一方面的第六种可能的实现方式中,所述根据所述数据负载、指令负载以及预先配置的DDRC的处理策略,对所述DDRC进行动态调频和/或调压处理,包括:
[0025]从所述DDRC的处理策略中,获取与所述数据负载对应的第二上限;
[0026]在所述数据负载大于所述第二上限时,将第二上限次数加I ;
[0027]在所述第二上限次数大于或等于所述DDRC的处理策略中的向上频点对应的持续次数时,根据所述向上频点,提高所述DDRC的频率;和/或,在所述第二上限次数大于或等于所述DDRC的处理策略中的向上压值对应的持续次数时,根据所述向上压值,提高所述DDRC的电压。
[0028]结合第一方面的第六种可能实现方式,在第一方面的第七种可能的实现方式中,还包括:[0029]在所述数据负载小于或等于所述第二上限时,从所述DDRC的处理策略中,获取与所述指令负载对应的第三上限;
[0030]在所述指令负载大于所述第三上限时,将所述第二上限次数加I ;
[0031]在所述第二上限次数大于或等于所述DDRC的处理策略中的向上频点对应的持续次数时,根据所述向上频点,提高所述DDRC的频率;和/或,在所述第二上限次数大于或等于所述DDRC的处理策略中的向上压值对应的持续次数时,根据所述向上压值,提高所述DDRC的电压。
[0032]结合第一方面的第七种可能实现方式,在第一方面的第八种可能的实现方式中,还包括:
[0033]在所述指令负载小于或等于所述第三上限时,从所述DDRC的处理策略中,获取与所述数据负载对应的第二下限;
[0034]在所述数据负载小于或等于所述第二下限时,从所述DDRC的处理策略中,获取与所述指令负载对应的第三下限;
[0035]在所述指令负载小于所述第三下限时,将第二下限次数加I ;
[0036]在所述第二下限次数大于或等于所述DDRC的处理策略中的向下频点对应的持续次数时,根据所述向下频点,降低所述DDRC的频率;和/或,在所述第二下限次数大于或等于所述DDRC的处理策略中的向下压值对应的持续次数时,根据所述向下压值,降低所述DDRC的电压。
[0037]本发明的第二方面是提供一种处理器的处理装置,包括:
[0038]获取模块,用于获取每个CPU的当前负载数据,并从所述每个CPU的当前负载数据中获取第一负载数据,所述第一负载数据大于所述当前负载数据中除所述第一负载数据的其他当前负载数据;
[0039]CPU处理模块,用于根据所述获取模块获取到的所述第一负载数据以及预先配置的CPU的处理策略,对所述每个CPU进行动态调频和/或调压处理;
[0040]所述获取模块还用于获取DDRC的数据负载和指令负载;
[0041]DDRC处理模块,用于根据所述获取模块获取到的所述数据负载和指令负载以及预先配置的DDRC的处理策略,对所述DDRC进行动态调频和/或调压处理。
[0042]在第二方面的第一种可能的实现方式中,所述获取模块具体用于对于所述每个CPU,分别采集所述CPU的当前数据流和指令流对应的计数器的值,并根据所述CPU的当前数据流和指令流对应的计数器的值,获取所述CPU的当前负载数据;
[0043]其中,所述当前负载数据包括指令发射数量和数据访问请求的数量。
[0044]结合第二方面或第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,所述CPU处理模块包括:
[0045]上限获取单元,用于从所述CPU的处理策略中,获取与所述第一负载数据对应的第一上限;
[0046]判断单元,用于判断所述第一负载数据是否大于所述上限获取单元获取的所述第一上限;
[0047]计数单元,用于在所述判断单元判断出所述第一负载数据大于所述第一上限,将第一上限次数加I ;[0048]所述判断单元还用于判断所述计数单元计数得到的所述第一上限次数是否大于或等于所述CPU处理策略中的向上频点对应的持续次数;和/或,所述第一上限次数是否大于或等于所述CPU的处理策略中的向上压值对应的持续次数;
[0049]CPU处理单元,用于在所述判断单元判断出所述第一上限次数大于或等于所述CPU的处理策略中的向上频点对应的持续次数时,根据所述向上频点,提高所述每个CPU的频率;和/或,在所述判断单元判断出所述第一上限次数大于或等于所述CPU的处理策略中的向上压值对应的持续次数时,根据所述向上压值,提高所述每个CPU的电压。
[0050]结合第二方面的第二种可能的实现方式,在第二方面的第三种可能的实现方式中,还包括:
[0051]高速缓存处理模块,用于在所述判断单元判断出所述第一上限次数大于或等于所述CPU的处理策略中的向上频点对应的持续次数时,根据所述向上频点,提高所述高速缓存的频率;和/或,在所述判断单元判断出所述第一上限次数大于或等于所述CPU的处理策略中的向上压值对应的持续次数时,根据所述向上压值,提高所述高速缓存的电压。
[0052]结合第二方面的第二种可能的实现方式或者第三种可能的实现方式中,在第二方面的第四种可能的实现方式中,所述CPU处理模块还包括:
[0053]下限获取单元,用于在所述判断单元判断出所述第一负载数据小于或等于所述第一上限时,从所述CPU的处理策略中,获取与所述第一负载数据对应的第一下限;
[0054]所述计数单元还用于在所述判断单元判断出所述第一负载数据小于所述下限获取单元获取到的所述第一下限时,将第一下限次数加I;
[0055]所述判断单元还用于判断所述计数单元计数得到的所述第一下限次数是否大于或等于所述CPU的处理策略中的向下频点对应的持续次数;和/或,所述第一下限次数是否大于或等于所述CPU的处理策略中的向下压值对应的持续次数;
[0056]所述CPU处理单元还用于在所述判断单元判断出所述第一下限次数大于或等于所述CPU的处理策略中的向下频点对应的持续次数时,根据所述向下频点,降低所述每个CPU的频率;和/或,在所述判断单元判断出所述第一下限次数大于或等于所述CPU的处理策略中的向下压值对应的持续次数时,根据所述向下压值,降低所述每个CPU的电压。
[0057]结合第二方面的第四种可能的实现方式中,在第二方面的第五种可能的实现方式中,所述高速缓存处理装置还用于在所述判断单元判断出所述第一下限次数大于或等于所述CPU的处理策略中的向下频点对应的持续次数时,根据所述向下频点,降低高速缓存的频率;和/或,在所述判断单元判断出所述第一下限次数大于或等于所述CPU的处理策略中的向下压值对应的持续次数时,根据所述向下压值,降低高速缓存的电压。
[0058]结合第二方面,在第二方面的第六种可能的实现方式中,所述DDRC处理模块包括:
[0059]上限获取单元,用于从所述DDRC的处理策略中,获取与所述获取模块获取到的所述数据负载对应的第二上限;
[0060]判断单元,用于判断所述数据负载是否大于所述上限获取单元获取到的所述第二上限;
[0061]计数单元,用于在所述判断单元判断出所述数据负载大于所述第二上限时,将第二上限次数加I ;[0062]所述判断单元还用于判断所述计数单元计数得到的所述第二上限次数是否大于或等于所述DDRC的处理策略中的向上频点对应的持续次数;和/或,所述第二上限次数是否大于或等于所述DDRC的处理策略中的向上压值对应的持续次数;
[0063]DDRC处理单元,用于在所述判断单元判断出所述第二上限次数大于或等于所述DDRC的处理策略中的向上频点对应的持续次数时,根据所述向上频点,提高所述DDRC的频率;和/或,在所述判断单元判断出所述第二上限次数大于或等于所述DDRC的处理策略中的向上压值对应的持续次数时,根据所述向上压值,提高所述DDRC的电压。
[0064]结合第二方面的第六种可能的实现方式中,在第二方面的第七种可能的实现方式中,所述上限获取单元还用于在所述判断单元判断出所述数据负载小于或等于所述第二上限时,从所述DDRC的处理策略中,获取与所述指令负载对应的第三上限;
[0065]所述判断单元还用于判断所述指令负载是否大于所述第三上限;
[0066]所述计数单元还用于在所述判断单元判断出所述指令负载大于所述第三上限时,将所述第二上限次数加I ;
[0067]所述判断单元还用于判断所述第二上限次数是否大于或等于所述DDRC的处理策略中的向上频点对应的持续次数;和/或,所述第二上限次数是否大于或等于所述DDRC的处理策略中的向上压值对应的持续次数;
[0068]所述DDRC处理单元还用于在所述判断单元判断出所述第二上限次数大于或等于所述DDRC的处理策略中的向上频点对应的持续次数时,根据所述向上频点,提高所述DDRC的频率;和/或,在所述判断单元判断出所述第二上限次数大于或等于所述DDRC的处理策略中的向上压值对应的持续次数时,根据所述向上压值,提高所述DDRC的电压。
[0069]结合第二方面的第七种可能的实现方式中,在第二方面的第八种可能的实现方式中,所述DDRC处理模块还包括:
[0070]下限获取单元,用于在所述判断单元判断出所述指令负载小于或等于所述第三上限时,从所述DDRC的处理策略中,获取与所述数据负载对应的第二下限;
[0071]所述判断单元还用于判断所述数据负载是否小于或等于所述下限单元获取到的所述第二下限;
[0072]所述下限获取单元还用于在所述判断单元判断出所述数据负载小于或等于所述第二下限时,从所述DDRC的处理策略中,获取与所述指令负载对应的第三下限;
[0073]所述判断单元用于判断所述指令负载是否小于所述第三下限;
[0074]所述计数单元还用于在所述判断单元判断出所述指令负载小于所述第三下限时,将第二下限次数加I ;
[0075]所述判断单元还用于判断所述第二下限次数是否大于或等于所述DDRC的处理策略中的向下频点对应的持续次数;和/或,所述第二下限次数是否大于或等于所述DDRC的处理策略中的向下压值对应的持续次数;
[0076]所述DDRC处理单元还用于在所述判断单元判断出所述第二下限次数大于或等于所述述DDRC的处理策略中的向下频点对应的持续次数时,根据所述向下频点,降低所述DDRC的频率;和/或,在所述判断单元判断出所述第二下限次数大于或等于所述DDRC的处理策略中的向下压值对应的持续次数时,根据所述向下压值,降低所述DDRC的电压。
[0077]本发明的技术效果是:通过从获取到的每个CPU的当前负载数据中获取第一负载数据,并根据该第一负载数据以及预先配置的CPU的处理策略,对每个CPU进行调频和/或调压处理;另外,获取DDRC的数据负载和指令负载,并根据该数据负载、指令负载以及预先配置的DDRC的处理策略,对该DDRC进行调频和/或调压处理;由于可以并行对CPU进行调频和/或调压处理和对DDRC进行调频和/或调压处理,从而有效地提高了处理器的调频和/或调压处理效率。
【专利附图】

【附图说明】
[0078]图1为本发明处理器的处理方法的一个实施例的流程图;
[0079]图2为本发明处理器的处理方法的另一个实施例的流程图;
[0080]图3为本发明处理器的处理方法的又一个实施例的流程图;
[0081]图4为本发明处理器的处理方法的还一个实施例的流程图;
[0082]图5为本发明处理器的处理方法的再一个实施例的流程图;
[0083]图6为本发明处理器的处理方法的另一个实施例的流程图;
[0084]图7为本发明处理器的处理方法的又一个实施例的流程图;
[0085]图8为本发明处理器的处理方法的还一个实施例的流程图;
[0086]图9为本发明处理器的处理方法的再一个实施例的流程图;
[0087]图10为本发明处理器的处理装置的一个实施例的结构示意图;
[0088]图11为本发明处理器的处理装置的另一个实施例的结构示意图;
[0089]图12为本发明处理器的处理装置的又一个实施例的结构示意图。
【具体实施方式】
[0090]图1为本发明处理器的处理方法的一个实施例的流程图,如图1所示,本实施例的方法包括:
[0091]步骤101、获取每个CPU的当前负载数据,并从每个CPU的当前负载数据中获取第一负载数据,该第一负载数据大于当前负载数据中除该第一负载数据的其他当前负载数据。
[0092]在本实施例中,CPU可以为多个。
[0093]步骤102、根据该第一负载数据以及预先配置的CPU的处理策略,对每个CPU进行调频和/或调压处理。
[0094]步骤103、获取DDRC的数据负载和指令负载,并根据该数据负载、指令负载以及预先配置的DDRC的处理策略,对该DDRC进行调频和/或调压处理。
[0095]需要说明的是,由于步骤101和102与步骤103属于并列关系,因此,其实现顺序并不限于上述所示的实施例。
[0096]在本实施例中,通过从获取到的每个CPU的当前负载数据中获取第一负载数据,并根据该第一负载数据以及预先配置的CPU的处理策略,对每个CPU进行调频和/或调压处理;另外,获取DDRC的数据负载和指令负载,并根据该数据负载、指令负载以及预先配置的DDRC的处理策略,对该DDRC进行调频和/或调压处理;由于可以并行对CPU进行调频和/或调压处理和对DDRC进行调频和/或调压处理,从而有效地提高了处理器的调频和/或调压处理效率。[0097]图2为本发明处理器的处理方法的另一个实施例的流程图,如图2所示,在上述图1所示实施例的基础上,步骤101的一种具体实现方式为:
[0098]步骤101a、对于每个CPU,分别采集CPU的当前数据流和指令流对应的计数器的值,并根据该CPU的当前数据流和指令流对应的计数器的值,获取该CPU的当前负载数据;其中,该当前负载数据包括指令发射数量和数据访问请求的数量。
[0099]在本实施例中,举例来说,数据流可以为:“data cache access” ;指令流可以为:“instructions coming out of the core renaming stage,,。
[0100]步骤101b、从每个CPU的当前负载数据中获取第一负载数据,该第一负载数据大于当前负载数据中除该第一负载数据的其他当前负载数据。
[0101]在本实施例中,该第一负载数据可以为指令发射数量或者数据访问请求的数量。
[0102]图3为本发明处理器的处理方法的又一个实施例的流程图,如图3所示,在上述图1或图2所示实施例的基础上,步骤102的一种具体实现方式为:
[0103]步骤102a、从CPU的处理策略中,获取与第一负载数据对应的第一上限;
[0104]步骤102b、在第一负载数据大于第一上限时,将第一上限次数加I ;
[0105]步骤102c、在第一上限次数大于或等于CPU的处理策略中的向上频点对应的持续次数时,根据向上频点,提高每个CPU的频率;和/或,在第一上限次数大于或等于CPU的处理策略中的向上压值对应的持续次数时,根据向上压值,提高每个CPU的电压。
[0106]优选地,该方法还可以进一步包括:
[0107]步骤104、在第一上限次数大于或等于CPU的处理策略中的向上频点对应的持续次数时,根据向上频点,提高高速缓存的频率;和/或,在第一上限次数大于或等于CPU的处理策略中的向上压值对应的持续次数时,根据向上压值,提高高速缓存的电压。
[0108]进一步的,图4为本发明处理器的处理方法的还一个实施例的流程图,在上述图1或图2所示实施的基础上,如图4所示,步骤102的另一种具体实现方式为:
[0109]步骤102a、从CPU的处理策略中,获取与第一负载数据对应的第一上限;
[0110]步骤102d、在第一负载数据小于或等于第一上限时,从CPU的处理策略中,获取与第一负载数据对应的第一下限;
[0111]步骤102e、在第一负载数据小于第一下限时,将第一下限次数加I ;
[0112]步骤102f、在第一下限次数大于或等于CPU的处理策略中的向下频点对应的持续次数时,根据向下频点,降低每个CPU的频率;和/或,在第一下限次数大于或等于CPU的处理策略中的向下压值对应的持续次数时,根据向下压值,降低每个CPU的电压。
[0113]优选地,该方法还可以进一步包括:
[0114]步骤105、在第一下限次数大于或等于CPU的处理策略中的向下频点对应的持续次数时,根据向下频点,降低高速缓存的频率;和/或,在第一下限次数大于或等于CPU的处理策略中的向下压值对应的持续次数时,根据向下压值,降低高速缓存的电压。
[0115]图5为本发明处理器的处理方法的再一个实施例的流程图,在上述图1至图5任一个实施例的基础上,如图5所示,步骤103的一种具体实现方式为:
[0116]步骤103a、从DDRC的处理策略中,获取与数据负载对应的第二上限;
[0117]步骤103b、在数据负载大于所述第二上限时,将第二上限次数加I ;
[0118]步骤103c、在第二上限次数大于或等于DDRC的处理策略中的向上频点对应的持续次数时,根据向上频点,提高DDRC的频率;和/或,在第二上限次数大于或等于DDRC的处理策略中的向上压值对应的持续次数时,根据向上压值,提高DDRC的电压。
[0119]进一步的,图6为本发明处理器的处理方法的另一个实施例的流程图,在上述图1至图5任一个实施例的基础上,如图6所示,步骤103的另一种具体实现方式为:
[0120]步骤103a、从DDRC的处理策略中,获取与数据负载对应的第二上限;
[0121]步骤103d、在数据负载小于或等于第二上限时,从DDRC的处理策略中,获取与指令负载对应的第三上限;
[0122]步骤103e、在指令负载大于第三上限时,将第二上限次数加I ;
[0123]步骤103f、在第二上限次数大于或等于DDRC的处理策略中的向上频点对应的持续次数时,根据向上频点,提高DDRC的频率;和/或,在第二上限次数大于或等于DDRC的处理策略中的向上压值对应的持续次数时,根据向上压值,提高DDRC的电压。
[0124]更进一步的,图7为本发明处理器的处理方法的又一个实施例的流程图,在上述图1至图5任一个所示实施例的基础上,如图7所示,步骤103的又一种具体实现方式为:
[0125]步骤103a、从DDRC的处理策略中,获取与数据负载对应的第二上限;
[0126]步骤103d、在数据负载小于或等于第二上限时,从DDRC的处理策略中,获取与指令负载对应的第三上限;
[0127]步骤103g、在指令负载小于或等于第三上限时,从DDRC的处理策略中,获取与数据负载对应的第二下限;
[0128]步骤103h、在数据负载小于或等于第二下限时,从DDRC的处理策略中,获取与指令负载对应的第三下限;
[0129]步骤1031、在指令负载小于第三下限时,将第二下限次数加I ;
[0130]步骤103j、在第二下限次数大于或等于DDRC的处理策略中的向下频点对应的持续次数时,根据向下频点,降低DDRC的频率;和/或,在第二下限次数大于或等于DDRC的处理策略中的向下压值对应的持续次数时,根据向下压值,降低DDRC的电压。
[0131]举例来说,图8为本发明处理器的处理方法的还一个实施例的流程图,如图8所示,在上述图1或图2所示实施例的基础上,以调频为例,详细介绍本实施例的技术方法,步骤102包括:
[0132]步骤201、从该CPU的处理策略中,获取与该第一负载数据对应的第一上限。
[0133]步骤202、判断该第一负载数据是否大于该第一上限,若大于,则执行步骤203 ;若小于或等于,则执行步骤207。
[0134]步骤203、将第一上限次数加I。
[0135]在本实施例中,初始时,第一上限次数为O。
[0136]步骤204、判断第一上限次数是否大于或等于该CPU的处理策略中的向上频点对应的持续次数;若大于或等于,则执行步骤205 ;若小于,则结束。
[0137]步骤205、根据该向上频点,提高每个CPU的频率。
[0138]步骤206、将第一上限次数清零,结束。
[0139]步骤207、从该CPU的处理策略中,获取与该第一负载数据对应的第一下限。
[0140]步骤208、判断该第一负载数据是否小于该第一下限,若小于,则执行步骤209 ;若大于或等于,则结束。[0141]步骤209、将第一下限次数加I。
[0142]在本实施例中,初始时,该第一下限次数为O。
[0143]步骤210、判断第一下限次数是否大于或等于该CPU的处理策略中的向下频点对应的持续次数;若大于或等于,则执行步骤211 ;若小于,则结束。
[0144]步骤211、根据该向下频点,降低每个CPU的频率。
[0145]步骤212、将该第一下限次数清零,结束。
[0146]举例来说,图9为本发明处理器的处理方法的再一个实施例的流程图,在上述图1所示实施例的基础上,以调频为例,详细介绍本实施例的技术方案,如图9所示,步骤103包括:
[0147]步骤301、获取DDRC的数据负载和指令负载。
[0148]步骤302、从该DDRC的动态调频策略中,获取与该数据负载对应的第二上限。
[0149]步骤303、判断该数据负载是否大于该第二上限,若大于,则执行步骤304;若小于或等于,则执行步骤308。
[0150]步骤304、将第二上限次数加I。
[0151]在本实施例中,初始时,该第二上限次数为O。
[0152]步骤305、判断该第二上限次数是否大于或等于该DDRC的处理策略中的向上频点对应的持续次数;若大于或等于,则执行步骤306 ;若小于,则结束。
[0153]步骤306、根据该向上频点,提高该DDRC的频率。
[0154]步骤307、将第二上限次数清零,结束。
[0155]步骤308、从该DDRC的处理策略中,获取与该指令负载对应的第三上限。
[0156]步骤309、判断该指令负载是否大于该第三上限,若大于,则执行步骤304 ;若小于或等于,则执行步骤310。
[0157]步骤310、从该DDRC的处理策略中,获取与该数据负载对应的第二下限。
[0158]步骤311、判断该数据负载是否小于或等于该第二下限,若小于或等于,则执行步骤312 ;若大于,则结束。
[0159]步骤312、从该DDRC的处理策略中,获取与该指令负载对应的第三下限。
[0160]步骤313、判断该指令负载是否小于第三下限,若小于,则执行步骤314;若大于或等于,则结束。
[0161]步骤314、将第二下限次数加I。
[0162]步骤315、判断该第二下限次数是否大于或等于该DDRC的处理策略中的向下频点对应的持续时间,若大于或等于,则执行步骤316 ;若小于,则结束。
[0163]步骤316、根据该向下频点,降低该DDRC的频率。
[0164]步骤317、将第二下限次数清零。
[0165]图10为本发明处理器的处理装置的一个实施例的结构示意图,如图10所示,该装置包括:获取模块11、CPU处理模块12和DDRC处理模块13 ;其中,获取模块11用于获取每个CPU的当前负载数据,并从每个CPU的当前负载数据中获取第一负载数据,该第一负载数据大于当前负载数据中除该第一负载数据的其他当前负载数据;(PU处理模块12用于根据获取模块11获取到的第一负载数据以及预先配置的CPU的处理策略,对每个CPU进行动态调频和/或调压处理;获取模块11还用于获取DDRC的数据负载和指令负载;DDRC处理模块13用于根据获取模块11获取到的该数据负载和指令负载以及预先配置的DDRC的处理策略,对DDRC进行动态调频和/或调压处理。
[0166]本实施例的处理器的处理装置可以执行图1所示方法实施例的基础方案,其实现原理相类似,此处不再赘述。
[0167]在本实施例中,通过从获取到的每个CPU的当前负载数据中获取第一负载数据,并根据该第一负载数据以及预先配置的CPU的处理策略,对每个CPU进行调频和/或调压处理;另外,获取DDRC的数据负载和指令负载,并根据该数据负载、指令负载以及预先配置的DDRC的处理策略,对该DDRC进行调频和/或调压处理;由于可以并行对CPU进行调频和/或调压处理和对DDRC进行调频和/或调压处理,从而有效地提高了处理器的调频和/或调压处理效率。
[0168]优选地,获取模块11具体用于对于每个CPU,分别采集CPU的当前数据流和指令流对应的计数器的值,并根据CPU的当前数据流和指令流对应的计数器的值,获取CPU的当前负载数据;其中,当前负载数据包括指令发射数量和数据访问请求的数量。
[0169]图11为本发明处理器的处理装置的另一个实施例的结构示意图,在上述图10所示实施例的基础上,如图11所示,CPU处理模块12包括:上限获取单元121、判断单元122、计数单元123和CPU处理单元124 ;其中,上限获取单元121用于从CPU的处理策略中,获取与第一负载数据对应的第一上限;判断单元122用于判断第一负载数据是否大于上限获取单元121获取的第一上限;计数单元123用于在判断单元122判断出第一负载数据大于第一上限,将第一上限次数加I ;判断单元122还用于判断计数单元123计数得到的第一上限次数是否大于或等于CPU处理策略中的向上频点对应的持续次数;和/或,第一上限次数是否大于或等于CPU的处理策略中的向上压值对应的持续次数;CPU处理单元124用于在判断单元122判断出第一上限次数大于或等于CPU的处理策略中的向上频点对应的持续次数时,根据向上频点,提高每个(PU的频率;和/或,在判断单元122判断出第一上限次数大于或等于CPU的处理策略中的向上压值对应的持续次数时,根据向上压值,提高每个CPU的电压。
[0170]进一步的,该装置还可以包括:高速缓存处理模块14用于在判断单元122判断出第一上限次数大于或等于CPU的处理策略中的向上频点对应的持续次数时,根据向上频点,提高高速缓存的频率;和/或,在判断单元判断出第一上限次数大于或等于CPU的处理策略中的向上压值对应的持续次数时,根据向上压值,提高高速缓存的电压。
[0171]更进一步的,该CPU处理模块12还包括:下限获取单元125,用于在判断单元122判断出第一负载数据小于或等于第一上限时,从CPU的处理策略中,获取与第一负载数据对应的第一下限;
[0172]则计数单元123还用于在判断单元122判断出第一负载数据小于下限获取单元125获取到的第一下限时,将第一下限次数加I ;判断单元122还用于判断计数单元123计数得到的第一下限次数是否大于或等于CPU的处理策略中的向下频点对应的持续次数;和/或,第一下限次数是否大于或等于CPU的处理策略中的向下压值对应的持续次数;CPU处理单元124还用于在判断单元122判断出第一下限次数大于或等于CPU的处理策略中的向下频点对应的持续次数时,根据向下频点,降低每个CPU的频率;和/或,在判断单元122判断出第一下限次数大于或等于CPU的处理策略中的向下压值对应的持续次数时,根据向下压值,降低每个CPU的电压。
[0173]更进一步的,高速缓存处理模块14还用于在判断单元122判断出第一下限次数大于或等于CPU的处理策略中的向下频点对应的持续次数时,根据向下频点,降低高速缓存的频率;和/或,在判断单元122判断出第一下限次数大于或等于CPU的处理策略中的向下压值对应的持续次数时,根据向下压值,降低高速缓存的电压。
[0174]图12为本发明处理器的处理装置的又一个实施例的结构示意图,在上述图10或图11所示实施例的基础上,如图12所示,DDRC处理模块13包括:上限获取单元131、判断单元132、计数单元133和DDRC处理单元134 ;其中,上限获取单元131用于从DDRC的处理策略中,获取与获取模块11获取到的数据负载对应的第二上限;判断单元132用于判断数据负载是否大于上限获取单元131获取到的第二上限;计数单元133用于在判断单元132判断出数据负载大于所述第二上限时,将第二上限次数加I ;判断单元132还用于判断计数单元133计数得到的第二上限次数是否大于或等于DDRC的处理策略中的向上频点对应的持续次数;和/或,第二上限次数是否大于或等于DDRC的处理策略中的向上压值对应的持续次数;DDRC处理单元134用于在判断单元132判断出第二上限次数大于或等于DDRC的处理策略中的向上频点对应的持续次数时,根据向上频点,提高DDRC的频率;和/或,在判断单元132判断出第二上限次数大于或等于DDRC的处理策略中的向上压值对应的持续次数时,根据向上压值,提高DDRC的电压。
[0175]进一步的,上限获取单元131还用于在判断单元132判断出数据负载小于或等于第二上限时,从DDRC的处理策略中,获取与指令负载对应的第三上限;判断单元132还用于判断指令负载是否大于所述第三上限;计数单元133还用于在判断单元132判断出指令负载大于第三上限时,将第二上限次数加I ;判断单元132还用于判断第二上限次数是否大于或等于DDRC的处理策略中的向上频点对应的持续次数;和/或,第二上限次数是否大于或等于DDRC的处理策略中的向上压值对应的持续次数;DDRC处理单元134还用于在判断单元132判断出第二上限次数大于或等于DDRC的处理策略中的向上频点对应的持续次数时,根据向上频点,提高DDRC的频率;和/或,在判断单元132判断出第二上限次数大于或等于DDRC的处理策略中的向上压值对应的持续次数时,根据向上压值,提高DDRC的电压。
[0176]更进一步的,DDRC处理模块还包括:下限获取单元135用于在判断单元132判断出指令负载小于或等于第三上限时,从DDRC的处理策略中,获取与数据负载对应的第二下限;判断单元132还用于判断数据负载是否小于或等于下限单元135获取到的第二下限;下限获取单元135还用于在判断单元132判断出数据负载小于或等于第二下限时,从DDRC的处理策略中,获取与指令负载对应的第三下限;判断单元132用于判断指令负载是否小于第三下限;计数单元133还用于在判断单元132判断出指令负载小于第三下限时,将第二下限次数加I ;判断单元132还用于判断第二下限次数是否大于或等于所述述DDRC的处理策略中的向下频点对应的持续次数;和/或,所述第二下限次数是否大于或等于DDRC的处理策略中的向下压值对应的持续次数;DDRC处理单元134还用于在判断单元132判断出第二下限次数大于或等于DDRC的处理策略中的向下频点对应的持续次数时,根据向下频点,降低DDRC的频率;和/或,在判断单元132判断出第二下限次数大于或等于DDRC的处理策略中的向下压值对应的持续次数时,根据向下压值,降低DDRC的电压。
[0177]本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
[0178]最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
【权利要求】
1.一种处理器的处理方法,其特征在于,包括: 获取每个CPU的当前负载数据,并从所述每个CPU的当前负载数据中获取第一负载数据,所述第一负载数据大于所述当前负载数据中除所述第一负载数据的其他当前负载数据; 根据所述第一负载数据以及预先配置的CPU的处理策略,对所述每个CPU进行动态调频和/或调压处理; 获取DDRC的数据负载和指令负载,并根据所述数据负载、指令负载以及预先配置的DDRC的处理策略,对所述DDRC进行动态调频和/或调压处理。
2.根据权利要求1所述的处理器的处理方法,其特征在于,所述获取每个CPU的当前负载数据,包括: 对于所述每个CPU,分别采集所述CPU的当前数据流和指令流对应的计数器的值,并根据所述CPU的当前数据流和指令流对应的计数器的值,获取所述CPU的当前负载数据; 其中,所述当前负载数据包括指令发射数量和数据访问请求的数量。
3.根据权利要求1或2所述的处理器的处理方法,其特征在于,所述根据所述第一负载数据以及预先配置的CPU的处理策略,对所述每个CPU进行动态调频和/或调压处理,包括: 从所述CPU的处理策略中,获取与所述第一负载数据对应的第一上限; 在所述第一负载数据大于所述第一上限时,将第一上限次数加I; 在所述第一上限次数大于或等于所述CPU的处理策略中的向上频点对应的持续次数时,根据所述向上频点,提高所述每个CPU的频率;和/或,在所述第一上限次数大于或等于所述CPU的处理策略中的向上压值对应的持续次数时,根据所述向上压值,提高所述每个CPU的电压。
4.根据权利要求3所述的处理器的处理方法,其特征在于,还包括: 在所述第一上限次数大于或等于所述CPU的处理策略中的向上频点对应的持续次数时,根据所述向上频点,提高所述高速缓存的频率;和/或,在所述第一上限次数大于或等于所述CPU的处理策略中的向上压值对应的持续次数时,根据所述向上压值,提高所述高速缓存的电压。
5.根据权利要求3所述的处理器的处理方法,其特征在于,还包括: 在所述第一负载数据小于或等于所述第一上限时,从所述CPU的处理策略中,获取与所述第一负载数据对应的第一下限; 在所述第一负载数据小于所述第一下限时,将第一下限次数加I; 在所述第一下限次数大于或等于所述CPU的处理策略中的向下频点对应的持续次数时,根据所述向下频点,降低所述每个CPU的频率;和/或,在所述第一下限次数大于或等于所述CPU的处理策略中的向下压值对应的持续次数时,根据所述向下压值,降低所述每个CPU的电压。
6.根据权利要求5所述的处理器的处理方法,其特征在于,还包括: 在所述第一下限次数大于或等于所述CPU的处理策略中的向下频点对应的持续次数时,根据所述向下频点,降低高速缓存的频率;和/或,在所述第一下限次数大于或等于所述CPU的处理策略中的向下压值对应的持续次数时,根据所述向下压值,降低所述高速缓存的电压。
7.根据权利要求1所述的处理器的处理方法,其特征在于,所述根据所述数据负载、指令负载以及预先配置的DDRC的处理策略,对所述DDRC进行动态调频和/或调压处理,包括: 从所述DDRC的处理策略中,获取与所述数据负载对应的第二上限; 在所述数据负载大于所述第二上限时,将第二上限次数加I ; 在所述第二上限次数大于或等于所述DDRC的处理策略中的向上频点对应的持续次数时,根据所述向上频点,提高所述DDRC的频率;和/或,在所述第二上限次数大于或等于所述DDRC的处理策略中的向上压值对应的持续次数时,根据所述向上压值,提高所述DDRC的电压。
8.根据权利要求7所述的处理器的处理方法,其特征在于,还包括: 在所述数据负载小于或等于所述第二上限时,从所述DDRC的处理策略中,获取与所述指令负载对应的第三上限; 在所述指令负载大于所述第三上限时,将所述第二上限次数加I ; 在所述第二上限次数大于或等于所述DDRC的处理策略中的向上频点对应的持续次数时,根据所述向上频点,提高所述DDRC的频率;和/或,在所述第二上限次数大于或等于所述DDRC的处理策略中的向 上压值对应的持续次数时,根据所述向上压值,提高所述DDRC的电压。
9.根据权利要求8所述的处理器的处理方法,其特征在于,还包括: 在所述指令负载小于或等于所述第三上限时,从所述DDRC的处理策略中,获取与所述数据负载对应的第二下限; 在所述数据负载小于或等于所述第二下限时,从所述DDRC的处理策略中,获取与所述指令负载对应的第三下限; 在所述指令负载小于所述第三下限时,将第二下限次数加I ; 在所述第二下限次数大于或等于所述DDRC的处理策略中的向下频点对应的持续次数时,根据所述向下频点,降低所述DDRC的频率;和/或,在所述第二下限次数大于或等于所述DDRC的处理策略中的向下压值对应的持续次数时,根据所述向下压值,降低所述DDRC的电压。
10.一种处理器的处理装置,其特征在于,包括: 获取模块,用于获取每个CPU的当前负载数据,并从所述每个CPU的当前负载数据中获取第一负载数据,所述第一负载数据大于所述当前负载数据中除所述第一负载数据的其他当前负载数据; CPU处理模块,用于根据所述获取模块获取到的所述第一负载数据以及预先配置的CPU的处理策略,对所述每个CPU进行动态调频和/或调压处理; 所述获取模块还用于获取DDRC的数据负载和指令负载; DDRC处理模块,用于根据所述获取模块获取到的所述数据负载和指令负载以及预先配置的DDRC的处理策略,对所述DDRC进行动态调频和/或调压处理。
11.根据权利要求10所述的处理器的处理装置,其特征在于,所述获取模块具体用于对于所述每个CPU,分别采集所述CPU的当前数据流和指令流对应的计数器的值,并根据所述CPU的当前数据流和指令流对应的计数器的值,获取所述CPU的当前负载数据; 其中,所述当前负载数据包括指令发射数量和数据访问请求的数量。
12.根据权利要求10或11所述的处理器的处理装置,其特征在于,所述CPU处理模块包括: 上限获取单元,用于从所述CPU的处理策略中,获取与所述第一负载数据对应的第一上限; 判断单元,用于判断所述第一负载数据是否大于所述上限获取单元获取的所述第一上限; 计数单元,用于在所述判断单元判断出所述第一负载数据大于所述第一上限,将第一上限次数加I ; 所述判断单元还用于判断所述计数单元计数得到的所述第一上限次数是否大于或等于所述CPU处理策略中的向上频点对应的持续次数;和/或,所述第一上限次数是否大于或等于所述CPU的处理策略中的向上压值对应的持续次数; CPU处理单元,用于在所述判断单元判断出所述第一上限次数大于或等于所述CPU的处理策略中的向上频点对应的持续次数时,根据所述向上频点,提高所述每个CPU的频率;和/或,在所述判断单元判断 出所述第一上限次数大于或等于所述CPU的处理策略中的向上压值对应的持续次数时,根据所述向上压值,提高所述每个CPU的电压。
13.根据权利要求12所述的处理器的处理装置,其特征在于,还包括: 高速缓存处理模块,用于在所述判断单元判断出所述第一上限次数大于或等于所述CPU的处理策略中的向上频点对应的持续次数时,根据所述向上频点,提高所述高速缓存的频率;和/或,在所述判断单元判断出所述第一上限次数大于或等于所述CPU的处理策略中的向上压值对应的持续次数时,根据所述向上压值,提高所述高速缓存的电压。
14.根据权利要求12或13所述的处理器的处理装置,其特征在于,所述CPU处理模块还包括: 下限获取单元,用于在所述判断单元判断出所述第一负载数据小于或等于所述第一上限时,从所述CPU的处理策略中,获取与所述第一负载数据对应的第一下限; 所述计数单元还用于在所述判断单元判断出所述第一负载数据小于所述下限获取单元获取到的所述第一下限时,将第一下限次数加I; 所述判断单元还用于判断所述计数单元计数得到的所述第一下限次数是否大于或等于所述CPU的处理策略中的向下频点对应的持续次数;和/或,所述第一下限次数是否大于或等于所述CPU的处理策略中的向下压值对应的持续次数; 所述CPU处理单元还用于在所述判断单元判断出所述第一下限次数大于或等于所述CPU的处理策略中的向下频点对应的持续次数时,根据所述向下频点,降低所述每个CPU的频率;和/或,在所述判断单元判断出所述第一下限次数大于或等于所述CPU的处理策略中的向下压值对应的持续次数时,根据所述向下压值,降低所述每个CPU的电压。
15.根据权利要求14所述的处理器的处理装置,其特征在于,所述高速缓存处理装置还用于在所述判断单元判断出所述第一下限次数大于或等于所述CPU的处理策略中的向下频点对应的持续次数时,根据所述向下频点,降低高速缓存的频率;和/或,在所述判断单元判断出所述第一下限次数大于或等于所述CPU的处理策略中的向下压值对应的持续次数时,根据所述向下压值,降低高速缓存的电压。
16.根据权利要求10所述的处理器的处理装置,其特征在于,所述DDRC处理模块包括: 上限获取单元,用于从所述DDRC的处理策略中,获取与所述获取模块获取到的所述数据负载对应的第二上限; 判断单元,用于判断所述数据负载是否大于所述上限获取单元获取到的所述第二上限; 计数单元,用于在所述判断单元判断出所述数据负载大于所述第二上限时,将第二上限次数加I ; 所述判断单元还用于判断所述计数单元计数得到的所述第二上限次数是否大于或等于所述DDRC的处理策略中的向上频点对应的持续次数;和/或,所述第二上限次数是否大于或等于所述DDRC的处理策略中的向上压值对应的持续次数; DDRC处理单元,用于在所述判断单元判断出所述第二上限次数大于或等于所述DDRC的处理策略中的向上频点对应的持续次数时,根据所述向上频点,提高所述DDRC的频率;和/或,在所述判断单元判断出所述第二上限次数大于或等于所述DDRC的处理策略中的向上压值对应的持续次数时, 根据所述向上压值,提高所述DDRC的电压。
17.根据权利要求16所述的处理器的处理装置,其特征在于,所述上限获取单元还用于在所述判断单元判断出所述数据负载小于或等于所述第二上限时,从所述DDRC的处理策略中,获取与所述指令负载对应的第三上限; 所述判断单元还用于判断所述指令负载是否大于所述第三上限; 所述计数单元还用于在所述判断单元判断出所述指令负载大于所述第三上限时,将所述第二上限次数加I ; 所述判断单元还用于判断所述第二上限次数是否大于或等于所述DDRC的处理策略中的向上频点对应的持续次数;和/或,所述第二上限次数是否大于或等于所述DDRC的处理策略中的向上压值对应的持续次数; 所述DDRC处理单元还用于在所述判断单元判断出所述第二上限次数大于或等于所述DDRC的处理策略中的向上频点对应的持续次数时,根据所述向上频点,提高所述DDRC的频率;和/或,在所述判断单元判断出所述第二上限次数大于或等于所述DDRC的处理策略中的向上压值对应的持续次数时,根据所述向上压值,提高所述DDRC的电压。
18.根据权利要求17所述的处理器的处理装置,其特征在于,所述DDRC处理模块还包括: 下限获取单元,用于在所述判断单元判断出所述指令负载小于或等于所述第三上限时,从所述DDRC的处理策略中,获取与所述数据负载对应的第二下限; 所述判断单元还用于判断所述数据负载是否小于或等于所述下限单元获取到的所述第二下限; 所述下限获取单元还用于在所述判断单元判断出所述数据负载小于或等于所述第二下限时,从所述DDRC的处理策略中,获取与所述指令负载对应的第三下限; 所述判断单元用于判断所述指令负载是否小于所述第三下限; 所述计数单元还用于在所述判断单元判断出所述指令负载小于所述第三下限时,将第二下限次数加I ; 所述判断单元还用于判断所述第二下限次数是否大于或等于所述DDRC的处理策略中的向下频点对应的持续次数;和/或,所述第二下限次数是否大于或等于所述DDRC的处理策略中的向下压值对应的持续次数; 所述DDRC处理单元还用于在所述判断单元判断出所述第二下限次数大于或等于所述述DDRC的处理策略中的向下频点对应的持续次数时,根据所述向下频点,降低所述DDRC的频率;和/或,在所述判断单元判断出所述第二下限次数大于或等于所述DDRC的处理策略中的向下压值对应的持续次数时,根据所述向下压值,降低所述DDRC的电压。
【文档编号】G06F9/50GK103544062SQ201210241077
【公开日】2014年1月29日 申请日期:2012年7月12日 优先权日:2012年7月12日
【发明者】郭献成, 李阳 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1