نطاق نوع الذاكرة المسجل

سجلات نطاق نوع الذاكرة ( MTRRs ) هي مجموعة من سجلات التحكم في القدرات الإضافية للمعالج ، والتي تُمكّن برامج النظام من التحكم في كيفية تخزين عمليات الوصول إلى نطاقات الذاكرة بواسطة وحدة المعالجة المركزية (CPU) مؤقتًا . وتستخدم هذه السجلات مجموعة من السجلات الخاصة بالطراز القابلة للبرمجة (MSRs)، وهي سجلات خاصة توفرها معظم وحدات المعالجة المركزية الحديثة. وتشمل أوضاع الوصول الممكنة إلى نطاقات الذاكرة: عدم التخزين المؤقت، والكتابة المباشرة ، ودمج الكتابة ، وحماية الكتابة، والكتابة المؤجلة . في وضع الكتابة المؤجلة، تُكتب البيانات إلى ذاكرة التخزين المؤقت لوحدة المعالجة المركزية ، وتُعلّم ذاكرة التخزين المؤقت بأنها غير مُحدّثة، بحيث تُكتب محتوياتها إلى الذاكرة لاحقًا.

تتيح تقنية دمج عمليات الكتابة على ناقل البيانات تجميع عمليات الكتابة في عملية نقل أكبر قبل إرسالها عبر الناقل، مما يسمح بكتابة أكثر كفاءة لموارد النظام مثل ذاكرة بطاقة الرسومات . غالبًا ما يؤدي هذا إلى زيادة سرعة عمليات كتابة الصور عدة مرات، على حساب فقدان دلالات القراءة/الكتابة التسلسلية البسيطة للذاكرة العادية. تسمح بتات إضافية متوفرة في بعض معمارية الحاسوب ، مثل AMD64 ، بتظليل محتويات ذاكرة القراءة فقط (ذاكرة القراءة فقط الظلية)، وتكوين عمليات الإدخال /الإخراج المُرتبطة بالذاكرة .

معدلات نقل البيانات في معالجات x86-PC

في أنظمة بنية x86 المبكرة، وخاصة عندما كانت ذاكرة التخزين المؤقت يتم توفيرها بواسطة رقائق منفصلة خارج حزمة وحدة المعالجة المركزية، كانت هذه الوظيفة يتم التحكم فيها بواسطة مجموعة الشرائح وتكوينها من خلال إعدادات BIOS .

عندما نُقلت ذاكرة التخزين المؤقت للمعالج إلى داخل وحدة المعالجة المركزية، طبّقت وحدات المعالجة المركزية سجلات ذاكرة مؤقتة ثابتة النطاق (MTRRs) تغطي أول ميغابايت من الذاكرة، وذلك للتوافق مع ما توفره أنظمة BIOS لأجهزة الكمبيوتر الشخصية في ذلك الوقت. تُستخدم هذه السجلات للتحكم في سياسة التخزين المؤقت اللازمة للوصول إلى بطاقة الرسومات (VGA) وجميع عمليات الوصول الأخرى إلى الذاكرة التي تتم أثناء تشغيل النظام في الوضع الحقيقي . أما بالنسبة للذاكرة التي تتجاوز 1  ميغابايت، فتُوفر وحدات المعالجة المركزية عددًا من سجلات الذاكرة المؤقتة متغيرة النطاق ، والتي يمكن وضعها بحرية، بل ويمكن أن تتداخل. يمكن استخدام هذه السجلات لضبط سياسة التخزين المؤقت لذاكرة الرسومات ونطاقات الذاكرة الأخرى التي تستخدمها أجهزة PCI .

يختلف عدد نقاط MTRR:

The memory interface of AMD K8 CPUs supports "Extended fixed-range MTRR Type-Field Encodings" which allows one to specify whether accesses to certain address ranges are executed by accessing RAM through the Direct Connect Architecture or by executing memory-mapped I/O. This allows, for example, shadow RAM to be implemented by copying ROM contents into RAM.

Successor

Newer x86 CPUs support a more advanced technique called page attribute tables (PATs) that allow for per-page setting of these modes, instead of having a limited number of low-granularity registers to deal with modern memory sizes that can be as high as 64 GB even on a laptop, and several times that amount on a desktop system.

See also

References

  1. "The Linux Gamers' HOWTO". tldp.org. Retrieved 2009-10-03.
  • Details on how MTRRs work are described in the processor manuals from CPU vendors.