2012-05-02 33 views
9

x86 mimarisinde fark önbellek düzeylerinin önbellek kayıpları arasındaki ilişkiyle ilgili bir sorum var (Say Xeon X5660).CPU'da L3 önbellek özüne neden olan nedir?

Bazı performans sayaçlarında bir OpenCL uygulamasında (Blackscholes) bazı profiller yaptım. Her sayaç için, ben her çekirdek üzerindeki tüm değerleri özetlemek ve bu sonuç almak:

instructions #: 493167746502.000000 

L3_MISS #: 1967809.000000 

L1_MISS #: 2344383795.000000 

L2_DATA_MISS #: 901131.000000 

L2_MISS #: 1397931.000000 

memory loads #: 151559373227.000000 

L3 sayısı özlüyor neden soru L2 isabetsizlik sayısından daha büyüktür? (Profillemeyi tekrar tekrar çalıştırıyorum ve varyans önemli değil). Ne temelde düşünce geçerli:

L2 özlüyor = L3 + L3

birisi burada yanlış giderse bana ne açıklayabilir misiniz özlüyor vurur, bir şey kaçırdım?

Biraz daha koyma, önbellek CPU'nun son düzey önbelleği (CPU) için ne okumaya sebep olur? Sadece L2'den bir veri özledim mi?

Teşekkür

+4

Bunu, ayrı L2 önbellekleri ve birleşik L3 ile bir mimaride ölçüyor olabilir misiniz? Eğer öyleyse, bir L2'den önbellek özniteliklerini okuyor olabilirsiniz ve L3 sayıları birleşik bir L3'ten olabilir. – boiler96

+0

Evet, bunu fark ettim. Ama eminim ki tüm çekirdekler için özetledim. Yani, birleşik olsun ya da olmasın, önemli değil mi? – Zk1001

+0

Başka bir şey, bunu yaptığımda: "cat/sys/devices/system/cpu/cpu0/cache/index2/type", sahip olduğum şey "birleşik" dir. L2 önbelleğinin tüm westmere mimarileri için özel ve 256K çekirdek olduğu biliniyor, değil mi? – Zk1001

cevap

2

The 32 nanometer, six core Westmere-EP chip

Görüntü Ref: http://www.theregister.co.uk/2010/02/03/intel_westmere_ep_preview/

Eğer 3 çekirdeklerinin 'Westmere-EP'nin' mimari blok L3 önbellek bir bölümünü paylaşan, yukarıda görebileceğiniz gibi. Yani ne "boiler96" diyor mantıklı. Ya bireysel çekirdeğiniz için L2 özlemleri alıyorsunuz ya da L3 özlü sayımınız tüm çekirdekten kaçan özlediklerinizi bir araya getiren Uncore'den geliyor.

İlgili konular