【技术实现步骤摘要】
本专利技术涉及一种用于执行乘法累加(MAC)运算的设备和方法。
技术介绍
乘法累加(MAC)运算在数据处理系统中是频繁使用的。MAC运算可以采用的形式 是A+B*C或A-B*C。乘法运算B*C典型地对于B和C的不同的值执行多次,其中,每次乘法 结果然后与运行累加值A相加(或从运行累加值A中减去)。专用MAC电路通常提供于数据处理系统内,用于对背对背(back-to-back)MAC运 算的性能进行优化。这种MAC电路可以提供于标量处理电路内,在此,乘法累加指令序列一 个接一个地执行,以执行所需的乘法累加运算迭代。然而,用于对这种运算的性能进行加速 的一种已知方法是采用SIMD (单指令多数据)方法。根据SIMD方法,多个数据元素并排地 放入寄存器内,然后在多个并行处理通道内对这些数据元素并行地执行所需的运算。考虑 到生成单个乘法累加结果所需的运算,据上述讨论应理解,需要多个分离的乘法运算,并且 通过使用SIMD数据处理电路,多个这种所需的乘法可以被并行执行,以增加乘法累加运算 的吞吐量。至于标量电路而言,在SIMD数据处理电路内,可以提供专用MAC电路,用于对乘 法累加运算的性能进行优化。频繁使用MAC运算的一类数字信号处理运算是滤波运算。当使用专用MAC单元时, 有可能相对较快地执行复数滤波运算。使用这种滤波运算的一个特定示例是当对接收到的 无线电信号与导频信号进行比较时,接收机将导频信号用作已知的基准信号。导频信号将 典型地在已知正幅度与已知负幅度之间交替,以限定已知的导频波形。当执行这种滤波运 算时,必须贯穿整个滤波运算执行乘法加法运算和乘法减法 ...
【技术保护点】
一种数据处理设备,包括:数据处理电路,其响应于控制信号而对至少一个输入数据元素执行数据处理操作;指令解码器电路,其耦合到所述数据处理电路,并且响应于程序指令而生成所述控制信号;所述指令解码器电路响应于将第一输入数据元素、第二输入数据元素和谓词值指定为输入操作数的谓词乘法累加指令,以生成控制信号来控制所述数据处理电路通过下述步骤来执行乘法累加运算:将所述第一输入数据元素与所述第二输入数据元素相乘,以产生乘法数据元素;如果谓词值具有第一值,则通过将乘法数据元素与初始累加数据元素相加来产生结果累加数据元素;以及如果谓词值具有第二值,则通过从初始累加数据元素减去乘法数据元素来产生结果累加数据元素。
【技术特征摘要】
GB 2009-10-30 0919120.61.一种数据处理设备,包括数据处理电路,其响应于控制信号而对至少一个输入数据元素执行数据处理操作; 指令解码器电路,其耦合到所述数据处理电路,并且响应于程序指令而生成所述控制信号;所述指令解码器电路响应于将第一输入数据元素、第二输入数据元素和谓词值指定为 输入操作数的谓词乘法累加指令,以生成控制信号来控制所述数据处理电路通过下述步骤 来执行乘法累加运算将所述第一输入数据元素与所述第二输入数据元素相乘,以产生乘法数据元素; 如果谓词值具有第一值,则通过将乘法数据元素与初始累加数据元素相加来产生结果 累加数据元素;以及如果谓词值具有第二值,则通过从初始累加数据元素减去乘法数据元素来产生结果累 加数据元素。2.如权利要求1中所述的数据处理设备,还包括至少一个寄存器组,用于存储所述输入操作数,其中,所述谓词乘法累加指令标识包含 所述谓词值的所述至少一个寄存器组中的寄存器。3.如权利要求1中所述的数据处理设备,其中所述数据处理电路是SIMD数据处理电路,其提供N个并行处理通道,其中,N是大于1 的整数,所述SIMD数据处理电路响应于所述控制信号而在所述N个并行处理通道中的每一 个中并行执行数据处理操作;所述谓词乘法累加指令将形成第一矢量的多个所述第一输入数据元素指定为输入操 作数;所述指令解码器电路响应于所述谓词乘法累加指令而生成控制信号,以控制所述数据 处理电路在所述N个并行处理通道中的每一个中并行执行所述乘法累加运算,使得来自被 选择用于所述乘法累加运算的输入的所述第一矢量的第一输入数据元素依赖于其中该乘 法累加运算被执行的并行处理通道。4.如权利要求3中所述的数据处理设备,其中所述谓词乘法累加指令将形成第二矢量的多个所述第二输入数据元素指定为输入操 作数;以及来自被选择用于所述乘法累加运算的输入的所述第二矢量的所述第二输入数据元素 依赖于其中该乘法累加运算被执行的并行处理通道。5.如权利要求3中所述的数据处理设备,其中所述谓词乘法累加指令将标量第二输入数据元素指定为输入操作数,所述标量第二输 入数据元素于是在所述数据处理电路内被复制,以形成第二矢量;据此,同一第二输入数据元素用在其中所述乘法累加运算被执行的每一并行处理通道中。6.如权利要求3中所述的数据处理设备,其中所述谓词乘法累加指令将形成第三矢量的多个所述谓词值指定为输入操作数;以及 来自被选择用于所述乘法累加运算的输入的所述第三矢量的所述谓词值依赖于其中 该乘法累加运算被执行的并行处理通道。7.如权利要求6中所述的数据处理设备,其中,所述第三矢量指定N个谓词值,使得在 所述N个并行处理通道中的每一个内,所述乘法累加运算独立地被配置为执行乘法加法运 算或乘法减法运算。8.如权利要求1中所述的数据处理设备,其中,所述谓词乘法累加指令进一步将所述 初始累加数据元素指定为输入操作数。9.如权利要求1中所述的数据处理设备,其中,所述初始累加数据元素是预先确定的值。10.如权利要求9中所述的数据处理设备,其中,所述预先确定的值是零。11.如权利要求3中所述的数据处理设备,其中所述谓词乘法累加指令将形成第四矢量的多个所述初始累加数据元素指定为输入操 作数;以及来自被选择用于所述乘法累加运算的输入的所述第四矢量的所述初始累加数据元素 依赖于其中该乘法累加运算被执行的并行处理通道。12.如权利要求11中所述的数据处理设备,其中所述数据处理电路是SIMD数据处理电路,其提供N个并行处理通道,其中,N是大于1 的整数,所述SIMD数据处理电路响应于所述控制信号而在所述N个并行处理通道中的每一 个中并行执行数据处理操作;所述谓词乘法累加指令将形成第一矢量的多个所述第一输入数据元素指定为输入操 作数;所述指令解码器电路响应于所述谓词乘法累加指令而生成控制信号,以控制所述数据 处理电路在所述N个并行处理通道中的每一个中并行执行所述乘法累加运算,使得来自被 选择用于所述乘法累加运算的输入的所述第一矢量的第一输入数据元素依赖于其中该乘 法累加运算被执行的并行处理通道;并且其中所述谓词乘法累加指令将形成第二矢量的多个所述第二输入数据元素指定为输入操 作数;以及来自被选择用于所述乘法累加运算的输入的所述第二矢量的所述第二输入数据元素 依赖于其中该乘法累加运算被执行的并行处理通道,其中,所述第一矢量、第二矢量和第四...
【专利技术属性】
技术研发人员:DH赛姆斯,M维尔德,G拉里,
申请(专利权)人:ARM有限公司,
类型:发明
国别省市:GB[英国]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。