使用SPIM测量执行时间

时间:2012-01-23 15:53:41

标签: assembly execution-time mips32 spim

我需要用汇编语言来衡量河内塔计划的执行时间。是否有任何函数或特定的寄存器值用于执行此任务..?

1 个答案:

答案 0 :(得分:1)

我不是特别了解SPIM,但任何mips处理器都有一个计数寄存器,它以CPU时钟的一半递增。如果SPIM模拟该寄存器,您可以轻松测量程序执行时间。只需在程序执行前后阅读其内容即可。

如果SPIM不模拟此寄存器或计算指令,MARS mips仿真器会执行此操作。通常,仿真器中的测量时间是没有意义的,因为取决于主机硬件时间对于相同的程序将是不同的。指令计数器是一种更好的性能衡量标准,因为它与仿真器主机无关。

MARS有一个指令计数器,我认为它会运行SPIM程序。

经过短暂的搜索,我发现了这个: http://www.cs.colostate.edu/~mstrout/spim/keepstats.html

修改了计算指令的SPIM。