وظائف وحدة الـBIU
1- وحدة تحكم الناقلات Bus Control Unit:
تقوم هذه الوحدة بأداء كل عمليات الناقلة للمعالج الدقيق. فهي التي تقوم بجلب شفرات الأوامر وإرسال/استقبال البيانات وإشارات التحكم بين المعالج الدقيق والأجهزة الأخرى. فعلى سبيل المثال فهي التي تقوم بتحديد اتجاه تدفق البيانات على ناقلة البيانات عن طريق إشارة تحكم الاتجاه في رقاقة المرسل/ المستقبل وتسمى هذه إشارة DT/R
2- مسجل الأمر Instruction Queue:
يعتبر مسجل الأمر نوع من الذاكرة الذي يكون فيه البايت الداخل أولاً هو البايت الخارج أولاً ولذلك يطلق عليه المصطلح FIFO أي First Input Output وهذا يعني أن الأمر الذي سيتم تحميله في مسجل الأمر أولاً هو الأمر الذي سيتم تنفيذه أولاً بواسطة وحدة الـALU علماًَ بأن مسجل الأمر في المعالج 8088 سعته 4 بايت وبطول 8 بت 8-bit.
3- تحكم العنوان Address Control:
تستخدم وحدة تحكم العنوان في توليد العنوان الفعلي لموقع بيانات أو موقع أمر بالذاكرة وبطول 20-bit وتتكون هذه الوحدة من مؤشر الأمر Instruction Pointer ومسجلات القطاع Segment Registers ومولد العنوان Address Generator كما يتضح من شكل 4-8
4- مؤشر الأمر Instruction Pointer (IP):
يشير مؤشر الأمر الذي طوله 16-bit إلى عنوان الأمر التالي تنفيذه. وبالتالي فهو يتحكم في تسلسل تنفيذ البرنامج. ففي كل مرة تستقبل فيها وحدة التنفيذ أمر فإن محتويات مؤشر الأمر تزيد لتشير إلى عنوان موقع الأمر التالي بالبرنامج.
5- مسجلات القطاع Segment Registers:
توجد أربعة مسجلات قطاع هي مسجل قطاع الشفرة Code Segment ويطلق عليه الاسم CS ومسجل قطاع البيانات Data Segment ويطلق عليه الاسم DS ومسجل قطاع الموصوصة Stack Segment ويطلق عليه الاسم SS ومسجل قطاع الإضافي Extra Segment ويطلق عليه الاسم ES وتستخدم هذه المسجلات لتحديد قطاع الذاكرة الذي سيتم التعامل معه، حيث كل قطاع خاص بنوعيه معينه من المعلومات تختلف عن الآخر.
يشير المسجل CS إلى قطاع الشفرة الذي يتم جلب شفرات الأوامر منه. بينما يشير المسجل DS إلى قطاع البيانات الخاص بالبيانات مثل المتغيرات والمعاملات وبيانات البرنامج. ويشير المسجل SS إلى قطاع المرصوصة، حيث تؤدي عمليات المرصوصة في المواقع المحدد عنوانها بالمسجل SS.
علماً بأن المرصوصة هي ذاكرة تتسم بخاصية رص البيانات فوق بعضها بحيث آخر من يدخل ذاكرة المرصوصة هو أول من يخرج ويطلق على هذه الخاصية المصطلح LIFO وهي اختصار Last Input First Output ويشير المسجل ES إلى قطاع الإضافي الذي يستخدم أيضاً في تخزين البيانات. وكل مسجل من مسجلات القطاع يمكن أن يشير إلى مساحة من الذاكرة تصل إلى 64 كيلوبايت. ومن هذا نفهم أن الذاكرة قد قسمت إلى أربعة قطاعات غير متداخلة بحيث يمكن عنونه كل قطاع منفصلاً عن الآخر وذلك عن طريق عنوان يسمى عنوان القاعدة Base Address الذي يكون مخزناً في مسجل القطاع. وعنوان القاعدة هو عنوان أول موقع في القطاع (عنوان بداية القطاع) فعلى سبيل المثال إذا فرضنا أن مسجل قطاع الشفرة يحتوى على العنوان 200H بالسداسي عشر فإن أوامر قطاع الشفرة تبدأ من عنوان منطقي هي 200H. شكل 4-9 يبين تقسيم الذاكرة إلى قطاعات.
6- مولد العنوان Address Generator:
كما يتضح من شكل 4-8 فإن وحدة مولد العنوان هي جزء من وحدة تحكم العنوان حيث تستخدم وحدة مولد العنوان ومعها مسجلات القطاع في توليد العنوان الفعلي (الفيزيائي) الذي يكون طوله 20-bit أي بقدر عدد خطوط ناقلة العناوين.
وحيث أن عدد خطوط ناقلة العناوين في المعالج 20 8088 خط عنوان لذا فإنها تستطيع أن تعنون عدد من مواقع الذاكرة قدره 220 موقع أي 1048576 بايت.
وحيث أن جميع مسجلات المعالج 8088 بطول 16-bit فقط، لذا يتم توليد العنوان الفعلي الذي طوله 20-bit عن طريق إزاحة عنوان القاعدة Base Address أربعة أرقام ثنائية لجهة اليسار ثم جمع الناتج على عنوان يسمى عنوان الإزاحة Offset Address الذي يكون مخزناً في مسجل آخر مثل مؤشر الأمر أو مؤشر المرصوصة. شكل 4-10 يوضح كيفية توليد العنوان الفعلي (الفيزيائي
الجدول الآتي يوضح عمليات مسجلاات القطاع ومصادر الإزاحة
بخلاف أن الذاكرة للمعالج 8088 قد قسمت إلى أربعة قطاعات كما سبق وأن شرحنا إلا أنها أيضاً قد قسمت على أساس آخر يتوقف على نوعية المواقع. هذا التقسيم الأخير يطلق عله خريطة الذاكرة Memory Map حيث تم تخصيص مساحة من الذاكرة تحتل مدى عناوين معين لذاكرة الـROM ومساحة أخرى تحتل مدى عناوين آخر لذاكرة الـRAM ومدى عناوين آخر خصص لمنافذ الإدخال ومنافذ الإخراج. كذلك خصصت مساحة من الذاكرة ذات مدى عناوين مختلف عن ما سبق لتخزين موجهات المقاطعة Interrupt Vectors والمقصود بها عناوين برامج روتين خدمات المقاطعة الموجودة بذاكرة الـ ROM وشكل 4-11 يوضح خريطة الذاكرة للمعالج 8088.
تعليقات
إرسال تعليق