Assume a cache read miss in MESI:
1 should the memory not respond as long as there's a shared copy in other's cache?
2 if the line is dirty, should it be flushed to memory?
This comment was marked helpful 0 times.
Yuyang
@iamk_d__g I think the answer to both your questions depend on the implementation.
This comment was marked helpful 0 times.
spilledmilk
To elaborate on Yuyang's response, I believe it would depend on the type of cache that is in use.
If this were a write-through cache, then the cache would only need to ask memory. However, if the line were dirty, it could also ask the other caches depending on the trade-off in latency between implementing such a protocol and the benefits of fetching from other caches vs. fetching from memory.
Assume a cache read miss in MESI: 1 should the memory not respond as long as there's a shared copy in other's cache? 2 if the line is dirty, should it be flushed to memory?
This comment was marked helpful 0 times.
@iamk_d__g I think the answer to both your questions depend on the implementation.
This comment was marked helpful 0 times.
To elaborate on Yuyang's response, I believe it would depend on the type of cache that is in use.
In this case, we have a write-back cache, so on a cache read miss, the data must be fetched from other caches if the line is dirty and memory if it is not.
If this were a write-through cache, then the cache would only need to ask memory. However, if the line were dirty, it could also ask the other caches depending on the trade-off in latency between implementing such a protocol and the benefits of fetching from other caches vs. fetching from memory.
This comment was marked helpful 0 times.