Hello Jason:
Thank you for your reply, thank you very much.
___
gem5-users mailing list -- gem5-users@gem5.org
To unsubscribe send an email to gem5-users-le...@gem5.org
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s
Hi Zhen,
Sorry for missing your previous message.
(1) I think the biggest difference is that the former does not implement a
port for each bank, is it right?
- I guess it assumes that the banks are the bottlenecks not the ports. It
assumes that the banks are distributed and have separate ports,
Hello Jason:
I have tag every transition in the cache controller (i.e.,
MESI_Three_Level-L0cache.sm) with the required resources, but there is
something wrong, during the
implementation of the L0 multi-bank, I have doubt whether need to add L1
RequestType? It also means require L1 cache
Hello Jason:
Comparing resource stalls to model banking with "real banking",
(1) I think the biggest difference is that the former does not implement a port
for each bank, is it right?
(2) I have read MOESI_AMD_Base-corepaire.sm that you have mentioned, during the
implementing L0 multi-bank, I
Hello,
(1) Yes, I believe so.
(2) I thought MOESI_hammer was annotated, but it doesn't look like
(huh...). However, AMD MOESI Base is annotated. See all of the transition
in the core-pair file, for instance:
Hello Jason:
(1) Can I use resource stalls to simulate the multi-bank implementation of L0
and L1, and model L2 a distributed cache? By the way, the implementation of L2
multi-bank in gem5 is not interleaving (multi-bank), right?
(2) "add annotations to the transitions in the L0 and L1 cache",
Hello,
For (1), yes. You can set this *in the python configuration file*. You
should not modify the SimObject description file to change a default
parameter.
For (2), yes, that's exactly where you should modify.
Cheers,
Jason
On Wed, Oct 28, 2020 at 9:47 AM zhen bang via gem5-users <
Hello Jason:
I would use the resource stalls to model banking, I have read
src/mem/ruby/structures/Rubycache.py and src/mem/ruby/structures/BankedArray.cc
(1) I have seen
dataArrayBanks = Param.Int(1, "Number of banks for the data array")
tagArrayBanks = Param.Int(1, "Number of banks for the
Hello Jason:
Resource stall, you mean there is only one bank, but we use resource stall
to implement interleaving bank?
I want to config multi banks of L0 and L1 to improve the parallelism of
cache,and the number of banks can point by defined L0_bank_number arguments in
.py scripy,if I
In this case, I would use the resource stalls to model banking. You can
extend the BankedCache implementation to model arbitrary address
interleaving, if that's important to your model. To do this, you'll have to
add annotations to the transitions in the L0 and L1 cache, but this should
be easier
Hello Jason:
I want to configure L0 and L1 as Multi-Banking (Interleaving) Caches ,
considering L0 and L1 are private, so I have two questions:
(1). If L0 and L1 are configured as multiple banks, do I need to connect L0 to
the ruby network?
(2). To configure multiple banks, should I need to
Hello,
It depends on how you want to model banking. If you just want to set and
limit the bandwidth to a cache, you can use the "resourceStalls = true"
option on the RubyCache object and set the tag and data array values. You
will also have to tag every transition in the cache controller (i.e.,
12 matches
Mail list logo