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