Intel® 64 ve IA-32 Mimarileri Yazılım Geliştirici Kılavuzu, Cilt 1: Temel Mimari, "Intel Akış SIMD Uzantıları (Intel SSE) ile Programlama" bölümüne göre:
Geçici ve Geçici Olmayan Verilerin Önbelleğe Alınması
Bir program tarafından referans verilen veriler geçici (veriler tekrar kullanılacak) veya geçici olmayan (verilere bir kez başvurulacak ve yakın gelecekte tekrar kullanılmayacaktır) olabilir. Örneğin, program kodu genellikle geçicidir, oysa bir 3-D grafik uygulamasındaki görüntüleme listesi gibi multimedya verileri genellikle geçici değildir. İşlemcinin önbelleklerinden verimli bir şekilde yararlanmak için, genellikle geçici verileri önbelleğe almak ve geçici olmayan verileri önbelleğe almak istenmez. İşlemcinin önbelleklerinin zamansal olmayan verilerle aşırı yüklenmesi, bazen "önbellekleri kirletme" olarak adlandırılır. SSE ve SSE2 önbelleğe alınabilirlik denetim talimatları, bir programın geçici olmayan verileri belleğe önbellek kirliliğini en aza indirecek şekilde yazmasını sağlar.
Geçici olmayan yükleme ve depolama talimatlarının açıklaması. Kaynak: Intel 64 ve IA-32 Mimarileri Yazılım Geliştirici Kılavuzu, Cilt 2: Yönerge Seti Referansı
YÜK (MOVNTDQA — Geçici Olmayan Hizalanmış Çift Dört Sözcük Yükle)
Bellek kaynağı WC (yazma birleştirme) bellek türü ise, geçici olmayan bir ipucu kullanarak kaynak işlenenden (ikinci işlenen) hedef işlenene (ilk işlenen) bir çift dört sözcük yükler [...]
[...] işlemci veriyi önbellek hiyerarşisine okumaz veya karşılık gelen önbellek satırını bellekten önbellek hiyerarşisine getirmez.
Peter Cordes'in yorumladığı gibi, mevcut işlemcilerdeki normal WB (geri yazma) belleğinde kullanışlı olmadığını unutmayın çünkü NT ipucu yok sayılır (muhtemelen NT'ye duyarlı HW ön getiricileri olmadığı için) ve tam olarak sıralı yük semantiği geçerlidir . prefetchnta
WB belleğinden kirliliği azaltan bir yük olarak kullanılabilir
MAĞAZA (MOVNTDQ — Geçici Olmayan İpucu Kullanarak Paketlenmiş Tamsayıları Depola)
Belleğe yazma sırasında verilerin önbelleğe alınmasını önlemek için geçici olmayan bir ipucu kullanarak kaynak işlenendeki (ikinci işlenen) paketlenmiş tamsayıları hedef işlenene (ilk işlenen) taşır.
[...] işlemci veriyi önbellek hiyerarşisine yazmaz veya karşılık gelen önbellek satırını bellekten önbellek hiyerarşisine getirmez.
Önbellek Yazma Politikaları ve Performansında tanımlanan terminolojiyi kullanarak , bunlar etrafına yazma (yazma-ayırma, yazma-kaçırma-getirme-yok) olarak düşünülebilir.
Son olarak, geçici olmayan mağazalar hakkındaki John McAlpin notlarını incelemek ilginç olabilir .
MOVNTDQA xmmi, m128
bir NT yükü olduğunu ve hariç diğer tüm NT komutlarının depolandığını unutmayınprefetchnta
. Burada kabul edilen cevap sadece mağazalardan bahsediyor gibi görünüyor. NT yükleri hakkında bulabildiğim şey bu . TL: DR: umarım CPU, önbellek kirliliğini en aza indirmek için NT ipucu ile yararlı bir şeyler yapar, ancak "normal" WB belleğinin çok sıralı semantiğini geçersiz kılmıyorlar, bu yüzden önbelleği kullanmak zorunda kalıyorlar.