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

المماطلة بالترتيب

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

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

تنفيذ خارج الطلب وإعادة تسمية التسجيل

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

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

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

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

حواجز الذاكرة

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

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

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

استنتاج

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

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