تفاوت میکروکنترلر و میکروپروسسور
میکروکنترلر و میکروپروسسور چه تفاوتی با هم دارند؟
در دنیای امروز کمتر جایی وجود دارد که از الکترونیک استفاده نکرده باشد، هر یک از وسایل الکترونیکی از اجزایی مانند میکروکنترلرها و میکروپروسسورها تشکیل شدهاند که باعث شدهاست استفاده از وسایل الکتریکی در همه یا بخشی از زندگی ما کاربرد داشته و انجام فعالیتها را سادهتر کند.
میکروکنترلر و میکروپروسسور از اجزایی هستند که در ساخت تجهیزات و وسایل الکتریکی، به ویژه وسایلی که دارای ساختارهای کنترلی هستند استفاده میشود؛ در حالی که میکروکنترلر و میکروپروسسور اجرای اصلی دستگاههای کنترلی هستند، اما تفاوت میکروکنترلر و میکروپروسسور قابل ذکر است به همین علت در این مطلب با معرفی مختصر این دو نوع تراشه به بررسی تفاوتهای بین آنها میپردازیم.
میکروکنترلرها
نوعی ریزپردازنده با حافظهی دسترسی تصادفی و خواندنی، تایمر، پورتهای ورودی و خروجی و درگاه ترتیبی است که تمامی اینها در داخل یک تراشه کوچک قرار دارد که قادر هستند بر روی فعالیتهای کنترلی اجزاء اعمال شوند. میکروکنترلرها از یک CPU کوچک و اجزای کوچک دیگری مانند نوسانساز کریستالی، تایمر، درگاههای ورودی و خروجی آنالوگ و دیجیتال و حافظه تشکیل شدهاست.
به طور میکروکنترلرها در طراحیهای کوچک کاربرد دارند که به دلیل مصرف و هزینه، برخلاف ریزپردازندهها بسیار پرکاربرد هستند؛ کاربرد آنها بیشتر در سنسورها، سرعتسنج، سیستمهای تهویه و موبایل و… است.
تولیدکنندگان مطرح میکروکنترلرها شامل Atmel،TI و موتورولا و فیلیپس هستند که به تولید میکروکنترلرهای سری AVR و ۸۰۵۱ میپردازند؛ در حالی که در ایران سری ARM در حال فراگیر شدن است که تولید آن توسط شرکت NXP،Atmel و ST انجام میشود. انواع مختلف میکروکنترلرها دارای فناوری و تجهیزات مشترک هستند با وجود آنکه ممکن است برنامههای متفاوتی برای ساخت آنها نوشته شود و هر برنامهای که برای میکروکنترلرها نوشته میشود سریع اجرا میشود.
میکروپروسسورها
ریزپرداندهها از کنار هم قرار گرفتن ترانزیستورها، دیود و مقامت الکتریکی تشکیل شدهاست. ریزپردازنده یا میکروپروسسور یک پردازنده درون یک یا چند مدار است که به برای کار کردن به لوازم و تجهیزات جانبی نیاز دارند. این ریزپردازندهها فقط قادر هستند دادههای باینری را دریافت و پردازش کنند و با ذخیره موقت آنها را در خروجی نشان دهند هرچند که برای کارهای پیچیده به حافظهی بالایی نیاز دارند.
میکروپروسسورها زمانی که تحت فشار بالایی قرار میگیرند ممکن است دمای آنها تا حدی بالا برود که به مرز سوختگی برسند و بر روی دادهها اثر مخرب داشته باشند؛ به همین دلیل از هست سینکها یا لولههای کوچک آب استفاده میکنند تا دمای آنها را حین فعالیت کاهش دهند.
تمامی دستورالعملهای یک میکروپروسسور فرمانهایی هستند که هستهی آن قادر بوده تشخیص داده و اجرا کند. میکروپروسسورها وظیفهی انجام محاسبات منطقی و پردازش دادهها را برعهده دارد. برنامههای میکروپروسسور باید سازماندهی خوبی داشته باشند و اجزای زیر را درنظر بگیرند:
کد منتج: شکل دودویی یک برنامه کامپیوتری که آماده اجرا میباشد.
آپ کد: اسم مختصر یک دستور که نوع عمل انجام شده را مشخص میکند.
عملوند و توضیح.
به کار بردن چند میکروپروسسور در کامپیوترها مفید است به طوری که برخی از آنها برای کنترل صفحه کلید، پرداختن به عملیات ورودی و خروجی، کنترل وسایل ذخیرهسازی و میکروپروسسور اصلی سیستم کاربرد دارند.
با وجود پیشرفتهایی تکنولوژی اما میکروپروسسورها تغییر نکردهاند. مدل برنامهنویسی میکروپروسسورها سازمان داخلی آن را نشان میدهد که شامل: انباره، رجیستر، پرچم و پشته است.
تفاوت میکروکنترلر و میکروپروسسور
تفاوت میکروکنترلر و میکروپروسسور به معماری سختافزاری و عملکرد آنها برمیگردد؛ تفاوت اصلی آنها در داشتن تجهیرات جانبی و CPU داخل آنها است به طوری که میکروپروسسورها دارای حافظهی کمی هستند در حالی که در میکروکنترلر قابلیت افزایش حافظه وجود دارد.
تفاوت میکروکنترلر و میکروپروسسور در این است که میکروکنترلرها فقط برای یک هدف کاربرد دارند در حالی که میکروپروسسورها را میتوان برای طراحی و راهاندازی سیستمهای چندکاره به کار گرفت.
در یک میکروکنترلر تمامی تجهیزات تنها بر روی یک تراشه قرار گرفته و ساختار کوچکی را دارد، اما میکروپروسسورها حجیم هستند.
میکروکنترلرها توسط فناوری نیمه رسانا اکسید فلز مکمل ساخته شده به همین دلیل ارزان قیمت هستند و از طرفی به تجهیزات جانبی کمتری هم نیاز دارند؛ اما میکروپروسسورها به علت استفاده از تجهیزات جانبی زیاد قیمتهای بالایی را به خود میگیرند.
سرعت
سرعت پردازش یک میکروکنترلر ۸ مگاهرتز تا ۵۰ مگاهرتز بوده در حالی که سرعت پردازش یک ریزپردازنده یا میکروپروسسور بالاتر از ۱ گیگهرتز است، بنابراین ریزپردازندهها سریعتر عمل میکنند.
میکروکنترلرها ساختار کوچکتری داشته و برای محصولات و برنامههای کوچک کاربردی و مطلوب هستند در حالی که کاربری ریزپردازندهها بزرگتر است.
میکروپروسسورها برخلاف میکروکنترلرها RAM و ROM نداشته و پایههای ورودی و خروجی هم ندارد، به همین دلیل میکروکنترلرها را میتوان ترکیبی از میکروپروسسورها دانست که یکی از دلایل علاقهمندان الکترونیک به استفاده از آنها در پروژههای مختلف میباشد.
میکروکنترلرها را میتوان پردازندههای صرفهجو در انرژی دانست به این دلیل که از اجزای خارجی کمتری استفاده میکند در نتیجه انرژی کمتری را هم به کار میگیرد؛ به نوعی یک سیستم صرفهجویی در آنها وجود دارد در حالی که چنین سیستمی در میکروپروسسورها وجود نداشته و به علت استفاده از اجزای خارجی زیاد، مصرف انرژی بالایی دارند.
فعالیتهایی که توسط میکروکنترلرها انجام میشود محدود بوده و سادهتر است؛ اما کارهای انجام شه توسط ریزپردازندهها پیچیدگی بیشتری داشته و فعالیتهایی مانند توسعه نرمافزار، توسعه بازی، وبسایت، ساخت اسناد و… را انجام میدهد به همین علت است که به حافظهی بیشتری نسبت به میکروکنترلرها نیاز دارند.
ساختار
ساختار معماری میکروکنترلرها از ریسک(RISC) بوده در حالی ریزپردازندهها دارای معماری داخلی سیسک(CISC) هستند؛ طبق این تعریف میتوان گفت تفاوت میکروکنترلر و میکروپروسسور در برنامهنویسی، مصرف توان سیستم و قدرت مورد نیاز دیده میشود.
در کل میتوان به این موضوع اشاره کرد که وجود ریزپردازندهها و میکروکنترلرهای مختلف، سبب شده تا طراحی مدارهای مختلف الکتریکی مسیر راحتتری را برای تولید پشت سر بگذارد. با توجه به اینکه هر دو آنها قابلیت برنامهریزی دارند، بنابراین میتوان از آنها در ساخت تجهیزات دقیق و حساس استفاده کرد.
کلام پایانی
تفاوت میکروکنترلر و میکروپروسسور باعث نمیشود که یکی از دیگری استفاده بیشتری داشته باشد چراکه هر کدام با توجه به موقعیتها و پروژههای مختلفو قابل برنامهریزی بودن هرکدام، کاربردهای مختص خود را هم دارند؛ اما به طور کلی با توجه به ارزان قیمت بودن و مصرف کم انرژی میکروکنترلرها و اینکه مجموعی از چند میکروپروسسور هستند، در طیف گستردهای از پروژههای الکترونیکی استفاده میشوند.