سجل الاختبار
في معالجات إنتل 80386 وإنتل 80486 ، كان سجل الاختبار عبارة عن سجل يستخدمه المعالج، عادةً لإجراء اختبار ذاتي. كانت معظم هذه السجلات غير موثقة، وتستخدمها برامج متخصصة. سُميت سجلات الاختبار من TR3 إلى TR7 . لا تتطلب البرامج العادية عادةً هذه السجلات للعمل. مع معالج بنتيوم ، استُبدلت سجلات الاختبار بمجموعة متنوعة من السجلات الخاصة بكل طراز (MSRs). [ 1 ]
في معالج 80386، تم توفير سجلين للاختبار، TR6 و TR7 ، لاختبار ذاكرة الترجمة السريعة (TLB) . كان TR6 سجل أوامر الاختبار، وTR7 سجل بيانات الاختبار. أما معالج 80486، فقد وفر ثلاثة سجلات إضافية، TR3 و TR4 و TR5 ، لاختبار ذاكرة التخزين المؤقت من المستوى الأول (L1). كان TR3 سجل بيانات، وTR4 سجل عناوين، وTR5 سجل أوامر. يتم الوصول إلى هذه السجلات بواسطة متغيرات تعليمة MOV . قد يكون سجل الاختبار إما معامل المصدر أو معامل الوجهة. تُعرَّف تعليمات MOV في كل من وضع العنوان الحقيقي والوضع المحمي . تُعد سجلات الاختبار موارد ذات امتيازات. في الوضع المحمي، لا يمكن تنفيذ تعليمات MOV التي تصل إليها إلا عند مستوى الامتياز 0. أي محاولة لقراءة أو كتابة سجلات الاختبار عند التنفيذ عند أي مستوى امتياز آخر تتسبب في استثناء حماية عام. كما تُولِّد هذه التعليمات استثناء رمز العملية غير الصالح على معظم وحدات المعالجة المركزية الأحدث من 80486.
تُشفّر هذه التعليمات بطريقتين، حسب تدفق البيانات. يُشفّر نقل البيانات من مسجل للأغراض العامة إلى مسجل اختبار على النحو التالي 0F 26 /r(حيث r/mيمثل GPR، regويمثل مسجل الاختبار). أما نقل البيانات في الاتجاه المعاكس (أي من مسجل الاختبار إلى مسجل للأغراض العامة) فيُشفّر على النحو التالي 0F 24 /r(حيث r/mيمثل GPR، regويمثل مسجل الاختبار). [ 2 ] لا تُدعم إلا عمليات النقل بين المسجلات، ولذلك، يجب ضبط حقل "mod" (أعلى بتين) في بايت ModR/M الخاص بالتعليمات على 11b. (يؤدي ضبط حقل "mod" في بايت ModR/M على أي قيمة أخرى غير 11bإلى سلوك غير محدد، مع اختلاف السلوك المُلاحظ على المعالجات المختلفة. [ 3 ] )
تم دعم سجلات الاختبار و/أو رموز العمليات المرتبطة بها في معالجات x86 التالية :
| المعالجات | غير متوفر | سجلات اختبار ذاكرة التخزين المؤقت | سجلات اختبار TLB | |||||
|---|---|---|---|---|---|---|---|---|
| TR0 | TR1 | TR2 | TR3 | TR4 | TR5 | TR6 | TR7 | |
| معالج Intel 386 (جميع الطرازات) | لا | لا | undoc [ a ] | نعم | ||||
| إنتل 486 (جميع الطرازات) | لا | نعم | نعم | |||||
| AMD 386 (جميع الطرازات) AMD Élan SC3xx | لا | لا | ؟ | نعم [ 5 ] | ||||
| AMD 486 (جميع الطرازات) AMD 5x86 AMD Élan SC4xx,SC5xx | لا | نعم [ 6 ] | نعم | |||||
| IBM 386SLC IBM BL486SLC2/SX2/SX3 | لا | نعم [ 7 ] | نعم | |||||
| سي آند تي سوبر 386 | لا | لا | نعم [ 8 ] | |||||
| نيكست جين إن إكس 586 | لا | لا | نعم [ 9 ] | |||||
| Cyrix [ b ] 486 (جميع الطرازات [ c ] ) | لا | نعم [ 11 ] | نعم | |||||
| Cyrix 5x86 | لا | غير موثق [ 12 ] | نعم | نعم | ||||
| Cyrix 6x86 | لا | غير موثق [ د ] | نعم | نعم (VSPM) [ هـ ] | ||||
| Cyrix 6x86MX, MII | لا | غير موثق [ 12 ] | نعم (مفكرة) [ f ] | نعم | ||||
| عبر سيريكس الثالث [ ز ] | لا | ؟ | نعم (مفكرة) [ f ] | نعم | ||||
| Cyrix MediaGX NatSemi Geode GX | لا | ؟ | نعم [ 18 ] | نعم | ||||
| NatSemi Geode GX2 AMD Geode GX, LX | تُعرض سجلات TR0-TR7 كسجلات بيانات للقراءة/الكتابة 32 بت بدون أي وظيفة اختبار ذاكرة التخزين المؤقت/TLB. [ 19 ] | |||||||
| برنامج IDT WinChip (جميع الطرازات) | السجلات غير موجودة. يمكن تفعيل رموز عمليات MOV TRx باستخدام بت FCR.EMOVTR [ 20 ] الخاص بـ WinChip ، ولكنها ستعمل كـ NOPs. | |||||||
| معالج Intel Quark X1000 | لا | نعم [ 21 ] | نعم | |||||
- ↑ في معالج Intel 386، ورد أن سجلات TR4 وTR5 تعمل كسجلات قراءة فقط غير موثقة، وتعيد عنصر بيانات متعلق بجلب التعليمات المسبق. [ 4 ]
- ↑ كما دعمت نماذج وحدة المعالجة المركزية (CPU) الخاصة بشركاء التصنيع Cyrix من IBM و TI و ST نفس سجلات الاختبار مثل نماذج وحدة المعالجة المركزية (CPU) المقابلة لها والتي تحمل علامة Cyrix التجارية.
- ↑ كما دعمت أنظمة SoCs القائمة على نواة وحدة المعالجة المركزية ST486 المشتقة من Cyrix نفس مجموعة سجلات الاختبار مثل Cyrix 486 - وتشمل هذه الأنظمة على سبيل المثال STPC Atlas و ZFMicro ZFx86. [ 10 ]
- ↑ في معالج Cyrix 6x86، يمكن تفعيل سجلي TR1 وTR2 عن طريق ضبط البت 6 من سجل التكوين 30h الخاص بمعالج Cyrix. هذه السجلات غير موثقة، ولكن نشرت Cyrix مثالاً برمجياً يستخدمها. [ 13 ]
- ↑ في معالج Cyrix 6x86، كان بالإمكان استخدام المسجلين TR6 وTR7 ليس فقط لاختبار ذاكرة الترجمة السريعة (TLB)، بل أيضًا لتهيئة آلية الترحيل ذات الحجم المتغير (VSPM) الخاصة بالمعالج. [ 14 ] كانت آلية الترحيل ذات الحجم المتغير عبارة عن ذاكرة ترجمة سريعة برمجية ذات 4 مداخل [ 15 ] مع قناع لكل مدخل لدعم جميع أحجام الصفحات من مضاعفات العدد 2.لبايت. كان موجودًا في معالج Cyrix 6x86 فقط - تمت إزالته في معالجات 6x86MX والمعالجات اللاحقة.
- في معالجات 6x86MX وMII و"جوشوا" Cyrix III، يمكن استخدام سجلات TR3-TR5 ليس فقط لاختبار ذاكرة التخزين المؤقت L1، بل أيضًا لقفل أسطر ذاكرة التخزين المؤقت L1 الفردية على عناوين محددة لاستخدامها في ذاكرة التخزين المؤقت المؤقتة . [ 16 ] [ 17 ]
- ↑ نواة "جوشوا" فقط. لم تدعم إصدارات نواة "صموئيل" من Cyrix III سجلات اختبار TRx.
انظر أيضاً
مراجع
- ↑ Intel, Pentium® Processor Family Developer's Manual , order no. 241428-005, 1997, section 16.1.2, page 442 - provides a list of Pentium MSRs that provide the same functional like the 386/486 TRx registers.
- ↑ مقدمة عن معالج 80386، بما في ذلك ورقة بيانات معالج 80386. إنتل . أبريل 1986. ص 122.
- ↑ روبرت ل. هامل، مرجع المبرمج التقني لمجلة الكمبيوتر الشخصي ، 1992، رقم ISBN 1-56276-016-5، الصفحة 476.
- ↑ روبرت كولينز، نقل السجلات الخاصة ، مؤرشف في 5 يونيو 1997.
- ↑ AMD، كتاب بيانات المعالجات الدقيقة Am386 ، 1992، الصفحتان 21 و151
- ↑ دليل مستخدم برنامج المعالج الدقيق AMD، الإصدار 1، 1994، القسم 1.59، صفحة 82
- ↑ جون هـ. وارتون، كتاب X86 الكامل، المجلد 1 ، 1994. موارد مايكرو ديزاين ، رقم ISBN 1-885330-02-2، الصفحة 296.
- ↑ Chips and Technologies, Super386 DX Programmer's Reference Manual , pub.no. UG85, rev 1.0, 1992, page 201.
- ↑ NexGen، كتاب بيانات معالج Nx586™ ومعالج Nx587™ الرقمي ، 8 يوليو 1993، صفحة 116
- ↑ ZFMicro، كتاب بيانات ZFx86 الإصدار 1.0 المراجعة د ، 5 يونيو 2006، الصفحة 101
- ↑ Cyrix، ورقة بيانات المعالج الدقيق Cx486DLC ، رقم الطلب 94706-01، مايو 1992، القسم 2.3.2.6، صفحة 37
- ١ ٢ Sandpile، سجلات التحكم في تكوين IA32 ، انظر إلى بت BTB_TR في السجلين 20h و30h لمعرفة كيفية تفعيل سجلات TR1/TR2 غير الموثقة على Cyrix 5x86 و6x86 و6x86MX. مؤرشف من الأصل في 20 مايو 2011.
- ↑ Cyrix، دليل كتابة BIOS 6x86 ، المراجعة 4.1، 29 يوليو 1996، الصفحة 43.
- ↑ كتاب بيانات معالج Cyrix، رقم الطلب 94175-01، مارس 1996، القسم 2.6.5، صفحة 74
- ↑ أرشيف نواة لينكس، ردًا على: تصحيح Cyrix 6x86.. ، 4 نوفمبر 1996
- ↑ Cyrix، كتاب بيانات معالج 6x86MX ، رقم الطلب 94329-00، 15 يوليو 1997، القسم 2.13.1.1، الصفحة 87
- ↑ شركة VIA-Cyrix، كتاب بيانات معالج Cyrix III ، الإصدار 1.0، 25 يناير 2000، القسم 2.9.1.1، الصفحة 86
- ↑ Cyrix، كتاب بيانات معالج MediaGX ، الإصدار 2.0، 29 أكتوبر 1998، القسم 3.3.2.4، صفحة 59
- ↑ AMD، كتاب بيانات معالجات Geode™ LX ، رقم المنشور: 33234H، فبراير 2009، القسم 8.3.4.3، صفحة 648
- ↑ IDT، ورقة بيانات معالج WinChip C6 ، القسم أ.2، صفحة 79
- ↑ دليل مطوري Intel، رقم الطلب 329679-001، أكتوبر 2013، الملحق ب، الصفحة 296
- السجلات الرقمية
- معمارية X86
- بقايا الحواسيب الصغيرة
