نام پژوهشگر: کیارش بازرگان
سروش ناصری شبانکاره کیارش بازرگان
گسترش فناوری های اطلاعاتی و ارتباطی، نیاز بشر به سیستم های قدرتمند پردازش و انتقال اطلاعات را بیش از پیش آشکار می سازد. ریز پردازنده ، به عنوان یکی از اساسی ترین بخش های سیستم های اطلاعاتی، نقش اساسی در تعیین عملکرد این سیستم ها بر عهده دارد. از این رو، بهبود عملکرد و توانایی اجرایی پردازنده ها، تأثیر بسزایی در ارتقای عملکرد سیستم های پردازش اطلاعات، خواهد داشت. در این پایان نامه، اعمال چندین تغییر اساسی در ساختار یک پردازنده ابر مقیاسی عام منظوره جهت ارتقای عملکرد و توان محاسباتی آن، مورد بررسی قرار گرفته است. افزودن قابلیت پیکربندی و کار در حالت های پردازشی یک، دو، سه و یا چهار رشته ای براساس تعداد فعالیت- های اجرایی مورد نیاز در سیستم، تغییر نحوه مدیریت دستورات انشعاب با استفاده از روش فراخوانی دستورها از هر دو مقصد احتمالی انشعاب، افزایش تعداد دستورهای قابل اجرا، حذف سطوح بالاتر حافظه های نهان و نیز کاهش شکاف عملکردی میان حافظه و پردازنده، از جمله مهمترین این تغییرات می باشند. در این پایان نامه، مراحل کامل طراحی و پیاده سازی پردازنده پیشنهادی و نحوه اعمال تغییرات فوق در ساختار آن، به تفصیل مورد بررسی قرار می گیرد. به منظور ارزیابی کمی بازدهی تغییرات فوق، عملکرد پردازنده پیشنهادی در اجرای مجموعه ای ازکاربردهای آزمون با عملکرد تعدادی پردازنده منتخب، به نمایندگی از خانواده های مختلف پردازنده های عام منظوره، مقایسه شده است. بر اساس نتایج عملکردی حاصل از اجرای مجموعه کاربردهای آزمون، عملکرد پردازنده پیشنهادی در اجرای کاربردهای آزمون صحیح، به دلیل حذف پیش بینی در مدیریت دستورات انشعاب و در نتیجه کاهش سربار عملکردی این دستورات، افزایش تعداد دستورهای قابل اجرا و قابلیت بهره برداری بیشتر از توازی در سطح دستورات و نیز کاهش شکاف عملکردی میان پردازنده و حافظه اصلی، تقریباً در تمامی موراد، بهتر از عملکرد پردازنده های منتخب مورد بررسی می باشد. به دلیل ماهیت عموماً حلقه ای کاربردهای ممیز شناور و نیز محلیت بیشتر در دست یابی به داده ها، تأثیر اعمال تغییرات فوق در اجرای کاربردهای آزمون ممیز شناور، کمتر مشاهده می شود. علاوه بر این، ساختار پیشرفته تر واحدهای عملیاتی ممیز شناور در پردازنده های منتخب نیز، موجب برتری نسبی آنها در اجرای کاربردهای آزمون ممیز شناور نسبت به پردازنده پیشنهادی می شود. با استفاده از واحدهای عملیاتی جدیدتر و با توان محاسباتی بیشتر، می توان عملکرد پردازنده پیشنهادی در اجرای کاربردهای ممیز شناور را نیز تا حد زیادی افزایش داد. در کل، پردازنده پیشنهادی عملکرد قابل قبولی را در اجرای مجموعه کاربردهای آزمون از خود نشان می دهد و این امر تأثیر مثبت تغییرات اعمال شده در ساختار آن را، آشکار می نماید.
مهسا موسوی کیارش بازرگان
با پیشرفت تکنولوژی ساخت تراشه های نیمه هادی، امکان قرار گرفتن اجزای مختلف یک سیستم با ده ها پردازنده بر روی یک تراشه به وجود آمده است. شبکه ی روی تراشه، به عنوان یک شبکه ی ارتباطی موثر برای چنین سیستم هایی به کار می رود. شبکه روی تراشه از مجموعه ای از مسیریاب ها که با کانال های ارتباطی به هم متصل شده اند، تشکیل شده است. در توپولوژی شبکه روی تراشه هر مسیریاب به یک پردازنده متصل است و هر دو در ناحیه محدودی به نام خانه ی شبکه روی تراشه قرار می گیرند. کارایی بالا، مقیاس پذیری، ساختار پیمانه ای و قابلیت موازی سازی ارتباط ها از جمله مزیت های شبکه روی تراشه است. تاخیر سیستم های روی تراشه به میزان زیادی وابسته به زیربنای ارتباطی است. به همین دلیل، طراحی ساختار ارتباطی با تاخیر کم، اجتناب ناپذیر است. روند کلی طراحی شبکه روی تراشه شامل تولید گراف مشخصه کاربرد، انتخاب پردازنده ی مناسب، انتخاب توپولوژی مناسب، نگاشت هسته های پردازشی به توپولوژی شبکه روی تراشه و انتخاب الگوریتم مسیریابی مناسب می باشد. توپولوژی و الگوریتم نگاشت دو فاکتور مهم هستند که بر روی تاخیر ارتباطات سیستم روی تراشه تاثیر بسزایی دارند. در این پایان نامه یک توپولوژی جدید با هدف کاهش تاخیر ارتباطات ارائه شده است. این توپولوژی، ترکیبی از باس و شبکه روی تراشه است، به طوریکه مزیت های هر دو را در بر دارد. با در نظر گرفتن نکات اساسی در طراحی شبکه روی تراشه، چند توپولوژی اولیه پیشنهاد شده است، که از بین آنها یک توپولوژی به عنوان توپولوژی برتر انتخاب شده است. در توپولوژی پیشهادی، باس ها علاوه بر ارتباط های محلی در ارتباط های عمومی نیز شرکت دارند. یک الگوریتم مسیریابی جدید که ترکیبی از مفاهیم الگوریتم مسیریابی xy و مفهوم شرکت دادن باس در ارتباط های عمومی است، ارائه شده است. در این پایان نامه همچنین،یک روش جدید برای نگاشت هسته های پردازشی بر روی توپولوژی پیشنهادی، ارائه شده است. در این روش هسته های پردازشی که ارتباط بیشتری با هم دارند، در یک باس مشترک قرار می گیرند. الگوریتم پیشنهادی از دو گام تشکیل می شود. در گام اول هسته های پردازشی دسته بندی می شوند ، گراف افراز که شامل دسته ها و ارتباط آنها است، ایجاد می شود و به باس ها نگاشت می شود. در گام دوم هسته های پردازشی به خانه های شبکه روی تراشه نگاشت می شوند. در این پایان نامه از ابزار متداول tgff برای ایجاد گراف های کاربرد تصادفی بهره گرفته شده است. مقایسه نتایج شبیه سازی برتری توپولوژی انتخاب شده را در بین توپولوژی های پیشنهادی اولیه، اثبات می کند. همچنین مقایسه ی نتایج با الگوریتم های متداول نگاشت بر روی توپولوژی مش، بهبود قابل توجهی را نشان می دهد.
میلاد قربانی مقدم کیارش بازرگان
پیشرفت تکنولوژی، افزایش پیچیدگی در مدارات و نیز افزایش تعداد ترانزیستورهای بکار رفته در تراشه ها و به دنبال آن گسترش سایز fpga ها را به دنبال داشته است. از طرفی فرآیند طراحی و پیاده سازی مدارات روی fpga، فرآیندی زمانگیر بوده که با گسترش پیچیدگی مدار و سایز fpga ها، به صورت نمایی افزایش می یابد. بر این اساس، از آنجایی برنامه های کاربردی که از fpga استفاده می کنند نیاز به زمان ارائه به بازار محدودی دارند، یکی از مهمترین چالش های پیش روی طراحان، به خصوص در طراحی سیستم های با قابلیت پیکربندی مجدد به طورپویا، کاستن این زمان طراحی، بدون کاهش در کیفیت نهایی راه حل مورد نظر می باشد. یکی از گام های اصلی و بحرانی در فرآیند طراحی fpga به کمک کامپیوتر (cad)، گام چینش است که وظیفه مکان دهی بلوک های منطقی را با هدف کاهش طول سیم بکار رفته و تأخیر زمانی مدار، برعهده دارد. در اکثر ابزارهای طراحی، از میان روش هایی که برای چینش ابداع شده، روش های مبتنی بر شبیه سازی گداختگی فلزات که بر اساس سرد شدن تدریجی فلزات بنا نهاده شده، به خاطر ارائه نتایج و راه حل های با کیفیت بالا و قدرت عملیاتی مناسب، به صورت گسترده ای مورد توجه قرار گرفته است که در آن میلیون ها حرکت تصادفی، سعی در تغییر مکان بلوک های منطقی به منظور بهبود پارامترهای کیفی دارند. در سال های اخیر موازی سازی به دلیل تمایل به افزایش نمایی تعداد هسته ها، می تواند راه حل تضمین شده ای برای کنترل افت سرعت طراحی با افزایش نمایی زمان محاسباتی با گسترش سایز fpga ها محسوب شود. یکی از امکانات موازی سازی که اخیرا رایج شده و مورد استقبال طراحان قرار گرفته، استفاده از قدرت محاسباتی واحدهای پردازشی گرافیکی همه منظوره است که به خاطر داشتن سخت افزار خاص و تعبیه صدها هسته پردازشی بر اساس معماری اتصالی و ارتباطی مناسب، راه حل موازی سازی تضمین شده ای را برای بهبود زمان اجرایی کاربردهای مورد نظر ارائه می کند. در این پایان نامه،vpr که یکی از محبوب ترین ابزارهای چینش و مسیریابی در طراحی fpga با کمک کامپیوتر محسوب می شود، بحث شده و الگوریتم و کد در دسترس آن به خصوص برای گام چینش مورد مطالعه و ارزیابی قرار گرفته است. از آنجایی که الگوریتم چینش در vpr براساس روش گداختگی شبیه سازی شده عمل می کند و ذات و عملکردی سریال گونه دارد، بدین صورت که عملیات بعدی منوط به استفاده از نتایج عملیات فعلی می باشد، انتخاب روش مناسب برای موازی سازی آن با استفاده از تعداد زیادی ترد، کاری دشوار می باشد و ممکن است راه حل های بدست آمده از لحاظ کیفیت، بسیار دورتر از راه حل نهایی حاصل از اجرای سریال چینش از طریق الگوریتم بکار گرفته شده توسط vpr باشد. بنابراین در این پایان نامه سعی شده با در نظر قرار دادن معماری واحدهای پردازشی گرافیکی همه منظوره، به ارائه روشی مناسب برای غلبه بر ذات سریال گونه چینش vpr و استفاده همزمان از تعداد زیادی ترد برای دستیافتن به افزایش سرعتی درخور، بدون کاهش معنی دار در کیفیت نهایی راه حل پرداخته شود. بدین منظور چهار روش جهت پیاده سازی با استفاده از تنوعی از تعداد تردها مورد تحلیل و شبیه سازی قرار گرفتند. روش حرکات موازی در صورت پیاده سازی مناسب می تواند به ازای تعداد تردهای محدود، افزایش سرعتی تا حدی مناسب را نتیجه دهد. این در حالی که در روش ارائه شده دوم یعنی روش مبتنی بر محاسبات براساس تأمل و پیش بینی دستیابی به افزایش سرعتی محدود بدست آمد. روش میانگین مختصات بلوک ها نهایتا به شکست انجامید و روش آخر که بر اساس پارتیشن بندی مسأله چینش استوار بود به ازای تعداد تردهای بالا افزایش سرعت محدودی را نتیجه داد.