عنونة بوابات دخل/خرج - Addressing modes for 8086 عنونة بوابات دخل/خرج - Addressing modes for 8086 - اقرا معي وتعلم على الانترنت

عنونة بوابات دخل/خرج - Addressing modes for 8086

addressing  - عنونة الذاكرة -Addressing modes for 8086

اخذنا في التدوينة السابقة 

الذاكرة المخبئية memory cache

انتهينا من قسم الذواكر والمسجلات في المعالج, ننتقل الان الى موضوع ربط المعالجات مع البيئة المحيطة :

تمهيد
نشرح، في هذا الفصل، طرق عنونة بوابات دخل/خرج في المعالج 8088/8086 وبعض الطرق الممكنة لتصميم هذه البوابات. ثم نشرح بنيان رقاقة الدخل/الخرج المبرمجة 8255A وأنماط عملها. كما نبين آلية ربط المبدل الرقمي/التماثلي DAC0830 والمبدل التماثلي/الرقمي ADC0804 مع المعالج. ونشرح، أخيرًا، تقنية المقاطعة في المعالج 8088/8086 وأنواعها المختلفة.

عنونة بوابات دخل/خرج:

يمكن أن تقع البوابات في المعالج 8088/8086 إما ضمن فضاء مستقل لعنونة بوابات I/O أو يمكن أن تكون جزءا من فضاء عنونة ذاكرة المعالج. تحتل كل بوابة بطول 8-bit موقع واحد، كما يمكن أن يُشكل عنوانين متتالين بوابة بطول 16-bit نادرًا ما نربط مع المعالج بوابات بطول 16-bit وبالتالي سيقتصر شرحنا وتعاملنا فيما يأتي مع بوابات بطول 8-bit .

عنونة البوابات ضمن فضاء الذاكرة
يمكن أن تحتل بوابات الدخل/الخرج حيزًا من فضاء ذاكرة المعالج 8088/8086 كما هو مبين في الصورة التالية يجري في هذه الحالة عنونة البوابات بالطريقة نفسها المستخدمة في عنونة الذواكر، ويمكننا بالتالي الاستفادة من جميع تعليمات المعالج التي تتعامل مع الذواكر. ولكن لهذه الطريقة سيئة رئيسة تتمثل بحجز جزء من فضاء ذاكرة المعالج لعنونة البوابات.
addressing  - عنونة الذاكرة -Addressing modes for 8086



عنونة البوابات ضمن فضاء بوابات دخل/خرج
يمكننا في المعالج 8088/8086 ربط البوابات مع المعالج عبر فضاء عنونة خاص بالبوابات، كما هو مبين في الصورة التالية :

Addressing modes for 8086 - عنونة الذاكرة

يجب في هذه الحالة استخدام تعليمة الدخل IN وتعليمة الخرج OUT لتبادل المعطيات بين البوابات والمراكم (AL للعمليات على بايت و AX للعمليات على 2 بايت) يمكن أن تتضمن التعليمة IN أو التعليمة OUT عنوان البوابة أو رقمها عند النفاذ إلى بوابة تحتل أحد العناوين00h-FFh , كما يمكننا بوضع عنوان البوابة في السجل DX النفاذ إلى أي بوابة تقع ضمن كامل فضاء عنونة البوابات 0000h-FFFFh .





مثال: تقرأ التعليمة IN AL, 38h القيمة على البوابة ذات العنوان 0038h وتضعها في السجل AL , في حين تقرأ التعليمتين التاليتين القيمة على البوابة التفرعية LTP1 في الحاسوب الشخصي وتضعها في السجل AL :
MOV DX, 0378h
IN AL, DX
هناك تشابه كبير بالنسبة للمعالج بين فضاء الذاكرة وفضاء البوابات، حيث يستخدم المعالج مسرى النظام نفسه لتبادل المعطيات مع كل من البوابات والذواكر. ومع ذلك، 

يوجد ثلاث اختلافات أساسية بين فضاء الذاكرة وفضاء البوابات بالنسبة للمعالج وهي:
  1. يستخدم المعالج 8086 الإشارة M/IO' (أو IO/M' في المعالج 8088 ) للتمييز بين فضاء الذاكرة وفضاء البوابات.
  2. يستطيع المعالج عنونة 1 ميغابايت من الذواكر باستخدام خطوط العنونة A0-A19 , في حين يستطيع المعالج فقط عنونة 64 كيلوبايت أو 32 كيلو كلمة من بوابات الدخل/الخرج وذلك باستخدام خطوط العنونة A0-A15 .
  3. لا يُستخدم المعالج في عنونة البوابات التي تقع في فضاء بوابات الدخل/الخرج نظام المقتطعات المستخدم في فضاء الذاكرة.

يمكننا عنونة البوابات التي تقع في فضاء البوابات بالطريقة نفسها المستخدمة في عنونة الذواكر باستخدام خطوط العنونة A0-A15 فقط. نذكر هنا أنه عندما يكون رقم البوابة مضمننًا في التعليمة IN أو التعليمة OUT فإن المعالج يضع أصفارًا على خطوط العنونة A8-A15 .

 يمكنك ايضا مشاهدة :


الدرس الثالث والعشرين  الذاكرة المخبئية memory cache

 الى اللقاء في التدوينة القادمة 
لا تنسى دعمنا بالمشاركة 
دمت بالف خير عزيزنا الزائر

شارك الموضوع
تعليقات
محتوى قد يهمك

.