0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

计算机组成原理—校验码

冬至子 来源:懒蛋的日记 作者:懒蛋的日记 2023-05-25 16:11 次阅读

2.4 校验码

为减少和避免数据传输错误,一方面从电路、电源和布线等方面采取措施,提高抗干扰能力。另一方面,在数据编码上采用一些具有特征的编码法,附加少量电路,能够发现某些错误,甚至能确定错误的性质和出错的位置,进而实现自动改错。前者称为检错,后者称为纠错。

纠错的关键:如何快速、准确地发现错误。

常用技术:校验码技术。

常用校验码有三种:奇偶校验码、海明码和循环冗余码。

奇偶校验码

奇偶校验码:是在若干有效信息位上,增加一个校验位,如果校验位的取值使得整个校验码中“1”的个数是奇数,称为奇校验码;如果校验位的取值使得整个校验码中 “1”的个数是偶数,则称为偶校验码。

图片

形成校验位、进行校验的电路实现简单。

以8位有效信息D(7)D(6)…D(1)D(0)为例,其奇偶校验位的形成和校验电路如下图所示。其中:A输出端为1,表明偶校验码出错;B输出端为1,表明奇校验码出错。

图片图片

注意:奇偶校验位本身也可能出错。

  • 特点:

  • 奇偶校验方法简单,电路容易实现,而且只需要一位额外的存储空间,因此应用较多。

  • 单向奇偶校验只能检测出校验码中有奇数个位出错,不能发现偶数个错误,也不能确定哪位出错。

  • 交叉奇偶校验:

  • 大量字节的数据块传送时,经常将数据块中的多个字节排列成矩阵,进行横向和纵向同时进行校验。

  • 交叉校验可以发现两位同时出错的情况。在一定程度上对单向的奇偶校验是一种弥补。例如:

    图片
    假设第3个字节中的D(5)和D(2)位出错,其横向校验码中仍有奇数个1,单从横向看不出错误。但是D(5)列和D(2)列的各有一个错误,从D(5)列和D(2)列的纵向奇校验码会发现该列出错。

**合法代码集合——**检0位错,纠0位错

图片

编码的最小距离

图片

海明校验码的组成

  1. 汉明码采用奇偶校验

  2. 汉明码采用分组校验

    图片

  3. 汉明码分组采用非划分方式

    图片

海明校验码的组成

图片

海明校验码的组成三要素

  • 汉明码的组成需增添?位检测位
  • 检测位的位置?
  • 检测位的取值?

海明校验码

图片

引言

奇偶校验无法检测出偶数个位出现错误,即使测出了错误,也不能指出哪一位出现了错误。

如果一条信息中包含多个用于纠错的位,通过妥善安排这些纠错位,使得不同位出错产生不同的错误结果,这样就可以找出出错位了。

例如,在一个7位的信息中,单个数据位出错有7种可能,用3个错误控制位可以确定是否出错及哪一位出错。

海明码就是这种思想。其本质是多重奇偶校验,可以用来自动纠正一位差错。至今仍在广泛使用。

编码基本思想

图片

若增加校验位,也即增加了监督关系式和校正因子,就可以用来区分更多的情况。例如:有两个校正因子S(1)、S(2),其取值有4种情况00、01、10和11,就可以表达4种不同的情况。比如,00表示无差错,01、10和11可以用来指出3种不同情况的差错,从而可以进一步区分是哪一位出错。

假设为k个数据位设置r个校验位,则r个校验位能表示2(r)个状态,用其中的一个状态表示整个k+r位的海明码“没有发生错误”,其余的2(r) -1个状态指出有错误且不同的状态值指明相应的位发生错误,包括k个数据位和r个校验位。因此校验位的位数应满足如下关系:

图片

循环冗余校验码

循环冗余校验码CRC(Cyclic Redundancy Check)是最著名的一种检错方式。

特点:检错能力极强,开销小,易于用编码器及检测电路实现。其漏检率低于0.0047%,在性能上和开销上也远远优于奇偶校验等方式。

在数据存储和数据通讯领域,CRC无处不在,著名的通讯协议X.25的FCS(帧检错序列) 和磁盘驱动器的读写都采用了CRC作为检错手段。

循环冗余校验码CRC把任何一个二进制编码都与一个系数为0或1的多项一一对应,因此循环冗余校验码CRC又称为多项式码。

图片

图片

模2除法:多位二进制模2除法与普通意义上多位二进制除法类似,只是每次的求余数时,采用的是模2减法,每一位的运算不影响其他位,即不向上一位借位,实际上就是异或。

图片

模2除法

图片

  1. 余数的首位为1,且位数与除数相同,商就为1
  2. 两个数不比较大小,做异或运算得到结果
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 驱动器
    +关注

    关注

    51

    文章

    7319

    浏览量

    142996
  • 状态机
    +关注

    关注

    2

    文章

    486

    浏览量

    27184
  • 数据存储器
    +关注

    关注

    1

    文章

    68

    浏览量

    17721
  • CRC效验
    +关注

    关注

    0

    文章

    30

    浏览量

    1072
收藏 人收藏

    评论

    相关推荐

    【PPT】计算机组成原理

    【PPT】计算机组成原理 附件列表:
    发表于 02-22 09:56

    计算机组成原理是什么?

    计算机组成原理-处理器  本文根据徐文浩老师的计算机组成原理记录:计算机组成原理  CSDN base64 图片显示有问题, 想要个人笔记的可以私我计算机组成原理-处理器1 建立数据通
    发表于 07-07 07:38

    计算机组成原理基础知识

    计算机组成原理基础知识,前言参考:《王道计算机组成原理》学习笔记总目录+思维导图2019 王道考研 计算机组成原理第一章 计算机系统概述1.1 计算
    发表于 07-16 07:48

    计算机组成原理是什么

    计算机组成原理期末复习1.外围设备1>外围设备的定义中央处理器和主存储器构成了计算机的主体,称为主机。主机以外的大部分硬件设备都称之为外部设备,简称外设或 I/O 设备,包括输入输出设备、辅助
    发表于 07-16 08:09

    计算机组成原理

    计算机组成原理总复习文档目录计算机组成原理总复习文档第一章 计算机系统概述第二章 运算器方法和运算器第三章 内部存储器第四章 指令系统第五章 CPU 中央处理器第六章 总线第七章 外围设备第八章
    发表于 07-21 07:25

    计算机组成原理简答题及答案

    计算机组成原理简答题及答案,一.简答题1.什么是计算机系统、计算机硬件和计算机软件?硬件和软件哪个更重要?计算机系统:由
    发表于 07-22 06:53

    计算机组成原理mooc期末测试

    计算机组成原理mooc期末测试,第四章存储系统参考链接:计算机组成原理课后答案第四章-庞海波参考链接:計算机组成原理第3章习题参考答案参考链接:计算机组成原理第四章存储器复习4.1、存
    发表于 07-22 07:43

    计算机组成原理 精选资料分享

    计算机组成原理第一章 计算机系统概述1.1 计算机系统简介计算机系统:硬件、软件软件:系统软件、应用软件计算机系统的层次结构(由高到低):高
    发表于 07-23 06:15

    计算机组成原理

    【2017年整理】计算机组成原理_8_外部设备第8章 外部设备;一个完整的计算机硬件系统由两大部分组成:一是由中央处理器(CPU)和主存储器(MM)组成的主机,二是外部设备。外部设备是
    发表于 09-01 07:31

    计算机组成原理各章复习重点,计算机组成原理复习要点说明.doc 精选资料分享

    计算机组成原理复习要点说明.doc (23页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦!19.9 积分.word格式,计算机组成原理复习要点一、 题型
    发表于 09-13 06:27

    计算机组成原理

    计算机组成原理_第八章 (18页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦!9.9 积分第第8章 外围设备章 外围设备 外围设备的一般功能外围设备的一般
    发表于 09-17 08:47

    计算机组成原理是什么?

    计算机组成原理是什么?
    发表于 11-09 07:25

    计算机组成原理试卷及答案

    计算机组成原理2002秋 试卷 (下载) 计算机组成原理2002秋 试卷答案 (下载) 计算机组成原理2003秋 试卷 (下载) 计算机组成原理2003秋 试卷答案 (下载)
    发表于 04-11 09:02 0次下载

    计算机组成原理(第3版)

    计算机组成原理(第2版)-
    发表于 06-10 14:44 0次下载

    计算机组成与设计

    计算机组成与设计 计算机组成与设计是计算机科学中最基础的课程之一,它主要阐述了计算机组成原理和设计方法。随着
    的头像 发表于 08-17 12:37 937次阅读