运算处理装置的制作方法

文档序号:6412091阅读:174来源:国知局
专利名称:运算处理装置的制作方法
技术领域
本发明涉及具有乘法功能的运算处理装置,特别是涉及乘法器。
在并行乘法器中,采用对用乘数和被乘数并行地生成的多个部分积进行加法运算的办法计算积。倘采用布斯(Booth)的算法,则可以减少部分积的个数。
若采用M.R.Santoro et al.,“SPIM流水线64×64迭代乘法器”,IEEE Journal of Solid-State Circuit,Vol.24,No.2,pp.487-493,April1989,则可以构成2进数的4∶2压缩器可以应用于部分积的加法运算中去。多个4∶2压缩器并行起来构成的进位保存加法器被提供给部分积的加法运算,而各4∶2压缩器由2个3输入2输出全加器构成。
多个部分积具有互不相同的权重。因此,在各部分积是用2的补数表示的2进数的情况下,必须在部分积的进位保存加法运算之前进行部分积的符号扩展。在这里,考虑一个对采用2次布斯算法所生成的4个部分积P0、P1、P2和P3进行加法运算的例子。假定这4个部分积P0、P1、P2和P3分别具有20,22、24和26的权重,且每一个部分积都由9位构成。各部分积的最高位位是符号位。在本例中,必须对除去具有最大的权重的部分积(最高位部分积)P3之外的3个部分积P0、P1和P2的每一个进行符号扩展。具体地说来就是为了对具有最小的权重的部分积(第1部分积)P0进行符号扩展,把该第1部分积的符号位的值设定于从该第1部分积往上的高位的6位中。另外,为了对具有第2号小的权重的部分积(第2部分积)P1进行符号扩展,把该第2部分积的符号位的值设定于从该第2部分积的符号位往上的高位的4位中。再有,为了对具有第3号小的权重的部分积(第3部分积)P2进行符号扩展,把该第3部分积的符号位的值设定于从该第3部分积的符号位往上的高位的2位中。然后对这些符号扩展后的4个部分积P0、P1、P2和P 3的每一位执行进位保存加法运算。
上述4∶2压缩器,顾名思义,是具有4个输入和2个输出的压缩器。该4个输入中的一个仅仅经过2个全加器中的一方达到该4∶2压缩器的两个输出,对此,其余的3个输入则顺次经过2个全加器达到该4∶2压缩器的两个输出。即,后者的3个输入中的不论哪一个将构成具有进位保存加法器中的最长的传播时延的关键路径(Critical path)。然而,如上所述在对除去最高位部分积之外的所有的部分积进行符号扩展的情况下,该关键路径的输入将变成为依赖于不论哪一个部分积的符号位的值,因而将产生时间性的损失(penalty)。
本发明的目的是在部分积加法中减少符号扩展所伴生的时间性损失。
为了达到上述目的,本发明的作法是,先把依据多个的符号位进行了符号扩展的特定的部分积分配给不构成进位保存加法器中的关键路径的特定的输入,然后把构成该进位保存加法器中的关键路径的输入固定到恒定值上。
具体地说来就是使本发明的运算处理装置或乘法器具备有部分积加法器,这一部分积加法器用来对每一个都是用2的补数表示的2进数而且具有互不相同的权重的多个部分积进行加法运算,且该部分积加法器具备有进位保存加法器和逻辑电路。上述进位保存加法器具有用于对多个部分积进行进位保存计算的多个输入和至少一个输出;上述逻辑电路用于向比上述多个部分积中具有最小的权重的部分积(第1部分积)的符号位高位的多个位中设定该第1部分积的符号位的值与其他的部分积的符号位的值间的多个逻辑运算值。而且,在上述进位保存加法器中,特定的输入在与输出之间至少与一个其他的输入相比呈现出短的传播延迟,且把已用上述逻辑电路进行了符号扩展的第1部分积分配给上述特定的输入。
以下说明附图。


图1的方框图示出了本发明的乘法器的具体例子。
图2的方框图示出了图1中的部分积加法器的内部构成的一部分。
图3的方框图示出了图1中的部分积加法器的内部构成另一部分。
图4的方框图示出了图2和图3中的一个4∶2压缩器的内部构成。
图5的电路图示出了图4中的一个全加器的内部构成。
图6示出的是具有图2和图3的构成的部分积加法器的动作图。
图7示出的是图2的变形例的方框图。
图8示出的是具有图7的构成的部分积加法器的动作图。
实施例以下,参照附图对作为本发明的一种运算处理装置的乘法器的具体例进行说明。
图1示出了本发明的乘法器的具体的构成例。图1的乘法器,为了使之计算每一个皆是已用2的补数表示的8位的2进数的被乘数U和乘数V之积M,具备有乘数编码器10;4个部分积产生器11、12、13和14;部分积加法器15;先行进位加法器16。乘数编码器10根据2次布斯算法从乘数V中生成4个编码值E0、E1、E2和E3。4个部分积产生器11、12、13和14从被乘数V和4个编值E0、E1、E2和E3中并行地生成4个部分积P0、P1、P2和P3,上述4个部分积每一个都是已表示为2的补数的2进数而且具有互不相同的权重。这4个部分积P0、P1、P2和P3分别具有20,22,24和26的权重,且每者都由9位构成。各个部分积的最高位位是符号位。部分积加法器15对4个部分积P0、P1、P2和P3的每一位进行进位保存加法运算,并供给其相加结果(由2个2进数构成)Q。先行进位加法器16依据部分积加法器15供给的加法运算结果Q求积M。
图2和图3示出了图1中的部分积加法器15的内部构成。在图2和图3中,20是由15个4∶2压缩器200~214构成的进位保存加法器,30是用异或门电路31与或门电路32构成的逻辑电路。15个4∶2压缩器200~214中的每一个,实际上都是具有5个输入X、Y、Z、W和CI及3个输出C、S和CO的压缩器。其中CI是来自低位位的进位输入,CO是向高位位的进位输出。C是向先行进位加法器16的进位输出,S是向先行进位加法器16的和输出。4个部分积P0、P1、P2和P3已分别分配给进位保存加法器20的W输入、Z输入、Y输入和X输入。在图2中,P0s、P1s、P2s和P3s分别表示具有最小的权重的部分积(第1部分积)P0的符号位,具有第2个小的权重的部分积(第2部分积)P1的符号位,具有第3个小的权重的部分积(第3部分积)P2的符号位和具有最大的权的部分积(最高位部分积)P3的符号位。
若根据图2来看,则第1部分积P0要像下述那样地进行符号扩展。就是说,在比第1部分积的符号位P0s高1位的位(权重为29)中把第1部分积的符号位P0s的值原样不动地进行设定。在与第2部分积的符号位P1s的位置相对应的位置的第1部分积P0的位(权为210)上,用异或门电路31设定第1部分积的符号位P0s的值与第2部分积的符号位P1s的值之间的异或值A。接着,向从与比第2部分积的符号位P1s高1位的位的位置相对应的位置的第1部分积P0的位(权重为211)到与最高位部分积的符号位P3s的位置相对应的位置的第1部分积P0的位(权重为214)中,用或门电路32,设定第1部分积的符号位P0s的值与第2部分积的符号位P1s的值之间的或值B。其中,A=P0s∧P1sB=P0s+P1s“∧”与“+”分别表示异或与或。
另一方面,第2部分积P1的符号位(权重为210)与从该符号位往上高4位(权重为从211到214)的各值则被固定为0。此外,在比第3部分积P2的符号位高的2位(从权重为213到214)中,设定该第3部分积的符号位P2s的值。
若按照上述现有例那样分别对第1和第2部分积P0,P1进行符号扩展,则可以把对具有从210到214的权重的5位的两部分积的加法运算表示如下。
若P0s=0且P1s=0,则00000+00000=00000若P0s=1且P1s=0,则11111+00000=11111若P0s=0且P1s=1,则00000+11111=11111若P0s=1且P1s=1,则11111+11111=11110即倘如上述那样用逻辑电路30来决定第1部分积P0的5位(权重从210到214)的值的话,则第2部分积P1的5位(从权重210到214)的值如上述那样可以全部固定为0。
图4示出了1个4∶2压缩器214的内部构成。4∶2压缩器214由第1和第2全加器101、102构成。该第1和第2全加器101、102是各自具有3个输入IN1、IN2和IN3及2个输出CY(进位)和SUM(和)的全加器。4∶2压缩器214的X输入、Y输入和Z输入分别分配给第1全加器101的IN1输入、IN2输入和IN3输出。4∶2压缩器214的W输入,则分配给第2全加器102的IN2输入。第1全加器101的SUM输出和来自低位位的进位输入CI,则分别供往第2全加器102的IN1输入和IN3输入。送往高位位的进位输出CO和送往先行进位加法器16的C输出和S输出分别由第1全加器101和第2全加器102供给。图2和图3中的其他的14个4∶2压缩器200~213的内部构成也和图4相同。
图5示出了第1全加器101的内部构成。该全加器101由2个异或门电路111和112,3个2输入NAND门电路113,114和115及1个3输入NAND门电路116构成。图4中的第2全加器102的内部构成也和图5相同。
若根据图4和图5来看,4∶2压缩器214的W输入仅仅经由第2全加器102,即最多经由2个门电路达到该4∶2压缩器214的C输出和S输出。X输入至多经过第1和第2全加器101、102之中的3个门电路到达C输出。另一方面。Y和Z输入分别经过第1和第2全加器101、102中的最多4个门电路达到C输出。即,可知W输入呈现最短的传播延迟,而Y和Z输入将构成进位保存加法器20中的关键路径。因此,如前所述,把第1部分积P0、第2部分积P1和第3部分积P2分别分配给W输入、Z输入和X输入。
图6概念性地示出了上述4个部分积P0、P1、P2和P3的符号扩展及分配。由于构成关键路径的Z输入的最高位5位已被固定于不依赖于任意一个部分积的符号位的值的恒定值0,故可以减轻符号扩展所伴随的时间性的损失,可以对高速乘法运算的实现作出贡献。而且第1部分积P0的异或值A及或值B在逻辑电路30中各自由1个门电路生成,而且该第1部分积P0被分配给W输入,故逻辑电路30中的传播延迟不会使部分积加法器15的传播延迟增加。
另外,也可以把4个部分积P0、P1、P2和P3分别分配给进位保存加法器20的X输入、Y输入、Z输入和W输入。在这种情况下,由于构成关键路径的Y输入的最高位5位将被固定于恒定值0,故仍然可以减轻符号扩展所伴有的时间性的损失。而且,由于具有1个门电路的那么大的量的输入延迟的第1部分积P0将被分配给X输入,故逻辑电路30中的传播延迟不会使部分积加法器15的传播延迟增加。
图7示出了图2的变形例。在这一变形例中,不仅仅是进位保存加法器20的Z输入最高位5位,Y输入最高位3位也将被固定于恒定值0。在图7中,40是由2个异或门电路41和43,2个或门电路42及44构成的逻辑电路。在4个部分积P0、P1、P2和P3被分别分配给进位保存加法器20的W输入、Z输入、Y输入和X输入这一点上与图2一样。
倘采用图7的办法,则第1部分积P0可如下述那样地进行符号扩展。就是说,把第1部分积的符号位P0s的值原封不动地设定于比第1部分积的符号位P0s高一位的位(权重为29)中去。用异或门电路41,把第1部分积的符号位P0S的值与第2部分积的符号位P1s的值的异或值A设定于与第2部分积的符号位P1s的位置相对应的位置的第1部分积P0的位(权重为210)中。用或门电路42,把第1部分积的符号位P0s的值与第2部分积的符号位P1s的值或值B设定于与比第2部分积的符号位P1s高一位的位的位置对应的位置的第1部分积P0的位(权重为211)中去。用异或门电路43,把或值B与第3部分积的符号位P2s的值的异或值G设定于与第3部分积的符号位P2s的位置相对应的位置的第1部分积P0的位(权重为212)中去。接着,用或门电路44,把或值B与第3部分积的符号位P2s的值的或值H设定于从与比第3部分积的符号位P2s高1位的位的位置相对应的位置的第1部分积P0的位(权重为213)到与最高位部分积的符号位P3s的位置对应的位置的第1部分积的位(权重为214)中去。其中,A=P0s∧P1sB=P0s+P1sG=B∧P2sH=B+P2s而“∧”和“+”分别表示异或与或。
另一方面,第2部分积P1的符号位(权重为210)与比该符号位高的4位(权重从211到214)的各值则被固定于0。第3部分积P2的符号位(权重为212)与比该符号位高的2位(权重从213到214)的各值也被固定于0。
图8概念性地示出了上述4个部分积P0、P1、P2和P3的符号扩展与分配。由于构成各关键路径的Y和Z输入这双方的高位位已被固定于不依赖于任一个部分积的符号位的值的恒定值0,故可以进一步减轻符号扩展所伴有的时间性损失,可以对高速乘法运算的实现作出贡献。而且,由于第1部分积P0的异或值A与G以及或值B与H在逻辑电路40中分别最多用2个门电路生成。且由于该第1部分积P0已被分配给W输入,故逻辑电路40中的传播延迟不会使部分积加法器15的传播延迟增加。
此外,上述各具体例虽然都是具备由多个4∶2压缩器构成的进位保存加法器的乘法器,但本发明一般说也可适用于具备有多个输入中的特定输入与至少一个其他的输入比呈现短的传播延迟的进位保存器的乘法器中去。例如,在16×16的乘法器中,就可以把本发明应用到把多个7∶3压缩器并排起来构成的进位保存加法器中的部分积的加法运算中去。另外,在乘数编码器中应当采用的算法不限于2次的布斯算法,也可以采用更高次的布斯算法。
如上所述,倘采用本发明,由于规定为把根据多个的符号位已进行了符号扩展的特定的部分积分配给不构成进位保存加法器中的关键路径的特定的输入,并把构成该进位保存加法器中的关键路径的输入固定于恒定值上,故可以减轻部分积加法运算中的符号扩展所伴随的时间性损失,可对高速乘法的实现作出贡献。
权利要求
1.一种运算处理装置,具备有用于对每一个皆已用2的补数的2进数且具有互不相同的权重的多个部分积进行加法运算的部分积加法器,其特征是上述部分积加法器具备进位保存加法器,具有多个输入和至少一个输出,用于对上述多个部分积进行进位保存加法运算;逻辑电路,用于为了对上述多个部分积中具有最小的权重的部分积(第1部分积)进行符号扩展,把上述第1部分积的符号位的值与其他部分积的符号位的值之间的多个逻辑运算值设定于比上述第1部分积的符号位高的多个位中,在上述进位保存加法器中,上述多个输入之内的特定的输入在与上述输出之间呈现至少比一个其他的输入短的传播延迟,且把用上述逻辑电路进行了符号扩展的上述第1部分积分配给上述特定的输入。
2.根据权利要求1所述的运算处理装置,其特征是已用上述逻辑电路进行了符号扩展的上述第1部分积,被分配给上述多个输入中在与上述输出之间呈现最短的传播延迟的输入。
3.根据权利要求1所述的运算处理装置,其特征是上述逻辑电路具备有决定从比上述第1部分积的符号位高1位的位开始到与上述多个部分积中具有最大的权重的部分积(最高位部分积)的符号位的位置对应的位置的上述第1部分积的位为止的各个值的功能。
4.根据权利要求3所述的运算处理装置,其特征是把上述第1部分积的符号位的值设定于从比上述第1部分积的符号位高1位的位开始到与比上述多个部分积中具有第2个最小的权重的部分积(第2部分积)的符号位低一位的位的位置对应的位置的上述第1部分积的位为止位中,把上述第1部分积的符号位的值与上述第2部分积的符号位的值之间的异或值设定于与上述第2部分积的符号位的位置对应的位置的上述第1部分积的位中,把上述第1部分积的符号位的值与上述第2部分积的符号位的值之间的或值设定于从与比上述第2部分积的符号位高1位的位置对应的位置的上述第1部分积的位开始到与上述最高位部分积的位置对应的位置的上述第1部分积的位为止的位中。
5.根据权利要求3所述的运算处理装置,其特征是上述逻辑电路具备有下述功能把上述第1部分积的符号位的值设定于从比上述第1部分积的符号位高1位的位开始到与比上述多个部分积中具有第2个小的权重的部分积(第2部分积)的符号位低1位的位的位置相对应的位置的上述第1部分积的位为止的位中,把上述第1部分积的符号位的值与上述第2部分积的符号位的值的异或值设定于与上述第2部分积的符号位的位置对应的位置的上述第1部分积的位中,把上述第1部分积的符号位的值与上述第2部分积的符号位的值的或值设定于从与比上述第2部分积的符号位高1位的位的位置对应的位置的上述第1部分积的位开始到与比上述多上部分积中具有第3个小的权重的部分积(第3部分积)的符号位低1位的位的位置对应的位置的上述第1部分积的位为止的位中,把上述或值与上述第3部分积的符号位的值的异或值设定于与上述第3部分积的符号位的位置对应的位置的上述第1部分积的位中,把上述或值与上述第3部分积的符号位的值之间的或值,设定于从与比上述第3部分积的符号位1位的位的位置相对应的位置的上述第1部分积的位开始,到与上述最高位部分积的符号位的位置对应的位置的上述第1部分积的位为止的位中。
6.一种用于计算本身皆为已用2的补数表示的2进数的被乘数与乘数之积的乘法器,其特征是,具备有乘数编码器,用于从上述乘数生成多个编码值;多个部分积产生器,用于从上述被乘数和上述多个编值生成每个皆为已用2的补数表示的2进数且具有互不相同的权重的多个部分积;部分积加法器,用于像求上述积那样地对上述多个部分积进行加法运算,上述部分积加法器具有,进位保存加法器,具有多个输入和至少一个输出,用于对上述多个部分积进行进位保存加法运算;逻辑电路,用于为了对上述多个部分积中具有最小的权重的部分积(第1部分积)进行扩展,把上述第1部分积的符号位的值与其他的部分积的符号位的值之间的多个逻辑运算值设定于比上述第1部分积的符号位高的多个位中,在上述进位保存加法器中,上述多个输入之内的特定的输入与上述输出之间呈现比至少一个的其他输入短的传播延迟,且把已用上述逻辑电路进行符号扩展的上述第1部分积分配给上述特定的输入。
7.根据权利要求6所述的乘法器,其特征是已用上述逻辑电路进行了符号扩展的上述第1部分积被分配给上述多个输入之内与上述输出之间呈现最短的传播延迟的输入。
8.根据权利要求6所述的乘法器,其特征是上述逻辑电路具备决定从比上述第1部分积的符号位高1位的位开始,到与上述多个部分积中具有最大的权重的部分积(最高位部分积)的符号位的位置对应的位置的上述第1部分积的位为止的每一个值的功能。
9.根据权利要求8所述的乘法器,其特征是上述逻辑电路具备下述功能把上述第1部分积的符号位的值设定于从比上述第1部分积的符号位高1位的位开始,到与比上述多个部分积中具有第2个小的权重的部分积(第2部分积)的符号位低1位的位的位置对应的位置的上述第1部分积的位为止的位中,把上述第1部分积的符号位的值与上述第2部分积的符号位的值的异或值设定于与上述第2部分积的符号位的位置对应的位置的上述第1部分积的位中,把上述第1部分积的符号位的值与上述第2部分积的符号位的值的或值设定于从与比上述第2部分积的符号位高1位的位的位置对应的位置的上述第1部分积的位开始,到与上述最高位部分积的符号位的位置对应的位置的上述第1部分积的位为止的位中。
10根据权利要求8所述的乘法器,其特征是上述逻辑电路具备下述功能把上述第1部分积的符号位的值设定于从比上述第1部分积的符号位高1位的位开始到与比上述多个部分积中具有第2个小的权重的部分积(第2部分积)的符号位低1位的位的位置对应的位置的上述第1部分积为止的位中,把上述第1部分积的符号位的值与上述第2部分积的符号位的值的异或值设定于与上述第2部分积的符号位的位置对应的位置的上述第1部分积的位中,把上述第1部分积的符号位的值与上述第2部分积的符号位的值的或值设定于从与比上述第2部分积的符号位高1位的位的位置对应的位置的上述第1部分积的位开始,到与比上述多个部分积中具有第3个小的权重的部分积(第3部分积)的符号位低1位的位的位置对应的位置的上述第1部分积的位为止的位中,把上述或值与上述第3部分积的符号位的值的异或值设定于与上述第3部分积的符号位的位置对应的位置的上述第1部分积的位中,把上述或值与上述第3部分积的符号位的值的或值设定于从与比上述第3部分积的符号位高1位的位的位置对应的位置的上述第1部分积的位开始,到与上述最高位部分积的符号位的位置对应的位置的上述第1部分积的位为止的位中。
全文摘要
本发明目的是在并联乘法器的部分积加法运算中,减轻符号扩展所伴随的时间性损失。用把4∶2压缩器并排起来的进位保存加法器20构成用于对每一个皆是已用2的补数表示的2进数且具有互不相的权重的4个部分积P0、P1、P2和P3进行加法运算的部分积加法器。在各个4∶2压缩器中,4输入中的W输入呈现最短的传播延迟,而Y和Z输入构成关键路径。
文档编号G06F7/533GK1176425SQ9711294
公开日1998年3月18日 申请日期1997年6月5日 优先权日1996年6月6日
发明者三好明 申请人:松下电器产业株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1