Hi Shivam,
You have connected the CPU directly to the L3bus in your connectAllPorts call.
Thereby you have bypassed the L2 completely and thus the absence of stats.
Have a look at the config.dot.pdf in m5out. If it's not there, make sure you
have py-dot installed. The dot diagram will show you what your system looks
like and what ports are connected together (to avoid further mistakes).
You actually do not need a toL3bus at all. You can simply put the L3 between
the membus and the DRAM controller.
Good luck.
Andreas
From: Tao Zhang <tao.zhang.0...@gmail.com<mailto:tao.zhang.0...@gmail.com>>
Reply-To: gem5 users mailing list
<gem5-users@gem5.org<mailto:gem5-users@gem5.org>>
Date: Wednesday, 27 February 2013 18:08
To: gem5 users mailing list <gem5-users@gem5.org<mailto:gem5-users@gem5.org>>
Subject: Re: [gem5-users] Unexpected results on addition of L3 Cache in Classic
Memory Model
Hi Shivam,
It seems weird since L2 reports should have been there. How did you declare
your L3Cache() and l2_cache_class()? Did you see both "l2" and "l3" in
m5out/config.ini?
-Tao
On 02/27/2013 12:58 PM, Shivam Agarwal wrote:
Hello all
I have incorporated an L3 cache in configs/common/CacheConfig.py as follows:
if options.l2cache:
system.l2 = l2_cache_class(clock=options.clock,
size=options.l2_size,assoc=options.l2_assoc, block_size=options.cacheline_size)
system.tol2bus = CoherentBus(clock = options.clock, width = 32)
if options.l3cache:
system.tol3bus = CoherentBus(clock = options.clock, width = 32)
system.l2.cpu_side = system.tol2bus.master
system.l2.mem_side = system.tol3bus.slave
system.l3 = L3Cache(size = options.l3_size, assoc =
options.l3_assoc, block_size=options.cacheline_size)
system.l3.cpu_side = system.tol3bus.master
system.l3.mem_side = system.membus.slave
else:
system.l2.mem_side = system.membus.slave
system.l2.cpu_side = system.tol2bus.master
----------some code which I have not changed------
if options.l2cache and options.l3cache :
system.cpu[i].connectAllPorts(system.tol3bus, system.membus)
elif options.l2cache and not options.l3cache:
system.cpu[i].connectAllPorts(system.tol2bus, system.membus)
else:
system.cpu[i].connectAllPorts(system.membus)
I ran the following commands:
1) ./build/ARM/gem5.opt --debug-flags=DRAM configs/example/se.py -c queens -o
8 --caches --l2cache --l1d_size=1kB --l1i_size=1kB --l2_size=2MB
system.l2.overall_misses::total 591
system.physmem.num_reads::total 591
2) ./build/ARM/gem5.opt --debug-flags=DRAM configs/example/se.py -c queens -o 8
--caches --l2cache --l1d_size=1kB --l1i_size=1kB --l2_size=2kB
system.l2.overall_misses::total 1081
system.physmem.num_reads::total 1081
For these cases, the results seem to be consistent as the overall misses
increases with decreasing L2 size and these go to physmem(which is DRAM in this
case) for further servicing. According to my understanding if I insert an L3
cache between L2 and Physmem then L2 misses should not change and should be
served by L3.
Problem 1) After the incorporation of L3 cache I am not able to see L2 misses
("system.l2.overall_misses::total ") anymore, and only L3 misses are reported
in stats.txt file. How can I see L2 misses?
Problem2) Whatever be the size of L2 cache, number of misses at L3 are constant.
3)./build/ARM/gem5.opt --debug-flags=DRAM configs/example/se.py -c queens -o 8
--caches --l2cache --l3cache --l1d_size=1kB --l1i_size=1kB --l2_size=2MB
--l3_size=1MB
system.physmem.num_reads::total 591
system.l3.overall_misses::total 591
4)./build/ARM/gem5.opt --debug-flags=DRAM configs/example/se.py -c queens -o 8
--caches --l2cache --l3cache --l1d_size=1kB --l1i_size=1kB --l2_size=2kB
--l3_size=1MB
system.physmem.num_reads::total 591
system.l3.overall_misses::total 591
I would like to see misses occuring at every level of memory hierarchy. Kindly
help me about how to do this.
Best Regards
Shivam Agarwal
Student, IIT-Delhi
_______________________________________________
gem5-users mailing list
gem5-users@gem5.org<mailto:gem5-users@gem5.org>http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
-- IMPORTANT NOTICE: The contents of this email and any attachments are
confidential and may also be privileged. If you are not the intended recipient,
please notify the sender immediately and do not disclose the contents to any
other person, use it for any purpose, or store or copy the information in any
medium. Thank you.
_______________________________________________
gem5-users mailing list
gem5-users@gem5.org
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users