بخشی از مقاله

خلاصه

ساختارهای چندپردازنده نه تنها در سرورها و کامپیوترهای رومیزی بلکه در سیستم های نهفته وFPGA 2 ها نیز ظهور نموده اند. هدف چنین ساختارهایی بهبود کارایی میباشد. یک راهحل مناسب جهت طراحی و ایجاد سیستم چندپردازنده استفاده از پردازنده نرم3 در ساختار FPGA میباشد. فرکانسکاری پردازنده نرم قابل تنظیم بوده و با توجه به گنجایش FPGA تعداد و پیکره بندی آن قابل تغییر میباشد. در سیستمهای نهفته به علت اینکه معمولا از باتری استفاده میشود و کاهش دما مهم میباشد، انرژی مصرفی می تواند به اندازه کارایی سیستم از اهمیت یکسان برخوردار باشد. به همین دلیل در این سیستمها سعی می شود معیار EDP4 بهینه گردد.

در ساختارهای چندپردازنده بهازای افزایش تعداد هستههای پردازشی، درجه موازیسازی افزایشیافته و منجر به بهبود کارایی میگردد اما در مقابل مصرف انرژی نیز افزایش مییابد. همچنین افزایش فرکانسکاری پردازندهها در یک سیستم چندپردازنده باعث بهبود کارایی میگردد اما در مقابل افزایش انرژی مصرفی را نیز به دنبال خواهدداشت. در سیستمهای چندپردازنده مبتنی بر پردازندههای نرم بر روی بستر FPGA تعداد پردازندهها و فرکانسکاری آنها قابل کنترل و مدیریت میباشد.

این انعطافپذیری سبب افزایش وسعت فضای طراحی گشته و شناسایی مناسبترین ساختار - یعنی سیستم، چند پردازنده داشته باشد و با چه فرکانسی کار کند - که کمترین EDP را داشته باشد به فرآیندی پیچیده تبدیل میگردد. هدف اصلی این تحقیق تعیین درجه موازیسازی - تعداد پردازندهها - و فرکانسکاری سیستم چندپردازنده همگن مبتنی بر FPGA برای یک برنامه-کاربردی موازی میباشد، به گونهایی که معیار کارایی-انرژی بهینهگردد.

.1 مقدمه

امروزه برنامههای کاربردی متنوع درشاخههای گوناگون نظیر پردازش صوت، تصویر، ویدئو، کاربردهای مخابراتی، پزشکی و.... نقش مهمی را در زندگی روزمره بشر ایفا میکنند. این برنامه ها اکثرا نیازمند توان محاسباتی بالا میباشند. پیاده سازی کاربردهای مورد نظر با بهرهگیری از ساختار تکپردازنده محدودیتهای کارایی را درپی خواهد داشت. در کاهش کارایی ساختار تکپردازنده سه عامل نقش اساسی را دارند که عبارتند از دیوارتوان مصرفی5، دیوار حافظه6 و دیوار ILP7 که در ادامه به توضیح هر یک خواهیم پرداخت.

یکی از عوامل محدودکننده کارایی در ساختارهای تکپردازنده عامل دیوار ILP میباشد، در پردازنده ها روشهای مختلفی برای موازی اجرا نمودن دستورالعمل ها جهت افزایش کارایی پردازنده استفاده میگردد، مانند تکنیکهای موجود در پردازندههای VLIW8 و .[1] Super Scaler از طرفی تعداد دستورالعملهایی را که می توان با استفاده از تکنیکهای گوناگون به صورت موازی اجرا نمود محدود خواهد بود.

بنابراین یکی از عواملی که سبب میگردد تا معیارکارایی در ساختارهای تکپردازنده با شیب پیشبینی شده افزایش نیابد محدود بودن تعداد دستورالعملهای موازی میباشد. میتوان به عامل دیوارحافظه به عنوان یکی دیگر از عوامل محدودکننده کارایی اشاره نمود.

این محدودیت وابسته به تکنولوژی بوده به گونهایی که نمیتوان از سرعت پردازنده به دلیل کند بودن حافظه اصلی نسبت به پردازنده در بهبود کارایی بهره جست. بنابراین کند بودن حافظه اصلی نسبت به پردازنده سریع از دیگر موانع در بهبود کارایی میباشد. از دیگر روشهای بهبود کارایی، افزایش تعداد تزانزیستورها و فرکانس درپردازندهها میباشد. افزایش تعداد ترانزیستورها و فرکانس باعث افزایش توان مصرفی و در نتیجه تولید حرارت و افزایش دما میگردد که در نهایت موجب محدود نمودن کارایی در پردازنده میشود

بنابراین کندبودن حافظه اصلی نسبت به پردازنده، محدود بودن تعداد دستورالعملهای موازی و افزایش توان مصرفی و دما با افزایش فرکانس و تعداد ترانزیستورها از عوامل اصلی در محدود کردن طراحی پردازندههای تک هستهای پیچیدهتر، قویتر و سریعتر و در نتیجه باعث کاهش کارایی در ساختار تکپردازنده میباشد. یکی از راهکارهای موثر در راستای برطرف نمودن محدودیتهای فوق جایگزین نمودن سیستم تکپردازنده با ساختار چندپردازنده و بهره جستن ازموازات در سطح نخها9 می باشد.

ساختارهای چندپردازنده نه تنها در سرورها و کامپیوترهای رومیزی بلکه در سیستم های تعبیه شده و FPGA ها نیز ظهور نمودهاند. در ساختارهای چندپردازنده بهازای افزایش تعداد هستههای پردازشی توان مصرفی افزایش مییابد، بنابراین کاهش توان مصرفی به منظور کاهش دما و مصرف انرژی مخصوصا در سیستمهایی که از باتری به عنوان منبع تغذیه استفاده میکنند از اهمیت بالایی برخوردار است. مسأله توان مصرفی در پردازندهها، از جمله مهمترین مواردی است که به عنوان یک محدودیت طراحی مهم، مورد توجه واقع شده است.

توان در مدارات CMOS با مجذور ولتاژ تغذیه رابطه مستقیم دارد و با افزایش فرکانسکاری توان پویای تلفشده نیز افزایش مییابد. از طرفی افزایش تعداد ترانزیستورها به نوبه خود عامل دیگری در خصوص افزایش توان مصرفی ایستا و پویای تراشهها به شمار میرود. طراحان برای مقابله با محدودیت ناشی از افزایش توان مصرفی، از موازیسازی استفاده کردند و سعی نمودند که کارایی را از طریق انجام همزمان چندین وظیفه افزایشدهند.

پردازش موازی بواسطه به کارگیری و افزایش دسترسی به منابع موازی به عنوان یک روش جهت برآورده نمودن نیازهای محاسباتی موجود در برنامههایکاربردی و محاسبات پیچیده مطرح گشتهاست. دراین ساختار بارکاری10 برنامهکاربردی مابین پردازندههای مجزا تقسیم میگردد. در یک سیستم چندپردازنده افزایش تعداد پردازندهها و فرکانسکاری آنها سبب افزایش کارایی برنامهکاربردی و توان محاسباتی آن خواهدشد، از طرفی افزایش تعداد پردازندهها و فرکانسکاریشان منجر به افزایش انرژی مصرفیخواهدگشت.

بنابراین استفاده مناسب از منابع پردازشی در این ساختار میتواند باعث گردد که از انرژی بهینه مصرف گردد. مسأله توان مصرفی در پردازندهها، از جمله مهمترین مواردی است که به عنوان یک محدودیت مهم طراحی، مورد توجه واقع شده است. طراحان برای مقابله با محدودیت ناشی از افزایش توانمصرفی، تصمیم گرفتند به جای داشتن یک پردازنده پیچیده قوی که با فرکانس بالا کار میکند، از پردازندههای چند هستهای که هستههای سادهتر و فرکانس پایینتر دارند، استفاده کنند و کارایی را از طریق اجرای همزمان چندین وظیفه افزایش دهند.

با توجه به اهمیت کاهش مصرف انرژی در سالهای اخیر، زمان اجرا را نمیتوان به عنوان تنها معیار ارزیابی کارایی در نظر گرفت. قربانی کردن کارایی به خاطر کاهش انرژی، به یکی از معیارهای مهم ارزیابی یک سیستم کامپیوتری مبدل گشته است. امروزه افزایش استفاده از سیستمهای کامپیوتری و افزایش قیمت برق، باعث شدهاست تا مسئلهی بهرهوری انرژی به یکی از مباحث عمدهی پژوهشی مبدل گردد.

با پیشرفت فناوری و کوچکتر شدن ابعاد ترانزیستورها، امکان طراحی و ساخت سیستمهای دیجیتال با تعداد بسیار بیشتر ترانزیستور و فرکانس بالاتر امکانپذیر شدهاست. افزایش زیاد تعداد ترانزیستورهایی که با فرکانس بالاتر فعالیت میکنند باعث میشود توان مصرفی تراشهها به شدت افزایش پیدا کند.

این توان بالا در مساحت بسیار کوچکی مصرف میشود که باعث ایجاد حرارت بسیار بالایی میگردد. افزایش حرارت در سیستمهای الکترونیکی باعث افت کارایی، کاهش قابلیت اطمینان، کاهش طول عمر قطعات و افزایش هزینههای خنکسازی در یک سیستم میشود. همچنین دمای بالاتر باعث افزایش توان مصرفی ایستا میگردد. از سوی دیگر، طراحان برای افزایش بهرهوری از سطح تراشه و نیز مدیریت افزایش پیچیدگی پردازنده، از پردازندههای چند هسته ای استفاده کردند.

امروزه FPGA ها به عنوان سکویی مقرون به صرفه از نقطه نظر زمان11 و هزینه 12 جهت طراحی و ایجاد ساختارهای چند پردازنده معرفی شدهاند. با این وجود طراحی مبتنی بر زبان توصیف سخت افزار13 بسیار زمان بر و طاقت فرسا برای مهندسان میباشد. یک راه حل مناسب جهت طراحی و ایجاد سیستم چندپردازنده استفاده از پردازنده نرم14 در ساختار FPGA می-باشد، به طوری که پردازنده نرم قابل تنظیم بوده و با توجه به گنجایش FPGA تعداد و پیکره بندی آن قابل تغییر میباشد.

بر خلاف سیستم هایی مانند سرورها و کامپیوترهای شخصیکه چند پردازنده هستند ولی تعداد هسته پردازشی و پیکرهبندی آن ثابت در نظر گرفتهمیشود. سیستم های چندپردازنده مبتنی بر FPGA از انعطاف پذیری بالایی در سفارشی ساختن معماری مانند ساختارهای ارتباطاتی، پیکره بندی پردازنده نرم، تعداد پردازندههای قابل بهکارگیری، فرکانسکاری هر یک از پردازندهها، بهره برداری از شتاب دهندههای سخت افزاری، تعیین ساختار، سطوح و اندازههای مختلف حافظه برخوردار می-باشند.

این انعطافپذیری سبب افزایش وسعت فضای طراحیگشته و شناسایی بهترین معماری برای یک برنامه خاص بر اساس تعداد نخها و تخصیص آنان به هستههای گوناگون با توجه به ملاحظاتی مانند توان مصرفی، کارایی به فرایندی پیچیده تبدیل میگردد.

در متن اصلی مقاله به هم ریختگی وجود ندارد. برای مطالعه بیشتر مقاله آن را خریداری کنید