→ N개의 Directed Mapped Cache가 병렬적으로 동작
→ 하지만, 너무 커지면 비교할 Entry가 많아져 Hit Time ⬆️
→ Least Recently Used로 가장 최근에 사용되지 않은 Block 쫓아냄.
Solution) Block Size를 늘리는 것
→ 첫 접근에 최대한 많은 Data를 가져와 다음 번의 접근에서 Miss가
뜰 확률을 낮춤
→ Main Memory는 Cache에 값을 쓸 때마다 Update됨
→ 단순하지만 느리고, Memory Traffic을 증가시킴
→ Cache의 Block Data를 쫓아낼 때, 단순 덮어쓰기를 하면 됨
→ Processor가 data를 Cache와 Write Buffer에 쓰면
Memory Controller가 Buffer의 내용을 천천히 Memory에 Update함
→ Cache에 값을 쓸 때, Main Memory를 바로 Update하지 않고
해당 Entry의 값과 MM의 값이 다르다 것을 Dirty Bit로 Check해둠
→ Cache의 Block Data를 쫓아낼 때, MM에 Update를 해주고 덮어써야함