1980 के दशक में मेमोरी एक्सेस समय की तुलना में माइक्रोप्रोसेसर की गति में तेजी से वृद्धि हुई। यह जल्दी ही स्पष्ट हो गया कि मेमोरी को एक्सेस करने की गति को बेहतर बनाने और पूरे सिस्टम को अधिक कुशल बनाने के लिए कुछ करना होगा। प्रसंस्करण गति और स्मृति गति के बीच उन विसंगतियों के कारण कैश का विकास हुआ।
कैश क्या है
कैश का आविष्कार कंप्यूटर विज्ञान के इतिहास में सबसे महत्वपूर्ण घटनाओं में से एक था। लेकिन कैश वास्तव में क्या है? यह कैसे काम करता है?
अपने मूल स्तर पर कैश एक त्वरित प्रकार की मेमोरी है। इसमें मेमोरी का एक छोटा पूल होता है जिसमें निर्देश होते हैं कि किसी विशेष कार्य को करते समय कंप्यूटर को सबसे अधिक आवश्यकता होगी। कंप्यूटर जटिल एल्गोरिदम और प्रोग्रामिंग कोड के ज्ञान का उपयोग करके उस जानकारी को कैश में लोड करता है। कंप्यूटर में कैशे सिस्टम होने का उद्देश्य यह सुनिश्चित करना है कि सीपीयू के पास उस क्रम में आवश्यक डेटा तक निर्बाध पहुंच हो, जिस क्रम में इसकी आवश्यकता है।
यह कैसे काम करता है यह देखने के लिए, आपको यह जानना होगा कि कंप्यूटर में तीन प्रकार की मेमोरी होती है। सबसे पहले हार्ड ड्राइव या एसएसडी में पाई जाने वाली प्राथमिक मेमोरी होती है। यह मशीन में मेमोरी का सबसे बड़ा भंडार है। फिर रैम या रैंडम एक्सेस मेमोरी है, जो प्राथमिक मेमोरी डिवाइस की तुलना में तेज, लेकिन छोटी है। अंत में, CPU के भीतर ही मेमोरी इकाइयाँ होती हैं, जिन्हें कैशे के रूप में जाना जाता है। कैश सभी प्रकार की मेमोरी में सबसे तेज़ है।
जब कोई प्रोग्राम लॉन्च होता है, तो वह प्रोग्राम प्रोग्राम के कोड में पाए जाने वाले निर्देशों की एक श्रृंखला को निष्पादित करना शुरू कर देता है। वह जानकारी पहले रैम में लोड होती है और फिर सीपीयू में चली जाती है। निर्देशों को पूरा करने के लिए डेटा का सर्वोत्तम उपयोग करने के लिए, सीपीयू को उच्च गति वाली मेमोरी की आवश्यकता होती है। यहीं से कैश आता है।
कैश का स्तर
CPU के भीतर, कैश के तीन अलग-अलग स्तर होते हैं:L1, L2, और L3। कुछ कंपनियां L4 कैश पर भी काम कर रही हैं।
L1 कैश तीनों में सबसे तेज और सबसे छोटा है। इसमें वह डेटा होता है जिसकी सीपीयू को संचालन करने की सबसे अधिक आवश्यकता होती है। L1 में आमतौर पर लगभग 256KB होता है, हालांकि कुछ ने इसे 1MB तक बढ़ा दिया है।
इस छोटे कैश का दोहरा उद्देश्य होता है, जिसमें निर्देश कैश और डेटा कैश दोनों होते हैं। निर्देश कैश सीपीयू द्वारा किए जाने वाले संचालन से संबंधित है, और डेटा कैश वह जानकारी रखता है जिस पर प्रक्रिया की जानी है।
इसके बाद, L2 कैश है। L2 धीमा है और L1 की तुलना में अधिक जानकारी रखता है। इसमें 256K और 8MB के बीच डेटा होता है जिसकी कंप्यूटर को अगली बार एक्सेस करने की सबसे अधिक आवश्यकता होगी।
अंत में, हम L3 कैश देखते हैं। यह सबसे बड़ा और सबसे धीमा कैश है, जो 4MB से 50MB तक कहीं भी संग्रहीत होता है।
कैश कैसे काम करता है
जब आपके कंप्यूटर पर कोई प्रोग्राम शुरू होता है, तो डेटा RAM से L3 कैश, फिर L2 और अंत में L1 में प्रवाहित होता है। जब प्रोग्राम चल रहा होता है, तो सीपीयू एल1 कैश में शुरू होने वाली और वहां से पीछे की ओर काम करते हुए, उसे चलाने के लिए आवश्यक जानकारी की तलाश करता है। यदि सीपीयू को आवश्यक जानकारी मिल जाती है, तो इसे कैश हिट कहा जाता है। अगर उसे अपनी जरूरत की जानकारी नहीं मिल रही है, तो यह एक कैश मिस है, और कंप्यूटर को अपनी जरूरत की जानकारी खोजने के लिए कहीं और जाना पड़ता है।
कंप्यूटर की दक्षता में विलंबता एक महत्वपूर्ण कारक है। विलंबता वह समय है जो जानकारी के एक टुकड़े को पुनः प्राप्त करने के लिए आवश्यक है। L1 कैश सबसे तेज़ है, और इसलिए इसकी विलंबता सबसे कम है। जब कोई कैश मिस हो जाता है, तो विलंबता बढ़ जाती है क्योंकि कंप्यूटर को आवश्यक जानकारी खोजने के लिए अलग-अलग कैश में खोज करते रहना चाहिए।
नए कंप्यूटरों में सीपीयू ट्रांजिस्टर का आकार बहुत छोटा होता है, जिससे अधिक कमरे वाला एक बोर्ड बनाना संभव हो जाता है, जिस पर कैश को सीधे रखा जा सके। भौतिक रूप से कैशे को CPU के पास रखने से विलंबता कम हो जाती है।
हालाँकि कैश ऐसा कुछ नहीं है जो कंप्यूटर बेचने वाले अक्सर इंगित करते हैं, यह जाँच के लायक है। तेज़ कैश में विलंबता कम होगी, जिससे आपके प्रोग्राम तेज़ और अधिक कुशलता से चलेंगे।