计算机组成原理(华科版)第二章-运算方法与运算器课件.ppt

上传人(卖家):三亚风情 文档编号:3483051 上传时间:2022-09-05 格式:PPT 页数:120 大小:809.01KB
下载 相关 举报
计算机组成原理(华科版)第二章-运算方法与运算器课件.ppt_第1页
第1页 / 共120页
计算机组成原理(华科版)第二章-运算方法与运算器课件.ppt_第2页
第2页 / 共120页
计算机组成原理(华科版)第二章-运算方法与运算器课件.ppt_第3页
第3页 / 共120页
计算机组成原理(华科版)第二章-运算方法与运算器课件.ppt_第4页
第4页 / 共120页
计算机组成原理(华科版)第二章-运算方法与运算器课件.ppt_第5页
第5页 / 共120页
点击查看更多>>
资源描述

1、计算机组成原理计算机组成原理 第二章第二章 运算方法与运算器运算方法与运算器1第二章第二章 运算方法与运算器运算方法与运算器2.1 2.1 数据信息的表示方法数据信息的表示方法2.1.1数值数据的表示数值数据的表示计算机组成原理计算机组成原理 第二章第二章 运算方法与运算器运算方法与运算器2真值与机器数真值与机器数采用正、负符号加上二进制的绝对值,则这种采用正、负符号加上二进制的绝对值,则这种数值称为真值。数值称为真值。将正负号分别用一位数码将正负号分别用一位数码0 0和和1 1来代替,一般将来代替,一般将这种符号位放在数的最高位。这种在机器中使这种符号位放在数的最高位。这种在机器中使用的连同

2、数符一起数码化的数,称为机器数。用的连同数符一起数码化的数,称为机器数。计算机组成原理计算机组成原理 第二章第二章 运算方法与运算器运算方法与运算器3真值与机器数真值与机器数例:设机器字为例:设机器字为8 8b b字长,数字长,数N N1 1的真值为(的真值为(+1001110+1001110)2 2,数数N N2 2的真值为(的真值为(-1001110-1001110)2 2,则,则N N1 1 、N N2 2对应的机器数对应的机器数为:为:N N1 1 0 1 0 0 1 1 1 0 0 1 0 0 1 1 1 0 N N2 2 1 1 0 0 1 1 1 0 1 1 0 0 1 1 1

3、0 符号符号 数数 值值 部部 分分计算机组成原理计算机组成原理 第二章第二章 运算方法与运算器运算方法与运算器4数的转换数的转换例例2-1 2-1 将十进制数将十进制数26.4126.41转换成二进制数,八进制数、十六进转换成二进制数,八进制数、十六进制数。制数。解:解:转换成二进制数的过程如下,转换成二进制数的过程如下,整数除整数除2 2取余取余 (余数)(余数)(整数整数 )小数乘)小数乘2 2取整。取整。26 .4126 .4113 0 0 .8213 0 0 .826 1 1 .646 1 1 .643 0 1 .283 0 1 .281 1 0 .561 1 0 .560 1 1

4、.120 1 1 .12 26.41 26.411010=1 1 0 1 0.=1 1 0 1 0.0 1 1 0 10 1 1 0 12 2 计算机组成原理计算机组成原理 第二章第二章 运算方法与运算器运算方法与运算器5数的机器码表示数的机器码表示通常有原码、补码、反码和移码四种表示法。通常有原码、补码、反码和移码四种表示法。原码表示法原码表示法 其最高位作为符号位,用其最高位作为符号位,用“0”“0”表示正号,用表示正号,用“1”“1”表示负号表示负号,有效值部分用二进制的绝对值表示。例如,有效值部分用二进制的绝对值表示。例如,若若x x1 1=+0.1011 x=+0.1011 x2 2

5、=-0.1011,=-0.1011,字长为字长为8 8b b,则其原码分别则其原码分别为:为:x x1 1 原原=0.1011000 =0.1011000 x x2 2 原原=1.1011000=1.1011000原码有正零和负零两种形式:原码有正零和负零两种形式:+0+0原原=0.00=0.00 00 00 -0 -0原原=1.00=1.00 00 00 计算机组成原理计算机组成原理 第二章第二章 运算方法与运算器运算方法与运算器6补码表示法补码表示法由于补码在作二进制加、减运算时较方便由于补码在作二进制加、减运算时较方便,所以所以在计算机中广泛采用补码表示二进制数。在计算机中广泛采用补码表

6、示二进制数。补码运算中,可以用加法代替减法,节省元件,补码运算中,可以用加法代替减法,节省元件,降低成本。降低成本。计算机组成原理计算机组成原理 第二章第二章 运算方法与运算器运算方法与运算器7补码表示法补码表示法原码求补码方法:正数不变(相同)。负数符号位不变,原码求补码方法:正数不变(相同)。负数符号位不变,数值位求反加数值位求反加1 1例如,若例如,若x x1 1=+0.1011=+0.1011,x x2 2=-0.1011,=-0.1011,字长为字长为8 8b b,则其补码则其补码分别为分别为 x x1 1 原原=0.1011000 =0.1011000 x x1 1 补补=0.10

7、11000=0.1011000 x x2 2 原原=1.1011000 =1.1011000 x x2 2 补补=1.0101000=1.0101000补码的零只有一个即补码的零只有一个即0.00000000.0000000。1.0000001.000000表示负表示负1 1计算机组成原理计算机组成原理 第二章第二章 运算方法与运算器运算方法与运算器8 反码表示法反码表示法对于正数来说,反码与原码、补码的表示形式相对于正数来说,反码与原码、补码的表示形式相同。对于负数来说,符号位与原码、补码的符号同。对于负数来说,符号位与原码、补码的符号位定义相同。而数值只是将原码的数值位按位变位定义相同。而

8、数值只是将原码的数值位按位变反就得到了该数的反码表示。反就得到了该数的反码表示。例如,若例如,若x x1 1=+0.1011 x=+0.1011 x2 2=-0.1011,=-0.1011,字长为字长为8 8b b,x x1 1 反反=0.1011000=0.1011000=x x1 1 原原=x x1 1 补补 x x2 2 反反=1.0100111=1.0100111 x x2 2 补补=1.0101000 =1.0101000 x x2 2 原原=1.1011000=1.1011000反码的零有两个反码的零有两个0.00000.0000和和1.111111.11111计算机组成原理计算机

9、组成原理 第二章第二章 运算方法与运算器运算方法与运算器9 移码移码 移码也叫增码,它常以整数形式用在计算机浮点数的移码也叫增码,它常以整数形式用在计算机浮点数的阶码(表示指数)中。若纯整数阶码(表示指数)中。若纯整数X X为为n n位(包括符号位(包括符号位),则其移码定义为:位),则其移码定义为:xx移移=2=2n-1n-1+x+x补补 -2-2n-1n-1X2X2n-1n-1-1-1补码将符号位求反可得移码。补码将符号位求反可得移码。设字长为设字长为8 8b b,若若x=+1000 x=+1000(2)(2),xx补补=00001000 =00001000 xx移移=10001000=1

10、0001000 若若x=-1000 x=-1000(2)(2),xx补补=11111000 =11111000 xx移移=01111000=01111000计算机组成原理计算机组成原理 第二章第二章 运算方法与运算器运算方法与运算器10数的定点表示数的定点表示 计算机中小数的小数点并不是用某个数字来表计算机中小数的小数点并不是用某个数字来表示的,而是用隐含的小数点的位置来表示。根示的,而是用隐含的小数点的位置来表示。根据小数点的位置是否固定,又可分为据小数点的位置是否固定,又可分为定点表示定点表示和和浮点表示浮点表示。其中定点表示形式又分为。其中定点表示形式又分为定点小定点小数数表示形式和表示

11、形式和定点整数定点整数表示形式。表示形式。计算机组成原理计算机组成原理 第二章第二章 运算方法与运算器运算方法与运算器11数的定点表示数的定点表示 定点小数定点小数 将小数点固定在符号位将小数点固定在符号位d d0 0之后,数值最高位之后,数值最高位d d-1-1之前,之前,这就是定点小数形式。其格式如下所示:这就是定点小数形式。其格式如下所示:d d0 0 d d-1-1 d d-2-2 d d-(n-1-(n-1)定点整数定点整数 将小数点固定在数的最低位之后,这就是定点整数形将小数点固定在数的最低位之后,这就是定点整数形式。其格式如下所示:式。其格式如下所示:d d0 0 d d-1-1

12、 d d-2-2 .d d-(n-1-(n-1)计算机组成原理计算机组成原理 第二章第二章 运算方法与运算器运算方法与运算器12定点小数的表示范围:定点小数的表示范围:设字长为设字长为8 8b b,用原码表示时,其表示范围如下:用原码表示时,其表示范围如下:最小负数最小负数 最大负数最大负数 最小正数最小正数 最大正数最大正数 1.1111111 1.0000001 0.0000001 0.11111111.1111111 1.0000001 0.0000001 0.1111111-(1-21-2)-2 -27 7 2 27 7 1-21-27 7 设字长为设字长为8 8b b,用补码表示时,

13、其表示范围如下:用补码表示时,其表示范围如下:最小负数最小负数 最大负数最大负数 最小正数最小正数 最大正数最大正数 1.0000000 1.1111111 0.0000001 0.11111111.0000000 1.1111111 0.0000001 0.1111111 -1 -2 -1 -27 7 2 27 7 1-21-27 7计算机组成原理计算机组成原理 第二章第二章 运算方法与运算器运算方法与运算器13 定点整数的表示范围:定点整数的表示范围:设字长为设字长为8 8b b,用原码表示时,其表示范围如下:用原码表示时,其表示范围如下:最小负数最小负数 最大负数最大负数 最小正数最小正

14、数 最大正数最大正数 11111111 10000001 00000001 01111111 11111111 10000001 00000001 01111111-(2 27 7-1-1)=-127 -1=-127 -1 +1+1 2 27 7-1=127-1=127 设字长为设字长为8 8b b,用补码表示时,其表示范围如下:用补码表示时,其表示范围如下:最小负数最小负数 最大负数最大负数 最小正数最小正数 最大正数最大正数 10000000 11111111 00000001 01111111 10000000 11111111 00000001 01111111 -2 -27 7=-1

15、28 -1=-128 -1 +1+1 2 27 7-1=127-1=127计算机组成原理计算机组成原理 第二章第二章 运算方法与运算器运算方法与运算器14 (1 1)综上所述,用原码表示时,由于真值零占)综上所述,用原码表示时,由于真值零占用了两个编码,因此用了两个编码,因此n n位二进制只能表示位二进制只能表示2 2n n-1-1个个原码。原码表示的优点是:数的真值与它的原码原码。原码表示的优点是:数的真值与它的原码之间的对应关系简单、直观、转换容易,但用原之间的对应关系简单、直观、转换容易,但用原码实现加减运算很不方便。码实现加减运算很不方便。(2 2)在补码系统中,由于零有唯一的编码,因

16、)在补码系统中,由于零有唯一的编码,因此,此,n n位二进制能表示位二进制能表示2 2n n个补码,采用补码表示比个补码,采用补码表示比用原码表示可多表示一个数。补码在机器中常用用原码表示可多表示一个数。补码在机器中常用于作加、减运算。于作加、减运算。计算机组成原理计算机组成原理 第二章第二章 运算方法与运算器运算方法与运算器15数的浮点表示法数的浮点表示法 浮点数的表示格式浮点数的表示格式 浮点表示法把字长分成阶码(表示指数)和尾数(表示数浮点表示法把字长分成阶码(表示指数)和尾数(表示数值)两部分。其格式如下(第一种浮点格式):值)两部分。其格式如下(第一种浮点格式):J J E Em m

17、-1-1E E1 1 S D S D-1-1D D-(n-1)-(n-1)阶符阶符 阶码值阶码值 数符数符 尾数值尾数值 补码表示补码表示 补码表示补码表示 阶码部分共分为阶码部分共分为m m位,其中位,其中J J为阶符(即指数部分的符号为阶符(即指数部分的符号位),位),E Ei i为阶码值(表示幂次);基数为阶码值(表示幂次);基数R R是隐含约定的,通是隐含约定的,通常取常取2 2;尾数部分共分为;尾数部分共分为n n位,其中位,其中S S是尾数部分的符号位,是尾数部分的符号位,D D-1-1D D-(n-1n-1)为尾数值部分。假设阶码为为尾数值部分。假设阶码为E E,尾数为尾数为D

18、D,基数基数为为2 2,则这种格式存储的数,则这种格式存储的数X X可表示为可表示为X=DX=D2 2E E。计算机组成原理计算机组成原理 第二章第二章 运算方法与运算器运算方法与运算器16 实际应用中,阶码通常采用补码或移码定点整数形式,实际应用中,阶码通常采用补码或移码定点整数形式,尾数通常用补码定点小数形式。浮点表示法还有另一尾数通常用补码定点小数形式。浮点表示法还有另一种(即第二种浮点格式)表示格式,将数符放在最高种(即第二种浮点格式)表示格式,将数符放在最高位,即位,即 S J S J E Em m-1-1E E1 1 D D-1-1D D-(n-1)-(n-1)数符数符 阶符阶符

19、阶码值阶码值 尾数值尾数值 移码表示移码表示 补码表示补码表示计算机组成原理计算机组成原理 第二章第二章 运算方法与运算器运算方法与运算器17 浮点数的规格化浮点数的规格化 为了使浮点表示法有尽可能高的精度,措施之一是增加为了使浮点表示法有尽可能高的精度,措施之一是增加位数或者是在字长一定的情况下,将阶码和尾数所占位数或者是在字长一定的情况下,将阶码和尾数所占的位数协调好;措施之二是采用浮点数规格化表示。的位数协调好;措施之二是采用浮点数规格化表示。那么什么是浮点数规格化呢?这就是通过调整阶码,那么什么是浮点数规格化呢?这就是通过调整阶码,使其尾数使其尾数D D满足下面形式的数:满足下面形式的

20、数:原码规格化后原码规格化后 正数为正数为 0.1 0.1的形式。的形式。负数为负数为 1.1 1.1的形式。的形式。补码规格化后补码规格化后 正数为正数为 0.1 0.1的形式。的形式。负数为负数为 1.0 1.0的形式。的形式。计算机组成原理计算机组成原理 第二章第二章 运算方法与运算器运算方法与运算器18 浮点数的表示举例浮点数的表示举例 某机用某机用3232b b表示一个数,阶码部分占表示一个数,阶码部分占8 8b b(含一位符号位),含一位符号位),尾数部分占尾数部分占2424b b(含一位符号位)。设含一位符号位)。设x x1 1=-256.5=-256.5,x x2 2=127/

21、256=127/256,试写出试写出x x1 1和和x x2 2的两种浮点数表示格式。的两种浮点数表示格式。解:解:x x1 1=-2 5 6.5=-=-2 5 6.5=-(1 0 0 0 0 0 0 0 0.11 0 0 0 0 0 0 0 0.1)2 2=-=-2 29 90.10000000010.1000000001 阶码的补码为(阶码的补码为(+9+9)补补=00001001 =00001001 阶码的移码为(阶码的移码为(+9+9)移移=10001001=10001001 尾数尾数=1.01111111110000000000000 =1.011111111100000000000

22、00 (规格化补码)(规格化补码)第一种浮点表示的格式为第一种浮点表示的格式为 00001001 00001001,1.011111111100000000000001.01111111110000000000000 第二种浮点表示的格式为第二种浮点表示的格式为 1 1,1000100110001001,0111111111000000000000001111111110000000000000计算机组成原理计算机组成原理 第二章第二章 运算方法与运算器运算方法与运算器19 浮点数的表示举例浮点数的表示举例 某机用某机用3232b b表示一个数,阶码部分占表示一个数,阶码部分占8 8b b(含

23、一位符号含一位符号位),尾数部分占位),尾数部分占2424b b(含一位符号位)。设含一位符号位)。设x x1 1=-=-256.5 256.5,x x2 2=127/256=127/256,试写出试写出x x1 1和和x x2 2的两种浮点数表示的两种浮点数表示格式。格式。解解 x x2 2=127/256=127/256=(11111111111111)2 22 2-8-8=2=2-1-10.11111110.1111111 阶码的补码为(阶码的补码为(-1-1)补补=11111111 =11111111 阶码的移码为(阶码的移码为(-1-1)移移=01111111=01111111 尾数

24、尾数=0.11111110000000000000000=0.11111110000000000000000(规格化补码)(规格化补码)第一种浮点表示的格式为第一种浮点表示的格式为 11111111 11111111,0.111111100000000000000000.11111110000000000000000 第二种浮点表示的格式为第二种浮点表示的格式为 0 0,0111111101111111,1111111000000000000000011111110000000000000000计算机组成原理计算机组成原理 第二章第二章 运算方法与运算器运算方法与运算器20 浮点数的表示范围浮

25、点数的表示范围 设阶码和尾数各为设阶码和尾数各为4 4b b(各包含一个符号位),则其浮点数的表示表各包含一个符号位),则其浮点数的表示表示范围分别为:示范围分别为:阶码范围阶码范围 最小负数最小负数 最大负数最大负数 最小正数最小正数 最大正数最大正数 1000 1111 0001 0111 1000 1111 0001 0111 -2 -27 7=-8 -1=-8 -1 +1+1 2 23 3-1=7-1=7 规格化尾数表示范围规格化尾数表示范围 最小负数最小负数 最大负数最大负数 最小正数最小正数 最大正数最大正数 1.000 1.011 0.100 0.111 1.000 1.011

26、0.100 0.111 -1 -1 -(2 23 3+2+21 1)2 21 1 1-21-23 3计算机组成原理计算机组成原理 第二章第二章 运算方法与运算器运算方法与运算器21 规格化浮点数表示范围规格化浮点数表示范围 最小负数最小负数 最大负数最大负数 最小正数最小正数 最大正数最大正数 2 2011101111.000 21.000 2100010001.011 21.011 2100010000.100 20.100 2011101110.1110.111 2 2111111111.000 21.000 2000000001.011 21.011 2000000000.100 20.

27、100 2111111110.1110.111 -2 -27 71 -21 -2-8-8(2 23 3+2+21 1)2 2-8-82 21 1 2 27 7(1-21-23 3)注意:这里规格化尾数的最大负数的补码是注意:这里规格化尾数的最大负数的补码是1.011.011 1的形式,的形式,而不是而不是1.101.100 0的形式,是因为的形式,是因为 1.10 1.100 0不是规格化数,所以规不是规格化数,所以规格化尾数的最大负数应是格化尾数的最大负数应是 :-(0.100.100+0.00+0.00101)=-0.10=-0.1001 01,而而-0.10-0.1011补补=1.01=

28、1.011 1,即,即-(2 2(n-1)n-1)+2+21 1)计算机组成原理计算机组成原理 第二章第二章 运算方法与运算器运算方法与运算器22(5)(5)溢出问题溢出问题 定点形式判断溢出的办法是对数值本身进行判断,而浮定点形式判断溢出的办法是对数值本身进行判断,而浮点数是对规格化后的阶码进行判断。当一个浮点数阶点数是对规格化后的阶码进行判断。当一个浮点数阶码大于机器的最大阶码,称为上溢;而小于最小阶码码大于机器的最大阶码,称为上溢;而小于最小阶码时,称为下溢。机器产生上溢时,不能再继续运算,时,称为下溢。机器产生上溢时,不能再继续运算,一般要进行中断处理。出现下溢时,一般规定把浮点一般要

29、进行中断处理。出现下溢时,一般规定把浮点数各位强迫为零数各位强迫为零(当做零处理当做零处理),机器仍可继续进行运算。,机器仍可继续进行运算。计算机组成原理计算机组成原理 第二章第二章 运算方法与运算器运算方法与运算器23字符的表示字符的表示 ASCII码码(American Standard Code For Information Interchange,美国国家信息交换标准字符码美国国家信息交换标准字符码)。ASCII共有共有128个字符,其中个字符,其中95个编码个编码(包括大小写各包括大小写各26个英个英文字母,(文字母,(09)10个数字符,标点符号等个数字符,标点符号等)对应着计对

30、应着计算机终端能敲入并可以显示这算机终端能敲入并可以显示这95个字符,打印机也可个字符,打印机也可打印出这打印出这95个字符。另外的个字符。另外的33个字符是被用做控制码,个字符是被用做控制码,控制计算机某些外围设备的工作特性和某些计算机软控制计算机某些外围设备的工作特性和某些计算机软件运行情况。件运行情况。计算机组成原理计算机组成原理 第二章第二章 运算方法与运算器运算方法与运算器24ASCII码码 在计算机中,用在计算机中,用1B(一个字节)表示一个一个字节)表示一个ASCII码,其最高一码,其最高一位位(b7位位)填填0,余下的,余下的7b可以给出可以给出128个编码,表示个编码,表示1

31、28个不同的个不同的字符和控制码。但当进行奇偶校验时,也可以用最高位字符和控制码。但当进行奇偶校验时,也可以用最高位(b7)作作为校验位。为校验位。如如A的的ASCII码为:码为:1000001=01000001=(41)16=65 如如a的的ASCII码为:码为:1100001=01100001=(61)16=97计算机组成原理计算机组成原理 第二章第二章 运算方法与运算器运算方法与运算器25汉字的表示汉字的表示 (1)(1)汉字的输入汉字的输入 输入码是为使输入设备能将汉字输入到计算机而专门编制的一输入码是为使输入设备能将汉字输入到计算机而专门编制的一种代码。目前已出现了数百种汉字输入方案

32、,常见的有国标码、种代码。目前已出现了数百种汉字输入方案,常见的有国标码、区位码、拼音码和五笔字型等。区位码、拼音码和五笔字型等。(2)(2)汉字在机内的表示汉字在机内的表示 机内码是指机器内部处理和存储汉字的一种代码。目前国内还机内码是指机器内部处理和存储汉字的一种代码。目前国内还没有制定统一的汉字机内码,常用的一种汉字机内码是用没有制定统一的汉字机内码,常用的一种汉字机内码是用2 2B B表表示一个汉字的。它是在国标码的基础上,在每个字节的最高位示一个汉字的。它是在国标码的基础上,在每个字节的最高位置置“1”“1”作为汉字标记而组成的。作为汉字标记而组成的。机内码与国标之间的转换关机内码与

33、国标之间的转换关系为:机内码系为:机内码(十六进制十六进制)国标码国标码(十六进制十六进制)80808080H H。例如,例如,“京京”字的国标码为字的国标码为3 3E29HE29H,其机内码为其机内码为BEA9HBEA9H。计算机组成原理计算机组成原理 第二章第二章 运算方法与运算器运算方法与运算器26(3)汉字的输出与汉字字库汉字的输出与汉字字库 显示器是采用图形方式显示器是采用图形方式(即汉字是由点阵组成即汉字是由点阵组成)来显示来显示汉字的。但由于汉字字形复杂,用显示西文字符的汉字的。但由于汉字字形复杂,用显示西文字符的8 88 8点阵已无法显示一些常用的汉字,每个汉字至少点阵已无法显

34、示一些常用的汉字,每个汉字至少需要需要16161616的点阵才能显示。图的点阵才能显示。图2.12.1所示的是用所示的是用16161616点阵显示一个汉字的例子。点阵显示一个汉字的例子。对于这种对于这种1616点阵码,每个汉字要用点阵码,每个汉字要用32B的容量,它的容量,它是最简单的汉字点阵。若要获得更美观的字形,需采是最简单的汉字点阵。若要获得更美观的字形,需采用用2424,3232,4848等点阵来表示。一个实用等点阵来表示。一个实用的汉字系统大约占几十万到上百万个存储单元。的汉字系统大约占几十万到上百万个存储单元。计算机组成原理计算机组成原理 第二章第二章 运算方法与运算器运算方法与运

35、算器27一般常用的汉字输出有打印输出和显示输出两种形式。一般常用的汉字输出有打印输出和显示输出两种形式。输出汉字的过程为:输入码转换为机内码,然后用机输出汉字的过程为:输入码转换为机内码,然后用机码检索字库,找到其字形点阵码,再输出汉字,码检索字库,找到其字形点阵码,再输出汉字,键盘键盘 输入码处理输入码处理 汉字机内码汉字机内码 字形字形 汉字字形点阵汉字字形点阵 显示显示 转换程序转换程序 2B 检索程序检索程序 32B 驱动程序驱动程序 码表码表 汉字汉字 CRT 字模库字模库 显示器显示器计算机组成原理计算机组成原理 第二章第二章 运算方法与运算器运算方法与运算器282.2 定点加减法

36、运算定点加减法运算2.2.1 定点补码加、减法与溢出概念定点补码加、减法与溢出概念 在计算机中,常将数值转换成补码后再进行加减运算。在计算机中,常将数值转换成补码后再进行加减运算。其优点是,可将减法运算转化为加法运算,这样可以其优点是,可将减法运算转化为加法运算,这样可以简化机器内部硬件电路的结构。补码运算的特点是,简化机器内部硬件电路的结构。补码运算的特点是,符号位和数值位一起参加运算。符号位和数值位一起参加运算。计算机组成原理计算机组成原理 第二章第二章 运算方法与运算器运算方法与运算器29补码加减运算规则补码加减运算规则(1)补码的加法运算补码的加法运算其公式为:其公式为:xx补补 yy

37、补补 x xyy补补(2)补码的减法运算补码的减法运算其公式为其公式为 xx 补补-yy 补补=x-y x-y 补补=x+x+(-y-y)补补=xx 补补+-+-yy 补补计算机组成原理计算机组成原理 第二章第二章 运算方法与运算器运算方法与运算器30只要能通过只要能通过 yy 补补求得求得-yy 补补,就可以将补码减法,就可以将补码减法运算化为补码加法运算。已知运算化为补码加法运算。已知 yy 补补,求,求-yy 补补的的法则是:对法则是:对 yy 补补各位(包括符号位)取反,然后各位(包括符号位)取反,然后在末位加上在末位加上1 1。例如,已知例如,已知 yy 补补=1=110101010

38、 则则-yy 补补=0=001100110又如,已知又如,已知 yy 补补=0=011101110 则则-yy 补补=1=100100010计算机组成原理计算机组成原理 第二章第二章 运算方法与运算器运算方法与运算器31 加减法运算规则加减法运算规则参加运算的数都用补码表示。参加运算的数都用补码表示。数据的符号与数据一样参加运算。数据的符号与数据一样参加运算。求差时将减数求补,用求和代替求差。求差时将减数求补,用求和代替求差。运算结果为补码。如果符号位为运算结果为补码。如果符号位为0 0,表明运算,表明运算结果为正;如果符号位为结果为正;如果符号位为1 1,则表明运算结果为,则表明运算结果为负

39、。负。符号位的进位为模值,应该丢掉。符号位的进位为模值,应该丢掉。计算机组成原理计算机组成原理 第二章第二章 运算方法与运算器运算方法与运算器322.2.补码加减运算举例补码加减运算举例例例1 1:已知机器字长:已知机器字长 n=8bn=8b,x=44x=44,y=53 y=53,求求x+y=x+y=?解:解:x=00101100 x=00101100 ,y=00110101 y=00110101 x x 补补=00101100=00101100,yy 补补=00110101=00110101 xx 补补=00101100=00101100 +yy 补补=00110101=00110101 x

40、+yx+y 补补=01100001 =01100001 (x+yx+y)2 2=+1100001 x+y=97=+1100001 x+y=97 计算机组成原理计算机组成原理 第二章第二章 运算方法与运算器运算方法与运算器332.2.补码加减运算举例补码加减运算举例例例2 2 已知机器字长已知机器字长 n=8bn=8b,x=-44x=-44,y=-53 y=-53,求求x-y=x-y=?解:解:x=-00101100 x=-00101100,y=-00110101y=-00110101 x x 补补=11010100=11010100,yy 补补=11001011=11001011 -yy 补补

41、=00110101=00110101 xx 补补=11010100=11010100 +-+-yy 补补=00110101=00110101 x-yx-y 补补=1 1 00001001 00001001 已超出模值,丢掉已超出模值,丢掉 (x-yx-y)2 2=+0001001 x-y=+9=+0001001 x-y=+9计算机组成原理计算机组成原理 第二章第二章 运算方法与运算器运算方法与运算器343.3.溢出判断法溢出判断法例如:例如:已知机器字长已知机器字长 n=8bn=8b,x=120 x=120,y=10 y=10,求求x+y=x+y=?解:解:x=+1111000 y=+0000

42、1010 x=+1111000 y=+00001010 x x 补补=01111000 =01111000 yy 补补=00001010=00001010 xx 补补=0 011110001111000 +yy 补补=0 000010100001010 x+yx+y 补补=1 10000010 0000010 运算结果符号与被加数符号相反,故产生了溢出。运算结果符号与被加数符号相反,故产生了溢出。判断溢出的方法是:两个符号相同的数相加,其运算判断溢出的方法是:两个符号相同的数相加,其运算结果的符号应与被加数符号、加数符号相同,如相反结果的符号应与被加数符号、加数符号相同,如相反就产生了溢出现象

43、;两个符号相异的数相减,其运算就产生了溢出现象;两个符号相异的数相减,其运算结果的符号应与被减数的符号相同,如相反则有溢出结果的符号应与被减数的符号相同,如相反则有溢出发生。发生。计算机组成原理计算机组成原理 第二章第二章 运算方法与运算器运算方法与运算器35(1)(1)双符号法双符号法(变形补码法变形补码法)用两个相同的符号位表示一个数的符号。左边第一位为第一用两个相同的符号位表示一个数的符号。左边第一位为第一符号位符号位S Sf1f1,相邻的为第二符号位相邻的为第二符号位S Sf2f2。双符号位的含义为:双符号位的含义为:0000表示正号;表示正号;0101表示产生正向溢出;表示产生正向溢

44、出;1111表示负号;表示负号;1010表示产生负向溢出。表示产生负向溢出。双符号位可用逻辑异或来判断溢出情况:双符号位可用逻辑异或来判断溢出情况:V=SV=Sf1f1SSf2f2,若若V=0V=0,则无溢出;则无溢出;V=1V=1,则有溢出。则有溢出。即:运算结果的两个符号位相同,则没有溢出发生;即:运算结果的两个符号位相同,则没有溢出发生;运算结果的两个符号位不同,则发生了溢出,第一符号位运算结果的两个符号位不同,则发生了溢出,第一符号位永远是结果的真正符号位。永远是结果的真正符号位。计算机组成原理计算机组成原理 第二章第二章 运算方法与运算器运算方法与运算器36例例1 1:已知:已知 x

45、=0.1011 x=0.1011,y=0.0111 y=0.0111,求求x+y=x+y=?解:解:xx 补补=00.1011=00.1011,yy 补补=00.0111=00.0111 xx 补补=00.1011=00.1011 +yy 补补=00.0111=00.0111 x+yx+y 补补=01.0010 =01.0010 两符号位为两符号位为0101,表示出现正向溢出。,表示出现正向溢出。例例2 2:已知:已知 x=-0.1011 x=-0.1011,y=0.0111 y=0.0111,求求x-y=x-y=?解:解:xx 补补=11.0101=11.0101,-yy 补补=11.100

46、1=11.1001 xx 补补=11.0101=11.0101 +-+-yy 补补=11.1001=11.1001 x-yx-y 补补=1 1 10.1110 10.1110 已超出模值,丢掉已超出模值,丢掉 两符号位为两符号位为1010,表示出现负向溢出。,表示出现负向溢出。计算机组成原理计算机组成原理 第二章第二章 运算方法与运算器运算方法与运算器37进位判断法进位判断法 当两个单符号位的补码进行加减运算时,若最高数值位向符号位当两个单符号位的补码进行加减运算时,若最高数值位向符号位的进位值的进位值C C与符号位产生的进位输出值与符号位产生的进位输出值S S 相同,则没有溢出发生。如相同,

47、则没有溢出发生。如果两个进位值不同,则有溢出发生。其判断溢出表达式如下:果两个进位值不同,则有溢出发生。其判断溢出表达式如下:V=SCV=SC例如:例如:xx 补补=1.0101=1.0101 +yy 补补=1.1001=1.1001 x+yx+y 补补=1 0.1110 =1 0.1110 最高有效位没有进位,即最高有效位没有进位,即C=0C=0,符号位有进位,即符号位有进位,即S=1S=1,故故V=10=1V=10=1,有溢出发生。有溢出发生。xx 补补=1.1101=1.1101 +yy 补补=0.1001=0.1001 x+yx+y 补补=1 0.0110 =1 0.0110 最高有效

48、位有进位,即最高有效位有进位,即C=1C=1,符号位有进位,即符号位有进位,即S=1S=1,故故V=11=0V=11=0,无溢出发生,无溢出发生,x+y=+0.0110 x+y=+0.0110。计算机组成原理计算机组成原理 第二章第二章 运算方法与运算器运算方法与运算器382.2.2 基本的二进制加、减法器基本的二进制加、减法器(1)一位全加器)一位全加器设设x x和和y y两个操作数分别为两个操作数分别为 x xx xf f.x.xx xx x n n ,y yy yf f.y.yy yY Yn n表表2 25 5 一位全加器真值表一位全加器真值表X Xi i y yi i C Ci i-1

49、-1 S Si i C Ci i 0 0 0 0 00 0 0 0 0 0 0 1 1 0 0 0 1 1 0 0 1 0 1 0 0 1 0 1 0 0 1 1 0 1 0 1 1 0 1 1 0 0 1 01 0 1 0 1 0 10 1 1 1 0 0 10 1 1 1 1 1 11 1计算机组成原理计算机组成原理 第二章第二章 运算方法与运算器运算方法与运算器39根据以上真值表可分别写出根据以上真值表可分别写出S Si i和和C Ci i的如下表达式:的如下表达式:S Si i=x xi i y yi i C Ci i-1-1+x xi i y yi i C Ci i-1-1+x xi

50、 i y yi i C Ci i-1-1+x xi i y yi i C Ci i-1-1=x xi i+y yi i+C Ci i-1-1 C Ci i=x xi i y yi i C Ci i-1-1+x xi i y yi i C Ci i-1-1+x xi i y yi i C Ci i-1-1+x xi i y yi i C Ci i-1-1 =x xi iy yi i+(+(x xi i+y yi i)C Ci i-1-1 以上两式用以上两式用“异或异或”门构成一位全加器,门构成一位全加器,Ci&1&=1Si=1Ci1xiyiCiSixiyi COSi CICi1计算机组成原理计算

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(计算机组成原理(华科版)第二章-运算方法与运算器课件.ppt)为本站会员(三亚风情)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|