【技术实现步骤摘要】
【国外来华专利技术】处理器流水线中的间接跳转的提取级处置
[0001]本专利技术涉及处理器流水线(pipeline)中的间接跳转的提取级处置。
技术介绍
[0002]为了提高性能,流水线化的处理器可以包括间接跳转目标预测器,该间接跳转目标预测器生成间接跳转指令的目标地址的预测,该预测可以取决于直到间接跳转指令到达处理器流水线的后一级才可能变得可用的数据。目标地址预测可用于提取即将到来的指令,同时等待间接跳转指令通过流水线并被引退。目标地址的错误预测可能导致问题,包括间接跳转目标预测器的状态的性能惩罚和污染。
附图说明
[0003]当结合附图阅读时,最好从以下详细描述中理解本公开。要强调的是,根据惯例,附图的各种特征不是按比例的。相反,为了清楚起见,各种特征的尺寸被任意地扩大或缩小。
[0004]图1是用于使用处理器流水线中的间接跳转的提取级处置来执行指令的集成电路的示例的框图。
[0005]图2是用于使用间接跳转的提取级处置来执行指令的处理器流水线的一部分的示例的框图。
[0006]图3是指令序列的示例的存储器映射,所述指令序列包括具有取决于第一指令的立即数字段以及程序计数器值的结果的第一指令,随后是作为间接跳转指令的第二指令。
[0007]图4是用于间接跳转的提取级处置的过程的示例的流程图。
[0008]图5是用于确定间接跳转指令的目标地址的过程的示例的流程图,该间接跳转指令取决于程序计数器和指令序列的一个或多个立即数。
[0009]图6是用于在没有间接跳转的情况下选择性 ...
【技术保护点】
【技术特征摘要】
【国外来华专利技术】1.一种用于执行指令的集成电路,包括:处理器核,所述处理器核包括被配置为执行指令的流水线;所述流水线的提取级中的间接跳转目标预测器电路,所述间接跳转目标预测器电路被配置为生成对所提取的间接跳转指令的目标地址的预测;以及立即跳转处置器电路,所述立即跳转处置器电路被配置为:检测由所述处理器核提取的指令序列,其中,所述指令序列包括第一指令随后是作为间接跳转指令的第二指令,所述第一指令具有取决于所述第一指令的立即数字段和程序计数器值的结果;响应于检测到所述指令序列,防止所述间接跳转目标预测器电路生成对所述第二指令的目标地址预测;以及响应于检测到所述指令序列,在将所述第一指令发布到所述流水线的执行级之前确定所述第二指令的目标地址。2.根据权利要求1所述的集成电路,其中,所述立即跳转处置器电路在所述指令序列进入包括所述间接跳转目标预测器电路的所述提取级之前检测所述指令序列,以及所述立即跳转处置器电路被配置为:响应于检测到所述指令序列,禁用所述间接跳转预测器电路。3.根据权利要求1所述的集成电路,其中,所述流水线包括多个提取级,所述立即跳转处置器电路在所述指令序列通过在所述流水线中比包括所述间接跳转目标预测器电路的提取级更早的早期提取级时检测所述指令序列,并且所述立即跳转处置器电路被配置为:响应于检测到所述指令序列,禁用所述间接跳转预测器电路。4.根据权利要求1至3中的任一项所述的集成电路,其中,所述立即跳转处置器电路被配置为更新指令高速缓存标签中的状态位,这使得当所述第二指令进入包括所述间接跳转目标预测器电路的所述流水线的所述提取级时所述间接跳转目标预测器电路被禁用。5.根据权利要求1至3中的任一项所述的集成电路,其中,所述立即跳转处置器电路被配置为更新指令高速缓存通路预测器中的状态位,这使得当所述第二指令进入包括所述间接跳转目标预测器电路的所述流水线的所述提取级时所述间接跳转目标预测器电路被禁用。6.根据权利要求1至5中的任一项所述的集成电路,其中,所述立即跳转处置器电路被配置为当指令经由存储器总线被输入到指令高速缓存时,通过扫描出现在所述存储器总线上的值来检测所述指令序列。7.根据权利要求1至5中的任一项所述的集成电路,其中,所述立即跳转处置器电路被配置为通过扫描存储在指令高速缓存的高速缓存行中的值来检测所述指令序列。8.根据权利要求1至7中的任一项所述的集成电路,其中,所述立即跳转处置器电路被配置为将所述目标地址写入提取目标队列,所述提取目标队列被配置为从所述间接跳转目标预测器电路接收预测。9.根据权利要求1至8中的任一项所述的集成电路,其中,在所述第一指令到达所述流水线的解码级之前确定所述第二指令的所述目标地址。10.根据权利要求1至9中的任一项所述的集成电路,其中,所述处理器核被配置为执行RISC V指令集的指令,并且所述第一指令是AUIPC指令,而所述第二指令是JALR指令。
11.一种方法,包括:检测由所述处理器核提取的指令序列,其中,所述指令序列包括第一指令随后是作为间接跳转指令的第二指令,所述第一指令具有取决于所述第一指令的立即数字段和程序计数器值的结果;响应于检测到所述指令序列,防止间接跳转目标预测器电路生成对所述第二指令的目标地址预测;以及响应于检测到所述指令序列,在将所述第一指令发布到所述处理器核的流水线的执行级之前确定所述第二指令的目标地址。12.根据权利要求11所述的方法,其中,在所述指令序列进入包括所述间接跳转目标预测器电路的所述提取级之前检测所述指令序列,并且其中,防止所述间接跳转目标预测器电路生成所述第二指令的目标地址预测包括:响应于检测到所述指令序列,禁用所述间接跳转预测器电路。13.根据权利要求11所述的方法,其中,所述流水线包括多个提取级,在所述指令序列通过在所述流水线中比包括所述间接跳转目标预测器电路的提取级更早的早期提取级时检测所述指令序列,并且其中,防止所述间接跳转目标预测器电路生成所述第二指令的目标地址预测包括:响应于检测到所述指令序列,禁用所述间接跳转预测器电路。14.根据权利要求11至13中的任一项所述的方法,其中,防止所述间接跳转目标预测器电路生成所述第二指令的目标地址预测包括:更新指令高速缓存标签中的状态位,这使得当所述第二指令进入包括所述间接跳转目标预测器电路的所述流水线的级时所述间接跳转目标预测器电路被禁用。15.根据权利要求11至13中的任一项所述的方法,其中,防止所述间接跳转目标预测器电路生成所述第二指令的目标地址预测包括:更新指令高速缓存通路预测器中的状态位,这使得当所述第二指令进入包括所述间接跳转目标预测器电路的所述流水线的级时所述间接跳转...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。