سجل خاص بالنموذج
السجل الخاص بالنموذج ( MSR ) هو أي من سجلات التحكم المختلفة في بنية نظام x86 المستخدمة لتصحيح الأخطاء وتتبع تنفيذ البرنامج ومراقبة الأداء وتبديل ميزات وحدة المعالجة المركزية معينة.
تاريخ
مع طرح معالج 80386 ، بدأت إنتل بإضافة ميزات "تجريبية" لم تكن بالضرورة موجودة في الإصدارات اللاحقة من المعالج. أول هذه الميزات كان سجلين "للاختبار" (TR6 وTR7) مكّنا من اختبار مخزن الترجمة المؤقت (TLB) الخاص بالمعالج؛ حيث سمحت نسخة خاصة من تعليمة MOV بالانتقال من وإلى سجلات الاختبار. [ 1 ] تبع ذلك ثلاثة سجلات اختبار إضافية في معالج 80486 (TR3-TR5) مكّنت من اختبار ذاكرة التخزين المؤقت للمعالج للتعليمات والبيانات. [ 2 ] لم يتم تطبيق أي من هذه السجلات الخمسة في معالج بنتيوم اللاحق؛ إذ أدت النسخة الخاصة من تعليمة MOV إلى ظهور استثناء رمز عملية غير صالح . [ 3 ] [ 4 ]
مع طرح معالج بنتيوم ، وفرت إنتل زوجًا من التعليمات ( RDMSR و WRMSR ) للوصول إلى "السجلات الخاصة بالطراز" الحالية والمستقبلية، بالإضافة إلى تعليمة CPUID لتحديد الميزات الموجودة في طراز معين. وقد أثبتت العديد من هذه السجلات فائدتها الكافية للاحتفاظ بها. صنفت إنتل هذه السجلات على أنها سجلات خاصة بالطراز المعماري والتزمت بإدراجها في خطوط الإنتاج المستقبلية. [ 5 ]
في الأنظمة الحديثة القائمة على x86، يقوم BIOS أو البرامج الثابتة UEFI بتهيئة سجلات CPUID والسجلات الخاصة بالطراز عند كل بدء تشغيل للنظام.
في بنية AArch64 ، يوجد نفس المفهوم، ويسمى سجلات النظام. [ 6 ]
استخدام MSRs
تتم معالجة عمليات القراءة والكتابة في هذه السجلات بواسطة التعليمات ` rdmsrand` و`or` wrmsrعلى التوالي. ولأنها تعليمات ذات امتيازات خاصة ، فلا يمكن تنفيذها إلا بواسطة نظام التشغيل. يؤدي استخدام وحدة نواة Linux msr إلى إنشاء ملف وهمي "/dev/cpu/ x /msr" (حيث يمثل x قيمة فريدة لكل معالج أو نواة معالج). يمكن للمستخدم الذي لديه صلاحيات القراءة و/أو الكتابة إلى هذا الملف استخدام واجهة برمجة تطبيقات إدخال/إخراج الملفات للوصول إلى هذه السجلات. توفر حزمة msr-tools [ 7 ] تطبيقًا مرجعيًا.
عادةً ما توجد وثائق توضح أنواع سجلات الذاكرة (MSRs) التي يدعمها معالج معين في وثائق المعالج الخاصة بالشركة المصنعة لوحدة المعالجة المركزية. ومن الأمثلة على سجلات الذاكرة المعروفة سجلات نطاق نوع الذاكرة (MTRRs) وسجلات نطاق العناوين (ARRs).
انظر أيضاً
مراجع
- ↑ "10.6.2 سجلات الاختبار". دليل مبرمج 80386 (ملف PDF) . إنتل . 1986.
- ↑ "10.6.2 سجلات الاختبار". دليل مبرمج معالج i486 (ملف PDF) . إنتل . 1990.
- ↑ "23.2.12 سجلات الاختبار". دليل مستخدم معالج بنتيوم، المجلد 3: دليل البنية والبرمجة (PDF) . إنتل . 1993.
- ↑ آلان كروز. "سجلات خاصة بالنموذج" (عرض تقديمي) . ملاحظات المحاضرة، فصل برمجة الحواسيب الصغيرة المتقدمة، جامعة سان فرانسيسكو، 2006 .
- ↑ "2.1 سجلات MSRS المعمارية". دليل مطوري البرامج لبنيتي Intel 64 و IA-32، المجلد 4: سجلات خاصة بالنموذج . Intel . مايو 2020.
- ↑ "MSR (سجل)" . دليل مستخدم مُصرّف ARM armasm الإصدار 6.6 . تم الاطلاع عليه بتاريخ 15-06-2026 .
- ↑ msr-tools at 01.org
روابط خارجية
- تم شرح سجلات Intel الخاصة بالنماذج (MSRs) بالتفصيل في دليل مطوري البرامج الخاص بهندسة Intel® 64 و IA-32، المجلد 4؛ رابط صفحة تنزيل أدلة Intel المرجعية (ملفات PDF) (والتي تتضمن المجلد 4):
- السجلات الرقمية
- معالجة التعليمات
- معمارية X86
- تعليمات X86
