计算机组成原理电子教案第2章.ppt
《计算机组成原理电子教案第2章.ppt》由会员分享,可在线阅读,更多相关《计算机组成原理电子教案第2章.ppt(59页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第二章第二章 计算机的数据表示计算机的数据表示 计算机组成原理电子教案 陆 遥2.1 字符数据的表示字符数据的表示2.2 逻辑数据的表示逻辑数据的表示2.3 校验码校验码 码距与校验位的概念码距与校验位的概念 奇偶奇偶校验码校验码 2.3.3 海明校验码海明校验码 循环冗余校验码循环冗余校验码2.4 数值数据的表示数值数据的表示 2.4.1 数的二进制真值表示数的二进制真值表示 2.4.2 用用BCD码表示十进制数码表示十进制数 定点数的表示定点数的表示 2.4.4 浮点数的表示浮点数的表示2.1 字符数据的表示字符数据的表示n字符字符在计算机中的二进制编码称为在计算机中的二进制编码称为字符代
2、码字符代码。目。目前,计算机中普遍使用的字符代码是长度为前,计算机中普遍使用的字符代码是长度为7位的位的ASCII码码(美国信息交换标准代码)。(美国信息交换标准代码)。nASCII码在存储器中存放时,需要占用存储器的码在存储器中存放时,需要占用存储器的一个字节(一个字节(8位),其中的最高位(位),其中的最高位(b7)置为)置为0或或用作奇偶校验位。用作奇偶校验位。n字符串字符串被看作是一种数据结构,它是若干字符组被看作是一种数据结构,它是若干字符组成的一个序列,属于线性结构。字符串在计算机成的一个序列,属于线性结构。字符串在计算机中的存储一般采用顺序存储结构,串中每个字符中的存储一般采用顺
3、序存储结构,串中每个字符都用都用ASCII码表示,占用一个字节码表示,占用一个字节。设字符串设字符串“Very good!”存储在从主存地址存储在从主存地址i开始的开始的连续字节中,则其存储结果为连续字节中,则其存储结果为2.2 逻辑数据的表示逻辑数据的表示n逻辑数据逻辑数据用于描述某种关系是否成立、某种条件用于描述某种关系是否成立、某种条件是否满足、某种状态是否出现、某种控制是否有是否满足、某种状态是否出现、某种控制是否有效等。效等。n逻辑数据所描述的结果总是只有两种可能:成立逻辑数据所描述的结果总是只有两种可能:成立或不成立,满足或不满足,出现或未出现、有效或不成立,满足或不满足,出现或未
4、出现、有效或无效等。或无效等。n逻辑数据的两种值被分别称为逻辑数据的两种值被分别称为“真真”和和“假假”。“真真”代表关系成立、条件满足、状态出现、控代表关系成立、条件满足、状态出现、控制有效等,制有效等,“假假”则反之。计算机中只需用一位则反之。计算机中只需用一位二进制数字的二进制数字的0和和1两种状态,就能满足逻辑数据两种状态,就能满足逻辑数据表示的需要:表示的需要:1表示表示“真真”,0表示表示“假假”。2.3 校验码校验码n数据校验码数据校验码是一类能够发现甚至自动纠正某些数是一类能够发现甚至自动纠正某些数据错误的数据编码方法。据错误的数据编码方法。n通常,将正确的数据编码称为通常,将
5、正确的数据编码称为合法编码合法编码,而将错,而将错误的数据编码称为误的数据编码称为非法编码非法编码。n校验码的设计原则校验码的设计原则:当一个合法编码中的数据位:当一个合法编码中的数据位发生错误时,就变为一个非法编码,而不是变为发生错误时,就变为一个非法编码,而不是变为另一个合法编码。这样,只要检测到非法编码,另一个合法编码。这样,只要检测到非法编码,就能发现数据错误。就能发现数据错误。码距与校验位的概念n一个一个二进制编码系统二进制编码系统中,当两个不同的合法编码中,当两个不同的合法编码进行对应位的比较时,会有一些位上的取值不同,进行对应位的比较时,会有一些位上的取值不同,这些取值不同的位的
6、位数称为这两个编码的这些取值不同的位的位数称为这两个编码的码距码距,也称也称海明距离海明距离。n一个编码系统中任意两个合法编码的码距的最小一个编码系统中任意两个合法编码的码距的最小值,称为这个编码系统的值,称为这个编码系统的最小码距最小码距。n一个编码系统不仅要编出全部合法编码,还应能一个编码系统不仅要编出全部合法编码,还应能编出一定数量的非法编码。这样,在合法编码出编出一定数量的非法编码。这样,在合法编码出错时,才有可能变成非法编码而被检出。错时,才有可能变成非法编码而被检出。n编码系统中包含的非法编码称为编码系统中包含的非法编码称为冗余码冗余码。为了形成冗余码,需要在编码中增加为了形成冗余
7、码,需要在编码中增加冗余冗余位位(校验位校验位)。)。一个一个n位的编码系统,如果不设校验位,则位的编码系统,如果不设校验位,则无冗余码,全部无冗余码,全部2n个编码均为合法编码,最个编码均为合法编码,最小码距必然为小码距必然为1,编码系统无检错能力。,编码系统无检错能力。借助于校验位,可以使编码系统的最小码借助于校验位,可以使编码系统的最小码距大于距大于1,而与某个合法编码的码距小于最,而与某个合法编码的码距小于最小码距的编码一定是非法编码。小码距的编码一定是非法编码。奇偶校验码n奇偶校验码奇偶校验码是在基本编码之上增加一个校验位是在基本编码之上增加一个校验位奇偶校验位奇偶校验位而形成的。奇
8、偶校验分为而形成的。奇偶校验分为奇校验奇校验和和偶校验偶校验两种实现方案。两种实现方案。奇校验是通过校验位的调节,使整个编码中包含奇校验是通过校验位的调节,使整个编码中包含的二进制的二进制1的位数为奇数。的位数为奇数。偶校验是通过校验位的调节,使整个编码中包含偶校验是通过校验位的调节,使整个编码中包含的二进制的二进制1的位数为偶数。的位数为偶数。5位偶校验码表(最高位为校验位)位偶校验码表(最高位为校验位)原始数据原始数据编码编码(4位)位)偶校偶校验编码验编码(5位)位)原始数据原始数据编码编码(4位)位)偶校偶校验编码验编码(5位)位)000000000100011000000110001
9、100101001001010010101001010001100011101111011010010100110001100010100101110111101011000110111011110011110111111101111增加一个校验位后,最小码距从增加一个校验位后,最小码距从1变为变为2。表中未列出的另表中未列出的另16种种5位编码就是本编码系位编码就是本编码系统的冗余码,也就是非法编码。任一非法统的冗余码,也就是非法编码。任一非法编码均与表中某个合法编码的码距为编码均与表中某个合法编码的码距为1,且,且合法编码出错的位数为奇数(合法编码出错的位数为奇数(1、3或或5)时,)时,
10、均会变成非法编码。均会变成非法编码。奇偶校验码能够发现奇数个编码位的错误,奇偶校验码能够发现奇数个编码位的错误,但无法确定出错位的位置,故不能实现自但无法确定出错位的位置,故不能实现自动纠错。动纠错。n设奇偶校验码为设奇偶校验码为PDn-1Dn-2D1D0,其中,其中,P为校验为校验位,位,Dn-1Dn-2D1D0为为n个数据编码位,按照奇偶个数据编码位,按照奇偶校验码的编码方法,校验位与数据编码位的逻辑校验码的编码方法,校验位与数据编码位的逻辑关系为:关系为:奇校验奇校验:偶校验偶校验:奇偶校验的奇偶校验的校验式校验式为:为:对偶校验,对偶校验,S=1时编码有错,时编码有错,S=0时编码无错
11、,对时编码无错,对奇校验则正好相反。奇校验则正好相反。2.3.3 海明校验码海明校验码n海明校验码海明校验码具有发现具有发现2位错误并纠正位错误并纠正1位错误的能位错误的能力,是一种广泛使用的校验码。力,是一种广泛使用的校验码。n海明校验码的设计原理海明校验码的设计原理:将几个校验位编入到数:将几个校验位编入到数据码的特定位置,全部数据位被分成几个奇偶校据码的特定位置,全部数据位被分成几个奇偶校验组,每个数据位被按一定的规则分配到其中几验组,每个数据位被按一定的规则分配到其中几个组中,各校验位分别作为各组的奇偶校验(一个组中,各校验位分别作为各组的奇偶校验(一般为偶校验)位。当某个数据位出错时
12、,将会导般为偶校验)位。当某个数据位出错时,将会导致含有该数据位的几个校验组的校验结果出错。致含有该数据位的几个校验组的校验结果出错。根据出错校验组的不同组合,就能确定是哪个数根据出错校验组的不同组合,就能确定是哪个数据位发生错误,进而自动纠正这个错误。据位发生错误,进而自动纠正这个错误。海明码数据位数海明码数据位数k与校验位数与校验位数r的对应关系表的对应关系表 k值值最小的最小的r值值14511122627575812045678设校验位的位数为设校验位的位数为r,数据位的位数为,数据位的位数为k,若要能够,若要能够发现发现2位错误并纠正位错误并纠正1位错误,则需满足位错误,则需满足n设设
13、m=k+r,则海明码是一个,则海明码是一个m位编码,设其一般位编码,设其一般表示形式为表示形式为HmHm-1H2H1,则此海明码的,则此海明码的编码规编码规则则是:是:各校验位各校验位Pi(i=1,2,r)被安排在编码的)被安排在编码的第第2i-1位的位置,编码中的其余位为数据位。如校位的位置,编码中的其余位为数据位。如校验位验位P3在海明码中位于第在海明码中位于第4(23-1)位,即编码中)位,即编码中的的H4。海明码的每个位被分配到几个奇偶校验组中,海明码的每个位被分配到几个奇偶校验组中,所以,所以,每个位均由几个校验位来校验每个位均由几个校验位来校验。各被校验。各被校验位与相关的校验位之
14、间的关系是:位与相关的校验位之间的关系是:被校验位的位被校验位的位号是相关各校验位的位号之和号是相关各校验位的位号之和(这里的位号是指这里的位号是指其在海明码中的位号)其在海明码中的位号)。n例如,当例如,当k=4时,有时,有r=4,则海明码总位数为,则海明码总位数为8,可表示为可表示为H8H7H6H5H4H3H2H1。按编码规则,。按编码规则,4个个校验位校验位P1、P2、P3、P4被分别安排在被分别安排在H1、H2、H4和和H8。如以。如以Di和和Pi(i=1,2,3,4)分别表示数)分别表示数据位和校验位,则海明码的编码结果为据位和校验位,则海明码的编码结果为P4D4D3D2P3D1P2
15、P1 其中的各个编码位与相关的校验位之间的关系如其中的各个编码位与相关的校验位之间的关系如下表所示:下表所示:海明码的编码位与相关校验位之间的关系海明码的编码位与相关校验位之间的关系海明海明码码位号位号数据位数据位/校校验验位位相关的校相关的校验验位位号位位号H1P11 (1=1)H2P22 (2=2)H3D11,2 (3=1+2)H4P34 (4=4)H5D21,4 (5=1+4)H6D32,4 (6=2+4)H7D41,2,4(7=1+2+4)H8P48 (8=8)可见,可见,P1要对数据位要对数据位D1、D2、D4进行校验,进行校验,P2要对要对数据位数据位D1、D3、D4进行校验,进行
16、校验,P3要对数据位要对数据位D2、D3、D4进行校验。进行校验。如选择偶校验,有如选择偶校验,有 对应的三个校验式为对应的三个校验式为编码位出错与校验式结果之间的关系编码位出错与校验式结果之间的关系 当不同的编码位(包括数据位和校验位)发生错当不同的编码位(包括数据位和校验位)发生错误时,误时,3个校验式的值组成的二进制序列个校验式的值组成的二进制序列S3S2S1就就会不同。会不同。出出错错的的编码编码位位校校验验式式结结果果S3S2S1海明海明码码位号位号P1001(1)H1P2010(2)H2D1011(3)H3P3100(4)H4D2101(5)H5D3110(6)H6D4111(7)
17、H7无出无出错错位位000(0)无无n按按S3S2S1确认出错的编码位后,只需将该编码位确认出错的编码位后,只需将该编码位取取反反,即可纠正之。纠错时,需要针对,即可纠正之。纠错时,需要针对S3S2S1的每种的每种取值(除取值(除000外)设计相应的纠错电路,来纠正对外)设计相应的纠错电路,来纠正对应的出错编码位,硬件代价较大。应的出错编码位,硬件代价较大。n海明码还能检出海明码还能检出2位错误。因为任意两个编码位出位错误。因为任意两个编码位出错,都将使错,都将使S3S2S1000。但仅凭。但仅凭S3S2S1000,无法,无法区分是区分是2位错误还是位错误还是1位错误。为此,需要增加一位错误。
18、为此,需要增加一个个总校验位总校验位P4,使得,使得 并增设一个奇偶校验式并增设一个奇偶校验式 S4=1,发生,发生1位错误;位错误;S4=0,发生,发生2位错误。位错误。循环冗余校验码n循环冗余校验(循环冗余校验(CRC)码)码因其纠错能力强,且在因其纠错能力强,且在信息量较大的情况下,编码与解码所需的硬件代信息量较大的情况下,编码与解码所需的硬件代价小等优点,被广泛用于串行传送过程中的检错价小等优点,被广泛用于串行传送过程中的检错与纠错。与纠错。nCRC码也称为(码也称为(n,k)码,它是)码,它是在在k位信息位之位信息位之后拼接后拼接r位校验位位校验位而形成的而形成的n位编码(位编码(n
19、=k+r)。)。1模模2四则运算四则运算nCRC码的编码及校验过程均需要用到模码的编码及校验过程均需要用到模2四则运算。四则运算。模模2运算是按位运算,位与位之间不产生进位或借运算是按位运算,位与位之间不产生进位或借位。位。模模2加加/减运算:模减运算:模2加与模加与模2减是两种等效的运减是两种等效的运 算,均等同于逻辑异或运算,即算,均等同于逻辑异或运算,即 模模2乘运算:在对部分积求和时按模乘运算:在对部分积求和时按模2加进行。加进行。例如例如 1 0 1 0 1 1 0 1 1 0 1 0 0 0 0 0 1 0 1 0 1 0 1 0 1 1 1 0 0 1 0 模模2除运算:上商时,
20、如果上一次部分余数的最除运算:上商时,如果上一次部分余数的最高位为高位为1,则本次上商为,则本次上商为1,否则上商为,否则上商为0;求部分;求部分余数时,按模余数时,按模2减进行;将每次求得的部分余数的减进行;将每次求得的部分余数的最高位(总是最高位(总是0)去掉,使部分余数每次减少一位,)去掉,使部分余数每次减少一位,当部分余数的位数少于除数位数时,即为最终的当部分余数的位数少于除数位数时,即为最终的余数。例如余数。例如 1 0 1 商商 1 0 1 1 0 0 1 0 被除数也是最初的部分余数被除数也是最初的部分余数 1 0 1 部分余数最高位为部分余数最高位为1,上商为,上商为1 0 0
21、 1 1 0 去掉部分余数最高位的去掉部分余数最高位的0,部分余数减少一位,部分余数减少一位 0 0 0 部分余数最高位为部分余数最高位为0,上商为,上商为0 0 1 1 0 去掉部分余数最高位的去掉部分余数最高位的0,部分余数减少一位,部分余数减少一位 1 0 1 部分余数最高位为部分余数最高位为1,上商为,上商为1 0 1 1 去掉部分余数最高位的去掉部分余数最高位的0,得最终余数,得最终余数11 2CRC码的编码方法码的编码方法n一个一个k位二进制信息码位二进制信息码 可以用一可以用一个多项式表示:个多项式表示:M(x)称为称为信息码多项式信息码多项式。n为了在信息位后拼接为了在信息位后
22、拼接r位校验位,需将位校验位,需将k位信息位位信息位向左移动向左移动r位,得多项式位,得多项式M(x)xr。nr位校验位可以表示为多项式位校验位可以表示为多项式R(x),它是以下多,它是以下多项式运算产生的余数(按模项式运算产生的余数(按模2运算)运算)上式中,上式中,G(x)被称为被称为生成多项式生成多项式,是一个,是一个r阶多阶多项式项式;Q(x)为商多项式;为商多项式;R(x)是是余数多项式余数多项式。n将将R(x)拼接在拼接在M(x)之后,即得到完整的之后,即得到完整的CRC码,码,其多项式表示形式为其多项式表示形式为M(x)xrR(x)(模(模2加)。加)。nCRC码码M(x)xrR
23、(x)可被其生成多项式可被其生成多项式G(x)整除(模整除(模2除),即余数为除),即余数为r位全位全0。因为。因为 M(x)xrR(x)=Q(x)G(x)R(x)R(x)=Q(x)G(x)R(x)R(x)=Q(x)G(x)(模(模2运算)运算)【例例2.1】按(按(7,4)CRC码的编码规则,求码的编码规则,求4位信息码位信息码1100的的CRC码,生成多项式选择码,生成多项式选择G(x)=x3x1。解:由(解:由(7,4)码可知)码可知r=74=3,即校验位有,即校验位有3位。根位。根据据4位信息码位信息码1100得得M(x)=x3x2;M(x)左移左移r位后得位后得 M(x)xr=(x3
24、x2)x3=x6x5=1100000 G(x)=x3x1=1011。下面按模下面按模2除求除求3位校验位位校验位 所以,所以,R(x)=010。由此可得。由此可得CRC码为码为 M(x)xrR(x)=1100000010=1100010 (模(模2加)加)3CRC码的检错与纠错码的检错与纠错nCRC码的检错原理码的检错原理:数据传送的接收方在接收到:数据传送的接收方在接收到CRC码后,使用与发送方约定的生成多项式去除码后,使用与发送方约定的生成多项式去除该该CRC码,如果余数为码,如果余数为r位全位全0,则收到的,则收到的CRC码码无错误,否则有错误。无错误,否则有错误。nCRC码的纠错原理码
25、的纠错原理:CRC码不同位上的错误将导码不同位上的错误将导致产生不同的余数致产生不同的余数R(x),可依据余数,可依据余数R(x)确定确定并纠正出错的编码位。并纠正出错的编码位。例例2.1的(的(7,4)CRC码出错位与余数码出错位与余数R(x)之间的对应关系之间的对应关系(生成多项式(生成多项式G(x)=1011)A7 A6 A5 A4 A3 A2 A1 余数余数R(x)出出错错位位正确的正确的编码编码 1 1 0 0 0 1 00 0 0无无发发生生1位位错错误误的的编码编码 1 1 0 0 0 1 1 1 1 0 0 0 0 0 1 1 0 0 1 1 0 1 1 0 1 0 1 0 1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 组成 原理 电子 教案
限制150内