عنوان پایاننامه
اختصاصی سازی پردازنده ها در یک سیستم چند پردازشی برروی تراشه برای کاهش توان مصرفی با توجه به ساختار سلسله مراتبی حافظه
- رشته تحصیلی
- مهندسی کامپیوتر-معماری کامپیوتر
- مقطع تحصیلی
- کارشناسی ارشد
- محل دفاع
- کتابخانه مرکزی پردیس 2 فنی شماره ثبت: E 2725;کتابخانه مرکزی -تالار اطلاع رسانی شماره ثبت: 69350
- تاریخ دفاع
- ۱۶ شهریور ۱۳۹۳
- دانشجو
- مرتضی اصغری
- استاد راهنما
- علی افضلی کوشا
- چکیده
- افزایش پیچیدگی سیستم های تعبیه شده، منجر به وجود آمدن سیستم های چند پردازشی بر روی یک تراشه یا MPSoC شده است. نیاز به توان پردازشی بالاتر و کنترل توان مصرفی مهمترین دلایل این مهاجرت است. یک MPSoC عبارت است از چندین واحد پردازشی، حافظه با ساختار سلسله مراتبی و تعدادی واحد ورودی و خروجی که همگی از طریق شبکه رو تراشه به یکدیگر متصل شده اند. پیش از این بهبود توان مصرفی از مسیر اختصاصی سازی پردازنده برای یک کاربرد خاص فراهم شده است. در این روش، یک پردازنده عاممنظوره را پس از بررسی برنامههای هدفی که قرار است بر روی این پردازنده اجرا شوند، بهگونهای تکمیل میکنند تا نیازهای خاص کاربران را که معمولا توان محاسباتی بالایی نیاز دارند بهصورت بهینه برآورده سازد. استفاده از تجربیات بدست آمده در طراحی پردازنده های خاص منظوره در MPSoC ها منجر به تولد شاخه تازه ای از سیستم-های روی تراشه تحت عنوان سیستم های چند پردازنده ای ناهمگون بر روی تراشه شد، در این سیستم ها هر پردازنده برای بخشی از برنامه اختصاصی سازی می شود. در یک چنین معماری ای انعطاف لازم برای اجرای محدوده وسیعی از کاربردها فراهم می شود. علاوه براین، همزمان میتوان هزینه، اندازه، و توان مصرفی را تحت کنترل نگه داشت. انعطاف بدست آمده در این معماری امکان عبور از دو محدودیت توان مصرفی و دسترسی به حافظه را که مهمترین مشکلات پردازنده ها است را فراهم می آورد، اما بهای آن افزایش پیچیدگی در مراحل طراحی می باشد. در این پژوهش تلاش داریم تا با ارائه راه کارهایی توان مصرفی تراشه را با توجه به ساختار سلسله مراتبی حافظه بهبود دهیم. برای این مهم استفاده از حافظه نهان پیش بینانه برای انتقال سریع تر داده ها در هر هسته پیشنهاد شده است. عملکرد این حافظه وابستگی بالایی به زمان بندی و نگاشت وظایف بر روی تراشه دارد به همین منظور الگوریتم نگاشت ایستایی برای بهبود عملکرد آن ارائه داده شده است. مجموع این دو روش به کاهش 10 تا 30 درصدی خطاهای دسترسی در حافظه نهان اختصاصی تراشه منجر می شود. واژههای کلیدی: سیستم های چند پردازشی بر روی یک تراشه، سلسله مراتب حافظه، توان مصرفی، حافظه نهان پیش بینانه، نگاشت ایستا
- Abstract
- Abstract Many research studies have been attracted to establish a balance between flexibility, customization, and performance of embedded systems design as technology has witnessed a rapid growth in the complexity of such systems in the course of past years. Multiprocessor System on Chip(MPSoC) can provide a solution which is much more flexible than ASICs and much more efficient than standard processors in terms of performance and power consumption. The multiprocessor System-on-Chip (MPSoC) is a system-on-a-chip (SoC) which uses multiple processors. It is used by platforms that contain multiple processing elements, a memory hierarchy and I/O components. A fair amount of previous research studies have been focused on better selection of custom instructions to improve the ASIP performance. Using these experience in multiprocessor has given birth to heterogeneous MPSoCs, in these systems each processor is customize for part of application. Such Architecture can provide enough flexibility to execute large application domain. Plus at the same time we can control power consumption, area and cost. This architecture can provide necessary flexibility to avoid power consumption and memory limits. But it will increase design complexity significantly. In this dissertation, we present a method to reduce power consumption considering memory hierarchy. To do that, we suggest an extra cache table in local cache which will be used to keep data which are predicted to be needed in each processing element. This new cache block performance is closely effected by task mapping and task scheduling so we used an static mapping algorithm to increase it performance. Together we decreased cache miss up to 30% in local cache. Key Word: Multiprocessor System on Chip, Memory Hierarchy, Power Consumption, Predictable Cache, Static Mapping