[发明专利]基于混合粒度乘法部件的多精度乘法器及运算方法有效

专利信息
申请号: 202011524239.0 申请日: 2020-12-22
公开(公告)号: CN112631548B 公开(公告)日: 2022-10-04
发明(设计)人: 尚江卫;钱磊;吴东;张昆;曾明勇;原昊;贾迅;朱剑文;陆一峰 申请(专利权)人: 无锡江南计算技术研究所
主分类号: G06F7/523 分类号: G06F7/523
代理公司: 苏州创元专利商标事务所有限公司 32103 代理人: 王健
地址: 214038 江苏*** 国省代码: 江苏;32
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 基于 混合 粒度 乘法 部件 精度 乘法器 运算 方法
【权利要求书】:

1.一种基于混合粒度乘法部件的多精度乘法器的运算方法,其特征在于:所述乘法器包括:调度器、指令队列和计算单元,所述计算单元包括分发器、若干个细粒度乘法部件和加法树,所述细粒度乘法部件的数量如下表所示:

所述多精度乘法器的运算方法包括以下步骤:

步骤1:调度器根据贪心算法,以多精度乘法器的粒度规模为依据,将乘法运算的两个位宽分别为Mbit、Nbit的操作数进行分割,获得如下分割结果:

Mbit= (a*4bit + b*2bit + c*1bit),其中M= a*4+b*2+c;a、b、c为Mbit分割后4bit数、2bit数、1bit数的个数;

Nbit= (x*4bit + y*2bit + z*1bit),其中N= x*4+y*2+z;x、y、z为Nbit分割后4bit数、2bit数、1bit数的个数;

根据分割结果,调度器将Mbit*Nbit转换为 Mbit*Nbit = (a*4bit + b*2bit + c*1bit) * (x*4bit + y*2bit + z*1bit),从而将Mbit * Nbit分割为 (a*x)个4bit*4bit、(a*y+b*x)个4bit*2bit、(a*z + c*x)个4bit*1bit、(b*y)个2bit*2bit、(b*z+c*y)个2bit*1bit、(c*z)个1bit*1bit的细粒度乘法运算;

步骤2:调度器计算步骤1中获得的每一组细粒度乘法运算结果需要向左移动的位数,用于指导乘法器将步骤1中获得的4bit*4bit、4bit*2bit、4bit*1bit、2bit*2bit、2bit*1bit、1bit*1bit的结果进行移位累加;

步骤3:调度器将步骤1中分割后的细粒度乘法运算的两个操作数和步骤2中对应的左移位数打包成如下所示的乘法器指令:

左移位数操作数1操作数2

步骤4:调度器将步骤3中生成的乘法器指令送入计算单元的指令队列;

步骤5:计算单元内部的分发器解析指令队列的指令,并将解析后的左移位数和操作数分发给对应位宽的细粒度乘法部件,由细粒度乘法部件完成细粒度的乘法运算;

步骤6:细粒度乘法部件根据步骤5中分发器发送的操作数完成乘法运算,并根据步骤5中分发器发送的左移位数,将乘法结果向左移位,再将移位后的结果送入加法树,得到最后的结果。

2.根据权利要求1所述的一种基于混合粒度乘法部件的多精度乘法器的运算方法,其特征在于:步骤2中,向左移动位数计算过程如下:

(1)4bit*4bit,假设当前4bit*4bit运算中的操作数分别来自于Mbit的第m个4bit数和Nbit的第n个4bit数,0m≤a; 0n≤x,则该组运算向左移动的位数为:4*(m-1)+4*(n-1)+2*(b+y)+(c+z);

(2)4bit*2bit,假设当前4bit*2bit运算中的操作数:

当4bit来源于Mbit中的第m个4bit数,2bit来源于Nbit的第n个2bit数,0m≤a; 0n≤y,则该组运算向左移动的位数为:4*(m-1)+2*b+c+2*(n-1)+z;

当4bit来源于Nbit中的第n个4bit数,2bit来源于Mbit的第m个2bit数,0m≤b; 0n≤x,则该组运算向左移动的位数为:4*(n-1)+2*y+z+2*(m-1)+c;

(3)4bit*1bit,假设当前4bit*1bit运算中的操作数:

当4bit来源于Mbit中的第m个4bit数,1bit来源于Nbit的第n个1bit数,0m≤a; 0n≤z,则该组运算向左移动的位数为:4*(m-1)+2*b+c+n;

当4bit来源于Nbit中的第n个4bit数,1bit来源于Mbit的第m个1bit数,0m≤c; 0n≤x,则该组运算向左移动的位数为:4*(n-1)+2*y+z+m;

2bit*2bit,假设当前2bit*2bit运算中的操作数:

2bit来源于Mbit中的第m个2bit数,2bit来源于Nbit中的第n个2bit数,0m≤b; 0n≤y,则该组运算向左移动的位数为:2*(m-1)+2*(n-1)+c+z;

2bit*1bit,假设当前2bit*1bit运算中的操作数:

当2bit来源于Mbit中的第m个2bit数,1bit来源于Nbit中的第n个1bit数,0m≤b; 0n≤z,则该组运算向左移动的位数为:2*(m-1)+c+n;

当2bit来源于Nbit中的第n个2bit数,1bit来源于Mbit中的第m个1bit数,0m≤c; 0n≤y,则该组运算向左移动的位数为:2*(n-1)+z+m;

1bit*1bit,假设当前1bit*1bit运算中的操作数:1bit来源于Mbit中的第m个1bit数,1bit来源于Nbit中的第n个1bit数,0m≤c; 0n≤z,则该组运算向左移动的位数为:m+n-2。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于无锡江南计算技术研究所,未经无锡江南计算技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/202011524239.0/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top