Мне нужно измерить время выполнения программы Hanoi Towers, написанной на ассемблере. Есть ли какая-либо функция или конкретное значение регистра, используемое для выполнения этой задачи?
Измеряйте время выполнения с помощью SPIM
Ответы (1)
Я не знаю конкретно о SPIM, но любой процессор mips имеет регистр Count, который увеличивается на половине тактовой частоты процессора. Если SPIM эмулирует этот регистр, вы можете легко измерить время выполнения программы. Просто прочитайте его содержимое до и после выполнения программы.
Если SPIM не эмулирует этот регистр или не считает инструкции, это делает эмулятор MARS mips. В целом измерение времени в эмуляторе бессмысленно, поскольку в зависимости от аппаратного обеспечения хоста время для одной и той же программы будет разным. Счетчик инструкций является лучшим показателем производительности, поскольку он не зависит от хоста эмулятора.
У MARS есть счетчик команд, и я думаю, что он будет запускать программу SPIM.
После недолгих поисков я нашел это: http://www.cs.colostate.edu/~mstrout/spim/keepstats.html
Модифицированный SPIM, который считает инструкции.