[发明专利]对条件循环进行矢量化的装置、方法、处理器、处理系统以及机器可读介质有效
申请号: | 201310751526.9 | 申请日: | 2013-12-31 |
公开(公告)号: | CN103970509B | 公开(公告)日: | 2018-01-05 |
发明(设计)人: | T·尤里尔;E·乌尔德-阿迈德-瓦尔;B·L·托尔 | 申请(专利权)人: | 英特尔公司 |
主分类号: | G06F9/38 | 分类号: | G06F9/38 |
代理公司: | 上海专利商标事务所有限公司31100 | 代理人: | 毛力 |
地址: | 美国加利*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 条件 循环 进行 矢量 指令 逻辑 | ||
技术领域
本公开涉及处理逻辑、微处理器以及相关的指令集体系结构的领域,当这些指令集体系结构被处理器或其他处理逻辑所执行时运行逻辑、数学或其他功能性操作。特别是,本公开涉及提供用于条件循环的SIMD矢量化功能的指令和逻辑。
背景技术
目前的诸多处理器通常包括用于提供计算密集型操作但提供高度数据并行性的指令,这些指令可通过使用多种数据存储设备的高效实现来使用,这些数据存储设备诸如:单指令多数据(SIMD)矢量寄存器。在SIMD执行中,单指令同时在多个数据元素上操作。这通常是通过扩展诸如寄存器和算术逻辑单元(ALU)之类的多个资源的宽度从而允许它们分别保持或操作多个数据元素来实现的。
中央处理单元(CPU)可提供这类并行硬件以支持SIMD矢量处理。矢量是保持若干连续数据元素的数据结构。大小为L的矢量寄存器可包含N个矢量元素,该矢量元素的大小为M,其中N=L/M。例如,64字节矢量寄存器可被划分为:(a)64个矢量元素,每个元素保持占用1字节的数据项;(b)32个矢量元素,每个元素保持占用2字节(或称为:“字”)的数据项;(c)16个矢量元素,每个元素保持占用4 字节(或称为:“双字”)的数据项;或(d)8个矢量元素,每个元素保持占用8 字节(或称为:“四字”)的数据项。
许多应用具有大量的数据级并行性,并且能够受益于SIMD支持。为了维持SIMD 效率,一些体系结构不仅仅允许SIMD算是操作,也允许SIMD存储器读取和写入操作以及SIMD混洗和置换操作。然而,一些应用花费了极其多的时间用于对一组稀疏位置的操作。此外,有时候执行顺序和/或条件操作,这些操作仅仅从具有SIMD操作中获得了有限的优势。
例如,普林斯顿共享存储器计算机的应用程序库(Princeton Application Repository for Shared-Memory Computers,PARSEC)是包含有多线程程序的基准套件。该套件关注于新兴的工作负载,并被设计为代表了芯片多处理器的下代共享存储器程序。PARSEC程序之一是streamcluster,用于通过寻找预定量的中间件使得每个点可被指派给其最近的中央点而解决线上群集问题。该程序花费其大部分时间用于评价开设新群集的增益。并行增益计算被一称为pgain的函数所执行,该函数包括如下循环:
上述示例性循环示出了执行在存储器阵列上的条件操作,对其难以实现矢量化,并且在允许SIMD操作的处理器体系结构上得到了非常有限的优势。
目前,还没有充分探索针对这种性能限制问题、顺序和/或条件操作、以及其他瓶颈的潜在解决方案。
附图说明
在附图的各图中通过示例而非限制地示出本发明。
图1A是执行指令以提供用于条件循环的SIMD矢量化功能的系统的一个实施例的框图。
图1B是执行指令以提供用于条件循环的SIMD矢量化功能的系统的另一个实施例的框图。
图1C是执行指令以提供用于条件循环的SIMD矢量化功能的系统的另一个实施例的框图。
图2是执行指令以提供用于条件循环的SIMD矢量化功能的处理器的一个实施例的框图。
图3A示出根据一个实施例的打包数据类型。
图3B示出根据一个实施例的打包数据类型。
图3C示出根据一个实施例的打包数据类型。
图3D示出根据一个实施例的编码为条件循环提供SIMD矢量化功能的指令。
图3E示出根据另一个实施例的编码为条件循环提供SIMD矢量化功能的指令。
图3F示出根据另一个实施例的编码为条件循环提供SIMD矢量化功能的指令。
图3G示出根据另一个实施例的编码为条件循环提供SIMD矢量化功能的指令。
图3H示出根据另一个实施例的编码为条件循环提供SIMD矢量化功能的指令。
图4A是执行指令以提供用于条件循环的SIMD矢量化功能的处理器微体系结构的一个实施例的元素。
图4B示出了执行指令以提供用于条件循环的SIMD矢量化功能的处理器微体系结构的另一个实施例的元素。
图5是执行指令以提供用于条件循环的SIMD矢量化功能的处理器的一个实施例的框图。
图6是执行指令以提供用于条件循环的SIMD矢量化功能的计算机系统的一个实施例的框图。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于英特尔公司,未经英特尔公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310751526.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:新型家用儿童游泳池
- 下一篇:支撑臂液压升降式多自由度动态舞台