[发明专利]用于紧缩字的向量乘法和累加的装置和方法在审
申请号: | 201811580246.5 | 申请日: | 2018-12-24 |
公开(公告)号: | CN110069282A | 公开(公告)日: | 2019-07-30 |
发明(设计)人: | A·海内克;D·达斯;R·凡伦天;M·查尼 | 申请(专利权)人: | 英特尔公司 |
主分类号: | G06F9/30 | 分类号: | G06F9/30 |
代理公司: | 上海专利商标事务所有限公司 31100 | 代理人: | 李炜;黄嵩泉 |
地址: | 美国加利*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 紧缩 源寄存器 累加 存储 字位置 电路 解码器 相乘 乘法器电路 加法器电路 符号扩展 结果存储 扩展电路 累加电路 向量乘法 指令解码 寄存器 乘法 处理器 集合 指令 | ||
1.一种处理器,包括:
解码器,用于对指令解码;
第一源寄存器,用于存储第一多个紧缩字;
第二源寄存器,用于存储第二多个紧缩字;
第三源寄存器,用于存储多个紧缩四字;
执行电路,用于执行第一指令,所述执行电路包括:
扩展电路,用于对所述第一多个紧缩字和所述第二多个紧缩字进行符号扩展或零扩展,以生成与所述第一多个紧缩字和所述第二多个紧缩字对应的第一多个双字和第二多个双字;
乘法器电路,用于将所述第一多个双字中的每个双字与所述第二多个双字中的对应双字相乘以生成多个临时乘积;
加法器电路,用于将所述临时乘积的至少第一集合相加以生成第一临时和;
累加电路,用于将所述第一临时和与来自所述第三源寄存器中的第一四字位置的第一紧缩四字值结合以生成第一经累加的四字结果;
目的地寄存器,用于将所述第一经累加的四字结果存储在所述第一四字位置中。
2.如权利要求1所述的处理器,其中,所述目的地寄存器和所述第三源寄存器是同一寄存器。
3.如权利要求1所述的处理器,进一步包括:
饱和电路,用于在将所述第一经累加的四字结果存储在所述目的地寄存器中之前,使所述第一经累加的四字结果饱和。
4.如权利要求1所述的处理器,其中,所述第一多个紧缩字和所述第二多个紧缩字是有符号的,并且其中,所述扩展电路用于对所述第一多个紧缩字和所述第二多个紧缩字进行符号扩展。
5.如权利要求1所述的处理器,其中,所述第一源寄存器、所述第二源寄存器和所述第三源寄存器包括用于分别存储16个字、32个字或64个字和/或用于分别存储4个四字、8个四字或16个四字的128位的寄存器、256位的寄存器或512位的寄存器。
6.如权利要求1所述的处理器,进一步包括:
掩蔽电路,用于对包括多个位的写掩码求值,每个位都与所述目的地寄存器中的紧缩数据元素位置相关联。
7.如权利要求6所述的处理器,其中,所述掩蔽电路用于:在检测到与所述第一四字位置相关联的写掩码位的值后,判定是否将所述第一经累加的四字结果写入所述目的地寄存器。
8.如权利要求7所述的处理器,如果所述掩蔽电路判定不写入所述第一经累加的四字结果,则:将零写入所述第一四字位置;或者不对所述第一四字位置执行更新。
9.一种方法,包括:
对指令解码;
通过以下步骤来执行所述指令:
对来自第一源寄存器和第二源寄存器的第一多个紧缩字和第二多个紧缩字进行符号扩展或零扩展,以生成与所述第一多个紧缩字和所述第二多个紧缩字对应的第一多个双字和第二多个双字;
将所述第一多个双字中的每个双字与所述第二多个双字中的对应双字相乘以生成多个临时乘积;
将所述临时乘积的至少第一集合相加以生成第一临时和;
将所述第一临时和与来自第三源寄存器中的第一四字位置的第一紧缩四字值累加以生成第一经累加的四字结果;
将所述第一经累加的四字结果存储在目的地寄存器中的所述第一四字位置中。
10.如权利要求9所述的方法,其中,所述目的地寄存器和所述第三源寄存器是同一寄存器。
11.如权利要求9所述的方法,进一步包括:
在将所述第一经累加的四字结果存储在所述目的地寄存器中之前,使所述第一经累加的四字结果饱和。
12.如权利要求9所述的方法,其中,所述第一多个紧缩字和所述第二多个紧缩字是有符号的,并且其中,将对所述第一多个紧缩字和所述第二多个紧缩字进行符号扩展。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于英特尔公司,未经英特尔公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811580246.5/1.html,转载请声明来源钻瓜专利网。