Hello everyone,
I have a doubt, in the file MOESI_CMP_directory-L1cache.sm the LRU queue
state, I think, is never updated.
The actualization of the LRU queue is done by the "touch" method of the
replacement policy class (src/mem/ruby/system/PseudoLRUPolicy.hh). This
method is called by the methods of the cache class (
src/mem/ruby/system/Cache.cc): "tryCacheAccess", "testCacheAccess",
"allocate" and "setMRU".
Nevertheless, only the "allocate" method is called when a new block is
taken to the cache, but in MOESI_CMP_directory-*L2*cache.sm the "setMRU"
method is used for updating the LRU queue state.
Is the LRU queue state updated in the cache L1?
Best Regards
Roberto
On Mon, Nov 26, 2012 at 9:45 PM, Nilay Vaish <[email protected]> wrote:
> On Mon, 26 Nov 2012, Roberto Rodríguez-Rodríguez wrote:
>
> Hello everyone,
>>
>> I need to create a model with cpus, L1i, L1d and L2 private and shared L3.
>> As example I am using the file configs/ruby/MOESI_CMP_**directory.py,
>> these
>> file depends of src/mem/protocol/(MOESI_CMP_**directory-dir.sm,
>> MOESI_CMP_directory-L1cache.sm and MOESI_CMP_directory-L2cache.**sm)
>> among
>> others files.
>>
>> Could anybody tell me if for the structure, I have to use, I have to
>> define a
>> new MOESI_CMP_directory-*L3*cache.**sm <http://cache.sm>? or is there an
>> easy way to define the
>>
>> structure I have to use?
>>
>>
> I think adding a new level of cache requires adding a new controller type.
> Or else you can modify one of the existing levels to include a new level
> (like the MOESI hammer protocol which has two levels under the same
> controller).
>
> --
> Nilay
_______________________________________________
gem5-users mailing list
[email protected]
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users