कैश संगठन और नीतियाँ
कैश संगठन इस बात से संबंधित है कि एक कैश मेमोरी ब्लॉक को स्टोरेज में कैसे मैप करता है - इसका प्लेसमेंट और संबद्धता (associativity) - और प्रतिस्थापन (replacement) तथा राइट्स (writes) को नियंत्रित करने वाली नीतियाँ, जो मिलकर यह निर्धारित करती हैं कि कैश कितनी बार हिट होता है और यह मुख्य मेमोरी के साथ कैसे इंटरैक्ट करता है।
Definition
कैश संगठन और नीतियाँ एक कैश के संरचनात्मक और प्रबंधन विकल्प हैं - जहाँ ब्लॉक रखे जा सकते हैं, मिस होने पर कौन सा ब्लॉक हटाया जाता है, और राइट्स को निचले स्तरों तक कैसे प्रसारित किया जाता है - जो इसकी हिट दर और व्यवहार को नियंत्रित करते हैं।
Scope
यह विषय एक एकल कैश के आंतरिक डिज़ाइन को शामिल करता है: डायरेक्ट-मैप्ड (direct-mapped), सेट-एसोसिएटिव (set-associative), और फुली एसोसिएटिव (fully associative) प्लेसमेंट; LRU और इसके अनुमानों जैसी प्रतिस्थापन नीतियाँ; राइट नीतियाँ (राइट-थ्रू बनाम राइट-बैक) और राइट-एलोकेशन; ब्लॉक आकार; और अनिवार्य (compulsory), क्षमता (capacity), और संघर्ष (conflict) में मिसेस का वर्गीकरण। इसमें मल्टी-कैश सुसंगतता (cache coherence protocols) और एड्रेस ट्रांसलेशन (virtual memory and paging) शामिल नहीं हैं।
Core questions
- डायरेक्ट-मैप्ड, सेट-एसोसिएटिव और फुली एसोसिएटिव प्लेसमेंट लागत और संघर्ष व्यवहार में कैसे भिन्न होते हैं?
- मिस होने पर ब्लॉक को हटाने के लिए कौन सी प्रतिस्थापन नीति का उपयोग किया जाना चाहिए, और इसे सस्ते में कैसे अनुमानित किया जाता है?
- राइट-थ्रू और राइट-बैक नीतियाँ ट्रैफ़िक और जटिलता में कैसे भिन्न होती हैं?
- मिसेस को कैसे वर्गीकृत किया जाता है, और कौन से डिज़ाइन परिवर्तन प्रत्येक प्रकार को कम करते हैं?
Key concepts
- डायरेक्ट-मैप्ड कैश
- सेट-एसोसिएटिव कैश
- फुली एसोसिएटिव कैश
- सबसे कम हाल ही में उपयोग किया गया (LRU) प्रतिस्थापन
- राइट-थ्रू बनाम राइट-बैक
- राइट-एलोकेट
- ब्लॉक (लाइन) आकार
- अनिवार्य, क्षमता और संघर्ष मिसेस
Key theories
- थ्री सीज़ मिस मॉडल
- कैश मिसेस को अनिवार्य (पहला एक्सेस), क्षमता (कार्यशील सेट के लिए कैश बहुत छोटा), और संघर्ष (बहुत कम संबद्धता) के रूप में वर्गीकृत किया जा सकता है, एक ऐसा ढाँचा जो प्रत्येक डिज़ाइन पैरामीटर - आकार, ब्लॉक आकार, संबद्धता - को उन मिसेस से जोड़ता है जिन्हें वह कम करता है।
Mechanisms
एक मेमोरी एड्रेस को टैग (tag), इंडेक्स (index), और ऑफसेट (offset) फ़ील्ड में विभाजित किया जाता है। इंडेक्स एक सेट का चयन करता है, टैग उसके भीतर ब्लॉक की पहचान करता है, और संबद्धता यह निर्धारित करती है कि कितने ब्लॉक एक सेट साझा करते हैं। मिस होने पर कैश ब्लॉक को फ़ेच करता है और प्रतिस्थापन नीति (अक्सर सबसे कम उपयोग किए गए का अनुमान) द्वारा चुने गए दूसरे को हटा देता है। राइट्स या तो मुख्य मेमोरी को तुरंत अपडेट करते हैं (राइट-थ्रू) या ब्लॉक को डर्टी (dirty) चिह्नित करते हैं और अपडेट को स्थगित करते हैं (राइट-बैक)।
Clinical relevance
कैश संगठन प्रभावी प्रदर्शन को नियंत्रित करता है क्योंकि मिस पेनल्टी हिट्स के सापेक्ष बड़ी होती हैं। प्रोग्रामर डेटा लेआउट, ब्लॉकिंग और एक्सेस पैटर्न के माध्यम से कैश व्यवहार में सुधार करते हैं जो स्थानीयता (locality) को बढ़ाते हैं, जबकि आर्किटेक्ट संबद्धता, ब्लॉक आकार और राइट नीति को हिट दर को क्षेत्र, शक्ति और बैंडविड्थ के साथ संतुलित करने के लिए ट्यून करते हैं।
History
विल्केस ने 1965 में स्लेव (कैश) मेमोरी का प्रस्ताव रखा, और कैश को जल्द ही व्यावसायिक रूप से अपनाया गया। एलन जे स्मिथ के 1982 के सर्वेक्षण ने प्लेसमेंट, प्रतिस्थापन और राइट नीतियों के व्यापक मापों को संश्लेषित किया, जिससे आज भी उपयोग की जाने वाली डिज़ाइन शब्दावली स्थापित हुई। थ्री-सी मॉडल ने बाद में मिस के कारणों और उपचारों के बारे में तर्क करने का एक संरचित तरीका प्रदान किया।
Key figures
- Maurice Wilkes
- Alan Jay Smith
- John L. Hennessy
- David A. Patterson
Related topics
Seminal works
- smith1982cache
- hennessy2019
Frequently asked questions
- राइट-थ्रू और राइट-बैक कैश में क्या अंतर है?
- एक राइट-थ्रू कैश हर राइट पर कैश और मुख्य मेमोरी दोनों को अपडेट करता है, जिससे मेमोरी वर्तमान रहती है लेकिन अधिक ट्रैफ़िक उत्पन्न होता है। एक राइट-बैक कैश केवल कैश को अपडेट करता है, ब्लॉक को डर्टी चिह्नित करता है, और इसे मेमोरी में तभी लिखता है जब उसे हटाया जाता है, जिससे अतिरिक्त बहीखाता की लागत पर ट्रैफ़िक कम होता है।
- डायरेक्ट-मैप्ड कैश के बजाय सेट-एसोसिएटिव कैश का उपयोग क्यों करें?
- एक डायरेक्ट-मैप्ड कैश प्रत्येक ब्लॉक को ठीक एक स्थान की अनुमति देता है, इसलिए एक ही स्लॉट में मैप होने वाले ब्लॉक संघर्ष करते हैं। सेट संबद्धता प्रत्येक ब्लॉक को एक सेट के भीतर कई संभावित स्थान देती है, जिससे अधिक तुलना हार्डवेयर और थोड़ी धीमी हिट की लागत पर संघर्ष मिसेस कम होती हैं।