سلام دوست عزیز وارد حساب کاربری خود شوید
مقدمه ۳
تاريخچه ۴
مفهوم پيكربندي مجدد ۷
۳-۱٫محاسبات قابل پيكربندي مجدد ۷
۳-۲٫ سيستم بدون پيكربندي ۱۰
۳-۳٫ پيكربندي مجدد منطقي ۱۱
۳-۴٫ پيكربندي مجدد دستورات ۱۲
۳-۵٫ پيكربندي مجدد ايستا و پويا ۱۲
مروري بر معماريها و طراحي سيستمهاي قابل پيكربندي مجدد ۲۱
۴-۱٫ ديدگاه اول ۲۱
۴-۲٫ ديدگاه دوم ۳۳
فناوريهاي سختافزار قابل پيكربندي مجدد ۴۵
۵-۱٫ FPGAها ۴۵
۵-۲٫ قطعات مدارات مجتمع با منابع قابل پيكربندي مجدد تعبيه شده ۵۳
۵-۳٫ هستههاي قابل پيكربندي مجدد تعبيه شده ۶۸
روند طراحي براي سيستمهاي قابل پيكربندي مجدد بر روي تراشه ۷۵
۶-۱٫ مقدمه ۷۵
۶-۲٫ ملزومات روند طراحي SoC 76
۶-۳٫ رويكرد طراحي پيشنهاد شده براي SoC قابل پيكربندي مجدد ۸۱
۶-۴٫ مسائل پيكربندي مجدد در روند پيشنهادي ۸۴
۶-۵٫ نتيجه گيري ۸۸
رويكرد بر مبناي SystemC 89
۷-۱٫ مقدمه ۸۹
۷-۲٫ مروري بر SystemC 2.0 90
۷-۳٫ مروري بر گسترشهاي بر مبناي SystemC 92
۷-۴٫ رويكرد تخمين زني براي تحليل سيستم ۹۳
۷-۵٫ مدل كردن سربار پيكربندي مجدد ۹۶
۷-۶٫ استفاده از مدلهاي بار كاري براي پويش فضاي طراحي ۱۰۴
۷-۷٫ نتيجه گيري ۱۰۵
چكيده ۱۰۷
منابع ۱۰۸
دو روش در محاسبات سنتي براي اجراي يك الگوريتم وجود دارد. روش اول بكار بردن ASIC ها ميباشد تا الگوريتم مورد نظر را در سختافزار پيادهسازي كند. چون اين قطعات براي هر الگوريتم خاص ساخته ميشوند، سريع و كارا ميباشند. اما مدارات آنها پس از ساخت تغيير نميكند. ريزپردازندهها راه حل بسيار با انعطافتري هستند. آنها مجموعهاي از دستورات را اجرا ميكنند. و كارايي سيستم بدون تغيير سختافزار تغيير ميكند. ام همانند يك ASIC داراي قابليت انعطاف نميباشد. يك سيستم قابل پيكربندي مجدد توسعه يافتهاست تا فاصله را ميان سختافزار و نرمافزار را كم كند. و به يك كارايي بسيار بالاتر از نرمافزار و قابليت انعطاف بيشتر سختافزار برسد.
در اين پايان نامه ابتدا تاريخچهاي مختصر از توسعهي سيستمهاي قابل پيكربندي مجدد ارائه شده است.سپس مفهوم قابليت پيكربندي مجدد و انواع آن بيان شده است.پس از آن نگاهي كلي به دو طبقه بندي مختلف معماريهاي اين سيستمها شده است و همچنين مروري بر روشهاي طراحي و ملزومات آن كردهايم. در فصل پنجم انواع تكنولوژيهاي سخت افزار قابل پيكربندي مجدد بحث شده است. در فصل ششم روند طراحي سيستم قابل پيكربندي مجدد بر روي تراشه ( SoC ) آورده شده است. و نهايتا در فصل هفت ويژگيهاي طراحي سيستم با يك زبان برنامه نويسي بر مبناي C به نام SystemC بيان شده است.
مفهوم محاسبات قابل پيکربندی مجدد از دهه ۱۹۶۰ پديدار شد . موقعی که مقاله جرالد استرين(Gerald Estrin) مفهوم يک کامپيوتر ساخته شده از يک پردازنده ی استاندارد و آرايه ای از سخت افزار قابل پيکربندی مجدد را پيشنهاد کرد . پردازنده اصلی بايد رفتار سخت افزار قابل پيکربندی مجدد را کنترل کند . در نتيجه اين سخت افزار قابل پيکربندی مجدد برای انجام کاری خاص مناسب خواهد بود برای مثال می توان کارهايی نظير پردازش تصوير و تطبيق الگو را با سرعت بالايی انجام داد . به محض اتمام کار ، سخت افزار می تواند برای انجام کار جديد پيکربندی مجدد شود. چنين خاصيتی با ترکيب انعطاف پذيری يک نرم افزار و سرعت يک سخت افزار در يک ساختار کامپيوتری ترکيبی ميسر شده است . متاسفانه چنين ايده ای در زمان پيدايش بسيار جلوتر از تکنولوژی ساخت سخت افزار مورد نيازش بود.
در دهه ی اخير يک رنسانس در عرصه ی تحقيقات درباره ی معماری های قابل پيکربندی مجدد بوجود آمد . اين معماری ها هم در دانشگاهها و هم در صنعت توسعه می يافتند معماری هايی نظير : Matrix , Gorp , Elixent , XPP , Silicon Hive , Montium , Pleiades , Morphosys , PiCOGA چنين طرحهايی عملی بودند . و اين مرهون پيشرفت مداوم فناوری سيليکونی بود که پياده سازی طرح های پيچيده را روی يک تراشه ميسر میساخت .
اولين مدل تجاری کامپيوتر قابل پيکربندی مجدد در جهان به نام Algotronix CHS 2*4 در سال ۱۹۹۱ تکميل شد اين يک موفقيت تجاری نبود اما آنقدر اميدبخش بود که شرکت 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 ارتباط برقرار می کند . واضح است که دسته بندی معماری های قابل پيکربندی مجدد هنوز توسعه می يابند و اين بدليل عرضه شدن معماری های جديد است . هيچ طبقه بندی واحدی تا کنون پيشنهاد نشده است . به هر حال چندين پارامتر دوری ميتوانند برای دسته بندی چنين سيستم هايی استفاده شوند .
هنگامی که مفاهيم پايه ی محاسبات قابل پيکربندی مجدد در دهه ی ۱۹۶۰ شکل گرفت . RC در شکل جدی و عملی خود با پديدار شدن FPGA ها در اواخردههی ۱۹۸۰ آغاز شد . FPGA ها IC هايی بودندکه شکل سختافزاری آنها می توانست از نو به راحتی تعريف شود . يعنی با بارگذاری يک پيکربندی جديد درست همانند نرمافزار جديدی که می تواند بر روی يک ريزپردازنده يا DSP بارگذاری شود نگاشت داده و سپس پردازش آن و الگوريتم های فشرده ی FPGA ها می توانست IC های متمايز شده به وسيله کاربرد ( Application Specific (ASIC) IC ) را حاصل سازد . محققان در ايالات متحده و فرانسه به دنبال پايه های اوليه ی با بازدهی بالا و انعطاف پذيری مطلوب ابر رايانه ای را در سر می پروراندند که متشکل بود از اجزا سخت افزاری قابل برنامه ريزی مجدد که برای هر کاربرد می توانست بهينه شود . که در نتيجه يک تا دو برابر کارايی را در پردازنده هايی با طول دستور ثابت و قراردادی افزايش می داد . اولين رايانه های قابل پيکربندی مجدد بوسيله IDA Supercomputing Research Center ( SRC که در سال ۱۹۹۴ به Center for Computing Sciences تغيير نام داد ) در آمريکا ساخته شد . در فرانسه به وسيله DEC Paris Research Lab که پس از فروش Digital Equipment Co بسته شد ساخته شد .
دو نسخه آرايه انقباضی Spalsh در SRC ساخته شدند . مدار اصلی Spalsh در سال ۱۹۸۹ با قيمت تقريبی ۱۳۰۰۰ دلار ساخته شد که می توانست از ابر رايانه ی موجود در آن زمان به نام Cray 2 برای کاربردهای تطبيق الگوی بيتی پيشی گيرد .اين سيستم حاوی ۳۲عدد FPGA از سری ۳۰۹۰ شرکت Xilinx بود که بصورت يک ارايه ی خطی متصل شده بودند . FPGA ها ی مجاور از يک بافر حافظه ای اشتراکی بهره مند بودند .
RC در ايستگاه کاری SUN از طريق ارتباط داخلی VME معرفی شد . Splash 1 می توانست مقايسه ی يک رشته ی DNA را ۴۵ برابر سرعت يک ايستگاه کاری با کارايی بالا را در دهه ی ۱۹۹۰ انجام دهد . سه سال بعد Splash 2 ساخته شد که تعداد FPGA های خود را به ۱۶ کاهش داده بود . با اين وجود به خاطر رشد سريع تراکم در FPGA ، Splash 2 با شانزده عدد FPGA مدل ۴۰۱۰ از شرکت Xilinx حاوی ۵/۱ برابر منطق بيشتر از Splash 1 بود . برای بهبود انعطاف ارتباطات داخلی Splash 2 ارتباط داخلی خطی را به وسيله يک ميله عرضی تقويت کرد که اجازه می داد که هر FPGA با هر FPGA ديگر ارتباط برقرار کند .
در سالهای بين ۱۹۸۷ تا ۱۹۹۰ رايانه ی قابل پيکربندی مجدد Splash توسط مرکز تحقيقات ابر رايانه ای SRC توسعه يافت . از خصوصيات اين طراحیمی توان به اين نکات اشاره کرد :
اين رايانه در LDG يا در طرح شماتيک برنامه نويسی شده بود . سخت افزار فوق العاده و تسريع قابل توجهی داشت. اما با وجود تمام اين مزايا برنامه نويسی اش مشکل بود در نتيجه تعداد برنامه های کاربردی آن محدود بود . همين شرکت يعنی SRC در سالهای ۱۹۹۲ تا ۱۹۹۴ مشغول توسعه و تکميل Splashبود و سرانجام موفق شد تا Splash 2 را طراحی کند . زبان شبيه سازی اين رايانه VHDL بود همانند مدل پيشين دارای سخت افزار بسيار خوبی بود . برنامه ريزی اش غير استاندارد بود اما دارای قابليت برنامه نويسی خوبی بود . از ۱۹۸۶ تا ۱۹۹۵ حافظههای فعال قابل برنامه ريزی (PAMETTe , PAM) توسط شرکت فرانسوی DEC Paris معرفی شدند . برنامه نويسي اين نوع حافظه ها در زبان C++ بود اما همان عيب Splash از SRC را داشتند يعنی سخت افزار خوبی داشتند اما برنامه های کاربردی پشتيبانی شده توسط آنان محدود بود .
