Linux-Befehl perf für Cache-Referenzen
Ich möchte die Cache-Fehlerrate meines Codes messen. Wir können Perf-Liste verwenden, um unterstützte Ereignisse anzuzeigen. Mein Desktop hat einen Intel (R) Core (TM) i5-2400-Prozessor mit 3,10 GHz, die Perf-Liste enthält Cache-Aktualisierungen und Cache-Fehlschläge wie folgt:
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]
Ich denke, Cache-Misses sind Hardware-Event-LLC-Misses gemäß dem Handbuch des Intel Architectures Software-Entwicklers zugeordnet (ich bestätige dies durch einen Vergleich)perf stat -e r412e undperf stat -e Cache-Misses, sie gaben fast identisches Ergebnis). Aber wie werden Cache-Referenzen gezählt? Ich habe weder ein Ereignis noch eine Möglichkeit gefunden, mithilfe vorhandener Hardwareereignisse Gesamtcachereferenzen abzurufen. Ich frage mich also, ob diese Cache-Referenzen auf meinem Computer korrekt sind?