[发明专利]用于使用预先通知技术改变程序的顺序流程的方法和设备有效
申请号: | 201180028116.0 | 申请日: | 2011-06-28 |
公开(公告)号: | CN102934075A | 公开(公告)日: | 2013-02-13 |
发明(设计)人: | 詹姆斯·诺里斯·迪芬德尔费尔;迈克尔·威廉·莫罗 | 申请(专利权)人: | 高通股份有限公司 |
主分类号: | G06F9/32 | 分类号: | G06F9/32;G06F9/30;G06F9/38 |
代理公司: | 北京律盟知识产权代理有限责任公司 11287 | 代理人: | 宋献涛 |
地址: | 美国加利*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 使用 预先 通知 技术 改变 程序 顺序 流程 方法 设备 | ||
1.一种用于改变程序的顺序流程的方法,其包括:
从由第一指令识别的寄存器检索程序指定的目标地址,其中所述寄存器是在指令集架构中界定;以及
在遇到第二指令之后将推测性执行流程改变到所述程序指定的目标地址,其中所述第二指令经动态地确定为间接分支指令。
2.根据权利要求1所述的方法,其中所述间接分支指令是在所述第一指令之后的下一遇到的间接分支指令。
3.根据权利要求1所述的方法,其中所述间接分支指令是指定匹配由所述第一指令识别的所述寄存器的目标寄存器的下一遇到的间接分支指令。
4.根据权利要求1所述的方法,其进一步包括:
将所述第一指令插入代码序列中处于所述间接分支之前至少N个程序指令,其中所述N个程序指令对应于接收所述间接分支的管线级与辨识由所述第一指令识别的所述寄存器的管线级之间的管线级的数目。
5.根据权利要求4所述的方法,其中接收所述间接分支的所述管线级是获取级,且辨识由所述第一指令识别的所述寄存器的所述管线级是执行级。
6.根据权利要求1所述的方法,其进一步包括:
在遇到对应多个间接分支指令之前接收多个预先通知(ADVN)指令,其中所述第一指令是(ADVN)指令;以及
以先入先出堆栈跟踪所述多个(ADVN)指令与所述遇到的对应多个间接分支指令之间的对应关系。
7.根据权利要求1所述的方法,其进一步包括:
确定存储在分支目标地址寄存器中的值是有效指令地址;以及
在对所述间接分支进行解码后即刻从所述分支目标地址寄存器选择所述值以用于识别待获取的下一指令地址。
8.根据权利要求1所述的方法,其进一步包括:
执行所述间接分支以确定分支目标地址;
将所述确定的分支目标地址与所述程序指定的目标地址进行比较;以及
当所述确定的分支目标地址与所述程序指定的目标地址不相同时清空处理器管线。
9.根据权利要求1所述的方法,其进一步包括:
在遇到所述第一指令之后超驰分支预测电路。
10.根据权利要求1所述的方法,其进一步包括:
将所述指令处理为具有分支历史预测电路的处理器管线中的无操作,所述分支历史预测电路具有用以跟踪在代码区段的执行期间遇到的分支的硬件资源;以及
针对超过所述分支历史预测电路可用的所述硬件资源的代码区段启用所述指令。
11.一种用于提供间接分支地址的预先通知的方法,其包括:
分析指令序列以识别由所述指令序列的目标地址改变指令产生的最当前目标地址;以及
在推测性执行利用所述最当前目标地址的间接分支指令之前基于所述最当前目标地址来准备下一程序地址。
12.根据权利要求11所述的方法,其进一步包括:
在第一次通过代码区段时自动识别所述间接分支指令的目标地址寄存器,其中所述识别的目标地址寄存器用以自动识别由所述指令产生的所述最当前目标地址。
13.根据权利要求11所述的方法,其中当对所述间接分支指令进行解码时准备所述下一程序地址。
14.根据权利要求11所述的方法,其进一步包括:
将所述指令序列中的所述目标地址改变指令移动到所述指令序列中在间接分支指令之前至少N个程序指令的位置,其中N对应于接收所述间接分支的管线级与辨识由所述目标地址改变指令识别的所述寄存器的管线级之间的管线级的数目。
15.根据权利要求14所述的方法,其中接收所述间接分支的所述管线级是获取级,且辨识由所述目标地址改变指令识别的所述寄存器的所述管线级是执行级。
16.根据权利要求11所述的方法,其进一步包括:
在第一表中在由所述间接分支指令指定的目标地址寄存器条目处加载产生所述最当前目标地址的所述指令的指令地址。
17.根据权利要求16所述的方法,其进一步包括:
在所述指令地址处检查有效位的关联性存储器中是否有经断言的有效位;以及
响应于经断言的有效位而用从执行由所述第一表识别的所述指令得到的值来加载分支目标地址寄存器。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于高通股份有限公司,未经高通股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201180028116.0/1.html,转载请声明来源钻瓜专利网。