[发明专利]矢量处理的方法无效
申请号: | 200980119748.0 | 申请日: | 2009-05-29 |
公开(公告)号: | CN102047219A | 公开(公告)日: | 2011-05-04 |
发明(设计)人: | 马西马·斯姆瑞蒂;让-保罗·查尔斯·弗朗索瓦丝·胡伯特·斯梅茨;威廉·埃格伯特·亨德里克·克洛斯特奎斯 | 申请(专利权)人: | NXP股份有限公司 |
主分类号: | G06F9/305 | 分类号: | G06F9/305;G06F9/302 |
代理公司: | 中科专利商标代理有限责任公司 11021 | 代理人: | 王波波 |
地址: | 荷兰艾*** | 国省代码: | 荷兰;NL |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 矢量 处理 方法 | ||
技术领域
本申请涉及一种在矢量处理器中处理数据的方法。本申请还涉及一种用于执行所述方法的矢量处理器以及一种包括所述矢量处理器的蜂窝通信设备。
背景技术
在目前高性能处理器体系结构中,由于物理限制,通过增加时钟频率来提高性能达到了极限。相反,开发了提高性能的其他方法。方法之一是增加并行性,即,在单个时钟周期内并行地执行多个操作。因此,单个时钟周期可以是处理器的基本定时单元。
一种提高并行性的常见方法是利用单指令、多数据(SIMD)概念。在这种SIMD处理器中,每个单个指令同时作用于多个数据值,对每个数据值执行相同操作。这是通过可以在固定长度矢量上操作的SIMD处理器来执行的。所述固定长度矢量也可以被称为行或数组,并可以包括多个数据元素。例如,宽度32的16比特SIMD机对32个元素的行进行操作,每一个元素是16比特数字,即,一次处理32*16=5612比特。
根据矢量内的位置,操作从矢量中得到自变量并产生结果。所述结果可以置入已有的矢量中,如在示例操作A=-A情况下,或置入新矢量中,如在示例操作C=A+B情况下,其中A、B和C是矢量。对于这两种情况下,计算的结果矢量的元素在该结果矢量内位于相同位置,即,C[0]=A[0]+B[0],等。
在图1中,示出了根据现有技术的第一示例操作。第一矢量2包括元素A[i],其中i=1,...,N,以及第二矢量4包括B[i],其中i=1,...,N。根据示例,SIMD指令是加法函数,其中按照与这种矢量2和4的两个元素相对应的逐对方式来执行加法,结果是第三结果矢量6。对于在矢量长度内的所有i,根据以下方程计算结果矢量。C[i]=A[i]+B[i]。
应理解SIMD操作不局限于加法函数,所述SIMD操作包括所有逐元素函数。
SIMD处理器思想的延伸是所谓的矢量处理器。除了执行SIMD操作的能力以外,矢量处理器还可以执行所谓矢量内操作。矢量内操作是在单个矢量内元素之间具有相互作用的操作。这种操作的例子是矢量内元素的总和的计算。在纯SIMD机上不能以并行操作来执行这种操作,这是因为这种机器仅对矢量内相同位置的元素进行操作。作为示例,矢量内操作是在矢量内元素的加法,其还可以被称为矢量内部相加,在矢量内查找最大元素或最小元素,并在矢量内重排或置换元素。
图2示出了根据现有技术的第二示例操作。更具体地,图2示出了完整矢量的内操作。由该图可见,计算矢量8[i]的输入元素的总和,i=0,...,7,并将结果s0放置到字段10。
在图3中示出了根据现有技术的第三示例操作。图3给出了对于分段矢量12的内部相加操作的例子。将所示矢量12划分为第一段14,包括元素A[i],i=1,...,4;以及通过参考符号16指示的其他段,包括元素A[i],i=5,...,N。可以计算每个段14和16的元素总和,并置入相应结果字段18和20。
在计算结构体系中,SIMD操作和矢量内部操作的概念已经是众所周知的。然而,当在矢量处理器上映射算法时,在处理器中矢量的长度不总是与在算法中必须处理的数据段(组块)的长度匹配。例如,考虑固有矢量长度包括值16的使用情况。然而,算法可以将输入流划分为8个相邻元素的段,其必须被累积。这是例如基于Rake接收机的蜂窝通信中的典型情况,其中Rake具有较小的扩频因子。根据该示例,扩频因子是8。
根据图2,简单矢量内部相加操作不能充分实现这种算法的效率,这是因为其将矢量内的所有元素相加。因此,为了使用标准(全宽度)内部相加,在执行矢量内部加法之前,首先在分离操作中必须使不属于具体段的所有元素为零。此外,必须针对矢量内的每个段重复该过程。最后,很可能不得不在结果矢量内重新封装结果,在相邻元素中传递计算值,以便进一步处理。
根据图3的分段内部相加操作提供了一种有效地计算部分总和的方法,然而,不能提供一种以高效方式收集结果的方法。进一步地,该方法仅提供了一种针对段长度是矢量长度的除数的解决方案。
因此,本申请的一个目的是提供一种段长度没有限制的方法。另一个目的是提供一种以高效方式收集结果输出流的方法。另一个目的是提高矢量处理器的效率。
发明内容
通过一种在矢量处理器中处理数据的方法解决了这些和其他目的,所述方法包括:针对在矢量的段执行分段操作以便产生结果;收集分段操作的结果;以及在结果矢量中传递结果,以便后续操作保持矢量模式的处理。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于NXP股份有限公司,未经NXP股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200980119748.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种玻璃纤维强化无醛胶合板
- 下一篇:一种两位调节台锯支架