وحدة إدارة الذاكرة: الفرق بين النسختين

[مراجعة غير مفحوصة][مراجعة غير مفحوصة]
تم حذف المحتوى تمت إضافة المحتوى
ط روبوت: تغييرات تجميلية
سطر 1:
[[ملف:MC68451_p1160081.jpg|thumb|This 68451 MMU could be used with the [[Motorola 68010]]]]
إن '''وحدة إدارة [[ذاكرة (حاسوب)|الذاكرة]]''' Memory management unit أو (MMU) بالتعريف هي : دارة تدعم الذاكرة الظاهرية و نقل الصفحات الذاكرية و ذلك بترجمة العنوان الفعال إلى عنوان فيزيائي ، و تكون جزء من المعالج و في بعض التصاميم تأتي كشريحة مستقلة ، تحتوي على ذاكرة صغيرة تحتفظ بالعناوين الفعالة و الفيزيائية المقابلة لها و تكون على شكل جدول يدعى TLB وجميع الطلبات الذاكرية ترسل لل MMU و التي تحدد مكان وجود المعلومة المطلوبة هل هي في الكاش أم في ال [[MM]] أم في القرص الصلب .
 
MMU تحتوي على جدول الصفحات الذاكرية Page table مفهرس بأرقام الصفحات و كل مدخل في جدول الصفحات Page Table Entry(PTE) يعطي العنوان الفيزيائي المطابق للفعال .
من الممكن أن لا يوجد عنوان فيزيائي مقابل للعنوان الفعال لذا سوف تعيد MMU إشارة خلل في الصفحة الذاكرية إلى المعالج عندها سوف يحاول نظام التشغيل إيجاد صفحة فارغة في الذاكرة و إنشاء PTE جديد يتم ربطه مع العنوان الفعال المطلوب ، إذا لم توجد صفحة ذاكرية فارغة سوف يكون من الضروري اختيار صفحة موجودة مسبقا و ذلك باستخدام أحد خوارزميات الاستبدال و حفظها في القرص الصلب ( و هذا ما يعرف بنقل الصفحات الذاكرية Paging) .
 
== جدول TLB ==
سطر 19:
تنمت
 
== دور mmu في العنونة الافتراضية ==
 
'''ما هي virtual memory ؟'''
سطر 28:
مبدأ النظام المتبع في التعامل مع الذاكرة الوهمية مشابه للكاش و هذا المبدأ يعتمد على نقل المقاطع الغير فعالة إلى القرص الصلب و إبقاء الفعالة منها في ال MM .
عملية نقل المعطيات بين القرص الصلب و ال MM يأخذ شكل صفحات ذاكرية ، و الصفحة الذاكرية هي مجموعة كلمات ذاكرية و التي يتم نقلها من القرص إلى ال MM عندما يطلب المعالج الوصول إلى كلمة من تلك الصفحة ، ويكون حجم الصفحة عادة من 2 حتى 16 كيلو بايت .
نظام التشغيل هو المسئول عن عملية نقل الصفحات من القرص إلى MM ، نعلم أن المعالج يبعث عنوان يسمى العنوان المنطقي (الفعال) و هو غير متطابق مع العنوان الفيزيائي (في الMM) لذا تأتي هنا مهمة وحدة إدارة الذاكرة MMU في ترجمة العنوان الفعال (الوهمي) إلى مقابله الفيزيائي و تتم هذه العملية بواسطة أحد ثلاث تقنيات هي :
 
# direct mapping
سطر 36:
في جميع هذه التقنيات فإن المعلومات عن المواقع الذاكرية و الصفحات الوهمية الموافقة لها موجودة في جدول يدعى جدول الصفحة Page table الذي يكون مخزنا في ال MM .
 
== العنونة الفيزيائية و العنونة الإفتراضية ==
إن الذاكرة الرئيسية للحاسب نظمت على شكل مصفوفة من M حجرة بحجم بايت واحد و كل بايت يمتلك عنوانا فيزيائيا فريدا عن الآخر ، أول بايت له العنوان صفر و الثاني له العنوان واحد و هكذا ، في المثال المعروض لدينا الطريقة الطبيعية لل [[cpu]] كي يصل إلى حجرات الذاكرة تتم باستخدام العنوان الفيزيائي و تدعى بالعنونة الفيزيائية .
المثال المعروض في السياق يبين كيفية تحميل كلمة تبدأ من العنوان 4 نتيجة تنفيذ تعليمة .
عندما ينفذ ال cpu تعليمة التحميل load فإنه يولد عنوانا فعالا و يرسله للذاكرة الرئيسية عن طريق ممر الذاكرة فتقوم الذاكرة الرئيسية بجلب أربع بايتات تبدأ من العنوان الفيزيائي 4 و تعيدها للمعالج الذي بدوره يخزنها في مسجل .
 
الحواسب م}خرا استخدمت العنونة الفيزيائية [[PA]] والأنظمة – مثل معالجات الإشارة الرقمية و المتحكمات المدمجة و الحواسب العملاقة – استمرت بهذه الطريقة ، على كل حال فإن المعالجات الحديثة تم تصميمها للحسابات ذات الأغراض العامة مستخدمة صيغة عنونة تعرف بالعنونة الافتراضية VA .
 
في العنونة الافتراضية فإن وصولات المعالج للذاكرة الرئيسية تتم عن طريق توليد عنوان افتراضي VA و الذي يتحول للعنوان الفيزيائي المناسب مثل إرساله للذاكرة الرئيسية ، العملية التي تقوم بتحويل العنوان الوهمي إلى فيزيائي تعرف بعملية ترجمة العنوان .
 
إن ترجمة العنوان تتطلب تعاونا بين بنية المعالج و نظام التشغيل ، البنية الصلبة في المعالج و المسئولة عن ذلك هي Memory Management Unit(MMU) ، تقوم هذه الوحدة بترجمة العنوان الفعال بسرعة و ذلك باستنتاجه من جدول مخزن في الذاكرة الرئيسية و الذي يتم إدارة محتوياته من قبل نظام التشغيل .
 
== و من الوظائف الإضافية المهمة لل MMU ==
حل مشاكل التجزئة للذاكرة التي تحصل عندما تحجز بلوكات الذاكرة و تفرغ و بالتالي ستنقسم المساحة الفارغة و بالتالي من أجل مجال من العناوين الفعالة المتجاورة يمكن أن تقابل بعدة بلوكات غير متجاورة من الذاكرة الفيزيائية .
في التصميمات القديمة لوحدات إدارة الذاكرة كانت بواسطة دارات مدمجة مستقلة مثل MC 68851 في Macintosh II أو Z8015 التي استخدمت مع عائلة Zilog [[Z80]] للمعالجات .
فيما بعد المعالجات مثل Motorola 68030 و Zilog Z280 استخدمت و حدات إدارة ذاكرة مدمجة ضمن المعالج .
 
== مثال عن وحدة إدارة الذاكرة : MMU ==
 
الشكل 5.14 يبين التصميم الأساسي لشريحة MIPSR2000 بالإضافة للمعالج ذو البنية RISC فإنه هناك أيضا معالج مساعد على الشريحة .
هذا يتضمن وحدة إدارة الذاكرة التي تظهر بشكل مفصل ضمن الشكل ، تتألف MMU من TLB بسيطة تكفي ل 64 مدخل ، كل مدخل يشير إلى صفحة ذاكرية وهمية و موقعها الموافق في الذاكرة الفيزيائية . انظر الشكل 5.15 .
تتم عملية إدارة ال TLB من قبل نظام التشغيل نفسه ، قبل أن تتمكن الصفحة من الحصول على عنونة يجب عليها أن تكون في ال MM و تمتلك مدخلا في ال TLB .
 
إن MMU تحتوي على أربعة مسجلات هي : entry-hi ، entry-lo ، index and random
نظام التشغيل يستخدم تلك المسجلات لإدخال مدخلات بديلة في ال TLB ، عتاد العنونة يستخدمهم أيضا لإنجاز ترجمة العنوان .
نظام الذاكرة الوهمية يدعم حجم صفحات يصل إلى 4KB و بالتالي العنوان ذو 32bit سوف يقسم إلى 20bit من أجل رقم الصفحة و 12bit من أجل الإزاحة .
في كل مرة يتم فيها ترجمة العنوان الفعال (و ذلك لإحضار تعليمة أو عملية كتابة أو قراءة لمعامل ) فإن رقم العملية و رقم الصفحة يدخلان إلى المسجل entry-hi و سوف ييم مقارنتهما سويا مع جميع العناوين الفعالة الموافقة و الموجودة في ال TLB و عند وجود تطابق فإن مسجل الدليل index يشير إليهما و إلى المُدخل المطابق في ال TLB ، بعد ذلك سوف تتم قراءة مدخل ال TLB المطابق و العنوان الفيزيائي لقاعدة الصفحة تلك و ينتقل إلى المسجل entry-lo ، بعدها يأتي دور الإزاحة في تحديد العنوان الفيزيائي المطلوب عند إضافتها لعنوان القاعدة .
 
[[تصنيف:بنية الحاسب]]