• 캐시 계층 설계: 캐시를 L1, L2, L3로 계층화해 속도와 용량 간 균형을 맞출 수 있습니다. 가장 자주 사용하는 데이터를 L1 캐시에, 덜 사용하는 데이터를 L2나 L3 캐시에 저장하는 방법입니다. 예를 들어, 최근 사용한 데이터를 L1 캐시에 유지(시간 지역성)합니다.
• 블록 단위 데이터 저장: RAM에서 데이터를 블록 단위로 캐시에 가져옵니다. 예를 들어, CPU가 한 워드(4바이트)를 요청하더라도 인접한 데이터를 포함하는 64바이트 블록을 캐시에 저장합니다. 공간 지역성을 활용해 근접 데이터를 함께 저장하면 이후 요청에서 히트율을 높일 수 있습니다.
• 교체 정책
캐시는 크기가 제한적이므로 캐시가 가득 찼을 때 새로운 데이터를 저장하려면 기존 데이터를 삭제해야 합니다. 이를 결정하는 방법을 캐시 교체 정책이라고 합니다.
주요 교체 정책은 다음과 같습니다.
• LRU(Least Recently Used): 가장 오랫동안 사용하지 않은 데이터를 삭제합니다. 최근에 사용한 데이터는 앞으로도 사용할 가능성이 높다는 시간 지역성을 기반으로 한 교체 정책입니다. 대부분의 프로그램에서 효율적으로 동작합니다. 다만 최근 사용 순서를 추적해야 해서 구현이 복잡할 수 있습니다.