《数值运算及运算器》PPT课件.ppt

上传人:tia****nde 文档编号:11508509 上传时间:2020-04-26 格式:PPT 页数:28 大小:2.61MB
返回 下载 相关 举报
《数值运算及运算器》PPT课件.ppt_第1页
第1页 / 共28页
《数值运算及运算器》PPT课件.ppt_第2页
第2页 / 共28页
《数值运算及运算器》PPT课件.ppt_第3页
第3页 / 共28页
点击查看更多>>
资源描述
本次课程要点:,1、掌握不同码制的移位运算。2、掌握原码、补码的乘法运算。,第二部分:第3章数值运算及运算器,第二部分:第3章数值运算及运算器,1、逻辑移位,三、移位运算,按操作性质可分为三种类型:逻辑移位、循环移位、算术移位。,只有数码位置的变化,而无数量的变化。左移:低位补0。右移:高位补0。例1:A寄存器的初值为10110101逻辑右移一位后为01011010逻辑左移一位后为01101010,第二部分:第3章数值运算及运算器,2、循环移位,三、移位运算,寄存器两端触发器有移位通路,形成闭合的移位环路。,例2:A寄存器的初值为10011001,循环右移一位后为11001100循环左移一位后为00110011,第二部分:第3章数值运算及运算器,3、算术移位,三、移位运算,数的符号不变,而数值发生变化。左移一位将使数值扩大一倍(乘以2)右移一位则使数值缩小一倍(乘以1/2),第二部分:第3章数值运算及运算器,3、算术移位(续),三、移位运算,(1)正数:原码、补码、反码左右移位时,空位均补入0(符号不变)。,例3:A寄存器初值:0.0110左移一位:0.1100右移一位:0.0011,第二部分:第3章数值运算及运算器,3、算术移位(续),三、移位运算,(2)负数:原码:符号位不变(为1),空位补0。例4:A寄存器的初值为1.0110算术左移一位后为1.1100算术右移一位后为1.0011补码:左移后的空位补0,右移后的空位补1。,第二部分:第3章数值运算及运算器,3、算术移位(续),三、移位运算,例5:初值:1.1011,左移一位:1.0110右移一位:1.1101反码:移位后的空位补1。例6:初值:1.1011左移一位:1.0111右移一位:1.1101,第二部分:第3章数值运算及运算器,四、乘法运算,实现乘除运算的方案:1、软件实现2、设置专用的乘、除法器3、在加法器基础上增加逻辑线路,在计算机中,乘法运算大多数由累加与移位来实现,也有些机器中具有由大规模集成电路制造的阵列乘法模块。,原码一位乘法是从手算演变而来的,即用两个操作数的绝对值相乘,乘积的符号为两操作数符号的异或值(同号为正,异号为负)。乘积P=|X|Y|符号Ps=XsYs式中:Ps为乘积的符号,Xs和Ys为被乘数和乘数的符号。,第二部分:第3章数值运算及运算器,四、乘法运算,1、原码一位乘,第二部分:第3章数值运算及运算器,四、乘法运算,1、原码一位乘(续),原码一位乘法的规则:参加运算的操作数取其绝对值;令乘数的最低位为判断位,若为“1”,加被乘数,若为“0”,不加被乘数(加0);累加后的部分积以及乘数右移一位;重复n次和;符号位单独处理,同号为正,异号为负。,通常,乘法运算需要3个寄存器。被乘数存放在B寄存器中;乘数存放在C寄存器中;A寄存器用来存放部分积与最后乘积的高位部分,它的初值为0。运算结束后寄存器C中不再保留乘数,改为存放乘积的低位部分。例7:已知:X=0.1101,Y=-0.1011,求:XY。|X|=00.1101B,|Y|=0.1011C,0A,第二部分:第3章数值运算及运算器,四、乘法运算,1、原码一位乘(续),AC说明,00.00001011,00.1101,00.01101101部分积右移一位,01.0011,+|X|00.1101C4=1,+|X|,00.10011110部分积右移一位,+000.0000C4=0,+0,00.1001,00.01001111部分积右移一位,+|X|00.1101C4=1,+|X|,01.0001,00.10001111部分积右移一位,PS=XSYS=01=1XY=-0.10001111,第二部分:第3章数值运算及运算器,+|X|00.1101C4=1,+|X|,图1原码一位乘法流程图,第二部分:第3章数值运算及运算器,第二部分:第3章数值运算及运算器,四、乘法运算,2、原码两位乘,原码两位乘法的规则:参加运算的数用原码来表示。符号位不参加乘法运算,单独处理,同号为正,异号为负。乘数的数值位个数为奇数时,用一个符号位,为偶数时乘数取双符号位。被乘数和部分积取3个符号位。增加一个触发器Cj,初始值为0。逐次比较相邻两位Yi-1Yi及Cj的值决定应执行的操作,-|X|操作可以按,+|X|变补来实现。当乘数的数值位个数为奇数时,共需(n+1)/2累加和移位,但最后一次移1位;当乘数的数值位个数为偶数时,共需n/2+1次累加,n/2次移位(最后一次不移位)。,例8:已知:X=0.11011,Y=-0.11101,求:XY。X原=0.11011,Y原=1.11101,-X补=1.00101|X|=000.11011B,|Y|=0.11101C,0Cj,第二部分:第3章数值运算及运算器,四、乘法运算,2、原码两位乘(续),ACCj说明,000.000000.111010,000.11011,000.001101101110部分积右移两位,+|X|000.11011C4C5Cj=010,+|X|,Cj=0,PS=XSYS=01=1XY=-0.1100001111,第二部分:第3章数值运算及运算器,+|X|变补111.00101C4C5Cj=110,+|X|变补,Cj=1,111.01011,111.110101111011部分积右移两位,+2|X|001.10110C4C5Cj=011,+2|X|,Cj=0,001.10000,000.110000111101部分积右移一位,虽然原码乘法比补码乘法容易实现,但因为补码加减法简单,在以加减运算为主的通用机中操作数都用补码表示,所以这类计算机在做乘法时常使用补码乘法。(1)校正法校正法是将X补和Y补按原码规则运算,所得结果根据情况再加以校正,从而得到正确的XY补。补码乘法的统一表达式:XY补=X补(0.Y1Y2Yn)+-X补Ys,第二部分:第3章数值运算及运算器,四、乘法运算,3、补码一位乘,(2)比较法Booth乘法,递推公式:Z0补=0Z1补=2-1Z0补+(Yn+1-Yn)X补Z2补=2-1Z1补+(Yn-Yn-1)X补Zn补=2-1Zn-1补+(Y2-Y1)X补XY补=Zn补+(Y1-Ys)X补式中,Z0补为初始部分积,Z1补Zn补依次为各次求得的累加并右移之后的部分积。,四、乘法运算,3、补码一位乘,第二部分:第3章数值运算及运算器,判断位YnYn+1操作00原部分积右移一位01原部分积加X补后右移一位10原部分积加-X补后右移一位11原部分积右移一位,(2)比较法Booth乘法(续),四、乘法运算,3、补码一位乘,第二部分:第3章数值运算及运算器,Booth乘法规则:参加运算的数用补码表示;符号位参加运算;乘数最低位后面增加一位附加位Yn+1,其初值为0;由于每求一次部分积要右移一位,所以乘数的最低两位Yn、Yn+1的值决定了每次应执行的操作;移位按补码右移规则进行;共需做n+1次累加,n次移位,第n+1次不移位。,(2)比较法Booth乘法(续),四、乘法运算,3、补码一位乘,第二部分:第3章数值运算及运算器,由于符号位要参加运算,部分积累加时最高有效位产生的进位可能会侵占符号位,故被乘数和部分积应取双符号位,而乘数只需要一位符号位。运算时仍需要有3个寄存器,各自的作用与原码时相同,只不过存放的内容均为补码表示而已。例9:已知X=-0.1101,Y=0.1011;求XY。X补=11.0011B,Y补=0.1011C,0A-X补=00.1101,(2)比较法Booth乘法(续),四、乘法运算,3、补码一位乘,第二部分:第3章数值运算及运算器,AC附加位说明,00.00000.10110,+-X补00.1101C4C5=10,+-X补,00.1101,00.0110101011部分积右移一位,+000.0000C4C5=11,+0,00.0110,00.0011010101部分积右移一位,+X补11.0011C4C5=01,+X补,11.0110,11.1011001010部分积右移一位,+-X补00.1101C4C5=10,+-X补,00.1000,00.0100000101部分积右移一位,+X补11.0011C4C5=01,+X补,11.0111,XY补=1.01110001XY=-0.10001111,第二部分:第3章数值运算及运算器,图2Booth乘法流程图,第二部分:第3章数值运算及运算器,四、乘法运算,4、补码两位乘,第二部分:第3章数值运算及运算器,每次处理乘数中的两位,使速度提高一倍。Z补=2-1Z补+(Yi+1-Yi)X补Z补=2-1Z补+(Yi-Yi-1)X补=2-2Z补+(Yi+1+Yi-2Yi-1)X补,第二部分:第3章数值运算及运算器,四、乘法运算,4、补码两位乘,补码两位乘法的规则:参加运算的数用补码来表示。符号位参加乘法运算。乘数的数值位个数为奇数时,用一个符号位,为偶数时乘数取双符号位。被乘数和部分积取3个符号位。乘数的最低位增加一位附加位Yn+1,初始值为0。逐次比较相邻3位Yi-1YiYi+1的值决定应执行的操作。移位按补码右移规则来实现。当乘数的数值位个数为奇数时,共需(n+1)/2累加和移位,但最后一次移1位;当乘数的数值位个数为偶数时,共需n/2+1次累加,n/2次移位(最后一次不移位)。,例9:已知:X=0.01001,Y=-0.01101,采用两位补码求:XY。X补=000.01001,Y补=1.0011,-X补=111.10111,2X补=000.10010,2-X补=111.01110X补B,Y补C,第二部分:第3章数值运算及运算器,四、乘法运算,4、补码两位乘(续),AC附加位说明,000.000001.100110,111.10111,111.111011111001部分积右移两位,XY补=1.1110001011XY=-0.0001110101,第二部分:第3章数值运算及运算器,+X补000.01001C4C5C6=001,+X补,000.00110,000.000011011110部分积右移两位,111.11000,111.111000101111部分积右移一位,+-X补111.10111C4C5C6=110,+-X补,+-X补111.10111C4C5C6=110,+-X补,作业:课本77页,3.1(1),(2);3.2(1),(2);3.3(1);3.4(2),第二部分:第3章数值运算及运算器,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!