Cache Memory क्या है आसान शब्दों में समझें?

2

Cache Memory क्या है? इसे समझना बेहद आसान है. हम सभी जानते है कि Computer में किसी program को run करने का काम CPU (Central processing unit) का होता है. इस काम को करने के लिये उसे कई instructions और data की जरूरत पड़ती है. अक्सर ये चीजें Random access memory (RAM) या Hard disk में store होती है.

अब क्योंकि CPU बहुत fast काम करता है, जिसकी तुलना में RAM व Hard disk बहुत slow है. इस कारण CPU के लिये इन instructions और data को प्राप्त करने में काफी समय लग जाता है. जिससे computer system की overall performance पर बुरा असर पड़ता है. इससे बचने के लिये सभी आधुनिक computers में “Cache Memory” का use किया जाता है.

Cache memory kya hai (What is cache memory in hindi)

हालांकि Cache Memory की data storage capacity काफी कम होती है. परन्तु बाकी computer memory के मुकाबले ये सबसे fast होती है. तो Cache Memory का उपयोग उन instructions और data को store करने के लिए किया जाता है जिनकी जरुरत CPU को बार-बार पड़ती है.

इस पोस्ट कैश मेमोरी क्या होती है में हम आगे जानेंगे कंप्यूटर में Cache Memory की importance क्या है, कैश मेमोरी के लाभ क्या है और कैश मेमोरी कहाँ स्थित है? लेकिन उससे पहले कैश मेमोरी किसे कहते है? इसे थोड़ा विस्तार से समझे.

कैश मेमोरी क्या है? (What is Cache Memory in Hindi)

Cache Memory एक Volatile Computer Memory है, जिसमें CPU द्वारा अक्सर उपयोग किये जाने वाले instructions या data को store किया जाता है. ये काफी small memory होती है अर्थात इसमे अधिक डेटा संग्रहीत नही किया जा सकता. परन्तु इसे सबसे fastest memory माना जाता है क्योंकि ये CPU chip के बहुत करीब स्थित होती है. Cache Memory का उपयोग main memory से data को access करने में लगने वाले average time को reduce यानी कम करने के लिए किया जाता है.

ये RAM और Disk memory की तुलना में अधिक costly होती है. साथ ही सबसे closer होती है CPU के. यही कारण है कि Cache Memory में stored data को CPU सबसे fast access करता है. तो Cache Memory एक very high speed semiconductor memory है, जो CPU को speed-up करने के लिये बार-बार (frequently) उपयोग में आने वाले data को hold करके रखती है. ये CPU और main memory के बीच buffer का काम करती है.

अधिकांश आधुनिक computers में कम से कम तीन प्रकार (types) की Cache Memory होती है जिसमे: Instructions cache जो निष्पादन योग्य अनुदेश (executable instructions) को fetch करने में तेजी लाती है, Data cache ये deta fetch और store करने में तेजी लाती है अंत मे Translation lookaside buffer (TLB) इसका उपयोग निष्पादन योग्य निर्देशों और डेटा दोनों की virtual-to-physical address translation को speed up करने में किया जाता है.

कंप्यूटर में कैश मेमोरी की Importance

एक कंप्यूटर उपयोगकर्ता के लिये system की performance बहुत मायने रखती है. जैसा हम जानते है इसके लिये CPU का fast और अधिक efficient होना जरूरी है. अर्थात एक प्रकिया को सीपीयू जितना तेज और कुशलतापूर्वक करेगा computer की performance उतनी ही बेहतर होगी. तो Cache Memory एक तरह से CPU की efficiency को improve करती है. नीचे बताये गए कुछ important point से आप Cache Memory की महत्वता या importance को समझ सकते है.

1) Main memory के slow होने के कारण CPU, program execution की overall process को धीमा कर देता है. जबकि Cache Memory का उपयोग करना process को speed up करता है.

2) Cache Memory उन instructions/data को hold करती है, जिनकी जरुरत CPU को frequently पड़ती है या फिर वो बहुत common होते है. जिस कारण CPU को आवश्यक डेटा के लिये main memory के पास नही जाना पड़ता. इस तरह Cache Memory व्यव्हारिक रूप से CPU और RAM के बीच buffer के रूप में कार्य करती है.

3) RAM की तुलना में Cache Memory एक fastest access memory है, क्योंकि ये CPU Chip में ही मौजूद होती है. जिससे सीपीयू को जरूरी निर्देश जल्द प्राप्त होते है.

4) Cache Memory में संग्रहित डेटा temporary होता है. इसका मतलब जब stored data किसी काम का नही रहता वो बिल्कुल useless हो तो वह तुरन्त replaced हो जाता है.

5) इसका throughput (किसी सिस्टम से गुजरने वाली डेटा की मात्रा) अधिक होता है बाकी मेमोरी की तुलना में. क्योंकि Cache Memory, CPU core से जुड़ने के लिये back-side-bus का use करती है. जिसकी width लगभग 128 bit व 256 bit तक होती है. Bus की चोड़ाई जितनी अधिक होगी एक बार मे data transfer होने की सीमा बढ़ जाएगी.

कैश मेमोरी कैसे काम करती है – How Cache Memory Works?

ये तो आप जान चुके है कि Cache Memory क्या है और इसका कंप्यूटर में क्या role है. आइये अब देखे कि जब आप अपने computer में कोई application/program को run करते है, तो Cache Memory की यहाँ पर क्या भूमिका होती है. जब भी आप किसी program को run करते है तो वह आमतौर पर Hard disk में stored होता है.

Cache Memory working diagram in computer organizations

अब क्योंकि CPU, hard disk से सीधे data fetch नही कर सकता कारण कि ये काफी slow होती है. जिसके कारण program को RAM memory में load करना पड़ता है. क्योंकि RAM एक hard disk के comparison में काफी fast होती है. हालांकि समस्या यहाँ पर ये है कि RAM भी CPU जितनी fast नही होती. RAM की data transfer speed और access time (latency) काफी कम होता है CPU की तुलना में.

तो जब CPU, RAM से किसी program की request करता है, तो उसे deliver करने में RAM एक निश्चित समय लेती है. जिससे CPU को उतने समय wait करना पड़ता है. इस कारण इसकी overall performance काफी हद तक reduce होती है. इससे बचने के लिये computers में Cache Memory का उपयोग किया जाता है.

ये RAM में कुछ memory addresses से data/instructions को लेकर उनका Cache Memory में backup बना देते है. जिसके बाद CPU, रैम या हार्ड डिस्क से data को retrieve करने से पहले Cache Memory को read करता है. यदि data, वहाँ present है तो CPU उसे instantly retrieve कर लेगा. यदी requested data/instructions सीपीयू को cache में नही मिलता तो उसे फिर से hard drive से data को retrieve करना होगा.

इस कारण और अधिक समय लगेगा क्योंकि processing time पहले ही cache memory में डेटा खोजने में lost हो चुका है. हालांकि multiple cache layers की help से processing speed को improve किया जा सकता है. इन दो स्थितियों को Cache Hit और Cache Miss नाम से परिभाषित किया जाता है. आइये इनके बारे में जाने.

  • Cache Hit: ये वो स्थिति है जब CPU द्वारा requested data कैश मेमोरी में पाया (found) जाता है.
  • Cache Miss: इस स्थिति में CPU द्वारा requested data कैश मैमोरी में नही पाया (not found) जाता.

Cache Mapping क्या है?

Cache Mapping एक technique है जिसके अंतर्गत Cache miss होने की स्थिति में अनुरोधित content को main memory से cache में mapped किया जाता है. आसान शब्दो मे यदि सीपीयू को कैश मेमोरी में वो सामग्री नही मिलती जो उसे चाहिए तो उस सामग्री को मुख्य मेमोरी में खोजकर वापस कैश मेमोरी में लाने की प्रकिया को Cache Mapping कहते है. तीन अलग-अलग types की techniques का उपयोग करके cache mapping की जाती है जो इस प्रकार है.

  1. Direct Mapping
  2. Fully Associative Mapping
  3. Set Associative Mapping

Direct Mapping

जैसा कि नाम से मालूम पड़ता है कि Direct mapped cache में प्रत्येक block को mapped करने के लिये एक तय cache memory locations होती है. अर्थात ये fixed होता है कि एक main memory block को किस cache line में रखना है.

Fully Associative Mapping

हालांकि इसका structure काफी similar होता है direct mapping के. परन्तु fully associative mapping में एक memory block को निर्धारित स्थान के बजाय किसी भी cache line में mapped किया जा सकता है.

Set Associative Mapping

इसे direct mapping और associative mapping के combination के रूप में देखा जाता है. जिसमे cache lines को sets में बांटा जाता है. जहां each set में k-number of lines होती है. इसमे main memory के particular block को cache memory के one particular set में mapped किया जा सकता है. हालांकि उस set के भीतर memory block को किसी भी cache line में mapped कर सकते है. इसलिए इसे कभी-कभी K-way Set Associative Mapping भी कहा जाता है.

इनके बारे में हम अभी विस्तार से नही बताएंगे क्योंकि ये पोस्ट अधिक लम्बी हो जाएगी. जल्द ही हम Cache Mapping पर एक संपूर्ण पोस्ट लिखेंगे जिसके अंतर्गत इन तीनों techniques को diagram की मदद से समझाया जाएगा.

Cache Memory में विभिन्न Levels

एक कंप्यूटर में Cache Memory के कई different levels होते है. ये Cache levels, CPU से अपनी closeness और accessibility को दर्शाते है. अर्थात जो cache कंप्यूटर में CPU के करीब स्थित होगी वो बाकी levels के मुकाबले fast होगी. परन्तु वो सबसे कम data store करेगी और अधिक expensive भी होगी. तो आइए Cache Memory के इन विभिन्न Levels के बारे में जाने.

Level 1 या L1 Cache

ये सबसे fastest cache होती है कारण ये है कि L1 cache बिल्कुल CPU chip में embedded है. अधिकांश कंप्यूटर में ये CPU cache के रूप में कार्य करती है. इसलिये इसे primary cache भी कहा जाता है. L1 cache का size सबसे कम होता है और ये 64kb cache memory तक store कर सकती है. हालांकि कुछ powerful CPUs में इस cache का size लगभग 1mb तक होता है.

उपयोग की प्राथमिकता के संदर्भ में L1 उस प्रकार के data को hold करती है जिसकी आवश्यकता सीपीयू को एक कार्य को करने में बार-बार पड़ती है. ये SRAM (Static RAM) से बनी हुई cache है. Address register इसका एक उदाहरण है.

Level 2 या L2 Cache

L1 की तुलना में L2 Cache, slower है परन्तु उसके मुकाबले ये size में बड़ी होती है. इसमें आमतौर पर 64kb-8mb के बीच memory होती है. हालांकि ये भी सीपीयू में मौजूद रहती है लेकिन अक्सर ये CPU और RAM के बीच एक separate chip होती है. सीपीयू जब भी L1 Cache में instructions को search करता है और उसे वे वहां नही मिलते तो वह required instructions को L2 Cache में search करेगा. इसलिये L2 को secondary cache भी कहते है.

Cache को CPU से connect करने के लिए एक high speed system bus होती है. जिस कारण main system bus पर traffic होने की स्थिति में भी प्रोसेसिंग धीमी नही होती.

Level 3 या L3 Cache

L1 और L2 के मुकाबले L3 सबसे largest cache memory है लेकिन तीनों में सबसे slowest भी. इसका size लगभग 4mb-50mb तक हो सकता है. ये computer motherboard पर मौजूद मेमोरी का एक बड़ा रूप है. L3 cache का मुख्य उपयोग processing operation को speed up करना होता है. ये data के अनुरोध करने और अनुरोध प्राप्त होने में लगने वाले समय को कम करता है.

Multicore processor में भले ही प्रत्येक core के लिये separate L1 और L2 cache हो सकते है. लेकिन सभी cores एक ही same L3 cache को आपस मे share करते है.

कैश मेमोरी कहां स्थित है

आमतौर पर Cache Memory कंप्यूटर की CPU chip पर located होती है. अब क्योंकि cache के कई different levels होते है. उदाहरण के लिए – L1 cache, L2 cache और L3 cache. इसलिये इनकी location कंप्यूटर में एक-दूसरे से अलग हो सकती है. अधिकांश modern processors में L1 और L2 Cache प्रोसेसर core का part होती है. इन्हें हम SRAM कहते है. L3 Cache अक्सर या तो processor में located होती है या उससे outside motherboard में. इस प्रकार Cache Memory की location के आधार पर हम इन्हें internal cache और external cache के नाम से परिभाषित करते है.

Conclusion

इस लेख में आपने जाना Cache Memory क्या है? जिसके अंतर्गत हमने आपको बताया कि कैश मेमोरी कैसे उन महत्वपूर्ण निर्देशों और डेटा को संग्रहीत करती है जिसकी जरुरत सीपीयू को बार-बार पड़ती है. साथ ही ये सबसे तेज computer memory है जो सीपीयू को टास्क पूर्ण में मदद करती है. हमारे द्वारा पूरी कोशिश की गयी कि इस पोस्ट को बिल्कुल सरल भाषा मे रखा जाए ताकि ये विषय हर व्यक्ति के समझ मे आये.

तो उम्मीद है, यह पोस्ट कैश मेमोरी क्या होती है? (What is Cache Memory in Hindi) आपको ज्ञानवर्धक लगी हो. यदि आपके मन मे पोस्ट से सम्बंधित कोई सवाल या सुझाव हो तो कृपया नीचे comment में जरूर बताये. अंत मे आप चाहे तो इस पोस्ट को अपने सहपाठियों के साथ Social Sites जैसे Facebook, Instagram और WhatsApp पर share भी कर सकते है.

2 COMMENTS

LEAVE A REPLY

Please enter your comment!
Please enter your name here