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

    运算器与运算方法.ppt

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

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

    运算器与运算方法.ppt

    第3章 运算器与运算方法,3.1 运算器基本组成3.2 算术与逻辑单元3.3 移位运算3.4 定点加、减法运算3.5 定点乘法运算3.6 定点除法运算3.7 浮点运算,3.1 运算器基本组成,一、算术逻辑运算单元ALU二、通用寄存器组三、专用寄存器四、附加的控制线路,一、算术逻辑运算单元ALU,1、ALU:运算器中完成数据算术与逻辑运算的部件。,2、ALU的基本框图:两个输入端口,一个输出端口和多个功能控制信号端。输入端口:用来输入参加运算的操作数;输出端口:用来输出运算结果。功能控制信号端:用来确定ALU所执行的处理功能等。,一、算术逻辑运算单元ALU,二、通用寄存器组,通用寄存器组:运算器内设有若干通用寄存器,用于暂时存放参加运算的数据和某些中间结果。用户可以通过指令去使用这些寄存器。举例:8086的通用寄存器包括8个16位的寄存器:AX、BX、CX、DX、SP、BP、DI及SI。其中AX、BX、CX、DX在一般情况下作为通用的数据寄存器,用来暂时存放计算过程中所用到的操作数、结果或其他信息。它们还可分为两个独立的8位寄存器使用,命名为AL、AH、BL、BH、CL、CH、DL和DH。,三、专用寄存器,用来记录指令执行过程中的重要状态标记,以及提供运算前后数据的暂存缓冲等。举例:8086的暂存寄存器、标志寄存器FLAGS。有些专用寄存器对程序员是透明的,有些专用寄存器对程序员是开放的。,四、附加的控制线路,3.1 运算器基本组成 结束,3.2 算术与逻辑单元,一、半加器与全加器二、串行进位与并行进位三、ALU部件,一、半加器与全加器,1、半加器2、全加器,1、半加器,(1)、半加:两个一位二进制数相加(不考虑低位的进位)。(2)、半加器:实现半加操作的电路。,1、半加器,(3)、真值表:,表中:Xi、Yi:二进制数相加;Hi:半加和;Ci:向高位的进位。真值表:将自变量的各种可能的取值组合与其因变量的值一一列出来的表格形式。,1、半加器,(4)、逻辑表达式,Ci=XiYi,逻辑表达式:用逻辑运算符将1个或多个表达式连接起来,进行逻辑运算的式子。,1、半加器,(5)、逻辑图,(6)、符号表示,逻辑图:由逻辑门电路符号构成的,用来表示逻辑变量之间关系的图形称为逻辑电路图,简称逻辑图。,2、全加器,(1)、全加:考虑低位进位的加法运算。(2)、全加器:实现全加运算的电路。(3)、真值表:表中:Xi、Yi表示第i位的加数;Ci-1表示第i位的进位输入;Fi是第i位的全加和;Ci是第i位的进位输出。,2、全加器,(4)逻辑表达式:,(5)、逻辑图:,(6)、符号表示:,二、串行进位与并行进位,加数:X=Xn Xn-1X1,Y=Yn Yn-1Y1和:F=Fn Fn-1F1 进位:Ci,i=0,1,n,1、串行进位(行波进位)2、先行进位(并行进位)3、16位组间串行进位加法器 4、16位组间先行进位加法器,1、串行进位(行波进位),(1)、串行进位:进位信号顺序地从低位传到高位的方法。(2)、串行进位加法器:采用串行进位的加法器。,2、先行进位(并行进位),(1)、先行进位:进位信号同时送到各位全加器的进位输入端的方法。(2)、先行进位加法器:采用先行进位的加法器。(3)、进位的产生条件:、C1的表达式:,、C2的表达式:,、C3的表达式,2、先行进位(并行进位),、C4的表达式,Ci由Xi、Yi 和C0确定。、进位传递函数:Pi=Xi+Yi。、进位产生函数:Gi=XiYi。,2、先行进位(并行进位),(4)、4位先行进位产生电路:,2、先行进位(并行进位),(5)、4位先行进位加法器:,2、先行进位(并行进位),3、16位组间串行进位加法器,2、先行进位(并行进位),4、16位组间先行进位加法器,三、ALU部件,1、4位并行进位ALU 74181外特性2、4位并行进位ALU 74181功能表 3、组间串行进位16位ALU 4、组间并行进位器件74182 5、组间并行进位16位ALU,1、4位并行进位ALU集成电路74181外特性,2、4位并行进位ALU集成电路74181功能表,3、组间串行进位16位ALU,4、组间并行进位器件74182,4、组间并行进位器件74182,5、组间并行进位16位ALU,3.2 算术与逻辑单元 结束,3.3 移位运算,一、算术移位二、逻辑移位,一、算术移位,1、操作:寄存器中(有限位)带符号数的移位,移位时,符号位保持不变,仅数量变化。左移:x=2x 右移:x=1/2x 2、规则:,一、算术移位,提问:为什么补码左移同原码,右移同反码?答:补码由低位到高位出现第一个“1”的左边各位与反码相同,从“1”开始右边各位与原码相同。左移时,空位出现在低位,则添补的代码与原码相同;右移时,空位出现在高位,则添补的代码与反码相同。例如:x原=110100,x补=101100,x反=101011,3、举例:(5位寄存器)x原=0 0110 左移x原=0 1100 右移x原=0 0011 6 12 3,一、算术移位,x原=1 0110 左移x原=1 1100 右移x原=1 0011x反=1 1001 左移x反=1 0011 右移x反=1 1100 x补=1 1010 左移x补=1 0100 右移x补=1 1101-6-12-3x原=0 1001 左移x原=0 0010 右移x原=0 0100 9 2 4,一、算术移位,4、溢出与舍入:(1)、对于正数:左移最高位丢1:溢出(出错);右移最低位丢1:舍入(影响精度)(2)、对于负数:1)、原码:左移最高位丢1:溢出(出错);右移最低位丢1:舍入(影响精度)2)、反码:左移最高位丢0:溢出(出错);右移最低位丢0:舍入(影响精度)3)、补码:左移最高位丢0:溢出(出错);右移最低位丢1:舍入(影响精度),二、逻辑移位,寄存器中整组数据进行移位,空位补0。,3.3 移位运算 结束,3.4 定点加、减法运算,一、原码定点加、减法二、补码定点加、减法,一、原码定点加、减法,1、运算规则:(1)、符号:比较两操作数的符号,确定是“求和”,还是“求差”。(2)、求和:两操作数的数值位相加。如数值最高位产生进位,则结果溢出。(3)、求差:被减数的数值位加上减数的数值位的补码。1)、没有产生进位:符号位采用被减数的符号取反,数值位取补。2)、产生进位:符号位采用被减数的符号,数值位不变。,一、原码定点加、减法,2、举例:例1:已知 X原=10011、Y原=11010,计算X+Y原。解:1)、符号:同号相加,所以是“求和”。和的符号位为1。2)、求和:0011+1010=1101,无进位,没有溢出。所以 X+Y原=11101,一、原码定点加、减法,例2:已知 X原=10011、Y原=11010,计算X-Y原。解:1)、符号:同号相减,所以是“求差”。2)、差的数值位:0011+(1010)补=0011+0110=1001,最高数值位没有产生进位,求补:(1001)补=0111 3)、差的符号位:采用X原的符号位取反,为0 所以 X-Y原=00111,二、补码定点加、减法,1、补码加、减法运算规则:和:X+Y补=(X补+Y 补)差:X-Y补=(X补+-Y 补)注意:(1)、加、减法运算统一采用加法来处理;(2)、符号位(最高位)和数值位一起参与求和运算;(3)、符号位也在求和运算中直接得出。,二、补码定点加、减法,2、举例:例1、已知X补=01001、Y补=11011,求:X+Y补和X-Y补 解:(1)、-Y补=00101(2)、X+Y补=(X补+Y补)=(01001+11011)=00100(3)、X-Y补=(X补+-Y补)=(01001+00101)=01110,二、补码定点加、减法,例2:已知X补=01010,Y补=01010,求X+Y补解:X+Y补=(01010+01010)=10100 溢出 运算结果(两个符号相同的数相加)超出数的表示范围(-2n-12n-1-1)将产生溢出。例3:已知X补=10010,Y补=00100,求X-Y补。解:X-Y补=(10010+11100)=01110 溢出,二、补码定点加、减法,3、溢出判断:(1)、单符号法:,式中:Xf、Yf分别为X、Y的符号位;Sf为运算结果的符号位。V=0:无溢出;V=1有溢出。(2)、进位判别法:,式中:Cn-1为最高数值位向符号位的进位值;Cn为符号位产生的进位输出值。V=0:无溢出;V=1:有溢出。,二、补码定点加、减法,(3)、双符号法(变形补码法):运算结果:00:正;11:负;01:正向溢出;10:负向溢出。,式中:Sf1、Sf2分别为运算结果的第一(左边第一位)符号位、第二符号位。V=0:无溢出;V=1有溢出。,二、补码定点加、减法,3.4 定点加、减法运算 结束,3.5 定点乘法运算,一、原码一位乘法二、原码二位乘法三、补码一位乘法四、补码二位乘法,一、原码一位乘法,1、分析笔算乘法 2、笔算乘法的改进3、运算规则4、逻辑电路5、操作流程,1、分析笔算乘法,设:X=0.1011,Y=0.1101,求XY,所以:X Y=0.10001111,结论:符号位单独处理,通过左移与多数同时求和实现乘法运算。,运算过程,符号:心算,正正得正,数值:,问题:n个数同时相加。,1、分析笔算乘法,返 回,2、笔算乘法的改进,(1)、算式:X Y=X 0.1101=0.1X+0.01X+0.000X+0.0001X=0.1X+0.01X+0.001(0X+0.1X)=0.1X+0.01X+0.1(0X+0.1X)=0.1X+0.1X+0.1(0X+0.1X)=2-1X+2-1 X+2-1(0X+2-1X)=2-1X+2-1 X+2-1(0X+2-1(X+0),2、笔算乘法的改进,(2)、运算过程:,通过加法(四次)与右移(四次)实现乘法运算。,X=0.1011,Y=0.1101,3、运算规则,设X=xf.x1x2xn,Y=yf.y1y2yn,乘积为P,乘积的符号位为Pf,则:,(1)、符号位Pf:单独处理,。,(2)、数值位|P|:、被乘数和乘数均取绝对值参加运算;、置部分积初值为0;、从乘数的最低位开始判断yi(i=n),若yi=1,则部分积加上被乘数|x|,然后右移一位;若yi=0,则部分积加上0,然后右移一位;、重复,判断n次。,(3)、该运算规则同样适合于整数原码。,3、运算规则,例1、已知 X原=01101,Y原=01011,求XY原。,解:(1)、符号位:,(2)、数值位:|X|=1101,|Y|=1011,|P|=0000,C=0,运算过程,所以|P|=10001111因此XY原=010001111,返 回,3、运算规则,|X|:1101,4、逻辑电路,5、操作流程,二、原码二位乘法,运算规则:,1、符号位Pf:单独处理,。,2、数值位|P|:、部分积与被乘数均采用3位符号位,乘数末位增加1位T,部分积和T均置初值为0;,表,、按表操作:,、若n为偶数(不含符号位),乘数用双符号,最后一次不移位;若n为奇数(不含符号位),乘数用单符号,最后一次移1位。,3、该运算规则同样适合于整数原码。,设X=xf.x1x2xn,Y=yf.y1y2yn,乘积为P,乘积的符号位为Pf,则:,二、原码二位乘法,返 回,二、原码二位乘法,举例:设x=0.111111,y=-0.111001,用原码两位乘求xy原。,解:(1)、符号位:,(2)、数值位:|X|=0.111111,2|X|=1.111110,-|X|补=1.000001|Y|=0.111001,运算过程,所以因此XY原,二、原码二位乘法,返 回,|X|=0.111111,2|X|=1.111110,-|X|补=1.000001,三、补码一位乘法,运算规则(布斯乘法):、参与运算的数均以补码表示,符号位也参与运算;、被乘数和部分积取双符号位,乘数取单符号位;、部分积初值为0,乘数末位增加1位辅助位yn+1=0;、按下表操作n+1步,但最后一步不移位。,三、补码一位乘法,举例:已知X补=01101,Y补=10110,-X补=10011。用布斯乘法计算XY补。解:,运算过程,XY补=101111110,三、补码一位乘法,返 回,四、补码两位乘法,(1)、总结运算规则(2)、按照上课介绍的运算格式计算例3.12。,3.6 定点除法运算,一、原码除法运算二、补码除法运算,1、符号位qf:单独处理,。,一、原码除法运算,设被除数X=xf.x1x2xn,除数Y=yf.y1y2yn,商为Q,商的符号位为qf,则:,运算规则(不恢复余数的除法,加减交替法):,2、数值位|Q|:、被除数和除数均取绝对值参加运算,并要求|x|y|。、置部分余数初值为|x|,|Q|的初值为0。、首先用部分余数减|y|。、如果部分余数为正,上商1,部分余数和商左移一位后部分余数减去|y|;如果部分余数为负,上商0,部分余数和商左移一位后部分余数加上|y|。、第n+1步不左移,但如果部分余数|R|为负,需将部分余数|R|其加上|y|,|R|2-n为余数(余数与被除数同号)。,一、原码除法运算,3、该运算规则同样适合于整数原码除法,只是要求|被除数|除数|,被除数的位数可以是除数位数的2倍。,一、原码除法运算,举例:已知X原=0.1011,Y原=1.1101,求X/Y原。,解:(1)、符号位:,(2)、数值位:|X|=00.1011,|Y|补=00.1101,-|Y|补=11.0011,运算过程,所以|Q|=0.1101因此X/Y原=11101余数为0.01112-4,一、原码除法运算,返 回,二、补码除法运算,(1)、总结运算规则(2)、按照上课介绍的运算格式计算例3.16。,3.6 浮点运算,一、浮点加、减法运算二、浮点乘、除法运算,一、浮点加、减法运算,设两个二进制浮点数X和Y为:X=Mx2Ex Y=My2Ey X Y=Mb2Eb,浮点数加减法的运算步骤:1)对阶 2)尾数加减 3)尾数规格化 4)尾数的舍入处理 5)溢出判断,一、浮点加、减法运算,1、对阶:使两操作数的真实小数点位置对齐,即使阶码相等。先求阶码差,小阶码向大阶码看齐。阶码小的尾数向右移位,每右移一位,阶码加1,右移的次数等于阶码差。尾数右移时有可能丢失数码,精度降低。,0.123000102+0.456000104=0.001230104+0.456000104=(0.001230+0.456000)104=0.457230104,2、尾数加减:将对阶后的两个尾数按定点加减法运算规则进行运算。,一、浮点加、减法运算,3、尾数规格化:(1)左规:当尾数计算结果不是规格化尾数,需将尾数变为规格化尾数。尾数左移k位,阶码减k。(2)右规:当尾数出现01.xxxx或10.xxxx时,在定点运算中表示溢出,但在浮点运算中不算溢出,可以通过右规格化处理。右规格化时,尾数右移一位,阶码加1。,4、尾数的舍入处理:在对阶和尾数右规时,可能会将尾数的低位丢失,引起误差。为提高数据的计算精度,需要对结果尾数进行舍入处理。,一、浮点加、减法运算,(2)“恒置1”法:尾数右移时,不论移去部分的最高位是1还是0,右移后的末位均置为1。,(1)“0舍1入”法:尾数右移时,若移去部分的最高位为0,则舍去,若移去部分的最高位为1,则在右移后的末位加1(可能会因进位而引起溢出,需再次规格化)。负数补码的舍入规则为:若负数补码移去部分的最高位为1且其余各位不全为0时,在尾数末尾加1,其余情况不做舍入处理。,(3)恒舍法:尾数右移时,不做舍入处理。,一、浮点加、减法运算,5、阶码溢出判断:若阶码正溢出,表示浮点数已超出允许表示数范围的上限,置溢出标志。若阶码负溢出,则运算结果趋于零,置结果为机器零。否则,浮点数加、减法运算正常结束。,一、浮点加、减法运算,举例:已知X=0.110110112010,Y=-0.101011002100,计算X+Y(浮点数的阶码用4位补码表示,尾数用8位补码表示)。,解:X浮=0 0010 11011011 Y浮=1 0100 01010100 设:X+Y浮=Mb2Eb,(1)对阶:E=Ex Ey=00 010+11 100=11 110 即:E=-2,Mx右移两位,Mx=0 0011011011 Eb=Ey=0 100,一、浮点加、减法运算,(3)尾数规格化:尾数需左规 Mb左移K=1位:Mb=11 00010101 1 Eb减1:Eb=00 011,一、浮点加、减法运算,(4)舍入处理:采用0舍1入法 Mb=11 00010101,(5)阶码溢出判断:阶码无溢出,运算正常结束 X+Y 浮=1 0011 00010101 即:X+Y=-0.111010112011,二、浮点乘、除法运算,X=Mx2Ex Y=My2Ey XY=(Mx2Ex)(My2Ey)=(MxMy)2Ex+Ey X/Y=(Mx2Ex)/(My2Ey)=(Mx/My)2Ex-Ey,二、浮点乘、除法运算,1、浮点数乘法的运算步骤:,(1)两浮点数相乘:两浮点数相乘,乘积的阶码为相乘两数的阶码之和,尾数为相乘两数之积。可以表示为:Mb=MxMy Eb=ExEy,(2)尾数规格化:如果不是规格化尾数,则需要左规。,(4)阶码溢出判断:与浮点数加、减法的阶码溢出判断相同。,(3)尾数舍入处理:如果结果保留双字长乘积,不需要做舍入处理。如果保留单字长乘积,则需要做舍入处理。,二、浮点乘、除法运算,1、浮点数除法的运算步骤:,(2)两浮点数相除:两浮点数相除,商的阶码为被除数的阶码减去除数的阶码。商的尾数为相除两数的尾数之商。可以表示为:Mb=Mx/My,Eb=Ex-Ey,(3)尾数规格化:若溢出,执行右规。,(5)阶码溢出判断:与浮点数加、减法的阶码溢出判断相同。,(1)判断除数是否为0,若My=0,出错报告。,(4)尾数舍入处理:与浮点数加、减法的尾数舍入处理相同。,作业,1、P91 92、已知X补=0.1011,Y补=1.1011,求算术左移、算术右移、逻辑左移、逻辑右移后的值3、已知X和Y,用变形补码计算X-Y,X+Y,同时指出运算结果是否溢出。(1)、X=27/32,Y=31/32;(2)、X=13/16,Y=-11/164、已知二进制数x=0.1010,y=-0.1101。请按如下要求计算,并把结果还原成真值。(1)用原码一位乘法计算x y原。(2)用布斯乘法计算x y补。,

    注意事项

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

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




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开