“캐시 메모리(Cache Memory)”

속도가 빠른 장치와 느린 장치 간 속도 차이에 따른 병목 현상을 줄이기 위한 메모리
CPU가 주기억장치에 저장된 데이터를 읽어올 때, 자주 사용하는 데이터를 캐시 메모리에 저장하고 이후 주기억장치가 아닌 캐시 메모리에서 데이터를 읽어옴으로써 속도 향상
- 장점 : 데이터 로드 속도의 향상
- 단점 : 용량이 적고, 비교적 비싼 비용
[사례]
- CPU 코어와 메모리 사이의 병목 현상 완화
- 웹 브라우저 캐시 파일 → 하드디스크와 웹 페이지 사이 병목 현상을 완화
[어떤 데이터가 ‘자주 사용될’ 데이터인가?]
- 캐시 메모리에는 자주 사용하는 데이터를 메모리에서 복사해 저장함
- 실제 어떤 데이터가 자주 사용될지 실행 전에는 알 방법이 없으므로, **인접성 원칙(The Principle of Locality)**을 사용하여 캐시에 저장될 데이터를 정함
“캐시 메모리의 작동 원리 : 인접성 원칙”
- 시간 지역성 - Temporal Locality
- for, while과 같은 반복문에 사용하는 조건 변수처럼 한번 참조된 데이터는 잠시 후 다시 참조될 가능성이 높음 (같은 메모리 주소에 접근)
- 공간 지역성 - Spatial Locality
- 배열 또는 객체(구조체) 접근 시, 참조된 데이터 근처에 있는 데이터가 잠시 후 다시 참조될 가능성이 높음
- A[0], A[1]과 같이 인접한 데이터 간 접근의 경우
캐시 메모리에 데이터를 저장할 때, 이와 같은 인접성을 최대한 활용하기 위해 사용할 데이터 뿐만 아니라, 옆 주소의 데이터도 같이 가져옴으로써 추후 사용을 대비한다.
“캐시 메모리 관련 용어”