دو روش در محاسبات سنتی برای اجرای یک الگوریتم وجود دارد. روش اول بکار بردن ASIC ها میباشد تا الگوریتم مورد نظر را در سختافزار پیادهسازی کند. چون این قطعات برای هر الگوریتم خاص ساخته میشوند، سریع و کارا میباشند. اما مدارات آنها پس از ساخت تغییر نمیکند. ریزپردازندهها راه حل بسیار با انعطافتری هستند. آنها مجموعهای از دستورات را اجرا میکنند. و کارایی سیستم بدون تغییر سختافزار تغییر میکند. ام همانند یک ASIC دارای قابلیت انعطاف نمیباشد. یک سیستم قابل پیکربندی مجدد توسعه یافتهاست تا فاصله را میان سختافزار و نرمافزار را کم کند. و به یک کارایی بسیار بالاتر از نرمافزار و قابلیت انعطاف بیشتر سختافزار برسد.
در این پایان نامه ابتدا تاریخچهای مختصر از توسعهی سیستمهای قابل پیکربندی مجدد ارائه شده است.سپس مفهوم قابلیت پیکربندی مجدد و انواع آن بیان شده است.پس از آن نگاهی کلی به دو طبقه بندی مختلف معماریهای این سیستمها شده است و همچنین مروری بر روشهای طراحی و ملزومات آن کردهایم. در فصل پنجم انواع تکنولوژیهای سخت افزار قابل پیکربندی مجدد بحث شده است. در فصل ششم روند طراحی سیستم قابل پیکربندی مجدد بر روی تراشه ( SoC ) آورده شده است. و نهایتا در فصل هفت ویژگیهای طراحی سیستم با یک زبان برنامه نویسی بر مبنای C به نام SystemC بیان شده است.
- تاریخچه محاسبات قابل پیکر بندی مجدد
مفهوم محاسبات قابل پیکربندی مجدد از دهه 1960 پدیدار شد . موقعی که مقاله جرالد استرین(Gerald Estrin) مفهوم یک کامپیوتر ساخته شده از یک پردازنده ی استاندارد و آرایه ای از سخت افزار قابل پیکربندی مجدد را پیشنهاد کرد . پردازنده اصلی باید رفتار سخت افزار قابل پیکربندی مجدد را کنترل کند . در نتیجه این سخت افزار قابل پیکربندی مجدد برای انجام کاری خاص مناسب خواهد بود برای مثال می توان کارهایی نظیر پردازش تصویر و تطبیق الگو را با سرعت بالایی انجام داد . به محض اتمام کار ، سخت افزار می تواند برای انجام کار جدید پیکربندی مجدد شود. چنین خاصیتی با ترکیب انعطاف پذیری یک نرم افزار و سرعت یک سخت افزار در یک ساختار کامپیوتری ترکیبی میسر شده است . متاسفانه چنین ایده ای در زمان پیدایش بسیار جلوتر از تکنولوژی ساخت سخت افزار مورد نیازش بود.
در دهه ی اخیر یک رنسانس در عرصه ی تحقیقات درباره ی معماری های قابل پیکربندی مجدد بوجود آمد . این معماری ها هم در دانشگاهها و هم در صنعت توسعه می یافتند معماری هایی نظیر : Matrix , Gorp , Elixent , XPP , Silicon Hive , Montium , Pleiades , Morphosys , PiCOGA چنین طرحهایی عملی بودند . و این مرهون پیشرفت مداوم فناوری سیلیکونی بود که پیاده سازی طرح های پیچیده را روی یک تراشه میسر میساخت .
اولین مدل تجاری کامپیوتر قابل پیکربندی مجدد در جهان به نام Algotronix CHS 2*4 در سال 1991 تکمیل شد این یک موفقیت تجاری نبود اما آنقدر امیدبخش بود که شرکت Xilinx (مخترع FPGA) تکنولوژی را خرید و محققان Algotronix را به خدمت گرفت .
هم اکنون تعدادی فروشنده ی کامپیوترهای قابل پیکربندی مجدد وجود دارند که بازار کامپیوترهای با کارایی بالا را مورد توجه قرار داده اند . این شرکت ها شامل SRC Computers , SGL , Cray می شوند . شرکت ابر رایانه ای Cray (که به SRC ارتباطی پیدا نمی کند ) Octigabay و بستر محاسبات قابل پیکربندی مجدد آنرا به دست آورد که Cray آنرا به عنوان XD1 تا کنون به فروش رسانده است . SGI رایانه ی RASC را همراه با سری ابر رایانه های Altix به فروش می رساند . شرکت SRC Computers یک خانواده از رایانه های قابل پیکربندی مجدد را توسعه داده است . این خانواده بر اساس معماری ضمنی + صریح خود شرکت و پردازنده MAP می باشد .
تمام آنچه که گفته شد رایانه های هیبرید Estrin هستندکه این رایانه ها با ریزپردازنده های سنتی که FPGA ها همراه شده اند ساخته می شوند . FPGA ها توسط کاربر برنامه ریزی می شوند این سیستم ها می توانند به عنوان رایانه های دسته ای سنتی بدون استفاده از FPGA ها به کاربرده شوند ( در حقیقت FPGA ها گزینه ای در XD1 و SGIRASC هستند ) پیکربندی XD1 و SGIFPGA از طریق زبانهای توصیف سخت افزار (HDL ) سنتی تکمیل شده است . و یا با به کارگیری زبانهای سطح بالایی نظیر ابزار گرافیکی Star bridge viva یا زبانهایی مانند C مثل Handel-C از Celoxica و Lmpulse-C از Impulse Accelerated technologies یا Mitrpn-C از Mitrionics کامل شده اند . به قول راهنمای برنامه نویسی XD1 «توسعه ی فایل منطقی یک FPGA خام یک فرآیند پیچیده است که نیازمند دانش و ابزار تخصصی است ».
SRC کامپایلری را توسعه داده است که زبان سطح بالایی مثل C یا Fortran را گرفته و با اندکی تغییرات آنها را برای اجرا روی FPGA در ریزپردازنده کامپایل می کند . به نقل از مستندات SRC « ... الگوریتم های کاربردی با زبانهای سطح بالا همانند C و Fortran نوشته می شوند . Carte (همان کامپایلر) حداکثر موازی سازی را از کد استخراج می کند و منطق سخت افزار خط لوله ای را تولید می کند که در MAP مقدار دهی شده اند . همچنین این کامپایلر تمام کدهای واسطی که برای مدیریت انتقال داده به داخل و خارج MAP نیاز است را تولید می کند . این کدهای واسط وظیفه ی هماهنگ سازی ریزپردازنده ی با منطق در حال اجرا در MAP را دارند » ( توجه شود که SRC همچنین اجازه استفاده از یک HDL سنتی را داده است ).
XD1 بین ریزپردازنده و FPGA بوسیله ی شبکه ی اتصال داخلی Rapid Array اش ارتباط برقرار میکند . سیستم های SRC از طریق واسط حافظه SNAP و یا سویچ اختیاری Hi-Bear ارتباط برقرار می کند . واضح است که دسته بندی معماری های قابل پیکربندی مجدد هنوز توسعه می یابند و این بدلیل عرضه شدن معماری های جدید است . هیچ طبقه بندی واحدی تا کنون پیشنهاد نشده است . به هر حال چندین پارامتر دوری میتوانند برای دسته بندی چنین سیستم هایی استفاده شوند .
هنگامی که مفاهیم پایه ی محاسبات قابل پیکربندی مجدد در دهه ی 1960 شکل گرفت . RC در شکل جدی و عملی خود با پدیدار شدن FPGA ها در اواخردههی 1980 آغاز شد . FPGA ها IC هایی بودندکه شکل سختافزاری آنها می توانست از نو به راحتی تعریف شود . یعنی با بارگذاری یک پیکربندی جدید درست همانند نرمافزار جدیدی که می تواند بر روی یک ریزپردازنده یا DSP بارگذاری شود نگاشت داده و سپس پردازش آن و الگوریتم های فشرده ی FPGA ها می توانست IC های متمایز شده به وسیله کاربرد ( Application Specific (ASIC) IC ) را حاصل سازد . محققان در ایالات متحده و فرانسه به دنبال پایه های اولیه ی با بازدهی بالا و انعطاف پذیری مطلوب ابر رایانه ای را در سر می پروراندند که متشکل بود از اجزا سخت افزاری قابل برنامه ریزی مجدد که برای هر کاربرد می توانست بهینه شود . که در نتیجه یک تا دو برابر کارایی را در پردازنده هایی با طول دستور ثابت و قراردادی افزایش می داد . اولین رایانه های قابل پیکربندی مجدد بوسیله IDA Supercomputing Research Center ( SRC که در سال 1994 به Center for Computing Sciences تغییر نام داد ) در آمریکا ساخته شد . در فرانسه به وسیله DEC Paris Research Lab که پس از فروش Digital Equipment Co بسته شد ساخته شد .
دو نسخه آرایه انقباضی Spalsh در SRC ساخته شدند . مدار اصلی Spalsh در سال 1989 با قیمت تقریبی 13000 دلار ساخته شد که می توانست از ابر رایانه ی موجود در آن زمان به نام Cray 2 برای کاربردهای تطبیق الگوی بیتی پیشی گیرد .این سیستم حاوی 32عدد FPGA از سری 3090 شرکت Xilinx بود که بصورت یک ارایه ی خطی متصل شده بودند . FPGA ها ی مجاور از یک بافر حافظه ای اشتراکی بهره مند بودند .
RC در ایستگاه کاری SUN از طریق ارتباط داخلی VME معرفی شد . Splash 1 می توانست مقایسه ی یک رشته ی DNA را 45 برابر سرعت یک ایستگاه کاری با کارایی بالا را در دهه ی 1990 انجام دهد . سه سال بعد Splash 2 ساخته شد که تعداد FPGA های خود را به 16 کاهش داده بود . با این وجود به خاطر رشد سریع تراکم در FPGA ، Splash 2 با شانزده عدد FPGA مدل 4010 از شرکت Xilinx حاوی 5/1 برابر منطق بیشتر از Splash 1 بود . برای بهبود انعطاف ارتباطات داخلی Splash 2 ارتباط داخلی خطی را به وسیله یک میله عرضی تقویت کرد که اجازه می داد که هر FPGA با هر FPGA دیگر ارتباط برقرار کند .
در سالهای بین 1987 تا 1990 رایانه ی قابل پیکربندی مجدد Splash توسط مرکز تحقیقات ابر رایانه ای SRC توسعه یافت . از خصوصیات این طراحیمی توان به این نکات اشاره کرد :
این رایانه در LDG یا در طرح شماتیک برنامه نویسی شده بود . سخت افزار فوق العاده و تسریع قابل توجهی داشت. اما با وجود تمام این مزایا برنامه نویسی اش مشکل بود در نتیجه تعداد برنامه های کاربردی آن محدود بود . همین شرکت یعنی SRC در سالهای 1992 تا 1994 مشغول توسعه و تکمیل Splashبود و سرانجام موفق شد تا Splash 2 را طراحی کند . زبان شبیه سازی این رایانه VHDL بود همانند مدل پیشین دارای سخت افزار بسیار خوبی بود . برنامه ریزی اش غیر استاندارد بود اما دارای قابلیت برنامه نویسی خوبی بود . از 1986 تا 1995 حافظههای فعال قابل برنامه ریزی (PAMETTe , PAM) توسط شرکت فرانسوی DEC Paris معرفی شدند . برنامه نویسی این نوع حافظه ها در زبان C++ بود اما همان عیب Splash از SRC را داشتند یعنی سخت افزار خوبی داشتند اما برنامه های کاربردی پشتیبانی شده توسط آنان محدود بود .
فهرست مندرجات:
- مقدمه 3
- تاریخچه 4
- مفهوم پیکربندی مجدد 7
3-1.محاسبات قابل پیکربندی مجدد 7
3-2. سیستم بدون پیکربندی 10
3-3. پیکربندی مجدد منطقی 11
3-4. پیکربندی مجدد دستورات 12
3-5. پیکربندی مجدد ایستا و پویا 12
- مروری بر معماریها و طراحی سیستمهای قابل پیکربندی مجدد 21
4-1. دیدگاه اول 21
4-2. دیدگاه دوم 33
- فناوریهای سختافزار قابل پیکربندی مجدد 45
5-1. FPGAها 45
5-2. قطعات مدارات مجتمع با منابع قابل پیکربندی مجدد تعبیه شده 53
5-3. هستههای قابل پیکربندی مجدد تعبیه شده 68
- روند طراحی برای سیستمهای قابل پیکربندی مجدد بر روی تراشه 75
6-1. مقدمه 75
6-2. ملزومات روند طراحی SoC 76
6-3. رویکرد طراحی پیشنهاد شده برای SoC قابل پیکربندی مجدد 81
6-4. مسائل پیکربندی مجدد در روند پیشنهادی 84
6-5. نتیجه گیری 88
- رویکرد بر مبنای SystemC 89
7-1. مقدمه 89
7-2. مروری بر SystemC 2.0 90
7-3. مروری بر گسترشهای بر مبنای SystemC 92
7-4. رویکرد تخمین زنی برای تحلیل سیستم 93
7-5. مدل کردن سربار پیکربندی مجدد 96
7-6. استفاده از مدلهای بار کاری برای پویش فضای طراحی 104
7-7. نتیجه گیری 105
- چکیده 107
9. منابع
شامل 124 صفحه فایل word قابل ویرایش
دانلود پروژه بررسی معماریها و روشهای طراحی سیستمهای قابل پیکربندی مجدد