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

寄存器重命名恢复方法、装置和设备制造方法及图纸

技术编号:40225757 阅读:12 留言:0更新日期:2024-02-02 22:29
本发明专利技术提供一种寄存器重命名恢复方法、装置和设备,属于处理器技术领域,该方法应用于处理器,处理器中指令对应的寄存器重命名信息缓存在重排序缓存ROB中,ROB中指令按照固定的数量进行分组,ROB中的指令具有唯一的ROB标识ID,每一组设置一个检查点,所述方法包括:在存在预测错误指令的情况下,确定离预测错误指令的ROB ID最近的有效检查点;若存在最近的有效检查点,则将有效检查点保存的信息进行恢复;若不存在最近的有效检查点,则将预测错误指令至ROB中的出队指针之间的寄存器重命名之前的信息进行恢复。上述方案中可以减少指令的恢复时间,在下一次取指令和重命名的时间内进行重命名恢复,不会造成指令的阻塞。

【技术实现步骤摘要】

本专利技术涉及处理器,尤其涉及一种寄存器重命名恢复方法、装置和设备


技术介绍

1、在处理器中,除了缓存(cache)之外,另一个重要的内容就是分支预测,它和cache一起左右着处理器的性能。对于超标量处理器来说,准确度高的分支预测更为重要,在取指令阶段,除了需要从指令缓存(i-cache)中取出多条指令,同时还需要决定下个周期的取指令的地址,如果这个阶段只是简单的顺序取指令,也就是预测所有的分支指令都是不跳转的,那么等到在流水线的后续阶段,例如执行阶段,发现了一条跳转的分支指令时,就需要将流水线中,执行阶段之前的全部指令都从流水线中清除,并重新从分支的目的地址开始取指令。这些从流水线中抹掉的指令都做了无用功,浪费了处理器的功耗,并且降低了执行效率。如果能在取指令阶段,就可以预测本周期所取出的指令中是否存在分支指令,并且可以知道它的方向(跳转或者不跳转),以及目标地址的话,那么就可以在下个周期从分支指令的目标地址开始取指令,这样就不会对流水线产生影响,也避免了做无用功,提高了处理器的执行效率。

2、任何预测技术都有可能出错,分支预测也不例外,当发现分支预测失败时,在这条分支指令后面进入到流水线的所有指令都处在错误的路径上,这些指令都应该从流水线中被抹掉,这些处在错误路径上的指令有可能已经将处理器中的某些内容进行了更改,例如寄存器重命名阶段的寄存器重命名表,这个更改显然是不应该的,需要对这些操作进行撤销,这称为分支预测失败时的恢复。


技术实现思路

1、针对现有技术存在的问题,本专利技术实施例提供一种寄存器重命名恢复方法、装置和设备。

2、本专利技术提供一种寄存器重命名恢复方法,应用于处理器,所述处理器中指令对应的寄存器重命名信息缓存在重排序缓存rob中,所述rob中指令按照固定的数量进行分组,所述rob中的指令具有唯一的rob 标识id,每一组设置一个检查点,所述方法包括:

3、在存在预测错误指令的情况下,确定离所述预测错误指令的rob id最近的有效检查点;

4、若存在最近的有效检查点,则将所述有效检查点保存的信息进行恢复;

5、若不存在最近的有效检查点,则将所述预测错误指令至所述rob中的出队指针之间的寄存器重命名之前的信息进行恢复。

6、根据本专利技术提供的一种寄存器重命名恢复方法,所述确定离所述预测错误指令的rob id最近的有效检查点,包括:

7、若所述rob中的出队指针、所述rob中的入队指针和所述预测错误指令的rob id均不在同一组,确定离所述预测错误指令的rob id最近的有效检查点;

8、若所述rob中的入队指针和所述预测错误指令的rob id在同一组,确定rob id比所述预测错误指令的rob id旧,且rob id与所述预测错误指令的rob id位于不同组的最近的检查点,并确定所述最近的检查点是否为有效检查点。

9、根据本专利技术提供的一种寄存器重命名恢复方法,所述确定所述最近的检查点是否为有效检查点,包括:

10、若所述入队指针和所述预测错误指令的rob id在同一组,且所述最近的检查点的rob id比所述出队指针的rob id新,则确定所述最近的检查点为有效检查点;

11、若所述入队指针和所述预测错误指令的rob id在同一组,且所述最近的检查点的rob id比所述出队指针的rob id旧,则确定所述最近的检查点为无效检查点。

12、根据本专利技术提供的一种寄存器重命名恢复方法,所述将所述有效检查点保存的信息进行恢复,包括:

13、将所述有效检查点保存的信息恢复到重命名映射表和空闲寄存器列表中;

14、将所述预测错误指令至所述rob中的出队指针之间的寄存器重命名之前的信息进行恢复,包括:

15、将所述预测错误指令至所述rob中的出队指针之间的寄存器重命名之前的信息恢复到重命名映射表和空闲寄存器列表中。

16、根据本专利技术提供的一种寄存器重命名恢复方法,所述将所述有效检查点保存的信息进行恢复之后,还包括:

17、将所述检查点的rob id之后的rob信息和检查点取消;

18、所述将所述预测错误指令至所述rob中的出队指针之间的寄存器重命名之前的信息进行恢复之后,还包括:

19、将所述预测错误指令的rob id之后的rob信息和检查点取消。

20、根据本专利技术提供的一种寄存器重命名恢复方法,所述方法还包括:

21、在寄存器重命名恢复之后,将所述rob中的入队指针指向所述预测错误指令的robid。

22、根据本专利技术提供的一种寄存器重命名恢复方法,每一组中所述检查点的rob id的范围为第一值到第二值,所述第一值为下一组中最小的rob id减去所述处理器的带宽,所述第二值为下一组中最大的rob id减去所述处理器的带宽。

23、根据本专利技术提供的一种寄存器重命名恢复方法,所述方法还用于通过取指目标队列ftq实现。

24、本专利技术还提供一种寄存器重命名恢复装置,应用于处理器,所述处理器中指令对应的寄存器重命名信息缓存在重排序缓存rob中,所述rob中指令按照固定的数量进行分组,所述rob中的指令具有唯一的rob标识 id,每一组设置一个检查点,所述装置包括:

25、确定模块,用于在存在预测错误指令的情况下,确定离所述预测错误指令的robid最近的有效检查点;

26、处理模块,用于若存在最近的有效检查点,则将所述有效检查点保存的信息进行恢复;

27、所述处理模块,还用于若不存在最近的有效检查点,则将所述预测错误指令至所述rob中的出队指针之间的寄存器重命名之前的信息进行恢复。

28、本专利技术还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述寄存器重命名恢复方法。

29、本专利技术还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述寄存器重命名恢复方法。

30、本专利技术还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述寄存器重命名恢复方法。

31、本专利技术提供的寄存器重命名恢复方法、装置和设备,该方法应用于处理器,所述处理器中指令对应的寄存器重命名信息缓存在重排序缓存rob中,所述rob中指令按照固定的数量进行分组,所述rob中的指令具有唯一的rob id,每一组设置一个检查点,设置的检查点的数量合理,能够避免在指令较多时造成阻塞,在存在预测错误指令的情况下,确定离所述预测错误指令的rob id最近的有效检查点;若存在最近的有效检查点,则将所述有效检查点保存的信息进行恢复,由于直接将有效检查点保存的信息进行恢复,因此效率较高,恢复时间较短;若不存在最近的有效检查点,则将所述预测错误指令至所述rob中的出队本文档来自技高网...

【技术保护点】

1.一种寄存器重命名恢复方法,其特征在于,应用于处理器,所述处理器中指令对应的寄存器重命名信息缓存在重排序缓存ROB中,所述ROB中指令按照固定的数量进行分组,所述ROB中的指令具有唯一的ROB 标识ID,每一组设置一个检查点,所述方法包括:

2.根据权利要求1所述的寄存器重命名恢复方法,其特征在于,所述确定离所述预测错误指令的ROB ID最近的有效检查点,包括:

3.根据权利要求2所述的寄存器重命名恢复方法,其特征在于,所述确定所述最近的检查点是否为有效检查点,包括:

4.根据权利要求1-3任一项所述的寄存器重命名恢复方法,其特征在于,所述将所述有效检查点保存的信息进行恢复,包括:

5.根据权利要求1-3任一项所述的寄存器重命名恢复方法,其特征在于,所述将所述有效检查点保存的信息进行恢复之后,还包括:

6.根据权利要求1-3任一项所述的寄存器重命名恢复方法,其特征在于,所述方法还包括:

7.根据权利要求1-3任一项所述的寄存器重命名恢复方法,其特征在于,

8.根据权利要求1-3任一项所述的寄存器重命名恢复方法,其特征在于,所述方法还用于通过取指目标队列FTQ实现。

9.一种寄存器重命名恢复装置,其特征在于,应用于处理器,所述处理器中指令对应的寄存器重命名信息缓存在重排序缓存ROB中,所述ROB中指令按照固定的数量进行分组,所述ROB中的指令具有唯一的ROB 标识ID,每一组设置一个检查点,所述装置包括:

10.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至8任一项所述寄存器重命名恢复方法。

11.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至8任一项所述寄存器重命名恢复方法。

...

【技术特征摘要】

1.一种寄存器重命名恢复方法,其特征在于,应用于处理器,所述处理器中指令对应的寄存器重命名信息缓存在重排序缓存rob中,所述rob中指令按照固定的数量进行分组,所述rob中的指令具有唯一的rob 标识id,每一组设置一个检查点,所述方法包括:

2.根据权利要求1所述的寄存器重命名恢复方法,其特征在于,所述确定离所述预测错误指令的rob id最近的有效检查点,包括:

3.根据权利要求2所述的寄存器重命名恢复方法,其特征在于,所述确定所述最近的检查点是否为有效检查点,包括:

4.根据权利要求1-3任一项所述的寄存器重命名恢复方法,其特征在于,所述将所述有效检查点保存的信息进行恢复,包括:

5.根据权利要求1-3任一项所述的寄存器重命名恢复方法,其特征在于,所述将所述有效检查点保存的信息进行恢复之后,还包括:

6.根据权利要求1-3任一项所述的寄存器重命名恢复方法,其特征在于...

【专利技术属性】
技术研发人员:商家玮
申请(专利权)人:北京微核芯科技有限公司
类型:发明
国别省市:

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

1