[发明专利]处理器以及处理方法有效
申请号: | 201410041737.8 | 申请日: | 2014-01-28 |
公开(公告)号: | CN104063357B | 公开(公告)日: | 2017-04-12 |
发明(设计)人: | 安岛雄一郎 | 申请(专利权)人: | 富士通株式会社 |
主分类号: | G06F17/16 | 分类号: | G06F17/16 |
代理公司: | 北京集佳知识产权代理有限公司11227 | 代理人: | 康建峰,吴琼 |
地址: | 日本神*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 处理器 以及 处理 方法 | ||
技术领域
本文中所讨论的实施例涉及处理器以及处理方法。
背景技术
由于工艺技术的进步,已经逐渐在硅芯片上集成许多晶体管。另一方面,在算术处理中32位(bit)或64位的处理精度通常是足够的。因此,广泛使用SIMD(Single Instruction Multiple Data,单指令多数据)方法作为高效地使用许多晶体管的处理方法,该方法通过使用单一指令并行驱动许多算术单元来处理多条数据(例如,参考专利文献1)。
在SIMD方法中,例如,将多条32位或64位的数据存储在128位或256位矢量寄存器中。以下述方式执行矢量数据的四则运算,即:作为示例,如图9所示,将用于四则运算的多个算术单元排成一行,并且算术单元进行多条对应的数据的四则运算。作为示例,图9示出了具有四个乘法器101-i(i=1,2,3,4)并且计算矢量数据的乘积的处理单元100,每个矢量数据具有四个元素。乘法器101-i接收数据a(i-1)和数据b(i-1)并且输出数据a(i-1)与数据b(i-1)的乘积作为成为输出矢量数据c的一个元素的数据c(i-1),其中,数据a(i-1)和数据b(i-1)分别是输入矢量数据a、b的一个元素。
当前可用的SIMD方法通常用于在一个周期内向多个算术单元提供数据,并且被称为短矢量SIMD方法,这是因为其矢量寄存器长度最大为几百位,这短于为几千位的传统矢量寄存器的长度。矢量运算适合用于高效地处理通常用于科学技术计算中的矩阵运算。在下文中,作为示例,将给出对其中关于二维N×N(N是大于或等于2的整数)矩阵A、矩阵B、矩阵C来说将矩阵A和矩阵B的乘积加至矩阵C的算术处理的描述。
图10是表示其中通过标量处理将矩阵A与矩阵B的乘积加至矩阵C的处理的示例的流程图。当处理开始时,在步骤S301中,变量j的值被初始化为0。接着,在步骤S302中,检查变量j的值,并且当变量j的值小于N时,处理进行至步骤S303,否则,处理结束。在步骤S303中,变量i的值被初始化为0。接着,在步骤S304中,检查变量i的值,并且当变量i的值小于N时,处理进行至步骤S305,否则,在步骤S310中,将变量j的值加1,并且处理进行至步骤S302。在步骤S305中,变量k的值被初始化为0。接着,在步骤S306中,检查变量k的值,并且当变量k的值小于N时,处理进行至步骤S307,否则,在步骤S309中,将变量i的值加1,并且处理进行至步骤S304。在步骤S307中,执行下述算术运算:将矩阵A的第(j+1)行且第(k+1)列处的数据A[j][k]与矩阵B的第(k+1)行且第(i+1)列处的数据B[k][i]的乘积加至矩阵C的第(j+1)行且第(i+1)列处的数据C[j][i],并且将相加结果设置为矩阵C的第(j+1)行且第(i+1)列处的数据。接着,在步骤S308中,将变量k的值加1,并且处理进行至步骤S306。当通过标量处理执行处理时,如图10所示,通过对变量i、j、k进行三重循环处理进行了N3次乘积和求和的计算。图10中所表示的指令或处理的数目是N3。
图11是表示其中通过四个元素的矢量处理将矩阵A与矩阵B的乘积加至矩阵C的处理的示例的流程图。图11所表示的步骤S401至步骤S406以及步骤S408和步骤S409的处理对应于图10所表示的步骤S301至步骤S306以及步骤S308和步骤S309的处理。处理的内容相同,并且因此,将省略其描述。在步骤S406中,当变量k的值小于N时,处理进行至步骤S407,在步骤S407中,执行下述算术运算:将矩阵A的第(j+x+1)行且第(k+1)列处的数据A[j+x][k](x=0,1,2,3)与矩阵B的第(k+1)行且第(i+1)列处的数据B[k][i]的乘积加至矩阵C的第(j+x+1)行且第(i+1)列处的数据C[j+x][i],并且将相加结果设置为矩阵C的第(j+x+1)行且第(i+1)列处的数据。也就是说,在图11所表示的示例中,使用单一指令执行用于连续的四个元素的矢量乘积运算和矢量求和运算。在步骤S404中,当变量i的值不小于N时,处理进行至步骤S410,在步骤S410中,将变量j的值加4并且处理进行至步骤S402。当通过图11所表示的矢量处理执行处理时,对连续的四个元素执行矢量乘积运算和矢量求和运算,并且因此,由(N3/4)个指令执行N3次乘积运算和求和运算。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于富士通株式会社,未经富士通株式会社许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410041737.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:电子设备及其显示处理方法
- 下一篇:数据预取方法及装置