1. 컴퓨터의 구성(Computer Composition)

  • 컴퓨터 시스템은 크게 하드웨어와 소프트웨어로 나뉜다.

    • 하드웨어: 중앙처리장치(CPU), 기억장치(주기억/보조기억), 입출력장치로 구성된 기계적 장치
    • 소프트웨어: 하드웨어의 동작을 지시하고 제어하는 명령어의 집합
      • cf. 시스템 소프트웨어(펌웨어, 운영체제, 유틸리티), 응용 소프트웨어
  • 데이터 흐름: 입력장치 → (제어/연산 - CPU) ↔ 기억장치 → 출력장치

2. 중앙처리장치(CPU; Central Processing Unit)

2.1. CPU 구성

CPU는 컴퓨터의 두뇌로서 다음 3가지 핵심 요소로 구성된다.

  1. 제어장치(Control Unit)

    • 명령어를 해독하고 시스템 전체를 제어(CPU 내부의 CPU 역할)
    • 제어기와 해독기로 구성
  2. 연산장치(ALU; Arithmetic Logic Unit)

    • 산술(덧셈 등) 및 논리(AND, OR 등) 연산을 수행
  3. 레지스터(Register)

    • 명령어, 주소, 데이터 등을 임시 저장하는 CPU 내부의 초고속 기억장치
    • 플립플롭 소자로 구성
  4. 내부버스

    • CPU 내부 각 소자 간의 연결에 사용되는 버스
    • 제어(control) 버스, 주소(address) 버스, 자료(data) 버스로 구성
  • cf. CPU의 멀티코어 기술
    • 같은 반도체 die(chip)에 두 개 이상의 core를 집적시켜서 CPU 성능을 향상

2.2. 명령어 사이클

  • 명령어 사이클: 인출(Fetch) → 실행(Execute) → (인터럽트) 과정을 반복

    • 인터럽트(Interrupt): 예기치 못한 사건 발생 시, 하던 일을 멈추고 우선적으로 처리하는 효율적인 기능
  • cf. 명령어 사이클

    • 인출(Fetch)
      • 기억장치의 명령어를 인출하여 명령어 레지스터(IR)에 저장하는 단계
      • 다음 명령어(기계어)를 인출하기 위해 프로그램 카운터(PC)값을 증가시킴
    • 해독(Decode)
      • 제어장치가 레지스터에 있는 명령어를 연산 부분과 피연산 부분으로 해독
      • 피연산 부분이 있는 명령어라면 피연산 부분의 메모리 주소를 주소 레지스터에 저장
    • 실행(Execution)
      • 인출된 명령어를 해독하여 실행하는 과정
      • → 명령어 실행에 필요한 제어(논리)신호를 차례로 발생
    • 인터럽트(Interrupt)
      • 현재 실행하고 있는 프로그램보다 더 우선으로 처리할 일이 있는지를 확인하는 단계

cf. 명령어의 종류

  • 마이크로 명령어(→ CISC)
    • 매크로 명령어를 처리하기 위한 CPU 내부의 세부 명령어
  • 매크로 명령어
    • 우리가 일반적으로 말하는 명령어 = 기계어(≒ 니모닉)

cf. 프로세서 분류(명령어의 개수)

  • CISC
    • 명령어의 구조가 복잡하고, 100~250개의 다양한 명령어를 제공
    • CPU 내부에서 마이크로프로그램(마이크로 명령어)방식으로 제어장치를 구성
  • RISC
    • 명령어의 구조가 단순하고, 수가 적음, 대신 수행 속도가 매우 빠름
    • CPU 내부에서 고정 배선 제어장치를 구성 (↔ 마이크로프로그램 방식)
    • 레지스터가 많음

3. 기억장치(Memory)

  • 기억장치는 접근 속도와 용량에 따라 계층 구조를 가진다.

    • 레지스터 > 캐시 > 주기억장치 > 보조기억장치
  • 주기억장치의 특징

    • CPU가 실행할(하는) 프로그램과 데이터가 저장되는 기억장치
    • CPU가 기억장치의 세부 내용을 모두 시스템버스를 통해 직접 접근이 가능
    • 크기가 작고, 속도가 빠르며, 전력 소모가 적음

3.1. 주기억장치(Main Memory)

CPU가 직접 접근하여 데이터를 처리하는 곳이다.

  • RAM(Random Access Memory, 임의 접근 메모리)

    • 휘발성(전원이 꺼지면 데이터 소멸)
    • DRAM(Dynamic RAM)
      • 재충전 필요, 대용량, 일반적인 시스템 메모리
      • 콘덴서로 구성
    • SRAM(Static RAM)
      • 재충전 불필요, 고속, 캐시 메모리로 사용(CPU와 주기억장치의 속도 차이 해결)
      • 플립플롭으로 구성, 전원이 공급되는 동안 저장된 데이터 유지
  • ROM(Read Only Memory)

    • 비휘발성(전원이 꺼져도 데이터 보존)
    • 부팅 프로그램(BIOS) 저장
    • ROM의 종류: Mask ROM, Programmable ROM, Erasable PROM

3.2. 보조기억장치(Auxiliary Memory)

대용량 데이터를 영구 보존하는 장치이다.

  • HDD(Hard Disk Drive)

    • 자성체로 코팅된 원판(플래터)을 회전시켜 데이터 저장
    • 주소: Cylinder → Head → Track → Sector
    • Disk Buffer: 동작이 느린 HDD 내부에 사용되는 Memory Buffer
  • ODD(Optical Disk Drive)

    • 디지털로 저장된 데이터를 레이저를 쏘여 반사되는 내용(광센서)으로 정보를 판독
    • 짧은 레이저 파장을 이용하여 집적밀도 향상 (CD-ROM → DVD → BD)
  • SSD(Solid State Drive)

    • Flash Memory를 사용
    • HDD보다 빠르고 소음이 없으며 전력 소모가 적음
    • (최근 HDD 대체 추세)
    • 참고: NAND Flash 종류 (SLC, MLC, TLC, QLC)에 따라 속도와 수명이 다름
-설계구조에 따른 종류
NOR Flashcell끼리 병렬 연결
셀 단위 읽기·쓰기(빠름)
비싸다
NAND Flashcell끼리 직렬 연결
블록 단위 읽기·쓰기(느림)
싸다
-저장용량에 따른 종류
SLCcell에 2^1개 bit 저장(0, 1)
MLCcell에 2^2개 bit 저장(00, 01, 10, 11)
TLCcell에 2^3개 bit 저장(000, 001, 010, 011, 100,…)
QLCcell에 2^4개 bit 저장(0000, 0001, 0010, 0011,…)
  • 기타
    • CD/DVD/Blu-ray (광 디스크), USB 메모리, SD 카드

4. 입력 장치(Input Devices)

사용자의 정보를 컴퓨터로 전달하는 장치들이다.

  • 키보드

    • 쿼티(QWERTY) 자판이 표준
    • 유선(USB) 및 무선(RF, 블루투스)
  • 마우스

    • 볼 마우스 → 광 마우스로 발전
  • 스캐너

    • 바코드/QR 코드 판독기
    • 3D 스캐너(3D 프린터와 연계)
  • 기타

    • 조이스틱(햅틱 기능 포함)
    • 디지타이저(태블릿+전자펜)
    • 웹캠

5. 출력 장치(Output Devices)

컴퓨터의 처리 결과를 사람이 인지할 수 있게 표현한다.

5.1. 영상 출력(Display)

  • 주요 용어

    • 해상도(Resolution), 픽셀(Pixel), 명암비, 응답속도, 시야각
    • 색 재현율, 색 심도, 잔상
  • 종류

    • LCD(Liquid Crystal Display)
      • 백라이트 필요, 액정이 빛을 투과/차단
    • OLED(Organic Light Emitting Diode)
      • 자체 발광, 백라이트 불필요, 얇고 휘어짐 가능, 명암비/시야각 우수
  • 연결 인터페이스: VGA(RGB), DVI, HDMI, DP(Display Port).

5.2. 인쇄 장치(Printer)

  • 일반 프린터

    • 잉크젯(잉크 분사)
    • 레이저(토너와 드럼 사용, 고속)
  • 3D 프린터

    • 3D 모델링을 기반으로 입체물을 제작 (적층형, 절삭형)
    • 의료, 패션, 산업용으로 활용

5.3. 기타 출력

  • 음향: 스피커 (5.1채널 등 홈시어터)
  • 햅틱(Haptic): 진동 등 촉각 피드백 제공 (스마트폰, 게임기)

6. 컴퓨터의 버스(Bus)

컴퓨터 부품 간 데이터를 주고받는 통로이다.

  • 버스(Bus)

    • 컴퓨터 내부 또는 외부의 부품들과 연결을 위해 사용되는 주요 전기적 신호선들의 묶음
    • 내부 버스: CPU 내부버스, 시스템버스
    • 외부 버스: USB, SATA, IEEE1394 등
  • 통신 방식

    • 병렬(Parallel)
      • 여러 선으로 동시 전송
      • 구형, 거리 제한, 간섭 발생
    • 직렬(Serial)
      • 하나의 선으로 순차 전송
      • 기술 발달로 속도가 빨라져 현재의 표준(SATA, USB, PCIe)이 됨
  • 주요 인터페이스

    1. USB(Universal Serial Bus)
      • 가장 보편적인 범용 인터페이스
      • PnP 및 핫 스와핑 지원
      • (Type-C 등 발전)
    2. SATA(Serial AT Attachment)
      • HDD/SSD 연결용 직렬 인터페이스
    3. PCIe(PCI-express)
      • 그래픽카드, 고성능 SSD(M.2, NVMe) 등을 위한 고속 확장 슬롯 규격