gem5-users@gem5.org

The gem5 Users mailing list

View all threads

[Ruby] How to configure a private strictly inclusive L2 and a shared exclusive L3 with Ruby

Y
YongjieHuang
Mon, Jun 24, 2024 4:13 AM

Dear All,

According to the documentation, there are existed two-level MOESI protocol and three-level MESI protocol in Gem5 repository. However both of them are either only two-level or single clusivity.

Now I need to configure a private-L1, strictly inclusive private-L2 and strictly exclusive shared-L3 cache hierarchy in Ruby. I want to edit the existed MOESI/MESI protocol but

I cannot understand which code lines are dedicated for clusivity in these existed Ruby-based implementation? For CHI, there are parameter for clusivity but for MOESI/MESI, documents didn't tell.

What if I want to add a datapath which directly connect LSQ to L3 cache, what should I do?  I think I add to add a sequencer between CPU and L3 cache controller. And can anyone give any ideas?

Thanks sincerely in advance.

Dear All, According to the documentation, there are existed two-level MOESI protocol and three-level MESI protocol in Gem5 repository. However both of them are either only two-level or single clusivity. Now I need to configure a private-L1, strictly inclusive private-L2 and strictly exclusive shared-L3 cache hierarchy in Ruby. I want to edit the existed MOESI/MESI protocol but I cannot understand which code lines are dedicated for clusivity in these existed Ruby-based implementation? For CHI, there are parameter for clusivity but for MOESI/MESI, documents didn't tell. What if I want to add a datapath which directly connect LSQ to L3 cache, what should I do?  I think I add to add a sequencer between CPU and L3 cache controller. And can anyone give any ideas? Thanks sincerely in advance.