2018년 12월 19일
Cache Clean, Flush
1. Cache와 Main Memory 일관성 유지 기법, Cache Clean, Flush
(1) Cache Clean, Flush 개념
| CacheClean | Cache line의 data를 Memory에 update 하는 data 일관성 기법 |
| CacheFlush | Cache line의 data를 0으로 변경하여 초기화하는 Cache line 초기화 기법 |
- Cache의 쓰기 방식 중 write through 방식 사용 시 필요치 않으나, write back 방식 사용 시 Clean, Flush 필요
(2) Cache의 D-bit와 V-bit의 개념
| D(Dirty) bit | 0: Cache line과 Memory의 내용이 일치 1: Data 변경으로 인한 Cache-Memory 불일치 |
| V(Valid) bit | 0: Data가 Memory에서 Cache로 Load 되지 않았음 1: Data가 Memory에서 Cache로 Load 됨 |
- CacheClean 시 D-bit → 0, Cache Flush 시 V-bit → 0
2. Cache Clean, Flush 기법 설명
(1) CacheClean
| 개념도 | 설명 |
|---|---|
![]() | – cache line의 data를 memory에 update – cache line 내용은 그대로 존재 |
(2) CacheFlush
| 개념도 | 설명 |
|---|---|
![]() | – cache line의 data를 0으로 변경 |
- CacheClean, Flush 용어는 여러 아키텍처에서 혼용되어 사용되므로 사용 시 주의 필요
3. CacheClean 및 Flush의 활용
| CacheClean | – DMA 등과 같은 I/O 사용 시 메모리 현행화 |
| CacheFlush | – Cache에서만 사용되는 일회성 Data 저장용 |
One Comment


Thank you for your post. I really appreciate with lots of your posts.