الرقاقة 8253 (رقاقة التوقيت القابلة للبرمجة)chip 8253

PC hardware course in arabic-20131211063457-00035_03_thumb

PC hardware course in arabic-20131211063457-00035_07

ويمكن تقسيم هذه الرقاقة إلى ثلاث قطاعات. قطاع الدخل ويحتوى على وسيطات ناقلة البيانات ومنطق تحكم القراءة/الكتابة ومسجل كلمة التحكم Control word register. وقطاع الناقلة الداخلية ويستخدم لنقل البيانات وإشارات التحكم بين قطاع الدخل وقطاع الخرج. ثم قطاع الخرج ويتكون من ثلاث عدادات مستقلة تنازلية كل منها بطول 16-bit تؤدي خطوط الإشارات بالرقاقة 8253 الوظائف الآتية:

1- Vcc (Pin 24) طرف دخل التغذية +5 Vcc.

2- GND (Pin 12) طرف أرضى التغذية.

3- D1-D0 (Pins 1-8) هي إشارات ثنائية الاتجاه وثلاثية الحالة وهي التي تتصل بالوحدات الوسيطة لناقلة البيانات Data Buffers فيمكن إرسال أو استقبال البيانات من خلال الوحدات الوسيطة عن طريق أوامر المعالج الدقيق 8088، الأمر IN أو الأمر OUT وتستخدم هذه الإشارات لوضع أسلوب التشغيل للرقاقة 8253 وكذلك لوضع القيمة الابتدائية لعدادات الرقاقة وكذلك لقراءة البيانات من العدادات.

4- RD (Pin 22) وهي إشارة دخل القراءة وتكون فعالة عند منطق منخفض وتستخدم لإخبار 8253 بأن المعالج في حالة إدخال بيانات.

5- WR (Pin 23) وهي إشارة دخل الكتابة وتكون فعالة عند منطق منخفض وتستخدم لإخبار 8253 بأن المعالج في حالة إخراج بيانات.

6- A0/A1 (Pins 13, 20) تستخدم إشارات ناقلة العناوين هذه في اختيار أحد العدادات الثلاثة أو مسجل كلمة التحكم Control Word Register كما هو مبين بالجدول الأتي:

PC hardware course in arabic-20131211063519-00036_03

7- CS (Pin 21) هو خط اختيار الرقاقة ويكون فعال عند منطق منخفض وهو يقوم بتمكين قطاع منطق تحكم القراءة/الكتابة. أي يمكن إشارات الدخل A1,A0,WR,RD

8- CLK0, CLK1, CLK2 (Pins 9, 15, 18) وهي إشارات دخل الساعة للعدادات.

9- OUT0, OUT1, OUT2 (Pins 10, 13, 17) وهي إشارات خرج العدادات.

10- GATE0, GATE1, GATE, (Pins 11, 14, 16) وهي إشارات داخل تمكين العدادات وهي فعالة عند منطق عالي.

يستخدم مسجل كلمة التحكم في برمجة الرقاقة 8253. فعندما يكون A0, A1 كلاهما منطقة عالي فإن يكون قد تم اختيار مسجل التحكم وعندئذ يكون مسجل التحكم قادر لاستقبال المعلومات من الوحدات الوسيطة لناقلة البيانات. وتخزن هذه المعلومات في مسجل كلمة التحكم ثم تستخدم لاختيار أسلوب التشغيل لكل عداد. كل عداد يتم برمجته على انفراد وذلك بكتابة كلمة التحكم الخاصة به في مسجل كلمة التحكم. وفورمات كلمة التحكم كالأتي:

PC hardware course in arabic-20131211063533-00037_03وتعرف الأرقام الثنائية لكلمة التحكم كما يلي:

SC ( Select Counter ) اختيار العدادPC hardware course in arabic-20131211063533-00037_07RL ( Read/Load) قراءة/تحميلPC hardware course in arabic-20131211063533-00037_08الأسلوب M (Mode)PC hardware course in arabic-20131211063601-00038_03

الأسلوب (Mode 0) "0": مقاطعة على الطرف (Terminal Count) T/C فالخرج يصبح منطق عالي عند نهاية عد العدد.

الأسلوب (Mode 1) "1": خرج ذو رمية واحدة قابل للبرمجة Programmable one-shot

الأسلوب (Mode 2) "2": مولد معدلات Rate Generator (أي مولد نبضات)

الاسلوب (Mode 3) "3": مولد موجه مربعة Square-wave Rate Generator

الأسلوب (Mode 4) "4": إشعال (بدء تشغيل) عن طريق البرنامج Software-Triggered Strobe

الأسلوب (Mode 5) "5": إشعال عن طريق المكونات المادية Hardware-Triggered Strobe.

مرة أخرى نعود لمخطط مكونات اللوحة الأم PC-XT IBM سنجد بجوار الرقاقة 8253 (رقاقة التوقيت) ناحية اليمين الرقاقة التي تحمل الرقم الكودي 8259 وتسمى هذه الرقاقة حاكم المقاطعة القابل للبرمجة" أو (PIC) programmable Interrupt Controller، ففي معظم نظم الحاسبات الشخصية نجد وسيلة بها يسمح لجهاز الـ 1/0 أن يستحوذ على انتباه المعالج الدقيق. ولذلك ففي المعالج 8088 توجد عدة إشارات خصصت للمقاطعة. فعندما يستقبل المعالج طلب مقاطعة "Interrupt Request" عن طريق أي من الإشارتين NMI أو INTR فإنه لا يستجيب لطلب المقاطعة قبل أن يكمل تنفيذ الأمر الجاري ثم بعد ذلك يحدد إن كان سيوافق على تلبية طلب المقاطعة من عدمه. ففي حالة أن يتلقى المعالج طلب مقاطعة عن طريق الطرف NMI فواجب عليه تلبية طلب المقاطعة دون تردد لأن هذا النوع من المقاطعات غير قابل لعدم التلبية فهي عادة تكون طلبات خدمة ملحة. بينما عندما يتلقى المعالج طلب مقاطعة عن طريق الطرف INTR فإنه يجب أولاً أن يتأكد من أن البرنامج الحالي الذي يقوم بتنفيذه رافض للمقاطعة من عدمه. ففي حالة البرامج التي ترفض المقاطعة يسجل هذا من أحد المسجلات الداخلية بالمعالج فعندما يختبر المعالج هذا المسجل يستطيع أن يعرف إن كان عليه أن يقبل طلب المقاطعة من عدمه. فعند قبول طلب المقاطعة وقبل تنفيذها يجب على المعالج أن يقوم بتخزين محتويات مسجلاته التي استخدمها في العمليات وذلك ليتمكن من استكمال تنفيذ البرنامج بعد العودة من خدمة المقاطعة.

يستخدم المعالج نوع من الذاكرة يسمى ذاكرة المكدسة Stack Memory لتخزين محتويات مسجلاته قبل تنفيذ خدمة المقاطعة وعند العودة من خدمة المقاطعة يقوم باسترداد محتويات مسجلاته من ذاكرة المكدسة ليستكمل تنفيذ البرنامج الذي تمت مقاطعته.

وخدمة المقاطعة هي تنفيذ روتين خدمة (برنامج ثابت) مخزن في ذاكرة الـROM. حيث كان جهاز من أجهزة الـ 1/0 التي تحتاج إلى المقاطعات يكون لها روتين محدد تحتاج إلى تنفيذه في وقت معين فتطلب المقاطعة من المعالج لتنفيذه هذه الخدمة وبالتالي هذا يؤدي لمقاطعة العمل في البرنامج الذي كان يقوم بتشغيله المعالج. وحيث أن المعالج عرضه لتلقى عدة طلبات مقاطعة من أجهزة الـ 1/0 المختلفة في آن واحد لذا واجب عليه أن يقرر أيهم له الأولية (أن يبدأ بمن) لذلك خصصت الرقاقة 8259 (حاكم المقاطعة) بالقيام بمهمة تحديد أي من طلبات المقاطعة له الأولية. شكل 4-34 مخطط صندوقي بسيط يمكن بواسطته توضيح كيف يعمل حاكم المقاطعة فإنه عندما يستقبل حاكم المقاطعة طلبات مقاطعة من أجهزة الـ 1/0 فإنه يحدد أيهم له الأولية في تلبية طلب المقاطعة.

ثم يرسل إشارة طلب مقاطعة (INT) إلى المعالج 8088 عندئذ إن قبل المعالج تلبية طلب المقاطعة فإنه يرسل الإشارات S2, S1, S0 وعليها شفرة معينة بحيث تأمر حاكم الناقلة 8288 بأن يعزل ناقلة البيانات وذلك يجعل الرقاقة 74245 (وسيط البيانات) في حالة عدم تمكين بواسطة الإشارة G.

PC hardware course in arabic-20131211063624-00039_03

بعدها يستطيع حاكم المقاطعة 8259 استعمال ناقلة البيانات ليرسل عليها إلى المعالج 8088 بيانات تساعده في تحديد عنوان روتين المقاطعة حيث تسمى هذه البيانات موجة المقاطعة Interrupt Vector بعدها يرسل المعالج عنوان روتين المقاطعة على ناقلة العناوين إلى ROM BLOS ليعنون الموقع الذي فيه برنامج روتين المقاطعة. ثم يرسل المعالج الإشارات S2, S1, S0 إلى حاكم الناقلة بشفرة معينة يأمره أن يرسل إشارة تحكم للقراءة إلى ذاكرة ROM BLOS وكذلك تمكين الرقاقة 74245 لتوصيل ناقلة البيانات بين المعالج وذاكرة الـ ROM حتى تتم عملية قراءة برنامج روتين خدمة المقاطعة ثم تنفيذه.

تعليقات

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

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

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

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