指令处理方法、电子设备和存储介质技术

技术编号:35306364 阅读:17 留言:0更新日期:2022-10-22 12:56
本发明专利技术涉及计算机技术领域,具体涉及一种指令处理方法、存储介质及电子设备,该方法包括:在当前指令由于依赖其他指令的执行结果而可能被停顿在当前流水阶段无法执行当前步骤时,通过将当前指令映射至其他指令完成执行得到执行结果的其他流水阶段,从而将当前流水阶段空出,以便当前指令的后续指令可以进入当前流水阶段执行对应步骤,提高后续指令的执行效率。同时,由于将当前指令从当前流水阶段映射至其他流水阶段,避免了当前指令停顿在当前流水阶段,进而避免了当前指令所在流水线产生气泡的情况出现。泡的情况出现。泡的情况出现。

【技术实现步骤摘要】
指令处理方法、电子设备和存储介质


[0001]本专利技术涉及计算机
,具体涉及一种指令处理方法、存储介质及电子设备。

技术介绍

[0002]处理器指令的执行步骤可以通过流水线方式实现,一条指令可以包括取指、译码、运算、写回等多个执行步骤,一条流水线包括多个流水阶段,而每个执行步骤至少占用流水线上的一个流水阶段的某一时钟周期。
[0003]当第一指令的执行需要依赖其他指令的执行结果且其他指令还未得到该执行结果时,第一指令会被暂停执行,等待其他指令得到执行结果后,第一指令才能继续执行,而第一指令的暂停执行会导致第一指令停顿在暂停步骤所对应流水线上的流水阶段,进而影响该流水线上第一指令后续的其他指令的执行效率。

技术实现思路

[0004]本专利技术实施例提供了一种指令处理方法,在当前指令由于依赖其他指令的执行结果而可能被停顿在当前流水阶段无法执行当前步骤时,通过将当前指令映射至其他指令完成执行得到执行结果的其他流水阶段,从而将当前流水阶段空出,以便当前指令的后续指令可以进入当前流水阶段执行对应步骤,提高后续指令的执行效率。
[0005]第一方面,本专利技术提供了一种指令处理方法,应用于电子设备,该方法包括:电子设备确定出第一指令的第一步骤依赖于第二指令的第二步骤的第一执行结果;其中,第一指令运行于第一流水线,第二指令运行于第二流水线,第一步骤与第二步骤在第一时钟周期的执行步骤;将第一指令从第一流水阶段映射至第二流水阶段,其中,第一流水阶段为第一指令执行第一步骤前所在的流水阶段,第二流水阶段为第二指令执行第二步骤时所在的流水阶段;第三指令进入第一流水阶段执行第三步骤;其中,第三指令为第一流水线中,第一指令的后续指令。
[0006]在本专利技术实施例中,在确定出通过第一流水线运行的第一指令的执行,依赖于通过第二流水线运行的第二指令的第一执行结果时,将第一指令映射至第二指令得到第一执行结果时所在的第二流水线的第二流水阶段,避免第一指令停顿在第一流水线上,并在得到第二指令对应的第一执行结果后,由第二流水阶段的下一个时钟周期所对应的流水阶段执行第一指令,从而第一流水线的后续指令可以继续执行对应步骤或进入第一流水线执行对应步骤,而无需等待第一指令的执行,提高第一指令的后续指令的执行效率。其中,上述第一指令相当于具体实施例中的第二指令或指令B,第二指令相当于具体实施例中的第一指令或指令A,第三指令相当于具体实施例中的指令C。
[0007]在上述第一方面的一种可能的实现中,上述将第一指令从第一流水阶段映射至第二流水阶段,包括:将第一指令从第一流水线映射至第二流水线。
[0008]在本专利技术实施例中,将第一指令映射到第二指令所在的第二流水线上。
[0009]在上述第一方面的一种可能的实现中,上述方法还包括:利用第二流水线在第三
流水阶段执行第一步骤,其中,第三流水阶段为第二流水阶段的后续流水阶段,第三流水阶段的输入数据对应的流水寄存器为第一流水寄存器和第二流水寄存器,第一流水寄存器用于存储第一执行结果。
[0010]在本专利技术实施例中,第一流水寄存器和第二流水寄存器相当于具体实施例中的子寄存器。
[0011]在上述第一方面的一种可能的实现中,上述方法还包括:第一步骤依赖于第一执行结果和第二执行结果,第二执行结果由在第一时钟周期前执行的第四步骤得到并存储于对应于第一流水线的第三流水寄存器中;并且将第一指令从第一流水阶段映射至第二流水阶段,包括:将第二执行结果从第三流水寄存器转存至第二流水寄存器中。
[0012]在上述第一方面的一种可能的实现中,上述利用第二流水线的第三流水阶段执行第一步骤,包括:在第一执行结果存储在第一流水寄存器后,基于第一流水寄存器和第二流水寄存器中的数据,得到第一步骤的执行结果。
[0013]在上述第一方面的一种可能的实现中,上述在第三指令进入第一流水阶段执行第三步骤之后,包括:将第三步骤的执行结果存储于第二流水寄存器中。
[0014]在上述第一方面的一种可能的实现中,上述方法还包括:第一指令的执行步骤至少包括取指、译码、运算,第一步骤对应于第一指令的运算执行步骤;第二指令的执行步骤至少包括取指、译码、运算,第二步骤对应于第二指令的运算执行步骤。
[0015]第二方面,本专利技术提供了一种处理器,包括:控制单元,用于在第一流水阶段获取第一指令和第三指令;运算单元,用于在第二流水阶段执行第二步骤、在第三流水阶段执行第一步骤。
[0016]第三方面,本专利技术实施例提供了一种可读存储介质,该可读存储介质上存储有指令,该指令在电子设备上执行时使电子设备实现上述第一方面及上述第一方面的各种可能实现提供的任意一种指令处理方法。
[0017]第四方面,本专利技术实施例提供了一种电子设备,该电子设备包括:存储器,用于存储由电子设备的一个或多个处理器执行的指令;以及处理器,是电子设备的处理器之一,用于执行存储器中存储的指令以实现上述第一方面及上述第一方面的各种可能实现提供的任意一种指令处理方法。
[0018]第五方面,本专利技术实施例提供了一种程序产品,该程序产品在电子设备上运行时可以使电子设备实现上述第一方面及上述第一方面的各种可能实现提供的任意一种指令处理方法。
附图说明
[0019]图1根据本专利技术的一些实施例,示出了一种计算装置11的框架图;
[0020]图2A根据本专利技术的一些实施例,示出了一种指令流水线在时钟周期T01的流水示意图;
[0021]图2B根据本专利技术的一些实施例,示出了一种指令流水线在时钟周期T02的流水示意图;
[0022]图2C根据本专利技术的一些实施例,示出了一种指令流水线在时钟周期T03的流水示意图;
[0023]图2D根据本专利技术的一些实施例,示出了另一种指令流水线在时钟周期T02的流水示意图;
[0024]图2E根据本专利技术的一些实施例,示出了另一种指令流水线在时钟周期T03的流水示意图;
[0025]图3根据本专利技术的一些实施例,示出了一种指令处理方法的流程图;
[0026]图4根据本专利技术的一些实施例,示出了一种电子设备的结构图。
具体实施方式
[0027]本专利技术的说明性实施例包括但不限于一种指令处理方法、存储介质及电子设备。
[0028]下面结合附图对本专利技术的技术方案进行介绍。
[0029]图1根据本专利技术的一些实施例,示出了一种计算装置11的框架图。如图1所示,装置11可以包括处理器110,处理器110可以包括控制单元111、运算单元112、存储单元113。控制单元111可以包括指令寄存器(Instruction Register,IR)、指令译码器(Instruction Decoder,ID)等,指令寄存器用于获取指令(以下简称取指),指令译码器用于对指令解码(以下简称译码);运算单元112可以包括算术逻辑器(arithmetic and logic unit,ALU),算术逻辑器用于对译码得到的数据按照运算逻辑进行计算(以下本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种指令处理方法,应用于电子设备,其特征在于,包括:所述电子设备确定出第一指令的第一步骤依赖于第二指令的第二步骤的第一执行结果;其中,所述第一指令运行于第一流水线,所述第二指令运行于第二流水线,所述第一步骤与所述第二步骤在第一时钟周期的执行步骤;将所述第一指令从第一流水阶段映射至第二流水阶段,其中,所述第一流水阶段为所述第一指令执行所述第一步骤前所在的流水阶段,所述第二流水阶段为所述第二指令执行所述第二步骤时所在的流水阶段;第三指令进入所述第一流水阶段执行第三步骤;其中,所述第三指令为所述第一流水线中,所述第一指令的后续指令。2.根据权利要求1所述的方法,其特征在于,所述将所述第一指令从第一流水阶段映射至第二流水阶段,包括:将所述第一指令从所述第一流水线映射至所述第二流水线。3.根据权利要求2所述的方法,其特征在于,还包括:利用所述第二流水线在第三流水阶段执行所述第一步骤,其中,所述第三流水阶段为所述第二流水阶段的后续流水阶段,所述第三流水阶段的输入数据对应的流水寄存器为第一流水寄存器和第二流水寄存器,所述第一流水寄存器用于存储所述第一执行结果。4.根据权利要求3所述的方法,其特征在于,所述第一步骤依赖于所述第一执行结果和第二执行结果,所述第二执行结果由在所述第一时钟周期前执行的第四步骤得到并存储于对应于所述第一流水线的第三流水寄存器中;并且所述将所述第一指令从第一流水阶段映射至第二流水阶段,包括:将所述第二执行结果从所...

【专利技术属性】
技术研发人员:王云贵郝成龙
申请(专利权)人:安谋科技中国有限公司
类型:发明
国别省市:

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

1