مقاطعة غير قابلة للإخفاء
في الحوسبة ، المقاطعة غير القابلة للإخفاء ( NMI ) هي مقاطعة أجهزة لا يمكن لتقنيات إخفاء المقاطعات القياسية في النظام تجاهلها. تحدث عادةً للإشارة إلى الانتباه لأخطاء الأجهزة غير القابلة للإصلاح . قد يتم إخفاء بعض مقاطعات NMI، ولكن فقط باستخدام طرق خاصة خاصة بمقاطعة NMI المعينة. فيما يتعلق بـ SPARC ، يمكن منع حدوث المقاطعة غير القابلة للإخفاء (NMI)، على الرغم من أنها تتمتع بأعلى أولوية بين المقاطعات، من خلال استخدام قناع المقاطعة. [1]
غالبًا ما يتم استخدام NMI عندما يكون وقت الاستجابة حرجًا أو عندما لا ينبغي تعطيل المقاطعة أبدًا أثناء التشغيل العادي للنظام. تتضمن مثل هذه الاستخدامات الإبلاغ عن أخطاء الأجهزة غير القابلة للإصلاح، وتصحيح أخطاء النظام وإنشاء ملف تعريف له، والتعامل مع الحالات الخاصة مثل إعادة تعيين النظام.
تستخدم هياكل الكمبيوتر الحديثة عادةً أنظمة NMI للتعامل مع الأخطاء غير القابلة للإصلاح والتي تحتاج إلى اهتمام فوري. لذلك، لا ينبغي إخفاء مثل هذه المقاطعات أثناء التشغيل العادي للنظام. تتضمن هذه الأخطاء أخطاء شرائح النظام الداخلية غير القابلة للإصلاح ، والفساد في ذاكرة النظام مثل أخطاء التكافؤ وتصحيح أخطاء الأخطاء (ECC) ، وفساد البيانات المكتشف على حافلات النظام والأجهزة الطرفية.
في بعض الأنظمة، يمكن لمستخدم الكمبيوتر تشغيل NMI من خلال واجهات تصحيح أخطاء الأجهزة والبرامج وأزرار إعادة تعيين النظام.
يستخدم المبرمجون عادةً أدوات NMI لتصحيح الأخطاء لتشخيص وإصلاح التعليمات البرمجية المعيبة. في مثل هذه الحالات، يمكن لأداة NMI تنفيذ معالج مقاطعة ينقل التحكم إلى برنامج مراقبة خاص. من هذا البرنامج، يمكن للمطور فحص ذاكرة الجهاز وفحص الحالة الداخلية للبرنامج في لحظة انقطاعه. يسمح هذا أيضًا بتصحيح أخطاء أو تشخيص أجهزة الكمبيوتر التي تبدو معطلة .
تاريخ
في البنيات القديمة، كانت تستخدم إشارات NMIs للمقاطعات التي لم تكن معطلة عادةً أبدًا بسبب وقت الاستجابة المطلوب. كانت عبارة عن إشارات مخفية. تشمل الأمثلة وحدة تحكم القرص المرن على Amstrad PCW ، ومعالج 8087 المساعد على x86 عند استخدامه في IBM PC أو الأجهزة المتوافقة معه (على الرغم من أن Intel أوصت بتوصيله بمقاطعة عادية [2] )، وإشارة البطارية المنخفضة على HP 95LX .
في جهاز IBM PC الأصلي ، كان يتم تشغيل NMI إذا تم اكتشاف خطأ في التكافؤ في ذاكرة النظام، أو تم الإبلاغ عنه بواسطة جهاز خارجي. في كلتا الحالتين، كان الكمبيوتر يعرض رسالة خطأ ويتوقف. استخدمت بعض أجهزة الكمبيوتر المتوافقة مع IBM لاحقًا NMI لإخفاء الاختلافات في الأجهزة عن تلك الموجودة في جهاز IBM PC الأصلي. على مثل هذه الأجهزة، يتم إنشاء NMI عندما يحاول برنامج الوصول إلى أجهزة غير متوافقة. ثم يقوم معالج مقاطعة BIOS بترجمة طلب البرنامج لمطابقة الأجهزة الموجودة بالفعل. يعد SMM في 386SL طريقة أفضل للقيام بذلك.
استخدمت بعض أجهزة الكمبيوتر المنزلية ذات 8 بت خط NMI للسماح بـ "بداية دافئة" إذا كان النظام قد توقف. عادةً، من شأن هذا استعادة سجلات التحكم إلى قيم جيدة معروفة مخزنة في ROM ، دون تدمير أي بيانات قد يكون المستخدم قد قام بتحميلها حاليًا. على أجهزة Commodore ذات 8 بت، تم توصيل مفتاح RESTORE بشكل مباشر أو غير مباشر بخط NMI على وحدة المعالجة المركزية من سلسلة 6502 ، ولكن إعادة الضبط ستتم فقط إذا اكتشف روتين معالج NMI في ROM أن RUN/STOP كان يتم الضغط عليه أيضًا عند الضغط على RESTORE (هذه التركيبة هي إصدار Commodore من التحية بثلاثة أصابع ). كما قامت Commodore بتوصيل MOS Technology 6526 CIA #2 في C64 و C128 بخط NMI للمعالج، والذي كان جزءًا من الوسائل التي تم بها إنجاز محاكاة برمجية لـ 6551 ACIA . استخدم خط 8 بت من Atari زر إعادة تعيين النظام لنفس الغرض.
ظهرت أدوات تصحيح أخطاء NMI في عدد من الأشكال، بما في ذلك "زر المبرمجين" في أجهزة Apple Macintosh ، وبعض مجموعات المفاتيح على محطات عمل Sun. مع تقديم Windows 2000 ، سمحت Microsoft باستخدام أداة تصحيح أخطاء NMI للتسبب في اقتحام النظام لبرنامج تصحيح الأخطاء ، أو تفريغ محتويات الذاكرة على القرص وإعادة التشغيل. [3]
كما تم استخدام تصحيح أخطاء NMIs بواسطة الأجهزة التي تسمح لمستخدمي الترفيه واللاعبين بالتلاعب بالبرامج الجارية. كانت الأجهزة التي أضافت زرًا لتوليد NMI، مثل جهاز Romantic Robot's Multiface ، من الملحقات الشائعة لأجهزة الكمبيوتر المنزلية ذات 8 بت و16 بت في الثمانينيات. كانت هذه الأجهزة الطرفية تحتوي على كمية صغيرة من ROM وزر NMI. يؤدي الضغط على الزر إلى نقل التحكم إلى البرنامج الموجود في ROM الخاص بالجهاز الطرفي، مما يسمح بحفظ البرنامج المعلق على القرص (مفيد جدًا للألعاب القائمة على الشريط بدون دعم القرص، ولكن أيضًا لحفظ الألعاب قيد التقدم)، أو حفظ لقطات الشاشة أو طباعتها، أو التلاعب بالقيم الموجودة في الذاكرة - وهي تقنية غش للحصول على حياة إضافية، على سبيل المثال.
لا توفر جميع أجهزة الكمبيوتر آلية لتشغيل NMIs؛ ومع ذلك، توفر العديد من الأجهزة (عادةً خوادم مثبتة على الرفوف ) زرًا ماديًا خصيصًا لهذا الغرض. قد تعرض أجهزة أخرى هذه الوظيفة عبر بطاقة توسيع. [4]
تتميز منتجات DISCiPLE و +D من Miles Gordon Technology المخصصة لجهاز ZX Spectrum بوجود "زر سحري" ينتج NMI.
في نظام Nintendo Entertainment System ، يتم إنشاء NMI أثناء كل فترة مسح رأسي . ولأن هذه المقاطعات NMI (والتي يشار إليها غالبًا باسم "مقاطعات vblank") تحدث على فترات منتظمة ومتكررة، فإن التعليمات البرمجية التي تتلاعب برسوميات اللعبة والصوت غالبًا ما يتم تنفيذها داخل روتين معالج NMI. يؤدي مسح البت السابع من سجل $2000 الخاص بوحدة معالجة الرسومات إلى تعطيل المقاطعات vblank، وضبطه يعمل على تمكينها.
انظر أيضا
- وحدة التحكم المتقدمة في المقاطعة القابلة للبرمجة (APIC)
- مقاطعة بين المعالجات (IPI)
- مقاطعة
- معالج المقاطعة
- مقاطعة زمن الوصول
- وحدة التحكم في المقاطعة القابلة للبرمجة (PIC)
ملحوظات
- ^ "مستويات المقاطعة" . تم الاسترجاع في 2023-11-30 .
- ^ "8.7.2: وضع فرعي لتوافق MS-DOS*". دليل مطوري برامج معماريات Intel® 64 وIA-32. المجلد 1. شركة Intel Corporation . يونيو 2013. ص 8-31.
- ^ "كيفية إنشاء ملف تفريغ تعطل كامل أو ملف تفريغ تعطل نواة باستخدام NMI على نظام قائم على Windows". Microsoft . 2011-06-08 . تم الاسترجاع في 2013-08-31 .
- ^ "بطاقة تبديل PCI Dump". Connect Tech Inc. تم الاسترجاع في 2013-08-31 .
روابط خارجية
- "دعم Dump Switch لنظام Windows". شبكة مطوري Microsoft . 2001-12-04. مؤرشف من الأصل في 2012-10-26 . تم الاسترجاع في 2013-08-31 .
- "تهيئة وضع CGA CRTC". دليل Amstrad PPC الفني . seasip.info . تم الاسترجاع في 2013-08-31 .
