在x86上分析为SPARC v8编译的基准

时间:2011-05-13 13:30:48

标签: gcc profiling sparc loop-unrolling

我正试图对leon3处理器(指令集是SPARC v8)进行学术练习(小)改进。在我决定要改进什么之前,我想介绍一些我希望定制改进的基准程序。

我无法访问SPARC v8计算机。

目前,我正在使用“tsim”(leon3模拟器)的评估版本,该版本在功能级别进行分析。这并非真正有用。

我尝试了一些奇怪的东西,例如启用循环展开编译然后计算汇编代码中的有趣指令,但是gcc拒绝展开循环,可能是因为它们中的一些太深(例如4个嵌套'for'循环)

理想情况下,我正在寻找的是SPARC v8模拟器,它运行基准测试并在指令级进行配置(例如:'smul'被执行了x次),这样我就可以决定从哪里开始尝试改进。当然,如果还有其他方法,我可以做到这一点,如果不是剖析器,我不介意。

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

如果你真的想深入挖掘硬件,你会发现一个有用的模拟器可以帮助你。

我想到了{p> Simics。他们曾经拥有免费的学术许可,但由于他们是由英特尔购买的,你现在需要申请一个,根据我的经验需要几周时间。如果你愿意这次投资,你肯定会得到一个适合你需求的工具,虽然他们支持LEON2而不是LEON3作为模型,但是对于剖析这应该没问题。

Qemu也有LEON support但是由于它们正在大量重新编译,因此很难用它进行指令级分析。

答案 1 :(得分:1)

在Modelsim中模拟处理器可能是一种选择。使用Modelsim,您可以对完整的LEON3处理器进行功能仿真。虽然模拟速度非常慢,并且可能完全过度,但Aeroflex Gaisler提供了与Modelsim配合使用的优秀脚本。

可以在这里找到modelsim的学生版:

http://www.mentor.com/company/higher_ed/modelsim-student-edition