A device and method for multiplying packaged real and imaginary components of complex numbers. Processors include: decoders; first source registers; second source registers; and execution circuits, which include multiplier circuits, multiplying real and imaginary data elements in the first and second source registers to generate multiple imaginary product; adder circuits, which add multiple imaginary product of the first subset and multiply multiple imaginary product of the second subset. Subtract to generate the first temporary result, add the multiple imaginary product of the third subset and subtract the multiple imaginary product of the fourth subset to generate the second temporary result; accumulate circuit, combine the first temporary result with the first data from the destination register to generate the first final result, and combine the second temporary result with the second number from the destination register. According to the combination, the second final result is generated, and the first final result and the second final result are stored back in the destination register.
【技术实现步骤摘要】
用于复数与复数之间共轭乘法的设备和方法专利
本专利技术的实施例一般涉及计算机处理器领域。更具体地说,实施例涉及用于通过复数与复数之间共轭乘法的设备和方法。
技术介绍
指令集或指令集架构(ISA)是与编程有关的计算机架构的一部分,包括原生数据类型、指令、寄存器架结构、寻址模式、存储器架构、中断和异常处置及外部输入和输出(I/O)。应注意的是,术语“指令”在本文中通常指宏指令-其是被提供到处理器以便执行的指令--与微指令或微操作相反-其是处理器的解码器解码宏指令的结果。微指令或微操作能够配置成指示处理器上的执行单元执行操作以实现与宏指令关联的逻辑。ISA不同于作为用于实现指令集的一组处理器设计技术的微架构。带有不同微架构的处理器能够共享共用指令集。例如,Intel®®Pentium4处理器、Intel®CoreTM™处理器和来自加利福尼亚州桑尼威尔(Sunnyvale)的超微半导体有限公司(AdvancedMicroDevices,Inc.)的处理器实现几乎相同版本的x86指令集(其中已采用较新版本来加入了一些扩展),但具有不同内部设计。例如,ISA的相同寄存器架构可 ...
【技术保护点】
1.一种处理器,包括:解码器,所述解码器用于解码第一指令以生成解码的指令;第一源寄存器,所述第一源寄存器用于存储第一多个打包的实数和虚数数据元素;第二源寄存器,所述第二源寄存器用于存储第二多个打包的实数和虚数数据元素;以及执行电路,所述执行电路用于执行所述解码的指令,所述执行电路包括:乘法器电路,所述乘法器电路用于选择所述第一源寄存器和第二源寄存器中的实数和虚数数据元素以做乘法,所述乘法器电路用于将所述第一源寄存器中的每个选择的虚数数据元素与所述第二源寄存器中的选择的实数数据元素相乘,并且用于将所述第一源寄存器中的每个选择的实数数据元素与所述第二源寄存器中的选择的虚数数据元 ...
【技术特征摘要】
2017.09.29 US 15/7214481.一种处理器,包括:解码器,所述解码器用于解码第一指令以生成解码的指令;第一源寄存器,所述第一源寄存器用于存储第一多个打包的实数和虚数数据元素;第二源寄存器,所述第二源寄存器用于存储第二多个打包的实数和虚数数据元素;以及执行电路,所述执行电路用于执行所述解码的指令,所述执行电路包括:乘法器电路,所述乘法器电路用于选择所述第一源寄存器和第二源寄存器中的实数和虚数数据元素以做乘法,所述乘法器电路用于将所述第一源寄存器中的每个选择的虚数数据元素与所述第二源寄存器中的选择的实数数据元素相乘,并且用于将所述第一源寄存器中的每个选择的实数数据元素与所述第二源寄存器中的选择的虚数数据元素相乘,以生成多个虚数乘积,加法器电路,所述加法器电路用于将第一子集的所述多个虚数乘积相加并且将第二子集的所述多个虚数乘积相减,以生成第一临时结果,并且用于将第三子集的所述多个虚数乘积相加并且将第四子集的所述多个虚数乘积相减,以生成第二临时结果,累加电路,所述累加电路用于将所述第一临时结果与来自目的地寄存器的第一数据进行组合以生成第一最终结果,并且用于将所述第二临时结果与来自所述目的地寄存器的第二数据进行组合以生成第二最终结果,并且用于将所述第一最终结果和第二最终结果存储回所述目的地寄存器中。2.如权利要求1所述的处理器,其中所述实数和虚数值作为16比特数据元素被存储在所述第一和第二源寄存器中,每个虚数值被存储在与数据元素地点对应实数值的所述数据元素地点相邻的数据元素地点中,实数和虚数值的每个组合表示复数。3.如权利要求1或2所述的处理器,其中所述第一和第二源寄存器包括128比特打包数据寄存器,所述128比特打包数据寄存器可配置有相应地存储数据元素A、B、C、D、E、F、G和H的数据元素位置A、B、C、D、F、G和H,并且其中数据元素A、C、E和G是实数数据元素且数据元素B、D、F和H是对应的虚数数据元素。4.如权利要求3所述的处理器,其中为了执行所述解码指令,所述乘法器电路将执行乘法S1C*S2D、S1D*S2C、S1A*S2B、S1B*S2A、S1G*S2H、S1H*S2G、S1E*S2F、S1F*S2E,以生成所述多个虚数乘积,其中S1标识所述第一源寄存器,S2标识所述第二源寄存器,并且A-H相应标识所述第一和第二源寄存器中的数据元素位置A-H中的所述打包数据元素。5.如权利要求4所述的处理器,其中将所述多个虚数乘积的所述第一和第二子集相应做加法和做减法,包括S1C*S2D-S1D*S2C+S1A*S2B-S1B*S2A,并且所述多个虚数乘积的所述第三和第四子集的相应做加法和做减法,包括S1G*S2H-S1H*S2G+S1E*S2F-S1F*S2E,以相应生成所述第一临时结果和第二临时结果。6.如权利要求1或5所述的处理器还包括:求反电路,所述求反电路用于在由所述累加电路做累加之前,求反所述第一临时结果并求反所述第二临时结果;以及扩展电路,所述扩展电路用于将所述第三临时结果和第四临时结果在与来自所述目的地寄存器的所述第一和第二数据相应做累加之前,零扩展或符号扩展到64比特值。7.如权利要求6所述的处理器,其中所述求反电路将对所述第一临时结果和第二临时结果执行二的补数求反。8.如权利要求6或7所述的处理器,其中所述扩展电路将向所述第一临时结果和第二临时结果添加零。9.如权利要求6或7所述的处理器,其中所述第一临时结果和第二临时结果的最高有效位位置中的值被重复多次,以将所述第一临时结果和第二临时结果转换为64比特值。10.一种方法,包括:解码第一指令以生成解码的指令;在第一源寄存器中存储第一多个打包的实数和虚数数据元素;在第二源寄存器中存储第二多个打包的实数和虚数数据元素;选择所述第一源寄存器和第二源寄存器中的实数和虚数数据元素以做乘法;将所述第一源寄存器中的每个选择的虚数数据元素与所述第二源寄存器中的选择的实数数据元素相乘,并且将所述第一源寄存器中的每个选择的实数数据元素与所述第二源寄存器中的选择的虚数数据元素相乘,以生成多个虚数乘积;将第一子集的所述多个虚数乘积相加并且将第二子集的所述多个虚数乘积相减,以生成第一临时结果,并且将第三子集的所述多个虚数乘积相加并且将第四子集的所述多个虚数乘积相减,以生成第二临时结果;将所述第一临时结果与来自目的地寄存器的第一数据做累加以生成第一最终结果,并且将所述第二临时结果与来自所述目的地寄存器的第二数据做累加以生成第二最终结果;以及将所述第一最终结果和第二最终结果存储回所述目的地寄存器中。11.如权利要求10所述的方法,其中所述实数和虚数值作为16比特数据元素被存储在所述第一和第二源寄存器中,每个虚数值被存储在与数据元素地点对应实数值的所述数据元素地点相邻的数据元素地点中,实数和虚数值的每个组合表示复数。...
【专利技术属性】
技术研发人员:V马杜里,E奥德艾哈迈德瓦尔,J科巴尔,M查尼,R瓦伦丁,B杨,
申请(专利权)人:英特尔公司,
类型:发明
国别省市:美国,US
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。