ذاكرة وحدة المعالجة المركزية: الفرق بين النسختين

[مراجعة غير مفحوصة][مراجعة غير مفحوصة]
تم حذف المحتوى تمت إضافة المحتوى
لا ملخص تعديل
تعديل إملائي
سطر 1:
{{إعادة كتابة}}
 
إن تنظيم الذواكر في بنية هرمية يسمح لنا بالاستفادة من ميزتي السرعة العالية للذواكر الصغيرة والسعة الضخمة للذواكر الكبيرة البطيئة. من المكن التغلب على بطء الولوج إلى الذاكرة الثانوية باعتماد خطة منهجية لنقل الصفحات بين مستويات الذاكرة المختلفة، ومع ذالكذلك يبقى تفاوت بين سرعة عمل بين سرعة عمل وحدة الحساب وسرعة الحصول على المعلومات من الذاكرة الرئيسية.يمكن ملاحظة سبب هذا التفاوت بسهولة فالعناصر المستخدمة في بناء وحدة التخزين الرئيسية اصغر حجماً بكثير واقل كلفة من تلك المستخدمة في بناء وحدة الحساب.
 
من المنطقي أن نتساءل:هل يمكن استخدام ذاكرة أخرى اقل سعة وأسرع من الذاكرة الرئيسية, لكنها تعمل بسرعة تقارب سرعة وحدة الحاسب والمنطق لتشكل بذالكبذلك مرحلة إضافية بين المعالج والذاكرة الرئيسية؟طبعاً نعم، تؤمن الذاكرة المخبئية كل هذه المتطلبات. والذاكرة المخبئية هي ذاكرة صغيرة جدا وسريعة جداً تتوضع بين المعالج والذاكرة الرئيسية ،تتألف الذاكرة المخبئية من عدد من المسجلات ،وتتضمن هذه المسجلات المعلومات التي يستخدمها المعالج حالياً. بذالكبذلك ينخفض عدد مرات الولوج إلى الذاكرة الرئيسية وبشكل كبير ،كما ينخفض أيضا معدل زمن الولوج بالنسبة للكلمة الواحدة, ونتيجة لذالكلذلك تقترب السرعة الفعلية للذاكرة من سرعة الذاكرة المخبئية.
 
يتم نقل المعلومات بين الذاكرة المخبئية والذاكرة الرئيسية كلمة تلو الأخرى.إلا أن بعض الأنظمة تلجا إلى نقل مجموعات من الكلمات في كل عملية نقل.تدعى هذه المجموعات "أسطر" أو "كتل (blocks) ،وهي تكافئ الصفحات في الذاكرة الظاهرية.
سطر 24:
أما بالنسبة لتعليمة الكتابة, فتكتب في الذاكرة الرئيسية, ويبين الشكلان التالين طريقة عمل هذه الذاكرة. هناك تشابه ملحوظ بين مفهومي الذاكرة المخبئية والذاكرة الظاهرية. لكن هناك فروقاً هامة في كيفية إدارة كل منهما, إن نسبة زمن ولوج الذاكرة الثانوية إلى زمن ولوج الذاكرة الرئيسية في جوار الـ10000، أما نسبة زمن ولوج الذاكرة الرئيسية إلى زمن ولوج الذاكرة المخبئية فهي حوالي الـ 10. بالنتيجة فإنه خطأ الصفحة في الذواكر الظاهرية مكلف جداً أما خطأ الذاكرة المخبئية فهو أقل كلفة بكثير.
 
يعتبر استخدام المكونات الالكترونية المعقدة والكلفة نسبياً عند تنفيذ الذاكرة الظاهرية وذالكوذلك للسعة الكبيرة التي توفها هذه الذاكرة, أما الذاكرة المخبئية فهي محدودة السعة ويجب أن تعمل بسرعة عالية جداً لذاكرة توضع قيود عديدة على كلفة وتعقيد أنظمة الذاكرة المخبئية.
 
من ناحية أخرى, تتواجد الصفحة في أنظمة الذاكرة الظاهرية إما في الذاكرة الرئيسية وإما في الذاكرة الثانوية وليس في كليهما، وبالتالي تصبح سعة الذاكرة المتاحة تساوي إلى مجموع سعتي الذاكرة الرئيسية والذاكرة الثانوية أما الذاكرة المخبئية فتحتوي على "صورة"بعض المواقع (تلك المستخدمة بكثرة من قبل المعالج), وبالتالي لا تزيد من سعة ذاكرة النظام.
سطر 38:
 
إن تخزين العنوان الحقيقي يبطئ سرعة عمل الذاكرة, إذ يجب عندئذ أن تتم عملية ترجمة العنوان الافتراضي إلى عنوان حقيقي كجزء من حلقة الذاكرة قبل مقارنة العناوين، أما عند تخزين العنوان الافتراضي فيمكن مقارنة العناوين مباشرة, لكن هذا الخيار مشاكله أيضا.
فإذا أدت عملية إدخال إلى الكتابة فوق موقع في الذاكرة, يجب حذف أو تحديث صورة هذا الموقع في الذاكرة المخبئية, إذ وجدت هذه الصورة, ويستلزم هذا عملية ترجمة معاكسة من العنوان الحقيقي إلى العنوان الافتراضي وهي عملية صعبة. من ناحية أخرى, يمكن أن يتم الوصول إلى نفس الموقع في الذاكرة الرئيسية من قبل عدة برامج تستخدم عناوين افتراضية مختلفة, وسيؤدي ذالكذلك لظهور عدة مداخل في الذاكرة المخبئية مرتبطة بنفس الموقع.
 
بناء على ما تقدم يفضل الخيار الأول: أي تخزين العناوين الحقيقية فقط. ويمكن التغلب على لخسارة الزمنية الناتجة عن ترجمة العناوين باستخدام تقنيات أنابيب التجزئة(pipelining). نذكر هنا أن ما يتغير أثناء الانتقال من العنوان الافتراضي إلى العنوان الحقيقي هو عنوان الصفحة فقط, أما عنوان السطر فيبقى كما هو. وتستخدم الطريقة التالية: