定点除法与定点运算器的组成第2章运算方法和运算器2教学内容定点除法定点运算器的组成3教学要求掌握定点正数的除法运算规则,能进行相应的计算。熟练掌握逻辑运算,并能进行相关计算。了解算术逻辑运算的过程。了解运算器的结构。4教学重点除法运算逻辑运算运算器结构5一原码除法运算例10.10110÷0.11111?若操作数有负数时,先取绝对值计算,最后决定结果的符号。6一原码除法运算需解决的问题a.如何判断是否够减?b.如何确定上商?c.如何确定商的符号?方法a.恢复余数法b.不恢复余数法71原码恢复余数法算法:比较两数大小可用减法试探。2×余数-除数=新余数为正:够减,商1。为负:不够减,商0,恢复原余数。8实例分析例2:X=-0.10110,Y=0.11111,求X/Y,给出商Q和余数R设置:A:被除数、余数,B:除数,C:商初值:A=X=00.10110B=Y=00.11111C=Q=0.00000-B=11.000019步数条件操作AC00.101100.000001)0-B01.01100+11.0000100.011010.000012)1-B00.11010+11.0000111.110110.000103)恢复余数+B+00.1111100.1101001.101000.001014)0-B+11.0000100.10101CnSAQ1Q2Q3r02r0r12r1r2’r22r2r310步数条件操作AC00.101010.001015)0-B01.01010+11.0000100.010110.010116)1-B00.10110+11.0000111.101110.101107)恢复余数+B+00.1111100.10110Q=-0.10110CnQ4Q5Q3r32r3r42r4r5’r5R=0.10110×2-5X/Y=-0.10110+-0.10110×2-50.1111111实例分析说明:(1)A、B双符号位,X、Y绝对值,X小于Y。(2)运算结束后,余数乘以2-n,与被除数同号。122原码不恢复余数法(加减交替法)算法分析第二步:2r1-B=r2’0第三步:r2’+B=r2(恢复余数)第四步:2r2-B=r32r2-B=2(r2’+B)-B=2r2’+B=r3第二步:2r1-B=r2’0第三步:2r2’+B=r3(不恢复余数)13算法:ri+1=2ri+(1-2Qi)Yri为正,则Qi为1,第i+1步作2ri-Y;ri为负,则Qi为0,第i+1步作2ri+Y。实例:X=0.10110,Y=-0.11111,求X/Y?初值:A=X=00.10110B=Y=00.11111-B=11.00001C=Q=0.000002原码不恢复余数法14步数条件操作AC00.101100.000001)为正-B01.01100+11.0000100.011010.000012)为负-B00.11010+11.0000111.110110.000103)+B+00.1111111.101100.00101为正00.10101CnrQ1Q2Q3r02r0r12r1r22r2r34)为正-B01.01010+11.0000100.010110.01011Q42r3r415步数条件操作AC00.010110.010116)为负恢复余数+B+00.1111100.10110Q=-0.10110CnQ4r45)为正-B00.10110+11.0000111.101110.10110Q52r4r5’r5R=0.10110×2-5X/Y=-0.10110+0.10110×2-5-0.1111116不恢复余数的运算规则(1)A、B取双符号位,X、Y取绝对值运算,XY。(2)根据余数的正负决定商值及下一步操作。(3)求n位商,作n步操作;若第n步余数为负,则第n+1步恢复余数,不移位。17二并行除法器与阵列乘法器相似,阵列除法器也是一种并行运算部件。阵列除法器有多种形式,如不恢复余数阵列除法器、补码阵列除法器等等。181可控加法/减法(CAS)单元Si=Ai⊕(Bi⊕P)⊕CiCi+1=(Ai+Ci)·(Bi⊕P)+AiCi19原码除法实例例3x=0.101001,y=0.111,求x÷y[x]补=0.101001[y]补=0.111[-y]补=1.00120被除数x0.101001[-y]补1.001余数为负1.110001<0q0=0←1.10001[+y]补0.111余数为正0.01101>0q1=1←0.1101[-y]补1.001余数为负1.1111<0q2=0←1.111[+y]补0.111余数为正0.110>0q3=0故得q=q0.q1q2q3=0.101r=(0.00r3r4r5r6)=0.000110212不恢复余数阵列除法器22二定点运算器的组成基本构成1.算术逻辑运算单元2.数据缓冲寄存器3.通用寄存器4.多路寄存器5.数据总线231逻辑运算逻辑非运算eg1:x=011001,求逻辑非逻辑加运算eg2:x=011001,y=110101,求逻辑加逻辑乘运算eg3:x=011001,y=110101,求逻辑乘逻辑异或运算eg4:x=011001,y=110101,求逻辑异或242多功能算术/逻辑单元目的:进行算术运算与逻辑运算。方法:对行波进位加/减器进行补充;实现先行进位;回顾25数学推导Fi=Xi⊕Yi⊕Cn+iCn+i+1=XiYi+YiCn+i+Cn+iXi26数学推导Xi,Yi与控制参数和输入量的关系i2323ii23ii23iX=SS+SS(A+B)+SS(A+B)+SSAi01i01ii01ii=SSA+SSAB+SSABY27数学推导化简后得到i3ii2iiX=SAB+SABii0i1iY=A+SB+SBiiin+iFYXCn+i+1iin+iCYXC28先行进位n+i+1iin+iCYXC根据进位的推导公式,可以发现其具有递归性,假设现在是两个四位的二进制数相加,则可以得到:Cn+1=Y0+X0CnCn+2=Y1+X1Cn+1=Y1+Y0X1+X0X1CnCn+3=Y2+X2Cn+2=Y2+Y1X2+Y0X1X2+X0X1X2CnCn+4=Y3+X3Cn+3=Y3+Y2X3+Y1X2X3+Y0X1X2X3+X0X1X2X3CnCn+4=G+PCn2974181ALU电路逻辑图3074181ALU相关讨论1.当M=0时,M对进位信号没有任何影响。因此M=0时,进行算术操作。2.当M=1时,封锁了各位的进位输出,即C=0,因此各位的运算结果F仅与Y和X有关,故M=1时,进行逻辑操作。3174181芯片的功能表32两级先行进位ALU—32位机1.32位机用8片74181,2片74182。2.74182完成组间先行进位。说明:1.先行进位的目的是为了加快运算速度;2.先行进位的方法是推导最终输出与输入之间的直接关系(表达式);3.根据实际应用,可以采用多级先行进位方法33CPU的相关内容运算器控制器(CH5)数据通路结构(内部总线)与外部的连接(总线)CPU组成指令的执行过程CPU工作原理34四内部总线单向传送总线据逻辑结构分类双向传送总线35三态门组成的双向数据线38定点运算器的基本结构单总线结构的运算器双总线结构的运算器三总线结构的运算器39小结本章内容线索:数据在计算机中的表示→讨论定点数的加减乘除四则运算(原码/补码)规则→设计适应各个规则的阵列运算器→加入逻辑运算→整合一个集成电路→连接的数据线