计算机组成原理-第8讲(第2章)解析.ppt

  1. 1、本文档共25页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算机组成原理-第8讲(第2章)解析

2.9 数据校验码 数据校验码是一种常用的带有发现错误或自动改错能力的数据编码方法 实现原理是在数据位中加入一些冗余码,使合法数据编码出现错误时,就成为非法编码。这样,就可以通过检测编码的合法性来达到发现错误的目的。合理地安排非法编码数量和编码规则,就可以提高发现错误的能力,或达到自动改正错误的目的。 2.9.1 奇偶校验码 通常是为一个字节补充一个二进制位,称为校验位,用设置校验位的值为0或1,使字节的8位和该校验位含有1的个数为奇数或偶数。在使用奇数个1的方案进行校验时,称为奇校验,反之,称为偶校验。 2.9.1 奇偶校验码 奇偶校验位的形成及校验线路 2.9.2 海明校验码 一、要解决的3个问题: (1)海明校验码工作原理? (2)如何形成海明校验码? (3)已知海明校验码,如何对其进行校验? 二、海明校验码的工作原理 在数据中加入几个校验位,并把数据的每一个二进制位分配在几个奇偶校验组中。当某一位出错后,就会引起有关的几个校验组的值发生变化,这不但可以发现错误,还能指出是哪一位出错,为自动纠错提供了依据。 三、海明校验码的形成 (1)数据位和校验位的关系 假设校验位的个数为r,则它能表示2r个信息,用其中的一个信息指出“没有错误”,其余的2r-1个信息指出错误发生在哪一位。然而错误也可能发生在校验位,因此只有k=2r-1-r个信息能用于纠正被传送数据的位数,也就是说要满足关系: 2r=k+r+1 ?(发现一位错) 2r-1=k+r (发现与自动校正一位错,并发现两位错) 数据位k与校验位r的对应关系 (2)海明码的编码规律 若海明码的最高位号为m,最低位号为1, 即HmHm-1…H2H1,则海明码的编码规律通常是: a.校验位与数据位之和为m,每个校验位Pi在海明码中被分在?2i-1的位置,其余各位为数据位,并按从低向高逐位依次排列的关系分配各数据位。 b.海明码的每一位Hi(包含数据位和校验位本身)由多个校验位校验,其关系是被校验的每一位位号要等于校验它的各校验位的位号之和。这样安排的目的,是希望校验的结果能正确反映出出错位的位号。 四、海明码的校验 海明码校验函数(S函数)及校验过程?偶校验? S1=P1⊕D1⊕D2⊕D4⊕D5⊕D7 S2=P2⊕D1⊕D3⊕D4⊕D6⊕D7 S3=P3⊕D2⊕D3⊕D4⊕D8 S4=P4⊕D5⊕D6⊕D7⊕D8 S5=D1⊕D2⊕D3⊕D4⊕D5⊕D6⊕D7⊕D8⊕P5⊕P4⊕P3⊕P2⊕P1 2.9.3 循环冗余校验(CRC)码(自学) CRC码可以发现并纠正信息在存储或传送过程中连续出现的多位错误,因此在磁介质存储和计算机之间通讯方面得到广泛应用。 CRC码一般是在k位信息码之后拼接r位校验码。应用CRC码的关键是如何从k位信息位简便地得到r位校验位(编码),以及如何从k+r位信息码判断是否出错。 一、CRC码的编码方法 1.模2运算方法 模2加、减、乘、除运算法则介绍。 2.CRC码的编码方法 假设待编码的k位有效信息位组表达为多项式M(x) M(x)=Ck-1xk-1+Ck-2xk-2+…+Cixi+…+C1x+C0? 式中Ci为0或1,若将信息位组左移r位,则可表示为多项式M(x)·xr。这样就可以空出r位,以便拼接r位校验位。?? 二、CRC码的译码与纠错 将收到的循环校验码用约定的生成多项式G(x)去除,如果码字无误则余数应为0,如果某一位出错,则余数不为0,不同位数出错余数不同,即用余数表示出错位。例子中生成的CRC码的出错模式如下表所示。 如果循环校验码有一位出错,用G(x)做模2除将得到一个不为0的余数,如果对余数补1个0继续除下去,各次余数将按上表顺序循环。 二、CRC码的译码与纠错 三、关于生成多项式 并不是任何一个(r+1)位多项式都可以作为生成多项式的,从检错及纠错的要求出发,生成多项式应能满足下列要求: (1)任何一位发生错误都应使余数不为0; (2)不同位发生错误应当使余数不同; (3)对余数继续作模2除,应使余数循环。 本节作业 P151-4.17 计算机组成原理 计算机学院 码距是根据任意两个合法码之间至少有几个二进制位不相同而确定的,仅有一位不同,其码距为1。例如:用四位二进制表示16种状态,则16种编码都用到了,此时码距为1,就是说,任何一个状态的四位码中的一位或几位出错,就变成另一个合法码,此时无查错能力。若用四个二进制位表示8种状态,就可以只用其中的8种编码,而把另8种编码作为非法编码,此时码距为2。 常用的数据校验码有:奇偶校验码、海明校验码和循环冗余校验码(CRC码)。 2.9 数据校验码 数? 据 奇校验的编码 偶校验的编码 0 0 0 0 0 0

文档评论(0)

little28 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档