[CS 스터디] 컴퓨터 구조 정리2

오리구이·2025년 2월 19일

🧠 메모리

📌 RAM (Random Access Memory)

RAM은 휘발성 저장장치로, 전원이 꺼지면 저장된 데이터가 사라진다. 이는 CPU가 실행할 데이터를 임시로 저장하는 장치로, 비휘발성 저장장치(예: SSD, HDD)와 대조된다.

  • 용량의 중요성: RAM의 용량이 크면 보조 기억장치로부터 데이터를 더 많이 불러올 수 있으며, 여러 프로그램을 동시에 실행하는 데 유리하다. 하지만 용량이 무조건 클수록 컴퓨터 성능이 비례해 향상되지는 않는다.
  • 접근 방식:
    • 임의 접근 (Random Access): 메모리의 위치와 상관없이 동일한 시간에 데이터를 접근할 수 있다.
    • 순차 접근 (Sequential Access): 데이터의 위치에 따라 접근 시간이 달라진다.

🛠️ RAM의 종류

  • DRAM (Dynamic RAM)
    • 시간이 지나면 저장된 데이터가 사라져, 주기적으로 리프레시해야 한다.
  • SRAM (Static RAM)
    • 리프레시 없이도 데이터를 유지할 수 있으나, 제조 비용이 비싸고 용량이 제한적이다.
  • SDRAM (Synchronous DRAM)
    • 클럭 신호에 맞춰 동기화되어 데이터를 빠르게 처리한다.
  • DDR SDRAM (Double Data Rate SDRAM)
    • 데이터 전송 대역폭이 넓어 속도가 빠르다.
    • 종류: DDR, DDR2, DDR3, DDR4 (세대가 올라갈수록 속도 및 전력 효율이 개선됨)

🔄 메모리에 데이터를 저장하는 방식 - 빅 엔디안 vs 리틀 엔디안

컴퓨터는 데이터를 바이트 단위로 저장하고 관리한다. 이때, 메모리가 데이터를 저장하는 순서에 따라 두 가지 방식으로 나뉜다.

  • Big Endian (빅 엔디안): 낮은 주소에 가장 중요한 상위 바이트부터 저장한다.
  • Little Endian (리틀 엔디안): 낮은 주소에 하위 바이트부터 저장한다.

🔍 주요 용어

  • MSB (Most Significant Bit): 가장 큰 영향을 미치는 비트로, 빅 엔디안 방식에서 중요하다.
  • LSB (Least Significant Bit): 가장 적은 영향을 미치는 비트로, 리틀 엔디안 방식에서 중요하다.

⚡ 캐시 메모리 - CPU의 속도 개선

CPU는 메모리 접근 속도가 상대적으로 느리기 때문에, 이 문제를 해결하기 위해 캐시 메모리가 사용된다. 이는 SRAM 기반의 저장장치로, CPU에 가까운 위치에 있어 빠르게 데이터를 제공한다.

📊 캐시 메모리 계층 구조

  • L1 캐시: CPU 코어 내부에 위치, 가장 빠르지만 용량이 작다. (명령어 전용: L1I, 데이터 전용: L1D)
  • L2 캐시: CPU 코어 내부에 위치, L1보다 느리지만 용량이 크다.
  • L3 캐시: 여러 코어가 공유, 가장 느리지만 가장 큰 용량을 가짐

🎯 캐시 히트 vs 캐시 미스

  • 캐시 히트: CPU가 필요한 데이터를 캐시에서 찾는 경우 → 빠른 처리
  • 캐시 미스: 캐시에 데이터가 없어서 메모리에서 데이터를 불러와야 하는 경우 → 속도 저하

캐시 적중률 계산:

캐시 히트 횟수 / (캐시 히트 횟수 + 캐시 미스 횟수)

📌 참조 지역성 원리

  • 시간 지역성: 최근에 접근한 데이터를 다시 접근할 가능성이 높다.
  • 공간 지역성: 인접한 메모리 영역이 함께 접근될 가능성이 높다.

📝 캐시 메모리의 쓰기 정책과 일관성 유지

메모리 데이터가 변경될 때, 캐시 메모리의 일관성을 유지하는 두 가지 방법:

  • 즉시 쓰기 (Write-through):

    • 캐시와 메모리에 동시에 데이터를 쓴다.
    • 장점: 데이터 일관성을 유지
    • 단점: 메모리 접근 횟수가 많아져 속도 저하
  • 지연 쓰기 (Write-back):

    • 캐시에 먼저 데이터를 쓰고, 일정 시간 후 메모리에 반영
    • 장점: 속도 향상
    • 단점: 데이터 일관성이 깨질 위험이 있음

⚠️ 주의: 캐시 메모리는 성능을 높이는 데 효과적이지만, 데이터 일관성을 유지하는 것이 중요하다.


💾 보조기억장치와 입출력 장치

📂 RAID (Redundant Array of Independent Disks)

RAID는 데이터의 안전성과 성능을 높이기 위해 여러 개의 독립적인 보조 기억 장치를 하나의 장치처럼 사용하는 기술이다. 데이터 보호와 입출력 속도를 향상시키는 데 주로 사용된다.

🧲 하드 디스크 드라이브 (HDD)

  • 자기적인 방식으로 데이터를 저장
  • 내구성이 높고 용량 대비 저렴한 가격이 장점

⚡ 플래시 메모리 기반 저장장치

  • 전기적인 방식
  • 예시: USB 메모리, SD 카드, SSD

🔄 RAID 레벨별 구성 방식

RAID 0 - 스트라이핑 (Striping)

  • 데이터를 여러 디스크에 나누어 저장
  • 장점:
    • 빠른 읽기/쓰기 속도
    • 병렬로 데이터를 처리해 이론상 성능이 디스크 개수에 비례해 향상됨
  • 단점:
    • 디스크 중 하나라도 손상되면 모든 데이터가 손실됨

RAID 1 - 미러링 (Mirroring)

  • 동일한 데이터를 복제하여 두 디스크에 저장
  • 장점:
    • 데이터 안정성 강화
    • 하나의 디스크가 고장 나도 데이터를 복구할 수 있음
  • 단점:
    • 저장 용량이 절반으로 줄어듦
    • 쓰기 속도가 느려질 수 있음

RAID 4 - 패리티 디스크 분리

  • 전용 디스크에 패리티 정보(오류 검출용 데이터)를 저장
  • 장점:
    • 데이터를 효율적으로 보호
  • 단점:
    • 패리티 디스크에 병목 현상 발생 가능

RAID 5 - 패리티 분산 저장

  • 데이터를 여러 디스크에 저장하며, 패리티 정보도 분산
  • 장점:
    • 높은 데이터 안전성
    • 병목 현상을 방지

RAID 6 - 이중 패리티 저장

  • 서로 다른 2개의 패리티 정보를 저장

  • 장점:

    • 두 개의 디스크가 동시에 손상되어도 데이터 복구 가능
  • 단점:

    • RAID 5에 비해 쓰기 속도가 느리다

RAID 10 (Nested RAID) - RAID 1 + RAID 0

  • 미러링과 스트라이핑을 결합한 방식
  • 장점:
    • 고성능과 고안정성을 동시에 제공
  • 단점:
    • 디스크 용량 소모가 크다

🔌 입출력 기법

장치 컨트롤러와 장치 드라이버

  • 장치 컨트롤러: 하드웨어 장치와 컴퓨터 시스템 간의 데이터 흐름을 제어
  • 장치 드라이버: 장치 컨트롤러가 제대로 동작하도록 지원하는 소프트웨어

🖥️ 프로그램 입출력 (Programmed I/O)

  • CPU가 명령어를 실행하며 직접 입출력 장치를 제어
  • 방식:
    • 고립형 입출력 (Isolated I/O)
    • 메모리 맵 입출력 (Memory-mapped I/O)

⚡ 인터럽트 기반 입출력 (Interrupt-Driven I/O)

  • 장치가 작업 완료 시 CPU에 신호 (인터럽트)를 보내 작업 중단 없이 효율적으로 처리
  • 우선순위 인터럽트:
    • 높은 우선순위를 가진 인터럽트가 먼저 처리
    • NMI (Non-Maskable Interrupt): 무시할 수 없는 긴급 신호

🔄 DMA (Direct Memory Access)

  • CPU가 데이터를 직접 처리하지 않고, DMA 컨트롤러가 입출력 장치와 메모리 간 데이터 전송을 담당
  • 데이터 이동 프로세스:
    1. CPU가 DMA 컨트롤러에 작업 명령 전달
    2. DMA 컨트롤러가 직접 메모리와 입출력 장치 간 데이터 전송
    3. 작업 완료 시 CPU에 인터럽트 신호 전송

🔗 입출력 버스

  • 데이터 전송 경로의 역할
  • PCIe (Peripheral Component Interconnect Express)가 대표적인 예시

🎮 GPU의 역할과 병렬 처리 방식

  • 대량의 그래픽 연산을 빠르게 처리하는 장치
  • 수천 개의 코어로 구성되어 대규모 병렬 처리 수행
  • 복잡한 문제를 여러 개의 작은 문제로 나누어 동시에 처리하는 구조

Ref. 📗《이것이 취업을 위한 컴퓨터 과학이다 with CS 기술 면접》, 강민철

1개의 댓글

comment-user-thumbnail
2025년 2월 20일

사진 없나요?

답글 달기