Secondo il tutorial perf, Eventi PMU (Performance Monitoring Unit) o eventi hardware fare riferimento a quegli eventi che possono essere mappati direttamente a eventi specifici della CPU per un fornitore di CPU. Ma gli eventi della cache hardware fare riferimento ad alcuni moniker di eventi hardware forniti da perf
, che possono essere mappati agli eventi effettivi forniti dalla CPU. Per l'elenco di perf
Gli eventi cache di usano perf list cache
nel terminale Linux.
Alcune risposte:
L1
è la cache di livello 1, la più piccola e veloce.LLC
d'altra parte si riferisce all'ultimo livello della gerarchia della cache, indicando così la cache più grande ma più lenta.i
controd
distingue la cache delle istruzioni dalla cache dei dati. Solo L1 è suddivisa in questo modo, le altre cache sono condivise tra dati e istruzioni.TLB
si riferisce al buffer lookaside di traduzione, una cache utilizzata durante la mappatura degli indirizzi virtuali a quelli fisici.- Diversi contatori TLB a seconda che l'indirizzo indicato faccia riferimento a un'istruzione o a qualche dato.
- Per tutti gli accessi ai dati, vengono conservati contatori diversi a seconda che la posizione di memoria specificata sia stata letta, scritta o precaricata (ovvero recuperata per la lettura in un secondo momento).
- Il numero di errori indica la frequenza con cui non è stato effettuato l'accesso a un determinato elemento di dati presente nella cache.
Sembra che tu pensi che il file cache-misses
event è la somma di tutti gli altri tipi di cache miss (L1-dcache-load-misses
, e così via). In realtà non è vero.
il cache-misses
L'evento rappresenta il numero di accessi alla memoria che non possono essere serviti da nessuna delle cache.
Ammetto che la documentazione di perf non è la migliore in circolazione.
Tuttavia, si può imparare molto su di esso leggendo (supponendo che tu abbia già una buona conoscenza di come funzionano una CPU e un'unità di monitoraggio delle prestazioni, questo chiaramente non è un corso di architettura del computer) il documento della funzione perf_event_open():
http://web.eece.maine.edu/~vweaver/projects/perf_events/perf_event_open.html
Ad esempio, leggendolo puoi vedere che il cache-misses
l'evento mostrato da perf list corrisponde a PERF_COUNT_HW_CACHE_MISSES