ch4数值的机器运算.ppt
《ch4数值的机器运算.ppt》由会员分享,可在线阅读,更多相关《ch4数值的机器运算.ppt(158页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第4 4章章数值的数值的机器运算机器运算 2022/12/201本章学习内容本章学习内容n4.1 基本算术运算的实现基本算术运算的实现n4.2 定点加减运算定点加减运算n4.3 带符号数的移位和舍入操作带符号数的移位和舍入操作n4.4 定点乘法运算定点乘法运算n4.5 定点除法运算定点除法运算n4.6 规格化浮点运算规格化浮点运算n4.7 十进制整数的加法运算十进制整数的加法运算n4.8 逻辑运算与实现逻辑运算与实现n4.9 运算器的基本组成与实例运算器的基本组成与实例2022/12/202本章学习要求本章学习要求n掌握:定点补码加法和减法运算方法掌握:定点补码加法和减法运算方法n理解:理解
2、:3种溢出检测方法种溢出检测方法n理解理解:补码移位运算和常见的舍入操作方法:补码移位运算和常见的舍入操作方法n了解了解:串行加法器与并行加法器串行加法器与并行加法器n理解理解:进位产生和进位传递进位产生和进位传递n掌握:定点原码、补码乘法运算方法掌握:定点原码、补码乘法运算方法n掌握:定点原码、补码加减交替除法运算方法掌握:定点原码、补码加减交替除法运算方法n理解:浮点加减乘除运算理解:浮点加减乘除运算n理解:逻辑运算理解:逻辑运算n了解:运算器的基本结构及浮点协处理器了解:运算器的基本结构及浮点协处理器2022/12/203 运算器是计算机进行算术运算和逻辑运算的主要部件,运算器的逻辑结构
3、取决于机器的指令系统、数据表示方法和运算方法等。本章主要讨论数值数据在计算机中实现算术运算和逻辑运算的方法,以及运算部件的基本结构和工作原理。第第4 4章章2022/12/204n计算机中的基本运算计算机中的基本运算l算术运算算术运算加、减、乘、除四则运算加、减、乘、除四则运算要考虑符号和编码格式(即原码、反码要考虑符号和编码格式(即原码、反码还是补码)还是补码)可分为定点数四则运算和浮点数四则运可分为定点数四则运算和浮点数四则运算算l逻辑运算逻辑运算逻辑与、或、非、异或等运算逻辑与、或、非、异或等运算针对不带符号的二进制数针对不带符号的二进制数第第4 4章章 数值的机器运算数值的机器运算20
4、22/12/2054.1 4.1 基本算术运算的实现基本算术运算的实现 4.1.1 加法器加法器 加法器加法器由全加器及相关逻辑电路组成。由全加器及相关逻辑电路组成。1.全加器全加器 基本的加法单元称为全加基本的加法单元称为全加器。器。l三个输入量:三个输入量:l操作数操作数Ai和和Bil低位进位低位进位Ci-1l两个输出量:两个输出量:l本位和本位和Sil向高位的进位向高位的进位CiFAA Ai iB Bi iS Si iC Ci-1i-1C Ci i2022/12/206 全加器的逻辑表达式为全加器的逻辑表达式为 Si=Ai Bi Ci-1 Ci=AiBi+(Ai Bi)Ci-1表表4-1
5、 全加器真值表全加器真值表 (p88)4.1 4.1 基本算术运算的实现基本算术运算的实现 2022/12/2072.串行加法器串行加法器与与并行加法器并行加法器 串行加法器串行加法器只有只有一个全加器一个全加器,数据逐位,数据逐位串行送入加法器进行运算。如果操作数长串行送入加法器进行运算。如果操作数长n位,位,加法就要分加法就要分n次进行,每次只能产生一位和。次进行,每次只能产生一位和。图图4-1、图、图4-2 全加器全加器 (p89)4.1 4.1 基本算术运算的实现基本算术运算的实现 2022/12/2082.并行加法器并行加法器由由多个全加器多个全加器组成,其位数的多少取决组成,其位数
6、的多少取决于机器的字长,数据的各位同时运算。于机器的字长,数据的各位同时运算。并并行行加加法法器器虽虽然然操操作作数数的的各各位位是是同同时时提提供供的的,但但低低位位进进位位有有可可能能影影响响高高位位的的运运算算结结果果。例例如如:1111和和0001相相加加,最最低低位位产产生生的的进进位位将将逐逐位位影影响响至至最最高高位位。因因此此,并并行行加加法法器器的的最最长长运运算算时时间间主主要是由进位信号的传递时间决定的。要是由进位信号的传递时间决定的。提提高高并并行行加加法法器器速速度度的的关关键键是是尽尽量量加加快快进进位位产产生和传递的速度。生和传递的速度。4.1 4.1 基本算术运
7、算的实现基本算术运算的实现 2022/12/2094.1.2 进位的产生和传递进位的产生和传递 进位表达式进位表达式 Ci=AiBi+(Ai Bi)Ci-1 Gi的含义是:若本位的两个输入均为的含义是:若本位的两个输入均为1,必然要向高位产生进位。必然要向高位产生进位。Pi的含义是:当两个输入中有一个为的含义是:当两个输入中有一个为1,低位传来的进位低位传来的进位Ci-1将超越本位向更高的位传将超越本位向更高的位传送。送。Ci=Gi+PiCi-1Gi=AiBiPi=Ai Bi4.1 4.1 基本算术运算的实现基本算术运算的实现 2022/12/2010 把把n个个全全加加器器串串接接起起来来,
8、就就可可进进行行两两个个n位位数数的的相相加加。串串行行进进位位又又称称行行波波进进位位,每每一一级级进进位位直直接接依依赖赖于于前前一一级级的的进进位位,即即进进位信号是逐级形成的。位信号是逐级形成的。C1=G1+P1C0C2=G2+P2C1Cn=Gn+PnCn-14.1 4.1 基本算术运算的实现基本算术运算的实现 2022/12/2011 串串行行进进位位链链的的总总延延迟迟时时间间与与字字长长成成正正比比。假假定定,将将一一级级门门(与与门门、或或门门)的的延延迟迟时时间间定定为为ty,从从上上述述公公式式中中可可看看出出,每每形形成成一一级级进进位位的的延延迟迟时时间间为为2ty。在
9、在字字长长为为n位位的的情情况况下下,若若不不考考虑虑Gi、Pi的的形形成成时时间间,从从C0Cn的最长延迟时间为的最长延迟时间为2nty。FAFAFAC1C2Cn-1CnA1B1A2B2AnBnS1S2SnC04.1 4.1 基本算术运算的实现基本算术运算的实现 2022/12/20124.1.3 并行加法器的快速进位并行加法器的快速进位1.并行进位方式并行进位方式 并并行行进进位位又又叫叫先先行行进进位位、同同时时进进位位,其特点是各级进位信号同时形成。其特点是各级进位信号同时形成。C1=G1+P1C0C2=G2+P2C1=G2+P2G1+P2P1C0C3=G3+P3G2+P3P2G1+P
10、3P2P1C0 C4=G4+P4G3+P4P3G2+P4P3P2G1+P4P3P2P1C04.1 4.1 基本算术运算的实现基本算术运算的实现 2022/12/2013 上上述述各各式式中中所所有有各各位位的的进进位位均均不不依依赖赖于于低低位位的的进进位位,各各位位进进位位同同时时产产生生。这这种种快快速速进进位位方方式式,若若不不考考虑虑Gi、Pi的的形形成成时时间间,从从C0Cn的的最最长长延延迟迟时时间间仅仅为为2ty。随随着着加加法法器器位位数数的的增增加加,Ci的的逻逻辑辑表表达达式式会会变变得得越越来来越越长长,所以,完全采用并行进位是不现实的。所以,完全采用并行进位是不现实的。
11、4.1 4.1 基本算术运算的实现基本算术运算的实现 2022/12/20142.分组并行进位方式分组并行进位方式 实实际际上上,通通常常采采用用分分组组并并行行进进位位方方式式。这这种种进进位位方方式式是是把把n位位字字长长分分为为若若干干小小组组,在在组组内内各各位位之之间间实实行行并并行行快快速速进进位位,在在组组间间既既可可以以采采用用串串行行进进位位方方式式,也也可可以以采采用用并并行行快速进位方式快速进位方式,因此有两种情况,因此有两种情况:单级先行进位方式单级先行进位方式多级先行进位方式多级先行进位方式4.1 4.1 基本算术运算的实现基本算术运算的实现 2022/12/2015
12、(1)单单级级先先行行进进位位方方式式(Carry Look Ahead,CLA)又又称称为为组组内内并并行行、组组间间串串行行方方式式。以以16位位加加法法器器为为例例,可可分分为为四四组组,每每组组四四位位。第第1组组内内的的进进位位逻逻辑辑函函数数C1、C2、C3、C4的的表表达达式式与与前前述述相相同同,C1C4信信号号是是同同时时产产生生的的,从从C0出出现现到到产产生生C1C4的延迟时间是的延迟时间是2ty。4位位CLA加法器加法器4位位CLA加法器加法器4位位CLA加法器加法器4位位CLA加法器加法器A4A1A8A5A12A9A16A13B4B1B8B5B12B9B16B13S4
13、S1S8S5S12S9S16S13C4C8C12C16C04.1 4.1 基本算术运算的实现基本算术运算的实现 2022/12/2016 C C1616C C1212C C8 8C C4 4C C0 0C C1 1C Ci ityty2 24 46 68 8 4.1 4.1 基本算术运算的实现基本算术运算的实现 2022/12/2017=G1*+P1*C0(2)多级先行进位方式多级先行进位方式(Block Carry Look Ahead,BCLA)又称又称组内并行、组间并行组内并行、组间并行进位方式。进位方式。字长为字长为16位的两级先行进位加法器,第一位的两级先行进位加法器,第一小组的最高
14、位进位小组的最高位进位C4:C4=G4+P4G3+P4P3G2+P4P3P2G1+P4P3P2P1C0依次类推:依次类推:C8=G2*+P2*G1*+P2*P1*C0 C12=G3*+P3*G2*+P3*P2*G1*+P3*P2*P1*C0C16=G4*+P4*G3*+P4*P3*G2*+P4*P3*P2*G1*+P4*P3*P2*P1*C04.1 4.1 基本算术运算的实现基本算术运算的实现 2022/12/2018CLA电路电路4位位BCLA加法器加法器4位位BCLA加法器加法器4位位BCLA加法器加法器4位位BCLA加法器加法器A4A1A8A5A12A9A16A13B16B13B12B9
15、B8B5B4B1S4S1S8S5S12S9S16S13C0C16P2P1P3P4G1G2G3G4C4C8C124.1 4.1 基本算术运算的实现基本算术运算的实现 2022/12/2019 若不考虑若不考虑Gi、Pi的形成时间,的形成时间,C0经过经过2ty产生第产生第1小组的小组的C1、C2、C3及所有组进及所有组进位产生函数位产生函数Gi*和组进位传递函数和组进位传递函数Pi*;再经;再经过过2ty,产生,产生C4、C8、C12、C16;最后经过;最后经过2ty后,才能产生第后,才能产生第2、3、4小组内的小组内的C5C7、C9C11、C13C15。4.1 4.1 基本算术运算的实现基本算
16、术运算的实现 2022/12/2020 C C1616C C1212C C8 8C C4 4C C0 0C C1 1C Ci ityty2 24 46 6 4.1 4.1 基本算术运算的实现基本算术运算的实现 2022/12/2021四位CLA加法器四位BCLA加法器4.1 4.1 基本算术运算的实现基本算术运算的实现 2022/12/20224.2 4.2 定点加减运算定点加减运算 n定点加、减法运算属于算术运算,要考虑参加运定点加、减法运算属于算术运算,要考虑参加运算数据的符号和编码格式。一般都采用补码形式算数据的符号和编码格式。一般都采用补码形式进行加减法运算进行加减法运算l原码原码符号
17、位不能直接参加加减运算,实现困难符号位不能直接参加加减运算,实现困难l反码反码符号位和数值位一起参加运算,但要采用循环进符号位和数值位一起参加运算,但要采用循环进位法进行修正位法进行修正l补码补码符号位与数值位一起参加运算,不需做特殊处理符号位与数值位一起参加运算,不需做特殊处理2022/12/20234.2 4.2 定点加减运算定点加减运算 4.2.1 原码加减运算原码加减运算 对对原原码码表表示示的的两两个个数数进进行行加加减减运运算算时时,符符号号位位不不参参与与运运算算,仅仅仅仅是是两两数数的的绝绝对对值值参参与运算。与运算。计计算算机机的的实实际际操操作作是是加加还还是是减减,不不仅
18、仅取取决决于于指指令令的的操操作作码码,还还取取决决于于两两个个操操作作数数的的符符号号,例例如如:加加法法时时可可能能要要做做减减法法(两两数数异异号号);减减法法时时又又可可能能做做加加法法(两两数数异异号号),所以原码加减运算的实现是比较复杂的。所以原码加减运算的实现是比较复杂的。2022/12/2024l两个原码数相加两个原码数相加,判符号位,判符号位:符号位同,两数绝对值相加,结果符号不变符号位同,两数绝对值相加,结果符号不变符号位同,两数绝对值相加,结果符号不变符号位同,两数绝对值相加,结果符号不变符号位不同,做减法,将绝对值大的数减去绝符号位不同,做减法,将绝对值大的数减去绝符号
19、位不同,做减法,将绝对值大的数减去绝符号位不同,做减法,将绝对值大的数减去绝对值小的数,结果符号与绝对值大的数相同对值小的数,结果符号与绝对值大的数相同对值小的数,结果符号与绝对值大的数相同对值小的数,结果符号与绝对值大的数相同l两个原码相减两个原码相减,首先将减数符号取反,然后将被,首先将减数符号取反,然后将被减数与符号取反后的减数按原码加法进行计算减数与符号取反后的减数按原码加法进行计算4.2 4.2 定点加减运算定点加减运算 2022/12/20254.2.2 补码加减运算补码加减运算1.补码加法补码加法 两个补码表示的数相加,符号位参加运算,两个补码表示的数相加,符号位参加运算,且两数
20、和的补码等于两数补码之和,即且两数和的补码等于两数补码之和,即 X+Y补补=X补补+Y补补(mod 2)l在模在模2意义下,意义下,任意两数的补码之和等于该两数之和任意两数的补码之和等于该两数之和的补码的补码这是补码加法的理论基础这是补码加法的理论基础l模模2运算是指最高位(即符号位运算是指最高位(即符号位x0和和y0)相加结果中)相加结果中的向上进位须舍去的向上进位须舍去4.2 4.2 定点加减运算定点加减运算 2022/12/20264.2 4.2 定点加减运算定点加减运算 【例例】x=0.1010,y=0.0011,求,求 x+y。【解解】x补补=0.1010y补补=0.0011 x+y
21、=0.11012022/12/20274.2 4.2 定点加减运算定点加减运算 【例例】x=-0.1010,y=-0.0011,求,求 x+y。【解解】x补补=1.0110y补补=1.1101 x+y=-0.11012022/12/20284.2 4.2 定点加减运算定点加减运算 【例例】x=-0.1010,y=0.0011,求,求 x+y。【解解】x补补=1.0110y补补=0.0011 x+y=-0.01112022/12/2029n由此可见,由此可见,l当两数以补码形式相加时,当两数以补码形式相加时,符号位符号位可以可以作为数作为数据的一部分参加运算据的一部分参加运算而不用单独处理而不用
22、单独处理l运算的结果将直接得到两数之和的补码运算的结果将直接得到两数之和的补码l符号位有进位符号位有进位也只要也只要丢弃即可丢弃即可n这样的运算规则十分方便,这也是补码在计这样的运算规则十分方便,这也是补码在计算机内大量使用的原因算机内大量使用的原因4.2 4.2 定点加减运算定点加减运算 2022/12/20304.2.2 补码加减运算补码加减运算2.补码减法补码减法 根据补码加法公式可推出:根据补码加法公式可推出:X-Y补补=X+(-Y)补补=X补补+-Y补补(mod 2)已已知知Y补补求求-Y补补的的方方法法是是:将将Y补补连连同同符符号号位位一起求反,末尾加一起求反,末尾加“1”。-Y
23、补补被被称称为为Y补补的的机机器器负负数数,由由Y补补求求-Y补补的过程称为对的过程称为对Y补补变补(求补),表示为:变补(求补),表示为:-Y补补=Y补补变补变补4.2 4.2 定点加减运算定点加减运算 2022/12/2031 我我们们要要注注意意将将“某某数数的的补补码码表表示示”与与“变变补补”这这两两个个概概念念区区分分开开来来。一一个个负负数数由由原原码码表表示示转转换换成成补补码码表表示示时时,符符号号位位是是不不变变的的,仅仅对对数数值值位位的的各各位位变变反反,末末尾尾加加“1”。而而变变补补则则不不论论这这个个数数的的真真值值是是正正是是负负,一一律律连同符号位一起变反,末
24、尾加连同符号位一起变反,末尾加“1”。Y补补表表示示的的真真值值如如果果是是正正数数,则则变变补补后后-Y补补所表示真值变为负数,反之亦然。所表示真值变为负数,反之亦然。4.2 4.2 定点加减运算定点加减运算 2022/12/2032例1:Y=-0.0110 Y补=1.1010,-Y补=0.0110例2:Y=0.0110 Y补=0.0110,-Y补=1.10104.2 4.2 定点加减运算定点加减运算 2022/12/20333.补码补码加减运算加减运算规则规则 补码补码加减运算加减运算规则规则如下如下:参加运算的两个操作数均用参加运算的两个操作数均用补码补码表示;表示;符号位作符号位作为为
25、数的一部分参加运算;数的一部分参加运算;若做加法,若做加法,则则两数直接相加;若做减两数直接相加;若做减 法,法,则则将被减数与减数的机器将被减数与减数的机器负负数相加数相加;运算运算结结果用果用补码补码表示。表示。4.2 4.2 定点加减运算定点加减运算 2022/12/2034例1:A=0.1011,B=-0.1110,求:A+B A补=0.1011,B补=1.0010 0.1011 +1.00101.1101A+B补补=1.1101,A+B=-0.00114.2 4.2 定点加减运算定点加减运算 2022/12/2035 0.1101 A-B补补=0.1101,A-B=0.1101例2:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ch4 数值 机器 运算
限制150内