خطوط الأنابيب: الهندسة المعمارية ، المزايا والعيوب

جرب أداة القضاء على المشاكل





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

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

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




تسلسل تنفيذ التعليمات

تسلسل تنفيذ التعليمات

  • إذا: جلب التعليمات إلى سجل التعليمات.
  • المعرّف: فك تشفير التعليمات ، يفك تشفير التعليمات الخاصة برمز التشغيل.
  • AG: Address Generator ، يولد العنوان.
  • DF: جلب البيانات ، يجلب المعاملات في سجل البيانات.
  • EX: تنفيذ ، تنفيذ العملية المحددة.
  • WB: اكتب مرة أخرى ، واكتب النتيجة إلى السجل.

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



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

دعونا نلقي نظرة على الطريقة التي تتم بها معالجة التعليمات في خطوط الأنابيب. يمكن فهم ذلك بسهولة من خلال الرسم البياني أدناه.

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

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

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

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


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

هندسة الأنابيب

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

وحدة معالجة موصلة بالأنابيب

وحدة معالجة موصلة بالأنابيب

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

خطوط الأنابيب في معالجات RISC

الاكثر شهرة هندسة RISC يتبع معالج ARM خطوط الأنابيب من 3 مراحل و 5 مراحل. في خط الأنابيب ثلاثي المراحل ، تكون المراحل هي: الجلب ، والفك ، والتنفيذ. يحتوي خط الأنابيب هذا على 3 دورات كمون ، حيث تستغرق التعليمات الفردية 3 دورات على مدار الساعة لإكمالها.

ARM 3 مرحلة الأنابيب

ARM 3 مرحلة الأنابيب

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

ARM 3 المرحلة الأنابيب Datapath

ARM 3 المرحلة الأنابيب Datapath

في 5 مراحل ، تكون المراحل هي: الجلب ، وفك التشفير ، والتنفيذ ، والتخزين المؤقت / البيانات ، وإعادة الكتابة.

مخاطر خطوط الأنابيب

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

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

اقرأ بعد كتابة

اقرأ بعد كتابة 'خطر خط الأنابيب'

يؤدي تنفيذ تعليمات الفرع أيضًا إلى حدوث خطر في خطوط الأنابيب. تعليمات الفرع أثناء تنفيذها في خطوط الأنابيب يؤثر على مراحل الجلب من التعليمات التالية.

سلوك فرع الأنابيب

سلوك فرع الأنابيب

مزايا خطوط الأنابيب

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

مساوئ خطوط الأنابيب

  • تصميم المعالج المبني على الأنابيب معقد.
  • يزيد زمن انتقال التعليمات في المعالجات الموصلة بالأنابيب.
  • من الصعب التنبؤ بسعة معالج الأنابيب.
  • كلما زاد طول خط الأنابيب ، زادت مشكلة خطورة تعليمات الفرع.

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