स्मृति पदानुक्रम

From alpha
Jump to navigation Jump to search
कंप्यूटर मेमोरी पदानुक्रम का आरेख

कंप्यूटर संगठन में, मेमोरी पदानुक्रम कंप्यूटर भंडारण को प्रतिक्रिया समय (प्रौद्योगिकी) के आधार पर एक पदानुक्रम में अलग करता है। चूंकि प्रतिक्रिया समय, कम्प्यूटेशनल जटिलता और कंप्यूटर डेटा भंडारण संबंधित हैं, इसलिए स्तरों को उनके कंप्यूटर प्रदर्शन और नियंत्रण प्रौद्योगिकियों द्वारा भी अलग किया जा सकता है।[1]मेमोरी पदानुक्रम कंप्यूटर वास्तुशिल्प डिजाइन, एल्गोरिदम भविष्यवाणियों और संदर्भ के इलाके से जुड़े निचले स्तर के कंप्यूटर प्रोग्रामिंग निर्माणों में प्रदर्शन को प्रभावित करता है।

उच्च प्रदर्शन के लिए डिज़ाइन करने के लिए मेमोरी पदानुक्रम के प्रतिबंधों, यानी प्रत्येक घटक के आकार और क्षमताओं पर विचार करना आवश्यक है। विभिन्न घटकों में से प्रत्येक को यादों के पदानुक्रम के हिस्से के रूप में देखा जा सकता है (m1, m2, ..., mn) जिसमें प्रत्येक सदस्य mi आम तौर पर अगले उच्चतम सदस्य से छोटा और तेज़ होता है mi+1 पदानुक्रम का. उच्च स्तरों द्वारा प्रतीक्षा को सीमित करने के लिए, निचला स्तर एक बफ़र भरकर प्रतिक्रिया देगा और फिर स्थानांतरण को सक्रिय करने के लिए संकेत देगा।

चार प्रमुख भंडारण स्तर हैं।[1]

यह एक सामान्य मेमोरी पदानुक्रम संरचना है. कई अन्य संरचनाएँ उपयोगी हैं. उदाहरण के लिए, कंप्यूटर आर्किटेक्चर को डिज़ाइन करते समय पेजिंग एल्गोरिदम को आभासी मेमोरी के लिए एक स्तर के रूप में माना जा सकता है, और इसमें ऑनलाइन और ऑफलाइन स्टोरेज के बीच निकटवर्ती भंडारण का स्तर शामिल किया जा सकता है।

स्मृति पदानुक्रम में प्रौद्योगिकियों के गुण

  • जटिलता जोड़ने से स्मृति पदानुक्रम धीमा हो जाता है।[2]
  • सीएमओएक्स मेमोरी तकनीक मेमोरी पदानुक्रम में फ्लैश स्पेस को बढ़ाती है[3]
  • सिस्टम प्रदर्शन को बढ़ाने के मुख्य तरीकों में से एक यह कम करना है कि डेटा में हेरफेर करने के लिए मेमोरी पदानुक्रम में कितना नीचे जाना है।[4]
  • विलंबता और बैंडविड्थ कैश से जुड़े दो मीट्रिक हैं। उनमें से कोई भी एक समान नहीं है, लेकिन मेमोरी पदानुक्रम के एक विशेष घटक के लिए विशिष्ट है।[5]
  • मेमोरी पदानुक्रम में डेटा कहां रहता है, इसकी भविष्यवाणी करना कठिन है।[5]* ...स्मृति पदानुक्रम में स्थान प्रीफ़ेच होने के लिए आवश्यक समय निर्धारित करता है।[5]


उदाहरण

AMD बुलडोजर सर्वर का मेमोरी पदानुक्रम।

समय के साथ मेमोरी पदानुक्रम में स्तरों की संख्या और प्रत्येक स्तर पर प्रदर्शन में वृद्धि हुई है। मेमोरी या भंडारण घटकों का प्रकार भी ऐतिहासिक रूप से बदलता रहता है।[6] उदाहरण के लिए, इंटेल हैसवेल मोबाइल की मेमोरी पदानुक्रम[7] प्रोसेसर लगभग 2013 है:

पदानुक्रम के निचले स्तर - डिस्क से नीचे की ओर - को स्तरीय भंडारण के रूप में भी जाना जाता है। ऑनलाइन, नियरलाइन और ऑफलाइन स्टोरेज के बीच औपचारिक अंतर है:[12]

  • I/O के लिए ऑनलाइन स्टोरेज तुरंत उपलब्ध है।
  • नियरलाइन स्टोरेज तुरंत उपलब्ध नहीं है, लेकिन मानवीय हस्तक्षेप के बिना इसे तुरंत ऑनलाइन किया जा सकता है।
  • ऑफ़लाइन संग्रहण तुरंत उपलब्ध नहीं है, और इसे ऑनलाइन लाने के लिए कुछ मानवीय हस्तक्षेप की आवश्यकता होती है।

उदाहरण के लिए, हमेशा चालू रहने वाली स्पिनिंग डिस्क ऑनलाइन होती हैं, जबकि स्पिन-डाउन करने वाली स्पिनिंग डिस्क, जैसे कि निष्क्रिय डिस्क की विशाल सरणी (नॉन-RAID ड्राइव आर्किटेक्चर#MAID), निकट होती हैं। हटाने योग्य मीडिया जैसे कि टेप कार्ट्रिज जिन्हें टेप लाइब्रेरी की तरह स्वचालित रूप से लोड किया जा सकता है, निकट हैं, जबकि जिन कार्ट्रिज को मैन्युअल रूप से लोड किया जाना चाहिए वे ऑफ़लाइन हैं।

अधिकांश आधुनिक सेंट्रल प्रोसेसिंग यूनिट इतनी तेज़ हैं कि अधिकांश प्रोग्राम वर्कलोड के लिए, विक्ट: बॉटलनेक मेमोरी एक्सेस के संदर्भ का स्थान और सीपीयू कैश की दक्षता और पदानुक्रम के विभिन्न स्तरों के बीच मेमोरी ट्रांसफर है।[citation needed]. परिणामस्वरूप, सीपीयू अपना अधिकांश समय निष्क्रिय रहकर, मेमोरी I/O के पूरा होने की प्रतीक्षा में बिताता है। इसे कभी-कभी अंतरिक्ष लागत भी कहा जाता है, क्योंकि एक बड़ी मेमोरी ऑब्जेक्ट के छोटे/तेज स्तर पर ओवरफ्लो होने की अधिक संभावना होती है और इसके लिए बड़े/धीमे स्तर के उपयोग की आवश्यकता होती है। मेमोरी उपयोग पर परिणामी भार को दबाव (क्रमशः रजिस्टर दबाव, कैश दबाव और (मुख्य) मेमोरी दबाव) के रूप में जाना जाता है। उच्च स्तर से डेटा गायब होने और निचले स्तर से लाने की आवश्यकता के लिए शर्तें क्रमशः हैं: स्पिलिंग रजिस्टर करें (रजिस्टर दबाव के कारण: कैश में दबाव दर्ज करें), कैश मिस (कैश से मुख्य मेमोरी), और (हार्ड) पृष्ठ दोष (डिस्क पर मुख्य मेमोरी)।

आधुनिक प्रोग्रामिंग भाषाएं मुख्य रूप से मेमोरी के दो स्तर मानती हैं, मुख्य मेमोरी और डिस्क स्टोरेज, हालांकि असेंबली भाषा और सी (प्रोग्रामिंग भाषा) जैसी भाषाओं में इनलाइन असेंबलरों में, रजिस्टरों तक सीधे पहुंचा जा सकता है। मेमोरी पदानुक्रम का इष्टतम लाभ उठाने के लिए प्रोग्रामर, हार्डवेयर और कंपाइलर्स के सहयोग (साथ ही ऑपरेटिंग सिस्टम से अंतर्निहित समर्थन) की आवश्यकता होती है:

  • प्रोग्रामर फ़ाइल I/O के माध्यम से डिस्क और मेमोरी के बीच डेटा ले जाने के लिए ज़िम्मेदार हैं।
  • हार्डवेयर मेमोरी और कैश के बीच डेटा ले जाने के लिए जिम्मेदार है।
  • कंपाइलर का अनुकूलन कोड उत्पन्न करने के लिए जिम्मेदार होते हैं, जो निष्पादित होने पर, हार्डवेयर को कैश और रजिस्टरों का कुशलतापूर्वक उपयोग करने का कारण बनेंगे।

कई प्रोग्रामर मेमोरी का एक स्तर मानते हैं। यह तब तक ठीक काम करता है जब तक एप्लिकेशन प्रदर्शन दीवार पर नहीं पहुंच जाता। फिर कोड रिफैक्टरिंग के दौरान मेमोरी पदानुक्रम का मूल्यांकन किया जाएगा।

यह भी देखें

संदर्भ

  1. 1.0 1.1 Toy, Wing; Zee, Benjamin (1986). Computer Hardware/Software Architecture. Prentice Hall. p. 30. ISBN 0-13-163502-6.
  2. Write-combining
  3. "Memory Hierarchy". Unitity Semiconductor Corporation. Archived from the original on 5 August 2009. Retrieved 16 September 2009.
  4. Pádraig Brady. "Multi-Core". Retrieved 16 September 2009.
  5. 5.0 5.1 5.2 van der Pas, Ruud (2002). "कैश-आधारित सिस्टम में मेमोरी पदानुक्रम" (PDF). Santa Clara, California: Sun Microsystems: 26. 817-0742-10. {{cite journal}}: Cite journal requires |journal= (help)
  6. "मेमोरी और स्टोरेज - कंप्यूटर इतिहास की समयरेखा - कंप्यूटर इतिहास संग्रहालय". www.computerhistory.org.
  7. Crothers, Brooke. "Dissecting Intel's top graphics in Apple's 15-inch MacBook Pro - CNET". News.cnet.com. Retrieved 2014-07-31.
  8. "Intel's Haswell Architecture Analyzed: Building a New PC and a New Intel". AnandTech. Retrieved 2014-07-31.
  9. 9.0 9.1 9.2 9.3 9.4 "हम सॉफ्टवेयर जोन हैं". Sisoftware.co.uk. Archived from the original on 2014-09-13. Retrieved 2014-07-31.
  10. "Samsung 960 Pro M.2 NVMe SSD Review". storagereview.com. Retrieved 2017-04-13.
  11. "अल्ट्रियम - एलटीओ प्रौद्योगिकी - अल्ट्रियम जेनरेशन एलटीओ". Lto.org. Archived from the original on 2011-07-27. Retrieved 2014-07-31.
  12. Pearson, Tony (2010). "नियरलाइन शब्द का सही प्रयोग". IBM Developerworks, Inside System Storage. Archived from the original on 2018-11-27. Retrieved 2015-08-16.