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

用于执行大整数算术操作的方法和装置制造方法及图纸

技术编号:15919168 阅读:26 留言:0更新日期:2017-08-02 04:24
描述了用于执行大整数算术操作的装置和方法。例如,处理器的一个实施例包括:第一源寄存器,用于存储第一256位整数操作数;第二源寄存器,用于存储第二256位整数操作数;以及乘法逻辑,包括用于响应于256位乘法指令对第一和第二256位整数操作数执行乘法以生成512位结果的乘法器和加法器的集合,乘法逻辑用于将第一和第二256位整数操作数的底数表示从第一底数表示转换为基于用于执行乘法并且生成结果的乘法器和加法器的大小选择的第二底数表示,并且然后用于将结果转换回第一底数表示。

【技术实现步骤摘要】
【国外来华专利技术】用于执行大整数算术操作的方法和装置背景
本专利技术总体涉及计算机处理器领域。更具体地说,本专利技术涉及用于执行大整数算术操作的方法和装置。相关技术描述指令集,或指令集架构(ISA)是涉及编程的计算机架构的一部分,并包括原生数据类型、指令、寄存器架构、寻址模式、存储器架构、中断和异常处理、以及外部输入和输出(I/O)。应该注意,术语“指令”在本文中一般是指宏指令——即,提供给处理器供执行的指令——而不是作为由处理器的解码器解码宏指令产生的结果的微指令或微操作。微指令或微操作可以配置为指示处理器上的执行单元执行操作以实现与宏指令相关联的逻辑。ISA与微架构不同,微架构是用于实现指令集的处理器设计技术的集合。具有不同的微架构的处理器可共享共同的指令集。例如,奔腾四(Pentium4)处理器、酷睿(CoreTM)处理器、以及来自加利福尼亚州桑尼威尔(Sunnyvale)的超微半导体有限公司(AdvancedMicroDevices,Inc.)的多个处理器执行几乎相同版本的x86指令集(在更新的版本中加入了一些扩展),但具有不同的内部设计。例如,ISA的相同寄存器架构在不同的微架构中可使用已知的技术以不同方法来实现,包括专用物理寄存器、使用寄存器重命名机制(诸如,使用寄存器别名表(RAT)、重排序缓冲器(ROB)、以及引退寄存器堆)的一个或多个动态分配物理寄存器。除非另作说明,否则短语“寄存器架构”、“寄存器堆”和“寄存器”在本文中用于指代对软件/编程者以及对指令指定寄存器的方式可见的寄存器架构、寄存器堆和寄存器。在需要区分的情况下,形容词“逻辑的”、“架构的”,或“软件可见的”将用于指示寄存器架构中的寄存器/寄存器堆,而不同的形容词将用于指定给定微型架构中的寄存器(例如,物理寄存器、重排序缓冲器、引退寄存器、寄存器池)。指令集包括一个或多个指令格式。给定指令格式定义各个字段(位的数量、位的位置)以指定要执行的操作以及对其要执行该操作的操作数等。通过指令模板(或子格式)的定义来进一步分解一些指令格式。例如,可将给定指令格式的指令模板定义为具有指令格式的字段的不同子集(所包括的字段通常按相同的顺序,但是至少一些字段具有不同的位的位置,因为有较少的字段被包括)和/或定义为具有以不同的方式来解释的给定字段。使用给定的指令格式(并且如果经定义,则以该指令格式的一个给定的指令模板)来表达给定的指令,并且该给定的指令指定操作和操作数。指令流是具体的指令序列,其中,序列中的每条指令是按照指令格式(并且如果经定义,按照该指令格式的指令模板中的一个给定的指令模板)的指令的发生。附图说明结合以下附图,从以下具体实施方式中可获得对本专利技术更好的理解,其中:图1A和1B是示出根据本专利技术的实施例的通用向量友好指令格式及其指令模板的框图;图2A-D是示出根据本专利技术的实施例的示例性专用向量友好指令格式的框图;图3是根据本专利技术的一个实施例的寄存器架构的框图;以及图4A是示出根据本专利技术的实施例的示例性有序取出、解码、引退流水线以及示例性寄存器重命名的乱序发布/执行流水线两者的框图;图4B是示出根据本专利技术的实施例的要包括在处理器中的有序取出、解码、引退核的示例性实施例和示例性的寄存器重命名的乱序发布/执行架构核的框图;图5A是单个处理器核以及它与管芯上互连网络的连接的框图;图5B示出根据本专利技术的实施例的图5A中的处理器核的一部分的展开图;图6是根据本专利技术的实施例的具有集成存储器控制器和图形器件的单核处理器和多核处理器的框图;图7示出根据本专利技术的一个实施例的系统的框图;图8示出根据本专利技术的实施例的第二系统的框图;图9示出根据本专利技术的实施例的第三系统的框图;图10示出根据本专利技术的实施例的芯片上系统(SoC)的框图;图11示出根据本专利技术的实施例的、对照使用软件指令转换器将源指令集中的二进制指令转换成目标指令集中的二进制指令的框图;图12示出可在其上实现本专利技术的实施例的示例性处理器;图13示出包括256位乘法逻辑的本专利技术的一个实施例;图14示出包括256位乘法逻辑的本专利技术的另一个实施例;图15示出包括利用立即值以标识源操作数的256位乘法逻辑的本专利技术的另一个实施例;图16示出用于实现本专利技术的一个实施例的乘法器和加法器的集合;以及图17示出根据本专利技术的一个实施例的方法。具体实施方式在下面的描述中,为了进行解释,阐述了众多具体细节以便提供对以下描述的本专利技术的多个实施例的透彻理解。然而,对本领域技术人员显而易见的是,可以在没有这些具体细节中的一些细节的情况下实施本专利技术的各实施例。在其他实例中,公知的结构和设备以框图形式示出,以避免使本专利技术的多个实施例的基本原理模糊。示例性处理器架构和数据类型指令集包括一个或多个指令格式。给定指令格式定义各种字段(位的数量、位的位置)以指定将要执行的操作(操作码)以及将对其执行该操作的操作数,等等。通过指令模板(或子格式)的定义来进一步分解一些指令格式。例如,可将给定指令格式的指令模板定义为具有指令格式的字段的不同子集(所包括的字段通常按相同的顺序,但是至少一些字段具有不同的位的位置,因为有较少的字段被包括)和/或定义为具有以不同的方式来解释的给定字段。如此,ISA的每一条指令使用给定的指令格式来表达(并且如果经定义,则按照该指令格式的指令模板中的给定指令模板),并包括用于指定操作和操作数的字段。例如,示例性ADD指令具有专用操作码以及包括用于指定该操作码的操作码字段和用于选择操作数的操作数字段(源1/目的地以及源2)的指令格式,并且该ADD指令在指令流中的出现将具有选择特定操作数的操作数字段中的特定内容。已发布和/或出版了被称为高级向量扩展(AVX)(AVX1和AVX2)并使用向量扩展(VEX)编码方案的SIMD扩展集(例如,参见2011年10月的《64和IA-32架构软件开发者手册》(“64andIA-32ArchitecturesSoftwareDevelopersManual”);并且参见2011年6月的《高级向量扩展编程参考》(“AdvancedVectorExtensionsProgrammingReference))。”示例性指令格式本文中所描述的指令的实施例可以不同的格式体现。另外,在下文中详述示例性系统、架构、以及流水线。指令的实施例可在这些系统、架构、以及流水线上执行,但是不限于详述的系统、架构、以及流水线。A.通用向量友好指令格式向量友好指令格式是适于向量指令(例如,存在专用于向量操作的特定字段)的指令格式。尽管描述了其中通过向量友好指令格式支持向量和标量运算两者的实施例,但是替代实施例仅使用通过向量友好指令格式的向量运算。图1A-1B是示出根据本专利技术的实施例的通用向量友好指令格式及其指令模板的框图。图1A是示出根据本专利技术的实施例的通用向量友好指令格式及其A类指令模板的框图;而图1B是示出根据本专利技术的实施例的通用向量友好指令格式及其B类指令模板的框图。具体而言,为通用向量友好指令格式100定义了A类和B类指令模板,这两类指令模板都包括无存储器访问105指令模板和存储器访问120指令模板。在向量友好指令格式的上下文中的术语“通用”指不束缚于任何专用指令集的指令格式。尽管将描述其中向量友好指令格式支本文档来自技高网...
用于执行大整数算术操作的方法和装置

【技术保护点】
一种处理器,包括:第一源寄存器,用于存储第一256位整数操作数;第二源寄存器,用于存储第二256位整数操作数;以及乘法逻辑,包括用于响应于256位乘法指令对所述第一和第二256位整数操作数执行乘法以生成512位结果的乘法器和加法器的集合,所述乘法逻辑用于将所述第一和第二256位整数操作数的底数表示从第一底数表示转换为基于用于执行所述乘法并且生成结果的所述乘法器和加法器的大小选择的第二底数表示,以及然后用于将所述结果转换回所述第一底数表示。

【技术特征摘要】
【国外来华专利技术】2014.12.23 US 14/581,9731.一种处理器,包括:第一源寄存器,用于存储第一256位整数操作数;第二源寄存器,用于存储第二256位整数操作数;以及乘法逻辑,包括用于响应于256位乘法指令对所述第一和第二256位整数操作数执行乘法以生成512位结果的乘法器和加法器的集合,所述乘法逻辑用于将所述第一和第二256位整数操作数的底数表示从第一底数表示转换为基于用于执行所述乘法并且生成结果的所述乘法器和加法器的大小选择的第二底数表示,以及然后用于将所述结果转换回所述第一底数表示。2.如权利要求1所述的处理器,其特征在于,每个256位整数操作数的所述第一底数表示包括以底数264表示的四位。3.如权利要求2所述的处理器,其特征在于,所述第二底数表示包括以底数252表示的五位。4.如权利要求3所述的处理器,其特征在于,所述乘法器中的每一个包括52x52乘法器。5.如权利要求4所述的处理器,其特征在于,所述乘法器中的每一个用于将来自所述第一源操作数的五位中的一个与所述第二源操作数的五位中的一个相乘。6.如权利要求5所述的处理器,其特征在于,对于来自所述第一源操作数的位A0、A1、A2、A3和A4以及所述第二源操作数的位B0、B1、B2、B3和B4:第一乘法器,用于将A1和B2相乘以生成积A1B2;第二乘法器,用于将A0和B3相乘以生成积A0B3;第三乘法器,用于将A1和B1相乘以生成积A1B1;第四乘法器,用于将A0和B2相乘以生成积A0B2;第五乘法器,用于将A1和B0相乘以生成积A1B0;第六乘法器,用于将A0和B1相乘以生成积A0B1;以及第七乘法器,用于将A0和B0相乘以生成积A0B0。7.如权利要求6所述的处理器,其特征在于,所述加法器中的每一个用于将所述乘法器输出的结果中的至少两个相加。8.如权利要求7所述的处理器,进一步包括:第一加法器,用于确定A1B2和A0B3的第一和;第二加法器,用于确定A1B1和A1B2的第二和;第三加法器,用于确定A1B0和A1B1的第三和;以及第四加法器,用于确定A0B0和零的第四和。9.如权利要求8所述的处理器,其特征在于,四个和中的每一个输出到四个不同的128位通道中的每一个。10.如权利要求9所述的处理器,其特征在于,将所述128位通道中的每一个中的四个和相加并变换为底数264表示。11.如权利要求1所述的处理器,其特征在于,所述乘法逻辑包括解码逻辑,所述解码逻辑用于将256位乘法指令解码为多个微操作,所述微操作用于通过使用所述第二底数表示来执行多个乘法和加法操作以生成512位结果。12.如权利要求1所述的处理器,其特征在于,所述第一和第二源寄存器包括512位向量寄存器,以及其中所述第一和第二256位整...

【专利技术属性】
技术研发人员:S·格伦V·克拉斯诺夫
申请(专利权)人:英特尔公司
类型:发明
国别省市:美国,US

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

1