ذاكرة التخزين المؤقت في أنظمة الكمبيوتر Cache Memory in Computer Organization

اقرأ في هذا المقال


ما هي ذاكرة التخزين المؤقت Cache memory؟

ذاكرة التخزين المؤقت (Cache memory)، هي مكون من مكونات الكمبيوتر يعتمد على الرقاقة يجعل استرداد البيانات من ذاكرة الكمبيوتر أكثر كفاءة، تعمل كمنطقة تخزين مؤقتة يمكن لمعالج الكمبيوتر استرداد البيانات منها بسهولة، منطقة التخزين المؤقتة هذه، والمعروفة باسم “ذاكرة التخزين المؤقت” (temporary storage area)، متاحة بسهولة للمعالج أكثر من مصدر الذاكرة الرئيسي للكمبيوتر، وعادةً ما يكون أحد أشكال ذاكرة (DRAM).

تسمى ذاكرة التخزين المؤقت أحيانًا ذاكرة وحدة المعالجة المركزية (CPU) (central processing unit)، لأنّها عادةً ما تكون مدمجة مباشرةً في شريحة وحدة المعالجة المركزية أو يتم وضعها على شريحة منفصلة تحتوي على ناقل منفصل متصل بوحدة المعالجة المركزية، لذلك، يمكن للمعالج الوصول إليه بشكل أكبر، وقادر على زيادة الكفاءة، لأنّه قريب فعليًا من المعالج.

شرح ذاكرة التخزين المؤقت Cache memory:

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

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

أنواع ذاكرة التخزين المؤقت:

ذاكرة التخزين المؤقت سريعة ومكلفة، تقليديًا، يتم تصنيفها على أنّها “مستويات” (levels)، تصف قربها وإمكانية الوصول إليها من المعالج الدقيق، هناك ثلاثة مستويات عامة لذاكرة التخزين المؤقت:

  • (L1 cache, or primary cache) ذاكرة التخزين المؤقت (L1) أو ذاكرة التخزين المؤقت الأولية: سريعة للغاية ولكنّها صغيرة نسبيًا، وعادة ما تكون مضمنة في شريحة المعالج كذاكرة تخزين مؤقت لوحدة المعالجة المركزية.
  • (L2 cache, or secondary cache) ذاكرة التخزين المؤقت (L2) أو ذاكرة التخزين المؤقت الثانوية: غالبًا ما تكون ذاكرة التخزين المؤقت (L2)، أو ذاكرة التخزين المؤقت الثانوية، أكثر اتساعًا من (L1)، قد يتم تضمين ذاكرة التخزين المؤقت (L2) في وحدة المعالجة المركزية، أو يمكن أن تكون على شريحة منفصلة أو معالج مساعد ولديها ناقل نظام بديل عالي السرعة يربط بين ذاكرة التخزين المؤقت ووحدة المعالجة المركزية، بهذه الطريقة لا تتباطأ حركة المرور في نواقل النظام الرئيسية.
  • (Level 3 (L3) cache) ذاكرة التخزين المؤقت (L3): ذاكرة التخزين المؤقت من المستوى (3) (L3)، هي ذاكرة متخصصة تمّ تطويرها لتحسين أداء (L1 وL2)، يمكن أن يكون (L1) أو (L2) أسرع بكثير من (L3)، على الرغم من أنّ (L3) عادةً ما تكون ضعف سرعة (DRAM)، مع المعالجات متعددة النواة، يمكن أن يكون لكل نواة ذاكرة تخزين مؤقت (L1 وL2) مخصصة، ولكن يمكنهم مشاركة ذاكرة التخزين المؤقت (L3)، إذا كانت ذاكرة التخزين المؤقت (L3) تشير إلى تعليمات، فعادةً ما يتم رفعها إلى مستوى أعلى من ذاكرة التخزين المؤقت.

شرح أنواع ذاكرة التخزين المؤقت:

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

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

تعيين ذاكرة التخزين المؤقت Cache memory mapping:

تستمر تكوينات التخزين المؤقت في التطور، لكن الذاكرة المؤقتة تعمل تقليديًا ضمن ثلاثة تكوينات مختلفة:

  • ذاكرة التخزين المؤقت المعينة المباشرة (Direct mapped cache): تحتوي على كل كتلة (block) تمّ تعيينها إلى موقع ذاكرة تخزين مؤقت واحد بالضبط، من الناحية التعريفية، تشبه ذاكرة التخزين المؤقت المعينة المباشرة صفوفًا في جدول بثلاثة أعمدة: كتلة ذاكرة التخزين المؤقت التي تحتوي على البيانات الفعلية التي تمّ جلبها وتخزينها، وعلامة (tag) تحتوي على كل أو جزء من عنوان البيانات التي تمّ جلبها، وبت العلم (flag bit) الذي يظهر وجود جزء صالح من البيانات في الصف.
  • تعيين ذاكرة التخزين المؤقت الترابطية بالكامل (Fully associative cache mapping): يشبه تعيين ذاكرة التخزين المؤقت الترابطية بالكامل التعيين المباشر في البنية ولكنّه يسمح بتعيين كتلة الذاكرة إلى أي موقع ذاكرة تخزين مؤقت بدلاً من موقع ذاكرة تخزين مؤقت محدد مسبقًا كما هو الحال مع التعيين المباشر.
  • تعيين ذاكرة التخزين المؤقت الترابطية (Set associative cache mapping): يمكن عرض تعيين ذاكرة التخزين المؤقت الترابطية كحل وسط بين التعيين المباشر والتعيين الترابطي بالكامل حيث يتم تعيين كل كتلة إلى مجموعة فرعية من مواقع التخزين المؤقت، يطلق عليه أحيانًا تعيين ترابط مجموعة (N-way)، والذي يوفر موقعًا في الذاكرة الرئيسية ليتم تخزينه مؤقتًا في أي من المواقع (N) في ذاكرة التخزين المؤقت (L1).

أهمية وجود ذاكرة التخزين المؤقت:

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

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

يحدث خطأ في ذاكرة التخزين المؤقت عندما يبحث النظام عن البيانات الموجودة في ذاكرة التخزين المؤقت، ولا يمكنه العثور عليها، ويبحث في مكان آخر بدلاً من ذلك، في بعض الحالات، يمكن للمستخدمين تحسين نسبة الخطأ عن طريق ضبط حجم كتلة ذاكرة التخزين المؤقت، أي “حجم وحدات البيانات المخزنة”.


شارك المقالة: