بررسی معماری ها و روش‌های طراحی سيستم‌های قابل پيكربندی مجدد

بررسی معماری ها و روش‌های طراحی سيستم‌های قابل پيكربندی مجدد
بررسی معماری ها و روش‌های طراحی سيستم‌های قابل پيكربندی مجدد
90,000 ریال 
تخفیف 15 تا 30 درصدی برای همکاران، کافی نت ها و مشتریان ویژه _____________________________  
وضعيت موجودي: موجود است
تعداد:  
افزودن به ليست مقايسه | افزودن به محصولات مورد علاقه

تعداد صفحات : 110 صفحه _ فرمت word _ دانلود مطالب بلافاصله پس از پرداخت آنلاین

    
فهرست مطالب

1. مقدمه                                                                                                        3
2. تاريخچه                                                                                                      4
3. مفهوم پيكربندي مجدد                                                                                    7 
3-1.محاسبات قابل پيكربندي مجدد                                                                        ‌7 
3-2. سيستم بدون پيكربندي                                                                                10 
3-3. پيكربندي مجدد منطقي                                                                               11
3-4. پيكربندي مجدد دستورات                                                                             12      
3-5. پيكربندي مجدد ايستا و پويا                                                                          12
4. مروري بر معماري‌ها و طراحي سيستم‌هاي قابل پيكربندي مجدد                                 21
4-1. ديدگاه اول                                                                                               21 
4-2. ديدگاه دوم                                                                                               33
5. فناوري‌هاي سخت‌افزار قابل پيكربندي مجدد                                                          45 
5-1.  FPGAها                                                                                                45
5-2. قطعات مدارات مجتمع با منابع قابل پيكربندي مجدد تعبيه شده                              53
5-3. هسته‌هاي قابل پيكربندي مجدد تعبيه شده                                                       68
6. روند طراحي براي سيستم‌هاي قابل پيكربندي مجدد بر روي تراشه                               75
6-1. مقدمه                                                                                                     75
6-2. ملزومات روند طراحي SoC                                                                           76
6-3. رويكرد طراحي پيشنهاد شده براي SoC قابل پيكربندي مجدد                                81                                          
6-4. مسائل پيكربندي مجدد در روند پيشنهادي                                                        84    
6-5. نتيجه گيري                                                                                             88
7. رويكرد بر مبناي 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
8. چكيده                                                                                                      107
9. منابع 
                                                                                                     108
1. مقدمه
دو روش در محاسبات سنتي براي اجراي يك الگوريتم وجود دارد. روش اول بكار بردن ASIC ها مي‌باشد تا الگوريتم مورد نظر را در سخت‌افزار پياده‌سازي كند. چون اين قطعات براي هر الگوريتم خاص ساخته مي‌شوند، سريع و كارا مي‌باشند. اما مدارات آن‌ها پس از ساخت تغيير نمي‌كند. ريزپردازنده‌ها راه حل بسيار با انعطاف‌تري هستند. آنها مجموعه‌اي از دستورات را اجرا مي‌كنند. و كارايي سيستم بدون تغيير سخت‌افزار تغيير مي‌كند. ام همانند يك ASIC داراي قابليت انعطاف نمي‌باشد. يك سيستم قابل پيكربندي مجدد توسعه يافته‌است تا فاصله را ميان سخت‌افزار و نرم‌افزار را كم كند. و به يك كارايي بسيار بالاتر از نرم‌افزار و قابليت انعطاف بيشتر سخت‌افزار برسد.
در اين پايان نامه ابتدا تاريخچه‌اي مختصر از توسعه‌ي سيستم‌هاي قابل پيكربندي مجدد ارائه شده است.سپس مفهوم قابليت پيكربندي مجدد و انواع آن بيان شده است.پس از آن نگاهي كلي به  دو طبقه بندي مختلف معماري‌هاي اين سيستم‌ها شده است و همچنين مروري بر روش‌هاي طراحي و ملزومات آن كرده‌ايم. در فصل پنجم انواع تكنولوژي‌هاي سخت افزار قابل پيكربندي مجدد بحث شده است. در فصل ششم روند طراحي سيستم قابل پيكربندي مجدد بر روي تراشه ( SoC ) آورده شده است. و نهايتا در فصل هفت ويژگي‌هاي طراحي سيستم با يك زبان برنامه نويسي بر مبناي C به نام SystemC بيان شده است.

2. تاريخچه محاسبات قابل پيکر بندی مجدد
 
مفهوم محاسبات قابل پيکربندی مجدد از دهه 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 را داشتند يعنی سخت افزار خوبی داشتند اما برنامه های کاربردی پشتيبانی شده توسط آنان محدود بود .
 

شكل 2-1 : روند كلي تكامل سيستم‌هاي قابل پيكربندي مجدد
3. مفهوم پيكربندي مجدد
3-1. محاسبات قابل پيکربندی مجدد وسخت افزار قابل پيکربندی مجدد
محاسبات قابل پيکربندی مجدد به سيستم هايی اشاره می کند که شکلی از قابليت برنامه ريزی سخت افزار با سفارشی کردن اينکه چگونه اين سخت افزار استفاده می شود بوسيله کاربرد نقاط کنترلی ، پياده سازی می کنند . اين نقاط کنترلی سپس می‌توانند به طور متناوب برای اجرای کاربردهای متفاوت در سخت افزار يکسان ، تغيير می‌کنند . سخت‌افزار قابل پيکربندی مجدد تعادل خوبی ميان کارايی پياده سازی و انعطاف پذير همان طور که در شكل 3-1 نشان داده شده است ، ايجاد مي‌کند . اين بدان خاطر است که سخت افزار قابل پيکربندی مجدد قابليت برنامه ريزی پس از توليد را با نوع محاسبات فضايی(موازی) IC های با کاربرد خاص ( ASIC ) ترکيب کرده است که در مقايسه با نوع محاسبات زمانی (ترتيبی) پردازنده های مجموعه دستورات ، کارايی بالاتری دارد .
محاسبات قابل پيکربندی مجدد سرعت در حال تثبيت کردن خود بعنوان يکی از زمينه های اصلی که موضوعات مختلفی را از يادگيری شامل علوم کامپيوتر و مهندسی الکترونيک پوشش می دهد . محاسبات قابل پيکربندی مجدد شامل استفاده از وسايل قابل پيکربندی مجدد همانند FPGA ها برای اهداف پردازشی می شود . محاسبات قابل پيکربندی مجدد همچنين به نام محاسبات قابل پيکربندی يا محاسبات سفارشی(Custom) شناخته شده است . بطوری که بسياری از روشهای طراحی می توانند برای سفارشی کردن يک محصول محاسباتی براي کاربردهای خاص استفاده شوند .
بخاطر نيازهای فزاينده ی قابليت انعطاف (برای مثال برای سازگای با استانداردهای مختلف و وضعيت های عملياتی ) که به وسيله ی کاربردهايی با محاسبات فراوان همچون ارتباطات بی سيم ، دستگاههايی که نيازمند سازگاری بالايی با کاربردهايی در حال اجرا دارند ، تحليل می شوند . در سوی ديگر درک خوب از چنين کاربردهای مورد نياز است خصوصا در مورد منابعی که آنها درخلال پياده سازی استفاده مي‌کنند جايی که مصرف توان بايستی در مقابل کيفيت ديده شده از کاربرد موازنه شود . نيازهای متناقض برای قابليت انعطاف و کارايی پياده سازی نمی توانند بوسيله ی پردازنده های مجموعه دستورات معمولی و ASIC ها ارضا شوند . سخت افزار قابل پيکربندی مجدد يک پياده سازی مطلوب را در  چنين مواردی شکل می دهد .
 
 
شكل 3-1 : مكان يابي سخت‌افزار قابل پيكربندي مجدد

دلايل ديگری نيز برای استفاده از منابع قابل پيکربندی مجدد در طراحی سيستم بر روی تراشه (SOC ) نيز وجود دارد . هزينه های در حال افزايش مهندسی غيربرگشتی (NRE) طراحان را بسمت استفاده از SOC يکسان در چندين کاربرد و محصول برای دستيابی به قيمت تمام شده پايين تر به ازای هر تراشه سوق می دهد . حضور منابع قابل پيکربندی مجدد يک تنظيم مناسب تراشه برای محصولات يا تغييرات محصولات را ممکن می سازد . همچنين پيچيدگی در حال افزايش در طرح های آينده امکان اضافه کردن شارهای طراحی را افزايش می دهد . عناصر قابل پيکربندی مجدد اغلب آرايه های متجانس هستند که می توانند پيش بررسی شوند تا احتمال خطاهای طراحی به حداقل برسد . همچنين قابليت برنامه ريزی پس از توليد اجازه ی تصحيح يا پيداکردن راه حل برای مشکلات را برای بعد در مقايسه با سخت‌افزار ثابت می دهد.
سيستم های محاسباتی قابل پيکربندی مجدد اغلب دارای کارايی بالايی هستند . يک مثال در اين باره عمليات ضرب نقطه ای در رمزنگاری يک منحنی بيضی است . برای اندازه کليه 270 بيت گزارش شده است که يک ضرب نقطه ای می‌تواند در ms36/0 پردازش شود که بوسيله يک طراحی قابل پيکربندی مجدد در يک FPGA مدل xc2v6000  در فرکانس MHZ 66 صورت گرفته است . اما يک پياده‌سازی بهينه شده ی نرم افزاری نيازمند ms 71/196 بر روی يک کامپيوتر eon × dul در فرکانس Hz 6/2 می باشد . بنابراين طراحی قابل پيکربندی مجدد بيش از 540 مرتبه سريعتر است . در حاليکه نرخ ساعت آن 40 بار آهسته تر از پردازنده های Xeon می باشد اين مثال يک طراحی سخت افزاری را که بر روی يک بستر قابل پيکربندی مجدد پياده سازی شده است را نشان می دهد . ما چنين پياده سازی هايی را بعنوان زيرمجموعه ای از محاسبات قابل پيکربندی مجدد به حساب می آوريم که به طور کلی می توانند شامل استفاده از پيکربندی مجدد زمان اجرا و پردازنده های نرم باشند .
آيا مزيت سرعت محاسبات قابل پيکربندی مجدد بر پردازنده های سنتی مقطعی است يا يک روند ثابت می باشد ؟
تحقيقات اخير نشان می دهد که اين برای بسياری از سيستم ها يک روند ثابت می باشد از پردازش تصوير گرفته تا عمليات مميز شناور .
سرعت محض تنها قدرت محاسبات قابل پيکربندی مجدد نيست . مزيت الزام آور ديگر انرژی کاهش يافته و مصرف توان می باشد .
در يک سيستم قابل پيکربندی مجدد مدارات برای آن کاربرد خاص بهينه می شوند بطوری که مصرف تون بسيار کم تر از يک پردازنده ی همه منظوره می باشد . مطالعات اخير نشان می دهد که انتقال حلقه های نرم افزاری بحرانی به سخت افزار قابل پيکربندی مجدد ، صرفه جويی انرژی 35 تا 70 درصدی همراه با ميانگين تسريع 3 تا 7 مرتبه ای را بسته به آن قطعه خاص به کاربرده شده ، نتيجه می دهد .
ديگر مزايای محاسبات قابل پيکربندی مجدد شامل کاهش اندازه و تعداد اجزا ( و به همين ترتيب کاهش هزينه ها ) و قابليت انعطاف بالا و قابليت به روز شدن می باشد . اين مزايا خصوصا برای سيستم های تعبيه شده (Embedded Systems ) مهم می باشند . در واقع مدارکی موجود است که توسعه دهندگان سيستم های تعبيه شده يک اشتياق در حال رشد را به سيستم های قابل پيکربندی مجدد نشان می دهد . مخصوصا با معرفی هسته های نرم (Soft Core ) که می تواند شامل يک يا تعداد بيشتری از پردازنده های دستور باشد.

3-1-1. پيش زمينه
بسياری از سيستم های محاسباتی امروزی به توان پردازشی بيشتری نسبت به گذشته ا حتياج دارند . سيستم هايی نظير پخش کننده های تصوير ، شناسايی تصوير و پردازش آن و خدمات با تعامل بالا ، در حال بوجود آوردن نيازهای جديدی بر روی واحدهای رايانه ای هستند که چنين کاربردهايی را پياده سازی می کنند . در همين زمان اهداف مصرف توان ، هزينه های قابل قبول بسته بندی و توليد ، و پيش نيازهای در دسترس بودن چنين واحدهای رايانه ای سرعت کاهش می يابد . خصوصا در بازار دستگاههای تعبيه شده دستی .
ارضا کردن تمامی اين نيازهای کارايی با وجود محدوديت های مصرف توان ، هزينه و در دسترس بودن بطور زيادی در حال رقابتی شدن می باشد . در ادامه سه راه پشتيبانی از چنين نيازهای  پردازشی بحث خوهد شد : ريزپردازنده هايی با کارايی بالا ، مدارات مجتمع با کاربرد خاص (ASIC) ، و سيستم های محاسباتی با قابليت پيکربندی مجدد .
ريزپردازنده های باکارايی بالا وسيله ای با توليد انبوه برای ارضاء نيازهای توضيح داده شده را ارائه می نمايند .
متاسفانه برای بسياری از کاربردها يک پردازنده ی تنها حتی يک پردازنده گران قيمت و مدرن نيز به اندازه ی کافی سريع نمی باشد . اضافه بر اين ، مصرف توان (w100 يا بيشتر) و قيمت چندين هزار دلاري آنها پردازنده های مدرن را در خارج از دسترس بسياری از سيستم های تعبيه شده قرار می دهد . حتی اگر ريزپردازنده ها همچنان با قانون مور ادامه دهند بطوری که چگالی آنها در ظرف هر 18 ماه دو برابر شود ممکن است که هنوز هم برای پاسخگويی به نيازهای در حال رشد برخی از سيستم های در حال تغيير تعبيه شده ناتوان باشند .
مدارات مجتمع با کاربرد خاص ( ASIC ) روشهای ديگری برای ارضای چنين نيازهايی را ارائه می دهند . بر خلاف يک پياده سازی نرم افزاری يک پياده سازی ASIC يک مکانيزم طبيعی برای پیاده سازی موازی سازی های بسيار بزرگی که در بسياری از اين کاربردها يافت می شود ارائه می دهد . علاه بر اين يک مدار ASIC از واکشی دستور بصورت سريال و اغلب کند و تلف کننده ی توان و چرخه ی ديکود و اجرا که قلب تمام ريزپردازنده ها می باشد رنج نمی برد . از اين گذشته ASIC ها توان کمتری نسبت به دستگاههای قابل پيکربندی مجدد مصرف می کنند . نهايتا يک ASIC مي‌تواند شامل فقط ترکيب واحدهای عملياتی برای يک کاربرد خاص باشد . به طور واضح يک ريزپردازنده با توليد انبوه شامل يک مجموعه ثابت واحد های عملياتی می باشد که بايد برای ارضاء محدوده ی وسيعی از کاربردها انتخاب شوند .
با وجود چنين مزايايی از ASIC ها آنها غالبا غير عملی يا غير مقرون به صرفه برای بسياری از سيستم های تعبيه شده می باشند . چنین پديده ای بخاطر وجود دو عامل می باشد : هزينه ی توليد يک ASIC اغلب به خاطر هزينه ماسک (تا يک ميليون دلار) و زمانی که برای توسعه ی يک مدار مجتمع سفارشی مورد نياز است که هر دو می توانند غيرقابل قبول باشند تنها کاربردهايی با حجم بالا و هزينه واحد کم می تواند هزينه طراحی با مهندسی غيرمعکوس NRE يک ASIC را ضمانت نمايد .
وسيله ی سومی که چنين توان پردازشی را ارائه می دهد يک سيستم محاسباتی قابل پيکربندی مجدد می باشد يک سيستم محاسباتی قابل پيکربندی مجدد شامل يک يا تعداد بيشتری از پردازنده ها و يک ساختار قابل پيکربندی مجدد می باشد که واحدهای عملياتی سفارشی می توانند به وسيله ی اين ساختار ساخته شوند پردازنده يا پردازنده ها کدهای ترتيبی و غير بحرانی را اجرا می کنند . در حاليکه کدی که می تواند به طور موثری به سخت افزار نگاشت يا بد می تواند بوسيله واحدهای پردازشی که به ساختار قابل پيکربندی مجدد نگاشت يافته اند اجرا شوند . همانند يک مدار مجتمع سفارشی توابعی که به ساختار قابل پيکربندی مجدد نگاشت يافته اند می تواند از موازی سازی قابل حصول در يک پياده‌سازی سخت افزاری بهره برند . همچنين همانند يک ASIC طراح سيستم تعبيه شده می تواند ترکيب صحيحی از واحدهای ذخيره و عملياتی در ساختار قابل پيکربندی مجدد را توليد کند که ساختار محاسبه ای را ارائه کند تا با آن کاربرد خاص هماهنگ باشد .
برخلاف يک ASIC لازم نيست برای هر کاربردی يک ساختار جديد  طراحی شود . يک ساختار داده شده می تواند تعداد زيادی از واحدهای عملياتی را پياده سازی کند . اين بدان معناست که يک سيستم محاسباتی قابل پيکربندی مجدد می تواند بوسيله ی اجزای با توليد انبوه ساخته شود که زمان طراحی طولانی که در ذات يک ASIC بود را کاهش می دهد. همچنين بر خلاف يک ASIC واحدهای عملياتی که در ساختار قابل پيکربندی مجدد پياده سازی شده‌اند می توانند در طول زمان تغيير کنند . يعنی اينکه همگام با تغيير محيط يا استفاده ی سيستم تعبيه شده ترکيب واحدهای عملياتی می توانند برای بهتر هماهنگ شدن با محيط جديد تغيير يابند . ساختار قابل پيکربندی مجدد در يک وسيله ی دستی برای مثال ممکن است عمليات ضرب ماتريس های بزرگ را در يک حالت خاص پياده ساز يکند و در حالت ديگری توابع پردزاش سيگنال بزرگی را استفاده کند .
بطور معمول تمامی کارايی يک سيستم تعبيه شده لازم نيست که بو سيله ساختار قابل پيکربندی مجدد ،پياده سازی شود فقط آن قسمت هايی از محاسبات که از لحاظ زمانی ، بحرانی هستند و حاوی درجات بالايی از موازی سازی می‌باشند لازم است که به ساختار قابل پيکربندی مجدد نگاشت يابند . در حالی که باقيمانده ی محاسبات می توانند بوسيله ی يک پردازنده ی با دستورات استاندارد پياده سازی شوند . واسط ميان ساختار و پردازنده همانند واسط ميان حافظه و ساختار دارای حداکثر اهميت می باشد . قطعات قابل پيکربندی مجدد مدرن به اندازه کافی وسيع هستند که پردازنده های دستور بوسيله ساختار قابل برنامه ريزی شان پياده سازی شوند . (پردازنده های نرم )چنين پردازنده‌هايی می توانند همه منظوره باشند يا برای کاربردی خاص سفارشی شوند .
پردازنده های دستور با کاربرد خاص و پردازنده هايی با دستورات انعطاف پذيردو نمونه از چنين تلاشهايی می باشند .
بقيه ی دستگاهها مقداری از قابليت انعطاف رايانه های قابل پيکربندی مجدد را نشان می دهند . مثالها شامل پردازنده‌ي  گرافيکی و پردازنده های با کاربرد خاص آرايه ای می شوند . اين دستگاهها کاربرد محول شده شان را به خوبی انجام می‌دهند اما نمی توانند محاسبات کلی تر را اجرا کنند بر خلاف رايانه های قابل پيکربندی مجدد و ريزپردازنده ها .
با وجود مزايای بسياری که محاسبات قابل پيکربندی مجدد دارد اما محدوديتهايی هم دارد که طراحان بايد از آن ها آگاه باشند . برای مثال تعيين مسير در سطح بيتی باعث توليد سطوح سيليکونی زياد و در نتيجه سربار کارآيی در مقايسه با فناوری ASIC می شود . بهمين جهت برای توليد با حجم بالايی از طراحی ها در کاربردهايی که نيازی به بروز رسانی ميدانی ندارند ، فناوری ASIC يا فناوری آرايه ی گيتی هنوز هم می تواند در کارايی بالاتری همراه با هزينه واحد کمتر از فناوری قابل پيکربندی مجدد ارائه نمايد .
با وجود اين زمانی که فناوری FPGA پيشرفت هايی را در فناوری حافظه دنبال می‌کند و پيشرفت های چشمگيری را در اين چند ساله اخير به نمايش گذارده است بسياری مطمئن هستند که پيشرفت سريع جاری در سرعت FPGA ظرفيت و سازگاری همراه با کاهش قيمت ها ادامه می‌يابد .
اين نکته را بايد مورد توجه قرار داد که توسعه ی سيستم های قابل پيکربندی مجدد يک زمينه ی در حال رشد است . تعدادی از چالش ها در توسعه ی يک سيستم قابل پيکربندی مجدد وجود دارد .
اولا ساختمان ساختار قابل پيکربندی مجدد و واسط ها بين ساختار ، پردازنده ها و حافظه بايد بسيار کارايی بالايی داشته باشند . برخی از سيستم های محاسباتی قابل پيکربندی مجدد از يک FPGA استاندارد به عنون ساختار قابل پيکربندی مجدد استفاده می کنند در حالی‌که بقيه ساختارهايی با طراحی سفارشی را ا ختيار کرده اند .
چالش ديگر توسعه ی طراحی ها به کمک رايانه (CAD  ) و ابزار کامپايل که يک کاربرد را به يک سيستم قابل پيکربندی مجدد نگاشت می دهند . اين کار شامل تعيين اين که کداميک از قسمت های کاربرد بايد به ساختار نگاشت داده شود و کدام بخش بايد به پردازنده نگاشت داده شود و تعيين اينکه چه موقع و هر چند وقت ساختار قابل پيکربندی مجدد که باعث تغييردر واحدهای عملياتی پياده سازی شده در ساختاری می شود بايد پيکربندی شود . همچنين خصوصيات الگوريتم ها برای نگاشت موثر به سيستم قابل پيکربندی مجدد می باشد .


3-2. سيستم بدون پيکربندی
برای ايجاد يکپارچگی تمام دنيای سيستم های ديجيتال طراحی در اين طبقه بندی بوسيله نرخ قابليت پيکربندی مجدد سنجيده می شود .
ASIC ها و ASSPها ( Application Specific Standard – Processors)هم بايد ارزيابی شوند .
ASSP/ASIC ها امکان هيچ پيکربندی مجددی را فراهم نمی‌کنند رفتار عملکردی آنها بطور کامل در زمان طراحی ، تعريف می شوند . بنابراين آنها به هيچ وجه در زمانهای بعدی قابل تغيير نيستند . دلايل گرايش به پيکربندی مجدد از برطرف کردن اشکالات نرم افزاری گرفته تا سازگاری با واسط های پروتکل های آينده می تواند گسترده باشد . برای مثال در بازار ارتباطات راه دور ، برای ارتقاء سطح عملکرد در يک مرحله ی بعدی روند سيستم ديجيتال بکار می آيد. چنين طراحی ايستايی در شکل 3-2 نشان داده شده است .

 

شكل 3-2 : سيستم بدون پيكربندي
3-3. پيکربندی مجدد منطقی
يک بلاک منطقی يک معماری قابل پيکربندی مجدد حاوی يک جدول (LUT) Look –up يک D فليپ فلاپ که به طور اختياری می توان آن را داشت و يک منطق ترکيبی اضافه بر آن می باشد . LUT اجازه می دهد تا هر نوع تابعی بوسيله ی يک منطق کلی پياده سازی شود . فليپ فلاپ می تواند برای خط لوله ، رجيسترها ، توابع نگهدارنده ی حالت برای ماشينهای با حالت متناهی و يا هر حالتی که پالس ساعت نياز باشد به کار گرفته شود . منطق ترکيبی معمولا منطق حامل (Carry ) سريعی است که برای تسريع در محاسبات بر پايه ی حامل سريع همانند ، جمع ، پريتی (توازن )، عمليات گسترده ی AND و ديگر توابع بکار می رود . بلاک های منطقی که در پيرامون يک دستگاه قرار گرفته اند می توانند به لطف عمليات IO از معماری های متفاوتی باشند .
بلاک های منطقی به ماتريس هايی دسته بندی شده اند که با شبکه ی اتصال داخلی سيمی قابل پیکربندی مجدد همپوشانی شده اند . پيکربندی مجدد شبکه ی اتصال داخلی بوسيله ی تغيير اتصالات بين بلاک های منطقی و سيم ها و بوسيله پيکربندی جعبه های سوئيچ که سيم های متفاوت را به هم متصل می کنند کنترل می شود . پيکربندی مجدد هم بلاک های منطقی و هم شبکه ی اتصال داخلی با استفاده از بيتهای يک حافظه ی SRAM برای کنترل پيكربندی ترانزيستورها محقق می شود .
کارايي بلاک های منطقی ، بلاک های IO ، و شبکه اتصال داخلی بوسيله انتقال جريان بيتی  از داده ی پيکربندی مجدد بر روی سخت افزار تغيير می کند .
3-4. پيکربندی مجدد مجموعه دستورات
مفهوم پيکربندی مجدد مجموعه دستورات به معماری های ترکيبی شامل ريزپردازنده و منطق قابل پیکربندی مجدد اشاره می کند ويژگی کليدی ، ترکيب انعطاف پذيری يک نرم افزار با کارايی بالا ی يک سخت افزار است . يک حرکت نويدبخش ، پردازده هايی با مجموعه دستورات قابل پيکربندی مجدد (RISP) می باشد که اين توانايی را دارند تا مجموعه دستوراتشان را با برنامه ای که از طريق يک پيکربندی مجدد در سخت افزارشان در حال اجراست وفق دهند . نتيجه ، معماری يک پردازنده ی قابل پيکربندی مجدد و قابل گسترش است که تا حد زيادی نيازهای خاص طراحان را برآورده می کند .
به واسطه ی اين تطبيق سرعت اجرای برنامه سخت افزار خاص منظوره افزايش می يابد .
اگر منابع اشتراکی در اين انطباق به کار گرفته شود چگالی کارايی افزايش پيدا می کند . با انتقال مسير داده های خاص هر کاربرد به درون پردازنده يک افزايش چشمگير در کارايی نسبت به پردازنده های با مجموعه دستورات ثابت قابل مشاهده می باشد . طراحی در سطح معماری مجموعه دستورات بطور قابل مشاهده ای چرخه ی طراحی را کاهش می‌دهد و تلاشها برای  تاييد و بازبينی و ريسک کارايي را کاهش می دهد . در سويی ديگر اسلوب شناسی های جديد ، ابزار و بنيانهای پردازنده مورد احتياج می باشد . بسط و توسعه ی خودکار واحدهای عملياتی و محيط های نرم افزاری متناسب با پردازند ه ( کامپايلرها ، عيب يابها ، شبيه سازدستورات و غيره ) نکات کليدی برای موفقيت می باشند .
سيستم های مختلفی با ويژگيهای مختلفی طراحی شده اند . معمولا دو کار طراحی اصلی مورد توجه می باشد :
1 – انواع واسط های بين ريزپردازنده و منطق قابل پيکربندی مجدد چيست ؟
2 – چگونه می توان خود منطق قابل پيکربندی مجددد را طراحی نمود ؟
هرکدام از آنها شامل بسياری از موازنه ها (tradeoff) می باشند . طبقه بندی معمولی پردازنده های قابل پيکربندی مجدد با توجه به سطوح تزويج منطق قابل پيکربندی مجدد صورت می گيرد . مفهوم سطوح تزويج بدون ارجاع به يک پردازنده ی قابل پيکربندی مجدد نيز صدق می کند .
همانطور كه در شكل3-3 نشان داده شده است سه نوع از سطوح تزويج وجود دارند :

 

شكل 3-3 : سطوح اصلي تزويج منطق قابل پيكر بندي مجدد
I) واحد عملياتی قابل پيکربندی مجدد (RFU ): منطقی است که درون پردازنده جای می‌گيرد . دکودر دستور‍‍‍ دستورات را به واحد قابل پیکربندی مجدد صادر می کند اگر يکی از واحدهای عملياتی استاندارد پردازنده باشد از اين طريق هزينه برقراری ارتباط بسيار پايين است بنابراين سرعت به راحتی افزايش پيدا می کند . همچنين اين روش ممکن ترين راه می باشد چون می توان از آن برای تسريع در هر کاربردی استفاده کرد .
II) کمک پردازنده : منطق در کنار پردارنده می باشد . ارتباط با استفاده از يک پروتکل امکان پذيراست .
III) پردازنده ی الحاق شده  : منطق بر روی نوعي  گذرگاه I/O قرار گرفته است . با پيشرفت کمک پردازنده و پردازنده‌ی الحاق شده ، افزايش سرعت با استفاده از منطق قابل پيکربندی مجدد بايد سربار انتقال داده را جبران نمايد . اين امر معمولا در سيستم هايی تحقق پيدا می کند که مقدار زيادی داده که با استفاده از يک الگوريتم ساده که در منطق قابل پيکربندی مجدد پياده سازی شده است بايد پردازش شوند .

3-5. پيکربندی مجدد ايستا و پويا
3-5-1.پيکربندی مجدد در زمان کامپايل (CTR)

قابل پيکربندی مجد بودن يکی از مزايای اصلی FPGA ها می باشد . پيکربندی مجدددر زمان کامپايل متداولترين راه برای استفاده از ويژگيهای پيکربندی مجدد است وقتی که قرار است با FPGA طراحیشود . پيکربندی در زمان کامپايل يعنی پيکربندی در زمان سنتز طراحی (کامپايل) انجام می شود . همانطور که در شکل 3-4 نشان داده شده است اين امر از درجه ی آزادی (DOF) مستقل اضافی نشات می گيرد . بعد از خود راه اندازي (boot up) اين طراحی جديد بارگذاری می شود و در تمام زمان تا وقت خاموش شدن فعال باقی می ماند از نقطه نظر پياده سازی اين آزادی اضافی بدون هيچ تغييردر روند طراحی يا استفاده از ابزارها در مقايسه با غيرقابل انعطاف بودن در روند طراحی ASIC ها بدست می آيد . مزايای گوناگون اين طرح شامل صرفه جويی بسيار ، در هزينه ی مرحله نمونه سازی می شود  بطوری که FPGA مشخص می تواند بارها و بارها برای طراحی های کاملا متفاوت استفاده شود . يک طراحی کاملا جديد می‌تواند در چند دقيقه تا چند ساعت سنتز و اجرا شود .

 

شكل 3-4 : پيكربندي مجدد زمان كامپايل
3-5-1-1.پياده سازی سيستم های CTR
شاخه ی در حال پيدايش معماری کامپيوتر متکی بر اصل محاسبه ی قابل پيکربندی مجدد تقريبا هميشه از ويژگی پيکربندی مجدد در زمان کامپايل استفاده می کند . مزيت عمده ی FPGA  ها طراحی سيستم های با عملکرد بالا و بسيار خاص منظوره را فراهم می سازد که ساختاری کاملا اختصاصی دارند . بنابراين به خاطر ذات کلی FPGA ها اين امر بعنوان يک جايگزين با دوام ASIC ها که به هزينه های مهندسی توجه می کند محقق شد .
بسياری از انواع پرطرفدار سيستم ها در زمينه پردازش سيگنال مخصوصا در حيطه ی پردازش ويدئو و عکس می باشند . بطوری که اين زمينه ی تحقيقاتی با سيگنالهای با تفکيک بالا در طول زمان درگير بوده است . برای مثال پياده سازی‌هايی CTR در بازار تصوير برداری پزشکی (پرداخت حجمی زنده با سرعت بالا برای اسکن هايی با پرتونگاری مقطعی رايانه ای ) و بخش پردازش سيگنال نظامی (شناسايی هدف خودکار (ATR)) توسعه يافته است .
يک پياده سازی بسيار جالب به نام «بينايی با تقويت موج زنده در رايانه های قابل پيکربندی مجدد PARTS » در زير بحث شده است .

3-5-1-1-1. بينايی با تقويت موج زنده ( Real Time Stereo Vision )
بينايی با تقويت موج (Stereo vision ) مشکل محاسبه ی نقشه ی عمق يک صحنه ی مشاهده شده با استفاده از دو دوربين همانند چشم انسان را حل می کند . اساسا مشکل مطابقت بايد حل شود برای هر پیکسل در يک دوربين بايد مختصات پيکسل برروی دوربين ديگر مطابق با همان نقطه ی شئ مورد نظر در فضای سه بعدی پيدا شود.
اگر تصاوير استريو از دو دوربين که متمايل به محورهای اصلی موازی و عمود بر خطی که آنها را به هم وصل می کند گرفته شود اين حقايق به دست می آيند :
نقاط بسيار دور در مواضع مربوطه ی يکسان در هر دو تصوير آشکار می شوند .
نقاط نزديکتر يک انتقال افقی قابل توجه از يک تصوير به تصوير ديگر خواهند داشت .
بنابراين با محاسبه ی تطابق بين نقاط در دو تصوير اين عدم توازن به دست می آيد . بنابراين عمق عناصر صحنه بر مبنای پيکسل ها برآورد می شود . بنابراين حل مشکل استريو يعنی ساخت يک نقشه ی عدم توازن با چگالی پيکسلی که دامنه ی واقعی را نشان می دهد تصاوير ورودی نمونه و نتايج در شکل 3-5 و 3-6 نشان داده شده است . اشياء تاريکتر دورتر هستند در حالی که اشياء روشن تر نزديکتر هستند . تصوير عمق بدست آمده  در شکل 3-7 آمده است . مناطق قرمز رنگ نشان دهنده ی عمق مبهم بدون تطبيق می باشد .

شكل 3-5 : نماي دوربين سمت چپ
شكل 3-6 : نماي دوربين سمت راست
شكل 3-7 : نقشه‌ي عمق محاسبه شده
رابطه ی بين مناطق تصوير به وسيله ی روشن سازی ، عمق نمايی ، تفاوت های فيزيکی دوربين همانند حسگرهای CMOSLCCD متفاوت يا تنظيم های فيزيکی به سبب خطای مجاز تصوير توليد شده و تنظيم کردن مختل شده است.
بنابراين نماهای دوربين های چپ و راست با انواعی از خطاها مختل شده اند .
پس روشی بايد استفاده شود که سعی کند اين مشکلات را نه فقط با مرتبط کردن شدت تصاوير خام آن طور که در بالا گفته شد ، بلکه با مقداری تغييرات در اين شدت ها خنثی کند....
8. منابع

نظري براي اين محصول ثبت نشده است.


نوشتن نظر خودتان

براي نوشتن نظر وارد شويد.

محصولات
نظر سنجي
نظرتون در مورد ویکی پروژه چیه؟
  •   مراحل ثبت نام خیلی زیاده!
  •   مطلب درخواستیم رو نداشت!
  •   ایمیل نداشتم که ثبت نام کنم!
  •   مطلبی که میخواستم گرون بود!
نظرنتيجه