欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    计算机的运算方法04 .ppt

    • 资源ID:6606545       资源大小:323.50KB        全文页数:36页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    计算机的运算方法04 .ppt

    ,系统总线,存储器,运算器,控制器,接口与通信,输入/输出设备,林楠办公室:211办公电话:0371-63888959电子邮件:,计算机组成原理,第六章 计算机的运算方法,第六章 计算机的运算方法,3、定点乘法运算3.1、原码一位乘法3.2、补码一位乘法(重点:布斯乘法)3.3、补码两位乘法3.4、阵列乘法器,方法:充当计算机!严格按照运算法则去做,不加思考,态度认真,保证结果正确。,4、定点除法运算4.1、原码一位除法4.2、补码一位除法4.3、阵列除法器5、浮点四则运算5.1、浮点加减运算对阶、执行加减、规格化、舍入、判溢出5.2、浮点乘除运算阶码加减、尾数乘除、规格化、舍入、判溢出,第六章 计算机的运算方法,原码一位除法基本上是从手算演变过来,符号位单独处理。两个原码表示的数相除运算规则:商的符号位:两数的符号相异或 商的数值部分:两数的绝对值相除。运算方法与普通的十进制小数除法相类似,设 n 位被乘数X 和 乘数Y 用定点小数表示(定点整数同样)被除数:X原=Xf.Xn-1 X1 X0除数:Y原=Yf.Yn-1 Y1 Y0商 Q 原=(Xf Yf)+(0.Xn-1 X1 X0)/(0.Yn-1 Y1 Y0)于是原码与原码相除就变成如何进行两个正数相除的问题了。两种除法:恢复余数法 不恢复余数法(加减交替法),4.1、原码一位除法,两个数相除,上商时,人会心算,一看就知道够不够减。够减商1,不够减商0。但机器不会,必须先作减法。若余数为正,才知道够减;若余数为负,才知道不够减。不够减时,必须恢复原来的余数。顾名思义恢复余数法。,4.1、原码一位除法,1)恢复余数法,被除数 X=0.1011 除数Y=0.1101 求 X/Y。商精确到小数点后四位。手算方法计算步骤如下:,4.1、原码一位除法,0.1101 0.1101 0.1011-0.1101 1.1110+0.1101 0.1011 0.10110-0.01101 0.01001 0.010010-0.001101 0.000101 0.0001010-0.0001101 1.1111101+0.0001101 0.0001010 0.00010100-0.00001101 0.00000111,-Y 得负数,不够减,商0,X低位补0-2-1Y 得正数,够减,商1 X低位补0,-2-2Y 得正数,够减,商1 X低位补0,-2-3Y 得负数,不够减,商0+2-3Y,恢复余数,-2-4Y 得正数,够减,商1,+Y,恢复余数,X低位补0,4.1、原码一位除法,1)恢复余数法,1、符号单独处理,Q f=(Xf Yf),取绝对值相除;2、作减法,若不溢出,运算开始;3、-Y,若余数 R 为正(够减),商 1,左移一位;-Y,若余数 R 为负(不够减),商 0,恢复余数,左移一位;4、重复 n 步;5、若最后一步余数为负(不够减),应恢复余数(+Y补)。右移 除数Y,可以通过 左移 余数 来替代,左移出界的 余数 的高位都是无用的零,对运算不会产生任何影响。,如果,余数一共被左移了n次,最后需要校正。最终的余数再右移n次。,寄存器A存放 被除数 X=0.1011,后来可存放余数,累次参加运算。寄存器B存放 除数 Y=0.1101 寄存器C存放 商 Q=X/Y 另外设置计数器CR控制循环次数。X原-Y原 运算可以用 X补+-Y补取代;Y补=0.1101-Y补=1.0011,4.1、原码一位除法,分析:参加运算的数X,Y 都是正数,正数的原码与补码表示相同。,被除数X(余数)商 操作 0.1011 0 0 0 0 0+1.0011-Y(+-Y补)1.1110 0 0 0 0 0 负数:不够减,商0+0.1101+Y 恢复余数,(+Y补)0.1011 0 0 0 0 0 余数和商同时左移一位 1.0110 0 0 0 0 0+1.0011-Y(+-Y补)0.1001 0 0 0 0 1 正数:够减,商1 1.0010 0 0 0 1 0 余数和商同时左移一位+1.0011-Y(+-Y补)0.0101 0 0 0 1 1 正数:够减,商1 0.1010 0 0 1 1 0 余数和商同时左移一位+1.0011-Y(+-Y补)1.1101 0 0 1 1 0 负数:不够减,商0+0.1101+Y 恢复余数,(+Y补)0.1010 0 0 1 1 0 余数和商同时左移一位 1.0100 0 1 1 0 0+1.0011-Y(+-Y补)0.0111 0 1 1 0 1 正数:够减,商1,余数再右移四位得正确结果:0.0000 0111。,2)不恢复余数法(加减交替法)加减交替法是对恢复余数除法的一种修正。当余数为负时,不恢复,继续求下一位商,但用加上除数(+Y)的办法来取代(-Y)操作,其他操作不变。加减交替法的规则如下:余数为正,商1,左移一位,减除数(-Y);余数为负,商0,左移一位,加除数(+Y)。此方法不用恢复余数,所以又叫不恢复余数法。但若最后一次上商为0,则仍需恢复余数(+Y补)。,4.1、原码一位除法,被除数(余数)商 操作 0.1011 0 0 0 0 0+1.0011-Y(+-Y补)1.1110 0 0 0 0 0 负数:商0 1.1100 0 0 0 0 0 余数和商同时左移一位+0.1101+Y 0.1001 0 0 0 0 1 正数:商1 1.0010 0 0 0 1 0 余数和商同时左移一位+1.0011-Y(+-Y补)0.0101 0 0 0 1 1 正数:商1 0.1010 0 0 1 1 0 余数和商同时左移一位+1.0011-Y(+-Y补)1.1101 0 0 1 1 0 负数:商0 1.1010 0 1 1 0 0 余数和商同时左移一位+0.1101+Y 0.0111 0 1 1 0 1 正数:商1,4.1、原码一位除法,余数再右移四位得正确结果:0.0000 0111。,CPA,2.3、补码定点加法器,+X,-Y,设开关电路负数不送回,思考问题:恢复余数法在电路上实现其实更简单!,4、定点除法运算4.1、原码一位除法4.2、补码一位除法4.3、阵列除法器5、浮点四则运算5.1、浮点加减运算对阶、执行加减、规格化、舍入、判溢出5.2、浮点乘除运算阶码加减、尾数乘除、规格化、舍入、判溢出,第六章 计算机的运算方法,4.2、补码一位除法,补码加减交替法,法则如下:(Ri补为余数,数值部分共n位),1)比较 2)上商 3)求新余数,1)比较 2)上商 3)求新余数,由上式化简,方法:列表格,4)商的符号 两种常见的做法:方法一:第一步比较XY同号做X补Y补;异号做X补+Y补;方法二:一开始就将被除数X当作初始余数R0,R0与Y同号商1,异号商0,得的假商最后求反进行校正。5)商的校正 对于方法一,商符正确,商末位恒置1。对于方法二,商符取反,商末位恒置1。,4.2、补码一位除法,思考:由于方法一开始比较被除数与除数,后来比较余数与除数,控制部署不一样。所以采用方法二,硬件电路比较好实现,全部是比较余数与除数,便于计算机控制。,4.2、补码一位除法,被除数X(余数R)商Q 操作 0.1011 0 0 0 0 0+1.0011 X Y 同号:+-Y补 1.1110 0 0 0 0 0 R Y 异号:商0 1.1100 0 0 0 0 0 余数R和商同时左移一位+0.1101+Y补 0.1001 0 0 0 0 1 R Y 同号:商1 1.0010 0 0 0 1 0 余数R和商同时左移一位+1.0011+-Y补 0.0101 0 0 0 1 1 R Y 同号:商1 0.1010 0 0 1 1 0 余数R和商同时左移一位+1.0011+-Y补 1.1101 0 0 1 1 0 R Y 异号:商0 1.1010 0 1 1 0 0 余数R和商同时左移一位+0.1101+Y补 0.0111 0 1 1 0 1 商的末位恒置1,使用方法一:X补=0.1011 Y补=0.1101-Y补=1.0011,余数再右移四位得正确结果,前面补符号位。,4.2、补码一位除法,被除数X(余数R)商Q 操作 0.1011 0 0 0 0 1 R Y 同号:商1 1.0110 0 0 0 1 0 余数R和商同时左移一位+1.0011+-Y补 0.1001 0 0 0 1 1 R Y 同号:商1 1.0010 0 0 1 1 0 余数R和商同时左移一位+1.0011+-Y补 0.0101 0 0 1 1 1 R Y 同号:商1 0.1010 0 1 1 1 0 余数R和商同时左移一位+1.0011+-Y补 1.1101 0 1 1 1 0 R Y 异号:商0 1.1010 1 1 1 0 0 余数R和商同时左移一位+0.1101+Y补 0.0111 1 1 1 0 0 0 1 1 0 1 校正:商符取反,商末位置1,使用方法二:X补=0.1011 Y补=0.1101-Y补=1.0011,余数再右移四位得正确结果,前面补符号位。,4.2、补码一位除法,被除数X(余数R)商Q 操作 0.0100 0 0 0 0 0 R Y 异号:商0 0.1000 0 0 0 0 0 余数R和商同时左移一位+1.1000+Y补 0.0000 0 0 0 0 0 R Y 异号:商0 0.0000 0 0 0 0 0 余数R和商同时左移一位+1.1000+Y补 1.1000 0 0 0 0 1 R Y 同号:商1 1.0000 0 0 0 1 0 余数R和商同时左移一位+0.1000+-Y补 1.1000 0 0 0 1 1 R Y 同号:商1 1.0000 0 0 1 1 0 余数R和商同时左移一位+0.1000+-Y补 1.1000 0 0 1 1 0 1 0 1 1 1 校正:商符取反,商末位置1,使用方法二:X补=0.0100 Y补=1.1000-Y补=0.1000,余数再右移四位得正确结果:1.1111 1000,4、定点除法运算4.1、原码一位除法4.2、补码一位除法4.3、阵列除法器5、浮点四则运算5.1、浮点加减运算对阶、执行加减、规格化、舍入、判溢出5.2、浮点乘除运算阶码加减、尾数乘除、规格化、舍入、判溢出,第六章 计算机的运算方法,和阵列乘法器相比,阵列除法器也是一种并行运算部件,采用大规模集成电路制造。它比早期的串行除法器的控制线路少,并提供较高的运算速度。,4.3、阵列除法器 P297,可控加/减法单元(CAS),4、定点除法运算4.1、原码一位除法4.2、补码一位除法4.3、阵列除法器5、浮点四则运算5.1、浮点加减运算对阶、执行加减、规格化、舍入、判溢出5.2、浮点乘除运算阶码加减、尾数乘除、规格化、舍入、判溢出,第六章 计算机的运算方法,浮点数的表示形式(以2为底):X=S 2 j=定点小数*2 定点整数 S 尾数,定点小数,用补码表示,决定数的有效精度。j 阶码,定点整数,用移码或补码表示,决定数的表示范围。2 基数,5、浮点四则运算,IEEE754 国际标准:符号位数 阶码 j 位数 尾数S位数 总位数短浮点数1 8 23 32长浮点数1 11 52 64临时浮点数1 15 64 80,0.8125*10 5,浮点数的阶码为什么用移码表示呢?1)正数的移码大于负数的移码:X移-X移 原码、补码、反码都不具备。2)如果:X Y 则 X移 Y移 所以,在浮点运算中,可以方便地通过比较移码的大小来实现阶 码真值大小的比较,其他三种码都不具备这一特性。,移码:补码符号位取反(1表示正号,0表示负号),数据0有唯一的编码,即+0移=-0移=10000。,5、浮点四则运算,移码运算特点:1)最高位符号位,1表示正号,0表示负号。如果是双符号位,最高位保持0:01正数,00负数。溢出判断:最高位为1,10上溢,11下溢。2)在计算机中,移码只执行加减法运算,且运算结果+2n修正;(即结果的符号位取反)得到X移。例如:X=+1010 Y=+0011,则X移=11010Y移=10011 X移+Y移=11010+10011=01101,修正:X+Y移=11101运算法则:X+Y移=X移+Y补 X-Y移=X移+-Y补,5、浮点四则运算,X+Y移=X移+Y补=11010+00011=11101,4、定点除法运算4.1、原码一位除法4.2、补码一位除法4.3、阵列除法器5、浮点四则运算5.1、浮点加减运算对阶、执行加减、规格化、舍入、判溢出5.2、浮点乘除运算阶码加减、尾数乘除、规格化、舍入、判溢出,第六章 计算机的运算方法,X=104=0110 1000=0.110 1000*27=0 0111;0.1101000Y=40=0010 1000=0.101 0000*26=0 0110;0.1010000,5.1、浮点加减运算,思考1:X和Y的尾数可以直接相加减吗?,思考2:对齐阶码后,尾数才能进行加减运算。阶码大的向小的看齐?还是小的向大的看齐?,思考3:对齐阶码是不是等于小数点对齐了?,思考4:对齐阶码后,尾数应该做什么相应的改变?,Y=40=0010 1000=0.0101 0000*27=0 0111;0.01010000,800=0.8103=0.8103=0.08 104+9000=0.9104=90 103=0.9 104 9800=0.98104,设有两浮点数X,Y,其中:X=SX*2 jX Y=SY*2 jYXY运算执行以下五步:1)阶码对齐(对大阶):使两数的阶码值相等,对齐小数点。求阶码差j,j0时,小阶码的尾数右移j位:阶码+j,2)尾数相加减:两尾数进行加/减运算。3)尾数规格化:尾数符号 01 或 10:尾数溢出。右规:尾数(带符号)右移1位,前补符号位。同时阶码+1。尾数符号 00 或 11:尾数不溢出。但如符号位和最高数值位相同:00 0 或 11 1 左规:尾数数值部分左移直到最高数值位与符号位不同为止(00 1,11 0)。同时阶码减去左移位数。,5.1、浮点加减运算,4)尾数舍入(处理多余位)在执行右规或对阶时,尾数低位上的数值会移掉,使数值的精度 受到影响,常用“0”舍“1”入法。(三种舍去法:恒舍去,末位恒置 1,0舍1入;一般取其精度受影响最小的方法:0舍1入)5)阶码判溢出 若阶码符号00或11,不溢出。若阶码符号10 为下溢,置运算结果为零,若阶码符号01 为上溢,置溢出标志。,5.1、浮点加减运算,X=0111 00.1101000 jX SXY=0110 00.1010000 jY SY,SYjY+1,SXjX+1,SXjX+1,No,No,Yes,jX=jY?,SX+-SY SXjX(or jY)jX,Xf1Xf2=1,Xf1Xf2 X1+Xf1Xf2 X1=1?,SXjX-1,输出,Yes,Yes,No,3)尾数规格化,00.1101000 SX+00.0101000 SY 01.0010000右规:0111 00.10010000,左规,右规,2)尾数加减,1)阶码对齐,4)尾数舍入5)阶码判溢出,jX jY?,No,Yes,例:已知 X=0.11011011*2010,Y=-0.10101100*2100 求 X+Y解:阶码对齐:jX补=00 0010 jY补=00 0100-jY补=11 1100 求阶差j=jX补+-jY补=00 0010+11 1100=11 1110(-2)X 的阶码小:X阶码+2(jX补=jY补=00 0100)X的尾数右移2位,前面补符号位 SX补=00 0011011011(此时保留右移数据,不丢不舍)尾数相加:SX补=SX补+SY补=00 0011011011+11 01010100=11 10001010 11 尾数规格化:左规:数值位左移1位=11 000101011 阶码-1(jX补=00 0011)尾数舍入:舍去的附加位最高位为1,结果最低位+1:Sx补=11 00010110 S=-0.11101010 阶码判溢出:阶码符号为00,不溢出。最终结果为:X+Y=-0.11101010*2011,实际运算时,先确定位数!(阶码、尾数最好都取双符号位参加运算。)假设机器字长16位,采用浮点表示数,其中阶符2位,阶码4位,尾符2位,尾数8位,都用补码表示。,4、定点除法运算4.1、原码一位除法4.2、补码一位除法4.3、阵列除法器5、浮点四则运算5.1、浮点加减运算对阶、执行加减、规格化、舍入、判溢出5.2、浮点乘除运算阶码加减、尾数乘除、规格化、舍入、判溢出,第六章 计算机的运算方法,X=SX 2 jX Y=SY 2 jYX*Y=(SX*SY)2 jX+jY X/Y=(SX/SY)2 jX-jY,5.2、浮点乘除运算,1)阶码加减:乘法:jX+jY,除法:jX-jY 2)尾数乘除:乘法:SX*SY,除法:SX/SY 3)尾数规格化:4)尾数舍入:有可能带来又一次规格化。5)阶码判溢出:检查阶码上下溢出。,例如:求X*Y,X=0.0110011*2-5Y=-0.1110010*2 3 阶码(含符号位)用4位移码表示,采用双符号位。尾数(含符号位)用8位补码表示,采用双符号位。jX补=11 011 jX移=00 011jY补=00 011 jY移=11 011 SX补=00.0110011-SX补=11.1001101 SY补=11.0001110X浮=00 011,00.0110011Y浮=11 011,11.0001110,5.2、浮点乘除运算,1)阶码相加:jX+jY 移=jX 移+jY 补=00 011+00 011=00 1102)尾数相乘:SX补*SY补=0.0110011*1.0001110 XY浮=00 110,11.13)尾数规格化:符号位与最高数值位相同,需要规格化(尾数左移一位,阶码-1)XY浮=00 101,11.010010100101004)尾数舍入:尾数设8位,0舍1入,则 XY浮=00 101,11.01001015)阶码判溢出:阶码两符号位相同,不溢出。,5.2、浮点乘除运算,浮点运算器,浮点运算由阶码定点运算和尾数定点运算组成。阶码部分执行加、减法运算。尾数部分执行加、减、乘、除运算,左规时有时需要左移多位。因此,浮点运算器中其实就是定点运算器!,复习与作业,复习章节:第6章 计算机的运算方法6.3定点运算6.3.1 移位运算 6.3.4 除法运算6.4 浮点四则运算作业:P291 21、25、26、28、29、30,

    注意事项

    本文(计算机的运算方法04 .ppt)为本站会员(小飞机)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开