نام پژوهشگر: رابعه روانی فرد
رابعه روانی فرد مهدی صدیقی
یکی از روشهای افزایش کارایی پردازنده های همه منظوره، استفاده از پردازنده های با مجموعه دستورالعمل قابل توسعه است. این پردازنده شامل یک پردازنده با هسته توسعه برای پشتیبانی دستورالعمل های سفارشی خاص منظوره می باشند. روش های اکتشافی مختلفی برای انتخاب خودکار این دستورالعمل ها ارایه شده است که اکثر آن ها از گراف جریان داده برنامه کاربردی برای شناسایی دستورالعمل های سفارشی استفاده می کنند. بدست آوردن این گراف و چندین بار پیمایش آن هزینه زیادی دارد. در این پایان نامه، یک الگوریتم ایستای مبتنی بر دستورالعمل، جهت انتخاب دستورالعمل های سفارشی برای یک پردازنده ارایه شده است که به جای استفاده از گراف جریان داده از روند اجرای برنامه استفاده می کند. چون الگوریتم ایستاست، زمان اجرای آن اهمیت چندانی ندارد و اطلاعات کافی برای شناسایی بهترین دستورالعمل های سفارشی جود دارد و لذا یک حد بالا برای بهبود کارایی با توجه به محدودیت ها ارایه شده است. با استفاده از این الگوریتم تعداد کلاک های لازم برای اجرای برنامه های کاربردی بطور میانگین 77/25 درصد و حداکثر 6/48 درصد کاهش یافته است که در مقایسه با سایر الگوریتم ها بطور متوسط 65/2 درصد بهبود داشته است. پس از افزودن دستورالعمل های طویل با تکرار کم به مجموعه، افزودن دستورالعمل های انشعاب به عنوان آخرین دستورالعمل پایه و گسترش نمونه ها بعد از انشعاب در مسیر taken یا not-taken ، میزان بهبود تعداد کلاک ها بطور میانگین 63/47 درصد شد. در این حالت در برخی برنامه ها تعداد کلاک های اجرای برنامه 9/93 درصد بهبود یافت. همچنین در این پایان نامه روشی برای انتخاب زیر مجموعه ای از دستورالعمل های سفارشی با توجه به مساحت ارایه شده است. با این روش می توان دستورالعمل هایی را که با مساحت کمتر، در تسریع اجرای برنامه نقش موثرتری دارند، انتخاب کرد. مساحت دستورالعمل های سفارشی بر اساس مجموع تعداد گیت های دستورالعمل های پایه تخمین زده شده است. مشخصه های بیرونی مانند تعداد تکرار دستورالعمل های پایه، مساحت، تعداد دستورالعمل های سفارشی شناسایی شده و میزان بهبود تعداد کلاک نقش دارند. در این پایان نامه حد آستانه هر یک از این مشخصه ها برای رسیدن به حداکثر کارایی با حداقل هزینه مساحت تعیین شده است.