指令处理方法、处理器、装置以及存储介质制造方法及图纸

技术编号:34332539 阅读:19 留言:0更新日期:2022-07-31 02:21
本申请实施例公开了一种指令处理方法、处理器、装置以及存储介质,可适用于计算机技术领域。该方法包括:响应于目标流水线执行到目标分支指令,确定目标分支指令对应的目标预测路径;响应于目标预测路径为错误路径,重新确定目标分支指令对应的目标路径;响应于预设缓存空间中存储有目标路径上的各目标指令的目标指令信息,从预设缓存空间获取各目标指令信息,并基于各目标指令信息执行各目标指令。采用本申请实施例,可在分支指令的预测路径为错误路径的情况下,减少获取并执行正确路径上的指令所消耗的时间,提升指令处理效率,适用性高。高。高。

【技术实现步骤摘要】
指令处理方法、处理器、装置以及存储介质


[0001]本申请涉及计算机
,尤其涉及一种指令处理方法、处理器、装置以及存储介质。

技术介绍

[0002]在基于流水线执行各项指令的过程中,在执行到分支指令时需要对分支指令的指令路径进行预测。在预测失败的情况下,需要清空流水线并重新获取分支指令在正确路径的下一个指令,从而消耗大量时间。同时还需要重新获取分支指令在正确路径的指令,进而导致后级流水线处于闲置状态,从而降低指令处理效率。

技术实现思路

[0003]本申请实施例提供一种指令处理方法、处理器、装置以及存储介质,可在分支指令的预测路径为错误路径的情况下,减少获取并执行正确路径对应的指令所消耗的时间,提升指令处理效率,适用性高。
[0004]一方面,本申请实施例提供一种指令处理方法,该方法包括:
[0005]响应于目标流水线执行到目标分支指令,确定上述目标分支指令对应的目标预测路径;
[0006]响应于上述目标预测路径为错误路径,重新确定上述目标分支指令对应的目标路径,上述目标路径为上述目标分支指令对应的正确路径;
[0007]响应于预设缓存空间中存储有上述目标路径上的各目标指令的目标指令信息,从上述预设缓存空间获取各上述目标指令信息,并基于各上述目标指令信息执行各上述目标指令;
[0008]其中,上述预设缓存空间中的指令信息是基于以下方式确定的:
[0009]响应于任一流水线执行到任一分支指令,确定该分支指令对应的预测路径,将上述预测路径上的各指令的指令信息存储至上述预设缓存空间。
[0010]另一方面,本申请实施例还提供了一种处理器,包括分支预测单元,指令缓存单元和执行单元;
[0011]上述分支预测单元,用于响应于目标流水线执行到目标分支指令,确定上述目标分支指令对应的目标预测路径;响应于上述目标预测路径为错误路径,重新确定上述目标分支指令对应的目标路径,上述目标路径为上述目标分支指令对应的正确路径;
[0012]上述执行单元,用于响应于上述指令缓存单元中存储有上述目标路径上的各目标指令的目标指令信息,从上述指令缓存单元获取各上述目标指令信息,并基于各上述目标指令信息执行各上述目标指令;
[0013]其中,上述分支预测单元,还用于响应于任一流水线执行到任一分支指令,确定该分支指令对应的预测路径;上述指令缓存单元,用于存储上述预测路径上的各指令的指令信息。
[0014]另一方面,本申请实施例提供了一种指令处理装置,该装置包括:
[0015]分支预测模块,用于响应于目标流水线执行到目标分支指令,确定上述目标分支指令对应的目标预测路径;
[0016]分支判断模块,用于响应于上述目标预测路径为错误路径,重新确定上述目标分支指令对应的目标路径,上述目标路径为上述目标分支指令对应的正确路径;
[0017]指令处理模块,用于响应于预设缓存空间中存储有上述目标路径上的各目标指令的目标指令信息,从上述预设缓存空间获取各上述目标指令信息,并基于各上述目标指令信息执行各上述目标指令;
[0018]其中,上述预设缓存空间中的指令信息是基于以下方式确定的:
[0019]响应于任一流水线执行到任一分支指令,确定该分支指令对应的预测路径,将上述预测路径上的各指令的指令信息存储至上述预设缓存空间。
[0020]另一方面,本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行以实现本申请实施例提供的指令处理方法。
[0021]在本申请实施例中,通过将各个分支指令在预测路径上的各个指令的指令信息进行缓存,从而在某一分支指令对应的预测路径为错误路径的情况下,可直接从预设缓存空间获取该分支指令对应的正确路径上的指令,从而快速填充流水线,提升指令处理效率,节省指令处理时间。
附图说明
[0022]为了更清楚地说明本申请实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0023]图1是本申请实施例提供的指令处理方法的流程示意图;
[0024]图2是本申请实施例提供的预设缓存空间的结构示意图;
[0025]图3是本申请实施例提供的指令处理方法的一流程框架示意图;
[0026]图4是本申请实施例提供的处理器的结构示意图;
[0027]图5是本申请实施例提供的指令处理装置的结构示意图。
具体实施方式
[0028]下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0029]参见图1,图1是本申请实施例提供的指令处理方法的流程示意图。如图1所示,本申请实施例提供的指令处理方法具体可包括如下步骤:
[0030]步骤S11、响应于目标流水线执行到目标分支指令,确定目标分支指令对应的目标预测路径。
[0031]在本申请实施例中,目标流水线为当前正在执行的流水线。针对目标流水线执行各项指令时,可通过取指单元(Instruction Fetch Unit,IFU)根据启动地址(bootaddress)来获取起始指令,并对起始指令进行译码分析以根据译码后的指令信息执行起始指令。并且在对起始指令进行译码分析和执行过程中,通过指令计数器(Program Counter,PC)确定下一个所要执行的指令的指令地址。
[0032]其中,为了保证流水线能够连续地执行下去,在流水线开始执行前,需要将起始指令的启动地址送入指令计数器。当执行指令时,CPU将自动修改指令计数器的内容,即每执行一条指令使指令计数器增加一个量,这个量等于指令所含的字节数,以便指令计数器保持的总是将要执行的下一条指令的指令地址。
[0033]其中,流水线中往往包括分支指令,当执行到分支指令时往往需要确定分支指令的正确路径,以进一步执行正确路径上的各项指令。因此,当目标流水线执行到目标分支指令时,需要确定目标分支指令的目标预测路径。
[0034]其中,在确定任一流水线中任一分支指令的预测路径时,可通过分支预测器确定。其中,分支指令是改变流水线流程的指令。如果分支指令成立,那么下一条将要执行的指令就会被改变。
[0035]在本申请实施例中,目标分支指令可以为目标流水线中的任意一个条件分支指令。
[0036]步骤S12、响应于目标预测路径为错误路径,重新确定目标分支指令对应的目标路径。
[0037]在一些可行的实施方式中,确定目标分支指令对应的目标预测路径也可视为确定目标分支指令之后下一个所要执行的指令的指令地址。
[0038]本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种指令处理方法,其特征在于,所述方法包括:响应于目标流水线执行到目标分支指令,确定所述目标分支指令对应的目标预测路径;响应于所述目标预测路径为错误路径,重新确定所述目标分支指令对应的目标路径,所述目标路径为所述目标分支指令对应的正确路径;响应于预设缓存空间中存储有所述目标路径上的各目标指令的目标指令信息,从所述预设缓存空间获取各所述目标指令信息,并基于各所述目标指令信息执行各所述目标指令;其中,所述预设缓存空间中的指令信息是基于以下方式确定的:响应于任一流水线执行到任一分支指令,确定该分支指令对应的预测路径,将所述预测路径上的各指令的指令信息存储至所述预设缓存空间。2.根据权利要求1所述的方法,其特征在于,所述将所述预测路径上的各指令的指令信息存储至所述预设缓存空间,包括:确定所述预测路径上的第一个指令的指令地址;将第一个指令的指令地址确定为所述预测路径对应的基地址;将所述预测路径对应的基地址和所述预测路径上的各指令的指令信息关联存储至所述预设缓存空间。3.根据权利要求2所述的方法,其特征在于,确定所述预设缓存空间存储有各所述目标指令的目标指令信息,包括:确定第一个所述目标指令的目标指令地址,并将所述目标指令地址与所述预设缓存空间中的各个基地址进行匹配;响应于所述预设缓存空间中存储有与所述目标指令地址相匹配的目标基地址,确定所述预设缓存空间存储有各所述目标指令的目标指令信息。4.根据权利要求3所述的方法,其特征在于,所述方法还包括:确定所述预测路径对应的最大偏移量,所述最大偏移量用于指示所述预测路径上的指令的指令数量;将所述预测路径对应的最大偏移量存储至所述预设缓存空间,所述预测路径对应的最大偏移量与所述预测路径对应的基地址和各指令的指令信息相关联。5.根据权利要求4所述的方法,其特征在于,在执行各所述目标指令的过程中,所述方法还包括:确定所述预设缓存空间中与所述目标基地址关联存储的目标最大偏移量;基于所述目标最大偏移量和第一个所述目标指令的目标指令地址,确定执行各所述目标指令之后的下一个待执行指令的指令地址;基于所述待执行指令的指令地址获取所述待执行指令,在执行各所述目标指令后继续执行所述待执行指令。6.根据权利要求1所述的方法,其特征在于,所述方法还包括:响应于所述预设缓存空间中未存储有各所述目标指令的目标指令信息,通过取指单元获取各所述目标指令并执行各所述目标指令。7.根据权利要求1所述的方法,其特征在于,将所述预测路径上的各指令的指令信息存
储至所述预设缓存空间之后,所述方法还包括:响应于所述预测路径为正确路径,清除所述预设缓存空间中所述预测路径上的各指令的指令信息。8.一种处理器,其特征在于,包括分支预测单元、指令缓存单元和执行单元;所述分支预测单元,用于响应于目标流水线执行到目标分支指令,确定所述目标分支指令对应的目标预测路径;响应于所述目标预测路径为错误路径,重新确定所述目标分支指令对应的目标路径,所述目标路径为所述目标分支指令对应的正确路径;所述执行单元,用于响应于所述指令缓存单元中存储有所述目标...

【专利技术属性】
技术研发人员:郭向飞
申请(专利权)人:北京奕斯伟计算技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1