توارد (حوسبة)
المحتويات

على سبيل التعريف، المُوارَدة أو التوارد أو سير العمل أو طريقة خط المواسير أو أنابيب التجزئة في مجال الحوسبة تعبير يقصد به استخدام زمرة من عناصر معالجة البيانات ووصلها بسلسلة متتالية يكون فيها مخرج (خارج output ) الواحدة منها مدخل (داخل input ) التي تليها. ونتناول فيما يلي مزيدًا من التفاصيل.
وفي هذا الصدد، يطلق على هذه الصيغة اسم نظام أنابيب تجزئة التنفيذ حيث تعالج التعليمات كما لو أنها تنتقل عبر أنابيب متصلة وتؤدي هذه الصيغة إلى زيادة هامة في سرعة عمل الآلة. نشير هنا إلى أن الزمن الكلي اللازم لتنفيذ تعليمة واحدة يبقى كما هو إلا أن بمجموع الأزمنة التي تستغرقها محطات المعالجة المختلفة يختصر (بالتحاكي مع عبارة محطات العمل على خط تجميع).
إضافةً إلى ذلك، يمكن أن ننظر إلى معالجة تعليمة كسلسلة خطوات مستقلة تنفذها وحدات جزئية مستقلة من وحدة التحكم من (un إلى um) وتستطيع هذه الوحدات الجزئية كونها مستقلة أن تتزاحم على العمل بنفس الوقت ولن يعود ضروريا أن تنتظر معالجة تعليمة ما اكتمال معالجة التعليمة السابقة لها وبالتالي ء في أية لحظة ستلاحظ أن وحدة التحكم تحوي عددا من التعليمات كل منها في إحدى مراحل معالجتها. ويمكن تشبيه الوضع بوحدة تصنيع حيث تتواجد عدة واحدات من المنتج على خطوط تجميع في مواقع العمل المختلفة وكل من هذه الوحدات في إحدى مراحل تجميعها. إن الشروط الوحيدة الواجب فرضها هي:
أنابيب تجزئة تنفيذ التعليمات ( pipelines )
إضافةً إلى ذلك، 1- يجب أن تمر كل تعليمة عبر كل المراحل أو الوحدات الجزئية ذات الصلة.
وفي هذا السياق، سندعو T زمن الحلقة الكبرى وتحتاج كل محطة إلى زمن أصغر لإتمام حصتها من عملية المعالجة وسندعو هذا الزمن t زمن الحلقة الصغرى لكل محطة. وبما أن كل محطة تنجز حصتها من عملية معالجة تعليمة واحدة في حلقة صغرى واحدة فإن أنبوب التجزئة ككل سيعالج التعليمات بمعدل تعليمة واحدة في كل حلقة صغرى، ولولا استخدام أنابيب التجزئة لكان هذا المعدل يساوي تعليمة واحدة في كل حلقة كبرى.
2- تعالج لحل وحدة جزئية التعليمات دون خرق التسلسل الأصلي.
آلية عمل أنابيب التجزئة
وفي هذا السياق، نصادف عادة في الأنظمة الحاسوبية ثلاثة أنماط مختلفة من أنابيب التجزئة:
من جانب آخر، عند استخدام أنابيب التجزئة تقسم هذه السلسلة المؤلفة من n عملية صغرية إلى k سلسلة جزئية s1,……,sk قابلة للتنفيذ بشكل متزامن (يكون ذلك ممكنا إذا كانت المصادر التي تتطلبها هذه المصادر الجزئية متنافية فيما بينها) تنفذ السلاسل الجزئية في محطات معالجة مستقلة p1 ….. pk في أي لحظة قد تكون السلاسل الجزئية كلها تحت التنفيذ في المحطات وتعمل كل محطة على تعليمة مختلفة .
وفي هذا السياق، تحتاج كل محطة إلى ذوا كر خزن مؤقتة ( buffer ) لاحتواء مدخلاتها، ويتصل خرج المحطة بدخل المحطة التالية.
من جانب آخر، لفهم آلية عمل أنابيب التجزئة سنلقي الضوء على كيفية تنفيذ سلسلة تعليمات بالطريقة التقليدية ثم نبين الفرق بينها وبين تنفيذ السلسلة نفسها باستخدام أنابيب التجزئة.
إضافةً إلى ذلك، يخص النمط الأول: عمليات جلب التعليمات والمعطيات وتحزين النتائج وهو يؤدي نفس الوظائف بالنسبة لطيف واسع من التعليمات .
في هذا الإطار، يمكننا أن نفترض أن العمليات في المحطات المختلفة تستغرق أزمنة متساوية وهذا الشرط هام كما سنرى قريبا. ونستعمل وحدة تحكم مشتركة للتحكم بالعمليات المتزامنة في كل المحطات. إلا أنه يجب الانتباه إلى أن عدد العمليات الصغرية قد يتغير من محطة لأخرى والمحطات التي لديها عدد أقل من العمليات الصغرية ستنتظر لفترة من الوقت تنفذ عمليات بلا فائدة ( null operation).
إضافةً إلى ذلك، كما يمكن أن نمجد نمطا ثالثا متعدد الوظائف: كأن يساهم في جمع أو جداء الأعداد الممثلة بطريقة الفاصلة العائمة .
وعلى صعيد آخر، نشير أخيرا إلى أن بعض المحطات قد لا يلزم تشغيلها بالنسبة لبعض التعليمات وهذا سهل التحقيق لكن بالمقابل قد يلزم تشغيل بعض المحطات بطرق مختلفة بحسب التعليمة المنفذة لذلك من الضروري أن تمتلك هذه المحطات معلومات بخصوص نمط التعليمة التي تعالجها في كل لحظة.
علاوةً على ذلك، أما النمط الثاني: فيستعمل لتحقيق عمليات محددة مثل ضرب الأعداد الممثلة بالفاصلة العائمة.
لنتساءل ما هي المكونات الداراتية اللازمة لكل محطة عمل؟
وفي هذا الصدد، يتطلب تنفيذ أية تعليمة تنفيذ سلسلة عمليات صغرية m1…..mn (انظر الشكل التالي) وتختلف هذه السلسلة من تعليمة لأخرى. في نمط التنفيذ التقليدي يجب إتمام السلسلة بأكملها قبل البدء بسلسلة العمليات الخاصة بالتعليمة التالية، ويمكن لذلك تحقيق دارات التحكم اللازمة بطريقة مباشرة. تعرف حالة النظام بعدد التعليمات المنجزة (أي بعدد محتويات المسجل CIAC ) وبالعملية الصغرية التي يتم تنفيذها في الوقت الحالي (أي محتويات مسجل عنوان العملية الصغرية الحالية CMIAR ( Current Micro Instruction Address register ).
من جهة ثانية، تفترض الدراسة السابقة ومخطط الشكل التالي أن لكل محطة مصادر عتادية خاصة بها (ذواكر خزن مؤقت أدوات معالجة منطقية ... الخ)لكن ليس بالضرورة أن يتحقق هذا الفرض دوما.يمكن مثلا أن تستعمل كل من السلسلتين الجزئيتين s1 و s4 الدارات نفسها، وبالتالي يجب إيجاد طريقة لمنع تنشيط السلسلتين بنفس الوقت. بشكل عام يؤدي ذلك إلى فرض قيود تحد من مدى التوازي الذي يمكن تحقيقه بواسطة أنابيب التجزئة.
أثر أنابيب التجزئة في زيادة السرعة
وعلى صعيد آخر، لا بد لنا أن نتساءل إلى أي مدى نستطيع زيادة السرعة عند استخدام هذه التقنيات.
وعلى صعيد آخر، 2 - زمن الحساب (الزمن اللازم لإنجاز العدد المطلوب من الحلقات لسلسلة العمليات المحددة).
وفي السياق ذاته، نظرا للتعقيد والكلفة الإضافية التي تتطلبها تقنية أنابيب التجزئة والمعالجة المتوازية
- عندئذ يكون:
- الزمن الكلي اللازم لتهيئة الأنبوب وإنجاز التعليمة الأولى = nt .
- أما بالنسبة للتعليمات التالية، فيحتاج تنفيذ كل تعليمة زمنا إضافيا t
- الزمن اللازم لتنفيذ ( L-1 ) تعليمة متبقية = L-1)t )
- ويكون الزمن الكلي = n+L-1)t )
- وتكون عندئذ نسبة الكسب في السرعة عند استخدام أنبوب التجزئة = (nL)/(n+L-1)
- نلاحظ أن هذه النسبة تقترب من n من أجل قيم كبيرة لـ L .
1- زمن الإعداد (أي الزمن اللازم لملء الأنبوب في البداية).
- لنأخذ أولا الحالة التي يتم فيها تنفيذ العملية بدون تجزئة.
- الزمن اللازم لتنفيذ تعليمة واحدة في السلسلة = nt .
- الزمن اللي اللازم لتنفيذ سلسلة التعليمات = nt)L ).
كذلك، نستنتج من الدراسة السابقة أن استخدام أنابيب تجزئة التعليمات يسمح بتخفيض زمن الحساب بدرجة كبيرة، إلا أننا وبهدف التبسيط افترضنا أن كل المحطات تستغرق الزمن نفسه لمعالجة عملياتها ولكي تكون دراستنا واقعية أكثر يجب أن نأخذ بعين الاعتبار احتمال أن يكون لكل محطة زمن معالجة مختلف عن أزمنة باقي المحطات.
ومن ناحية أخرى، لنقارن هذه الحالة مع الحالة التي تجزأ فيها العملية حيث ينفذ الأنبوب L عملية. عندئذ يعتمد الزمن الكلي للحساب على عاملين:
علاوةً على ذلك، لنفترض لدينا سلسلة مباشرة من L تعليمة تنفذ عبر أنبوب تجزئة مؤلف من n محطة عندئذ تقسم كل عملية إلى n عملية وسنفترض أن الزمن الوسطي لإنجاز العملية هو t
الأنابيب متعددة الوظائف: Multifunction Pipelines
ومن ناحية أخرى، يمكن أن يصم أنبوب التجزئة لينجز وظيفة وحيدة (جمع، ضرب، إزاحة) أو لينجز عدة وظائف، وفي هذه الحالة لا بد من استخدام وحدة تحكم (مبرمجة صغريا مثلا) للسيطرة على عمل الأنبوب. ونقول عن الأنبوب متعدد الوظائف أنه سكوني إذا كان تبديل وظيفته يتطلب إفراغ محطاته كلها وإعادة ملئها من جديد ونقول إنه ديناميكي إذا لم يكن ذلك ضروريا
في هذا الإطار، خطوات لازمة لعملية الجداء خطوات مشتركة خطوات لازمة لعملية الجمع 1 – جمع / طرح الأسس 2- جداء جزئي/ إزاحة الجزء الكسرى * جمع * تقييس تقريب إعادة تقييس
وفي هذا الصدد، ملاحظة: يشير الرمز (*) بجانب اسم العملية إلى تكرار هذه العملية لعدد من المرات.
وفي هذا السياق، طبعا، من الأبسط استخدام الأنبوب نفسه لتحقيق وظائف متشابهة، لنستعرض فيما يلي الخطوات اللازمة لعمليتي الجمع والضرب المتشابهتين بشكل مجمع.
📝 هل في هذه المقالة خطأ؟
إذا وجدت معلومة تحتاج تصحيحاً أو إضافة، أو أردت حذف المقالة، أرسل لنا طلباً وسنراجعه.
ما رأيك في هذه المقالة؟