ما هو الكاش؟

ما هي ذاكرة التخزين المؤقت ، ولماذا تمتلكها وحدات المعالجة المركزية (CPU) ووحدات معالجة الرسومات (GPU) وأنواع المعالجات الأخرى؟ إليك كل ما تحتاج إلى معرفته.

روابط سريعة

  • ذاكرة التخزين المؤقت: مقدار ضئيل من الذاكرة عالية السرعة
  • مستويات ذاكرة التخزين المؤقت والتسلسل الهرمي للذاكرة
  • ذاكرة التخزين المؤقت ضرورية ولكنها لا تعمل على تحسين الأداء من تلقاء نفسها

على الرغم من عدم الحديث عن ذاكرة التخزين المؤقت بقدر ما يتم الحديث عن النوى ، كبش (ذاكرة الوصول العشوائي) ، أو VRAM، ربما سمعت عنها من قبل ، خاصة مؤخرًا. تعلن AMD بفخر عن أداء الألعاب من أجلها وحدات المعالجة المركزية Ryzen مع 3D V-Cache نتيجة لاستخدام ذاكرة التخزين المؤقت ، كان أحد أكبر التحسينات التي أجرتها Intel مع معالجات Raptor Lake من الجيل الثالث عشر هو إضافة المزيد من ذاكرة التخزين المؤقت.

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

ذاكرة التخزين المؤقت: مقدار ضئيل من الذاكرة عالية السرعة

المصدر: AMD

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

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

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

مستويات ذاكرة التخزين المؤقت والتسلسل الهرمي للذاكرة

المصدر: كارلوس كارفالو

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

تحتوي معظم المعالجات على مستويات مختلفة من ذاكرة التخزين المؤقت لأغراض مختلفة. المستوى الأول والأصغر من ذاكرة التخزين المؤقت هو L1 ، والذي يتم منحه نوى فردية لمعالجة البيانات المطلوبة على الفور. غالبًا ما يتم قياس ذاكرة التخزين المؤقت L1 بالكيلو بايت ، حيث تحتوي أحدث وحدات المعالجة المركزية Ryzen 7000 على 64 كيلو بايت من ذاكرة التخزين المؤقت L1 لكل مركز. بالإضافة إلى ذلك ، غالبًا ما يتم تقسيم ذاكرة التخزين المؤقت الحديثة L1 إلى L1I (للتعليمات) و L1D (للبيانات).

التالي هو L2 ، وهو لمجموعة من النوى وليس الفردية. بطبيعة الحال ، تكون ذاكرة التخزين المؤقت L2 أكبر من ذاكرة التخزين المؤقت L1 ، غالبًا بترتيب من حيث الحجم ، ولكن كونها أكبر بكثير وتحتاج إلى خدمة عدد أكبر من النوى يعني أنها أبطأ ولديها زمن انتقال أعلى. بعض المعالجات ، خاصة وحدات معالجة الرسومات (GPU) ووحدات المعالجة المركزية (CPU) الأبطأ ، سترتفع فقط إلى ذاكرة التخزين المؤقت L2.

الخطوة التالية هي L3 ، والتي يتم استخدامها بشكل عام بواسطة جميع النوى الموجودة على الشريحة. يمكن أن يختلف حجمه من بضع مرات أكبر من ذاكرة التخزين المؤقت L2 إلى أكثر من ترتيب أكبر من حيث الحجم ، اعتمادًا على المعالج. هذا يعني أنه أبطأ من ذاكرة التخزين المؤقت L2 ولكنه لا يزال يتفوق على ذاكرة الوصول العشوائي. بالإضافة إلى ذلك ، غالبًا ما تعمل ذاكرة التخزين المؤقت L3 أيضًا "كذاكرة تخزين مؤقت للضحية" ، حيث يتم نقل البيانات التي يتم إخراجها من ذاكرة التخزين المؤقت L1 و L2. قد يتم إخراجها من ذاكرة التخزين المؤقت L3 إذا لم تكن هناك حاجة إليها. اليوم ، تعد ذاكرة التخزين المؤقت L3 مهمة بشكل خاص لـ AMD بسبب تقنية chiplet الخاصة بها. تحتوي رقائق Ryzen 3D V-Cache على 64 ميجابايت من ذاكرة التخزين المؤقت L3 ، بينما تحتوي شرائح ذاكرة التخزين المؤقت RX 7000 (أو MCD) على 16 ميجابايت من ذاكرة التخزين المؤقت L3 لكل منها.

أعلى مستوى من ذاكرة التخزين المؤقت في معظم المعالجات هو L4 ، والذي غالبًا ما يكون كبيرًا جدًا لدرجة أنه يمثل ذاكرة وصول عشوائي فعالة. في الواقع ، فإن أحدث وحدات المعالجة المركزية التي تستخدم ذاكرة التخزين المؤقت L4 هي رقائق Sapphire Rapids Xeon من Intel ، والتي تستخدم HBM2 كذاكرة تخزين مؤقت L4 في الطرز المتطورة. من ناحية أخرى ، لم تستخدم AMD ذاكرة التخزين المؤقت L4 أبدًا وبدلاً من ذلك فهي محتوى لتوسيع ذاكرة التخزين المؤقت L3 إلى سعات عالية عن طريق إضافة المزيد من وحدات المعالجة المركزية وذاكرة التخزين المؤقت. عادةً ما تستفيد ذاكرة التخزين المؤقت L4 من وحدات معالجة الرسومات المدمجة بشكل أكبر ، حيث إنها حل قابل للتشغيل يمكنه مشاركة البيانات بين وحدة المعالجة المركزية ووحدة معالجة الرسومات المدمجة.

في بعض مجموعات الشرائح ، وخاصة الأجهزة المحمولة ، هناك نوع آخر من ذاكرة التخزين المؤقت: ذاكرة التخزين المؤقت على مستوى النظام (SLC). ثم يتم استخدام ذاكرة التخزين المؤقت هذه عبر مجموعة الشرائح بأكملها ، مثل GPU و NPU و CPU. يمكن أن تحل ذاكرة التخزين المؤقت محل الحاجة إلى طلبات الذاكرة الرئيسية ، لذا فإن SLC يفيد شركة نفط الجنوب بأكملها.

ذاكرة التخزين المؤقت ضرورية ولكنها لا تعمل على تحسين الأداء من تلقاء نفسها

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

ومع ذلك ، فإن القدرة على إضافة قدر كبير من ذاكرة التخزين المؤقت يمكن أن تكون مرغوبة في مواقف معينة. تميل وحدات المعالجة المركزية التي تحتوي على الكثير من ذاكرة التخزين المؤقت إلى الأداء بشكل أفضل في الألعاب ، على سبيل المثال. تعد وحدات المعالجة المركزية Ryzen من AMD المزودة بـ 3D V-Cache سريعة جدًا للألعاب على الرغم من وجود تردد أقل من الرقائق التي لا تحتوي على V-Cache ، و تعد وحدات المعالجة المركزية من الجيل الثالث عشر من Intel أسرع بكثير من شرائح الجيل الثاني عشر ، والتحسين الرئيسي الوحيد هو زيادة مخبأ.

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