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.LLCd'altra parte si riferisce all'ultimo livello della gerarchia della cache, indicando così la cache più grande ma più lenta.icontroddistingue la cache delle istruzioni dalla cache dei dati. Solo L1 è suddivisa in questo modo, le altre cache sono condivise tra dati e istruzioni.TLBsi 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