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

用于将片寄存器对存储到存储器的系统和方法技术方案

技术编号:21570883 阅读:21 留言:0更新日期:2019-07-10 15:15
本文详述的实施例涉及用于将片寄存器对存储到存储器的系统和方法。在一个示例中,一种处理器包括:解码电路,用于对存储矩阵对指令解码,该存储矩阵对指令具有用于操作码、源标识符和目的地标识符的字段,该源标识符和目的地标识符用于分别标识源矩阵和目的地矩阵,每个矩阵都具有等于真的PAIR参数;以及执行电路,用于执行经解码的存储矩阵对指令,以分别将所标识的源矩阵的左片和右片的每个元素存储到所标识的目的地矩阵的左片和右片的对应元素位置,其中该执行一次对所标识的源矩阵的一行的C个元素的块进行存储。

System and method for storing chip register pairs into memory

【技术实现步骤摘要】
用于将片寄存器对存储到存储器的系统和方法
本专利技术的领域总体上涉及计算机处理器架构,更具体地涉及用于将片寄存器对存储到存储器的系统和方法。
技术介绍
在诸如机器学习和其他批量数据处理之类的计算任务中,矩阵正变得日益重要。附图说明在所附附图中以示例方式而非限制方式说明本专利技术,在附图中,类似的附图标记指示类似的要素,其中:图1A图示经配置的片(tile)的实施例;图1B图示经配置的片(tile)的实施例;图2图示矩阵存储的若干示例;图3图示利用矩阵(片)操作加速器的系统的实施例;图4和图5示出如何使用矩阵操作加速器来共享存储器的不同实施例;图6图示使用片的矩阵乘法累加(“TMMA”)操作的实施例;图7图示链式融合乘法累加指令的迭代的执行的子集的实施例;图8图示链式融合乘法累加指令的迭代的执行的子集的实施例;图9图示链式融合乘法累加指令的迭代的执行的子集的实施例;图10图示链式融合乘法累加指令的迭代的执行的子集的实施例;图11图示根据实施例的尺寸为2的幂的SIMD实现方式,其中,累加器使用比至乘法器的输入的尺寸大的输入尺寸;图12图示利用矩阵操作电路的系统的实施例;图13图示处理器核流水线的实施例,该处理器核流水线支持使用片的矩阵操作;图14图示处理器核流水线的实施例,该处理器核流水线支持使用片的矩阵操作;图15图示按行为主格式和列为主格式表达的矩阵的示例;图16图示矩阵(片)的使用的示例;图17图示矩阵(片)的使用的方法的实施例;图18图示根据实施例的对片的使用的配置的支持;图19图示将支持的矩阵(片)的描述的实施例;图20(A)-图20(D)图示(多个)寄存器的示例;图21图示TILESTOREQPAIR指令的示例性执行;图22图示执行TILESTOREQPAIR指令的处理器的实施例;图23图示TILESTOREQPAIR指令的执行的更详细的描述;图24是描述执行TILESTOREQPAIR指令的处理器的实施例的示例性伪代码;图25A-图25B是图示根据本专利技术的实施例的通用向量友好指令格式及其指令模板的框图;图25A是图示根据本专利技术的实施例的通用向量友好指令格式及其A类指令模板的框图;图25B是图示根据本专利技术的实施例的通用向量友好指令格式及其B类指令模板的框图;图26A是图示根据本专利技术的实施例的示例性专用向量友好指令格式的框图;图26B是图示根据本专利技术的一个实施例的构成完整操作码字段的具有专用向量友好指令格式的字段的框图;图26C是图示根据本专利技术的一个实施例的构成寄存器索引字段的具有专用向量友好指令格式的字段的框图;图26D是图示根据本专利技术的一个实施例的构成扩充操作字段的具有专用向量友好指令格式的字段的框图;图27是根据本专利技术的一个实施例的寄存器架构的框图;图28A是图示根据本专利技术的实施例的示例性有序流水线以及示例性寄存器重命名的乱序发布/执行流水线两者的框图;图28B是图示根据本专利技术的实施例的要包括在处理器中的有序架构核的示例性实施例和示例性的寄存器重命名的乱序发布/执行架构核的框图;图29A-图29B图示更具体的示例性有序核架构的框图,该核将是芯片中的若干逻辑块之一(包括相同类型和/或不同类型的其他核);图29A是根据本专利技术的实施例的单个处理器核以及它与管芯上互连网络的连接及其第二级(L2)高速缓存的本地子集的框图;图29B是根据本专利技术的实施例的图29A中的处理器核的一部分的展开图;图30是根据本专利技术的实施例的可具有超过一个的核、可具有集成存储器控制器、并且可具有集成图形器件的处理器的框图;图31-图34是示例性计算机架构的框图;图31示出根据本专利技术的一个实施例的系统的框图;图32是根据本专利技术的实施例的第一更具体的示例性系统的框图;图33是根据本专利技术的实施例的第二更具体的示例性系统的框图;图34是根据本专利技术的实施例的芯片上系统(SoC)的框图;以及图35是根据本专利技术的实施例的对照使用软件指令转换器将源指令集中的二进制指令转换成目标指令集中的二进制指令的框图。具体实施方式在以下描述中,陈述了众多特定细节。然而,应当理解,可在没有这些特定细节的情况下实践本专利技术的实施例。在其他实例中,未详细示出公知的电路、结构和技术,以免使对本描述的理解模糊。说明书中对“一个实施例”、“实施例”、“示例实施例”等的引用表明所描述的实施例可以包括特定的特征、结构或特性,但是每个实施例不一定都包括该特定的特征、结构或特性。此外,此类短语不一定是指同一个实施例。此外,当结合实施例描述特定的特征、结构或特性时,认为结合无论是否被明确描述的其他实施例而影响此类特征、结构或特性是在本领域技术人员的知识范围之内的。在许多主流处理器中,处置矩阵是困难的和/或指令密集性任务。例如,可将矩阵的多行置入多个紧缩数据(例如,SIMD或向量)寄存器中,随后可单独地对矩阵的多行进行操作。例如,取决于数据尺寸,将两个8x2矩阵相加可能要求加载或聚集到四个紧缩数据寄存器中。随后,执行对与来自每个矩阵的第一行对应的紧缩数据寄存器的第一加法,并执行对于来自每个矩阵的第二行对应的紧缩数据寄存器的第二加法。随后,将所得到的紧缩数据寄存器往回分散到存储器。虽然对于小型矩阵,这种场景可能是可接受的,但是对于较大的矩阵,这通常是不可接受的。I.高层级讨论本文中详述的是用于在诸如中央处理单元(CPU)、图形处理单元(GPU)和加速器之类的计算机硬件中支持矩阵操作的机制。矩阵操作利用表示存储器(诸如,寄存器)的一个或多个紧缩区域的2维(2-D)数据。贯穿本说明书,这些2-D数据被称为片。注意,矩阵可以比片小(使用少于所有片),或可利用多个片(矩阵大于任一片的尺寸)。贯穿本说明书,使用矩阵(片)语言来指示使用影响矩阵的片来执行的操作;矩阵是否大于任一片通常是不相关的。每个片可由不同的操作来作用,这些操作诸如本文中详述的那些操作,包括但不限于:矩阵(片)乘法、片加法、片减法、片对角线、片零、片转置、片电极、片广播、片行广播、片列广播、片乘法、片乘法和累加、片移动,等等。此外,在未来可以与这些操作一起使用对诸如使用缩放和/或偏置的操作器的支持,或支持非数值应用,例如,OpenCL、“本地存储器”、数据压缩/解压缩,等等。存储(诸如,(非易失性和易失性的)存储器、寄存器、高速缓存等)的多个部分被布置为具有不同横向尺度和纵向尺度的片。例如,片可具有横向尺度4(例如,矩阵的四行)和纵向尺度8(例如,矩阵的8列)。典型地,横向尺度是相关的元素尺寸(例如,2位、4位、8位、16位、32位、64位、128位等)。可支持多种数据类型(单精度浮点、双精度浮点、整数等)。A.经配置的片的示例使用在一些实施例中,可配置片参数。例如,可配置给定的片以提供片选项。示例性片选项包括但不限于:片的行数、片的列数、片是否为有效以及片是否由相等尺寸的片对组成。图1A图示经配置的片的实施例。如图所示,应用存储器102的4kB具有存储于其上的1kB的片——片0104、片1106、片2108和片3110。在该示例中,这4个片不由对组成,并且每个片具有以行和列布置的元素。片t0104和片t1106具有4字节元素(例如,单精度数据)的K行和N列,其中K=8,且N=32。片t2108和片t3110具有8本文档来自技高网...

【技术保护点】
1.一种处理器,包括:解码电路,用于对存储矩阵对指令解码,所述存储矩阵对指令具有用于操作码、源标识符和目的地标识符的字段,所述源标识符和目的地标识符用于分别标识源矩阵和目的地矩阵,每个矩阵都具有等于真的PAIR参数;以及执行电路,用于执行经解码的存储矩阵对指令,以分别将所标识的源矩阵的左片和右片的每个元素存储到所标识的目的地矩阵的左片和右片的对应元素位置,其中所述执行一次对所标识的源矩阵的一行的C个元素的块进行存储。

【技术特征摘要】
2017.12.29 US 15/858,9371.一种处理器,包括:解码电路,用于对存储矩阵对指令解码,所述存储矩阵对指令具有用于操作码、源标识符和目的地标识符的字段,所述源标识符和目的地标识符用于分别标识源矩阵和目的地矩阵,每个矩阵都具有等于真的PAIR参数;以及执行电路,用于执行经解码的存储矩阵对指令,以分别将所标识的源矩阵的左片和右片的每个元素存储到所标识的目的地矩阵的左片和右片的对应元素位置,其中所述执行一次对所标识的源矩阵的一行的C个元素的块进行存储。2.如权利要求1所述的处理器,其中,所述操作码限定所标识的左源矩阵、右源矩阵、左目的地矩阵和右目的地矩阵的每个数据元素的尺寸。3.如权利要求2所述的处理器,其中,所述所标识的左源矩阵、右源矩阵、左目的地矩阵和右目的地矩阵的每个数据元素的尺寸为双字。4.如权利要求2所述的处理器,其中,所述所标识的左源矩阵、右源矩阵、左目的地矩阵和右目的地矩阵的每个数据元素的尺寸为字。5.如权利要求1至4中任一项所述的处理器,其中,所述执行电路还用于将所标识的左目的地矩阵和右目的地矩阵的剩余列中的任何数据元素归零。6.如权利要求1至4中任一项所述的处理器,其中,所标识的左源矩阵和右源矩阵各自都是用于表示矩阵的多个寄存器。7.如权利要求1至4中任一项所述的处理器,其中,所述执行电路用于在判定了以下至少一项时生成错误:经配置的片的数量等于零;所标识的源矩阵和目的地矩阵中的至少一个的PAIR参数未被设置为真;以及所标识的源矩阵和目的地矩阵中的至少一个的VALID参数未被设置为真。8.一种方法,包括:对存储矩阵对指令解码,该存储矩阵对指令具有用于操作码和目的地矩阵标识符的字段,该目的地矩阵表示符用于标识具有等于真的PAIR参数的目的地矩阵;以及执行经解码的存储矩阵对指令,以分别将所标识的源矩阵的左片和右片的每个元素存储到所标识的目的地矩阵的左片和右片的对应元素位置,其中所述执行一次对所标识的源矩阵的一行的C个元素的块进行存储。9.如权利要求8所述的方法,其中,所述操作码限定所标识的左源矩阵、右源矩阵、左目的地矩阵和右目的地矩阵的每个数...

【专利技术属性】
技术研发人员:R·萨德S·卢巴诺维奇A·格雷德斯廷Z·斯波比尔A·海内克R·凡伦天M·J·查尼B·托尔J·科巴尔E·乌尔德阿迈德瓦尔M·阿德尔曼
申请(专利权)人:英特尔公司
类型:发明
国别省市:美国,US

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

1