ذاكرة مؤقتة

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

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

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

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

أمثلة على الاستخدام

  • كان جهاز فيرتشايلد F8 لعام 1975 يحتوي على 64 بايت من مساحة التخزين المؤقتة.
  • يحتوي جهاز TI-99/4A على 256 بايت من ذاكرة التخزين المؤقت على ناقل 16 بت يحتوي على سجلات المعالج TMS9900 [ 2 ].
  • يُعد Cyrix 6x86 المعالج المكتبي الوحيد المتوافق مع x86 الذي يتضمن لوحة خدش مخصصة.
  • كان بإمكان SuperH ، المستخدم في أجهزة سيجا، قفل خطوط التخزين المؤقت إلى عنوان خارج الذاكرة الرئيسية لاستخدامها كلوحة خدش.
  • كان معالج R3000 في جهاز سوني PS1 يحتوي على مساحة تخزين مؤقتة بدلاً من ذاكرة التخزين المؤقت من المستوى الأول (L1). وكان من الممكن وضع حزمة بيانات وحدة المعالجة المركزية (CPU) هنا، وهو مثال على استخدام مساحة العمل المؤقتة.
  • يتميز المعالج المساعد المتوازي Epiphany من Adapteva بوحدات تخزين محلية لكل نواة، متصلة بشبكة على الشريحة ، مع إمكانية الوصول المباشر إلى الذاكرة (DMA) بينها وبين وصلات خارجية (ربما إلى ذاكرة الوصول العشوائي الديناميكية DRAM). يشبه تصميمه تصميم Cell من سوني، باستثناء أن جميع النوى يمكنها الوصول مباشرةً إلى وحدات التخزين المؤقتة الخاصة بكل منها، مما يُولّد رسائل شبكية من تعليمات التحميل/التخزين القياسية.
  • يتضمن محرك المشاعر الخاص بجهاز PS2 من سوني لوحة تخزين مؤقتة بحجم 16 كيلوبايت ، والتي يمكن من خلالها إصدار عمليات نقل DMA إلى وحدة GS الخاصة به، والذاكرة الرئيسية. 
  • تقتصر وحدات المعالجة الخاصة (SPEs) في معالجات Cell على العمل في "مخزنها المحلي" فقط، معتمدةً على الوصول المباشر للذاكرة (DMA) لنقل البيانات من وإلى الذاكرة الرئيسية وبين المخازن المحلية، تمامًا مثل ذاكرة التخزين المؤقت. في هذا السياق، تكمن فائدة إضافية في عدم وجود مكونات مادية للتحقق من اتساق البيانات بين ذاكرات التخزين المؤقت المتعددة وتحديثها: إذ يستفيد التصميم من افتراض أن مساحة عمل كل معالج منفصلة وخاصة. ومن المتوقع أن تزداد هذه الفائدة وضوحًا مع ازدياد عدد المعالجات في المستقبل نحو "المعالجات متعددة النوى". ومع ذلك، ونظرًا للاستغناء عن بعض منطق الأجهزة، يجب إدارة بيانات وتعليمات التطبيقات على وحدات المعالجة الخاصة (SPEs) برمجيًا إذا لم تتسع المهمة بأكملها على وحدة المعالجة الخاصة (SPE) في المخزن المحلي. [ 3 ] [ 4 ] [ 5 ]
  • تسمح العديد من المعالجات الأخرى بقفل خطوط ذاكرة التخزين المؤقت L1.
  • تستخدم معظم معالجات الإشارات الرقمية ذاكرة مؤقتة. وقد استخدمت العديد من مسرعات الرسومات ثلاثية الأبعاد وأجهزة ألعاب الفيديو القديمة (بما في ذلك بلاي ستيشن 2) معالجات الإشارات الرقمية لتحويل الرؤوس . ويختلف هذا عن النهج القائم على التدفق في وحدات معالجة الرسومات الحديثة، والذي يشترك في وظائف أكثر مع ذاكرة التخزين المؤقت لوحدة المعالجة المركزية.
  • توفر وحدة معالجة الرسومات NVIDIA 8800، التي تعمل بتقنية CUDA، مساحة تخزين مؤقتة (تسميها NVIDIA بالذاكرة المشتركة) تبلغ 16 كيلوبايت لكل حزمة خيوط عند استخدامها في مهام GPGPU . وقد استُخدمت هذه المساحة المؤقتة أيضًا في وحدات معالجة الرسومات Fermi اللاحقة ( سلسلة GeForce 400 ). [ 6 ] 
  • تتضمن شريحة PhysX من Ageia ذاكرة وصول عشوائي مؤقتة (RAM) على غرار شريحة Cell؛ وتعتمد فكرة وحدة معالجة الفيزياء هذه على أن التسلسل الهرمي لذاكرة التخزين المؤقت أقل فائدة من حسابات الفيزياء والتصادم التي يديرها البرنامج. كما أن هذه الذاكرات مُصنّفة في بنوك، ويتولى مفتاح تحويل إدارة عمليات النقل بينها.
  • يحتوي معالج Knights Landing من Intel على ذاكرة MCDRAM بسعة 16  جيجابايت يمكن تهيئتها إما كذاكرة تخزين مؤقتة أو ذاكرة مؤقتة أو تقسيمها إلى بعض ذاكرة التخزين المؤقت وبعض الذاكرة المؤقتة.
  • Movidius Myriad 2 ، وحدة معالجة الرؤية ، منظمة كبنية متعددة النوى مع لوحة تخزين مؤقتة مشتركة كبيرة متعددة المنافذ.
  • صممت شركة Graphcore مسرعًا للذكاء الاصطناعي يعتمد على ذاكرة التخزين المؤقت [ 7 ].

البدائل

التحكم في ذاكرة التخزين المؤقت مقابل دفاتر الملاحظات

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

المتاجر المحلية المشتركة من الطبقة الثانية مقابل المتاجر المحلية الخلوية

فيما يتعلق بالتواصل بين المعالجات في بيئة متعددة النوى، توجد أوجه تشابه بين تقنية DMA بين وحدات التخزين المحلية في معالج Cell ونظام ذاكرة التخزين المؤقت L2 المشترك كما في معالج Intel Core 2 Duo أو معالج PowerPC المخصص لجهاز Xbox 360: تسمح ذاكرة التخزين المؤقت L2 للمعالجات بمشاركة النتائج دون الحاجة إلى تخزينها في الذاكرة الرئيسية. قد يكون هذا مفيدًا عندما تشمل مجموعة العمل الخاصة بخوارزمية ما كامل ذاكرة التخزين المؤقت L2. مع ذلك، عند كتابة برنامج للاستفادة من تقنية DMA بين وحدات التخزين المحلية، يتميز معالج Cell بميزة أن كل وحدة تخزين محلية أخرى تخدم غرضين: مساحة العمل الخاصة بمعالج واحد، ونقطة المشاركة بين المعالجات؛ أي أن وحدات التخزين المحلية الأخرى تُعامل من منظور معالج واحد معاملة ذاكرة التخزين المؤقت L2 المشتركة في شريحة تقليدية. يتمثل المقابل في هدر الذاكرة في التخزين المؤقت وتعقيد البرمجة اللازم للمزامنة، على الرغم من أن هذا مشابه للصفحات المخزنة مسبقًا في شريحة تقليدية. تشمل المجالات التي يكون فيها استخدام هذه الإمكانية فعالًا ما يلي:

  • معالجة خط الأنابيب (حيث يتم تحقيق نفس تأثير زيادة حجم ذاكرة التخزين المؤقت L1 عن طريق تقسيم مهمة واحدة إلى أجزاء أصغر)
  • توسيع مجموعة العمل، على سبيل المثال، نقطة مثالية لفرز الدمج حيث تتناسب البيانات مع 8 × 256  كيلوبايت
  • تحميل التعليمات البرمجية المشتركة، مثل تحميل جزء من التعليمات البرمجية إلى وحدة معالجة البرامج (SPU) واحدة، ثم نسخها من هناك إلى الوحدات الأخرى لتجنب الوصول إلى الذاكرة الرئيسية مرة أخرى.

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

انظر أيضاً

ملحوظات

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

مراجع

  1. ستينكه، ستيفان؛ لارس ويمهير؛ بو-سيك لي؛ بيتر مارويدل (2002). "تخصيص كائنات البرنامج والبيانات لمساحة العمل المؤقتة لتقليل استهلاك الطاقة" (ملف PDF) . جامعة دورتموند. مؤرشف من الأصل (ملف PDF) في 4 أكتوبر 2013. تم الاطلاع عليه في 3 أكتوبر 2013 .: "3.2 نموذج لوحة التخزين المؤقتة .. تستخدم ذاكرة لوحة التخزين المؤقتة برامج للتحكم في تعيين موقع البيانات."
  2. "البنية الداخلية للآلة الحاسبة TI-99/4A" . www.unige.ch . تاريخ الاسترجاع: 8 مارس 2023 .
  3. ج. لو، ك. باي، أ. شريفاستافا، "SSDM: إدارة بيانات المكدس الذكية للمعالجات متعددة النوى المُدارة برمجياً (SMMs)"، مؤرشف في 2014-02-02 على موقع Wayback Machine ، مؤتمر أتمتة التصميم (DAC) ، 2-6 يونيو 2013
  4. ك. باي، أ. شريفاستافا، "إدارة بيانات الكومة التلقائية والفعالة لبنى المعالجات متعددة النوى ذات الذاكرة المحلية المحدودة"، مؤرشف في 2014-02-02 على موقع Wayback Machine ، أتمتة التصميم والاختبار في أوروبا (DATE) ، 2013
  5. ك. باي، ج. لو، أ. شريفاستافا، ب. هولتون، "CMSM: إدارة فعالة وكفؤة للتعليمات البرمجية للمعالجات متعددة النوى المُدارة برمجياً"، مؤرشف في 2014-02-02 على موقع Wayback Machine ، مؤتمر CODES+ISSS ، 2013
  6. باترسون، ديفيد (30 سبتمبر 2009). "أهم 10 ابتكارات في بنية NVIDIA Fermi الجديدة، وأهم 3 تحديات قادمة" (ملف PDF) . مختبر أبحاث الحوسبة المتوازية وشركة NVIDIA . تاريخ الاسترجاع: 3 أكتوبر 2013 .
  7. جيا، تشي؛ تيلمان، بليك؛ ماجيوني، ماركو؛ سكاربازا، دانييلي ب. (7 ديسمبر 2019). تحليل بنية وحدة معالجة المعلومات Graphcore عبر القياسات المعيارية الدقيقة (ملف PDF) (تقرير فني). شركة Citadel Enterprise Americas, LLC. arXiv : 1912.03413 .