我正在尝试熟悉 gem5 模拟器。首先,我写了一个简单的程序
int main()
{
m5_reset_stats(0, 0);
m5_dump_stats(0, 0);
return 0;
}
我用 util/m5/m5op_x86.S 编译它并使用...运行它
./build/X86/gem5.opt configs/example/se.py --caches -c ~/tmp/hello
m5out/stats.txt 显示(除其他外)......
system.cpu.dcache.ReadReq_hits::total 881
system.cpu.dcache.WriteReq_hits::total 917
system.cpu.dcache.ReadReq_misses::total 54
system.cpu.dcache.WriteReq_misses::total 42
为什么一个空函数会显示如此多的命中和未命中?命中和未命中是由 libc 引起的吗?如果是这样,那么 m5_reset_stats() 和 m5_dump_stats() 的目的是什么?