التجزئة والمخاطر
تتداخل التجزئة في تنفيذ التعليمات المتتالية عن طريق تقسيم معالجة التعليمات إلى مراحل، مما يزيد من الإنتاجية؛ والمخاطر هي المواقف — تعارض الموارد، والتبعيات البيانية، والتفرعات — التي تمنع التعليمات التالية من المضي قدمًا في الدورة التالية.
Definition
التجزئة هي تقنية تتداخل في تنفيذ تعليمات متعددة عن طريق تقسيم معالجتها إلى مراحل متسلسلة، والخطر هو أي حالة تجبر مرحلة على التوقف المؤقت لأنها لا تستطيع المضي قدمًا بشكل صحيح في دورة الساعة التالية.
Scope
يغطي هذا الموضوع خط أنابيب التعليمات الكلاسيكي وفئات المخاطر الثلاث التي تحد منه: المخاطر الهيكلية (تعارض الموارد)، ومخاطر البيانات (التبعيات بين التعليمات)، ومخاطر التحكم (التفرعات). ويشمل العلاجات القياسية — التوجيه/التجاوز، والتوقف المؤقت، ومعالجة التفرعات. ويستثني الإصدار المتوازي المتقدم (التوازي على مستوى التعليمات)، والتنبؤ باتجاه التفرع بعمق (التنبؤ بالتفرع)، وإعادة الترتيب الديناميكي (التنفيذ خارج الترتيب).
Core questions
- كيف يزيد تقسيم تنفيذ التعليمات إلى مراحل من الإنتاجية دون تقليل زمن الاستجابة؟
- ما هي المخاطر الهيكلية، ومخاطر البيانات، ومخاطر التحكم، وما الذي يسبب كل منها؟
- كيف يحل التوجيه العديد من مخاطر البيانات دون توقف مؤقت؟
- ما هي تكلفة التفرعات في خط الأنابيب، وكيف يتم التخفيف منها؟
Key concepts
- مراحل خط الأنابيب (الجلب، فك التشفير، التنفيذ، الذاكرة، إعادة الكتابة)
- الإنتاجية مقابل زمن الاستجابة
- المخاطر الهيكلية
- مخاطر البيانات
- مخاطر التحكم
- التوجيه والتجاوز
- توقفات وفقاعات خط الأنابيب
- عقوبة التفرع
Key theories
- إنتاجية خط الأنابيب والمخاطر
- يكمل خط الأنابيب ذو k مرحلة بشكل مثالي تعليمة واحدة لكل دورة بعد الملء، ولكن المخاطر الهيكلية والبيانات والتحكم تُدخل توقفات مؤقتة تقلل الإنتاجية عن المستوى المثالي؛ ويركز تصميم خط الأنابيب على تقليل هذه التوقفات.
Mechanisms
تُقسّم معالجة التعليمات إلى مراحل بحيث بينما تُنفّذ إحدى التعليمات، يتم جلب وفك تشفير تعليمات أخرى. ينشأ الخطر الهيكلي عندما تحتاج تعليمتان إلى نفس المورد؛ وينشأ خطر البيانات عندما تحتاج تعليمات إلى نتيجة لم تُنتج بعد؛ وينشأ خطر التحكم عندما تعتمد التعليمات التالية على تفرع لم يُحل بعد. يوجه التوجيه النتائج مباشرة بين المراحل، وتُدخل التوقفات المؤقتة فقاعات عندما يكون التوجيه غير كافٍ، وتقلل معالجة التفرعات من عقوبات مخاطر التحكم.
Clinical relevance
التجزئة هي التقنية الأساسية للأداء في كل معالج تقريبًا، وفهم المخاطر يفسر سبب تأثير ترتيب التعليمات وسلوك التفرعات على السرعة. يمكن لجدولة تعليمات المترجم ووعي المبرمج بالتبعيات وأنماط التفرعات أن يحسنا الأداء بشكل ملموس على الأجهزة المجزأة.
History
ظهرت التجزئة في الآلات عالية الأداء المبكرة مثل IBM Stretch و CDC 6600 في أوائل الستينيات. أصبح خط الأنابيب البسيط ذو المراحل الخمس نموذجًا تعليميًا وتصميميًا أساسيًا مع معالجات RISC في الثمانينيات، وتم تدوين التصنيف المنهجي للمخاطر وعلاجاتها في نصوص Hennessy-Patterson.
Key figures
- John L. Hennessy
- David A. Patterson
- Seymour Cray
Related topics
Seminal works
- hennessy2019
- patterson2020
Frequently asked questions
- هل تجعل التجزئة تعليمة واحدة تعمل بشكل أسرع؟
- لا. لا تقلل التجزئة من الوقت اللازم لإكمال تعليمة واحدة (زمن الاستجابة)؛ بل تزيد من عدد التعليمات التي تكتمل في وحدة زمنية (الإنتاجية) عن طريق تداخل تنفيذها، تمامًا كما يزيد خط التجميع من الإنتاج دون تسريع أي عنصر واحد.
- ما هو التوجيه؟
- التوجيه، أو التجاوز، يوجه نتيجة تم حسابها حديثًا مباشرة من المرحلة التي أنتجتها إلى مرحلة لاحقة تحتاجها، بدلاً من انتظار كتابتها مرة أخرى إلى ملف السجل. وهذا يحل العديد من مخاطر البيانات دون توقف خط الأنابيب.