计算机组成原理学习笔记——数据校验


一.数据校验的必要性

  1. 受元器件的质量、电路故障或噪音干扰登因素的影响,数据在被处理、传输、存储的过程中可能出现错误。
  2. 若能设计硬件层面的错误检测机制,可以减少基于软件检错的代价(系统观)。

二.数据校验的基本原理

常识告诉我们,任何收获都是基于付出的,校验也是如此。

那么为了对传输的数据实施校验,我们必须要有额外的付出,那么就是通过增加冗(rong)余项来实现的。
在这里插入图片描述
校验位的 ‘r’位就是付出

基本原理:在发送方对被发送的信息,基于校验位做某种运算,得到一个编码,发送给接收方,接收方会根据收到的信息和校验位再去执行与发送方相关的运算,去评测收到的这个数据是否出现了错误,如果出现了错误,能否定位并改正错误。

这个编码既包括原始数据,也包括基于规则算出来的校验信息。

因为不同的校验编码有不同检错纠错能力,为了分析不同的校验编码所具有的检错纠错能力,我们还要学习一下‘码距’的概念

三.码距

基本概念: 码距顾名思义就是编码的距离。微观的说,他就是在同一个编码当中,任意两个合法编码之间,不同二进制位数的最小值。

例如
在四位二进制编码当中,0011与0001的码距为1

虽然0000与1111有四位不同,但是码距的概念是不同进制位数的最小值,所以0000与0011有两位不同,所以码距是2
虽然0000与1111有四位不同,但是码距的概念是不同进制位数的最小值,所以0000与0011有两位不同,所以码距是2

校验码中增加冗余位的目的就是为了增大码距,使得错误发生以后,接收方至少可以检测出错误,

四.码距与检错纠错能力的关系

在这里插入图片描述
所以根据此关系图,我们对于任意的校验码,你应该知道他的码距,只要码距求出来了,根据这个规则,我们就可以评判他的检错纠错能力。

五.选择码距要考虑的因素

我们根据上图已经知道了码距与检错纠错的关系,但是根据这个图,我们可以发现码距越大,检错和纠错能力就越强,那么是不是在我们的实际生活当中,我们都尽量选择大的码距呢?

也不完全是这样,我们在实际当中选择码距或者说校验编码的时候,会出现问题:

  • 码距越大,抗干扰能力越强,纠错能力越强,数据冗余越大,编码效率低,编码电路也相对复杂。

所以说,我们选择码距要根据实际情况灵活变化:

  • 选择码距必须考虑信息发生差错的概率和系统能容许的最小差错率。

本文根据华中科技大学的《计算机组成原理》总结而成。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值