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
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
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
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