Search

캐시

class
운영체제
상태
완료
날짜
목차

캐시

캐시는 컴퓨터 시스템에서 성능을 크게 향상시키기 위해 사용되는 일종의 고속 데이터 저장소입니다. 메모리 계층 구조에서 CPU와 메인 메모리사이에 위치하며, CPU가 자주 접근하는 데이터나 명령어를 빠르게 제공하기 위해 사용됩니다.

캐시의 작동 원리

캐시는 아주 작지만 매우 빠른 메모리입니다. CPU가 데이터를 요청할 때, 우선적으로 캐시 메모리에서 해당 데이터를 찾습니다(캐시 히트). 만약 요청한 데이터가 캐시에 있으면, CPU는 즉시 데이터를 사용할 수 있습니다. 이 과정은 메인 메모리에 접근하는 것보다 훨씬 빠릅니다. 만약 데이터가 캐시에 없다면(캐시 미스), CPU는 데이터를 메인 메모리에서 읽어야 하며, 읽은 데이터는 캐시에 저장됩니다.

캐시의 특징

1.
속도 : 캐시는 SRAM(Static Random-Access Memory) 같은 고속의 메모리 기술을 사용하여 제작되며, 이는 DRAM(Dynamic RAM)보다 훨씬 빠릅니다.
2.
용량 : 캐시는 비용과 속도의 균형을 맞추기 위해 상대적으로 용량이 작습니다. 일반적으로 캐시의 크기는 몇 MB 정도입니다.
3.
계층 구조 : 현대의 컴퓨터 시스템에서는 다수의 캐시 계층(L1, L2, L3)을 사용합니다. L1 캐시는 가장 작고 빠르며, CPU 코어에 가장 가깝습니다. L2와 L3 캐시는 점차 크고 느린 편이지만, 여전히 메인 메모리보다는 빠릅니다.

캐시의 계층 구조 특징

데이터는 일반적으로 '가까운 캐시 먼저' 원칙에 따라 관리됩니다. 즉, 데이터는 먼저 L1 캐시에 저장되려고 시도되며, 여기에 공간이 없거나 정책에 따라 불가능할 때 L2, 그리고 L3 캐시로 이동합니다. 이러한 캐시 간 데이터 이동은 다음과 같은 메커니즘에 따라 이루어집니다.
1.
캐시 미스 : CPU가 데이터를 요청했을 때 해당 데이터가 L1 캐시에 없으면, L2 캐시에서 검색을 시도합니다. L2에서도 미스가 발생하면 L3 캐시, 그리고 마지막으로 메인 메모리에서 검색합니다.
2.
교체 정책 : 캐시에서 데이터를 교체할 때는 특정 교체 알고리즘(LRU, Least Recently Used)에 따라 결정됩니다. 가장 오랫동안 사용되지 않은 데이터가 캐시에서 제거되고 새로운 데이터로 대체됩니다.
캐시를 사용하면서, 데이터 무결성을 보장하기 위한 방법들이 있습니다. 대표적인 방법으로는 캐시 코허런시, MESI (Modified, Exclusive, Shared, Invalid) 프로토콜이 있습니다.
또한, 쓰기 정책에 따라 관리됩니다. 그러나 이 부분은 캐시의 일반적인 설명이 아닌 캐시 관리 기법에 관한 것이므로, 별도의 페이지를 만들어 설명하겠습니다.