Hi, Chao, As far as I know, each protocol of Ruby is tightly coupled with the memory hierarchy. That is, you should modify the protocol implementation (src/mem/protocol/MESI_Two_Level*) to change the memory hierarchy, which is not trivial.
My recommendation is to use the classic memory system (the default memory system), which models MOESI snooping protocol. (I think for interconnection network, if you do not have a special purpose, snooping is a better choice only for two cores.) This system is quite flexible in terms of memory hierarchy, so you can only modify the configuration scripts to achieve what you want. You will mostly modify two files (Note that if you modify a file under src directory, you need to recompile gem5): configs/common/CacheConfig.py (option parsing & shared L2) src/cpu/BaseCPU.py (private L1's & port connections) The current implementation has private L1 caches and shared L2 cache. To make L1 cache shared, you can refer to how L2 shared cache is configured. Thanks, Jae-Eon 2014-09-17 23:45 GMT+09:00 Chao Zhang via gem5-users <gem5-users@gem5.org>: > Hi all, > > I’m working on ruby memory system. And I want to share a L1 cache for 2 > cpu in ruby cache system with MESI two level protocol. How to config it? > Which part should I work on? Thanks! > > Chao. > _______________________________________________ > gem5-users mailing list > gem5-users@gem5.org > http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users >
_______________________________________________ gem5-users mailing list gem5-users@gem5.org http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users