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

打包数据操作掩码串接处理器、方法、系统及指令技术方案

技术编号:14650484 阅读:84 留言:0更新日期:2017-02-16 10:29
本发明专利技术涉及打包数据操作掩码串接处理器、方法、系统及指令。根据本发明专利技术的一方面的方法包括接收打包数据操作掩码串接指令。打包数据操作掩码串接指令指示具有第一打包数据操作掩码的第一源,指示具有第二打包数据操作掩码的第二源,并指示目的地。响应于所述打包数据操作掩码串接指令,将结果存储在目的地中。所述结果包括:和第二打包数据操作掩码相串接的第一打包数据操作掩码。公开了其它方法、装置、系统和指令。

【技术实现步骤摘要】
本申请是国际申请号为PCT/US2011/066849,国际申请日为2011/12/22,进入中国国家阶段的申请号为201180075847.0,专利技术名称为“打包数据操作掩码串接处理器、方法、系统及指令”的专利技术专利申请的分案申请。
实施例涉及处理器。具体地,实施例涉及响应于打包数据操作掩码串接指令而串接打包数据操作掩码的处理器。
技术介绍
许多处理器具有单指令多数据(SIMD)架构。该SIMD架构通常有助于显着提高处理速度。在SIMD架构中,与仅在一个数据元素或一对数据元素上操作标量指令不同,打包数据指令、向量指令、或SIMD指令可在多个数据元素、或多对数据元素上同时或并行地操作。处理器可具有并行执行硬件,该并行执行硬件响应于打包数据(packeddata)指令来同时或并行地执行多个操作。在SIMD架构中,可将多个数据元素打包在一个寄存器或存储器位置内作为打包数据或向量数据。在向量数据中,寄存器或其他存储位置的位(比特)可被逻辑地划分成多个固定尺寸的数据元素的序列。数据元素中的每一个可表示个体数据片,该个体数据片连同通常具有相同尺寸的其他数据元素一起被存储在寄存器或存储位置中。例如,256位宽寄存器可具有四个64位宽打包数据元素,八个32位宽打包数据元素,十六个16位宽打包数据元素,或三十二个8位宽打包数据元素。每一打包数据元素可表示独立的个体数据片(例如,像素的颜色等),该数据片可单独地操作或与其他数据片独立地操作。代表性地,打包数据指令、向量指令或SIMD指令(例如,打包加法指令)中的一种类型可指定在来自两个源打包数据操作数的所有相应数据元素对上以垂直方式执行单个打包数据操作(例如,加法)以生成目的或结果打包数据。这些源打包数据操作数是相同尺寸,可包含相同宽度的数据元素,并因此可各自包含相同数量的数据元素。两个源打包数据操作数中的相同的比特位置中的源数据元素可表示相应的数据元素对。可分开地或独立地对这些相应的源数据元素对中的每一个上执行打包数据操作,以便生成匹配数量的结果数据元素,且因而每一对相应的源数据元素可以具有相应的结果数据元素。通常,这样的指令的结果数据元素是相同次序的,且它们常常具有相同的尺寸。除这种示例性类型的打包数据指令之外,还有各种其它类型的打包数据指令。例如,存在仅具有一个源打包数据操作数或具有两个以上的源打包数据操作数的打包数据指令、以水平方式而不是垂直方式操作的打包数据指令、生成不同尺寸的结果打包数据操作数的打包数据指令、具有不同尺寸的数据元素的打包数据指令和/或具有不同的数据元素次序的打包数据指令。附图说明通过参考用来说明本专利技术的实施例的以下描述和附图,可最好地理解本专利技术。在附图中:图1是具有含一个或多个打包数据操作掩码串接指令的指令集的处理器的示例实施例的框图。图2A是示出采取合并的被掩码(masked)打包数据操作的第一代表性示例实施例的框图。图2B是例示采取归零操作的被掩码打包数据操作的第二代表性示例实施例的框图。图3是包括存储有打包数据操作掩码串接指令的机器可读的存储介质的制品(例如,计算机程序产品)的框图。图4是具有执行单元的指令处理装置的示例实施例的框图,该执行单元可操作用于执行包含打包数据操作掩码串接指令的示例实施例的指令。图5是可由处理器和/或执行单元响应于打包数据操作掩码串接指令和/或作为其结果而执行的打包数据操作掩码串接操作的示例实施例的框图。图6是对打包数据操作掩码串接指令的示例实施例进行处理的方法的示例实施例的流程框图。图7是一组合适的打包数据寄存器的示例实施例的框图。图8是示出合适打包数据格式的若干示例实施例的框图。图9是示出打包数据操作掩码位的数目依赖于打包数据宽度和打包数据元素宽度的表格。图10是一组合适的打包数据操作掩码寄存器的示例实施例的框图。图11的图例示:在被用作打包数据操作掩码或用于掩码遮蔽的打包数据操作掩码寄存器的示例实施例中,位的数目取决于打包数据宽度和数据元素宽度的图。图12A-12C例示打包数据操作掩码串接指令和其操作的多种特定示例实施例。图13是可由处理器和/或执行单元响应于和/或作为打包指令的结果而执行的打包操作的示例实施例的框图。图14A示出示例性AVX指令格式,包括VEX前缀、实操作码字段、MoDR/M字节、SIB字节、位移字段以及IMM8。图14B示出来自图14A的哪些字段构成完整操作码字段和基础操作字段。图14C示出来自图14A的哪些字段构成寄存器索引字段。图15是根据本专利技术的一个实施例的寄存器架构的框图。图16A是示出根据本专利技术的实施例的示例性有序流水线和示例性寄存器重命名的无序发布/执行流水线二者的框图。图16B示出处理器核,该处理器核包括耦合到执行引擎单元的前端单元,并且两者耦合到存储器单元。图17A是根据本专利技术的各实施例的单个处理器核连同它与管芯上互连网络的连接以及其二级(L2)高速缓存的本地子集的框图。图17B是根据本专利技术的各实施例的图17A中的处理器核的一部分的展开图。图18是根据本专利技术的实施例的可具有一个以上的核、可具有集成存储器控制器、并且可具有集成图形器件的处理器的方框图。图19所示为根据本专利技术的一个实施例的系统的框图。图20所示为根据本专利技术的实施例的第一更具体示例性系统的框图。图21所示为根据本专利技术的实施例的第二更具体的示例性系统的框图。图22所示为根据本专利技术的实施例的SoC的框图。图23所示为根据本专利技术的实施例的对照使用软件指令转换器将源指令集中的二进制指令转换成目标指令集中的二进制指令的框图。具体实施方式本文中公开的是打包数据操作掩码串接(concatenation)指令、用于执行打包数据操作掩码串接指令的处理器、该处理器在处理或执行打包数据操作掩码串接指令时执行的方法、以及包含一个或多个用于处理或执行打包数据操作掩码串接指令的处理器的系统。在下面的描述中,阐述了很多具体细节。然而,应当理解,本专利技术的各实施例可以在不具有这些具体细节的情况下得到实施。在其他实例中,未详细示出公知的电路、结构和技术以免混淆对本描述的理解。图1是具有含一个或多个打包数据操作掩码串接指令105的指令集的处理器100的示例实施例的框图。该处理器可以是各种复杂指令集计算(CISC)处理器、各种精简指令集计算(RISC)处理器、各种超长指令字(VLIW)处理器、其各种混合、或完全其他类型的处理器中的任何处理器。在一些实施例中,处理器可以是通用处理器(例如,用于台式、膝上型等计算机中的一类通用微处理器),但这不是必须的。替换地,指令处理处理装置可以是专用处理器。合适的专用处理器的示例包括但不限于,网络处理器、通信处理器、加密处理器、图形处理器、协处理器、嵌入式处理器、数字信号处理器(DSP)以及控制器(例如,微控制器),仅列举数例。处理器具有指令集架构(ISA)101。ISA表示处理器的架构中涉及编程的那部分。ISA通常包括原生指令、架构寄存器、数据类型、寻址模式、存储器架构、中断和异常处理以及处理器的外部输入和输出(I/O)。ISA与微架构不同,微架构通常表示选择用于实现指令集架构的特定处理器设计技术。带有不同的微架构的处理器可以共享共同的指令集架构。ISA包括架构寄存器(例如,本文档来自技高网...
打包数据操作掩码串接处理器、方法、系统及指令

【技术保护点】
一种处理器,包括:a)解码器,用于接收第一指令集中的一个或多个指令,所述一个或多个指令用于仿真第二不同指令集中的打包数据操作掩码串接指令,所述打包数据操作掩码串接指令明确地指定第一打包数据操作掩码并明确地指定第二打包数据操作掩码;以及b)与所述解码器相耦合的执行逻辑,所述执行逻辑,由于所述第一指令集中的所述一个或多个指令,能够操作用于在目的地中存储结果,所述结果的位[7:0]用于存储所述第二打包数据操作掩码的位[7:0],所述结果的位[15:8]用于存储所述第一打包数据操作掩码的位[7:0]。

【技术特征摘要】
1.一种处理器,包括:a)解码器,用于接收第一指令集中的一个或多个指令,所述一个或多个指令用于仿真第二不同指令集中的打包数据操作掩码串接指令,所述打包数据操作掩码串接指令明确地指定第一打包数据操作掩码并明确地指定第二打包数据操作掩码;以及b)与所述解码器相耦合的执行逻辑,所述执行逻辑,由于所述第一指令集中的所述一个或多个指令,能够操作用于在目的地中存储结果,所述结果的位[7:0]用于存储所述第二打包数据操作掩码的位[7:0],所述结果的位[15:8]用于存储所述第一打包数据操作掩码的位[7:0]。2.如权利要求1所述的处理器,其特征在于,所述第一打包数据操作掩码是由所述打包数据操作掩...

【专利技术属性】
技术研发人员:B·L·托尔R·凡伦天J·考博尔圣阿德里安E·乌尔德阿迈德瓦尔M·J·查尼
申请(专利权)人:英特尔公司
类型:发明
国别省市:美国;US

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

1