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

用于执行写掩码寄存器到向量寄存器中的一系列索引值的转换的系统、装置和方法制造方法及图纸

技术编号:10514714 阅读:178 留言:0更新日期:2014-10-08 14:43
描述了用于在计算机处理器中响应于单个向量打包的将掩码寄存器转换成一系列索引值的指令而执行将掩码寄存器转换成一系列索引值的系统、装置和方法的实施例,其中该单个向量打包的将掩码寄存器转换成一系列索引值的指令包括目的地向量寄存器操作数、源写掩码寄存器操作数以及操作码。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术的领域一般涉及计算机处理器架构,更具体地涉及在执行时导致特定结果的指令。
技术介绍
指令集或指令集架构(ISA)是计算机架构中与编程有关的部分,并且可包括原生数据类型、指令、寄存器架构、寻址模式、存储器架构、中断和异常处理、以及外部输入和输出(I/O)。术语指令在本申请中一般表示宏指令,宏指令是被提供给处理器(或指令转换器,该指令转换器(利用静态二进制转换、包括动态编译的动态二进制转换)转换、变形、仿真或以其他方式将指令转换成将由处理器处理的一个或多个其他指令)以供执行的指令——作为对比,微指令或微操作(微操作)是处理器的解码器解码宏指令的结果。ISA与微架构不同,微架构是实现该指令集的处理器的内部设计。具有不同微架构的处理器可共享共同的指令集。例如,奔腾四(Pentium4)处理器、酷睿(CoreTM)处理器、以及来自加利福尼亚州桑尼威尔(Sunnyvale)的超微半导体有限公司(AdvancedMicroDevices,Inc.)的诸多处理器执行几乎相同版本的x86指令集(在更新的版本中加入了一些扩展),但具有不同的内部设计。例如,在不同的微架构中可使用公知的技术以不同方法来实现ISA的相同寄存器架构,这些技术包括专用物理寄存器、使用寄存器重命名机制(诸如,使用寄存器别名表(RAT)、重排序缓冲器(ROB)、以及引退寄存器组;使用多个映射和寄存器池)的一个或多个动态分配的物理寄存器、等等。在本申请中使用短语寄存器架构、寄存器组以及寄存器来表示软件/编程者可见的寄存器和指令指定寄存器的方式,除非另外指定。在需要特殊性的场合,将使用定语逻辑的、架构的或软件可见的来指示寄存器架构中的寄存器/寄存器组,同时不同的定语将用于指示给定微架构中的寄存器(例如物理寄存器、重排序缓冲器、引退寄存器、寄存器池)。指令集包括一个或多个指令格式。给定指令格式定义多个字段(位的数量、位的位置等)以指定将要被执行的操作(操作码)以及该操作将要执行的操作数等等。通过定义指令模板(或子格式),一些指令格式被进一步分解。例如,可将给定指令格式的指令模板定义成具有该指令格式的字段的不同子集(所包括的字段通常是相同顺序,但至少一些由于包括更少的字段而具有不同的位位置)和/或定义成对给定字段的解释不同。因此,利用给定指令格式(而且如果定义,则按照该指令格式的指令模板中的给定一个模板)来表达ISA的每个指令,并且ISA的每个指令包括用于指定其操作和操作数的字段。例如,示例性的ADD(加法)指令具有特定的操作码和指令格式,该指令格式包括用于指定该操作码的操作码字段和用于选择操作数(源1/目的地和源2)的操作数字段;并且该ADD指令在指令流中的出现将具有在操作数字段中的特定内容,该特定内容选择特定操作数。科学应用、金融应用、自动向量化通用应用、RMS(识别、挖掘和合成)应用以及可视和多媒体应用(诸如,2D/3D图形、图像处理、视频压缩/解压缩、语音识别算法和音频处理)通常需要对大量数据项执行相同的操作(称为“数据并行化”)。单指令多数据(SIMD)指的是使得处理器对多个数据项执行一操作的一种类型的指令。SIMD技术尤其适用于将寄存器中的多个位逻辑地划分成多个固定尺寸的数据元素的处理器,其中每个数据元素表示单独的值。例如,可将256位寄存器中的位指定为要进行操作的源操作数,作为4个单独的64位打包数据元素(四字(Q)尺寸数据元素)、8个单独的32位打包数据元素(双字(D)尺寸数据元素)、16个单独的16位打包数据元素(字(W)尺寸数据元素)、或32个单独的8位数据元素(字节(B)尺寸数据元素)。该数据类型可被称为打包数据类型或向量数据类型,并且该数据类型的操作数被称为打包数据操作数或向量操作数。换句话说,打包数据项或向量指的是打包数据元素的序列,而打包数据操作数或向量操作数是SIMD指令(或称为打包数据指令或向量指令)的源操作数或目的地操作数。作为示例,一种类型的SIMD指令指定了将要以纵向方式对两个源向量操作数执行的单个向量操作,用于生成具有相同尺寸的、具有相同数量的数据元素的并且按照相同数据元素次序的目的地向量操作数(也被称为结果向量操作数)。源向量操作数中的数据元素被称为源数据元素,而目的地向量操作数中的数据元素被称为目的地或结果数据元素。这些源向量操作数具有相同尺寸并且包含相同宽度的数据元素,因此它们包含相同数量的数据元素。两个源向量操作数中的相同位位置中的源数据元素形成数据元素对(也称为相应的数据元素;即,每个源操作数的数据元素位置0中的数据元素相对应,每个源操作数中的数据元素位置1中的数据元素相对应,以此类推)。对这些源数据元素对中的每一个分别执行该SIMD指令指定的操作,以产生匹配数量的结果数据元素,并且因此每一对源数据元素具有相应的结果数据元素。由于该操作是纵向的,且由于结果向量操作数是相同尺寸、具有相同数量的数据元素并且结果数据元素按照与源向量操作数相同的数据元素顺序被存储,所以结果数据元素处于结果向量操作数中与源向量操作数中的它们相应的源数据元素对相同的位位置中。除了这种示例性类型的SIMD指令之外,存在各种各样其他类型的SIMD指令(例如仅具有一个源向量操作数或具有超过两个源向量操作数、以横向方式操作、产生不同尺寸的结果向量操作数、具有不同尺寸的数据元素和/或具有不同的数据元素次序的SIMD指令)。应当理解,术语目的地向量操作数(或目的地操作数)被定义为执行由指令指定的操作的直接结果,包括将该目的地操作数存储在一位置处(可以是由该指令指定的寄存器或存储器地址处),使得它可作为源操作数由另一指令访问(通过该另一指令指定同一位置)。诸如具有包括x86、MMXTM、流式SIMD扩展(SSE)、SSE2、SSE3、SSE4.1以及SSE4.2指令的指令集的CoreTM处理器所采用的SIMD技术之类的SIMD技术已经实现了应用性能的重大改进。已经推出和/或发布了被称为高级向量扩展(AVX)(AVX1和AVX2)和利用向量扩展(VEX)编码方案的附加的SIMD扩展集(参见例如2011年10月的64和IA-32架构软件开发者手册;以及参见2011年6月的高级向量扩展编程参考)。附图简述本专利技术是通过示例说明的,而不仅局限于各个附图的图示,在附图中,类似的参考标号表示类似的元件,其中:图1示本文档来自技高网...
<a href="http://www.xjishu.com/zhuanli/55/201180076290.html" title="用于执行写掩码寄存器到向量寄存器中的一系列索引值的转换的系统、装置和方法原文来自X技术">用于执行写掩码寄存器到向量寄存器中的一系列索引值的转换的系统、装置和方法</a>

【技术保护点】
一种用于在计算机处理器中响应于单个向量打包的将掩码寄存器转换成一系列索引值的指令而执行将掩码寄存器转换成一系列索引值的方法,所述单个向量打包的将掩码寄存器转换成一系列索引值的指令包括目的地向量寄存器操作数、源写掩码寄存器操作数以及操作码,所述方法包括以下步骤:执行所述单个向量打包的将掩码寄存器转换成一系列索引值的指令,以标识将所述源写掩码寄存器的哪些有效位位置作为索引值存储在所述目的地向量寄存器中;以及在所述目的地向量寄存器中存储所述索引值,其中对于每个打包数据元素位置仅存储一个索引值。

【技术特征摘要】
【国外来华专利技术】1.一种用于在计算机处理器中响应于单个向量打包的将掩码寄存器转换
成一系列索引值的指令而执行将掩码寄存器转换成一系列索引值的方法,所述
单个向量打包的将掩码寄存器转换成一系列索引值的指令包括目的地向量寄
存器操作数、源写掩码寄存器操作数以及操作码,所述方法包括以下步骤:
执行所述单个向量打包的将掩码寄存器转换成一系列索引值的指令,以标
识将所述源写掩码寄存器的哪些有效位位置作为索引值存储在所述目的地向
量寄存器中;以及
在所述目的地向量寄存器中存储所述索引值,其中对于每个打包数据元素
位置仅存储一个索引值。
2.如权利要求1所述的方法,其特征在于,要作为索引值被存储的位位
置具有值1。
3.如权利要求1所述的方法,其特征在于,所述操作码定义所述目的地
寄存器的打包数据元素尺寸。
4.如权利要求3所述的方法,其特征在于,所述源写掩码寄存器中的有
效写掩码位的数量是以位表示的所述目的地寄存器的尺寸除以所述目的地寄
存器的打包数据元素尺寸。
5.如权利要求1所述的方法,其特征在于,并行地执行在每个有效位位
置中存储的值的确定。
6.如权利要求1所述的方法,其特征在于,所述源写掩码寄存器是16位
或64位。
7.如权利要求1所述的方法,其特征在于,所述目的地向量寄存器的尺

\t寸是128位、256位或512位。
8.如权利要求1所述的方法,其特征在于,所述执行步骤包括:
确定所述源写掩码寄存器的有效位的数量;以及
对于所述源写掩码寄存器的每个有效位位置,
判断所述源写掩码寄存器的有效位位置中的值是否是1,
如果所述源写掩码寄存器的有效位位置的值是1,则将所述位位置作
为索引写入目的地向量寄存器的未使用的打包数据元素位置。
9.如权利要求1所述的方法,其特征在于,进一步包括:
将所有未使用的打包数据元素位置均设置为1。
10.一种制品,包括:
有形的机器可读存储介质,其上存储有指令的出现,其中所述指令的格式
将写掩码寄存器指定为其源操作数,并将单个目的地向量寄存器指定为其目的
地,并且其中所述指令格式包括操作码,所述操作码指令一机器响应于所述单
个指令的单次出现而导致:标识将源写掩码寄存器中的哪些有效位位置作为索
引值存储在目的地向量寄存器中;以及将索引值存储在目的地向量寄存器中,

【专利技术属性】
技术研发人员:E·乌尔德阿迈德瓦尔T·威尔豪姆T·G·德赖斯代尔
申请(专利权)人:英特尔公司
类型:发明
国别省市:美国;US

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

1