指令的数据处理方法、相关器件及电子设备技术

技术编号:35743079 阅读:14 留言:0更新日期:2022-11-26 18:46
本申请实施例提供一种指令的数据处理方法、相关器件及电子设备,其中方法包括:通过多条流水线将多条指令的数据输入执行引擎,一条流水线输入一条指令的数据;执行引擎中的逻辑运算单元划分为多个逻辑运算分组,各个逻辑运算分组被部分或者全部流水线复用;针对任一条流水线,根据流水线输入的数据与逻辑运算分组的数据位宽关系,从流水线复用的逻辑运算分组中确定处理数据的目标逻辑运算分组;将流水线输入的数据,选择给流水线的目标逻辑运算分组,以便流水线的目标逻辑运算分组对流水线输入的数据进行逻辑运算;输出目标逻辑运算分组得到的逻辑运算结果。本申请实施例能够降低逻辑运算单元的数据位宽资源被闲置浪费的程度,提升资源利用率。提升资源利用率。提升资源利用率。

【技术实现步骤摘要】
指令的数据处理方法、相关器件及电子设备


[0001]本申请实施例涉及处理器
,具体涉及一种指令的数据处理方法、相关器件及电子设备。

技术介绍

[0002]为提升处理器的性能,处理器可以采用超标量结构(Superscalar Architectures)来提高处理器的指令集并行度。超标量结构可以认为是一种处理器设计,使用超标量结构的处理器(简称超标量处理器)能够在一个时钟周期执行多个指令。
[0003]在指令执行阶段,超标量处理器中的执行引擎可获得流水线输入的数据(该数据可以是指令启动运算的数据,简称为指令的数据),并由执行引擎中的逻辑运算单元对数据进行逻辑运算,以对指令的数据进行处理;此时,如何提升逻辑运算单元的资源利用率,成为了本领域技术人员亟需解决的技术问题。

技术实现思路

[0004]有鉴于此,本申请实施例提供一种指令的数据处理方法、相关器件及电子设备,以提升逻辑运算单元的资源利用率。
[0005]为实现上述目的,本申请实施例提供如下技术方案。
[0006]第一方面,本申请实施例提供一种指令的数据处理方法,包括:
[0007]通过多条流水线将多条指令的数据输入执行引擎,一条流水线输入一条指令的数据;所述执行引擎中的逻辑运算单元划分为多个逻辑运算分组,并且各个逻辑运算分组被所述多条流水线中的部分流水线或者全部流水线复用;
[0008]针对任一条流水线,根据流水线输入的数据与逻辑运算分组的数据位宽关系,从流水线复用的逻辑运算分组中确定处理数据的目标逻辑运算分组;
[0009]以及,针对任一条流水线,将流水线输入的数据,选择给流水线的目标逻辑运算分组,以便流水线的目标逻辑运算分组对流水线输入的数据进行逻辑运算;
[0010]输出所述目标逻辑运算分组得到的逻辑运算结果。
[0011]第二方面,本申请实施例提供一种执行引擎,包括:数据选择器以及逻辑运算单元;所述逻辑运算单元划分为多个逻辑运算分组,并且各个逻辑运算分组被多条流水线中的部分流水线或者全部流水线复用;
[0012]所述多条流水线用于在指令发射阶段,将多条指令的数据输入执行引擎,一条流水线输入一条指令的数据;
[0013]所述数据选择器用于,将流水线输入的数据,选择给流水线的目标逻辑运算分组;其中,针对任一条流水线,流水线的目标逻辑运算分组从流水线复用的逻辑运算分组中确定,并且流水线的目标逻辑运算分组的数量,根据流水线输入的数据与逻辑运算分组的数据位宽关系确定;
[0014]所述逻辑运算分组用于,从所述数据选择器获得数据,对数据进行逻辑运算,并且
输出所得到的逻辑运算结果。
[0015]第三方面,本申请实施例提供一种处理器,包括如上述所述的执行引擎。
[0016]第四方面,本申请实施例提供一种芯片,包括如上述所述的处理器。
[0017]第五方面,本申请实施例提供一种电子设备,包括如上述所述的芯片。
[0018]本申请实施例提供的指令执行方法,可将执行引擎中的逻辑运算单元划分为多个逻辑运算分组,并且各个逻辑运算分组可被输入数据的多条流水线中的部分流水线或者全部流水线复用;在此基础上,多条指令的数据可通过多条流水线输入执行引擎,并且一条流水线输入一条指令的数据;基于流水线输入的数据与逻辑运算分组的数据位宽关系,本申请实施例针对任一条流水线,可从流水线复用的逻辑运算分组中确定处理数据的目标逻辑运算分组,从而随着流水线输入的数据的数据位宽变化,本申请实施例可从流水线复用的逻辑运算分组中动态调整流水线的目标逻辑运算分组;进而,本申请实施例可将流水线输入的数据,选择给流水线的目标逻辑运算分组,以便流水线的目标逻辑运算分组对流水线输入的数据进行逻辑运算,并由流水线的目标逻辑运算分组输出所得到的逻辑运算结果。
[0019]可以看出,本申请实施例在将逻辑运算单元划分为多个逻辑运算分组的情况下,各个逻辑运算分组可被部分或者全部流水线复用,并且在确定流水线用于处理数据的目标逻辑运算分组时,流水线的目标逻辑运算分组可随着流水线输入的数据与逻辑运算分组的数据位宽关系动态调整,因此在每个逻辑运算分组的数据位宽确定时,本申请实施例可基于流水线输入的数据,动态调整流水线用于处理数据的目标逻辑运算分组。由于不同逻辑运算分组在逻辑运算单元中对应不同的数据位宽范围,因此本申请实施例可根据流水线输入的数据的数据位宽变化,动态的调整逻辑运算单元的数据位宽资源利用方式,保障逻辑运算单元的数据位宽资源能够得到充分利用,进而降低了逻辑运算单元的数据位宽资源被闲置浪费的程度,提升了逻辑运算单元的资源利用率。
附图说明
[0020]为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
[0021]图1为指令在处理器中的处理阶段示例图。
[0022]图2为两条流水线分别占用逻辑运算单元的示例图。
[0023]图3为两条流水线分别占用逻辑运算单元的另一示例图。
[0024]图4为本申请实施例提供的指令执行方法的流程图。
[0025]图5A为逻辑运算单元的单位执行单元示例图。
[0026]图5B为将逻辑运算单元划分为逻辑运算分组的方法流程图。
[0027]图5C为逻辑运算单元的逻辑运算分组的示例图。
[0028]图6A为本申请实施例实现指令执行的系统架构图。
[0029]图6B为本申请实施例实现指令执行的另一系统架构图。
[0030]图6C为本申请实施例实现指令执行的再一系统架构图。
[0031]图7A为本申请实施例提供的指令执行方法的另一流程图。
[0032]图7B为本申请实施例提供的指令执行方法的实现示例图。
[0033]图8A为本申请实施例提供的指令执行方法的再一流程图。
[0034]图8B为本申请实施例提供的指令执行方法的另一实现示例图。
具体实施方式
[0035]下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0036]图1示例性的示出了指令在处理器(例如超标量处理器)中的处理阶段示例图,如图1所示,指令在处理器中需要经过取指阶段110、译码阶段120、执行阶段130等不同阶段的处理。
[0037]其中,在取指阶段110中,指令可从处理器的缓存或主存储器中被提取;在译码阶段120中,取指出的指令可进行解析翻译,以得到译码后的指令(也称微指令),译码后的指令可以具有指令的操作码和/或地址码等信息;在指令执行阶段130中,本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种指令的数据处理方法,其特征在于,包括:通过多条流水线将多条指令的数据输入执行引擎,一条流水线输入一条指令的数据;所述执行引擎中的逻辑运算单元划分为多个逻辑运算分组,并且各个逻辑运算分组被所述多条流水线中的部分流水线或者全部流水线复用;针对任一条流水线,根据流水线输入的数据与逻辑运算分组的数据位宽关系,从流水线复用的逻辑运算分组中确定处理数据的目标逻辑运算分组;以及,针对任一条流水线,将流水线输入的数据,选择给流水线的目标逻辑运算分组,以便流水线的目标逻辑运算分组对流水线输入的数据进行逻辑运算;输出所述目标逻辑运算分组得到的逻辑运算结果。2.根据权利要求1所述的方法,其特征在于,针对任一条流水线,流水线输入的数据的数据位宽,小于或者等于逻辑运算分组的数据位宽;或者,流水线输入的数据的数据位宽,大于逻辑运算分组的数据位宽。3.根据权利要求2所述的方法,其特征在于,所述针对任一条流水线,根据流水线输入的数据与逻辑运算分组的数据位宽关系,从流水线复用的逻辑运算分组中确定处理数据的目标逻辑运算分组包括:针对任一条流水线,如果流水线输入的数据的数据位宽小于或者等于逻辑运算分组的数据位宽,则从各条流水线复用的逻辑运算分组中分别确定一个目标逻辑运算分组,以得到各条流水线的目标逻辑运算分组;其中,一条流水线对应一个目标逻辑运算分组,并且各条流水线对应不同的目标逻辑运算分组。4.根据权利要求2所述的方法,其特征在于,针对任一条流水线,如果流水线输入的数据的数据位宽大于逻辑运算分组的数据位宽,则流水线输入的数据包括至少两个数据分组;所述至少两个数据分组根据逻辑运算分组的数据位宽将流水线输入的数据进行分组而得到,并且一个数据分组的数据位宽不大于逻辑运算分组的数据位宽。5.根据权利要求4所述的方法,其特征在于,所述针对任一条流水线,根据流水线输入的数据与逻辑运算分组的数据位宽关系,从流水线复用的逻辑运算分组中确定处理数据的目标逻辑运算分组包括:针对任一条流水线,根据流水线的至少两个数据分组的数量,从流水线复用的逻辑运算分组中,确定数量与所述至少两个数据分组相应的至少两个目标逻辑运算分组。6.根据权利要求5所述的方法,其特征在于,所述针对任一条流水线,将流水线输入的数据,选择给流水线的目标逻辑运算分组,以便流水线的目标逻辑运算分组对流水线输入的数据进行逻辑运算包括:针对任一条流水线,将流水线的至少两个数据分组选择给至少两个目标逻辑运算分组,并且一个数据分组选择给一个目标逻辑运算分组,以便利用流水线的至少两个目标逻辑运算分组对至少两个数据分组进行逻辑运算;其中,逻辑运算单元对一条流水线输入的数据完成逻辑运算后,将下一条流水线输入的数据所划分的至少两个数据分组,选择给下一条流水线对应的至少两个目标逻辑运算分组;所述输出目标逻辑运算分组得到的逻辑运算结果包括:针对任一条流水线,将流水线的至少两个目标逻辑运算分组得到的逻辑运算结果,输
出到流水线对应的结果数据总线上;其中,流水线的至少两个目标逻辑运算分组得到的逻辑运算结果,拼接形成流水线输入的数据对应的逻辑运算结果。7.根据权利要求1

6任一项所述的方法,其特征在于,还包括:根据形成所述逻辑运算单元的多个单位执行单元,将所述逻辑运算单元划分为多个逻辑运算分组,所述多个逻辑运算分组的数量小于或者等于所述多条流水线的条数。8.根据权利要求7所述的方法,其特征在于,所述根据形成所述逻辑运算单元的多个单位执行单元,将所述逻辑运算单元划分为多个逻辑运算分组包括:确定所述逻辑运算单元的多个单位执行单元,一个单位执行单元支持对单位位宽的数据进行逻辑运算,所述单位位宽为所述单位执行单元的数据位宽;根据逻辑运算分组的数量,将单位执行单元进行组合,以得到多个逻辑运算分组;其中,一个逻辑运算分组的数据位宽为所组合的单位执行单元的数据位宽的总和。9.根据权利要求1所述的方法,其特征在于,所述针对任一条流水线,将流水线输入的数据,选择给流水线的目标逻...

【专利技术属性】
技术研发人员:崔泽汉王博
申请(专利权)人:海光信息技术股份有限公司
类型:发明
国别省市:

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

1