Professional Documents
Culture Documents
Characteristics انخصائص
Location الموقع
Capacityالسعة
Unit of transferوحدة النقل
Access methodطرٌقة الدخول
Performanceاالداء
Physical typeًالنوع الفٌزٌائ
Physical characteristicsالخصائص الفٌزٌائٌة
Organisation التنظٌم
انًوقــع
ٌ شٌر الى موقع الذاكرة ٌ ،وجد نوعٌن :
داخلٌة ( Internalالذاكرة الرئٌسٌة ،المسجالت ،الكاش )
خارجٌة ( Externalاجهزة التخزٌن الثانوي )
الفرق بينهم :
ٌمكن للمعالج الدخول الى الذاكرة الداخلٌة بصورة مباشرة وللخارجٌة من
خالل . I/O
انسعــت
حجم الكلمة Word size .1
ٌكون حجم الكلمة حسب طبٌعة التنظٌم
External
عادة تكون كتلة blockوهً اكبر بكثٌر من الكلمة word
Magneticالمغناطٌسٌة .2
نستخدم االقراص واالشرطة Disk & Tape
الضوئٌةOptical .3
CD & DVD
التنظيم
ٌقصد به الترتٌب الفعلً للبت فً الكلمات ، wordsودائما ً ال ٌكون
واضح .
بانتاني ...هــم نشيذ انسشعت ؟؟؟
من الممكن بناء جهاز حاسوب ٌستخدم فقط SRAMبالتالً :
.1سٌكون سرٌع جداً .
.2ال ٌحتاج كاش .
.3التكلفة تكون كبٌرة
عند تصمٌم الذاكرة تتم المفاضلة ما بٌن سعة الذاكرة وسرعتها وتكلفتها
-زٌادة السرعة تعنً زٌادة تكلفة البت
-زٌادة السعة تعنً قلة تكلفة البت
-زٌادة السعة تعنً قلة سرعتها
تًوضع انًشاجع Locality of Reference
العمل على نقل البٌانات فً شكل كتل Blockمن الذاكرة البطئٌة ووضعها
فً الذاكرة السرٌعة بحٌث ٌجد المعالج ما ٌحتاجه فً الذاكرة السرٌعة .
المقصود بالمراجع :مواضع الذاكرة التً ٌحتاجها المعالج للرجوع إلٌها
أثناء تنفٌذ البرامج .
انكــاش
الهدف من استخدامها الحصول على سرعة عالٌة .وتكون موجودة بٌن
الذاكرة الرئٌسٌة والــ . CPU
قد توجد موجودة على رقاقة CPUأو وحدة نمطٌة .
هيكم راكشة انكاش وانزاكشة انشئيسيت
Cache operationعًهياث انكاش
.1تطلب CPUمحتوٌات موقع الذاكرة .
.2التحقق من وجود البٌانات فً الكاش
.3إذا موجودة ٌتم الحصول علٌها من الكاش
.4إذا لم تكن موجودة ٌ ،طلب قراءة الكتل من الذاكرة الرئٌسٌة .
.5بعدها تسلم من الكاش الى CPU
.6تشمل الكاش عالمات Tagsلتحدٌد أي كتلة من الذاكرة الرئٌسٌة موجودة
فً كل منفذ
ال Tagجزء من عنوان الكلمة wordالمطلوب الرجوع الٌها فً الذاكرة
الرئٌسٌة .
يخطط انسيابي نعًهيت انقشاءة ين انكاش
تصًيى انكاش Cache Design
العناصر األساسية لتصميم الكاش :
Size .1الحجم
.2وظٌفة التخطٌط Mapping Function
.3خوارزمٌة االستبدالReplacement Algorithm
.4سٌاسة الكتابةWrite Policy
.5حجم الكتلBlock Size
.6عدد الكاشNumber of Caches
انحجــى
Costالتكلفة :زٌادة الكاش مكلف .1
Speedالسرعة :زٌادة الكاش تزٌد السرعة .2
تأكد الكاش من وجود البٌانات ٌاخذ وقت
نًورج تصًيى انكــاش
وظيفت انتخطيط
عدد خطوط الكاش أقل من عدد كتل الذاكرة ،بالتالً هناك حوجة
لخوارزمٌة لتحدٌد خط الكاش الذي ستوضع فٌه كل كتلة من كتل الذاكرة .
وجود حوجة لطرٌقة تحدٌد أي كتلة من كتل الذاكرة هً التً تشغل خطا ً
معٌنا ً من خطوط الكاش حالٌا ً :
Direct -1مباشر
Associative -2ترابطً
Set Associative -3مجموعة ترابطٌة
EXCERCISE
انتخطيط انًباشش
ٌ تم فٌه تحدٌد خط معٌن من خطوط الكاش لكل كتلة من كتل الذاكرة .
بمعنى انه إذا كانت كتلة من كتل الذاكرة موجودة فً الكاش ،فإنها ٌجب أن
تكون فً خط الكاش المخطط لها .
ٌ كون العنوان فً جزأٌن :
Least Significant Bit (LSB) .1أقل بت أهمٌة ٌ wحدد كلمة فرٌدة
unique
Most Significant Bit ( MSB ) .2أكثر بن أهمٌة تحدد Sكتلة واحدة
تقسم الــ MSBإلى ( حقل خط الكاش وعالمة ٌ tagمثل بــ( ))s-r
انتخطيط انًباشش
ٌ تكون العنوان من 24بت :
2 -بت لتعرٌف ( wordحجم الكتلة 4باٌت) ،و 22بت لتعرٌف الكتلة
. block
ال توجد كتلتٌن لهما نفس خط الكاش .
ٌ تم فحص المحتوٌات للكاش بواسطة ( إٌجاد الخط Lineوفحص الـــ tag
)
المـــزايا :
البساطـــة وانخفــاض التكلفــة
العيـــوب :
تخصٌص موقع ثابت لكل كتلة معطٌة ( إذا طلب البرنامج الوصول لموقعًٌ
ذاكرة ٌقعان ضمن كتلتً ذاكرة مختلفتٌن بصورة متكررة تكون اخطاء الكاش
عالٌة جداً .تسمى هذه الظاهرة بالـــ ). Thrashing
Direct Mapping Cache Organization
Direct Mapping
Example
انتخطيط انتشابطي
حلت مشكلة عدم تخصٌص خط معٌن بالكاش لكتلة الذاكرة وٌمكن أن تحمل
فً أي خط بالكاش .
ٌتم تفسٌر عنوان الذاكرة إلى ( wordو ، ) tagتحدد الــ tagكتلة
فرٌدة من الذاكرة .
ٌكون البحث فً الكاش مكلف .
تتكون الــعالمة tagمن 22بت لكل . 32 bit block
ٌقارن حقل العالمة مع العالمة المدخلة فً الكاش للتاكد منها .
األقل أهمٌة LSBللعنوان ،تحدد أي 16 bit wordمطلوبة من بٌانات
الـــ . 32 bit block
تخطيط يجًوعت تشابطيت
فً هذا النوع ٌتم تقسٌم الكاش إلى عدد من المجموعات . Sets
كل مجموعة مكونة من عدد من الخطوط
ٌمكن وضع الكتلة فً أي خط لمجموعة معٌنة
مثال وجود خطٌن 2 linesلكل مجموعة .
عدد خطوط المجموعة االكثر استخداما ً هو ٌ 2سمى 2 way associative •
. mapping
ٌستخدم حقل Setلتحدٌد مجموعة الكاش لٌتم النظر فٌها .وٌقارن حقل tag •
لمعرفة اذا فٌه مشكلة أو ضرر أم ال .
خواسصيياث االستبذال ( انتخطيط انًباشش )
عند نقل كتلة من كتل الذاكرة الى الكاش فإنها ٌجب أن تحل محل إحدى
الكتل الموجودة .
حٌث أن الكتلة المنقولة بالكاش لها خط كاش محدد مسبقا ً وسٌتم استبدال
الكتلة الموجودة بذلك الخط .
ٌ وجد خٌار والبد من خوارزمٌة لالستبدال أشهرها ( الترابطً والمجموعة
الترابطٌة ) :
ٌ : Least Recently used (LRU) .1تم تطبٌقها فً الـــ 2 way set
associativeحٌث ٌتم استبدال كتلة المجموعة التً كانت فً الكاش مع
عدم اإلشارة لذلك .وهً أفضل خوارزمٌة إستبدال .
: First in first out (FIFO) .2استبدال الكتلة فً المجموعة والتً كانت
لفترة موجودة لفترة اطول .
خواسصيياث االستبذال ( انتخطيط انتشابطي وانًجًوعت انتشابطيت )
)Least frequently used (LFU .3
استبدال الكتلة التً تمت زٌارتها بأقل عدد من الــ ( hitsاستبدال الكتلة التً
شهدت اقل عدد من المراجع ) ٌمكن استخدامها من خالل ربط عداد مع كل سطر
.
Random .4
سياست انكتابت
المشكلة وجود نسختٌن من الكلمة ( wordفً الذاكرة والكاش)
عند الكتابة بالكاش ٌجب تحدٌث اصل الكلمة الموجودة بالذاكرة .
المعالجات المتعددة ٌمكن ان ٌكون لها ذواكر مخبأة فرادى individual
. caches
المعالجات المتعددة تمكن من قٌام وحدات I/Oبالدخول المباشر للذاكرة .
ولحــل هذه المشكلة توجد طرق وهي :
.1الكتابة من خالل Write through
.2الكتابة مرة اخرى Write back
انكتابت ين خالل
تكون الكتابة مرتٌن ،فً الكاش والذاكرة .
ٌمكن للمعالجات من متابعة حركة الذاكرة الرئٌسٌة للحفاظ على مستوى
الكاش .
وٌقلل من سرعة المعالجة بسبب الرجوع للذاكرة عبر ناقل النظام
System Bus
انكتابت يشة اخــشى
التحدٌثات التً ٌتم إجــراؤها فً الكاش فقط ،مع استخدام خانة ثنائٌة
تسمى update bitلكل خط من خطوط الكاش .مهمتها ( تحدٌد ما إذا
كان قد تم إجراء أي عملٌة كتابة على الــ wordsالمنتمٌة للكتلة الموجودة
بذلك الخط .
عند الحوجة إلستبدال أي كتلة ٌتم فحص الـ update bitإذا كان فً حالة
setمما ٌدل على إجراء عملٌة كتابة بالكتلة ٌ ،تم إعادة كتابة الكتلة بأكملها
فً الذاكرة قبل إستبدالها .
من مزاٌا هذا االسلوب أنه :
ٌقلل عدد مرات الرجوع للذاكرة .
ٌحسن الكفــاءة .
عٌبــه :ال ٌضمن التطابق التام ما بٌن الذاكرة والكاش فً جمٌع األوقات .
حجــى انكتهت
عند وضع كتلة فً الكاش ٌتم إحضار مجموعة من الكلمات المجاورة لها .
بزٌادة حجم الكتلة تبدأ اإلصابة بما ٌعرف بــ ، Hit Ratioمع االستمرار
فً زٌادة حجم الكتلة اكثر من ذلك تبدأ نسبة اإلصابة بالتراجع .
إحتمال الحاجة الستخدام البٌانات الجدٌدة أقل من إحتمال الحاجة العادة
استخدام البٌانات التً تم استبدالها وذلك لألسباب اآلتٌة :
.1كلما زاد حجم الكتلة قل عدد الكتل التً ٌمكن وضعها بالكاش .
.2كلما زاد حجم الكتلة زاد بعد الكلمة اإلضافٌة الموجودة بها عن الكلمة
المطلوبة مما ٌقلل من احتمال الحاجة للرجوع لهذه الكلمات اإلضافٌة .
عــذد انكاش
وجود عدة مستوٌات من الكاش ( داخل أو خارج المعالج ) .
الكاش الخارجً ٌتم الوصول إلٌه عبر ناقل النظام . System Bus
الكاش الداخلً ٌزٌد من سرعة الدخول بسبب قصر المسافة مقارنة بالكاش
الخارجً ، ،وٌقلل من حاجة المعالج الستخدام ناقل النظام ٌ ،زٌد سرعة
المعالجة وٌحسن مستوى األداء .
مشكلة الكاش الداخلٌة هً محدودٌة حجم الكاش لمحدودٌة المساحة المتاحة
.
الحوجة لمستوى آخر أكبر حجما ً اطلق علٌه الكاش الداخلً L1 cache
وعلى الكاش الخارجً . L2 cache
الدخول لــ ٌ L2تم عبر ناقل النظام .
تم إستخدام ناقل خاص بٌن الكاش الخارجً والمعالج سمى بــ Back Side
) – Bus (BSBالناقل الخلفً .
تم التقلٌل الضغط على ناقل النظام .
تم نقل L2داخل المعالج وظهر L3خارجٌا ً فً البداٌة ثم اصبح داخلٌا ً .
تم تقسٌم L1 cacheإلى :
L1 instruction cache .1
L1 data cache .2
المٌزة هً إلغاء التنافس على الدخول للكاش ما بٌن وحدة (
)fetch/decodeووحدة () Execution
4 كاش بنتيوو
80386 – no on chip cache
80486 – 8k using 16 byte lines and four way set associative
organization
Pentium (all versions) – two on chip L1 caches
Data & instructions
Pentium III – L3 cache added off chip
Pentium 4
L1 caches
8k bytes
64 byte lines
four way set associative
L2 cache
Feeding both L1 caches
256k
128 byte lines
8 way set associative
L3 cache on chip