ذاكرة التخزين المؤقت (Cache Memory)، ما هي؟ كيف تعمل؟ وماذا عن L1 و L2 و L3؟

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

لمزيد من المعلومات حول المعالجات ومواصفاتها يمكنك مراجعة مقالاتنا السابقة:

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

ما هي ذاكرة التخزين المؤقت الخاصة بالمعالج؟

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

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

أخيرًا، تحتوي وحدة المعالجة المركزية على وحدات ذاكرة أسرع وأسرع والتي تسمى بذاكرة التخزين المؤقت.

يمكنك مراجعة مقالاتنا الخاصة بأقراص التخزين وذاكرة التخزين المرقت RAM:

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

Cache Memory هي ذاكرة وصول عشوائي ساكنة (Static RAM)، لكن بالمقارنة مع ذاكرة الوصول العشوائي المستخدمة في الحاسوب والتي هي من النوع المتزامن الديناميكي (SDRAM) فهي أسرع بكثير، ويمكنها الإحتفاظ بالبيانات دون الحاجة لتحديثها بإستمرار مما يجعلها مثالية للإستخدام كذاكرة تخزين مؤقت لوحدة المعالجة المركزية.

كيف تعمل Cache Memory؟

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

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

تقوم وحدة التحكم في الذاكرة بمهمة أخذ البيانات من ذاكرة الوصول العشوائي وإرسالها إلى Cache Memory. اعتمادًا على وحدة المعالجة المركزية الموجودة في حاسوبك فمن الممكن أن تكون وحدة التحكم هذه إما على مجموعة شرائح North Bridge على اللوحة الأم أو داخل وحدة المعالجة المركزية نفسها.

بعد ذلك، تقوم Cache Memory بتنفيذ التعليمات البرمجية بشكل متتالي داخل وحدة المعالجة المركزية وبسرعة كبيرة تستطيع بها مجاراة المعالج وتزويده بالتعليمات البرمجية بشكل متتالي لتنفيذها. خلال تسلسل هرمي دقيق.

مستويات Cache Memory: L1 و L2 و L3

يتم تقسيم Cache Memory لوحدة المعالجة المركزية إلى ثلاثة مستويات رئيسية هي:  L1 ، L2 ، و L3. ويتم ترتيبها وفقا للسرعة الأعلى  والسعة الأقل. فكلما زادت سرعة الذاكرة كان ذلك على حساب سعتها.

ذاكرة التخزين المؤقت L1 (المستوى 1) هي أسرع ذاكرة موجودة في داخل الحاسوب. فيما يتعلق بأولوية الوصول، تحتوي ذاكرة التخزين المؤقت L1 على البيانات التي تحتاج إليها وحدة المعالجة المركزية أثناء إكمال مهمة معينة.

عادة ما تمتلك ذاكرة التخزين المؤقت L1 سعة تصل إلى 256 كيلو بايت. لكن بعض وحدات المعالجة المركزية القوية تصل فيها السعة لما يقارب 1 ميجابايت. تحتوي بعض  رقاقات المعالجات الخاصة بالخوادم (مثل وحدات المعالجة المركزية Xeon من Intel) على ما يتراوح بين 1-2 ميجابايت من ذاكرة التخزين المؤقت L1.

عادةً ما يتم تقسيم ذاكرة التخزين المؤقت L1 لقسمين، الأول Cache Memory للتعليمات والثاني Cache Memory للبيانات. تتعامل Cache Memory للتعليمات مع المعلومات حول العملية التي يجب أن تقوم بها وحدة المعالجة المركزية، بينما تحتوي Cache Memory للبيانات على البيانات التي سيتم تنفيذ العملية عليها.

ذاكرة التخزين المؤقت L2 (المستوى 2) أبطأ من ذاكرة التخزين المؤقت L1 ، ولكن أكبر في السعة. تتراوح سعتها عادة بين 256 كيلو بايت إلى 8 ميجابايت ولكن وحدات المعالجة المركزية الجديدة والقوية تمتلك سعة أكبر من ذلك. تحتوي ذاكرة التخزين المؤقت L2 على بيانات من المحتمل أن يتم الوصول إليها بواسطة وحدة المعالجة المركزية تخص التعليمات البرمجية التالية في التنفيذ. في معظم وحدات المعالجة المركزية الحديثة تتواجد ذاكرتي التخزين المؤقت L1 و L2 على بداخل وحدة المعالجة المركزية نفسها.

ذاكرة التخزين المؤقت L3 (المستوى 3) ذاكرة التخزين المؤقت هي أكبر وحدة ذاكرة تخزين مؤقت وكذلك هي الابطأ. يمكن أن تتراوح سعتها بين 4 ميغابايت إلى 50 ميغابايت.

ما معنى Cache Hit أو Cache Miss؟ وما معنى Latency؟

تتدفق البيانات من ذاكرة RAM إلى Cache Memory L3 ثم L2 وأخيراً L1. عندما يبحث المعالج عن بيانات لتنفيذ عملية ما، فإنه يحاول أولاً العثور عليها في Cache Memory. إذا كانت وحدة المعالجة المركزية قادرة على العثور عليها نقول في هذه الحالة أن Cache Memory أصابت الهدف Cache Hit. إذا لم تعثر وحدة المعالجة على البيانات في ذواكر التخزين المؤقت فستحاول الوصول إليها من الذاكرة الرئيسية. في هذه الحالة نقول فقدنا الهدف Cache Miss.

تم تصميم Cache Memory لتسريع عملية نقل المعلومات ذهابًا وإيابًا بين الذاكرة الرئيسية ووحدة المعالجة المركزية. يسمى الوقت اللازم للوصول إلى البيانات بزمن الإنتقال او الوصول Latency.بالطبع الذاكرة L1 لديها أدنى زمن إنتقال كونها الأسرع والأقرب إلى المعالج، والذاكرة L3 لديها الأعلى. يزداد زمن الوصول أو الإنتقال كثيرًا عندما يكون هناك حالة فقدان للهدف. وذلك لأن وحدة المعالجة المركزية ستضطر أن تحصل على البيانات من الذاكرة الرئيسية.

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

في الماضي، كانت تصميمات Cache Memory تضع ذواكر L2 و L3 خارج وحدة المعالجة المركزية، وهذا كان له تأثير سلبي على زمن الوصول.ولكن مع التقدم في تقنيات التصنيع للمعالجات أصبح من الممكن احتواء مليارات الترانزستورات في مساحة أصغر من ذي قبل. نتيجة لذلك، يمكن وضع Cache Memory بشكل أقرب من وحدة المعالجة المركزية دون القلق من عامل المساحة وهذا يقلل بشكل كبير من زمن الوصول.

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

عملية تصميم Cache Memory مستمرة في التطور ومع الوقت تصبح أرخص وأسرع وأكثر سعة. قدمت شركتا Intel وAMD الكثير من المعالجات مع تطورات هائلة في ذواكر التخزين المرقت، وأبرز ما تعمل عليه الشركتان هي الاختبارات التي تقوم بها Intel لذاكرة تخزين مؤقت L4.

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