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

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

التخزين المؤقت للسرعة

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

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

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

ذاكرة الوسم

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

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

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

استنتاج

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