اخذنا في التدوينة السابقة
عنونة بوابات دخل/خرج - Addressing modes for 8086
واليوم نأخذ موضوع خريطة الدخل/الخرج في الحاسوب الشخصي
جرى حجز العناوين 00000h-03FFh
من فضاء بوابات الدخل/الخرج في الحاسوب الشخصي لوظائف محددة، وتركت العناوين الباقية 0400h-FFFFh
متاحة لتطبيقات المستخدم.
فمثلا جرى حجز العناوين 03F0-03FFh
لتبادل المعطيات مع البوابة التسلسية COM1 , والعناوين 0378-037Fh
للبوابة التفرعية و 0060-0063h
للتعامل مع الرقاقة 8255 تبين الصورة التالية خريطة بوابات الدخل/الخرج للحاسوب الشخصي.
تصميم بوابة دخل/خرج
تصميم بوابة دخل
نستخدم في تصميم بوابة دخل دارة عزل ثلاثي الحالات. يبين الشكل التالي مثالا على بوابة دخل
تحتل العنوان 9Ch من فضاء الدخل/الخرج للمعالج 8088
باستخدام الرقاقة 74LS24
.
نوصل المعطيات الخارجية إلى مدخل رقاقة العزل 74LS244 , في حين ُنوصل مخارج رقاقة العزل إلى خطوط معطيات المعالج.
عند تنفيذ تعليمة قراءة IN
من الموقع 9Ch , تنتخب الرقاقة 74LS244
عبر مفكك ترميز العناوين وذلك بوضع 0 على المداخل G1' و G2' للرقاقة. ُتمرر دارة العزل عند انتخابها المعطيات التي على مداخلها إلى خطوط معطيات المعالج، ومن ثم يعمل المعالج على قراءتها ووضعها في السجل AL
وعندما لا تكون الرقاقة 74LS244 منتخبة، أي عندما يكون أحد أو كلا مدخلي انتخاب الدارة G1' و G2' مساويًا 1، فإن مخارج الرقاقة تكون في حالة ممانعة عالية، مما يعني عزل مداخل رقاقة العزل عن خطوط معطيات المعالج.
لاحظ أننا لم نستخدم، في المثال السابق، خطوط العنونة A8-A15 في عنونة البوابة لكونها تقع في الحيز 00- FFh
من فضاء البوابات.
ويمكننا بالتالي تضمين رقم البوابة في تعليمة الإدخال IN نفسها, وتساوي جميع خطوط العنونة A8- A15
في هذه الحالة الصفر.
إن دارة الدخل الأساسية السابقة تظهر بشكل واضح عندما نحتاج إدخال معطيات إلى المعالج أو
تظهر كجزء من تصميم بوابات دخل/خرج المبرمجة .
اختبار ذاتي: اكتب تعليمات تتق صى حالة المدخل D7 , من بوابة تحتل العنوان 9 Ch
حتى يساوي 0 .
الجواب:
POLL: IN
Al, 9Ch ; read data
SHL AL, 1 ; put D7 in AC
JC POLL ; re-read data if AC ==1
تصميم بوابة خرج
نَستخدم في تصميم دارة خرج دارة مسك أو قلاب D
مثل الرقاقة 74 LS 373
نُوصل مداخل هذه الدارة إلى خطوط معطيات المعالج، في حين نوصل مخارج هذه الرقاقة إلى تجهيزة خارجية.
تبين الصورة التالية مثالا على بوابة خرج تحتل العنوان 9Ch من فضاء الدخل/الخرج للمعالج 8088 .
عندما ينفذ المعالج، مثلا، التعليمة OUT 9Ch,
AL فإنه يضع محتوى AL
على خطوط المعطيات لمدة صغيرة من الزمن، كما تولد دارة مفكك خطوط العنونة نبضة مسك على المدخل G
للدارة 74LS373 تمسك مخارج الرقاقة 74LS373 نتيجة لهذه النبضة، المعطيات التي على مداخلها لحظة تطبيق نبضة المسك.
تحافظ مخارج الدارة 74LS373 عندما لا تكون الدارة منتخبة، على آخر قيمة جرى مسكها، ولا تت غير مخارج الدارة إلا بعد تنفيذ تعليمة إخراج جديدة على عنوان البوابة نفسه.
يمكنك ايضا مشاهدة :
الدرس الثاني معالجات 4CISC و معالجات RISC - computer interface
الدرس الثالث المعالجات التواردية pipelining
الدرس الخامس المتحكمات الصغرية Microcontroller
الدرس السابع البنية الداخلية للمعالج 8088/ 8086
الدرس الثامن السجلات الداخلية للمعالج 8088/ 8086
الدرس التاسع تنظيم ذاكرة المعالج 8086
الدرس العاشر انماط العنونة addressing modes
الدرس الحادي غشر البرمجة بلغة التجميع assembly language
الدرس الثاني عشر موجِّهات او ايعازات لغة التجميع Assembler Directives
الدرس الثالث عشر تعليمات المعالج 8088/ 8086 - لغة التجميع
الدرس الرابع عشر تعليمات القفز المشروط - شرح المعالج 8086
الدرس الخامس عشر تعليمات الإزاحة - شرح المعالج 8086
الدرس السادس عشر تعليمات المكدس - شرح المعالج 8086
الدرس السابع عشر تعليمات الحلقات والدوران اسمبلي- شرح المعالج الدقيق 8086
الدرس الثامن عشر اوامر لغة الاسمبلي - تعليمات IN و OUT و تعليمات السلاسل الحرفية - شرح المعالج الدقيق 8086
الدرس التاسع عشر يتبع شرح المعالج 8086 – التعليمات CMPS , SCAS, LODS , STOS , REPNZ , REPNE ،REPZ،REPE ،REP
الدرس العشرين architecture memory معمارية الذاكرة
الدرس الواحد والعشرين أنواع الذواكر - لغة التجميع وشرح المعالج 8086
الثاني والعشرين شرح المعالج 8086- طرق ربط المعالج 8086 مع الذاكرة
الدرس الثالث والعشرين الذاكرة المخبئية memory cache
الى اللقاء في التدوينة القادمة
لا تنسى دعمنا بالمشاركة
دمت بالف خير عزيزنا الزائر
إرسال تعليق
لا تبخل علينا باقتراحك او قم بمشاركة الموضوع ليستفيد الاخرين ايضاً شكرا لزيارتك عزيزي الزائر