[发明专利]用于支持推测的访客返回地址栈仿真的方法和装置有效
申请号: | 201480021703.0 | 申请日: | 2014-03-13 |
公开(公告)号: | CN105122206B | 公开(公告)日: | 2018-11-09 |
发明(设计)人: | 穆罕默德·阿布达拉 | 申请(专利权)人: | 英特尔公司 |
主分类号: | G06F9/455 | 分类号: | G06F9/455;G06F9/38 |
代理公司: | 上海专利商标事务所有限公司 31100 | 代理人: | 黄嵩泉 |
地址: | 美国加利*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 支持 推测 访客 返回 地址 仿真 方法 装置 | ||
1.一种用于推测性地维护乱序微处理器管线中的访客返回地址栈的微处理器实现的方法,所述方法包括:
将访客地址空间中的多个指令映射到本地地址空间中的对应的多个指令;以及
针对在执行期间取回的所述本地地址空间中的每个函数调用指令,实施以下步骤:
响应于函数调用,将当前条目入栈到访客返回地址栈GRAS中,其中所述访客返回地址栈GRAS在所述管线的取回段处维护,并且其中所述当前条目包括关于与所述函数调用相关联的访客目标返回地址和对应的本地目标返回地址两者的信息;
响应于处理返回指令,将所述当前条目从所述访客返回地址栈GRAS出栈;以及
在所述出栈之后从所述当前条目中的所述本地目标返回地址取回指令。
2.根据权利要求1所述的方法,其中所述返回指令对应于从所述函数调用的返回。
3.根据权利要求1所述的方法,其中所述映射包括:
将所述访客地址空间中的函数调用映射到所述本地地址空间中对应的指令,其中当执行期间在所述本地地址空间中处理所述对应的指令时,所述对应的指令实施所述入栈。
4.根据权利要求3所述的方法,其中所述映射进一步包括:
将返回指令映射到所述本地地址空间中的对应指令,其中当执行期间在所述本地地址空间中处理所述返回指令时,所述返回指令实施所述出栈。
5.根据权利要求1所述的方法,其中所述访客返回地址栈GRAS是循环缓冲器,并且其中所述循环缓冲器维护:
全局下一指针值,其中所述全局下一指针值指示所述访客返回地址栈GRAS中下一个可用条目的位置;以及
用于所述访客返回地址栈GRAS中的每个条目的先前指针值,其中所述先前指针值指向所述访客返回地址栈GRAS中的在前条目。
6.根据权利要求5所述的方法,其中所述入栈进一步包括:
增量全局栈顶TOS值,其中所述全局栈顶值指示所述访客返回地址栈GRAS的栈顶位置;
增量所述全局下一指针值以指向所述访客返回地址栈GRAS中的下一个可用条目;以及
在所述入栈之前用栈顶TOS值更新用于所述当前条目的先前指针。
7.根据权利要求6所述的方法,其中所述出栈进一步包括:
减量所述全局栈顶TOS值;以及
在所述出栈之前用栈顶TOS值更新用于所述当前条目的先前指针。
8.一种配置为实施用于推测性地维护乱序微处理器管线中的访客返回地址栈的方法的处理器单元,所述方法包括:
将访客地址空间中的多个指令映射到本地地址空间中的对应的多个指令;以及
针对在执行期间取回的所述本地地址空间中的每个函数调用指令,实施以下步骤:
响应于函数调用将当前条目入栈到访客返回地址栈GRAS中,其中所述访客返回地址栈GRAS在所述管线的取回段处维护,并且其中所述当前条目包括关于与所述函数调用相关联的访客目标返回地址和对应的本地目标返回地址两者的信息;
响应于处理返回指令将所述当前条目从所述访客返回地址栈GRAS出栈;以及
在所述出栈之后从所述当前条目中的所述本地目标返回地址取回指令。
9.根据权利要求8所述的处理器单元,其中所述返回指令对应于从所述函数调用的返回。
10.根据权利要求8所述的处理器单元,其中所述映射包括:
将所述访客地址空间中的函数调用映射到所述本地地址空间中对应的指令,其中当执行期间在所述本地地址空间中处理所述对应的指令时,所述对应的指令实施所述入栈。
11.根据权利要求10所述的处理器单元,其中所述映射进一步包括:
将返回指令映射到所述本地地址空间中的对应指令,其中当执行期间在所述本地地址空间中处理所述返回指令时,所述返回指令实施所述出栈。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于英特尔公司,未经英特尔公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201480021703.0/1.html,转载请声明来源钻瓜专利网。