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

按索引分散至寄存器以及数据元素重布置处理器、方法、系统和指令技术方案

技术编号:17746077 阅读:25 留言:0更新日期:2018-04-18 19:31
处理器包括解码单元,该解码单元用于对指令进行解码,该指令指示具有源数据元素的源紧缩数据操作数,并指示目的地存储位置。源数据元素中的每个源数据元素都具有源数据元素值和源数据元素位置。响应于该指令,执行单元存储结果紧缩数据操作数,该结果紧缩数据操作数具有各自都具有结果数据元素值和结果数据元素位置的结果数据元素。每个结果数据元素值为以下之一:(1)等于最接近源操作数的一端的、具有等于结果数据元素的结果数据元素位置的源数据元素位置的源数据元素值的源数据元素的源数据元素位置;以及(2)当没有源数据元素具有等于结果数据元素的结果数据元素位置的源数据元素值时,为替代值。

【技术实现步骤摘要】
【国外来华专利技术】按索引分散至寄存器以及数据元素重布置处理器、方法、系统和指令背景
本文中所述的实施例总体上涉及处理器。具体而言,本文中所述的实施例总体上涉及用于处理紧缩数据的处理器。
技术介绍
许多处理器具有单指令多数据(SIMD)架构。在SIMD架构中,紧缩数据指令、向量指令或SIMD指令可对在寄存器或存储器位置内被紧缩为紧缩数据、向量数据或SIMD数据的多个数据元素进行操作。有代表性地,寄存器的多个位可在逻辑上被划分为数据元素的序列。例如,128位宽的紧缩数据寄存器可具有十六个8位数据元素、八个16位数据元素、四个32位数据元素或两个64位数据元素。数据元素中的每个数据元素可表示分开的单个数据片段(例如,像素颜色、复数的分量等),该分开的单个数据片段可被分别操作和/或独立于彼此被操作。处理器可具有并行执行硬件,其响应于紧缩数据指令以同时和/或并行地对多个数据元素操作。附图说明通过参考以下描述以及用于说明多个实施例的附图,可最佳地理解本专利技术。在附图中:图1是处理器的实施例的框图。图2是按索引聚集至寄存器操作的示例实施例的框图。图3是可操作用于执行按索引分散至寄存器指令的实施例的处理器的实施例的框图。图4是按索引分散至寄存器操作的示例实施例的框图。图5是按索引分散至寄存器执行单元的详细的示例实施例的框图。图6是执行按索引分散至寄存器指令的实施例的方法的实施例的流程框图。图7是可操作用于执行数据重布置指令的实施例的处理器实施例的框图。图8是数据元素重布置操作的第一示例实施例的框图。图9是数据元素重布置执行单元的详细的示例实施例的框图。图10是数据元素重布置操作的第二示例实施例的框图。图11是执行按索引分散至寄存器例程的处理器中的方法的示例实施例的流程框图。图12A-12C是示出根据本专利技术的实施例的通用向量友好指令格式及其指令模板的框图。图13A-B是示出根据本专利技术的实施例的示例性专用向量友好指令格式和操作码字段的框图。图14A-D是示出根据本专利技术的实施例的示例性专用向量友好指令格式及其多个字段的框图。图15是寄存器架构的实施例的框图。图16A是示出有序流水线的实施例以及寄存器重命名的乱序发布/执行流水线的实施例的框图。图16B是处理器核的实施例的框图,该处理器核包括耦合到执行引擎单元的前端单元,并且前端单元和执行引擎单元两者都耦合到存储器单元。图17A是单个处理器核以及它与管芯上互连网络的连接及其第二级(L2)高速缓存的本地子集的实施例的框图。图17B是图17A的处理器核的部分的展开图的实施例的框图。图18是可具有多于一个的核、可具有集成存储器控制器并且可具有集成图形器件的处理器的实施例的框图。图19是计算机架构的第一实施例的框图。图20是计算机架构的第二实施例的框图。图21是计算机架构的第三实施例的框图。图22是计算机架构的第四实施例的框图。图23是根据本专利技术的实施例的使用软件指令转换器将源指令集中的二进制指令转换成目标指令集中的二进制指令的框图。具体实施方式本文中所公开的是指令、用于执行这些指令的处理器、在处理或执行这些指令时由处理器执行的方法、包含用于处理或执行这些指令的一个或多个处理器的系统以及存储指令的机器可读介质。在以下描述中,阐述多个特定细节(例如,特定指令操作、用于实现指令的微架构、数据格式、处理器配置、操作序列等)。然而,在没有这些特定细节的情况下,也可实施多个实施例。在其他实例中,未详细示出公知的电路、结构和技术,以避免使对本说明书的理解模糊。图1是处理器100的实施例的框图。在一些实施例中,该处理器可以是通用处理器(例如,台式计算机、膝上型计算机或其他计算机中所使用类型的通用微处理器或中央处理单元(CPU))。或者,该处理器可以是专用处理器。合适的专用处理器的示例包括但不仅限于,网络处理器、通信处理器、加密处理器、图形处理器、协处理器、嵌入式处理器、数字信号处理器(DSP)以及控制器(例如,微控制器)。处理器具有指令集架构(ISA)。ISA表示处理器的架构中的与编程有关的部分,并且通常包括处理器的原生指令、架构寄存器、数据类型、寻址模式、存储器架构,等等。ISA与微架构不同,微架构一般表示被选择用于实现ISA的特定的处理器设计技术。处理器可具有各种复杂指令集计算(CISC)架构、精简指令集计算(RISC)架构、超长指令字(VLIW)架构、混合架构、其他类型的架构中的任一种,或者可具有不同架构的组合(例如,不同的核可具有不同的架构)。ISA包括架构可见的寄存器(例如,架构寄存器组)110。架构寄存器在本文中可被简称为寄存器。除非另外指定或明确,否则在本文中使用短语“架构寄存器”、“寄存器组”和“寄存器”来指对软件和/或编程者可见的寄存器和/或由宏指令指定以标识操作数的寄存器。这些寄存器与给定微架构中的其他非架构或非架构可见的寄存器(例如,临时寄存器、重排序缓冲器、引退寄存器等)形成对照。寄存器一般表示管芯上处理器存储位置。如图所示,寄存器可包括可操作用于存储紧缩数据、向量数据或SIMD数据的紧缩数据寄存器112。在一些实施例中,寄存器可包括紧缩数据操作掩码寄存器114。任选的紧缩数据操作掩码寄存器将在下文中进一步讨论。处理器还具有并且还支持指令集102。指令集可表示宏指令、汇编语言指令或处理器原生地能够执行的机器级指令。如图所示,处理器可具有解码单元116和一个或多个执行单元118,解码单元116可操作用于将指令集中的指令解码为微指令、微操作或其他经解码的指令或控制信号,一个或多个执行单元118可操作用于实施或执行经解码的指令或控制信号。再参见图1,在一些实施例中,指令集可任选地包括至少一条按索引聚集至寄存器指令104。在本领域中有时也将按索引聚集至寄存器指令称为换序指令和/或混洗指令。按索引聚集至寄存器指令可以可操作以使用索引将源数据元素聚集到结果寄存器中。例如,在一些实施例中,按索引聚集至寄存器指令可指示具有数据元素的源紧缩数据操作数,可指示具有索引的源紧缩索引操作数,并且按索引聚集至寄存器指令当被执行时可利用索引来选择源紧缩数据操作数的数据元素,并将所选择的源数据元素存储到对应于操作数内的相同的相对位置中的索引的对应的结果数据元素。在一些实施例中,指令集可任选地包括至少一条按索引分散至寄存器指令106。按索引分散至寄存器指令可以可操作用于使用索引将源数据元素分散到结果寄存器。例如,在一些实施例中,按索引分散至寄存器指令可指示具有数据元素的源紧缩数据操作数,可指示具有索引的源紧缩索引操作数,并且按索引分散至寄存器指令当被执行时可利用索引来选择结果紧缩数据操作数的结果数据元素,并将对应于操作数内的相同的相对位置中的索引的对应的源数据元素存储到所选择的结果数据元素。如可以容易地看出的那样,按索引聚集至寄存器指令和按索引分散至寄存器指令能以不同方式来使用索引。在一些实施例中,指令集可任选地包括至少一条数据元素重布置指令108,其适用于将分散索引重布置为聚集索引和/或将聚集索引重布置为分散索引。例如,数据元素重布置指令可以可操作用于将按分散模式布置的源紧缩索引操作数的索引重布置为按聚集模式布置的结果紧缩索引操作数的索引。或者,数据元素重布置指令可以可操作用于将按聚集模式布置的源紧缩索引本文档来自技高网...
按索引分散至寄存器以及数据元素重布置处理器、方法、系统和指令

【技术保护点】
一种处理器,包括:解码单元,用于对数据元素重布置指令解码,所述指令用于指示将具有多个源数据元素的源紧缩数据操作数并用于指示目的地存储位置,所述多个源数据元素中的每个源数据元素都将具有源数据元素值和相对于所述源紧缩数据操作数的最低有效端的源数据元素位置;以及执行单元,与所述解码单元耦合,所述执行单元响应于所述指令,用于将结果紧缩数据操作数存储在所述目的地存储位置中,所述结果紧缩数据操作数将具有多个结果数据元素,每个结果数据元素都将具有结果数据元素值和相对于所述结果紧缩数据操作数的最低有效端的结果数据元素位置,其中,每个结果数据元素的结果数据元素值将是以下之一:等于最接近所述源紧缩数据操作数的一端的、将具有等于结果数据元素的结果数据元素位置的源数据元素位置的源数据元素值的源数据元素的源数据元素位置;以及当没有源数据元素将具有等于结果数据元素的结果数据元素位置的源数据元素值时,为替代值。

【技术特征摘要】
【国外来华专利技术】2015.09.25 US 14/865,6961.一种处理器,包括:解码单元,用于对数据元素重布置指令解码,所述指令用于指示将具有多个源数据元素的源紧缩数据操作数并用于指示目的地存储位置,所述多个源数据元素中的每个源数据元素都将具有源数据元素值和相对于所述源紧缩数据操作数的最低有效端的源数据元素位置;以及执行单元,与所述解码单元耦合,所述执行单元响应于所述指令,用于将结果紧缩数据操作数存储在所述目的地存储位置中,所述结果紧缩数据操作数将具有多个结果数据元素,每个结果数据元素都将具有结果数据元素值和相对于所述结果紧缩数据操作数的最低有效端的结果数据元素位置,其中,每个结果数据元素的结果数据元素值将是以下之一:等于最接近所述源紧缩数据操作数的一端的、将具有等于结果数据元素的结果数据元素位置的源数据元素位置的源数据元素值的源数据元素的源数据元素位置;以及当没有源数据元素将具有等于结果数据元素的结果数据元素位置的源数据元素值时,为替代值。2.如权利要求1所述的处理器,其中,所述源紧缩数据操作数将具有多组重复的源数据元素值,并且其中,对于每一组重复的源数据元素值,所述结果紧缩数据操作数用于存储重复的源数据元素值中的仅最高有效的源数据数据元素值的源数据元素位置。3.如权利要求1所述的处理器,其中,所述执行单元响应于所述指令,用于存储所述结果紧缩数据操作数,其中,所述源紧缩数据操作数的所述一端包括所述源紧缩数据操作数的最高有效端。4.如权利要求1所述的处理器,其中,所述执行单元响应于所述指令,用于存储所述结果紧缩数据操作数,其中,所述源紧缩数据操作数的所述一端包括所述源紧缩数据操作数的最低有效端。5.如权利要求1所述的处理器,其中,所述执行单元响应于所述指令,用于存储结果掩码操作数,所述结果掩码操作数将具有各自都将对应于结果数据元素中的一个不同结果数据元素的多个掩码元素。6.如权利要求5所述的处理器,其中,所述执行单元响应于所述指令,用于存储所述结果掩码操作数,在所述结果掩码操作数中:将对应于将等于源数据元素位置的结果数据元素值的每个掩码元素将具有第一值;并且将对应于将具有替代值的结果数据元素值的每个掩码元素将具有不同的第二值。7.如权利要求5所述的处理器,其中,每个掩码元素将仅包括单个位。8.如权利要求5所述的处理器,其中,所述执行单元响应于所述指令,用于将所述结果掩码操作数存储在掩码寄存器中,并且其中,包括所述数据元素重布置指令的指令集中的多条其他指令用于指定用于预测操作数的掩码寄存器,所述预测操作数用于预测紧缩数据操作。9.如权利要求1所述的处理器,其中,所述执行单元响应于所述指令,用于存储所述结果紧缩数据操作数,所述结果紧缩数据操作数将具有至少一个结果数据元素,所述至少一个结果数据元素将具有将为替代值的结果数据元素值,其中,所述替代值将为负数,并且其中,不是替代值的其他结果数据元素值中无一将为负数。10.如权利要求1所述的处理器,其中,所述执行单元响应于所述指令,用于存储所述结果紧缩数据操作数,所述结果紧缩数据操作数将具有至少一个结果数据元素,所述至少一个结果数据元素将具有将为替代值的结果数据元素值,并且其中,所述替代值将包括零值。11.如权利要求1所述的处理器,其中,所述执行单元响应于所述指令,将存储所述结果紧缩数据操作数,所述结果紧缩数据操作数将具有将为替代值的结果数据元素值,并且其中,所述替代值将包括恰在所述指令的执行之前被存储在所述目的地存储位置中的对应位置中的数据元素的值。12.如权利要求1-11中的任一项所述的处理器,其中,所述执行单元响应于所述指令用于存储所述结果紧缩数据操作数,所述结果紧缩数据操作数将具有至少四个结果数据元素,所述至少四个结果数据元素包括将具有作为结果数据元素值的所述替代值的至少一个结果数据元素。13.如权利要求1-11中的任一项所述的处理器,其中,所述源数据元素中的每个源数据元素都包括整数索引,并且其中,每个索引在每个源数据元素的最低有效字节的最低阶的位子集中被表示。14.如权利要求1-11中的任一项所述的处理器,其中所述解码单元还用于对按索引聚...

【专利技术属性】
技术研发人员:C·J·休斯J·S·朴
申请(专利权)人:英特尔公司
类型:发明
国别省市:美国,US

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

1