[发明专利]包括掩码上的数学操作的SIMD整数加法有效
| 申请号: | 201180069754.7 | 申请日: | 2011-03-30 |
| 公开(公告)号: | CN103460178B | 公开(公告)日: | 2017-05-31 |
| 发明(设计)人: | S·S·利亚林 | 申请(专利权)人: | 英特尔公司 |
| 主分类号: | G06F7/505 | 分类号: | G06F7/505 |
| 代理公司: | 上海专利商标事务所有限公司31100 | 代理人: | 姬利永 |
| 地址: | 美国加利*** | 国省代码: | 暂无信息 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 包括 掩码 数学 操作 simd 整数 加法 | ||
1.一种数据处理方法,包括:
由具有单指令多数据(SIMD)寄存器的SIMD计算设备所操作的SIMD整数加法器对第一SIMD大小的整数A和第二SIMD大小的整数B的相对应元素进行元素级SIMD相加,以生成SIMD大小的整数结果R和进位位,其中A具有整数大小且B具有整数大小;以及
响应于A的整数大小大于B的整数大小,由SIMD整数加法器鉴于不具有相对应的B的元素或多个元素的A的一个或多个元素,更新R和进位位;
其中元素级SIMD相加包括在第一一个或多个掩码上执行一个或多个整数操作,其中第一一个或多个掩码作为一个或多个整数操作的输入,并将一个或多个整数操作的一个或多个整数结果输出为第二一个或多个掩码,
其中在第一一个或多个掩码上执行一个或多个整数操作包括在进位掩码和饱和度掩码上执行一个或多个整数操作,其中进位掩码指示在元素级SIMD相加的过程中每个SIMD元素中是否发生了溢出,且其中饱和度掩码指示R的哪个或哪几个元素有全1位,
其中在进位掩码和饱和度掩码上执行一个或多个整数操作包括:
将进位掩码左移1位以生成校正掩码的第一实例;
对校正掩码的第一实例与进位输入执行按位布尔或操作以生成校正掩码的第二实例;
将饱和度掩码整数相加到校正掩码的第二实例以生成校正掩码的第三实例;以及
对校正掩码的第三实例与饱和度掩码执行按位布尔异或操作以生成校正掩码的第四实例。
2.如权利要求1所述的方法,其中元素级SIMD相加包括利用包装操作对A和B的相对应元素进行元素级SIMD相加以生成结果R。
3.如权利要求1所述的方法,其还包括在第一一个或多个掩码上执行一个或多个整数操作之前,将第一一个或多个掩码从SIMD计算设备的第一一个或多个掩码寄存器分别移到SIMD计算设备的一个或多个通用寄存器;并在一个或多个通用寄存器中的第一一个或多个掩码上执行一个或多个整数操作之后,将第二一个或多个掩码从一个或多个通用寄存器分别移到SIMD计算设备的第二一个或多个掩码寄存器。
4.如权利要求1所述的方法,其中元素级SIMD相加还包括R对A的元素级SIMD无符号整数小于比较,以生成指示在元素级SIMD相加的过程中每个SIMD元素中是否发生了溢出的进位掩码。
5.如权利要求1所述的方法,其中元素级SIMD相加还包括R对全1二进制常数的元素级SIMD无符号整数等于比较,以生成指示R的哪个或哪几个元素有全1位的饱和度掩码的第一实例。
6.如权利要求1所述的方法,其中第二一个或多个掩码包括校正掩码,且元素级SIMD相加包括由校正掩码进行掩码将元素级SIMD相加的初始结果从全1二进制常数中进行元素级SIMD整数相减以生成R。
7.如权利要求1所述的方法,其中第二一个或多个掩码包括校正掩码,且元素级SIMD相加包括将校正掩码向右移位有效标记宽度的位数以生成进位位。
8.如权利要求1所述的方法,其中更新R和进位位包括当进位位不等于0且A的至少一个元素未被考虑时,鉴于不具有相对应的B的元素或多个元素的A的一个或多个元素,更新R和进位位。
9.如权利要求8所述的方法,其中当进位位不等于0且A的至少一个元素未被考虑时鉴于不具有相对应的B的元素或多个元素的A的一个或多个元素更新R和进位位包括:
当进位位不等于0时对不具有相对应的B的元素的A的元素,
通过在元素级SIMD相加的当前结果与全1二进制常数之间执行元素级小于比较,生成饱和度掩码;
将饱和度掩码整数相加到进位位的当前值,以生成校正掩码的第一实例;以及
对校正掩码的第一实例与饱和度掩码执行按位布尔异或操作,以生成校正掩码的第二实例。
10.如权利要求8所述的方法,其中当进位位不等于0且A的至少一个元素未被考虑时鉴于不具有相对应的B的元素或多个元素的A的一个或多个元素更新R和进位位还包括:当进位位不等于0时对不具有相对应的B的元素的A的元素,将校正掩码向右移位有效标记宽度的位数以更新进位位。
11.如权利要求8所述的方法,其中更新R和进位位还包括:在确定进位位等于0之后且A的至少一个元素未被考虑时,鉴于不具有相对应的B的元素或多个元素的A的一个或多个元素,更新R。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于英特尔公司,未经英特尔公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201180069754.7/1.html,转载请声明来源钻瓜专利网。





