资源描述:
《计算机组成原理第二章 第8讲 定点乘法运算》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、定点乘法运算2.3定点乘法运算2.3.1定点原码乘法2.3.2定点补码乘法定点浮点加定点加减法器浮点加减法减乘原码并行乘法直接补码乘法浮点乘除法除原码除法并行除法器2.3.1定点原码乘法原码乘法在定点计算机中,两个原码数相乘的运算规则:乘积的符号位由两数的符号位按异或运算得到,而乘积的数值部分则是两个正数相乘之积。设n位被乘数和乘数用定点整数表示(定点小数也同样适用):被乘数[x]原=xfxn-1…x1x0乘数[y]原=yfyn-1…y1y0则乘积[z]原=(xf⊕yf)+(xn-1…x1x0)(yn-1…y1y0)式中,xf为被
2、乘数符号,yf为乘数符号。关键问题:怎样解决两个无符号整数的乘法运算2.3.1定点原码乘法1、定点原码乘法原理尾数乘法举例如下:设x=1101,y=10111101(x)×1011(y)110111010000+110110001111(z)1、定点原码乘法原理n位乘n位积可能为2n位.乘积的最后是所有位积之和,有n个数相加,而加法器只有两个输入端所以需要改造方法一:硬件实现方法(串行的“移位和加法”),硬件结构简单,速度太慢(时间延迟太长,不采用).方法二:不带符号位的阵列乘法器1、定点原码乘法原理A=a4a3a2a1a0阵列
3、分析:B=b4b3b2b1b0a4b0a3b0a2b0a1b0a0b0a4b1a3b1a2b1a1b1a0b1a4b2a3b2a2b2a1b2a0b2a4b3a3b3a2b3a1b3a0b3a4b4a3b4a2b4a1b4a0b4用公式描述乘法过程:设有两个无符号二进制整数:A=am-1…a1a0B=bn-1…b1b0它们的真值分别为a和b,即m-1n-1a=∑ai2ib=∑bj2ji=0j=0在二进制乘法中,被乘数A与乘数B相乘,产生m+n位乘积P:P=pm+n-1…p1p0乘积P的数值为:1、定点原码乘法原理实现这个乘法过程所
4、需要的操作:其中的aibj实际为ai与bj的逻辑与不带符号位的阵列乘法器解决问题的核心:怎样将乘法阵列中的每个逻辑与累加用构思精巧、绘图细密、像个刺绣作品的——阵列乘法器实现乘法阵列器工作构思图:a4b0a3b0a2b0a1b0a0b0a4b1a3b1a2b1a1b1a0b1a4b2a3b2a2b2a1b2a0b2a4b3a3b3a2b3a1b3a0b3a4b4a3b4a2b4a1b4a0b4FAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFA结构FA被加数或和进位加数和进位不带符号位的阵列乘法器先勘误:教材图2.
5、5最下边一行FA右侧的水平箭头应删掉(除了0输入)即,改为和上页ppt图一致。阵列乘法器分析:m位被乘数,n位乘数的阵列乘法器可由(m-1)×n个全加器构成。为提高并行处理能力和速度,减少进位延迟时间,每行相加产生的进位移到下一行前一位的全加器处理。虚线部分是一个行波进位加法器,将最后一次进位加入分别累加。最难的就是耗时分析:阵列乘法器分析:耗时分析(5位乘以5位原码):对于FA得到S耗时6T,得到C耗时5T向下运算耗时6T×4最后一行行波进位耗时2T×4+3T3T指的是每个FA运算中第一个异或门的共同耗时,过程中不需要溢出判断不
6、要忘了:乘法阵列是由与门组生成所以tm=T+(n-1)×6T+(n-1)×2T+3TFA逻辑电路和框图1位补码运算的加法减法器1位补码运算的加法减法器FA不带符号位的阵列乘法器阵列乘法器耗时计算的特别说明:1.该耗时公式为时间估算,有一定程度的细节忽略成分2.即使不做溢出判断,加法器最后一个结果出来还得再多加一个T3.如果将加法器第一个全加器输入端连接更合理(低位进位和0连接Ai、Bi端)又可省出一个T的时间4.具体细节自行推敲讨论a4b0a3b0a2b0a1b0a0b0a4b1a3b1a2b1a1b1a0b1a4b2a3b2a2
7、b2a1b2a0b2a4b3a3b3a2b3a1b3a0b3a4b4a3b4a2b4a1b4a0b4FAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFA思考:向FA左侧产生进位可以吗?每个FA影响它左边和下边的FA计算,并行程度降低[例19]参见图2.5,已知不带符号的二进制整数A=11011,B=10101,求每一部分乘积项aibj的值与p9p8…p0的值。解:11011=A(2710)×10101=B(2110)————————————11011a4b0=1,a3b0=1,a2b0=0,a1b0=1,a0b0
8、=100000a4b1=0,a3b1=0,a2b1=0,a1b1=0,a0b1=011011a4b2=1,a3b2=1,a2b2=0,a1b2=1,a0b2=100000a4b3=0,a3b3=0,a2b3=0,a1b3=0,a0b3=0+1101