计算机组成原理——数据校验码

  • 码距与数据校验码
  1. 汉明距离:一组编码中任何两个编码之间代码不同的位数称为这两个编码的距离。
  2. 四位二进制编码表示16种状态,则这组编码码距为1,因为任何一位或几位出错,都会变成一个合法的编码,所以这组编码没有检错纠错的能力,但如果把这十六种状态分为两组,0000,0011,0101,0110,1001,1010,1100,1111用作合法编码,其余的用作非法编码,那这组编码码距就为2,有纠错能力,因为任意一位发生错误都可以检测出来。
  3. 要纠正t位错误,编码的码距需要2t+1,任何一个编码出现t位错误,都能唯一的确定原来的正确编码。
  4. 校验位越多,码距越大,编码的纠错能力和检错能力越强。d>=e+1时可检验e个错误,d>=2t+1时可纠正t个错误。
  5. 数据校验码所使用的二进制位数比正常数据编码要多,所以在使用过程中将增价数据存储的容量或数据传送的数量,实际应用中也要考虑不增加硬件开销的情况下尽可能发现或改正更多的错误。
  • 奇偶校验码
  1. 广泛应用于主存的读写校验或ASCII码字符传送过程中的检查。
  2. 奇校验与偶校验:分别是使n+1位的奇偶校验码中1的个数为奇数或偶数。
  3. 很明显,各位异或起来就得到了一位校验码,往后面添上就行了。
  4. 出现偶校验的标志:各校验码数位异或起来=E,E为0时表示无错,E为1时表示有错。
  5. 奇偶校验码只能发现奇数位错误,无法自动纠错,在CPU与主存的信息传送过程中,奇偶校验码被广泛应用。
  • 海明校验码
  1. 最关键的还是指误字,E1=p1^A5^A6^A3^A2^A0,E2=P2^A6^A4^A3^A1^A0,E3=P4^A5^A4^A3,E4=P8^A2^A1^A0.
  2. 若其为0000则无错,不为零则代表的十进制数就是出错的位号。
  • 循环冗余检验吗
  1. CRC编码思想:多项式编码方法,将待编码的n位有效信息看作是一个n阶的二进制多项式M(x),再用另一个约定多项式G(x)去除M(x),得到M(x)/G(x) =Q(x)+R(x)/G(x),其中Q(x)为除得的商数,R(x)为除得的余数,在传送过程中,发送方可把M(x)-R(x)作为编好的校验码进行传送,接收方接受到编号码后,仍用约定的多项式G(x)去整除,如果能够整除,则表示无误,不能则表示有误。
  2. 模2运算:包括加减,和模二乘除。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值