ScholarGate
어시스턴트

캐시 구성 및 정책

캐시 구성은 캐시가 메모리 블록을 저장소에 매핑하는 방식(배치 및 연관성)과 교체 및 쓰기를 관리하는 정책에 관한 것으로, 이들은 함께 캐시 적중 빈도와 주 메모리와의 상호작용 방식을 결정합니다.

PaperMind(으)로 주제 찾기곧 제공Find papers & topics
Tools & resources
슬라이드 다운로드
Learn & explore
동영상곧 제공

Definition

캐시 구성 및 정책은 캐시의 구조적 및 관리적 선택 사항으로, 블록이 배치될 수 있는 위치, 미스 발생 시 어떤 블록이 제거되는지, 그리고 쓰기가 하위 레벨로 전파되는 방식 등을 결정하여 캐시의 적중률과 동작을 제어합니다.

Scope

이 주제는 단일 캐시의 내부 설계에 대해 다룹니다: 직접 매핑, 세트 연관, 완전 연관 배치; LRU 및 그 근사치와 같은 교체 정책; 쓰기 정책(쓰기 관통 대 쓰기 복귀) 및 쓰기 할당; 블록 크기; 그리고 강제적, 용량, 충돌 미스로 분류되는 미스 유형. 다중 캐시 일관성(캐시 일관성 프로토콜) 및 주소 변환(가상 메모리 및 페이징)은 제외됩니다.

Core questions

  • 직접 매핑, 세트 연관, 완전 연관 배치는 비용과 충돌 동작에서 어떻게 다른가요?
  • 미스 발생 시 어떤 교체 정책이 블록을 제거해야 하며, 이는 어떻게 저렴하게 근사화될 수 있나요?
  • 쓰기 관통 및 쓰기 복귀 정책은 트래픽과 복잡성에서 어떻게 다른가요?
  • 미스는 어떻게 분류되며, 어떤 설계 변경이 각 유형을 줄일 수 있나요?

Key concepts

  • 직접 매핑 캐시
  • 세트 연관 캐시
  • 완전 연관 캐시
  • 최소 최근 사용(LRU) 교체
  • 쓰기 관통 대 쓰기 복귀
  • 쓰기 할당
  • 블록(라인) 크기
  • 강제적, 용량, 충돌 미스

Key theories

Three Cs 미스 모델
캐시 미스는 강제적(첫 접근), 용량(작업 세트에 비해 캐시가 너무 작음), 충돌(연관성이 너무 적음)로 분류될 수 있으며, 이 프레임워크는 각 설계 매개변수(크기, 블록 크기, 연관성)를 줄이는 미스와 연결합니다.

Mechanisms

메모리 주소는 태그, 인덱스, 오프셋 필드로 분할됩니다. 인덱스는 세트를 선택하고, 태그는 그 안의 블록을 식별하며, 연관성은 하나의 세트를 공유하는 블록의 수를 설정합니다. 미스 발생 시 캐시는 블록을 가져오고 교체 정책(종종 최소 최근 사용(LRU)의 근사치)에 의해 선택된 다른 블록을 제거합니다. 쓰기는 주 메모리를 즉시 업데이트하거나(쓰기 관통) 블록을 더티로 표시하고 업데이트를 연기합니다(쓰기 복귀).

Clinical relevance

캐시 구성은 미스 페널티가 적중 페널티에 비해 크기 때문에 효과적인 성능을 좌우합니다. 프로그래머는 데이터 배치, 블로킹, 지역성을 높이는 접근 패턴을 통해 캐시 동작을 개선하며, 아키텍트는 연관성, 블록 크기, 쓰기 정책을 조정하여 적중률과 면적, 전력, 대역폭 사이의 균형을 맞춥니다.

History

Wilkes는 1965년에 슬레이브(캐시) 메모리를 제안했으며, 캐시는 곧 상업적으로 채택되었습니다. Alan Jay Smith의 1982년 연구는 배치, 교체, 쓰기 정책에 대한 광범위한 측정을 종합하여 오늘날에도 사용되는 설계 어휘를 확립했습니다. 이후 Three Cs 모델은 미스 원인과 해결책에 대해 추론하는 구조화된 방법을 제공했습니다.

Key figures

  • Maurice Wilkes
  • Alan Jay Smith
  • John L. Hennessy
  • David A. Patterson

Related topics

Seminal works

  • smith1982cache
  • hennessy2019

Frequently asked questions

쓰기 관통(write-through) 캐시와 쓰기 복귀(write-back) 캐시의 차이점은 무엇인가요?
쓰기 관통 캐시는 모든 쓰기 작업 시 캐시와 주 메모리를 모두 업데이트하여 메모리를 최신 상태로 유지하지만 더 많은 트래픽을 발생시킵니다. 쓰기 복귀 캐시는 캐시만 업데이트하고 블록을 더티로 표시하며, 블록이 제거될 때만 메모리에 기록하여 추가적인 관리 비용이 들지만 트래픽을 줄입니다.
직접 매핑 캐시 대신 세트 연관 캐시를 사용하는 이유는 무엇인가요?
직접 매핑 캐시는 각 블록에 정확히 하나의 위치만 허용하므로, 동일한 슬롯에 매핑되는 블록들은 충돌합니다. 세트 연관성은 각 블록에 세트 내에서 여러 가능한 위치를 제공하여 충돌 미스를 줄이지만, 더 많은 비교 하드웨어와 약간 느린 적중 속도를 초래합니다.

Methods for this concept

Related concepts