De acuerdo con el tutorial de desempeño, Eventos de la Unidad de Monitoreo de Rendimiento (PMU) o eventos de hardware se refieren a aquellos eventos que se pueden asignar directamente a eventos específicos de CPU para un proveedor de CPU. Pero los eventos de caché de hardware consulte algunos nombres de eventos de hardware proporcionados por perf
, que puede asignarse a eventos reales proporcionados por la CPU. Para la lista de perf
Los eventos de caché de usan perf list cache
en la terminal de Linux.
Algunas respuestas:
L1
es la caché de nivel 1, la más pequeña y rápida.LLC
por otro lado, se refiere al último nivel de la jerarquía de caché, lo que denota el caché más grande pero más lento.i
contrad
distingue la caché de instrucciones de la caché de datos. Solo L1 se divide de esta manera, otros cachés se comparten entre datos e instrucciones.TLB
se refiere al búfer de búsqueda de traducción, un caché que se usa cuando se asignan direcciones virtuales a direcciones físicas.- Distintos contadores TLB dependiendo de si la dirección nombrada se refería a una instrucción o a algún dato.
- Para todos los accesos a datos, se mantienen diferentes contadores dependiendo de si la ubicación de memoria dada fue leída, escrita o precargada (es decir, recuperada para lectura en algún momento posterior).
- El número de fallos indica con qué frecuencia se accedió a un determinado elemento de datos pero no presente en el caché.
Parece que piensas que el cache-misses
evento es la suma de todos los demás tipos de errores de caché (L1-dcache-load-misses
, y así). Eso en realidad no es cierto.
el cache-misses
El evento representa el número de accesos a la memoria que no pudo ser atendido por ninguno de los cachés.
Admito que la documentación de perf no es la mejor.
Sin embargo, uno puede aprender bastante al leer (suponiendo que ya tenga un buen conocimiento de cómo funcionan una CPU y una unidad de monitoreo de rendimiento, esto claramente no es un curso de arquitectura de computadoras) el documento de la función perf_event_open():
http://web.eece.maine.edu/~vweaver/projects/perf_events/perf_event_open.html
Por ejemplo, al leerlo puedes ver que el cache-misses
el evento mostrado por la lista de rendimiento corresponde a PERF_COUNT_HW_CACHE_MISSES