指令处理方法、装置、处理器和电子设备制造方法及图纸

技术编号:35458980 阅读:15 留言:0更新日期:2022-11-03 12:22
本申请涉及计算机领域,公开了一种指令处理方法、装置、处理器和电子设备。在对具有进位标志依赖关系的第一指令和第二指令进行处理时,在第一时钟周期对应于第一指令进行解码,然后进入第二时钟周期;在第二时钟周期内,此时对应于第一指令进行移位,同时对应于第二指令进行解码,但是由于此时未产生第一指令的进位标志结果,此时不等待第一指令的进位标志结果的产生,结束对第二指令的解码使得处理第二指令的过程由第二周期进入第三周期。因而,在处理具有进位标志依赖关系的第一指令和第二指令时,由于第二指令提前进入第三周期,使得第二指令的下一指令可以不需要多等待一个时钟周期提前进入解码阶段,进而当处理多条指令时,提高处理效率。提高处理效率。提高处理效率。

【技术实现步骤摘要】
指令处理方法、装置、处理器和电子设备


[0001]本申请涉及计算机领域,特别是涉及一种指令处理方法、装置、处理器和电子设备。

技术介绍

[0002]在计算机系统中,算术逻辑单元(Arithmetic Logic Unit,ALU)是中央处理器的主要组成部分,用于执行算术和逻辑运算,例如加法、减法以及布尔比较等。与算术逻辑单元对应的ALU指令,通常包含在指令集架构(Instruction Set Architecture,ISA)中。ALU指令是一个大的指令集合,包括加法(Addition)指令、减法(Subtract)指令以及比较指令等。处理器根据接收到的ALU指令进行运算,其中,当处理器接收到有进位标志(Carry Flag,CF)依赖关系的两条指令后,会存在执行后一条指令的时候需要用到前一条指令的进位标志CF结果的情况,例如,对于连续的两条指令,第一条指令为ADCS(带进位加法并更新进位标志结果)指令,第二条指令为ADC(带进位加法)指令,此时由于第一条指令得到的进位标志CF结果会使标志寄存器中的进位标志CF值更新,所以第二条ADC指令被执行时,就需要使用第一条ADCS指令的进位标志CF结果,即第二条指令需要基于第一条指令的进位标志CF结果才能得到相应结果。
[0003]然而,处理器在执行有进位标志依赖关系的两条指令时,若执行第一条指令时获取进位标志CF结果的时间较长,当处理器利用流水线(pipeline)方式处理指令时,由于第二条指令的结果需要基于第一条指令的进位标志CF结果才能得到,所以处理器在对第二条指令进行解码时需要额外的等待时间,使得处理器在处理第二条指令的下一条指令时需要多等待一个时钟周期进入解码阶段,进而使得处理器在处理多条指令时,需要花费较多的时间,处理效率低。

技术实现思路

[0004]有鉴于此,本申请实施例提供了一种指令处理方法、装置、处理器和电子设备。
[0005]第一方面,本申请实施例提供了一种基于进位标志的指令处理装置,指令处理装置包括,解码单元、第一寄存单元、移位单元、第一算术逻辑单元、第二寄存单元、第二算术逻辑单元,并且其中,
[0006]所述解码单元,用于对获取到的第一指令和第二指令进行解码;其中,
[0007]对于所述第一指令,将解码得到的所述第一指令的第一源操作数、所述第一指令的第二源操作数、所述第一指令的移位位数、所述第一指令的进位标志值、所述第一指令的移位控制信号以及所述第一指令的相加控制信号送给所述第一寄存单元;以及,对于所述第二指令,在不等待所述第一指令的进位标志结果的产生的情况下,将解码得到的所述第二指令的第一源操作数、所述第二指令的第二源操作数、所述第二指令的第一相加控制信号以及所述第二指令的第二相加控制信号送给所述第一寄存单元;其中,所述第一指令与所述第二指令具有进位标志依赖关系,并且所述第一指令的第二源操作数需要进行移位操
作,所述第二指令的第二源操作数不需要进行移位操作;
[0008]所述第一寄存单元,用于存储所述第一指令的第一源操作数、所述第一指令的第二源操作数、所述移位位数、所述移位控制信号、所述相加控制信号,并且将所述第一指令的第二源操作数、所述移位位数以及所述移位控制信号送给所述移位单元,将所述第一指令的第一源操作数、所述第一指令的进位标志值以及所述相加控制信号送给所述第二寄存单元;以及,用于存储所述第二指令的第一源操作数、所述第二指令的第二源操作数、所述第二指令的第一相加控制信号以及所述第二指令的第二相加控制信号,并且将所述第二指令的第一源操作数、所述第二指令的第二源操作数以及所述第一相加控制信号送给所述第一算术逻辑单元,将所述第二相加控制信号送给所述第二寄存单元;
[0009]所述移位单元,用于根据所述移位控制信号以及所述移位位数将所述第一指令的第二源操作数进行移位操作得到移位操作数,并且将所述移位操作数送给所述第二寄存单元;
[0010]所述第一算术逻辑单元,用于根据所述第一相加控制信号将所述第二指令的第一源操作数以及所述第二指令的第二源操作数相加,并且将所述第二指令的第一源操作数以及所述第二指令的第二源操作数送给所述第二寄存单元;
[0011]所述第二寄存单元,用于存储所述第一指令的第一源操作数、所述移位操作数以及所述相加控制信号,并且将所述第一指令的第一源操作数、所述移位操作数以及所述相加控制信号送给第二算术逻辑单元;用于存储所述第二指令的第一源操作数、所述第二指令的第二源操作数、所述第二算术逻辑单元传递的所述第一指令的进位标志结果以及所述第二相加控制信号,并且将所述第二指令的第一源操作数、所述第二指令的第二源操作数、所述第二相加控制信号以及所述第一指令的进位标志结果送给所述第二算术逻辑单元;
[0012]所述第二算术逻辑单元,用于根据所述相加控制信号将所述第一指令的第一源操作数、所述移位操作数、所述第一指令的进位标志值相加,得到所述第一指令的和值以及所述第一指令的进位标志结果;用于根据所述第二相加控制信号将所述第二指令的第一源操作数、所述第一指令的第二源操作数以及作为所述第二指令的进位标志值的所述第一指令的进位标志结果相加,得到所述第二指令的和值。
[0013]可以理解的,上述基于进位标志的指令处理装置为指令处理装置200b。
[0014]可以理解的,当解码单元在对第二指令处理的时候,不等待第一指令的进位标志结果,将解码得到的第二指令的第一源操作数、第二指令的第二源操作数、第二指令的第一相加控制信号以及第二指令的第二相加控制信号送给所述第一寄存单元,使得第二指令结束解码操作,从而进入下一个时钟周期,利用第一算术逻辑单元根据第一相加控制信号将第二指令的第一源操作数以及第二指令的第二源操作数相加,此时仅仅是为了使第二指令的处理过程与第二算术逻辑单元处理第一指令的过程保持一致,从而第二寄存单元才可以在差不多的时间收到第二指令的第一源操作数以及第二源操作以及第一指令的进位标志结果,使得第二算术逻辑单元可以在得到第一指令的进位标志结果后的下一周期就可以根据第二指令的第一源操作数以及第二源操作数以及第一指令的进位标志结果在第二相加控制信号下进行相加,从而得到第二指令的和值,在该过程中,利用了在处理器中具有与第一算术逻辑单元处理第二指令时的对应的功能相同的第二算术逻辑单元,使得在不延长处理第二指令的时钟周期的情况下,使第二指令的下一条指令提前进入解码阶段,从而使得
第二指令的下一条指令可以早一些时间完成,在处理多条指令的情况下,提高了处理多条指令的效率,减少了处理时间。
[0015]在上述第一方面的一种可能的实现中,所述第一指令与所述第二指令具有进位标志依赖关系,包括,所述第二指令的和值是基于所述第一指令的进位标志结果确定的。
[0016]在上述第一方面的一种可能的实现中,所述对获取到的第一指令和第二指令进行解码,包括,
[0017]所述解码单元在第一时钟周期对所述第一指令进行解码,在第二时钟周期对所述第二指令进行解码,所述第二时钟周期是所述第本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于进位标志的指令处理装置,其特征在于,所述指令处理装置包括,解码单元、第一寄存单元、移位单元、第一算术逻辑单元、第二寄存单元、第二算术逻辑单元,并且其中,所述解码单元,用于对获取到的第一指令和第二指令进行解码;其中对于所述第一指令,将解码得到的所述第一指令的第一源操作数、所述第一指令的第二源操作数、所述第一指令的移位位数、所述第一指令的进位标志值、所述第一指令的移位控制信号以及所述第一指令的相加控制信号送给所述第一寄存单元;以及,对于所述第二指令,在不等待所述第一指令的进位标志结果的产生的情况下,将解码得到的所述第二指令的第一源操作数、所述第二指令的第二源操作数、所述第二指令的第一相加控制信号以及所述第二指令的第二相加控制信号送给所述第一寄存单元;其中,所述第一指令与所述第二指令具有进位标志依赖关系,并且所述第一指令的第二源操作数需要进行移位操作,所述第二指令的第二源操作数不需要进行移位操作;所述第一寄存单元,用于存储所述第一指令的第一源操作数、所述第一指令的第二源操作数、所述移位位数、所述移位控制信号、所述相加控制信号,并且将所述第一指令的第二源操作数、所述移位位数以及所述移位控制信号送给所述移位单元,将所述第一指令的第一源操作数、所述第一指令的进位标志值以及所述相加控制信号送给所述第二寄存单元;以及,用于存储所述第二指令的第一源操作数、所述第二指令的第二源操作数、所述第二指令的第一相加控制信号以及所述第二指令的第二相加控制信号,并且将所述第二指令的第一源操作数、所述第二指令的第二源操作数以及所述第一相加控制信号送给所述第一算术逻辑单元,将所述第二相加控制信号送给所述第二寄存单元;所述移位单元,用于根据所述移位控制信号以及所述移位位数将所述第一指令的第二源操作数进行移位操作得到移位操作数,并且将所述移位操作数送给所述第二寄存单元;所述第一算术逻辑单元,用于根据所述第一相加控制信号将所述第二指令的第一源操作数以及所述第二指令的第二源操作数相加,并且将所述第二指令的第一源操作数以及所述第二指令的第二源操作数送给所述第二寄存单元;所述第二寄存单元,用于存储所述第一指令的第一源操作数、所述移位操作数以及所述相加控制信号,并且将所述第一指令的第一源操作数、所述移位操作数以及所述相加控制信号送给第二算术逻辑单元;用于存储所述第二指令的第一源操作数、所述第二指令的第二源操作数、所述第二算术逻辑单元传递的所述第一指令的进位标志结果以及所述第二相加控制信号,并且将所述第二指令的第一源操作数、所述第二指令的第二源操作数、所述第二相加控制信号以及所述第一指令的进位标志结果送给所述第二算术逻辑单元;所述第二算术逻辑单元,用于根据所述相加控制信号将所述第一指令的第一源操作数、所述移位操作数、所述第一指令的进位标志值相加,得到所述第一指令的和值以及所述第一指令的进位标志结果;用于根据所述第二相加控制信号将所述第二指令的第一源操作数、所述第一指令的第二源操作数以及作为所述第二指令的进位标志值的所述第一指令的进位标志结果相加,得到所述第二指令的和值。2.根据权利要求1所述的装置,其特征在于,所述第一指令与所述第二指令具有进位标志依赖关系,包括,所述第二指令的和值是基于所述第一指令的进位标志结果确定的。3.根据权利要求2所述的装置,其特征在于,所述对获取到的第一指令和第二指令进行
解码,包括,所述解码单元在第一时钟周期对所述第一指令进行解码,在第二时钟周期对所述第二指令进行解码,所述第二时钟周期是所述第一时钟周期的下一时钟周期。4.根据权利要求1至3中任一所述的装置,其特征在于,所述在不等待所述第一指令的进位标志结果的产生的情况,包括,所述解码单元在未接收到所述第一指令的进位标志结果的情况下结束对所述第二指令的解码。5.根据权利要求1所述的装置,其特征在于,所述解码单元为解码器,所述第一寄存单元为寄存器组,所述第二寄存单元为寄存器组,所述移位单元为移位器。6.一种基于进位标志的指令处理方法,应用于电子设备,其特征在于,包括,在第一时钟周期对获取的第一指令进行解码,得到所述第一指令的第一源操作数、所述第一指令的第二源操作数、所述第一指令的进位标志值、所述第一指令的移位位数、所述第一指令的移位控制信号以及所述第一指令的相加控制信号;在紧随着所述第一时钟周期后的第二时钟周期,根据所述移位控制信号以及所述移位位数对所述第一指令的第二源操作数进行移位操作,得到移位操作数;同时,对获取的第二指令进行解码得到所述第二指令的第一源操作数、所述第二指令的第二源操作数、所述第二指令的第一相加控制信号、所述第二指令的第二相加控制信号,并且不等待所述第一指令的进位标志结果的产生;其中,所述第一指令与所述第二指令具有进位标志依赖关系,并且所述第一指令的第二源操作数需要进行移位操作,所述第二指令的第二源操作数不需要进行移位操作;其中,所述第一指令的第二源操作数需要进行移位操作,所述第一指令的进位标志结果作为所述第二指令的进位标志值参与运算,并且,所述第二指令的第二源操作数不需要进行移位操作;在紧随着所述第二时钟周期后的第三时钟周期,根据所述相加控制信号对所述第一指令的第一源操作数、所述移位操作数以及所述第一指令的进位标志值相加得到所述第一指令的和值以及所述第一指令的进位标志结果;同时,根据所述第一相加控制信号对所述第二指令的第一源操作数、所述第二指令的第二源操作数相加,并且将产生的所述第一指令的进位标志结果作为所述第二指令的进位标志值;在紧随着第三时钟周期后的第四时钟周期,根据第二相加控制信号对所述第二指令的第一源操作数、所述第二指令的第二源操作数以及作为所述第二指令的进位标志值的所述第一指令的进位标志结果相加,得到所述第二指令的和值。7.根据权利要求6所述的方法,其特征在于,所述第一指令与所述第二指令具有进位标志依赖关系,包括,所述第二指令的和值是基于所述第一指令的进位标志结果确定的。8.根据权利要求6或7所述的方法,其特征在于,所述相加控制信号为,将所述第一指令的第一源操作数、所述第一指令的第二源操作数以及所述第一指令的进位标志值相加的控制信号。9.根据权利要求6或7所述的方法,其特征在于,所述第一相加控制信号为,将所述第二指令的第一源操作数、所述第二指令的第二源操作数相加的控制信号;所述第二相加控制信号为,将所述第二指令的第一源操作数、所述第二指令的第二源操作数以及所述第二指令的进位标志值相加的控制信号。
10.一种基于进位标志的指令处理装置,其特征在于,所述指令处理装置包括,解码单元、第一寄存单元、移位单元、第一算术逻辑单元、第一执行单元、选择单元、第二寄存单元、第二算术逻辑单元,并且其中,所述解码单元,用于对获取到的第一指令和第二指令进...

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

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

1