Измеряйте время выполнения с помощью SPIM

Мне нужно измерить время выполнения программы Hanoi Towers, написанной на ассемблере. Есть ли какая-либо функция или конкретное значение регистра, используемое для выполнения этой задачи?


person Alba Xhani    schedule 23.01.2012    source источник


Ответы (1)


Я не знаю конкретно о SPIM, но любой процессор mips имеет регистр Count, который увеличивается на половине тактовой частоты процессора. Если SPIM эмулирует этот регистр, вы можете легко измерить время выполнения программы. Просто прочитайте его содержимое до и после выполнения программы.

Если SPIM не эмулирует этот регистр или не считает инструкции, это делает эмулятор MARS mips. В целом измерение времени в эмуляторе бессмысленно, поскольку в зависимости от аппаратного обеспечения хоста время для одной и той же программы будет разным. Счетчик инструкций является лучшим показателем производительности, поскольку он не зависит от хоста эмулятора.

У MARS есть счетчик команд, и я думаю, что он будет запускать программу SPIM.

После недолгих поисков я нашел это: http://www.cs.colostate.edu/~mstrout/spim/keepstats.html

Модифицированный SPIM, который считает инструкции.

person user420783    schedule 19.03.2012