第4章 数值的机器运算终精选PPT.ppt

上传人:石*** 文档编号:78725829 上传时间:2023-03-19 格式:PPT 页数:145 大小:4.22MB
返回 下载 相关 举报
第4章 数值的机器运算终精选PPT.ppt_第1页
第1页 / 共145页
第4章 数值的机器运算终精选PPT.ppt_第2页
第2页 / 共145页
点击查看更多>>
资源描述

《第4章 数值的机器运算终精选PPT.ppt》由会员分享,可在线阅读,更多相关《第4章 数值的机器运算终精选PPT.ppt(145页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

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时时,就就产生溢出。产生溢出。设

26、参加运算的两数为设参加运算的两数为X、Y,做加法运算。做加法运算。若若X、Y异异号号,实实际际上上是是做做两两数数相相减减,所所以以不不会溢出。会溢出。若若X、Y同同号号,运运算算结结果果为为正正且且大大于于所所能能表表示示的的最最大大正正数数或或运运算算结结果果为为负负且且小小于于所所能能表表示示的的最最小小负负数数(绝绝对对值值最最大大的的负负数数)时时,产产生生溢溢出出。将将两两正正数数相相加加产产生生的的溢溢出出称称为为正正溢溢;反反之之,两两负负数数相相加加产产生生的的溢溢出出称为负溢称为负溢。第37页,本讲稿共145页382.溢出检测方法溢出检测方法设:被操作数为:设:被操作数为:

27、X补补=Xs,X1X2Xn 操作数为:操作数为:Y补补=Ys,Y1Y2Yn 其和(差)为:其和(差)为:S补补=Ss,S1S2Sn 采用一个符号位采用一个符号位 采采用用一一个个符符号号位位检检测测溢溢出出时时,当当Xs=Ys=0,Ss=1时时,产产 生生 正正 溢溢;当当Xs=Ys=1,Ss=0时,产生负溢。时,产生负溢。溢出判断条件为溢出判断条件为 溢出溢出=Ss+Xs Ys 第38页,本讲稿共145页392.溢出检测方法(续)溢出检测方法(续)采用进位位判断采用进位位判断 两数运算时,产生的进位为两数运算时,产生的进位为 Cs,C1C2Cn,其其中中:Cs为为符符号号位位产产生生的的进进

28、位位,C1为为最最高高数数值值位位产生的进位。产生的进位。两两正正数数相相加加,当当最最高高有有效效位位产产生生进进位位(C1=1)而而符符号号位位不不产产生生进进位位(Cs=0)时时,发发生生正正溢溢;两两负负数数相相加加,当当最最高高有有效效位位不不产产生生进进位位(C1=0)而而符符号号位产生进位(位产生进位(Cs=1)时,发生负溢。故溢出条件为时,发生负溢。故溢出条件为 溢出溢出=C1+Cs =CsC1 第39页,本讲稿共145页402.溢出检测方法(续)溢出检测方法(续)采用变形补码(双符号位补码)采用变形补码(双符号位补码)在在双双符符号号位位的的情情况况下下,把把左左边边的的符符

29、号号位位Ss1叫叫做做真真符符,两两个个符符号号位位都都作作为为数数的的一一部部分分参参加加运运算算。这这种种编编码码又又称称为变形补码。为变形补码。双符号位的含义如下:双符号位的含义如下:Ss1Ss2=00 结果为正数,无溢出结果为正数,无溢出 Ss1Ss2=01 结果正溢结果正溢 Ss1Ss2=10 结果负溢结果负溢 Ss1Ss2=11 结果为负数,无溢出结果为负数,无溢出 当当两两位位符符号号位位的的值值不不一一致致时时,表表明明产产生生溢溢出出,溢溢出条件为出条件为 溢出溢出=Ss1 Ss2第40页,本讲稿共145页414.2.4 4.2.4 补码定点加减运算的实现补码定点加减运算的实

30、现 要要实实现现补补码码加加法法,则则需需给给出出XF、YF和和FX三三个个控控制制信信号号,同同时时打打开开门门A、门门B和和门门C,把把寄寄存存器器X和和寄寄存存器器Y的的内内容容送送入入加加法法器器的的两两个个输输入入端端进进行行加加法法运运算算,并并把把结结果果送送回回,最最后后由由打打入入脉脉冲冲CPX打入寄存器打入寄存器X。减减法法与与加加法法的的不不同同之之处处在在于于,加加法法使使用用YF控控制制信信号号,减减法法使使用用 F和和1F控制信号,其余控制信号相同。控制信号,其余控制信号相同。第41页,本讲稿共145页42补码加减运算的逻辑电路补码加减运算的逻辑电路图图4-8 补码

31、加减运算器框图补码加减运算器框图 1 第42页,本讲稿共145页43 在计算机中,实现乘除运算的方案通常有在计算机中,实现乘除运算的方案通常有3种:种:软软件件实实现现。在在低低档档微微机机中中无无乘乘除除运运算算指指令令,只能用乘法和除法子程序来实现乘除运算。只能用乘法和除法子程序来实现乘除运算。在在原原有有实实现现加加减减运运算算的的运运算算器器基基础础上上增增加加一一些些逻逻辑辑线线路路,使使乘乘除除运运算算变变换换成成加加减减和和移移位位操操作作。在机器中设有乘除指令。在机器中设有乘除指令。设设置置专专用用的的乘乘、除除法法器器,机机器器中中设设有有相相应应的乘除指令。的乘除指令。不不

32、管管采采用用什什么么方方案案实实现现乘乘除除法法,基基本本原原理理是是相相同同的的。如如果果采采用用第第种种方方案案,则则必必然然会会涉涉及及到到移位操作。移位操作。4.3 4.3 带符号数的移位和舍入操作带符号数的移位和舍入操作第43页,本讲稿共145页441.原码的移位规则原码的移位规则 不不论论正正数数还还是是负负数数,在在左左移移或或右右移移时时,符号位均不变,空出位一律以符号位均不变,空出位一律以“0”补入。补入。负数的原码移位前后结果为:负数的原码移位前后结果为:左移:移位前有:左移:移位前有:1 X1 X2 Xn-1 Xn 移位后有:移位后有:1 X2 X3 Xn 0 右移:移位

33、前有:右移:移位前有:1 X1 X2 Xn-1 Xn 移位后有:移位后有:1 0 X1 Xn-2 Xn-1 4.3.1 4.3.1 带符号数的移位操作带符号数的移位操作 第44页,本讲稿共145页452.补码的移位规则补码的移位规则 正数正数 符符号号位位不不变变,不不论论左左移移或或右右移移,空空出出位一律以位一律以“0”补入。补入。负数负数 符符号号位位不不变变,左左移移后后的的空空出出位位补补“0”,右移后的空出位补,右移后的空出位补“1”。左移:移位前有:左移:移位前有:1 X1 X2 Xn-1 Xn 移位后有:移位后有:1 X2 X3 Xn 0 右移:移位前有:右移:移位前有:1 X

34、1 X2 Xn-1 Xn 移位后有:移位后有:1 1 X1 Xn-2 Xn-1 第45页,本讲稿共145页463.移位功能的实现移位功能的实现 在在计计算算机机中中,通通常常移移位位操操作作由由移移位位寄寄存存器器来来实实现现,但但也也有有一一些些计计算算机机不不设设置置专专门门的的移移位位寄寄存存器器,而而在在加加法法器器的的输输出出端端加加一一个个移移位位器器。移移位位器器是是由由与与门门和和或或门门组组成成的的逻逻辑辑电电路路(实实际际是是一一个个多多路路选选择择器器),可可以以实实现现直直传传(不不移移位位)、左左斜斜一一位位送送(左左移移一一位位)和和右右斜斜一一位位送送(右右移移一

35、一位位)的功能。的功能。第46页,本讲稿共145页47移位器逻辑电路移位器逻辑电路 1 图图4-9 移位器逻辑电路移位器逻辑电路 第47页,本讲稿共145页484.3.2 4.3.2 带符号数的舍入操作带符号数的舍入操作 在在算算术术右右移移时时,由由于于受受到到硬硬件件的的限限制制,运运算算结结果果有有可可能能需需要要舍舍去去一一定定的的尾尾数数,这这会会造造成成一一些些误误差差。为为了了缩缩小小误误差差,就就要要进进行行舍舍入入处处理理。假假定定经经过过运运算算后后的的数数共共有有p+q位位,现现仅仅允允许许保保留留前前p位位。常常见见的的舍舍入入方方法法有:有:恒舍(切断)恒舍(切断)无

36、无论论多多余余部部分分q位位为为何何代代码码,一一律律舍舍去去,保留部分的保留部分的p位不作任何改变。位不作任何改变。第48页,本讲稿共145页494.3.2 4.3.2 带符号数的舍入操作(续)带符号数的舍入操作(续)冯冯诺依曼舍入法诺依曼舍入法 这这种种舍舍入入法法又又称称为为恒恒置置1法法,即即不不论论多多余余部部分分q位位为为何何代代码码,都都把把保保留留部部分分p位位的的最低位置最低位置1。下舍上入法下舍上入法 下下舍舍上上入入就就是是0舍舍1入入。用用将将要要舍舍去去的的q位位的的最最高高位位作作为为判判断断标标志志,以以决决定定保保留留部部分分是是否否加加1。如如该该位位为为0,

37、则则舍舍去去整整个个q位位(相相当当于于恒恒舍舍);如如该该位位为为1,则则在在保保留留的的p位的最低位上加位的最低位上加1。第49页,本讲稿共145页504.3.2 4.3.2 带符号数的舍入操作(续)带符号数的舍入操作(续)查表舍入法查表舍入法 查查表表舍舍入入法法又又称称ROM舍舍入入法法,因因为为它它用用ROM来来存存放放舍舍入入处处理理表表,每每次次经经查查表表来来读读得得相相应应的的处处理理结结果果。通通常常,ROM表表的的容容量量为为2K个个单单元元,每每个个单单元元字字长长为为K-1位位。舍舍入入处处理理表表的的内内容容设设置置一一般般采采用用的的方方法法是是:当当K位位数数据

38、据的的高高K-1位位为为全全“1”时时,让让那那些些单单元元按按恒恒舍舍法法填填入入K-1位位全全“1”,其其余余单元都按下舍上入法来填其内容。单元都按下舍上入法来填其内容。第50页,本讲稿共145页514.4 4.4 定点乘法运算定点乘法运算 在在计计算算机机中中,乘乘法法运运算算大大多多数数由由累累加加与与移移位位来来实实现现,也也有有些些机机器器中中具具有有由由大大规模集成电路制造的阵列乘法模块。规模集成电路制造的阵列乘法模块。第51页,本讲稿共145页524.4.1 4.4.1 原码一位乘法原码一位乘法1.原码一位乘法算法原码一位乘法算法 原原码码一一位位乘乘法法是是从从手手算算演演变

39、变而而来来的的,即即用用两两个个操操作作数数的的绝绝对对值值相相乘乘,乘乘积积的的符符号号为为两两操操作作数数符符号号的的异异或或值值(同同号号为为正正,异号为负)。异号为负)。乘积乘积P=|X|Y|符号符号Ps=Xs Ys 式式中中:Ps为为乘乘积积的的符符号号,Xs和和Ys为为被被乘数和乘数的符号。乘数和乘数的符号。第52页,本讲稿共145页531.原码一位乘法算法(续)原码一位乘法算法(续)原码一位乘法的规则:原码一位乘法的规则:参加运算的操作数取其绝对值;参加运算的操作数取其绝对值;令令乘乘数数的的最最低低位位为为判判断断位位,若若为为“1”,加加被被乘乘数数,若若为为“0”,不不加加

40、被被乘乘数(加数(加0););累加后的部分积以及乘数右移一位;累加后的部分积以及乘数右移一位;重复重复n次次和和;符符号号位位单单独独处处理理,同同号号为为正正,异异号号为负。为负。第53页,本讲稿共145页541.原码一位乘法算法(续)原码一位乘法算法(续)通通常常,乘乘法法运运算算需需要要3个个寄寄存存器器。被被乘乘数数存存放放在在B寄寄存存器器中中;乘乘数数存存放放在在C寄寄存存器器中中;A寄寄存存器器用用来来存存放放部部分分积积与与最最后后乘乘积积的的高高位位部部分分,它它的的初初值值为为0。运运算算结结束束后后寄寄存存器器C中中不不再再保保留留乘乘数数,改改为为存存放放乘积的低位部分

41、。乘积的低位部分。例例8:已已知知:X=0.1101,Y=-0.1011,求求:XY。|X|=00.1101B,|Y|=.1011C,0A第54页,本讲稿共145页55原码一位乘法示例原码一位乘法示例 A C 说明说明0 0.0 0 0 0 1 0 1 1+|X|0 0.1 1 0 1 C4=1,+|X|0 0.1 1 0 1 0 0.0 1 1 0 1 1 0 1 部分积右移一位部分积右移一位0 1.0 0 1 1+|X|0 0.1 1 0 1 C4=1,+|X|0 0.1 0 0 1 1 1 1 0 部分积右移一位部分积右移一位+0 0 0.0 0 0 0 C4=0,+00 0.1 0 0

42、 1 0 0.0 1 0 0 1 1 1 1 部分积右移一位部分积右移一位+|X|0 0.1 1 0 1 C4=1,+|X|0 1.0 0 0 1 0 0.1 0 0 0 1 1 1 1 部分积右移一位部分积右移一位PS=XS YS=0 1=1X Y=-0.10001111 第55页,本讲稿共145页56原码一位乘法流程图原码一位乘法流程图 图图4-11 原码一位乘法流程图原码一位乘法流程图第56页,本讲稿共145页572.原码一位乘法运算的实现原码一位乘法运算的实现 图图4-12中中A、B是是n+2位位的的寄寄存存器器,C是是n位位的的寄寄存存器器,A寄寄存存器器和和C寄寄存存器器是是级级联

43、联在在一一起起的的,它它们们都都具具有有右右移移一一位位的的功功能能,在在右右移移控控制制信信号号的的作作用用下下,A寄寄存存器器最最低低一一位位的的值值将将移移入入C寄寄存存器器的的最最高高位位。C寄寄存存器器的的最最低低位位的的值值作作为为字字级级与与门门的的控控制制信信号号,以以控控制制加加被被乘乘数数还还是是不不加加被被乘乘数数(即即加加0)。C寄寄存存器器中中的的乘乘数数在在逐逐次次右右移移过过程程中中将将逐逐步步丢丢失失,取取而而代代之之的的是是乘乘积积的的低低位位部部分分。原原码码一一位位乘乘法法运运算算器器电电路路中中除除去去三三个个寄寄存存器器外外,还还需需要要一一个个n+2

44、位位的的加加法法器器、一一个个计计数数器器、n+2个个与与门门(控控制制是是否否加加被被乘乘数数)和和一一个个异异或或门门(处处理理符符号号位)。位)。第57页,本讲稿共145页584.4.2 4.4.2 补码一位乘法补码一位乘法 虽虽然然原原码码乘乘法法比比补补码码乘乘法法容容易易实实现现,但但因因为为补补码码加加减减法法简简单单,在在以以加加减减运运算算为为主主的的通通用用机机中中操操作作数数都都用用补补码码表表示示,所所以以这类计算机在做乘法时常使用补码乘法。这类计算机在做乘法时常使用补码乘法。1.校正法校正法 校校正正法法是是将将X补补和和Y补补按按原原码码规规则则运运算算,所所得得结

45、结果果根根据据情情况况再再加加以以校校正正,从从而而得得到到正正确确的的XY补补。补补码码乘乘法法的的统统一一表表达达式:式:XY补补=X补补(0.Y1Y2Yn)+-X补补Ys第58页,本讲稿共145页592.比较法比较法Booth乘法乘法 递推公式:递推公式:Z0补补=0 Z1补补=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补补依依次次为为各各次次求求得得的的累累加加并并右右移移之之后后的部分

46、积。的部分积。第59页,本讲稿共145页602.比较法比较法Booth乘法乘法 (续)(续)Booth乘法规则:乘法规则:参加运算的数用补码表示;参加运算的数用补码表示;符号位参加运算;符号位参加运算;乘乘数数最最低低位位后后面面增增加加一一位位附附加加位位Yn+1,其初值为其初值为0;由由于于每每求求一一次次部部分分积积要要右右移移一一位位,所所以以乘乘数数的的最最低低两两位位Yn、Yn+1的的值值决决定定了了每次应执行的操作;每次应执行的操作;移位按补码右移规则进行;移位按补码右移规则进行;共共需需做做n+1次次累累加加,n次次移移位位,第第n+1次不移位。次不移位。第60页,本讲稿共14

47、5页61Booth乘法运算操作乘法运算操作 判断位判断位Yn Yn+1 操操 作作 0 0 原部分积右移一位原部分积右移一位 0 1 原部分积加原部分积加X补补后右移一位后右移一位 1 0 原部分积加原部分积加-X补补后右移一位后右移一位 1 1 原部分积右移一位原部分积右移一位 第61页,本讲稿共145页622.比较法比较法Booth乘法乘法 (续)(续)由由于于符符号号位位要要参参加加运运算算,部部分分积积累累加加时时最最高高有有效效位位产产生生的的进进位位可可能能会会侵侵占占符符号号位位,故故被被乘乘数数和和部部分分积积应应取取双双符符号号位位,而而乘乘数数只只需需要要一一位位符符号号位

48、位。运运算算时时仍仍需需要要有有3个个寄寄存存器器,各各自自的的作作用用与与原原码码时时相相同同,只不过存放的内容均为补码表示而已。只不过存放的内容均为补码表示而已。例例9:已知:已知X=-0.1101,Y=0.1011;求求XY。X补补=11.0011B,Y补补=0.1011C,0A -X补补=00.1101第62页,本讲稿共145页63Booth乘法示例乘法示例 A C A C 附加位附加位 说明说明0 0.0 0 0 0 0.1 0 1 1 0 0.0 0 0 0 0.1 0 1 1 0 0+-+-XX补补 0 0.1 1 0 1 0 0.1 1 0 1 C C4 4C C5 5=10=

49、10,+-X+-X补补0 0.1 1 0 10 0.1 1 0 1 0 0.0 1 1 0 1 0 1 0 1 1 0 0.0 1 1 0 1 0 1 0 1 1 部分积右移一位部分积右移一位+0 0 0.0 0 0 0 +0 0 0.0 0 0 0 C C4 4C C5 5=11=11,+0+00 0.0 1 1 00 0.0 1 1 0 0 0.0 0 1 1 0 1 0 1 0 1 0 0.0 0 1 1 0 1 0 1 0 1 部分积右移一位部分积右移一位+XX补补 1 1.0 0 1 1 1 1.0 0 1 1 C C4 4C C5 5=01=01,+X+X补补1 1.0 1 1 0

50、1 1.0 1 1 0 1 1.1 0 1 1 0 0 1 0 1 0 1 1.1 0 1 1 0 0 1 0 1 0 部分积右移一位部分积右移一位+-+-XX补补 0 0.1 1 0 1 0 0.1 1 0 1 C C4 4C C5 5=10=10,+-X+-X补补0 0.1 0 0 00 0.1 0 0 0 0 0.0 1 0 0 0 0 0 1 0 1 0 0.0 1 0 0 0 0 0 1 0 1 部分积右移一位部分积右移一位+XX补补 1 1.0 0 1 1 1 1.0 0 1 1 C C4 4C C5 5=01=01,+X+X补补1 1.0 1 1 11 1.0 1 1 1X Y补

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 资格考试

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

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁