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

用于将寄存器的内容广播到另一个寄存器的数据元素位置的系统、装置和方法制造方法及图纸

技术编号:12028993 阅读:255 留言:0更新日期:2015-09-10 14:39
响应于包括源写掩码寄存器操作数、目的地向量寄存器操作数和操作码的单个向量紧缩广播指令在计算机处理器中执行广播数据的系统、设备和方法。在一些实施例中,在广播之前对源写掩码寄存器的数据进行零扩展。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术的领域一般涉及计算机处理器架构,更具体地涉及在执行时导致特定结果 的指令。
技术介绍
指令集或指令集架构(ISA)是计算机架构中与编程有关的部分,并且可包括原生 数据类型、指令、寄存器架构、寻址模式、存储器架构、中断和异常处理、以及外部输入和输 出(I/O)。应该注意,术语指令在本文中一般是指宏指令一一即,提供给处理器供执行的指 令一一而不是由处理器的解码器解码宏指令所产生的微指令或微操作。 指令集架构与微架构不同,微架构是实现ISA的处理器的内部设计。具有不同 的微架构的处理器可共享共同的指令集。例如,英特尔Pentium(奔腾)4处理器、英特尔 Core (酷眷)处理器、以及位于Sunnyvale CA的Advanced Micro Devices公司的处理器 实现x86指令集的几乎相同的版本(带有被添加到较新的版本中的某些扩展),但是,具有 不同的内部设计。例如,ISA的相同寄存器架构可以使用已知的技术,以不同的微型架构, 以不同的方式来实现,包括专用物理寄存器,使用寄存器重命名机制(例如,寄存器别名表 (RAT)的使用,重新排序缓冲器(ROB)以及退役寄存器文件,如美国专利No. 5, 446, 912所描 述的;使用多个图以及寄存器的池,如美国专利No. 5, 207, 132所描述的)的一个或多个动 态地分配的物理寄存器,等等。除非另作说明,短语寄存器架构、寄存器组以及寄存器是指 对软件/编程器以及指令指定寄存器的方式可见的东西。在需要特殊性的情况下,形容词 逻辑、架构、或软件可见的将用于表示寄存器架构中的寄存器/寄存器组,而不同的形容词 将用于指定给定微架构中的寄存器(例如,物理寄存器、重新排序缓冲器、引退寄存器、寄 存器池)。 指令集包括一个或多个指令格式。给定指令格式定义各个字段(位的数量、位的 位置)以指定要执行的操作(操作码)以及对其要执行该操作的操作数等。给定指令是使 用给定指令格式来表达的,并指定操作和操作数。指令流是特定指令序列,其中该序列中的 每一指令都是指令格式的指令出现。 科学、金融、自动向量化的通用、RMS(识别、挖掘以及合成)/可视和多媒体应用程 序(例如,2D/3D图形、图像处理、视频压缩/解压缩、语音识别算法和音频操纵)常常需要 对大量的数据项执行相同操作(被称为"数据并行性")。单指令多数据(SMD)是指使处理 器对多个数据项执行相同操作的一种指令。SMD技术特别适于能够在逻辑上将寄存器中的 位分割为若干个固定尺寸的数据元素的处理器,其中每一个数据元素都表示单独的值。例 如,64位寄存器中的位可被指定为作为四个单独的16位数据元素的、将对其操作的源操作 数,每一个数据元素都表示单独的16位值。作为另一个示例,256位寄存器中的位可被指定 为作为四个单独的64位紧缩数据元素(四字(?尺寸的数据元素)、八个单独的32位紧缩 数据元素(双字(D)尺寸的数据元素)、十六个单独的16位紧缩数据元素(字(W)尺寸的 数据元素)、或三十二个单独的8位数据元素(字节(B)尺寸的数据元素)的、将对其操作 的源操作数。这种类型的数据被称为紧缩数据类型或向量数据类型,这种数据类型的操作 数被称为紧缩数据操作数或向量操作数。换句话说,紧缩数据项或向量指的是紧缩数据元 素的序列;并且紧缩数据操作数或向量操作数是SMD指令(也称为紧缩数据指令或向量指 令)的源操作数或目的地操作数。 作为示例,一种类型的SMD指令指定要以纵向方式对两个源向量操作数执行的 单个向量操作,以生成相同尺寸的、具有相同数量的数据元素、且有相同数据元素顺序的目 的地向量操作数(也称为结果向量操作数)。源向量操作数中的数据元素被称为源数据元 素,而目的地向量操作数中的数据元素被称为目的地或结果数据元素。这些源向量操作数 具有相同的尺寸,并包含相同宽度的数据元素,因此它们包含相同数量的数据元素。两个源 向量操作数中的相同的位的位置中的源数据元素形成数据元素对(也称为相对应的数据 元素;即,每个源操作数的数据元素位置〇中的数据元素相对应,每个源操作数的数据元素 位置1中的数据元素相对应,以此类推)。分别地对这些源数据元素对中的每一对执行由该 SMD指令所指定的操作,以生成匹配数量的结果数据元素,如此,每一对源数据元素都具有 对应的结果数据元素。由于操作是纵向的,并且由于结果向量操作数尺寸相同、具有相同数 量的数据元素、且结果数据元素以与源向量操作数相同的数据元素顺序来存储,因此,结果 数据元素处于与其对应的源数据元素对在源向量操作数中的位置相同的,结果向量操作数 的位的位置处。除此示例性类型的SMD指令之外,还有各种其他类型的SMD指令(例如, 仅有一个或具有两个以上的源向量操作数的SMD指令;以水平方式操作的SMD指令;生 成不同尺寸的结果向量操作数的SIMD指令;具有不同尺寸的数据元素的SIMD指令;和/或 具有不同的数据元素顺序的SIMD指令)。应该理解,术语目的地向量操作数摂(或目的地 操作数)被定义为执行由指令所指定的操作的直接结果,包括将该目的地操作数存储在某 一位置(寄存器或在由该指令所指定的存储器地址),以便它可以作为源操作数由另一指 令访问(由另一指令指定该同一个位置)。诸如由具有包括 x86、MMX?、流式 SMD 扩展(SSE)、SSE2、SSE3、SSE4. 1 以及 SSE4. 2 指令的指令集的Intel?Core?处理器使用的技术之类的SMD技术,在应用性能方面实现了 显著的改善(Core?和MMX?是位于加利福尼亚州Santa Clara的Intel Corporation的注 册商标或商标。)。称为高级向量扩展(AVX) (AVX1和AVX2)又使用VEX编码方案的额外的 SMD扩展集已经被发布或出版(例如,参见2011年10月的丨ntel?64和IA-32架构软件 开发手册,并且参见2011年6月的丨ntel?高级向量扩展编程参考)。【附图说明】 本专利技术在附图中作为示例而非限制地示出,其中类似的附图标记指示相似的元 件,附图中: 图1示出VPTESTCONF的操作的示例性图示。 图2示出处理器中VPTESTCONF指令的执行的实施例。 图3示出用于处理VPTESTCONF指令的方法的实施例。 图4示出用于广播的示例性过程。 图5示出VPBROADCASTM的操作的示例性图示。 图6示出处理器中VPBROADCASTM指令的执行的实施例。 图7示出处理VPBROADCASTM指令的方法的实施例。 图8示出根据本专利技术的一个实施例的一个有效位向量写掩码元素的数量同向量 尺寸和数据元素尺寸之间的相关性。 图9是根据本专利技术的一个实施例的寄存器架构900的框图。 图10A是示出根据本专利技术的各实施例的示例性有序流水线和示例性的寄存器重 命名的无序发布/执行流水线的框图。 图10B是示出根据本专利技术的各实施例的要包括在处理器中的有序架构核的示例 性实施例和示例性的寄存器重命名的无序发布/执行架构核的框图。 图11A-B示出了更具体的示例性有序核架构的框图,该核将是芯片中的若干逻辑 块之一(包括相同类型和/或不同类型的其他核)。 图12是根据本专利技术的各实施例可能具有本文档来自技高网...
<a href="http://www.xjishu.com/zhuanli/55/CN104903867.html" title="用于将寄存器的内容广播到另一个寄存器的数据元素位置的系统、装置和方法原文来自X技术">用于将寄存器的内容广播到另一个寄存器的数据元素位置的系统、装置和方法</a>

【技术保护点】
一种响应于单个向量紧缩冲突测试指令在计算机处理器中执行向量紧缩冲突测试的方法,所述向量紧缩冲突测试指令包括源写掩码寄存器操作数、源向量寄存器操作数、目的地写掩码寄存器操作数和操作码,所述方法包括以下步骤:执行单个向量紧缩冲突测试指令,以:将来自源写掩码操作数的数据与源向量寄存器操作数的每个数据元素进行逻辑AND,判断逻辑AND操作中的哪些指示冲突以形成冲突检查结果,以及将冲突检查结果与来自源掩码操作数的数据进行逻辑AND;以及将冲突检查结果与来自源掩码操作数的数据的逻辑AND的结果存储到目的地写掩码寄存器操作数中。

【技术特征摘要】
【国外来华专利技术】...

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

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

1