Matrix219 Home | ما هي الذاكرة المخبئة Cache Memory ! و ما وظيفتها داخل المعالج ؟؟
الكترونيات

ما هي الذاكرة المخبئة Cache Memory ! و ما وظيفتها داخل المعالج ؟؟

الذاكرة المخبئة Cache Memory
الذاكرة المخبئة Cache Memory

من منا كنا يريد شراء معالج جديد للحاسوب ستلاحظ وجود مثلا كلمة (8MB Cache) و سوف تقول في هذه اللحظة ما هذه الجملة و ماذا تعني و ماذا يفرق كلما يزيد او يقل و لماذا حجمه يقاس MB هيا بنا لنعرف:

تعريف الذاكرة المخبئة (Cache Memory) :

ما هي الذاكرة المخبئة (Cache Memory) ؟؟

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

و الفكرة من هذا ان المعالج عندما بدا يصل الي سرعات مرتفعة فاصبح استجابة المعالج بطيئة نسبيا في استقبال الإشارة بين المعالج و الذاكرة العشوائية.

مثال: لو اخذنا معالج من 2017 من عائلة Kaby Lake مثلا core i5 7500 ستلاحظ ان سرعته تصل الي 3.8GHZ اما الذاكرة العشوائية تختلف سرعتها و لاكن تكون ابطأ من هذا بكثير لان تقاس سرعتها بMHZ و الذاكرة العشوائية من نوع DDR3 تصل الي  1866MHZ اما الذاكرة العشوائية من نوع DDR4 تصل الي 2400MHZ او 3000MHZ او 3300MHZ و لاكن مازالت سرعة الذاكرة العشوائية بطيئة جدا بمقارنتها بسرعة المعالج التي تقاس بghz و طبعا القانون العام الذي يربط القطع الالكترونية ببعضها البعض و مثلا اذا كان عندي قطعة الكترونية سريعة ترسل إشارة لقطعة الكترونية ابطأ فيجب علي القطعة الالكترونية ان تخفف من سرعتها حتي تتناسب مع القطعة الالكترونية الابطأ و يترتب علي هذا ان سوف يحدث في أجزاء بسيطة من الثانية يكون لا يفعل المعالج أي شيء لانه ابطأ من سرعة و ينتظر ان تتناسب سرعة الذاكرة العشوائية.

ولاكن يوجد مشكلة اخري اكبر و اكبر و هي عدد الأنوية.

مثلا : اذا افترضت ان كنت املك معالج به 4 انويه عندما ترسل هذه الانويه الإشارة للمعالج ستلاحظ ان 4 انويه يحاولون تبطئ سرعة المعالج لكي تصل الإشارة المطلوبة الي الذاكرة العشوائية و بهذه الطريقة سيحدث نوع من أنواع المصارعة فستسارع كل نواة علي الإشارة و من سيأخذها أولا و في نفس الوقت الذاكرة العشوائية من الأساس لا تقدر علي إعادة ارسال الإشارة لانها بطيئة جدا نسبة لهم.

و هذه المشكلة اسمها (Von Neumann Bottleneck) او عنق زجاجة و هذه المشكلة التي تشرح المشكلة بين أي قطعة الكترونية قوية و قطعة الكترونية ضعيفة.

تحاول حل هذه المشكلة بطرق كثيرة و في هذه التدوينة سوف نتحدث عن الذاكرة المخبئة (Cache Memory).

ما هي الذاكرة المخبئة (Cache Memory):

تعريفها : و هي عبارة عن ذاكرة لاكن بدلا ان تكون علي هيئة ذاكرة عشوائية تكون علي المعالج و و تعمل سيطرة كاملة علي نفس سرعة المعالج و ليس هذا فقط و لاكن كل نواة في المعالج تملك ذاكرة مخبئة بمفردها حتي لا يحدث أي تصارع عندما يحدث تداخل من الانوية علي معلومات محددة.

و الان سوف تسأل نفسك سؤال :

كيف تعمل الذاكرة المخبئة (Cache Memory) ؟؟

كيفية عمل الذكرة المخبئة :

ببساطة هذه الذاكرة المخبئة تأخذ نسخة من البيانات التي ملكي و تقوم بتخزينها و عندما يحتاج المعالج لهذه البيانات يسأل الذاكرة المخبئة اذا كان يملك هذه البيانات ام لا و اذا كانت توجد في الذاكرة المخبئة يقوم بعمل (Cache Hit) او ذاكرة تخزينية مؤقته و اذا حدث انه لا توجد البيانات الأساسية فسوف يذهب المعالج للذاكرة العشوائية لكي يأخذ المعلومة منها و هذه العملية تسمي (Cache Miss) ذاكرة تخزينية مؤقتة غيبية و طبعا كلما ازداد (Cache Hit) كلما زاد الأداء و كلما زاد (Cache Miss) كلما قل الأداء.

و لاكن الان سوف تسأل نفسك سؤال اخر و هو :

كيفية زيادة الذاكرة المخبئة بالبيانات بطريقة صحيحة من الذاكرة العشوائية ؟؟

أولا تم تقسيم الذاكرة المخبئة الي نوعان :

1 – Data Cache :

2 – Investment Cache :

و باختصار: هذه طريقتان تساعد في ترتيب البيانات بطريقة محددة و متناسبة لطريقة البرامج في الاشتغال و التفكير و ستلاحظ ان أولا يستعين المعالج ب Investment Cache لانها تكون مرتبة و منظمة بنفس الطريقة المحددة لاشتغال و تفكير البرامج و تكون مرتبة علي شكل Investment و بالتالي احتمالية ان يحدث عنق زجاجة صبحت الان قليلة جدا.

 وبالتالي يدخل المعالج عن Data Cache و يأخذ أي شيء يريده بطريقة منظمة و مرتبة و محددة و لاكن من السهل للمعالج ان يدخل علي Investment Cache لانه حجمه يكون اكبر من Data Cache و كل نواة في أي معالج بيكون ليها الذاكرة المخبئة الخاص بها منها Investment اكبر في الحجم و منها Data تكون اصغر في الحجم نسبيا و بعد هذا ندخل في المرحلة الثانية و هي عمل مستويات من الذاكرة المخبئة و كل الذي كنت اتحدث عنه هو المستوي الأول و يسمي (Levels 1 Of Cache) و هذا يعتبر اسهل مستوي من المستويات و اصغر مستوي في الحجم بمعني انه يقاس بوحدة KBS و بعد هذا نتحدث عن المستوي الثاني و هذا يكون ابعد بقليل عن انوية المعالج من المستوي الأول في هذه الذاكرة المخبئة.

كل الانوية تدخل علي هذا المستوي في نفس الوقت و بالتالي سوف تكون سرعته ابطأ قليلا و لاكن بما انه يوجد بعيد اذا يملك المساحة لكي يكون كبير في الحجم عن المستول الأول و لاكن بما ان كل الانوية تتعامل معن في نفس الوقت هل معني هذا سوف يوجد Investment لا لن يوجد لان حجمه الكبير يساعد علي تخزين البيانات في الذاكرة العشوائية اسهل و بالتالي نسبة اكبر من Cache Hats ، و بعد هذا المستوي الثالث و الأخير و هذا يكون اكبر بكثير في الحجم و لاكن ابعد قليلا من المستوي الثاني و أيضا هو ابطأ مستوي في السرعة و بيكون اكبر مستوي في الحجم و هذا المستوي الذي نري ارقامه بجانب المعالج مثل 3mb cache و هذا بيزيد حتي 25mb cache و لماذا يتم كتابة بجانب المعالج المستوي الثالث فقط و الباقي لا يكتبونه ، بالتفكير في الموضوع من ناحية منطقية ، مثلا: اذا كنت احمل وزن 15.5 كيلو ماذا سوف تقول انك تحمل اكيد سوف تقول انا احمل وزن 15 كيلو فقط دون 5 جرام

و الان سوف تسأل لنفسك سؤال :

لماذا اقرب ذاكرة تخزينية للمعالج هو الأسرع لا يقوم بانهاء العمليات أولا و الأخير هو الأصغر ؟؟

الاجابة : هذه المشكلة مشكلتها مشكله اقتصادية و مادية لا اكثر لان المستوي الثالث اكبر في الحجم من المستوي الثاني و هذان المستويان اكبر من المستوي الأول و بالتالي تصنيعهم سيكلف ميزانية مرتفعة جدا جدا و من اجل هذا يتم تصنيع هذان المستويان ابطأ في السرعة من اجل توفير الميزانية و في كل الحالات هم اسرع الذاكرة العشوائية

و الان سوف تسأل نفسك سؤال اخر الان :

لماذا الذاكرة المخبئة افضل و اسرع من الذاكرة العشوائية لماذا لا يتم إزالة الذاكرة العشوائية نهائيا ؟؟؟

الإجابة : نفس إجابة السؤال السابق لان تكلفة تصنيع 4MB Cache تكون مرتفعة جدا جدا و لو مثلا تم تصنيع 16MB Cache ماذا سوف يكون سعره ؟؟؟ و عموما التطبيقات و البرامج التي يتم تصميمها حاليا يحدث لها استخادام الذاكرة المخبئة الصغيره جدا تكون كافية جدا جدا.

معلومة صغيرة قبل ختام التدوينة :معلومة صغيره لمعرفة الأسماء التي تستطيع ان تفرق بين الذاكرة العشوائية و الذاكرة المخبئة ، الذاكرة العشوائية : تسمي Dynamic Ram او D Ram و هذه تحدثنا عنها في تدوينه سابقةالذاكرة المخبئة: تسمي Static Ram او S Ram الفكرة هنا هي ان الذاكرة العشوائية تعمل لنفسها تجديد بعدد لا نهائي من المرات في الثانية الواحدة من اجل الحفاظ علي المعلومات و من اجل هذا تسمي بDynamic Ram ، اما الذاكرة المخبئة : تاحذ مساحة اكبر من Dynamic Ram لاحظ اننا نتحدث عن شيء حجمه من 3MB الي25MB و في نفس الوقت لا يعمل تجديد لنفسه نهائيا و من بسبب هذا يسمي Static Ram.


شاهد أيضا :

ما هو نوع التخزين الخاص بالهاتف ؟؟ و ما الفرق بينه و بين SSD

اسرع طريقة لتسريع الكمبيوتر وارجاع سرعته كما كانت في الاول


written by | Ahmed Essam

Update : 2017-11-03  | By: ICoN

أضف تعليق

انقر هنا لإضافة تعليق

هذا الموقع يستخدم Akismet للحدّ من التعليقات المزعجة والغير مرغوبة. تعرّف على كيفية معالجة بيانات تعليقك.