gem5-users@gem5.org

The gem5 Users mailing list

View all threads

(Clusivity in Classic Cache) Difference between mostly_excl and strictly-exclusive?

Y
YongjieHuang
Sun, May 26, 2024 3:04 AM

Hi everyone,

Can somebody please tell me the  difference between mostly_excl and strictly-exclusive?

I know that if a cache is mostly_excl of caches above, (1)it will not allocate block when recvTimingResp and then respond a miss request from the cache above.

And I also know that the(2) cache above the mostly_excl needs to set  writeback_clean so that when a blk gets evicted from the upper cache, the mostly_excl lower cache can store the evicted blk.

Besides, (3)according to the access() function, I notice that a mostly_excl cache will invalidate corresponding cache blk when respond a blk that is in this level but not in the above cache, by calling maintainClusivity.

The problem is, it seems like a mostly_excl cache behaves the same as a strictly-exclusive cache according to (1) to (3).

Can anyone shed any light on it?

Best,

Yongjie

Hi everyone, Can somebody please tell me the  difference between mostly_excl and strictly-exclusive? I know that if a cache is mostly_excl of caches above, (1)it will not allocate block when recvTimingResp and then respond a miss request from the cache above. And I also know that the(2) cache above the mostly_excl needs to set  writeback_clean so that when a blk gets evicted from the upper cache, the mostly_excl lower cache can store the evicted blk. Besides, (3)according to the access() function, I notice that a mostly_excl cache will invalidate corresponding cache blk when respond a blk that is in this level but not in the above cache, by calling maintainClusivity. The problem is, it seems like a mostly_excl cache behaves the same as a strictly-exclusive cache according to (1) to (3). Can anyone shed any light on it? Best, Yongjie