- 데이터를 미리 복사해 놓는 임시 저장 장소
- 캐시에 데이터를 미리 복사해 놓으면 계산이나 접근 시간없이 더 빠른 속도로 데이터에 접근할 수 있다.
- 자원을 효율적으로 사용하기 위해 한 번 요청하고 받은 응답 데이터를 저장해두기 위해 사용한다.
-
참조하려는 데이터가 캐시에 없는 경우 -> 캐시 교체 정책에 따라 기존 캐시를 교체한다.
- 해당 메모리 주소를 처음 불러서 발생하는 미스
- 캐시 메모리에 A와 B 데이터를 저장해야 하는데, A와 B가 같은 메모리 주소에 할당되어 있어서 발생하는 미스
-
캐시 메모리의 공간이 부족해서 발생하는 미스
-
캐시 크기를 키워 문제를 해결하려면, 캐시의 접근속도가 느려지고 파워를 많이 먹는다는 단점이 생긴다.
- 참조하려는 데이터가 캐시에 존재하는 경우
-
LRU(Least-Recently-Used) : 가장 오랫동안 사용되지 않은 데이터가 교체된다.
-
LFU(Least-Frequently-Used) : 참조 횟수가 가장 적은 데이터가 교체된다.
- 메인 메모리와 CPU 간의 데이터 속도 향상을 위한 중간 버퍼 역할을 하는 메모리
- 지역성을 이용해 데이터 접근 속도를 빠르게 하기 위한 메모리이다. -> 속도가 빠른 장치와 느린 장치에서 속도 차이에 따른 병목 현상을 줄이기 위한 메모리
- 반복문(for, while)처럼 방금 전에 접근한 메모리를 다시 참고할 확률이 높다.
- A[0] 사용 후 인접한 A[1]이 사용될 확률이 높다.
캐시에 데이터를 저장할 때는 이러한 참조(공간) 지역성을 최대한 활용하기 위해 해당 데이터 뿐만 아니라, 옆 주소의 데이터도 같이 가져와 미래에 쓰일 것을 대비한다.