العوامل التي تؤثر على أداء ذاكرة التخزين المؤقت Cache Memory

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


ما هي العوامل التي تؤثر على أداء ذاكرة التخزين المؤقت؟

تتكون أجهزة الكمبيوتر من ثلاث كتل أساسية، وحدة المعالجة المركزية (CPU) والذاكرة (memory) ونظام الإدخال / الإخراج (I/O system)، يعتمد أداء نظام الكمبيوتر بشكل كبير على السرعة التي تستطيع بها وحدة المعالجة المركزية جلب التعليمات من الذاكرة والكتابة إلى نفس الذاكرة، تستخدم أجهزة الكمبيوتر ذاكرة التخزين المؤقت لتسريع العملية بين قدرة المعالج على تنفيذ التعليمات والوقت المستغرق لجلب العمليات من الذاكرة الرئيسية.

يعتمد الوقت الذي يستغرقه البرنامج في التنفيذ باستخدام ذاكرة التخزين المؤقت على:

  • عدد التعليمات اللازمة لأداء المهمة.
  • متوسط عدد دورات وحدة المعالجة المركزية اللازمة لأداء المهمة المطلوبة.
  • وقت دورة وحدة المعالجة المركزية.

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

Execution Time = Instruction Count x Cycles per Instruction x Cycle Time

=Instruction Count x (CPU Cycles per Instr. + Memory Cycles per Instr.) x Cycle Time

=Instruction Count x [CPU Cycles per Instr. +(References per Instr. x Cycles per References)] x Cycle Time

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

على ماذا تعتمد دورات وحدة المعالجة المركزية؟

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

يتم الجمع بين متوسط عدد مراجع الذاكرة لكل تعليمات ومتوسط عدد الدورات لكل مرجع ذاكرة لتشكيل متوسط عدد الدورات لكل تعليمة، الأول هو وظيفة المعمارية وخوارزميات اختيار التعليمات للمترجم، هذا ثابت عبر تطبيقات المعمارية (architecture).

ما هي معمارية مجموعة التعليمات Instruction Set Architecture؟

  • كمبيوتر مجموعة التعليمات المخفضة (RISC): يعد كمبيوتر مجموعة التعليمات المخفضة (RISC) (Reduced Instruction Set Computer)، أحد أكثر مجموعة التعليمات شيوعًا، يتم استخدام هذا بواسطة معالجات (ARM) وهي واحدة من أكثر الرقائق استخدامًا للمنتجات.
  • كمبيوتر مجموعة التعليمات المعقدة (CISC): كمبيوتر مجموعة التعليمات المعقدة (CISC) (Complex Instruction Set Computer)، عبارة عن بنية مجموعة تعليمات للعملية المتخصصة للغاية والتي تمّ البحث عنها ودراستها بدقة شديدة لدرجة أنّه حتى البنية الدقيقة للمعالج مبنية لهذا الغرض المحدد فقط.
  • كمبيوتر الحد الأدنى من مجموعة التعليمات (MISC): كمبيوتر الحد الأدنى من مجموعة التعليمات (MISC) (Minimal instruction set computers)، يمكن اعتبار المعالج الدقيق (8085) في هذه الفئة مقارنة بالمعالجات الحديثة.
  • حوسبة التعليمات المتوازية بشكل واضح (EPIC): حوسبة التعليمات المتوازية بشكل واضح (EPIC) (Explicitly parallel instruction computing)، هي مجموعة تعليمات تُستخدم على نطاق واسع في أجهزة الكمبيوتر العملاقة.
  • كمبيوتر مجموعة التعليمات الواحدة (OISC): يستخدم كمبيوتر مجموعة التعليمات الواحدة (OISC) (One instruction set computer)، التجميع (assembly) فقط.
  • كمبيوتر مجموعة التعليمات الصفرية (ZISC): (Zero instruction set computer)، تعتبر هذه كشبكة عصبية على جهاز الكمبيوتر.

ما هي تكنولوجيا المترجم Compiler Technology؟

  • مترجم أحادي المسار (Single Pass Compiler): يتم تحويل رمز المصدر (source code) مباشرة إلى رمز الجهاز (machine code).
  • مترجم ثنائي المسار (Two-Pass Compiler): يتم تحويل رمز المصدر (Source code) إلى تمثيل وسيط وثمّ يتم تحويله إلى رمز الجهاز (machine code).
  • مترجم متعدد المسارات (Multipass Compiler): في رمز “كود” المصدر هذا يتم تحويله إلى رمز “كود” وسيط من الواجهة الأمامية ثمّ يتم تحويله إلى كود وسيط بعد الطرف الأوسط ثمّ يتم تمريره إلى النهاية الخلفية والتي يتم تحويلها إلى رمز ” كود” الجهاز.

تنفيذ وحدة المعالجة المركزية CPU Implementation:

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

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

هرمية ذاكرة التخزين المؤقت والذاكرة Cache and Memory Hierarchy:

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

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


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