شرح مبسط لذاكرة الكاش
الموضوع: نقل مقالات المكونات الأساسية
هل تعرف ما هي ذاكرة الكاش؟ وهل تعرف كيف تعمل؟ وما هي فائدتها؟
هل تعرف أنواعها؟
تابع هذا المقال المتميز, لتزيد من معلوماتك حول ذاكرات الكاش
ذاكرة الكاش:-
هي نوع من انواع الذاكره في الحاسب وهي اسرع الانواع اطلاقاً و تتواجد مابين المعالج وبين الذاكره الرئيسية في الحاسب الآلي,وقد تم اللجؤ الى هذا النوع من الذواكر السريعه لتخزين الاجزاء النشطه الاستخدام من البرنامج "البرامج,التطبيقات" الجاري معالجتها في المعالج والحاسب عموما ً لكي يكون التعامل معها سريعا وسلس وبالتالي انخفاض كبير في اوقات التشغيل والانجاز في العمليات.
فكره الكاش هي الابقاء على التعليمات التي يتم استخدامها وجلبها بشكل كبير ودوري وبالتالي فإن متوسط الزمن اللازم للوصول في الذاكره سيصل الى الاخر في الكاش, والكاش ليس الا جزء ضئيل من الذاكره الرئيسيه بالحاسب.
نظرية التشغيل في الكاش:-
عندما يحتاج المعالج الى الوصول الى الذاكره فإنه يختبر ما ان كانت اولا متواجده في الكاش وبالتالي يأخذه من الكاش وهذا اسرع طبعا بكثير جداً والا ينتقل الى الذاكره الرئيسيه ويجلب من هناك الBlock الذي يحوي تلك التعليمه " البلوك به التعليمه وايضاً عده تعليمات اخرى متتاليه" الى الكاش " السبب في نقل البلوك اكمله هو انه في المرحله المقبله سيحتاج المعالج تلك التعليمات المجاوره للتعليمه الاولى فتم وضعها في الكاش لاخذها مباشره منه بدلا من جلبها من الذاكره الرئيسيه وبالتالي توفير الوقت والسرعه". كفاءة الكاش تقاس بكميه تدعى ال Hit Ratio او معدل الاصابه " معدل الاصابه او الصواب يقصد به وجود التعليمه في الكاش حينما يبحث عنها المعالج مباشره , وعلى العكس ان لم يجدها في الكاش نسميها Miss "
وفي اغلب الاجهزه عندما تم الاختبار عليها عمليا ً وجدنا معدل الاصابه يقارب 90% مما يدل ان الكاش يسرع الاداء طبعا ً.
من الملاحظ انه يمكن تحسين معدل زمن الوصول الى الذاكره في الحاسب بوضع واستخدام الكاش, حيث ما اذا كان معدل الاصابه عالي اي ان كل الوصول يكون من المعالج الى الكاش دون الحاجه الى الوصول الى الذاكره الرئيسيه سيكون في هذه الحاله زمن الوصول سريع جدا يضاهي سرعه الكاش. واليكم مثال توضيحي:-
ليكن لدينا كمبيوتر فيه زمن الوصول للكاش هو 100 نانو ثانيه,في اليد الاخرى كان زمن الوصول الى الذاكره الرئيسيه هو 1000نانو ثانيه وكان معدل الاصابه 0.9 اي 90% سيكون هنا معدل الوصول اللازم هو 200 نانو ثانيه فالبتالي تم تخفيض الزمن وحصلنا على السرعه.
كما نعلم ان من خصائص الكاش هو السرعه بالتالي زمن البحث عن تعليمه داخل الكاش يجب ان يكون ضئيل جدا او معدوم, بالنسبه لعمليه انتقال البيانات من الذاكره الرئيسيه في الكمبيوتر الى ذاكرة الكاش تسمى عمليه التخطيط "Mapping " و هناك ثلاثة انواع من التخطيطــ :-
1-النوع الاول هو Associative Mapping
2-النوع الثاني هو Direct Mapping
3-النوع الثالث هو Set-Associative Mapping
و رح اشرح لكم نبذات عن كل نوع:-
1- النوع الاول "Associative "
اغلب الكاشات السريعه والجيده تستخدم هذه الطريقه وفي هذه الطريقه يتم تخزين العنوان والمحتوى للتعليمه او "Word " وفي هذا النوع لا يسمح بتخزين اي تعليمه "Word " في اي مكان.اي هنا يوجد عدد ضخم"ن" الاماكن مخصص للبيانات., وعندما نريد احدها يتم البحث في كل القيم الى ان يتم الحصول على المراد.
2-النوع الثاني"Direct Mapping":-
هنا يوجد مكان واحد لكل البيانات.
3- النوع الثالث "Set-Associative":-
هذا النوع كحل وسط بين النوعين الاولين حيث هنا يوجد 2 مرفوعه الى الاس ن من الاماكن لكل البيانات ففي حال ن=2 نسميه Two Way Set Associative
في حال ن=3 نسميه Three Way Set-Associative
في حال ن=4 نسميه Four Way Set-Associative
باختصار نلاحظ الاتي:-
عيوب الDirect ان لكل الDataمكان واحد اي في حال نريد جلب بيانات متتابعه فانه يلزم جلب كل واحده في مره وازلتها ثم وضع الاخرى ثم ازالتها ثم وضع الاخرى وهكذا...الخ.
ميزة الAssociativeانه يضع كل داتا في مكان وبالتالي لا داعي لجلب كل داتا متتاليه كل مره.
اما في حاله الSet Associative يتم تقسيم الكاش الى مجموعات.