[发明专利]用于实现高效同步和并行归约操作的向量指令有效
申请号: | 201410196526.1 | 申请日: | 2009-03-27 |
公开(公告)号: | CN103970506B | 公开(公告)日: | 2017-07-14 |
发明(设计)人: | M·斯密尔安斯基;S·库玛;D·金;V·W·李;A·D·恩古耶;Y-K·陈;C·休格斯;C·金;J·查乌加尼 | 申请(专利权)人: | 英特尔公司 |
主分类号: | G06F9/30 | 分类号: | G06F9/30;G06F9/38 |
代理公司: | 上海专利商标事务所有限公司31100 | 代理人: | 何焜 |
地址: | 美国加利*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 实现 高效 同步 并行 操作 向量 指令 | ||
1.一种处理器,包括:
第一逻辑单元,用于处理加载和存储指令;以及
第二逻辑单元,用于处理聚集和分散指令,所述第二逻辑单元用于接收第一向量指令、各自至具有包括多个数据元素的向量的相应数据元素的存储位置的多个地址、以及与所述向量相关联的掩码信息,并且用于加载从与所述多个地址中由所述掩码信息指示的每个地址相对应的存储位置获得的数据元素,以及用于预留所述存储位置。
2.如权利要求1所述的处理器,其特征在于,所述第二逻辑单元用于用与所述数据元素中未成功获得的每个数据元素相对应的无效指示符来更新所述掩码信息。
3.如权利要求2所述的处理器,其特征在于,所述第二逻辑单元用于加载和预留与成功获得的数据元素相对应的多个数据元素的子集。
4.如权利要求1所述的处理器,其特征在于,所述第二逻辑单元用于接收第二向量指令、各自至具有所述向量的相应数据元素的存储位置的第二多个地址、以及第二掩码信息,并且若与所述第二多个地址中由所述第二掩码信息指示的每个地址相对应的存储位置仍被预留,则将来自源存储的数据元素写入与所述第二多个地址中由所述第二掩码信息指示的每个地址相对应的存储位置。
5.如权利要求4所述的处理器,其特征在于,所述第二逻辑单元用于用与所述存储位置中不再被预留的每个存储位置相对应的无效指示符从所述第二掩码信息生成输出掩码。
6.如权利要求1所述的处理器,其特征在于,所述预留的存储位置将由以后的指令使用。
7.如权利要求1所述的处理器,其特征在于,所述第二逻辑单元包括:
控制逻辑单元;
掩码存储单元,用于存储所述掩码信息;以及
向量存储单元,用于存储被加载的数据元素。
8.如权利要求7所述的处理器,其特征在于,所述第二逻辑单元包括混洗逻辑单元,所述混洗逻辑单元用于混洗所述向量存储单元中存储的数据元素。
9.如权利要求8所述的处理器,其特征在于,所述第二逻辑单元进一步用于接收所述向量存储单元中的用于存储所述数据元素的目的地。
10.一种用于实现同步和并行归约操作的处理器,包括:
单指令多数据(SIMD)单元,用于响应于单条指令对多个数据元素执行操作;以及
掩码存储单元,用于存储一个或多个掩码;以及
耦合到所述单指令多数据(SIMD)单元的控制单元,用于向所述单指令多数据(SIMD)单元提供所述多个数据元素,其中所述控制单元使得能响应于要在第一掩码下执行的向量链接聚集指令和要在第二掩码下执行的向量条件分散指令,对所述多个数据元素中的至少一些数据元素执行原子单指令多数据(SIMD)操作。
11.如权利要求10所述的处理器,其特征在于,所述控制单元用于,响应于所述向量链接聚集指令,根据与所述第一掩码相对应的输入掩码从第一存储器位置获得所述多个数据元素并预留所述第一存储器位置。
12.如权利要求11所述的处理器,其特征在于,所述控制单元用于将所述第一存储器位置预留给以后的单指令多数据(SIMD)指令。
13.如权利要求11所述的处理器,其特征在于,所述向量条件分散指令用于根据与所述第二掩码相对应的输入掩码将来自源位置的第二多个数据元素存储到被预留的所述第一存储器位置,并且其中所述向量链接聚集指令通过如下方式导致产生所述第二掩码:聚集和链接所述第一存储器位置的子集,并将第一掩码的相应位设为有效状态,并且将失败的元素相应的掩码位设置为无效状态。
14.如权利要求10所述的处理器,其特征在于,所述控制单元用于使得所述单指令多数据(SIMD)单元执行第三单指令多数据(SIMD)指令,以比较具有第二多个数据元素的第二向量并输出混洗控制以指示具有相同值的数据元素组,并且设置第三掩码的指示符以指示非唯一性的数据元素。
15.如权利要求10所述的处理器,其特征在于,所述控制单元使得所述单指令多数据(SIMD)单元执行第四单指令多数据(SIMD)指令以生成对具有第三多个数据元素的第三向量的相同元素的计数并将关于每个唯一性元素的计数存储在目的地存储中,并且进一步写入第四掩码的指示符以指示每个唯一性元素。
16.一种用于实现同步和并行归约操作的系统,包括:
处理器,包括逻辑单元,用于将向量掩码设置为有效状态并使用SIMD迭代进行向量索引信息的计算;以及发起循环直到所有单指令多数据元素已被更新,所述循环包括:
执行向量链接聚集指令以获得向量锁信息;
如果给定数据元素的锁不可用,并将用于所述不可用锁的相应向量掩码指示符设为无效状态;以及
替代地,如果给定数据元素的锁可用,则执行向量条件分散指令以关锁可用的数据元素,对子集数据元素执行SIMD更新,并执行向量分散指令以开锁经更新的数据元素;以及
耦合至所述处理器的动态随机存取存储器(DRAM)。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于英特尔公司,未经英特尔公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410196526.1/1.html,转载请声明来源钻瓜专利网。