شرح ذاكرة الكاش وما هى طرق تصميمها 0811_md_13154575231
شرح ذاكرة الكاش وما هى طرق تصميمها 0811_md_13154575231
هل تريد التفاعل مع هذه المساهمة؟ كل ما عليك هو إنشاء حساب جديد ببضع خطوات أو تسجيل الدخول للمتابعة.



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

 

 شرح ذاكرة الكاش وما هى طرق تصميمها

اذهب الى الأسفل 
2 مشترك
كاتب الموضوعرسالة
HUMAM
المدير العام
المدير العام
HUMAM


عدد المساهمات : 1983
تاريخ التسجيل : 30/11/2009

شرح ذاكرة الكاش وما هى طرق تصميمها Empty
مُساهمةموضوع: شرح ذاكرة الكاش وما هى طرق تصميمها   شرح ذاكرة الكاش وما هى طرق تصميمها Emptyالخميس فبراير 18, 2010 8:41 pm







السلام عليكم

شلونكم يا شباب

راح اشرحلكم ذاكرة الكاش

ما هى ذاكرة الكاش وما هى طرق تصميمها. قبل الشروع في صلب الموضوع , فانه من الافضل طرح بعض المفاهيم العامه التي تعلق في اذهان القارئين حين قراءه ذاكرة الكاش.

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

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


  • هل ذاكرة الكاش تفهم ماهي تركيبات ونوعيه البيانات التي تتعامل معها؟

ذاكرة الكاش لا تعلم شيئا ً عن تركيبات واشكال البينات التي تتعامل معها ولكنها فقط تتعامل بطريقة تم العثور على البيانات او لم يتم العثور على البيانات في الكاش .


  • هناك طرق لتحسين اداء الكاش عموما ً؟

1- استعمال حلقات تكراريه صغيره وعدم جعلها كبيرة تأخذ كميات اكبر من حجم الذاكره.



- ومن الكلام السابق نستنتج ان ذاكرة الكاش لا تستحسن التعامل مع بعض تركيبات البيانات ولكم بعض من تلك التركيبات:-




كما نعلم ان الزمن كل ماتقدم كل ماتحسنت سرعه واداء و قدرات المعالج و معلوم ان المعالج بامكانه تنفيذ كميات هائله جدا من العمليات في الثانية الواحده , في هذه الحين كانت ولاتزال الرام مشكلة حقيقة وتشكل عائقا ً في السرعة , ومن اكبر الامور المعيقه للذاكره "الرام" في التقدم هي اوقات الانتظار "وقت الانتظار = المدة الزمنية بين العمليات" وهذا يعني انه في هذه المده سيكون المعالج غير نشط وينتظر الانتهاء لكي يبدأ في تنفيذ العملية التاليه , لذلك كان من الضروري جدا التفكير في سد فجوه السرعه و ظهرت ذاكره الكاش كحل جيد لهذه المشكله.

دعونا نستعرض معا ً قانون العالم موور :- و هو القانون الذي ابتكره جوردون موور أحد مؤسسي انتل عام 1965. حيث لاحظ مور أن زيادة عدد الترانزستورات على شريحة المعالج بدون تكلفة يتضاعف تقريباً كل عامين، وأدت هذه الملاحظة إلى بدأ دمج السيليكون والدوائر المتكامله من قبل إنتل مما ساهم في تنشيط الثورة التكنولوجية في شتى أنحاء العالم. وفي عام 2005، تنبأ الباحثون بأن تلك النظرية سيستمر تطبيقها لعقد أخر من الزمان على الأقل.

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

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

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

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

الكاش ذاكره سريعه و هي بالطبع اسرع من الذاكره الرئيسيه وذلك بسبب انها مصنعه بواسطه ذاكرة الوصول العشوائي الساكنه "SRAM" على عكس تلك المستعمله في تصنيع الذاكره الرئيسيه وهي من نوع ذاكره الوصول العشوائي الديناميكيه "DRAM" و مشكله هذا النوع انها تتكون كليا ً من مكثفات والتي يجب تحديثها باستمرار من أجل الحفاظ على المعلومات المخزنة . ومعلوم انه متى ما تتم قراءة بيانات من الخلية يتم عمل عمليه انعاش "Refresh" لها. وايضا ً معلوم ان خلايا الذاكره DRAM بحاجة الى انعاشها بشكل متكرر كبير جدا ً كل 4 الى 16 ملي ثانيه الامر الذي يبطيئ العمليه برمتها . في اليد الاخرى فان ذاكره الSRAM تتكون من القلابات "Flip Flops" و معلوم ان من خصائص القلاب انه يبقى على حالته طالما انه ممدود بالطاقه " ملاحظة توضيحيه :- القلاب هو داره كهربية مكونه من مقاومات وترانزستورات كما بالصوره الاتيه"

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

لهذا السبب ولان الذاكره من نوع SRAM لاتحتاج الى عمليه انعاش فانها اسرع بما يقارب العشر مرات من ذاكره ال DRAM ولكن لا ننسى بان تصنيع دارات القلابات معقده وغاليه في التنصيع مما يجعل استعمالها محدودا ً بشكل ما .
2- محاولة عدم استدعاء دوال خارج نطاق الشفره "Code" الي يتم التعامل معها حاليا ً. 3- محاولة استعمال الذاكره للوصول للبيانات التي في نفس المنطقه الجاري التعامل معها. 1- المصفوفات الكبيره والتي تستعمل التكرار من البداية الى النهايه. 2- القوائم المترابطه والتي يكون كل جزء من البيانات فيها بالاماكن الوصول اليه من عده جهات ونقاط. 3- الطوابير تكون سيئه في حال استعمال طريقة الدخول اولا ً - الخروج اولا ً .

  • مباديء ذاكرة الكاش

بشكل عام تعمل ذاكرة الكاش على محاولة التنبؤ بمعرفه اي ذاكره سوف يحتاجها المعالج في المره التاليه ومن ثم تحميل تلك الذاكره قبل ان يحتاجها المعالج ومن ثم حفظ النتائج بعد انتهاء العمليه , في حال لم يجد المعالج تلك البيانات التي يحتاجها في ذاكره الكاش فانه يضطر للتوقف والانتظار الى حين جلبها في ذاكره الكاش من الذاكره الرئيسيه و اليكم الصوره التاليه توضح هذه العمليه على شكل مبسط

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

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


  • كيف تعمل ذاكره الكاش ؟

ان الذاكره الرئيسيه مكونه من عدد 2^س "اثنان اس س " من الكلمات المعنونه , ولكل كلمه عنوان فريد "س من البت ", ولغرض التخطيط والتوزيع فانه من الافضل ان نعتبر الذاكره الرئيسيه على انها مكونه من عدد من القطاعات الثابته الطول ولكل قطاع عدد ص من الكلمات,
اذا ً وبكل سهوله رياضيا ً نستطيع حساب عدد القطاعات = ( 2^س) \ (ص) =ق قطاع
ومن ثم نقسم الكاش الى عدد ل من الخطوط لكل منها عدد ق من القطاعات , كما سيتضح امامكم في الصوره نرى ان عدد الخطوط في الكاش اصغر بشكل معتبر من عدد القطاعات في الذاكره الرئيسيه , اذا ً فانه في اي وقت هناك مجموعات جزئيه فقط من قطاعات الذاكره الرئيسيه تتواجد "تقيم" في خطوط ذاكره الكاش , على فرض ان احد الكلمات الموجوده في قطاع ما في الذاكره الرئيسيه سوف يحتاجه المعالج في عملياته , فهذا القطاع الذي يحتوي تلك الكلمه سوف يتم نقله الى احد الخطوط في الكاش , ولكن وكما سبق واخبرتكم انه يوجد عدد خطوط في الكاش اقل من عدد القطاعات في الذاكره الرئيسيه فانه لا يمكن تخصيص خط بشكل فريد ودائم لقطاع ما من الذاكره , لهذا فان كل خط في الكاش يستعمل علامه "Tag" لكي يتم عن طريقه معرفه اي قطاع من قطاعات الرام يشغل ذاك الخط من الكاش حاليا ً , والعلم هذا عموما ً يكون عدد من البت وهو جزء من عنوان الذاكره الرئيسيه.

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


  • فعالية الكاش

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




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

معدل الاصابه = هو اجمالي النسبه المئويه من الاصابات في جميع محاوالات الوصول الى الذاكره الرئيسيه.
معدل عدم الاصابه = 1- معدل الاصابه

واحدى طرق تحسين كفاءه الرام هي بالقيام برفع معدل الاصابه وخفض معدل عدم الاصابه .
1- عدم الاصابه الالزامي :- حيث ان اول وصول لقطاع ما غير موجود بالكاش , لذا فانه يجب احضار ذلك القطاع الى الكاش , يسمى ايضا ً هذا النوع بعدم اصابه المرجع الاول. 2- عدم الاصابه السعوي :- يحدث حينما لا يستطيع الكاش احتواء جميع القطاعات التي يحتاجها المعالج في تنفيذ برنامج ما , وهي تحدث بسبب حجم الكاش. 3-عدم الاصابه التعارضي:- يحدث ان كانت استراتيجيه التخطيط المباشر او استراتيجيه التخطيط ذات المجموعات المترابطه مستخدما ً وذلك لانه سوف يحدث وان يتم احضار قطاع ما من الذاكره للكاش ومن ثم فقده في حين اخر اذا كان هناك الكثير من القطاعات مخططه لنفس مجموعته.

  • زياده معدل الاصابه نقوم باتباع احد هذه الاستراتيجيات

1- حجم الكاش :-
وهي طريقه تهدف لخفض معدل عدم الاصابه , حيث انه كلما كبر حجم الكاش كلما احتوى على كم اكبر من البيانات وبالتالي ترتفع نسبه الاصابه لانه هناك نسبه قليله فقط من قطاعات الرام سوف يتم اجبارها على استعمال الخط نفسه في الكاش. في هذه الحاله وبرفع حجم الكاش فان التطبيقات سوف تستفيد من هذه الزياده ولكن بالوصول الى نقطه ما سوف يكون مابعدها عديم الفائده ان رفعنا الحجم اكثر , وعند الوصول الى هذه النقطه فانه يحتمل ان يكون قد حدث شيء من هذه الامور :-
-- اما ان حجم الكاش اصبح كبير جدا بدرجه اصبحت تغني من احضار البيانات من الDisk.
-- او ان البرنامج "التطبيق" يستعمل الوصول العشوائي فعليا ً حينها لن يكون في زياده حجم الكاش اي دور في العثور على البيانات التاليه المطلوبه .
بشكل عام فان حجم الكاش يفضل ان يكون صغيرا ً بشكل كافي لجعل معدل التكلفه الكلي لكل بت قريبا من ذاك مع الذاكره الرئيسيه فقط , ويفضل ان يكون كبيرا ً بشكل كافي لجعل معدل الوصول الاجمالي قريبا من ذاك بذاكره الكاش وحدها فقط.

احد الاسباب الاخرى التي تدعو الى تصغير حجم الكاش هي:- ان حجم الكاش كل ما زاد كل مازاد عدد البوابات المتسعمله لعنونته وبالتالي هذا سيعمل على ابطائه , حتى وان زدنا حجم الكاش باستعمال نفس الوحدات والدارات مع كاش اخر بحجم اصغر سيظل الحجم الاكبر ابطأ من الاصغر.

ايضا ً حجم الكاش محدود بمقدار المساحه المتاحه على الشريحه "Chip".

2- دالة التخطيط :-

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

هذا وللتخطيط ثلاثه انواع رئيسيه هي التخطيط المباشر و التخطيط المترابط الكلي والتخطيط ذو المجموعات المترابطه.

- التخطيط المباشر :- في هذا النوع من التخطيط يتم تخصيص قطاع من الذاكره الرئيسيه لكل خط من الكاش حسب هذه الصيغه :-

ع = باقي قسمه( ف \س)

حيث ع هي رقم خط الكاش المخصص للقطاع ف من الذاكره الرئيسيه
و س هو عدد الخطوط في الكاش

التخطيط المباشر يقسم عنوان الذاكره الرئيسيه الى ثلاثه حقول مستقله "عنوان الذاكره مكون من د+س بت". كما بالصوره ادناه

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

من الصورة اعلاه يجب ايضاح بعض المصطلحات
- العلم "Tag" :- يعبر عنه بالبت الاكثر اهميه "s-r" كما بالصوره وهو معرف "اداه تعريف" فريده"مميزه لاتتكرر" لكل قطاع من الذاكره الرئيسيه , يتم تخزين الاعلام في الكاش مع الكلمات في الخط الذي يحدد واحد من 2^س قطاع " اثنان اس س قطاع".
- رقم الخط "r":- يعبر عنه بالبت r الاوسط وهو يحدد اي خط سوف يتناول العنوان المشار اليه حاليا ً.

-الكلمه "Word" ويعبر عنها بالبت الاقل اهميه وهو w ووظيفتها تحديد مقدار الازاحه بقطاع ما او بخط ما وبالتالي يتم تحديد البايت المحدده في خط الكاش التي سوف يتم الوصول اليها .

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

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

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


  • التخطيط المترابط الكامل

وفي هذا النوع من التخطيط هناك امكانيه لاي قطاع من الذاكره ان يأخذ اي خط من خطوط الكاش,
وهنا يكون عنوان الذاكره الرئيسيه = W+S bits حيث ان الحقل s يمثل العلم "Tag" والحقل W يمثل الكلمه "Word" كما هو متضح بالصورة ادناه

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

في هذا النوع من التخطيط يجب على متحكم الكاش "Cache Controller" ان يقوم بالتحقق من كل علم "معرف او Tag" في كل خطوط الكاش لكي يحدد ما ان كان عنونا ما من الذاكره متواجد "مقيم" في الكاش ام لاء. وهذا الامر لا يتم بطرق البحث التقليديه بل يتم عن طريق ما يعرف بالذاكره المترابطة "associative memory " وهذه تسمح وتمكن من البحث المتوازي" البحث في عده اماكن بان واحد" لمكان من الذاكره تحت معرف ما. وايضا ً جدير بالذكر هاهنا ان نذكر بان هذه الذاكره المترابطه تتميز وبخلاف الذاكره التقليديه العاديه المعروفه ب RAM بانها تربط وحداتها المختلفه "cells" بالمنطق"صفر او واحد" في الذاكره مما يمكن البحث في دوره زمنيه واحد من البحث في جميع خلايا الذاكره.

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

في حالتنا هذه سوف يحتاج متحكم الكاش الى ان يتعرف بشكل فريد ووحيد كل قطاع من قطاعات الذاكره الرئيسيه التي عددها 2 ^س بت لذلك سوف يحتاج عدد س من البت لذلك, وكما هو معروف سابقا ً فانه بداخل كل قطاع من الذاكره فاننا نحتاج w بت لكي نتعرف على كل كلمه داخل هذا القطاع ونحددها"نشير اليها", ومنذ ان كان اي صف من الكاش يستطيع ان يكون مكان اقامه لاي قطاع من الذاكره الرئيسيه فان متحكم الكاش يحتاج للبحث بشكل متزامن ولحظي في كل المعرفات"الاعلام" لتحديد الصف المطلوب. وهاهنا يأتي دور الذاكره المترابطه حيث انه بالامكان معها البحث في ان واحد في جميع محتويات الكاش , و تتحقق الاصابه حينما يتطابق احد خلايا الذاكره "Cells" مع عنوان البحث وان لم يتم التطابق والعثور فان ذلك يحسب كعدم اصابه, وحينها سوف يقوم متحكم الكاش بحاضار تلك البيانات الى خلايا الكاش من جديد و حينها سوف يقوم بتطبيق احد خوارزميات الاستبدال

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


  • التخطيط ذو المجموعات المترابطة

هذا النوع هو وسط مابين النوع الاول من التخطيط والنوع الثاني المذكورين اعلاه ,فهو ياخذ من مزايهما وهذا ما يجعله من افضل الانوع واكثرها شيوعا ً واستخداما ً ,
وفي هذا النوع من الكاش يتم تقسيم الكاش الى مجموعات صغيره مخططه بشكل مباشر وكل منها يحمل بداخلها مجموعه من الخطوط وبالتالي فان الكاش سوف يتم وصفه اجمالا بمجموع عدد الخطوط بداخل كل مجموعه جزئيه ,وعلى سبيل المثال اذا فرضنا ان مجموعه جزئيه رقم هــ تستطيع ان تحمل عدد ف من الخطوط بداخلها فان الكاش حينئذ يطلع عليه كاش تخطيطي ذو مجموعات مترابطه ف . "F -way set associative cache".
بالامكان هنا تخزين قطاع معين من الذاكره في اي من الخطوط "عددها ك مثلا ً" داخل مجموعه معينه بشرط ان يكون رقم مجموعه الكاش = (باقي قسمه العدد ج \ هــ)
حيث ان ج = يشير الى رقم القطاع من الذاكره الرئيسيه
و ان هـ= يشير الى رقم المجموعات الجزئيه الصغيره بداخل الكاش

ننتقل الان الى تقسيمه عنوان الذاكره مع هذا النوع من التخطيط حيث ان عنوان الذاكره هو "s + w bits" سوف يتم تقسيمها الى ثلاث مناطق مستقله هي:-

2- حقل المجموعه وهو مكون من "d bits"
3- حقل الكلمه وهو مكون من "w bits"

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

- دراسه كيفيه عمل هذا النوع من التخطيط:-
لكل مجموعه من مجموعات الذاكره الرئيسيه فان الكاش قادر على حمل عدد ف من قطاعات الذاكره الرئيسيه باللحظه الواحده "في ان واحد", فعلى سبيل المثال فان ذاكره كاش ذات الاربع مجموعات جزئيه مترابطه بامكانه "A four way set associative cache" بامكانه حمل اربع قطاعات من الذاكره الرئيسيه في وقت واحد من نفس المجموعه , وبمجرد ان يطلب متحكم الكاش قطاعا ً معينا ً من الذاكره فان ذاكره كاش ذات ك مجموعه جزئيه مترابطه سوف يتحقق من محتويات ك خط من خطوط من المجموعه الحاليه التي ينتمي اليها القطاع المطلوب, وهنا ايضا ً كما سبق الذكر انه مع الذاكره المترابطه بالامكان البحث المتوازي , وان حصل وتم العثور في ال ك خط من خطوط الكاش فانها تسجل على انها اصابه , والا سوف تسجل على انها عدم اصابه وحينها سوف يتم اختيار احد خطي الكاش لعمليه الاستبدال وسوف يتم اختيار الخط الذي ينتمي اليه تلك المجموعه, كما في الصوره الاتيه

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

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

الخلاصه:- في العالم الحقيقي يتم استعمال وتطبيق التخطيط المباشر في ذواكر الكاش من المستوى الثاني في اللوحه الام , ويتم استعمال وتطبيق التخطيط ذو المجموعات الجزئيه المترابطه في الكاش المدمج مع المعالج في الاجهزه.
1- حقل المعرف"العلم " وهو مكون من "s - d bits"

  • اساليب الاستبدال بخطوط ذاكرة الكاش

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




واكثر الطرق استعمالا ً هي الطريقه الاولى "أ" وهذه الطريقه تطبق عن طريق مراقبه كل عنصر من عناصر المجموعه الواحده بالنسبه لبقيه العناصر الاخرى في المجموعه. وعلى سبيل المثال فالبنسبة للكاش ذو مجموعتين مترابطتين "Two way set associative cache" بالامكان مراقبة خطوط الكاش عن طريق العتاد وذلك باستخدام بت واحدة فقط لكل خط من خطوط الكاش , فكلما تم تحديد خط ما من الكاش في مجموعه ما يتم اعطاء بت بقيمه 1 لذاك الخط ويتم اعطاء بقية الخطوط بنفس المجموعه القيمه صفر , تسمى تلك البت بالبت الخاصه بالاستعمال , وكذلك ايضا ً ان اي خط من خطوط الكاش التي يتم اختيارها في اي وقت لعمليه الاستبدال يكون خط له بت الاستعمال ذات قيمه تساوي صفر , حيث ان معنى مبدأ مرجعية المكان هو ان اكثر خطوط الكاش استعمالا ً حاليا ً هي نفسها الخطوط التي من المحتمل بشكل كبير جدا ً ان يعاد الاشاره اليها وتحدديدها مجدداً.
ان الطريقه "أ" من طرق الاستبدال تعطي افضل اداء, ولكن تعاني هذه الطريقه من غلو سعر تنفيذها بسبب غلو سعر مراقبه المعلومات بها كما اوضحنا اعلاه.

اما في مايتعلق بالخوازميه الثانيه "ب" من خوارزميات الاستبدال فهي سهله التطبيق في عتاد الهاردوير فماهي اجمالا الا مجموعه من الطوابير,
واخيرا فيما يتعلق بالخوارزميه الثالثه "ج" فهي سهله جدا في التطبيق ولكنها ذات اداء اسوأ بقليل من باقي الخوارزميات المذكوره .
1- المستخدم بشكل اقل مؤخرا ً "Least Recently Used":-وهنا يتم استبدال خط الكاش الذي تم الاشاره عليه في زمن مضى مؤخرا ً "الابعد في الزمن طبعا ً" ليتم وضع مكانه الخط الجديد. 2- الداخل اولا ً- الخارج الاولا ً :- خطوط الكاش في المجموعه التي تم الاشاره اليها في الزمن الماضي" الابعد في زمن طبعا ً" يتم استبدالها . 3-عشوائي:- تتم عمليه الاستبدال بشكل عشوائي.

  • سياسات الكتابه في الكاش

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

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



الرجوع الى أعلى الصفحة اذهب الى الأسفل
https://bride.ahlamontada.com
دمعـــــة حـــــزن
مديرة عامة
مديرة عامة
دمعـــــة حـــــزن


عدد المساهمات : 1419
تاريخ التسجيل : 09/12/2009

شرح ذاكرة الكاش وما هى طرق تصميمها Empty
مُساهمةموضوع: رد: شرح ذاكرة الكاش وما هى طرق تصميمها   شرح ذاكرة الكاش وما هى طرق تصميمها Emptyالسبت يونيو 26, 2010 11:49 pm

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

صلاحيات هذا المنتدى:لاتستطيع الرد على المواضيع في هذا المنتدى
 :: 
(¯`v´¯)-»منتدى الجوال العام « -(¯`v´¯)
 :: قسم خاص لأخبار الجوال وطرق الصيانة
-
انتقل الى:  
آلـ ـتـآلـ ـتـ ــ ـبـ ــ ـآـ ـدل آلـ ـنـ ــ ـصـ ــ ـيـ

اعلان نصي اعلان نصي اعلان نصي
اعلان نصي
اعلان نصي
اعلان نصي
اعلان نصي اعلان نصي اعلان نصي
اعلان نصي
اعلان نصي
اعلان نصي
اعلان نصي اعلان نصي اعلان نصي
اعلان نصي
اعلان نصي
اعلان نصي
اعلان نصي اعلان نصي اعلان نصي

جميع حقوق الطبع و النشر محفوظة ©2011 لمنتديات عروس البصرة
 
عروس البصرة غير في شهر الخير

IP