用于快速乘法部件的多进位保留矢量加法器 本发明属于计算机信息处理系统领域,特别涉及到一种用于快速乘法部件的多进位保留矢量的加法器链的构成。
乘法器部件,是计算密集型的高性能数字计算机中的一个极为关键的单元,为了提高计算机的运算速度,乘法部件通常要用复杂的电路构成,这种构成又限制了运算速度的进一步提高。因此,乘法器性能的选取,就直接影响到进行计算密集型应用的计算机的整体性能。对于典型的二进制乘法器,目前较多使用的是一种称之为Wallace CSA树的结构,其基本结构单元为进位保留加法器(CSA),按照Wallace树构造法,两个k位数A,B之积P=A×B=Σi=0k-1Pi]]>部分积Pi有(k+i)位长,尾部有i个零,其余k位为ABi。Pi由部分积再编码逻辑电路产生,然后是若干个CSA构成的Wallace CSA树,末端由进位传送加法器(CPA)完成。此种结构,当输入位数k很大时,是相当庞大冗长的,由于链路数地增加,致使速度降低而无法满足越来越需要的高速度要求。这就有待进一步提高,去寻求一种具有更快速度、更合适规模的结构方案问世。
本发明的目的,是为了克服现有的乘法部件运算速度不够快的缺陷,需要重新设计一种加快乘法部件运算速度的加法器结构。
本发明的目的是依靠下述技术方案来实现的,一种用于快速乘法部件的多进位保留矢量加法器,为m个n位输入数X1,X2,Λ,Xm之和的逻辑网络,将产生[log2m]+1个[log2m]+n位输出数Y1,Y2,Λ,,简记为MCSA(m),设Xi=(xn-1ixn-2iΛx1ix0i)]]>,其中i=1,2,3,Λ,m,任一第j数位列中m个数执行按位加操作,结果为按位和Σi=1mxji=(yj+p-1pΛyj+12yj1)]]>,其中j=0,1,2,3,Λ,n-1,p=[log2]+1」表示截断取整运算。按位和的每一个数位yji上标为不同输出数的标号,有p个;下标为每个输出数内数位的标号,有n个,其余的补零;将其按权重分配在不同的输出数y1,Y2,Λ,YP中,具体表示如下:Y1=(0ΛΛΛΛΛ0yn-11ΛΛΛΛΛyi1ΛΛy11y01)]]>Y2=(0ΛΛΛΛ0yn2ΛΛΛΛΛyi+12ΛΛy22y120)]]> M N N N N MYj=(0Λ0yn+1-2jΛΛΛy1+j-1jΛΛyjjyj-1j0Λ0)----(1)]]> M N N N N MYP=(yn+p-2pΛΛyi+p-1pΛΛyppyp-1p0ΛΛΛΛ0)]]>
上式中,Y1为本位和。与CSA所不同的是,进位矢量有p-1个:Y2,Y3,Λ,Yp,通常所谓的CSA不过是MCSA的特例,即MCSA(3),其输入输出关系为:yi1=yi1(xi1,xi2,Λ,xim)=S(A1|m)]]>yi2=yi2(xi1,xi2,Λ,xim)=S(A2|m)]]> M M M (2)yip=yip(xi1,xi2,Λ,xim)=S(Ap|m)]]> i=1,2,Λ,n-1其中,S(Ai|m)为m个变量,特征集为Ai的对称函数,Ai={2ik+2i-1,2ik+2i-1+1,Λ,2ik+2i-1} (3)
且i=1,2,Λ,p;k=0,1,2,Λ;max(Ai)≤m
由(2),(3)结合对称逻辑函数的有关定理公式可直接得到MCSA(m)的具体逻辑表达式,而勿需采用繁杂的真值表法。
按照以上MCSA(m)的定义,现在,我们用MCSA(m)构造一个链状结构的乘法器,链中节点为MCSA(m),首端仍为部分积再编码逻辑电路,中间为MCSA(m)链,链接规则为上一节点的出度等于下一节点的入度,末端为CPA。
本方案的积极效果是,由多进位保留矢量加法器MCSA链构成的硬件乘法器,具有速度快,规模适中的优点。与目前最广泛使用的最佳方案Wallace CSA树方法比较,具有更快的速度和更合适的规模。以一个16×16的Wallace CSA树的构成为例,其链路数为8,节点数为16;而用本发明方案构造同样一个16×16的MCSA链乘法器的结构,其链路数为5,节点数为5,因而本发明的后一种结构方案比之前一种结构方案,链路数减少3层,节点数减少11个。根据链路数越小速度越快;节点数越少结构越简单的道理,可知,采用MCSA方法比原有的Wallace CSA树方法更具有快速性及简洁性。
下面结合附图进一步说明实施例。
附图说明:
图1为一个16×16的Wallace CSA树乘法部件;
图2为采用本发明的一个16×16的MCSA链乘法部件;
图中:CSA1、CSA2、CSA3、CSA4、CSA5、CSA6、CSA7、CSA8、CSA9、CSA10、CSA11、CSA12、CSA13、CSA14为进位保留加法器;
MCSA(3)、MCSA(5)、MCSA(16)为多进位保留矢量加法器;
CPA为进位传送加法器。
具体实施例,给出了计算机运算器中不同规模乘法部件的两种结构方案的实际比较,即MCSA链乘法部件结构与Wallace CSA树乘法部件结构性能指标与复杂度指标的对比,其中,性能用链路数表示,复杂度用节点数表示。从下列表中我们看到,随着乘法规模的增大,MCSA链乘法部件的链路数变化不大,而Wallace CSA树乘法部件的链路数却接近于线性增加,对于节点数,MCSA链乘法部件的变化也不大,而Wallace CSA树乘法部件的却呈指数增加。
表MCSA链乘法部件与CSA树乘法部件之性能复杂度比较 乘法规模 MCSA链 Wallace CSA树 链路数 节点数 链路数 节点数 8×8 5 5 6 8 16×16 5 5 8 16 32×32 5 5 10 32 64×64 5 5 12 64 128×128 6 6 13 128
由此体现了本发明的MCSA链结构具有更快捷的速度及更简练的结构。