第4章 数值的机器运算终优秀课件.ppt
《第4章 数值的机器运算终优秀课件.ppt》由会员分享,可在线阅读,更多相关《第4章 数值的机器运算终优秀课件.ppt(145页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第4章章 数值的机器运数值的机器运算终算终第1页,本讲稿共145页2第第4章章数值的机器运算数值的机器运算第2页,本讲稿共145页3 运算器是计算机进行算术运算和逻运算器是计算机进行算术运算和逻辑运算的主要部件,运算器的逻辑结构辑运算的主要部件,运算器的逻辑结构取决于机器的指令系统、数据表示方法取决于机器的指令系统、数据表示方法和运算方法等。本章主要讨论数值数据和运算方法等。本章主要讨论数值数据在计算机中实现算术运算和逻辑运算的在计算机中实现算术运算和逻辑运算的方法,以及运算部件的基本结构和工作方法,以及运算部件的基本结构和工作原理。原理。第3页,本讲稿共145页4本章学习内容本章学习内容4
2、.1 基本算术运算的实现基本算术运算的实现4.2 定点加减运算定点加减运算4.3 带符号数的移位和舍入操作带符号数的移位和舍入操作4.4 定点乘法运算定点乘法运算4.5 定点除法运算定点除法运算4.6 规格化浮点运算规格化浮点运算4.7 十进制整数的加法运算十进制整数的加法运算4.8 逻辑运算与实现逻辑运算与实现4.9 运算器的基本组成与实例运算器的基本组成与实例第4页,本讲稿共145页5本章学习要求本章学习要求掌握:定点补码加法和减法运算方法掌握:定点补码加法和减法运算方法理解:理解:3种溢出检测方法种溢出检测方法理解理解:补码移位运算和常见的舍入操作方法:补码移位运算和常见的舍入操作方法了
3、解了解:串行加法器与并行加法器串行加法器与并行加法器理解理解:进位产生和进位传递进位产生和进位传递掌握:定点原码、补码乘法运算方法掌握:定点原码、补码乘法运算方法掌握:定点原码、补码加减交替除法运算方法掌握:定点原码、补码加减交替除法运算方法理解:浮点加减乘除运算理解:浮点加减乘除运算理解:逻辑运算理解:逻辑运算了解:运算器的基本结构及浮点协处理器了解:运算器的基本结构及浮点协处理器第5页,本讲稿共145页64.1 4.1 基本算术运算的实现基本算术运算的实现 计计算算机机中中最最基基本本的的算算术术运运算算是是加加法法运运算算,不不论论加加、减减、乘乘、除除运运算算最最终终都都可可以以归归结
4、结为为加加法法运运算算。所所以以在在此此讨讨论论最最基基本本的的运运算算部部件件加加法法器器,以以及及并并行行加加法法器器的进位问题。的进位问题。第6页,本讲稿共145页74.1.1 4.1.1 加法器加法器 1.全加器全加器 全加器(全加器(FA)是最基本的加法单元,是最基本的加法单元,它有三个输入量:操作数它有三个输入量:操作数Ai和和Bi、低位传低位传来的进位来的进位Ci-1,两个输出量:本位和两个输出量:本位和Si、向向高位的进位高位的进位Ci。图图4-1 全加器的逻辑框图全加器的逻辑框图 第7页,本讲稿共145页8全加器真值表全加器真值表AiBiCi-1SiCi00001111001
5、10011010101010110100100010111第8页,本讲稿共145页9 根据真值表,可得到全加器的逻辑表根据真值表,可得到全加器的逻辑表达式为:达式为:Si=Ai Bi Ci-1 Ci=AiBi+(Ai Bi)Ci-1全加器的逻辑表达式全加器的逻辑表达式第9页,本讲稿共145页102.串行加法器与并行加法器串行加法器与并行加法器 加加法法器器有有串串行行和和并并行行之之分分。在在串串行行加加法法器器中中,只只有有一一个个全全加加器器,数数据据逐逐位位串串行行送送入入加加法法器器进进行行运运算算;并并行行加加法法器器则则由由多多个个全全加加器器组组成成,其其位位数数的的多多少少取取
6、决决于于机机器的字长,数据的各位同时运算。器的字长,数据的各位同时运算。第10页,本讲稿共145页11 串串行行加加法法器器具具有有器器件件少少、成成本本低低的的优优点点,但但运运算算速速度度太太慢慢,所所以以除除去去某某些些低低速速的的专专用用运运算算器器外外很很少采用。少采用。并并行行加加法法器器可可同同时时对对数数据据的的各各位位相相加加,但但存存在在着着一一个个加加法法的的最最长长运运算算时时间间问问题题。这这是是因因为为虽虽然然操操作作数数的的各各位位是是同同时时提提供供的的,但但低低位位运运算算所所产产生生的的进进位位会会影影响响高高位位的的运运算算结结果果。例例如如:1111和和
7、0001相相加加,最最低低位位产产生生的的进进位位将将逐逐位位影影响响至至最最高高位位,因因此此,并并行行加加法法器器的的最最长长运运算算时时间间主主要要是是由由进进位位信信号号的的传传递递时时间间决决定定的的,而而每每个个全全加加器器本本身身的的求求和和延延迟迟只只是是次次要要因因素素。很很明明显显,提提高高并并行行加加法法器器速度的关键是尽量加快进位产生和传递的速度。速度的关键是尽量加快进位产生和传递的速度。2.串行加法器与并行加法器(续)串行加法器与并行加法器(续)第11页,本讲稿共145页12 并并行行加加法法器器中中的的每每一一个个全全加加器器都都有有一一个个从从低低位位送送来来的的
8、进进位位输输入入和和一一个个传传送送给给高高位位的的进进位位输输出出。我我们们将将传传递递进进位位信信号号的的逻逻辑辑线线路路连连接接起起来来构构成成的的进进位位网网络络称称为为进进位位链。每一位的进位表达式为:链。每一位的进位表达式为:Ci=AiBi+(Ai Bi)Ci-1 其中:其中:Gi=AiBi为进位产生函数为进位产生函数 Pi=Ai Bi为进位传递函数为进位传递函数 进位表达式进位表达式Ci=Gi+PiCi-14.1.2 4.1.2 进位的产生和传递进位的产生和传递第12页,本讲稿共145页13图图4-3 串行进位的并行加法器串行进位的并行加法器其中:其中:C1=G1+P1C0 C2
9、=G2+P2C1 Cn=Gn+PnCn-1 串行进位的并行加法器串行进位的并行加法器 第13页,本讲稿共145页144.1.2 4.1.2 进位的产生和传递(续)进位的产生和传递(续)串行进位的并行加法器的总延迟时串行进位的并行加法器的总延迟时间与字长成正比,字长越长,总延迟时间间与字长成正比,字长越长,总延迟时间就越长。假定,将一级就越长。假定,将一级“与门与门”、“或门或门”的延迟时间定为的延迟时间定为ty,从上述公式中可看从上述公式中可看出,每一级全加器的进位延迟时间为出,每一级全加器的进位延迟时间为2ty。在字长为在字长为n位的情况下,若不考虑位的情况下,若不考虑Gi、Pi的形成时间,
10、从的形成时间,从C0Cn的最长延迟时间的最长延迟时间为为2nty(设设C0为加法器最低位的进位输入,为加法器最低位的进位输入,Cn为加法器最高位的进位输出)。为加法器最高位的进位输出)。第14页,本讲稿共145页151.并行进位方式并行进位方式 并并行行进进位位又又叫叫先先行行进进位位、同同时时进进位位,其特点是各级进位信号同时形成。其特点是各级进位信号同时形成。C1=G1+PC0 C2=G2+P2C1=G2+P2G1+P2P1C0 C3=G3+P3C2=G3+P3G2+P3P2G1+P3P2P1C0 C4=G4+P4C3=G4+P4G3+P4P3G2+P4P3P2G1 +P4P3P2P1C0
11、 4.1.3 4.1.3 并行加法器的快速进位并行加法器的快速进位 第15页,本讲稿共145页16 这种进位方式是快速的,若不考虑这种进位方式是快速的,若不考虑Gi、Pi的形成时间,从的形成时间,从C0Cn的最长延迟的最长延迟时间仅为时间仅为2ty,而与字长无关。但是随着而与字长无关。但是随着加法器位数的增加,加法器位数的增加,Ci的逻辑表达式会变的逻辑表达式会变得越来越长,输入变量会越来越多,这会得越来越长,输入变量会越来越多,这会使电路结构变得很复杂,所以完全采用并使电路结构变得很复杂,所以完全采用并行进位是不现实的。行进位是不现实的。1.并行进位方式(续)并行进位方式(续)第16页,本讲
12、稿共145页17单级先行进位方式(组内并行、组间串行)单级先行进位方式(组内并行、组间串行)以以16位位加加法法器器为为例例,可可分分为为4组组,每每组组4位位。第第一一小小组组组组内内的的进进位位逻逻辑辑函函数数C1、C2、C3、C4的的表表达达式式与与前前述述相相同同,它它们们是是同同时时产产生生的的,实实现现上上述述进进位位逻逻辑辑函函数数的的电电路路称称之之为为4位位先先行行进进位位电电路路CLA,其其延延迟迟时间是时间是2ty。利用这种利用这种4位的位的CLA电路以及进位产生电路以及进位产生/传递电路和求和电路可以构成传递电路和求和电路可以构成4位的位的CLA加法器。用加法器。用4个
13、这样的个这样的CLA加法器,很容加法器,很容易构成易构成16位的单级先行进位加法器。位的单级先行进位加法器。2.分组并行进位方式分组并行进位方式第17页,本讲稿共145页1816位单级先行进位加法器位单级先行进位加法器图图4-4 16位单级先行进位加法器位单级先行进位加法器第18页,本讲稿共145页1916位单级先行进位时间图位单级先行进位时间图图图4-5 16位单级先行进位时间图位单级先行进位时间图第19页,本讲稿共145页20 多级先行进位方式(组内并行、组间并行)多级先行进位方式(组内并行、组间并行)仍仍以以字字长长为为16位位的的加加法法器器作作为为例例子子,分分析析两两级级先先行行进
14、进位位加加法法器器的的设设计计方方法法。第第一一小小组组的的进进位位输输出出C4可以变成两个与项相或:可以变成两个与项相或:C4=G4+P4G3+P4P3G2+P4P3P2G1+P4P3P2P1C0 =G1*+P1*C0 其中:其中:G1*=G4+P4G3+P4P3G2+P4P3P2G1 P1*=P4P3P2P1 Gi*称为组进位产生函数称为组进位产生函数 Pi*称为组进位传递函数称为组进位传递函数2.分组并行进位方式(续)分组并行进位方式(续)第20页,本讲稿共145页21依次类推,可以得到:依次类推,可以得到:C8=G2*+P2*C4=G2*+P2*G1*+P2*P1*C0 C12=G3*
15、+P3*G2+P3*P2*G1*+P3*P2*P1*C0 C16=G4*+P4*G3*+P4*P3*G2*+P4*P3*P2*G1*+P4*P3*P2*P1*C02.分组并行进位方式(续)分组并行进位方式(续)第21页,本讲稿共145页22 成组先行进位电路成组先行进位电路BCLA,其延迟时其延迟时间是间是2ty。利用这种利用这种4位的位的BCLA电路以及电路以及进位产生进位产生/传递电路和求和电路可以构成传递电路和求和电路可以构成4位的位的BCLA加法器。加法器。16位的两级先行进位位的两级先行进位加法器可由加法器可由4个个BCLA加法器和加法器和1个个CLA电电路组成。路组成。2.分组并行
16、进位方式(续)分组并行进位方式(续)第22页,本讲稿共145页2316位两级先行进位加法器位两级先行进位加法器图图4-6 16位两级先行进位加法器位两级先行进位加法器第23页,本讲稿共145页24 若不考虑若不考虑Gi、Pi的形成时间,的形成时间,C0经过经过2ty产生第一小组的产生第一小组的C1、C2、C3及所有组及所有组进位产生函数进位产生函数Gi*和组进位传递函数和组进位传递函数Pi*;再经过再经过2ty,由由CLA电路产生电路产生C4、C8、C12、C16;再经过再经过2ty后,才能产生第二、三、后,才能产生第二、三、四小组内的四小组内的C5C7、C9C11、C13C15。此时加法器的
17、最长进位延迟时间是此时加法器的最长进位延迟时间是6ty。2.分组并行进位方式(续)分组并行进位方式(续)第24页,本讲稿共145页2516位两级先行进位时间图位两级先行进位时间图图图4-7 16位两级先行进位时间图位两级先行进位时间图第25页,本讲稿共145页26 定定点点数数的的加加减减运运算算包包括括原原码码、补补码码和和反反码码3种种带带符符号号数数的的加加减减运运算算,其其中中补补码码加减运算实现起来最方便。加减运算实现起来最方便。4.2 4.2 定点加减运算定点加减运算第26页,本讲稿共145页27原码加减运算规则:原码加减运算规则:参加运算的操作数取其绝对值;参加运算的操作数取其绝
18、对值;若若做做加加法法,则则两两数数直直接接相相加加,若若做做减减法法,则则将将减数先变一次补,再进行加法运算;减数先变一次补,再进行加法运算;运算之后,可能有两种情况:运算之后,可能有两种情况:有进位,结果为正,即得到正确的结果。有进位,结果为正,即得到正确的结果。无无进进位位,结结果果为为负负,则则应应再再变变一一次次补补,才才能能得到正确的结果。得到正确的结果。结果加上符号位。结果加上符号位。通通常常,把把运运算算之之前前的的变变补补称称为为前前变变补补,运运算算之之后的变补称为后变补。后的变补称为后变补。4.2.1 4.2.1 原码加减运算原码加减运算 第27页,本讲稿共145页284
19、.2.2 4.2.2 补码加减运算补码加减运算1.补码加法补码加法 两两个个补补码码表表示示的的数数相相加加,符符号号位位参参加加运运算算,且且两两数数和和的的补补码码等等于于两两数数补补码码之之和,即:和,即:X+Y补补=X补补+Y补补第28页,本讲稿共145页29 根据补码加法公式可推出:根据补码加法公式可推出:X-Y补补=X+(-Y)补补=X补补+-Y补补 从从补补码码减减法法公公式式可可以以看看出出,只只要要求求得得-Y补补,就就可可以以变变减减法法为为加加法法。不不管管Y的的真真值值为为正正或或为为负负,已已知知Y补补求求-Y补补的的方方法法是是:将将Y补补连连同同符符号号位位一一起
20、起求求反反,末末尾尾加加“1”。-Y补补被被称称为为Y补补的的机机器器负负数数,由由Y补补求求-Y补补的的过过程程称称为为对对Y补补变变补补(求补),表示为(求补),表示为 -Y补补=Y补补变补变补2.补码减法补码减法第29页,本讲稿共145页302.补码减法(续)补码减法(续)“某某数数的的补补码码表表示示”与与“变变补补”是是两两个个不不同同的的概概念念。一一个个负负数数由由原原码码转转换换成成补补码码时时,符符号号位位是是不不变变的的,仅仅对对数数值值位位各各位位变变反反,末末位位加加“1”。而而变变补补则则不不论论这这个个数数的的真真值值是是正正是是负负,一一律律连连同同符符号号位位一
21、一起起变变反反,末末位位加加“1”。Y补补表表示示的的真真值值如如果果是是正正数数,则变补后则变补后-Y补补所表示的真值变为负数,反之亦然。所表示的真值变为负数,反之亦然。例例1:Y=-0.0110,Y原原=1.0110,Y补补=1.1010,-Y补补=0.0110 例例2:Y=0.0110,Y原原=0.0110,Y补补=0.0110,-Y补补=1.1010第30页,本讲稿共145页31 参参加加运运算算的的两两个个操操作作数数均均用用补补码码表表示;示;符号位作为数的一部分参加运算;符号位作为数的一部分参加运算;若若做做加加法法,则则两两数数直直接接相相加加,若若做做减法,则将被减数与减数的
22、机器负数相加;减法,则将被减数与减数的机器负数相加;运算结果仍用补码表示。运算结果仍用补码表示。3.补码加减运算规则补码加减运算规则第31页,本讲稿共145页32例例3:A=0.1011,B=-0.1110,求求A+B A补补=0.1011 B补补=1.0010 0.1011 A补补 +1.0010 B补补 1.1101 A+B补补 A+B补补=1.1101 A+B=-0.0011补码加法示例补码加法示例第32页,本讲稿共145页33例例4:A=0.1011,B=-0.0010,求求A-B A补补=0.1011 B补补=1.1110 -B补补=0.0010 0.1011 A补补 +0.0010
23、 -B补补 0.1101 A-B补补 A-B补补=0.1101 A-B=0.1101补码减法示例补码减法示例第33页,本讲稿共145页34 在计算机算术运算中,有时必须将采用在计算机算术运算中,有时必须将采用给定位数表示的数转换成具有更多位数的某给定位数表示的数转换成具有更多位数的某种表示形式,这被称为种表示形式,这被称为“符号扩展符号扩展”。实际上补码的符号扩展非常简单,所有实际上补码的符号扩展非常简单,所有附加位均用符号位填充,即正数用附加位均用符号位填充,即正数用0进行填进行填充,负数用充,负数用1填充。填充。4.符号扩展符号扩展第34页,本讲稿共145页354.2.3 4.2.3 补码
24、的溢出判断与检测方法补码的溢出判断与检测方法 1.溢出的产生溢出的产生 在在补补码码运运算算中中,若若两两个个正正数数相相加加,而而结结果果为为负负;两个负数相加,而结果为正,则结果出错。两个负数相加,而结果为正,则结果出错。例例5:设:设:X=1011B=11D,Y=111B=7D 则则 X补补=0,1011,Y补补=0,0111 0,1 0 1 1X补补 +0,0 1 1 1Y补补 1,0 0 1 0X+Y补补 X+Y补补=1,0010 X+Y=-1110B=-14D 两正数相加结果为两正数相加结果为-14D,显然是错误的。显然是错误的。第35页,本讲稿共145页361.溢出的产生(续)溢
25、出的产生(续)例例6:设:设:X=-1011B=-11D,Y=-111B=-7D 则则 X补补=1,0101 Y补补=1,1001 1,0 1 0 1X补补 +1,1 0 0 1Y补补 0,1 1 1 0X+Y补补 X+Y补补=0,1110 X+Y=1110B=14D 两两负负数数相相加加结结果果为为14D,显显然然也也是是错错误的。误的。第36页,本讲稿共145页371.溢出的产生(续)溢出的产生(续)字字长长为为n+1位位的的定定点点整整数数(其其中中一一位位为为符符号号位位),采采用用补补码码表表示示,当当运运算算结结果果大大于于2n-1或或小小于于-2n时,就产生溢出。时,就产生溢出。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第4章 数值的机器运算终优秀课件 数值 机器 运算 优秀 课件
限制150内