处理器及其控制方法、装置、电子设备和存储介质制造方法及图纸

技术编号:33131147 阅读:11 留言:0更新日期:2022-04-17 00:48
一种用于处理器的控制方法、用于处理器的控制装置、处理器、电子设备和计算机可读存储介质。处理器包括不同类型的多个指令执行单元,用于处理器的控制方法包括:获取多条待派发指令的属性信息,属性信息表征待派发指令将被派发至的指令执行单元的类型;基于多条待派发指令的属性信息,从多个指令执行单元中确定在从当前时刻开始的至少一次指令派发过程中处于派发空闲状态的M个候选指令执行单元;从M个候选指令执行单元中确定至少一个待休眠指令执行单元;M为正整数。该方法可以在指令执行单元的层面上关闭时钟,被关闭时钟的指令执行单元的动态功耗将大幅下降,因此,可以降低整个指令执行部件的功耗,进而可以降低处理器的整体功耗。整体功耗。整体功耗。

【技术实现步骤摘要】
处理器及其控制方法、装置、电子设备和存储介质


[0001]本公开的实施例涉及一种用于处理器的控制方法、用于处理器的控制装置、处理器、电子设备和计算机可读存储介质。

技术介绍

[0002]随着科学技术的发展,电子设备的种类日新月异,处理器为电子设备的核心部件,处理器例如包括CPU(Central Processing Unit)、GPU(Graphics Processing Unit)等。处理器的功耗会影响到处理器的性能,目前处理器的设计都会考虑性能与功耗的比值;处理器的功耗过大会导致芯片发热过量,造成芯片的损害,加大芯片应用系统的设计难度;处理器的功耗增加会增大整个系统的耗电量,不能保证能源的有效性。因此,如何降低处理器的功耗是处理器设计中极为重要的问题。

技术实现思路

[0003]本公开至少一个实施例提供一种用于处理器的控制方法,所述处理器包括不同类型的多个指令执行单元,所述方法包括:获取多条待派发指令的属性信息,所述属性信息表征所述待派发指令将被派发至的指令执行单元的类型;基于所述多条待派发指令的属性信息,从所述多个指令执行单元中确定在从当前时刻开始的至少一次指令派发过程中处于派发空闲状态的M个候选指令执行单元;从所述M个候选指令执行单元中确定至少一个待休眠指令执行单元;M为正整数。
[0004]例如,本公开一实施例提供的控制方法还包括:关闭所述待休眠指令执行单元的时钟,以使所述待休眠指令执行单元由激活状态转变为休眠状态。
[0005]例如,本公开一实施例提供的控制方法还包括:基于所述多条待派发指令的属性信息,从处于休眠状态的指令执行单元中确定在从当前时刻开始的至少一次指令派发过程中存在指令派发的至少一个指令执行单元,作为待激活指令执行单元;打开所述待激活指令执行单元的时钟,以将所述待激活指令执行单元由休眠状态转变为激活状态。
[0006]例如,在本公开一实施例提供的控制方法中,从所述M个候选指令执行单元中确定至少一个待休眠指令执行单元,包括:根据指令释放队列,从所述M个候选指令执行单元中确定至少一个将派发的指令均已释放的指令执行单元,作为所述至少一个待休眠指令执行单元。
[0007]例如,在本公开一实施例提供的控制方法中,获取多条待派发指令的属性信息,包括:从指令派发队列中获取多条待派发指令的属性信息。
[0008]例如,在本公开一实施例提供的控制方法中,所述至少一次指令派发过程为派发所述指令派发队列中的前P条待派发指令的过程;从所述多个指令执行单元中确定在从当前时刻开始的至少一次指令派发过程中处于派发空闲状态的M个候选指令执行单元,包括:从所述多个指令执行单元中确定在派发所述前P条待派发指令的过程中无指令派发的M个指令执行单元,作为处于派发空闲状态的所述M个候选指令执行单元,P为大于或者等于0的
整数。
[0009]例如,在本公开一实施例提供的控制方法中,所述至少一次指令派发过程为派发所述指令派发队列中的全部待派发指令的过程;从所述多个指令执行单元中确定在从当前时刻开始的至少一次指令派发过程中处于派发空闲状态的M个候选指令执行单元,包括:从所述多个指令执行单元中确定在派发所述全部待派发指令的过程中无指令派发的M个指令执行单元,作为处于派发空闲状态的所述M个候选指令执行单元。
[0010]例如,在本公开一实施例提供的控制方法中,所述多个待派发指令为循环体指令序列,所述至少一次指令派发过程为派发所述循环体指令序列的过程;其中,从所述多个指令执行单元中确定在从当前时刻开始的至少一次指令派发过程中处于派发空闲状态的M个候选指令执行单元,包括:基于所述循环体指令序列,确定所述多个指令执行单元分别对应的空闲概率;将空闲概率大于或等于概率阈值的指令执行单元作为处于派发空闲状态的所述M个候选指令执行单元。
[0011]例如,在本公开一实施例提供的控制方法中,所述概率阈值为100%,或者,所述概率阈值大于或等于50%并且小于100%。
[0012]例如,本公开一实施例提供的控制方法还包括:对于空闲概率大于或等于概率阈值并且小于100%的每个待休眠指令执行单元,基于所述待休眠指令执行单元对应的指令在指令派发队列中的位置和所述待休眠指令执行单元中的指令释放情况,关闭所述待休眠指令执行单元的时钟。
[0013]例如,在本公开一实施例提供的控制方法中,打开所述待激活指令执行单元的时钟,包括:根据与所述待激活指令执行单元对应的待派发指令在指令派发队列中的位置,打开所述待激活指令执行单元的时钟。
[0014]例如,在本公开一实施例提供的控制方法中,根据与所述待激活指令执行单元对应的待派发指令在指令派发队列中的位置,打开所述待激活指令执行单元的时钟,包括:响应于与所述待激活指令执行单元对应的待派发指令出现在所述指令派发队列的最后一位,打开所述待激活指令执行单元的时钟,所述指令派发队列的最后一位为所述指令派发队列接收新增指令的端部位置。
[0015]例如,在本公开一实施例提供的控制方法中,根据与所述待激活指令执行单元对应的待派发指令在指令派发队列中的位置,打开所述待激活指令执行单元的时钟,包括:响应于与所述指令执行单元对应的待派发指令由所述指令派发队列的最后一位前进至所述指令派发队列的预定位置,打开所述待激活指令执行单元的时钟。
[0016]例如,本公开一实施例提供的控制方法还包括:在多线程运行模式的情况下,确定与多个线程分别对应的多组待休眠指令执行单元,其中,每组待休眠指令执行单元包括至少一个待休眠指令执行单元;确定所述多组待休眠指令执行单元的交集指令执行单元;关闭所述交集指令执行单元的时钟。
[0017]例如,本公开一实施例提供的控制方法还包括:在多线程运行模式的情况下,确定与多个线程分别对应的多组待激活指令执行单元;确定所述多组待激活指令执行单元的全部指令执行单元;打开所述全部指令执行单元的时钟。
[0018]例如,在本公开一实施例提供的控制方法中,所述处理器具有第一取指模式和第二取指模式。确定与多个线程分别对应的多组待休眠指令执行单元,包括:对于所述第一取
指模式对应的线程,从所述多个指令执行单元中确定在从当前时刻开始的至少一次指令派发过程中无指令派发的M个候选指令执行单元,并从所述M个候选指令执行单元中确定至少一个待休眠指令执行单元;对于所述第二取指模式对应的线程,基于循环体指令序列,确定所述多个指令执行单元分别对应的空闲概率,确定空闲概率大于或等于概率阈值的M个候选指令执行单元,并从所述M个候选指令执行单元中确定至少一个待休眠指令执行单元。
[0019]本公开至少一个实施例提供一种用于处理器的控制装置,所述处理器包括不同类型的多个指令执行单元,所述控制装置包括属性获取模块、第一确定模块和第二确定模块。属性获取模块配置为获取多条待派发指令的属性信息,其中,所述属性信息表征所述待派发指令将被派发至的指令执行单元的类型;第一确定模块配置为基于所述多条待派发指令的属性信息,从所述多个指令执行单元中确定在从当前时本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种用于处理器的控制方法,所述处理器包括不同类型的多个指令执行单元,所述方法包括:获取多条待派发指令的属性信息,其中,所述属性信息表征所述待派发指令将被派发至的指令执行单元的类型;基于所述多条待派发指令的属性信息,从所述多个指令执行单元中确定在从当前时刻开始的至少一次指令派发过程中处于派发空闲状态的M个候选指令执行单元;从所述M个候选指令执行单元中确定至少一个待休眠指令执行单元;其中,M为正整数。2.根据权利要求1所述的方法,还包括:关闭所述待休眠指令执行单元的时钟,以使所述待休眠指令执行单元由激活状态转变为休眠状态。3.根据权利要求1所述的方法,还包括:基于所述多条待派发指令的属性信息,从处于休眠状态的指令执行单元中确定在从当前时刻开始的至少一次指令派发过程中存在指令派发的至少一个指令执行单元,作为待激活指令执行单元;打开所述待激活指令执行单元的时钟,以将所述待激活指令执行单元由休眠状态转变为激活状态。4.根据权利要求1所述的方法,其中,从所述M个候选指令执行单元中确定至少一个待休眠指令执行单元,包括:根据指令释放队列,从所述M个候选指令执行单元中确定至少一个将派发的指令均已释放的指令执行单元,作为所述至少一个待休眠指令执行单元。5.根据权利要求1至4任一项所述的方法,其中,获取多条待派发指令的属性信息,包括:从指令派发队列中获取多条待派发指令的属性信息。6.根据权利要求5所述的方法,其中,所述至少一次指令派发过程为派发所述指令派发队列中的前P条待派发指令的过程;从所述多个指令执行单元中确定在从当前时刻开始的至少一次指令派发过程中处于派发空闲状态的M个候选指令执行单元,包括:从所述多个指令执行单元中确定在派发所述前P条待派发指令的过程中无指令派发的M个指令执行单元,作为处于派发空闲状态的所述M个候选指令执行单元,其中,P为大于或者等于0的整数。7.根据权利要求5所述的方法,其中,所述至少一次指令派发过程为派发所述指令派发队列中的全部待派发指令的过程;从所述多个指令执行单元中确定在从当前时刻开始的至少一次指令派发过程中处于派发空闲状态的M个候选指令执行单元,包括:从所述多个指令执行单元中确定在派发所述全部待派发指令的过程中无指令派发的M个指令执行单元,作为处于派发空闲状态的所述M个候选指令执行单元。8.根据权利要求1至4任一项所述的方法,其中,所述多个待派发指令为循环体指令序列,所述至少一次指令派发过程为派发所述循环体指令序列的过程;
其中,从所述多个指令执行单元中确定在从当前时刻开始的至少一次指令派发过程中处于派发空闲状态的M个候选指令执行单元,包括:基于所述循环体指令序列,确定所述多个指令执行单元分别对应的空闲概率;将空闲概率大于或等于概率阈值的指令执行单元作为处于派发空闲状态的所述M个候选指令执行单元。9.根据权利要求8所述的方法,其中,所述概率阈值为100%,或者,所述概率阈值大于或等于50%并且小于100%。10.根据权利要求9所述的方法,还包括:对于空闲概率大于或等于概率阈值并且小于100%的每个待休眠指令执行单元,基于所述待休眠指令执行单元对应的指令在指令派发队列中的位置和所述待休眠指令执行单元中的指令释放情况,关闭所述待休眠指令执行单元的时钟。11.根据权利要求3所述的方法,其中,打开所述待激活指令执行单元的时钟,包括:根据与所述待激活指令执行单元对应的待派发指令在指令...

【专利技术属性】
技术研发人员:张克松张俊建
申请(专利权)人:海光信息技术股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1