CISC和RISC,奇偶校验码和海明码

计算机系统知识
1.CISC 和RISC
CISC Complex Instruction Set Computer 复杂指令计算机系统
RISC Reduced Instruction Set Computer 精简指令集计算机
CISC相比RISC的指令系统更丰富
一条指令要完成的工作要更多
2.校验码
二进制数据经过传送、存取等环节,会发生误码(1变成0或0变成1),这就有如何发现及纠正误码的问题。
(1) 奇偶校验码
码距 一个编码系统中任意两个合法编码(码字)之间不同的二进数位(bit)数叫这两个码字的码距,而整个编码系统中任意两个码字的的最小距离就是该编码系统的码距。
奇校验码和偶校验码的统称,是一种最基本的检错码。
如果是奇校验码,在附加上一个校验元以后,码长为n的码字中“1”的个数为奇数个;如果是偶校验码,在附加上一个校验元以后,码长为n的码字中“1”的个数为偶数个。
通过在编码中增加一位校验位(可以加1也可以加0)来使编码中1的个数为奇数或者偶数,校验位可以在原编码的前面或者后面加。通过加入校验位后的1个数是奇数还是偶数,可分为两种:
奇校验:1的个数为奇数
偶校验:1的个数为偶数
奇偶校验码只能检测奇数位出错的情况,不能检测偶数位出错情况,并且不具有纠错能力。
(2)海明码
可以检错也可以纠错
是一种利用奇偶性来检错和纠错的校验方法。
因此想要到达检错纠错的效果,就要通过加容来进行,也就是通过加大码距来进行测试
❤ 举个栗子

用一位长度的二进制编码,若A=1,B=0,这样A,B之间的最小码距为1

用二位长度的二进制编码,若A=11,B=00,这样A,B之间的最小码距为2

用三位长度的二进制编码,若A=111,B=000,这样A,B之间的最小码距为3
异或运算,相异为1,相同为0。它也叫模2和、模2加法,本质上是不带进位的加法。
数学符号是 ⊕;
计算机符号是“xor”;
C语言中异或符号是^;
常用的公式是:(a⊕b)⊕a=b,即两个数异或结果在与其中一个数异或得到的是另一个数。
常用的应用:多用在一些加密算法中,将要加密的数据和一些已知数进行异或运算,得到加密后的数据。
设数据有n位,校验码有x位。则校验码一共有2种取值方式。其中需要一种取值方式表示数据正确,剩下
2^x−1
种取值方式表示有一位数据出错。因为编码后的二进制串有n+x位,因此x应该满足:2^x−1≥n+x

分配校验位的位置:校验位的位置分配有规律,一般都放置在2^n的位置处1 2 4 8.。。。。
分配信息位的位置:信息位的位置分配都是从高位到低位依次存放。
1 2 3 4 5 6 7 8
R R X R X X X R
R代表校验位 X代表信息位
校验的原则是:想要校验第几位(i),那么久应该满足对应的那几个校验位的位置相加等于i
要校验第三位X 就要看第一位和第二位的R
要校验第七位X 就要看第一位和第二位以及第三位的R
比如要校验1101 根据公式 需要3位校验码
1 2 3 4 5 6 7
R1 R2 1 R4 1 0 1
在这里插入图片描述

在这里插入图片描述
R1 1⊕1⊕1=0⊕1=1
R2 1⊕0⊕1=1⊕1=0
R4 1⊕0⊕1=1⊕1=0
则七位海明码位 1010101
1、所有的校验码所在的位只是有对应的校验码进行校验,如第1位(只有R1校验)、第2位(只有R2校验)、第4

位(只有R3校验),。。。。也就是这些位如果发生了差错,影响的只是对应的校验结果,不会影响其他校验码的校

验结果。这一点非常的重要,如果最终发现知识一个校验组中的校验结果不符,则直接可以知道是对应校验组中的校

验码在传输过程中出现饿了差错。

2、所有的信息吗为均被至少两个校验码进行了校验,也就是至少校验了两次,查看对应的是哪两组校验结果不

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值