CS/컴퓨터구조

[컴퓨터구조] 캐시 메모리 파헤치기

s_omi 2024. 11. 23. 09:56

캐시 메모리

CPU와 메모리 사이에 위치하고, 레지스터보다 용량이 크고 메모리보다 빠른 SRAM 기반의 저장 장치를 말한다.

주기억장치보다 용량이 훨씬 작지만 훨씬 빠르다.

 

1. 탄생 배경

CPU가 매번 메모리에 왔다 갔다 하는 건 시간이 오래 걸리니, 메모리에서 CPU가 사용할 일부 데이터를 미리 캐시 메모리로 가지고 와서 활용하기 위해 만들어졌다.

 

1.1 주요 용도

  • CPU 성능 최적화: CPU가 자주 사용하는 데이터를 캐시에 저장하여 접근 속도를 높임.
  • 메모리 병목 현상 감소: RAM과 CPU 간 속도 차이로 인해 발생하는 병목을 줄임.
  • 전력 소비 절감: CPU가 느린 RAM에 반복적으로 접근하지 않도록 하여 전력 소모를 줄임.

 

 

2. 종류

컴퓨터 내부에는 여러 개의 캐시 메모리가 있으며 CPU와 가까운 순서대로 L1 캐시, L2 캐시, L3 캐시라고 부른다.

  • 용량: L1 < L2 < L3
  • 속도, 가격: L3 < L2 < L1
  • 데이터 검색 순서: L1 → L2 → L3
  • 위치: 코어 내부 - L1, L2, 코어 외부 - L3

캐시 메모리 종류

 

 

3. 저장 데이터

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

  • 캐시 히트: 예측한 데이터가 실제로 들어맞아 캐시 메모리 내 데이터가 CPU에 활용될 경우
  • 캐시 미스: 예측이 틀려 메모리에서 필요한 데이터를 직접 가져와야 하는 경우
  • 캐시 적중률: 캐시 히트 횟수 / (캐시 히트 횟수 + 캐시 미스 횟수)

 

4. 참조 지역성의 원리

메모리로부터 가져와 캐시 메모리에 저장될 데이터를 결정하는 원칙이다.

  • 시간 지역성: CPU가 최근에 접근했던 메모리 공간에 다시 접근하려는 경향
  • 공간 지역성: CPU가 접근한 메모리 공간 근처를 접근하려는 경향

 

5. 캐시 메모리, 주기억장치, 보조기억장치 비교

특성 캐시 메모리 주기억 장치 보조기억 장치(HDD/SSD)
위치 CPU 내부/근처 CPU 외부 외부 스토리지
속도 매우 빠름 느림 매우 느림
용량 작음 매우 큼
비용 비쌈 저렴 더 저렴
목적 CPU와 주기억장치 간 속도 차이 완화 실행 중 데이터 저장 데이터 영구 저장