Профилирование эталонного теста, скомпилированного для SPARC v8 на x86 - PullRequest
1 голос
/ 13 мая 2011

Я пытаюсь сделать (небольшое) улучшение процессора leon3 (набор инструкций SPARC v8) для академического упражнения.Прежде чем я решу, что улучшать, я хочу описать пару тестовых программ, для которых я хочу адаптировать улучшения.

У меня нет доступа к машине SPARC v8.

В настоящее времяЯ использую оценочную версию tsim (симулятор leon3), который выполняет профилирование на функциональном уровне.Что на самом деле не так уж и полезно.

Я пробовал странные вещи, такие как компиляция с включенной разверткой циклов и подсчет интересных инструкций в коде сборки, но gcc отказывается развертывать циклы, вероятно, потому, что некоторые из них идутслишком глубокий (например, 4 вложенных цикла 'for').

В идеале мне нужен симулятор SPARC v8, который запускает эталонный тест и профилирует его на уровне инструкций (например, «smul» былвыполнено х раз), так что я могу решить, с чего начать попытки улучшения.Конечно, если есть другие способы, которыми я могу сделать это, если не профилировщик, я не буду возражать.

Есть идеи?

Ответы [ 2 ]

1 голос
/ 28 октября 2013

Имитация процессора в Modelsim может быть вариантом.С Modelsim вы можете выполнить функциональное моделирование всего процессора LEON3.Хотя симуляция будет довольно медленной и, вероятно, полностью излишней для ваших целей, но Aeroflex Gaisler предоставляет отличные сценарии для работы с Modelsim.

Студенческое издание modelsim можно найти здесь:

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

1 голос
/ 13 мая 2011

Если вы действительно хотите углубиться в аппаратные средства, вам пригодится симулятор, который поможет вам в этом.

Simics приходит на ум.Раньше у них были бесплатные академические лицензии, но, поскольку они были куплены Intel, теперь вам нужно подать заявку на них, что, по моему опыту, занимает пару недель.Если вы готовы инвестировать в это время, вы непременно получите инструмент, который соответствует вашим потребностям, хотя они поддерживают LEON2, а не LEON3, в качестве модели, но для профилирования это подойдет.

Qemu также имеет поддержку LEON , но, поскольку они сильно перекомпилированы, вероятно, будет сложно выполнить профилирование на уровне инструкций с ним.

...