Notice
Recent Posts
Recent Comments
Link
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

dongdorodongdong

자료 표현 코드 본문

Electronic Calculator Architecture

자료 표현 코드

d5ngs 2020. 6. 21. 01:35

BCD 코드

  • 정의
    - 10진수 1자리의 수를 2진수 4Bit로 표현
    - 8421 코드라고도 함
    - 대표 가중치 코드



Excess-3 코드

  • 정의
    - BCD + 3 코드
    - 대표 비가중치 코드
    - 10000~0010 (10진수 0~2) 는 표현할 수 없고 3부터 표현 가능

  • 예시
    - 0 -> 0011
    - 1 -> 0100

Gray 코드

  • 정의
    - BCD 인접 비트 XOR 연산
    1Bit만 변화시켜 다음 수치로 증가시키기 때문에 H/W 오류가 적음


패리티 검사 코드

  • 정의
    - 코드의 오류를 검사하기 위해서 데이터 비트 외에 1Bit 패리티 체크 비트를 추가하는 것으로 1Bit의 오류만 검출 가능

  • 홀수 패리티
    - 1인 Bit의 수가 홀수가 되도록 0이나 1을 추가

  • 짝수 패리티
    - 1인 Bit의 수가 짝수가 되도록 0이나 1을 추가

해밍 코드

  • 정의
    - 오류를 스스로 검출하여 1Bit의 오류만 교정이 가능한 코드
    데이터 비트 외에 에러 검출 및 교정을 위한 잉여 비트가 많이 필요
    - 해밍 코드 중 1, 2, 4, 8 ... 비트는 오류 검출을 위한 패리티 비트
    - 패리티 비트를 제외한 건너뛴 비트들을 대상으로 패리티 비트를 결정

  • 예시1
    - 해밍코드 1011011의 패리티 비트는 1011011

  • 예시2
    - BCD 코드 1011에 대한 해밍 코드는(짝수 패리티 이용)

    1. 4Bit 이므로 패리티 비트가 들어갈 자리인 1, 2, 4번째 자리를 비운 나머지 자리에 4Bit를 적음 (패리티 비트는 1, 2, 4, 8 ...)
  • 1

    2

    3

    4

    5

    6

    7

    H

    H

    1

    H

    0

    1

    1


    2. 1번 비트는 3, 5, 7번 비트와 함께 이용하여 1인 Bit의 수가 짝수가 되도록 함 (P1은 1,3,5,7 참고)

    1

    2

    3

    4

    5

    6

    7

    0

     H

    1

    H

    0

    1

    1


    3. 2번 비트는 3, 6, 7번 와 함께 이용하여 1인 Bit의 수가 짝수가 되도록 함 (P2는 2, 3, 6, 7 참고)

    1

    2

    3

    4

    5

    6

    7

    0

    1

    1

    H

    0

    1

    1


    4. 4번 비트는 5, 6, 7번 비트와 함께 이용하여 1인 Bit의 수가 짝수가 되도록 함 (P4는 4, 5, 6, 7 참고)

    1

    2

    3

    4

    5

    6

    7

    0

    1

    1

    0

    0

    1

    1


  • 예시3
    - 짝수 패리티 비트의 해밍코드로 0011011을 받았을 때 오류가 수정된 정확한 코드는?

    1. 총 비트수가 7개이므로 패리티 비트는 1, 2, 4
  • 1P

    2P

    3

    4P

    5

    6

    7

    0

    0

    1

    1

    0

    1

    1


    2. 첫 번째 패리티 비트(1P)를 확인 해봤을 때, 1, 3, 5, 7비트의 1의 개수는 2개로 오류X
    3. 두 번째 패리티 비트(2P)를 확인 해봤을 때, 2, 3, 6, 7비트의 1의 개수는 3개로 오류O
    4. 세 번째 패리티 비트(4P)를 확인 해봤을 때, 4, 5, 6, 7비트의 1의 개수는 3개로 오류O
    5. 2P와 4P에서 오류가 났으니 2+ 4 하면 6이므로 6P를 1에서 0으로 수정하면 답은 0011001

Gray 코드

  • 2진수를 Gray Code로 변환하는 방법
    1. 첫 번째 Gray 비트는 2진수의 첫 번째 비트를 그대로 내려씀
    2. 두 번째 Gray 비트부터는 변경할 2진수의 해당 번째 비트와 그 왼쪽의 비트를 XOR 연산하여 씀

  • 예시1


  • Gray Code를 2진수로 변환하는 방법
    1. 첫 번째 2진수 비트는 Gray 첫 번째 비트를 그대로 내려씀
    2. 두 번째 2진수 비트부터는 왼쪽에 구해놓은 2진수 비트와 변경할 해당 번째 Gray 비트를 XOR 연산하여 씀

  • 예시2



* 자기보수 코드

- 2진수로 된 코드의 1을 0으로, 0을 1로 모두 바꿈으로써 해당 코드의 10진수 값에 대해 9의 보수를 얻는 코드
- Excess-3, 2421 코드 등

* 비가중치 코드

- 2진수 각 자리가 고유한 값을 갖지 않는 코드

- Excess-3, Gray 코드 등





'Electronic Calculator Architecture' 카테고리의 다른 글

OP Code (연산자부)  (0) 2020.07.01
CPU 구성 요소  (0) 2020.06.21
보수, 2진 연산, 부동 소수점 표현  (0) 2020.06.20
자료 구성의 단위  (0) 2020.06.19
논리식  (0) 2020.06.19