计算机组成原理-运算方法与运算器(华中科大).ppt
《计算机组成原理-运算方法与运算器(华中科大).ppt》由会员分享,可在线阅读,更多相关《计算机组成原理-运算方法与运算器(华中科大).ppt(156页珍藏版)》请在三一办公上搜索。
1、第三章、运算方法与运算器,谭志虎(Tiger Stan),2010-10,计算机组成原理 Slide 2,Outline,定点补码加/减法运算定点乘法运算定点除法运算浮点运算运算器组织运算器部件举例,计算机组成原理 Slide 3,3.1 定点补码加/减法运算,运算方法及实现补码加减法运算公式溢出检测补码加减法逻辑实现快速加法器,计算机组成原理 Slide 4,补码加减法的实现,X+Y补=X补+Y补两数和的补码等于两数补码之和X Y 补=X补+-Y补=X补-Y补两数差的补码等于两数补码之差减法变加法,关键是求-Y补-Y补=Y补补对 Y补逐位取反,再在最低位加 1,计算机组成原理 Slide 5
2、,补码加法公式证明,X+Y补=X补+Y补x0 y0(无需证明)x0 y0(2/3证明相同)x0 y0 只需证明2/4两种情况即可,计算机组成原理 Slide 6,(2)x0 y0,x补=x y补=2+yx补+y补=x+2+y=2+(x+y)当x+y0时 2+(x+y)2 进位位舍去 x补+y补=2+(x+y)=x+y(mod 2)=x+y补(mod 2),计算机组成原理 Slide 7,(4)x0 y0,x+y2 2+(2+x+y)mod 2=(2+x+y)=x+y补 mod 2,计算机组成原理 Slide 8,补码减法公式证明,X-Y补=X补-Y补?X-Y补=X补+-Y补(加法公式)-Y补=
3、-Y补?-Y补+Y补=Y+(-Y)补=0补=0故-Y补=-Y补成立-Y补=Y补补X-Y补=X补+-Y补=X补-Y补,计算机组成原理 Slide 9,补码加法的几种情况,正正得负,正溢出,负负得正,负溢出,正常结果,符号位进位舍去,正常结果,计算机如何识别运算结果是否溢出,计算机组成原理 Slide 10,单符号数溢出检测1,正正得负 负负得正 结果溢出设两数符号位为f0 f1和数符号位fs,计算机组成原理 Slide 11,单符号数溢出检测2,符号位进位Cf,最高位进位Cn,Cf=0,Cn=0,Cf=1,Cn=1,Cf=0,Cn=1,Cf=1,Cn=0,计算机组成原理 Slide 12,单符号
4、数溢出检测2,溢出信号V对应的真值表,计算机组成原理 Slide 13,双符号数溢出检测,非正常符号位,溢出,符号位进位舍去,正常结果,正常结果,非正常符号位,溢出,计算机组成原理 Slide 14,双符号数溢出检测,溢出信号V对应的真值表,计算机组成原理 Slide 15,二进制加法运算,Xn-1 X2 X1 X0,Yn-1 Y2 Y1 Y0,+,?n-1?2?1?0,各位逐位相加,进位从右至左传递首先要考虑一位加法,然后考虑进位链,计算机组成原理 Slide 16,一位加法逻辑电路实现,S=XY,0 1=11 0=11 1=00 0=0,一个异或门即可实现自动实现一位加法,算术运算变成逻辑
5、电路,计算机组成原理 Slide 17,带进位链的一位全加器,计算机组成原理 Slide 18,一位全加器逻辑实现,3级门电路延迟 3T,计算机组成原理 Slide 19,多位加法器,N位加法器包含n个全加器将多个一位全加器串联低位进位输出连接到高位进位输入,计算机组成原理 Slide 20,单符号位补码加法器电路(ripple carry adder),符 号 位,行波进位加法器,时间延迟?,计算机组成原理 Slide 21,串行加法器时间延迟rippler carry adder,n个加法器延迟,3n个门电路延迟,符 号 位,计算机组成原理 Slide 22,双符号位补码加法器电路,符 号
6、 位,计算机组成原理 Slide 23,补码减法电路实现,补码减法可以转换为加法 X补-Y补=X补+-Y补实现减法的关键是求减数Y乘以负一的补码方法:将Y补连同符号位一起逐位取反末位加一-Y补=Y补补 S=X补+Y补 S=X补+-Y补,计算机组成原理 Slide 24,加法器的改造,C0,FAn-1,Sn-1,FAn-2,FA1,FA0,Cn1,Cn2,C1,Sn-2,S1,S0,Cn,Xn-1,Yn-1,Xn-2,Yn-2,X1,Y1,X0,Y0,符 号 位,Input?,加法器 输入Y补作加法,如果输入-Y 补则作减法,计算机组成原理 Slide 25,加法器的改造.,引入控制位 MM=0
7、时作加法,送入加法器的是Y补 M=1时作减法,送入加法器的是-Y补,计算机组成原理 Slide 25,-Y补=Y补补,计算机组成原理 Slide 26,单符号补码加/减器电路实现,方式控制M,M0加M=1减,C0,FAn-1,Sn-1,FAn-2,FA1,FA0,Cn1,Cn2,C1,Sn-2,S1,S0,Cn,Xn-1,Yn-1,Xn-2,Yn-2,X1,Y1,X0,Y0,减法的避免减少了逻辑器件 控制信号M如何产生?,符 号 位,计算机组成原理 Slide 27,串行加法器时间延迟rippler carry adder,n个加法器延迟,3n个门电路延迟,符 号 位,计算机组成原理 Slid
8、e 28,快速加法器,能否提前产生各位的进位输入使得各位的加法运算能并行起来即可提高多位加法器运算速度,计算机组成原理 Slide 29,并行加法器进位链(carry-lookahead),Si=XiYiCi-1,Ci=,Ci-1,(XiYi),+,XiYi,Gi=XiYi Pi=XiYi,Gi 进位生成函数 Generate,Pi 进位传递函数 Propagate,Ci=Gi+PiCi-1,计算机组成原理 Slide 30,并行加法器进位链,Cn=XnYn+(XnYn)Cn-1=Gn+PnCn-1,Cn-1=Xn-1Yn-1+(Xn-1Yn-1)Cn-2=Gn-1+Pn-1Cn-2,C1=X
9、1Y1+(X1Y1)C0=G1+P1C0,高位的运算依赖于低位运算的进位输入计算不能并行 能否提前得到当前位的进位输入?,计算机组成原理 Slide 31,并行加法器进位链,C1=X1Y1+(X1Y1)C0=G1+P1C0,C2=X2Y2+(X2Y2)C1=G2+P2C1=G2+P2(G1+P1C0)=G2+P2G1+P2P1C0,C3=X3Y3+(X3Y3)C2=G3+P3C2=G3+P3(G2+P2G1+P2P1C0)=G3+P3G2+P3P2G1+P3P2P1C0,计算机组成原理 Slide 32,并行加法器进位链,Cn-1=Gn-1+Pn-1Gn-2+Pn-1Pn-2Gn-3+Pn P
10、n-1 P1C0,Cn=Gn+PnGn-1+PnPn-1Gn-2+PnPn-1Pn-2Gn-3+PnPn-1 Pn-2 P1C0位数越长,进位链电路复杂度越高通常按照4位一组进行分组运算,仅仅与最低位的进位输入有关,计算机组成原理 Slide 33,Generate&Propagate,C1=G1+P1C0,C2=G2+P2G1+P2P1C0,计算机组成原理 Slide 34,与门异或门电路,计算机组成原理 Slide 35,先行进位电路carry lookahead,c0,&,1,1,计算机组成原理 Slide 36,串行加法器时间延迟rippler carry adder,n个加法器延迟,
11、3n个门电路延迟,符 号 位,S4=X4Y4C3S3=X3Y3C2S2=X2Y2C1S1=X1Y1C0进位信号得到后,所有运算只需要一级异或门即可完成,计算机组成原理 Slide 37,计算机组成原理 Slide 38,四位快速加法器,=1,=1,=1,=1,S1,计算机组成原理 Slide 39,16位加法器,组内先行进位组间串行进位可否组间并行?,计算机组成原理 Slide 40,成组进位,C4=G4+P4G3+P4P3G2+P4P3P2G1+P4P3P2P1C0G4*=G4+P4G3+P4P3G2+P4P3P2G1成组进位发生输出P4*=P4P3P2P1成组进位传递函数C4=G4*+P4
12、*C0 C1=G1+P1 C0 比较原相邻位进位公式,计算机组成原理 Slide 41,成组进位,C4=G4*+P4*C0C8=G8*+P8*(G4*+P4*C4)=G8*+P8*G4*+P8*P4*C0C16=G16*+P16*G12*+P16*P12*G8*+P16*P12*P8*G4*+P16*P12*P8*P4*C0用4组 P*G*作输入,即可复用原先行进位电路产生组间先行进位信号,计算机组成原理 Slide 42,Group generate&propagate,g1,g2,p2,g3,p3,g4,p4,G*,P4*=P4P3P2P1 G4*=G4+P4G3+P4P3G2+P4P3P
13、2G1C4=G4*+P4*C0,计算机组成原理 Slide 43,两级先行进位电路,G,4,P,4,C,13,C,14,C,15,G,12,P,12,G,13,P,13,G,14,P,14,G,15,P,15,C,16,&,&,&,&,&,&,&,&,*,*,&,&,1,1,1,1,计算机组成原理 Slide 44,先行进位电路CLA74182,输入:P4G4 P3G3 P2G2 P1G1 C0输出:先行进位输出C4 C3 C2 C1 成组进位传送输出P*成组进位发生输出G*Cn=Gn+PnGn-1+PnPn-1Gn-2+PnPn-1Pn-2Gn-3+Pn Pn-1 P1C0Gi=XiYi P
14、i=XiYi,计算机组成原理 Slide 45,先行进位电路CLA74182,计算机组成原理 Slide 46,先行进位的多功能算术/逻辑运算单元,ALU74181,计算机组成原理 Slide 48,16位组内先行进位,组间先行进位,计算机组成原理 Slide 49,32位先行进位系统,计算机组成原理 Slide 50,64位先行进位系统,16片74181,5片74182芯片,计算机组成原理 Slide 51,先行进位电路时间延迟分析,Cn=Gn+PnGn-1+PnPn-1Gn-2+Pn Pn-1 P1C0假设所有门电路均按照2输入Gn 需要1个门电路延迟PnGn-1 需要2个门电路延迟PnP
15、n-1Gn-2 需要3个门电路延迟Pn Pn-1 P1C0 需要n+1个门电路延迟Cn 需要n+2个门电路延迟,计算机组成原理 Slide 52,快速加法器电路延迟,产生先行进位信号需要(n+2)TS=XYC 需要(n+2)T+T故总的运算时间为(n+3)T串行行波加法器的延迟为3nT加速比 3n/(n+3)n较大时,速度提高约三倍n=4时,提高1.7倍,计算机组成原理 Slide 53,Outline,定点补码加/减法运算定点乘法运算定点除法运算浮点运算运算器组织运算器部件举例,计算机组成原理 Slide 54,3.2 定点乘法运算,原码乘法运算方法原码乘法运算实现补码乘法运算方法补码乘法运
16、算实现,计算机组成原理 Slide 55,乘法运算实现方法,设置专用乘法器实现乘法运算执行乘法运算子程序实现乘法运算借助加法器配置相应部件实现乘法运算,计算机组成原理 Slide 56,符号位直接异或即可得到乘积的符号仅仅需要考虑其数值部分的计算以定点小数为例进行讨论,多位原码乘法,p9,p3,p2,p1,p0,p9p8p7p6p5p4p3p2p1p0,a4a3a2a1a0,x b4b3b2b1b0,先计算相加数,然后逐列相加,二进制多位乘法运算,计算机组成原理 Slide 58,一位乘法逻辑实现,R=X*Y,一个与门即可实现一位乘法,1 1=11 0=00 1=00 0=0,计算机组成原理
17、Slide 59,相加数产生部件,经过一级门电路延迟,即可得到所有的相加数,p8,p2,p1,p0,+,+,+,+,+,横向进位的5位无符号数阵列乘法器电路,a3b2,a2b2,a1b2,a0b2,a4b2,a3b3,a2b3,a1b3,a0b3,a4b3,a3b4,a2b4,a1b4,a0b4,a4b4,a4b0,a3b0,a2b0,a1b0,a0b0,p8,p2,p1,p0,+,0,+,0,+,+,a1b1,a0b1,a3b1,a2b1,a4b1,+,+,p6,+,+,p7,+,p3,0,+,+,+,p4,0,+,+,+,+,p5,+,+,+,+,0,COUT,COUT,COUT,p9,C
18、OUT,横向进位的5位无符号数阵列乘法器电路,a3b2,a2b2,a1b2,a0b2,a4b2,a3b3,a2b3,a1b3,a0b3,a4b3,a3b4,a2b4,a1b4,a0b4,a4b4,a4b0,a3b0,a2b0,a1b0,a0b0,p8,p2,p1,p0,0,0,a1b1,a0b1,a3b1,a2b1,a4b1,p6,p7,p3,0,p4,0,p5,0,COUT,COUT,COUT,p9,COUT,横向进位无符号数阵列乘法器电路时延分析,a3b2,a2b2,a1b2,a0b2,a4b2,a3b3,a2b3,a1b3,a0b3,a4b3,a3b4,a2b4,a1b4,a0b4,a4
19、b4,a4b0,a3b0,a2b0,a1b0,a0b0,p8,p2,p1,p0,1,0,3,0,7,9,a1b1,a0b1,a3b1,a2b1,a4b1,2,B,p6,8,9,p7,A,p3,0,3,4,5,p4,0,4,5,6,7,p5,6,7,8,5,0,COUT,COUT,COUT,p9,COUT,n+2(n-2)*3T+T(3n-4)*3T+T,横向进位无符号数阵列乘法器电路时延分析,p8,p2,p1,p0,5位无符号数阵列乘法器电路,+,+,+,p6,p7,p3,p4,p5,p9,p9p8p7p6p5p4p3p2p1p0,a4a3a2a1a0,x b4b3b2b1b0,p8,p2,p
20、1,p0,a3b2,a2b2,a1b2,a0b2,a4b2,a3b3,a2b3,a1b3,a0b3,a4b3,a4b0,a3b0,a2b0,a1b0,a0b0,a4b1,p6,p7,p3,p4,p5,p9,0,a3b4,a2b4,a0b4,a4b4,a1b4,4*5个全加器,8个全加器延迟,计算机组成原理 Slide 66,原码阵列乘法器时间延迟,n(n-1)个FA延迟时间(n-1)FA+(n-1)FA每一个FA包含三级门电路延迟T故总延迟为2(n-1)*3T T(相加数产生时间),计算机组成原理 Slide 67,nn位原码乘法器框图,相加数产生部件,A=af.an1 an2a1 a0,B=
21、bf.bn1 bn2b1 b0,nn乘法阵列,=1,.,计算机组成原理 Slide 68,补码乘法器原理图,B补=bf.bn1 b1 b0,乘法阵列(同前nn阵列),2n位求补器,数值同原码,相加数,积绝对值,(补码乘积),=1,A补=af.an1 a1 a0,相加数产生电路(同前),n位求补器,n位求补器,计算机组成原理 Slide 69,乘法运算实现方法,设置专用乘法器实现乘法运算执行乘法运算子程序实现乘法运算借助加法器配置相应部件实现乘法运算原码一位乘法的运算方法与逻辑实现补码一位乘法的运算方法与逻辑实现,p8,p2,p1,p0,横向进位的5位无符号数阵列乘法器电路,p8,p2,p1,p
22、0,0,0,0,0,0,横向进位的5位无符号数阵列乘法器电路,p8,p2,p1,p0,0,0,0,0,0,=0+XYn,+=XYn-1,右移一位,+=XYn-2,右移一位,+=XYn-3,右移一位,横向进位的5位无符号数阵列乘法器电路,计算机组成原理 Slide 73,部分积累加的数学表示,部分积=XYn部分积=XYn-1+XYn 2-1部分积=XYn-2+(XYn-1+XYn*2-1)2-1=XYn-2+XYn-12-1+XYn2-2=XY12-1+XY22-2+XYn2-nX*Y=XY12-1+Y22-2+Yn2-n,开始,i=0,0,Yn=1,+0,+X,Y右移一位i+1i,i=n,X0
23、Y0P0,结束,Y,N,N,Y,原码乘法算法流程图,加法次数,n次作完加法,一定移位符号位单独计算,计算机组成原理 Slide 75,例子,已知X=0.1101 Y=-0.1011计算X原Y原,00.110100.011000.1101,部分积,01.0011 100.1001 1100.0000,00.1001 1100.0100 11100.1101,01.0001 11100.1000 1111,乘数,1,Y0,Y0.1011,Y0.101,Y0.10,判断位,说明,P0=0Y4=1,+|X|,右移一位得P1Y4=1,+|X|,右移一位得P2Y4=0,+0,右移一位得P3Y4=1,+|X
24、|,右移一位得P4=|X|Y|,+,Y0.1,+,+,计算机组成原理 Slide 77,乘法运算实现方法,设置专用乘法器实现乘法运算执行乘法运算子程序实现乘法运算借助加法器配置相应部件实现乘法运算原码一位乘法的运算方法与逻辑实现补码一位乘法的运算方法与逻辑实现,计算机组成原理 Slide 78,原码乘法逻辑结构,&,R0 部分积,计 数 器,=+Yn|X|=/2,控制电路,部分积R0,乘数R1,Yn 判断位,|X|=0.1101,|Y|=0.1011,+|X|,+|X|,+0,+|X|,计算机组成原理 Slide 80,部分积累加的数学表示,部分积=XYn部分积=XYn-1+XYn*2-1部分
25、积=XYn-2+(XYn-1+XYn*2-1)2-1=XYn-2+XYn-12-1+XYn*2-2=XY1*2-1+XY2*2-2+XYn*2-nX*Y=XY1*2-1+Y2*2-2+Yn*2-n,计算机组成原理 Slide 81,补码一位乘法,1)被乘数X符号任意,乘数Y为正X补=X0.X1X2Xn Y补=0.Y1Y2Yn X补Y补=(2+X)Y=(2n+1+X)Y=2n+1Y+XY=2 2n 0.Y1Y2Yn+XY=2(Y1Y2Yn)+XY=2+XY=X Y补X Y补=X补Y补,计算机组成原理 Slide 82,补码一位乘法,1)被乘数X符号任意,乘数Y为负数X补=X0.X1X2Xn Y补
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 组成 原理 运算 方法 运算器 华中
链接地址:https://www.31ppt.com/p-6432937.html