쌓고 쌓다

패리티 비트와 병렬 패리티 본문

Git & CS

패리티 비트와 병렬 패리티

승민아 2022. 9. 21. 21:54

패리티 비트

정보의 전달 과정에서 오류를 검사하기 위한 에러 검출 코드로 간단하게 사용되는 것이 패리티 비트이다.

메모리에 저장하거나 전송하는 데이터에 패리티를 붙여서 전송한다.

 

패리티에는 짝수 패리티와 홀수 패리티가 있다.

짝수 패리티: 1의 개수를 짝수 개로 맞춰 붙여져 있다.

홀수 패리티: 1의 개수를 홀수 개로 맞춰 붙여져 있다.

짝수 패리티의 경우 데이터가 전달된 후 1의 개수가 짝수 개면 올바르게 전달된 것이다.

 

데이터 짝수 패리티 홀수 패리티
A 0 1000001 1 1000001
0 1000010 1 1000010

 

이와 같이 패리티 비트는 에러가 있는지 없는지만 판별이 가능하게 추가된 비트이다.

여러 비트의 에러는 검출이 안되는 경우가 있고 그 발생한 위치를 몰라 재 전송을 해야 함.

 

병렬 패리티

패리티 비트를 하나만 사용하면 위치를 찾고 정정할 수 없다.

그 해결법이 병렬 패리티이다.

(단점으로 데이터량이 늘어나긴함)

가로 1바이트에 대해 패리티를 만들고 세로 1바이트에 대해 패리티를 만들어 블록 단위로 전송하면

병렬 패리티이다.

1 0 1 0 1 1 1 1 0
1 0 0 0 0 0 1 1 1
0 1 0 0 0 0 0 0 1
1 1 1 1 0 0 0 0 0
1 0 1 1 1 0 0 1 1
0 0 0 0 0 1 1 1 1
1 1 1 1 1 1 1 1 0
0 1 1 1 1 0 0 0 0
1 0 1 0 0 1 0 1 0

 

패리티 비트로 가로 세로의 1의 개수가 짝수가 되게 맞췄다.(짝수 병렬 패리티)

 

여기서 자세히 보면 특정 위치의 에러의  찾을 수 있다.

'Git & CS' 카테고리의 다른 글

데이터베이스 및 DBMS  (0) 2022.09.25
해밍 코드 생성 및 에러 검출  (0) 2022.09.22
그레이 코드(Gray Code)  (0) 2022.09.21
BCD 코드와 3초과 코드  (0) 2022.09.21
메모리 구조(Code, Data, Heap, Stack)  (2) 2022.09.19
Comments