मेमोरी टाइप रेंज रजिस्टर

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

राइट-कॉम्बिनेशन बस राइट ट्रांसफर को ग्राफिक्स कार्ड मेमोरी जैसे सिस्टम संसाधनों पर अधिक कुशल लिखने की अनुमति देने के लिए उन्हें बस पर बर्स्ट मोड से पहले एक बड़े ट्रांसफर में संयोजित करने की अनुमति देता है। यह अक्सर सामान्य मेमोरी के सरल अनुक्रमिक लिखने के शब्दार्थ को खोने पर, छवि लेखन संचालन की गति को कई गुना बढ़ा देता है। अतिरिक्त बिट्स जो कुछ कंप्यूटर आर्किटेक्चर पर प्रदान किए जाते हैं, जैसे कि AMD64, सिस्टम मेमोरी में ROM सामग्री की छायांकन और मेमोरी-मैप किए गए I/O के कॉन्फ़िगरेशन की अनुमति देते हैं।

x86-PC प्रोसेसर में MTRR
प्रारंभिक x86 आर्किटेक्चर सिस्टम में, विशेष रूप से जहां कैश CPU पैकेज के बाहर अलग चिप्स द्वारा प्रदान किया गया था, इस फ़ंक्शन को चिपसेट द्वारा नियंत्रित किया गया था और BIOS सेटिंग्स के माध्यम से कॉन्फ़िगर किया गया था।

जब CPU कैश को CPU के अंदर लाया गया, तो CPU ने निश्चित-रेंज MTRR लागू किया, जो उस समय PC-BIOS द्वारा प्रदान की गई मेमोरी के अनुकूल होने के लिए मेमोरी की पहली मेगाबाइट को कवर करता था। इनका उपयोग वीजीए एक्सेस और सिस्टम के वास्तविक मोड में होने पर की गई अन्य सभी मेमोरी-एक्सेस के लिए आवश्यक कैश नीति को नियंत्रित करने के लिए किया जाता है। 1 MB से ऊपर, CPU कई वैरिएबल-रेंज MTRR प्रदान करते हैं, जिन्हें स्वतंत्र रूप से रखा जा सकता है और ओवरलैप भी किया जा सकता है। इन वेरिएबल-रेंज MTRR का उपयोग ग्राफिक्स मेमोरी और पेरिफ़ेरल कंपोनेंट इंटरकनेक्ट (PCI) डिवाइस द्वारा उपयोग की जाने वाली अन्य मेमोरी रेंज की कैशिंग नीति को सेट करने के लिए किया जा सकता है।

प्रोसेसर के इंटेल P6 फैमिली से शुरू करके, मेमोरी रेंज तक प्रोसेसर की पहुंच को नियंत्रित करने के लिए MTRR का उपयोग किया जा सकता है।

साइरिक्स 6x86, 6x86MX और MII प्रोसेसर में एड्रेस रेंज रजिस्टर हैं जो MTRR के समान कार्यक्षमता प्रदान करते हैं।

AMD K6-2 और K6-III प्रोसेसर में 2 MTRR हैं। AMD एथलॉन फैमिली 8 इंटेल-शैली MTRR प्रदान करता है।

सेंटर C6 विनचिप में 8 MCR हैं, जो लेखन-संयोजन की अनुमति देते हैं।

VIA साइरिक्स III और VIA C3 CPU 8 इंटेल-शैली MTRRs प्रदान करते हैं।

AMD K8 CPU का मेमोरी इंटरफ़ेस "विस्तारित फिक्स्ड-रेंज MTRR टाइप-फील्ड एनकोडिंग" का समर्थन करता है जो किसी को यह निर्दिष्ट करने की अनुमति देता है कि डायरेक्ट कनेक्ट आर्किटेक्चर के माध्यम से रैंडम एक्सेस मेमोरी (RAM) तक पहुंच करके या मेमोरी-मैप्ड I/O निष्पादित करके कुछ एड्रेस रेंज तक पहुंच निष्पादित की जाती है या नहीं की जाती है। यह, उदाहरण के लिए, ROM सामग्री को RAM में कॉपी करके RAM को कार्यान्वित करने की अनुमति देता है।

उत्तराधिकारी
नए x86 CPU एक अधिक उन्नत तकनीक का समर्थन करते हैं, जिसे पेज एट्रिब्यूट टेबल (PAT) कहा जाता है, जो आधुनिक मेमोरी आकारों से निपटने के लिए सीमित संख्या में कम ग्रैन्युलैरिटी रजिस्टरों के बजाय इन मोड्स की प्रति-पेज सेटिंग की अनुमति देता है जो 64 तक हो सकते हैं। लैपटॉप पर भी गीगाबाइट (GB), और डेस्कटॉप सिस्टम पर यह राशि कई गुना अधिक होती है।

MTRR कैसे काम करते हैं इसका विवरण CPU विक्रेताओं के प्रोसेसर मैनुअल में वर्णित है।

यह भी देखें

 * ऐड्रेस-रेंज रजिस्टर
 * पृष्ठ विशेषता तालिका (PAT)
 * राइट बैरियर

बाहरी संबंध

 * Speeding up graphics with MTRR includes explanation
 * AMD64 Architecture Programmer's Manual Volume 2: System Programming (PDF)
 * Intel 64 and IA-32 Architectures Software Developer's Manuals See Intel 64 and IA-32 Architectures Software Developer's Manual Volume 3A: System Programming Guide section 11.11 MEMORY TYPE RANGE REGISTERS (MTRRS)
 * MTRRLFBE utility for DOS by RayeR - it can set caching modes for VGA and LFB memory range to significantly boost performance of DOS graphics apps. On modern Core 2 Duo PC with PCI-E VGA it can be 10-times faster when write combining is set.
 * MTRR (Memory Type Range Register) control by Richard Gooch