ARM Cortex-A8: как измерить использование кеша?

У меня есть Freescale i.MX515EVK, платформа ARM Cortex-A8/Ubuntu, к сожалению, ядро ​​Linux на плате не поддерживает некоторые известные профилировщики, такие как Oprofiler или Zoom Profiler (Zoom поддерживает процессоры ARM, но внутри использует драйвер Oprofiler), который дает очень подробные отчеты об использовании кэша.

Cortex-A8 имеет 32 КБ кэша инструкций и данных и 256 КБ кэша L2. В настоящее время, когда работает мой алгоритм обработки изображений, я совершенно не понимаю их использование.

Существуют ли какие-либо другие методы, кроме использования профилировщиков, для обнаружения попаданий и промахов в кэш?


person HaggarTheHorrible    schedule 14.09.2010    source источник
comment
Вам с тех пор повезло?   -  person Phonon    schedule 04.10.2011


Ответы (1)


Установите Valgrind (в настоящее время он поддерживает ARM) и используйте инструмент cachegrind для проверки использования кеша. Если вы используете Ubuntu на устройстве, оно должно быть таким же простым, как sudo apt-get install valgrind. Valgrind также может помочь вам смоделировать, что произойдет с различными размерами кэша.

person Leo    schedule 07.12.2011