[发明专利]使用索引阵列和有限状态机的分散有效
| 申请号: | 201280072904.4 | 申请日: | 2012-06-02 |
| 公开(公告)号: | CN104303142B | 公开(公告)日: | 2019-03-08 |
| 发明(设计)人: | Z·斯波伯;R·凡伦天;S·赖肯;S·什沃茨曼;G·奥菲尔;I·亚诺弗;G·帕特金;O·利维 | 申请(专利权)人: | 英特尔公司 |
| 主分类号: | G06F9/06 | 分类号: | G06F9/06;G06F9/30;G06F9/305 |
| 代理公司: | 上海专利商标事务所有限公司 31100 | 代理人: | 张欣 |
| 地址: | 美国加利*** | 国省代码: | 美国;US |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 使用 索引 阵列 有限状态机 分散 | ||
1.一种用于聚集和分散的计算机实现的方法,包括:
从一个或多个寄存器将一组索引和相应的一组掩码元素复制到索引阵列;
至少针对具有第一值的每个相应掩码元素根据所述索引阵列中的该组索引生成一组地址;
在缓冲器中为所生成的该组地址中的每个地址分配存储;
将对应于所生成的该组地址的一组数据元素复制到所述缓冲器;以及
如果相应的掩码元素具有所述第一值,则访问该组地址中的地址以存储相应的数据元素;以及
响应于其相应存储的完成而将相应掩码元素的值从所述第一值改变为第二值。
2.如权利要求1所述的计算机实现的方法,其响应于单指令多数据SIMD分散指令而被执行。
3.如权利要求2所述的计算机实现的方法,所述将该组索引和相应的该组掩码元素复制到所述索引阵列的步骤是响应于通过解码所述单指令多数据SIMD分散指令生成的第一微操作而执行的。
4.如权利要求3所述的计算机实现的方法,所述将该组数据元素复制到所述缓冲器的步骤是响应于通过解码所述单指令多数据SIMD分散指令生成的一组微操作中的第二微操作而执行的。
5.如权利要求4所述的计算机实现的方法,还包括:
响应于所述单指令多数据SIMD分散指令,初始化有限状态机以扩展该组微操作来与其他指令的执行并发地分散-存储数据。
6.如权利要求5所述的计算机实现的方法,所述初始化有限状态机以扩展该组微操作来与其他指令的执行并发地分散-存储数据的步骤是响应于通过解码所述单指令多数据SIMD分散指令生成的一组微操作中的第三微操作而执行的。
7.如权利要求5所述的计算机实现的方法,所述根据所述索引阵列中的该组索引生成一组地址的步骤是响应于通过解码所述单指令多数据SIMD分散指令生成的一组微操作中的第三微操作而执行的。
8.如权利要求7所述的计算机实现的方法,所述响应于其相应加载的完成而将相应掩码元素的值从所述第一值改变为所述第二值的步骤是响应于通过解码所述单指令多数据SIMD聚集指令生成的该组微操作中的第四微操作而执行的。
9.一种用于聚集和分散的装置,包括:
索引阵列,用于存储来自第一单指令多数据SIMD寄存器的一组索引以及相应的一组掩码元素;
有限状态机FSM,其操作地耦合于所述索引阵列以使用该组索引和相应的掩码元素来促成分散操作;
地址生成逻辑,其响应于所述有限状态机FSM至少针对具有第一值的每个相应掩码元素根据所述索引阵列中的该组索引中的索引生成地址;
缓冲器,其用于存储与所生成的地址相对应的一组数据元素;
存储器访问单元,其操作地耦合于所述地址生成逻辑,用于访问与所生成的第一地址相对应的第一存储器位置以从所述缓冲器存储与所生成的所述第一地址相对应的第一数据元素;以及
所述有限状态机FSM将相应掩码元素的值从所述第一值改变为第二值。
10.如权利要求9所述的装置,其对单指令多数据SIMD分散指令做出响应。
11.如权利要求10所述的装置,还包括:
解码逻辑,用于解码所述单指令多数据SIMD分散指令并响应于解码所述单指令多数据SIMD分散指令而生成一组微操作。
12.如权利要求11所述的装置,响应于所述单指令多数据SIMD分散指令,所述有限状态机FSM扩展该组微操作以与其他指令的执行并发地分散-存储数据。
13.如权利要求12所述的装置,其中初始化所述索引阵列以存储该组索引和相应的该组掩码元素是响应于通过解码所述单指令多数据SIMD分散指令生成的该组微操作中的第一微操作而执行的。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于英特尔公司,未经英特尔公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201280072904.4/1.html,转载请声明来源钻瓜专利网。





