컴퓨터가 이해하는 가장 작은 정보 단위 - 0과 1을 나타내는 가장 작은 정보 단위를 비트라고 한다.
예로 2비트는 { 0 or1 } { 0 or 1} 로 총 4가지 정보를 표현할 수 있다.
즉, n 비트는 2의 n 제곱 가지의 정보를 표현 가능하다.
1바이트(byte) = 8비트
1킬로바이트(kB) = 1000바이트
1메가바이트(mb) = 1000킬로바이트
1기가바이트(gb) = 1000메가바이트
1테라바이트(tb) = 1000기가바이트
Word
워드는 CPU 가 한 번에 처리할 수 있는 데이터 크기를 의미한다
만약 CPU 가 한 번에 16비트를 처리할 수 있다면 1워드는 16비트가 되고, 한 번에 32비트를 처리할 수 있다면 1워드는 32비트가 되는 것이다.
정의되어진 워드의 절반 크기를 하프 워드, 1배 크기를 풀 워드, 2배 크기를 더블 워드라고 부른다.
워드 크기가 큰 CPU 는 한 번에 처리할 수 있는 데이터가 많다. 워드 크기는 CPU 마다 다르지만 현대 컴퓨터의 워드 크기는 대부분 32비트 또는 64 비트이다. 가령 인텔의 x86 CPU는 32비트, x64 CPU 는 64비트 워드 CPU 이다.
마무리1
- 비트느 0과 1로 표현 할 수 있는 가장 작은 정보 단위
- 바이트, 킬로바이트, 메가바이트, 기가바이트, 테라바이트는 비트보다 큰 정보 단위
- 이진법은 1을 넘어가는 시점에 자리 올림하여 0과 1만으로 수를 표현하는 방법
- 이진수에서 음수는 2의 보수로 표현
- 16진법은 15를 넘어가면 자리 올림
0과 1로 문자를 표현하기 전에 알아야 하는 3가지 용어가 있다.
문자 집합, 인코딩, 디코딩이다.
컴퓨터가 인식하고 표현할 수 있는 문자의 모음을 문자 집합이라고 한다.
컴퓨터는 문자 집합에 속해 있는 문자를 이해할 수 있고, 속해 있지 않는 문자는 이해할 수 없다.
문자 집합에 속해 있는 문자를 컴퓨터가 바로 이해하는 것은 아니고, 문자를 0과 1로 변환해야 이해할 수 있다. 이 변환 과정을 문자 인코딩이라고 하고 결과값인 0과 1로 묶여 있는 값을 문자 코드라고 한다.
다시 문자 코드를 사람이 이해할 수 있는 문자로 변환하는 과정을 문자 디코딩이라고 한다.
아스키 코드
아스키는 초창기 문자 집합 중 하나로, 영어 알파벳과 아라비아 숫자, 일부 특수 문자를 포함한다.
각각의 문자들은 7비트로 표현되며, 2의 7제곱근 으로 128가지의 문자들을 표현하는 집합
이 해당 문자들에 대응하는 수를 아스키 코드라고 한다.
예로 ‘A’ = 65로 인코딩된다. ‘a’ = 97 로 인코딩 된다.
이러한 65 , 97 같은 글자에 부여한 공유 값을 코드 포인트라고 한다.
아스키에는 한글이 없어서 한글 인코딩 방식인 EUC-KR 이 있다.
EUC-KR
한글 인코딩은 한글의 특수성을 알아야 한다.
한글은 초성, 중성,종성의 합으로 이어져 있기 때문이다
그래서 2가지 인코딩 방식이 있다.
- 완성형 인코딩 - 초성, 중성, 종성의 조합으로 이루어진 완성된 하나의 글자에 고유한 코드를 부여하는 인코딩 방식
- 조합형 인코딩 - 초성,중성,종성을 위한 각각의 비트열을 할당하여 그것들을 조합하여 하나의 글자 코드를 완성하는 인코딩 방식이다.
EUC-KR 은 KS X 1001, KS X 1003 문자 집합을 기반으로 하는 대표적인 완성형 인코딩 방식이다.
즉, 한글 단어 당 2바이트의 크기의 코드를 부여한다.
EUC-KR 인코딩은 2350개의 한글 단어를 표현 가능. 이마저도 작다.
그래서 마이크로소프트에서 CP949라는 확장 버전을 내놓음.
다만, 이마저도 한글 전체를 표현하기에 넉넉한 양은 아님
유니코드와 UTF - 8
모든 나라 언어의 문자 집합과 인코딩 방식이 통일되어 언어별 인코딩을 하지 않는 문자 집합이 유니코드 이다. 가장 많이 사용되는 표준 문자 집합이고 문자 인코딩에서 매우 중요한 역할을 맡고 있다.
그 전 문자 집합들은 글자에 부여한 값을 인코딩 값으로 사용하지만, 유니코드는 아니다.
해당 부여한 값을 유니코드는 다양한 방법으로 인코딩 한다.
UTF-8, UTF-16, UTF-32 등이 있다.
마무리2
- 문자 집합은 컴퓨터가 인식할 수 있는 문자의 모음. 문자 집합에 속한 문자를 인코딩하여 0과 1로 표현
- 아스키 문자 집합에 0부터 127까지의 수가 할당되어 아스키 코드로 인코딩
- EUC-KR 은 한글을 2바이트 크기로 인코딩할 수 있는 완성형 인코딩 방식
- 유니코드는 여러 나라의 문자들을 광범위하게 표현 할 수 있는 통일된 문자 집합
'CS > 혼자 공부하는 컴퓨터구조와 운영체제' 카테고리의 다른 글
05 - CPU의 성능 향상 기법 (0) | 2024.06.01 |
---|---|
04 - CPU의 작동 원리 (1) | 2024.05.30 |
03 - 2 명령어 2 (1) | 2024.02.14 |
03 - 1 명령어 (0) | 2024.02.14 |
01 - 컴퓨터 구조 시작하기 (0) | 2024.02.08 |