Hello, I am trying to compare theoretical number of data cache accessed, cache hits and cache misses to those given by gem5. However, depending on the cpu type and the memory model, I obtain different values but I don't understand why.
Here the results for one example (L1=512o, associativity=4, MESI protocol). In order to compare those results, I also ran the same program on Cachegrind. It looks like the number of misses remains similar using ruby but the number of accesses is slightly different. The results using cpu=detailed and ruby are close to those obtained by Cachegrind. On the other hand, using the classic memory, with cpu=timing, the results are very close to Cachegrind but I don't understand why they are so bad with cpu=detailed. Thank you for your help. Maxime. *timing classic memory:* system.cpu.dcache.total_refs 1258445 system.cpu.dcache.demand_hits::total 1258445 system.cpu.dcache.overall_misses::total 110023 system.cpu.dcache.ReadReq_accesses::total 1186053 system.cpu.dcache.demand_accesses::total 1368468 *detailed classic memory:* system.cpu.dcache.total_refs 827183 system.cpu.dcache.demand_hits::total 827183 system.cpu.dcache.overall_misses::total 116423 system.cpu.dcache.ReadReq_accesses::total 761191 system.cpu.dcache.demand_accesses::total 943606 *timing ruby:* system.ruby.l1_cntrl0.L1DcacheMemory_total_accesses: 1368468 system.ruby.l1_cntrl0.L1DcacheMemory_total_hits: 1201369 system.ruby.l1_cntrl0.L1DcacheMemory_total_misses: 167099 *detailed ruby:* system.ruby.l1_cntrl0.L1DcacheMemory_total_accesses: 1311706 system.ruby.l1_cntrl0.L1DcacheMemory_total_hits: 1201611 system.ruby.l1_cntrl0.L1DcacheMemory_total_misses: 110095 *Cachegrind:* D refs: 1,281,138 (1,187,174 rd + 93,964 wr) D1 misses: 110,303 ( 108,900 rd + 1,403 wr) D1 miss rate: 8.6% ( 9.1% + 1.4% )
_______________________________________________ gem5-users mailing list gem5-users@gem5.org http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users