مفهوم محاسبات با قابلیت پیکربندی مجدد از اوایل دهه 60 میلادی پدیدار شد. موقعی که مقاله جرالد استرین مفهوم یک کامپیوتر ساخته شده از یک پردازنده استاندارد و آرایه­ای از سخت افزار قابل پیکربندی مجدد را پیشنهاد کرد. پردازنده اصلی، عملکرد سخت افزار قابل پیکربندی مجدد را کنترل می­کند. در نتیجه، این سخت افزار با قابلیت پیکربندی مجدد، برای انجام هر کاری مناسب خواهد بود. برای مثال می­توان کارهایی نظیر پردازش تصویر، الگوریتم عصبی و تطبیق الگو را با سرعت بالایی انجام داد. به محض اتمام یک کار، سخت افزار[1] می­تواند برای انجام کار جدید پیکربندی مجدد[2] شود. چنین خاصیتی با ترکیب انعطاف پذیری یک نرم افزار[3] و سرعت یک سخت افزار، در یک ساختار ترکیبی امکان پذیر شده است. در ضمن، چنین ایده­ای در زمان پیدایش، بسیار جلوتر از تکنولوژی ساخت سخت افزار مورد نیازش بود.

 

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

 

    • Matrix

 

    • Gorp

 

    • Elixent

 

    • XPP

 

    • Silicon Hive

 

    • Montium

 

    • Pleiades Morphosys

 

  • PiCOGA

علت عملی بودن چنین طرحهایی، پیشرفت مداوم فنآوری سیلیکونی بوده که پیاده سازی[4] طرح­های پیچیده را روی یک تراشه امکان پذیر ساخته است.

 

XD1 بین ریزپردازنده و FPGA به وسیله شبکه اتصال داخلی Rapid Array اش ارتباط برقرار می­کند. سیستم­های SRC از طریق حافظه واسط SNAP و یا سویچ اختیاری Hi-Bear ارتباط برقرار می­کنند.  دسته­بندی معماری­های با قابلیت پیکربندی مجدد روز به روز بیشتر توسعه می­یابند. این به دلیل عرضه شدن معماری­های جدید و به روز می­باشد (Azambuja 2011, 161-166).

 

FPGA ها آی­سی­هایی هستند که شکل سخت‌افزاری آنها می­تواند به راحتی، به شکل جدیدی تعریف شود. یعنی با بارگذاری یک پیکربندی جدید درست همانند نرم‌افزار جدیدی که می­تواند بر روی یک ریزپردازنده یا DSP بارگذاری شود، نگاشت داده می­شود. پردازش و الگوریتم­های فشرده FPGA ها می­تواند             آی­سی­های متمایز شده به وسیله کاربرد ASIC را حاصل سازد. محققان در سراسر دنیا، به دنبال داشتن ابر رایانه و آی سی­هایی با بازدهی بالا و انعطاف پذیر هستند، که از اجزا سخت افزاری قابل برنامه­ریزی مجدد برای هر کاربرد تشکیل می­شوند. در نتیجه، چندین برابر، کارآیی را در پردازنده­هایی که با طول دستور ثابت کار می­کنند، افزایش می­دهد (Boyer and strother moore 2012, 181-189).

 

دو نسخه آرایه انقباضی Spalsh در SRC ساخته شدند. مدار اصلی Spalsh در سال 1989 با قیمت 13000 دلار ساخته شد که می­توانست از ابر رایانه موجود در آن زمان به نامCray 2  برای کاربردهای تطبیق الگوی بیتی پیشی بگیرد. این سیستم حاوی 32 عدد FPGA از سری 3090 شرکت Xilinx بود که به صورت یک آرایه خطی متصل شده بودند. FPGA های مجاور از یک بافر حافظه­ای اشتراکی استفاده می­کردند.

 

بعد از آن، Splash 1 معرفی شد که می­توانست مقایسه یک رشته ی DNA را 45 برابر سرعت یک ایستگاه کاری با کارآیی بالا را در دهه 1990 انجام دهد. سه سال بعد Splash 2 ساخته شد که تعداد FPGA های خود را به 16 عدد کاهش داده بود. با این وجود به خاطر رشد سریع تراکم در FPGA، Splash 2 با 16 عدد FPGA مدل 4010 از شرکت Xilinx، دو برابر عملیات منطقی بیشتر از Splash 1 داشت. برای بهبود انعطاف ارتباطات داخلی Splash 2، ارتباط داخلی خطی را به وسیله یک میله عرضی تقویت کردند که اجازه می­داد که هر FPGA با FPGA دیگری ارتباط برقرار کند.

 

در سال­های بین 1987 تا 1990 رایانه قابل پیکربندی مجدد Splash توسط مرکز تحقیقات ابر رایانه­ای SRC توسعه یافت. این رایانه در طرح شماتیکی برنامه­نویسی شده بود. سخت افزار فوق­العاده و سرعت بالایی داشت. اما با وجود تمام این مزایا برنامه نویسی آن بسیار مشکل

 

خرید متن کامل این پایان نامه در سایت nefo.ir

 بود. در نتیجه، تعداد برنامه­های کاربردی آن محدود بود.

 

Splash 2 دارای زبان شبیه سازی VHDL بود و همانند مدل پیشین دارای سخت افزار بسیار خوبی بود، برنامه­ریزی آن غیر استاندارد بود اما دارای قابلیت برنامه نویسی خوبی بود. از 1986 تا 1995 حافظه‌های فعال قابل برنامه ریزی (PAMETTe , PAM) توسط شرکت فرانسوی DEC Paris معرفی شدند. برنامه نویسی این نوع حافظه ها در زبان C++ بود اما همان عیب Splash را داشتند یعنی سخت افزار خوبی داشتند اما برنامه­های کاربردی پشتیبانی شده توسط آنان محدود بود. در شکل 1-1 روند كلی تكامل سیستم‌های قابل پیكربندی مجدد را مشاهده می­کنید.

 

جدول 1-1. روند كلی تكامل سیستم‌های قابل پیكربندی مجدد

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

PAM و X30xx 1989 تا 1991
SPLASH و X40xx 1991 تا 1993
PRISM و DISC 1993 تا 1995
MATRIX و X6200 1995 تا 1997
CVH، RAW و FPGA 1997 تا 2014

فصل دوم:

 

مفهوم، معماری‌ها و روش‌های طراحی

 

سیستم‌های قابل‌ پیكربندی مجدد

 

2-1- محاسبات و سخت افزار با قابلیت پیکربندی مجدد

 

در این فصل، به بررسی مفهوم پیکر بندی مجدد می­پردازیم و چندین مرجع مهم در این زمینه را مورد بررسی قرار می­دهیم.

 

محاسبات با قابلیت پیکربندی مجدد، به سیستم­هایی اشاره می­کند که شکلی از قابلیت برنامه­ریزی سخت افزار را به وسیله کاربرد نقاط کنترلی، پیاده سازی می­کنند (Wang and Feng-yan 2009, 445-449). این نقاط کنترلی می‌توانند به طور متناوب برای اجرای کاربردهای متفاوت در سخت افزار تغییر ‌کنند. سخت‌افزار با قابلیت پیکربندی مجدد تعادل خوبی میان کارآیی پیاده سازی و انعطاف پذیری ایجاد می‌کند. این به دلیل این است که سخت­افزار با قابلیت پیکربندی مجدد، قابلیت برنامه­ریزی پس از طراحی را با نوع محاسبات موازی ترکیب کرده است، که در مقایسه با نوع محاسبات زمانی ترتیبی پردازنده­های دیگر، کارآیی بالاتری دارد (Trailokya Nath Sasamal and Mohan 2011, 244-253; gaspar 2012, 1-13 ).

 

به خاطر نیازهای فزاینده قابلیت انعطاف که به وسیله کاربردهایی با محاسبات فراوان مانند ارتباطات بی­سیم مطرح می­شوند، دستگاه­هایی که نیازمند سازگاری بالا با کاربردهای در حال اجرا هستند، برای این منظور تحلیل می­شوند. از سوی دیگر، درکی خوب از چنین کاربردهایی مورد نیاز است، خصوصأ در مورد منابعی که از آنها در خلال پیاده سازی استفاده می­شود و جایی که مصرف توان بایستی در مقابل کیفیت و کاربرد، موازنه شود. نیازهای چالش برانگیز برای قابلیت انعطاف و کارآیی پیاده سازی نمی­توانند به وسیله  پردازنده­های ASIC برآورده شوند. سخت افزار قابل پیکربندی مجدد یک پیاده سازی مطلوب را در  چنین مواردی شکل می­دهد (Llamocca 2013, 488–502).

 

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

 

یک سیستم محاسباتی با قابلیت پیکربندی مجدد، شامل یک یا تعداد بیشتری از پردازنده­ها و یک ساختار با قابلیت پیکربندی مجدد می­باشد که واحدهای عملیاتی سفارشی می­توانند به وسیله این ساختار ساخته شوند. پردازنده یا پردازنده­ها، دستورات ترتیبی را اجرا می­کنند. در حالی که دستورات می­توانند به طور موثری به سخت افزار نگاشته شوند و بعد از آن می­توانند به وسیله واحدهای پردازشی که به ساختار قابل پیکربندی مجدد نگاشت یافته­اند، اجرا شوند. همانند یک مدار مجتمع سفارشی، توابعی که به ساختار قابل پیکربندی مجدد نگاشت یافته­اند، می­توانند از موازی سازی در یک پیاده‌سازی سخت افزاری بهره برند. همچنین، همانند یک ASIC، طراح سیستم تعبیه شده می­تواند ترکیب صحیحی از واحدهای ذخیره و عملیاتی را در ساختار قابل پیکربندی مجدد تولید کند، که ساختار محاسبه­ای ارائه می­شود تا با کاربردهای خاص هماهنگ می­باشد(Yang 2013, 508–537).

 

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

موضوعات: بدون موضوع  لینک ثابت


فرم در حال بارگذاری ...