컴퓨터구조 - 패리티 비트 & 해밍 코드

델리만쥬 디퓨저·2024년 8월 14일
0

컴퓨터구조

목록 보기
5/6

패리티 비트(Parity Bit)

  • 데이터 전송 중 발생할 수 있는 오류를 검출하기 위해 사용되는 비트
  • 데이터의 무결성을 확인
  • 짝수 패리티(Even Parity)
    - 데이터 비트에서 1의 개수를 짝수로 만드는 방식
    - '1011001'에서 1이 네 번 등장하므로 패리티 비트로 0이 추가되어 '10110010'이 됨
  • 홀수 패리티(Odd Parity)
    - 데이터 비트에서 1의 개수를 홀수로 만드는 방식
    - '1011001'에서 1이 네 번 등장하므로 패리티 비트로 1이 추가되어 '10110011'이 됨
  • 오류 검출은 가능하지만 오류가 발생한 비트 수정은 불가능
  • 여러 비트에 오류 발생시 검출이 어려움

해밍 코드(Hamming Code)

  • 여러 개의 패리티 비트를 사용하여 데이터의 무결성 확인
  • 단일 비트 오류 수정 및 다중 비트 오류 검출 및 수정에 사용
  • 해밍 코드의 구성
    - 데이터 비트와 패리티 비트로 구성
    - 패리티 비트는 원래 데이터 비트의 특정 위치를 참조하여 계산
    - 각 패리티 비트는 특정 위치의 비트 값들을 XOR 연산을 통해 계산
  • 해밍 거리(Hamming Distance)
    - 두 개의 이진 문자열 간의 차이
    - 이 거리가 3 이상이면 단일 비트 오류 수정 가능
  • ex) 4비트 데이터가 '1011'일 때
    - 해밍 코드 추가시, 데이터 비트에 3개의 패리티 비트가 추가되어 전체 데이터는 7비트가 됨
    - 'P1, P2, 1, P3, 0, 1, 1'
    - 해밍 코드의 구성
    - P1은 1, 3, 5, 7번째 비트를 참조
    - 1 XOR 0 XOR 1 = 0
    - P2는 2, 3, 6, 7번째 비트를 참조
    - 1 XOR 1 XOR 1 = 1
    - P3은 4, 5, 6, 7번째 비트를 참조
    - 0 XOR 1 XOR 1 = 0
    - 해밍 코드는 '0110011'가 된다.
profile
< 너만의 듀얼을 해!!! )

0개의 댓글