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 http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users