[发明专利]一种用于函数返回地址预测的装置及方法在审
申请号: | 201410844091.7 | 申请日: | 2014-12-30 |
公开(公告)号: | CN104572024A | 公开(公告)日: | 2015-04-29 |
发明(设计)人: | 王洁;范润东;刘伯方 | 申请(专利权)人: | 杭州中天微系统有限公司 |
主分类号: | G06F9/315 | 分类号: | G06F9/315 |
代理公司: | 杭州斯可睿专利事务所有限公司 33241 | 代理人: | 王利强 |
地址: | 310012 浙江省杭州*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 用于 函数 返回 地址 预测 装置 方法 | ||
1.一种用于函数返回地址预测的装置,其特征在于:所述装置包括:
指令译码单元,用于对输入的指令进行译码,产生操作指示符;
函数返回地址栈,包含S个表项,用于接受指令译码单元的操作指示符,对于译码得到的函数调用指令,函数返回地址栈截取并保存函数调用指令的下一条指令的地址的低M比特,对于译码得到的函数返回指令,从函数返回地址栈中弹出最近入栈的表项的M比特地址,拼上函数返回指令地址的高(N-M)位,封装产生N比特的目标地址作为函数返回指令的预测地址A,并记录返回地址A对应的表项索引X;
执行单元,用于接受指令译码单元的操作指示符以及函数返回地址栈的预测地址A与表项索引X,当操作指示符指示为函数返回指令时,判断地址A是否预测正确,产生预测正确信息与实际跳转地址;
纠错单元,用于接受执行单元的输出,在函数返回地址预测错误时用实际地址B对函数返回地址栈中表项索引X指向的内容进行纠正。
2.如权利要求1所述的用于函数返回地址预测的装置,其特征在于:所述的函数返回地址栈中每个表项的内容为M比特,预测地址A与实际地址B为N比特,M、N均为整数,M<N。
3.如权利要求1或2所述的用于函数返回地址预测的装置,其特征在于:所述译码单元对函数调用和函数返回指令进行译码,并根据译码结果完成函数返回地址栈的入栈和出栈操作。
4.如权利要求1或2所述的用于函数返回地址预测的装置,其特征在 于:函数返回地址栈采用先进后出的堆栈结构。
5.如权利要求1或2所述的用于函数返回地址预测的装置,其特征在于:所述执行单元中,计算产生实际函数返回地址B,并与预测地址A进行比较,产生预测正确信息以及实际地址B;所述纠错单元中,接受执行单元的输出,在函数返回地址预测错误时用实际地址B的低M比特信息对函数返回地址栈中表项索引X指向的内容进行纠正。
6.一种如权利要求1所述的用于函数返回地址预测的装置实现的方法,其特征在于:所述方法包括如下步骤:
1)对指令进行译码,译出函数调用指令和函数返回指令,并产生操作指示符;
2)当指令译码为函数调用指令时,截取下一条指令的地址的低M比特并保存在函数返回地址栈中;当指令译码为函数返回指令时,从函数返回地址栈中弹出最近入栈的表项的M位地址,拼接上函数返回指令的高(N-M)位地址,封装产生函数返回指令的预测地址A,并记录预测地址A对应的表项索引X;
3)当操作指示符指示为函数返回指令时,判断地址A是否预测正确,产生预测正确信息与实际跳转地址;
4)在函数返回地址预测错误时用实际地址B对函数返回地址栈中表项索引X指向的内容进行纠正。
7.如权利要求6所述的方法,其特征在于:所述步骤3)中,计算产生实际函数返回地址B,并与预测地址A进行比较,产生预测正确信息以及实际地址B;所述步骤4)中,在函数返回地址预测错误时用实际地址B的低M比特信息对函数返回地址栈中表项索引X指向的 内容进行纠正。
8.如权利要求6或7所述的方法,其特征在于:所述的函数返回地址栈包含S个表项,每个表项的内容为M比特,预测地址A与实际地址B为N比特,M、N均为整数,M<N。
9.如权利要求6或7所述的方法,其特征在于:函数返回地址栈采用先进后出的堆栈结构。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州中天微系统有限公司,未经杭州中天微系统有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410844091.7/1.html,转载请声明来源钻瓜专利网。
- 上一篇:监控闹钟的处理方法和装置
- 下一篇:一种寄存器堆分页式扩展装置及其实现方法