معماری کامپیوتر و سیستمهای موازی: اجرای فوقالعاده (Superscalar Execution) - نکته رسمی
اجرای فوقالعاده (Superscalar Execution)
- اجرای فوق العاده (Superscalar Execution) به تکنیکی در معماری پردازنده ها اطلاق می شود که امکان اجرای همز مان دستورالعمل های مستقل را از طریق داشتن واحد های اجرایی متعدد (مانند واحد های ممیز شناور، واحد های صحیح، و واحد های بارگذاریذخیره سازی) فراهم می آورد.
- هدف اصلی اجرای فوق العاده، افزایش توان عملیاتی (Throughput) پردازنده است، به این معنی که تعداد دستورالعمل هایی که در واحد زمان تکمیل می شوند، افزایش یابد، حتی اگر تأخیر (Latency) اجرای هر دستورالعمل به تنهایی کاهش نیابد.
- برای دستیابی به اجرای فوق العاده، پردازنده نیازمند مکانیزم هایی برای پیش بینی انشعابات (Branch Prediction)، کشف وابستگی های داده ای (Data Dependencies) بین دستورالعمل ها، و زمان بندی (Scheduling) پویا برای ارسال دستورالعمل ها به واحد های اجرایی آزاد است.
- وابستگی های داده ای، که شامل وابستگی های جریان (Flow Dependencies)، ضد وابستگی ها (Anti Dependencies)، و وابستگی های خروجی (Output Dependencies) می شوند، یکی از چالش های اساسی در طراحی پردازنده های فوق العاده هستند و نیاز به تکنیک هایی مانند بازنام گذاری رجیستر (Register Renaming) برای رفع آن ها دارند.
- پیش بینی انشعابات (Branch Prediction) نقشی حیاتی در حفظ جریان دستورالعمل ها در پردازنده های فوق العاده ایفا می کند. پیش بینی نادرست منجر به پاکسازی خط لوله (Pipeline Flush) و اتلاف چرخه های کلاک می شود.
- مدیریت حافظه نهان (Cache Memory) با تأخیر کم و پهنای باند بالا برای پشتیبانی از اجرای فوق العاده ضروری است، زیرا دسترسی به داده های مورد نیاز دستورالعمل ها باید به سرعت انجام شود تا واحد های اجرایی بیکار نمانند.
- دستورالعمل های خارج از ترتیب (Out-of-Order Execution) یکی از ویژگی های کلیدی پردازنده های فوق العاده است که به پردازنده اجازه می دهد تا دستورالعمل ها را به ترتیبی غیر از ترتیب اصلی برنامه اجرا کند، مشروط بر اینکه وابستگی های داده ای رعایت شوند.
- تکنیک هایی مانند پنجره اجرای خارج از ترتیب (Out-of-Order Execution Window) و بافر دستورالعمل های در حال اجرای (Reorder Buffer - ROB) برای مدیریت اجرای دستورالعمل ها خارج از ترتیب و اطمینان از تکمیل آن ها به ترتیب اصلی برنامه (Commit) به کار می روند.
- پیچیدگی سخت افزاری لازم برای پیاده سازی اجرای فوق العاده، شامل واحد های منطق کنترلی پیشرفته برای تشخیص وابستگی ها، زمان بندی، و مدیریت رجیستر ها، به طور قابل توجهی بیشتر از پردازنده های خط لوله (Pipelined) سنتی است.
- محدودیت های موجود در اجرای فوق العاده اغلب ناشی از وابستگی های داده ای غیرقابل حل، محدودیت در تعداد واحد های اجرایی، و تأخیر در دسترسی به حافظه است که می تواند توان عملیاتی واقعی را محدود سازد.
منبع آموزشی این مطلب
این مطلب برگرفته از محصول آموزشی «مقدمهای بر پردازش موازی» است
برای مشاهده توضیحات کامل، جزئیات دوره و دریافت محصول، روی دکمه زیر کلیک کنید.
اطلاعات بیشتر و دریافت محصول