还原寄存器重命名映射制造技术

技术编号:8906966 阅读:198 留言:1更新日期:2013-07-11 04:37
描述了一种用于还原寄存器重命名映射的技术。在一个示例中,每当向重排序缓冲器传递流程风险指令时,具有多个存储位置的还原表保存寄存器重命名映射的拷贝。当所有存储位置已满时,仍向所述重排序缓冲器传递进一步的指令,但是不保存映射的拷贝。当执行与一个存储位置关联的流程风险指令时,该个存储位置随后变得可用。在所述多个存储位置已满时的用于传递到所述重排序缓冲器的未记录的流程风险指令的寄存器重命名映射的状态被产生并且被存储在所述可用的位置。所述寄存器重命名映射的状态是使用用于先前的流程风险指令的还原表条目和用于中间指令的重排序缓冲器值来产生的,所述中间指令在所述先前的流程风险指令和所述未记录的流程风险指令之间。如果在指令流程中发生意外改变,则能用所述还原表来还原所述映射。

【技术实现步骤摘要】
还原寄存器重命名映射
技术介绍
乱序微处理器通过以不同于程序中顺序的序列来执行指令能提供提高的计算性能,使得指令当其输入数据可用时被执行,而不是等待程序中前面的指令的执行。为了允许指令在微处理器上乱序运行,能够重命名指令使用的寄存器是有用的。这使得能从指令中移除“写后读”(WAR)依赖,因为这些依赖不是真正的依赖。通过使用寄存器重命名和移除这些依赖,能不按照程序序列执行更多的指令,并且进一步提升了性能。寄存器重命名通过维护映射来执行,其中,在指令中命名的寄存器(称为架构寄存器)被映射到微处理器的物理寄存器上。但是在程序中的指令的流程在执行期间有时会改变。例如,在分支指令的情况下,分支预测经常被用于预测将采用哪个指令分支,来允许推测地乱序执行在预测分支的指令。这意味着会发生分支错误预测,这可能在已发送许多推测指令通过寄存器重命名级并且进入执行管道之后被意识到。为了在采用不正确预测的分支之后,允许重置程序流程并且正确地继续,“回绕”寄存器重命名映射到错误预测分支通过寄存器重命名级时的状态。其他指令在程序流程中引起意外改变(例如中断或异常)的情况下也能看到类似的效果。当前的乱序处理器通过每当可能本文档来自技高网...

【技术保护点】
一种在乱序处理器中还原寄存器重命名映射的方法,包括:每当将流程风险指令插入到重排序缓冲器时,将所述寄存器重命名映射的状态的拷贝存储到还原表的一个存储位置,直到所有存储位置都被使用;确定随后已变得可用的存储位置;基于先前存储的用于较旧的流程风险指令的寄存器重命名映射的状态和存储在所述重排序缓冲器中的用于中间指令的值,产生在所有存储位置都已被使用时用于插入到所述重排序缓冲器中的未记录的流程风险指令的得出的寄存器重命名映射的状态,其中,所述中间指令插入在所述较旧的流程风险指令和所述未记录的流程风险指令之间;将用于所述未记录的流程风险指令的所述得出的寄存器重命名映射的状态存储到所述可用的存储位置;以及...

【技术特征摘要】
...

【专利技术属性】
技术研发人员:H·杰克逊
申请(专利权)人:想象力科技有限公司
类型:发明
国别省市:

网友询问留言 已有1条评论
  • 来自[未知地区] 2014年12月08日 06:37
    重命名给文件或文件夹等重新起一个名称一般是右击重命名其快捷键F2
    0
1