خاصية أنابيب التجزئة في معمارية الكمبيوتر Pipelining in Computer Architecture

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


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

ما المقصود بخاصية أنابيب التجزئة Pipelining

تنظم خاصية أنابيب التجزئة (Pipelining) تنفيذ التعليمات المتعددة في وقت واحد، تعمل خطوط الأنابيب على تحسين إنتاجية النظام، في خطوط الأنابيب، يتم تقسيم التعليمات إلى المهام الفرعية، كل مهمة فرعية تؤدي المهمة المخصصة، تنقسم التعليمات إلى (5) مهام فرعية: إحضار التعليمات (instruction fetch)، وفك شفرة التعليمات (instruction decode)، وجلب المعامل (operand fetch)، وتنفيذ التعليمات (instruction execution)، ومخزن المعاملات (operand store).

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

شرح خاصية أنابيب التجزئة Pipelining

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

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

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

أقسام التعليمات في العملية

تنقسم التعليمات في العملية إلى (5) مهام فرعية على الأرجح، وهي:

  • في المهمة الفرعية الأولى، يتم جلب التعليمات (instruction is fetched).
  • يتم فك تشفير التعليمات (decoded) التي تمّ جلبها في المرحلة الثانية.
  • في المرحلة الثالثة، يتم جلب معاملات (operands) التعليمات.
  • في العملية الرابعة، يتم إجراء العمليات الحسابية والمنطقية على المعاملات لتنفيذ التعليمات.
  • في المرحلة الخامسة، يتم تخزين النتيجة في الذاكرة.

الآن، فهم تقسيم التعليمات إلى مهام فرعية، دعونا نفهم كيف يتم تحديد عدد (n) من التعليمات في العملية، هذه (5) تعليمات موصوفة بالأنابيب، يتم إكمال التعليمات الأولى في (5) دورات على مدار الساعة، بعد الانتهاء من التعليمات الأولى، في كل دورة ساعة جديدة، يتم تنفيذ تعليمات جديدة.

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

أنواع أنابيب التجزئة

في عام (1977) صنفت شركة (Handler) و(Ramamoorthy) معالجات خطوط أنابيب التجزئة اعتمادًا على وظائفها:

أنابيب التجزئة الحسابية Arithmetic Pipelining

وهي مصممة لأداء عمليات الجمع والضرب والقسمة عالية السرعة، هنا، تمّ بناء وحدات المنطق الحسابي المتعددة في النظام لأداء الحساب المتوازي في تنسيق بيانات مختلف، من أمثلة المعالجات الحسابية المبنية على الأنابيب (Star-100) و(TI-ASC) و(Cray-1) و(Cyber-205).

أنابيب تجزئة التعليمات Instruction Pipelining

هنا، يتم تحديد عدد التعليمات ويتم تداخل تنفيذ التعليمات الحالية من خلال تنفيذ التعليمات اللاحقة، ويسمّى أيضًا توجيه البحث (instruction lookahead).

أنابيب تجزئة المعالج Processor Pipelining

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

أنابيب التجزئة Unifunction ​Vs. Multifunction Pipelining

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

خطوط الأنابيب الثابتة مقابل خطوط الأنابيب الديناميكية Static vs Dynamic Pipelining

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

خطوط الأنابيب العددية مقابل المتجهة Scalar vs Vector Pipelining

تعالج خطوط الأنابيب العددية التعليمات باستخدام معاملات عددية، يعالج خط الأنابيب المتجه التعليمات باستخدام معاملات المتجه.

المصدر: Pipelining in Computer ArchitectureWhat is Pipelining?Computer Organization and Architecture | Pipelining | Set 1 (Execution, Stages and Throughput)


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