تعرف بالتفصيل على ال Cache Memory Cool_h32تعرف بالتفصيل على ال Cache Memory Cool_h33



الرئيسيةالرئيسية  المجلهالمجله  أحدث الصورأحدث الصور  التسجيلالتسجيل  دخولدخول    

شاطر | 
 

 تعرف بالتفصيل على ال Cache Memory

استعرض الموضوع التالي استعرض الموضوع السابق اذهب الى الأسفل 
كاتب الموضوعمحتوى الموضوع

مجدى

مجدى

مشرف



عدد المساهمات : 3115

الجنـــس : ذكر

العمر : 32

تاريخ التسجيل : 18/12/2010




مُساهمةموضوع: تعرف بالتفصيل على ال Cache Memory   تعرف بالتفصيل على ال Cache Memory I_icon_minitimeالسبت يناير 01, 2011 12:30 am

[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذه الصورة]


هذا شرح لل Cache Memory بأذن الله واتمنى لكم الافاده


ذاكرة الكاش:-

هي نوع من انواع الذاكره في الحاسب
وهي اسرع الانواع اطلاقاً و تتواجد مابين المعالج وبين الذاكره الرئيسية
في الحاسب الآلي,وقد تم اللجؤ الى هذا النوع من الذواكر السريعه لتخزين
الاجزاء النشطه الاستخدام من البرنامج "البرامج,التطبيقات" الجاري معالجتها
في المعالج والحاسب عموما ً لكي يكون التعامل معها سريعا وسلس وبالتالي
انخفاض كبير في اوقات التشغيل والانجاز في العمليات.

فكره الكاش هي الابقاء على التعليمات التي يتم استخدامها وجلبها بشكل كبير
ودوري وبالتالي فإن متوسط الزمن اللازم للوصول في الذاكره سيصل الى الاخر
في الكاش, والكاش ليس الا جزء ضئيل من الذاكره الرئيسيه بالحاسب.


نظرية التشغيل في الكاش:-

عندما يحتاج المعالج الى الوصول
الى الذاكره فإنه يختبر ما ان كانت اولا متواجده في الكاش وبالتالي يأخذه
من الكاش وهذا اسرع طبعا بكثير جداً والا ينتقل الى الذاكره الرئيسيه ويجلب
من هناك ال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 يتم تقسيم الكاش الى مجموعات.

النوع الأول:- التخطيط المترابط "Associative Mapping ":-

كما ذكرت المره الأولى بطريقة
سريعه قد اوضحت انه هذا النوع من التخطيط هو الاكثر سرعة ً و مرونة ً لكن
اليوم اوضح لكم التفاصيل والسبب في ذلك.

في هذا النوع من التخطيطـ فإن الذاكره المترابطه تخزن كل من العنوان
والمحتوى معا ً ! وهذا يسمح لأي موقع في الذاكره الوسيطه"الكاش" لخزن اي
كلمه"Word " من الذاكره الرئيسيه.
كما هو موضح بالجدول ادناه ان العنوان مكون من خمس خانات بالنظام الثماني
اي تكافيء اثنا عشر رقما ً في النظام الثنائي. الخطوة الاولى الان في العمل
هي وضع العنوان ذي ال15 بت من المعالج في مسجل الArgument وبعد ذلك يتم
البحث في الذاكرة الترابطيه عن هذا العنوان, فإذا تم العثور عليه فإنه يتم
قراءة ال12 بت المقالبين للعنوان الصحيح وإرسالها الى المعالج, في حال لم
يتم العثور عليها يتم البحث عنها في الذاكره الرئيسيه. وبعد ذلك يتم نقل
زوج العنوان والمحتوى الى الذاكره الترابطيه الوسيطه "الكاش", في حال كان
الكاش مليء يتم وضع زوج مكان زوج اخر وهذا يتم حسب تكنيك معين.


[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذه الصورة]


2-النوع الثاني وهو التخطيط المباشر"Direct Mapping " :-

مما لاشك فيه ان الذاكره الترابطيه
اغلى من ذاكرة الوصول العشوائي نظرا ً لتكاليف الدوائر المنطقيه المضافه
الى كل خليه . سوف نلقي الضوء على امكانيه واحتمالية استخدام ذاكرة الوصول
العشوائي في الكاش! كما هو مبين في الرسمه التاليه في الاسفل صورة "2" :-
كما هو واضح ان عنوان المعالج مكون من 15 بت ينقسمان في قسمين وهي كالاتي:-

من صفر الى 8 تمثل الIndex = 9بت
من 9الىالخامسة عشر تمثل الTag = 6بت
وكما يظهر من الصوره فان الذاكره الرئيسيه تحتاج الى عنوان يحتوي على ال Tag و الIndex معا ً.
عدد البت في الIndex = عدد بت العنوان المطلوب للوصول الى الكاش.

عموما هناك 2 مرفوعه الى الاس ك من الكلمات "Words " في ذاكرة الكاش بينما
يوجد 2 مرفوعه الى الاس ن من الكلمات في الذاكرة الرئيسيه. العنوان المكون
من ن بت ينقسم الى قسمين الاول هو حقل للIndex وله ك بت , والاخر مكون من ن
ـــ ك بت وهي حقل لل Tag.

ان ذاكره الكاش ذات التخطيط المباشر تستخدم ن بت كعنوان للوصول الى الذاكرة الرئيسيه بينما تستخدم ك من البت للوصول الى ذاكرة الكاش.


الان نتجه الى توضيح كيفيه تكوين الكلمات "Words" بداخل ذاكرة الكاش كما في الصورة رقم 3 بالاسفل:-



نلاحظ ان كل كلمه "Word" تتكون من بيانات كلمه و الTag المتعلق بها.
عندما تُحضرٌ اول كلمه جديده الى الكاش يتم تخزين ال Tag Bit بجانب البيانات "Data Bit ".
عندما يولد المعالج طلب من ذاكره فان حقل الIndex يستخدم للعنوان للوصول
للكاش, ثم يتم المقارنة بين حقل العنوان في ال tag الخاص بالمعالج مع الاخر
في الكلمة المقروءة من الكاش, فاذا تطابقو فهذي تعتبر اصابه"Hit " وان لم
فهي فقد "Miss "و حينئذ تقرأ ُ الكلمه المطلوبه من الذاكرة الرئيسيه وبعدها
تخزن في الكاش مع الtag الجديد .
عيب النوع هذا يظهر حينما يكون لدينا كلمتين او اكثر لهم العنوان ذاته
الخاص بالIndex ولكن مختلفين في عنوان الTag يتم الوصول او استخدامهما بشكل
دوري ومتكرر فان هذا النوع يجعل الكاش في كل مره يذهب ليحضر كل كلمه من
الذاكره الرئيسيه وبالتالي فان العمليه مكلفه ومضيعه للوقت في مثل هذه
الظروف, واليكم مثال:-
للنظر الى الصورة رقم 3
لاحظ ان الكلمه ذات العنوان 00000 في الذاكرة الرئيسيه انه يشار اليه في الكاش كالاتي

Index=000,Tag=00 , Data=1220

لنفرض الان ان المعالج يريد الوصول الى الكلمه في العنوان 02000 في الذاكرة
الرئيسيه بالتالي فان Index =000 وهي المستخدمه للوصول للكاش,الان يوجد
كلمه ذات العنوان صفر والان نريد احضار الجديده ذات العنوان 02000 اذا الان
يتم مقارنه الTag للاولى والثانيه فنلاحظ ان الTag الخاص بالكاش هو 00
بينما الاخر في العنوان هو 02 بالتالي هناك اختلاف فيقوم المعالج بالوصول
الى الذاكره الرئيسيه ويتم نقل البيانات المحتواه في العنوان 02000 وهي
5670 الى المعالج,يتم الان استبدال 02 بدلا من 000 وبيانات ب 5670.

التخطيط المباشر الموضح اعلاه يستخدم فقط بلوك واحد حجمه كلمه واحده, الان
سنرى كيف ان كان يستخدم 8 كلمات كحجم للبلوك. انظر الصورة رقم 4:-


الان وقد اصبح حقل الIndex مقسم الى قسمين هما حقل البلوك وحقل الكلمه , في
الكاش ذي ال512 كلمه هناك 64 بلوك كل منها له 8 كلمات حيث 64*8 = 512 .

رقم البلوك يحدد بحقل ذي 12 بت والكلمه اللي بداخل البلوك تحدد بحقل ذي 3بت
,يكون حقل الTag المخزن في الكاش مشترك لجميع ال8 كلمات حقت البلوك
الواحد.
في كل مره يحصل فقد"MisS " يتم نقل بلوك ذي ثمان كلمات باكمله من الذاكرة
الرئيسيه الى الكاش , بالرغم من انها تستغرق وقت لكن هذه العمليه سوف تزيد
من معدلات الاصابه خصوصا كلما زاد عدد البلوكات لان كل بلوك يحوي بيانات
متتاليه يحتاجها المعالج في تنفيذ المهام وبالتالي فهو ياخذها مباشره من
الكاش دون الحاجه للرجوع للذاكرة الرئيسيه لاحضارها.


[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذه الصورة]


3- التخطيط ذو المجموعات المترابطه "Set-Associative Mapping":-


كما ذكرت سابقاً ان العيب في
التخطيط المباشر يحصل حينما تتطابق بين كلمتين في ال Index لكنهما يختلفان
في ال Tag حيث لا يمكن ان يتواجد معا ً في الكاش بوقت واحد , فكانت الطريقة
الثالثه من التخطيط ذات المجموعات المترابطه هي الحل والتطوير للتخطيط
المباشر حيث انه بالامكان الان تخزين كلمه او اكثر من الذاكره الرئيسيه في
كل كلمه في الكاش حتى وان كان لهما نفس ال Index . وهذي الطريقة يا جماعه
موجوده في كل معالجات انتل مثل ما تلاحظون في خصائص الكاش الخاص بالمعالج
من خلا ل برنامج سي بي يو اي دي ., فهنا كل كلمه تخزن مع الTag الخاص بها
., المجموعه تعني عدد عناصر ال Tag-Data الموجوده في كلمه من الكاش.
الان سوف اضرب لكم مثال في الصوره رقم 5 عن ذاكره تخطيطيه ذات مجموعتين:-

نلاحظ ان كل Index Address يشير الى 2 من البيانات مع التاجز الخاص بهما.
كل Tag يحتاج6 بت بينما تملك كل كلمه 12 بيت لذلك فان طول الكلمه هو
2*(6+12) = 36 بت.
اي ان Index Address ذو 9 بت يمكنه تخزين 512 كلمه, باالتالي حجم الكاش هو
512*36, باستطاعته تخزين 1024 كلمه من الذاكره الرئيسيه حيث كل كلمه من
الكاش تحوي 2 Data Words ., بشكل عام يقال ان ذاكره الكاش المخططه مجموعيا ً
الى ك مجموعه سوف تتستع"تخزن" ك من الكلمات من الذاكره الرئيسيه في كل
كلمه من الكاش.

لنعيد النظر مجددا ً الى الصورة الخامسه :-
نلاحظ ان الكلمات ذات العنوان 01000 و 02000 في الذاكره الرئيسيه تم
تخزينها في الكاش في عنوان له ال Index=000 لهما معا ً, وكذلك الكلمات ذات
العنوان 02777 و 00777 يخزنان في الكاش تحت اندكس واحد وهو 777 , الان لنرى
كيف يتعامل معها المعالج:-
عندما يحتاج المعالج طلب من الذاكره الرئيسيه يتم استخدام قيمه الاندكس
للوصول الى الكاش, ثم بعد ذلك يتم مقارنه التاجز في حقل الكاش مع الاخر في
حقل العنوان الاتي "المطلوب" في المعالج. وملحوظ هنا ان معدل الاصابه سوف
يزيد لانه هناك العديد من الكلمات ذات الاندكس الواحد لكن لها تاجز مختلفه
تخزن تحت اندكس واحد .الان عندما يحصل فقد"Miss"
وكانت ايضا المجموعه مليئه فيتم تبديل احد عناصر التاجز بقيمه جديده, واكثر
الطرق في التبديل هي طريقة التبديل العشوائيه وكذلك طريقة الاول هو الاخير
وكذلك طريقة الاحدث استخداما ً.





الموضوع الاصلى : تعرف بالتفصيل على ال Cache Memory      المصدر : منتديات زهقان     الكاتب : مجدى




مجدى ; توقيع العضو




الرجوع الى أعلى الصفحة اذهب الى الأسفل

احمد متعب

احمد متعب

ربمآ يومآ يتحقق مآ تمنيتـ





عدد المساهمات : 12296

الجنـــس : ذكر

العمر : 31

تاريخ التسجيل : 16/10/2010




مُساهمةموضوع: رد: تعرف بالتفصيل على ال Cache Memory   تعرف بالتفصيل على ال Cache Memory I_icon_minitimeالسبت يناير 01, 2011 12:40 am

الله ينور ياباشا

دام تميزك دائما ’’ والى الامام

تقبل خالص تحياتى لك ,





الموضوع الاصلى : تعرف بالتفصيل على ال Cache Memory      المصدر : منتديات زهقان     الكاتب : احمد متعب




احمد متعب ; توقيع العضو




الرجوع الى أعلى الصفحة اذهب الى الأسفل

الصقر الجرئ

الصقر الجرئ

ربمآ يومآ يتحقق مآ تمنيتـ





عدد المساهمات : 827

الجنـــس : ذكر

العمر : 31

تاريخ التسجيل : 26/11/2010




مُساهمةموضوع: رد: تعرف بالتفصيل على ال Cache Memory   تعرف بالتفصيل على ال Cache Memory I_icon_minitimeالسبت يناير 01, 2011 5:32 pm

مشكوووور





الموضوع الاصلى : تعرف بالتفصيل على ال Cache Memory      المصدر : منتديات زهقان     الكاتب : الصقر الجرئ




الصقر الجرئ ; توقيع العضو




الرجوع الى أعلى الصفحة اذهب الى الأسفل
 

تعرف بالتفصيل على ال Cache Memory

استعرض الموضوع التالي استعرض الموضوع السابق الرجوع الى أعلى الصفحة 
صفحة 1 من اصل 1



.:: مَا يَلْفِظُ مِنْ قَوْلٍ إِلَّا لَدَيْهِ رَقِيبٌ عَتِيدٌ ::.


صلاحيات هذا المنتدى:لاتستطيع الرد على المواضيع في هذا المنتدى
 :: قسـم البرامج والشروحات الخاصه بالكمبيروتر ::   :: قسم شروحات البرامج-



تعرف بالتفصيل على ال Cache Memory 314

تعرف بالتفصيل على ال Cache Memory Cool_h29
©phpBB | Ahlamontada.com | منتدى مجاني للدعم و المساعدة | التبليغ عن محتوى مخالف | آخر المواضيع