一种指令融合方法、处理器核、处理器和计算机系统技术方案

技术编号:38818377 阅读:25 留言:0更新日期:2023-09-15 19:57
本发明专利技术公开一种指令融合方法及支持该融合方法的处理器,如下步骤:S1、获取执行顺序相邻两条指令分别为第一条指令和第二条指令;S2、当检测到第一条指令是条件传送指令,第二条指令是运算指令,且第一条指令和第二条指令是寄存器相关时,将第一条指令和第二条指令进行融合,得到包括融合信息的条件运算指令。本发明专利技术通过条件传送指令和运算指令的指令融合可以减少执行的指令数量,可以执行更复杂的操作,用更少的时间完成更多的操作,可以减少由于指令之间的相关性产生的等待时间,从而加快处理器执行速度。并且,没有增加额外指令,与已有的处理器有更好的兼容性。有的处理器有更好的兼容性。有的处理器有更好的兼容性。

【技术实现步骤摘要】
一种指令融合方法、处理器核、处理器和计算机系统


[0001]本专利技术涉及处理器
,尤其涉及一种指令融合方法、处理器核、处理器和计算机系统。

技术介绍

[0002]现有通用处理器架构主要分为精简指令集计算机(Reduced Instruction Set Computing,RISC)和复杂指令集计算机(Complex Instruction Set Computing,CISC),CISC指令集中一条指令可以完成很多操作,但处理器的设计较为复杂,容易产生冗余或者低效指令,而RISC指令集每条指令只执行单个简单操作,如加法操作、减法操作等,但它的指令长度较短,格式规整,大大降低了译码的难度,同时易于流水线结构的设计,能够快速执行指令。现在主流的RISC

V指令集就是精简指令集,精简指令集虽然指令简单,但执行一个程序可能需要更多的指令,如果可以减少指令个数,那么RISC处理器可以有更高的性能。
[0003]指令融合方法是将邻近的两条或多条指令合并为一条指令,从而减少指令数量,一条被融合的指令在之后的流水线结构中都是融合的。因此融合的指令可以使用更少的时间完成更多的工作,更快的释放了硬件资源,提高了处理器性能。
[0004]RISC

V指令集现有的指令融合方法中,主要是条件分支指令的融合方法和运算指令的融合方法,是对基础指令的融合,对于新增的Zicond扩展指令,即条件传送指令,没有相应的优化,而条件传送指令和条件分支指令相比,两者都是通过条件判断做出选择,但条件传送指令不需要经过分支预测,可以减少预测失败的可能性。另外,条件传送指令的在程序中的应用非常多,它是一个二选一的逻辑:A?B:C,相当于if else条件选择。因此,为了进一步提升处理器的执行效率,需要对条件传送指令进行指令融合。
[0005]专利公布号为CN115576608公开一种处理器核、处理器、芯片、控制设备和指令融合方法。其中,处理器核包括:取指单元,用于获取时序相邻的两条机器指令;融合检测单元,用于判断两条机器指令是否满足融合条件;若满足,则融合第一操作指令和第二操作指令,得到融合指令;译码单元,用于对融合指令进行译码操作,获得译码结果及融合指令对应的操作数;执行单元,用于按照融合指令的操作指示,对操作数进行掩码操作,获得融合指令的执行结果。
[0006]专利公布号为CN115562725公开一种指令融合方法、处理器、计算机系统及存储介质,其中,所述指令融合方法包括:获取执行顺序相邻第一指令和第二指令;当检测到所述第一指令的数据和所述第二指令的数据具有相关性时,将所述第一指令和所述第二指令进行融合,得到包括融合信息的融合对比跳转指令,所述融合对比跳转指令适于基于比较结果进行指令跳转,所述融合信息包括所述第一指令的第一指令信息和所述第二指令的第二指令信息。
[0007]上述两篇对比文件均公开了指令融合方法,但上述融合方法指令条数多,易占用硬件资源,降低处理器的执行速度,由于指令之间先写后读相关性易产生停顿,在执行更复杂的操作,需要增加额外指令,无法与处理器有更好的兼容性。
[0008]上述记载的专业术语释义:
[0009]1、处理器:计算机系统的运算和控制核心。
[0010]2、流水线结构:指将指令处理过程分解成多个阶段,并将每个阶段独立地执行,形成一条指令流水线。每个阶段执行不同的操作,如取指、译码、执行、访存、写回等。这样可以使处理器同时处理多条指令,提高处理器的执行效率。
[0011]3、条件分支指令:判断源操作数是否相等进行地址跳转,即地址选择。
[0012]4、条件传送指令:判断源操作数是否等于0进行数据选择。
[0013]5、运算指令:执行运算操作的指令,例如加法、减法等。

技术实现思路

[0014]本专利技术目的在于针对现有技术所存在的不足而提供一种指令融合方法、处理器核、处理器和计算机系统的技术方案。
[0015]为了解决上述技术问题,本专利技术采用如下技术方案:
[0016]一种指令融合方法,其特征在于包括如下步骤:
[0017]S1、获取执行顺序相邻两条指令分别为第一条指令和第二条指令;
[0018]S2、当检测到第一条指令是条件传送指令,第二条指令是运算指令,且第一条指令和第二条指令是寄存器相关时,将第一条指令和第二条指令进行融合,得到包括融合信息的条件运算指令。
[0019]进一步,第一条指令和第二条指令是寄存器相关,具体包括:
[0020]第一条指令的目的寄存器和第二条指令的目的寄存器相同,且第一条指令的目的寄存器与第二条指令的源寄存器相同,则融合第一条指令和第二条指令,得到融合后的条件运算指令。
[0021]进一步,融合信息包括第一条指令和第二条指令的指令有效编码信息。
[0022]一种处理器核,其特征在于:处理器核配置为执行如上述的指令融合方法,包括:
[0023]1)取指令单元:用于取出执行顺序相邻的第一条指令和第二条指令,供后续的指令译码和指令执行;
[0024]2)指令译码单元:用于对融合指令进行译码,得到融合指令的译码信息;
[0025]3)指令发射单元:用于根据指令的类型和操作数,将指令分配到相应的执行单元中,并将执行单元所需的操作数进行传递;
[0026]4)指令执行单元:用于对条件运算指令进行先运算再选择的操作。
[0027]进一步,取指令单元包括:
[0028]预译码单元:用于为指令融合提供信息;
[0029]和融合检测单元:用于根据第一条指令和第二条指令的信息判断是否可以融合为条件运算指令。
[0030]进一步,预译码单元的为指令融合提供信息包括译码出第一条指令和第二条指令的指令类型和寄存器信息。
[0031]进一步,处理器核还包括指令退休单元:用于将执行结果写回目的寄存器,将进行融合的条件传送指令和运算指令进行同时退休处理。
[0032]一种处理器,其特征在于:包括至少一个如上述的处理器核。
[0033]一种计算机系统,其特征在于:包括适于执行如上述的处理器。
[0034]本专利技术由于采用了上述技术方案,具有以下有益效果:
[0035]1、本专利技术的融合方法可以减少指令条数,进而减少硬件资源占用,加快处理器执行速度。
[0036]2、本专利技术的融合方法可以减少由于指令之间先写后读相关性产生的停顿。
[0037]3、本专利技术的融合方法可以执行更复杂的操作,且不增加额外指令,与处理器有更好的兼容性。
附图说明:
[0038]下面结合附图对本专利技术作进一步说明:
[0039]图1为本专利技术一种指令融合方法、处理器核、处理器和计算机系统中指令融合方法的流程图;
[0040]图2为本专利技术中处理器核的框图;
[0041]图3为本专利技术中条件运算融合指令的执行流程图;
[0042]图4为本专利技术中指令本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种指令融合方法,其特征在于包括如下步骤:S1、获取执行顺序相邻两条指令分别为第一条指令和第二条指令;S2、当检测到所述第一条指令是条件传送指令,所述第二条指令是运算指令,且所述第一条指令和所述第二条指令是寄存器相关时,将所述第一条指令和所述第二条指令进行融合,得到包括融合信息的条件运算指令。2.根据权利要求1所述的一种指令融合方法,其特征在于:所述第一条指令和所述第二条指令是寄存器相关,具体包括:所述第一条指令的目的寄存器和所述第二条指令的目的寄存器相同,且第一条指令的目的寄存器与所述第二条指令的源寄存器相同,则融合所述第一条指令和所述第二条指令,得到融合后的条件运算指令。3.根据权利要求1所述的一种指令融合方法,其特征在于:所述融合信息包括所述第一条指令和所述第二条指令的指令有效编码信息。4.一种处理器核,其特征在于:所述处理器核配置为执行如权利要求1~3中任一项所述的指令融合方法,包括:1)取指令单元:用于取出执行顺序相邻的第一条指令和第二条指令,供后续的指令译码和指...

【专利技术属性】
技术研发人员:苏孝慈罗嘉蕙陈昊文施君澔
申请(专利权)人:进迭时空杭州科技有限公司
类型:发明
国别省市:

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

1