Hello,

I am working on statistical models that intend to estimate the CPI, cache
misses and cache occupancy of applications in various configurations
(alone, after a preemption, simultaneously on different CPUs, etc.).

I would like to use gem5 in order to compare my models with "reality"
(hoping that gem5 gives enough accurate results). Thus, I need:
- Precise cache statistics and execution durations with different cache
configurations
- Able to stop the execution of a workload and resume it later (on same CPU
or different)

For now, I only tried using example/se.py:

build/ARM/gem5.opt configs/example/se.py -n 2 --caches --ruby
--l1d_size=32kB --l1d_assoc=2 --l1i_size=32kB --l1i_assoc=2 --l2cache
--l2_size=4MB --l2_assoc=8 --num-l2caches=1 --ruby -c
"/home/maxime/matriciel;/home/maxime/matriciel"

However, I'm not sure I really have an L2 cache in the simulation nor if I
have the L1 caches I expect. I have some difficulties understanding the
ruby.stats file too.

My questions:
1) How can I get a simple architecture with a private L1 for each CPU and a
shared L2? And how to get the number of miss or miss rate?
2) Is it possible to stop the execution of a workload at any moment, after
a number of cycles or a number of instructions? And is it possible to
resume it later? If yes, what the best way to do it?
3) Can I retrieve the current state of a cache at any moment? e.g. I'd like
to know the proportion a shared cache that belongs to an application and
the proportion that belong to another.

Thank you for your help and your time.

Regards,

Maxime.
_______________________________________________
gem5-users mailing list
[email protected]
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users

Reply via email to