1.汉明码的组成
对于奇偶校验的认识:在原先的数据上添加一位校验位。初识时,数据位和校验位中的1加起来保证是偶数的,就是偶校验。保证是奇数的就是奇校验。如果是偶校验,但是信息在传输后,1的个数变成了奇数了,那么说明在传输的过程中,信息发生了错误。但具体是1变成了0,还是0变成了1,哪个1变成了0,哪个0变成了1,都无法确定。这就是奇偶校验带来的缺点。
为了缩减出错码位的范围,可以采用分组的奇偶校验。将数据分成两组,插入前后两个检验位。通过观察哪一组出错,就可以判断出错位在前面还是后面,这只能大致确定一个范围。
无论是奇校验还是偶校验,都是针对1的个数来说的。奇偶校验或者汉明码校验都是人为的,按照相应要求构建出来的确定的奇或者偶校验,一旦在传输的过程中出错,那么我们就很容易辨别出来。汉明码是在分组奇偶校验的基础上发展而来的。
2.整个存储器校验过程的复习
A. 说是存储器校验,本质上是对存储编码的校验。
B. 首先要明白的是,编码出错中,一位出错的概率最大,超过90%,其次是两位,三位,位数依次递增。因此,正常说的出错,大多都是指一位出错。第二点要说明的是,如何设置一个高明的合法码组对于编码的校验也是有帮助的。依我的看法的是,程序是由诸多编码构成。如果这些编码都按照汉明编码的方式来编码,再按汉明校验的方法,那么检错和纠错的能力将大大提高。这就说明,合理地设计合法码组对于存储器的校验是有帮助的。
C. 如何构建合理的码组,称为提高存储器校验能力的关键。通过研究例案,发现码组中的最小距离影响着校验能力和纠错能力。
在谈论码组中的最小距离时,同时将它和检错位和纠错位联系在一起,组成一个公式。L-1=D+C,由于本节是以汉明编码为主,所以对L的大小有要求,L最小为3.这就意味着必须要有一位的纠错能力,至少是一位的纠错。以目前的理解来看,书本上并没有铺开来讲,大多以检测两位和纠错一位为主。
D. 汉明编码是一种奇偶,分组,非线性划分的校验。
通过对汉明编码的组成分析,我们来看汉明编码的运作过程。整个汉明编码是两部分,数据位和校验位,不存在什么纠错位。能够纠错一位,而不是存在什么纠错位。
在运作的过程中,我们对原有的编码进行了扩编,添加了校验位。无论是原有的数据位,还是后加的校验位,在传输的过程中,都有可能出错。这里说的出错是指一位出错,当然也可能是不出错。如果用K表示数据位,用N表示校验位,这里的N和K涵盖了所有的位数。通过公式,2的N次方大于等于N+K+1,只要提高K位数据位,自然就可以确定构建几位汉明编码。在大于等于中,有条件的情况下,都会选择等于,每多一位,都是增加负担。