نام پژوهشگر: فرهاد خون جوش
مرتضی صادقی فرهاد خون جوش
طراحی بهینه ی یک سخت افزار محاسباتی تأثیر مهمی در کارآیی پردازنده دارد و یکی از مسائل مهم طراحان سخت افزار است. طراحان سخت افزار قبل از ساختن سخت افزار، ابتدا پیکربندی بهینه آن سخت افزار را بررسی می کنند. این مسئله با عنوان کاوش فضای طراحی مطرح است. در این پایان نامه بررسی می شود که آیا می توان طراحی کارت گرافیک مدل nvidia fermi gtx480 را با تغییرات جزئی در ساختار سخت افزار آن ازنظر سرعت اجرای برنامه ها بهبود داد یا خیر. ازآنجاکه برای کاوش فضای دقیق فضای طراحی نیاز به مدل هایی دقیق تر داریم، ابتدا مدل های پیش بینی کارآیی که در کار ارائه شده اند دو بار بهبود داده شدند. یک بار تعداد پارامترها برای استخراج ویژگی را افزایش داده شدند؛ و یک بار تعداد و سطوح پارامترهای مدل را افزایش داده شدند. میانگین خطای پیش بینی برای مدل های بهبودیافته ی اول 5% و برای مدل های بهبودیافته ی دوم کمتر از 7% بود. سپس برای مقایسه ی قدرت مدل ها در کاوش فضای مسئله یک الگوریتم جستجوی تک هدفه ی کارآمد ارائه شد. پس ازآن برای کاوش فضای طراحی nvidia fermi gtx480 از 2 الگوریتم جستجوی چندهدفه استفاده شد و یک الگوریتم جستجوی تک هدفه ی دیگر نیز ارائه شد و درنهایت هر سه الگوریتم باهم مقایسه شدند. درنهایت به این نتیجه رسیدیم که می توان کارایی nvidia fermi gtx480 را با اندک تغییراتی در معماری سخت افزار آن بهبود داد. همچنین تحلیل هایی درباره رفتار برنامه های ارزیاب به دست با توجه به معماری سخت افزاری انجام دادیم.
فرهاد خون جوش احمد توحیدی
در این رساله، طراحی و پیاده سازی یک کامپایلر بهینه ساز سیلیکون برای سنتز سطح بالا مورد مطالعه قرار می گیرد. مزیت اصلی این روش، کوتاهتر بودن توصیف سطح بالا نسبت به انواع سطح پائین آن می باشد. از اینرو نوشتن و درک این توصیفات، و نیز تغییرات آتی آنها بسیار ساده تر خواهد بود. این مزایا موجب کاهش خطا و افزایش سرعت در شبیه سازی سیستمهای بزرگ شده و طراحی چنین سیستمهایی را ساده تر و در مدت کوتاه تر امکان پذیر می کند. زبان سخت افزاری vhdl هم اکنون به عنوان یک مجموعه واحد، طراحی و شبیه سازی سیستمهای پیچیده را امکان پذیر می کند. مزیت عمده زبان سخت افزاری vhdl به عنوان زبان سنتز و مشخصات، آن است که قابلیت توصیف سخت افزار را در تمام سطوح تجرد دارا می باشد. تبدیل مشخصه سطح بالا به یک نمایش داخلی، اولین مرحله در سنتز سطح بالا است. پس از این مرحله تبدیلاتی در جهت بهینه سازی رفتار بر روی آن اعمال می شود. زمانبندی و تخصیص، مراحل دیگری می باشند که رفتار توصیف شده را به یک ساختار سخت افزاری تبدیل می کنند. لازم به ذکر است که هر مرحله را می توان بطور مجزا طراحی و پیاده سازی کرد، که این مسئله ناشسی از مستقل بودن مراحل سنتز از یکدیگر می باشد. در این رساله، ابتدا به بررسی زبان vhdl پرداخته و با توجه به مسئله سنتز سطح بالا، زیر مجموعه ای از این زبان توصیف می شود. سپس گرامر این زیر مجموعه در محیط یک کامپایلر-کامپایلر به نام lex&yacc پیاده سازی شده و نهایتا کامپایلر مورد نظر طراحی و تولید می شود. لازم بذکر است که علاوه بر تبدیل یک برنامه رفتاری به نمایش داخلی، به منظور نمایش نحوه عملکرد کامپایلر یک نمایش میانی نیز برای آن در نظر گرفته شده است. نرم افزار فوق در محیط ms-windows با زبان borland c++ طراحی شده و بعلاوه از محیط یک کامپایلر-کامپایلر به نام lex&yacc استفاده شده است.