检验用计算机数据验证,系分资料采用数据校验码提高计算机系统可靠性

11.3.1.2采用附加的数据校验码来提高计算机系统的可靠性

数据在计算机系统内形成、存取和传送的过程中可能产生错误。为减少和避免这类错误,一方面是精心设计各种电路,提高计算机硬件本身的可靠性,另一方面是在数据编码上找出路,即采用带有某种特征能力的编码法,通过少量的附加电路,使之能发现某些错误,甚至能确定错误的性质和准确的出错位置,进而实现自动改错的能力。

数据校验码就是一种常用的带有发现某些错误或自动改错能力的数据编码方法。它的实现原理是,在合法的数据编码之间,加进一些不允许出现的(非法的)编码,使合法数据编码出现某些错误时,就成为非法编码。这样,就可以通过检测编码的合法性来达到发现错误的目的。合理地安排非法编码数量和编码规则,就可以提高发现错误的能力,甚至达到自动改正错误的目的。这里用到一个码距的概念。码距是指任意两个合法码之间至少有几个二进制位不相同,仅有一位不同,称其码距为1,例如用4位二进制表示16种状态,则16种编码都用到了,此时码距为1,就是说,任何一个状态的4位码中的一位或几位出错,就变成另一个合法码,此时无查错能力。若用4个二进制位表示8个状态,就可以只用其中的8种编码,而把另8种编码作为非法编码,此时可使合法码的码距为2.一般来说,合理地增大合法码的码距,就能提高发现错误的能力,但表示一定数量的合法码所使用的二进制位数变多,增加了数据存储的容量或数据传送的数量。在设计数据校验码的时候,通常要考虑在不过多增加硬件开销的情况下,尽可能发现更多的错误,甚至能自动改正某些最常出现的错误。

假设电路有p个输入端和q个输出端,则可能出现的输入组合为2p个,可能出现的输出组合为2q个,如果在正常运行时2q个输出组合均可能出现,则就无法通过观察和验证输出值来确定电路是否存在故障。

如果在2q个输出组合中仅有m<2q个输出组合是有效的,那么在出现另一些属于2q-m中的组合时就可断定电路中必定存在故障。通常称属于m中的组合为有效的输出组合,称为合法码字。否则为错误的输出组合,称为非法码字。

能自动证实电路或系统中是否存在故障的检验技术与纠错编码技术密切相关。常用的发现错误或纠错的数据校验码有奇偶校验码、海·明校验码和循环冗余校验码(CRC)。

1.奇偶校验码

奇偶校验码是一种开销最小、能发现数据代码中一位出错情况的编码,常用于存储器读写检查,或数据传送过程中的检查。它的实现原理是,使原来合法编码码距由1增加到2.若合法编码中有一个二进制位的值出错了,由1变成0,或由0变成1,这个码都将成为非法编码。实现的具体方法通常是为一个字节补充一个二进制位,称为校验位,用设置校验位的值为0或1,使字节的8位和该校验位含有1值的个数为奇数或偶数。在使用奇数个1的方案进行校验时,称为奇校验,反之称为偶校验。奇偶校验不能用于纠错。

2.纠错码ECC

ECC是具有对信息进行检测并纠正其错误的码。汉明码(HarmingCode)是能纠正可能出现的各种单个错误的纠错码。扩展汉明码能纠正一个错误并能检测两个错误。在计算机的存储器中,经常使用汉明校验码。它的实现原理是,在数据中加入几个校验位,将数据代码的码距均匀地拉大,并把数据的每一个二进制位分配在几个奇偶校验组中。当某一位出错后,就会引起有关的几个校验的值发生变化,这不但可以发现出错,还能指出是哪一位出错。为进一步自动纠错提供了依据。

假设校验位的个数为r,则它能表示2r个信息,用其中的一个信息指出"没有错误",其余的2r-1个信息指出错误发生在哪一位。然而错误也可能发生在校验位,因此只有k=2r-1-r个信息能用于纠正被传送数据的位数,也就是说要满足关系:2r=k+r+1

如果能检测与自动校正一位错,并发现两位错,此时校验位的位数二和数据位的位数k应满足下述关系:2r-1≥k+r

按上述不等式,可计算出数据位k与校验位r的对应关系。

3.循环冗余检验码CRC

CRC是循环码的子类。若码C中任一码字任意循环移位后仍为码C一中的码字,即码C对循环移位具有封闭性,则称C为循环码。一个码字长为n,其中信息码长k;校验码长r,即n=k+r.

在计算机的磁盘机和磁带机中常用CRC来纠错,其纠错能力很强,且是高效码,例如在磁带机中选用的CRC-16码型和软磁盘机中选用的CRC-CCITT码型,其校码位长r为16,生成的码长n=215-1=32767,编码效率R=(n-r)/n=99.95%,是高效码。

上述两种码型可直接选用市售CRC芯片来实现,不必设计编译电路。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
机器学习是一种人工智能(AI)的子领域,致力于研究如何利用数据和算法让计算机系统具备学习能力,从而能够自动地完成特定任务或者改进自身性能。机器学习的核心思想是让计算机系统通过学习数据中的模式和规律来实现目标,而不需要显式地编程。 机器学习应用非常广泛,包括但不限于以下领域: 图像识别和计算机视觉: 机器学习在图像识别、目标检测、人脸识别、图像分割等方面有着广泛的应用。例如,通过深度学习技术,可以训练神经网络来识别图像中的对象、人脸或者场景,用于智能监控、自动驾驶、医学影像分析等领域。 自然语言处理: 机器学习在自然语言处理领域有着重要的应用,包括文本分类、情感分析、机器翻译、语音识别等。例如,通过深度学习模型,可以训练神经网络来理解和生成自然语言,用于智能客服、智能助手、机器翻译等场景。 推荐系统: 推荐系统利用机器学习算法分析用户的行为和偏好,为用户推荐个性化的产品或服务。例如,电商网站可以利用机器学习算法分析用户的购买历史和浏览行为,向用户推荐感兴趣的商品。 预测和预测分析: 机器学习可以用于预测未来事件的发生概率或者趋势。例如,金融领域可以利用机器学习算法进行股票价格预测、信用评分、欺诈检测等。 医疗诊断和生物信息学: 机器学习在医疗诊断、药物研发、基因组学等领域有着重要的应用。例如,可以利用机器学习算法分析医学影像数据进行疾病诊断,或者利用机器学习算法分析基因数据进行疾病风险预测。 智能交通和物联网: 机器学习可以应用于智能交通系统、智能城市管理和物联网等领域。例如,可以利用机器学习算法分析交通数据优化交通流量,或者利用机器学习算法分析传感器数据监测设备状态。 以上仅是机器学习应用的一部分,随着机器学习技术的不断发展和应用场景的不断拓展,机器学习在各个领域都有着重要的应用价值,并且正在改变我们的生活和工作方式。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值