ما هو خط أنابيب التعليمات؟

click fraud protection

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

معالجات تاريخية بالترتيب

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

في معالج subcalar بدون خط أنابيب ، يتم تنفيذ كل جزء من كل تعليمات بالترتيب.

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

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

خط أنابيب RISC الكلاسيكي

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

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

يمكن تنفيذ كل مرحلة من مراحل تنفيذ التعليمات مرة واحدة في كل دورة ساعة. هذا يسمح بحد أقصى من الإنتاجية لتعليمات مكتملة واحدة لكل دورة.

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

لا تزال متسلسلة

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

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

استنتاج

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