【技术实现步骤摘要】
用于向量紧缩双复数乘复数乘法和双复数乘复数共轭乘法的装置和方法
[0001]本专利技术的实施例总体上关于计算机处理器领域。更具体地,实施例关于用于复数乘复数共轭乘法的装置和方法。
技术介绍
[0002]指令集或指令集架构(ISA)是计算机架构的涉及编程的部分,该部分包括原生数据类型、指令、寄存器架构、寻址模式、存储器架构、中断和异常处置以及外部输入和输出(I/O)。应当注意,术语“指令”在本文中一般是指宏指令——即,提供给处理器以供执行的指令——而不是微指令或微操作——即,该微指令或微操作是处理器的解码器对宏指令解码的结果。微指令或微操作可以被配置成用于指令处理器上的执行单元执行操作以实现与宏指令相关联的逻辑。
[0003]ISA与微架构不同,微架构是用于实现指令集的处理器设计技术的集合。具有不同微架构的处理器可共享共同的指令集。例如,英特尔奔腾4(Pentium 4)处理器、英特尔酷睿
TM
(Core
TM
)处理器、以及来自加利福尼亚州桑尼威尔(Sunnyvale)的超微半导体有限公司(Advanced Micro Devices,Inc.)的处理器实现几乎相同版本的x86指令集(具有已随更新的版本加入的一些扩展),但具有不同的内部设计。例如,ISA的相同寄存器架构在不同的微架构中可使用公知的技术以不同方法来实现,包括专用物理寄存器、使用寄存器重命名机制(例如,使用寄存器别名表(RAT)、重排序缓冲器(ROB)和引退寄存器堆)的一个或多个动态分配的物理寄存器。除非另外指定 ...
【技术保护点】
【技术特征摘要】
1.一种处理器,包括:解码器,用于对第一指令解码以生成经解码的指令,所述第一指令包括用于标识以下各项的操作数:第一多个复数,包括第一多个紧缩实数据元素和紧缩虚数据元素;第二多个复数,包括第二多个紧缩实数据元素和紧缩虚数据元素;以及立即数值;第一源寄存器,用于存储包括所述第一多个紧缩实数据元素和紧缩虚数据元素的所述第一多个复数;第二源寄存器,用于存储包括所述第二多个紧缩实数据元素和紧缩虚数据元素的所述第二多个复数;执行电路,用于执行所述经解码的指令,所述执行电路包括:乘法器电路,用于将所述第一多个紧缩实数据元素中的每个紧缩实数据元素与所述第二多个紧缩实数据元素中的对应紧缩实数据元素相乘以生成第一多个实乘积,并且用于将所述第一多个紧缩虚数据元素中的每个紧缩虚数据元素与所述第二多个紧缩虚数据元素中的对应紧缩虚数据元素相乘以生成第二多个实乘积,所述乘法器电路进一步用于将所述第一多个紧缩实数据元素中的每个紧缩实数据元素与所述第二多个紧缩虚数据元素中的对应紧缩虚数据元素相乘以生成第一多个虚乘积,并且用于将所述第一多个紧缩虚数据元素中的每个紧缩虚数据元素与所述第二多个紧缩实数据元素中的对应紧缩实数据元素相乘以生成第二多个虚乘积;加法器网络,用于从所述第一多个实乘积中的每个实乘积减去所述第二多个实乘积中的对应实乘积以生成多个实结果,并用于将所述第一多个虚乘积中的每个虚乘积与所述第二多个虚乘积中的对应虚乘积相加以生成多个虚结果,所述加法器网络进一步用于:根据所述立即数值对所述多个实结果和所述多个虚结果中的每个结果进行缩放以生成多个经缩放的结果;根据舍入方法对所述多个经缩放的结果中的每个结果进行舍入以生成多个经舍入的结果;以及饱和电路,用于使所述多个经舍入的结果中的每个结果饱和以生成多个最终结果;以及目的地寄存器,用于将所述多个最终结果中的每个最终结果存储在所述目的地寄存器的对应数据元素位置中。2.如权利要求1所述的处理器,其中,所述第一多个紧缩实数据元素和紧缩虚数据元素和所述第二多个紧缩实数据元素和紧缩虚数据元素作为16位数据元素被存储在所述第一源寄存器和所述第二源寄存器中,每个虚数据元素被存储在与该虚数据元素的对应的实数据元素的数据元素位置相邻的数据元素位置中,实数据元素和虚数据元素的每个组合表示复数。3.如权利要求2所述的处理器,其中,所述第一源寄存器和所述第二源寄存器包括能配置有分别存储数据元素A、B、C、D、E、F、G和H的数据元素位置A、B、C、D、E、F、G和H的128位紧缩数据寄存器,并且其中,数据元素A、C、E和G是实数据元素,并且数据元素B、D、F和H是对应的虚数据元素。4.如权利要求3所述的处理器,其中,为了执行所述经解码的指令,所述乘法器电路用于:执行乘法S1A*S2A和S1E*S2E以生成所述第一多个实乘积;执行乘法S1B*S2B和S1F*S2F以生成所述第二多个实乘积;执行乘法S1A*S2B和S1E*S2F以生成所述第一多个虚乘积;并
且执行乘法S1B*S2A和S1F*S2E以生成所述第二多个虚乘积,其中,S1标识所述第一源寄存器,S2标识所述第二源寄存器,并且A、B、E、F分别标识所述第一源寄存器和所述第二源寄存器中的数据元素位置A、B、E、F中的紧缩数据元素。5.如权利要求3所述的处理器,其中,为了执行所述经解码的指令,所述乘法器电路用于:执行乘法S1C*S2C和S1G*S2G以生成所述第一多个实乘积;执行乘法S1D*S2D和S1H*S2H以生成所述第二多个实乘积;执行乘法S1C*S2D和S1G*S2H以生成所述第一多个虚乘积;并且执行乘法S1D*S2C和S1H*S2G以生成所述第二多个虚乘积,其中,S1标识所述第一源寄存器,S2标识所述第二源寄存器,并且C、D、G、H分别标识所述第一源寄存器和所述第二源寄存器中的数据元素位置C、D、G、H中的紧缩数据元素。6.如权利要求1
‑
5中的任一项所述的处理器,进一步包括多个临时寄存器,每个临时寄存器用于存储由所述加法器网络生成的所述多个实结果和所述多个虚结果中的一个结果。7.如权利要求1
‑
5中的任一项所述的处理器,其中,所述舍入方法包括以下各项中的一种:向下舍入、就近舍入处于中间则远离零舍入、收敛舍入、以及就近舍入处于中间则向上舍入。8.如权利要求7所述的处理器,进一步包括舍入控制寄存器,用于存储用于指定所述舍入方法的舍入控制值。9.如权利要求1
‑
5中的任一项所述的处理器,进一步包括饱和寄存器,用于存储饱和位,所述饱和位用于指示所述多个经舍入的结果中的任何结果是否已通过所述饱和电路被饱和至最大的正有符号字值或最小的负有符号字值。10.如权利要求1
‑
5中的任一项所述的处理器,其中,所述加法器网络用于:通过执行算术移位由所述立即数值指示的位数来对所述多个实结果和所述多个虚结果中的每个结果进行缩放。11.一种处理器,包括:解码器,用于对第一指令解码以生成经解码的指令,所述第一指令包括用于标识以下各项的操作数:第一多个复数,包括第一多个紧缩实数据元素和紧缩虚数据元素;第二多个复数,包括第二多个紧缩实数据元素和紧缩虚数据元素;以及立即数值;第一源寄存器,用于存储包括所述第一多个紧缩实数据元素和紧缩虚数据元素的所述第一多个复数;第二源寄存器,用于存储包括所述第二多个紧缩实数据元素和紧缩虚数据元素的所述第二多个复数,其中,所述第二多个复数中的每个复数包括所述第一多个复数中的对应复数的复共轭;执行电路,用于执行所述经解码的指令,所述执行电路包括:乘法器电路,用于将所述第一多个紧缩实数据元素中的每个紧缩实数据元素与所述第二多个紧缩实数据元素中的对应紧缩实数据元素相乘以生成第一多个实乘积,并且用于将所述第一多个紧缩虚数据元素中的每个紧缩虚数据元素与所述第二多个紧缩虚数据元素中的对应紧缩虚数据元素相乘以生成第二多个实乘积,所述乘法器电路进一步用于将所述第一多个紧缩实数据元素中的每个紧缩实数据元素与所述第二多个紧缩虚数据元素中的对应紧缩虚数据元素相乘以生成第一多个虚乘积,并且用于将所述第一多个紧缩虚数据元素中的每个紧缩虚数据元素与所述第二多个紧缩
实数据元素中的对应紧缩实数据元素相乘以生成第二多个虚乘积;加法器网络,用于将所述第一多个实乘积中的每个实乘积与所述第二多个实乘积中的对应实乘积相加以生成多个实结果,并用于从所述第一多个虚乘积中的每个虚乘积减去所述第二多个虚乘积中的对应虚乘积以生成多个虚结果,所述加法器网络进一步用于:根据所述立即数值对所述多个实结果和所述多个虚结果中的每个结果进行缩放以生成多个经缩放的结果;根据舍入方法对所述多个经缩放的结果中的每个结果进行舍入以生成多个经舍入的结果;以及饱和电路,用于使所述多个经舍入的结果中的每个结果饱和以生成多个最终结果;以及目的地寄存器,用于将所述多个最终结果中的每个最终结果存储在所述目的地寄存器的对应数据元素位置中。12.如权利要求11所述的处理器,其中,所述第一多个紧缩实数据元素和紧缩虚数据元素和所述第二多个紧缩实数据元素和紧缩虚数据元素作为16位数据元素被存储在所述第一源寄存器和所述第二源寄存器中,每个虚数据元素被存储在与该虚数据元素的对应的...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。