[发明专利]还原寄存器重命名映射有效
| 申请号: | 201310003736.X | 申请日: | 2013-01-05 |
| 公开(公告)号: | CN103197919A | 公开(公告)日: | 2013-07-10 |
| 发明(设计)人: | H·杰克逊 | 申请(专利权)人: | 想象力科技有限公司 |
| 主分类号: | G06F9/38 | 分类号: | G06F9/38 |
| 代理公司: | 永新专利商标代理有限公司 72002 | 代理人: | 刘瑜;王英 |
| 地址: | 英国赫*** | 国省代码: | 英国;GB |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 还原 寄存器 重命名 映射 | ||
1.一种在乱序处理器中还原寄存器重命名映射的方法,包括:
每当将流程风险指令插入到重排序缓冲器时,将所述寄存器重命名映射的状态的拷贝存储到还原表的一个存储位置,直到所有存储位置都被使用;
确定随后已变得可用的存储位置;
基于先前存储的用于较旧的流程风险指令的寄存器重命名映射的状态和存储在所述重排序缓冲器中的用于中间指令的值,产生在所有存储位置都已被使用时用于插入到所述重排序缓冲器中的未记录的流程风险指令的得出的寄存器重命名映射的状态,其中,所述中间指令插入在所述较旧的流程风险指令和所述未记录的流程风险指令之间;
将用于所述未记录的流程风险指令的所述得出的寄存器重命名映射的状态存储到所述可用的存储位置;以及
在这些流程风险指令中的一个的执行在指令流程中引起意外改变的情况下,使用在所述还原表中的与该个流程风险指令相关联的寄存器重命名映射的状态来还原所述寄存器重命名映射。
2.根据权利要求1所述的方法,还包括以下步骤:响应于这些流程风险指令中的一个被执行,从一个存储位置清除与该个流程风险指令相关联的寄存器重命名映射的状态,使得该个存储位置变得可用。
3.根据权利要求1所述的方法,其中,所述寄存器重命名映射的状态包括在架构寄存器和在所述处理器上用来存储指令结果的物理寄存器之间的映射。
4.根据权利要求1所述的方法,其中,产生得出的寄存器重命名映射的状态的步骤包括:将所述较旧的流程风险指令标识为插入到所述重排序缓冲器中的、已针对其将相关联的寄存器重命名映射的状态存储到所述还原表中的最近的流程风险指令。
5.根据权利要求1所述的方法,其中,产生得出的寄存器重命名映射的状态的步骤包括:将与所述较旧的流程风险指令相关联的寄存器重命名映射的状态拷贝到所述可用的存储位置。
6.根据权利要求5所述的方法,其中,产生得出的寄存器重命名映射的状态的步骤还包括:迭代每一个所述中间指令,并且在每一次迭代,使用存储在所述重排序缓冲器中的值来更新拷贝到所述可用的存储位置的所述寄存器重命名映射的状态。
7.根据权利要求1所述的方法,其中,存储在所述重排序缓冲器中的所述值包括针对每一个中间指令的在目标架构寄存器和物理寄存器之间的映射。
8.根据权利要求1所述的方法,其中,所述未记录的流程风险指令是当所述还原表的所有存储位置都被使用时,插入到所述重排序缓冲器中的最旧的流程风险指令。
9.根据权利要求1所述的方法,其中,所述存储位置的数量小于能够同时存在于所述重排序缓冲器中的流程风险指令的数量。
10.根据任一前述权利要求所述的方法,其中,所述流程风险指令包括能引起所述处理器的程序计数器发生改变的指令。
11.根据权利要求1至9中的任意一项所述的方法,其中,所述流程风险指令包括分支指令。
12.根据权利要求1至9中的任意一项所述的方法,其中,所述流程风险指令包括异常或中断指令。
13.根据权利要求1所述的方法,还包括以下步骤:每当从所述重排序缓冲器输出指令到提交级时,更新寄存器提交映射,其中,使用针对从所述重排序缓冲器输出的每一个指令的在所述目标架构寄存器和所述物理寄存器之间的映射的重排序缓冲器值来更新所述寄存器提交映射。
14.根据权利要求13所述的方法,还包括以下步骤:在一个指令的执行在指令流程中引起意外改变并且该个指令被输出到所述提交级的情况下,使用所述寄存器提交映射来还原所述寄存器重命名映射。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于想象力科技有限公司,未经想象力科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310003736.X/1.html,转载请声明来源钻瓜专利网。
- 上一篇:无辅料立式生物干化装置和运行方法
- 下一篇:用于减少电子设备功耗的方法和设备





