The first form of complex multiplication instruction and the second form of complex multiplication instruction are provided to operate on the first and second operand vectors containing multiple data elements, which include at least one real data element representing the real part of a complex number and at least one virtual element representing the imaginary part of the complex number. One of the first form instructions and the second form instructions points to at least one real element of the destination vector and the other to at least one virtual element. By executing one of each instruction, the complex multiplication of form (a+ib)*(c+id) can be calculated with relatively few instructions, and only two vector registers are used to read ports to implement DSP algorithms, such as calculating FFT using relatively low power hardware implementations more effectively.
【技术实现步骤摘要】
【国外来华专利技术】复数乘法指令
本专利技术技术系关于数据处理的
技术介绍
一些数据处理应用涉及处理具有实部及虚部的复数,即,形式a+ib的数,其中i表示-1的平方根(有时-1的平方根还可表示为“j”,但本文中将使用“i”)。复数算术可尤其有用于数字信号处理(digitalsignalprocessing;DSP)应用,例如用于计算快速傅里叶变换(FastFourierTransforms;FFT)。一些DSP算法可需要形式r=(a+ib)*(c+id)的多次乘法,所以处理器处理复数乘法的方式可为影响效能的因素。
技术实现思路
至少一些示例提供一种数据处理装置,其包含:处理电路系统,用以执行数据处理;以及指令解码器,用以解码控制处理电路系统来执行数据处理的指令;其中,指令解码器被配置为解码复数乘法指令以控制处理电路系统以在第一操作数向量和第二操作数向量上执行部分复数乘法运算以将目的地向量的至少一个目标元素设置为取决于增加或减去第一乘积和第二乘积的结果的值,该第一操作数向量和第二操作数向量和该目的地向量每一者包含多个数据元素,该多个数据元素包括表示复数的实部的至少一个实元素和表示复数的虚部的至少一个虚元素;响应于复数乘法指令的第一形式,该指令解码器被配置为控制该处理电路系统以使用包含该第一操作数向量的实元素与该第二操作数向量的对应实元素的乘积的第一乘积,及包含该第一操作数向量的虚元素与该第二操作数向量的对应虚元素的乘积的第二乘积,执行该部分复数乘法运算;响应于该复数乘法指令的第二形式,该指令解码器被配置为控制该处理电路系统以使用包含该第一操作数向量的实元素与该第二操作数向 ...
【技术保护点】
1.一种数据处理装置,包含:处理电路系统,用以执行数据处理;以及指令解码器,用以解码控制所述处理电路系统来执行所述数据处理的指令;其中,所述指令解码器被配置为解码复数乘法指令以控制所述处理电路系统在第一操作数向量和第二操作数向量上执行部分复数乘法运算以将目的地向量的至少一个目标元素设置为一值,该值取决于增加或减去第一乘积和第二乘积的结果,所述第一操作数向量和第二操作数向量和所述目的地向量每一者包含多个数据元素,该多个数据元素包括表示复数的实部的至少一个实元素和表示复数的虚部的至少一个虚元素;响应于所述复数乘法指令的第一形式,所述指令解码器被配置为控制所述处理电路系统以使用包含所述第一操作数向量的实元素与所述第二操作数向量的对应实元素的乘积的所述第一乘积,及包含所述第一操作数向量的虚元素与所述第二操作数向量的对应虚元素的乘积的所述第二乘积,执行所述部分复数乘法运算;响应于所述复数乘法指令的第二形式,所述指令解码器被配置为控制所述处理电路系统以使用包含所述第一操作数向量的实元素与所述第二操作数向量的虚元素的乘积的所述第一乘积,及包含所述第一操作数向量的虚元素与所述第二操作数向量的实元素的乘 ...
【技术特征摘要】
【国外来华专利技术】2016.04.01 GB 1605557.61.一种数据处理装置,包含:处理电路系统,用以执行数据处理;以及指令解码器,用以解码控制所述处理电路系统来执行所述数据处理的指令;其中,所述指令解码器被配置为解码复数乘法指令以控制所述处理电路系统在第一操作数向量和第二操作数向量上执行部分复数乘法运算以将目的地向量的至少一个目标元素设置为一值,该值取决于增加或减去第一乘积和第二乘积的结果,所述第一操作数向量和第二操作数向量和所述目的地向量每一者包含多个数据元素,该多个数据元素包括表示复数的实部的至少一个实元素和表示复数的虚部的至少一个虚元素;响应于所述复数乘法指令的第一形式,所述指令解码器被配置为控制所述处理电路系统以使用包含所述第一操作数向量的实元素与所述第二操作数向量的对应实元素的乘积的所述第一乘积,及包含所述第一操作数向量的虚元素与所述第二操作数向量的对应虚元素的乘积的所述第二乘积,执行所述部分复数乘法运算;响应于所述复数乘法指令的第二形式,所述指令解码器被配置为控制所述处理电路系统以使用包含所述第一操作数向量的实元素与所述第二操作数向量的虚元素的乘积的所述第一乘积,及包含所述第一操作数向量的虚元素与所述第二操作数向量的实元素的乘积的所述第二乘积,执行所述部分复数乘法运算;响应于所述复数乘法指令的所述第一形式和第二形式中的一者,所述指令解码器被配置为控制所述处理电路系统以使用包含所述目的地向量的至少一个实元素的所述至少一个目标元素执行所述部分复数乘法运算;响应于所述复数乘法指令的所述第一形式和第二形式中的另一者,所述指令解码器被配置为控制所述处理电路系统以使用包含所述目的地向量的至少一个虚元素的所述至少一个目标元素执行所述部分复数乘法运算;以及响应于所述复数乘法指令的所述第一形式和第二形式中的至少一者,所述指令解码器被配置为控制所述处理电路系统以抑制所述目的地向量的至少一个元素而非所述至少一个目标元素的更新。2.如权利要求1所述的数据处理装置,其中,响应于包含多于两个数据元素的所述第一操作数向量和第二操作数向量的复数乘法指令,所述指令解码器被配置为控制所述处理电路系统以处理所述第一操作数向量和第二操作数向量,所述第一操作数向量和第二操作数向量每一者包含与多个虚元素交错的多个实元素。3.如权利要求2所述的数据处理装置,其中,所述处理电路系统被配置为响应于与所述复数乘法指令关联的参数来确定所述第一操作数向量和第二操作数向量中的所述实元素和虚元素的数目,且所述参数为以下各项的一者:立即值,指示所述实元素和所述虚元素的所述数目;立即值,指示所述实元素和所述虚元素的宽度;值,指示含有指示所述实元素和所述虚元素的所述数目的值的寄存器;以及值,指示含有指示所述实元素和所述虚元素的所述宽度的值的寄存器。4.如前述权利要求中任一项所述的数据处理装置,其中,所述处理电路系统被配置为响应于识别所述给定部分为待屏蔽的一部分的预测指示来屏蔽与所述目的地向量的给定部分关联的操作。5.如权利要求4所述的数据处理装置,其中,响应于所述复数乘法指令的所述第一形式和所述第二形式中的所述至少一者,所述指令解码器被配置为控制所述处理电路系统以抑制所述目的地向量的所述至少一个元素而非所述至少一个目标元素的更新,不论所述预测指示是否识别所述目的地向量的对应于所述至少一个元素的一部分为待屏蔽的一部分。6.如前述权利要求中任一项所述的数据处理装置,其中,响应于所述复数乘法指令的加变体,所述指令解码器被配置为控制所述处理电路系统以将所述至少一个目标元素设置为一值,该值取决于增加所述第一乘积和所述第二乘积的结果;以及响应于所述复数乘法指令的减变体,所述指令解码器被配置为控制所述处理电路系统以将所述至少一个目标元素设置为一值,该值取决于减去所述第一乘积和所述第二乘积的结果。7.如前述权利要求中任一项所述的数据处理装置,其中,响应于所述复数乘法指令的第一版本,所述指令解码器被配置为控制所述处理电路系统以使用所述至少一个目标元素执行所述部分复数乘法运算,所述至少一个目标元素包含:当所述复数乘法指令具有所述第一形式时,所述目的地向量的至少一个实元素;以及当所述复数乘法指令具有所述第二形式时,所述目的地向量的至少一个虚元素。8.如前述权利要求中任一项所述的数据处理装置,其中,响应于所述复数乘法指令的第二版本,所述指令解码器被配置为控制所述处理电路系统以使用所述至少一个目标元素执行所述部分复数乘法运算,所述至少一个目标元素包含:当所述复数乘法指令具有所述第一形式时,所述目的地向量的至少一个虚元素;以及当所述复数乘法指令具有所述第二形式时,所述目的地向量的至少一个实元素。9.如前述权利要求中任一项所述的数据处理装置,其中,响应于所述复数乘法指令的元素加宽变体,所述指令解码器被配置为控制所述处理电路系统以在包含J位数据元素的所述第一操作数向量和第二操作数向量上执行所述部分乘法运算,以产生包含K位数据元素的所述目的地向量,其中,K>J。10.如权利要求9所述的数据处理装置,其中,K=2J,并响应于所述复数乘法指令的所述元素加宽变体,所述指令解码器被配置为将所述目的地向量的所述至少一个目标元素的每一者设置为以下各项中的一者:对应于增加或减去所述第一乘积和所述第二乘积的结果的K+1位值的最高有效K个位;以及所述K+1位值的最低有效K个位。11.如前述权利要求中任一项所述的数据处理装置,其中,响应于所述复数乘法指令的元素大小保持变体,所述指令解码器被配置为控制所述处理电路系统以在包含J位数据元素的所述第一操作数向量和第二操作数向量上执行所述部分...
【专利技术属性】
技术研发人员:托马斯·克里斯多夫·格鲁卡特,
申请(专利权)人:ARM有限公司,
类型:发明
国别省市:英国,GB
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。