1. Write back / write through / write evict
These policies determine how to handle a write hit.
Hit means that the requested cache block exists at the current level cache.
Write back just handles the request at the current level cache only. Later, when this block would be evicted to the lower level, the modified data would be applied. In other words, the updated data would exist at the current level only.
Write through handles the request not only at the current level cache but to lower levels. In other words, the updated data would be exist at current level and lower levels.
Write evict passes the request to lower level and invalidates the cache block at the current level. In other words, the updated data would exist at the lower level only.
2. Write allocation / no write allocation
These policies determine how to handle a write miss.
Miss means that the requested cache block does not exist at the current level cache.
No write allocation just passes the request to the lower level.
Write allocation handles the request at the current level. In this case, the cache block would be fetched ahead or not, regarding to the following fetch policies.
3. Fetch on write / lazy fetch on read
Fetch on write: When a write miss is handled with write allocation policy, the cache block would be fetched ahead.
Lazy fetch on read: When a write miss is handled with write allocation policy, the cache block would not be fetched, and the data just written to the current level cache. In this case, the modified sectors must be marked, and when the cache block would be fetched for read hit, the modified sectors would be applied.
'Programming > Computer Architecture' 카테고리의 다른 글
Basic of the DRAM Subsystem (0) | 2019.04.19 |
---|