Table of Contents
پیش بینی شعبه یک تکنیک است که در معماری کامپیوتر برای بهبود جریان اجرای دستورالعمل با حدس زدن نتیجه یک شاخه (مانند یک تصمیم if-else) قبل از آن که به طور مطمئن شناخته شده است، استفاده می شود، این به کاهش تاخیر ناشی از انتظار برای تصمیم گیری شاخه واقعی کمک می کند، بنابراین افزایش بهره وری پردازنده.
انواع پیش بینی های Branch
روش های مختلفی از پیش بینی شاخه وجود دارد که هر کدام دارای سطوح مختلف پیچیدگی و دقت هستند. متداول ترین انواع آن ها شامل پیش بینی استاتیک و پیش بینی دینامیکی است.
پیش بینی دینامیک در مقابل
پیش بینی استاتیک بر قوانین ثابت متکی است، مانند همیشه پیش بینی می کند که یک شاخه برداشته خواهد شد یا گرفته نخواهد شد. پیش بینی پویا از تاریخ سخت افزاری برای حدس زدن های آگاهانه تر بر اساس رفتار گذشته از شاخه ها استفاده می کند.
نمونه عملی پیش بینی دینامیک
یک شمارنده دو بیتی را که برای پیش بینی شاخه پویا استفاده می شود در نظر بگیرید.این شمارنده می تواند چهار حالت داشته باشد: 00، 10، 11، 00 و 01 پیش بینی می کنند که "تحقیق" نیست، در حالی که 10 و 11 پیش بینی می کنند "د" به روز رسانی های مقابله بر اساس نتایج شاخه واقعی است.
اگر شمارنده در 10 و شاخه گرفته شود، به 11 حرکت می کند، اگر شاخه گرفته نشود، به 01 حرکت می کند.این سیستم به بهبود دقت پیش بینی در طول زمان کمک می کند.
محاسبه دقیق پیش بینی دقیق
دقت پیش بینی را می توان با درصد حدس های صحیح در مورد پیش بینی های کلی اندازه گیری کرد، به عنوان مثال، اگر از 100 شعبه، 90 به درستی پیش بینی شود، دقت 90 درصد است.
- پیش بینی های صحیح: 90
- پیش بینی های کامل: 100
- دقت = (Correct / Total) × 100 = 90٪