패리티 비트(Parity Bit)란 송수신 되는 데이터의 오류를 검출하기 위해 추가된 비트이다.
문자열 내 1비트의 모든 숫자가 짝수 또는 홀수인지를 보증하기 위해 전송하고자 하는 데이터의 각 문자에 1비트를 더하여 전송하는 방법으로 1개의 비트 오류만을 검사할 수 있다.
패리티 비트는 오류 발생의 여부만을 확인할 수 있으며 오류의 수정은 불가능하다는 단점이 있다.
각각의 패리티 코드 내의 1의 개수에 따라 홀수 패리티와 짝수패리티로 나뉜다.
-
짝수 패리티는 실제 송신하고자 하는 데이터의 각 비트의 값 중에서 1의 개수가 짝수가 되도록 패리티 비트를 정하는 것인데 이를테면 데이터 비트에서 1의 개수가 홀수이면 패리티 비트를 1로 정한다.
-
홀수 패리티는 전체 비트에서 1의 개수가 홀수가 되도록 패리티 비트를 정하는 방법이다.
예를들어 0010110 이라는 7비트 데이터에서 짝수 패리티가 되게 하기 위해서는 뒤에 1의 패리티 비트를 붙여 00101101 로 만들고 홀수 패리티 비트가 되게 하려면 뒤에 0의 패리티 비트를 붙여 00101100 으로 만든다.
패리티 비트는 전송 중 두 비트가 동시에 에러가 나는 경우에는 오류를 잡아낼 수 없기 때문에 절대적으로 확실한 에러 점검 방법은 아니다.
해밍코드(Hamming Code)
패리티 비트는 에러 검출만 할 수 있지만 해밍 코드는 에러를 검출할 뿐 아니라 수정까지 할 수 있다. 이 코드는 패리티 비트를 정보 비트 수에 따라 필요한 만큼 사용하고 그 코드 그룹의 적당한 장소에 놓는다.
만약 정보 비트의 수를 d로 표시하면 그때 패리티 비트 수 p는 아래 식에 의해 결정된다.
2^p + 1 >= d + p , 좌측의 식을 만족하는 p의 최소값
(p은 패리티 비트의 수, d는 데이터 비트의 수)
만약 데이터 비트가 4개 있다면 식을 이용하여 적절한 패리티 비트의 수를 얻을 수 있다.
p가 2라고 가정하면 좌변의 값은 2^2 = 4 가 되고 우변의 값은 4 + 2 + 1 = 7 이 된다.
4 >= 7 따라서 p=2는 식을 만족시키지 못하므로 적당하지 않다.
p를 3이라고 가정하면 8 >= 8 이므로 식을 만족시킨다.
정리하면 정보 비트가 정해지는 위의 식에 의해 필요한 패리티 수가 결정된다.
이렇게 결정된 후 배치방법은 다음 포스팅에서 알아보도록 하자.
'프로그래밍 & IT' 카테고리의 다른 글
해밍 코드(Hamming Code)의 오류 검사 (0) | 2020.04.27 |
---|---|
해밍코드의 체크 비트 구하기 (0) | 2020.04.26 |
해밍코드(Hamming Code) (0) | 2020.04.25 |
스레드(Thread) (0) | 2020.04.08 |
[전자계산기구조] 플린의 병렬 컴퓨터 분류 (0) | 2020.04.08 |