해밍코드는 에러를 검출 및 교정한다.
데이터비트와 에러 검출과 수정을 위한 패리티비트로 구성되어 있다.
전송되는 데이터의 비트 수에 따라 패리티 비트의 수가 결정된다.
패리티 비트의 수를 결정하는 공식은 다음과 같다.
2^p - 1 >= n + p (n은 데이터 비트의 수이고 p는 패리티 비트의 수이다.)
위의 식을 만족하는 p의 최소값이 패리티 비트의 수가 된다.
패리티 비트를 배치해 보자.
패리티 비트의 위치는 우측 비트부터 시작하여 2^n의 자리에 배치된다.(이때 n은 0부터 시작한다.)
P8 D7 D6 D5 P4 D3 P2 P1 (D는 정보 비트를 나타내고 P는 패리티 비트를 나타낸다.)
예를 들어 p가 3이면 우측 비트부터 1번째, 2번째 그리고 4번째에 패리티 비트가 배치된다.
(2^0=1, 2^1=2, 2^2=4가 되기 때문이다.)
D7 D6 D5 P4 D3 P2 P1
p가 4면 1, 2, 4, 8번째에 패리티 비트가 배치된다.
(2^0=1, 2^1=2, 2^2=4, 2^3=8이 되기 때문이다.)
P8 D7 D6 D5 P4 D3 P2 P1
그렇다면 데이터비트가 4비트일 때 패리티 비트의 수와 배치 위치는?
데이터 비트가 4비트일 때 패리티 비트의 값은 3이 되고 배치위치는 2^n자리에 들어가기 때문에 1, 2, 4자리에 들어간다. (P1, P2, P4)
각 자리의 패리티 비트를 결정하기 위해서는 다음과 같은 규칙을 사용한다.
P1의 값 1, 3, 5, 7 비트를 검사 후 짝수 패리티가 되도록 한다.
P2의 값 2, 3, 6, 7 비트를 검사 후 짝수 패리티가 되도록 한다.
P4의 값 4, 5, 6, 7 비트를 검사 후 짝수 패리티가 되도록 한다.
오늘은 패리티 비트의 배치 방법에 대해서 알아보았다.
다음 포스팅에서 각 패리티 비트의 체크 비트들을 구해 보도록 하자.
'프로그래밍 & IT' 카테고리의 다른 글
해밍 코드(Hamming Code)의 오류 검사 (0) | 2020.04.27 |
---|---|
해밍코드의 체크 비트 구하기 (0) | 2020.04.26 |
패리티 비트(Parity Bit) (0) | 2020.04.24 |
스레드(Thread) (0) | 2020.04.08 |
[전자계산기구조] 플린의 병렬 컴퓨터 분류 (0) | 2020.04.08 |