تعمل وحدات المعالجة المركزية الحديثة بسرعة مذهلة ؛ يمكنهم التفوق بشكل كبير على ذاكرة الوصول العشوائي للنظام. سيؤدي عدم توازن السرعة بين وحدة المعالجة المركزية والذاكرة إلى توقف المعالج في كثير من الأحيان عن العمل ، في انتظار إرسال البيانات إليه حتى يتمكن من متابعة تشغيل العملية. لمنع حدوث ذلك ، والسماح لوحدات المعالجة المركزية بالاستمرار في العمل بشكل أسرع وأسرع ، يتم استخدام ذاكرة التخزين المؤقت لوحدة المعالجة المركزية.
كيف تعمل ذاكرة التخزين المؤقت لوحدة المعالجة المركزية على تسريع وحدة المعالجة المركزية؟
تم تصميم ذاكرة التخزين المؤقت لوحدة المعالجة المركزية لتكون أسرع ما يمكن ومن ثم تخزين البيانات التي تطلبها وحدة المعالجة المركزية. تم تحسين سرعة ذاكرة التخزين المؤقت لوحدة المعالجة المركزية من خلال ثلاث طرق: زمن الوصول وعرض النطاق الترددي والقرب. تعمل ذاكرة التخزين المؤقت لوحدة المعالجة المركزية في زمن انتقال منخفض للغاية ، مما يقلل مقدار الوقت الذي يستغرقه إرجاع النتيجة. على سبيل المثال ، يحتوي Intel i9-9900k على زمن انتقال ذاكرة تخزين مؤقت يبلغ 0.8 و 2.4 و 11.1 نانوثانية لذاكرة التخزين المؤقت L1 و L2 و L3 على التوالي. وبالمقارنة ، فإن زمن انتقال ذاكرة الوصول العشوائي عالية السرعة الحديثة يصل إلى 14 نانوثانية.
نصيحة: سيتم شرح مستويات ذاكرة التخزين المؤقت بمزيد من التفصيل لاحقًا ، ولكن ببساطة وضع الطبقات السفلية من ذاكرة التخزين المؤقت تكون أسرع ولكنها أغلى ثمناً ، لذا فهي ذات سعات أقل. النانو ثانية هي جزء من المليار من الثانية ، لذا فإن وقت الاستجابة البالغ 0.8 ثانية يعني أن الأمر يستغرق أقل من جزء من المليار من الثانية لإرجاع نتيجة.
من حيث النطاق الترددي ، توفر ذاكرة التخزين المؤقت لوحدة المعالجة المركزية تحسينات كبيرة في الأداء مقارنة بالتخزين التقليدي وذاكرة الوصول العشوائي. يمكن أن تبلغ سرعات القراءة لذاكرة التخزين المؤقت L1 و L3 ذروتها عند 2.3 تيرابايت / ثانية و 370 جيجابايت / ثانية على التوالي ، بينما يبلغ عرض النطاق الترددي لذاكرة الوصول العشوائي عادةً حوالي 40 جيجابايت / ثانية. يعني هذا النطاق الترددي المتزايد أن ذاكرة التخزين المؤقت لوحدة المعالجة المركزية يمكنها نقل البيانات إلى وحدة المعالجة المركزية بشكل أسرع بكثير من ذاكرة الوصول العشوائي.
لتحقيق أقصى سرعات ممكنة ، تم دمج ذاكرة التخزين المؤقت لوحدة المعالجة المركزية بالفعل في سيليكون قالب وحدة المعالجة المركزية نفسها. يؤدي ذلك إلى تقليل المسافة التي تحتاجها أي إشارات كهربائية لقطعها ، وبالتالي الحفاظ على وقت الاستجابة عند أدنى مستوى ممكن. على سبيل المثال ، عندما تم نقل ذاكرة التخزين المؤقت L3 لأول مرة من اللوحة الأم إلى وحدة المعالجة المركزية ، كان المعالج في ذلك الوقت (Pentium 4 EE) قادرًا على تحسين الأداء بنسبة 10-20٪.
بنية ذاكرة التخزين المؤقت لوحدة المعالجة المركزية
تستخدم وحدات المعالجة المركزية الحديثة عمومًا ثلاث طبقات من ذاكرة التخزين المؤقت لوحدة المعالجة المركزية المسمى L1-3 ، مع كون ذاكرات التخزين المؤقت ذات الأرقام المنخفضة أقرب إلى نوى وحدة المعالجة المركزية ، وأسرع ، وأكثر تكلفة. كل نواة وحدة معالجة مركزية فردية في وحدة المعالجة المركزية متعددة النواة لها ذاكرة التخزين المؤقت L1 الخاصة بها. يتم تقسيمها عادةً إلى جزأين ، L1I و L1D. يتم استخدام L1I لتخزين التعليمات الخاصة بوحدة المعالجة المركزية مؤقتًا بينما يتم استخدام L1D للتخزين المؤقت للبيانات التي سيتم تنفيذ هذه التعليمات عليها.
عادةً ما يكون لكل نواة من وحدات المعالجة المركزية أيضًا ذاكرة التخزين المؤقت L2 الخاصة بها على وحدة المعالجة المركزية الحديثة. تعد ذاكرة التخزين المؤقت L2 أكبر وأبطأ من ذاكرة التخزين المؤقت L1 وتستخدم بشكل أساسي لتخزين البيانات التي لا تتناسب مع ذاكرة التخزين المؤقت L2. من خلال وجود ذاكرة تخزين مؤقت L2 مخصصة لكل مركز ، يتم تجنب التنازع على ذاكرة التخزين المؤقت. التنازع على ذاكرة التخزين المؤقت هو المكان الذي تقاتل فيه النوى المختلفة للمطالبة بمساحة ذاكرة التخزين المؤقت لأحمال العمل الخاصة بها ، مما قد يؤدي إلى مسح البيانات المهمة من ذاكرة التخزين المؤقت.
عادةً ما يتم مشاركة ذاكرة التخزين المؤقت L3 بين جميع أنوية وحدة المعالجة المركزية في المعالج. مرة أخرى ، تكون ذاكرة التخزين المؤقت L3 أبطأ من ذاكرة التخزين المؤقت L2 ولكنها أرخص وأكبر. من خلال توفير ذاكرة تخزين مؤقت مشتركة ، من الممكن تقليل كمية البيانات التي يمكن تكرارها على مستويات أقل من ذاكرة التخزين المؤقت لكل مركز.
نصيحة: على سبيل المثال ، في أحجام ذاكرة التخزين المؤقت ، تحتوي Intel's i9-9900K على 64 كيلو بايت L1 وذاكرة تخزين مؤقت 256 كيلو بايت L2 لكل مركز (بإجمالي 512 كيلو بايت L1 و 2 ميجا بايت L2) ، كما تحتوي أيضًا على ذاكرة تخزين مؤقت مشتركة L3 بسعة 16 ميجا بايت.
كيف يتم استخدام ذاكرة التخزين المؤقت لوحدة المعالجة المركزية؟
تُستخدم جميع مستويات ذاكرة التخزين المؤقت لوحدة المعالجة المركزية لتسريع أداء المعالج عن طريق تخزين البيانات مؤقتًا من ذاكرة الوصول العشوائي. عندما تطلب وحدة المعالجة المركزية بيانات ، فإنها عادةً ما تبحث في طبقات ذاكرة التخزين المؤقت أولاً في محاولة للحصول على البيانات بأسرع ما يمكن. إذا تم العثور على البيانات في نتيجة ذاكرة التخزين المؤقت ، فيمكن لوحدة المعالجة المركزية متابعة معالجتها. إذا لم تكن البيانات في ذاكرة التخزين المؤقت ، في ما يسمى فقدان ذاكرة التخزين المؤقت ، فيجب على وحدة المعالجة المركزية التحقق من ذاكرة الوصول العشوائي ، ثم القرص الصلب إذا لم تكن البيانات موجودة أيضًا. يتم دائمًا فحص الطبقات الأسرع أولاً لتحقيق أقصى أداء.
لمساعدة وحدة المعالجة المركزية في الحصول على البيانات التي تحتاجها في ذاكرة التخزين المؤقت عندما تحتاج إليها ، تحاول ذاكرة التخزين المؤقت استباق البيانات التي قد تحتاجها وحدة المعالجة المركزية بعد ذلك. على سبيل المثال ، إذا طلبت وحدة المعالجة المركزية بعض البيانات لصورة ما ، فقد تحاول ذاكرة التخزين المؤقت تخزين المزيد من بيانات الصورة مؤقتًا بشكل استباقي بحيث يمكن تغذيتها إلى وحدة المعالجة المركزية بأسرع ما يمكن.