




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第六章 计算机的运算方法,6.1 无符号数和有符号数,6.3 定点运算,6.2 数的定点表示和浮点表示,6.4 浮点四则运算,6.5 算术逻辑单元,6.6 时序逻辑电路,6.6 数据校验码,2,一、考试范围,(一)数制和编码 进位计数制及其转换、真值和机器数、BCD码、字符和字符串、校验码。 (二)定点数的表示和运算 1、定点数的表示(有符号、无符号) 2、定点数的运算 移位运算;加减运算(原码、补码);乘/除运算;溢出概念和判别方法。,3,一、考试范围,(三)浮点数的表示和运算 1、浮点数的表示范围;IEEE754标准 2、浮点数的加/减运算(单选题) (四)算术逻辑单元ALU 1、串行加法
2、器和并行加法器 2、算术逻辑单元的功能和结构,4,二、复习要点,了解进位数制及其相互转换、字符(包括汉字)、字符串和BCD数在计算机中的表示 了解校验码引入的目的、原理及其应用 理解本章的基本概念,如机器数、真值、最小码距、并行进位。 理解定点数的表示原理,掌握定点数的运算、溢出的概念与判别方法,了解阵列乘法器。 理解浮点数的表示,掌握浮点数的加减运算方法。 理解算术逻辑单元相关术语的定义、ALU的基本功能、组成和结构。,一、无符号数,8 位 0 255,16 位 0 65535,6.1 无符号数和有符号数,带符号的数 符号数字化的数,+ 0.1011,+ 1100, 1100, 0.1011
3、,真值 机器数,1. 机器数与真值,二、有符号数,6.1 无符号数和有符号数,2. 原码表示法,带符号的绝对值表示,(1) 定义,整数,x 为真值,n 为整数的位数,如,x = +1110,x原 = 0 , 1110,x原 = 24 + 1110 = 1 , 1110,用 逗号 将符号位 和数值位隔开,6.1 无符号数和有符号数,小数,x 为真值,如,x = + 0.1101,x原 = 0 . 1101,x = + 0.1000000,x原 = 0 . 1000000,用 小数点 将符号 位和数值位隔开,用 小数点 将符号 位和数值位隔开,6.1 无符号数和有符号数,(2) 举例,例 6.1
4、已知 x原 = 1.0011 求 x,解:,例 6.2 已知 x原 = 1,1100 求 x,解:,0.0011,1100,由定义得,由定义得,6.1 无符号数和有符号数,例 6.4 求 x = 0 的原码,解:,设 x = +0.0000,例 6.3 已知 x原 = 0.1101 求 x,解:, x = + 0.1101,同理,对于整数,+ 0原 = 0,0000,+0.0000原 = 0.0000,根据 定义 x原 = 0.1101,6.1 无符号数和有符号数,但是用原码做加法时,会出现如下问题:,能否 只做加法 ?,加法 正 正,加,加法 正 负,加法 负 正,加法 负 负,减,减,加,
5、正,可正可负,可正可负,负,6.1 无符号数和有符号数,(1) 补的概念,时钟,逆时针,顺时针,3. 补码表示法,时钟以 12为模,称 + 9 是 3 以 12 为模的补数,6.1 无符号数和有符号数,结论,一个负数加上 “模” 即得该负数的补数,两个互为补数的数 它们绝对值之和即为 模 数,计数器(模 16), 1011,1011,0000,+ 0101,1011,10000,6.1 无符号数和有符号数,(mod24),(2) 正数的补数即为其本身,两个互为补数的数,分别加上模,结果仍互为补数, + 0101 + 0101,+ 0101,24+1 1011,1,0101,用 逗号 将符号位
6、和数值位隔开,(mod24),可见,?,+ 0101,0101,0101,1011,0101,+,(mod24+1),100000,=,6.1 无符号数和有符号数,(3) 补码定义,整数,x 为真值,n 为整数的位数,如,x = +1010,= 100000000,x补 = 0,1010,1,0101000,用 逗号 将符号位 和数值位隔开,6.1 无符号数和有符号数,小数,x 为真值,x = + 0.1110,如,x补 = 0.1110,1.0100000,= 10.0000000,6.1 无符号数和有符号数,(4) 求补码的快捷方式,= 100000,= 1,0110,10101 + 1,
7、= 1,0110,又x原 = 1,1010,+ 1,6.1 无符号数和有符号数,(5) 举例,解:,x = + 0.0001,解:由定义得,x = x补 2,= 1.0001 10.0000,x原 = 1.1111,由定义得,6.1 无符号数和有符号数,例 6.7,解:,x = x补 24+1,= 1,1110 100000,x原 = 1,0010,由定义得,6.1 无符号数和有符号数,真值,0, 1000110,1, 0111010,0.1110,1.0010,0.0000,0.0000,1.0000,0,1000110,1,1000110,0.1110,1.1110,0.0000,1.00
8、00,不能表示,练习,求下列真值的补码,由小数补码定义,= 1000110,= 1000110,x补 x原,6.1 无符号数和有符号数,4. 反码表示法,(1) 定义,整数,如,x = +1101,x反 = 0,1101,= 1,0010,x 为真值,n 为整数的位数,6.1 无符号数和有符号数,小数,x = +0.1101,x反 = 0.1101,= 1.0101,如,x 为真值,6.1 无符号数和有符号数,(2) 举例,例 6.10 求 0 的反码,设 x = +0.0000,x = 0.0000,+0.0000反= 0.0000, 0.0000反= 1.1111, + 0反 0反,解:,
9、同理,对于整数,+0反= 0,0000, 0反= 1,1111,例6.9 已知 x反 = 1,1110 求 x,= 1,1110 11111,= 0001,例6.8 已知 x反 = 0,1110 求 x,解:,由定义得 x = + 1110,解:,6.1 无符号数和有符号数,三种机器数的小结,对于正数,原码 = 补码 = 反码,6.1 无符号数和有符号数,例6.11,-0,-1,-128,-127,-127,-126,-3,-2,-1,设机器数字长为 8 位(其中一位为符号位)对于整数,当其分别代表无符号数、原码、补码和反码时,对应的真值范围各为多少?,6.1 无符号数和有符号数,例6.12,
10、解:,6.1 无符号数和有符号数,5. 移码表示法,补码表示很难直接判断其真值大小,如,十进制,x + 25,+10101 + 100000,+11111 + 100000,错,错,正确,正确,0,10101,1,01011,0,11111,1,00001,+10101, 10101,+11111, 11111,= 110101,= 001011,= 111111,= 000001,二进制,补码,6.1 无符号数和有符号数,(1) 移码定义,x 为真值,n 为 整数的位数,移码在数轴上的表示,如,x = 10100,x移 = 25 + 10100,用 逗号 将符号位 和数值位隔开,x = 10
11、100,x移 = 25 10100,= 1,10100,= 0,01100,6.1 无符号数和有符号数,(2) 移码和补码的比较,设 x = +1100100,x移 = 27 + 1100100,x补 = 0,1100100,设 x = 1100100,x移 = 27 1100100,x补 = 1,0011100,补码与移码只差一个符号位,= 1,1100100,= 0,0011100,1,0,0,1,6.1 无符号数和有符号数,(3) 真值、补码和移码的对照表,- 1 0 0 0 0 0, 0 0 0 0 0,+ 1 1 1 1 1,0 0 0 0 0 0,1 1 1 1 1 1,0 0 0
12、 0 0 0,1 0 0 0 0 0,6.1 无符号数和有符号数,当 x = 0 时,+0移 = 25 + 0, 0移 = 25 0, +0移 = 0移,当 n = 5 时,最小的真值为 25, 100000移,可见,最小真值的移码为全 0,(4) 移码的特点,用移码表示浮点数的阶码,能方便地判断浮点数的阶码大小,= 1,00000,= 1,00000,= 100000,= 000000,= 25100000,6.1 无符号数和有符号数,小数点按约定方式标出,一、定点表示,定点机,小数定点机,整数定点机,原码,补码,反码,(1 2-n) +(1 2-n),(2n 1) +( 2n 1), 1
13、+(1 2-n), 2n +( 2n 1),(1 2-n) +(1 2-n),(2n 1) +( 2n 1),6.2 数的定点表示和浮点表示,二、浮点表示,计算机中 r 取 2、4、8、16 等,当 r = 2,N = 11.0101,= 0.110101210,= 1.1010121,= 1101.012-10,= 0.001101012100,计算机中 S 小数、可正可负,j 整数、可正可负,规格化数,6.2 数的定点表示和浮点表示,1. 浮点数的表示形式,Sf 代表浮点数的符号,n 其位数反映浮点数的精度,m 其位数反映浮点数的表示范围,jf 和 m 共同表示小数点的实际位置,6.2 数
14、的定点表示和浮点表示,2. 浮点数的表示范围,2( 2m1)( 1 2n),2( 2m1)2n,2( 2m1)( 1 2n),2( 2m1)2n,215 ( 1 2-10),2-15 2-10,2-15 2-10,215 ( 1 2-10),上溢 阶码 最大阶玛 下溢 阶码 最小阶码 按 机器零 处理,6.2 数的定点表示和浮点表示,练习,设机器数字长为 24 位,欲表示3万的十进制数,试问在保证数的最大精度的前提下,除阶符、数符各 取1 位外,阶码、尾数各取几位?,满足 最大精度 可取 m = 4,n = 18,解:,6.2 数的定点表示和浮点表示,3. 浮点数的规格化形式,r = 2,尾数
15、最高位为 1,r = 4,尾数最高 2 位不全为 0,r = 8,尾数最高 3 位不全为 0,4. 浮点数的规格化,基数不同,浮点数的 规格化形式不同,r = 2,左规 尾数左移 1 位,阶码减 1,右规 尾数右移 1 位,阶码加 1,r = 4,左规 尾数左移 2 位,阶码减 1,右规 尾数右移 2 位,阶码加 1,r = 8,左规 尾数左移 3 位,阶码减 1,右规 尾数右移 3 位,阶码加 1,基数 r 越大,可表示的浮点数的范围越大,基数 r 越大,浮点数的精度降低,6.2 数的定点表示和浮点表示,例如:,最大正数,= 215( 1210 ),最小正数,最大负数,最小负数,= 2152
16、1,= 215( 12 10 ),= 216,= 21521,= 216,设 m = 4,n = 10,尾数规格化后的浮点数表示范围,6.2 数的定点表示和浮点表示,解:,二进制形式,定点表示,浮点规格化形式,x原 = 1, 0010; 0. 1001100000,x补 = 1, 1110; 0. 1001100000,x反 = 1, 1101; 0. 1001100000,定点机中,浮点机中,000,x = 0.0010011,x = 0.0010011,x = 0.10011000002-10,x原 = x补 = x反 = 0.0010011000,6.2 数的定点表示和浮点表示,x =
17、111010,0000,例 6.14,将 58 表示成二进制定点数和浮点数,并写出它在定点机和浮点机中的三种机器数及阶码为移码,尾数为补码的形式(其他要求同上例)。,解:,设 x = 58,二进制形式,定点表示,浮点规格化形式,x原 = 1, 0000111010,x补 = 1, 1111000110,x反 = 1, 1111000101,x原 = 0, 0110; 1. 1110100000,x补 = 0, 0110; 1. 0001100000,x反 = 0, 0110; 1. 0001011111,定点机中,浮点机中,x阶移、尾补 = 1, 0110; 1. 0001100000,x =
18、 111010,x = (0.1110100000) 2110,6.2 数的定点表示和浮点表示,例6.15,写出对应下图所示的浮点数的补码形式。 设 n = 10,m = 4, 阶符、数符各取 1位。,解:,真值,最大正数,最小正数,最大负数,最小负数,215(1 210),215 210,215 210,215(1 210),0,1111; 0.1111111111,1,0001; 0.0000000001,1,0001; 1.1111111111,0,1111; 1.0000000001,补码,6.2 数的定点表示和浮点表示,当浮点数 尾数为 0 时,不论其阶码为何值 按机器零处理,机器零
19、,当浮点数 阶码等于或小于它所表示的最小 数 时,不论尾数为何值,按机器零处理,如 m = 4 n = 10,当阶码用移码,尾数用补码表示时,机器零为,有利于机器中“ 判 0 ” 电路的实现,当阶码和尾数都用补码表示时,机器零为,6.2 数的定点表示和浮点表示,四、IEEE 754 标准,符号位 S 阶码 尾数 总位数,1 8 23 32,1 11 52 64,1 15 64 80,尾数为规格化原码表示 ,阶码用移码表示,非 “0” 的有效位最高位为 “1”(隐含),6.2 数的定点表示和浮点表示,6.2 数的定点表示和浮点表示,浮点数尾数不为0时的最高位称隐藏位,在写入内存或磁盘时,此位不保
20、存,可左移尾数隐藏掉,这种处理技术称隐藏位技术,目的多保存一个二进制位,隐藏位与隐藏技术,为了保持浮点数的值不变,还要把原来的阶码值减1.,对临时浮点数不使用隐藏位技术,短浮点数规格化实际值:(-1)s1.M2e-127,E的取值为1254,6.3 定 点 运 算,一、移位运算,1. 移位的意义,15 米 = 1500 厘米,小数点右移 2 位,机器用语,左移 绝对值扩大,右移 绝对值缩小,在计算机中,移位与加减配合,能够实现乘除运算,2. 算术移位规则,1,右移 添 1,左移 添 0,0,反 码,补 码,原 码,负数,0,原码、补码、反码,正数,添补代码,码 制,符号位不变,6.3 定 点
21、运 算,例6.16,设机器数字长为 8 位(含一位符号位),写出 A = +26时,三种机器数左、右移一位和两位后的表示形式及对应的真值,并分析结果的正确性。,解:,A = +26,则 A原 = A补 = A反 = 0,0011010,+ 6,0,0000110,+13,0,0001101,+104,0,1101000,+ 52,0,0110100,+26,0,0011010,移位前,= +11010,6.3 定 点 运 算,例6.17,设机器数字长为 8 位(含一位符号位),写出 A = 26时,三种机器数左、右移一位和两位后的表示形式及对应的真值,并分析结果的正确性。,解:,A = 26,
22、 6,1,0000110, 13,1,0001101, 104,1,1101000, 52,1,0110100, 26,1,0011010,移位前,原码,= 11010,6.3 定 点 运 算, 6,1,1111001, 13,1,1110010, 104,1,0010111, 52,1,1001011, 26,1,1100101,移位前, 7,1,1111001, 13,1,1110011, 104,1,0011000, 52,1,1001100, 26,1,1100110,移位前,补码,反码,6.3 定 点 运 算,3. 算术移位的硬件实现,(a)真值为正,(b)负数的原码,(c)负数的补
23、码,(d)负数的反码,出错,影响精度,出错,影响精度,正确,影响精度,正确,正确,6.3 定 点 运 算,4. 算术移位和逻辑移位的区别,算术移位,有符号数的移位,逻辑左移,逻辑右移,低位添 0,高位移丢,高位添 0,低位移丢,例如 01010011,逻辑左移,10100110,逻辑右移,01011001,算术左移,算术右移,00100110,11011001(补码),高位 1 移丢,10110010,逻辑移位,无符号数的移位,6.3 定 点 运 算,二、加减法运算,1. 补码加减运算公式,(1) 加法,(2) 减法,整数,A补 + B补,= A+B补(mod 2n+1),小数,A补 + B补
24、,= A+B补(mod 2),整数,A B补,= A+(B )补,= A补 + B补,(mod 2n+1),小数,A B补,= A+(B )补,(mod 2),连同符号位一起相加,符号位产生的进位自然丢掉,= A补 + B补,6.3 定 点 运 算,2. 举例,解:,A补,B补,A补 + B补,+,= 0 . 1 0 1 1,= 1 . 1 0 1 1,= 1 0 . 0 1 1 0,= A + B补,验证,0.1011, 0.0101,0.0110, A + B = 0 . 0 1 1 0,A补,B补,A补 + B补,+,= 1 , 0 1 1 1,= 1 , 1 0 1 1,= 1 1 ,
25、 0 0 1 0,= A + B补,验证, 1001, 1110,解:, A + B = 1110,6.3 定 点 运 算,例 6.20,设机器数字长为 8 位(含 1 位符号位) 且 A = 15, B = 24,用补码求 A B,解:,A补 + B补,+,= 1, 1110111,= A B补,B补 = 0, 0011000, A B = 1001 = 9,错,6.3 定 点 运 算,3. 溢出判断,(1)对于无符号数,6.3 定 点 运 算,C=1,则必溢出,C=0,则不溢出。,(2)对于带符号数,1双进位判断法,X7X6X5X4X3X2X1X0 + Y7Y6Y5Y4Y3Y2Y1Y0,C
26、7 C6,2双符号判断法,变型补码:双符号位的补码,6.3 定 点 运 算,变型补码求法:在补码的前边再添上一个相同的符号值。,例如:x补=1 1111111B,则x变补=11 111111B,对八位机,f7f6(符号位),若运算后, f7f6=00或11,不溢出 01 , 上溢 10, 下溢,例:已知x=-63,y=-2,x-y补=?判断溢出?,解: -63变补=11 000001B + -2变补=11 111110B,10 111111B,下溢,4. 补码加减法的硬件配置,6.3 定 点 运 算,三、乘法运算,1. 分析笔算乘法,A = 0.1101 B = 0.1011,AB = 0.1
27、0001111,0 . 1 1 0 1,0 . 1 0 1 1,1 1 0 1,1 1 0 1,0 0 0 0,1 1 0 1,0 . 1 0 0 0 1 1 1 1,符号位单独处理,乘数的某一位决定是否加被乘数,4个位积一起相加,乘积的位数扩大一倍,乘积的符号心算求得,?,6.3 定 点 运 算,2. 笔算乘法改进,A B = A 0.1011,= 0.1A + 0.00A + 0.001A +0.0001A,= 0.1A + 0.00A + 0.001( A +0.1A),= 0.1A + 0.010 A + 0. 1( A +0.1A),= 0.1A +0.1 0 A+0.1(A + 0
28、.1A),= 2-1A +2-1 0 A+2-1(A + 2-1(A+0),第一步 被乘数A + 0,第三步 部分积 + 被乘数,6.3 定 点 运 算,3. 改进后的笔算乘法过程(竖式),0 . 0 0 0 0,0 . 1 1 0 1,0 . 1 1 0 1,0 . 1 1 0 1,0 . 0 0 0 0,0 . 1 1 0 1,初态,部分积 = 0,乘数为 1,加被乘数,乘数为 1,加被乘数,乘数为 0,加 0,乘数为 1,加 被乘数,6.3 定 点 运 算,小结,被乘数只与部分积的高位相加,硬件,3个寄存器,具有移位功能,一个全加器,6.3 定 点 运 算,4. 原码乘法,(1) 原码一
29、位乘运算规则,以小数为例,数值部分为绝对值相乘 x* y*,6.3 定 点 运 算,(2) 原码一位乘递推公式,z0,6.3 定 点 运 算,例6.21,已知 x = 0.1110 y = 0.1101 求x y原,解:,0 . 0 0 0 0,0 . 1 1 1 0,0 . 0 0 0 0,0 . 1 1 1 0,0 . 1 1 1 0,部分积 初态 z0 = 0,逻辑右移,逻辑右移,6.3 定 点 运 算, 数值部分按绝对值相乘,x* y* = 0. 1 0 1 1 0 1 1 0,则 x y原 = 1. 1 0 1 1 0 1 1 0,特点,绝对值运算,逻辑移位,例6.21 结果,用移位
30、的次数判断乘法是否结束,6.3 定 点 运 算,(3) 原码一位乘的硬件配置,6.3 定 点 运 算,(4) 原码两位乘,原码乘,符号位 和 数值位 部分 分开运算,两位乘,每次用 乘数的 2 位判断 原部分积 是否加 和 如何加 被乘数,1 1,1 0,0 1,0 0,3 ?,先 减 1 倍 的被乘数 再 加 4 倍 的被乘数,6.3 定 点 运 算,(5) 原码两位乘运算规则,6.3 定 点 运 算,例6.22,已知 x = 0.111111 y = 0.111001 求xy原,0 0 0 . 0 0 0 0 0 0,0 0 0 . 1 1 1 1 1 1,0 0 0 . 1 1 1 1
31、1 1,0 0 . 1 1 1 0 0 1,0,初态 z0 = 0,+ x*, Cj = 0,0 0 1 . 1 1 1 1 1 0,+ 2x*,Cj = 0,1 1 1 . 0 0 0 0 0 1, x*, Cj = 1,0 0 0 . 1 1 1 1 1 1,+ x*, Cj = 0,0,0,1,补码右移,补码右移,解:,6.3 定 点 运 算, 数值部分的运算,x* y* = 0. 1 1 1 0 0 0 0 0 0 1 1 1,则 x y原 = 1. 1 1 1 0 0 0 0 0 0 1 1 1,例6.22 结果,特点,绝对值的补码运算,算术移位,用移位的次数判断乘法是否结束,6.3
32、 定 点 运 算,(6) 原码两位乘和原码一位乘比较,绝对值,绝对值的补码,逻辑右移,算术右移,n,n,思考 n 为奇数时,原码两位乘 移 ?次,最多加 ?次,6.3 定 点 运 算,5. 补码乘法,设 被乘数,乘数, 被乘数任意,乘数为正,同原码乘,但 加 和 移位 按 补码规则 运算,乘积的符号自然形成, 被乘数任意,乘数为负,乘数y补,去掉符号位,操作同 ,最后 加x补,校正,(1) 补码一位乘运算规则,以小数为例,6.3 定 点 运 算, Booth 算法,(被乘数、乘数符号任意),x y补,2-1,2-2,附加位 yn+1,6.3 定 点 运 算, Booth 算法递推公式,z0补=
33、 0,z1补= 2-1(yn+1yn)x补+z0补 yn+1 = 0,zn补= 2-1(y2y1)x补+zn-1补,x y补= zn补+(y1y0)x补,最后一步不移位,如何实现 yi+1yi ?,0 0,0 1,1 0,1 1,0,1,-1,0,6.3 定 点 运 算,例6.23,已知 x = +0.0011 y = 0.1011 求xy补,解:,0 0 . 0 0 0 0,1 1 . 1 1 0 1,1 1 . 1 1 0 1,0 0 . 0 0 1 1,1 1 . 1 1 0 1,0 0 . 0 0 1 1,1 1 . 1 1 0 1,1 . 0 1 0 1,0,x补 = 0.0011,
34、y补 = 1.0101,x补 = 1.1101,+x补,+x补,+x补,+x补,+x补, xy补 =1.11011111,最后一步不移位,6.3 定 点 运 算,(2) Booth 算法的硬件配置,6.3 定 点 运 算,乘法小结,原码乘 符号位 单独处理 补码乘 符号位 自然形成,原码乘去掉符号位运算 即为无符号数乘法,不同的乘法运算需有不同的硬件支持,整数乘法与小数乘法完全相同 可用 逗号 代替小数点,6.3 定 点 运 算,四、除法运算,1. 分析笔算除法,x = 0.1011 y = 0.1101 求 xy,0 . 1 0 1 1,0 . 1 1 0 1,0 . 0 1 1 0 1,0
35、 . 0 1 0 0 1,0 . 0 0 1 1 0 1,0 . 0 0 0 1 0 1,0 . 0 0 0 0 1 1 0 1,0 . 0 0 0 0 0 1 1 1,1,商符单独处理,心算上商,余数不动低位补“0” 减右移一位的除数,上商位置不固定,商符心算求得,0,0 .,1,0,1,0,0,0,?,?,?,6.3 定 点 运 算,2. 笔算除法和机器除法的比较,商符单独处理,心算上商,符号位异或形成,| x | | y | 0 上商 1,| x | | y | 0 上商 0,2 倍字长加法器,上商位置 不固定,1 倍字长加法器,在寄存器 最末位上商,6.3 定 点 运 算,3. 原码除
36、法,以小数为例,被除数不等于 0,除数不能为 0,小数定点除法 x* y*,约定,6.3 定 点 运 算,(1) 恢复余数法,0 . 1 0 1 1,1 . 0 0 1 1,1 . 0 0 1 1,1 . 0 0 1 1,0 . 0 0 0 0,+ y*补,0,0 . 1 1 0 1,恢复余数,+ y*补,+y*补,解:,x原 = 1.1011 y原 = 1.1101,1,+y*补,y*补 = 0.1101 y*补 = 1.0011,逻辑左移,逻辑左移,6.3 定 点 运 算,1 . 0 0 1 1,0 . 1 1 0 1,1 . 0 0 1 1,+ y*补,恢复余数,+ y*补,上商 5 次
37、,第一次上商判溢出,余数为正 上商 1,余数为负 上商 0,恢复余数,移 4 次,1,0,1,+y*补,逻辑左移,6.3 定 点 运 算,(2) 不恢复余数法,余数 Ri0 上商 “1”,2Ri y*,余数 Ri0 上商 “0”, Ri + y* 恢复余数,2( Ri+y*) y* = 2Ri + y*,加减交替,恢复余数法运算规则,不恢复余数法运算规则,上商“1” 2Ri y*,上商“0” 2Ri + y*,(加减交替法),6.3 定 点 运 算,解:,例6.25,0 . 1 0 1 1,1 . 0 0 1 1,0 . 1 1 0 1,1 . 0 0 1 1,1 . 0 0 1 1,0 .
38、1 1 0 1,0 . 0 0 0 0,+ y*补,0,+y*补,+ y*补,+ y*补,+y*补,x原 = 1.1011,y*补 = 0.1101,y*补 = 1.0011,y原 = 1.1101,1,1,0,1,逻辑左移,6.3 定 点 运 算,上商 n+1 次,例6.25 结果,特点,用移位的次数判断除法是否结束,第一次上商判溢出,移 n 次,加 n+1 次,6.3 定 点 运 算,(3) 原码加减交替除法硬件配置,A、X、Q 均 n +1 位,用 Qn 控制加减交替,6.3 定 点 运 算,Ri补= 0.1000,4. 补码除法,(1) 商值的确定,x补 = 0.1011,y补 = 1
39、.1101,Ri补= 0.1000,x补 = 1.1101,y补 = 0.1011,x*y*,Ri补与y补同号,“够减”,x*y*,Ri补与y补异号,“不够减”,+,+, 比较被除数和除数绝对值的大小,x 与 y 同号,6.3 定 点 运 算,小结,x补 = 0.1011,y补 = 1.1101,Ri补= 0.1000,x补 = 1.1101,y补 = 0.1011,Ri补= 0.1000,x*y*,Ri补与y补异号,“够减”,x*y*,Ri补与y补同号,“不够减”,+,+,x 与 y 异号,6.3 定 点 运 算, 商值的确定,末位恒置“1”法,x补与 y补同号,正商,按原码上商,x补与 y
40、补异号,负商,按反码上商,小 结,简 化 为,(同号),(异号),(异号),(同号),6.3 定 点 运 算,(2) 商符的形成,除法过程中自然形成,x补和y补同号,x补y补,比较Ri补和y补,同号(够)“1”,异号(不够)“0”,原码上商,小数除法 第一次“不够”上“0”,正商,x补和y补异号,x补+y补,比较Ri补和y补,异号(够)“0”,同号(不够)“1”,反码上商,小数除法 第一次“不够”上“1”,负商,6.3 定 点 运 算,(3) 新余数的形成,加减交替,6.3 定 点 运 算,例6.26,解:,x补 = 1.0101 y补 = 0.1101 y补 = 1.0011,1 . 0 1
41、 0 1,0 . 1 1 0 1,1 . 0 0 1 1,0 . 1 1 0 1,0 . 1 1 0 1,0 . 0 0 0 0,异号做加法,1,0 . 0 0 1 0,同号上“1”,异号上“0”,+y补,异号上“0”,+y补,同号上“1”,末位恒置“1”,0,0,1,1,+y补,逻辑左移,6.3 定 点 运 算,(4) 小结,补码除法共上商 n +1 次(末位恒置 1) 第一次为商符,加 n 次 移 n 次,第一次商可判溢出,精度误差最大为 2-n,6.3 定 点 运 算,6.4 浮点四则运算,一、浮点加减运算,x = Sx 2jx,y = Sy 2jy,1. 对阶,(1) 求阶差,(2)
42、对阶原则,j = jx jy =,jx= jy 已对齐,jx jy,jx jy,x 向 y 看齐,y 向 x 看齐,x 向 y 看齐,y 向 x 看齐,小阶向大阶看齐,jx1,jy+1,jx+1,jy1,例如,解:,x补 = 00, 01; 00.1101 y补 = 00, 11; 11.0110,1. 对阶,j补 = jx补 jy补,= 00, 01,11, 01,11, 10,阶差为负( 2),11.1001, x+y补 = 00, 11; 11. 1001, 对阶,x补 = 00, 11; 00.0011,+,+,对阶后的Sx补, 求阶差,2. 尾数求和,6.4 浮点四则运算,3. 规格
43、化,(1) 规格化数的定义,(2) 规格化数的判断,S0,真值,原码,补码,反码,规格化形式,S 0,规格化形式,真值,原码,补码,反码,原码 不论正数、负数,第一数位为1,补码 符号位和第 1 数位不同,6.4 浮点四则运算,特例,S = 1, 1补 是规格化的数,6.4 浮点四则运算,(3) 左规,(4) 右规,上例 x+y补 = 00, 11; 11. 1001,左规后 x+y补 = 00, 10; 11. 0010, x + y = ( 0.1110)210,当 尾数溢出( 1)时,需 右规,6.4 浮点四则运算,例6.27,解:,x补 = 00, 010; 00. 110100,y补
44、 = 00, 001; 00. 101100, 对阶, 尾数求和,j补 = jx补 jy补,= 00, 010,11, 111,100, 001,阶差为 +1, y补 = 00, 010; 00. 010110,Sx补 = 00. 110100,Sy补 = 00. 010110,对阶后的Sy补,01. 001010,+,+,尾数溢出需右规,6.4 浮点四则运算, 右规,x +y补 = 00, 010; 01. 001010,x +y补 = 00, 011; 00. 100101,右规后, x +y = 0. 100101 211,4. 舍入,在 对阶 和 右规 过程中,可能出现 尾数末位丢失
45、引起误差,需考虑舍入,(1) 0 舍 1 入法,(2) 恒置 “1” 法,6.4 浮点四则运算,例 6.28,解:,x补 = 11, 011; 11. 011000,y补 = 11, 100; 00. 111000, 对阶,j补 = jx补 jy补,= 11, 011,00, 100,11, 111,阶差为 1, x补 = 11, 100; 11. 101100,x = ( 0.101000)2-101,y = ( 0.111000)2-100,+,6.4 浮点四则运算, 尾数求和,Sx补 = 11. 101100,Sy补 = 11. 001000,+,110. 110100, 右规,x+y补
46、 = 11, 100; 10. 110100,x+y补 = 11, 101; 11. 011010,右规后, x y = (0.100110)2-11,6.4 浮点四则运算,5. 溢出判断,设机器数为补码,尾数为 规格化形式,并假设阶符取 2 位,阶码取 7 位,数符取 2 位,尾数取 n 位,则该 补码 在数轴上的表示为,2127(1), 2-128(2-1+ 2-n),2-1282-1,2127(12-n),阶码 01, ,阶码 01, ,阶码 10, ,按机器零处理,6.4 浮点四则运算,二、浮点乘除运算,x = Sx 2jx,y = Sy 2jy,1. 乘法,x y = (Sx Sy)
47、2jx+jy,2. 除法,(1) 阶码采用 补码定点加(乘法)减(除法)运算,(2) 尾数乘除同 定点 运算,4. 浮点运算部件,阶码运算部件,尾数运算部件,3. 步骤,(3) 规格化,6.4 浮点四则运算,一、加法器 1.半加器(不考虑进位),6.5 算术逻辑单元,2. 全加器 (1)一位全加器,Xn、Yn、Cn-1 Fn和 Cn进位,6.5 算术逻辑单元,特点:输入均取反,输出也均为反码,6.5 算术逻辑单元,(2)串行多位加法器,n个全加器相连可得n位加法器,但加法时间较长,因为位间进位是串行传送的,本位全加和Fi必须等低位进位Ci-1来到后才能进行,加法时间与位数有关。如何提高加法器工
48、作速度呢?,解决办法之一:只有改变进位逐位传送的路径,采用“超前进位产生电路”,来同时产生各位进位,从而实现快速加法,这种加法器称为“超前进位加法器”。,6.5 算术逻辑单元,(3)超前进位加法器,超前进位的主要目标: 使C1、C2、C3、C4同时产生而不是依次产生。 如何使C1、C2、C3、C4同时产生?,按照C1、C2表达式的含义,可以写出C3、C4表达式:,6.5 算术逻辑单元,如何将C1改写成“与或非”式?,采用同样的方法可将C2、C3、C4改写成“与或非”式。,6.5 算术逻辑单元,由上式画出“超前进位产生电路”及“四位超前进位加法器”的逻辑图如下:,只要X1X4,Y1Y4和C0同时
49、到来,就可几乎同时形成C1C4和F1F4,6.5 算术逻辑单元,超前进位加法器的进位产生和进位传递函数具有哪些特点?,经证明有:,6.5 算术逻辑单元,二、 ALU部件(Arithmetic and logical unit),ALU算逻单元,是一种功能较强的组合电路。它能实现多种算术运算和逻辑运算。ALU的基本组合逻辑结构是超前进位加法器,通过改变加法器的Gi和Pi来获得多种运算能力。 下面通过介绍国际流行的美国SN74181型四位ALU中规模集成电路来介绍ALU的原理。,6.5 算术逻辑单元,1.逻辑图,6.5 算术逻辑单元,2.逻辑引脚图,6.5 算术逻辑单元,引脚功能说明 A0A3、B
50、0B3: 参加运算的两个数 S0S3 : 选择控制端-选择不同的算术和逻辑运算 M : 状态控制端,为高电平执行逻辑运算;为低电 平执行算术运算 Cn :ALU的最低进位位 F0F3:ALU的运算结果 Cn+4 :ALU最高位产生的进位 G、P :ALU的进位产生与传递,6.5 算术逻辑单元,3.功能表能执行16种算术、16种逻辑运算,6.5 算术逻辑单元,加:算术加 +:逻辑加(或),4.用4片74181电路可组成16位ALU,片内进位快速,但片间进位是逐片传递的,由此形成F0F15的时间还是比较长。,若把16位ALU中的每四位作为一组,用位间快速进位的形成方法来实现16位ALU中“组间快速
51、进位”,那么就能得到16位快速ALU。,6.5 算术逻辑单元,C16 C12 C8 C4,分析:组内并行、组间并行 设16位加法器,4位一组,分为4组:,4位,4位,4位,4位,第4组 第3组 第2组 第1组,C16 C13 C12 C9 C8 C5 C4 C1,C0,6.5 算术逻辑单元,1)第1组进位逻辑式 组内: C1 = G1 + P1C0 C2 = G2 + P2G1 + P2P1C0 C3 = G3 + P3G2 + P3P2G1 + P3P2P1C0 组间: C4 = G4 + P4G3 + P4P3G2 + P4P3P2G1 + P4P3P2P1C0,GI,PI,所以 CI =
52、 GI + PIC0,组间进位传递函数,组间进位产生函数,6.5 算术逻辑单元,2)第2组进位逻辑式 组内: C5 = G5 + P5CI C6 = G6 + P6G5 + P6P5CI C7 = G7 + P7G6 + P7P6G5 + P7P6P5CI 组间: C8 = G8 + P8G7 + P8P7G6 + P8P7P6G5 + P8P7P6P5CI,G,P,所以 C = G + PCI,6.5 算术逻辑单元,3)第3组进位逻辑式 组内: C9 = G9 + P9C C10 = G10 + P10G9 + P10P9C C11 = G11 + P11G10 + P11P10G9 + P
53、11P10P9C 组间: C12 = G12 + P12G11 + P12P11G10 + P12P11P10G9 + P12P11P10P9C,G,P,所以 C = G + P C,6.5 算术逻辑单元,4)第4组进位逻辑式 组内: C13 = G13 + P13C C14 = G14 + P14G13 + P14P13C C15 = G15 + P15G14 + P15P14G13 + P15P14P13C 组间: C16 = G16 + P16G15 + P16P15G14 + P16P15P14G13 + P16P15P14P13C,G,P,所以 C = G + PC,6.5 算术逻辑
54、单元,5)各组间进位逻辑,CI = GI + PIC0 C = G + PCI C = G + P C C = G + PC,= G + PGI + PPIC0,= G + P G + P PGI + P PPIC0,= G + P G + PP G + P P PGI + PP PPIC0,6.5 算术逻辑单元,Co,C,Co,C,7)进位传递过程?,Ai、Bi、C0,G、P.GI、PI、C31,C、C、C、CI,C1513、C119、C75,6.5 算术逻辑单元,进位并行扩展芯片74182,1)逻辑引脚图,2)引脚功能,Cn低位来的进位 Cn+1 Cn+3进位输出端 G0 G3来源于181
55、 P0 P3进位传递函数, 来源于181 G182输出进位产生函数 P182输出进位传递函数,6.5 算术逻辑单元,74181: 实现算术逻辑运算及组内并行。 74182:接收了组间的辅助函数后,产生组间 的并行进位信号CIII 、CII 、CI,分 别将其送到各小组的加法器上,一个16位的ALU部件,要实现组内并行,组间并行运算。所需器件为:74181芯片四块,74182一块。,6.5 算术逻辑单元,三、译码器:,输入:n个 输出:2n,6.5 算术逻辑单元,三八译码器(74ls138),逻辑引脚图,6.5 算术逻辑单元,四、数据选择器:,M选一(n个地址控制端子) M=2n,(一)、电路,
56、6.5 算术逻辑单元,(二)、工作过程,工作控制,0时可工作,否则不工作,功能表,五、三态开关,Di,DO,E,E=,1,则Do=Di,0,则DO为高阻态,6.5 算术逻辑单元,时序逻辑电路不但与当前的输入状态有关,而且还与电路以前的输入状态有关。时序电路内必须有存储信息的记忆元件-触发器。,(一). 触发方式: (1)电位触发:由0或1电平直接触发 (2)边沿触发:有正跳变(上升沿)触发或负跳变 (下降沿)触发 (3) 主从触发:主从分级触发,主要用于组成计数器,一.触发器,(二)常用触发器原理,6.6 时序逻辑电路,1.R-S触发器,1)电路,2)逻辑符号,3)工作过程,6.6 时序逻辑电
57、路,2.D触发器,1)逻辑图形符号,2)功能表,6.6 时序逻辑电路,二、寄存器,寄存器是计算机的一个重要部件,用于暂存数据、指令等。它由触发器和一些控制门组成。在寄存器中,常用的是正边沿触发D触发器和锁存器。,(一)、串行寄存器,要存入1101B 送入1,送第一个CLK 送入1,送第二个CLK 送入0,送第三个CLK 送入1,送第四个CLK,6.6 时序逻辑电路,(二)、并行寄存器,(三)、移位寄存器,6.6 时序逻辑电路,6.6 时序逻辑电路,2、工作过程,1)存数 例如存入1101B,1送数 1101B 2 发MOV=1,R=L=0 3CLK发,2)左移,1发L=1,MOV=R=0 2发
58、CLK,3右移,1发R=1,MOV=L=0 2发CLK,6.6 时序逻辑电路,三、计数器(加1计数器),(一)电路(二位),(二)工作过程,CLR发 则Q2Q1输出00,6.6 时序逻辑电路,(三)应用,用以节拍发生器、分频器,把D触发器的反码输出端Q连在自身的数据输入端D,则成为加1计数器,6.6 时序逻辑电路,计算机系统中的数据,在读写、存取和传送的过程中可能产生错误。为减少和避免这类错误,一方面是精心设计各种电路,提高计算机硬件的可靠性;另一方面是在数据编码上找出路,即采用某种编码法,通过少量的附加电路,使之能发现某些错误,甚至能确定出错位置,进而实现自动改错的能力。,数据校验码:是一种常用的带有发现某些错误或自动改错能力的数据编码方法。,实现原理:是加进一些冗余码,使合法数据编码出错变成非法数据来发现或改正数据。,常用的数据校验码:奇偶校验码、海明校验码和循环冗余校验码。,6.7 数据校验码,最小码距:一种编码系统中,任意两
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 管理岗位绩效管理办法
- 学校地基归谁管理办法
- 竞赛教练考核管理办法
- 肠息肉中医教学课件
- 福建第三次质检数学试卷
- 汾阳初中二模数学试卷
- 毕业设计(论文)-家用照明智能控制系统的设计
- 2025至2030大米行业市场深度研究与战略咨询分析报告
- 德国职业教育的数字化转型:战略规划、项目布局与效果评估
- 丽水农林技师学院招聘教师笔试真题2024
- 2025年内蒙古众达人力资源公司招聘题库带答案分析
- 水利工程隐患排查课件
- 医药公司廉政管理制度
- T/CEPPEA 5023-2023风光储充一体化充电站设计规范
- 碳资产管理与碳金融 课件 第9章 碳资产管理案例
- 木质纤维素纳米纤丝基水凝胶伤口敷料的制备与性能研究
- 八五普法自查自评情况报告
- 2025三季度四川经准检验检测集团股份限公司招聘48人易考易错模拟试题(共500题)试卷后附参考答案
- 网约车法律培训
- 深圳市罗湖区2025年小升初数学模拟试卷含解析
- 轴承加工合同协议
评论
0/150
提交评论