پیشبینی انشعاب
پیشبینی انشعاب به یک پردازنده خط لولهای اجازه میدهد تا قبل از حل شدن یک انشعاب، نتیجه و هدف آن را حدس بزند، بنابراین میتواند به جای توقف، به واکشی و اجرای دستورالعملها در مسیر محتمل ادامه دهد.
Definition
پیشبینی انشعاب یک تکنیک ریزمعماری است که پیشبینی میکند آیا یک انشعاب شرطی گرفته خواهد شد و به کجا خواهد رفت، و به پردازنده اجازه میدهد تا به صورت گمانهزنی دستورالعملها را در مسیر پیشبینی شده واکشی و اجرا کند و در صورت نادرست بودن پیشبینی، آن کار را کنار بگذارد.
Scope
این موضوع تکنیکهای پیشبینی جریان کنترل را پوشش میدهد: پیشبینی ایستا، پیشبینیکنندههای پویا مبتنی بر تاریخچه انشعاب (شمارندههای یک و دو بیتی، پیشبینیکنندههای همبسته و تورنمنتی)، بافرهای هدف انشعاب، و هزینه پیشبینیهای نادرست. این موضوع به چگونگی فعالسازی خطوط لوله عمیق و گمانهزنی توسط پیشبینی میپردازد. این موضوع ماشینآلات گستردهتر اجرای گمانهزنی و بازیابی (اجرای خارج از ترتیب) و خود خطر کنترل پایه (خط لوله و خطرات) را شامل نمیشود.
Core questions
- چرا انشعابها خطوط لوله عمیق را متوقف میکنند و پیشبینی چگونه کمک میکند؟
- پیشبینیکنندههای پویا چگونه از تاریخچه انشعاب برای بهبود دقت استفاده میکنند؟
- بافر هدف انشعاب چیست و چه چیزی را فراهم میکند؟
- جریمه پیشبینی نادرست چیست و چگونه بازیابی میشود؟
Key concepts
- پیشبینی ایستا در مقابل پویا
- شمارندههای اشباعکننده یک و دو بیتی
- تاریخچه انشعاب و همبستگی
- پیشبینیکنندههای تورنمنتی
- بافر هدف انشعاب
- جریمه پیشبینی نادرست
- واکشی گمانهزنی
Key theories
- پیشبینی پویای مبتنی بر تاریخچه
- نتایج انشعابها با رفتار گذشته خود و سایر انشعابها همبستگی بالایی دارند؛ پیشبینیکنندههایی که تاریخچه را در شمارندههای اشباعکننده ثبت میکنند و تاریخچه محلی و جهانی را ترکیب میکنند (پیشبینیکنندههای همبسته و تورنمنتی) به دقت بسیار بالایی دست مییابند.
Mechanisms
یک پیشبینیکننده برای حدس زدن جهت یک انشعاب به تاریخچه مراجعه میکند و برای حدس زدن هدف آن به یک بافر هدف انشعاب مراجعه میکند، که به بخش جلویی اجازه میدهد به صورت گمانهزنی به واکشی ادامه دهد. شمارندههای اشباعکننده دو بیتی نتایج اخیر را برای هر انشعاب ردیابی میکنند؛ پیشبینیکنندههای همبسته تاریخچه جهانی را اضافه میکنند؛ پیشبینیکنندههای تورنمنتی به صورت پویا بین طرحهای محلی و جهانی انتخاب میکنند. در صورت پیشبینی نادرست، دستورالعملهای گمانهزنی لغو میشوند و واکشی در آدرس صحیح از سر گرفته میشود، که منجر به جریمهای متناسب با عمق خط لوله میشود.
Clinical relevance
پیشبینی دقیق انشعاب برای خطوط لوله عمیق و گسترده مدرن ضروری است: با توجه به اینکه پیشبینیهای نادرست هزینههای زیادی را در چرخههای پردازنده ایجاد میکنند، برای حفظ عملکرد بالا به پیشبینیکنندههایی با دقت بیش از ۹۵ درصد نیاز است. ساختارهای پیشبینی انشعاب نیز از نظر امنیتی اهمیت پیدا کردهاند، زیرا رفتار گمانهزنی آنها زیربنای حملات اجرای گذرا مانند Spectre است.
History
پیشبینیکنندههای ایستا ساده و پیشبینیکنندههای پویا یک بیتی جای خود را به شمارندههای اشباعکننده دو بیتی دادند، سپس در اوایل دهه ۱۹۹۰ به پیشبینیکنندههای همبسته و تطبیقی دو سطحی، و در هستههای با عملکرد بالا به پیشبینیکنندههای تورنمنتی و عصبی-مانند. با عمیقتر شدن خطوط لوله، پیچیدگی پیشبینیکنندهها نیز به همان نسبت افزایش یافت تا جریمههای پیشبینی نادرست قابل تحمل باقی بمانند.
Key figures
- James E. Smith
- Yale Patt
- Tse-Yu Yeh
- John L. Hennessy
Related topics
Seminal works
- hennessy2019
- patterson2020
Frequently asked questions
- چه اتفاقی میافتد وقتی یک انشعاب به اشتباه پیشبینی میشود؟
- پردازنده به صورت گمانهزنی دستورالعملها را در مسیر اشتباه واکشی و تا حدی اجرا کرده است. با تشخیص پیشبینی نادرست، آن کار گمانهزنی را کنار میگذارد (لغو میکند) و واکشی را از هدف صحیح از سر میگیرد، و جریمهای تقریباً متناسب با عمق خط لوله میپردازد.
- پیشبینیکنندههای انشعاب مدرن چقدر دقیق هستند؟
- پیشبینیکنندههای پویای مدرن معمولاً با ترکیب تاریخچه انشعاب محلی و جهانی، در بارهای کاری رایج از دقت ۹۵ درصد فراتر میروند. این دقت بالا چیزی است که خطوط لوله عمیق و گسترده را ارزشمند میکند، زیرا هر پیشبینی نادرست چرخههای زیادی از کار گمانهزنی را هدر میدهد.