我的任务是编写一个软件工具来测量不同级别缓存(L1、L2、L3)的命中率和未命中率。 该程序应该用我喜欢的 c/c++ 编写,但从来没有对硬件做过如此低级别的事情。 我不是在寻找解决方案,只是在寻找我可以使用哪些工具、库和函数的方向。
最佳答案
在假设的缓存配置上运行二进制文件时,您是否只是在寻找统计信息(缓存命中率)?如果是这样,请查看 Cachegrind .该页面上有一个实现部分,链接到具有一些详细信息的博士学位。它可能会有用。
关于c++ - 计算缓存命中率和未命中率的程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25167526/