تفاوت میکرو پروسسور ها با میکروکنترلر های FPGA

5 بهمن 1401 - خواندن 7 دقیقه - 1268 بازدید



به طور کلی بلوک های داخلی FPGA  قابل برنامه ریزی هستند و با یک برنامه ریزی ساده می توان آن را به هر مدار دلخواه تغییر داد از این رو به این تراشه ها قابل برنامه ریزی می گویند.FPGA  مخفف Field Programmable Gate Arrays  یعنی آرایه های گیت قابل برنامه ریزی است. که با متصل کردن بلوک های داخلی آن به هم ، می توان هر مدار دیجیتالی دلخواه را به وجود آورد به عنوان مثال با یک FPGA  میتوان یک پردازنده یا Microproccessor  طراحی کرد یا از آن میتوان  برای پردازش تصویر ، صوت و سیگنال های دیگر بهره برد.به طور کلی بلوک های داخلی FPGA  قابل برنامه ریزی هستند و با یک برنامه ریزی ساده می توان آن را به هر مدار دلخواه تغییر داد از این رو به این تراشه ها قابل برنامه ریزی می گویند.یک میکروکنترلر از  CPU  ، تایمر ها ، پورت ها و حافظه های مختلف مانند flash؛ Rom و EEPROM  تشکیل شده است که با پروگرام کردن آن CPU  شروع به اجرای خط به خط برنامه نوشته شده می کند. در حالی که در FPGA  هیچ CPU  یی وجود ندارد و با نوشتن کد به یک FPGA  در واقع ما سخت افزار مدار را طراحی میکنیم.




در یک FPGA  بر خلاف میکروکنترلر قابلیت اجرای پردازش های موازی وجود دارد و این امر باعث بالا رفتن سرعت عملیات در یک FPGA  می شود. همچنین یک FPGA  به دلیل استفاده مستقیم از گیت ها و بلوک های منطقی و عملیاتی دیگر خیلی سریع تر از میکروکنترلر هست. به همین دلیل از FPGA  ها برای ساخت سیستم های پرسرعت و حساس که دارای پیچیدگی های خاص هم می باشند استفاده می شود. تفاوت میکرو پروسسورها  در عملکرد برعکس FPGA در سیستم است.برای طراحی یک مدار با یک FPGA  ما نیاز به یک زبان توصیف سخت افزار داریم که کدهای نوشته شده ی ما را به مدار مد نظر ما تبدیل کند. در واقع ما در یک FPGA  با نوشتن برنامه مدار مورد نظرمان را طراحی می کنیم.  تعداد زبان های توصیف سخت افزار زیاد است اما دو زبان VHDL  و Verilog  از همه مشهورتر هستند.FPGA مانند بوم سفید است ، می تواند هر عملکرد دیجیتالی را که تصور کنید انجام دهد ، از قابلیت انعطاف پذیری و انعطاف پذیری برخوردار است که در هیچ جای دیگری وجود ندارد.با روشن شدن ، FPGA کد خود را از یک حافظه خارجی بارگیری می کند و سپس براساس عملکرد جدید شروع به رفتار می کند. FPGA مبتنی بر SRAM است. بنابراین ، هر بار کد باید بارگیری شود. FPGA امروزه در طیف وسیعی از برنامه ها استفاده می شود. FPGA را می توان در برنامه های زیر یافت: مرکز داده ، محاسبات با کارایی بالا ، محصولات صنعتی ، پزشکی ، ابزار اندازه گیری ، پردازش ویدئو و تصویر ، ارتباطات سیمی ، ارتباطات بی سیم ، هوا فضا و دفاع ، نمونه سازی ASIC ، خودرو و سایر موارد میکروکنترلر ها را شامل میشود.FPGA از مجموعه ای از بلوک ها به نام بلوک های منطقی قابل برنامه ریزی تشکیل شده است ، این بلوک ها توسط ماتریس اتصال قابل تنظیم قابل اتصال هستند. این بدان معنی است که هم رفتار منطقی و هم مسیریابی داخلی می تواند توسط طراح برنامه ریزی شود و به این وسیله انعطاف پذیری لازم را به دستگاه می دهد.ساختار و معماری Gate Array یا FPGA Field Programableable Field یک مدار مجتمع است که می تواند میلیون ها دروازه منطقی را در خود داشته باشد که می توانند برای انجام یک کار خاص پیکربندی شوند.



ساختار میکروکنترلر قابل مقایسه با یک کامپیوتر ساده است که در یک تراشه قرار داده شده است و تمام اجزای لازم مانند حافظه و تایمرهای تعبیه شده در داخل را دارد. برای انجام برخی کارهای ساده برای سخت افزارهای دیگر برنامه ریزی شده است. ماهیت اساسی FPGA این امکان را می دهد تا انعطاف پذیر تر از بسیاری از میکروکنترلر ها باشد. اصطلاح قابل برنامه ریزی از قبل به شما می گوید که کل دستگاه FPGA را می توان برای انجام هر کار منطقی که می تواند در تعداد دروازه های موجود در آن تنظیم شود ، دوباره برنامه ریزی کرد. انعطاف پذیری FPGA به دلیل قیمت آنها در مقایسه با میکروکنترلرهای معمولی ، انرژی بیشتری را مصرف می کند ، و این باعث می شود آنها برای برنامه هایی که تخلیه برق مشکل دارد ، نامناسب باشند. ایجاد یک عملکرد FPGA در یک نقش خاص نیز در مقایسه با میکروکنترلرها بسیار طولانی تر طول می کشد ، زیرا شما مجبور هستید که همه کدها را از ابتدا بنویسید و آن را به زبان دستگاه تبدیل کنید. با استفاده از میکروکنترلر ها ، می توانید بسته هایی را که به سمت یک کار خاص در نظر گرفته شده اند خریداری کنید و فقط آنها را با مشخصات دقیق خود نسبتا عجیب برنامه ریزی کنید.



ریزپردازنده یا میکروپروسسور قطعه ای است که توان پردازش محاسبه و منطق را دارد. ریزپردازنده ها ففقط میتوانند اطلاعات باینری(0 و 1) را دریافت کنند و بر روی آن ها پردازش انجام دهند.در مرحله بعد اطلاعات پردازش شده را داخل حافظه موقت بارگذاری کرده و اطلاعات پردازش شده را به خروجی جهت نمایش میدهد.هر چه سرعت پردازنده یا میکروپروسسور (بر حسب کیلوهرتز،مگاهرتز،گیگاهرتز و...) بیشتر باشد میکروپروسسور با سرعت بیشتری نسبت به داده ها ورودی واکنش نشان میدهد.میکروپرسسور به طور کلی یک پردازنده است و برای کار باید به آن چیپ های حافظه و چیز های دیگری را به آن اضافه کرد این امکان کاربردی دارد که بر حسب کارمان حافظه مناسب و دیگر قطعات را مانند تایمرها و غیره به صورت بیشتری استفاده کنیم ولی مدار خیلی پیچیده می شود و از لحاظ هزینه هم هزینه بیشتر می شود به همین دلیل امروزه از میکروپرسسورها کمتر استفاده میشود.در میکروپرسسورها فقط واحد پردازش به صورت مجزا به صورت یک آیسی IC (مدارمجتمع) وجود دارد که مدارهایی مانند RAM ،آنها در آیسی های مجزا به ریزپردازنده متصل میشوند و با ROM ،واحد ورودی/ خروجی، تایمرها تشکیل یک رایانه را میدهند.توانایی تولید وسایل میکروالکترونیک با صدها کارکرد از جمله کنترل، تنظیم، هدایت و حافظه که میکروپرسسورها به اجرا در می آورند. در آغاز هر تراشه ۴ کیلو بایت حافظه داشت که بعد ها به ۸، ۱۶، ۳۲، ۶۴ کیلو بایت افزایش یافت و امروزه سازندگان میکرو پروسسور تراشه هایی تولید می کنند که ظرفیت ذخیره سازی آنها چندین مگابایت یا حتی گیگا (میلیارد) بایت است.امروزه یک تراشه ی ریز سیلیکنی(میکرو پروسسور) حاوی مدار های الکترونیکی دارای صدها هزار ترانزیستور و همه ی اتصالات لازم  و مدار بندی روی این تراشه می تواند خود میکرو کامپیوتری باشد با ظرفیت پردازش ورودی / خروجی و حافظه ی دستیابی تصادفی و… .

نانو الکترونیکالکترونیکبرقمیکرو پروسِسور هامیکروکنتلر های FPGA