第二章运算方法和运算器_第1页
第二章运算方法和运算器_第2页
第二章运算方法和运算器_第3页
第二章运算方法和运算器_第4页
第二章运算方法和运算器_第5页
已阅读5页,还剩166页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1University of JinanPrinciples of Computer Organization22.1 数据与文字的表示方法数据与文字的表示方法2.4 定点除法运算定点除法运算2.3 定点乘法运算定点乘法运算2.2 定点加法、减法运算定点加法、减法运算2.5 定点运算器的组成定点运算器的组成2.6 浮点运算方法和浮点运算器浮点运算方法和浮点运算器Principles of Computer Organization3一、数据编码一、数据编码三、数的定点、浮点表示三、数的定点、浮点表示二、数的机器码表示二、数的机器码表示四、字符与字符串的表示方法四、字符与字符串的表示方法五、汉字

2、的表示方法五、汉字的表示方法六、校验码六、校验码Principles of Computer Organization4计算机数据编码需要考虑的因素计算机数据编码需要考虑的因素:数的数的类型类型(小数、整数、实数和复数)小数、整数、实数和复数) 数值数值范围范围 数值数值精确度精确度 数值存储和处理所需的数值存储和处理所需的硬件代价硬件代价 日常生活:十进制日常生活:十进制计算机:二进制计算机:二进制天生十个手指头天生十个手指头0/1(开(开/关、低关、低/高、真高、真/假)假)0+1=1+0=1 1+1=0 0+0=0(用异或门实现)(用异或门实现)Principles of Compute

3、r Organization5长度长度:在同一计算机中,长度统一,不足补:在同一计算机中,长度统一,不足补0。正负正负:最高位符号位(:最高位符号位(0:正、正、1:负)负)真值数真值数:带正负号:带正负号 如:如: 0101100机器码机器码:符号位和数值位一起编码:符号位和数值位一起编码 如:如:10101100小数点小数点:隐含的小数点位置可以固定,也可以可变。:隐含的小数点位置可以固定,也可以可变。固定:固定:定点数定点数 一般表示纯小数或纯整数一般表示纯小数或纯整数可变:可变:浮点数浮点数 数值范围很大,硬件较复杂数值范围很大,硬件较复杂原码、反码、补码、移码原码、反码、补码、移码P

4、rinciples of Computer Organization6正负问题正负问题计算机中数的表示:计算机中数的表示:原码原码、反码反码、补码补码、移码移码机器数机器数或或机器码机器码真值真值+ 0.1011+ 1100 1100 0.10110 1011小数点的位置小数点的位置0 1100小数点的位置小数点的位置1 1100小数点的位置小数点的位置1 1011小数点的位置小数点的位置一般书写表示一般书写表示机器中编码表示机器中编码表示Principles of Computer Organization7整数整数x 为真值为真值n 为整数的位数为整数的位数如如x = +1110 x原原

5、= 01110 x原原 = 24 + 1110 = 11110 x = 1110 x原原 = x 0 x 2n2n x= 2n|x| 2n x 0 x原原 为机器数为机器数x = +0000 x原原 = 00000(正零)(正零) x原原 = 24 + 0000 = 10000 (负零)(负零)x = 0000Principles of Computer Organization8小数小数x 为真值为真值如如x = + 0.1101x原原 = 0 . 1101 x = 0.1101x原原=1 ( 0.1101) = 1.1101 x 0 x 1x原原 = 1 x = 1 |x| 1 x 0 x

6、 = 0.1000000 x原原=1 ( 0.1000000) = 1.1000000 x = + 0.1000000 x原原 = 0 . 1000000 x原原 为机器数为机器数+0原原 = 0 . 0000-0原原 = 1 . 0000Principles of Computer Organization9原码为符号位加上数的绝对值,原码为符号位加上数的绝对值,0正正1负。负。简单、直观简单、直观但是用原码作加法时,会出现如下问题:但是用原码作加法时,会出现如下问题:能否能否 只作加法只作加法 ? 找到一个与负数等价的正数找到一个与负数等价的正数 来代替这个负数来代替这个负数加法加法 正正

7、 正正加加加法加法 正正 负负加法加法 负负 正正加法加法 负负 负负减减减减加加正正可正可负可正可负可正可负可正可负负负 要求要求 数数1 数数2 实际操作实际操作 结果符号结果符号Principles of Computer Organization10假设要校准的时间为假设要校准的时间为1点整。点整。逆时针逆时针 109 1顺时针顺时针 103 13两种方法:两种方法:可见,减可见,减9和加和加3是等价的,即是等价的,即3是是(-9)对对12的补码,的补码,可以用数学公式表示可以用数学公式表示:93 (mod 12)结论:负数用补码表示时结论:负数用补码表示时, 可以把减法转化为加法。可

8、以把减法转化为加法。同理:同理:4 8 (mod 12) 5 7 (mod 12)Principles of Computer Organization11一个负数加上一个负数加上 “模模” 即得该负数的补数即得该负数的补数时钟的模数为时钟的模数为12,可以把模定义为一个计量器的容量。,可以把模定义为一个计量器的容量。例如:一个例如:一个4位的计数器,它的计数值为位的计数器,它的计数值为0 15。当计。当计数器计满数器计满15之后再加之后再加1,这个计数器就发生溢出,其,这个计数器就发生溢出,其溢出量为溢出量为16,也就是模等于,也就是模等于16(即(即24,10000)。)。小数的溢出量为小

9、数的溢出量为2,即以,即以2为模。为模。一个字长为一个字长为n+1位的定点整数的溢出量为位的定点整数的溢出量为2n+1,即以,即以2n+1为模。为模。Principles of Computer Organization12整数整数(mod 2n+1)如如x = +1010 x补补 = 01010 x补补 = 27+1 + (1011000) = 1000000001011000 = 10101000 x = 1011000 x补补 = x 0 x 2n2n+1 x= 2n+1 |x| 2n x 0 对于对于0,+0补补-0补补0000 (mod 2n+1) 注意:注意:0的补码表示只有一种形

10、式。的补码表示只有一种形式。Principles of Computer Organization13小数小数如如x = + 0.1011x补补 = 0.1011 x = 0.1011x补补 = 10 (0.1011) = 1.0101 x 0 x 1x补补 = 2 x = 2 |x| 1 x 0+0补补-0补补0.0000 (mod 2) (mod 2)Principles of Computer Organization14= 100000= 1011010101 + 1= 10110 又又x原原 = 11010则则x补补 = 24+1 1010= 11111 + 1 1010= 1111

11、110101010当真值为当真值为 负负 时,时,补码补码 可用可用 原码除符号位外原码除符号位外每位取反,末位加每位取反,末位加 1 求求得得+ 1设设 x = 1010 时时Principles of Computer Organization15解:解:x = + 0.0001解:由定义得解:由定义得x = x补补 2 = 1.0001 10.0000 x原原 = 1.11112、已知、已知 x补补 = 1.0001求求 xx补补 x原原 ?由定义得由定义得1、已知、已知 x补补 = 0.0001,求,求x x = 0.1111 = 0.1111 Principles of Comput

12、er Organization16解:解:x = x补补 24+1 = 11110 100000 x原原 = 10010 x补补 x原原 ? x = 0010= 00103、已知、已知 x补补 = 11110,求,求x由定义得由定义得x= 124123 122 121 020 = 16+14= 24、已知、已知 x补补 = 01110,求,求x解:解:x = + 1110由定义得由定义得x= 024123 122 121 020=14Principles of Computer Organization17整数整数x反反 = x 0 x 2n(2n+1 1)x 2n x 0如如x = +110

13、1x反反 = 01101 = 10010 x = 1101x反反 = (24+11) 1101 = 111111101Principles of Computer Organization18小数小数x = + 0.1101x反反 = 0.1101x = 0.1010 x反反 = (2 2-4) 0.1010 = 1.1111 0.1010= 1.0101如如x反反 = x 0 x 1( 2 2-n) + x 1 x 0+0.0000反反= 0.0000+0反反= 00000 0.0000反反= 1.1111 0反反= 11111 + 0反反 0反反 Principles of Compute

14、r Organization19对于对于正数正数,原码原码 = 补码补码 = 反码反码对于对于负数负数 ,符号位为符号位为 1,其,其 数值部分数值部分原码除符号位外每位取反原码除符号位外每位取反 反码反码原码除符号位外每位取反末位加原码除符号位外每位取反末位加 1 补码补码原码为符号位加上数的绝对值,原码为符号位加上数的绝对值,0正正1负负; + 0原原 0原原+0补补-0补补 + 0反反 0反反 原码加减运算复杂。补码能很好用于加减运算。原码加减运算复杂。补码能很好用于加减运算。反码表示法可以解决负数的求补问题。反码表示法可以解决负数的求补问题。Principles of Computer

15、 Organization20 x=122,y=122,求,求x、y的原码、反码、补码。的原码、反码、补码。解:解: x = (122)10 = (1111010)2y = ( 122)10 = (1111010)2x原原=01111010 x反反=01111010 x补补=01111010y原原=11111010y反反=10000101y补补=10000110Principles of Computer Organization21补码表示很难直接判断其真值大小补码表示很难直接判断其真值大小如如 十进制十进制x = +21x = 21x = +31x = 31大大大大错错错错01010110

16、1011011111100001+10101 10101+11111 11111二进制二进制补码补码x + 25+10101 + 100000+11111 + 10000010101 + 10000011111 + 100000大大大大正确正确正确正确= 110101= 001011= 111111= 000001Principles of Computer Organization22x 为真值,为真值,n 为为 整数的位数整数的位数移码在数轴上的表示移码在数轴上的表示x移码移码2n+112n2n 12n00真值真值如如x = 10100 x移移 = 25 + 10100 x = 10100

17、 x移移 = 25 10100 x移移 = 2n + x(2nx 2n)= 110100= 001100Principles of Computer Organization23设设 x = +1100100 x移移 = 27 + 1100100 x补补 = 01100100设设 x = 1100100 x移移 = 27 1100100 x补补 = 10011100补码与移码只差一个符号位补码与移码只差一个符号位= 11100100= 00011100Principles of Computer Organization24当当 x = 0 时时+0移移 = 25 + 0当当 n = 5 时时

18、n = 5 时,移码的表示范围为时,移码的表示范围为000000111111= 100000= 100000= 000000 +0移移 = 0移移 100000移移 = 25 100000 最小的真值为最小的真值为 25= 100000 0移移 = 25 0 最大的真值为最大的真值为 25-1= 011111011111移移 = 25 + 011111 = 111111Principles of Computer Organization25数据四种机器表示法中:数据四种机器表示法中:(1)(1)移码表示法主要用于表示浮点数的阶码。移码表示法主要用于表示浮点数的阶码。(2)(2)补码表示对加减

19、法运算十分方便,因此目前机器补码表示对加减法运算十分方便,因此目前机器中广泛采用补码表示法。中广泛采用补码表示法。(3)(3)在一些机器中在一些机器中, ,数用补码形式表示、存储、运算。数用补码形式表示、存储、运算。 在有些机器中在有些机器中, ,数用原码进行存储和传送数用原码进行存储和传送, ,运算时运算时改用补码。改用补码。 还有些机器在做加减法时用补码运算还有些机器在做加减法时用补码运算, ,在做乘除法在做乘除法时用原码运算。时用原码运算。Principles of Computer Organization26小数点问题小数点问题定点表示(小数点位置固定,不使用定点表示(小数点位置固定

20、,不使用“.”)浮点表示(小数点位置浮动)浮点表示(小数点位置浮动)定点小数定点小数定点整数定点整数一般表示纯整数、纯小数一般表示纯整数、纯小数目前多采用定点纯整数表示,称为整数运算目前多采用定点纯整数表示,称为整数运算Principles of Computer Organization27符号位符号位小数点位置小数点位置数值部分数值部分最大数值最大数值2-12-22-32-(n-1)2-n最大数值最大数值=2-1+2-2 +2-n=1- 2-n 数的表示范围:数的表示范围:0|x| 1-2-n 最小数值最小数值=0 Principles of Computer Organization28

21、最大数值最大数值2n2n-12n-22221最大数值最大数值=21+22 +2n=2n-1 数的表示范围:数的表示范围:0|x| 2n-1 最小数值最小数值=0 符号位符号位小数点位置小数点位置数值部分数值部分Principles of Computer Organization29设机器字长设机器字长16位位,定点表示定点表示,尾数尾数15位位,数符数符1位位,问:问:定点原码整数表示时定点原码整数表示时,最大正数是多少最大正数是多少?最小负数是多少最小负数是多少?解:解: 定点原码整数表示:定点原码整数表示:最大正数:最大正数:0111 1111 1111 1111x = (215 1)1

22、0 = (32767)10最小负数:最小负数:1111 1111 1111 1111x = (215 1)10 = ( 32767)10Principles of Computer Organization30通过小数点移动改变数的大小通过小数点移动改变数的大小如:如:0.21034=0.021035N=MRE当当R=2时,时,M 尾数尾数E 阶码阶码R 基数(基值)基数(基值)N = 11.0101= 0.110101210 = 1.1010121 = 1101.012-10 = 0.001101012100 规格化数规格化数二进制表示二进制表示计算机中计算机中 M 小数、可正可负小数、可正

23、可负E 整数、可正可负整数、可正可负Principles of Computer Organization31ES E1 E2 Em MS M1 M2 Mn E 阶码阶码M 尾数尾数阶符阶符数符数符阶码的阶码的数值部分数值部分尾数的数值部分尾数的数值部分小数点位置小数点位置MS 代表浮点数的符号代表浮点数的符号n 其位数反映浮点数的精度其位数反映浮点数的精度m 其位数反映浮点数的表示范围其位数反映浮点数的表示范围ES 和和 m 共同表示小数点的实际位置共同表示小数点的实际位置Principles of Computer Organization32IEEE754 标准:标准:尾数用原码;阶码用

24、移码,基为尾数用原码;阶码用移码,基为2。 S E M31 30 23 22 032位位 S E M63 62 52 51 064位位 S: 尾数符号,尾数符号,0正正1负;负; M:尾数:尾数, 纯小数表示纯小数表示, 小数点放在尾数域的最前面。原码。小数点放在尾数域的最前面。原码。 E: 阶码,采用移码表示(移码可表示阶符)阶码,采用移码表示(移码可表示阶符); 阶符采用隐含方式,即采用移码方法来表示正负指数。阶符采用隐含方式,即采用移码方法来表示正负指数。Principles of Computer Organization33非非 “0” 的有效位最高位为的有效位最高位为 “1”(尾数

25、的绝对值尾数的绝对值 = 1/2 )一个浮点数有不同的表示:一个浮点数有不同的表示: 1.11; 0.111 21 ; 0.0111 22 ; 11.1 2-1规格化表示规格化表示:如:如:0.1000101010规格化处理规格化处理:通过尾数移位和修改阶码实现。:通过尾数移位和修改阶码实现。隐藏位技术隐藏位技术:尾数域最左位总是:尾数域最左位总是1,保存时左移去,保存时左移去掉。执行运算时恢复。掉。执行运算时恢复。如:如:0.11000101.100010Principles of Computer Organization34 x = (-1-1)s (1.) 2127 e = 127一个

26、规格化的一个规格化的32位浮点数位浮点数的真值为:的真值为: 32位浮点数格式:位浮点数格式:移码定义:移码定义: S E M31 30 23 22 0 x移移 = 2n + x(2nx 2n)一个规格化的一个规格化的64位浮点数位浮点数的真值为:的真值为: x = (-1-1)s (1.) 21023 e = 1023Principles of Computer Organization351、若浮点数、若浮点数 x 的的754标准存储格式为标准存储格式为(41360000)16,求求其其32位浮点数的十进制值。位浮点数的十进制值。解:解: 0 100 0001 0011 0110 0000

27、 0000 0000 0000 包括隐藏位包括隐藏位1的尾数:的尾数: 1.M1.011 0110 0000 0000 0000 00001.011011于是有于是有 x(1)s1.M2e (1.011011)231011.011(11.375)10指数指数e阶码阶码1271000001001111111 00000011=(3)10S阶码阶码(8位位)尾数尾数(23位位)Principles of Computer Organization362、将十进制数、将十进制数20.59375转换成转换成754标准的标准的32位浮点数位浮点数的二进制格式来存储。的二进制格式来存储。解:解: 20.5

28、937510100.10011 1.01001001124 S0,E4127131=10000011,M010010011e=4最后得到最后得到32位浮点数的二进制存储格式为位浮点数的二进制存储格式为: 0100 0001 1010 0100 1100 0000 0000 0000 (41A4C000)16 Principles of Computer Organization373、假设由、假设由S,E,M三个域组成的一个三个域组成的一个32位二进制字所表示的非位二进制字所表示的非零规格化浮点数零规格化浮点数 x ,真值表示为:真值表示为:x(1)s(1.M)2E128问:它所表示的规格化的

29、最大正数、最小正数、最大负数、最问:它所表示的规格化的最大正数、最小正数、最大负数、最小负数是多少?小负数是多少?(3)最小负数最小负数 1111 1111 1111 1111 1111 1111 1111 1111 x1(1223)2127(4)最大负数最大负数 1000 0000 0000 0000 0000 0000 0000 0000 x1.02128 解:解:(1)最大正数最大正数 0111 1111 1111 1111 1111 1111 1111 1111 x1(12-23)2127 (2)最小正数最小正数 0000 0000 0000 0000 0000 0000 0000 0

30、000 x1.02128Principles of Computer Organization38目前,大多数通用性较强的计算机都能直接处理十进目前,大多数通用性较强的计算机都能直接处理十进制形式表示的数据。制形式表示的数据。字符串形式字符串形式:一个字节存放一个十进制的数位或符号:一个字节存放一个十进制的数位或符号位。在主存中,一个十进制数占用连续的多个字节。位。在主存中,一个十进制数占用连续的多个字节。压缩的十进制数串形式压缩的十进制数串形式:一个字节存放两个十进制的:一个字节存放两个十进制的数位。每个数位占用半个字节数位。每个数位占用半个字节(即即4个二进制位个二进制位), 其值其值可用

31、二十编码可用二十编码(BCD码码)或数字符的或数字符的ASCII码的低码的低4位位表示。表示。123C012D+123-12Principles of Computer Organization39现代计算机处理:数值领域的问题和非数值领域的问现代计算机处理:数值领域的问题和非数值领域的问题。非数值领域的问题需引入文字、字母以及某些专题。非数值领域的问题需引入文字、字母以及某些专用符号,以便表示文字语言、逻辑语言等信息。用符号,以便表示文字语言、逻辑语言等信息。目前,国际上普遍采用的字符系统目前,国际上普遍采用的字符系统ASCII码码(美国美国国家信息交换标准字符码国家信息交换标准字符码)总共

32、总共128个元素个元素,7位二进制编码,加上一个偶校验位,位二进制编码,加上一个偶校验位,共共8位位一个字节。一个字节。字符串是指连续的一串字符,通常方式下,占用主存字符串是指连续的一串字符,通常方式下,占用主存中连续的多个字节,每个字节存放一个字符。中连续的多个字节,每个字节存放一个字符。Principles of Computer Organization40 ASCII 字符表0000010100111001011101110000NULDLESP0Pp0001SOHDC1!1AQaq0010STXDC22BRbr0011ETXDC3#3CScs0100EOTDC4$4DTdt0101E

33、NGNAK%5EUeu0110ACKSYN&6FVfv0111BELETB7GWgw1000BSCAN(8HXhx1001HTEM)9IYiy1010LFSUB*:JZjz1011VTESC+;Kk1100FFFS,Nn1111SIUS/?OoDEL注:H表示高3 位,L表示低4 位。HLPrinciples of Computer Organization41输入编码输入编码数字编码(国标区位码)、拼音码、字形编码数字编码(国标区位码)、拼音码、字形编码 汉字内码汉字内码用于汉字信息的存储、交换、检索等操作,一般用于汉字信息的存储、交换、检索等操作,一般采用两个字节。为了能区分汉字与采用两个

34、字节。为了能区分汉字与ASCII码,两个字节最高码,两个字节最高位均规定为位均规定为1。 汉字字模码汉字字模码用点阵表示的汉字字形代码,是汉字的输出用点阵表示的汉字字形代码,是汉字的输出形式。所谓点阵,实际上就是一组二进制数。一个形式。所谓点阵,实际上就是一组二进制数。一个m行行n列列的点阵共有的点阵共有mn个点。每个点可以是个点。每个点可以是“黑黑”(1)点或点或“白白”(0)点。点。注意:汉字的输入编码、汉字内码、字模码是计算注意:汉字的输入编码、汉字内码、字模码是计算机中用于输入、内部处理、输出三种不同用途的编机中用于输入、内部处理、输出三种不同用途的编码,不要混为一谈。码,不要混为一谈

35、。Principles of Computer Organization42元件故障、噪声干扰等因素常常引发错误。元件故障、噪声干扰等因素常常引发错误。可采用可采用专门的逻辑线路专门的逻辑线路进行编码检测、校正错误。进行编码检测、校正错误。通常的方法:在每个字上通常的方法:在每个字上添加一些校验位添加一些校验位,用来确定,用来确定字中出现错误的位置。字中出现错误的位置。常用方法:常用方法:奇偶校验码奇偶校验码 ; 海明校验与纠错码海明校验与纠错码 ;循环;循环冗余校验码冗余校验码 。Principles of Computer Organization43原理:在原理:在 k 位数据码之外增加

36、位数据码之外增加 1 位校验位,使位校验位,使 k+1 位码字中取值为位码字中取值为 1 的位数保持为的位数保持为偶数偶数(偶校验偶校验)或)或 奇数奇数(奇校验奇校验)偶校验偶校验奇校验奇校验校验位校验位0 0 0 1 0 0 0 1 1 0 0 0 1 0 0 1 0 1 0 1 0 1 0 0 1 0 1 1原有数据位原有数据位 两个新的码字两个新的码字例如:例如:Principles of Computer Organization44设设x( x0 x1xn-1 )是一个是一个n位字位字, 则则奇校验奇校验位位定义为定义为: C x0 x1 xn-1按位加按位加x中包含奇数个中包含奇

37、数个1时,时,C=1,C=0。偶校验偶校验位位定义为定义为: C x0 x1 xn-1x中包含偶数个中包含偶数个1时,时,C=0。Principles of Computer Organization45已知下表中左面一栏有已知下表中左面一栏有5个字节的数据。请分别用奇个字节的数据。请分别用奇校验和偶校验进行编码。校验和偶校验进行编码。 数据数据偶校验编码偶校验编码奇校验编码奇校验编码1 0 1 0 1 0 1 00 1 0 1 0 1 0 00 0 0 0 0 0 0 00 1 1 1 1 1 1 11 1 1 1 1 1 1 1 1 0 1 0 1 0 1 0 0 1 0 1 0 1 0

38、0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 0 1 0 1 0 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 10101010101Principles of Computer Organization46 发送:发送: x0 x1xn-1C (算出(算出C加到需发送字的后面)加到需发送字的后面) 接收:接收: x0 x1 xn-1 C 计算:计算:Fx0 x1 xn-1 C 结果:若结果:若F1,意味着收到的信息有错;,意味着收到的信息有错; 若若

39、F0,表明,表明x字传送正确。字传送正确。奇偶校验可提供单个错误检测,但无法检测多个错奇偶校验可提供单个错误检测,但无法检测多个错误,更无法识别错误信息的位置及纠正错误。误,更无法识别错误信息的位置及纠正错误。Principles of Computer Organization47一、补码加法一、补码加法三、溢出概念与检测方法三、溢出概念与检测方法二、补码减法二、补码减法四、基本的二进制加法四、基本的二进制加法/减法器减法器Principles of Computer Organization48整数整数 x补补 + y补补= x+y补补(mod 2n+1)小数小数 x补补 + y补补= x

40、+y补补(mod 2)特点:不需要事先判断符号,符号位与码值位一起参特点:不需要事先判断符号,符号位与码值位一起参加运算。符号位相加后若有进位,则舍去该进位数字。加运算。符号位相加后若有进位,则舍去该进位数字。 x 0 x 1x补补 = 2 x = 2 |x| 1 x 0(mod 2)公式证明公式证明: (以定点小数为例)(以定点小数为例)证明的先决条件:证明的先决条件:x1, y1, xy1。证明的依据:证明的依据:Principles of Computer Organization49(1) x0, y0, 则则 xy0。 x 补补 y 补补xy xy 补补(mod 2)(2) x0,

41、y0, 则则 xy0 或或 xy0 时时, 2+ (x+y) 2, 进位进位2舍去。舍去。 x补补 y补补xy xy补补 (mod 2) 当当x+y0时时, 2 + (x+y) 2, 又因又因 (x+y)0, x补补y补补2(xy)xy补补(mod 2)Principles of Computer Organization50(3) x0, 则则 xy0 或或 xy0。 证明同证明同(2)(4) x0, y0, 则则 xy0。 相加两数都是负数相加两数都是负数, ,则其和也一定是负数。则其和也一定是负数。x补补2x, y补补2yx补补 y补补2x2y2(2xy) 因为因为|xy|1, 1(2x

42、y)2,进位进位2必丢失。必丢失。 又因又因x+y0,故故 x补补 y补补2(xy) xy补补(mod 2)Principles of Computer Organization51在模在模2意义下,意义下,任意两数的补码之和等于该两数之和任意两数的补码之和等于该两数之和的补码的补码。其结论也适用于定点整数。其结论也适用于定点整数。补码加法的特点:补码加法的特点: (1)符号位要作为数的一部分一起参加运算;)符号位要作为数的一部分一起参加运算; (2)在模)在模2的意义下相加,即大于的意义下相加,即大于2的进位要丢掉。的进位要丢掉。Principles of Computer Organiza

43、tion521、x0.1001, y0.0101, 求求 xy。解解: x补补0.1001, y补补0.0101 x补补0.1001 y补补 0.0101 xy 补补 0.1110所以所以 xy0.1110 Principles of Computer Organization532、x0.1011, y0.0101, 求求 xy。所以所以 xy0.0110解解: x补补0.1011,y补补1.1011 x补补0.1011y补补1.1011 xy补补 1 0.0110 Principles of Computer Organization543、x1011, y0101, 求求 xy。所以所以

44、 xy 0110解解: x补补01011,y补补11011 x补补01011y补补11011 xy补补 1 00110 Principles of Computer Organization55 xy = x+(y )整数整数 x y补补= x补补y补补= x补补 + y补补(mod 2n+1)小数小数 x y补补= x补补y补补(mod 2)公式证明:公式证明: y补补 y补补= x补补 + y补补 y补补+ y补补= y + (y)补补 = 0补补 = 0 故故 y补补= y补补由由y补补求求 y补补的法则是:包括符号位的法则是:包括符号位“求反末位加求反末位加1”。Principles

45、of Computer Organization561、已知、已知: x1 = 0.1110, x2 = + 0.1101, 求:求:x1补补, x1补补, x2补补, x2补补。解解: x1补补 = 0.1110补补= 1.0010 x1补补 = 0.1110补补= 0.1110 x2补补 = + 0.1101补补= 0.1101 x2补补= 0.1101补补= 1.0011Principles of Computer Organization572、x = + 0.1101, y = + 0.0110, 求求 x y。解解:x补补 = 0.1101 y补补 = 0.0110, y补补 =

46、1.1010 x补补 0.1101 + y补补 1.1010 x y补补 1 0.0111 所以所以x y = + 0.0111Principles of Computer Organization583、x = 0.1101, y = 0.0110, 求求 x y。解解:x补补 = 1.0011 y补补 = 1.1010, y补补 = 0.0110 x补补 1.0011 + y补补 0.0110 x y补补 1.1001 所以所以x y = 0.0111Principles of Computer Organization59在定点小数机器中,数的表示范围为在定点小数机器中,数的表示范围为|

47、1。在运算。在运算过程中如出现大于过程中如出现大于1的现象的现象,称为称为 “溢出溢出”。机器定点小数表示机器定点小数表示上溢上溢下溢下溢例如:例如:x=+0.1011, y=+0.1001, x+y=1.0100;正溢正溢x= 0.1101, y= 0.1011,x+y=0.1000;负溢负溢Principles of Computer Organization60(1) 双符号位法(变形补码双符号位法(变形补码/模模4补码)补码)x补补 = x 1 x 0 4 + x 0 x 1(mod 4)x补补 + y补补 = x + y 补补 (mod 4)x y补补 = x补补 + y补补 (mo

48、d 4)结果的双符号位结果的双符号位 相同相同 未溢出未溢出结果的双符号位结果的双符号位 不同不同 溢出溢出最高符号位最高符号位 代表其代表其 真正的符号真正的符号00. 11. 10. 01. Principles of Computer Organization611、x = + 0.1100, y = + 0.1000, 求求 x + y。 解:解: x补补= 00.1100 y补补= 00.1000 x+y补补 = x补补 + y补补 = 00.1100 + 00.1000 = 01.1000 两个符号位出现两个符号位出现“01”,表示已正溢出,即结果大于,表示已正溢出,即结果大于+1

49、。2、x = 0.1100, y = 0.1000, 求求 x + y。 解:解: x补补=11.0100 y补补=11.1000 x+y补补 = x补补 + y补补 = 11.0100 + 11.1000 = 10.1100 两个符号位出现两个符号位出现“10”,表示已负溢出,即结果小于,表示已负溢出,即结果小于1。Principles of Computer Organization62(2) 单符号位法单符号位法硬件实现硬件实现最高有效位的进位最高有效位的进位 符号位的进位符号位的进位 = 1溢出溢出 x补补 0 0. 1 1 0 0+y补补 0 0. 1 0 0 0 0 1. 1 0

50、0 0 x补补 1 1.0 1 0 0+y补补 1 1.1 0 0 0 1 0.1 1 0 0溢出溢出:最高有效位溢出(正溢)或符号位溢出(负溢):最高有效位溢出(正溢)或符号位溢出(负溢)正数相加为负数或负数相加为正数则产生溢出正数相加为负数或负数相加为正数则产生溢出(结果符号与操作数符号不同)(结果符号与操作数符号不同)Principles of Computer Organization63“1/0”逻辑属性逻辑属性“有有/无无”、“真真/假假”、“是是/非非”逻辑运算:逻辑运算:与与(全(全1为为1)、)、或或(有(有1为为1)、)、非非交换律:交换律:A+B=B+A AB=BA结合律

51、:结合律:A+(B+C)=(A+B)+C A(BC)=(AB)C分配律:分配律:A+BC=(A+B)(A+C) A(B+C)=AB+AC吸收律:吸收律:A+AB=A A(A+B)=A第二吸收律:第二吸收律:A+AB=A+B A(A+B)=ABPrinciples of Computer Organization64重叠律:重叠律:A+A=A AA=A0-1律:律:0+A=A 1A=A 0A=0 1+A=1互补律:互补律:A+A=1 AA=0反演律:反演律:A+B=AB AB=A+B包含律:包含律:AB+AC+BC=AB+AC (A+B)(A+C)(B+C)=(A+B)(A+C)Principl

52、es of Computer Organization65Principles of Computer Organization66一位全加器真值表一位全加器真值表输入输入输出输出AiBiCiSiCi10000000110010100110110010101011100111111加法运算:加法运算:Ai + Bi + Ci = Si (Ci+1)加数加数进位输入进位输入 和和 进位输出进位输出SiAi Bi CiCi1AiBiBiCiCiAiCi1= = AiBi (Ci (Ai Bi)Principles of Computer Organization67一位全加器逻辑图一位全加器逻辑图

53、SiAi Bi CiCi1AiBiBiCiCiAiCi1= = AiBi (Ci (Ai Bi)与非门与非门异或门异或门 n个个1位的全加器位的全加器( (FA) )可级联成一可级联成一个个n位的行波进位加减器。位的行波进位加减器。一位全加器逻辑符号一位全加器逻辑符号Principles of Computer Organization68加法运算加法运算M=0;减法运算减法运算 M=1, AB=A补补+ B补补;求补过程由求补过程由B1来实现;来实现;溢出检测溢出检测:单符号位法。:单符号位法。Principles of Computer Organization69ta = n2T+9T

54、= (2n+9)T(1) 对对一位全加器一位全加器(FA)来说,来说,Si的时间延迟为的时间延迟为6T(每级异或门延每级异或门延 迟迟3T);Ci1的时间延迟为的时间延迟为5T。T3T(2) n位行波进位加法器位行波进位加法器的延迟时间的延迟时间ta为为:考虑溢出检测时,有:考虑溢出检测时,有: 9T为为最低位上的两极最低位上的两极“异或异或”门再加上门再加上溢出溢出“异或异或”门的总时间;门的总时间; 2T为每级进位链的延迟时间。为每级进位链的延迟时间。 ta为在加法器的输入端输入加数和被加数后为在加法器的输入端输入加数和被加数后,在最坏的情况下加在最坏的情况下加法器输出端得到稳定的求和输出

55、所需要的最长时间。越小越好。法器输出端得到稳定的求和输出所需要的最长时间。越小越好。Principles of Computer Organization700Bi,Ai(i=0,1,2,n-1)C0输入输入3T所有所有Bi与与M异或异或完毕进入完毕进入FA完成必需的第完成必需的第0级级FA的的A0 B0, 同时也完成同时也完成了了Ai Bi (i=1,2,n-1)3T2TC1C2C32T2T3T3T3TCn-1Cn2T3TS0S1S2Sn-13T异或门检测输出异或门检测输出tan2T9T(2n9)TPrinciples of Computer Organization71C1C2C3Cn-2

56、Cn-10Bi,Ai(i=0,1,2,n-1)C0输入输入3T所有所有Bi与与M异或异或完毕进入完毕进入FA完成必需的第完成必需的第0级级FA的的A0 B0, 同时也完成同时也完成了了Ai Bi (i=1,2,n-1)3T2T2T2T3T3T3T2T3TS0S1S2Sn-1ta(n-1)2T9TPrinciples of Computer Organization72一、原码一位乘法一、原码一位乘法三、原码并行乘法三、原码并行乘法二、补码一位乘法二、补码一位乘法四、补码并行乘法四、补码并行乘法Principles of Computer Organization73A = 0.1101 B =

57、 0.1011AB = 0.100011110 . 1 1 0 10 . 1 0 1 11 1 0 11 1 0 10 0 0 01 1 0 10 . 1 0 0 0 1 1 1 1符号位单独处理符号位单独处理乘数的某一位决定是否加被乘数乘数的某一位决定是否加被乘数 4个位积一起相加个位积一起相加乘积的位数扩大一倍乘积的位数扩大一倍乘积的符号心算求得乘积的符号心算求得 ?Principles of Computer Organization74A B = A 0.1011= 0.1A + 0.00A + 0.001A +0.0001A= 0.1A + 0.00A + 0.001( A +0.1

58、A)= 0.1A + 0.010 A + 0. 1( A +0.1A)= 0.1A +0.1 0 A+0.1(A + 0.1A)= 2-1A +2-1 0 A+2-1(A + 2-1(A+0)第一步第一步 被乘数被乘数A + 0第二步第二步 右移右移 一一 位,得新的部分积位,得新的部分积第八步第八步 右移右移 一一 位,得结果位,得结果第三步第三步 部分积部分积 + 被乘数被乘数右移一位右移一位Principles of Computer Organization750 . 0 0 0 00 . 1 1 0 10 . 1 1 0 10 . 1 1 0 10 . 0 0 0 00 . 1 1

59、0 1初态,部分积初态,部分积 = 0乘数为乘数为 1,加被乘数,加被乘数乘数为乘数为 1,加被乘数,加被乘数乘数为乘数为 0,加,加 01 . 0 0 1 10 . 1 0 0 11 . 0 0 0 1乘数为乘数为 1,加,加 被乘数被乘数0 . 1 0 0 01 1 1 11,得结果,得结果1 0 1 1=0 . 0 1 1 01,形成新的部分积,形成新的部分积1 1 0 1=0 . 1 0 0 11,形成新的部分积,形成新的部分积1 1 1 0=0 . 0 1 0 01,形成新的部分积,形成新的部分积1 1 1 1= 部部 分分 积积 乘乘 数数 说说 明明Principles of C

60、omputer Organization76 被乘数只与部分积的高位相加被乘数只与部分积的高位相加 由乘数的末位决定被乘数是否与原部分积相加,由乘数的末位决定被乘数是否与原部分积相加, 然后然后 1 位形成新的部分积位形成新的部分积,同时,同时 乘数乘数 1位位(末位移丢),空出高位存放部分积的低位。(末位移丢),空出高位存放部分积的低位。硬件硬件3个寄存器,具有移位功能个寄存器,具有移位功能1个全加器个全加器 乘法乘法 运算可用运算可用 加和移位实现加和移位实现n = 4,加加 4 次次,移移 4 次次Principles of Computer Organization77以小数为例以小数

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论