الفرق بين المقاطعة المخفية وغير المخفية Maskable vs. Non Maskable Interrupt

اقرأ في هذا المقال


المقاطعة (interrupt) هي حدث ناتج عن مكون آخر غير وحدة المعالجة المركزية، يشير إلى وحدة المعالجة المركزية لحدث خارجي يتطلب اهتمامًا فوريًا، تحدث المقاطعات بشكل غير متزامن (asynchronously)، المقاطعات المخفية (Maskable) وغير المخفية (non-maskable) هما نوعان من المقاطعات، يتمثل الاختلاف الرئيسي بين المقاطعة المخفية وغير المخفية في أنّ وحدة المعالجة المركزية يمكنها إمّا تعطيل أو تجاهل المقاطعة المخفية، ولكن لا يمكن تعطيل أو تجاهل المقاطعة غير المخفية من خلال تعليمات وحدة المعالجة المركزية.

تعريف المقاطعة المخفية Maskable Interrupt

المقاطعة التي يمكن تعطيلها أو تجاهلها من خلال تعليمات وحدة المعالجة المركزية تسمّى “مقاطعة مخفية” أو “مقاطعة قابلة للإخفاء”، وهي نوعان: إمّا المقاطعات يتم تشغيلها من خلال الحافة (edge-triggered) أو يتم تشغيلها على المستوى (level-triggered).

المقاطعات القابلة للإخفاء هي المقاطعات التي يمكن للمعالج رفضها، لذلك، تساعد هذه المقاطعات في إدارة المهام ذات الأولوية المنخفضة (low priority)، علاوةً على ذلك، تعد (RST6.5 وRST7.5 وRST5.5) في العالج الدقيق (8085) بعض الأمثلة الشائعة للمقاطعات القابلة للإخفاء.

تعريف المقاطعة غير المخفية Non-Maskable Interrupt

المقاطعة التي لا يمكن تعطيلها أو تجاهلها من خلال تعليمات وحدة المعالجة المركزية تسمّى “مقاطعة غير مخفية” أو “مقاطعة غير قابلة للإخفاء” (Non-Maskable)، غالبًا ما يتم استخدام المقاطعة غير القابلة للإخفاء عندما يكون وقت الاستجابة حرجًا (critical)، أو عندما لا يتم تعطيل المقاطعة أثناء التشغيل العادي للنظام، تشمل هذه الاستخدامات الإبلاغ عن أخطاء الأجهزة غير القابلة للاسترداد، وتصحيح أخطاء النظام وتحديد السمات والتعامل مع حالات الأنواع مثل عمليات إعادة تعيين النظام، مثال عليها: (Trap) في المعالج الدقيق (8085).

المقاطعة غير القابلة للإخفاء (NMI) هي مقاطعة لا يمكن لوحدة المعالجة المركزية تجاهلها، عادةً، يشير ذلك إلى خطأ في الجهاز غير القابل للاسترداد، تساعد المقاطعات غير القابلة للإخفاء عندما يكون وقت الاستجابة حرجًا أو عندما لا يكون من الممكن تعطيل عمليات النظام العادية.

الفرق بين المقاطعة المخفية وغير المخفية

المقاطعة المخفية هي مقاطعة الأجهزة التي قد يتم تجاهلها عن طريق تعيين بت (bit) في قناع بت (bit-mask) في سجل إخفاء المقاطعة (interrupt mask register) (IMR)، في المقابل، المقاطعة غير القابلة للإخفاء هي مقاطعة الأجهزة التي تفتقر إلى قناع بت مرتبط، بحيث لا يمكن تجاهلها أبدًا، وبالتالي، هذا هو الفرق الرئيسي بين المقاطعة القابلة للإخفاء وغير القابلة للإخفاء.

علاوةً على ذلك، تساعد المقاطعات القابلة للإخفاء على التعامل مع المهام ذات الأولوية الأقل، بينما تساعد المقاطعات غير القابلة للإخفاء على التعامل مع المهام ذات الأولوية الأعلى مثل أجهزة ضبط الوقت (watchdog timers)، ومن ثمّ، يعد هذا فرقًا آخر بين المقاطعات القابلة للإخفاء وغير القابلة للإخفاء.

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

جدول المقارنة بين المقاطعة المخفية وغير المخفية

المقاطعة المخفية (Maskable Interrupt)المقاطعة غير المخفية (Non Maskable Interrupt)
المقاطعة القابلة للإخفاء هي مقاطعة للأجهزة يمكن تعطيلها أو تجاهلها بواسطة تعليمات وحدة المعالجة المركزية.المقاطعة غير القابلة للإخفاء هي مقاطعة للأجهزة لا يمكن تعطيلها أو تجاهلها من خلال تعليمات وحدة المعالجة المركزية.
عند حدوث مقاطعة قابلة للإخفاء، يمكن معالجتها بعد تنفيذ التعليمات الحالية.عند حدوث مقاطعات غير قابلة للإخفاء، يتم تخزين التعليمات الحالية والحالة في مكدس حتى تتمكن وحدة المعالجة المركزية من التعامل مع المقاطعة.
تساعد المقاطعات القابلة للإخفاء على التعامل مع المهام ذات الأولوية الأقل.تساعد المقاطعة غير القابلة للإخفاء على معالجة المهام ذات الأولوية الأعلى مثل مؤقت المراقبة.
المقاطعات القابلة للإخفاء تستخدم للتفاعل مع الأجهزة الطرفية (peripheral device).المقاطعة غير القابلة للإخفاء المستخدمة لأغراض الطوارئ، مثل انقطاع التيار الكهربائي (power failure)، وكاشف الدخان (smoke detector )، وغيرها.
في المقاطعات القابلة للإخفاء، يكون وقت الاستجابة مرتفعًا.في المقاطعات غير القابلة للإخفاء، يكون وقت الاستجابة منخفضًا.
قد يكون متجهًا (vectored) أو غير متجه (non-vectored).كلها مقاطعات متجهة (vectored interrupts).
يمكن إخفاء العملية أو جعلها معلقة.لا يمكن إخفاء العملية أو جعلها معلقة.
(RST6.5 وRST7.5 وRST5.5) في المعالج الدقيق (8085) هي بعض الأمثلة الشائعة للمقاطعات القابلة للإخفاء.يعتبر “المصيدة” (Trap) في المعالج الدقيق (8085) مثالاً على المقاطعة غير القابلة للإخفاء.

شارك المقالة: