2012-05-02 36 views
9

Mam pytanie dotyczące relacji między brakami pamięci podręcznej różnicowych poziomów pamięci podręcznej w architekturze x86 (Say Xeon X5660).Co powoduje brak pamięci podręcznej L3 w procesorze?

Zrobiłem profilowanie w aplikacji OpenCL (Blackscholes) na niektórych licznikach wydajności. Dla każdego licznika, mam podsumować wszystkie wartości ponad wszystkich rdzeni i uzyskać ten wynik:

instructions #: 493167746502.000000 

L3_MISS #: 1967809.000000 

L1_MISS #: 2344383795.000000 

L2_DATA_MISS #: 901131.000000 

L2_MISS #: 1397931.000000 

memory loads #: 151559373227.000000 

Pytanie jest, dlaczego liczba L3 strzela jest większa niż liczba pomyłek L2? (Wciąż powtarzam profilowanie wiele razy, a wariancja nie jest znacząca). Co myślałem zasadzie jest:

chybienia = L3 L2 + L3 uderza strzela

mógłby ktoś wytłumaczyć mi, co idzie źle tutaj, coś mnie ominęło?

Trochę dalej, co powoduje, że pamięć podręczna jest odczytywana dla ostatniego poziomu pamięci podręcznej procesora (CPU)? Czy to po prostu brak danych z L2?

Dzięki

+4

Czy to możliwe, że mierzysz to na architekturze z oddzielnymi pamięciami podręcznymi L2 i zunifikowanym L3? Jeśli tak, możesz po prostu czytać pomyłki w pamięci podręcznej z jednego L2, a numery L3 mogą pochodzić ze zunifikowanego L3. – boiler96

+0

Tak, zauważyłem o tym. Ale jestem pewien, że podsumowałem wszystkie rdzenie. Więc nie powinno mieć znaczenia, czy jest zunifikowane czy nie, prawda? – Zk1001

+0

Inną sprawą jest, gdy robię to: "cat/sys/devices/system/cpu/cpu0/cache/index2/type", otrzymałem "ujednolicony". Wiadomo, że pamięć podręczna L2 jest prywatna, a 256 KB na rdzeń dla wszystkich architektur zachodnich, prawda? – Zk1001

Odpowiedz

2

The 32 nanometer, six core Westmere-EP chip

Ref Obrazek: http://www.theregister.co.uk/2010/02/03/intel_westmere_ep_preview/

Jak widać powyżej, w 'Westmere-EP' architektura blok 3 rdzenie dzielić odcinek L3 cache. To, co mówi "boiler96", ma sens. Otrzymujesz L2 chybienie dla pojedynczego rdzenia lub twoja liczba miss L3 pochodzi z Uncore, która jest kombinacją miss miss of missses wszystkich rdzeni.

Powiązane problemy