计算机组成原理2.3-2.4_第1页
计算机组成原理2.3-2.4_第2页
计算机组成原理2.3-2.4_第3页
计算机组成原理2.3-2.4_第4页
计算机组成原理2.3-2.4_第5页
已阅读5页,还剩63页未读 继续免费阅读

下载本文档

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

文档简介

1、第二章 数据的表示、运算与校验计算机组成原理计算机组成原理 2009 SCS-SWPU2第二章 数据的表示、运算与校验数值型数据的数值型数据的表示表示2.1字符型数据的字符型数据的表示表示2.2运算方法运算方法2.3常用的数据校验方法常用的数据校验方法2.4问题与探讨如何以加法器为基础,实现各种运算处理?如何以加法器为基础,实现各种运算处理?四则运算四则运算或或基本逻辑运算基本逻辑运算复杂复杂运算运算加法运算加法运算2溢出判断溢出判断与移位与移位3定点乘除定点乘除法运算法运算1定点加减定点加减运算运算2.3 运算方法4浮点运算浮点运算 一、一、 定点加减运算定点加减运算1. 补码加减运算的基本

2、关系式补码加减运算的基本关系式数用补码表示,符号位参加运算。数用补码表示,符号位参加运算。实际操作能否只取决于操作码?实际操作能否只取决于操作码?结果需不需修正?结果需不需修正?如何将减法转换为加法?如何将减法转换为加法? 带符号的数有原码带符号的数有原码、反码反码和和补码,采用何种码?补码,采用何种码?2.3.1 定点加减运算 ( X + Y )补补 = X补补 + Y补补 (1) ( X - Y )补补 = X补补 + (-Y)补补 (2)式(式(1):):操作码为操作码为“加加”时,两数直接相加。时,两数直接相加。3) X= 3 Y= 2 X补补=0 0011 Y补补=1 11100 0

3、001(+1补码)补码)2) X= 3 Y= 2 X补补=1 1101 Y补补=1 11101 1011 ( 5补码)补码)1) X=3 Y=2 X补补=0 0011 Y补补=0 00100 0101(+5补码)补码)4) X= 3 Y= 2 X补补=1 1101 Y补补=0 00101 1111 (1补码)补码)例例. 求求(X+Y)补补2.3.1 定点加减运算 ( X + Y )补补 = X补补 + Y补补 (1) ( X - Y )补补 = X补补 + (-Y)补补= X补补 - Y补补 (2)式(式(2):):操作码为操作码为“减减”时,将减转换为加。时,将减转换为加。 1) X= 4

4、 Y= 5 X补补=0 0100 Y补补=1 1011(-Y)补补=0 01010 1001(+9补码)补码)2) X= 4 Y= 5 X补补=1 1100 Y补补=0 0101(-Y)补补=1 10111 0111(9补码)补码)例例. 求求(X Y)补补Y补补 (Y)补补:将将Y Y补补变补变补不管不管Y Y补补为正或负,将其符号连同为正或负,将其符号连同尾数一起各位变反,末位加尾数一起各位变反,末位加1 1。即将减数变补后与被减数相加。即将减数变补后与被减数相加。 X补补=0 0100 Y补补=1 1011 X补补=1 1100 Y补补=0 01013.3.1 定点加减运算计算机组成原理

5、计算机组成原理注意:某数的注意:某数的补码表示补码表示与与某数变补某数变补的区别的区别。例例. 1 0101. 1 0101原原 1 10111 1011补码表示补码表示1 00111 0011补补 0 11010 1101变补变补 1 1 01010101原原 1 1 1011 1011 0 01010 0101原原 0 01010 0101补码表示补码表示符号位不变;符号位不变; 0 0 0101 0101原原 0 0 0101 01010 00110 0011补补 1 11011 11011 1 0011 0011补补 0 0 1101 11010 0 0011 0011补补 1 1 1

6、101 1101变补变补连同符号位连同符号位一起取反加一起取反加12.3.1 定点减法运算2.补码加减运算规则补码加减运算规则 P49 图图2-6操作数用补码表示,操作数用补码表示,符号位参加运算符号位参加运算结果为补码表示,符结果为补码表示,符号位指示结果正负号位指示结果正负X补补+Y补补X补补+(-Y)补补ADDSUB3.3.1 定点加减运算操作码操作码为为“加加”时,时,两数直接两数直接相相加;操作码加;操作码为为“减减”时,时,将减转换为将减转换为加加3. 逻辑实现逻辑实现A(X补补)B(Y补补)+AABB+B+B+1CPA A(1)控制信号)控制信号加法器输入端:加法器输入端:+ +

7、A A:打开控制门,将打开控制门,将A A送送 + +B B:打开控制门,将打开控制门,将B B送送 +1+1:控制末位加:控制末位加 1 1 。+ +B B:打开控制门,将打开控制门,将B B送送 加法器输出端:加法器输出端: A:打开控制门,将结打开控制门,将结 果送果送A输入端。输入端。CPCPA A:将结果打入将结果打入A A。(2)补码加减运算器粗框)补码加减运算器粗框 图图3-292.3.1 定点加减运算2溢出判断溢出判断与移位与移位3定点乘除定点乘除法运算法运算1定点加减定点加减运算运算2.3 运算方法4浮点运算浮点运算 溢出判断溢出判断 在什么情况下可能产生溢出?在什么情况下可

8、能产生溢出? 例例. .数数A A有有4 4位尾数,位尾数,1 1位符号位符号S SA A 数数B B有有4 4位尾数,位尾数,1 1位符号位符号S SB B 符号位参符号位参加运算加运算 结果符号结果符号S Sf f 五位五位二进制定点整数的补码二进制定点整数的补码表示范围表示范围: - -161615152.3.2 溢出判断与移位正确正确0 00110 0010(1)A=3 B=2 3+2:0 0101 (2)A=10 B=7 10+7: 0 10100 01111 0001 正溢正溢正确正确负溢负溢正确正确正确正确(3)A= -3 B= -2-3+(-2):1 1011 1 11011

9、1110(4)A= -10 B= -7 -10+(-7):0 1111 1 01101 1001(5)A=6 B= -4 6+(-4):0 0010 0 01101 1100(6)A= -6 B=4 -6+4:1 1110 1 10100 01002.3.2 溢出判断与移位(2)A=10 B=7 10+7 :0 1010 0 01111 0001 (4)A= -10 B= -7 -10+(-7):0 1111 1 01101 10011. 硬件判断逻辑一(硬件判断逻辑一(SA、SB与与Sf的关系)的关系)溢出溢出= = S SA AS SB BS Sf fS SA AS Sf fS SB B2

10、. 硬件判断逻辑二(硬件判断逻辑二(Cf与与C的关系)的关系)2.3.2 溢出判断与移位 符号位的进位符号位的进位C Cf f 尾数尾数最高位进位最高位进位C C( (或最高有效位的进位或最高有效位的进位) )正确正确0 00110 0010(1)A=3 B=2 3+2:0 0101 (2)A=10 B=7 10+7: 0 10100 01111 0001 正溢正溢正确正确负溢负溢正确正确正确正确(3)A= -3 B= -2-3+(-2):1 1011 1 11011 1110(4)A= -10 B= -7 -10+(-7):0 1111 1 01101 1001(5)A=6 B= -4 6+

11、(-4):0 0010 0 01101 1100(6)A= -6 B=4 -6+4:1 1110 1 10100 0100Cf=0Cf=0C =0C =0Cf=0Cf=0C =1C =1Cf=1Cf=1C =1C =1Cf=1Cf=1C =0C =0Cf=1Cf=1C =1C =1Cf=0Cf=0C =0C =01111112.3.2 溢出判断与移位(2)A=10 B=7 10+7 : 0 1010 0 01111 0001 (4)A= -10 B= -7 -10+(-7):0 1111 1 01101 10011. 硬件判断逻辑一(硬件判断逻辑一(SA、SB与与Sf的关系)的关系)溢出溢出=

12、 = S SA AS SB BS Sf fS SA AS Sf fS SB B2. 硬件判断逻辑二(硬件判断逻辑二(Cf与与C的关系)的关系)溢出溢出= = Cf Cf C C3. 硬件判断逻辑三(双符号位硬件判断逻辑三(双符号位)2.3.2 溢出判断与移位(1)3+2:正确正确00 001100 001000 0101 (2)10+7:00 101000 011101 0001 正溢正溢正确正确负溢负溢正确正确正确正确(3)-3+(-2):11 0111 11 110111 1110(4)-10+(-7):10 1111 11 011011 1001(5)6+(-4):00 0010 00

13、011011 1100(6)-6+4:11 1110 11 101000 0100第一符号位第一符号位Sf1第二符号位第二符号位Sf22.3.2 溢出判断与移位1. 硬件判断逻辑一(硬件判断逻辑一(SA、SB与与Sf的关系)的关系)2. 硬件判断逻辑二(硬件判断逻辑二(Cf与与C的关系)的关系)溢出溢出= = S Sf1 f1 S Sf2f23. 硬件判断逻辑三(双符号位硬件判断逻辑三(双符号位)溢出溢出= = C Cf f C C 0 0 结果为正结果为正 0 1 结果正溢出结果正溢出 1 0 结果负溢出结果负溢出 1 1 结果为负结果为负溢出溢出= = S SA AS SB BS Sf f

14、S SA AS Sf fS SB B2.3.2 溢出判断与移位 2. 移位操作移位操作 逻辑移位:逻辑移位: 纯逻辑代码:纯逻辑代码:数码位置变化,数码位置变化,无无数值数值变化变化。 (1) 逻辑移位逻辑移位算术移位算术移位 1 0 0 0 1 1 1 1循环左移:循环左移:0 :数码位置变化,数值:数码位置变化,数值变化变化,符号位符号位不变(带符号数)。不变(带符号数)。1 0 0 1 1 1 1 算术左移:算术左移:1 0 0 1 1 1 1 10 1 1 1 1 0 (-15)原原(-30)原原2.3.2 溢出判断与移位或无符号数:数码位置变化,有数值或无符号数:数码位置变化,有数值

15、变化。变化。 移位寄存器:移位寄存器: 在寄存器中移位在寄存器中移位(串行接口中)。(串行接口中)。D4 D3 D2 D1D4 D3 D2 右移右移左移左移 D3 D2 D1 移位门:移位门: 斜位传送(运算器中)。斜位传送(运算器中)。左斜左斜 右斜右斜 4 3 1 2门门4 门门3 门门2 门门1移位寄存器移位寄存器移位门移位门加法器加法器2.3.2 溢出判断与移位 1)单符号位)单符号位 : 0 01110 1110 2)双符号位:)双符号位:00 1110 00 0111(2 2)算术移位)算术移位 正数补码(包括原码)移位规则正数补码(包括原码)移位规则 3 3)移位规则)移位规则左

16、移左移右移右移右移右移0 0111 0 0011 左移左移左移左移右移右移右移右移01 1100 00 1110 00 0111 数符不变数符不变(单:符号位不变;双:第一符号位不变)。(单:符号位不变;双:第一符号位不变)。空位补空位补0(右移时第二符号位移至尾数最高位)。(右移时第二符号位移至尾数最高位)。2.3.2 溢出判断与移位 1)单符号位)单符号位 : 1 1 0 1 11 0 1 1 0 2)双符号位:)双符号位:10 1100 11 0110负数补码移位规则负数补码移位规则 3 3)移位规则)移位规则左移左移右移右移右移右移1 1 0 1 1 1 1 1 0 1 左移左移右移右

17、移右移右移11 0110 11 1011 数符不变数符不变(单:符号位不变;双:第一符号位不变)。(单:符号位不变;双:第一符号位不变)。左移空位补左移空位补0(第二符号位移至尾数最高位)。(第二符号位移至尾数最高位)。右移空位补右移空位补12.3.2 溢出判断与移位易出错处易出错处(双符号位双符号位):00 1110 左左右右01 1100 正确:正确:11 0110 10 1100 00 1100 01 1100 00 0110 正确:正确:00 1110 11 1100 左左正确:正确:10 1100 11 1110 右右11 0110 正确:正确:2.3.2 溢出判断与移位2.3.2

18、溢出判断与移位算术移位规则1右移 添 1左移 添 00反 码补 码原 码负数0原码、补码、反码正数添补代码码 制符号位不变2.3.2 溢出判断与移位算术移位和逻辑移位的区别算术移位有符号数的移位逻辑移位无符号数的移位逻辑左移逻辑右移低位添 0,高位移丢高位添 0,低位移丢例如 01010011逻辑左移10100110逻辑右移01011001算术左移算术右移0010011011011001(补码)高位 1 移丢00101100102.3.2 溢出判断与移位例1设机器数字长为 8 位(含一位符号位),写出A = +26时,三种机器数左、右移一位和两位后的表示形式及对应的真值,并分析结果的正确性。解

19、:A = +26则 A原 = A补 = A反 = 0,0011010 + 60,0000110 +130,0001101+1040,1101000 + 520,0110100 +260,0011010移位前A原=A补=A反对应的真值机 器 数移位操作1212= +11010 2.3.2 溢出判断与移位例2设机器数字长为 8 位(含一位符号位),写出A = 26时,三种机器数左、右移一位和两位后的表示形式及对应的真值,并分析结果的正确性。解:A = 26 61,0000110 131,0001101 1041,1101000 521,0110100 261,0011010移位前对应的真值机 器

20、数移位操作1212= 0011010 A原 = 1,0011010 2.3.2 溢出判断与移位例2设机器数字长为 8 位(含一位符号位),写出A = 26时,三种机器数左、右移一位和两位后的表示形式及对应的真值,并分析结果的正确性。解:A = 26 61,1111001 131,1110011 1041,0011000 521,1001100 261,1100110移位前对应的真值机 器 数移位操作1212= 0011010 A补 = 1,1100110 2.3.2 溢出判断与移位例2设机器数字长为 8 位(含一位符号位),写出A = 26时,三种机器数左、右移一位和两位后的表示形式及对应的真

21、值,并分析结果的正确性。解:A = 26 61,1111001 131,1110010 1041,0010111 521,1001011 261,1100101移位前对应的真值机 器 数移位操作1212= 0011010 A反 = 1,1100101 30v 将操作数移动一位或多位,分成逻辑移位和算术移位,分将操作数移动一位或多位,分成逻辑移位和算术移位,分别具有左移或右移操作别具有左移或右移操作逻辑逻辑/ /算术左移算术左移逻辑右移逻辑右移算术右移算术右移演示演示演示2.3.2 移位操作2溢出判断溢出判断与移位与移位3定点乘定点乘法运算法运算1定点加减定点加减运算运算2.3 运算方法4浮点运

22、算浮点运算2.3.3 定点乘法运算 手算手算 0.1101 0.1101 0.10110.1011 1101 1101 1101 1101 0000 0000 1101 1101 0.10001111 0.10001111部分积部分积改进:将一次相加改进:将一次相加改为分步累加;改为分步累加;部分积左移一位改部分积左移一位改为累加和右移一位。为累加和右移一位。定点定点乘法运算乘法运算乘法乘法 部分积累加、移位。部分积累加、移位。计算机组成原理计算机组成原理2.3.4 定点除法运算定点定点除法运算除法运算除法除法 若干余数与除数加减、移位。若干余数与除数加减、移位。例例. 0.10110. 0.

23、101100.111110.111110.101100.10110 1101 11010.0.0 01 1 11111 11111 0.11111 0.111110 00 00 01 1 11111 11111 10101 101010 01 1 11111 11111 1011 10110 00 0.0000000000.0.0.商:商: 0.10110 0.10110余数:余数:0.101100.101102 2 5实现除法的关键:实现除法的关键:比较余数、除数比较余数、除数绝对值大小,以绝对值大小,以决定上商。决定上商。2溢出判断溢出判断与移位与移位3定点乘定点乘法运算法运算1定点加减定

24、点加减运算运算2.3 运算方法4浮点运算浮点运算2009 SCS-SWPU计算机组成原理计算机组成原理v浮点运算的实现 浮点运算比定点运算复杂,硬件成本高2.3.5 浮点四则运算软件子程序实现浮点运算软件子程序实现浮点运算浮点处理器浮点处理器CPUCPU内部配有专门内部配有专门的浮点运算部件,的浮点运算部件,包含相应的浮点运算指令包含相应的浮点运算指令N = MREE Ef fE E1 1E E2 2E EmmMM1 1MMf fMM2 2MMn n阶码阶码E阶符阶符尾数尾数M数符数符实现方法2009 SCS-SWPU计算机组成原理计算机组成原理1. 浮点加减运算浮点加减运算 步骤步骤: (1

25、)检测能否简化操作检测能否简化操作: 判操作数是否为判操作数是否为0 0尾数为尾数为0 0阶码下溢阶码下溢(2)对阶对阶:小数点实际位置对齐小数点实际位置对齐1)对阶规则:对阶规则:小阶向大阶对齐小阶向大阶对齐。2 2 0.10010.10012 2 0.11010.11012 23 32 2 0.01000.01003 32 2 0.11010.11013 32)对阶操作:小阶阶码增大,尾数右移。对阶操作:小阶阶码增大,尾数右移。 若:若:AEBE,则,则 BE+1 BM,直到,直到BE=AE 若:若:AEBE,则,则 AE+1 AM,直到,直到BE=AE2.3.5 浮点四则运算A=B=20

26、09 SCS-SWPU计算机组成原理计算机组成原理(3)(3)尾数加减尾数加减. . 1) 1) 11.000111.0001 +00.1001+00.100111.101011.1010 2) 2) 00.010100.0101 +00.1101+00.1101A AM M + B+ BM M (4)(4)结果规格化结果规格化 M M 1/21 M 1应左移规格化应左移规格化( (左规左规) )应右移规格化应右移规格化( (右规右规) )2.3.5 浮点四则运算2009 SCS-SWPU计算机组成原理计算机组成原理例题例题1 1:A=(0.1101)A=(0.1101)2 21 1 ,B=(

27、-0.1010)B=(-0.1010)2 23 3,求,求 A+B=? A+B=? 其其浮点数的格式:浮点数的格式: 补码补码表示,阶码表示,阶码4 4位位( (含含1 1位阶符),尾数位阶符),尾数6 6位(含位(含2 2位数符位数符) 解解: A A补补=0001,00.1101 B=0001,00.1101 B补补=0011,11.0110=0011,11.0110 (1 1)对阶对阶 求阶差求阶差E=1-3=-2E=1-3=-2 即即E=-E=-2, A2, AE E加加2 2,A AMM右移两位右移两位 则:则:A AE E=A=AE E+2=3, A+2=3, AMM=00.001

28、1=00.0011 即:即: AA补补=0011,00.0011=0011,00.00112.3.5 浮点四则运算2009 SCS-SWPU计算机组成原理计算机组成原理(2 2)尾数的加减尾数的加减 AAMM 补补=00.0011 =00.0011 B BMM 补补=11.0110=11.0110 00.001100.0011 +11.0110+11.0110 11.1001 11.1001即即AAMM+B+BMM 补补=11.1001=11.1001(3 3)规格化)规格化 A+BA+B补补=0011,11.1001=0011,11.1001 运算运算结果为非规格化的数,需左结果为非规格化的

29、数,需左规规: : 阶码阶码=0011-1=0010, =0011-1=0010, 尾数尾数 =11.0010=11.0010 即:即:A+BA+B 补补=0010,11.0010=0010,11.00102.3.5 浮点四则运算2009 SCS-SWPU计算机组成原理计算机组成原理v例题2: 两个十进制数X=-0.87521,Y=0.62522将将X, Y用浮点数表示,设阶用浮点数表示,设阶码码4位(含阶符位(含阶符2位),位), 尾数尾数6位位(含数符(含数符2位);通过位);通过补码运算规则求补码运算规则求 Z=X-Y。解解:设设XM、YM表示表示尾数,转换成浮点数:尾数,转换成浮点数:

30、 X= -0.87521=(-0.1110)2 2+01 Y= 0.62522=(+0.1010)2 2+10 X补补= 0001,11.0010 Y补补= 0010, 00.10101) 对对阶阶: 阶差阶差=1-2=-1, 将将x的尾数右移的尾数右移1位,阶码加位,阶码加1 X补补=0010,11.10012.3.5 浮点四则运算2009 SCS-SWPU计算机组成原理计算机组成原理2) 尾数相减尾数相减 XM补补=11.1001 YM补补=00.1010,YM补补=11.0110 XM-YM补补=XM补补+YM补补 = 11.100111.0110= 10.11113) 规格化规格化 X

31、-Y补补=0010,10.1111 运算结果(符号位相异),运算结果(符号位相异),右规,阶码加右规,阶码加1 阶码阶码= 0010+1= 0011,尾数,尾数=11.0111 规格化结果规格化结果: X-Y补补=0011,11.0111 2.3.5 浮点四则运算2009 SCS-SWPU计算机组成原理计算机组成原理2. 2. 浮点乘法运算浮点乘法运算步骤:步骤:1)1)检测操作数是否为检测操作数是否为0 0。2)2)阶码阶码相加相加( (注意阶码是原码、补码和移码表示会有所不同)注意阶码是原码、补码和移码表示会有所不同)浮点乘浮点乘 定点加、定点乘定点加、定点乘3)3)尾数相乘。尾数相乘。设

32、设A=2A=2 A AM M,B=2 B=2 B BM M A AE EB BE EA AE E+B+BE EA AB=2 B=2 (A(AM MB BM M) ) 4)4)结果规格化。结果规格化。 一般左规一般左规。2.3.5 浮点四则运算2009 SCS-SWPU计算机组成原理计算机组成原理3. 3. 浮点除法运算浮点除法运算步骤:步骤:1)1)检测操作数是否为检测操作数是否为0 0。2) AM BM ? 2) AM BM ? 如果如果不是不是,AM,AM右移一位,阶码右移一位,阶码+1+1浮点除浮点除 定点减、定点除定点减、定点除4)4)尾数相除。尾数相除。设设A=2A=2 A AM M

33、,B=2 B=2 B BM M A AE EB BE E5)5)结果不再规格化。结果不再规格化。A AE-E-B BE EA AB=2 B=2 (A(AM MB BM M) ) 3)3)阶码相减。阶码相减。2.3.5 浮点四则运算计算机组成原理计算机组成原理 2009 SCS-SWPU44第二章 数据的表示、运算与校验数值型数据的数值型数据的表示表示2.1字符型数据的字符型数据的表示表示2.2运算方法运算方法2.3常用的数据校验方法常用的数据校验方法2.42009 SCS-SWPU2.4 常用的数据校验方法 码码距的概念距的概念(1 1)码距定义)码距定义一种编码体制中,各组合法代码间的不同位

34、一种编码体制中,各组合法代码间的不同位数称数称距离距离,其最小距离为该编码的,其最小距离为该编码的码距码距。有效信息位有效信息位+ +校验位校验位衡量一种编码查错与纠错的能力。衡量一种编码查错与纠错的能力。校验码校验码84218421码码 (2 2)码距作用)码距作用(3 3)查错与纠错的基本出发点)查错与纠错的基本出发点1 1)约定某种规律,作为检测的依据。)约定某种规律,作为检测的依据。译码检测译码检测2 2)增大码距,从信息量上提供指错的可能。)增大码距,从信息量上提供指错的可能。 例子:例子:码距码距d= d= 1 1 无查错、纠错能力。无查错、纠错能力。 2009 SCS-SWPU2

35、.4 常用的数据校验方法有效信息位有效信息位+1+1位校验位位校验位校验码校验码一、一、 奇偶校验码(奇偶校验码(2.4.12.4.1) 如:偶校验如:偶校验检测依据(编码规则):检测依据(编码规则):码距码距d=2d=2通过统计校验码中通过统计校验码中1 1的个数是否为偶数来查错。的个数是否为偶数来查错。1011001 1011001 0 0 可检测一位错,可检测一位错, 约定校验码中约定校验码中1 1的个的个数为奇数数为奇数/ /偶数。偶数。10110111011011 1 1 不能纠错。不能纠错。 用于主存校验。用于主存校验。 2009 SCS-SWPU2.4 常用的数据校验方法二、二、

36、 海明校验海明校验码码(2.4.2)(2.4.2) 检测依据:检测依据:多重奇偶校验多重奇偶校验。代码分组代码分组各组进行奇偶校验各组进行奇偶校验形成形成多多位指误字位指误字= =全全0 0 无错无错全全0 0 有错有错指误字状态对应出错位序指误字状态对应出错位序号,将出错位变反纠错。号,将出错位变反纠错。2009 SCS-SWPU2.4 常用的数据校验方法三、三、循环循环冗余冗余校验(校验(2.4.32.4.3) 设有效信息为设有效信息为A A,约定代码为,约定代码为G G。 A A 校验码能被某代码除尽。校验码能被某代码除尽。余数余数 校验码校验码 例例. .有效信息有效信息A=1100A

37、=1100,约定代码,约定代码G=1011G=1011(1 1)约定规律)约定规律 G G = = Q Q + + R R G G A-RA-R G G = = Q Q (2 2)编码方法)编码方法 将有效信息与余数拼在一起形成校验码将有效信息与余数拼在一起形成校验码K Kr rn n有效信息位数有效信息位数K K:r r:n n:余数位数余数位数校验码位数校验码位数2009 SCS-SWPU2.4 常用的数据校验方法三三、循环冗余校验(、循环冗余校验(2.4.32.4.3) 例例. .有效信息有效信息A=1100A=1100,约定代码,约定代码G=1011G=10111 1)A A左移左移r

38、 r位位(2 2)编码方法)编码方法 (r=3r=3):): 110011000000002 2)求余数:)求余数:1100110000000010111011=1110 + =1110 + 010010 10111011余数余数3 3)形成校验码)形成校验码K=4K=4(7 7,4 4)码)码n=7n=711001100000 000 + 010 = 1100010+ 010 = 11000102009 SCS-SWPU2.4 常用的数据校验方法三三、循环冗余校验(、循环冗余校验(2.4.32.4.3) 约定代码约定代码(3 3)译码与纠错)译码与纠错 循环校验码循环校验码余数为余数为0 0

39、,无错,无错余数非余数非0 0,有错,有错 不同余数对应不同余数对应不同出错数位不同出错数位生成多项式生成多项式利用余数循环的特点,将出错位移至校验码最高位,变利用余数循环的特点,将出错位移至校验码最高位,变反纠错。反纠错。节省硬件。节省硬件。(4 4)生成多项式)生成多项式 满足三个条件满足三个条件 出错,余数不为出错,余数不为0 0。 不同出错位对应不同余数。不同出错位对应不同余数。 余数循环。余数循环。 可查表获得可查表获得生成多项式生成多项式 计算机组成原理计算机组成原理 SWPU51一、单择题1.1.补码定点整数1001 01011001 0101右移一位后的值( )A0100 10

40、10100 1010 B0100 1010 1100 1010 1 C1000 10101000 1010 D11001010110010102.2.计算机内部的定点数大多用补码表示,下列是关于补码特点的叙述,( )是补码表示的特点。 I.零的表示是唯一的零的表示是唯一的 .和真值的对应关系简单和真值的对应关系简单 、直观、直观 .符号位与数值部分参与运算符号位与数值部分参与运算 .减法可用加法来实现减法可用加法来实现 A.I和和II B.I和和III C.I和和II和和III D. I和和II和和3 3假定有4 4个整数用8 8位补码分别表示为r1=FEHr1=FEH,r2=F2Hr2=F2

41、H,r3=90Hr3=90H,r4=F8Hr4=F8H。若将运算结果存放在一个8 8位寄存器中,则下列运算会发生溢出的是( ) Ar1r2 Br2r3 Cr1r4 Dr2r4计算机组成原理计算机组成原理 SWPU524. 4. 一个C C语言程序在一台3232位机上运行。程序中定义了三个变量x, yx, y和z z,其中x x和z z为intint型,y y为shortshort型。当x=127x=127,y= -9y= -9时,执行赋值语句z=x+yz=x+y后,x x,y y和z z的值分别是( )。A. x=0000007FHA. x=0000007FH, y=FFF9H, z=0000

42、0076Hy=FFF9H, z=00000076HB. x=0000007FHB. x=0000007FH, y=FFF9H, z=FFFF0076Hy=FFF9H, z=FFFF0076HC. x=0000007FHC. x=0000007FH, y=FFF7H, z=FFFF0076Hy=FFF7H, z=FFFF0076HD. x=0000007FHD. x=0000007FH, y=FFF7H, z=00000076Hy=FFF7H, z=00000076H5. 5. 浮点数加、减运算过程一般包括对阶、尾数运算、规格化、等步骤。设浮点数的阶码和尾数均采用补码表示,且分别为5 5位和7

43、7位(均含2 2位符号位)。若有两个数X=2X=27 729/32, Y=229/32, Y=25 55/85/8,则用浮点加法计算X+YX+Y的最终结果是( )。A 00111 1100010 B 00111 0100010A 00111 1100010 B 00111 0100010C 01000 0010001 D C 01000 0010001 D 发生溢出计算机组成原理计算机组成原理 SWPU536. 6. 采用规格化的浮点数是为了( )。 A. A.增加数据的表示范围 B.B.方便浮点运算 C. C.防止运算时数据溢出 D.D.增加数据的表示精度7. 7. 浮点数的尾数用补码表示,

44、则下列( )的尾数是规格化数。 A.1.1100 B.1.0010 C.0.0101 D.0.0111 A.1.1100 B.1.0010 C.0.0101 D.0.01118. 8. 设机器字长8 8位(含1 1位符号位),若机器数BAHBAH为原码,则算术左移一位 算术右移一位得( )( )。 A.F4HEDH B.B4H6DH C.F4H9DH D.B5HEDH A.F4HEDH B.B4H6DH C.F4H9DH D.B5HEDH9.9.定点加法运算,( )时,表示结果溢出。 A.A.双符号位相同 B. B.双符号位不同 C. C.两正数相加 D. D.两负数相加10.10.在小型或微

45、型计算机里,普遍采用的字符编码是( )。 A.BCDA.BCD码 B.16 B.16进制 C. C.格雷码 D.ASC D.ASC码计算机组成原理计算机组成原理 SWPU54一、单择题1.1.补码定点整数1001 01011001 0101右移一位后的值(D)A0100 1010100 1010 B0100 1010 1100 1010 1 C1000 10101000 1010 D11001010110010102.2.计算机内部的定点数大多用补码表示,下列是关于补码特点的叙述,(D D)是补码表示的特点。 I.零的表示是唯一的零的表示是唯一的 .和真值的对应关系简单和真值的对应关系简单 、

46、直观、直观 .符号位于数值部分参与运算符号位于数值部分参与运算 .减法可用加法来实现减法可用加法来实现 A.I和和II B.I和和III C.I和和II和和III D. I和和II和和2.D计算机组成原理计算机组成原理 SWPU55一、单择题3 3假定有4 4个整数用8 8位补码分别表示为r1=FEHr1=FEH,r2=F2Hr2=F2H,r3=90Hr3=90H,r4=F8Hr4=F8H。若将运算结果存放在一个8 8位寄存器中,则下列运算会发生溢出的是()Ar1r2 Br2r3 Cr1r4 Dr2r4 解析88位寄存器能保存的补码整数的范围是-128+127-128+127,r1r1中的数值

47、是-2-2,r2r2中的数值是-14-14,r3r3中的数值是-112-112,r4r4中的数值是-8-8,则4 4个运算会发生溢出的是r2r2r3r3。 答案:B B计算机组成原理计算机组成原理 SWPU564. 4. 一个C C语言程序在一台3232位机上运行。程序中定义了三个变量x, yx, y和z z,其中x x和z z为intint型,y y为shortshort型。当x=127x=127,y= -9y= -9时,执行赋值语句z=x+yz=x+y后,x x,y y和z z的值分别是( )。A. x=0000007FHA. x=0000007FH, y=FFF9H, z=0000007

48、6Hy=FFF9H, z=00000076HB. x=0000007FHB. x=0000007FH, y=FFF9H, z=FFFF0076Hy=FFF9H, z=FFFF0076HC. x=0000007FHC. x=0000007FH, y=FFF7H, z=FFFF0076Hy=FFF7H, z=FFFF0076HD. x=0000007FHD. x=0000007FH, y=FFF7H, z=00000076Hy=FFF7H, z=00000076H 解解 v1 1、十进制整数到二进制的转换,数据的补码表示;、十进制整数到二进制的转换,数据的补码表示;2 2、补码加法运算,、补码加法

49、运算,2 2两个不同位数的补码数相加时需要进行符号扩展;两个不同位数的补码数相加时需要进行符号扩展;X=127X=127,XX补补=0000007FH=0000007FH(3232位整数),运算后其值不变位整数),运算后其值不变Y=Y=9 9,YY补补=FFF7H=FFF7H (1616位整数),运算后其值不变位整数),运算后其值不变ZZ补补 = X = X补补+Y+Y补补=0000007FH+FFFFFFF7H=00000076H=0000007FH+FFFFFFF7H=00000076H 答案答案DD 3 3、解题技巧,也可先求出、解题技巧,也可先求出127+(127+(9)=1189)=

50、118,再变成补码后去与可供选择的答,再变成补码后去与可供选择的答案对比。案对比。计算机组成原理计算机组成原理 SWPU575. 5. 浮点数加、减运算过程一般包括对阶、尾数运算、规格化等步骤。设浮点数的阶码和尾数均采用补码表示,且位数分别为5 5位和7 7位(均含2 2位符号位)。若有两个数X=2X=27 729/32, Y=229/32, Y=25 55/85/8,则用浮点加法计算X+YX+Y的最终结果是( )。A 00111 1100010 B 00111 0100010A 00111 1100010 B 00111 0100010C 01000 0010001 D C 01000 00

51、10001 D 发生溢出v 解解 v X=2729/32=2229=2010(11101) =2111(0.11101), Y=255/8=225=2010(101) = 2101(0.10100), v XX浮浮=00111,00.11101=00111,00.11101,YY浮浮=00101,00.10100=00101,00.101001 1、对阶对阶 Y Y浮浮=00101,00.10100=00111,00.00101=00101,00.10100=00111,00.00101v 2 2、尾数相加、尾数相加X X和和Y Y的的的的00.11101+00.00101=01.000100

52、0.11101+00.00101=01.00010,v 3 3、规格化与溢出检查;、规格化与溢出检查;v 应规格化,成为应规格化,成为00.1000100.10001,阶码要加,阶码要加1 1,将变成,将变成0100001000,但阶码的数值位用,但阶码的数值位用3 3位位补码表示,不能表示正补码表示,不能表示正8 8,表明运算结果是溢出了,表明运算结果是溢出了。答案:答案:D D计算机组成原理计算机组成原理 SWPU586. 6. 采用规格化的浮点数是为了( )。 A. A.增加数据的表示范围 B.B.方便浮点运算 C. C.防止运算时数据溢出 D.D.增加数据的表示精度7. 7. 浮点数的

53、尾数用补码表示,则下列( )的尾数是规格化数。 A.1.1100 B.1.0010 C.0.0101 D.0.0111 A.1.1100 B.1.0010 C.0.0101 D.0.01118. 8. 设机器字长8 8位(含1 1位符号位),若机器数BAHBAH为原码,则算术左移一位 算术右移一位得( )( )。 A.F4HEDH B.B4H6DH C.F4H9DH D.B5HEDH A.F4HEDH B.B4H6DH C.F4H9DH D.B5HEDH9.9.定点加法运算,( )时,表示结果溢出。 A.A.双符号位相同 B. B.双符号位不同 C. C.两正数相加 D.D.两负数相加10.1

54、0.在小型或微型计算机里,普遍采用的字符编码是( )。 A.BCDA.BCD码 B.16 B.16进制 C. C.格雷码 D.ASC D.ASC码1.D 2. 1.D 2. D D 3. B 4. D 5. 3. B 4. D 5. D D6.D 7. B 8. C 9. B 10. D6.D 7. B 8. C 9. B 10. D2009 SCS-SWPU计算机组成原理计算机组成原理P73 17(1)()(3)、18(2)()(4)补充作业:补充作业:在在某浮点机中,设浮点数字长某浮点机中,设浮点数字长16位,其位,其中阶码中阶码8位,尾数位,尾数8位,且均为双符号位的补码。求位,且均为双

55、符号位的补码。求AB=? (1)A= -48 , B= 63 (2) A= -0.875 B=10作 业2009 SCS-SWPU计算机组成原理计算机组成原理在在某浮点机中,设浮点数字长某浮点机中,设浮点数字长16位,其中阶码位,其中阶码8位,尾数位,尾数8位,且均为双位,且均为双符号位的补码。求符号位的补码。求AB=? (1)A= -48 , B= 63 解:设解:设AM、BM表示尾数,转换成浮点数(规格化数):表示尾数,转换成浮点数(规格化数):A=(-48)10 =(-110000)2 =(-0.110000)2 26; A补补=00000110,11.010000 B=( 63) 10

56、 =(+111111)2 =(+0.111111)2 26;B补补= 00000110,00.1111111)对阶:)对阶: 阶差阶差=6-6=02)尾数相加减)尾数相加减AM补补=11.010000,BM补补=00.111111,BM补补=11.000001AM+BM补补=AM补补+BM补补= 11.010000 00.111111 = 00.001111AM-BM补补=AM补补+BM补补= 11.010000 11.000001= 10.0100013) 规格化规格化AM+BM补补= 00.001111运算结果为非规格化的数,需左规: AM+BM补补=00.111100;AE+BE补补=00000100;(阶码;(阶码-2,尾数左移,尾数左移4位)位)A+B补补= 00.000100,00.001111AM-BM补补=10.010001运算结果为非规格化的数,需右规:AM-BM补补=11.001000;AE-BE补补 =0000011

温馨提示

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

评论

0/150

提交评论