指令处理方法技术

技术编号:39744235 阅读:7 留言:0更新日期:2023-12-17 23:43
本申请实施例提供一种指令处理方法

【技术实现步骤摘要】
指令处理方法、装置、计算机设备和存储介质


[0001]本申请涉及处理器
,具体地,涉及一种指令处理方法

装置

计算机设备和存储介质


技术介绍

[0002]现代处理器技术,为了尽可能提高工作频率和性能,常常会采用流水线技术

例如五级流水线技术

其中,五级流水线技术中的各级负责执行一条指令的部分内容

[0003]然而,在经典的五级流水线架构中,所有任务都集中在运算级来处理,导致性能关键性任务需要同复杂任务抢占执行单元,这种等待会造成流水线卡顿,影响流水线的执行效率


技术实现思路

[0004]本申请实施例中提供了一种指令处理方法

装置

计算机设备和存储介质

[0005]本申请实施例的第一个方面,提供了一种指令处理方法,所述方法包括:从存储器中读取指令;对读取的指令进行解析;对性能关键性指令进行第一次执行,或者对访存指令进行第一次执行;对访存指令进行第二次执行;对性能关键性指令进行第二次执行;异常处理;对性能关键性指令进行第三次执行

[0006]在本申请一个可选的实施例中,所述对性能关键性指令进行第一次执行的条件为:所述性能关键性指令在第一次执行点没有数据依赖关系

[0007]在本申请一个可选的实施例中,在所述性能关键性指令在所述第一次执行点存在所述数据依赖关系时,所述性能关键性指令流向下一级

[0008]在本申请一个可选的实施例中,所述对性能关键性指令进行第二次执行的条件为:所述性能关键性指令在第二次执行点没有数据依赖关系

[0009]在本申请一个可选的实施例中,所述性能关键性指令在所述第二次执行点存在数据依赖关系时,所述性能关键性指令流向下一级

[0010]在本申请一个可选的实施例中,所述对性能关键性指令进行第三次执行的条件为:所述性能关键性指令在第三次执行点没有数据依赖关系

[0011]在本申请一个可选的实施例中,所述从存储器中读取指令包括:对指令执行预取;将指令对齐;对指令执行预解码

[0012]在本申请一个可选的实施例中,所述对读取的指令进行解析,包括:对指令进行全解码,以解析出完整的指令信息

[0013]在本申请一个可选的实施例中,在对性能关键性指令进行第二次执行的执行点,还用于执行系统状态寄存器访问指令

[0014]在本申请一个可选的实施例中,在对性能关键性指令进行第三次执行的执行点,还用于执行浮点运算指令和单指令多数据指令

[0015]在本申请一个可选的实施例中,所述性能关键性指令包括通用运算指令和跳转指


[0016]本申请实施例的第二个方面,提供了一种指令处理装置,包括:读取模块,用于从存储器中读取指令;解析模块,用于对读取的指令进行解析;第一执行模块,用于对性能关键性指令进行第一次执行,或者对访存指令进行第一次执行;第二执行模块,用于对访存指令进行第二次执行;第三执行模块,用于对性能关键性指令进行第二次执行;第四执行模块,用于异常处理;第五执行模块,用于对性能关键性指令进行第三次执行

[0017]本申请实施例的第三个方面,提供了一种计算机设备,包括:包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现如上任一项方法的步骤

[0018]本申请实施例的第四个方面,提供了一种计算机可读存储介质,其上存储有计算机程序,其特征在于,计算机程序被处理器执行时实现如上任一项的方法的步骤

附图说明
[0019]此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定

在附图中:图1为本申请一个实施例提供的经典五级流水线的架构示意图;图2为本申请一个实施例提供的指令处理方法的流程图;图3为本申请一个实施例提供的指令处理方法对应的流水线架构;图4为本申请一个实施例提供的指令处理方法对应的另一种流水线架构;图5为本申请一个实施例提供的指令处理装置结构示意图;图6为本申请一个实施例提供的计算机设备结构示意图

具体实施方式
[0020]在实现本申请的过程中,专利技术人发现,目前的经典五级流水线如图1所示,包括
IF

Instruction Fetch
)指令取指模块
、ID

Instruction Decode
)指令译码模块
、EX

Instruction Execute
)指令执行模块
、MEM

Memory Access
)访存模块和
WB

Write Back
)写回模块,其中,
IF
是指将指令从存储器中读取出来的过程;
ID
是指将存储器中取出的指令进行翻译的过程,经过译码之后得到指令需要的操作数寄存器索引,可以使用此索引从通用寄存器组中将操作数读出;
EX
是指对指令进行真正运算的过程,比如,如果指令是一条加法运算指令,则对操作数进行加法操作,如果指令是一条减法运算指令,则对操作数进行减法操作;
MEM
是指存储器访问指令将数据从存储器中读出,或者写入存储器的过程;
WB
是指指令执行的结果写回通用寄存器组的过程,如果是普通运算指令,该结果值来自于“执行”阶段计算的结果;如果是存储器读指令,该结果来自于“访存”阶段从存储器中读取出来的数据

[0021]上述是一条经典的五级流水线的工作流程,部分指令的生命周期都会经历上述五级流水线,或者五级中的四级(有些指令不需要
WB
,有些指令不需要
MEM


[0022]然而,上述经典流水线存在明显的不足:首先,由于流水线的级数有限,导致每一级都有大量的组合逻辑电路执行相关操作,尤其是
EX
流水线级,对于性能关键性指令和复杂指令同等对待,导致单级流水线处理任务过重,依据电路知识,越重的处理任务意味着大量的逻辑资源消耗,也就意味着电信号需要通过更长的路径,这直接影响着电信号的频率

因此单级流水线任务过重会从根本上限制处理器的工作频率,从而进一步限制其性能

[0023]其次,由于指令的运算执行单元只有一次执行机会,当某些运算指令执行时,另一些运算指令就只能等待

经典五级流水线架构中,所有任务集中在
EX
这一级,导致性能关键性任务需要同复杂任务(往往耗时较长)本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种指令处理方法,其特征在于,所述方法包括:从存储器中读取指令;对读取的指令进行解析;对性能关键性指令进行第一次执行,或者对访存指令进行第一次执行;对访存指令进行第二次执行;对性能关键性指令进行第二次执行;异常处理;对性能关键性指令进行第三次执行
。2.
根据权利要求1所述的指令处理方法,其特征在于,所述对性能关键性指令进行第一次执行的条件为:所述性能关键性指令在第一次执行点没有数据依赖关系
。3.
根据权利要求2所述的指令处理方法,其特征在于,在所述性能关键性指令在所述第一次执行点存在所述数据依赖关系时,所述性能关键性指令流向下一级
。4.
根据权利要求1所述的指令处理方法,其特征在于,所述对性能关键性指令进行第二次执行的条件为:所述性能关键性指令在第二次执行点没有数据依赖关系
。5.
根据权利要求4所述的指令处理方法,其特征在于,所述性能关键性指令在所述第二次执行点存在数据依赖关系时,所述性能关键性指令流向下一级
。6.
根据权利要求1所述的指令处理方法,其特征在于,所述对性能关键性指令进行第三次执行的条件为:所述性能关键性指令在第三次执行点没有数据依赖关系
。7.
根据权利要求1所述的指令处理方法,其特征在于,所述从存储器中读取指令包括:对指令执行预取;将指令对齐;对指令执行预解码
。8.
根据权利要求1所述的指令处理方法,其特征在于,所述对读...

【专利技术属性】
技术研发人员:胡振波彭剑英蔡骏
申请(专利权)人:芯来智融半导体科技上海有限公司
类型:发明
国别省市:

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

1