【技术实现步骤摘要】
本专利技术涉及DSP或CPU等处理器,尤其是涉及执行SIMD型命令的处理器。
技术介绍
以前,作为支持SIMD(Single Instruction Multiple Data单命令多数据流)型命令的处理器,有美国因特尔公司的Pentium(R)/Pentium(R)III/Pentium(R)4的MMX/SSE/SSE2等。例如,若是MMX,则以64比特长的MMX寄存器中存储的最大8个整数为对象,可由1个命令来执行相同的操作。但是,在上述现有处理器中,存在对作为SIMD运算对象的操作数(operand)位置的约束多的问题。例如,在第1寄存器的上位数位和下位数位中分别存储数值A及B、在第2寄存器的上位数位和下位数位中分别存储数值C及D的状态下,在由现有处理器执行将第1寄存器和第2寄存器设为操作数的SIMD型加法命令的情况下,得到的加法值为A+C及B+D。即,得到存储在两寄存器的上位数位中的数据彼此的加法值和存储在两寄存器的下位数位中的数据彼此的加法值,由数据在寄存器中的存储位置来唯一确定运算对象。因此,例如在对上述第1寄存器及第2寄存器求出A+D、及B+C的加法值的情况下,需要在调换存储在一方寄存器中的上位数位的数据与下位数位的数据的存储位置后,执行SIMD型的加法命令,或不使用SIMD型加法命令,而执行两次通常的SISD(Single InstructionSingle Data单命令单数据流)型加法命令。但是,随着近年来的通信数字化,在需要博立叶变换或滤波处理等数字信号处理的图像处理或声音处理领域中,必需对多个数据实施相同的运算处理,但此时,例如必 ...
【技术保护点】
一种处理器,执行由1个命令来运算多个数据的SIMD型命令,其特征在于:具备译码单元,译码命令;和执行单元,根据译码单元的译码结果,执行命令;上述执行单元在通过上述译码单元译码SIMD型命令的情况下,其中,SIMD型命令包含指定运算种类的命令代码、指定n(≥2)组数据的第1操作数、和指定存储运算结果用数据的第2操作数,对上述n组数据进行上述命令代码指定的运算,将对所得n个运算结果分别仅移位一定位数后得到的n个值,存储在上述第2操作数指定的第2数据中。
【技术特征摘要】
JP 2002-6-3 161381/20021.一种处理器,执行由1个命令来运算多个数据的SIMD型命令,其特征在于具备译码单元,译码命令;和执行单元,根据译码单元的译码结果,执行命令;上述执行单元在通过上述译码单元译码SIMD型命令的情况下,其中,SIMD型命令包含指定运算种类的命令代码、指定n(≥2)组数据的第1操作数、和指定存储运算结果用数据的第2操作数,对上述n组数据进行上述命令代码指定的运算,将对所得n个运算结果分别仅移位一定位数后得到的n个值,存储在上述第2操作数指定的第2数据中。2.根据权利要求1所述的处理器,其特征在于上述命令代码指定的运算种类中包含加法及减法。3.根据权利要求1所述的处理器,其特征在于上述一定位数是包含在上述命令中的操作数或预定的寄存器指定的可变值。4.根据权利要求1所述的处理器,其特征在于上述一定位数是对应于包含在上述命令中的命令代码所预定的固定值。5.根据权利要求1所述的处理器,其特征在于由包含在上述命令中的操作数或预定的寄存器来指定移位上述运算结果的方向。6.根据权利要求1所述的处理器,其特征在于对应于包含在上述命令中的命令代码来预定移位上述运算结果的方向。7.一种处理器,执行由1个命令来运算多个数据的SIMD型命令,其特征在于具备译码单元,译码命令;和执行单元,根据译码单元的译码结果,执行命令;上述执行单元在通过上述译码单元译码SIMD型命令的情况下,其中,SIMD型命令包含指定运算种类的命令代码、指定n(≥2)个数据的第1操作数、和指定存储运算结果用数据的第2操作数,通过对上述n个数据进行上述命令代码指定的运算,算出小于n的个数的运算结果,并将所得的运算结果存储在上述第2操作数指定的第2数据中。8.根据权利要求7所述的处理器,其特征在于上述小于n的个数是1个。9.一种处理器,执行由1个命令来运算多个数据的SIMD型命令,其特征在于具备译码单元,译码命令;和执行单元,根据译码单元的译码结果,执行命令;上述执行单元在通过上述译码单元译码SIMD型命令的情况下,其中,SIMD型命令包含指定运算种类的命令代码、指定n(≥2)×m(≥2)个数据的第1操作数、和指定存储运算结果用数据的第2操作数,对以n个数据为1组的各m组进行上述命令代码指定的运算,将所得的m个运算结果存储在上述第2操作数指定的第2数据中。10.根据权利要求7-9之任一项所述的处理器,其特征在于上述命令代码指定的运算种类中包含加法及积和。11.一种处理器,执行由1个命令来运算多个数据的SIMD型命令,其特征在于具备译码单元,译码命令;和执行单元,根据译码单元的译码结果,执行命令;上述执行单元在通过上述译码单元译码SIMD型命令的情况下,其中,SIMD型命令包含指示数据扩展的命令代码和指定n(≥2)个数据的第1操作数,对上述n个数据中的至少1个进行位宽度扩展,将所得的结果存储在预定的寄存器中。12.根据权利要求11所述的处理器,其特征在于上述执行单元在译码上述命令的情况下,对上述n个数据的每个都进行位宽度扩展,并将所得的n个扩展部分存储在预定的寄存器中。13.一种处理器,其特征在于具备译码单元,译码命令;和执行单元,根据译码单元的译码结果,执行命令;上述执行单元在通过上述译码单元译码包含指定运算的命令代码、n比特的第1操作数、和第2操作数的命令的情况下,对将上述第1操作数的上位m(<n)位屏蔽(mask)为0所得的值和上述第2操作数进行上述命令代码指定的运算。14.根据权利要求13所述的处理器,其特征在于上述处理器还具备指定上述m的寄存器。15.一种处理器,其特征在于具备译码单元,译码命令;和执行单元,根据译码单元的译码结果,执行命令;上述执行单元在通过上述译码单元译码包含确定命令种类的命令代码、n比特的第1操作数、和第2操作数的命令的情况下,连接将上述第1操作数的下位m(<n)位排列反序后的位列和上述第2操作数的一部分位。16.一种处理器,其特征在于具备译码单元,译码命令;和执行单元,根据译码单元的译码结果,执行命令;上述执行单元在通过上述译码单元译码包含确定命令种类的命令代码和n比特的第1操作数的命令的情况下,将上述第1操作数的下位m(<n)位排列反序,并且将上述第1操作数中的除上述m位的区域的至少一部分屏蔽为0。17.一种处理器,其特征在于具备译码单元,译码命令;和执行单元,根据译码单元的译码结果,执行命令,上述执行单元在通过上述译码单元译码包含确定命令种类的命令代码、第1操作数和第2操作数的命令的情况下,将上述第1操作数中由上述第2操作数表示的两个位位置确定的区域屏蔽为0。18.根据权利要求17所述的处理器,其特征在于上述第2操作数存储指定上述第1操作数中两个位位置每个的两个数据,上述执行单元将上述第1操作数中、由上述第2操作数表示的两个位位置夹持的位屏蔽为0,或将上述第1操作数中、比上述第2操作数表示的两个位位置中上位的位位置还上位的位和比上述两个位位置中下位的位位置还下位的位屏蔽为0。19.根据权利要求18所述的处理器,其特征在于上述第2操作数中存储的两个数据中、第1数据表示第1位位置,第2数据表示第2位位置,上述执行单元根据上述第1位位置与上述第2位位置的位置关系,对将上述第1操作数中由上述第2位位置与上述第1位位置夹持的位屏蔽为0、或将上述第1操作数中...
【专利技术属性】
技术研发人员:田中哲也,冈林羽月,瓶子岳人,小川一,古贺义宏,黑田学,铃木正人,清原督三,田中健,西田英志,宫阪修二,
申请(专利权)人:松下电器产业株式会社,
类型:发明
国别省市:JP[日本]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。