सामान्यतः, मुझे नहीं लगता कि यह संभव है। यह डीआरएएम और पेजफाइल के लिए काम करता है क्योंकि यह एक ओएस प्रबंधित संसाधन है, कैश को सीपीयू द्वारा ही प्रबंधित किया जाता है।
ओएस एक मेमोरी पढ़ने का एक कसौटी समय लूप कर सकता है और यह देखने का प्रयास कर सकता है कि क्या यह कैश में होने के लिए पर्याप्त तेज़ हो जाता है या अगर इसे मुख्य मेमोरी में जाना पड़ता है - यह बहुत ही त्रुटि प्रवण होगा।
बहु-कोर/बहु-प्रो सिस्टम पर, cache coherency protocols हैं जिनका उपयोग प्रोसेसर के बीच एक दूसरे के कैश को अमान्य करने की आवश्यकता के निर्धारण के लिए किया जाता है, मुझे लगता है कि आपके पास एक कस्टम डिवाइस हो सकता है जो इस प्रोटोकॉल को स्नूप करेगा पूछताछ करेंगे।
आप क्या करने की कोशिश कर रहे हैं? यदि आप मेमोरी में कुछ मजबूर करना चाहते हैं, तो मौजूदा x86 प्रोसेसर गैर-अवरुद्ध तरीके से कैश में प्रीफेचिंग मेमोरी का समर्थन करते हैं, उदाहरण के लिए विजुअल सी ++ के साथ आप कैश में लाइन लाने के लिए _mm_prefetch
का उपयोग कर सकते हैं।
संपादित करें: मैंने इसे स्वयं नहीं किया है, इसलिए अपने जोखिम पर उपयोग करें। प्रोफाइलिंग के लिए कैश मिस निर्धारित करने के लिए, आप कुछ आर्किटेक्चर-विशिष्ट रजिस्टरों का उपयोग करने में सक्षम हो सकते हैं। http://download.intel.com/design/processor/manuals/253669.pdf, परिशिष्ट ए "प्रदर्शन ट्यूनिंग घटनाक्रम" देता है। इसका उपयोग यह निर्धारित करने के लिए नहीं किया जा सकता है कि कैश में कोई व्यक्तिगत पता है या कैश में लोड होने पर, लेकिन समग्र आंकड़ों के लिए इसका उपयोग किया जा सकता है। मेरा मानना है कि यह vTune (इस स्तर के लिए एक अभूतपूर्व प्रोफाइलर) का उपयोग करता है।
धन्यवाद प्रदान करेगा। मुझे दिलचस्पी है क्योंकि मैं लेखन कर्नेल के साथ चारों ओर घूम रहा हूं। मुझे वास्तविक हार्डवेयर पर कैश लाइन मिस प्रोफाइलिंग में दिलचस्पी है। मुझे एहसास नहीं हुआ कि वे आधुनिक CPUs पर कितने हानिकारक हैं जब तक कि मैंने हर्ब सटर की स्लाइड नहीं देखी: http://is.gd/oWwp –
हार्डवेयर में इसे प्रोफाइल करने के तरीके हैं, vtune करता है। – Michael
बहुत सारे आधुनिक सीपीयू में प्रदर्शन काउंटर हैं जो कैश से संबंधित आंकड़ों सहित सभी प्रकार की जानकारी प्रदान कर सकते हैं। – sigjuice