2015-10-23 45 views

cevap

4

Evet İzin verilen (Belirli SSE talimatları önbellek sınırlarında hizalanmış olmalıdır biliyorum). Sadece denemiş olabilirdin. Veya komut kümesi başvurusu okuyun:

KİLİDİ ​​öneki bütünlüğü hafıza alanı uyum etkilenmez. Bellek kilitleme keyfi olarak yanlış hizalanmış alanlar için gözlenir.

Ama ayrıca bkz: hizalama denetimi etkindir ve bir hizalanmamış bellek referansı yapılırsa

İstisnalar

#AC (0) geçerli ayrıcalık düzeyi 3.

iken

Hizalama kontrolünün genellikle etkin olmadığını unutmayın.

4

İzin var, ancak kilit önbelleğin içinde kalmanın mümkün olamayacağından ve tam bir veri yolu kilidine (etkin bir şekilde tam sistem boşluğu) düşebileceğinden, büyük bir performans düşüşüne neden olabilirsiniz.

Bakınız örn. - https://software.intel.com/en-us/articles/implementing-scalable-atomic-locks-for-multi-core-intel-em64t-and-ia32-architectures: Intel 486 işlemci, performans açısından büyük bir isabet ile birlikte otobüse kilidi iddia kullanılan kilit önekin günlerde

. Intel Pentium Pro mimarisi ile başlayarak, veri yolu kilidi önbellek kilidine dönüştürülür. Kilit, kilitlenemeyen bir bellekte bulunuyorsa veya kilit önbellek çizgisi sınır bölme önbellek çizgilerinin ötesine geçiyorsa, çoğu modern mimarisinde veriyolunda bir kilit gösterilecektir. Bu senaryoların her ikisi de olası değildir; bu nedenle, çoğu kilit öneki, daha az pahalı olan bir önbellek kilidine dönüştürülmüş olacaktır.

Bu işlemci spec göre değişebilir, ancak bir başka husus bu kesişme hattı Sınır aynı zamanda, sürdürmek için daha çok (ve dolayısıyla daha fazla bozmak olasılığı) olan bir sayfa sınır, geçiş anlamına gelebilir olduğuna dikkat edilebilir.