رقاقة حاكم المقاطعة (Interrupt Controller)
وتعتبر الرقاقة 8259A من الرقاقات التي يتم التحكم فيها عن طريق البرمجة Software وتستخدم هذه الرقاقة لربط المعالج 8088 بثماني إشارات مقاطعة. ولكن يمكن إضافة ثماني إشارات مقاطعة أخرى بالتتابع (Cascaded) عن طريق رقاقة 8259A إضافية وثماني إشارات مقاطعة أخرى بتوصيل رقاقة 8259A أخرى وهكذا بحد أقصى 64 إشارة مقاطعة.
تؤدي إشارة الرقاقة 8259A الوظائف الآتية:
1- Vcc (Pin 28) طرف تغذية +5 Vcc
2- GND (Pin 14) طرف تغذية (الأرض).
3- CS (Pin 1) هو طرف اختيار الرقاقة ويكون فعال عند منطق (منخفض) وتستخدم هذه الإشارة لتمكين الرقاقة 8259A.
4- WR (Pin 3) وهي إشارة الكتابة (إشارة دخل) وفعالة عند منطق (منخفض) وعندها يكون كل من الإشارتين CS, WR فعالاً في آن واحد فإنه يتم تمكين الرقاقة 8259A من قبول كلمات الأمر من المعالج الدقيق.
5- RD (Pin 3) وهي إشارة القراءة (إشارة دخل) وفعالة عند منطق (منخفض) وعندما يكون كل من الإشارتين CS, RD فعالاً في آن واحد فإنه يتم تمكين الرقاقة 8259A من إعطاء المعالج الدقيق معلومات الحالة Status Information على ناقلة البيانات.
6- CAS0 – CAS2 (Pin 12, 13, 15) هي خطوط توصيل التتالي وتأتي من ناقلة التحكم، وهي مخارج لرقاقة 8259A المتبوع (Master) ودخول لرقاقات 8259A التابعة (slave) وتستخدم هذه الخطوط في النظم المتعددة الرقاقات 8259A.
7- SP/EN (Pin 16) تسمى هذه الإشارة Slave Program Enable Buffer وهذا الطرف له وظيفتان الأولى خاصة بالإشارة EN وهي للتحكم في الوحدات الوسيطة المرسل/ المستقبل Buffer transceivers الوظيفة الثانية خاصة بالإشارة SP التي تعمل على تشغيل مجموعة رقاقات الـ 8259 بأسلوب التتالي.
8- INT (Pin 17) وهي إشارة طلب المقاطعة وفعالة عند منطق (عالي) وهي إشارة خرج ترسل لطلب المقاطعة من المعالج الدقيق.
9- IR0-IR1 (Pin 17) وهي إشارة طلب المقاطعة مرسله من أجهزة النظام لطلب المقاطعة وهي فعالة عند منطق (عالي) مع ملاحظة أن أولوية المقاطعة لطلب IR0 ثم IR1 ثم IR2 وبذلك فإن IR1 هي أقل أهمية في أولوية المقاطعة.
10- INTA (Pin 26) وهو طرف يتلقى الاعتراف بالمقاطعة Interrupt Acknowledge من المعالج الدقيق. وهذه الإشارة فعالة عند منطق (منخفض).
11- A0 (Pin 27) وهو خط عنوان يستخدم بمرافقة الإشارات RD.WR, CS لأخيار أحد كلمات الأمر المختلفة للرقاقة 8259A.
12- D1-D0 (Pins 4-11) وهي إشارات ناقلة البيانات الثنائية الاتجاه وتستخدم لنقل معلومات التحكم والحالة وتوجيه المقاطعة.
يشمل التكوين المعماري للرقاقة 8259A على ثماني بلوكات وظيفتهم الأساسية كما هو واضح في الشكل 4-35 تقوم الوحدات الوسيطة لناقلة البيانات Data Bus buffers بربط ناقلة البيانات العمومية بناقلة البيانات الداخلية للرقاقة 8259A يتم تمكين الوحدات الوسيطة الثلاثية الحالة والثنائية الاتجاه ذات الـ 8-pit بواسطة بلوك منطق القراءة/ الكتابة Read/Write Logic Block ويقوم بلوك منطق القراءة/الكتابة بتحديد الاتجاه والتوقيت ومصدر source أو مقصد destination البيانات المنقولة خلال بلوك الوحدات الوسيطة لناقلة البيانات.
تمثل الإشارات CS,A0, WR, RD إشارات دخل التحكم. يقوم مسجل طلب المقاطعة (IRR) Interrupt Request Register بتخزين حالة دخول طلبات المقاطعة. ويقوم مسجل تحت الخدمة Inservice Register (ISR) بتخزين مستوى المقاطعة (أي أحد المستويات من 0 إلى 7) التي تحت الخدمة. يحدد محلل الأولية Resolve (PR) Priority أي إشارات دخل المقاطعة الفعالة له الأهمية القصوى. يستخدم مسجل قناع المقاطعة interrupt mask (IMR) لتمكين أو عدم تمكين (تقنيع) دخول طلب المقاطعة كل على حدا. يستخدم بلوك منطق التحكم control logic block المعلومات المقدمة من المسجلات PR, ISR, IRR ليتحكم في المقاطعة أني في إشارة الخرج INT التي تطلب مقاطعه من المعالج الدقيق. أيضاً يتناول هذا البلوك إشارة الاعتراف بالمقاطعة INTA من المعالج الدقيق. يقوم بلوك وسيط التتالي/ المقارن buffer comparator بربط رقاقة 8259A المتبوع برقاقات 8259A التوابع خلال عملية التتالي Cascaded Operation..
مره أخرى نعود لمخطط مكونات اللوحة الأم PC-XT IBM شكل 4-4 سنجد في يمين وسط اللوحة الأم رقاقة طويلة نسبياً عن باقي الرقاقات تحمل الرقم الكودي 8237 وتسمى هذه الرقاقة حاكم الوصول المباشر للذاكرة أي DMA Controller وتعني كلمة Direct Memory Access DMA أي الوصول المباشر للذاكرة. وعملية الوصول المباشر للذاكرة هي عملية الكتابة أو القراءة في/ من الذاكرة مباشرة دون تدخل للمعالج الدقيق. فالرقاقة 8237 تعتبر معالج مساعد متخصص في مهمة واحدة هي الكتابة أو القراءة في/من الذاكرة. لذا فهذه الرقاقة تتميز بسرعة أدائها في هذه المهمة. وعادة تكون الحاجة لهذه العملية عند نسخ الملفات من ذاكرة الـ RAM إلى الاسطوانة الصلبة أو المرنة وكذلك عند تحميل ذاكرة الـ RAM بالبرامج الموجود على الاسطوانة الصلبة أو المرنة. كذلك عملية قراءة اسطوانات الليزر أيضاً لكي تتم بسرعة فإنها تتم بواسطة رقاقة حاكم الوصول المباشر للذاكرة. هذه العمليات التي تنحصر في قراءة أو كتابة الكتل الهائلة من المعلومات لو كانت تركت ليؤديها المعالج الدقيق نفسه كانت ستتم بصورة بطيئة علاوة على شغل المعالج بمهام غير معقدة لا تحتاج إلى مهارته الفائقة. فعند قيام الرقاقة 8237 حاكم الوصول المباشر للذاكرة بعملية كتابة مثلاً فإن هذه الرقاقة تصدر إشارة طلب DMA إلى المعالج الدقيق. يرد المعالج الدقيق إلى رقاقة حاكم الـ DMA بإشارة قبول الطلب عندها يكون قد سلم ناقلة البيانات وناقلة العنوان ونافقة التحكم لرقاقة حاكم الـDMA حتى تتمكن رقاقة الـ DMA من القيام بمهمتها وهي الكتابة في الذاكرة مثلاً.
من المخطط الصندوقي شكل 4-37 يمكن توضيح كيف يعمل حاكم الـ DMA (الرقاقة 8237).
عندما يحتاج جهاز 10 إلى عملية DMA، مثلا عملية نسخ ملفات من الذاكرة إلى الاسطوانة الصلبة أو العكس تحميل ملفات من الاسطوانة الصلبة في الذاكرة فإن جهاز الـ 10 (الاسطوانة الصلبة في هذه الحالة) يطلب عملية الـ DMA بأن يرسل له إشارة طلب (DREQ) DMA بعدها يطلب حاكم الـ DMA الناقلات الثلاثة (ناقلة البيانات وناقلة العنوان وناقلة التحكم) من المعالج وذلك بأن يرسل له إشارة طلب إمساك (HRQ) والإمساك معناه هنا أن المعالج يترك الناقلات ويمتنع عن استخدامها نظراً لاحتياج الـ DMA لهذه الناقلات بعدها يوافق المعالج على طلب الإمساك بأن يرسل إشارة موافقة على الإمساك (HLDA) إلى حاكم الـ DMA عندما يعرف حاكم الـ DMA أن الناقلات أصبحت الآن تحت تصرفه ويمكن أن يستخدمها في إجراء عملية الـ DMA، عندئذ يرسل إشارة موافقة على طلب الـ DMA إلى جهاز الـ 10 الذي طلب عملية الـ DMA (الاسطوانة الصلبة في هذا المثال) وتسمى هذه الإشارة DACK.
من هذه اللحظة تبدأ عملية الـ DMA التي يمكن أن تكون نسخ ملف من الذاكرة إلى الاسطوانة الصلبة أو تحميل ملف من الاسطوانة الصلبة إلى الذاكرة.
تعليقات
إرسال تعليق