《计算机组成原理第4章数值的机器运算(终).ppt》由会员分享,可在线阅读,更多相关《计算机组成原理第4章数值的机器运算(终).ppt(150页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第第4章章 数值的机器运算数值的机器运算计算机组成原理电子教案计算机组成原理电子教案第第4章章数值的机器运算数值的机器运算1第第4章章 数值的机器运算数值的机器运算计算机组成原理电子教案计算机组成原理电子教案 运算器是计算机进行算术运算和逻运算器是计算机进行算术运算和逻辑运算的主要部件,运算器的逻辑结构辑运算的主要部件,运算器的逻辑结构取决于机器的指令系统、数据表示方法取决于机器的指令系统、数据表示方法和运算方法等。本章主要讨论数值数据和运算方法等。本章主要讨论数值数据在计算机中实现算术运算和逻辑运算的在计算机中实现算术运算和逻辑运算的方法,以及运算部件的基本结构和工作方法,以及运算部件的基本
2、结构和工作原理。原理。2第第4章章 数值的机器运算数值的机器运算计算机组成原理电子教案计算机组成原理电子教案本章学习内容本章学习内容4.1 基本算术运算的实现基本算术运算的实现4.2 定点加减运算定点加减运算4.3 带符号数的移位和舍入操作4.4 定点乘法运算4.5 定点除法运算4.6 规格化浮点运算规格化浮点运算4.7 十进制整数的加法运算4.8 逻辑运算与实现逻辑运算与实现4.9 运算器的基本组成与实例运算器的基本组成与实例3第第4章章 数值的机器运算数值的机器运算计算机组成原理电子教案计算机组成原理电子教案本章学习要求本章学习要求掌握:定点补码加法和减法运算方法掌握:定点补码加法和减法运
3、算方法理解:理解:3种溢出检测方法种溢出检测方法理解理解:补码移位运算和常见的舍入操作方法:补码移位运算和常见的舍入操作方法了解了解:串行加法器与并行加法器串行加法器与并行加法器理解理解:进位产生和进位传递进位产生和进位传递掌握:定点原码、补码乘法运算方法掌握:定点原码、补码乘法运算方法掌握:定点原码、补码加减交替除法运算方法掌握:定点原码、补码加减交替除法运算方法理解:浮点加减乘除运算理解:浮点加减乘除运算理解:逻辑运算理解:逻辑运算了解:运算器的基本结构及浮点协处理器了解:运算器的基本结构及浮点协处理器4第第4章章 数值的机器运算数值的机器运算计算机组成原理电子教案计算机组成原理电子教案4
4、.1 基本算术运算的实现基本算术运算的实现 计计算算机机中中最最基基本本的的算算术术运运算算是是加加法法运运算算,不不论论加加、减减、乘乘、除除运运算算最最终终都都可可以以归归结结为为加加法法运运算算。所所以以在在此此讨讨论论最最基基本本的的运运算算部部件件加加法法器器,以以及及并并行行加加法法器器的进位问题。的进位问题。5第第4章章 数值的机器运算数值的机器运算计算机组成原理电子教案计算机组成原理电子教案4.1.1 4.1.1 加法器加法器 1.全加器全加器 全加器(全加器(FA)是最基本的加法单元,是最基本的加法单元,它有三个输入量:操作数它有三个输入量:操作数Ai和和Bi、低位传低位传来
5、的进位来的进位Ci-1,两个输出量:本位和两个输出量:本位和Si、向向高位的进位高位的进位Ci。图图4-1 全加器的逻辑框图全加器的逻辑框图 6第第4章章 数值的机器运算数值的机器运算计算机组成原理电子教案计算机组成原理电子教案全加器真值表全加器真值表AiBiCi-1SiCi00001111001100110101010101101001000101117第第4章章 数值的机器运算数值的机器运算计算机组成原理电子教案计算机组成原理电子教案 根据真值表,可得到全加器的逻辑表根据真值表,可得到全加器的逻辑表达式为:达式为:Si=Ai Bi Ci-1 Ci=AiBi+(Ai Bi)Ci-1全加器的逻
6、辑表达式全加器的逻辑表达式8第第4章章 数值的机器运算数值的机器运算计算机组成原理电子教案计算机组成原理电子教案2.串行加法器与并行加法器串行加法器与并行加法器 加法器有加法器有串行串行和和并行并行之分之分:在在串串行行加加法法器器中中,只只有有一一个个全全加加器器,数数据据逐位串行逐位串行送入加法器进行运算;送入加法器进行运算;在在并并行行加加法法器器中中,由由多多个个全全加加器器组组成成,其其位位数数的的多多少少取取决决于于机机器器的的字字长长,数数据据的的各位同时运算。各位同时运算。9第第4章章 数值的机器运算数值的机器运算计算机组成原理电子教案计算机组成原理电子教案C CFAFAA A
7、B BQQD DCPCPCPCP 串行加法器具有器件少、成本低的优点,但运算速度太慢,串行加法器具有器件少、成本低的优点,但运算速度太慢,所以除去某些低速的专用运算器外很少采用所以除去某些低速的专用运算器外很少采用全加器全加器串行加法器串行加法器2.串行加法器与并行加法器串行加法器与并行加法器aiaibibisi sici ciCi-1Ci-110第第4章章 数值的机器运算数值的机器运算计算机组成原理电子教案计算机组成原理电子教案2.串行加法器与并行加法器(续)串行加法器与并行加法器(续)并并行行加加法法器器可可同同时时对对数数据据的的各各位位相相加加,但但存存在在着着一一个个加加法法的的最最
8、长长运运算算时时间间问问题题。这这是是因因为为虽虽然然操操作作数数的的各各位位是是同同时时提提供供的的,但但低低位位运运算算所所产生的进位会影响高位的运算结果。产生的进位会影响高位的运算结果。例例如如:1111和和0001相相加加,最最低低位位产产生生的的进进位位将将逐逐位位影影响响至至最最高高位位,因因此此,并并行行加加法法器器的的最最长长运运算算时时间间主主要要是是由由进进位位信信号号的的传传递递时时间间决决定定的的,而而每每个个全全加加器器本本身身的的求求和和延延迟迟只只是是次次要要因因素素。很很明明显显,提提高高并并行行加加法法器器速速度度的的关关键键是是尽量加快进位产生和传递的速度。
9、尽量加快进位产生和传递的速度。11第第4章章 数值的机器运算数值的机器运算计算机组成原理电子教案计算机组成原理电子教案 并并行行加加法法器器中中的的每每一一个个全全加加器器都都有有一一个个从从低低位位送送来来的的进进位位输输入入和和一一个个传传送送给给高高位位的的进进位位输输出出。我我们们将将传传递递进进位位信信号号的的逻逻辑辑线线路路连连接接起起来来构构成成的的进进位位网网络络称称为为进进位位链。链。每一位的进位表达式为:每一位的进位表达式为:Ci=AiBi+(Ai Bi)Ci-1 其中:其中:Gi=AiBi为进位产生函数为进位产生函数 Pi=Ai Bi为进位传递函数为进位传递函数 进位表达
10、式进位表达式Ci=Gi+PiCi-14.1.2 4.1.2 进位的产生和传递进位的产生和传递12第第4章章 数值的机器运算数值的机器运算计算机组成原理电子教案计算机组成原理电子教案C1=G1+P1C0C2=G2+P2C1 Cn=Gn+PnCn-1 串行进位的并行加法器串行进位的并行加法器 图图4-3 串行进位的并行加法器串行进位的并行加法器串行进位的并行加法器,总的延迟时间正比于字长,串行进位的并行加法器,总的延迟时间正比于字长,字长越长,总延迟时间也越长。字长越长,总延迟时间也越长。若一位进位需若一位进位需2ty时间,完成时间,完成n位进位就需要位进位就需要2nty.要提高加法运算速度,必须
11、改进进位方式。要提高加法运算速度,必须改进进位方式。13第第4章章 数值的机器运算数值的机器运算计算机组成原理电子教案计算机组成原理电子教案1.并行进位方式并行进位方式 并并行行进进位位又又叫叫先先行行进进位位、同同时时进进位位,其特点是其特点是各级进位信号同时形成各级进位信号同时形成。C1=G1+PC0 C2=G2+P2C1=G2+P2G1+P2P1C0 C3=G3+P3C2=G3+P3G2+P3P2G1+P3P2P1C0 C4=G4+P4C3=G4+P4G3+P4P3G2+P4P3P2G1 +P4P3P2P1C0 4.1.3 4.1.3 并行加法器的快速进位并行加法器的快速进位 以上进位输
12、出只与以上进位输出只与Gi、Pi以以及最低进位及最低进位C0有关,且不依有关,且不依赖于其低位进位赖于其低位进位Ci-1的输入,的输入,因此各级进位可以同时产生,因此各级进位可以同时产生,形成形成并行进位并行进位。14第第4章章 数值的机器运算数值的机器运算计算机组成原理电子教案计算机组成原理电子教案 优点优点:这种进位方式是快速的,若这种进位方式是快速的,若不考虑不考虑Gi、Pi的形成时间,的形成时间,从从C0Cn的最的最长延迟时间仅为长延迟时间仅为2ty,而与字长无关而与字长无关。缺点:缺点:但是随着加法器位数的增加,但是随着加法器位数的增加,Ci的逻辑表达式会变得越来越长的逻辑表达式会变
13、得越来越长,输入变,输入变量会越来越多,这会使电路结构变得很复量会越来越多,这会使电路结构变得很复杂,杂,所以完全采用并行进位是不现实的。所以完全采用并行进位是不现实的。1.并行进位方式(续)并行进位方式(续)15第第4章章 数值的机器运算数值的机器运算计算机组成原理电子教案计算机组成原理电子教案单级先行进位方式(单级先行进位方式(组内并行、组间串行组内并行、组间串行)以以16位位加加法法器器为为例例,可可分分为为4组组,每每组组4位位。第第一一小小组组组组内内的的进进位位逻逻辑辑函函数数C1、C2、C3、C4的的表表达达式式与与前前述述相相同同,它它们们是是同同时时产产生生的的,实实现现上上
14、述述进进位位逻逻辑辑函函数数的的电电路路称称之之为为4位位先先行行进进位位电电路路CLA,其其延延迟迟时间是时间是2ty。利用这种利用这种4位的位的CLA电路以及进位产生电路以及进位产生/传递电路和求和电路可以构成传递电路和求和电路可以构成4位的位的CLA加法器。用加法器。用4个这样的个这样的CLA加法器,很容加法器,很容易构成易构成16位的单级先行进位加法器。位的单级先行进位加法器。2.分组并行进位方式分组并行进位方式16第第4章章 数值的机器运算数值的机器运算计算机组成原理电子教案计算机组成原理电子教案16位单级先行进位加法器位单级先行进位加法器图图4-4 16位单级先行进位加法器位单级先
15、行进位加法器组数越长,进位延迟时间就越长组数越长,进位延迟时间就越长17第第4章章 数值的机器运算数值的机器运算计算机组成原理电子教案计算机组成原理电子教案16位单级先行进位时间图位单级先行进位时间图图图4-5 16位单级先行进位时间图位单级先行进位时间图18第第4章章 数值的机器运算数值的机器运算计算机组成原理电子教案计算机组成原理电子教案 多级先行进位方式(组内并行、组间并行)多级先行进位方式(组内并行、组间并行)仍仍以以字字长长为为16位位的的加加法法器器作作为为例例子子,分分析析两两级级先先行行进进位位加加法法器器的的设设计计方方法法。第第一一小小组组的的进位输出进位输出C4可以变成两
16、个与项相或:可以变成两个与项相或:C4=G4+P4G3+P4P3G2+P4P3P2G1+P4P3P2P1C0 =G1*+P1*C0 其中:其中:G1*=G4+P4G3+P4P3G2+P4P3P2G1 P1*=P4P3P2P1 Gi*称为组进位产生函数称为组进位产生函数 Pi*称为组进位传递函数称为组进位传递函数2.分组并行进位方式(续)分组并行进位方式(续)19第第4章章 数值的机器运算数值的机器运算计算机组成原理电子教案计算机组成原理电子教案依次类推,可以得到:依次类推,可以得到:C8=G2*+P2*C4=G2*+P2*G1*+P2*P1*C0 C12=G3*+P3*G2+P3*P2*G1*
17、+P3*P2*P1*C0 C16=G4*+P4*G3*+P4*P3*G2*+P4*P3*P2*G1*+P4*P3*P2*P1*C02.分组并行进位方式(续)分组并行进位方式(续)20第第4章章 数值的机器运算数值的机器运算计算机组成原理电子教案计算机组成原理电子教案 成组先行进位电路成组先行进位电路BCLA,其延迟时其延迟时间是间是2ty。利用这种利用这种4位的位的BCLA电路以及电路以及进位产生进位产生/传递电路和求和电路可以构成传递电路和求和电路可以构成4位的位的BCLA加法器。加法器。16位的两级先行进位位的两级先行进位加法器可由加法器可由4个个BCLA加法器和加法器和1个个CLA电电路
18、组成。路组成。2.分组并行进位方式(续)分组并行进位方式(续)21第第4章章 数值的机器运算数值的机器运算计算机组成原理电子教案计算机组成原理电子教案16位两级先行进位加法器位两级先行进位加法器图图4-6 16位两级先行进位加法器位两级先行进位加法器22第第4章章 数值的机器运算数值的机器运算计算机组成原理电子教案计算机组成原理电子教案 若不考虑若不考虑Gi、Pi的形成时间,的形成时间,C0经过经过2ty产生第一小组的产生第一小组的C1、C2、C3及所有组及所有组进位产生函数进位产生函数Gi*和组进位传递函数和组进位传递函数Pi*;再经过再经过2ty,由由CLA电路产生电路产生C4、C8、C1
19、2、C16;再经过再经过2ty后,才能产生第二、三、后,才能产生第二、三、四小组内的四小组内的C5C7、C9C11、C13C15。此时加法器的最长进位延迟时间是此时加法器的最长进位延迟时间是6ty。2.分组并行进位方式(续)分组并行进位方式(续)23第第4章章 数值的机器运算数值的机器运算计算机组成原理电子教案计算机组成原理电子教案16位两级先行进位时间图位两级先行进位时间图图图4-7 16位两级先行进位时间图位两级先行进位时间图24第第4章章 数值的机器运算数值的机器运算计算机组成原理电子教案计算机组成原理电子教案 定定点点数数的的加加减减运运算算包包括括原原码码、补补码码和和反反码码3种种
20、带带符符号号数数的的加加减减运运算算,其其中中补补码码加减运算实现起来最方便。加减运算实现起来最方便。4.2 定点加减运算定点加减运算25第第4章章 数值的机器运算数值的机器运算计算机组成原理电子教案计算机组成原理电子教案原码加减运算规则:原码加减运算规则:参加运算的操作数取其绝对值;参加运算的操作数取其绝对值;若若做做加加法法,则则两两数数直直接接相相加加,若若做做减减法法,则将减数先变一次补,再进行加法运算;则将减数先变一次补,再进行加法运算;运算之后,可能有两种情况:运算之后,可能有两种情况:有有进进位位,结结果果为为正正,即即得得到到正正确确的的结结果果。无无进进位位,结结果果为为负负
21、,则则应应再再变变一一次次补补,才才能能得得到到正确的结果。正确的结果。结果加上符号位。结果加上符号位。通通常常,把把运运算算之之前前的的变变补补称称为为前前变变补补,运运算算之后的变补称为后变补。之后的变补称为后变补。4.2.1 4.2.1 原码加减运算原码加减运算 26第第4章章 数值的机器运算数值的机器运算计算机组成原理电子教案计算机组成原理电子教案4.2.2 4.2.2 补码加减运算补码加减运算1.补码加法补码加法 两两个个补补码码表表示示的的数数相相加加,符符号号位位参参加加运运算算,且且两两数数和和的的补补码码等等于于两两数数补补码码之之和,即:和,即:X+Y补补=X补补+Y补补证
22、明证明P9427第第4章章 数值的机器运算数值的机器运算计算机组成原理电子教案计算机组成原理电子教案 根据补码加法公式可推出:根据补码加法公式可推出:X-Y补补=X+(-Y)补补=X补补+-Y补补 从从补补码码减减法法公公式式可可以以看看出出,只只要要求求得得-Y补补,就可以变减法为加法。,就可以变减法为加法。不不管管Y的的真真值值为为正正或或为为负负,已已知知Y补补求求-Y补补的的方方法法是是:将将Y补补连连同同符符号号位位一一起起求求反反,末末尾尾加加“1”。-Y补补被被称称为为Y补补的的机机器器负负数数,由由Y补补求求-Y补补的的过过程程称称为为对对Y补补变补(求补),表示为变补(求补)
23、,表示为 -Y补补=Y补补变补变补2.补码减法补码减法28第第4章章 数值的机器运算数值的机器运算计算机组成原理电子教案计算机组成原理电子教案2.补码减法(续)补码减法(续)“某某数数的的补补码码表表示示”与与“变变补补”是是两两个个不不同的概念同的概念。一一个个负负数数由由原原码码转转换换成成补补码码时时,符符号号位位是是不不变的,仅对数值位各位变反,末位加变的,仅对数值位各位变反,末位加“1”。变变补补则则不不论论这这个个数数的的真真值值是是正正是是负负,一一律律连连同同符符号号位位一一起起变变反反,末末位位加加“1”。Y补补表表示示的的真真值值如如果果是是正正数数,则则变变补补后后-Y补
24、补所所表表示示的的真真值值变为负数,反之亦然。变为负数,反之亦然。例例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第第4章章 数值的机器运算数值的机器运算计算机组成原理电子教案计算机组成原理电子教案 参参加加运运算算的的两两个个操操作作数数均均用用补补码码表表示;示;符号位作为数的一部分参加运算符号位作为数的一部分参加运算;若若做做加加法法,则则两两数数直直接接相相加加,若若做做减法,则将被减数与减数的机器负数相加;减法,则将被减数与减数的机器负数相加
25、;运算结果仍用补码表示。运算结果仍用补码表示。3.补码加减运算规则补码加减运算规则30第第4章章 数值的机器运算数值的机器运算计算机组成原理电子教案计算机组成原理电子教案例例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第第4章章 数值的机器运算数值的机器运算计算机组成原理电子教案计算机组成原理电子教案例例4:A=0.1011,B=-0.0010,求求A-B A补补=0.1011 B补补=1.11
26、10 -B补补=0.0010 0.1011 A补补 +0.0010 -B补补 0.1101 A-B补补 A-B补补=0.1101 A-B=0.1101补码减法示例补码减法示例32第第4章章 数值的机器运算数值的机器运算计算机组成原理电子教案计算机组成原理电子教案练习:P1364-4-24-5-34-4-2:00.001104-5-3:01.01110 正溢 33第第4章章 数值的机器运算数值的机器运算计算机组成原理电子教案计算机组成原理电子教案4.2.3 4.2.3 补码的溢出判断与检测方法补码的溢出判断与检测方法 1.溢出的产生溢出的产生 在在补补码码运运算算中中,若若两两个个正正数数相相加
27、加,而而结结果果为为负;两个负数相加,而结果为正,则结果出错。负;两个负数相加,而结果为正,则结果出错。例例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,显然是错误的。显然是错误的。34第第4章章 数值的机器运算数值的机器运算计算机组成原理电子教案计算机组成原理电子教案1.溢出的产生(续)溢出的产生(续)例例6:设:设:X=-1011B=-11D,Y=-
28、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,显显然然也也是是错错误的。误的。原因在于两数相加之和的数值原因在于两数相加之和的数值 已经超过了机器允许表示的范已经超过了机器允许表示的范围。围。35第第4章章 数值的机器运算数值的机器运算计算机组成原理电子教案计算机组成原理电子教案1.溢出的产生(续)溢出的产生(续)字字长长为为n+1位位的的定定点点整整数数(其其中中一一位位为为符符号号位位),采采
29、用用补补码码表表示示,当当运运算算结结果果大大于于2n-1或小于或小于-2n时,就产生溢出。时,就产生溢出。当当运运算算结结果果超超出出了了机机器器所所能能表表示示的的范范围围时时,数数值值位位侵侵占占了了符符号号位位,这这种种现现象象称称为为溢溢出出。两两个同符号的数相加会产生溢出。个同符号的数相加会产生溢出。两个正数相加,结果大于机器所能表示的最大两个正数相加,结果大于机器所能表示的最大正数,称为正数,称为上溢(正溢)。上溢(正溢)。两个负数相加,结果小于机器所能表示的最小两个负数相加,结果小于机器所能表示的最小负数,称为负数,称为下溢(负溢)。下溢(负溢)。36第第4章章 数值的机器运算
30、数值的机器运算计算机组成原理电子教案计算机组成原理电子教案2.溢出检测方法溢出检测方法设:被操作数为:设:被操作数为:X补补=Xs,X1X2Xn 操作数为:操作数为:Y补补=Ys,Y1Y2Yn 其和(差)为:其和(差)为:S补补=Ss,S1S2Sn 采用一个符号位采用一个符号位 采采用用一一个个符符号号位位检检测测溢溢出出时时,当当Xs=Ys=0,Ss=1时时,产产 生生 正正 溢溢;当当Xs=Ys=1,Ss=0时,产生负溢。时,产生负溢。溢出判断条件为溢出判断条件为 溢出溢出=Ss+Xs Ys 37第第4章章 数值的机器运算数值的机器运算计算机组成原理电子教案计算机组成原理电子教案2.溢出检
31、测方法(续)溢出检测方法(续)采用进位位判断采用进位位判断 两数运算时,产生的进位为两数运算时,产生的进位为 Cs,C1C2Cn,其其中中:Cs为为符符号号位位产产生生的的进进位位,C1为为最最高高数值位产生的进位数值位产生的进位。两两正正数数相相加加,当当最最高高有有效效位位产产生生进进位位(C1=1)而而符符号号位位不不产产生生进进位位(Cs=0)时时,发发生生正溢正溢;两两负负数数相相加加,当当最最高高有有效效位位不不产产生生进进位位(C1=0)而而符符号号位位产产生生进进位位(Cs=1)时时,发发生生负溢。故溢出条件为负溢。故溢出条件为 溢出溢出=C1+Cs =CsC1 38第第4章章
32、 数值的机器运算数值的机器运算计算机组成原理电子教案计算机组成原理电子教案2.溢出检测方法(续)溢出检测方法(续)采用变形补码(双符号位补码)采用变形补码(双符号位补码)在在双双符符号号位位的的情情况况下下,把把左左边边的的符符号号位位Ss1叫叫做做真真符符,两两个个符符号号位位都都作作为为数数的的一一部部分分参参加加运算。这种编码又称为运算。这种编码又称为变形补码变形补码。双符号位的含义如下:双符号位的含义如下:Ss1Ss2=00 结果为正数,无溢出结果为正数,无溢出 Ss1Ss2=01 结果正溢结果正溢 Ss1Ss2=10 结果负溢结果负溢 Ss1Ss2=11 结果为负数,无溢出结果为负数
33、,无溢出 当当两两位位符符号号位位的的值值不不一一致致时时,表表明明产产生生溢溢出,溢出条件为出,溢出条件为 溢出溢出=Ss1 Ss2SS1始终正确始终正确39第第4章章 数值的机器运算数值的机器运算计算机组成原理电子教案计算机组成原理电子教案4.2.4 4.2.4 补码定点加减运算的实现补码定点加减运算的实现 要要实实现现补补码码加加法法,则则需需给给出出XF、YF和和FX三三个个控控制制信信号号,同同时时打打开开门门A、门门B和和门门C,把把寄寄存存器器X和和寄寄存存器器Y的的内内容容送送入入加加法法器器的的两两个个输输入入端端进进行行加加法法运运算算,并并把把结结果果送送回回,最最后后由
34、由打打入入脉脉冲冲CPX打入寄存器打入寄存器X。减减法法与与加加法法的的不不同同之之处处在在于于,加加法法使使用用YF控控制制信信号号,减减法法使使用用 F和和1F控制信号,其余控制信号相同。控制信号,其余控制信号相同。40第第4章章 数值的机器运算数值的机器运算计算机组成原理电子教案计算机组成原理电子教案补码加减运算的逻辑电路补码加减运算的逻辑电路图图4-8 补码加减运算器框图补码加减运算器框图 1 F-F-多位的并行加法器多位的并行加法器接受参加运算的两个数,进接受参加运算的两个数,进行加法运算,并在输出端给行加法运算,并在输出端给出本次运算结果出本次运算结果X和和Y为寄存器,为寄存器,用
35、来存放参加运算的数据,用来存放参加运算的数据,X同时还用来保存运算结果同时还用来保存运算结果门门A用来把用来把X的各位输出的各位输出送到加法器送到加法器F的左输入端的左输入端门门c用来把用来把F的各位的各位运算结果送回给运算结果送回给X门门B通过通过2个控制信号,个控制信号,分别实现把分别实现把Y的内容的内容送入送入F,或者实现把或者实现把Y内容取内容取反后送入加法器反后送入加法器寄存器X的打入脉冲补码加法补码加法:在在XF、YF、FX三三个控制信号的控制下,打开门个控制信号的控制下,打开门A、门、门B和门和门C,把寄存器,把寄存器X和寄存器和寄存器Y的内容的内容送入加法器的两个输入端进行加法
36、运算,送入加法器的两个输入端进行加法运算,把结果送回寄存器把结果送回寄存器X中中.补码减法补码减法:与补码加法不同之处在于要:与补码加法不同之处在于要用用YF来代替来代替YF、并在、并在1F控制信控制信号作用下使结果加号作用下使结果加1,即可完成补码减,即可完成补码减法运算。法运算。41第第4章章 数值的机器运算数值的机器运算计算机组成原理电子教案计算机组成原理电子教案 在在计计算算机机中中,实实现现乘乘除除运运算算的的方方案案通通常常有有3种:种:软软件件实实现现。在在低低档档微微机机中中无无乘乘除除运运算算指指令,只能用乘法和除法子程序来实现乘除运算。令,只能用乘法和除法子程序来实现乘除运
37、算。在在原原有有实实现现加加减减运运算算的的运运算算器器基基础础上上增增加加一一些些逻逻辑辑线线路路,使使乘乘除除运运算算变变换换成成加加减减和和移移位操作。位操作。在机器中设有乘除指令在机器中设有乘除指令。设设置置专专用用的的乘乘、除除法法器器,机机器器中中设设有有相相应的乘除指令。应的乘除指令。不不管管采采用用什什么么方方案案实实现现乘乘除除法法,基基本本原原理理是是相相同同的的。如如果果采采用用第第种种方方案案,则则必必然然会会涉涉及到移位操作。及到移位操作。4.3 带符号数的移位和舍入操作带符号数的移位和舍入操作42第第4章章 数值的机器运算数值的机器运算计算机组成原理电子教案计算机组
38、成原理电子教案1.原码的移位规则原码的移位规则 不不论论正正数数还还是是负负数数,在在左左移移或或右右移移时时,符号位均不变符号位均不变,空出位一律以空出位一律以“0”补入。补入。负数的原码移位前后结果为:负数的原码移位前后结果为:左移:移位前有:左移:移位前有:1 X1 X2 Xn-1 Xn 移位后有:移位后有:1 X2 X3 Xn 0 右移:移位前有:右移:移位前有:1 X1 X2 Xn-1 Xn 移位后有:移位后有:1 0 X1 Xn-2 Xn-1 4.3.1 4.3.1 带符号数的移位操作带符号数的移位操作 43第第4章章 数值的机器运算数值的机器运算计算机组成原理电子教案计算机组成原
39、理电子教案2.补码的移位规则补码的移位规则 正数正数 符符号号位位不不变变,不不论论左左移移或或右右移移,空空出出位一律以位一律以“0”补入。补入。负数负数 符符号号位位不不变变,左左移移后后的的空空出出位位补补“0”,右移后的空出位补,右移后的空出位补“1”。左移:移位前有:左移:移位前有:1 X1 X2 Xn-1 Xn 移位后有:移位后有:1 X2 X3 Xn 0 右移:移位前有:右移:移位前有:1 X1 X2 Xn-1 Xn 移位后有:移位后有:1 1 X1 Xn-2 Xn-1 44第第4章章 数值的机器运算数值的机器运算计算机组成原理电子教案计算机组成原理电子教案3.移位功能的实现移位
40、功能的实现 移位器是由与门和或门组成的逻辑电路移位器是由与门和或门组成的逻辑电路(实际是一个多路选择器),可以实现(实际是一个多路选择器),可以实现直传(直传(不移位不移位)、左斜一位送()、左斜一位送(左移一左移一位位)和右斜一位送()和右斜一位送(右移一位右移一位)的功能。)的功能。移位器逻辑电路如图所示。移位器逻辑电路如图所示。左移由左移由2FL控制,控制,Fi-1Li直传由直传由FL来控制,来控制,FiLi 右移由右移由F/2L来控制,来控制,Fi+1Li移位器无数据寄存能力。移位器无数据寄存能力。45第第4章章 数值的机器运算数值的机器运算计算机组成原理电子教案计算机组成原理电子教案
41、移位器逻辑电路移位器逻辑电路 1 图图4-9 移位器逻辑电路移位器逻辑电路 左移相当于乘左移相当于乘2 2只有移位功能,没有保存功能46第第4章章 数值的机器运算数值的机器运算计算机组成原理电子教案计算机组成原理电子教案4.3.2 4.3.2 带符号数的舍入操作带符号数的舍入操作 在在算算术术右右移移时时,由由于于受受到到硬硬件件的的限限制制,运运算算结结果果有有可可能能需需要要舍舍去去一一定定的的尾尾数数,这这会会造造成成一一些些误误差差。为为了了缩缩小小误误差差,就就要要进行进行舍入处理。舍入处理。假假定定经经过过运运算算后后的的数数共共有有p+q位位,现仅允许保留前现仅允许保留前p位。常
42、见的舍入方法有:位。常见的舍入方法有:恒舍(切断)恒舍(切断)无无论论多多余余部部分分q位位为为何何代代码码,一一律律舍舍去,保留部分的去,保留部分的p位不作任何改变。位不作任何改变。47第第4章章 数值的机器运算数值的机器运算计算机组成原理电子教案计算机组成原理电子教案4.3.2 4.3.2 带符号数的舍入操作(续)带符号数的舍入操作(续)冯冯诺依曼舍入法诺依曼舍入法 这这种种舍舍入入法法又又称称为为恒恒置置1法法,即即不不论论多多余余部部分分q位位为为何何代代码码,都都把把保保留留部部分分p位的最低位置位的最低位置1。下舍上入法下舍上入法 下下舍舍上上入入就就是是0舍舍1入入。用用将将要要
43、舍舍去去的的q位位的的最最高高位位作作为为判判断断标标志志,以以决决定定保保留留部部分分是是否否加加1。如如该该位位为为0,则则舍舍去去整整个个q位位(相相当当于于恒恒舍舍);如如该该位位为为1,则则在在保留的保留的p位的最低位上加位的最低位上加1。48第第4章章 数值的机器运算数值的机器运算计算机组成原理电子教案计算机组成原理电子教案4.3.2 4.3.2 带符号数的舍入操作(续)带符号数的舍入操作(续)查表舍入法(查表舍入法(ROM舍入法)舍入法)用用ROM来来存存放放舍舍入入处处理理表表,每每次次经经查查表来读得相应的处理结果。表来读得相应的处理结果。通通常常,ROM表表的的容容量量为为
44、2K个个单单元元,每每个个单单元元字字长长为为K-1位位。舍舍入入处处理理表表的的内内容容设设置置一一般般采采用用的的方方法法是是:当当K位位数数据据的的高高K-1位位为为全全“1”时时,让让那那些些单单元元按按恒恒舍舍法法填填入入K-1位位全全“1”,其其余余单单元元都都按按下舍上入法来填其内容。下舍上入法来填其内容。49第第4章章 数值的机器运算数值的机器运算计算机组成原理电子教案计算机组成原理电子教案4.4 定点乘法运算定点乘法运算 在在计计算算机机中中,乘乘法法运运算算大大多多数数由由累累加加与与移移位位来来实实现现,也也有有些些机机器器中中具具有有由由大大规模集成电路制造的阵列乘法模
45、块。规模集成电路制造的阵列乘法模块。50第第4章章 数值的机器运算数值的机器运算计算机组成原理电子教案计算机组成原理电子教案4.4.1 4.4.1 原码一位乘法原码一位乘法1.原码一位乘法算法原码一位乘法算法 原原码码一一位位乘乘法法是是从从手手算算演演变变而而来来的的,即即用用两两个个操操作作数数的的绝绝对对值值相相乘乘,乘乘积积的的符符号号为为两两操操作作数数符符号号的的异异或或值值(同同号号为为正正,异号为负)。异号为负)。乘积乘积P=|X|Y|符号符号Ps=Xs Ys 式式中中:Ps为为乘乘积积的的符符号号,Xs和和Ys为为被被乘数和乘数的符号。乘数和乘数的符号。51第第4章章 数值的
46、机器运算数值的机器运算计算机组成原理电子教案计算机组成原理电子教案1.原码一位乘法算法(续)原码一位乘法算法(续)原码一位乘法的规则:原码一位乘法的规则:参加运算的操作数取其绝对值;参加运算的操作数取其绝对值;令令乘乘数数的的最最低低位位为为判判断断位位,若若为为“1”,加加被被乘乘数数,若若为为“0”,不不加加被被乘乘数(加数(加0););累累加加后后的的部部分分积积以以及及乘乘数数右右移移一一位;位;重复重复n次次和和;符符号号位位单单独独处处理理,同同号号为为正正,异异号为负。号为负。52第第4章章 数值的机器运算数值的机器运算计算机组成原理电子教案计算机组成原理电子教案1.原码一位乘法
47、算法(续)原码一位乘法算法(续)通通常常,乘乘法法运运算算需需要要3个个寄寄存存器器。被被乘乘数数存存放放在在B寄寄存存器器中中;乘乘数数存存放放在在C寄寄存存器器中中;A寄寄存存器器用用来来存存放放部部分分积积与与最最后后乘乘积积的的高高位位部部分分,它它的的初初值值为为0。运运算算结结束束后后寄寄存存器器C中中不不再再保保留留乘乘数数,改改为为存存放放乘积的低位部分。乘积的低位部分。例例8:已已知知:X=0.1101,Y=-0.1011,求求:XY。|X|=00.1101B,|Y|=.1011C,0A53第第4章章 数值的机器运算数值的机器运算计算机组成原理电子教案计算机组成原理电子教案原
48、码一位乘法示例原码一位乘法示例 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 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
49、 1 1 1 1 部分积右移一位部分积右移一位PS=XS YS=0 1=1X Y=-0.10001111 54第第4章章 数值的机器运算数值的机器运算计算机组成原理电子教案计算机组成原理电子教案原码一位乘法流程图原码一位乘法流程图 55第第4章章 数值的机器运算数值的机器运算计算机组成原理电子教案计算机组成原理电子教案2.原码一位乘法运算的实现原码一位乘法运算的实现 图图4-12中中A、B是是n+2位位的的寄寄存存器器,C是是n位位的的寄寄存存器器,A寄寄存存器器和和C寄寄存存器器是是级级联联在在一一起起的的,它它们们都都具具有有右右移移一一位位的的功功能能,在在右右移移控控制制信信号号的的作
50、作用用下下,A寄寄存存器器最最低低一一位位的的值值将将移移入入C寄寄存存器器的的最最高高位位。C寄寄存存器器的的最最低低位位的的值值作作为为字字级级与与门门的的控控制制信信号号,以以控控制制加加被被乘乘数数还还是是不不加加被被乘乘数数(即即加加0)。C寄寄存存器器中中的的乘乘数数在在逐逐次次右右移移过过程程中中将将逐逐步步丢丢失失,取取而而代代之之的的是是乘乘积积的的低低位位部部分分。原原码码一一位位乘乘法法运运算算器器电电路路中中除除去去三三个个寄寄存存器器外外,还还需需要要一一个个n+2位位的的加加法法器器、一一个个计计数数器器、n+2个个与与门门(控控制制是是否否加加被被乘乘数数)和和一