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

用于产生按照数值顺序的连续整数的序列的处理器、方法、系统和指令技术方案

技术编号:10366833 阅读:155 留言:0更新日期:2014-08-28 10:48
一个方面的方法包括接收指示目的地存储位置的指令。响应于该指令,将结果存储在该目的地存储位置中。该结果包括按照数值顺序的至少四个连续非负整数的序列。在一个方面中,该指令指令未指示在架构可见存储位置中的具有多个打包数据元素的源打包数据操作数。公开了其他方法、装置、系统和指令。

【技术实现步骤摘要】
【国外来华专利技术】用于产生按照数值顺序的连续整数的序列的处理器、方法、系统和指令
技术介绍
抟术领域实施例涉及处理器。具体而言,实施例涉及具有指令集的处理器,该指令集包括使用控制索引的指令。背景信肩、许多处理器具有单指令多数据(SMD)架构。在SMD架构中,打包数据指令、向量指令或者SMD指令可同时或并行地对多个数据元素或者多对数据元素进行操作。处理器可具有并行执行硬件,该并行执行硬件响应于打包数据指令来同时或并行地执行多个操作。多个数据元素可在一个寄存器或存储器位置内被打包为打包数据或向量数据。在打包数据中,寄存器或者其他存储位置的位可逻辑地分成多个数据元素的序列。例如,256位宽打包数据寄存器可具有四个64位宽打包数据元素、八个32位宽打包数据元素、十六个16位宽打包数据元素等。每一打包数据元素可表示单独的各段数据(例如,像素的红色、绿色、蓝色或α颜色分量、或复数的实部或虚部等等),各段数据可单独地操作或与其他数据独立地操作。一些SMD架构具有用于根据控制索引在一个或多个源打包数据内灵活地重新安排打包数据元素的指令。此类指令的示例是置换指令和混洗指令。控制索引控制这些指令如何重新安排打包数据元素。【附图说明】通过参考用来说明本专利技术的实施例的以下描述和附图,可最好地理解本专利技术。在附图中:图1是用于处理可用来产生控制索引的指令的处理器的示例实施例的框图。图2是处理打包数据重新安排控制索引产生指令的示例实施例的方法的示例实施例的流程框图。图3是处理打包数据重新安排控制索引前体产生指令的示例实施例的方法的示例实施例的流程框图。图4是用于处理可用来产生控制索引的指令的指令处理装置的示例实施例的框图。图5是处理存储遵循数值模式的至少四个非负整数的序列的指令的方法的示例实施例的流程框图。图6是可用来产生控制索引的指令的指令格式的实施例的框图。图7Α是示出在一些实施例中通过指令存储的整数序列可具有主要或完全基于指令的操作码的数值模式的框图。图7Β是框图,示出在一些实施例中,通过指令存储的整数序列可具有部分地基于指令的操作码并且部分地基于由该指令指示的一个或多个数值模式限定参数的数值模式。图8是处理存储按照数值顺序的至少四个非负整数的序列的指令的方法的示例实施例的流程框图。图9是示出打包数据重新安排操作的示例实施例的框图,该打包数据重新安排操作使用具有按照数值顺序的偏移连续整数的值的打包数据重新安排控制索引,来从两个经对齐的打包数据中提取未对齐的打包数据以避免需要执行未对齐加载。图10是处理存储按照数值顺序的至少四个非负整数的序列的指令的方法的示例实施例的流程框图,其中连续位置中的所有整数相差至少为2的恒定整数跨度。图11是处理存储按照数值顺序的至少四个非负相同奇偶性(例如均为偶数或均为奇数)整数的序列的指令的方法的示例实施例的流程框图。图12是示出打包数据重新安排操作的示例实施例的框图,该打包数据重新安排操作使用打包数据重新安排控制索引以将实数(R)与虚数(頂)分开,该打包数据重新安排控制索引具有按照递增数值顺序的连续偶数的值。图13是处理存储按照数值顺序的至少四个整数的序列的指令的方法的示例实施例的流程框图,其中整数中的最小整数从零偏移一偏移量,并且其中连续位置中的所有整数彼此相差一跨度。图14是处理用于存储按照数值顺序的连续非负整数的序列的第一控制索引前体产生指令和向每一整数应用跨度和偏移量的第二指令的方法的示例实施例的流程框图。图15是存储红、绿、蓝、α四元数据的源打包数据的框图。图16是包括存储一个或多个整数序列的只读存储器(ROM)的处理器的示例实施例的框图。图17A是示出用于存储控制索引和控制索引前体的适当格式的第一示例实施例的框图。图17B是示出用于存储控制索引和控制索引前体的适当格式的第二示例实施例的框图。图18是一组合适的打包数据寄存器的示例实施例的框图。图19是包括存储可用来产生控制索引的指令的机器可读存储介质的制品的框图。图20A示出示例性AVX指令格式,包括VEX前缀、实操作码字段、Mod R/M字节、SIB字节、位移字段以及IMM8。图20B示出来自图20A的哪些字段构成完整操作码字段和基础操作字段。[0031 ] 图21A是示出根据本专利技术的实施例的通用向量友好指令格式及其A类指令模板的框图。图21B是示出根据本专利技术的实施例的通用向量友好指令格式及其B类指令模板的框图。图22是示出根据本专利技术的实施例的示例性专用向量友好指令格式的框图。图22B是示出根据本专利技术的实施例的构成完整操作码字段的具有专用向量友好指令格式的字段的框图。图22C是示出根据本专利技术的实施例的构成寄存器索引字段的具有专用向量友好指令格式的字段的框图。图22D是示出根据本专利技术的一个实施例的构成扩充(augmentation)操作字段的具有专用向量友好指令格式的字段的框图。图23是根据本专利技术的一个实施例的寄存器架构的框图。图24A是示出根据本专利技术的实施例的示例性有序流水线和示例性的寄存器重命名的无序发布/执行流水线二者的框图。图24B示出处理器核,该处理器核包括耦合到执行引擎单元的前端单元,并且两者耦合到存储器单元。图25A是根据本专利技术实施例的单处理器核连同其到管芯上互连网络的连接以及其2级(L2)高速缓存的本地子集的框图。图25B是根据本专利技术的实施例的图25A中的处理器核的一部分的展开图。图26是根据本专利技术实施例可具有一个以上的核、可具有集成存储器控制器以及可具有集成图形器件的处理器的框图。图27所示为根据本专利技术的一个实施例的系统的框图。图28所示为根据本专利技术的实施例的第一更具体示例性系统的框图。图29示出根据本专利技术的实施例的第二更具体的示例性系统的框图。图30示出根据本专利技术的实施例的SoC的框图。图31是根据本专利技术的实施例的对照使用软件指令转换器将源指令集中的二进制指令转换成目标指令集中的二进制指令的框图。【具体实施方式】在以下描述中,陈述了诸多特定细节(例如特定处理器、方法、操作、指令、数值模式以及数据格式)。然而,应当理解,本专利技术的各实施例可以在不具有这些具体细节的情况下得到实施。在其他实例中,未详细示出公知的电路、结构和技术以免混淆对本描述的理解。典型地,通过执行对具有源打包数据元素的源打包数据操作数进行操作的一系列通用指令,来从头开始渐进地建立用于置换指令和混洗指令的控制索引。例如,产生控制索引的方法的一部分可包括执行一系列通用打包数据算术指令以对源打包数据元素执行一系列打包数据算术操作,以将源打包数据元素最终转换为控制索引。趋向于限制置换和混洗指令以及笼统的其它打包数据重新安排指令的有用性的一个因素是为了产生置换控制索引、混洗控制索引或其它打包数据重新安排控制索引而通常需要按顺序执行的指令的数量。可能需要若干指令(例如大约4到10个指令或甚至更多指令)来产生一组控制索引。此外,所需的指令的数量一般趋向于随着打包数据元素的总数量增加而增加,由于打包数据寄存器的位宽增加,故随时间倾向于如此。执行这些指令趋向于在处理时间、处理器资源使用率以及功耗方面是昂贵的。此夕卜,这些花费趋向于减损或减少由打包数据重新安排指令提供的整体益处。在一些情况下,在已经产生和使用控制索引之后可能丢弃控制索引,在此情况下,如果需求出现,则可能需本文档来自技高网...
用于产生按照数值顺序的连续整数的序列的处理器、方法、系统和指令

【技术保护点】
一种方法,包括:接收指令,所述指令指示目的地存储位置;以及响应于所述指令,将结果存储在所述目的地存储位置中,所述结果包括按照数值顺序的至少四个连续非负整数的序列,其中所述指令未指示在架构可见存储位置中的具有多个打包数据元素的源打包数据操作数。

【技术特征摘要】
【国外来华专利技术】1.一种方法,包括: 接收指令,所述指令指示目的地存储位置;以及 响应于所述指令,将结果存储在所述目的地存储位置中,所述结果包括按照数值顺序的至少四个连续非负整数的序列, 其中所述指令未指示在架构可见存储位置中的具有多个打包数据元素的源打包数据操作数。2.如权利要求1所述的方法,其特征在于,接收所述指令包括接收打包数据重新安排控制索引产生指令,而存储所述结果包括存储按照数值顺序的所述至少四个连续非负整数作为至少四个相应的打包数据重新 安排控制索引。3.如权利要求1所述的方法,其特征在于,通过所述指令的操作码来决定存储按照数值顺序的所述连续非负整数。4.如权利要求1所述的方法,其特征在于,接收所述指令包括接收指示整数偏移量的指令,并且存储包括存储所述至少四个连续非负整数中的与零相差所述整数偏移量的最小整数。5.如权利要求1所述的方法,其特征在于,接收所述指令包括接收指示循环量的指令,并且存储所述结果包括存储至少四个连续非负整数的已循环所述循环量的经循环序列。6.如权利要求1所述的方法,其特征在于,接收所述指令包括接收未指示在架构可见存储位置中的源操作数的指令。7.如权利要求1所述的方法,其特征在于,存储所述结果包括存储按照数值顺序的至少8个连续非负整数的序列。8.如权利要求7所述的方法,其特征在于,存储所述结果包括存储按照数值顺序的至少32个连续非负整数的序列。9.如权利要求1所述的方法,其特征在于,存储所述结果包括在所述目的地存储位置中以从最低到最闻的顺序存储以下之一: O, I, 2,3,4,5, 6, 7 ;O, I, 2,3,4,5,6,7,8,9,10,11,12,13,14,15 ;O, I, 2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31 ;O, I, 2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47, 48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63 ; 7,6,5,4,3,2, I, O ;15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,O ;31,30,29,28,27,26,25,24,23,22,21,20,19,18,17,16,15,14,13,12,11,10,9,8,7,6,5,4, 3,2,1,0-MR63,62,61,60,59,58,57,56,55,54,53,52,51,50,49,48,47,46,45,44,43,42,41,40,39,38,37,36,35,34,33,32,31,30,29,28,27,26,25,24,23,22,21,20,19,18,17,16,15,14,13,12,11,10,9,8,7,6,5,4,3,2,I, O。10.如权利要求1所述的方法,其特征在于,还包括从与正在执行所述指令的执行单元一起位于管芯上的非架构可见存储位置访问所述至少四个连续非负整数。11.如权利要求1所述的方法,其特征在于,存储包括存储在执行所述指令之前已预先确定的至少四个连续非负整数的序列。12.如权利要求1所述的方法,其特征在于,进一步包括: 接收第二指令,所述第二指令指示所述结果、指示恒定整数跨度、指示整数偏移量、并指示第二目的地存储位置;以及 响应于所述第二指令将第二结果存储在所述第二目的地存储位置中,所述第二结果包括按照数值顺序的至少四个非负整数的序列,其中所述第二结果的所有连续整数相差所述恒定整数跨度,并且所述第二结果的所述整数中的最小整数与零相差所述整数偏移量。13.一种装置,包括: 目的地存储位置;以及 与所述目的地存储位置耦合的执行单元,所述执行单元用于,响应于指示所述目的地存储位置的指令,将结果存储在所述目的地存储位置中,所述结果包括按照数值顺序的至少四个连续非负整数的序列, 其中所述执行单元用于响应于未指示在架构可见的存储位置中的具有多个打包数据元素的源打包数据操作数的指令来存储所述结果。14.如权利要求13所 述的装置,其特征在于,所述指令包括打包数据重新安排控制索引产生指令,并且所述执行单元用于响应于所述打包数据重新安排控制索引产生指令来存储按照数值顺序的所述至少四个连续非负整数的序列作为至少四个相应的打包数据重新安排控制索引。15.如权利要求13所述的装置,其特征在于,所述指令的操作码决定所述执行单元存储按照数值顺序的所述连续非负整数。16.如权利要求13所述的装置,其特征在于,所述指令用于指示整数偏移量,并且所述执行单元用于响应于所述指令来存储所述至少四个连续非负整数中的与零相差所述整数偏移量的最小整数。17.如权利要求13所述的装置,其特征在于,所述指令用于指示整数循环量,并且所述执行单元用于响应于所述指令来存储所述至少四个连续非负整数的已循环所述循环量的经循环序列。18.如权利要求13所述的装置,其特征在于,所述指令未指示在架构可见的存储位置中的源操作数。19.如权利要求13所述的装置,其特征在于,所述执行单元用于响应于所述指令来存储按照数值顺序的至少8个连续非负整数的序列。20.如权利要求13所述的装置,其特征在于,所述执行单元用于响应于所述指令来存储按照数值顺序的至少32个连续非负整数的序列。21.如权利要求13所述的装置,其特征在于,所述执行单元用于响应于所述指令以从最低...

【专利技术属性】
技术研发人员:S·阿布拉罕E·乌尔德阿迈德瓦尔R·凡伦天Z·斯波伯A·格雷德斯廷
申请(专利权)人:英特尔公司
类型:发明
国别省市:美国;US

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

1