패리티(parity bit) 비트 생성과 검사

디지털 논리회로에 대한 가장 실용적이고 간단한 예가 패리티 비트의 생성, 검사에 대한 부분이다. 패리티 비트에 대한 내용은 대부분 많이 들었을 것이라 생각한다.

 

패리티 비트(parity bit)

패리티 비트는 데이터의 전달 과정에서 발생되는 데이터의 에러를 검출해 내는데 사용한다.

짝수 패리티

짝수 패리티는 전체 전달 되는 비트의 1의 개수가 짝수다.

4비트 단위로 전달되는 메시지 101을 짝수 패리티를 가지고 전송하기 위해서 패리티 비트는 0이 되어야 한다.(1의 개수 총 2개)

111의 경우는 1의 개수가 3개이므로 짝수 패리티의 경우 패리티 비트가 1이 되어 1의 비트의 수가 짝수가 된다.(1의 개수 총 4개)

 

홀수함수에 대해

2015/07/26 - [컴퓨터구조] - 배타적 OR(XOR), 배타적 NOR(XNOR) 게이트

패리티 비트를 이해하기 전에 홀수함수에 대한 이해가 필요하다. 홀수함수는 XOR를 말하는데 XOR는 2개의 변수를 비교할 때 만을 지칭하고 2개 이상의 변수를 비교하는 경우는 홀수함수(odd function)라고 말한다. 3변수 홀수 연산에 관해서 살펴보자.

위 홀수 함수의 결과를 주목해 보면 각항들이 최소항에 대응된다.

001, 111, 010, 100 (각 최소항은 1의 개수가 홀수가 되는 모든 경우가 된다.) 이런 결과를 토대로 홀수함수임을 알 수 있고 카노맵 상에서 표현하면 홀수함수 특유의 패턴이 나타난다.

2015/05/22 - [컴퓨터구조] - 최소항과 최대항, 카르노맵(카노맵)

2015/05/26 - [컴퓨터구조] - 카르노맵 (카노맵)

(짝수함수(XNOR)의 경우는 카노맵 상에서 보수를 취하면 된다.)

 

홀수함수를 이용한 패리티 비트 생성

(처음 그림 참고)3비트의 메시지를 짝수패리티를 가지고 보내는 경우에 패리티 비트를 생성하는 방법은 위에서 설명한 홀수함수를 이용하면 된다.

3개의 비트에 대하여 홀수함수를 취해보자. 위에 그려진 카노맵에서 출력이 1이 되는 경우는 3개의 비트의 1의 개수가 홀수가 되는 경우다.

짝수패리티에 대한 패리티 비트의 생성은 다음과 같음을 알 수 있다.

<패리티 생성기>

 

패리티 비트의 검사

이렇게 P를 생성하여 X, Y, Z, P가 수신측에 전달되면 수신측에서는 X,Y,Z,P 에 대해서 홀수함수를 취한다.

짝수 패리티므로 결과값이 0이 되어야 정상일 것이다. 만약 결과값이 1이 된다면 뭔가 전달과정에 에러가 발생된 경우임을 알 수 있다.

<패리티 검사기>

이 댓글을 비밀 댓글로