सीपीयू पर कैश डेटा संग्रहीत नहीं करता है, यह सिर्फ पहुंच को गति देता है।
कैश की सबसे बुनियादी व्याख्या यह है कि जब सीपीयू रैम से किसी विशेष बाइट को पढ़ने के लिए जाता है, तो वह डेटा कैश में भी कॉपी हो जाता है। अगली बार सीपीयू को उस बाइट को पढ़ने की जरूरत है, मेमोरी कंट्रोलर इसे कैश में देखता है, और रैम को धीमा कॉल करने के बजाय, यह सीपीयू को कैश से डेटा सौंपता है।
इस स्पष्टीकरण के साथ दो विशिष्ट मुद्दे हैं:
कैश एक परिमित आकार है। इस वजह से, जब डेटा जोड़ा जाता है, तो आपको अंततः इसके लिए जगह बनाने के लिए (या 'ड्रॉप') पुराने डेटा से छुटकारा पाने की आवश्यकता होती है। इसे करने के तरीकों का एक समूह है, और सटीक कार्यप्रणाली इस चर्चा के लिए बिल्कुल मायने नहीं रखती है, लेकिन इससे क्या फर्क पड़ता है कि थोड़ी देर के बाद, डेटा अब कैश में नहीं हो सकता है, और फिर आप बाहर जाने के लिए आह वैसे भी मुख्य स्मृति के लिए।
जब डेटा लिखा जाता है, तो आपको उस पते पर पहले से संग्रहीत कैश से डेटा को अपडेट करने या निकालने की आवश्यकता होती है। इसे संभालने के तीन मुख्य तरीके हैं:
- राइटबैक: राइटबैक विधि का उपयोग करते हुए, डेटा को पहले कैश में राइट किया जाता है, और फिर अंततः मुख्य मेमोरी में लिखा जाता है। यह प्रदर्शन के लिए कई फायदे हैं, लेकिन कुछ परिस्थितियों में मुद्दों का कारण बन सकता है।
- Writethrough: Writethrough पद्धति का उपयोग करते हुए, डेटा एक साथ कैश और मुख्य मेमोरी दोनों को लिखा जाता है। यह राइटबैक की तुलना में कम प्रदर्शन है, लेकिन अधिक सुरक्षित है।
- राइट-अराउंड: राइट-अराउंड विधि का उपयोग करते हुए, डेटा को मुख्य मेमोरी में सीधे लिखा जाता है, और फिर उसी स्थान पर डेटा कैश से हटा दिया जाता है। यह बहुत ही विशिष्ट उपयोग के मामलों को छोड़कर शायद ही कभी उपयोग किया जाता है।
तो, रैम बनाम सीपीयू कैश के बारे में आपके सवाल का जवाब देने के लिए, तकनीकी रूप से दोनों, लेकिन डेटा लगभग सभी मामलों में रैम से आता है। यदि आप विशेष रूप से इसके बारे में अधिक जानने में रुचि रखते हैं, तो मैं निम्नलिखित दो विकिपीडिया लेखों को पढ़ने का सुझाव दूंगा:
https://en.wikipedia.org/wiki/Cache_(computing)
https://en.wikipedia.org/wiki/CPU_cache
अब, स्वैप स्थान की बात के रूप में, यह एक पूरी तरह से अलग अवधारणा है जो वर्चुअल मेमोरी और पेजिंग से बंधा है। यह समझाने की कोशिश कर रहा हूँ कि यहाँ मुझे Wkipedia लेखों के एक जोड़े को लिखने का सबसे अधिक परिणाम मिलेगा, इसलिए मैं आपको सीधे सवाल के बजाय सीधे लेख पर ही कविता दूंगा:
https://en.wikipedia.org/wiki/Virtual_memory
https://en.wikipedia.org/wiki/Paging