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

用于采用到被屏蔽结果元素的传播将连续源元素存储到未屏蔽结果元素的处理器、方法、系统和指令技术方案

技术编号:13893331 阅读:107 留言:0更新日期:2016-10-24 17:30
一方面的处理器包括对指令进行解码的解码单元,其中指令指示包括至少四个数据元素的第一源打包数据操作数、包括至少四个屏蔽元素的源屏蔽和目的地存储位置。执行单元响应该指令而存储具有一系列至少两个未屏蔽结果数据元素的结果打包数据操作数。未屏蔽结果数据元素的每个按照相对顺序来存储第一源打包数据操作数的至少两个连续数据元素的不同数据元素的值。最接近的对应未屏蔽结果数据元素对之间的所有被屏蔽结果元素具有与最靠近结果打包数据操作数的第一端的对应对的未屏蔽结果数据元素相同的值。被屏蔽结果数据元素对应于被屏蔽的屏蔽元素。

【技术实现步骤摘要】
【国外来华专利技术】
本文所述的实施例一般涉及处理器。具体来说,本文所述的实施例一般涉及执行对打包数据进行操作的指令的处理器。
技术介绍
许多处理器具有单指令多数据(SIMD)架构。在SIMD架构中,多个数据元素可作为打包数据(packed data)或向量数据被打包在一个寄存器或存储器位置中。在打包数据中,寄存器或另一存储位置的位可在逻辑上划分为数据元素序列。例如,128位宽打包数据寄存器可具有两个64位宽数据元素、四个32位数据元素、八个16位数据元素等。数据元素的每个可表示单独的个体数据片(例如像素颜色等),其可与其他数据片分开和/或无关地操作。附图说明通过参照用来示出实施例的以下描述和附图,可以最透彻地了解本专利技术。附图包括:图1是可操作以执行采用传播的被屏蔽连续源元素存储指令的实施例的处理器的一实施例的框图。图2是执行采用传播的被屏蔽连续源元素存储的指令的实施例的方法的一实施例的流程图。图3是使最低阶被屏蔽元素保持不变的采用传播的被屏蔽连续源元素存储操作的一实施例的框图。图4是从最高阶元素存储最低阶被屏蔽元素的采用传播的被屏蔽连续源元素存储操作的一实施例的框图。图5是从最低阶元素存储最高阶被屏蔽元素的采用传播的被屏蔽连续源元素反向和后向存储操作的一实施例的框图。图6是从最低阶元素存储最高阶被屏蔽元素的采用传播的被屏蔽连续源元素反向存储操作的一实施例的框图。图7是打包数据寄存器的适当集合的一实施例的框图。图8是示出屏蔽位的数量取决于打包数据宽度和打包数据元素宽度的表。图9是打包数据操作屏蔽寄存器的适当集合的一实施例的框图。图10A-10B是示出按照本专利技术的实施例的通用向量友好指令格式及其指令模板的框图。图11A是示出按照本专利技术的实施例的示范特定向量友好指令格式的框图。图11B是示出按照本专利技术的一个实施例、组成全操作码字段的特定向量友好指令格式的字段的框图。图11C是示出按照本专利技术的一个实施例、组成寄存器变址字段的特定向量友好指令格式的字段的框图。图11D是示出按照本专利技术的一个实施例、组成扩充操作字段的特定向量友好指令格式的字段的框图。图12是寄存器架构的一实施例的框图。图13A是示出有序管线的一实施例和寄存器重命名无序发出/执行管线的一实施例的框图。图13B是包括耦合到执行引擎单元的前端单元(均耦合到存储器单元)的处理器核心的一实施例的框图。图14A是单个处理器核心连同其到晶片(die)上互连网络的连接并且连同其第2级(L2)高速缓存的本地子集的一实施例的框图。图14B是图14A的处理器核心的部分的扩大视图的一实施例的框图。图15是可具有一个以上核心、可具有集成存储器控制器并且可具有集成图形的处理器的一实施例的框图。图16是计算机架构的第一实施例的框图。图17是计算机架构的第二实施例的框图。图18是计算机架构的第三实施例的框图。图19是计算机架构的第四实施例的框图。图20是按照本专利技术的实施例、软件指令转换器用来将源指令集中的二进制指令转换成目标指令集中的二进制指令的框图。具体实施方式本文所公开的是使处理器采用到被屏蔽结果元素的传播将连续源元素存储到未屏蔽结果元素的采用传播的被屏蔽连续源元素存储指令、运行指令的处理器、由处理器在处理或运行指令时执行的方法以及结合一个或多个处理器以处理或运行指令的系统。在以下描述中,提出许多具体细节(例如具体指令操作、数据格式、处理器配置、微架构细节、操作序列等)。但是,即使没有这些具体细节也可实施实施例。在其他情况下,没有详细示出众所周知的电路、结构和技术,以免影响对本描述的理解。图1是可操作以执行采用传播的被屏蔽连续源元素存储指令102的实施例的处理器100的一实施例的框图。在一些实施例中,处理器可以是(例如常用于台式、膝上型或其他计算机中的类型的)通用处理器。备选地,处理器可以是专用处理器。适当专用处理器的示例包括但不限于网络处理器、通信处理器、密码处理器、图形处理器、协处理器、嵌入式处理器、数字信号处理器(DSP)和控制器(例如微控制器),这里只列举几个示例。处理器可以是各种复合指令集计算(CISC)处理器、各种简化指令集计算(RISC)处理器、各种超长指令字(VLIW)处理器、它们的各种混合中的任一个,或者可实现这类指令集的组合(例如在不同的核心中)。在操作期间,处理器100可接收采用传播的被屏蔽连续源元素存储指令102的实施例。例如,指令可从指令取单元、指令队列等接收。指令可表示宏指令、汇编语言指令、机器代码指令或者处理器的指令集的另一指令或控制信号。在一些实施例中,指令可显式指定(例如经过一个或多个字段或位集合)或者以其他方式(例如隐式指示)具有多个(例如至少四个)数据元素的第一源打包数据操作数110,可指定或者以其他方式指示包括多个(例如至少四个)屏蔽元素的源屏蔽116(例如在打包数据操作屏蔽寄存器118中),并且可指定或者以其他方式指示可存储结果打包数据操作数114的目的地存储位置。在一些实施例中,指令可选地还可指定或者以其他方式指示具有将要用于一个或多个极值(例如最高阶或最低阶)屏蔽结果数据元素的至少一个值(参见例如图4-6)的第二源(例如打包数据)操作数112,但是这不作要求。再次参照图1,处理器包括解码单元或解码器104。解码单元可对采用传播的被屏蔽连续源元素存储指令102进行接收和解码。解码单元可输出一个或多个微指令、微操作、微码输入点、解码指令或控制信号或者反映、表示指令102和/或从指令102所得出的其他较低级指令或控制信号。一个或多个低级指令或控制信号可经过一个或多个低级(例如电路级或硬件级)操作来实现高级指令102。解码单元可使用各种不同机制来实现,包括但不限于微码只读存储器(ROM)、查找表、硬件实现、可编程逻辑阵列(PLA)和本领域已知的其他机制。在一些实施例中,指令102不是直接提供给解码单元,而是可选地可使用指令模拟器、转化器、变形器、解释器或其他指令转换模块。各种不同类型的指令转换模块是本领域已知的,并且可通过软件、硬件、固件或者其组合来实现。在一些实施例中,指令转换模块可位于指令处理处理器外部,例如单独晶片上和/或存储器(例如静态、动态或运行时指令模拟模块)中。作为举例,指令转换模块可接收可属于第一指令集的指令102,并且可对指令102进行模拟、转化、变形、解释或者以其他方式将指令102转换为一个或多个对应或所得出中间指令或控制信号,其可属于第二不同的指令集。第二指令集的一个或多个中间指令或控制信号可提供给解码单元(例如解码单元104),其可将第二指令集的所接收的一个或多个指令或控制信号解码为由处理器的本机硬件(例如一个或多个执行单元)可执行的一个或多个低级指令或控制信号。处理器还包括打包数据寄存器组108。打包数据寄存器的每个可表示晶片上存储位置,其可操作以存储打包数据、向量数据或SIMD数据。打包数据寄存器可表示架构可见的寄存器(例如架构寄存器堆)。架构可见或架构寄存器是软件和/或编程人员可见的,和/或是通过处理器的指令集的指令所指示以识别操作数的寄存器。这些架构寄存器与给定微架构中的其他非架构或者非架构可见寄存器(例如暂时寄存器、重排序缓冲器、引退寄存器等)形成对照。打包数据寄存器可在不同微架构中使用众所本文档来自技高网...

【技术保护点】
一种处理器,包括:用于对指令进行解码的解码单元,所述指令指示包括至少四个数据元素的第一源打包数据操作数,指示包括至少四个屏蔽元素的源屏蔽,并且指示目的地存储位置;与所述解码单元耦合的执行单元,所述执行单元响应所述指令而将结果打包数据操作数存储在目的地存储位置中,所述结果打包数据操作数具有:一系列至少两个未屏蔽结果数据元素,所述未屏蔽结果数据元素的每个按照相对顺序存储所述第一源打包数据操作数的至少两个连续数据元素的不同数据元素的值;以及最接近的对应未屏蔽结果数据元素对之间的所有被屏蔽结果数据元素具有与最靠近所述结果打包数据操作数的第一端的对应对的未屏蔽结果数据元素相同的值,所述被屏蔽结果数据元素对应于所述源屏蔽的被屏蔽的屏蔽元素。

【技术特征摘要】
【国外来华专利技术】1.一种处理器,包括:用于对指令进行解码的解码单元,所述指令指示包括至少四个数据元素的第一源打包数据操作数,指示包括至少四个屏蔽元素的源屏蔽,并且指示目的地存储位置;与所述解码单元耦合的执行单元,所述执行单元响应所述指令而将结果打包数据操作数存储在目的地存储位置中,所述结果打包数据操作数具有:一系列至少两个未屏蔽结果数据元素,所述未屏蔽结果数据元素的每个按照相对顺序存储所述第一源打包数据操作数的至少两个连续数据元素的不同数据元素的值;以及最接近的对应未屏蔽结果数据元素对之间的所有被屏蔽结果数据元素具有与最靠近所述结果打包数据操作数的第一端的对应对的未屏蔽结果数据元素相同的值,所述被屏蔽结果数据元素对应于所述源屏蔽的被屏蔽的屏蔽元素。2.如权利要求1所述的处理器,其中,所述执行单元存储包括所述第一端与最靠近所述第一端的所述系列的第一未屏蔽结果数据元素之间的至少一个被屏蔽结果数据元素的第一集合的所述结果打包数据操作数。3.如权利要求2所述的处理器,其中,所述执行单元存储所述结果打包数据操作数,其中所述第一集合的每个被屏蔽结果数据元素具有与所述结果打包数据操作数被存储之前最初在所述目的地存储位置中相同的值。4.如权利要求2所述的处理器,其中,所述解码单元对指示包括最高阶数据元素的第二源打包数据操作数的所述指令进行解码,并且其中所述执行单元存储所述结果打包数据操作数,其中所述第一集合的每个被屏蔽结果数据元素具有与所述第二源打包数据操作数的最高阶数据元素相同的值。5.如权利要求2所述的处理器,其中,所述解码单元对指示包括最低阶数据元素的第二源打包数据操作数的所述指令进行解码,并且其中所述执行单元存储所述结果打包数据操作数,其中所述第一集合的每个被屏蔽结果数据元素具有与所述第二源打包数据操作数的最低阶数据元素相同的值。6.如权利要求1所述的处理器,其中,所述执行单元存储包括所述结果打包数据操作数的第二端与最靠近所述第二端的所述系列的第二未屏蔽结果数据元素之间的至少一个被屏蔽结果数据元素的第二集合的所述结果打包数据操作数,并且所述第二集合的每个被屏蔽结果数据元素具有与所述第二未屏蔽结果数据元素相同的值。7.如权利要求1所述的处理器,其中,所述执行单元存储所述结果打包数据操作数,其中所述第一端包括最低阶端,以及其中所述连续数据元素是最低阶连续数据元素。8.如权利要求1所述的处理器,其中,所述执行单元存储所述结果打包数据操作数,其中所述第一端包括最低阶端,其中所述连续数据元素是最高阶连续数据元素。9.如权利要求1所述的处理器,其中,所述执行单元存储所述结果打包数据操作数,其中所述第一端包括最高阶端,以及其中所述连续数据元素是最低阶连续数据元素。10.如权利要求1所述的处理器,其中,所述执行单元存储所述结果打包数据操作数,其中所述第一端包括最高阶端,其中所述连续数据元素是最高阶连续数据元素。11.如权利要求1至10中的任一项所述的处理器,其中,所述源屏蔽存储在屏蔽寄存器中,并且其中所述指令包含在具有指示作为判定操作数的所述屏蔽寄存器的多个其他指令的指令集中。12.如权利要求1至10中的任一项所述的处理器,其中,所述解码单元对指示存储器中的位置中的所述第一源打包数据操作数的所述指令进行解码。13.如权利要求1至10中的任一项所述的处理器,其中,所述执行单元存储所述结果打包数据操作数,其中特性是最接近的对应未屏蔽结果数据元素对之间的所述所有被屏蔽结果数据元素具有与最靠近所述第一端的对应对的所述未屏蔽结果数据元素相同的值,所述特性对所述指令的操作码是隐式的。14.一种在处理器中的方法,包括:接收指令,所述指令指示包括至少四个数据元素的第一源打包数据操作数,指示包括至少四个屏蔽元素的源屏蔽,并且指示目的地存储位置;以及响应所述指令而将结果打包数据操作数存储在所述目的地存储位置中,所述结果打包数据操作数包括:一系列至少两...

【专利技术属性】
技术研发人员:M普罗特尼科夫
申请(专利权)人:英特尔公司
类型:发明
国别省市:美国;US

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

1