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

用于累积式乘积的系统、装置和方法制造方法及图纸

技术编号:20332149 阅读:100 留言:0更新日期:2019-02-13 07:43
描述了用于执行指令的系统、方法和装置。在一些实施例中,该指令至少包括操作码、用于紧缩数据源操作数的字段以及用于紧缩数据目的地操作数的字段。当被执行时,该指令导致:对于源操作数的每个数据元素位置,将存储在紧缩数据源操作数的在先数据元素位置中的所有值乘以存储在那个数据元素位置中的值,并将乘法的结果存储到紧缩数据目的地操作数的对应的数据元素位置中。

【技术实现步骤摘要】
【国外来华专利技术】用于累积式乘积的系统、装置和方法
本专利技术的领域总体上关于计算机处理器架构,更具体地关于当被执行时导致特定结果的指令。
技术介绍
指令集或指令集架构(ISA)是计算机架构中与编程有关的部分,并且可包括原生数据类型、指令、寄存器架构、寻址模式、存储器架构、中断和异常处置以及外部输入和输出(I/O)。应当注意,术语“指令”在本文中一般是指宏指令——即,提供给处理器供执行的指令,该宏指令与微指令或微操作形成对照,微指令或微操作由处理器的解码器对宏指令解码而产生。指令集架构与微架构不同,微架构是实现ISA的处理器的内部设计。具有不同微架构的处理器可共享共同的指令集。例如,英特尔奔腾四(Pentium4)处理器、英特尔酷睿(Core)处理器、以及来自加利福尼亚州桑尼威尔市的超微半导体有限公司的处理器实现几乎相同版本的x86指令集(具有已随更新的版本加入的一些扩展),但具有不同的内部设计。例如,可使用公知技术,在不同的微架构中,以不同的方式来实现ISA的相同寄存器架构,这些公知技术包括专用物理寄存器、使用寄存器重命名机制(诸如,使用如在美国专利第5,446,912号中描述的寄存器别名表(RAT)、重排序缓冲器(ROB)以及引退寄存器堆;使用如在美国专利第5,207,132号中描述的多个映射和寄存器池)的一个或多个动态分配的物理寄存器等。除非另外指定,否则短语“寄存器架构”、“寄存器堆”和“寄存器”指代对软件/编程者以及对指令指定寄存器的方式可见的寄存器架构、寄存器堆和寄存器。在需要专用性的情况下,形容词“逻辑的”、“架构的”、或“软件可见的”将用于指示寄存器架构中的寄存器/寄存器堆,而不同的形容词将用于指定给定微架构中的寄存器(例如,物理寄存器、重排序缓冲器、引退寄存器、寄存器池)。指令集包括一个或多个指令格式。给定的指令格式定义各种字段(位的数目、位的位置)以指定将要被执行的操作以及将要对其执行那个操作的(多个)操作数,等等。给定的指令使用给定的指令格式来表达,并且指定操作和操作数。指令流是特定的指令序列,其中,该序列中的每条指令是指令按指令格式的出现。科学应用、金融应用、自动向量化通用应用、RMS(识别、挖掘和合成)应用/视觉和多媒体应用(例如,2D/3D图形、图像处理、视频压缩/解压缩、语音识别算法和音频处理)通常需要对大量数据项执行相同的操作(被称为“数据并行性”)。单指令多数据(SIMD)是指使处理器对多个数据项执行同一操作的指令类型。SIMD技术尤其适用于可将寄存器中的多个位逻辑地划分成多个固定尺寸的数据元素(这些数据元素中的每个数据元素表示单独的值)的处理器。例如,64位寄存器中的多个位可被指定为要作为四个单独的16位数据元素而被操作的源操作数,这四个单独的16位数据元素中的每一个都表示单独的16位的值。作为另一示例,可将256位寄存器中的多个位指定为将以下列形式被操作的源操作数:四个单独的64位紧缩数据元素(四字(Q)尺寸数据元素)、八个单独的32位紧缩数据元素(双字(D)尺寸数据元素)、十六个单独的16位紧缩数据元素(字(W)尺寸数据元素)或三十二个单独的8位数据元素(字节(B)尺寸数据元素)。该数据类型被称为紧缩数据类型或向量数据类型,并且该数据类型的操作数被称为紧缩数据操作数或向量操作数。换句话说,紧缩数据项或向量指的是紧缩数据元素的序列;并且紧缩数据操作数或向量操作数是SIMD指令(也称为紧缩数据指令或向量指令)的源操作数或目的地操作数。作为示例,一种类型的SIMD指令指定单个向量操作,该单个向量操作将以纵向方式对两个源向量操作数执行,以生成具有相同尺寸的、具有相同数量的数据元素的以及按照相同数据元素的顺序的目的地向量操作数(也被称为结果向量操作数)。源向量操作数中的数据元素被称为源数据元素,而目的地向量操作数中的数据元素被称为目的地数据元素或结果数据元素。这些源向量操作数具有相同的尺寸,并包含相同宽度的数据元素,因此它们包含相同数量的数据元素。两个源向量操作数中的相同的位的位置中的源数据元素形成数据元素对(也称为对应的数据元素;即,每个源操作数的数据元素位置0中的数据元素相对应,每个源操作数的数据元素位置1中的数据元素相对应,以此类推)。对这些源数据元素对中的每一对单独地执行由该SIMD指令所指定的操作,以生成匹配数量的结果数据元素,如此,每一对源数据元素都具有对应的结果数据元素。由于操作是纵向的,并且由于结果向量操作数尺寸相同,具有相同数量的数据元素且结果数据元素以与源向量操作数相同的数据元素顺序来存储,因此,结果数据元素处于结果向量操作数的、与这些结果数据元素的对应源数据元素对在源向量操作数中的位的位置相同的位的位置处。除此示例性类型的SIMD指令之外,还有各种其他类型的SIMD指令(例如,仅具有一个源向量操作数或具有多于两个的源向量操作数的SIMD指令;以横向方式操作的SIMD指令;生成不同尺寸的结果向量操作数的SIMD指令;具有不同尺寸的数据元素的SIMD指令;和/或具有不同的数据元素顺序的SIMD指令)。应当理解,术语“目的地向量操作数”(或“目的地操作数”)被定义为执行指令所指定的操作的直接结果,包括将该目的地操作数存储在某位置(其是寄存器或位于由该指令所指定的存储器地址处),使得可由另一指令(通过由该另一指令指定相同位置)将该目的地操作数作为源操作数来访问。附图说明在所附附图中,以示例方式而非限制方式图示本专利技术,在附图中,类似的附图标记指示类似的要素,其中:图1图示用于处理cumprod指令的硬件的实施例;图2图示根据实施例的cumprod指令的执行的示例;图3图示根据实施例的cumprod指令的执行的示例;图4图示cumprod指令的实施例;图5图示由处理器处理cumprod指令的方法的实施例;图6图示由处理器处理cumprod指令的方法的执行部分的实施例;图7A-图7B是图示根据本专利技术的实施例的通用向量友好指令格式及其指令模板的框图;图8A-图8D是图示根据本专利技术的实施例的示例性专用向量友好指令格式的框图;图9是根据本专利技术的一个实施例的寄存器架构的框图;图10A是图示根据本专利技术的实施例的示例性有序流水线和示例性的寄存器重命名的乱序发布/执行流水线两者的框图。图10B是图示根据本专利技术的实施例的要包括在处理器中的有序架构核的示例性实施例和示例性的寄存器重命名的乱序发布/执行架构核两者的框图;图11A-图11B图示更具体的示例性有序核架构的框图,该核将是芯片中的若干逻辑块(包括相同类型和/或不同类型的其他核)中的一个逻辑块;图12是根据本专利技术的实施例的可具有多于一个核、可具有集成存储器控制器以及可具有集成图形器件的处理器1200的框图;图13-图16是示例性计算机架构的框图;以及图17是根据本专利技术的实施例的对照使用软件指令转换器将源指令集中的二进制指令转换成目标指令集中的二进制指令的框图。具体实施方式在以下描述中,陈述了众多特定细节。然而,应当理解,可在没有这些特定细节的情况下实践本专利技术的实施例。在其他实例中,未详细示出公知的电路、结构和技术,以免使对本描述的理解模糊。在说明书中提到“一个实施例”、“实施例”、“示例实施例”等指示所描述的实施例可包括特定的特征本文档来自技高网...

【技术保护点】
1.一种设备,包括:解码器电路装置,用于对指令解码,其中,所述指令至少包括操作码、用于紧缩数据源操作数的字段、和用于紧缩数据目的地操作数的字段;以及执行电路装置,用于执行经解码的指令,以便对于源操作数的每个数据元素位置,将存储在所述紧缩数据源操作数的在先数据元素位置中的所有值乘以存储在那个数据元素位置中的值,并将乘法的结果存储到所述紧缩数据目的地操作数的对应的数据元素位置中。

【技术特征摘要】
【国外来华专利技术】2016.07.02 US 15/201,3921.一种设备,包括:解码器电路装置,用于对指令解码,其中,所述指令至少包括操作码、用于紧缩数据源操作数的字段、和用于紧缩数据目的地操作数的字段;以及执行电路装置,用于执行经解码的指令,以便对于源操作数的每个数据元素位置,将存储在所述紧缩数据源操作数的在先数据元素位置中的所有值乘以存储在那个数据元素位置中的值,并将乘法的结果存储到所述紧缩数据目的地操作数的对应的数据元素位置中。2.如权利要求1所述的设备,其中,源操作数是紧缩数据寄存器,并且目的地操作数是紧缩数据寄存器。3.如权利要求2所述的设备,其中,单个紧缩数据寄存器用于源操作数和目的地操作数。4.如权利要求1-3中的任一项所述的设备,其中,源操作数的数据元素按低位优先格式存储。5.如权利要求1-3中的任一项所述的设备,其中,源操作数的数据元素按高位优先格式存储。6.如权利要求1-5中的任一项所述的设备,其中,所述指令包括用于写掩码操作数的字段。7.如权利要求6所述的设备,其中,所述执行电路装置用于基于所述写掩码操作数的值来存储乘法的结果。8.一种方法,包括:对指令解码,其中,所述指令至少包括操作码、用于紧缩数据源操作数的字段、和用于紧缩数据目的地操作数的字段;以及执行经解码的指令,以便对于源操作数的每个数据元素位置,将存储在所述紧缩数据源操作数的在先数据元素位置中的所有值乘以存储在那个数据元素位置中的值,并将乘法的结果存储到所述紧缩数据目的地操作数的对应的数据元素位置中。9.如权利要求8所述的方法,其中,源操作数是紧缩数据寄存器,并且目的地操作数是紧缩数据寄存器。10.如权利要求9所述的方法,其中,单个紧缩数据寄存器用于源操作数和目的地操作数。11.如权利要求8-10中的任一项所述的方法,其中,源操作数的数据元素按低位优先格式存储。12.如权利要求8-10中的任一项所述的方法,其中,源操作数的数据元素按高位优先格式存储。13.如权利要求8-12中的任一项所述的方法,其中...

【专利技术属性】
技术研发人员:W·M·布朗E·乌尔德阿迈德瓦尔
申请(专利权)人:英特尔公司
类型:发明
国别省市:美国,US

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

1