Cache (कैश) Memory क्या है?

Cache (कैश) Memory क्या है? | What is Cache Memory in Hindi

नमस्कार दोस्तों, स्वागत है आपका HelpHindiMe.in के इस नए लेख में जहां हम आपको कैश मेमोरी क्या होती है? (Cache Memory kya hoti hai) इस पर आसान शब्दों में जानकारी प्रदान करने वाले है. अक्सर Central Processing Unit (CPU) को “Brain of the Computer” कहा जाता है क्योंकि कंप्यूटर को प्राप्त कोई भी Program Execute करने के लिए एक अकेला CPU ही Responsible होता है. खैर, CPU तो Program Execute कर लेता है लेकिन उसे Execute करते वक्त लगने वाला Data (Instructions) या तो Main Memory (RAM) में स्टोर होता या फिर Hard Disk Drive में.

Central Processing Unit (CPU), यह Computer में शामिल सबसे तेज Hardware Component है जिसकी तुलना में Main Memory और Hard Disk Drive की Speed काफी हद तक कम होती है. अब ऐसे में अगर CPU द्वारा किसी Program को Execute करते समय इन Devices से Data (Instructions) Fetch होने में Late हुआ तो इसका असर सीधा System के Overall Performance पर होगा. इस Drawback पर नजर रखते हुए Advanced Computers में Cache Memory” का इस्तेमाल किया जाता है.

कैश मेमोरी की बात करें तो, इसकी Storage Capacity भले ही RAM और Hard Drive से कम है लेकिन, Speed की तुलना में Cache Memory जैसा तेज कोई नहीं. आसान शब्दों में बताये तो, Program Execute करते समय CPU को बार-बार लगने वाला Data (Instructions) Cache Memory में Store होता है. इस पर विस्तार में जानकारी आगे Provide की जा रही है .

बता दे कि, इस लेख में हम Cache Memory क्या है? (Cache Memory Kya hai), Cache Memory किसे कहते है? (Cache Memory kise kahate hai), Cache Memory के प्रकार (Cache Memory ke types), कैश मेमोरी का काम आदि Topics पर गौर करने वाले है. तो चलिए शुरू करते है.

Cache Memory क्या है? (What is Cache Memory in Hindi)

Cache Memory एक Volatile Memory है, जो Central Processing Unit (CPU) के नजदीक स्थित होती है. CPU को Program Execute करते समय अक्सर उपयोग किये जाने वाला Data (Instructions) इसमें Store किया जाता है और इसलिए इस Memory को CPU Memory भी कहा जाता है. कैश मेमोरी में Data केवल Power Supply होने तक Store रहता है साथ ही CPU द्वारा Program Execute होने पर Memory Reset हो जाती है जिस वजह से इसकी स्टोरेज Capacity कम होती है. Storage में कम Cache Memory को Speed के मामले में कंप्यूटर की Fastest Memory माना जाता है.

होता क्या है कि, कैश मेमोरी CPU के काफी करीब होती है. Main Memory, जिसमें अक्सर CPU द्वारा Execute होने वाले Instructions स्टोर किये जाते है. ऐसे में CPU को अब बार-बार Main मेमोरी से Instructions Fetch करने की जरुरत नहीं क्योकि यह Instructions cache Memory में Store किये जाते है जिसको CPU और भी तेज और आसानी से पढ़ सकता है. कैश मेमोरी का Main Advantage है CPU का Average Time Reduce होना.

आमतौर पर, आजकल के Advanced Computers में तीन प्रकार के कैश मेमोरी का उपयोग किया जाता है.

Data Cache

CPU द्वारा कोई Task Perform करते वक्त अक्सर लगने वाला Data इसमें स्टोर किया जाता है.

Instructions Cache

CPU द्वारा Execute करने से पहले Main Memory में शामिल Instructions को Instruction Cache में store किया जाता है.

Translation Lookaside Buffer (TLB)

इस Memory का उपयोग Virtual-to-physical Address Translation करने के हेतु किया जाता है.

Cache Memory काम कैसे करती है? (How Cache Memory Works)

कैश मेमोरी क्या होती है? (Cache Memory kya hoti hai) यह तो आप भली भांति जान चुके है. अब आगे वह काम कैसे करती है? इसपर हम विस्तार में पढ़ेंगे. मान लो अगर User ने कंप्यूटर में शामिल कोई एक Application Open करने का प्रयास किया. Application Open करने की Instruction सबसे पहले RAM में Store होगी. जैसे ही Cache Memory Free होगी, यह Instruction उसमे Load हो जाएगी. अब CPU, RAM में शामिल Instructions पढ़ने से पहले Cache Memory में शामिल Instructions को Prority देगा.

CPU को Application Open करने वाली Instruction मिलते ही उसे Execute करना Start कर देगा. तो बस कुछ ऐसे ही होता है Program Execution Life Cycle जहां कैश मेमोरी अहम भूमिका अदा करती है.

CPU Instructions या तो RAM से Fetch करेगा या फिर Cache Memory से. Hard Disk Drive से यह असंभव है क्योंकि वह CPU के Processing Speed से कई गुना Slow Work करता है. ऐसे में जो CPU माइक्रो सेकण्ड्स में काम करता है उसे Seconds तक लग सकते है. वैसे देखा जाये तो CPU के तुलना में RAM का भी Data Transfer Speed और Access Time काफी हद तक कम होता है. इसी कारण आधुनिक कम्प्यूटर्स में Cache Memory का इस्तेमाल किया जा रहा है. Cache Memory Microseconds में, CPU की तरह Data Operations Perform करती है जिससे System का Overall Performance बेहतर रहता है.

Cache Mapping क्या है? (What is Cache Memory in Hindi)

Cache Mapping के बारे में अधिक जानकारी प्राप्त करने से पहले दो Concepts Cache Hit और Cache Miss समझना जरूरी है.

1. Cache Hit


CPU द्वारा अक्सर उपयोग किए जाने वाला Data, Cache Memory में पाया जाने पर ऐसी स्थिति को Cache Hit कहते है.

2. Cache Miss


CPU द्वारा अक्सर उपयोग किए जाने वाला Data Cache Memory में ‘न’ पाया जाने पर ऐसी स्थिति को Cache Miss कहते है.

अब होता क्या है कि, Cache Miss की स्थिति में CPU को उपयोगी Data, Main Memory से लेकर Cache Memory में Load किया जाता है, इस Technique को Cache Mapping कहा जाता है. आसान शब्दों में बताया जाए तो, CPU द्वारा अक्सर उपयोग किए जाने वाला Data, Cache Memory में ‘न’ मिलने पर वह Data, Main Memory से लेकर Cache Memory में Load करते है जिसे Cache Mapping कहते है. Cache Memory Mapping Techniques तीन प्रकार से Perform किये जाते है.

1. Direct Mapping

2. Fully Associative Mapping

3. Set Associative Mapping

1. Direct Mapping

Direct Mapping Technique का नाम सुनते ही उसके कार्य का अंदाजा लगाया जा सकता है. दरअसल, Direct Mapping में Cache की Mapping Memory Fixed होती है. Main Memory से Cache में Mapping होने वाला Block पहले से ही तय किया जाता है जिसे Direct Mapping कहते है.

2. Fully Associative Mapping

Fully Associative Mapping यह Technique Direct Mapping के समान होती है फर्क इतना है कि, Direct Mapping में Cache की Mapping Memory Fixed होती है जोकि Fully Associative Mapping में ऐसा पहले से तय नहीं होता. Cache Miss दौरान Data को Cache में Runtime Memory Allocate होती है.

3. Set Associative Mapping

Direct Mapping और Fully Associative Mapping के Combination को Set Associative Mapping कह सकते है. दरअसल, Set Associative Mapping में होता क्या है कि, Cache Lines को Sets में Divide किया जाता और हर एक Set में Number of Cache Lines होते है. अब Main Memory से जो Data Cache Memory में Load करते है, वह एक Specific Set में Load किया जाता है. यानी Mapping के Set Fixed होते है परन्तु, Set के भीतर Data को किसी भी Cache Line पर Load किया जा सकता है. इस Technique को Set Associative Mapping कहा जाता है.

Cache Memory के विभिन्न Levels (Levels of Cache Memory)

जैसे कि हमने लेख के शुरुआत में बताया, Cache Memory, CPU के काफी करीब होती है और इसी Closeness और Accessibility को विभिन्न Levels द्वारा दर्शाया जाता है. Cache Memory जितना CPU से करीब उतना कम Access Time लेकिन, ऐसी Memory बेहद Expensive होती है.

Level 1 cache: Computer में Use की जाने वाली यह सबसे Fast Cache Memory होती है. Fast इसलिए क्योंकि यह Direct CPU में ही Embed की जाती है. Level 1 Cache की Size 64kb इतनी होती है.

Level 2 cache: Level 1 cache के तुलना में Level 2 Cache की Speed काफी हद तक कम होती है लेकिन, Size में यह ज्यादा लगभग 64 kb से 8 mb के बीच रहती है.

Level3 cache: Level1 और Level2 की तुलना में Level3 सबसे बड़ी Cache Memory है लेकिन Speed के मामले में वह दोनों से धीमी. Level 3 की Size 4 mb से 50 mb के बीच होती है.

Cache Memory कहा होती है? (Where is Cache Memory Situated?)

Cache Memory विभिन्न Levels में होती है, जो हमने इससे पहले वाले Topic में देखा. आमतौर पर Cache Memory, RAM और Central Processing Unit के बीच पाई जाती है. क्योकि Cache तीन Levels में होती है, Level 1 Cache यह CPU Chip पर ही Embed होती है. Level 2 Cache यह CPU और RAM के बीच Buffer के तौर पर काम करती है. Level 3 Cache यह Motherboard पर Connected रहती है.

आज हमने क्या सीखा (Conclusion)

दोस्तों, लेख के शुरुआत में हमने Cache Memory संबंधित Introduction दिया. इसके बाद Cache Memory क्या है? (What is Cache Memory in Hindi), Cache Memory काम कैसे करती है? (How Cache Memory Works), Cache Mapping क्या है? (What is Cache Memory in Hindi) के बारे में पढ़ा. Cache Mapping में हमने Mapping Techniques Explain किये जिसमे Direct Mapping, Fully Associative Mapping और Set Associative Mapping पर गौर किया. लेख के अंत में हमने Cache Memory CPU में कहा होती है? (Where is Cache Memory Situated?) इस पर जानकारी प्रदान की. आशा करते है कि इसको पढ़ने के पश्चात कैश मेमोरी सम्बंधित आपकी सभी समस्या सुलझ गयी होंगी, आप अपने सुझाव और question नीचे कमेंट कर के हमें जरूर बताएं. इसी प्रकार के Technical Blogs पढ़ने के लिए HelpHindiMe को Subscribe करें. धन्यवाद.