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

Reply via email to