التنبؤ بالتفرعات
يتيح التنبؤ بالتفرعات للمعالج ذي المسار المتعدد (pipelined processor) تخمين نتيجة وهدف التفرع قبل حسمه، مما يمكنه من الاستمرار في جلب وتنفيذ التعليمات على طول المسار المحتمل بدلاً من التوقف.
Definition
التنبؤ بالتفرعات هو تقنية معمارية دقيقة تتنبأ بما إذا كان التفرع الشرطي سيُتخذ وإلى أين سيتجه، مما يسمح للمعالج بجلب وتنفيذ التعليمات بشكل تكهني على طول المسار المتوقع والتخلص من هذا العمل إذا ثبت خطأ التنبؤ.
Scope
يغطي هذا الموضوع تقنيات التنبؤ بالتحكم في التدفق: التنبؤ الساكن، والتنبؤات الديناميكية القائمة على سجل التفرعات (عدادات بت واحد وبتين، والتنبؤات الترابطية والبطولية)، ومخازن أهداف التفرعات، وتكلفة التنبؤات الخاطئة. ويتناول كيف يمكّن التنبؤ المسارات المتعددة العميقة والتكهن. ويستثني آليات التنفيذ التكهني الأوسع والاستعادة (التنفيذ خارج الترتيب) ومخاطر التحكم الأساسية نفسها (المسارات المتعددة والمخاطر).
Core questions
- لماذا تتسبب التفرعات في توقف المسارات المتعددة العميقة، وكيف يساعد التنبؤ؟
- كيف تستخدم المتنبئات الديناميكية سجل التفرعات لتحسين الدقة؟
- ما هو مخزن أهداف التفرعات وماذا يوفر؟
- ما هي عقوبة التنبؤ الخاطئ، وكيف يتم استردادها؟
Key concepts
- التنبؤ الساكن مقابل الديناميكي
- عدادات التشبع ذات البت الواحد والبتين
- سجل التفرعات والترابط
- المتنبئات البطولية
- مخزن أهداف التفرعات
- عقوبة التنبؤ الخاطئ
- الجلب التكهني
Key theories
- التنبؤ الديناميكي القائم على السجل
- ترتبط نتائج التفرعات ارتباطًا وثيقًا بسلوكها السابق وسلوك التفرعات الأخرى؛ وتحقق المتنبئات التي تسجل السجل في عدادات التشبع وتجمع السجل المحلي والعالمي (المتنبئات الترابطية والبطولية) دقة عالية جدًا.
Mechanisms
يستشير المتنبئ السجل لتخمين اتجاه التفرع ومخزن أهداف التفرعات لتخمين هدفه، مما يسمح للواجهة الأمامية بالاستمرار في الجلب بشكل تكهني. تتعقب العدادات المشبعة ذات البتّين النتائج الأخيرة لكل تفرع؛ وتضيف المتنبئات الترابطية سجلًا عالميًا؛ وتختار المتنبئات البطولية ديناميكيًا بين المخططات المحلية والعالمية. عند حدوث تنبؤ خاطئ، يتم إلغاء التعليمات التكهنية ويُستأنف الجلب من العنوان الصحيح، مما يتسبب في عقوبة تتناسب مع عمق المسار المتعدد.
Clinical relevance
يعد التنبؤ الدقيق بالتفرعات ضروريًا للمسارات المتعددة الحديثة العميقة والواسعة: مع تكلفة التنبؤات الخاطئة التي تصل إلى العديد من الدورات، هناك حاجة إلى متنبئات تتجاوز دقتها 95 بالمائة للحفاظ على الأداء العالي. أصبحت هياكل التنبؤ بالتفرعات ذات صلة أمنية أيضًا، حيث أن سلوكها التكهني يكمن وراء هجمات التنفيذ العابر مثل Spectre.
History
أفسحت المتنبئات الساكنة البسيطة والمتنبئات الديناميكية ذات البت الواحد الطريق لعدادات التشبع ذات البتّين، ثم للمتنبئات الترابطية والتكيفية ذات المستويين في أوائل التسعينيات، وإلى المتنبئات البطولية والعصبية في النوى عالية الأداء. ومع تعمق المسارات المتعددة، ازداد تعقيد المتنبئات بشكل متناسب للحفاظ على عقوبات التنبؤ الخاطئ مقبولة.
Key figures
- James E. Smith
- Yale Patt
- Tse-Yu Yeh
- John L. Hennessy
Related topics
Seminal works
- hennessy2019
- patterson2020
Frequently asked questions
- ماذا يحدث عندما يكون التنبؤ بالتفرع خاطئًا؟
- يكون المعالج قد جلب ونفذ جزئيًا التعليمات على المسار الخاطئ بشكل تكهني. عند اكتشاف التنبؤ الخاطئ، يتخلص (يلغي) من هذا العمل التكهني ويستأنف الجلب من الهدف الصحيح، ويدفع عقوبة تتناسب تقريبًا مع عمق المسار المتعدد.
- ما مدى دقة متنبئات التفرعات الحديثة؟
- تتجاوز المتنبئات الديناميكية الحديثة عادةً دقة 95 بالمائة في أعباء العمل الشائعة من خلال الجمع بين سجل التفرعات المحلي والعالمي. هذه الدقة العالية هي ما يجعل المسارات المتعددة العميقة والواسعة مجدية، حيث يهدر كل تنبؤ خاطئ العديد من دورات العمل التكهني.