【技术实现步骤摘要】
用于有符号双字的向量乘法和累加的装置和方法
技术介绍
本专利技术的实施例总体上涉及计算机处理器领域。更具体地,实施例涉及用于执行向量乘法和有符号双字的累加的装置和方法。相关技术描述指令集或指令集架构(ISA)是计算机架构中涉及编程的部分,包括原生数据类型、指令、寄存器架构、寻址模式、存储器架构、中断和异常处置、以及外部输入和输出(I/O)。应当注意,术语“指令”在本文中一般是指宏指令——即,提供给处理器以供执行的指令——而不是微指令或微操作——即,该微指令或微操是处理器的解码器对宏指令进行解码的结果。微指令或微操作可以被配置成用于指示处理器上的执行单元执行操作以实现与宏指令相关联的逻辑。ISA与微架构不同,微架构是用于实现指令集的处理器设计技术的集合。具有不同微架构的处理器可以共享公共指令集。例如,奔腾4(Pentium4)处理器、酷睿TM(CoreTM)处理器、以及来自加利福尼亚州桑尼威尔(Sunnyvale)的超微半导体有限公司(AdvancedMicroDevices,Inc.)的多个处理器实现几乎相同版本的x86指令集(具有已随更新的版本加入的一些扩展),但具有不同的内部设计。例如,ISA的相同寄存器架构在不同的微架构中可使用公知的技术以不同方法来实现,包括专用物理寄存器、使用寄存器重命名机制(例如,使用寄存器别名表(RAT)、重排序缓冲器(ROB)和引退寄存器堆)的一个或多个动态分配的物理寄存器。除非另外指定,否则短语“寄存器架构”、“寄存器堆”和“寄存器”在本文中用于指代对软件/编程者以及对指令指定寄存器的方式可见的寄存器架构、寄存器堆和寄存 ...
【技术保护点】
1.一种处理器,包括:解码器,用于对指令解码以生成经解码的指令,所述指令包括操作码和操作数,所述操作数标识紧缩数据目的地寄存器和多个紧缩数据源寄存器;第一源寄存器,用于存储第一多个紧缩有符号双字数据元素;第二源寄存器,用于存储第二多个紧缩有符号双字数据元素;第三源寄存器,用于存储多个紧缩有符号四字数据元素;执行电路,用于执行经解码的指令,所述执行电路包括:乘法器电路,用于分别将来自所述第一源寄存器的第一紧缩有符号双字数据元素和第二紧缩有符号双字数据元素与来自所述第二源寄存器的第三紧缩有符号双字数据元素和第四紧缩有符号双字数据元素相乘,以生成第一临时有符号四字乘积和第二临时有符号四字乘积,所述乘法器电路用于基于所述指令的所述操作码来选择第一有符号双字数据元素、第二有符号双字数据元素、第三有符号双字数据元素和第四有符号双字数据元素;累加电路,用于将所述第一临时有符号四字乘积与从所述第三源寄存器读取的第一紧缩有符号四字值组合以生成第一经累加的有符号四字结果,并用于将所述第二临时有符号四字乘积与从所述第三源寄存器读取的第二紧缩有符号四字值组合以生成第二经累加的有符号四字结果;目的地寄存器或所述 ...
【技术特征摘要】
2017.12.21 US 15/850,1801.一种处理器,包括:解码器,用于对指令解码以生成经解码的指令,所述指令包括操作码和操作数,所述操作数标识紧缩数据目的地寄存器和多个紧缩数据源寄存器;第一源寄存器,用于存储第一多个紧缩有符号双字数据元素;第二源寄存器,用于存储第二多个紧缩有符号双字数据元素;第三源寄存器,用于存储多个紧缩有符号四字数据元素;执行电路,用于执行经解码的指令,所述执行电路包括:乘法器电路,用于分别将来自所述第一源寄存器的第一紧缩有符号双字数据元素和第二紧缩有符号双字数据元素与来自所述第二源寄存器的第三紧缩有符号双字数据元素和第四紧缩有符号双字数据元素相乘,以生成第一临时有符号四字乘积和第二临时有符号四字乘积,所述乘法器电路用于基于所述指令的所述操作码来选择第一有符号双字数据元素、第二有符号双字数据元素、第三有符号双字数据元素和第四有符号双字数据元素;累加电路,用于将所述第一临时有符号四字乘积与从所述第三源寄存器读取的第一紧缩有符号四字值组合以生成第一经累加的有符号四字结果,并用于将所述第二临时有符号四字乘积与从所述第三源寄存器读取的第二紧缩有符号四字值组合以生成第二经累加的有符号四字结果;目的地寄存器或所述第三源寄存器,用于将所述第一经累加的有符号四字结果存储在第一有符号四字数据元素位置中,并用于将所述第二经累加的有符号四字结果存储在第二有符号四字数据元素位置中。2.如权利要求1所述的处理器,进一步包括:饱和电路,用于在将所述第一经累加的有符号四字结果和所述第二经累加的有符号四字结果存储在所述目的地寄存器中之前,使所述第一经累加的有符号四字结果和所述第二经累加的有符号四字结果饱和。3.如权利要求1或2所述的处理器,其中,所述第一紧缩有符号双字数据元素、所述第二紧缩有符号双字数据元素、所述第三紧缩有符号双字数据元素和所述第四紧缩有符号双字数据元素是有符号数据元素,并且其中,所述第一经累加的有符号四字结果和所述第二经累加的有符号四字结果是有符号数据元素。4.如权利要求1或3所述的处理器,其中,所述第一源寄存器、所述第二源寄存器和所述第三源寄存器包括配置成用于存储四个紧缩有符号双字数据元素和/或两个紧缩有符号四字数据元素的128位的寄存器。5.如权利要求4所述的处理器,其中,响应于第一操作码,所述第一紧缩有符号双字数据元素和所述第三紧缩有符号双字数据元素将分别选自所述第一源寄存器和所述第二源寄存器的紧缩有符号双字位置[31:0],并且所述第二紧缩有符号双字数据元素和所述第四紧缩有符号双字数据元素将分别选自所述第一源寄存器和所述第二源寄存器的紧缩有符号双字位置[95:64]。6.如权利要求5所述的处理器,其中,响应于第二操作码,所述第一紧缩有符号双字数据元素和所述第三紧缩有符号双字数据元素将分别选自所述第一源寄存器和所述第二源寄存器的紧缩有符号双字位置[63:32],并且所述第二紧缩有符号双字数据元素和所述第四紧缩有符号双字数据元素将分别选自所述第一源寄存器和所述第二源寄存器的紧缩有符号双字位置[127:96]。7.如权利要求1或6所述的处理器,其中,所述第一经累加的有符号四字结果和所述第二经累加的有符号四字结果将进一步与响应于一条或多条附加指令的执行而生成的一个或多个附加的临时有符号四字乘积累加。8.一种方法,包括:对指令解码以生成经解码的指令,所述指令包括操作码和操作数,所述操作数标识紧缩数据目的地寄存器和多个紧缩数据源寄存器;将第一多个紧缩有符号双字数据元素存储在第一源寄存器中;将第二多个紧缩有符号双字数据元素存储在第二源寄存器中;将多个紧缩有符号四字数据元素存储在第三源寄存器中;分别将来自所述第一源寄存器的第一紧缩有符号双字数据元素和第二紧缩有符号双字数据元素与来自所述第二源寄存器的第三紧缩有符号双字数据元素和第四紧缩有符号双字数据元素相乘,以生成第一临时有符号四字乘积和第二临时有符号四字乘积,其中,第一有符号双字数据元素、第二有符号双字数据元素、第三有符号双字数据元素和第四有符号双字数据元素将基于所述指令的所述操作码来选择;将所述第一临时有符号四字乘积与从所述第三源寄存器读取的第一紧缩有符号四字值累加以生成第一经累加的有符号四字结果,并将所述第二临时有符号四字乘积与从所述第三源寄存器读取的第二紧缩有符号四字值累加以生成第二经累加的有符号四字结果;将所述第一经累加的有符号四字结果存储在目的地寄存器或所述第三源寄存器中的第一有符号四字数据元素位置中,并且将所述第二经累加的有符号四字结果存储在所述目的地寄存器或所述第三源寄存器中的第二有符号四字数据元素位置中。9.如权利要求8所述的方法,进一步包括:在将所述第一经累加的有符号四字结果和所述第二经累加的有符号四字结果存储在所述目的地寄存器中之前,使所述第一经累加的有符号四字结果和所述第二经累加的有符号四字结果饱和。10.如权利要求8或9所述的方法,其中,所述第一紧缩有符号双字数据元素、所述第二紧缩有符号双字数据元素、所述第三紧缩有符号双字数据元素和所述第四紧缩有符号双字数据元素是有符号数据元素,并且其中,所述第一经累加的有符号四字结果和所述第二经累加的有符号四字结果是有符号数据元素。11.如权利要求8或10所述的方法,其中,所述第一源寄存器、所述第二源寄存器和所述第三源寄存器包括配置成用于存储四个紧缩有符号双字数据元素和/或两个紧缩有符号四字数据元素的128位的寄存器。12.如权利要求11所述的方法,其中,响应于第一操作码,所述第一紧缩有符号双字数据元素和所述第三紧缩有符号双字数据元素将分别选自所述第一源寄存器和所述第二源寄存器的紧缩有符号双字位置[31:0],并且所述第二紧缩有符号双字数据元素和所述第四紧缩有符号双字数据元素将分别选自所述第一源寄存器和所述第二源寄存器的紧缩有符号双字位置[95:64]。13.如权利要求12所述的方法,其中,响应于第二操作码,所述第一紧缩有符号双字数据元素和所述第三紧缩有符号双字数据元素将分别选自...
【专利技术属性】
技术研发人员:E·乌尔德阿迈德瓦尔,R·凡伦天,M·查尼,J·考博尔,V·马杜里,
申请(专利权)人:英特尔公司,
类型:发明
国别省市:美国,US
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。