当前位置: 首页 > 专利查询>英特尔公司专利>正文

用于对多个数据元素值执行约简操作的方法和装置制造方法及图纸

技术编号:35916705 阅读:15 留言:0更新日期:2022-12-10 10:59
本申请公开了用于对多个数据元素值执行约简操作的方法和装置。本文中详述的实施例关于对多个数据元素值的约简操作。在一个实施例中,处理器包括用于对指令解码的解码电路以及用于执行经解码的指令的执行电路。该指令指定包含多个数据元素值的第一输入寄存器、包含多个索引的第一索引寄存器、以及输出寄存器,其中,多个索引中的每个索引映射至第一输入寄存器的一个唯一的数据元素位置。执行包括:基于索引标识彼此相关联的数据元素值;基于标识对相关联的数据元素值执行一个或多个约简操作;以及将一个或多个约简操作的结果存储在输出寄存器中。寄存器中。寄存器中。

【技术实现步骤摘要】
用于对多个数据元素值执行约简操作的方法和装置
本申请是申请日为2020年2月24日、申请号为202010112705.8,题为“用于对多个数据元素值执行约简操作的方法和装置”的专利技术专利申请的分案申请。


[0001]本专利技术的实施例关于计算机处理器架构领域;更具体地关于对多个数据元素值执行约简操作。

技术介绍

[0002]指令集或指令集架构(ISA)是计算机架构的涉及编程的部分,该部分包括原生数据类型、指令、寄存器架构、寻址模式、存储器架构、中断和异常处置以及外部输入和输出(I/O)。应当注意,术语“指令”在本文中一般是指宏指令——即,提供给处理器以供执行的指令——而不是微指令或微操作——即,该微指令或微操作是处理器的解码器对宏指令解码的结果。微指令或微操作可以被配置成用于指示处理器上的执行单元执行操作以实现与宏指令相关联的逻辑。
[0003]ISA与微架构不同,微架构是用于实现指令集的处理器设计技术的集合。具有不同微架构的处理器可共享共同的指令集。例如,奔腾4(Pentium 4)处理器、酷睿
TM
(Core
TM
)处理器、以及来自加利福尼亚州桑尼威尔(Sunnyvale)的超微半导体有限公司(Advanced Micro Devices,Inc.)的多个处理器实现几乎相同版本的x86指令集(具有已随更新的版本加入的一些扩展),但具有不同的内部设计。例如,ISA的相同寄存器架构在不同的微架构中可使用公知的技术以不同方法来实现,包括专用物理寄存器、使用寄存器重命名机制(例如,使用寄存器别名表(RAT)、重排序缓冲器(ROB)和引退寄存器堆)的一个或多个动态分配的物理寄存器。除非另外指定,否则短语“寄存器架构”、“寄存器堆”和“寄存器”在本文中用于指代对软件/编程者以及对指令指定寄存器的方式可见的寄存器架构、寄存器堆和寄存器。在需要区分的情况下,形容词“逻辑的”、“架构的”,或“软件可见的”将用于指示寄存器架构中的寄存器/寄存器堆,而不同的形容词将用于规定给定微架构中的寄存器(例如,物理寄存器、重排序缓冲器、引退寄存器、寄存器池)。
[0004]指令集包括一个或多个指令格式。给定的指令格式定义各种字段(位的数目、位的位置)以指定将要被执行的操作以及将要对其执行那个操作的(多个)操作数,等等。通过指令模板(或子格式)的定义来进一步分解一些指令格式。例如,可将给定指令格式的指令模板定义为具有该指令格式的字段(所包括的字段通常按照相同顺序,但是至少一些字段具有不同的位的位置,因为较少的字段被包括)的不同子集,和/或定义为具有以不同方式进行解释的给定字段。使用给定的指令格式(并且如果经定义,则以该指令格式的指令模板中的一个给定的指令模板)来表达给定的指令,并且指定操作和操作数。指令流是特定的指令序列,其中,序列中的每条指令是按照指令格式(并且如果经定义,按照该指令格式的指令模板中的一个给定的指令模板)的指令的发生。
附图说明
[0005]通过参考用于示出本专利技术的实施例的以下描述和所附附图,可最佳地理解本专利技术。在附图中:
[0006]图1A和图1B是示出根据本专利技术的实施例的通用向量友好指令格式及其指令模板的框图。
[0007]图2A

图2D是示出根据本专利技术的实施例的示例性专用向量友好指令格式的框图。
[0008]图3是根据本专利技术的一个实施例的寄存器架构的框图。
[0009]图4A是示出根据本专利技术的实施例的示例性有序流水线和示例性的寄存器重命名的乱序发布/执行流水线两者的框图。
[0010]图4B是示出根据本专利技术的实施例的要包括在处理器中的有序架构核的示例性实施例和示例性的寄存器重命名的乱序发布/执行架构核两者的框图。
[0011]图5A是根据本专利技术的实施例的单个处理器核以及其到管芯上互连网络的连接以及它的第2级(L2)高速缓存的本地子集的框图。
[0012]图5B是根据本专利技术的实施例的图5A中的处理器核的部分的展开图。
[0013]图6是根据本专利技术的实施例的具有集成存储器控制器和图形器件的单核处理器和多核处理器的框图。
[0014]图7示出根据本专利技术的一个实施例的系统的框图。
[0015]图8示出根据本专利技术的实施例的第二系统的框图。
[0016]图9示出根据本专利技术的实施例的第三系统的框图。
[0017]图10示出根据本专利技术的实施例的芯片上系统(SoC)的框图。
[0018]图11示出根据本专利技术的实施例的对照使用软件指令转换器将源指令集中的二进制指令转换成目标指令集中的二进制指令的框图。
[0019]图12是图示配置成用于实现本文中描述的实施例的一个或多个方面的计算机系统的框图。
[0020]图13A

图13D图示根据实施例的并行处理器组件。
[0021]图14A

图14B是图示根据实施例的图形多处理器的框图。
[0022]图15A

图15F图示在其中多个GPU通信地耦合至多个多核处理器的示例性架构。
[0023]图16图示根据实施例的图形处理流水线。
[0024]图17示出根据本专利技术的一个实施例的在执行单条指令时对存储在输入寄存器中的多个向量元素的树约简操作。
[0025]图18示出根据本专利技术的一个实施例的在执行单条指令时对存储在多个输入寄存器中的多个向量元素的约简操作。
[0026]图19示出根据本专利技术的一个实施例的在执行单条指令使用同步时对存储在多个输入寄存器中的多个向量元素的约简操作。
[0027]图20是示出根据本专利技术的一个实施例的在执行单条指令时对多个向量元素的约简操作的流程图。
具体实施方式
[0028]在以下描述中,陈述了众多特定细节。然而应当理解,可在没有这些特定细节的情
况下实施本专利技术的实施例。在其他实例中,未详细示出公知的电路、结构和技术,以免混淆对本描述的理解。
[0029]带括号的文本和具有虚线边界(诸如,长划线、短划线、点划线和点线)的框可用于图示任选操作,这些任选操作将附加特征添加至本专利技术的实施例。然而,此类标注法不应当认为意指这些是仅有的选项或仅有的任选操作,和/或意指在本专利技术的一些实施例中具有实线边界的框不是任选的。
[0030]说明书中对“一个实施例”、“实施例”、“示例实施例”等等的引用指示所描述的实施例可以包括特定的特征、结构或特性,但是每个实施例可不一定包括该特定的特征、结构或特性。此外,此类短语不一定是指同一个实施例。此外,当结合实施例描述特定的特征、结构或特性时,认为结合无论是否被明确描述的其他实施例而影响此类特征、结构或特性是在本领域技术人员的知识范围之内的。
[0031]以下说明书和所附权利要求书可使用术语“耦合的”和“连接的”及其衍生词。这些术语不旨在互为同义词。“耦合的”用于指示彼此可以或可以不直接物理接触或电气接触的两个或更多个元件彼本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种芯片,包括:多个存储器控制器;第二级L2高速缓存存储器,耦合至所述多个存储器控制器;处理器,耦合至所述多个存储器控制器,并耦合至所述L2高速缓存存储器,所述处理器用于执行与第一单指令多线程SIMT指令对应的操作,所述第一SIMT指令用于将约简操作指示为由所述第一SIMT指令支持的多个约简操作中的任一约简操作,所述多个约简操作至少包括加法约简操作、最大值约简操作和最小值约简操作,所述处理器包括:寄存器堆;以及多个计算单元,用于分别针对线程组的对应线程执行所述第一SIMT指令,以:根据所指示的约简操作异步地约简多个数据元素以生成结果数据元素,所述多个数据元素用于被存储在所述寄存器堆的多个寄存中,所述多个寄存器分别与所述多个计算单元对应;以及存储所述结果数据元素;互连,耦合至所述处理器;以及总线控制器,耦合至所述处理器。2.如权利要求1所述的芯片,其中,所述所指示的约简操作是加法约简操作,并且其中,根据所述加法约简操作异步地约简所述多个数据元素包括将所述多个数据元素相加。3.如权利要求1所述的芯片,其中,所述所指示的约简操作是最大值约简操作,并且其中,根据所述最大值约简操作异步地约简所述多个数据元素包括选择所述多个数据元素中的最大数据元素。4.如权利要求1所述的芯片,其中,所述所指示的约简操作是最小值约简操作,并且其中,根据所述最小值约简操作异步地约简所述多个数据元素包括选择所述多个数据元素中的最小数据元素。5.如权利要求1所述的芯片,其中,所述多个约简操作包括至少六个约简操作。6.如权利要求1所述的芯片,其中,为了异步地约简所述多个数据元素,所述多个计算单元中的至少一些计算单元用于在不同时刻执行所述第一SIMT指令。7.如权利要求1所述的芯片,其中,所述多个数据元素是矩阵的部分。8.如权利要求1所述的芯片,其中,所述处理器包括配置成用于约简所述多个数据元素的硬件。9.如权利要求1所述的芯片,其中,所述线程组中的线程包括包块的线程。10.如权利要求1所述的芯片,其中,所述多个计算单元用于执行第二SIMT指令,以在所述结果数据元素的存储之前使所述线程组的线程同步。11.如权利要求1所述的芯片,其中,所述处理器包括多个图形核。12.如权利要求1所述的芯片,其中,所述处理器包括多个异构核。13.如权利要求1所述的芯片,其中,所述处理器包括多个异构图形核。14.如权利要求1所述的芯片,其中,所述处理器是图形处理单元GPU的部分。15.如权利要求1所述的芯片,进一步包括指令转换器,用于将所述第一SIMT指令转换为能由所述处理器执行的不同指令集的一条或多条指令。16.一种存储指令的非暂态机器可读存储介质,所述指令包括第一单指令多线程SIMT
指令,所述第一SIMT指令当由机器执行时使所述机器执行包括以下步骤的操作:将约简操作确定为由所述第一SIMT指令支持的多个约简操作中的任一约简操作,所述多个约简操作至少包括加法约简操作、最大值约简操作和最小值约简操作;以及利用所述机器的处理器的多个计算单元针对线程组的对应线程执行所述第一SIMT指令,包括以下步骤:通过根据所确定的约简操作异步地约简存储在所述处理器的寄存器堆的多个寄存器中的多个数据元素来生成结果数据元素,所述多个寄存器分别与所述多个计算单元对应;以及存储所述结果数据元素。17.如权利要求16所述的非暂态机器可读存储介...

【专利技术属性】
技术研发人员:C
申请(专利权)人:英特尔公司
类型:发明
国别省市:

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

1