首页 / 专利库 / 电脑零配件 / 中央处理器 / 算术逻辑单元 / 信息处理方法和处理器

信息处理方法和处理器

阅读:729发布:2020-05-08

专利汇可以提供信息处理方法和处理器专利检索,专利查询,专利分析的服务。并且本 申请 实施例 公开了信息处理方法和处理器。所述处理器包括 算术逻辑单元 、旁路单元、队列单元、多路选择器和寄存器堆,所述旁路单元包括 数据处理 子单元;所述数据处理子单元,用于获取算术逻辑单元输出的至少一个有效的处理结果,从所述至少一个有效的处理结果中确定一个处理结果,向所述多路选择器输出所确定的处理结果,将所述至少一个有效的处理结果中,所确定的处理结果以外的处理结果向所述队列单元输出;所述多路选择器,用于向所述寄存器堆依次输出一个以上的有效的处理结果。本申请实施例可以通过旁路单元,减少处理结果在处理器中的缓存过程,提高处理器的处理效率。,下面是信息处理方法和处理器专利的具体信息内容。

1.一种处理器,所述处理器包括算术逻辑单元、旁路单元、队列单元、多路选择器和寄存器堆,所述旁路单元包括数据处理子单元;
所述数据处理子单元,用于获取算术逻辑单元输出的至少一个有效的处理结果,从所述至少一个有效的处理结果中确定一个处理结果,向所述多路选择器输出所确定的处理结果,将所述至少一个有效的处理结果中,所确定的处理结果以外的处理结果向所述队列单元输出,其中,处理结果包括使能信号,有效的处理结果包括高电平的使能信号或低电平的使能信号;
所述多路选择器,用于向所述寄存器堆依次输出一个以上的有效的处理结果,其中,所述一个以上的有效的处理结果包括所确定的处理结果以及从所述队列单元输出的有效的处理结果。
2.根据权利要求1所述的处理器,其中,所述旁路单元还包括旁路输出子单元,所述数据处理子单元包括所述数量确定模、多输入处理模块;
所述数量确定模块,用于确定所述算术逻辑单元在一个时钟周期内输出的至少两个处理结果中,有效的处理结果的数量,若确定所述数量在二以上,向所述多输入处理模块输出所述至少两个处理结果;
所述多输入处理模块,用于按照预设的优先级,从所述至少两个处理结果中,确定至少两个有效的处理结果,从所述至少两个有效的处理结果中,确定优先级最高的处理结果向所述旁路输出子单元输出。
3.根据权利要求2所述的处理器,其中,所述数据处理子单元还包括单输入处理模块;
所述数量确定模块,还用于若确定所述数量为一,向所述单输入处理模块输出所述至少两个处理结果;
所述单输入处理模块,用于从所述至少两个处理结果中,确定一个有效的处理结果,向所述旁路输出子单元输出所述一个有效的处理结果。
4.根据权利要求2所述的处理器,其中,所述旁路单元还包括主路输出子单元,所述队列单元包括先进先出队列单元;
所述多输入处理模块,还用于将所述至少两个有效的处理结果中,优先级最高的处理结果以外的其他处理结果向所述主路输出子单元输出;
所述主路输出子单元,用于向所述先进先出队列单元输出所述其他处理结果;
所述先进先出队列单元,用于缓存所述其他处理结果,向所述多路选择器输出所述其他处理结果。
5.根据权利要求4所述的处理器,其中,
所述多路选择器,进一步用于将各个先进先出队列单元输出的处理结果和旁路输出子单元输出的处理结果,依次向所述寄存器堆输出,其中,所述旁路输出子单元输出的处理结果从所述多路选择器输出的优先级最高,不同的先进先出队列单元输出的处理结果从所述多路选择器输出的优先级不同。
6.根据权利要求2所述的处理器,其中,
所述数量确定模块,进一步用于使用加法器对所述至少两个处理结果中,第一电平的使能信号进行累加,得到第一电平的使能信号的数量,基于所述第一电平的使能信号的数量确定有效的处理结果的数量,其中,所述第一电平为高电平或者低电平。
7.根据权利要求3所述的处理器,其中,所述单输入处理模块和所述多输入处理模块包括多级的多路选择器,所述多级的多路选择器用于从所述至少两个处理结果中,确定有效的处理结果。
8.一种芯片,包括上述1-7中任意一项中的处理器。
9.一种用于处理器的信息处理方法,所述处理器包括算术逻辑单元、旁路单元、队列单元、多路选择器和寄存器堆,所述旁路单元包括数据处理子单元;所述方法包括:
所述数据处理子单元获取算术逻辑单元输出的至少一个有效的处理结果,从所述至少一个有效的处理结果中确定一个处理结果,向所述多路选择器输出所确定的处理结果,将所述至少一个有效的处理结果中,所确定的处理结果以外的处理结果向所述队列单元输出,其中,处理结果包括使能信号,有效的处理结果包括高电平的使能信号或低电平的使能信号;
所述多路选择器向所述寄存器堆依次输出一个以上的有效的处理结果,其中,所述一个以上的有效的处理结果包括所确定的处理结果以及从所述队列单元输出的有效的处理结果。
10.根据权利要求9所述的方法,其中,所述旁路单元还包括旁路输出子单元,所述数据处理子单元包括所述数量确定模块、多输入处理模块;
所述获取算术逻辑单元输出的至少一个有效的处理结果,从所述至少一个有效的处理结果中确定一个处理结果,包括:
所述数量确定模块确定所述算术逻辑单元在一个时钟周期内输出的至少两个处理结果中,有效的处理结果的数量,若确定所述数量在二以上,向所述多输入处理模块输出所述至少两个处理结果;
所述多输入处理模块按照预设的优先级,从所述至少两个处理结果中,确定至少两个有效的处理结果,从所述至少两个有效的处理结果中,确定优先级最高的处理结果向所述旁路输出子单元输出。
11.根据权利要求10所述的方法,其中,所述数据处理子单元还包括单输入处理模块;
所述获取算术逻辑单元输出的至少一个有效的处理结果,从所述至少一个有效的处理结果中确定一个处理结果,还包括:
所述数量确定模块若确定所述数量为一,向所述单输入处理模块输出所述至少两个处理结果;
所述单输入处理模块从所述至少两个处理结果中,确定一个有效的处理结果,向所述旁路输出子单元输出所述一个有效的处理结果。
12.根据权利要求10所述的方法,其中,所述旁路单元还包括主路输出子单元,所述队列单元包括先进先出队列单元;
所述方法还包括:
所述多输入处理模块将所述至少两个有效的处理结果中,优先级最高的处理结果以外的其他处理结果向所述主路输出子单元输出;
所述主路输出子单元向所述先进先出队列单元输出所述其他处理结果;
所述先进先出队列单元缓存所述其他处理结果,向所述多路选择器输出所述其他处理结果。
13.根据权利要求12所述的方法,其中,所述向所述寄存器堆依次输出一个以上的有效的处理结果,包括:
所述多路选择器将各个先进先出队列单元输出的处理结果和旁路输出子单元输出的处理结果,依次向所述寄存器堆输出,其中,所述旁路输出子单元输出的处理结果从所述多路选择器输出的优先级最高,不同的先进先出队列单元输出的处理结果从所述多路选择器输出的优先级不同。
14.根据权利要求10所述的方法,其中,所述确定所述算术逻辑单元在一个时钟周期内输出的至少两个处理结果中,有效的处理结果的数量,包括:
所述数量确定模块使用加法器对所述至少两个处理结果中,第一电平的使能信号进行累加,得到第一电平的使能信号的数量,基于所述第一电平的使能信号的数量确定有效的处理结果的数量,其中,所述第一电平为高电平或者低电平。
15.根据权利要求11所述的方法,其中,所述单输入处理模块和所述多输入处理模块包括多级的多路选择器,所述多级的多路选择器用于从所述至少两个处理结果中,确定有效的处理结果。
16.一种电子设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求9-15中任一所述的方法。
17.一种计算机可读存储介质,其上存储有计算机程序,其中,该程序被处理器执行时实现如权利要求9-15中任一所述的方法。

说明书全文

信息处理方法和处理器

技术领域

[0001] 本申请实施例涉及计算机技术领域,具体涉及互联网技术领域,尤其涉及信息处理方法和处理器。

背景技术

[0002] 在处理器进行数据处理时,算术逻辑单元的处理结果通常写入先进先出队列进行缓存。而处理结果的写入往往需要消耗一定的时长,后续再读出同样需要较长的耗时,影响程序执行的效率。发明内容
[0003] 本申请实施例提出了信息处理方法和处理器。
[0004] 第一方面,本申请实施例提供了一种处理器,处理器包括算术逻辑单元、旁路单元、队列单元、多路选择器和寄存器堆,旁路单元包括数据处理子单元;数据处理子单元,用于获取算术逻辑单元输出的至少一个有效的处理结果,从至少一个有效的处理结果中确定一个处理结果,向多路选择器输出所确定的处理结果,将至少一个有效的处理结果中,所确定的处理结果以外的处理结果向队列单元输出,其中,处理结果包括使能信号,有效的处理结果包括高电平的使能信号或低电平的使能信号;多路选择器,用于向寄存器堆依次输出一个以上的有效的处理结果,其中,一个以上的有效的处理结果包括所确定的处理结果以及从队列单元输出的有效的处理结果。
[0005] 在一些实施例中,旁路单元还包括旁路输出子单元,数据处理子单元包括数量确定模、多输入处理模块;数量确定模块,用于确定算术逻辑单元在一个时钟周期内输出的至少两个处理结果中,有效的处理结果的数量,若确定数量在二以上,向多输入处理模块输出至少两个处理结果;多输入处理模块,用于按照预设的优先级,从至少两个处理结果中,确定至少两个有效的处理结果,从至少两个有效的处理结果中,确定优先级最高的处理结果向旁路输出子单元输出。
[0006] 在一些实施例中,数据处理子单元还包括单输入处理模块;数量确定模块,还用于若确定数量为一,向单输入处理模块输出至少两个处理结果;单输入处理模块,用于从至少两个处理结果中,确定一个有效的处理结果,向旁路输出子单元输出一个有效的处理结果。
[0007] 在一些实施例中,旁路单元还包括主路输出子单元,队列单元包括先进先出队列单元;多输入处理模块,还用于将至少两个有效的处理结果中,优先级最高的处理结果以外的其他处理结果向主路输出子单元输出;主路输出子单元,用于向先进先出队列单元输出其他处理结果;先进先出队列单元,用于缓存其他处理结果,向多路选择器输出其他处理结果。
[0008] 在一些实施例中,多路选择器,进一步用于将各个先进先出队列单元输出的处理结果和旁路输出子单元输出的处理结果,依次向寄存器堆输出,其中,旁路输出子单元输出的处理结果从多路选择器输出的优先级最高,不同的先进先出队列单元输出的处理结果从多路选择器输出的优先级不同。
[0009] 在一些实施例中,数量确定模块,进一步用于使用加法器对至少两个处理结果中,第一电平的使能信号进行累加,得到第一电平的使能信号的数量,基于第一电平的使能信号的数量确定有效的处理结果的数量,其中,第一电平为高电平或者低电平。
[0010] 在一些实施例中,单输入处理模块和多输入处理模块包括多级的多路选择器,多级的多路选择器用于从至少两个处理结果中,确定有效的处理结果。
[0011] 第二方面,本申请实施例提供了一种芯片,包括上述任意一项中的处理器。
[0012] 第三方面,本申请实施例提供了一种用于处理器的信息处理方法,处理器包括算术逻辑单元、旁路单元、队列单元、多路选择器和寄存器堆,旁路单元包括数据处理子单元;方法包括:数据处理子单元获取算术逻辑单元输出的至少一个有效的处理结果,从至少一个有效的处理结果中确定一个处理结果,向多路选择器输出所确定的处理结果,将至少一个有效的处理结果中,所确定的处理结果以外的处理结果向队列单元输出,其中,处理结果包括使能信号,有效的处理结果包括高电平的使能信号或低电平的使能信号;多路选择器向寄存器堆依次输出一个以上的有效的处理结果,其中,一个以上的有效的处理结果包括所确定的处理结果以及从队列单元输出的有效的处理结果。
[0013] 在一些实施例中,旁路单元还包括旁路输出子单元,数据处理子单元包括数量确定模块、多输入处理模块;获取算术逻辑单元输出的至少一个有效的处理结果,从至少一个有效的处理结果中确定一个处理结果,包括:数量确定模块确定算术逻辑单元在一个时钟周期内输出的至少两个处理结果中,有效的处理结果的数量,若确定数量在二以上,向多输入处理模块输出至少两个处理结果;多输入处理模块按照预设的优先级,从至少两个处理结果中,确定至少两个有效的处理结果,从至少两个有效的处理结果中,确定优先级最高的处理结果向旁路输出子单元输出。
[0014] 在一些实施例中,数据处理子单元还包括单输入处理模块;获取算术逻辑单元输出的至少一个有效的处理结果,从至少一个有效的处理结果中确定一个处理结果,还包括:数量确定模块若确定数量为一,向单输入处理模块输出至少两个处理结果;单输入处理模块从至少两个处理结果中,确定一个有效的处理结果,向旁路输出子单元输出一个有效的处理结果。
[0015] 在一些实施例中,旁路单元还包括主路输出子单元,队列单元包括先进先出队列单元;方法还包括:多输入处理模块将至少两个有效的处理结果中,优先级最高的处理结果以外的其他处理结果向主路输出子单元输出;主路输出子单元向先进先出队列单元输出其他处理结果;先进先出队列单元缓存其他处理结果,向多路选择器输出其他处理结果。
[0016] 在一些实施例中,向寄存器堆依次输出一个以上的有效的处理结果,包括:多路选择器将各个先进先出队列单元输出的处理结果和旁路输出子单元输出的处理结果,依次向寄存器堆输出,其中,旁路输出子单元输出的处理结果从多路选择器输出的优先级最高,不同的先进先出队列单元输出的处理结果从多路选择器输出的优先级不同。
[0017] 在一些实施例中,确定算术逻辑单元在一个时钟周期内输出的至少两个处理结果中,有效的处理结果的数量,包括:数量确定模块使用加法器对至少两个处理结果中,第一电平的使能信号进行累加,得到第一电平的使能信号的数量,基于第一电平的使能信号的数量确定有效的处理结果的数量,其中,第一电平为高电平或者低电平。
[0018] 在一些实施例中,单输入处理模块和多输入处理模块包括多级的多路选择器,多级的多路选择器用于从至少两个处理结果中,确定有效的处理结果。
[0019] 第四方面,本申请实施例提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如用于处理器的信息处理方法中任一实施例的方法。
[0020] 第五方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如用于处理器的信息处理方法中任一实施例的方法。
[0021] 本申请实施例提供的处理器方案,其中的处理器包括算术逻辑单元、旁路单元、队列单元、多路选择器和寄存器堆,旁路单元包括数据处理子单元。在该方案中,数据处理子单元,用于获取算术逻辑单元输出的至少一个有效的处理结果,从至少一个有效的处理结果中确定一个处理结果,向多路选择器输出所确定的处理结果,将至少一个有效的处理结果中,所确定的处理结果以外的处理结果向队列单元输出,其中,处理结果包括使能信号,有效的处理结果包括高电平的使能信号或低电平的使能信号。多路选择器,用于向寄存器堆依次输出一个以上的有效的处理结果,其中,一个以上的有效的处理结果包括所确定的处理结果以及从队列单元输出的有效的处理结果。本申请实施例可以通过旁路单元,减少处理结果在处理器中的缓存过程,提高处理器的处理效率。同时,利用旁路单元选取有效的处理结果,减少无效的处理结果的干扰,以便于后续对处理结果进行利用。附图说明
[0022] 通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
[0023] 图1是根据本申请的处理器的一个实施例的结构示意图;
[0024] 图2是根据本申请的单输入处理模块的电路结构的一个实施例的结构示意图;
[0025] 图3是根据本申请的多输入处理模块的电路结构的一个实施例结构示意图;
[0026] 图4是根据本申请的处理器的又一个实施例的结构示意图;
[0027] 图5是根据本申请的用于处理器的信息处理方法的一个实施例的流程图
[0028] 图6是适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。

具体实施方式

[0029] 下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
[0030] 需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
[0031] 参考图1,示出了根据本申请的一种处理器的一个实施例。该处理器,包括:算术逻辑单元(arithmetic  and logic  unit,ALU)、旁路单元、队列单元、多路选择器(multiplexer,MUX)和寄存器堆(Register file),旁路单元包括数据处理子单元。
[0032] 数据处理子单元,用于获取算术逻辑单元输出的至少一个有效的处理结果,从至少一个有效的处理结果中确定一个处理结果,向多路选择器输出所确定的处理结果,将至少一个有效的处理结果中,所确定的处理结果以外的处理结果向队列单元输出,其中,处理结果包括使能信号,有效的处理结果包括高电平的使能信号或低电平的使能信号。
[0033] 在本实施例中,旁路单元中的数据处理子单元用于获取算术逻辑单元输出的一个或两个以上的有效的处理结果。并可以从中确定出一个处理结果,向多路选择器输出所确定的处理结果。在处理结果的数量为不止一个的情况下,在接收到所确定的处理结果以外的处理结果之后,队列单元按照已设置的先后输出的规则(比如先进先出),向多路选择器输出处理结果。
[0034] 在这里,数据处理子单元向多路选择器输出处理结果可以采用直接向多路选择器输出,也可以通过中继点转发到多路选择器,比如可以通过用于输出的子单元进行输出。在这里,获取到的有效的处理结果,可以是直接从本地或算术逻辑单元获取到的,也可以是基于电平的高低,通过选取等方式获得的。
[0035] 处理结果包括使能信号,使能信号可以用于表明处理结果是否有效。从算术逻辑单元输出的有效的处理结果可以是高电平的使能信号,或者是低电平的使能信号。并且,处理结果也包括经过算术逻辑单元的运算所得到的数据。
[0036] 在实践中,可以采用多种方式确定出一个处理结果。举例来说,可以选取生成时间在先的处理结果。也可以选取预设的优先级最高的处理结果。比如,可以预先对各个算术逻辑单元设定优先级,将从优先级最高的算术逻辑单元输出的处理结果作为优先级最高的处理结果。
[0037] 需要说明的是,上述的算术逻辑单元可以是一个单一的算术逻辑单元,也可以是多个算术逻辑单元的集合。上述的队列单元可以是一个单一的队列单元,也可以是多个队列单元的集合,比如,如果队列单元是先进先出队列单元,那么队列单元可以包括多个先进先出队列单元。
[0038] 上述多路选择器,用于向寄存器堆依次输出一个以上的有效的处理结果,其中,一个以上的有效的处理结果包括所确定的处理结果以及从队列单元输出的有效的处理结果。
[0039] 在本实施例中,多路选择器可以从一个以上有效的处理结果中,选取一个处理结果,并向寄存器堆输出。一个以上的处理结果可以包括从旁路单元直接输入到上述多路选择器中的上述所确定的处理结果。此外,一个以上的处理结果还可以包括从旁路单元直接输入以外的其他途径得到的处理结果。举例来说,一个以上的处理结果可以包括处理器的队列单元输入到上述多路选择器中的有效的处理结果。比如,这里的队列单元可以是先进先出队列单元或者后进先出队列单元等等。
[0040] 具体地,多路选择器可以采用多种方式选取一个处理结果。比如,可以选取生成时间在先的处理结果,也可以选取优先级最高的处理结果。在采用优先级进行选取的情况下,可以预先设定各个向上述多路选择器输出有效的处理结果的单元的优先级顺序。之后,根据处理结果的所输出单元的优先级,选取优先级最高的处理结果。
[0041] 需要说明的是,本申请的处理器可以应用于各种芯片。
[0042] 本实施例可以通过旁路单元,减少处理结果在处理器中的缓存过程,提高处理器的处理效率。同时,利用旁路单元选取有效的处理结果,减少无效的处理结果的干扰,以便于后续对处理结果进行利用。
[0043] 进一步地,作为对上述各图所示方法的实现,本申请提出了处理器的又一个实施例的。该处理器的旁路单元还包括旁路输出子单元,数据处理子单元包括数量确定模块、多输入处理模块。
[0044] 数量确定模块,用于确定算术逻辑单元在一个时钟周期内输出的至少两个处理结果中,有效的处理结果的数量,若确定数量在二以上,向多输入处理模块输出至少两个处理结果;
[0045] 在本实施例中,上述数量确定模块可以确定上述算术逻辑单元在一个时钟周期内输出的至少两个处理结果中,有效的处理结果的数量。若确定有效的处理结果的数量大于或者等于二,则向多输入处理模块输出上述至少两个处理结果。具体地,数量确定模块可以在有效的处理结果为高电平的处理结果的情况下,确定高电平的处理结果的数量。在有效的处理结果为低电平的处理结果的情况下,确定低电平的处理结果的数量。
[0046] 多输入处理模块,用于从至少两个处理结果中,确定至少两个有效的处理结果,按照预设的优先级,从至少两个有效的处理结果中,确定优先级最高的处理结果向旁路输出子单元输出。
[0047] 在本实施例中,多输入处理模块可以从上述至少两个处理结果中,确定至少两个有效的处理结果。并且按照预设的优先级,从至少两个有效的处理结果中,确定优先级最高的处理结果向旁路输出子单元输出。
[0048] 在实践中,预设的优先级最高的处理结果可以是生成时间最先的处理结果。此外,不同的算术逻辑单元所输出的处理结果,也可以有不同的优先级。多输入处理模块可以比较输出处理结果的算术逻辑单元的优先级,将其中优先级最高的算术逻辑单元输出的处理结果作为优先级最高的处理结果。算术逻辑单元的优先级可以采用多种方式确定,比如,根据预设的算术逻辑单元的编号确定。
[0049] 具体地,可以通过在对多输入处理模块执行相应的指令来确定优先级最高的处理结果。此外,还可以在多输入处理模块中设置优先级配置寄存器,来确定优先级最高的处理结果。
[0050] 在本实施例的一些可选的实现方式中,数据处理子单元还包括单输入处理模块;
[0051] 上述数量确定模块,用于若确定数量为一,向单输入处理模块输出至少两个处理结果。
[0052] 在这些可选的实现方式中,数量确定模块如果确定处理结果的数量为一,则向单输入处理模块输出上述的至少两个有效的处理结果。
[0053] 单输入处理模块,用于从至少两个处理结果中,确定一个有效的处理结果,向旁路输出子单元输出一个有效的处理结果。
[0054] 在本实施例中,单输入处理模块可以基于处理结果中使能信号的电平,确定出一个有效的处理结果。并向旁路输出子单元输出该有效的处理结果。
[0055] 在这些实现方式的一些可选的应用场景中,单输入处理模块和多输入处理模块包括多级的多路选择器,多级的多路选择器用于从至少两个处理结果中,确定有效的处理结果。
[0056] 在这些可选的应用场景中,上述单输入处理模块可以包括多级的多路选择器,并且,多输入处理模块也可以包括多级的多路选择器。
[0057] 如图2,单输入处理模块的电路结构可以如图所示。可以在或逻辑所在的子模块中设置多级的多路选择器,以从上述至少两个处理结果中确定一个有效的处理结果。单输入处理模块的输出包括一组En和In,比如En0和In0。
[0058] 图中的En和In为输入的处理结果,En为使能信号,In为从算术逻辑单元输出的、经过算术逻辑单元的运算所得到的数据。相同编号的En与In相对应。该En与In的说明同样适用于图3。
[0059] 如图3,多输入处理模块的电路结构可以如图所示。可以在其中设置多级的多路选择器。同时,还可以设置译码器,以筛选出有效的至少两个处理结果。举例来说,在使用优先级配置寄存器的情况下,可以预先配置几种输入路径的优先级。例如,配置包括:配置1:In0>In1>In2>In3,配置2:In2>In3>In1>In0。这两种配置可以都预先设置于译码器中。通过优先级配置寄存器可以确定其中一种优先级配置。在采用配置1的情况下,如果处理结果中的In0和处理结果中的In1都是有效的,那么可以选取优先级较高的In0以及In0的使能信号。这些应用场景在多输入处理模块可以采用不同的优先级选择处理结果,提供了更多的数据处理方案,增强了处理器的灵活性。
[0060] 在本实施例的一些可选的实现方式中,数量确定模块,数量确定模块,进一步用于使用加法器对至少两个处理结果中,第一电平的使能信号进行累加,得到第一电平的使能信号的数量,基于第一电平的使能信号的数量确定有效的处理结果的数量,其中,第一电平为高电平或者低电平。
[0061] 在这些可选的实现方式中,数量确定模块可以利用加法器对处理结果中的高电平或者低电平的使能信号进行累加,得到有效的使能信号的数量。可以预先获取高电平和低电平中哪一种电平有效。如果高电平的使能信号表示处理结果有效,则累加高电平的使能信号的数量。如果低电平的使能信号表示处理结果有效,则累加低电平的使能信号的数量。
[0062] 在实践中,数量确定模块可以将使能信号的数量确定为处理结果的数量。此外,数量确定模块还可以对使能信号的数量进行预设的数据处理,比如加1,得到处理结果的数量。
[0063] 本实施例能够通过多输入处理模块和单输入处理模块在有效的处理结果的数量不同的情况下,给出不同的处理结果选择方案。这样,在数量唯一的情况下,可以采用计算量较小的电路结构,提高运算速度。在数量较多的情况下,可以采用一个比较复杂的电路结构以得到更加准确的结果。
[0064] 进一步参考图4,作为对上述各图所示方法的实现,其示出了处理器的又一个实施例的示意图400。
[0065] 旁路单元还包括主路输出子单元,队列单元包括先进先出队列单元(First Input First Output,FIFO);
[0066] 多输入处理模块,还用于将至少两个处理结果中,优先级最高的处理结果以外的其他处理结果向主路输出子单元输出;
[0067] 在本实施例中,多输入处理模块不仅可以向旁路输出子单元输出优先级最高的处理结果,还可以将上述至少两个处理结果中的其他的处理结果向主路输出子单元输出。
[0068] 主路输出子单元,用于向先进先出队列单元输出其他处理结果。
[0069] 在本实施例中,主路输出子单元可以将从多输入处理模块输入的上述其他处理结果,向先进先出队列单元输出。具体地,先进先出队列单元可以有多个,主路输出子单元可以从上述其他处理结果中,确定输出至各个先进先出队列单元的处理结果。举例来说,每个先进先出队列单元都可以有对应的硬件编号,可以按照编号对先进先出队列单元依次分发处理结果。此外,还可以随机向各个先进先出队列单元分发处理结果。上述其他处理结果的分发顺序可以依照处理结果生成时间的先后、处理结果输入主路输出子单元的时间的先后等等来确定。
[0070] 先进先出队列单元,用于缓存其他处理结果,向多路选择器输出其他处理结果。
[0071] 在本实施例中,每个先进先出队列单元可以缓存所接收到的其他处理结果,并在该先进先出队列单元中对所接收到的各个处理结果进行排列。依照先进先出的原则,向多路选择器输出处理结果。输出的处理结果中包括接收到的其他处理结果。
[0072] 在本实施例的一些可选的实现方式中,多路选择器,进一步用于将各个先进先出队列单元输出的处理结果和旁路输出子单元输出的处理结果,依次向寄存器堆输出,其中,旁路输出子单元输出的处理结果从多路选择器输出的优先级最高,不同的先进先出队列单元输出的处理结果从多路选择器输出的优先级不同。
[0073] 在这些可选的实现方式中,多路选择器可以将各个先进先出队列单元输出的处理结果和旁路输出子单元输出的处理结果,依次向寄存器堆输出。依次输出时所使用的输出的优先级的规则为,旁路输出子单元输出的处理结果从多路选择器输出的优先级最高,不同的先进先出队列单元输出的处理结果从多路选择器输出的优先级不同。
[0074] 可以采用多种方式确定从多路选择器输出的优先级。举例来说,可以预先对每个先进先出队列单元设置不同的优先级,优先级高的先进先出队列单元所输出的处理结果可以优先从多路选择器输出到寄存器堆。还可以将每个先进先出队列单元的硬件编号作为该先进先出队列单元的优先级。比如,编号越小的,优先级越高。
[0075] 进一步地,作为对上述各图所示方法的实现,本申请提出了一种芯片,包括上述任意实施方式中的处理器。
[0076] 本实施例可以通过旁路单元,减少处理结果在处理器中的缓存过程,提高芯片的处理效率。同时,利用旁路单元选取有效的处理结果,减少无效的处理结果的干扰,以便于后续对处理结果进行利用。
[0077] 具体地,该芯片可以是人工智能芯片,通过该处理器对处理结果进行选取,可以有效提高人工智能芯片的运算速度。
[0078] 如图5所示,本申请还提出了一种用于处理器的信息处理方法的一个实施例500,处理器包括算术逻辑单元、旁路单元、队列单元、多路选择器和寄存器堆,旁路单元包括数据处理子单元;方法包括:
[0079] 数据处理子单元获取算术逻辑单元输出的至少一个有效的处理结果,从至少一个有效的处理结果中确定一个处理结果,向多路选择器输出所确定的处理结果,将至少一个有效的处理结果中,所确定的处理结果以外的处理结果向队列单元输出,其中,处理结果包括使能信号,有效的处理结果包括高电平的使能信号或低电平的使能信号;多路选择器向寄存器堆依次输出一个以上的有效的处理结果,其中,一个以上的有效的处理结果包括所确定的处理结果以及从队列单元输出的有效的处理结果。
[0080] 在一些实施例中,旁路单元还包括旁路输出子单元,数据处理子单元包括数量确定模块、多输入处理模块;获取算术逻辑单元输出的至少一个有效的处理结果,从至少一个有效的处理结果中确定一个处理结果,包括:数量确定模块确定算术逻辑单元在一个时钟周期内输出的至少两个处理结果中,有效的处理结果的数量,若确定数量在二以上,向多输入处理模块输出至少两个处理结果;多输入处理模块按照预设的优先级,从至少两个处理结果中,确定至少两个有效的处理结果,从至少两个有效的处理结果中,确定优先级最高的处理结果向旁路输出子单元输出。
[0081] 在一些实施例中,数据处理子单元还包括单输入处理模块;获取算术逻辑单元输出的至少一个有效的处理结果,从至少一个有效的处理结果中确定一个处理结果,还包括:数量确定模块若确定数量为一,向单输入处理模块输出至少两个处理结果;单输入处理模块从至少两个处理结果中,确定一个有效的处理结果,向旁路输出子单元输出一个有效的处理结果。
[0082] 在一些实施例中,旁路单元还包括主路输出子单元,队列单元包括先进先出队列单元;方法还包括:多输入处理模块将至少两个有效的处理结果中,优先级最高的处理结果以外的其他处理结果向主路输出子单元输出;主路输出子单元向先进先出队列单元输出其他处理结果;先进先出队列单元缓存其他处理结果,向多路选择器输出其他处理结果。
[0083] 在一些实施例中,向寄存器堆依次输出一个以上的有效的处理结果,包括:多路选择器将各个先进先出队列单元输出的处理结果和旁路输出子单元输出的处理结果,依次向寄存器堆输出,其中,旁路输出子单元输出的处理结果从多路选择器输出的优先级最高,不同的先进先出队列单元输出的处理结果从多路选择器输出的优先级不同。
[0084] 在一些实施例中,确定算术逻辑单元在一个时钟周期内输出的至少两个处理结果中,有效的处理结果的数量,包括:数量确定模块使用加法器对至少两个处理结果中,第一电平的使能信号进行累加,得到第一电平的使能信号的数量,基于第一电平的使能信号的数量确定有效的处理结果的数量,其中,第一电平为高电平或者低电平。
[0085] 在一些实施例中,单输入处理模块和多输入处理模块包括多级的多路选择器,多级的多路选择器用于从至少两个处理结果中,确定有效的处理结果。
[0086] 本实施例可以通过旁路单元,减少处理结果在处理器中的缓存过程,提高处理器的处理效率。同时,利用旁路单元选取有效的处理结果,减少无效的处理结果的干扰,以便于后续对处理结果进行利用。
[0087] 下面参考图6,其示出了适于用来实现本申请实施例的电子设备的计算机系统600的结构示意图。图6示出的电子设备仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
[0088] 如图6所示,计算机系统600包括中央处理单元(CPU和/或GPU)601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储部分608加载到随机访问存储器(RAM)603中的程序而执行各种适当的动作和处理。在RAM 603中,还存储有系统600操作所需的各种程序和数据。中央处理单元601、ROM 602以及RAM 603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
[0089] 以下部件连接至I/O接口605:包括键盘鼠标等的输入部分606;包括诸如阴极射线管(CRT)、液晶显示屏(LCD)等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至I/O接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装入存储部分608。
[0090] 特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。在该计算机程序被中央处理单元601执行时,执行本申请的方法中限定的上述功能。需要说明的是,本申请的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
[0091] 附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0092] 作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的装置中所包含的;也可以是单独存在,而未装配入该装置中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该装置执行时,使得该装置:数据处理子单元获取算术逻辑单元输出的至少一个有效的处理结果,从至少一个有效的处理结果中确定一个处理结果,向多路选择器输出所确定的处理结果,向队列单元输出在至少一个有效的处理结果中,所确定的处理结果以外的处理结果,其中,处理结果包括使能信号,有效的处理结果包括高电平的使能信号或低电平的使能信号;多路选择器向寄存器堆依次输出一个以上的有效的处理结果,其中,一个以上的有效的处理结果包括所确定的处理结果以及从队列单元输出的有效的处理结果。
[0093] 以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈