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

位矩阵乘法制造技术

技术编号:31377898 阅读:16 留言:0更新日期:2021-12-15 11:17
本申请公开了位矩阵乘法。详述了关于处理器中的位矩阵乘法的实施例。例如,在一些实施例中,描述了一种处理器,包括:解码电路,用于对指令解码,该指令具有用于操作码、第一源位矩阵的标识符、第二源位矩阵的标识符、目的地位矩阵的标识符和立即数的字段;以及执行电路,用于执行经解码的指令以执行所标识的第一源位矩阵的S位的元素的矩阵与所标识的第二源位矩阵的S位的元素的乘法,其中乘法和累加操作由操作选择器选择并且将矩阵乘法的结果存储到所标识的目的地位矩阵中,其中S指示复数位尺寸。位尺寸。位尺寸。

【技术实现步骤摘要】
位矩阵乘法
本专利技术专利申请是2018年8月29日提交的申请号为201810997182.2,名称为“位矩阵乘法”的专利技术专利申请的分案申请。

技术介绍

[0001]生物信息学、软件定义的无线电、成像和密码学应用(若干加密算法、安全散列法等)的许多实例使用位矩阵乘法(BMM)。当被实现为BMM时,诸如S

box、位置换、Hadamard变换、按位神经网络、伽罗瓦域乘法(在密码学和信道编码中使用的)等之类以及用于位操纵的若干操作可以是更高效的。
附图说明
[0002]在所附附图中以示例方式而非限制方式来图示本专利技术,在附图中,类似的附图标记指示类似的要素,其中:
[0003]图1图示具有8x8位矩阵与8x64位矩阵的源的BMM指令的执行的所选择部分的实施例;
[0004]图2图示具有64x8位矩阵与8x8位矩阵的源的BMM指令的执行的所选择部分的实施例;
[0005]图3图示具有8x64位矩阵与64x64位矩阵的源的BMM指令的执行的所选择部分的实施例;
[0006]图4图示具有64x64位矩阵与64x8位矩阵的源的BMM指令的执行的所选择部分的实施例;
[0007]图5图示用于处理诸如BMM指令之类的指令的硬件的实施例;
[0008]图6图示由处理器执行的用于处理BMM指令的方法的实施例;
[0009]图7图示BMM指令的执行的更详细的描述;
[0010]图8A

8B是图示根据本专利技术的实施例的通用向量友好指令格式及其指令模板的框图;
[0011]图9A是图示根据本专利技术的实施例的示例性专用向量友好指令格式的框图;
[0012]图9B是图示根据本专利技术的一个实施例的构成完整操作码字段874的具有专用向量友好指令格式900的字段的框图;
[0013]图9C是图示根据本专利技术的一个实施例的构成寄存器索引字段844的具有专用向量友好指令格式900的字段的框图;
[0014]图9D是图示根据本专利技术的一个实施例的构成扩充操作字段850的具有专用向量友好指令格式900的字段的框图;
[0015]图10是根据本专利技术的一个实施例的寄存器架构1000的框图;
[0016]图11A是图示根据本专利技术的实施例的示例性有序流水线和示例性的寄存器重命名的乱序发布/执行流水线两者的框图;
[0017]图11B是图示根据本专利技术的实施例的要包括在处理器中的有序架构核的示例性实
施例和示例性的寄存器重命名的乱序发布/执行架构核两者的框图;
[0018]图12A

B图示更具体的示例性有序核架构的框图,该核将是芯片中的多个逻辑块(包括相同类型和/或不同类型的其他核)中的一个;
[0019]图13是根据本专利技术的实施例的可具有超过一个的核、可具有集成存储器控制器、并且可具有集成图形器件的处理器1300的框图;
[0020]图14示出根据本专利技术的一个实施例的系统的框图;
[0021]图15是根据本专利技术的实施例的第一更具体的示例性系统的框图;
[0022]图16是根据本专利技术的实施例的第二更具体的示例性系统的框图;
[0023]图17是根据本专利技术的实施例的SoC的框图;以及
[0024]图18是根据本专利技术的实施例的对照使用软件指令转换器将源指令集中的二进制指令转换成目标指令集中的二进制指令的框图。
具体实施方式
[0025]在以下描述中,陈述了众多具体细节。然而,应当理解,可在没有这些特定细节的情况下实践本专利技术的实施例。在其他实例中,未详细示出公知的电路、结构和技术,以免使对本描述的理解模糊。
[0026]说明书中对“一个实施例”、“实施例”、“示例实施例”等的引用表明所描述的实施例可以包括特定的特征、结构或特性,但是每个实施例可能不一定都包括该特定的特征、结构或特性。此外,此类短语不一定是指同一个实施例。此外,当结合实施例描述特定的特征、结构或特性时,认为结合无论是否被明确描述的其他实施例而影响此类特征、结构或特性是在本领域技术人员的知识范围之内的。
[0027]通常,处理器核围绕字的处理而非位的处理进行优化。由此,通常也不支持复杂的位级操作。
[0028]本文中详述的是BMM指令及其执行的实施例。取决于实现方式,本文中详述的指令可以使用通用寄存器(例如,64位GPR)、紧缩数据(有时称为向量,或单指令多数据(SIMD))寄存器或寄存器块、或基于存储器的(例如,64位、512位、4096位等)操作数。这些指令是对计算机本身的改进,因为它们为先前未成为可能的BMM提供了支持。具体而言,BMM指令的执行使得执行两个源矩阵的位矩阵乘法,其中经由指令选择在乘法和加法方面中使用的特定电路。在一些实施例中,使用与(AND)来执行元素与元素乘法,并且使用异或(XOR)来执行项与项求和。如下文所详述,本文中详述的BMM指令的实施例具有可选择的乘法和/或求和电路。例如,立即数(或其他(多个)操作数)指定将在BMM中使用什么乘法和加法电路。示例性乘法电路包括但不限于:按位与(AND)、与非(NAND)、异或(XOR)、同或(XNOR)以及/或者或非(NOR)。示例性加法(

)电路包括但不限于:按位异或(XOR)、或非(NOR)、或(OR)、同或(XNOR);多数(majority)(如果多数为1,则为1)和少数(minority)。在下面的讨论中,括号[]表示特定位的值,表示位字段乘法(例如,与(AND)),并且

表示位累加(例如,异或(XOR))。
[0029]图1图示具有8x8位矩阵与8x64位矩阵的源的BMM指令的执行的所选择部分的实施例。该BMM指令的格式包括用于操作码(“VBMM8x64”是该图示中的操作码助记符)、第一源位矩阵操作数标识符(示出为“源1”)、第二源位矩阵操作数标识符(示出为“源2/MEM”)、立即
数和目的地位矩阵操作数标识符(示出为“目的地”)的字段。
[0030]两个源操作数字段表示第一源位矩阵操作数101和第二源位矩阵操作数103的位置。这些位置可以是存储器位置(例如,诸如磁盘或RAM之类的存储器中的地址)或一个或多个寄存器。
[0031]在该图示中,第一源位矩阵操作数101是8x8位矩阵。在BMM指令的一些实施例中,8x8位矩阵作为以行0开始的8个8位的行的序列被存储在存储器或一个或多个寄存器中。由此,对位于矩阵M的行I,列J中的位的访问将是:M[I,J]=M[I*8+J],并且如果存储在存储器中:(M[I]>>J)&1。
[0032]在该图示中,第二源位矩阵操作数103是8x64位矩阵。在一些实施例中,8x64位矩阵(8个64位的行)作为以行0开始的64位的行的序列被存储在存储器或一个或多个寄存器中。由此,对位于矩阵M的行I,列J中的位的访问将是:M[I,J]=M[I*64+J](这是位引本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种芯片,包括:多个存储器控制器;第二级(L2)高速缓存存储器,耦合至所述多个存储器控制器;处理器,耦合至所述多个存储器控制器,并且耦合至所述L2高速缓存存储器,所述处理器具有多个核,所述多个核包括用于响应于矩阵乘法指令而执行与所述矩阵乘法指令对应的操作的核,所述矩阵乘法指令用于指示第一源位矩阵、第二源位矩阵、目的地矩阵、以及操作选择符,所述操作包括用于:对于所述目的地矩阵中的每个多个位的位置:利用由所述操作选择符选择的多个不同类型的逻辑操作中的一个逻辑操作对来自所述第一源位矩阵的对应行的位的位置的位值、以及来自所述第二源位矩阵的对应列的对应的位的位置的位值进行操作以生成对应的结果,所述多个不同类型的逻辑操作至少包括逻辑与操作和逻辑异或(XOR)操作;对所述结果进行累加;以及将与对所述结果的累加对应的结果存储在所述目的地矩阵中的所述多个位的位置中;互连,耦合至所述处理器;以及总线控制器,耦合至所述处理器。2.如权利要求1所述的芯片,其中,所述结果用于使用由所述操作选择符指定的操作而被累加。3.如权利要求1所述的芯片,其中,所述矩阵乘法指令允许用于所述第一源位矩阵和所述第二源位矩阵的多个不同尺寸。4.如权利要求1所述的芯片,其中,所述矩阵乘法指令还能够用于对具有4位的数据元素的矩阵执行矩阵乘法。5.如权利要求1所述的芯片,其中,所述矩阵乘法指令还能够用于对具有多个可能尺寸中的一个尺寸的数据元素的矩阵执行矩阵乘法。6.如权利要求1所述的芯片,其中,所述第一源位矩阵至少包括512位。7.如权利要求1所述的芯片,其中,所述第一源位矩阵包括4096位。8.如权利要求1所述的芯片,其中,所述矩阵乘法指令用于指示1位的数据元素尺寸。9.如权利要求1所述的芯片,其中,所述第一源位矩阵用于被存储在多个寄存器中。10.如权利要求1所述的芯片,其中,所述多个核包括图形核。11.如权利要求1所述的芯片,其中,所述多个核是异构的。12.如权利要求1所述的芯片,进一步包括指令转换器,用于将所述矩阵乘法指令转换为能由所述核执行的不同指令集的一条或多条指令。13.如权利要求1所述的芯片,其中,要被存储在所述目的地矩阵中的所述结果包括所述第一源位矩阵与所述第二源位矩阵的单个位矩阵乘法。14.一种系统,包括:存储器;以及芯片,与所述存储器耦合,所述芯片包括:多个存储器控制器,用于与所述存储器对接;第二级(L2)高速缓存存储器,耦合至所述多个存储器控制器;
处理器,耦合至所述多个存储器控制器,并且耦合至所述L2高速缓存存储器,所述处理器具有多个核,所述多个核包括用于响应于矩阵乘法指令而执行与所述矩阵乘法指令对应的操作的核,所述矩阵乘法指令用于指示第一源位矩阵、第二源位矩阵、目的地矩阵、以及操作选择符,所述操作包括用于:对于所述目的地矩阵中的每个多个位的位置:利用由所述操作选择符选择的多个不同类型的逻辑操作中的一个逻辑操作对来自所述第一源位矩阵的对应行的位的位置的位值、以及来自所述第二源位矩阵的对应列的对应的位的位置的位值进行操作以生成对应的结果,所述多个不同类型的逻辑操作至少包括逻辑与操作和逻辑异或(XOR...

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

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

1