반응형

캐시 메모리(Cache Memory)란?

캐시 메모리란 속도가 빠른 장치(CPU)와 속도가 느린 장치(RAM)사이의 속도 차이에 따른 병목 현상을 줄이기 위한 메모리이다.

캐시 메모리는 메인메모리와 CPU사이에 위치해있으며 속도가 굉장히 빠르지만 비싸고 용량이 적다는 단점이 있다.

 

사용자가 프로그램을 실행하게되면 RAM에서 로딩하고 CPU가 해당 프로그램을 캐시 메모리에 저장하고 필요할게 가져와서 사용하기 때문에 메인 메모리보다 실행 속도가 월등히 빠르다.

효율적으로 캐싱을 하기 위하여 CPU가 다음에는 어떤 데이터를 원하는지 예측할 필요가 있는데 이를 위하여 캐시의 지역성(Cache Locality)이라는 개념이 존재한다.

 

캐시의 지역성(Cache Locality)

캐시는 용량이 적기 때문에 효율성이 중요하다.

효율적으로 동작을 하기 위하여 캐시의 적중률(Hit-rate)를 극대화 시켜야하는데 이때 데이터 지역성(Locality)를 이용한다.
지역성은 프로그램이 모든 코드 혹은 데이터에 균등하게 접근하지 않는 다는 특성을 전제조건으로 가진다.

즉, 지역성은 기억장치 내의 데이터들에 균등하게 접근하는 것이 아니라 특정 순간 특정 부분을 집중적으로 참조하는 특성이다.

 

대표적인 캐시의 지역성으로는 공간 지역성(Spatial Locality)과 시간 지역성(Temopral Locality)가 있다.

공간 지역성(Spatial Locality)

- 최근에 사용했던 데이터와 인접한 데이터가 참조될 가능성이 높다는 특성

CPU 캐시나 디스크 캐시일 경우 한 메모리 주소에 접근할 때 그 주소뿐 아니라 해당 블록을 전부 가져오는데 이때 메모리 주소를 오름차순 혹은 내림차순으로 접근하면, 캐시에 이미 저장된 같은 블록에 있는 데이터에 접근하므로 캐시의 효율성이 크게 상승.

 

시간 지역성(Temporal Locality)

- 최근에 사용했던 데이터가 재참조될 가능성이 높다는 특성

메모리 상의 같은 주소에 여러 차례 읽기, 쓰기를 수행할 때 상대적으로 작은 캐시를 사용해도 효율성을 꾀할 수 있음.

 

 

반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기