当前位置: 首页 > 专利查询>ARM有限公司专利>正文

数据处理制造技术

技术编号:30264121 阅读:14 留言:0更新日期:2021-10-09 21:12
数据处理装置,包括:处理电路系统,用来向线性数组的一或更多个数据项施用处理操作,该线性数组在该线性数组中的相应位置处包括复数(n)个数据项,该处理电路系统被配置为存取n

【技术实现步骤摘要】
【国外来华专利技术】数据处理

技术介绍

[0001]本公开内容与数据处理相关。
[0002]一些数据处理布置允许向量处理操作,其涉及将单个向量处理指令施用于数据向量的数据项,该数据向量在该数据向量中的相应位置处中具有多个数据项。相比的下,纯量处理实际上对单个数据项而不系数据向量进行操作。

技术实现思路

[0003]在一个示例布置中,提供了数据处理装置,该数据处理装置包括:
[0004]处理电路系统,用来向线性数组的一或更多个数据项施用处理操作,该线性数组在该线性数组中的相应位置处包括复数(n)个数据项,该处理电路系统被配置为存取n
×
n个储存位置的数组,其中n是大于一的整数,该处理电路系统包括:
[0005]指令译码器电路系统,用来对程序指令进行译码;和
[0006]指令处理电路系统,用来执行由该指令译码器电路系统所译码的指令;
[0007]其中该指令译码器电路系统响应于数组存取指令,控制该指令处理电路系统,将布置在一定数组方向上的n个储存位置的集合作为线性数组来存取,在该数组存取指令的控制下,该数组方向是从候选数组方向的集合选定的,候选数组方向的该集合至少包括第一数组方向和与该第一数组方向不同的第二数组方向。
[0008]在另一个示例布置中,提供了数据处理装置,该数据处理装置包括:
[0009]处理构件,用于向线性数组的一或更多个数据项施用处理操作,该线性数组在该线性数组中的相应位置处包括复数(n)个数据项,该向量处理构件能够操作以存取n
×
n个储存位置的数组,其中n是大于一的整数,该处理构件包括:
[0010]指令译码器构件,用于对程序指令进行译码;和
[0011]指令处理构件,用于执行由该指令译码器构件所译码的指令;
[0012]其中该指令译码器构件响应于数组存取指令,控制该指令处理构件,将布置在一定数组方向上的n个储存位置的集合作为线性数组来存取,在该数组存取指令的控制下,该数组方向是从候选数组方向的集合选定的,候选数组方向的该集合至少包括第一数组方向和与该第一数组方向不同的第二数组方向。
[0013]在另一个示例布置中,提供了一种数据处理方法,该方法包括以下步骤:
[0014]通过存取n
×
n个储存位置的数组,向线性数组的一或更多个数据项施用处理操作,该线性数组在该线性数组中的相应位置处包括复数(n)个数据项,其中n是大于一的整数,该施用步骤包括以下步骤:
[0015]对程序指令进行译码;以及
[0016]执行由该译码步骤所译码的指令;
[0017]其中该译码步骤响应于数组存取指令,控制该执行步骤,将布置在一定数组方向上的n个储存位置的集合作为线性数组来存取,在该数组存取指令的控制下,该数组方向是从候选数组方向的集合选定的,候选数组方向的该集合至少包括第一数组方向和与该第一
数组方向不同的第二数组方向。
[0018]在另一个示例布置中,提供了一种虚拟机,该虚拟机包括数据处理器,该数据处理器用来执行计算机程序,该计算机程序包括机器可读取指令,其中该计算机程序的执行使得该数据处理器操作为数据处理装置,该数据处理装置包括:
[0019]处理电路系统,用来向线性数组的一或更多个数据项施用处理操作,该线性数组在该线性数组中的相应位置处包括复数(n)个数据项,该处理电路系统被配置为存取n
×
n个储存位置的数组,其中n是大于一的整数,该处理电路系统包括:
[0020]指令译码器电路系统,用来对程序指令进行译码;和
[0021]指令处理电路系统,用来执行由该指令译码器电路系统所译码的指令;
[0022]其中该指令译码器电路系统响应于数组存取指令,控制该指令处理电路系统,将布置在一定数组方向上的n个储存位置的集合作为线性数组来存取,在该数组存取指令的控制下,该数组方向是从候选数组方向的集合选定的,候选数组方向的该集合至少包括第一数组方向和与该第一数组方向不同的第二数组方向。
[0023]本公开内容的另外的相应方面和特征由随附权利要求所限定。
附图说明
[0024]将仅通过示例的方式进一步参照如附图中所示出的本技术的实施方案来描述本技术,在此类附图中:
[0025]图1示意性地示出数据处理装置;
[0026]图2a示意性地示出储存数组;
[0027]图2b

图4示意性地示出对图2b的储存数组的存取;
[0028]图5a

图5e示意性地示出向量乘法的示例;
[0029]图6a

图6e示意性地示出矩阵乘法的示例;
[0030]图7a

图7f示意性地示出矩阵乘法累加(MMLA)指令的使用;
[0031]图8示意性地示出虚拟机;并且
[0032]图9是表示一种方法的示意流程图。
具体实施方式
[0033]在参照附图来论述实施方案之前,提供了以下的实施方案说明。
[0034]示例实施方案提供数据处理装置,包括:
[0035]处理电路系统,用来向线性数组的一或更多个数据项施用处理操作,该线性数组在该线性数组中的相应位置处包括复数(n)个数据项,该处理电路系统被配置为存取n
×
n个储存位置的数组,其中n是大于一的整数,该处理电路系统包括:
[0036]指令译码器电路系统,用来对程序指令进行译码;和
[0037]指令处理电路系统,用来执行由该指令译码器电路系统所译码的指令;
[0038]其中该指令译码器电路系统响应于数组存取指令,控制该指令处理电路系统,将布置在一定数组方向上的n个储存位置的集合作为线性数组来存取,在该数组存取指令的控制下,该数组方向是从候选数组方向的集合选定的,候选数组方向的该集合至少包括第一数组方向和与该第一数组方向不同的第二数组方向。
[0039]示例实施方案表示可以在数组处理中提供特定效率以及便利的技术。一个示例与矩阵处理相关,但技术可用于其他应用中。
[0040]乘法或其他的矩阵操纵常见于由许多应用领域所使用的数字讯号处理。并且,近年来,随着矩阵乘法可见于训练和推理算法中的机器学习越来越普及,对于加速矩阵乘法处理的兴趣是巨大的。
[0041]例如,对于两个矩阵A和B且其中矩阵A具有维度[M,K]而矩阵B具有维度[K,N])而言,矩阵C=A*B具有维度[M,N],其中M是A和C的列数,K是A的行数和B的列数,而N是B和C的行数。
[0042]即使矩阵乘法计算相当简单(即C的每个元素均是通过A的一列与B的一行的K向点积来获得的),且可以将此计算视为K乘法

累加操作,但挑战在于将矩阵A和B的对特定结果有贡献的特定元素的序列用由指令委托的特定顺序递送到指令输入,该指令将使用此数据来计算结果。本实施方案与例如(然而并不排他地)在向量处理CPU上执行计算时递送适当组本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.数据处理装置,包括:处理电路系统,用来向一线性数组的一或更多个数据项施用处理操作,所述线性数组在所述线性数组中的相应位置处包括复数(n)个数据项,所述处理电路系统被配置为存取n
×
n个储存位置的一数组,其中n是大于一的一整数,所述处理电路系统包括:指令译码器电路系统,用来对程序指令进行译码;和指令处理电路系统,用来执行由所述指令译码器电路系统所译码的指令;其中所述指令译码器电路系统响应于一数组存取指令,控制所述指令处理电路系统,将布置在一数组方向上的n个储存位置的一集合作为一线性数组来存取,在所述数组存取指令的控制下,所述数组方向是从候选数组方向的一集合选定的,候选数组方向的所述集合至少包括一第一数组方向和与所述第一数组方向不同的一第二数组方向。2.根据权利要求1所述的数据处理装置,其中所述第二数组方向与所述第一数组方向正交。3.根据权利要求1或权利要求2所述的数据处理装置,其中:所述指令处理电路系统被配置为将一输入向量储存到储存位置的所述数组作为布置在所述第一数组方向上的n个储存位置的一群组;并且响应于一数据撷取指令,将布置在一数组方向上的n个储存位置的一集合作为一线性数组来撷取,在所述数据撷取指令的控制下,所述数组方向是从候选数组方向的所述集合选定的;并且所述第一数组方向是一预定的数组方向。4.根据权利要求3所述的数据处理装置,其中所述数据撷取指令具有相关联的一指令参数以指定一数组方向,所述指令处理电路系统通过所述数组方向将n个储存位置的一集合作为一线性数组来存取。5.根据前述权利要求中任一项所述的数据处理装置,包括n
×
n个储存位置的二或更多个数组。6.根据权利要求5所述的数据处理装置,其中所述数组存取指令包括一矩阵处理指令,所述矩阵处理指令限定一矩阵处理操作以取决于储存在n
×
n个储存位置的所述二或更多个数组中的相应数组中的数据项的相应输入矩阵来产生输出数据。7.根据权利要求6所述的数据处理装置,其中:所述矩阵处理操作限定所述输入矩阵中的一者的数据项的列或行与所述输入矩阵中的另一者的数据项的列或行之间的一操作;并且所述矩阵处理指令具有相关联的一指令参数以针对储存数据项的所述输入矩阵的n
×
n个储存位置的所述相应数组中的每一者指定一数组方向,所述指令译码器电路系统要控制所述指令处理电路系统通过所述数组方向从储存位置的所述数组撷取线性数组。8.根据权利要求7所述的数据处理装置,其中所述矩阵处理操作是一矩阵乘法操作以取决于所述输入矩阵中的一者的数据项的列和行中的一者的元素与所述输入矩阵中的另一者的数据项的列和行中的另一者的元素之间的一操作来产生一输出矩阵的一元素。9.根据权利要求2所述的数据处理装置,其中n
×
n个储存位置的所述数组包括能够由所述指令处理电路系统作为2n个线性数组来存取的储存元素的一数组,所述2n个线性数组包括所述第一数组方向上的n个线性数组以及所述第二数组方向上的n个线性数组,每个线性数组均包括n个数据项。
10.根据权...

【专利技术属性】
技术研发人员:J
申请(专利权)人:Arm有限公司
类型:发明
国别省市:

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

1