Программа для расчета попаданий и промахов кеша

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


person user3914161    schedule 06.08.2014    source источник
comment
Управление кэшем осуществляется аппаратно, а не операционной системой. Таким образом, это очень специфично для платформы, но вы можете использовать библиотеку, чтобы обойти это. На какое оборудование вы ориентируетесь? Этот вопрос может помочь (если вы используете Intel): stackoverflow.com/questions/8091182/   -  person Fsmv    schedule 06.08.2014
comment
Я использую Windows 8 и Intel, я посмотрю ссылку, которую вы предложили как можно скорее. Спасибо   -  person user3914161    schedule 06.08.2014
comment
Ваша программа должна уведомлять вас, когда происходит промах кеша в L1/L2/L3 ИЛИ ваша программа предназначена для измерения штрафа за промах кеша в L1/L2/L3?   -  person MichaelCMS    schedule 08.08.2014
comment
Программа предназначена для измерения времени попадания и времени промаха (штрафа) на разных уровнях.   -  person user3914161    schedule 10.08.2014


Ответы (2)


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

person hayesti    schedule 25.08.2014

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

Также существует известный симулятор для моделирования доступа к кешу — CACTI. Это должно дать вам некоторые идеи о том, как начать с собственной реализации.

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

person Cherry Vanc    schedule 18.08.2014