بهرهگیری از آرایه قابل بازآرایی برای بهبود پردازش موازی در سطح دستورالعمل
امروزه بهبود بازده توان و افزایش سرعت پردازنده مهمترین محدودیتهای طراحی بشمار میروند. درگذشته جهت بهبود سرعت در مقابل افزایش کمتر توان مصرفی روش سوپر اسکالر مطرح شد. اگرچه سوپر اسکالر تا حدی بهبود حاصل میکند. با توجه به اینکه اکثر دستورات از بلوکهای پایه ساده تشکیلشدهاند در اینجا Reconfigurable Array (RA) قابلیت اجرای بلوکهای پایه را خواهد داشت؛ و با توجه به معماری استفادهشده بهنگام اجرای دستورات توسط RA واحدهای خط لوله غیرفعال میشوند و خواندن دستورات از حافظه نهان پیکربندی انجام میشود، این امر باعث افزایش سرعت تا حدود 2.5 برابر میشود.
یکی از روشهای افزایش سرعت، موازیسازی است.
[alert type=”info”]در روش موازیسازی، موازی سازی در سطح دستورالعمل ، یکی از روشهای مناسب در این زمینه است؛ اما برای موازیسازی حدودی وجود دارد که یکی از محدودکنندهترین این حدود وابستگی میان دستورات است. این وابستگی باعث میشود حتی با افزایش چشمگیر در طراحی و سطح و توان مصرفی بهبود چندانی در سرعت و عملکرد ایجاد نشود.[/alert]
در ادامه با توجه به اینکه بسیاری از دستورات از عملوندهای با عرض باریک استفاده میکنند، بنابراین میتوان سختافزار را بهگونهای طراحی کرد که در صورت وجود داده عرض باریک بتوان بهسرعت بالاتر و یا مصرف توان کمتر دستیافت. برای انجام این آر باید حافظه و واحدهای اجرایی بخشبندی شوند تا بتوانند بهصورت موازی عمل کنند. پیشبینی میشود با این روش بتوان بهسرعت بالاتر دستیافت.
طراحان به دلیل افزایش تقاضای بهبود عملکرد پردازنده ها، ناچار به طراحی پردازنده هایی با قابلیتهای بالاتر بودند. این در حالی بود که صرفا افزایش سرعت و بهبود عملکرد پردازنده سبب افزایش سطح مصرفی و توان مصرفی تراشه گردید.
با افزایش تجهیزاتی که برای تامین انرژی خود از باتری استفاده می کنند، و رشد تجهیزات دارای محدودیت دما در تراشه، نیاز به بهبود بازده توان مصرفی بیش از قبل احساس می شود. پس محدودیت توان سبب می شود بسیاری از معماری های موجود برای افزایش سرعت پردازنده قابل پیاده سازی نباشند.
علاوه برآن، کاهش سایز طراحی در تراشه در حال اشباع شدن است. بنابراین افزایش سرعت ناشی از کاهش ابعاد طراحی نیز چندان رشدی نخواهد داشت و افزایش سرعت تنها با روشهای وابسته به معماری امکانپذیر خواهد بود.
فهرست پژوهش پردازش موازی
- فصل اول- دلایل استفاده از Reconfig Computing
- دستیابی به عملکرد بالا
- انعطاف پذیری
- افزایش بازده توان
- کاهش سطح مصرفی
- فصل دوم – استفاده از RA در پردازنده سوپر اسکالر
- روشهای نگاشت سخت افزار
- دلایل افزایش سرعت در RA
- فصل سوم – نتایج
- جهت شبیه سازی و مقایسه فرضیات زیر درنظر گرفته شده است.
- سناریوهای متفاوت درنظر گرفته شده جهت شبیه سازی
- نتایج سناریوهای ۱ تا ۳ (افزایش تعداد واحد ALU متوالی) با شبیه ساز Multi2sim
- بطور متوسط تا ۲۵% افزایش سرعت
- نتایج سناریوهای ۴ تا ۶ (محدود سازی تعداد عملیات حافظه)
- نتایج مقایسه پردازنده سوپر اسکالر و RA با سناریوی ۴ برای تعداد BasicBlock و برنامههای مختلف (تا ۲٫۵ برابر افزایش عملکرد)
- فصل چهارم – پیشنهاد
- طرح مساله: مصرف توان و بازده RA یکی از چالشهای طراحی است.
- راه حل پیشنهادی جهت افزایش عملکرد الهام گرفته از روش Brooks
- راه حل پیشنهادی جهت کاهش توان مصرفی الهام گرفته از روش Brooks
- نمودارهای لازم برای ارزیابی کارایی دو روش قبل
- نمودار مورد نظر و نتیجه احتمالی تاثیر پارتیشن بندی حافظه
- فصل پنجم – نتیجه گیری
- فصل ششم – منابع
مقدمه
یکی از روشهای دیگر جهت بهبود سرعت که در پردازندههای اینتل مورد استفاده قرار گرفت استفاده از حلقههای تکراری موجود در برنامه بود. برای این کار واحدی تحت عنوان آشکارساز حلقه جاری در پایپ تعبیه شد که در حقیقت یک حافظه نهان دستورالعمل است، زمانی که یک دستور برای بار اول اجرا میشود داخل حافظه نهان ذخیره میشود. ذخیره شدن دستورات در این حافظه منجر میشود تا در مراجعات بعد نیازی به فراخوانی دستور از حافظه نباشد. در نسخههای جدیدتر از پردازنده اینتل سعی شد این واحد به بعد از واحد دیکد انتقال پیدا کند. این ایده در روش استفاده از RA نیز در نظر گرفته شد و واحد LSD بعد از واحد Rename قرار گرفت تا با این کار از انجام مجدد اختصاص رجیستر فیزیکی به دستور اجتناب شود (مطابق شکل (1-1) ) و فرایند بررسی وابستگی دستورات مجدد تکرار نشود. استفاده از آرایههای قابل بازپیکربندی این مزیت را دارا هستند که میتوانند هم بازده توان و هم عملکرد را افزایش دهند. در حقیقت آرایههای قابل بازپیکربندی ماتریسی از واحدهای عملیاتی هستند که برای پیادهسازی واحدهایی که بیشتر اجرا میشوند مورداستفاده قرار میگیرند. سیستم مورداستفاده برای آرایه قابل بازپیکربندی بهطور کامل پویا است بنابراین نیازی به ایجاد تغییرات در کامپایلر نیست.
نتیجه گیری
در این بحث سعی شد در طراحی انجام شده برای پردازنده سوپر اسکار ارتقا یافته با RA راهکاری ارائه شود تا بتوان میزان توان مصرفی را کاهش و بازده را افزایش داد که برای تحقق آن از باریک بودن عرض عملوندهای مورد استفاده در دستورات استفاده کردیم و رجیستر فایل را بگونه ای درنظر گرفتیم که بتواند بیش از یک عملوند را در خود جای دهد و همچنین هر واحد عملیاتی را با توجه به عرض داده ورودی به واحدهای کوچکتر شکستیم تا بتوان از زیر واحدهای آن بصورت موازی استفاده نمود و با توجه به ساختار RA انتظار میرود نتایج بهتری نسبت به پردازنده معمولی بدست آوریم بدلیل این که RA میتواند واحدهای کوچکتر را بگونهای پیکر بندی کند که دستورات با عرض باریک اما غیر یکسان را هم بصورت موازی اجرا کند درحالی که این قابلیت در پردازنده سنتی وجود نداشت. با توجه به نتایج تک تک روشهای پیشنهادی در پردازنده سوپر اسکالر میتوان پیش بینی کرد افزایش قابل توجهی در ILP ایجاد شود.