캐시는 컴퓨터 시스템에서 데이터 액세스 속도를 향상시키기 위해 사용되는 고속 저장 장치다. 주로 프로세서와 메모리 사이에 위치하며, 자주 사용되는 데이터나 명령어를 저장하여 CPU가 이를 빠르게 참조할 수 있도록 한다. 캐시 메모리는 일반적으로 SRAM(정적 랜덤 액세스 메모리)으로 구현되며, DRAM(동적 랜덤 액세스 메모리)보다 속도가 빠르지만 비용이 더 비쌉니다.
캐시는 여러 단계로 구성될 수 있으며, 가장 흔한 형태는 L1, L2, L3 캐시이다. L1 캐시는 CPU 내부에 위치하고, 가장 빠른 접근 속도를 제공하지만 용량이 작다. L2 캐시는 L1보다 느리지만 더 큰 용량을 가지고 있으며, 보통 CPU 내부나 외부에 위치한다. L3 캐시는 여러 CPU 코어가 공유하는 캐시로, L2보다 느리지만 용량이 더 크다. 이 세 가지 종류의 캐시는 기본적으로 하위 계층의 메모리인 RAM보다 훨씬 빠른 데이터 접근을 가능하게 하여 시스템 성능을 극대화한다.
캐시는 기본적으로 지역성 원칙에 따라 작동한다. 지역성 원칙은 시간적 지역성과 공간적 지역성으로 나눌 수 있다. 시간적 지역성은 최근에 액세스한 데이터가 다시 액세스될 확률이 높다는 것을 의미하고, 공간적 지역성은 특정 데이터와 인접한 데이터가 함께 액세스될 가능성이 높다는 것을 뜻한다. 이러한 원칙을 바탕으로 캐시는 자주 사용되는 데이터나 명령어를 미리 저장하여 성능을 높인다.
캐시의 효율성은 캐시 히트와 캐시 미스라는 개념으로 나타낼 수 있다. 캐시 히트는 CPU가 요청한 데이터가 캐시에 존재하는 경우를 의미하며, 이 경우 데이터에 빠르게 접근 할 수 있다. 반대로 캐시 미스는 요청한 데이터가 캐시에 존재하지 않아 메인 메모리에서 데이터를 찾아와야 하는 경우를 말한다. 캐시 미스가 발생하면 시스템의 성능이 저하되므로 캐시의 크기와 구조를 최적화하는 것이 매우 중요하다. 캐시는 현대 컴퓨터 아키텍처에서 필수적인 요소로, 효율적인 데이터 관리를 통해 시스템 성능 향상에 기여하고 있다.