System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 指令唤醒方法、装置以及设备制造方法及图纸_技高网

指令唤醒方法、装置以及设备制造方法及图纸

技术编号:40742793 阅读:4 留言:0更新日期:2024-03-25 20:02
本申请提供了一种指令唤醒方法、装置以及设备,涉及计算机技术领域,方法包括:在指令发射队列发射指令后,确定指令发射队列中依赖该指令的执行结果的待执行指令;确定上述指令的执行延迟时长是否小于或等于预设时长阈值;若是,则获取上述待执行指令对应的指令队列编号,根据上述待执行指令对应的指令队列编号,唤醒上述待执行指令;其中,上述指令发射队列中的各个指令均对应一个指令队列编号。本申请中,对于满足预设条件的指令,通过获取待执行指令对应的指令队列编号,可以快速的追踪到上述待执行指令,并对其进行唤醒,从而能够有效的降低唤醒延迟,提升处理器的性能。

【技术实现步骤摘要】

本申请涉及计算机,尤其涉及一种指令唤醒方法、装置以及设备


技术介绍

1、在现代高性能处理器中,指令发射队列(instruction issue queue,iq)不仅被用来追踪指令的操作数准备状态,监控执行单元的运行状态和指令流水线所需资源的状态,还负责在发射指令之后依据发射指令产生执行结果的延迟,唤醒依赖其执行结果的指令。

2、对于执行延迟时长小于或等于1个指令周期的指令,其可以在1个周期内产生执行结果并在下一个周期将执行结果旁路给其它依赖该执行结果的指令。iq需要在选中并发射该指令的当周期唤醒那些依赖于它结果的指令,这样便可以背靠背地执行后续指令,从而节省延迟。

3、然而传统的基于寄存器重命名标签(rename tag,rtag)的唤醒方式存在较大的唤醒延迟,当决定选中并发射某条指令的时候,并不能及时获得其目的(结果)寄存器的rtag。基于此,iq在选中并发射指令后,如何快速唤醒那些依赖于该指令的执行结果的指令,是目前亟需解决的技术问题。


技术实现思路

1、本申请提供了一种指令唤醒方法、装置以及设备,可以使iq在选中并发射指令后,快速唤醒那些依赖于该指令的执行结果的指令,从而提升处理器的性能。

2、第一方面,本申请提供了一种指令唤醒方法,该方法包括:

3、在指令发射队列发射指令后,确定所述指令发射队列中依赖所述指令的执行结果的待执行指令;

4、确定所述指令的执行延迟时长是否小于或等于预设时长阈值;

5、当所述指令的执行延迟时长小于或等于所述预设时长阈值时,获取所述待执行指令对应的指令队列编号;其中,所述指令发射队列中的各个指令均对应一个指令队列编号;

6、根据所述待执行指令对应的指令队列编号,唤醒所述待执行指令。

7、在一些实施例中,所述确定所述指令的执行延迟时长是否小于或等于预设时长阈值,包括:

8、获取所述指令发射队列发射所述指令时采用的发射端口生成的所述指令对应的周期选择信号;其中,所述发射端口为第一发射端口或第二发射端口,所述第一发射端口用于发送执行延迟时长小于或等于所述预设时长阈值的指令,所述第二发射端口用于发送执行延迟时长为任意时长的指令,且所述第一发射端口在发射执行延迟时长小于或等于所述预设时长阈值的指令时生成第一周期选择信号;所述第二发射端口在发射执行延迟时长大于所述预设时长阈值的指令时生成第二周期选择信号;

9、在所述周期选择信号为所述第一周期选择信号时,确定所述指令的执行延迟时长小于或等于所述预设时长阈值;在所述周期选择信号为所述第二周期选择信号时,确定所述指令的执行延迟时长大于所述预设时长阈值。

10、在一些实施例中,所述方法还包括:

11、当所述指令的执行延迟时长大于所述预设时长阈值时,获取所述待执行指令对应的寄存器重命名标签;

12、根据所述寄存器重命名标签,唤醒所述待执行指令。

13、在一些实施例中,所述预设时长阈值为一个指令周期。

14、在一些实施例中,所述指令队列编号为所述指令发射队列中的各个指令在所述指令发射队列中的id信息;或者,所述指令队列编号为所述指令发射队列中的各个指令在所述指令发射队列中的位置信息。

15、第二方面,本申请提供了一种指令唤醒装置,该装置包括:

16、确定模块,用于在指令发射队列发射指令后,确定所述指令发射队列中依赖所述指令的执行结果的待执行指令;

17、判断模块,用于确定所述指令的执行延迟时长是否小于或等于预设时长阈值;

18、获取模块,用于当所述指令的执行延迟时长小于或等于预设时长阈值时,获取所述待执行指令对应的指令队列编号;其中,所述指令发射队列中的各个指令均对应一个指令队列编号;

19、唤醒模块,用于根据所述待执行指令对应的指令队列编号,唤醒所述待执行指令。

20、在一些实施例中,所述判断模块用于:

21、获取所述指令发射队列发射所述指令时采用的发射端口生成的所述指令对应的周期选择信号;其中,所述发射端口为第一发射端口或第二发射端口,所述第一发射端口用于发送执行延迟时长小于或等于所述预设时长阈值的指令,所述第二发射端口用于发送执行延迟时长为任意时长的指令,且所述第一发射端口在发射执行延迟时长小于或等于所述预设时长阈值的指令时生成第一周期选择信号;所述第二发射端口在发射执行延迟时长大于所述预设时长阈值的指令时生成第二周期选择信号;

22、在所述周期选择信号为所述第一周期选择信号时,确定所述指令的执行延迟时长小于或等于所述预设时长阈值;在所述周期选择信号为所述第二周期选择信号时,确定所述指令的执行延迟时长大于所述预设时长阈值。

23、在一些实施例中,所述获取模块,还用于:

24、当所述指令的执行延迟时长大于所述预设时长阈值时,获取所述待执行指令对应的寄存器重命名标签。

25、在一些实施例中,所述唤醒模块,还用于:

26、根据所述寄存器重命名标签,唤醒所述待执行指令。

27、在一些实施例中,所述预设时长阈值为一个指令周期。

28、在一些实施例中,所述指令队列编号为所述指令发射队列中的各个指令在所述指令发射队列中的id信息;或者,所述指令队列编号为所述指令发射队列中的各个指令在所述指令发射队列中的位置信息。

29、第三方面,本申请提供了一种电子设备,包括:处理器,以及与所述处理器通信连接的存储器;

30、所述存储器用于存储计算机执行指令;

31、所述处理器用于执行所述存储器存储的计算机执行指令,以实现如第一方面提供的指令唤醒方法。

32、第四方面,本申请提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如第一方面提供的指令唤醒方法。

33、本申请实施例中所提供的指令唤醒方法、装置以及设备,对于满足预设条件的指令,通过获取依赖该指令的执行结果的待执行指令对应的指令队列编号,可以快速的追踪到上述待执行指令,并对其进行唤醒,从而能够有效的降低唤醒延迟,提升处理器的性能。

本文档来自技高网...

【技术保护点】

1.一种指令唤醒方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述确定所述指令的执行延迟时长是否小于或等于预设时长阈值,包括:

3.根据权利要求2所述的方法,其特征在于,所述方法还包括:

4.根据权利要求1至3任一项所述的方法,其特征在于,所述预设时长阈值为一个指令周期。

5.根据权利要求1至3任一项所述的方法,其特征在于,所述指令队列编号为所述指令发射队列中的各个指令在所述指令发射队列中的ID信息;或者,所述指令队列编号为所述指令发射队列中的各个指令在所述指令发射队列中的位置信息。

6.一种指令唤醒装置,其特征在于,所述装置包括:

7.根据权利要求6所述的装置,其特征在于,所述判断模块用于:

8.根据权利要求6或7所述的装置,其特征在于,所述指令队列编号为所述指令发射队列中的各个指令在所述指令发射队列中的ID信息;或者,所述指令队列编号为所述指令发射队列中的各个指令在所述指令发射队列中的位置信息。

9.一种电子设备,其特征在于,包括:处理器,以及与所述处理器通信连接的存储器;

10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1至5任一项所述的指令唤醒方法。

...

【技术特征摘要】

1.一种指令唤醒方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述确定所述指令的执行延迟时长是否小于或等于预设时长阈值,包括:

3.根据权利要求2所述的方法,其特征在于,所述方法还包括:

4.根据权利要求1至3任一项所述的方法,其特征在于,所述预设时长阈值为一个指令周期。

5.根据权利要求1至3任一项所述的方法,其特征在于,所述指令队列编号为所述指令发射队列中的各个指令在所述指令发射队列中的id信息;或者,所述指令队列编号为所述指令发射队列中的各个指令在所述指令发射队列中的位置信息。

6.一种指令唤醒装置...

【专利技术属性】
技术研发人员:翟少敏
申请(专利权)人:上海合芯数字科技有限公司
类型:发明
国别省市:

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

1