A[0] A[1] 과 같은 연속 접근 시 참조된 데이터 근처에 있는 데이터가 잠시 후 또 사용 될 가능성이 높음
캐시에 데이터를 저장할 때는, 이러한 참조 지역성을 최대한 활용하기 위해 해당 데이터뿐만 아니라, 옆 주소의 데이터도 가져온다.
CPU가 요청한 데이터가 캐시에 있으면?
Cache hit
없으면?
Cache miss
Direct Mapped Cache
가장 기본적인 구조, DRAM의 여러 주소가 캐시 메모리의 한 주소에 대응
ex) 00000, 01000, 10000, 11000 -> 000 매핑
인덱스 필드 + 태그 필드 + 데이터 필드
Fully Associative Cache
비어있는 캐시 메모리가 있으면, 마음대로 주소를 저장
저장은 쉽지만 찾을 때가 문제
Set Associative cache
Direct + Fully -> 특정 행을 지정하고, 그 행 안의 어떤 열이 든 비어있을 때 저장
Direct에 비해 검색속도 down 저장속도 up
Fully에 비해 검색속도 up 저장속도 down
Direct와 Fully의 중간