(4)如果地址线A13与CPU断线,并搭接到高电平上,将会出现A13恒为“1”的情况。此时存储器只能寻址A13=1的地址空间(奇数片),A13=0的另一半地址空间(偶数片)将永远访问不到。若对A13=0的地址空间(偶数片)进行访问,只能错误地访问到A13=1的对应空间(奇数片)中去。
17. 写出1100、1101、1110、1111对应的汉明码。 解:有效信息均为n=4位,假设有效信息用b4b3b2b1表示
校验位位数k=3位,(2k>=n+k+1)
设校验位分别为c1、c2、c3,则汉明码共4+3=7位,即:c1c2b4c3b3b2b1 校验位在汉明码中分别处于第1、2、4位 c1=b4⊕b3⊕b1 c2=b4⊕b2⊕b1 c3=b3⊕b2⊕b1
当有效信息为1100时,c3c2c1=110,汉明码为0111100。 当有效信息为1101时,c3c2c1=001,汉明码为1010101。 当有效信息为1110时,c3c2c1=000,汉明码为0010110。 当有效信息为1111时,c3c2c1=111,汉明码为1111111。
18. 已知收到的汉明码(按配偶原则配置)为1100100、1100111、1100000、1100001,检查上述代码是否出错?第几位出错?
解:假设接收到的汉明码为:c1’c2’b4’c3’b3’b2’b1’
纠错过程如下:
P1=c1’⊕b4’⊕b3’⊕b1’ P2=c2’⊕b4’⊕b2’⊕b1’ P3=c3’⊕b3’⊕b2’⊕b1’
如果收到的汉明码为1100100,则p3p2p1=011,说明代码有错,第3位(b4’)出错,有效信息为:1100
如果收到的汉明码为1100111,则p3p2p1=111,说明代码有错,第7位(b1’)出错,有效信息为:0110
如果收到的汉明码为1100000,则p3p2p1=110,说明代码有错,第6位(b2’)出错,有效信息为:0010
如果收到的汉明码为1100001,则p3p2p1=001,说明代码有错,第1位(c1’)出错,有效信息为:0001
19. 已经接收到下列汉明码,分别写出它们所对应的欲传送代码。
(1)1100000(按偶性配置) (2)1100010(按偶性配置) (3)1101001(按偶性配置) (4)0011001(按奇性配置) (5)1000000(按奇性配置) (6)1110001(按奇性配置)
解:(一)假设接收到的汉明码为C1’C2’B4’C3’B3’B2’B1’,按偶性配置则:
P1=C1’⊕B4’⊕B3’⊕B1’
P2=C2’⊕B4’⊕B2’⊕B1’ P3=C3’⊕B3’⊕B1’
(1)如接收到的汉明码为1100000, P1=1⊕0⊕0⊕0=1 P2=1⊕0⊕0⊕0=1 P3=0⊕0⊕0=0
P3P2P1=011,第3位出错,可纠正为1110000,故欲传送的信息为1000。 (2)如接收到的汉明码为1100010, P1=1⊕0⊕0⊕0=1 P2=1⊕0⊕1⊕0=0 P3=0⊕0⊕0=0
P3P2P1=001,第1位出错,可纠正为0100010,故欲传送的信息为0010。 (3)如接收到的汉明码为1101001, P1=1⊕0⊕0⊕1=0 P2=1⊕0⊕0⊕1=0 P3=1⊕0⊕1=0
P3P2P1=000,传送无错,故欲传送的信息为0001。
(二)假设接收到的汉明码为C1’C2’B4’C3’B3’B2’B1’,按奇性配置则:
P1=C1’⊕B4’⊕B3’⊕B1’⊕1 P2=C2’⊕B4’⊕B2’⊕B1’⊕1 P3=C3’⊕B3’⊕B1’⊕1
(4)如接收到的汉明码为0011001, P1=0⊕1⊕0⊕1⊕1=1 P2=0⊕1⊕0⊕1⊕1=1 P3=1⊕0⊕1⊕1=1
P3P2P1=111,第7位出错,可纠正为0011000,故欲传送的信息为1000。 (5)如接收到的汉明码为1000000, P1=1⊕0⊕0⊕0⊕1=0 P2=0⊕1⊕0⊕0⊕1=0 P3=0⊕0⊕0⊕1=1
P3P2P1=100,第4位出错,可纠正为1001000,故欲传送的信息为0000。 (6)如接收到的汉明码为1110001, P1=1⊕1⊕0⊕1⊕1=0 P2=1⊕1⊕0⊕1⊕1=0 P3=0⊕0⊕1⊕1=0
P3P2P1=000,传送无错,故欲传送的信息为1001。
20. 欲传送的二进制代码为1001101,用奇校验来确定其对应的汉明码,若在第6位出错,说明纠错过程。
解:欲传送的二进制代码为1001101,有效信息位数为n=7位,则汉明校验的校验位为k位,则:2k>=n+k+1,k=4,进行奇校验设校验位为C1C2C3C4,汉明码为C1C2B7C3B6B5B4C4B3B2B1, C1=1⊕B7⊕B6⊕B4⊕B3⊕B1=1⊕1⊕0⊕1⊕1⊕1=1