[发明专利]子字并行整数乘法器无效
申请号: | 200710035651.4 | 申请日: | 2007-08-29 |
公开(公告)号: | CN101110016A | 公开(公告)日: | 2008-01-23 |
发明(设计)人: | 张民选;董兰飞;李少青;陈吉华;赵振宇;陈怒兴;马剑武;徐炜遐;孙岩;乐大珩;贺鹏;刘婷;喻仁峰;何小威;郑东裕 | 申请(专利权)人: | 中国人民解放军国防科学技术大学 |
主分类号: | G06F7/53 | 分类号: | G06F7/53;G06F7/533 |
代理公司: | 湖南兆弘专利事务所 | 代理人: | 赵洪 |
地址: | 410073湖南省长沙市砚瓦池正街47号*** | 国省代码: | 湖南;43 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 并行 整数 乘法器 | ||
技术领域
本发明主要涉及到64位体系结构微处理器的设计领域,特指一种子字并行整数乘法器。
背景技术
先进的微处理器和多媒体处理技术对乘法运算提出了更高的要求。单指令多数据(SIMD)处理方式,是现代多媒体处理器、通用处理器中多媒体扩展以及数字信号处理的一个主要特点。支持SIMD处理方式的子字并行乘法器的性能成为提高多媒体处理器性能的关键部分。
图1是现有子字并行乘法器的结构图。现有的子字并行乘法器基于模式选择的结构,这种乘法器在部分积产生模块中加入了基于模式选择的多路选择器,并在部分积压缩树及最终的进位传播加法器各模式边界处插入了基于模式的断开进位链信号,经过重构可完成1个64×64、2个32×32、4个16×16、8个8×8乘法操作。在普通乘法模式时,当两个输入A[63:0]和B[63:0]到来后,首先进入部分积产生单元将被乘数和乘数划分为四个部分,分别通过Booth编码产生部分积,之后各个部分积输入到部分积压缩树(PPRT)中进行压缩,然后压缩后的伪和与伪进位输入到进位传播加法器(CPA)中进行最后的相加,最后输出结果。
在子字并行模式时,当两个输入A[63:0]和B[63:0]到来后,所有操作与普通乘法模式时相同,只是增加了一个修正值选择模块,选择出合并后的修正值,送入到部分积压缩树(PPRT)中,与部分积一起进行压缩。图2是部分积压缩结构中的进位链断开逻辑。
其中:
sum=(ab)(cin.□kill) (1)
cout=(a.b)+[(a+b).(cin.□kill)] (2)
但是,现有子字并行乘法器有如下缺点:
1、采用这种算法设计的并行乘法器在部分积产生时多了一级选择开关,增加了一级门延时;
2、要在模式边界处插入基于模式的断开进位链信号,算法复杂;
3、断开进位链信号的扇出负载大,互连走线非常长,在版图实现上几乎遍布整个部分积压缩部分,庞大的扇出负载和长的走线在一定程度上增加了部分积压缩的延时,而且也会使全定制版图实现复杂化;
这种并行乘法器在最后的进位传播加法器中也要在各模式边界处插入基于模式的断开进位链信号,这给进位传播加法器的设计也增加了延时和难度,使得设计的通用性受到很大限制。
发明内容
本发明要解决的问题就在于:针对现有技术存在的技术问题,本发明提供一种结构简单、简化了算法和实现、能够使部分积压缩单元的延迟减小,提高整个乘法器的性能的子字并行整数乘法器。
为解决上述技术问题,本发明提出的解决方案为:一种子字并行整数乘法器,其特征在于:它包括数据预处理模块、四个独立的部分产生模块、一个修正值选择模块以及部分积压缩树模块,所述数据预处理模块用来输入被乘数SRC1[63:0]和乘数SRC2[63:0]及控制信号,根据操作模式和符号控制信号对被乘数和乘数进行扩展,产生相应的4组被乘数和4组乘数;所述修正值选择模块用来根据操作模式及乘积结果的符号位对修正值进行选择和合并修正值;部分产生模块的输入为数据预处理模块产生的4组被乘数、4组乘数和控制信号,输出为部分积,每组部分产生模块由一组Booth编码单元和一组部分积选择单元组成,功能完全相同,并行处理,第一部分产生模块产生低位乘法的9个部分积,第二部分产生模块产生次低位乘法的9个部分积,第三部分产生模块产生次高位的9个部分积,第四部分产生模块产生高位的9个部分积;部分积压缩树模块用来对部分产生模块产生的部分积和合并后的修正值进行压缩。
当在子字并行模式乘法操作时修正值选择模块的操作为:
(1)、首先在做子字并行乘法操作时根据每个子字乘积符号的不同给相应的部分积在加上一个修正值:
①当低位子字乘积结果的符号位为正时,给其乘积结果加上修正值:
128’hffff_ffff_fffe_0000_0000_0000_0000_0000;
②当低位子字乘积结果的符号为负时,给其乘积结果加上修正值:
128’hffff_ffff_fffe_0000_0000_0001_0000_0000;
③当次低位子字乘积结果的符号为正,则给其乘积结果加上修正值:
128’hffff_fffe_0000_0000_0000_0000_0000_0000;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国人民解放军国防科学技术大学,未经中国人民解放军国防科学技术大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200710035651.4/2.html,转载请声明来源钻瓜专利网。