نام پژوهشگر: فرهاد مهدی پور
حسن اصغریان مرتضی صاحب الزمانی
یکی از راهکارهای افزایش کارایی پردازنده های همه منظوره، استفاده از پردازنده ها با مجموعه دستورالعمل های قابل توسعه است. در این نوع پردازنده ها امکان اضافه کردن دستورالعمل های جدید برای پردازنده وجود دارد. مشکلی که برای توسعه برنامه بر روی این پردازنده وجود دارد، پیچیدگی فرایند طراحی در آنها است. انتخاب خودکار دستورالعمل های سفارشی و تشخیص آنها هزینه بالایی دارد. شناسایی دستوالعمل های سفارشی بر مبنای برنامه کاربردی و با توجه به ورودی های آن انجام می شود. عموما برای شناسایی دستورالعمل های سفارشی و اجرای آنها از روش های نرم افزاری و شبیه سازی با کمک داده های واقعی استفاده می شود. در این پایان نامه یک بستر محاسباتی قابل باز پیکربندی برای اجرای برنامه های کاربردی ارائه داده شده است که در آن تشخیص دستورالعمل های سفارشی هم زمان با اجرای برنامه کاربردی صورت می گیرد. نقطه قوت استفاده از بستر محاسباتی پیشنهادی برای تشخیص دستوالعمل های سفارشی، عدم نیاز آن به شبیه سازی با داده های زمان اجرا است. اجرای دستورالعمل های سفارشی بر روی این بستر محاسباتی به صورت مخفی از دیدگاه کاربر نهایی سیستم انجام می شود. برای اجرای برنامه های کاربردی بر روی این بستر محاسباتی نیازی به انجام تغییرات بر روی کد باینری نیست و به همین دلیل فرایند طراحی برنامه برای آن کاملا مشابه به فرایند طراحی برنامه برای یک پردازنده همه منظوره است. حجم سخت افزار اضافی برای تشخیص دستورالعمل های سفارشی که بر روی fpga پیاده سازی شده است، کمتر از 20? حجم پردازنده پایه استفاده شده در این بستر محاسباتی پیشنهادی است. نتایج آزمایش های انجام شده بر روی این بستر محاسباتی حاکی از افزایش سرعت برنامه های کاربردی تا حداکثر 40 درصد و به طور میانگین حدود 20? است.