컴퓨터구조+운영체제

데이터

chojdsj 2023. 11. 22. 12:23
728x90

 

 

정보 단위

 

 

- 컴퓨터는 0 또는 1 밖에 이해하지 못한다. 0과 1을 나타내는 가장 작은 정보단위를 비트라고 한다.

 

- n비트는 2의 n제곱 가지의 수만큼 정보를 표현할 수 있습니다.

ex) 8비트 = 2의 8제곱 = 256 = 1바이트

 

1byte 8bit
1kB 1,000byte
1MB 1,000kB
1GB 1,000MB
1TB 1,000GB

 

 

* 워드

 

 

- 워드cpu가 한번에 처리할 수 있는 데이터 크기를 의미합니다.

 

- 워드 크기는 cpu마다 다르지만 현대 컴퓨터의 워드 크기는 대부분 32비트 또는 64비트 입니다.

ex) 인텔의 x86 cpu = 32비트, x64 cpu = 64비트

 

 

 

 

이진법

 

 

- 0과 1만으로 모든 숫자를 표현하는 방법을 이진법이라고 한다.

 

 

 

 

- 이진수의 음수표현법은 그 수의 0과1을 거꾸로 뒤집고 1을 더하면 음수로 표현할 수 있다. (2의 보수)

ex) 3의 이진법 음수 표현 = 11 -> 00 -> 01

 

 

 

 

십육진법

 

 

- 십육진수는 한 글자로 열여섯 종류(0~9, A~F)의 정보를 표현할 수 있습니다.

 

십진수 8 9 10 11 12 13 14 15 16
십육진수 8 9 A B C D E F 10

 

 

- 십육진법을 사용하는 주된 이유는 이진수를 십육진수로, 십육진수를 이진수로 변환하기 쉽기 때문이다.

 

 

 

 

문자 집합과 인코딩

 

 

- 컴퓨터가 인식하고 표현할 수 있는 문자의 모음문자 집합 이라고 합니다. 컴퓨터는 문자 집합에 속해있는 문자를 이해할 수 있고, 반대로 문자 집합에 속해 있지 않은 문자는 이해할 수 없습니다.

 

- 문자를 0과 1로 변환해야 비로소 컴퓨터가 이해할 수 있는데 이 과정을 문자 인코딩이라고 합니다.

 

- 인코딩의 반대과정, 즉 0과 1로 이루어진 문자코드를 사람이 이해할 수 있는 문자로 변환하는 과정은 문자 디코딩이라고 합니다.

 

 

* 아스키 코드

 

- 아스키는 초창기 문자 집합중 하나로, 영어 알파벳과 아라비아 숫자, 그리고 일부 특수문자를 포함합니다.

 

- 하나의 아스키 문자를 나타내기 위해서는 8비트(1바이트)를 사용합니다. 하지만 8비트 중 1비트는 패리티 비트라고 불리는, 오류 검출을 위해 사용되는 비트이기 때문에 실질적으로 문자 표현을 위해 사용되는 비트는 7비트 입니다.

 

- 글자에 부여된 값을 코드 포인트 라고 한다.

 

- 아스키 코드는 한글을 표현할 수 없다. 7비트로 표현하기에 128개보다 많은 문자를 표현하지 못하기 때문이다. 그래서 한국을 포함한 영어권 외의 나라들은 자신들의 언어를 0과 1로 표현할 수 있는 고유한 문자 집합과 인코딩 방식이 필요하다 생각했고, 등장한 한글 인코딩 방식이 바로 ECU-KR 이다.

 

 

 

 

ECU-KR

 

 

- 한글 인코딩에는 두가지 방식, 완성형과 조합형이 존재한다.

 

- 완성형 인코딩 : 초성,중성,종성의 조합으로 이루어진 완성된 하나의 글자에 고유한 코드를 부여하는 인코딩 방식.

ex) 가=1, 나=2, 다=3

 

- 조합형 인코딩 : 초성을 위한 비트열, 중성을 위한 비트열, 종성을 위한 비트열을 할당하여 그것들의 조합으로 하나의 글자 코드를 완성하는 인코딩 방식.

ex) ㄱ=0010, ㅏ=0011, ㅇ=0001 00011

 

- ECU-KR 은 KS X 1001, KS X 1003이라는 문자 집합을 기반으로 하는 대표적인 완성형 인코딩 방식. 초성, 중성, 종성이 모두 결합된 한글 단어에 2바이트 크기의 코드를 부여한다.

 

 

 

 

 

유니코드와 UTF-8

 

 

- 유니코드는 ECU-KR보다 훨씬 더 다양한 한글을 포함하며 대부분 나라의 문자, 특수문자, 화살표나 이모티콘 까지도 코드로 표현할 수 있는 통일된 문자 집합이다.

 

- 유니코드는 글자에 부여된 값 자체를 인코딩된 값으로 삼지 않고 이 값을 다양한 방법으로 인코딩 합니다. 이런 인코딩 방법에는 크게 UTF-8,16,32등이 있다.

 

- UTF-8은 통상 1바이트부터 4바이트까지의 인코딩 결과를 만들어 낸다. UTF-8로 인코딩한 결과가 몇 바이트가 될지는 유니코드 문자에 부여된 값의 범위에 따라 결정된다.

 

 

 

 

 

 

출처 : 혼자공부하는 컴퓨터 구조 + 운영체제(강민철)

'컴퓨터구조+운영체제' 카테고리의 다른 글

명령어 병렬 처리 기법  (0) 2023.11.29
CPU 성능 향상 기법  (0) 2023.11.28
CPU의 작동 원리(명령어 사이클, 인터럽트)  (0) 2023.11.27
명령어  (0) 2023.11.24
컴퓨터 구조  (1) 2023.11.21