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
