تفاوت FPGA و میکروکنترلر AVR در چیست؟
FPGA سرواژهی عبارت Field Programmable Gate Array یا ارائه درگاه قابل برنامهریزی است.
FPGA در حقیقت یک مدار مجتمع است که میلیونها گیت منطقی دارد و میتواند به شکل الکتریکی کانفیگ شود تا عملکردی خاص از خود نشان دهد. اما یک FPGA با میکروکنترلرهایی مانند AVR یا با ASIC چه تفاوتی دارد؟ اف پی جی بسیار ارزان است و با استفاده از آن میتوان مدار الکتریکی مد نظر را از پایه ساخت. در ادامه به صورت مختصر به بررسی FPGA میپردازیم. برای کسب اطلاعات بیشتر میتوانید به سایت فنولوژی، رسانه تخصصی هوش مصنوعی و اینترنت اشیا مراجعه نمایید.
تفاوت FPGA و میکروکنترلر
میکروکنترلر در حقیقت مانند یک کامپیوتر ساده عمل میکند که بر روی یک تراشه پیادهسازی شده است. این تراشه تمام قطعات الزامی برای ساخت یک کامپیوتر مانند مموری، تایمر و … را دارا میباشد. هدف از ساخت و استفاده از میکروکنترلر، انجام اعمال کنترلی ساده بر روی سایر سختافزارهاست. ساختار سادهی FPGA، این امکان را فراهم آورده تا نسبت به میکروکنترلر، بسیار منعطفتر باشد. همانطور که از اسمش پیداست، FPGA قابل برنامهنویسی و میتوان با نوشتن برنامهای خاص، عملکرد مد نظر را بهدست آورد. البته لازم به ذکر است که FPGA مصرف انرژی بالاتری نسبت به میکروکنترلر دارد و در جایی که هدف ما استفاده از وسیلهای با کمترین میزان مصرف انرژی است، FPGA گزینه مطلوبی نیست. معضلی دیگری که هنگام کار با FPGA با آن روبهرو میشویم، برنامهنویسی سختتر و وقتگیرتر نسبت به میکروکنترلرهایی مانند میکروکنترلر AVR است. میکروکنترلرها کدهای آمادهای دارند که به سرعت میتوان آنها را برای انجام کاری خاص، شخصیسازی کرد و از آن استفاده نمود.
تفاوت میکروپروسسور و FPGA
میکروپروسسور در حقیقت یک CPU (پردازنده) ساده است. کار CPU اجرای برنامههای مختلفی است که یک سری دستورات مشخص دارند. تفاوت اصلی FPGA و میکروپروسسور در پیچیدگی آنهاست. هر چند انواع و مدلهای مختلفی برای هر کدام وجود دارد، اما به طور کلی ساختمان میکروپروسسورها پیچیدهتر است. علت این امر آن است که پردازشهای مختلفی از قبل بر روی میکروپروسسور طراحی و پیادهسازی شدهاند. میکروپروسسورها مجموعه مشخصی از دستورات را دارند؛ برنامهنویسان برای استفاده از میکروپروسسور باید این دستورات را فرا بگیرند. هر یک از دستورالعملهای ذکرشده، بر روی میکروپروسسور سختافزار مخصوص خود را دارد که موظف به انجام آن دستورالعمل است. در مقابل، ساختمان یک FPGA به گونهای است که هیچ کدام از سختافزارهای موجود در آن برای انجام کار مشخصی برنامهریزی نشدهاند و کاملا منعطف و آمادهی اجرای هر گونه برنامهای از سمت کاربر هستند. برنامهنویسی FPGA با استفاده از زبان HDL انجام میشود. این زبان، یک زبان برنامهنویسی سطح پایین است که به عقیده عدهی زیادی به سختی زبان اسمبلی است. اخیرا سختافزارهایی با ترکیب FPGA و میکروپروسسور به وجود آمدهاند. این سختافزارها حتی از FPGA تنها نیز منعطفترند و میتوان کارهای فراوانی با کمک آنها انجام داد. در یک سختافزار ترکیبی FPGA و میکروپروسسور، بخش میکروپروسسور بیشتر پردازشهای معمول را انجام میدهد و تنها کارهای خاصی که مد نظر ماست توسط FPGA انجام میشود.
تفاوت ASIC و FPGA چیست؟
FPGA و ASIC (آیسیهای خاص منظوره)، هر کدام ارزشهای خاصی برای کاربر ایجاد میکنند و کارایی متفاوتی دارند؛ بنابراین یک فرد باید در هنگام انتخاب میان این دو سختافزار، دقت بالایی از خود به خرج دهد تا متناسب با نیاز خود، یک وسیله تهیه نماید. ASIC تراشههای مخصوصی هستند که هم پردازشهای آنالوگ و هم پردازشهای دیجیتال را در حجم زیاد و در عین حال کارایی بسیار خوب انجام میدهند. ASICها کاملا خاص منظوره و برای انجام اعمالی مشخص ساخته میشوند؛ بنابراین فرآیند تولید و توسعه آنها پیچیدهتر، زمانبرتر و گرانتر است. ASICها بر خلاف FPGA، قابل برنامهنویسی نیستند؛ در نتیجه اگر بخواهیم تغییراتی در آنها ایجاد کنیم، باید این تغییرات را در مرحله طراحی و تولید اعمال نماییم. FPGAها در گذشته برای انجام کارهایی با سرعت، پیچیدگی و حجم پایین طراحی شده بودند؛ اما امروزه به راحتی به عملکرد ۵۰۰MHz میرسند و دیگر محدودیتهای گذشته را ندارند. شرکت زیلینکس در هنگام تولید FPGA، هیچ گونه محدودیت خاصی را اعمال نمیکند تا این سختافزار همچنان انعطاف بالایی داشته باشد؛ اما در صورت نیاز میتوان برنامهها و ساختاری از پیش تعیینشده نیز برای آن تعریف کرد. نکته مهم قابل توجه دیگر آن است که ASICها نسبت به FPGA، بسیار فشردهتر هستند و ابعاد کوچکتری دارند. کارها و عملکردهای مختلفی را میتوان در یک تراشه کوچک جا داد و در نتیجه، ASICها سایز کوچکتر، مصرف انرژی کمتر و قیمت ارزانتری دارند.
در این مقاله به این سوال پرداختیم که FPGA چیست و آن را با سایر معماریهای سختافزاری رایج مقایسه کردیم. برای کسب اطلاعات بیشتر میتوانید به سایت فنولوژی، رسانه تخصصی هوش مصنوعی و اینترنت اشیا مراجعه نمایید.
ارسال نظر