[发明专利]用于在SIMD/向量执行中传播有条件估算值的装置和方法有效
申请号: | 201180075829.2 | 申请日: | 2011-12-23 |
公开(公告)号: | CN104011649B | 公开(公告)日: | 2018-10-09 |
发明(设计)人: | J·巴拉德瓦杰;N·万苏德范;V·W·李;D·金;A·哈特诺;S·S·巴格索克希 | 申请(专利权)人: | 英特尔公司 |
主分类号: | G06F9/06 | 分类号: | G06F9/06;G06F9/30 |
代理公司: | 上海专利商标事务所有限公司 31100 | 代理人: | 张欣 |
地址: | 美国加利*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 simd 向量 执行 传播 有条件 估算 装置 方法 | ||
1.一种用于传播有条件估算值的方法,包括以下操作:
读取包含在输入掩码寄存器中的每个值,每个值为真值或假值且具有与之相关联的位位置;
对于从所述输入掩码寄存器读取的每个真值,产生包含所述真值的位位置的第一结果;
对于从所述输入掩码寄存器读取的跟随第一真值的每个假值,将所述输入掩码寄存器的向量长度加上从所述输入掩码寄存器读取的上一真值的位位置,产生第二结果;以及
将所述第一结果和第二结果的每一个存储在和从所述输入掩码寄存器读取的位位置相对应的输出寄存器的位位置中。
2.如权利要求1所述的方法,其特征在于,还包括:
对于从所述输入掩码寄存器读取的在所述第一真值前的每个假值,产生包含所述假值的位位置的第三结果;以及
将所述第三结果的每一个存储在和从所述输入掩码寄存器读取的位位置相对应的所述输出寄存器的位位置中。
3.如权利要求1所述的方法,其特征在于,还包括:
读取立即数值,且仅当所述立即数值被设为第一值时,执行所述操作。
4.如权利要求3所述的方法,其特征在于,如果所述立即数值没有被设为所述第一值,则执行第二组操作。
5.如权利要求4所述的方法,其特征在于,所述第二组操作包括:
读取包含在所述输入掩码寄存器中的每个值,每个值为真值或假值且具有与之相关联的位位置;
对于从所述输入掩码寄存器读取的每个真值,产生包含所述真值的位位置加上所述向量长度的第三结果;以及
将所述第三结果的每一个存储在和从所述输入掩码寄存器读取的位位置相对应的所述输出寄存器的位位置中。
6.如权利要求5所述的方法,其特征在于,还包括:
对于从所述输入掩码寄存器读取的跟随所述第一真值的每个假值,将所述第三结果的每一个存储在所述输出寄存器中。
7.如权利要求6所述的方法,其特征在于,还包括:
对于从所述输入掩码寄存器读取的在所述第一真值之前的每个假值,将从所述输入掩码寄存器读取的假值的位位置存储在所述输出寄存器中所述输出寄存器的对应位位置处。
8.一种处理器,包括:
解码单元,被配置为用于解码指令;和
执行单元,其耦合至所述解码单元,并且可用于响应于所述指令而:
a)读取包含在输入掩码寄存器中的每个值,每个值为真值或假值且具有与之相关联的位位置;
b)对于从所述输入掩码寄存器读取的每个真值,产生包含所述真值的位位置的第一结果;
c)对于从所述输入掩码寄存器读取的跟随第一真值的每个假值,将所述输入掩码寄存器的向量长度加上从所述输入掩码寄存器读取的上一真值的位位置,产生第二结果;以及
d)将所述第一结果和第二结果的每一个存储在和从所述输入掩码寄存器读取的位位置相对应的输出寄存器的位位置中。
9.如权利要求8所述的处理器,其特征在于,所述执行单元进一步可用于:
对于从所述输入掩码寄存器读取的在所述第一真值前的每个假值,产生包含所述假值的位位置的第三结果;以及
将所述第三结果的每一个存储在和从所述输入掩码寄存器读取的位位置相对应的所述输出寄存器的位位置中。
10.如权利要求8所述的处理器,其特征在于,所述执行单元进一步可用于:
读取立即数值,且仅当所述立即数值被设为第一值时,执行所述a)-d)。
11.如权利要求10所述的处理器,其特征在于,如果所述立即数值没有被设为所述第一值,则所述执行单元可用于执行第二组操作。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于英特尔公司,未经英特尔公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201180075829.2/1.html,转载请声明来源钻瓜专利网。