dongdorodongdong
자료 표현 코드 본문
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 ...) - 예시3
- 짝수 패리티 비트의 해밍코드로 0011011을 받았을 때 오류가 수정된 정확한 코드는?
1. 총 비트수가 7개이므로 패리티 비트는 1, 2, 4
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 |
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 |