我是用于程序分析的cachegrind的长期用户,最近又再次查看了官方文档: https: //valgrind.org/docs/manual/cg-manual.html
其中多次引用了 2000 年代中期的 CPU 模型、实现决策和仿真模型,并且还声明“现代”处理器上的某些行为发生了变化:
LL 高速缓存通常会复制 L1 高速缓存的所有条目[...]这是奔腾芯片上的标准,但 AMD Opterons、Athlons 和 Durons 使用专用的 LL 高速缓存[...]
Cachegrind 模拟了 2004 年左右主流桌面/服务器处理器的典型分支预测器。
较新的处理器具有更好的分支预测器 [...] Cachegrind 的预测器设计故意保守,以便代表大量已安装的处理器,这些处理器早于更复杂的间接分支预测器的广泛部署。特别是,最新型号的 Pentium 4s (Prescott)、Pentium M、Core 和 Core 2 具有比 Cachegrind 建模更复杂的间接分支预测器。
现在我想知道
任何见解都将不胜感激!
profiling valgrind cpu-architecture branch-prediction cachegrind