[정보처리기사_필기] 전자계산기 구조 <2>
- Information Logs/IT Notes
- 2013. 11. 15. 18:11
자료의 표현
➀ 정보의 단위
- 비트 < 니블 < 바이트 <워드
- 비트 : 정보의 최소단위(2가지 상태)
- 니블 : 4bit
- 바이트 : 8bit, =256글자 (문자표현의 단위)
- 워드 : 컴퓨터가 한전에 처리할 수 있는 명령 단위
Half-Word : 2byte
Full-Word : 4byte
Double-Word : 8byte
➁ 보수 (뺄셈 연산에 사용된다)
- 1의 보수 : NOT회로 (ex: 10110 => 01001)
더하기 연산후 자리올림수를 맨 뒤에 더해준다
- 2의 보수 : NOT회로후 마지막수 +1 (ex: 10110 => 10111)
더하기 연산후 자리올림수를 버린다.
1의 보수보다 연산효율이 높다.
➂ 자료의 내부적 표현 (수치데이터)
- 10진데이터 vs 2진데이터
✴ 10진Data표현 12 = 0001(=1) / 0010(=2)
✴ 2진Data표현 12 = 1100
- 10진 데이터
✴ Pack형 : 연산에 사용된다
-325 = 325D (D='-' , C='+')
✴ UnPack형 : 입출력에 사용된다.
-325 = F3F2D5 (Zone|Digit|Zone|.......|Sign|Digit)
- 2진 데이터
✴ SignBit | Digit | Digit |.............|Digit| (0=양수, 1=음수)
✴ 8비트의공간을 사용한다.(남는공간은 0으로 채운다)
✴ +8 = 00001000
✴ -25 = -11001 = 10011001 =>부호와절대값
= 11100110 =>1의보수
= 11100111 =>2의보수
종류 | 표현범위(n:비트개수) | 비고 |
부호와 절대값 | ~ | n-1은 부호비트 때문 -1은 |
1의보수 | ||
2의보수(-0은 나올수 없다) | ~ |
- 부동소수점
✴ 연산시간이 오래걸린다.
✴ 정밀도는 높다.
✴ 부호|지수부|가수부 0.0027 =
✴ 연산시에 지수비교후 지수 크기가 다르면 지수가 큰쪽에 일치
(ex : 0.25 + 0.0027 = 0.02500 + 0.0027)
➃ 자료의 외부적 표현 (문자데이터)
✴ BCD 6bit = 64개
10진수 456 = BCD 0100 0101 0110
✴ ASCII 7bit = 128개 (text파일, e-mail 등에 사용된다)
✴ EBCDIC 8bit = 256개
4비트의 Zone Bit = 유형(대문자, 소문자, 특수문자....)
4비트의 Digit Bit = 실제 데이터
✴ 3초과 코드(Excess-3)
무조건 3을 더한다. 0,1,2 는 나올수 없다
자기 보수 코드이다. 13,14,15 도 나올수 없다
비가중치 코드 이다. 자릿수에 의미가 없다
8을 3초과 코드로 나타내면 1000 +0011 = 1011
✴ 그레이 코드
A/D변환, 입/출력 장치에 사용
하드웨어 에러를 최소화
2진수 : 1 0 0 1
그레이: 1 1 0 1 앞자리는 내려쓰고 1 0 XOR연산 = 1
2진수 : 1 0 0 1 앞자리는 내려쓰고 1 1 XOR연산 = 0
✴ 패리티검사 코드 : 짝수개의 에러는 검출 못한다.
홀수Odd(기수) 패리티
1의 개수가 홀수개가 되도록 마지막에 한비트 추가
짝수Even(우수) 패리티
1의 개수가 짝수개가 되도록 마지막에 한피트 추가
✴ 해밍코드
오류 검출및 정정