Download presentation
Presentation is loading. Please wait.
Published byThomas Francis Modified over 8 years ago
1
Riyadh Philanthropic Society For Science Prince Sultan College For Woman Dept. of Computer & Information Sciences CS 251 Introduction to Computer Organization & Assembly Language Lecture 7 (Computer System Organization) Error Detection & Correction
2
From Text Book: 2.2.4 Error Detection & Error Correction Hamming Distance Hamming Algorithm 2Error Detection & Error Correction
3
3 Computer memories could make errors due to electric spikes leading to incorrect behavior To protect against such behavior, two ways are adopted 1.Error-detection codes 2.Error-Correction codes Extra bits are added to the memory word in a special way so that when the word is read out from memory these extra bits are checked for errors
4
4Error Detection & Error Correction Consider a memory word of size m bits to which r redundant check bits are added The total length of the unit is n = m+ r This n bit unit is called a code word m r n (codeword)
5
5Error Detection & Error Correction Exclusive OR (XOR) is used to know the number of bits that differ between two code words Example 10001001 10110001 00111000 Hamming Distance is the number of bit positions in which two valid code words differ In the above example it is 3
6
6Error Detection & Error Correction With m-bit memory word, 2 m words are valid (i.e. all word combinations) With n-bit code words, only 2 m out of 2 n will be valid. If an invalid code word is read out of memory, the computer knows that an error occurred There are algorithms for computing the check bits Using this algorithm, the set or list of valid code words could be set Compute the hamming distance between the code words The minimum hamming distance computed will set the
7
7Error Detection & Error Correction With m-bit memory word, 2 m words are valid (i.e. all word combinations) With n-bit code words, only 2 m out of 2 n will be valid. If an invalid code word is read out of memory, the computer knows that an error occurred There are algorithms for computing the check bits and setting the list of valid code words Compute the hamming distance (HD) between the code words ( two at a time) The minimum hamming distance computed will set the Code Hamming Distance
8
8Error Detection & Error Correction Error-detecting and error-correcting properties of a code depends on its hamming distance To detect d single bit errors in a code word read A distance d + 1 code is needed (minimum HD between 2 code words) With such a code there is no way that d single-bit errors can change a valid codeword into another valid code word To correct d single bit errors in a code word read A distance 2d + 1 code is needed (minimum HD between 2 code words) the valid code words are so far apart that even with d changes, the original codeword is still closer than any other codeword, so it can be uniquely determined
9
9Error Detection & Error Correction Consider the word 1011011, adding a parity bit Even parity, to have even number of 1s 1011011 1 Odd parity, to have odd number of 1s 1011011 0 The code with such a parity bit will have a hamming distance of 2, as it will take 2 single bit error to move from one code word to another With this, a single error could be detected No errors could be corrected When the error is detected, an error signal is set and the program will stop running
10
10Error Detection & Error Correction Consider the following code that has only 4 valid code words 00000 00000, 00000 11111, 11111 00000, 11111 11111 The hamming distance of the code is 5 Single-bit errors that could be detected is 4 Single-bit errors that could be corrected is 2 If the code word 00000 00111 is received If there is only a double error, then the computer knows that the value should be 00000 11111 If there is a triple error, (the three lower ones are wrong) then the error wouldn’t be corrected
11
11Error Detection & Error Correction A BC 1 1 0 0 Encoding of 1100 A BC 1 1 0 0 Even parity added 0 01 A BC 1 1 0 1 Error in AC 0 01 error
12
12Error Detection & Error Correction Hamming algorithm is used to build error correcting codes for any memory word size In a hamming code, r parity bits are added to m bit data word forming a new word of length n = m + r The bits are numbered starting at 1 (not 0) with bit 1 the leftmost (high order) bit. All bits whose bit numbers are a power of 2 are parity bits All other bits are data bits
13
13Error Detection & Error Correction Ex. 16-bit word Each of the parity bits checks specific bit positions The parity bit is set so that the number of 1s in the bit positions checked is even Bit 1 checks bits: 1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21 Bit 2 checks bits: 2, 3, 6, 7, 10, 11, 14, 15, 18, 19 Bit 4 checks bits: 4, 5, 6, 7, 12, 13, 14, 15, 20, 21 Bit 8 checks bits: 8, 9, 10, 11, 12, 13, 14, 15 Bit 16 checks bits: 16, 17, 18, 19, 20, 21 212019181716151413121110987654321
14
14Error Detection & Error Correction Ex. 16-bit word Each of the parity bits checks specific bit positions The parity bit is set so that the number of 1s in the bit positions checked is even Bit 1 checks bits: 1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21 Bit 2 checks bits: 2, 3, 6, 7, 10, 11, 14, 15, 18, 19 Bit 4 checks bits: 4, 5, 6, 7, 12, 13, 14, 15, 20, 21 Bit 8 checks bits: 8, 9, 10, 11, 12, 13, 14, 15 Bit 16 checks bits: 16, 17, 18, 19, 20, 21 212019181716151413121110987654321
15
15Error Detection & Error Correction Ex. 16-bit word In general, bit b is checked by those bits b1, b2,... bj such that b1 + b2 +... + bj = b. Ex. Bit 5 is checked by bits 1 and 4 1 + 4 = 5. Ex. Bit 7 is checked by bits 1, 2 and 4 1 + 2 + 4 = 7 212019181716151413121110987654321
16
16Error Detection & Error Correction Ex. 16-bit word = 1111 0000 1010 1110 If bit 5 was inverted (0 instead of 1): The 5 parity bits will be checked, with the following results: Parity bit 1 incorrect (1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21 contain five 1’s). Parity bit 2 correct (2, 3, 6, 7, 10, 11, 14, 15, 18, 19 contain six 1’s). Parity bit 4 incorrect (4, 5, 6, 7, 12, 13, 14, 15, 20, 21 contain five 1’s). Parity bit 8 correct (8, 9, 10, 11, 12, 13, 14, 15 contain two 1’s). Parity bit 16 correct (16, 17, 18, 19, 20, 21 contain four 1’s). Add up all incorrect parity bits 1 + 4 = 5 5 was inverted. 011101101000001110100 212019181716151413121110987654321
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.