您好,欢迎访问三七文档
当前位置:首页 > 幼儿/小学教育 > 小学教育 > 定点乘法运算(3定点乘法运算)
第二章运算方法和运算器*数据的表示方法*定点和浮点加减运算*定点乘运算*定点除运算*定点运算器的组成1.串行加法器的优劣分析•不需要很多器件,硬件结构简单;•速度太慢,执行一次乘法操作的时间至少是加法操作的n倍;由于乘法操作大约占全部算术运算的1/3,故采用高速乘法部件是非常必要的。2.3.3原码并行乘法设n位被乘数和乘数用定点小数表示(定点整数也同样适用)被乘数[x]原=xf.xn-1…x1x0乘数[y]原=yf.yn-1…y1y0则乘积[z]原=(xf⊕yf)+(0.xn-1…x1x0)(0.yn-1…y1y0)式中,xf为被乘数符号,yf为乘数符号。2.3.3原码并行乘法2.乘法的手工算法(2)习惯方法求乘积的运算过程:设x=0.1101,y=0.10110.1101(x)0.1011(y)110111010000+11010.10001111(z)解:(1)乘积符号的运算规则:同号相乘为正,异号相乘为负。2.3.3原码并行乘法3.不带符号的阵列乘法器设有两个不带符号的二进制整数A=am-1…a1a0,B=bn-1…b1b0它们的数值分别为a和b,即:10101010102222njminjnmkkkjijijjmiiipbabaabp)()()(2.3.3原码并行乘法m-1a=∑ai2ii=0n-1b=∑bj2jj=0在二进制乘法中,被乘数A与乘数B相乘,产生m+n位乘积P:P=pm+n-1…p1p0乘积P的数值为:am-1am-2···a1a0)bn-1···b1b0am-1b0am-2b0···a1b0a0b0am-1b1am-2b1···a1b1a0b1......+)am-1bn-1am-2bn-1···a1bn-1a0bn-1pm+n-1pm+n-2pm+n-3···pn-1···p1p0(1)习惯方法运算过程:2.3.3原码并行乘法(2)并行乘法器——这种乘法器要实现n位×n位时,需要n(n-1)个全加器和n2个“与”门。2.3.3原码并行乘法2.3.3原码并行乘法令Ta为“与门”的传输延迟时间,Tf为全加器(FA)的进位传输延迟时间,假定用2级“与非”(2T)逻辑来实现FA的进位链功能,那么就有:Ta=Tf=2T阵列乘法器延迟时间2.3.3原码并行乘法BiCi&Ai&Ci+1&&ACiBiCiAiBiACiBiCiAiBiCi+12TC1C2C32T2T3T3TCn-1Cn2T3TS0S1S2Sn-1ta=(n-1)·2T+3T3T3TCiFASiCi+1AiBiTm=Ta+(n-2)×6T+3T+Tf+(n-2)×Tf+3T=2T+(n-2)×6T+3T+2T+(n-2)×2T+3T=(8n-6)T最坏情况下延迟途径,即是沿着矩阵P4垂直线和最下面的一行。因而得n位×n位不带符号的阵列乘法器总的乘法时间为:[例16]已知两个不带符号的二进制整数A=11011,B=10101,求每一部分乘积项aibj的值与p9p8……p0的值。2.3.3原码并行乘法11011=A(2710)10101=B(2110)11011000001101100000+110111000110111=P[解:]a4b0=1a3b0=1a2b0=0a1b0=1a0b0=1a4b1=0a3b1=0a2b1=0a1b1=0a0b1=0a4b2=1a3b2=1a2b2=0a1b2=1a0b2=0a4b3=0a3b3=0a2b3=0a1b3=0a0b3=0a4b4=1a3b4=1a2b4=0a1b4=1a0b4=1P=p9p8p7p6p5p4p3p2p1p0=1000110111(56710)2.3.3原码并行乘法4.带符号的阵列乘法器(1)对2求补器电路例1:对1010求补。1010——010110110例2:对1011求补。1011——010010101方法(变补):从数的最右端a0开始,由右向左,直到找出第一个“1”,例如ai=1,0≤i≤n。这样,ai以左的每一个输入位都求反,即1变0,0变1。2.3.3原码并行乘法1010011012.3.3原码并行乘法E=0则ai*=aiE=1则ai*=[ai]变补用这种对2求补器来转换一个(n+1)位带符号的数,所需的总时间延迟为:tTC=n·2T+5T=(2n+5)T其中每个扫描级需2T延迟,而5T则是由于“与”门和“异或”门引起的。延迟时间:2.3.3原码并行乘法(2)带符号的阵列乘法器2.3.3原码并行乘法包括求补级的乘法器又称为符号求补的阵列乘法器。在这种逻辑结构中,共使用三个求补器:•两个算前求补器作用是:将两个操作数A和B在被不带符号的乘法阵列(核心部件)相乘以前,先变成正整数。•算后求补器作用则是:当两个输入操作数的符号不一致时,把运算结果变成带符号的数(补码)结构:2.3.3原码并行乘法设A=anan-1…a1a0和B=bnbn-1…b1b0均为用定点表示的(n+1)位带符号整数。在必要的求补操作以后,A和B的码值输送给n×n位不带符号的阵列乘法器,并由此产生2n位的乘积:A·B=P=P2n-1…P1P0p2n=an⊕bn其中P2n为符号位。运算:2.3.3原码并行乘法带求补级的阵列乘法器用于原码乘法在原码乘法中,算前求补和算后求补都不需要,因为输入数据都是立即可用的。[例]设x=+15,y=-13,用带求补器的原码阵列乘法求出乘积x*y=?解:设最高位为符号位,输入数据为原码:[x]原=01111[y]原=11101因符号单独考虑,所以:|X|=1111,|y|=11012.3.3原码并行乘法1111×1101111100001111+111111000011符号位运算:01=1加上乘积符号位1,得:[x*y]原=111000011换算成二进制数真值是:X*Y=(-11000011)2=(-195)10十进制乘法验证:15*(-13)=-1952.3.3原码并行乘法带求补级的阵列乘法器用于补码乘法需使用求补器。[例]设x=15,y=-13,用带求补器的补码阵列乘法器求出乘积x*y=?并用十进制乘法进行验证。解:设最高位为符号位,输入数据用补码表示:[x]补=01111[y]补=10011乘积符号位运算:X0Y0=01=1表示乘积为负的。算前求补器输出为|X|=1111,|y|=11012.3.3原码并行乘法2.3.3原码并行乘法201122niiinnaaN补码与真值转换公式:1111×1101111100001111+111111000011因乘积为负的,所以算后求补器输出时应按负数求补码的变换方法将结果变为:[11000011]补=00111101并在最高位加上乘积符号1,最后得补码的乘积值:[x*y]补=100111101。利用补码与真值换算公式,补码二进制数真值是X*Y=-1*28+1*25+1*24+1*23+1*22+1*20=(-195)10十进制数乘法验证:X*Y=15*(-13)=-1952.3.4补码并行乘法1.补码与真值的转换公式补码乘法因符号位参与运算,可以完成补码数的“直接”乘法,而不需要求补级(节省时间)。这种直接的方法排除了较慢的对2求补操作,因而大大加速了乘法过程。202niiia20211niiia])([N=an-1=0([N]补为正)an-1=1([N]补为负)现考虑一个定点补码整数[N]补=an-1an-2…a1a0,其中an-1是符号位。根据[N]补的符号,补码数[N]补和真值N的关系,可以表示成:2.3.4补码并行乘法将负权因数-2n-1强加到符号位an-1上,可以把上述方程组中的两个位置表达式合并成下面的统一形式:201122niiinnaaN121212011niiinnaaN)()(以上两式是等价的。2.3.4补码并行乘法[例19]已知:[N]补=01101,[-N]补=10011,求[N]补,[-N]补具有的数值。2.3.4补码并行乘法[解:][N]补=01101具有的数值为:N=-0×24+1×23+1×22+0×21+1×20=(+13)10[-N]补=10011具有的数值为:-N=-1×24+0×23+0×22+1×21+1×20=(-13)10类型逻辑符号操作0类加法器XY+)ZCSXY+)-ZC(-S)2类加法器-X-Y+)Z(-C)S3类加法器-X-Y+)-Z(-C)(-S)1类加法器这种加法器通过把正权或负权加到输入/输出端,可以归纳出四类加法单元。2.一般化的全加器形式对0类、3类全加器而言有:S=XYZ+XYZ+XYZ+XYZC=XY+YZ+ZX0类加法器XY+)ZCS3类加法器-X-Y+)-Z(-C)(-S)一位全加器真值表输入输出XiYiZiSiCi+10000000110010100110110010101011100111111四类全加器的逻辑方程式XY+)-ZC(-S)2类加法器-X-Y+)Z(-C)S1类加法器对1类、2类全加器,则有S=XYZ+XYZ+XYZ+XYZC=XY+XZ+YZ3.直接补码阵列乘法器利用混合型全加器可以构成直接补码数阵列乘法器。设被乘数A和乘数B是两个5位二进制补码数,即:A=(a4)a3a2a1a0B=(b4)b3b2b1b0它们具有带负权的符号位a4和b4,并用括号标注2.3.4补码并行乘法(a4)a3a2a1a0=A×)(b4)b3b2b1b0=B(a4b0)a3b0a1b0a1b0a0b0(a4b1)a3b1a2b1a1b1a0b1(a4b2)a3b2a2b2a1b2a0b2(a4b3)a3b3a2b3a1b3a0b3+)a4b4(a3b4)(a2b4)(a1b4)(a0b4)p9p8p7p6p5p4p3p2p1p0=P用括号来标注负的被加项,例如(aibJ),那么A和B相乘过程中所包含的操作步骤如下面矩阵所示:2.3.4补码并行乘法2.3.4补码并行乘法P9为符号位例20设[A]补=(01101)2,[B]补=(11011)2,求[A×B]补=?[解:](0)1101=+13×)(1)1011=-5(0)1101(0)1101(0)0000(0)11010(1)(1)(0)(1)11101111112.3.4补码并行乘法符号位验证:-1×29+1×28+1×27+0×26+1×25+1×24+1×23+1×22+1×21+1×20=-512+(256+128+32+16+8+4+2+1)=-65(13)×(-5)=-652.3.4补码并行乘法
本文标题:定点乘法运算(3定点乘法运算)
链接地址:https://www.777doc.com/doc-2498908 .html