우리가 hello 프로그램을 실행한다고 가정해보자.
이 프로그램이 실행되기까지는 여러 단계를 거친다.
이처럼 프로그램이 실행되기 전까지 여러 저장장치 간의 데이터 복사가 일어나며, 이 과정이 바로 실행 속도를 늦추는 오버헤드(지연 요인)가 된다.
🧐 이 복사 과정을 어떻게 하면 더 빠르게 만들 수 있을까?
이 문제를 해결하기 위해 고안된 것이 바로 캐시(Cache) 메모리이다.
→ 이처럼 자주 사용하는 데이터가 반복해서 사용되는 경향을 지역성(Locality)이라고 한다.
마치자주 쓰는 물건을 창고(메인메모리)가 아닌 책상(캐시) 위에 두는 것과 같은 이치다.
대표적인 캐시 종류로는 다음과 같은 것들이 있다:
💡 쉽게 말해, 캐시는 메인 메모리(DRAM)와 CPU의 레지스터 사이에서 데이터를 중계해주는 고속 통로 역할을 한다!

컴퓨터 시스템의 모든 저장장치는 사실 계층 구조(메모리 계층)를 이루고 있다.
아래에서 위로 올라갈수록