Podle výukového programu výkonu, událostí jednotky monitorování výkonu (PMU) nebo hardwarové události odkazují na ty události, které lze namapovat přímo na události specifické pro CPU pro dodavatele CPU. Ale události hardwarové mezipaměti podívejte se na některé názvy hardwarových událostí poskytované perf
, které mohou být mapovány na skutečné události poskytované CPU. Pro seznam perf
Události mezipaměti uživatele používají perf list cache
v terminálu Linux.
Některé odpovědi:
L1
je mezipaměť úrovně 1, nejmenší a nejrychlejší.LLC
na druhé straně odkazuje na poslední úroveň hierarchie mezipaměti, tedy označuje největší, ale nejpomalejší mezipaměť.i
vs.d
odlišuje mezipaměť instrukcí od mezipaměti dat. Takto je rozdělena pouze L1, ostatní cache jsou sdíleny mezi daty a instrukcemi.TLB
odkazuje na překladovou vyrovnávací paměť, cache používanou při mapování virtuálních adres na fyzické.- Různé čítače TLB v závislosti na tom, zda pojmenovaná adresa odkazovala na instrukci nebo nějaká data.
- Pro veškerý přístup k datům jsou uchovávány různé čítače v závislosti na tom, zda bylo dané paměťové místo přečteno, zapsáno nebo předem načteno (tj. načteno pro čtení později).
- Počet chybějících údajů udává, jak často bylo k dané položce dat přistupováno, ale ne přítomný v mezipaměti.
Zdá se, že si myslíte, že cache-misses
událost je součet všech ostatních druhů chybějících mezipaměti (L1-dcache-load-misses
, a tak dále). To ve skutečnosti není pravda.
cache-misses
událost představuje počet přístupů do paměti, které nemohla obsloužit žádná z mezipaměti.
Uznávám, že dokumentace k výkonu není nejlepší.
Člověk se však o tom může dozvědět poměrně hodně, když si přečte (za předpokladu, že již dobře víte, jak funguje CPU a jednotka pro sledování výkonu, toto zjevně není kurz počítačové architektury) dokumentu funkce perf_event_open():
http://web.eece.maine.edu/~vweaver/projects/perf_events/perf_event_open.html
Když si jej přečtete například, uvidíte, že cache-misses
událost zobrazená seznamem perf odpovídá PERF_COUNT_HW_CACHE_MISSES