当前位置: 首页 > 专利查询>英特尔公司专利>正文

用于向量紧缩双复数乘复数乘法和双复数乘复数共轭乘法的装置和方法制造方法及图纸

技术编号:36106197 阅读:10 留言:0更新日期:2022-12-28 14:06
用于将复数和复共轭的紧缩实部和虚部相乘的装置和方法。例如,处理器的一个实施例包括:解码器,用于对第一指令解码以生成经解码的指令;第一源寄存器,用于存储第一多个紧缩实数据元素和紧缩虚数据元素;第二源寄存器,用于存储第二多个紧缩实数据元素和紧缩虚数据元素;以及执行电路,用于执行经解码的指令。执行电路包括:乘法器电路,用于将第一源寄存器和第二源寄存器中的所选择的实数据元素和虚数据元素相乘以生成多个实乘积和虚乘积;加法器电路,用于:将各实乘积和虚乘积相加/相减;根据指令的立即数对结果缩放;对经缩放的结果舍入;以及饱和电路,用于使经舍入的结果饱和。饱和。饱和。

【技术实现步骤摘要】
用于向量紧缩双复数乘复数乘法和双复数乘复数共轭乘法的装置和方法


[0001]本专利技术的实施例总体上关于计算机处理器领域。更具体地,实施例关于用于复数乘复数共轭乘法的装置和方法。

技术介绍

[0002]指令集或指令集架构(ISA)是计算机架构的涉及编程的部分,该部分包括原生数据类型、指令、寄存器架构、寻址模式、存储器架构、中断和异常处置以及外部输入和输出(I/O)。应当注意,术语“指令”在本文中一般是指宏指令——即,提供给处理器以供执行的指令——而不是微指令或微操作——即,该微指令或微操作是处理器的解码器对宏指令解码的结果。微指令或微操作可以被配置成用于指令处理器上的执行单元执行操作以实现与宏指令相关联的逻辑。
[0003]ISA与微架构不同,微架构是用于实现指令集的处理器设计技术的集合。具有不同微架构的处理器可共享共同的指令集。例如,英特尔奔腾4(Pentium 4)处理器、英特尔酷睿
TM
(Core
TM
)处理器、以及来自加利福尼亚州桑尼威尔(Sunnyvale)的超微半导体有限公司(Advanced Micro Devices,Inc.)的处理器实现几乎相同版本的x86指令集(具有已随更新的版本加入的一些扩展),但具有不同的内部设计。例如,ISA的相同寄存器架构在不同的微架构中可使用公知的技术以不同方法来实现,包括专用物理寄存器、使用寄存器重命名机制(例如,使用寄存器别名表(RAT)、重排序缓冲器(ROB)和引退寄存器堆)的一个或多个动态分配的物理寄存器。除非另外指定,否则短语“寄存器架构”、“寄存器堆”和“寄存器”在本文中用于指代对软件/编程者以及对指令指定寄存器的方式可见的寄存器架构、寄存器堆和寄存器。在需要区分的情况下,形容词“逻辑的”、“架构的”、或“软件可见的”将用于指示寄存器架构中的寄存器/寄存器堆,而不同的形容词将用于指定给定微架构中的寄存器(例如,物理寄存器、重排序缓冲器、引退寄存器、寄存器池)。
附图说明
[0004]结合以下附图,从以下具体实施方式中可获得对本专利技术更好的理解,其中:
[0005]图1A和图1B是图示根据本专利技术的实施例的通用向量友好指令格式及其指令模板的框图;
[0006]图2A

图2C是图示根据本专利技术的实施例的示例性VEX指令格式的框图;
[0007]图3是根据本专利技术的一个实施例的寄存器架构的框图;以及
[0008]图4A是图示根据本专利技术的实施例的示例性有序取出、解码、引退流水线以及示例性寄存器重命名的乱序发布/执行流水线两者的框图;
[0009]图4B是图示根据本专利技术的实施例的要包括在处理器中的有序取出、解码、引退核的示例性实施例和示例性的寄存器重命名的乱序发布/执行架构核两者的框图;
[0010]图5A是单个处理器核以及它与管芯上互连网络的连接的框图;
[0011]图5B图示根据本专利技术的实施例的图5A中的处理器核的部分的展开图;
[0012]图6是根据本专利技术的实施例的具有集成存储器控制器和图形器件的单核处理器和多核处理器的框图;
[0013]图7图示根据本专利技术的一个实施例的系统的框图;
[0014]图8图示根据本专利技术的实施例的第二系统的框图;
[0015]图9图示根据本专利技术的实施例的第三系统的框图;
[0016]图10图示根据本专利技术的实施例的芯片上系统(SoC)的框图;
[0017]图11图示根据本专利技术的实施例的、对照使用软件指令转换器将源指令集中的二进制指令转换成目标指令集中的二进制指令的框图;
[0018]图12图示可在其上实现本专利技术的实施例的处理器架构;
[0019]图13图示根据一个实施例的包含实值和复值的多个紧缩数据元素;
[0020]图14图示可在其上实现本专利技术的实施例的不同架构;
[0021]图15图示根据本专利技术的一个实施例的方法;
[0022]图16图示根据本专利技术的另一实施例的方法。
具体实施方式
[0023]在下面的描述中,为了进行解释,阐述了众多特定细节以便提供对下文描述的本专利技术的多个实施例的透彻理解。然而,对本领域技术人员将显而易见的是,可在没有这些特定细节中的一些细节的情况下实施本专利技术的实施例。在其他实例中,以框图形式示出公知的结构和设备,以避免使本专利技术的实施例的基本原理变得模糊。示例性处理器架构、指令格式和数据类型
[0024]指令集包括一种或多种指令格式。给定的指令格式定义各种字段(位的数量、位的位置)以指定将要执行的操作(操作码)以及将对其执行该操作的(多个)操作数,等等。通过指令模板(或子格式)的定义来进一步分解一些指令格式。例如,可将给定指令格式的指令模板定义为具有该指令格式的字段(所包括的字段通常按照相同顺序,但是至少一些字段具有不同的位的位置,因为较少的字段被包括)的不同子集,和/或定义为具有以不同方式进行解释的给定字段。由此,ISA的每一条指令使用给定的指令格式(并且如果经定义,则按照该指令格式的指令模板中的给定的一个指令模板)来表达,并包括用于指定操作和操作数的字段。例如,示例性ADD(加法)指令具有特定的操作码和指令格式,该特定的指令格式包括用于指定该操作码的操作码字段和用于选择操作数(源1/目的地以及源2)的操作数字段;并且该ADD指令在指令流中出现将使得在操作数字段中具有选择特定操作数的特定的内容。
[0025]本文中所描述的(多条)指令的实施例能以不同的格式体现。另外,在下文中详述示例性系统、架构和流水线。(多条)指令的实施例可在此类系统、架构和流水线上执行,但是不限于详述的那些系统、架构和流水线。通用向量友好指令格式
[0026]向量友好指令格式是适于向量指令(例如,存在专用于向量操作的特定字段)的指令格式。尽管描述了其中通过向量友好指令格式支持向量和标量操作两者的实施例,但是替代实施例仅使用通过向量友好指令格式的向量操作。
[0027]图1A

图1B是图示根据本专利技术的实施例的通用向量友好指令格式及其指令模板的框图。图1A是图示根据本专利技术的实施例的通用向量友好指令格式及其A类指令模板的框图;而图1B是图示根据本专利技术的实施例的通用向量友好指令格式及其B类指令模板的框图。具体地,针对通用向量友好指令格式100定义A类和B类指令模板,这两者都包括无存储器访问105的指令模板和存储器访问120的指令模板。在向量友好指令格式的上下文中的术语“通用”是指不束缚于任何特定指令集的指令格式。
[0028]尽管将描述其中向量友好指令格式支持以下情况的本专利技术的实施例:64字节向量操作数长度(或尺寸)与32位(4字节)或64位(8字节)数据元素宽度(或尺寸)(并且由此,64字节向量由16个双字尺寸的元素组成,或者替代地由8个四字尺寸的元素组成);64字节向量操作数长度(或尺寸)与16位(2字节)或8位(1字节)数据元素宽度(或尺寸);32字节向量操作数长度(或尺寸)与32位(4字本文档来自技高网
...

【技术保护点】

【技术特征摘要】
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位数据元素被存储在所述第一源寄存器和所述第二源寄存器中,每个虚数据元素被存储在与该虚数据元素的对应的...

【专利技术属性】
技术研发人员:V
申请(专利权)人:英特尔公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1