혼공컴운_CH2_데이터

Today Jeeho Learned·2025년 10월 1일

💻 컴퓨터 구조와 정보의 표현


🧠 1. 컴퓨터가 이해하는 정보

컴퓨터는 사람이 사용하는 문자나 그림이 아니라 이진수(0과 1) 형태의 정보를 이해한다.
컴퓨터가 다루는 정보는 크게 두 가지로 나뉜다.

구분설명
데이터(Data)숫자, 문자, 이미지, 소리 등 컴퓨터가 처리하는 모든 대상
명령어(Instruction)데이터를 처리하는 방법을 지시하는 정보 (예: 더하기, 저장하기 등)

➡️ 명령어와 데이터는 모두 메모리에 저장되어 CPU가 처리한다.


⚙️ 2. 컴퓨터의 4가지 핵심 부품

구성 요소역할예시
CPU (중앙처리장치)명령어를 해석하고 실행인텔 i7, AMD Ryzen
메모리 (주기억장치)현재 실행 중인 프로그램과 데이터를 저장RAM
보조기억장치전원이 꺼져도 정보를 영구 저장SSD, HDD, USB
입출력장치사용자와 컴퓨터 간의 정보 교환모니터, 키보드, 마우스

🧩 3. 컴퓨터의 전체 구조

  1. 메인보드(마더보드)

    • 모든 부품을 연결하는 중심 회로판
    • 각 부품은 메인보드의 슬롯, 커넥터, 포트를 통해 연결된다.
  2. 시스템 버스 (System Bus)

    • 부품들 간의 정보 통로 역할

    • 세 가지 버스로 구성됨

      버스 종류역할
      주소 버스 (Address Bus)데이터의 위치(주소)를 전달
      데이터 버스 (Data Bus)실제 데이터가 이동하는 통로
      제어 버스 (Control Bus)읽기·쓰기 등 제어 신호를 전달
  3. CPU 내부 구성

    • ALU (산술논리연산장치) : 더하기, 빼기, 논리 연산(AND, OR 등) 수행
    • 레지스터 : 연산에 필요한 값을 임시로 저장하는 초고속 저장공간
    • 제어장치(Control Unit) : 명령어를 해석하고 필요한 제어 신호를 보냄

    ➕ CPU 내부의 모든 동작은 시스템 클록(Clock) 신호에 맞춰 일정한 속도로 수행됨.


💾 4. 메모리 (주기억장치)

  • 프로그램이 실행되려면 반드시 메모리(RAM) 에 올라와야 한다.
  • CPU는 명령어를 메모리에서 한 줄씩 읽어와 실행한다.
  • 각 데이터는 고유한 주소(Address) 를 가지고 있어 CPU가 정확히 찾아갈 수 있다.
특징설명
휘발성전원이 꺼지면 내용이 사라진다.
접근 속도매우 빠르며, CPU와 직접 연결되어 있음
단위Byte(1바이트 = 8비트) 단위로 주소가 매겨짐

🧩 CPU ↔ 메모리 데이터 이동 과정

  1. CPU가 읽고자 하는 메모리 주소를 주소 버스로 보냄
  2. 제어 버스를 통해 ‘읽기(Read)’ 신호 전송
  3. 해당 주소의 데이터가 데이터 버스를 통해 CPU로 전달됨

🗃️ 5. 보조기억장치

종류특징
HDD자기디스크 기반, 용량 크고 가격 저렴, 속도 느림
SSD반도체 기반, 속도 빠름, 전력 소비 적음
USB / SD카드이동식 저장매체, 휴대성 우수
  • 비휘발성이라 전원이 꺼져도 데이터가 유지된다.
  • 프로그램이나 파일은 실행 시 보조기억장치 → 메모리 → CPU 순으로 이동한다.

🖥️ 6. 입출력장치 (I/O Device)

  • 외부 세계와 컴퓨터 내부를 연결하는 다리 역할
  • 입력장치(Input) : 키보드, 마우스, 마이크, 스캐너
  • 출력장치(Output) : 모니터, 프린터, 스피커

➡️ CPU와 입출력장치는 입출력 포트(I/O Port) 또는 디바이스 컨트롤러를 통해 연결된다.


🔢 7. 0과 1로 숫자를 표현하는 방법

💡 정보 단위

  • 컴퓨터는 0과 1로 모든 정보를 표현하며, 0과 1로 표현된 정보만 이해할 수 있다.
  • 0과 1을 나타내는 가장 작은 정보 단위를 비트(bit) 라고 한다.
  • 전구의 꺼짐(0), 켜짐(1) 두 가지 상태를 표현할 수 있는 것과 같다.
  • n비트로 2ⁿ가지의 정보 표현 가능

비트 단위 예시

  • 1024개씩 묶은 단위는 KiB, MiB, GiB 로 표현한다.
  • 최근에는 2진 접두어(Ki, Mi, Gi) 를 사용하는 추세이다.

🧱 워드(Word)

  • CPU가 한 번에 처리할 수 있는 정보의 크기 단위 (예: 32bit, 64bit)
  • 하프워드 : 워드의 절반 크기
  • 풀 워드 : 워드 크기
  • 더블 워드 : 워드의 두 배 크기

💡 이진법 : 0과 1로 숫자 표현하기

2진법 (Binary)

  • 0과 1만으로 수를 표현한다.
  • 숫자가 1을 넘어가면 자리 올림이 일어난다.
  • 컴퓨터에게 숫자를 알려줄 때는 10진수가 아니라 2진수를 사용한다.
  • 표기 방법: (2)를 붙이거나 0b를 앞에 붙인다.
  • 음수 표현 시에는 2의 보수법을 사용한다.

2의 보수법
어떤 수를 그보다 큰 2ⁿ에서 뺀 값으로,
모든 비트를 반전시키고 1을 더하는 방식이다.

💭 Q. + -1011(2) = 0101(2) = 십진수 5 = 0101(2)
어떻게 구분할까?
→ CPU 내부에는 플래그 레지스터(flag register) 가 존재하여,
수의 부호(양수/음수)를 구분한다.


🧮 16진법 (Hexadecimal)

  • 이진법은 숫자의 길이가 너무 길어지므로, 이를 보완하기 위해 16진법을 사용한다.

16진수 표

  • 표기 방법: (16)을 붙이거나 0x를 앞에 붙인다.

Q. 2진수나 10진수로는 부족한가? 16진법을 사용하는 이유는?
→ 2진수와 16진수는 서로 변환하기 쉽기 때문이다.

2진수 16진수 변환

  • 2진수를 16진수로 변환할 때: 4비트씩 끊어서 변환
  • 16진수를 2진수로 변환할 때: 1자리 = 4비트로 변환

2진수 ↔ 16진수 예시


🔤 8. 0과 1로 문자를 표현하는 방법

💡 문자 집합과 인코딩

개념설명
문자 집합 (Character Set)컴퓨터가 이해할 수 있는 문자들의 모음
인코딩 (Encoding)문자를 0과 1로 이루어진 코드로 변환하는 과정
디코딩 (Decoding)0과 1로 표현된 코드를 문자로 변환하는 과정

인코딩 개념도


💡 아스키코드 (ASCII)

  • 초창기 문자 집합 중 하나로, 알파벳, 숫자, 특수문자를 표현한다.
  • 7비트로 하나의 문자를 표현하며,
    나머지 1비트는 패리티 비트(오류 검출용) 로 사용한다.
  • 총 2⁷ = 128개 문자 표현 가능.

ASCII Table

  • 단점: 한국어나 다양한 언어, 특수문자는 표현 불가
    → 언어별 인코딩 방식(EUC-KR 등)이 등장

💡 EUC-KR

  • 한글 전용 문자 집합 기반 인코딩 방식
  • 완성형 인코딩 방식: 글자 하나마다 코드 부여
  • 2바이트(16비트) 로 표현 → 4자리 16진수
  • 2,300자 한글 표현 가능, 하지만 여전히 부족함

💡 유니코드 (Unicode)

  • 전 세계 모든 문자를 통합한 통일된 문자 집합
  • 한글, 영어, 이모티콘까지 포함
  • 인코딩 방식: UTF-8, UTF-16, UTF-32 등 다양

🔹 UTF-8 인코딩

  • Unicode Transformation Format의 약자
  • 가변 길이 인코딩 (1~4바이트)
  • 문자에 따라 필요한 바이트 수가 다름
  • 현대 웹 환경에서 가장 많이 사용되는 방식

💭 글자가 깨질 때?
인코딩 방식이 서로 다르거나 호환되지 않을 때 발생한다.
예를 들어, UTF-8로 저장된 파일을 EUC-KR로 읽으면 문자가 깨질 수 있다.


📚 9. 전체 흐름 요약

구성요소역할 요약
CPU명령어 해석 및 실행 (ALU + 제어장치 + 레지스터)
메모리실행 중인 명령어·데이터 저장 (휘발성)
보조기억장치영구 저장 (비휘발성)
입출력장치외부와 정보 교환
시스템버스주소/데이터/제어 신호를 전달하는 통로
비트·바이트정보 표현의 최소 단위
인코딩문자를 0과 1로 변환하는 과정
유니코드전 세계 문자를 통합한 표준 문자 체계

profile
기록해야 (살아)남는다 !

0개의 댓글