Hy everybody,

I am working with the *RUBY *memory system, I'm looking to the *Replacement
Policy Abstract Class* behavior. If I am not wrong (if I am please correct
me), the function *touch *is called every time that a cache line is touched,
in functions such as *CacheMemory::**tryCacheAccess *or *CacheMemory::**
testCacheAccess*. What I do not understand is why *touch* is called in
function *CacheMemory::allocate* and then when copying the data in *
Sequencer::hitCallback* the *CacheMemory::setMRU* function is called again
in order to set to the cache entry the most recently used time. In theory
when allocating space for the new entry in *CacheMemory::allocate *the new
allocated entry gets the MRU time, so it is not necessary to update the time
again in the *Sequencer::hitCallback* function, isn't it?

Can anybody try to explain this to me please?

Thanks
_______________________________________________
gem5-users mailing list
[email protected]
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users

Reply via email to