반응형

본 글은 책 "혼자 공부하는 컴퓨터 구조+운영체제" 의 Chapter 6-3. 캐시메모리 부분을 읽고 정리한 내용입니다.

06-3 캐시 메모리

  • CPU가 메모리에 접근하는 시간은 CPU의 연산속도보다 느림
  • 이를 극복하기 위한 저장 장치로 캐시 메모리가 쓰임
 

 

저장 장치 계층 구조(Memory hierarchy)

  • ‘CPU에 얼마나 가까운가’를 기준으로 계층적으로 나타낼 수 있음

 

캐시 메모리(Cache memory)

  • CPU와 메모리 사이에 위치
  • 레지스터보다 용량이 크고 메모리보다 빠른 S(static)RAM 기반의 저장 장치
캐시 메모리를 대형 마트보다 가깝지만 비싼(?) 편의점에 비유

 

캐시 메모리에 CPU가 필요로 하는 데이터가 있다면 데이터로의 접근 시간을 줄일 수 있음

  • L(Level)1 캐시: 코어와 가장 가까운 캐시 메모리
  • L2 캐시
  • L3 캐시

L1과 L2 캐시는 코어 내부에, L3 캐시는 코어 외부에 위치

  • CPU가 메모리 내에 데이터가 필요하다고 판단하면 우선 L1 캐시에서 데이터를 검색
  • 없다면 L2, L3 를 순차적으로 검색
  • 멀티코어 프로세서에서는 L1,L2 캐시는 코어마다 고유한 캐시 메모리로 할당
  • L3 캐시는 여러 코어가 공유하는 형태로 사용
캐시 메모리 계층을 반영한 저장 장치 계층 구조

 

참조 지역성 원리

  • 캐시 메모리에는 무엇을 저장해야 할까?

⇒ CPU가 사용할 법한 대상을 예측하여 저장

  • Cache hit: 자주 사용될 것으로 예측한 데이터가 실제로 들어맞아 캐시 메모리 내 데이터가 CPU에서 활용되는 경우를 뜻함
  • Cache miss: 예측이 틀려 메모리에서 필요한 데이터를 직접 가져와야 하는 경우로 자주 발생하는 성능이 떨어짐
  • 캐시 적중률(Cache hit ratio) = # Cache hit / (# Cache hit + # Cache miss)
    • 우리가 사용하는 컴퓨터의 캐시 적중률은 대략 85~95% 이상

어떻게 캐시 적중률을 높일 수 있을까?

  • 캐시 메모리는 한가지 원칙에 따라 메모리로부터 가져올 데이터를 결정

 
참조 지역성의 원리(locality of reference, principle of locality)

  1. CPU는 최근에 접근했던 메모리 공간에 다시 접근하려는 경향이 있다 → 시간 지역성
구구단 2단을 출력하는 코드 내용
  • 변수는 num, i
  • 반복사용되는 변수들을 캐시에 저장하면 효율성 높일 수 있음

2. CPU는 접근한 메모리 공간 근처를 접근하려는 경향이 있다 → 공간 지역성

  • 기억장치 내에 서로 인접하여 저장되어 있는 데이터들이 연속적으로 액세스 될 가능성이 높아지는 특성
  • 예를 들어 워드 프로세서 프로그램의 자동 저장 기능에 대한 데이터가 사용되었다면, 해당 공간 근처에 있는 기능들에 대한 메모리 공간을 캐시에 저장하면 효율성을 높일 수 있음

 

참고

 


1. 책 "혼자 공부하는 컴퓨터 구조+운영체제"
2. 유튜브 "혼자 공부하는 컴퓨터 구조 + 운영체제"
 

반응형

'OS' 카테고리의 다른 글

프로세스와 스레드  (0) 2024.07.14
운영체제를 공부해야하는 이유와 커널  (0) 2024.07.14
메모리  (0) 2024.07.05
CPU 성능 향상 기법  (0) 2024.07.02
명령어  (0) 2024.06.30

+ Recent posts