4

作为课程项目的一部分,我需要分析一段 C++ 代码的性能,并找出计算机体系结构(MIPS 或 x86)的哪些部分在运行代码时最常被使用,并且可能是性能的瓶颈。我正在查看各种 Profiler 来分析性能,并遇到了SimpleScalar,它是一个很棒的工具,但遗憾的是只适用于 C 代码。

由于我更熟悉MIPS 架构,如果有像 SimpleScalar 这样的工具来模拟和分析 MIPS 的 C++ 代码,那就太好了。我正在研究性能关键部分,如分支、缓存、指令集、寻址模式等。如果没有,提及任何可以对 x86 架构进行类似分析的工具也很好。

(澄清一下,我不是在寻找任何旧的分析器,而是寻找一个了解 CPU 微架构并知道 CPU 的哪些部分被利用或未充分利用的分析器。)

4

3 回答 3

3

CACTI有详细的缓存低级模拟。

SESC是支持 MIPS的周期精确计算机架构模拟器。SESC 包括 CACTI。

于 2012-11-23T05:52:09.507 回答
0

我的理解是 SimpleScalar 可以模拟和分析 MIPS 机器代码,无论它是用什么原始语言编译的。(SimpleScalar 附带的源代码级调试器“DLite!”可能只支持几种语言,但听起来您不需要“调试”代码。)

于 2012-11-23T05:53:01.910 回答
0

我怀疑你想要什么是可能的。C++ 是语言,但仍需要编译成目标架构。优化(或缺少优化)将决定您的许多性能标准,例如缓存使用等。所以我想您需要寻找机器级分析器(希望它们支持编译器的调试格式,所以您可以查看源代码语境)。

于 2012-11-22T21:45:50.473 回答