[发明专利]具有无消歧乱序加载存储队列的重新排序的推测性指令序列有效
申请号: | 201380043003.7 | 申请日: | 2013-06-10 |
公开(公告)号: | CN104583957B | 公开(公告)日: | 2018-08-10 |
发明(设计)人: | M·阿布达拉 | 申请(专利权)人: | 英特尔公司 |
主分类号: | G06F9/46 | 分类号: | G06F9/46;G06F9/38 |
代理公司: | 上海专利商标事务所有限公司 31100 | 代理人: | 黄嵩泉 |
地址: | 美国加利*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 有无 消歧乱序 加载 存储 队列 重新 排序 推测 指令 序列 | ||
1.一种由处理器执行的无消歧乱序加载存储队列方法,所述方法包括:
实现能够被多个异步核心访问的存储器资源;
实现存储退出缓冲器,其中来自存储队列的存储具有按照原始程序顺序的所述存储退出缓冲器中的条目;
实现推测性执行,其中推测性执行的结果被保存在所述存储退出缓冲器中作为推测性状态;
在分派来自加载队列的后续加载时,在所述存储退出缓冲器中搜索与存储匹配的地址匹配;
在其中存在多个地址匹配的情况下,通过针对第一匹配扫描所述存储退出缓冲器来定位正确的转发条目,并且将来自所述第一匹配的数据转发至所述后续加载;以及
一旦已知推测性结果,则使所述推测性状态退出至存储器。
2.根据权利要求1所述的方法,其中所述存储队列和所述加载队列是无消歧的。
3.根据权利要求2所述的方法,其中所述存储队列和所述加载队列是无消歧的,因为不包括对乱序加载和存储进行消歧的对应的硬件。
4.根据权利要求1所述的方法,其中在将来自所述第一匹配的数据转发至所述后续加载时,将第一匹配存储和所述后续加载配对,并将对应的配对关系记录在预测表中。
5.根据权利要求1所述的方法,其中实现访问掩码,所述访问掩码通过跟踪所述存储退出缓冲器的哪些条目经由加载来访问而运行。
6.根据权利要求5所述的方法,其中在执行后续存储时检查所述访问掩码,并且其中当到所述存储退出缓冲器条目的后续存储在所述访问掩码中见到来自加载的在先标记时引发缺失预测。
7.根据权利要求1所述的方法,其中通过使用优先级编码器来找到所述第一匹配。
8.根据权利要求1所述的方法,其中所述推测性状态是通过输入指令序列的重新排序而得到的。
9.一种微处理器,包括:
多个核心和加载存储缓冲器,其中所述加载存储缓冲器通过以下方式来实现无消歧乱序加载存储队列方法:
实现能够被多个异步核心访问的存储器资源;
实现存储退出缓冲器,其中来自存储队列的存储具有按照原始程序顺序的所述存储退出缓冲器中的条目;
实现推测性执行,其中推测性执行的结果被保存在所述存储退出缓冲器中作为推测性状态;
在分派来自加载队列的后续加载时,在所述存储退出缓冲器中搜索与存储匹配的地址匹配;
在其中存在多个地址匹配的情况下,通过针对第一匹配扫描所述存储退出缓冲器来定位正确的转发条目,并且将来自所述第一匹配的数据转发至所述后续加载;以及
一旦已知推测性结果,则使所述推测性状态退出至存储器。
10.根据权利要求9所述的微处理器,其中所述存储队列和所述加载队列是无消歧的。
11.根据权利要求10所述的微处理器,其中所述存储队列和所述加载队列是无消歧的,因为不包括对乱序加载和存储进行消歧的对应的硬件。
12.根据权利要求9所述的微处理器,其中在将来自所述第一匹配的数据转发至所述后续加载时,将第一匹配存储和所述后续加载配对,并将对应的配对关系记录在预测表中。
13.根据权利要求9所述的微处理器,其中实现访问掩码,所述访问掩码通过跟踪所述存储退出缓冲器的哪些条目经由加载来访问而运行。
14.根据权利要求13所述的微处理器,其中在执行后续存储时检查所述访问掩码,并且其中当到所述存储退出缓冲器条目的后续存储在所述访问掩码中见到来自加载的在先标记时引发缺失预测。
15.根据权利要求9所述的微处理器,其中通过使用优先级编码器来找到所述第一匹配。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于英特尔公司,未经英特尔公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201380043003.7/1.html,转载请声明来源钻瓜专利网。