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

将源封包数据划分为通路的处理器、方法、系统和指令技术方案

技术编号:20083793 阅读:19 留言:0更新日期:2019-01-15 03:38
处理器包括解码指令的解码单元,该指令将指示将包括多个邻接数据元素的源封包数据、多个数据元素和目的地。处理器也包括与解码单元耦合的执行单元。执行单元响应该指令,将在目的地中存储结果封包数据。结果封包数据将具有多个通路,每个通路将存储与相应通路的最低有效端对齐的指示数量的邻接数据元素的不同非重叠集合。结果封包数据的邻接通路中指示数量的邻接数据元素的不同非重叠集合将通过较低有效通路的至少一个最高有效数据元素位置而彼此被分隔。

Processors, methods, systems and instructions that divide source packet data into paths

The processor includes a decoding unit for decoding instructions that indicate source packet data, multiple data elements and destinations that will include multiple adjacent data elements. The processor also includes an execution unit coupled with a decoding unit. In response to this instruction, the executing unit stores the result packet data in the destination. Results Packet data will have multiple paths, each of which will store different non-overlapping sets of adjacent data elements aligned with the minimum effective end of the corresponding path. Results Different non-overlapping sets of adjacent data elements indicating the number of adjacent data elements in the adjacent path of packet data will be separated from each other by at least one of the most efficient data elements in the lower effective path.

【技术实现步骤摘要】
【国外来华专利技术】将源封包数据划分为通路的处理器、方法、系统和指令
本文中描述的实施例一般涉及处理器。具体地说,本文中描述的实施例一般涉及响应于指令,对封包数据进行操作的处理器。
技术介绍
许多处理器具有单指令、多数据(SIMD)架构。在SIMD架构中,多个数据元素可作为封包数据或矢量数据被封包在一个寄存器或存储器位置内。在封包或矢量数据中,寄存器或存储器位置的比特可在逻辑上被分割成数据元素的序列。例如,128比特宽封包数据寄存器可具有两个64比特数据元素、四个32比特数据元素、八个16比特数据元素或十六个8比特数据元素。数据元素中的每个可表示可对其单独操作和/或独立于其它数据元素对其操作的单独数据段(例如,像素颜色分量、浮点数等)。在此类SIMD架构中,封包数据指令、矢量指令或SIMD指令可用于同时和/或并行对此类封包数据或矢量操作数的多个数据元素,或两个此类封包数据或矢量操作数的多对数据元素进行操作。处理器可具有响应指令的并行执行硬件,以同时和/或并行对数据进行操作。附图说明通过参照下面的描述和用于图示实施例的附图,可最好地理解本专利技术。在图中:图1是操作以执行划分为通路(lane)指令的实施例的处理器的一实施例的框图。图2是执行将源封包数据划分为通路指令的实施例的方法的实施例的流程框图。图3是将源封包数据划分为通路操作的实施例的框图。图4是将源封包数据划分为通路操作的第一特定示例实施例的框图。图5是将源封包数据划分为通路操作的第二甚至更加特定的示例实施例的框图。图6是将源封包数据划分为通路操作的第三特定示例实施例的框图。图7是将源封包数据划分为通路操作的第四甚至更加特定的示例实施例的框图。图8是适合的一组封包数据寄存器的示例实施例的框图。图9是适合的一组封包数据操作掩码寄存器的示例实施例的框图。图10A-10C是图示了根据本专利技术的实施例的一般矢量友好指令格式及其指令模板的框图。图11A-B是图示了根据本专利技术的实施例的示范特定矢量友好指令格式和操作码字段的框图。图12A-D是图示了根据本专利技术的实施例的示范特定矢量友好指令格式及其字段的框图。图13是寄存器架构的实施例的框图。图14A是图示了有序流水线的实施例和寄存器重命名乱序发布/执行流水线的实施例的框图。图14B是包含两者均耦合到存储器单元的引擎单元和前端单元(且其中前端单元耦合到执行引擎单元)的处理器核的实施例的框图。图15A是单个处理器核连同其到管芯上互连网络的连接及其2级(L2)高速缓存的本地子集的实施例的框图。图15B是图15A的处理器核的一部分的扩展视图的实施例的框图。图16是可具有不止一个核,可具有集成存储器控制器以及可具有集成图形的处理器的实施例的框图。图17是计算机架构的第一实施例的框图。图18是计算机架构的第二实施例的框图。图19是计算机架构的第三实施例的框图。图20是计算机架构的第四实施例的框图。图21是根据本专利技术的实施例,将源指令集中的二进制指令转换成目标指令集中的二进制指令的软件指令转换器的使用的框图。具体实施方式本文中公开的是划分为通路指令、执行指令的处理器、在处理或执行指令时由处理器执行的方法及结合一个或多个处理器以处理或执行指令的系统。在一些实施例中,处理器可具有接收和/或解码指令的解码单元或其它逻辑和执行或以其它方式执行指令的执行单元或其它逻辑。在下面的描述中,陈述了许多特定的细节(例如,特定指令操作,数据格式,处理器配置,微架构细节,操作的序列等)。然而,可在没有这些特定的细节的情况下实践实施例。在其它实例中,总所周知的电路、结构和技术未被详细示出以避免混淆对描述的理解。图1是操作以执行划分为通路指令102的实施例的处理器100的实施例的框图。在一些实施例中,处理器可表示集成电路和/或可包括部署在半导体管芯上的集成电路系统或逻辑。在一些实施例中,处理器可以是通用处理器(例如,在台式、膝上型或其它计算机中使用的类型的通用微处理器或中央处理单元(CPU))。备选的是,处理器可以是专用处理器。适合的专用处理器的示例包括但不限于网络处理器、通信处理器、加密处理器、图形处理器、协处理器、嵌入式处理器、数字信号处理器(DSP)和控制器(例如,微控制器)。处理器可以具有各种复杂指令集计算(CISC)架构、精简指令集计算(RISC)架构、极长指令字(VLIW)架构、混合架构、其它类型的架构,或者具有不同架构的组合(例如,不同核可具有不同架构)。在操作期间,处理器100可接收划分为通路指令102。例如,可通过总线或其它互连从存储器接收该指令。该指令可表示宏指令、机器代码指令或处理器的指令集的其它指令或控制信号。在一些实施例中,划分为通路指令可显式地指定(例如,通过一个或多个字段或一组比特)或以其它方式指示(例如,隐式地指示)将要包括多个邻接数据元素的源封包数据112,并且可显式地指定或以其它方式指示其中将响应该指令而存储结果封包数据118的目的地存储位置116(例如,目的地封包数据寄存器)。如所示出的,在一些实施例中,源封包数据112可以可选地被存储在系统存储器108中。在此类实施例中,该指令可指定或以其它方式指示要用于寻址其中将存储源封包数据的存储器位置110的存储器地址信息。各种不同类型的地址信息是可能的。地址信息可表示绝对存储器地址信息或相对存储器地址信息,其可指示相对于基本存储器地址或其它存储器位置的存储器位置。另外,可以可选地使用各种不同间接存储器寻址模式。作为一个特定示例,获取指令可隐式指示用于存储相对存储器地址信息的寄存器(例如,通用寄存器),该相对存储器地址信息可与在另一隐式寄存器(例如,代码、数据或扩展段寄存器)中存储的额外存储器地址信息组合以生成用于标识其中将存储源封包数据的存储器位置。虽然未通过显式值来表达,但隐式指示的寄存器可被处理器理解。例如,处理器可在标识该指令的操作码后识别或者理解使用寄存器的是固有的或隐式的。这只是一个示例。其它形式的地址信息也是可能的。此外,不是在一个或多个寄存器中提供地址信息,而是潜在地一些或所有地址信息可由该指令的比特(例如,立即数)提供。在其它实施例中,源封包数据112可以可选地被存储在处理器的封包数据寄存器114之一中。如进一步所示出的,在一些实施例中,目的地存储位置可以可选地作为处理器的封包数据寄存器114之一,但这不是要求的。在其它实施例中,其它存储位置可以可选地转而被用于这些操作数中的一个或多个。该指令可具有源和/或目的地操作数规范字段以指定封包数据寄存器、存储器位置或用于此类操作数的其它存储位置。备选的是,这些存储位置中的一个或多个可以可选地对该指令是隐式的(例如,对该指令的操作码是隐式的),而不是被显式指定。另外,在一些实施例中,用于源封包数据的封包数据寄存器或其它存储位置可以可选地被隐式再使用为用于结果封包数据的目的地存储位置,并且可只被指定一次。在一方面,源/目的地封包数据寄存器可被隐式地或隐含地理解成用于源操作数和结果操作数二者。在各种实施例中,源封包数据的数据元素可以是8比特数据元素、16比特数据元素、32比特数据元素或64比特数据元素。数据元素可以是整数、固定点或浮点。在一些实施例中,数据元素可以可选地是浮点数据元素,诸如例如32比特单精度浮点数据元素或6本文档来自技高网...

【技术保护点】
1.一种处理器,包括:多个封包数据寄存器;解码指令的解码单元,所述指令指示将包含多个邻接数据元素的源封包数据,所述指令指示数据元素的数量,以及所述指令指示目的地存储位置;以及与所述多个封包数据寄存器耦合并且与所述解码单元耦合的执行单元,所述执行单元响应所述指令,在所述目的地存储位置中存储结果封包数据,所述结果封包数据具有多个通路,所述结果封包数据的每个所述通路存储与所述相应通路的最低有效端对齐的所述源封包数据的所述指示数量的邻接数据元素的不同非重叠集合,所述结果封包数据的邻接通路中的所述指示数量的所述邻接数据元素的所述不同非重叠集合将通过较低有效通路的至少一个最高有效数据元素位置而彼此被分隔。

【技术特征摘要】
【国外来华专利技术】2016.03.31 US 15/0872311.一种处理器,包括:多个封包数据寄存器;解码指令的解码单元,所述指令指示将包含多个邻接数据元素的源封包数据,所述指令指示数据元素的数量,以及所述指令指示目的地存储位置;以及与所述多个封包数据寄存器耦合并且与所述解码单元耦合的执行单元,所述执行单元响应所述指令,在所述目的地存储位置中存储结果封包数据,所述结果封包数据具有多个通路,所述结果封包数据的每个所述通路存储与所述相应通路的最低有效端对齐的所述源封包数据的所述指示数量的邻接数据元素的不同非重叠集合,所述结果封包数据的邻接通路中的所述指示数量的所述邻接数据元素的所述不同非重叠集合将通过较低有效通路的至少一个最高有效数据元素位置而彼此被分隔。2.根据权利要求1所述的处理器,其中所述解码单元将解码所述指令,所述指令将具有指示所述数据元素的所述数量的立即数。3.根据权利要求1所述的处理器,其中所述解码单元将解码所述指令,所述指令将通过每个将包含相同数量的数据元素的结构的数量的指示来指示数据元素的所述数量。4.根据权利要求1所述的处理器,其中所述解码单元将解码所述指令,所述指令将指示在系统存储器中的所述源封包数据,并且其中所述执行单元响应所述指令,将通过单个加载操作,从所述系统存储器加载所述数据元素的所述不同非重叠集合中的至少每个。5.根据权利要求4所述的处理器,其中所述解码单元将解码所述指令,所述指令将指示将包含多个掩码元素的掩码,并且其中所述执行单元响应所述指令,将从所述系统存储器仅加载对应于所述掩码的未遮蔽掩码元素的所述源封包数据的数据元素。6.根据权利要求1至5中任一项所述的处理器,其中所述解码单元将解码所述指令,所述指令将指示将包含32比特单精度浮点数据元素的所述源封包数据,并且所述指令将指示512比特目的地封包数据寄存器,并且其中所述执行单元响应所述指令,将存储所述结果封包数据,所述结果封包数据将会是512比特结果封包数据,并且所述结果封包数据将具有两个256比特通路,其中所述256比特通路中的每个将存储与所述相应256比特通路的所述最低有效端对齐的所述邻接32比特单精度浮点数据元素的所述对应不同非重叠集合,其中在所述512比特结果封包数据的所述邻接256比特通路中的所述邻接32比特单精度浮点数据元素的所述不同非重叠集合将通过所述较低有效256比特通路的所述至少一个最高有效32比特数据元素位置而彼此被分隔。7.根据权利要求1至5中任一项所述的处理器,其中所述解码单元将解码所述指令,所述指令将指示将包含32比特单精度浮点数据元素的所述源封包数据,并且所述指令将指示至少256比特目的地封包数据寄存器,并且其中所述执行单元响应所述指令,将存储所述结果封包数据,所述结果封包数据将是至少256比特结果封包数据,并且所述结果封包数据将具有至少两个128比特通路,其中所述至少两个128比特通路中的每个将存储与所述相应128比特通路的所述最低有效端对齐的所述邻接32比特单精度浮点数据元素的所述对应不同非重叠集合,其中在所述至少256比特结果封包数据的所述邻接128比特通路中所述邻接32比特单精度浮点数据元素的所述不同非重叠集合将通过所述较低有效128比特通路的所述至少一个最高有效32比特数据元素位置而彼此被分隔。8.根据权利要求1至5中任一项所述的处理器,其中所述解码单元将解码所述指令,所述指令将指示将包含32比特数据元素的所述源封包数据。9.根据权利要求1至5中任一项所述的处理器,其中所述解码单元将解码所述指令,所述指令将指示将包含64比特数据元素的所述源封包数据。10.根据权利要求1至5中任一项所述的处理器,其中所述执行单元响应所述指令,将存储所述结果封包数据,在所述结果封包数据中每个所述通路是128比特通路。11.根据权利要求1至5中任一项所述的处理器,其中所述执行单元响应所述指令,将存储所述结果封包数据,在所述结果封包数据中每个所述通路是256比特通路。12.根据权利要求1至5中任一项所述的处理器,其中所述解码单元将解码所述指令,所述指令将具有指示所述结果封包数据的所述通路的大小的字段。13.根据权利要求1至5中任一项所述的处理器,其中将对所述指令是隐式的是将所述指示数量的邻接数据元素的每个不同非重叠集合与所述相应通路的所述最低有效端对齐。14.一种由处理器执行的方法,所述方法包括:在所述处理器处接收指令,所述指令指示包含多个邻接数据元素的源封包数据,所述指令指示数据元素的数量,以及所述指令指示目的地存储位置;以及响应所述指令,在所述目的地存储位置中存储结果封包数据,所述结果封包数据具有多个通路,所述结果封包数据的每个所述通路存储与所述相应通路的最低有效端对齐的所述源封包数据的所述指示数量的邻接数据元素的不同非重叠集合,所述结果封包数据的邻接通路中的所述指示数量的所述邻接数据元素的所述不同...

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

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

1