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

أنابيب التجزئة في مجال الحوسبة هو تعبير يقصد به استعمال زمرة من عناصر معالجة البيانات ووصلها بسلسلة متتالية يكون فيها مخرج (خارج output ) الواحدة منها مدخل (داخل input ) التي تليها.

1- أنابيب تجزئة تنفيذ التعليمات ( pipelines )

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

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

إن الشروط الوحيدة الواجب فرضها هي:

1- يجب أن تمر كل تعليمة عبر كل المراحل أو الوحدات الجزئية ذات الصلة.

2- تعالج لحل وحدة جزئية التعليمات دون خرق التسلسل الأصلي.

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

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

2- آلية عمل أنابيب التجزئة

لكي نفهم آلية عمل أنابيب التجزئة سنسلط الضوء على كيفية تنفيذ سلسلة تعليمات بالطريقة التقليدية ثم نبين الفرق بينها وبين تنفيذ السلسلة نفسها باستخدام أنابيب التجزئة.يتطلب تنفيذ أية تعليمة تنفيذ سلسلة عمليات صغرية m1…..mn (انظر الشكل التالي) وتختلف هذه السلسلة من تعليمة لأخرى.

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

كما وتعرف حالة النظام بعدد التعليمات المنجزة (أي بعدد محتويات المسجل CIAC ) وبالعملية الصغرية التي يتم تنفيذها حاليا (أي محتويات مسجل عنوان العملية الصغرية الحالية CMIAR ( Current Micro Instruction Address register ).

عند استعمال أنابيب التجزئة تقسم هذه السلسلة المؤلفة من n عملية صغرية إلى k سلسلة جزئية s1,……,sk قابلة للتنفيذ بشكل متزامن (يكون ذلك ممكنا إذا كانت المصادر التي تتطلبها هذه المصادر الجزئية متنافية فيما بينها) تنفذ السلاسل الجزئية في محطات معالجة مستقلة p1 ….. pk في أي لحظة قد تكون السلاسل الجزئية كلها تحت التنفيذ في المحطات وتعمل كل محطة على تعليمة مختلفة .لنتساءل ما هي المكونات الداراتية اللازمة لكل محطة عمل؟تحتاج كل محطة إلى ذوا كر خزن مؤقتة ( buffer ) لاحتواء مدخلاتها، ويتصل خرج المحطة بدخل المحطة التالية. يمكننا أن نفترض أن العمليات في المحطات المختلفة تستغرق أزمنة متساوية وهذا الشرط هام كما سنرى قريبا.

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

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

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

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


المراجع

areq.net

التصانيف

بنية الحاسب  اتصالات  نظم تشغيل   العلوم التطبيقية   تكنولوجيا