본문 바로가기
CS/컴퓨터 구조

컴퓨터 구조 - 데이터 [혼공컴구]

by 블로블로글 2023. 11. 17.

1. 정보 단위

  - bit : 0과 1을 표현

  - byte : 8비트

  - kB : 1,000byte

  - MB : 1,000kB

  - GB : 1,000MB

  - TB : 1,000GB

  - kiB : 1,024byte

  - MiB : 1,024kB

  - GiB : 1,024MB

  - TiB : 1,024GB

  - word : CPU가 한 번에 처리할 수 있는 데이터 크기를 의미

    - 만약 CPU가 16 비트를 한 번에 처리 가능하다면, 1 word는 16비트가 됨

 

2. 이진수의 음수 표현

  - 컴퓨터는 0과 1만 이해할 수 있기 때문에 마이너스 부호를 사용 불가

    - 2의 보수를 구해 음수로 간주

  - 11(2)의 보수는 01(2)

  - 이진수만 봐서는 컴퓨터가 음수인지 양수인지 판별 불가

    - 플래그 레지스터를 사용해 판별

  - 2^n 의 경우 보수 표현을 해도 값이 같기 때문에 -2^n과 2^n을 동시에 표현 불가능함

3. 문자 표현

  - 문자 집합 : 컴퓨터가 인식하고 표현할 수 있는 문자의 모음

  - 문자 인코딩 : 문자를 0과 1로 변환

  - 문자 디코딩 : 0과 1로 이루어진 문자 코드를 사람이 이해할 수 있는 문자로 변환

 

  3-1. Ascii code

    - 초창기 문자 집합

    - 7비트의 문자를 위한 비트와 1개의 패러티 비트를 사용해 하나의 문자 표현

      - 패러티 비트 : 아스키 문자에 대한 오류 검출을 할 때 쓰는 코드

    - 2^7개 만큼 문자 표현 가능

    - 확장 아스키 : 2^8개까지 표현 가능

  3-2. 완성형 인코딩

    - 한국을 포함한 영어권외의 나라들은 언어를 0과 1로 표현할 수 있는 고유한 문자집합과 인코딩 방식에 대한 필요로 등장

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

      - ex) ('가'는 1, '나'는 2, '다'는 3)과 같은 방식

 

    3-2-1. EUC-KR

      - KS X 1001, KS X 1003이라는 문자 집합을 기반으로 하는 대표적인 완성형 인코딩

      - 초성, 중성, 종성이 모두 결합된 한글 단어에 2바이트 크기의 코드를 부여

        - 즉, 네자리 16진수로 표현

      - 문자 집합에 정의되지 않은 '쀍', '쀓' 등의 단어는 표현 불가

      - 개선 버전인 CP949가 존재

 

    3-2-1. 유니코드 문자 집합

      - 모든 언어를 아우르는 문자 집합과 통일된 표준 인코딩 방식의 필요에 의해 등장

      - 현대 문자를 표현할 때 가장 많이 사용되는 표준 문자 집합

      - UTF-8, UTF-16, UTF-32 방식등이 존재

        -  Unicode Transformation Format

        - UTF-8

          - 기준에 따라 1에서 4바이트까지의 인코딩 결과를 만들어 냄

Utf-8인코딩 표

  3-3. 조합형 인코딩

      - 초성, 중성, 종성에 각각 비트열을 할당하여 그것들의 조합으로 하나의 글자 코드를 완성