[发明专利]SIMD相乘和水平归约运算在审
申请号: | 201680040946.8 | 申请日: | 2016-07-11 |
公开(公告)号: | CN107835992A | 公开(公告)日: | 2018-03-23 |
发明(设计)人: | 艾瑞克·韦恩·马胡林 | 申请(专利权)人: | 高通股份有限公司 |
主分类号: | G06F17/16 | 分类号: | G06F17/16;G06F9/00 |
代理公司: | 北京律盟知识产权代理有限责任公司11287 | 代理人: | 杨林勳 |
地址: | 美国加利*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | simd 相乘 水平 运算 | ||
1.一种执行相乘和水平归约运算的方法,所述方法包括:
接收单指令多数据SIMD指令,其包括:
第一向量,其包括M+C个被乘数元素,其中M和C是正整数;以及
第二向量,其包括M+C个对应的乘数元素,其中C个乘数元素具有值1;
使用M个乘法器执行M个被乘数元素与对应的M个乘数元素的M个乘法以产生M个乘积,所述M个乘数元素并不包含其值为1的所述C个乘数元素;以及
将其对应的C个乘数元素具有值1的C个被乘数元素加到所述M个乘积以产生所述SIMD指令的结果。
2.根据权利要求1所述的方法,其中M=2^N,其中N是正整数。
3.根据权利要求1所述的方法,其进一步包括并行执行所述M个乘法。
4.根据权利要求1所述的方法,其进一步包括在竖直累加器中将所述C个被乘数元素加到所述M个乘积。
5.根据权利要求1所述的方法,其进一步包括将累加器值竖直累加到所述结果。
6.根据权利要求1所述的方法,其进一步包括在数字滤波器中实施所述相乘和水平归约运算,其中所述被乘数元素是数据元素且所述乘数元素是对应于所述数据元素的系数或权值。
7.根据权利要求1所述的方法,其中所述M的值等于SIMD通道的数目。
8.一种设备,其包括:
经配置以接收单指令多数据SMID指令第一向量和第二向量的逻辑,所述第一向量包括M+C个被乘数元素,其中M和C是正整数,所述第二向量包括M+C个对应的乘数元素,其中C个乘数元素具有值1;
m个乘法器,其经配置以执行M个被乘数元素与对应的M个乘数元素的M个乘法以产生M个乘积,所述M个乘数元素并不包含其值为1的所述C个乘数元素;以及
竖直累加器,其经配置以将其对应的乘数元素具有值1的C个被乘数元素加到所述M个乘积以产生所述SIMD指令的结果。
9.根据权利要求8所述的设备,其中M=2^N,其中N是正整数。
10.根据权利要求8所述的设备,其中所述M个乘法器经配置以并行执行所述M个乘法。
11.根据权利要求8所述的设备,其中所述竖直累加器经进一步配置以将累加器值加到所述结果。
12.根据权利要求8所述的设备,其包括数字滤波器,其中所述被乘数元素是所述数字滤波器的数据元素且所述乘数元素是对应于所述数据元素的系数或权值。
13.根据权利要求8所述的设备,其中所述M的值等于SIMD通道的数目。
14.根据权利要求8所述的设备,其集成到选自由以下各者组成的群组的装置中:机顶盒、音乐播放器、视频播放器、娱乐单元、导航装置、通信装置、个人数字助理PDA、固定位置数据单元及计算机。
15.一种系统,其包括:
用于接收单指令多数据SMID指令第一向量和第二向量的装置,所述第一向量包括M+C个被乘数元素,其中M和C是正整数,所述第二向量包括M+C个对应的乘数元素,其中C个乘数元素具有值1;
用于执行M个被乘数元素与对应的M个乘数元素的M个乘法以产生M个乘积的装置,所述M个乘数元素并不包含其值为1的所述C个乘数元素;以及
用于将其对应的乘数元素具有值1的C个被乘数元素加到所述M个乘积以产生所述SIMD指令的结果的装置。
16.根据权利要求15所述的系统,其中M=2^N,其中N是正整数。
17.根据权利要求15所述的系统,其中所述用于执行M个乘法的装置包括用于并行执行所述M个乘法的装置。
18.根据权利要求15所述的系统,其进一步包括用于将累加器值加到所述结果的装置。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于高通股份有限公司,未经高通股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201680040946.8/1.html,转载请声明来源钻瓜专利网。