计算机组成原理中三种校验方式
计算机中的数据校验方法;几个名词概念:码字:由若干代码组成的一个字。 如8421码中6(0110),7(0111)码距:一种码制中任意两个码字间的最小距离。距离:两个码字之间不同的代码个数。 8421码中,最小的码字间的距离为1,如0000和 0001、0010和0011等;最大码字间的距离为4, 如0111和1000。所以8421码制的码距为1。码距为1码制,即不能查错也不能纠错。码距越大的码制,查错、纠错能力越强。;1 奇偶校验法;在接收端校验检测:偶校验:P=C ⊕ X0 ⊕X1 ⊕…⊕Xn-1奇校验:P=C ⊕ X0 ⊕X1 ⊕…⊕Xn-1
若P=0则无错或有偶数位错,若P=1则有奇数位错; 例如:八位信息中共有5个‘1’,附加校验位后变为九位。 若采用奇校验,则附加的校验位应取‘0’值,保证1的个数为奇数个即 0; 若采用偶校验则附加的校验位应取‘1’值即 1。
奇偶校验的特点:
1、奇偶校验法可检出数据传送过程中奇数个数位出错的情况; 2、实际中两位同时出错的概率极低,奇偶校验法简便可靠易行,但它只能发现错误,却不知错在何处,因而不能自动纠正。;码 能 力码距?检错 纠错?? 1 ???? 0?? ? 02 ???? 1??? ?03 ???? 2 或 14 ???? 2 加 15 ???? 2 加 26 ???? 3 加 27 ???? 3 加 3;2 海明码校验方法;强调指出:海明码校验方法以奇偶校验法为基础,其校验位不是一个而是一组。海明码校验方法能够检测出具体错误并纠正。 海明码的最低目标是能纠正一位错,因此要求海明码的码距大于或等于3。; 海明校验码是Richard Hamming于1950年提出的,目前仍广泛使用的一种编码方法。;k;2r-1≥k+r (3.19) (一位出错并纠错并发现两位错) 码距为4;2、编码规则 若海明码的最高位号为m,最低位号为1,即:HmHm-1…H2H1,则此海明码的编码规律: (1)校验位与数据位之和为m,每个校验位Pi在海明码中被分在位号2i-1的位置,其余各位为数据位,并按从低向高逐位依次排列的关系分配各数据位。 (2)海明码的每一位码Hi(包括数据位和校验位本身)由多个校验位校验,其关系是被校验的每一位位号要等于校验它的各校验位的位号之和。这样安排的目的,是希望校验的结果能正确反映出出错位的位号。 ;1、纠查一位错的编码方法 (以四个校验位进行说明);即: H15 H14 H13 H12 H11 H10 H9 H8 H7 H6 H5 H4 H3 H2 H1D10 D9 D8 D7 D6 D5 D4 P4 D3 D2 D1 P3 D0 P2 P1海明码的每一位用多个校验位一起进行校验,被校验的位号等于校验它的各校验位位号和;各校验位的值为它参与校验的数据位的异或。;;;2、检查纠错(以四个校验位进行说明);;当采用偶校验方式其传送数据正确时,校验和 S1 ~ S4的值分别都为0;当采用奇校验方式其传送数据正确时,校验和 S1 ~ S4的值分别都为1。当不为上述值时,传送就发生了错误。;解:已知D10D9D8D7D6D5D4D3D2D1D0=10110100110 由于被校验位的位号等于校验它的各校验位位号之和以 及各校验位的取值等于它参与校验的数据位取值的异或。所 以校验位的取值以及所求海明码为: P1=D0?D1 ? D3 ? D4 ? D6 ? D8 ? D10 =1 P2=D0 ? D2 ? D3 ? D5 ? D6 ? D9 ? D10=1 P3=D1 ? D2 ? D3 ? D7 ? D8 ? D9 ? D10=1 P4=D4 ? D5 ? D6 ? D7 ? D8 ? D9 ? D10=0 D10D9D8D7D6D5D4P4D3D2D1P3D0P2P1 =101101000111011 传送正确时校验和的值为0,如果不等于0,则是几就是 第几位出错,是7则是第7位D3出错,此时将其取反即可纠正 错误。;例4.5 按配奇原则配置1100101 的汉明码。解:根据1100101,得n = 7。根据2k≥