Last Updated on September 28, 2020 by Skillslelo
अगर प्रोग्राम और डाटा के सक्रिय भागों को तेज और छोटी मेमोरी में रख दिया जाए तो औसत एक्सेस टाइम को कम किया जा सकता है और इस प्रकार प्रोग्राम के कुल एग्जीक्यूशन टाइम को कम किया जा सकता है, इस प्रकार की छोटी और तेज मेमोरी को कैश मेमोरी (Cache Memory) कहा जाता है।
इसे सीपीयू और मेन मेमोरी (Main Memory) के बीच लगाया जाता है। कैश मेमोरी (Cache Memory) का एक्सेस टाइम Memory के एक्सेस का पांचवा से दसवां भाग होता है।
कैश मेमोरी (Cache Memory) की गति सबसे अधिक होती है।
कैश मेमोरी में सर्वाधिक प्रयोग होने वाले निर्देश और डाटा को रखा जाता है जिससे औसत मेमोरी एक्सेस टाइम लगभग कैश मेमोरी के एक्सेस टाइम के समान हो जाता है।
कैश मेमोरी का आकार मेन मेमोरी के आकार का एक छोटा-सा भाग है।
इसलिए इसमें सभी निर्देशों को रखना संभव नहीं है और इसीलिए इसमें उन निर्देशों को रखा जाता है जो लोकैलिटी ऑफ रिफरेंस पर कार्य करते हैं।
सीपीयू में एक बहु-स्तरीय कैश सिस्टम है।
जब भी सीपीयू को कुछ डेटा की आवश्यकता होती है, तो यह पहले लेवल 1 (L1) कैश की जांच करता है कि यह वहां है या नहीं।
यदि CPU को L1 कैश में इसकी आवश्यकता नहीं है, तो वह L2 कैश की जांच करता है। यह कैश भी सीपीयू पर ही होता है। अंत में, यदि L2 कैश में यह नहीं है, तो CPU L3 कैश की जाँच करता है।
और यदि वांछित डेटा कैश मेमोरी में नहीं प्राप्त होता है तो उस डेटा को रीड (Read) करने के लिए मेन मेमोरी का प्रयोग किया जाता है।
Cache Memory का मुख्य गुण किसी भी डाटा को अधिकतम गति से एक्सेस करना है इसीलिए Cache Memory में किसी डेटा को खोजने के लिए बिल्कुल नहीं अथवा बहुत ही थोड़ा समय लगता है।
डाटा को Main Memory से कैश मेमोरी में भेजने की प्रक्रिया को मैपिंग (Mapping) कहा जाता है।
कैश मेमोरी की तीन प्रकार की मैपिंग की जा सकती है।
1. एसोसिएटिव मेपिंग
2. डायरेक्ट मैपिंग
3. सेट एसोसिएटिव मेपिंग