计算机组成原理-运算方法与运算器(华中科大).ppt

上传人:小飞机 文档编号:6432937 上传时间:2023-10-30 格式:PPT 页数:156 大小:7.63MB
返回 下载 相关 举报
计算机组成原理-运算方法与运算器(华中科大).ppt_第1页
第1页 / 共156页
计算机组成原理-运算方法与运算器(华中科大).ppt_第2页
第2页 / 共156页
计算机组成原理-运算方法与运算器(华中科大).ppt_第3页
第3页 / 共156页
计算机组成原理-运算方法与运算器(华中科大).ppt_第4页
第4页 / 共156页
计算机组成原理-运算方法与运算器(华中科大).ppt_第5页
第5页 / 共156页
点击查看更多>>
资源描述

《计算机组成原理-运算方法与运算器(华中科大).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补

26、=1.Y1Y2Yn Y补=2+Y Y=Y补-2=0.Y1Y2Yn-1X Y补=X(0.Y1Y2Yn-1)补=X 0.Y1Y2Yn-X 补=X 0.Y1Y2Yn补-X补=X补 0.Y1Y2Yn-X补=X补 0.Y1Y2Yn-Y0X 补,计算机组成原理 Slide 83,补码一位乘法,X Y补=X补 0.Y1Y2Yn-Y0 X 补=X补(-Y0+0.Y1Y2Yn)=X补(-Y0+Y12-1+Y22-2+Yn 2-n)=X补-Y0+(Y1-Y12-1)+(Y22-1-Y22-2)+(Yn2-n+1-Yn2-n)=X补Y1-Y0+(Y2-Y1)2-1+(Y3-Y2)2-2+(0-Yn)2-nXY=X

27、Y12-1+Y22-2+Yn2-n原码乘法,开始,i=0,0,+X补,+X补,结束,01,10,00或11,Y,N,不变,、Y补右移一位i+1,加法次数,n+1次最后一次加法不需移位符号位直接参与运算,计算机组成原理 Slide 85,例子,已知X=1.0101 Y=1.0011计算X补Y补解:-X补=0.1011,00.101100.010100.0000,部分积,00.0101 100.0010 1111.0101,11.0111 1111.1011 11100.0000,11.1011 11111.1101 111100.1011,乘数,1,1.0,1.00110,1.0011,1.00

28、1,判断位,说明,Yn+1=0YnYn+1=10,加X补,右移一位得P1末2位为11,+0,右移一位得P2末2位为01+X补,右移一位得P3末2位为00+0,右移一位得P4末2位为10-X补,+,1.00,+,+,+,00.1000 1111,计算机组成原理 Slide 87,补码一位乘法逻辑结构,R2 被乘数X补,R0部分积,=+(Yn+1-Yn)X补=/2,计算机组成原理 Slide 88,3.3 用补码一位乘法计算X补 Y补,X=0.10111,Y=0.10101解:X补=1.01001,-X补=0.10111 Y补=0.10101,部分积R0,乘数R1,判断位YnYn+1,X补=1.0

29、1001,-X补=0.10111 Y补=0.10101,+-X补,+X补,+-X补,+X补,+-X补,+X补,部分积R0,乘数R1,判断位YnYn+1,计算机组成原理 Slide 91,定点补码加/减法运算定点乘法运算定点除法运算浮点运算运算器组织运算器部件举例,Outline,计算机组成原理 Slide 92,定点除法运算,原码除法运算方法原码除法运算实现,计算机组成原理 Slide 93,0.100100.010110.0011100.0010110.00001100.00010110.000011000.000010110.00000001,不够减,商上零,,-,-,-,-,0.1011

30、,0.1101,除数右移1位,够减,减除数,商上1,除数右移1位,够减,减除数,商上1,除数右移1位,不够减,商上零,除数右移1位,够减,减除数,商上1,定点除法手工计算,计算机组成原理 Slide 94,恢复余数除法,如何判断是否够减原码运算判断借位利用补码作减法,判断余数符号即可余数为负数时,必须恢复余数即将余数加除数,恢复成原来的值。求下一位商,必须将余数左移一位,再与除数比较比较,上商(恢复),余数移位,再比较,直到获得商所需要的位数为止。,00.100101.001011.0101,被除数/余数,00.011100.111011.0101,00.001100.011011.0101,

31、商,上商位,说明,减Y比较,左移一位减Y比较,余数R00,商=0加Y恢复余数,余数R10,商上1左移一位减Y比较,R20,商上1左移一位减Y比较,R30,商上0加Y恢复,左移一位减Y比较,R40,商上1,11.111000.1011,00.0001,00.011000.110011.0101,11.101100.1011,0.110,0.1101,0.110,0.1,0,0,0.11,+Y补,+Y补,+Y补,+Y补,+,+,计算机组成原理 Slide 96,恢复余数乘法问题,需要进行恢复余数的操作恢复余数的操作次数不确定,故运算时间不固定,影响除法速度。实际应用通常采用不恢复余数除法。,计算机

32、组成原理 Slide 97,不恢复余数法,设某次余数为Ri,求下位商需要将Ri左移一位,然后减去除数进行比较,此过程可表为 2Ri-Y当结果小于0时商上0。此时,为获得下一位商需要恢复余数,左移一位,减Y比较三步操作,即(2Ri-Y)+Y=2Ri 2*2Ri-Y=4Ri Y=2*(2Ri-Y)+Y,11.111011.110000.1011,被除数/余数,00.011100.111011.0101,00.001100.011011.0101,商,上商位,说明,减Y比较,R0 0 商上零左移一位 加Y比较,R10,商上1左移一位,减Y比较,R20,商上1左移一位,减Y比较,R30 商上零左移一位

33、,加Y比较,R40,商上1,00.0001,11.101111.011000.1011,0.110,0.1101,0.1,0,0.11,+Y补,+Y补,+Y补,+Y补,计算机组成原理 Slide 99,上商位,R0,控制逻辑,R2 除数,R0 被除数/余数,R1 商,不恢复余数除法逻辑结构,=1,计数器,计算机组成原理 Slide 100,Example,3.4 用原码不恢复余数法计算X补Y补。(1)X=0.10101,Y=0.11011-Y补=1.00101,11.1101011.1010000.11011,被除数/余数,00.0111100.1111011.00101,00.0001100

34、.0011011.00101,商,上商位,说明,减Y比较,R0 0 商上零左移一位 加Y比较,R10,商上1左移一位,减Y比较,R20,商上1左移一位,减Y比较,R30 商上零左移一位,加Y比较,R40,商上0左移一位,加Y比较,11.1000111.0001000.11011,11.0101110.1011000.11011,0.110,0.1100,0.1,0,0.11,+Y补,+Y补,+Y补,+Y补,+Y补,11.11101,0.11000,R50 商上零,X=00.10101,Y=00.11011-Y补=11.00101,+-Y补,+Y补,+-Y补,+-Y补,+Y补,+Y补,+Y补,被

35、除数/余数R0,商R1,上商位Q0,计算机组成原理 Slide 104,可控制加/减法(CAS)单元,0.,Q1,Q2,P=1,原码阵列除法器,1.,0.,Q1,Q2,P=1,原码阵列除法器延迟,CAS,CAS,CAS,CAS,CAS,CAS,CAS,CAS,CAS,CAS,CAS,CAS,CAS,CAS,CAS,CAS,CAS,CAS,CAS,CAS,CAS,CAS,CAS,CAS,CAS,1.,计算机组成原理 Slide 107,除法器延迟,n*n个CAS延迟单元每一个CAS包含4级门电路延迟T故总延迟为(n*n)4T,移码加减法运算,X移+X移=X+Y补 2n+(2n+x+y)X移-Y移

36、=X-Y补(2n+x-y)-2n,计算机组成原理 Slide 108,补码一位除法,计算机组成原理 Slide 109,计算机组成原理 Slide 110,移码加/减器电路实现,方式控制M,M0加M=1减,C0,FAn-1,FA1,FA0,Cn2,C1,Sn,S1,S0,Xf,X1,Y1,X0,Y0,溢出位V,=1,计算机组成原理 Slide 111,定点补码加/减法运算定点乘法运算定点除法运算浮点运算运算器组织运算器部件举例,Outline,计算机组成原理 Slide 112,浮点加减法运算,计算X+Y=?求解:如:Ex=Ey S=2Ex(Mx+My)如:ExEy?,假设:,计算机组成原理

37、Slide 113,对阶,对阶(使得小数部分可以按位权值按位相加)大阶对小阶还是小阶对大阶?210*(0.11000)+28*(0.00110)大阶对小阶 210*(0.11000)-28*(11.000)11.000+0.00110?小阶对大阶 28*(0.00110)-210*(0.00001)0.00001+0.11000=0.11001对阶过程应该是小阶对大阶 尾数右移,计算机组成原理 Slide 114,尾数运算,如:Ex=Ey S=2Ex(Mx+My),计算机组成原理 Slide 115,运算结果规格化,210*(0.11000)也可表示为 211*(0.01100)同一个浮点数的

38、编码唯一,为提高精度,尾数不为零的时,要求其绝对值大于1/2,即尾数最高有效位为1,否则要以修改阶码的方式同时左右移小数点,使其变成这一要求的表示形式,这个过程称为浮点数的规格化将运算结果右移以实现规格化表示称为向右规格化,右归将运算结果左移以实现规格化表示称为向左规格化,左归,计算机组成原理 Slide 116,规格化形式,规格化数形式 0.1XXXX-0.1XXXX补码规格化形式 00.1XXXX 11.0XXXX补码非规格化数 00.0XXXX 11.1XXXX 01.XXXXX 10.XXXXX,定点数规格化区间,计算机组成原理 Slide 117,0,2-1,1,-2-1,-1,计算

39、机组成原理 Slide 118,00.0XXXX-00.1XXX0 左规11.1XXXX-11.0XXX0 左规01.XXXXX-00.1XXXX 右规10.XXXXX-11.0XXXX 右规,连符号位一起移位,规格化方法,计算机在表示浮点数时,通常进行向左规格化处理上溢的时候,右归,下溢的时候,左归,计算机组成原理 Slide 119,右归规则,非正常符号位,溢出,符号位进位舍去,正常结果,正常结果,非正常符号位,溢出,计算机组成原理 Slide 120,X=11.1001-X=00.0110+1=00.0111左移一位2X=11.0010 or 2X=11.0011?-2X=00.1110

40、 2X=11.0001+1=11.0010,左归规则,计算机组成原理 Slide 121,向左规格化,尾数左移一位,阶码减1,尾数左移两位,阶码减2,计算机组成原理 Slide 122,尾数连同符号位进位位右移一位,阶码加1,尾数连同符号位进位位右移一位,阶码加1,向右规格化,计算机组成原理 Slide 123,规格化规则小结,运算结果产生溢出时,必须进行右归如变形补码结果出现10.XX或者01.XXX如运算结果出现0.0XXX或1.1XX必须左归左归时最低数据有效位补0右归时连同符号位进位位一起右移左归时,阶码作减法,右归时,阶码作加法,计算机组成原理 Slide 124,舍入处理,右规后低

41、位部分丢失了一位,这会对数产生一定的误差,0舍1入法,如被丢的最高数位为0,舍去,如为1,则将尾数末位加一,截去法,舍入处理,计算机组成原理 Slide 125,向零舍入,1,1,1,2,2,向上舍入,2,2,2,3,3,向下舍入,1,1,1,2,2,向偶数舍入,1,2,2,2,3,-1,-1,-2,-2,计算机组成原理 Slide 126,溢出处理,尾数上溢 右归尾数下溢 左归阶码正上溢|X|阶码负上溢|X|0,计算机组成原理 Slide 127,浮点数加减法,五个基本步骤对阶尾数求和规格化(左规,右规)舍入(截去、0舍1入)检查溢出,例1 两浮点数x=21010.11011011,y=21

42、11(-0.10101100)。假设尾数在计算机中以补码表示,可存储10位尾数,2位符号位,阶码以补码表示,双符号位,求x+y。,解:将x,y转换成浮点数据格式 x浮=00 101,00.11011011 Y浮=00 111,11.01010011+1 00 111,11.01010100步骤1:对阶,阶差为Ex-Ey=Ex补+-Ey补-Ey补=11000111001 Ex-Ey001011100111110(000011)000102 0 Ex-Ey0 ExEy 小阶对大阶,X阶码加2 X尾数右移2位,解:将x,y转换成浮点数据格式 x浮=00 101,00.11011011 Y浮=00 1

43、11,11.01010011+1 00 111,11.01010100步骤1:对阶,阶差为Ex-Ey=Ex补+-Ey补 Ex-Ey2 0 Ex-Ey0 ExEy 小阶对大阶,X阶码加2 X尾数右移2位 x浮=00 111,00.00110110(11)步骤2:尾数求和 X+Y浮=00 111,00.00110110(11)+00 111,11.01010100=00 111,11.10001010(11),步骤2:尾数求和 X+Y浮=00 111,00.00110110(11)+00 111,11.01010100=00 111,11.10001010(11)步骤3:计算结果规格化 X+Y浮

44、为非规格化数,左归一位,阶码减一,00110,11.00010101(1)步骤4:舍入处理 X+Y浮=00 110,11.00010110(0舍1如法)X+Y浮=00 110,11.00010101(截去法)步骤5:溢出判断 无溢出 X+Y浮=2110 x(-00.11101011),例2.两浮点数 x=2010.1101,y=210(-0.1010)。假设尾数在计算机中以补码表示,可存储6位尾数,2位符号位,阶码以补码表示,双符号位,采用0舍1入,求x+y。,解:将x,y转换成浮点数据格式 x浮=00 01,00.1101 Y浮=00 10,11.0101+1 00 10,11.0110步骤

45、1:对阶,阶差为Ex-Ey=Ex补+-Ey补-Ey补=110111110 Ex-Ey000111101111(000001)000011 0 Ex-Ey0 ExEy 小阶对大阶,X阶码加1 X尾数右移1位,解:将x,y转换成浮点数据格式 x浮=00 01,00.1101 Y浮=00 10,11.0101+1 00 10,11.0110步骤1:对阶,阶差为Ex-Ey=Ex补+-Ey补 Ex-Ey1 0 ExEy 小阶对大阶,X阶码加1 X尾数右移1位 x浮=00 10,00.0110(1)步骤2:尾数求和 X+Y浮=00 10,00.0110(1)+00 10,11.0110=00 10,11.

46、1100(1),步骤2:尾数求和 X+Y浮=00 10,00.0110(1)+00 10,11.0110=00 10,11.1100(1)步骤3:计算结果规格化 X+Y浮 为非规格化数,左归两位,阶码减二,=0000,11.0010(0)步骤4:舍入处理 X+Y浮=0000,11.0010(0)(0舍1如法)X+Y浮=0000,11.0010(0)(截去法)步骤5:溢出判断 无溢出 X+Y浮=2000 x(-0.1110),计算机组成原理 Slide 134,特殊例子,X=2111 0.11111111,Y=2111 0.10000001 X浮=0111,0.1111 1111+Y浮=0111

47、,0.1000 0001 X+Y浮=0111,1.1000 0000 尾数运算溢出,右归,连同符号位进位位一起右移一位,阶码加1 X+Y浮=1000,0.1100 0000 阶码溢出,运算结果正溢出,计算机组成原理 Slide 135,特殊例子,X=2-1000-0.11110000,Y=2-1000 0.10000001 X浮=1000,1.0001 0000+Y浮=1000,0.1000 0001 X+Y浮=1000,1.1001 0001 非规格化数,左归,左移一位,阶码减1 X+Y浮=1000,0.11001 000 1000+1111=0111=7 阶码负溢出,运算结果下溢,计算机组

48、成原理 Slide 136,浮点数乘法运算,如:X=2m Mx Y=2n My X Y=2m Mx(2n My)=2m+n(Mx My),计算机组成原理 Slide 137,浮点数乘法运算,(1)阶码相加阶码相加可能产生溢出,若产生溢出,则给出溢出指示,计算机进行溢出处理。(2)尾数相乘尾数部分相乘可得积的尾数,尾数相乘可按定点乘法运算的方法进行运算。(3)结果规格化当运算结果需要进行规格化操作时,可按浮点加/减法运算规格化方式处理,舍入方式也与加/减法方式中的相同。,计算机组成原理 Slide 138,浮点数除法运算,如:X=2m Mx Y=2n My XY=2m Mx(2n My)=2m-

49、n(MxMy),计算机组成原理 Slide 139,浮点数除法运算,尾数调整如果被除数尾数大于除数的尾数(从绝对值考虑),则将被除数尾数右移一位并相应调整阶码,由于给出运算的操作数是规格化数,一般只作一次调整便可达到要求。阶码求差商的阶码等于被除数的阶码减去除数的阶码,此步运算基本上获得了商的阶码。尾数相除以被乘数的尾数除以除数的尾数以获得商的尾数,尾数相除与定点除法运算相同。,计算机组成原理 Slide 140,Outline,定点补码加/减法运算定点乘法运算定点除法运算浮点运算运算器组织运算器部件举例,计算机组成原理 Slide 141,运算器功能,数据进行算术运算和逻辑运算暂存参加运算的

50、数据及运算的中间结果选取相应部件中的数据参与运算反映运算处理的状态,计算机组成原理 Slide 142,算术逻辑运算单元ALU组成,计算机组成原理 Slide 143,算术逻辑运算单元ALU组成,计算机组成原理 Slide 144,算术逻辑运算单元ALU组成,计算机组成原理 Slide 145,算术逻辑运算单元ALU组成,0,2,R,e,s,u,l,t,O,p,e,r,a,t,i,o,n,a,1,C,a,r,r,y,I,n,C,a,r,r,y,O,u,t,0,1,B,i,n,v,e,r,t,b,计算机组成原理 Slide 146,算术逻辑运算单元ALU组成,计算机组成原理 Slide 147,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号