둠치킨
코딩하는 둠치킨
둠치킨

블로그 메뉴

  • 홈
  • 분류 전체보기 (218)
    • BOJ (171)
      • 스택 (14)
      • 큐 (5)
      • 덱 (4)
      • 그래프 (30)
      • 배열 (8)
      • 재귀 (12)
      • 브루트 포스 (2)
      • 그리디 알고리즘 (7)
      • 다이내믹 프로그래밍 (13)
      • 백트래킹 (24)
      • 기하학 (4)
      • 트리 (4)
      • 구현 (14)
      • 수학 (3)
      • 맵 (1)
      • 다익스트라 (2)
      • 누적합 (5)
    • 자료구조 (14)
      • 스택 (3)
      • 큐 (5)
      • 덱 (2)
      • 그래프 (1)
      • 트리 (1)
      • 힙 (1)
      • 정렬 (1)
    • C++ (11)
      • 모두의코드 (2)
      • Effective C++ (3)
      • C++ STL (6)
    • 컴파일러 (1)
    • OS (17)
    • 컴퓨터 구조 (2)
    • Unreal Engine 5 (2)

공지사항

전체 방문자
오늘
어제

인기 글

최근 글

태그

  • BFS
  • boj
  • Bruteforce
  • C
  • C++
  • C++ STL
  • Cache Memory
  • deadlock
  • DFS
  • Effective C++
  • java
  • Mutex
  • next_permutation
  • os
  • Process
  • rotate
  • semaphore
  • spin lock
  • STL
  • STL C++
hELLO · Designed By 정상우.
둠치킨

코딩하는 둠치킨

OS

캐시 메모리란?

2025. 6. 25. 16:17

캐시 메모리란?

프로그램 실행 속도를 높이기 위해 컴퓨터는 다양한 하드웨어 최적화 기법을 활용하는데, 그중에서도 가장 핵심적인 요소 중 하나가 캐시 메모리(cache memory)다.

1. 캐시의 정의

캐시 메모리는 CPU 내부 혹은 매우 가까운 위치에 존재하는 고속 메모리이다. CPU가 명령어나 데이터를 처리할 때, 메인 메모리(RAM)에 접근하는 속도가 상대적으로 느리기 때문에, CPU 성능을 100% 활용하지 못하는 병목이 발생할 수 있다.

이를 해결하기 위해 자주 사용하는 데이터나 명령어를 캐시에 미리 저장해두고, CPU가 먼저 캐시에서 해당 정보를 찾도록 설계되어 있다. 만약 캐시에 있으면 빠르게 처리하고, 없으면 메인 메모리에서 가져온 뒤 캐시에 다시 저장하는 방식이다.

이 과정은 전부 하드웨어적으로 자동 처리되며, 소프트웨어 개발자가 직접 제어할 수 없다.

2. 계층 구조

캐시는 일반적으로 계층적 구조를 갖는다.

  • L1 캐시: CPU 코어 내부에 위치하며, 속도가 가장 빠르지만 용량이 작다.
  • L2 캐시: L1보다 느리지만 더 큰 용량을 가지며, 일부는 각 코어에 독립적이거나 공유된다.
  • L3 캐시: 여러 코어에서 공유하며, L2보다 크고 느리다.

이처럼 가까운 곳일수록 빠르지만 용량이 작고, 먼 곳일수록 느리지만 용량이 크다.

3. 캐시 동작 방식

  • CPU → 캐시 확인
  • 캐시에 데이터가 있으면 즉시 사용 (캐시 히트)
  • 없으면 RAM에서 데이터를 가져오고 캐시에 저장 (캐시 미스)

CPU는 매번 RAM을 참조하지 않고 캐시부터 확인함으로써 효율적인 데이터 접근이 가능해진다.

4. 캐시와 블록, 라인

  • 메인 메모리(RAM)는 블록 단위로 구성된다.
  • 캐시는 이 블록들을 라인 단위로 가져와 저장한다.
  • 캐시는 특정 블록이 들어올 수 있는 위치를 정하는 **매핑 방식(직접, 연관, 집합 연관 등)**을 따르며, 캐시 교체 정책도 함께 사용된다 (예: LRU, FIFO 등).

요약

  • 캐시는 CPU에 가까운 고속 메모리로, 메모리 접근 속도의 병목을 줄이기 위해 사용된다.
  • 데이터 접근은 캐시 → RAM 순으로 시도하며, 이 과정은 전적으로 하드웨어가 처리한다.
  • 계층 구조와 교체 정책 등은 캐시의 효율성과 성능을 좌우하는 핵심 요소이다.
저작자표시 (새창열림)

'OS' 카테고리의 다른 글

컨텍스트 스위칭(Context Switching)이란?  (0) 2025.06.25
동기 vs 비동기 & 블로킹 vs 논블로킹  (0) 2025.06.25
프로그램은 어떻게 실행되는가  (0) 2025.06.24
스핀락(Spin Lock)  (3) 2025.06.24
세마포어(Semaphore)  (0) 2025.06.24
    'OS' 카테고리의 다른 글
    • 컨텍스트 스위칭(Context Switching)이란?
    • 동기 vs 비동기 & 블로킹 vs 논블로킹
    • 프로그램은 어떻게 실행되는가
    • 스핀락(Spin Lock)
    둠치킨
    둠치킨
    코딩 공부를 위한 코딩 블로그 기록 일기

    티스토리툴바