Программа для расчета Cache Hit and Miss

У меня есть задача написать программный инструмент, который будет измерять попадания и пропуски на разных уровнях кэш-памяти (L1, L2, L3).
Программа должна быть написана на языке c / c ++, что мне удобно, но никогда не было ничего более низкого уровня с аппаратным обеспечением.
Я не ищу решение, просто руководство о том, какие инструменты, библиотеки и функции я могу использовать.

0

Решение

Вы просто ищете статистику (коэффициент попадания в кеш) при запуске двоичного файла в гипотетической конфигурации кеша? Если так, проверьте похожем на Cachegrind. На этой странице есть раздел, посвященный реализации, который ссылается на доктора философии с некоторыми подробностями. Это может быть полезно.

1

Другие решения

Существует несколько симуляторов с открытым исходным кодом, которые реализуют иерархию кэша с достаточной детализацией (например, MArss86, Simics, M5, и на самом деле несколько других). Обратите внимание, ясно из вашего вопроса, каковы ваши потребности. Пожалуйста, Google для них — я уверен, что вы найдете много.

И, есть известный симулятор для моделирования доступа к кешу — КАКТУСЫ. Это должно дать вам некоторые идеи о том, как начать с вашей собственной реализации.

Преимущество использования этих инструментов состоит в том, что они также позволяют выполнять некоторые архитектурные исследования пространства (варьировать параметры / конфигурации и видеть их влияние).

0

По вопросам рекламы [email protected]