Я хочу измерить частоту промахов в кеше моего кода. Мы можем использовать список перфомансов, чтобы показать поддерживаемые события. На моем настольном компьютере установлен процессор Intel (R) Core (TM) i5-2400 @ 3,10 ГГц, список производительности содержит ссылки на кэш и промахи кеша, например:
cpu-cycles OR cycles [Hardware event]
stalled-cycles-frontend OR idle-cycles-frontend [Hardware event]
stalled-cycles-backend OR idle-cycles-backend [Hardware event]
instructions [Hardware event]
cache-references [Hardware event]
cache-misses [Hardware event]
Я думаю, что промахи в кэше сопоставляются с аппаратными событиями LLC-промахи в соответствии с руководством разработчика программного обеспечения для архитектур Intel (я подтверждаю это, сравнивая perf stat -e r412e и perf stat -e cache-misses , они дали практически идентичный результат). Но как считать кеш-ссылки? Я не нашел события или способа получить общие ссылки кеша с использованием существующих аппаратных событий. Так что мне интересно, точны ли эти ссылки на кеш на моем компьютере?