Intel® 64 और IA-32 आर्किटेक्चर सॉफ्टवेयर डेवलपर मैनुअल, वॉल्यूम 1: बेसिक आर्किटेक्चर के अनुसार, "इंटेल स्ट्रीमिंग सिमड एक्सटेंशन्स (इंटेल एसएसई)" अध्याय के साथ प्रोग्रामिंग:
टेम्पोरल बनाम नॉन-टेम्पोरल डेटा की कैशिंग
किसी प्रोग्राम द्वारा संदर्भित डेटा टेम्पोरल हो सकता है (डेटा फिर से उपयोग किया जाएगा) या गैर-अस्थायी (डेटा को एक बार संदर्भित किया जाएगा और तत्काल भविष्य में पुन: उपयोग नहीं किया जाएगा)। उदाहरण के लिए, प्रोग्राम कोड आम तौर पर अस्थायी है, जबकि, मल्टीमीडिया डेटा, जैसे कि 3-डी ग्राफिक्स एप्लिकेशन में प्रदर्शन सूची, अक्सर गैर-अस्थायी होती है। प्रोसेसर के कैश का कुशल उपयोग करने के लिए, यह आमतौर पर अस्थायी डेटा को कैश करने और गैर-अस्थायी डेटा को कैश करने के लिए वांछनीय है। गैर-अस्थायी डेटा के साथ प्रोसेसर के कैश को ओवरलोड करना कभी-कभी "कैश को प्रदूषित करना" कहा जाता है। SSE और SSE2 कैचेबिलिटी कंट्रोल निर्देश प्रोग्राम को स्मृति में गैर-अस्थायी डेटा लिखने के लिए सक्षम बनाता है जो कैश के प्रदूषण को कम करता है।
गैर-अस्थायी लोड और स्टोर निर्देशों का विवरण। स्रोत: इंटेल 64 और आईए -32 आर्किटेक्चर सॉफ्टवेयर डेवलपर मैनुअल, वॉल्यूम 2: निर्देश सेट संदर्भ
लोड (MOVNTDQA- लोड डबल क्वाडवर्ड गैर-टेम्पोरल संरेखित संकेत)
स्रोत ऑपरेंड (दूसरा ऑपरेंड) से गंतव्य ऑपरेंड (पहले ऑपरेंड) तक एक डबल क्वाडर्ड एक गैर-अस्थायी संकेत का उपयोग करके यदि मेमोरी स्रोत WC है (संयोजन लिखें) मेमोरी प्रकार [...]
[...] प्रोसेसर कैश पदानुक्रम में डेटा नहीं पढ़ता है, न ही यह मेमोरी से इसी कैश लाइन को कैश पदानुक्रम में लाता है।
ध्यान दें कि, पीटर कॉर्डेस की टिप्पणी के अनुसार, यह वर्तमान प्रोसेसर पर सामान्य WB (राइट-बैक) मेमोरी पर उपयोगी नहीं है क्योंकि NT संकेत को अनदेखा किया गया है (शायद इसलिए कि कोई NT- अवगत HW प्रीफ़ेचर नहीं हैं) और पूरी तरह से लोड किए गए लोड सेमेस्टर पर लागू होते हैं । prefetchnta
WB मेमोरी से प्रदूषण को कम करने वाले लोड के रूप में इस्तेमाल किया जा सकता है
स्टोर (MOVNTDQ- गैर-टेम्पोरल संकेत का उपयोग करके स्टोर पैक किए गए पूर्णांक)
मेमोरी के लिए लेखन के दौरान डेटा के कैशिंग को रोकने के लिए स्रोत ऑपरेंड (दूसरे ऑपरेंड) में पैक किए गए पूर्णांकों को गंतव्य ऑपरेटर (पहले ऑपरेंड) में ले जाता है, जो गैर-अस्थायी संकेत का उपयोग करता है।
[...] प्रोसेसर कैश पदानुक्रम में डेटा नहीं लिखता है, न ही यह मेमोरी से इसी कैश लाइन को कैश पदानुक्रम में लाता है।
कैश राइट नीतियों और प्रदर्शन में परिभाषित शब्दावली का उपयोग करते हुए , उन्हें राइट-अराउंड (नो-राइट-एलाट, नो-भ्रूण-ऑन-राइट-मिस) के रूप में माना जा सकता है।
अंत में, गैर-अस्थायी दुकानों के बारे में जॉन मैकलिन नोटों की समीक्षा करना दिलचस्प हो सकता है ।
MOVNTDQA xmmi, m128
एक NT लोड है, जबकि अन्य सभी NT निर्देश स्टोर हैं, को छोड़करprefetchnta
। यहाँ स्वीकृत उत्तर केवल दुकानों के बारे में बात करता प्रतीत होता है। यह वही है जो मैं NT भार के बारे में बारी करने में सक्षम हूं । TL: DR: उम्मीद है कि CPU कैश के प्रदूषण को कम करने के लिए NT संकेत के साथ कुछ उपयोगी काम करता है, लेकिन वे "सामान्य" WB मेमोरी के दृढ़ता से क्रमबद्ध शब्दार्थ को ओवरराइड नहीं करते हैं, इसलिए उन्हें कैश का उपयोग करना होगा।