[发明专利]预测栈的错误恢复方法、装置及存储介质有效
申请号: | 201711405263.0 | 申请日: | 2017-12-22 |
公开(公告)号: | CN109960607B | 公开(公告)日: | 2021-04-20 |
发明(设计)人: | 李策;吴瑞阳 | 申请(专利权)人: | 龙芯中科技术股份有限公司 |
主分类号: | G06F11/14 | 分类号: | G06F11/14 |
代理公司: | 北京同立钧成知识产权代理有限公司 11205 | 代理人: | 杨泽;刘芳 |
地址: | 100095 北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 预测 错误 恢复 方法 装置 存储 介质 | ||
本发明提供一种预测栈的错误恢复方法、装置及存储介质,该方法包括:在根据待执行分支指令的类型读写预测栈后,将预测栈中已有的分支指令的地址信息复制到其中一个恢复栈;若待执行分支指令根据预测栈中的地址信息发生预测错误,则根据恢复栈中的地址信息校正预测栈中的地址信息。本发明提供的预测栈的错误恢复方法、装置及存储介质,提高了返回地址预测栈的准确率。
技术领域
本发明涉及计算机技术领域,尤其涉及一种预测栈的错误恢复方法、装置及存储介质。
背景技术
返回地址预测栈是处理器中分支预测器的一种,主要用于预测函数返回类分支指令,由于函数返回类分支指令与函数调用类分支指令一一对应,因此,当遇到函数调用类分支指令时,将其下一条指令的地址压入预测栈;当遇到函数返回类分支指令时,将该地址弹出栈用作预测地址,返回地址预测栈相对于条件分支预测器与间接跳转预测器,拥有很小的硬件开销,而且能够达到较高的预测准确率。
但是,现代处理器中存在猜测执行,即执行的分支指令的跳转地址是不确定的,这样一旦猜测错误,返回地址预测栈就很有可能发生错误,导致后续的预测出现错误,降低了返回地址预测栈的预测准确率。为了提高返回地址预测栈的预测准确率,现有技术中通过维护一个恢复栈,将猜测执行过程中被弹出的栈内项放入恢复栈内,当猜测执行错误时,将恢复栈内的项全部复写到返回地址预测栈中。然而,由于存在乱序执行机制,分支错误返回时不一定时顺序返回,由此造成的错误覆盖同样会污染栈内的相关项,从而导致返回地址预测栈的准确率不高。
发明内容
本发明提供一种预测栈的错误恢复方法、装置及存储介质,以解决现有技术中返回地址预测栈准确率不高的问题。
本发明实施例提供一种预测栈的错误恢复方法,配置有对预测栈中的地址信息进行备份的至少一个恢复栈;该方法包括:
在根据待执行分支指令的类型读写预测栈后,将所述预测栈中已有的分支指令的地址信息复制到其中一个恢复栈;
若所述待执行分支指令根据所述预测栈中的地址信息发生预测错误,则根据所述恢复栈中的地址信息校正所述预测栈中的地址信息。
在本发明一实施例中,所述至少一个恢复栈中的每个恢复栈有相应的恢复栈编号;
所述在根据待执行分支指令的类型读写预测栈后,将所述预测栈中已有的分支指令的地址信息复制到所述恢复栈,包括:
在所述待执行分支指令的类型为函数调用类分支指令时,在所述预测栈的栈顶指针中写入所述待执行分支指令的地址信息;将所述预测栈中已有的分支指令的地址信息复制到对应的恢复栈,所述待执行分支指令携带所述预测栈的栈顶指针和所述对应的恢复栈的恢复栈编号;
在所述待执行分支指令的类型为函数返回类分支指令时,将所述预测栈的栈顶指针的地址信息确定为所述待执行分支指令的预测地址信息,并将所述栈顶指针中的地址信息从所述预测栈中读出;将所述预测栈中已有的分支指令的地址信息复制到对应的恢复栈,所述待执行分支指令携带所述预测栈的栈顶指针和所述对应的恢复栈的恢复栈编号;
在所述待执行分支指令的类型为其他类分支指令时,确定所述待执行分支指令的前一条分支指令对应的恢复栈;将所述前一条分支指令对应的恢复栈确定为所述待执行分支指令对应的恢复栈,所述待执行分支指令携带所述预测栈的栈顶指针和所述对应的恢复栈的恢复栈编号。
在本发明一实施例中,所述若所述待执行分支指令根据所述预测栈中的地址信息发生预测错误,则根据所述恢复栈中的地址信息校正所述预测栈中的地址信息,包括:
获取预测错误信息;所述预测错误信息包括所述待执行分支指令对应的所述预测栈的栈顶指针和所述待对应的恢复栈的恢复栈编号;
根据所述恢复栈编号对应的所述恢复栈中的地址信息校正所述栈顶指针对应的预测栈中的地址信息。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于龙芯中科技术股份有限公司,未经龙芯中科技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711405263.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种软件备份、还原方法及终端
- 下一篇:office文档的处理方法和处理系统