ذاكرة الكاش في المعالج هي ذاكرة سريعة تحفظ نسخًا من بيانات أو تعليمات قد يحتاج إليها المعالج قريبًا، فتقلل زمن الانتظار عند توافر المطلوب فيها. وهي جزء من تدرج الذاكرة، وليست نسخة كاملة من RAM. كما يختلف كاش المعالج عن الملفات المؤقتة التي يحفظها المتصفح. [1]
ما الفائدة من ذاكرة إضافية صغيرة؟
ينفذ المعالج تعليمات كثيرة، لكن وصول البيانات إليه ليس فوريًا في جميع الحالات. يحتفظ الكاش ببيانات قريبة من موضع التنفيذ، فتكون بعض الطلبات أسرع من جلبها من الذاكرة الرئيسية. هذا هو سبب الاهتمام بالقرب وزمن الوصول، لا بالسعة وحدها؛ فذاكرة صغيرة وسريعة قد تؤدي وظيفة لا تعوضها ذاكرة أكبر وأبعد. [1]
لا ينسخ الكاش كل محتويات RAM. مساحة الكاش محدودة، ولذلك تُدار المعلومات التي يحتفظ بها وفق آليات المعالج. يمكن أن تُستبدل بيانات بأخرى عند الحاجة. ولهذا لا يصح وصفه بأنه صندوق يتسع دائمًا لكل برامج الجهاز وملفاته. [1]
ماذا تعني إصابة الكاش وإخفاقه؟
إذا وجد المعالج البيانات المطلوبة في مستوى الكاش الذي فحصه، تسمى النتيجة إصابة الكاش، أو cache hit. وإذا لم يجدها، يحدث إخفاق، أو cache miss، وقد يستلزم البحث في مستوى آخر أو في RAM. لا يعني الإخفاق عطلًا؛ فهو نتيجة طبيعية لكون الذاكرة السريعة محدودة. [1]
لتقريب الفكرة، افترض أن مهمة تعود مرارًا إلى مجموعة صغيرة من البيانات؛ قد تستفيد من بقائها قريبة. أما معالجة مجموعة أكبر من السعة المتاحة فتتطلب انتقالات إضافية. هذا مثال على نمط الوصول، وليس قياسًا لأداء برنامج بعينه، لأن النتيجة تتأثر بتفاصيل كثيرة. [1]
هل L1 وL2 وL3 متطابقة في كل جهاز؟
تظهر أسماء L1 وL2 وL3 في مواصفات معالجات كثيرة. وتشير إلى مستويات في التدرج، وقد تنقسم الذاكرة القريبة إلى تعليمات وبيانات، أو تشترك عدة أنوية في بعض المستويات. لكن عدد المستويات وأحجامها وطريقة مشاركتها ليست قاعدة واحدة لكل المنتجات. راجع مواصفات الطراز بدل تعميم رسم معماري واحد على جميع المعالجات. [2] [3]
لذلك لا يكفي أن تقارن رقم الكاش بين معالجين مختلفين للحكم بأن أحدهما أسرع. تفيد المواصفة في فهم البنية، بينما تحتاج مقارنة الأداء إلى المهمة الفعلية وطريقة الاختبار المناسبة لها. [3]
كاش المعالج ليس كاش المتصفح
يحفظ كاش الويب نسخًا من استجابات مثل صور وملفات، عندما تسمح قواعد التخزين المؤقت بإعادة استعمالها. قد يوفر إعادة تنزيل الموارد في زيارة لاحقة، ويخضع لتواريخ الصلاحية والتحقق من التحديثات. أما كاش المعالج فطبقة عتادية قريبة من تنفيذ التعليمات. اشتراكهما في فكرة الاحتفاظ بنسخة لا يعني أنهما المكان نفسه. [4]
حذف كاش المتصفح قد يجبره على تحميل موارد من جديد؛ فلا تعده إجراءً عامًا لتسريع المعالج، ولا تربط خيار الحذف في المتصفح بحجم L3 الذي تقرؤه في مواصفات الكمبيوتر. [4]
المصادر ومتابعة القراءة
- Intel: تدرج الذاكرة وأثر التخزين القريب من المعالج (يفتح في نافذة جديدة)intel.com
- Intel: معرفة أحجام مستويات L1 وL2 وL3 (يفتح في نافذة جديدة)intel.com
- Intel: اختلاف مشاركة الكاش باختلاف بنية المعالج (يفتح في نافذة جديدة)intel.com
- MDN: التخزين المؤقت لاستجابات HTTP في المتصفح والشبكة (يفتح في نافذة جديدة)developer.mozilla.org
أُعدّ هذا المقال بصياغة عربية أصلية بالاستناد إلى المصادر أعلاه، وهو مدخل تمهيدي إلى الموضوع. اقرأ منهجية المحتوى وحدوده.
