[发明专利]用于复紧缩数据元素和实紧缩数据元素的乘法和累加的装置和方法在审
申请号: | 201810996655.7 | 申请日: | 2018-08-29 |
公开(公告)号: | CN109683961A | 公开(公告)日: | 2019-04-26 |
发明(设计)人: | V·马杜里;E·乌尔德-阿迈德-瓦尔;J·考博尔;M·查尼;R·凡伦天;B·杨 | 申请(专利权)人: | 英特尔公司 |
主分类号: | G06F9/302 | 分类号: | G06F9/302;G06F9/38 |
代理公司: | 上海专利商标事务所有限公司 31100 | 代理人: | 黄嵩泉;张欣 |
地址: | 美国加利*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 临时结果 源寄存器 最终结果 寄存器 紧缩 数据元素 元素相乘 实数据 虚数据 乘法 子集 第一数据 累加 取反 加法 存储 | ||
1.一种处理器,包括:
解码器,用于对第一指令解码以生成经解码的指令;
第一源寄存器,用于存储第一多个紧缩实数据元素和虚数据元素;
第二源寄存器,用于存储第二多个紧缩实数据元素和虚数据元素;以及执行电路,用于执行经解码的指令,所述执行电路包括:
乘法器电路,用于在所述第一源寄存器和所述第二源寄存器中选择要相乘的实数据元素和虚数据元素,所述乘法器电路用于将所述第一源寄存器中的每个所选择的虚数据元素与所述第二源寄存器中的所选择的实数据元素相乘,并且用于将所述第一源寄存器中的每个所选择的实数据元素与所述第二源寄存器中的所选择的虚数据元素相乘,以生成多个虚乘积,
加法器电路,用于将所述多个虚乘积的第一子集相加以生成第一临时结果,并且用于将所述多个虚乘积的第二子集相加以生成第二临时结果,
取反电路,用于对所述第一临时结果进行取反以生成第三临时结果,并且用于对所述第二临时结果进行取反以生成第四临时结果,以及
累加电路,用于将所述第三临时结果与来自目的地寄存器的第一数据组合以生成第一最终结果,并且用于将所述第四临时结果与来自所述目的地寄存器的第二数据组合以生成第二最终结果,并且用于将所述第一最终结果和所述第二最终结果往回存储在所述目的地寄存器中。
2.如权利要求1所述的处理器,其中,实值和虚值作为16位的数据元素被存储在所述第一源寄存器和所述第二源寄存器中,每个虚值被存储在与所述虚值的对应实值的数据元素位置相邻的数据元素位置中,实值和虚值的每个组合表示复数。
3.如权利要求1或2所述的处理器,其中,所述第一源寄存器和所述第二源寄存器包括能配置有分别存储数据元素A、B、C、D、E、F、G和H的数据元素位置A、B、C、D、E、F、G和H的128位紧缩数据寄存器,并且其中,数据元素A、C、E和G是实数据元素,并且数据元素B、D、F和H是对应的虚数据元素。
4.如权利要求3所述的处理器,其中,为了执行经解码的指令,所述乘法器电路用于执行乘法S1C*S2D、S1D*S2C、S1A*S2B、S1B*S2A、S1G*S2H、S1H*S2G、S1E*S2F、S1F*S2E,以生成所述多个虚乘积,其中,S1标识所述第一源寄存器,S2标识所述第二源寄存器,并且A-H分别标识所述第一源寄存器和所述第二源寄存器中的数据元素位置A-H中的紧缩数据元素。
5.如权利要求4所述的处理器,其中,所述多个虚乘积的所述第一子集的相加包括S1C*S2D+S1D*S2C+S1A*S2B+S1B*S2A,并且所述多个虚乘积的所述第二子集的相加包括S1G*S2H+S1H*S2G+S1E*S2F+S1F*S2E,以分别生成所述第一临时结果和所述第二临时结果。
6.如权利要求1或5所述的处理器,进一步包括:
扩展电路,用于在与来自所述目的地寄存器的第一数据和第二数据累加之前,分别将所述第三临时结果和所述第四临时结果零扩展或符号扩展为64位的值。
7.如权利要求1或6所述的处理器,其中,所述取反电路用于对所述第一临时结果和所述第二临时结果执行2补码取反。
8.如权利要求1或6所述的处理器,其中,所述扩展电路用于将零添加到所述第一临时结果和所述第二临时结果。
9.如权利要求1或6所述的处理器,其中,将所述第一临时结果和所述第二临时结果的最高有效位位置中的值重复数次,以将所述第一临时结果和所述第二临时结果转换为64位的值。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于英特尔公司,未经英特尔公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810996655.7/1.html,转载请声明来源钻瓜专利网。