يعد الوصول إلى البيانات جزءًا مهمًا من تصميم وحدة المعالج. تعمل وحدات المعالجة المركزية بسرعات عالية للغاية، وتعالج تعليمات متعددة في كل دورة ساعة وبالتالي تحتاج إلى الوصول إلى الكثير من البيانات. يتم تخزين الغالبية العظمى من تلك البيانات على وسائط التخزين. ومع ذلك، فإن أجهزة التخزين بطيئة بشكل مستحيل مقارنة بوحدة المعالجة المركزية. تعد أجهزة التخزين أيضًا أفضل بشكل ملحوظ في القراءات المتسلسلة مقارنة بالقراءات العشوائية، على الرغم من أن محركات الأقراص ذات الحالة الثابتة تقدم تحسنًا ملحوظًا في هذا الصدد (والعديد من محركات الأقراص الأخرى) على محركات الأقراص الثابتة.
تم تصميم ذاكرة الوصول العشوائي للنظام ليتم تحميلها بجميع البيانات التي قد تحتاجها وحدة المعالج للبرنامج قيد التشغيل حاليًا. تتميز ذاكرة الوصول العشوائي (RAM) بوقت استجابة أقل بكثير من التخزين، كما أنها مصممة خصيصًا للحصول على أداء قراءة عشوائي عالي. ومع ذلك، بقدر ما تكون ذاكرة الوصول العشوائي الحديثة سريعة، فهي لا تزال لا شيء مقارنة بوحدة المعالجة المركزية مع زمن انتقال يصل إلى 400 دورة على مدار الساعة.
التخزين المؤقت لتقليل زمن الوصول
لتقليل زمن الوصول بشكل أكبر، تشتمل معظم وحدات المعالجة المركزية الحديثة على طبقات من ذاكرة التخزين المؤقت. عادةً ما يشار إليها باسم مخابئ L1 و L2 و L3. L1 هي سرعة عالية حقًا، وعادة ما تستغرق 5 دورات على مدار الساعة للوصول إليها. L2 أبطأ قليلاً، في حدود 20 دورة. لا يزال L3 أبطأ عند حوالي 200 دورة.
في حين أن L1 سريع بشكل لا يصدق، إلا أنه صغير أيضًا. يأتي جزء كبير من سرعته من حقيقة أن ذاكرات التخزين المؤقت الأصغر تستغرق وقتًا أقل للبحث. L2 أكبر من L1 ولكنه أصغر من L3 وهو أصغر من ذاكرة الوصول العشوائي للنظام. تعد موازنة حجم ذاكرات التخزين المؤقت جيدًا أمرًا بالغ الأهمية للحصول على وحدة معالجة مركزية عالية الأداء. تعتبر نسب عدد مرات الدخول إلى ذاكرة التخزين المؤقت مهمة، ولكنك تحتاج إلى موازنة عدد الزيارات مع المدة التي تستغرقها للحصول على هذه النتيجة، ومن ثم المستويات.
تعتبر موازنة سعة كل طبقة ذاكرة تخزين مؤقت مع معدل الدخول أمرًا صعبًا بدرجة كافية ولكن من المهم أيضًا تحديد مدى اتساع الوصول إلى ذاكرة التخزين المؤقت هذه أيضًا. هناك ثلاث طرق. الأول هو قصر ذاكرة التخزين المؤقت على نواة واحدة. يمكنك أيضًا السماح لجميع النوى بالوصول إلى ذاكرة التخزين المؤقت. الخيار الأخير هو حل وسط للسماح لمجموعة مختارة من النوى بمشاركة ذاكرة التخزين المؤقت.
المشاركة بطيئة
تسمى ذاكرة التخزين المؤقت التي لا يمكن الوصول إليها إلا من خلال نواة واحدة الذاكرة المحلية. يعني تقييد الوصول إلى ذاكرة التخزين المؤقت أنك لست بحاجة إلى وضعها للوصول المتعدد. هذا يعني أنه يمكنك الاحتفاظ بها في أقرب مكان ممكن. هذا بالإضافة إلى السعات الصغيرة التي تكون أسرع تشكل ذاكرة مخبأة L1 مثالية. كل نواة لها ذاكرة تخزين مؤقت صغيرة وقريبة.
الذاكرة المشتركة، ستكون ذاكرة تخزين مؤقت يمكن الوصول إليها بواسطة نوى متعددة. لا يوجد تمايز معين بين ذاكرات التخزين المؤقت المشتركة بين بعض النوى أو جميعها، على الرغم من أن لها تأثيرًا على الأداء. كما هو الحال مع كون ذاكرة التخزين المؤقت المحلية صغيرة، فمن المنطقي أن تكون ذاكرة التخزين المؤقت المشتركة كبيرة. جزئيًا لأنه يحتاج إلى خدمة المزيد من النوى، وجزئيًا لأنه يجب أن يكون فعليًا بالقرب من كل نواة. هذا يجعل هذا المفهوم أكثر فائدة لـ L2 وخاصة ذاكرات التخزين المؤقت L3.
لا تحتاج ذاكرة التخزين المؤقت المحلية إلى أن تكون مقتصرة على وحدات المعالجة المركزية (CPU). يمكن أن ينطبق المفهوم أيضًا على أنواع أخرى من المعالجات. ومع ذلك، فإن المعالج الثانوي الأكثر شهرة هو وحدة معالجة الرسومات (GPU) التي لا تحتوي بشكل أساسي على أي ذاكرة محلية. هناك الكثير من نوى المعالجة، بحيث يتم تجميع كل شيء. حتى أصغر مجموعة تشترك في أدنى مستويات ذاكرة التخزين المؤقت.
على مستوى ذاكرة الوصول العشوائي
يمكن أن تحتوي بعض أجهزة الكمبيوتر، مثل أجهزة الكمبيوتر العنقودية، على العديد من وحدات المعالجة المركزية الفعلية. عادةً ما يكون لكل منها مجموعة خاصة به من ذاكرة الوصول العشوائي. في بعض الحالات، ستتم مشاركة ذاكرة الوصول العشوائي هذه عبر جميع وحدات المعالجة المركزية، وفي حالات أخرى، ستقتصر على كل وحدة معالجة مركزية. عندما تتمكن كل وحدة معالجة مركزية في نظام متعدد المعالجات من الوصول فقط إلى مجموعة ذاكرة الوصول العشوائي الخاصة بها، فهذه أيضًا ذاكرة محلية.
على مستوى البرمجيات
يتم تخصيص مساحة ذاكرة مخصصة للبرامج التي تعمل على الكمبيوتر. في بعض الحالات، قد يقوم أحد البرامج بتشغيل عمليات متعددة بمساحة ذاكرة مشتركة. حتى أن بعض البرامج قد تشترك بنشاط في مساحة الذاكرة مع أخرى بشكل متعمد. عادة، على الرغم من ذلك، فإن مساحة الذاكرة هذه تقتصر على تلك العملية الواحدة فقط. مرة أخرى، هذا مثال على الذاكرة المحلية.
استنتاج
الذاكرة المحلية هي مصطلح يُعرّف على أنه جزء من الذاكرة لا يتوفر إلا لشيء واحد. قد يكون هذا thig نواة معالجة أو معالجًا أو عملية. المفهوم العام هو نفسه دائمًا على الرغم من اختلاف التفاصيل. تميل الذاكرة المحلية إلى أن تكون أكثر أمانًا. كما أنها تميل إلى أن تكون أصغر في السعة. تكون أوقات الوصول بشكل عام أسرع للذاكرة المحلية منها للذاكرة المشتركة. خارج التخزين المؤقت على الرغم من أن هذا يعتمد على قياس سرعة الحالة الأسوأ للذاكرة المشتركة. عادةً ما تكون الذاكرة المحلية مفيدة جدًا. اعتمادًا على حجم العمل، من الأفضل عادةً أن يكون لديك مزيج من الذاكرة المحلية والمشتركة. باستثناء ذاكرات التخزين المؤقت، حيث من الأفضل دائمًا الجمع بين الذاكرة المحلية والمشتركة.