> 文章列表 > 中级软件设计师备考---计算机组成与体系结构3

中级软件设计师备考---计算机组成与体系结构3

中级软件设计师备考---计算机组成与体系结构3

目录

    • ①磁盘工作原理
    • ②计算机总线
    • ③系统可靠性分析
    • 校验码
      • CRC循环校验码
      • 海明校验码

在这里插入图片描述

①磁盘工作原理

计算题

②计算机总线

概念题

③系统可靠性分析

计算可靠度

④校验码

  • 码距:是指两个码字之间的不同位数。例如,1010和1111之间的码距是2,因为它们在第二位和第三位上不同。在信息传输中,码距越大,就越容易检测和纠正错误。

  • 在一个码组内为了检测e个误码,要求最小码距d应满足:d>=e+1

  • 在一个码组内为了纠正t个误码,要求最小码距d应满足:d>=2t+1

CRC循环校验码

假设我们有一个11位二进制数据11001010101【原始报文】,我们想要使用CRC循环校验码来检测数据传输中是否出现了错误。我们可以使用以下步骤:

  1. 选择一个生成多项式,例如x4 + x3 + x + 1。

  2. 将数据位添加n个0,n为生成多项式的最高次数,即4。在本例中,我们需要在数据末尾添加4个0,变为110010101010000【被除数】。

  3. 根据生成多项式获得【除数】为11011。

  4. 用数据位除以生成多项式,得到【余数】。在本例中,我们可以使用模2法来计算,得到余数为0011。

  5. 将余数添加到原数据末尾,得到110010101010011。这就是我们的CRC循环校验码。

在这里插入图片描述

在数据传输过程中,接收方也可以使用相同的生成多项式和步骤来计算CRC循环校验码【被除数:110010101010011;除数:11011;余数为0则正确】,并将其与接收到的数据进行比较。如果两者不一致,则说明数据传输中出现了错误。

总之,CRC循环校验码是一种简单而有效的数据校验方法,可以在数据传输中检测出错误并进行纠正。它被广泛应用于计算机网络、通信和存储系统中。

海明校验码

海明校验码作为一种纠错码,它通过在数据中添加校验位来检测和纠正错误。海明码的校验位和信息位的关系如下:

  • 校验位的数量:海明码的校验位数量是2的幂次方减1,即2^m-1,其中m为校验位数。

  • 校验位的位置:海明码的校验位的位置是2的幂次方,即1、2、4、8、16等位置。

  • 信息位的数量:海明码的信息位数量是总位数减去校验位数,即2^m-m-1。

  • 校验位的计算:每个校验位的值是对应信息位的异或和,例如校验位1的值是第1、3、5、7等位置的信息位的异或和。

  • 错误检测和纠正:如果接收到的数据与发送的数据存在差异,海明码可以检测出错误的位置,并根据校验位的值来纠正错误。

  • 假设有一个4位二进制数1011,我们想要使用海明校验码来检查它的正确性,我们可以使用以下步骤:

    1. 首先,我们需要确定校验位的数量。根据海明校验码的公式,校验位的数量应该是最小的n,使得2n>= n + m + 1,其中m是数据位的数量。在这种情况下,m = 4,因此我们需要至少3个校验位。
    2. 接下来,我们将数据位和校验位排列成一个矩阵,其中每个校验位的位置是2的幂次方(1、2、4、8等)。在这种情况下,我们需要在位置1、2和4上放置校验位【也可以由此来判断需要几个校验位】。
    3. 然后,我们计算每个校验位的值,以便总和(包括校验位)为偶数。这个值可以通过将与该校验位相关联的数据位相加来计算。【7=22+21+20,6=22+21,5=22+20,3=21+20;因此,r2= I4 ⊕ I3 ⊕ I2, r1= I4 ⊕ I3 ⊕ I1,r0= I4 ⊕ I2 ⊕ I1
位数 7 6 5 4 3 2 1
信息位 I4=1 I3=0 I2=1 I1=1
校验位 r2=0 r1=0 r0=1
  1. 现在,我们可以将原始数据位和校验位组合成一个新的4位二进制数1010101。如果在传输过程中发生任何错误,接收方可以使用海明校验码来检测错误并纠正它们。【例如,接收到数据之后,接收方可以计算校验位的值,并与原始检验位异或运算,发现在某位置上存在错误。通过将该位从0更改为1【或从1改为0】,接收方可以纠正错误并恢复原始数据1011。】
  • 假设发送方要发送一个8位的二进制数据01101001,并采用海明校验码进行纠错,具体步骤如下
    1. 将8位数据分成4组,每组2位,分别为:01、10、10、01。
    2. 对每组数据进行奇偶校验,如果2位中有奇数个1,则校验位为0,否则为1。校验位分别为:0、1、1、0。
    3. 将原始数据和校验位组合成一个12位的海明码,为:011001011100。
    4. 发送方将海明码发送给接收方。
    5. 接收方收到海明码后,对每组数据和校验位进行奇偶校验,如果校验位与实际数据不一致,则说明出现了错误,可以根据校验位的位置确定错误的数据位。
    6. 例如,如果接收方收到的海明码为011001011110,校验位4与数据位3不一致,说明第3位数据出现了错误。接收方可以将第3位数据从0改为1,得到正确的数据01111001。

这就是海明校验码的纠错原理,通过添加校验位,可以检测出错误的数据位,并进行纠正。