패리티 비트 & 해밍 코드

SHByun·2023년 2월 21일
0

Computer Architecture

목록 보기
5/6

패리티 비트 & 해밍 코드


1. 패리티 비트

  • 정보 전달 과정에서 오류 검출을 위해 추가하는 비트를 의미한다.

  • 전송하고자 하는 데이터의 각 문자에 1비트를 더하여 전송한다.

  • 전체 비트에서 짝수, 홀수에 맞도록 비트를 정한다.

  • ex) 짝수 패리티일 때 7비트 데이터가 1010001이라면
    -> 1이 총 3개이므로 1을 하나 더해주어 짝수로 맞춰준다.
    -> 11010001(맨 앞이 패리티 비트)

2. 해밍 코드

  • 데이터 전송 시 1비트의 에러를 정정할 수 있는 자기 오류정정 코드를 의미한다.

  • 패리티 비트를 보고, 1비트에 대한 오류 정정할 곳을 찾아 수정할 수 있다.(패리티 비트는 오류를 검출하기만 하고 수정하지는 않기 때문에 해밍 코드를 활용한다.)

  • 방법
    ㅁ 2의 n승 자리인 1,2,4번째 자릿수가 패리티 비트라는 것부터 시작한다.
    ㅁ 이 숫자로부터 시작하는 세 개의 패리티 비트가 짝수인지, 홀수인지 기준으로 판별한다.

  • ex) 짝수 패리티의 해밍 코드가 0011011일 때 오류가 수정된 코드는?
    -> 1,3,5,7번째 비트 확인 : 0101로 짝수이므로 '0'
    -> 2,3,6,7번째 비트 확인 : 0111로 홀수이므로 '1'
    -> 4,5,6,7번째 비트 확인 : 1011로 홀수이므로 '1'
    -> 역순으로 패리티비트 110을 도출
    -> 10진법으로 바꿔 6을 도출, 6번째 비트를 수정하면 된다.
    -> 답 : 00110'0'1

profile
안녕하세요

0개의 댓글