دائرة المقاطعة للنظام Programmable Interrupt Controller

بنيت دائرة المقاطعة حول الرقاقة INTEL 8259A Programmable Interrupt Controller. وكما سبق أن أشرنا فإن لهذه الدائرة ثماني مستويات من المقاطعة، فالمقاطعة هي أعلى مستويات المقاطعة أولوية بينما المقاطعة 7 هي أقلهم أولوية.

وفي الحاسب IBM PC-XT خصص المستويين الأعلى أولوية (1,0) لوظائف داخلية فمستوى المقاطعة خصص لوظيفة ساعة الوقت الحقيقية Real-Time Clock Function. وتم توصيله بالقناة لرقاقة التوقيت. بينما يستخدم مستوى المقاطعة 1 للوحة المفاتيح فهو ينشط كلما تم الضغط على أحد مفاتيح لوحة المفاتيح. خصصت باقي مستويات المقاطعة استخدام الـ1/0 بصفة عامة وذلك عن طريق لوحات التحكم Controller. عند تشغيل الحاسب بتوصيله بمصدر الكهرباء فإنه يتم برمجة رقاقة حاكم المقاطعة عن طريق برنامج التمهيد Initialization Program الموجود بذاكرة الـ BIOS ROM وتستجيب رقاقة حاكم المقاطعة لعناوين الـ 1/0 في المدى 20H-3FH ومع ذلك فهي لا تحتاج إلا لعنوانين متعاقبين وهما 2IH, 20H أما باقي العناوين حتى 3FH فهي غير مفكوكة الشفرة بشكل كلي Not Fully Decoded لذلك يجب إهمالها.

يمكن للمعالج الدقيق الوصول لرقاقة حاكم المقاطعة عندما تكون الإشارة INTR CS فعاله ومعها أيضاً إما الإشارة XIOR أو الإشارة XLOW كما موضح في شكل 23-5 تصدر إشارة الاختيار INTR CS من الطرف 14 بالرقاقة U66 والذي هو أحد مخارج فاكك الشفرة واحد من ثمانية كما هو مبين بشكل 22-5 يتصل الخط AO (الخط الأدنى أهميه من ناقلة العنوان) بالخط الخاص بالـ bit 0 ويستخدم هذا الخط لاختيار المسجلات الداخلية داخل رقاقة حاكم المقاطعة كما هو مبين بشكل 23-5.

PC hardware course in arabic-20131211064730-00021_03

يقوم حاكم المقاطعة برفع منطق الخط INT للمعالج الدقيق عندما تحدث مقاطعة على أي خط من الخطوط IRQ0-IRQ1 وعندما بعترف المعالج الدقيق بالمقاطعة لعلامة المقاطعة Interruption Flag فإنه يشير بذلك لحاكم الناقلة Bus Controller الرقاقة U6 عن طريق جعل الأطراف S2, S1, S0 فعالة (منطق منخفض) فتولد الرقاقة U6 تبعاً لذلك الإشارة INTA يؤدي المعالج الدقيق هذا مرتين، بحيث في المرة الثانية يتم الاعتراف بالمقاطعة فتدفع رقاقة حاكم المقاطعة الإشارة الخارجة SP/EN أن تصبح فعالة (منطق منخفض) هذا مما يجعل الطرف 12 للرقاقة U84 أن تصبح (منطق عالي) ويتسبب هذا في إطفاء (حالة المعاقة العالية) رقاقة المرسل/المستقبل U8 وبالتالي تتحرر ناقلة البيانات من المعالج الدقيق. عندئذ تضع رقاقة حاكم المقاطعة موجه المقاطعة Interrupt Vector على ناقلة بيانات المعالج الدقيق كما هو موضح بشكل 23-5 ثم يقرأ المعالج الدقيق هذا الموجه ليستخدمه في تكوين عنوان روتين خدمة المقاطعة المعنى. وبالطبع يجب أن لا ننسى أن دخل المقاطعة للمعالج 8088 قابل للتقنيع بواسطة المعالج نفسه. فإذا كان bit القناع الذي يسمى IF منطقة "0" (Clared). فإن المعالج سوف يهمل المقاطعة حتى يتم جعل منطق هذا الـ Pit واحد بواسطة الـ Software.

يقبل المعالج الدقيق 8088 أيضاً مقاطعات الـ Software وهي المقاطعات التي تتولد بواسطة برامج الـ Software بدلاً من أجهزة الـ Hardware يسمح برنامج الـ BIOS بنطاق واسع من استخدامات هذا النوع من المقاطعات (مقاطعات الـ Software) حيث أن جميع استدعاءات الـ BIOS تتم عن طريق مقاطعات الـSoftware.

هناك مقاطعة hardware إضافية للمعالج هي NMI وهي مخصصة للكشف عن الخطأ Error Detection وهي ليست لاستخدام الـ 1/0 العمومية. للمقاطعة NMI الأولوية القصوى في الاستجابة فهي غير مقنعة داخل المعالج. ولكن هذه المقاطعة تم تقنيعها عن المعالج خارجه بواسطة القلاب U96 والبوابة U97 يتصل خط المسح (Clear) الذي هو الطرف 13 للرقاقة U96 بخط إعادة الوضع الرئيسي (Reset) من خلال العاكس U51 (الطرف2) تقوم هذه الإشارة بمسح قلاب قناع NMI (الرقاقة U96 الطرف 9) عند توصيل مصدر القدرة. يتصل طرف الدخل D للقلاب (الطرف 12) بالـ bit XD7 لناقلة بيانات الـ 1/0 الداخلية. يتصل دخل الساعة للقلاب (الطرف 11 بالرقاقة U96) بالإشارة WRT NMI REG التي تصدر من الإشارة XIOW والعنوان 0A0H.

ويمكننا الآن أن نرى أن أي كتابه لعنوان الـ "0A0H" مع بقاء حالة الـ Data bit 7 (عالي) سوف تسبب وضع (set) القلاب NMI Mask والذي بدورة سوف يسمح بتنشيط الإشارة NMI المتصلة بالطرف رقم 17 بالمعالج الدقيق والذي يمسى أيضاً NMI وبالتالي إذا كتبنا العنوان 0A0H مع بقاء حالة Data bit 7 (منخفض) بهذا نكون مسحنا القلاب وقمنا بتقنيع أي إشارة NMI نتيجة لانخفاض الطرف 2 بالرقاقة U97 تصدر إشارة المقاطعة من ثلاث مصادر مختلفة وهي كما يلي:

1- دائرة مطابقة الذاكرة Memory Parity Circuit، وهي تصدر إشارة PCK إلى طرف 10 بالرقاقة U84.

2- تضع (SET) إشارة خطأ قناة الـ 1/0 الخارجية قلاب اختبار الخطأ لقناة الـ 1/0 (الرقاقة U52-الطرف 11)، ولكن هذا فقط إذا تم التمكين عن طريق الـ Software هذا لأن طرف الدخل الباقي للقلاب SR (الرقاقة U52) وهو الطرف 9 موصل بمنفذ 1/0 داخلي بالرقاقة U36 من خلال العاكس U51 (الطرف 10).

3- يولد المعالج المساعد Coprocessor إشارة NMI إذا وجدت حالة خطأ. هذه الإشارة قابلة للتقنيع بواسطة البوابة U81 ومفتاح متصل بالطرف 12 لهذه البوابة. إذا لم يكن المعالج المساعد 8087 غير مركب على النظام فإن هذا المفتاح سيكون مغلق وبالتالي سيوصل الدخل بالأرض ويمنع مقاطعه الخطأ ويتضح هذا في شكل 23-5.

تعليقات

المشاركات الشائعة من هذه المدونة

الشاشة الإفتتاحية لإكسل

أوامر الجافا سكريبت JavaScript

مسائل علي الترانزستورات MOSFET