[发明专利]用于预测子程序返回指令的目标的取指单元在审
申请号: | 202210097700.1 | 申请日: | 2016-09-26 |
公开(公告)号: | CN114546485A | 公开(公告)日: | 2022-05-27 |
发明(设计)人: | 菲利普·戴 | 申请(专利权)人: | 美普思技术有限责任公司 |
主分类号: | G06F9/30 | 分类号: | G06F9/30;G06F9/38 |
代理公司: | 北京安信方达知识产权代理有限公司 11262 | 代理人: | 陆建萍;杨明钊 |
地址: | 美国加利*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 预测 子程序 返回 指令 目标 单元 | ||
1.一种用于在处理器中使用的多级取指单元,所述多级取指单元包括:
返回预测栈;以及
部分解码逻辑,其与所述返回预测栈进行通信,所述部分解码逻辑按周期被配置为:
接收用于执行的一组一个或多个指令;
至少部分地解码接收的一组一个或多个指令,以确定所述接收的一组一个或多个指令是否包括子程序调用和链接指令或子程序返回指令;
响应于确定所述接收的一组一个或多个指令包括子程序调用和链接指令:
预测关于对应的子程序返回指令的目标地址并且将所预测的目标地址存储在所述返回预测栈中;以及
通过以下方式使关于所述对应的子程序返回指令的预测目标组的一个或多个指令存储在所述返回预测栈中:
确定所述预测目标组的一个或多个指令是否是紧随着所述接收的一组一个或多个指令的一组一个或多个指令;
确定所述取指单元的缓存级是否在当前的周期中正在提取一组一个或多个指令;以及
响应于确定所述预测目标组的一个或多个指令是紧随着所述接收的一组一个或多个指令的一组一个或多个指令,使接收的一组一个或多个指令存储在所述返回预测栈中,以及响应于确定所述取指单元的所述缓存级在所述当前的周期中正在提取一组一个或多个指令,使下一个周期中的接收的一组一个或多个指令存储在所述返回预测栈中;
响应于确定所述接收的一组一个或多个指令包括子程序返回指令,使存储在所述返回预测栈中的预测目标组的一个或多个指令成为下一个周期中的接收的一组一个或多个指令。
2.根据权利要求1所述的取指单元,其中,所述部分解码逻辑被配置为通过以下方式使得存储在所述返回预测栈中的预测目标组的一个或多个指令成为下一个周期中的接收的一组一个或多个指令:
确定所述返回预测栈是否包括有效预测目标组的一个或多个指令;以及
响应于确定所述返回预测栈包括有效预测目标组的一个或多个指令,使得所述返回预测栈中的所述有效预测目标组的一个或多个指令成为下一个周期中的接收的一组一个或多个指令。
3.根据权利要求2所述的取指单元,还包括下一个束逻辑,所述下一个束逻辑被配置为响应于所述部分解码逻辑确定所述一组一个或多个指令包括子程序返回指令,基于存储在所述返回预测栈中的预测的目标地址来生成关于待提取的下一组一个或多个指令的地址。
4.根据权利要求3所述的取指单元,其中,所述下一个束逻辑被配置为:
响应于所述部分解码逻辑确定所述返回预测栈包括有效预测目标组的一个或多个指令,将关于待提取的下一组一个或多个指令的地址生成为从存储在所述返回预测栈中的所述预测的目标地址偏移的地址;以及
响应于所述部分解码逻辑确定所述返回预测栈不包括有效预测目标组的一个或多个指令,生成关于待提取的所述下一组一个或多个指令的地址成为存储在所述返回预测栈中的所述预测的目标地址。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于美普思技术有限责任公司,未经美普思技术有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210097700.1/1.html,转载请声明来源钻瓜专利网。