microprocessor VS microcontroller

زمانی برنامه نویسی برای شما جذاب تر خواهد شد که بتوانید نتیجه تفکرات و الگوریتم‌های خود را در دنیای واقعی مشاهده کنید. دانستن برخی مباحث پایه در الکترونیک علاوه بر جذاب بودن  برای یک مهندس کامپیوتر خالی از لطف نیست.

بسیار پیش آمده است که این دو مورد را با یکدیگر اشتباه بگیرند. هر دو ویژگی های مشترک زیادی دارند و به همان اندازه تفاوت های بنیادی بسیاری نیز دارند.

ریزپردازنده (microprocessor) و ریزکنترل گر (microcontroller) از نظر ظاهر شبیه به هم هستند، اما قابلیت هایشان تفاوت زیادی دارد.

میکروپروسسور یا ریزپردازنده به چیپ‌های الکترونیکی گفته میشود که از کنارهم قرار گرفتن تعداد بسیار زیادی ترانزیستور، دیود و مقاومت‌های الکتریکی ساخته شده‌اند و قادر به انجام محاسبات حسابی، منطقی و پردازش داده (مثل جمع و تفریق و AND و OR) هستند. میکروپروسسورها قلب اصلی کامپیوترها و لپ تاپ‌های ما هستند و ما آنها را بیشتر به اسم CPU میشناسیم.

میکروپروسسور یک IC است که در داخل خود فقط دارای CPU است و فقط توان پردازش اطلاعات را دارد ، مانند CPU های پنتیوم ۱,۲,۳,۴ و core i3, core i5 اینتل  و سایر CPU هایی که می شناسید.CPU ها فاقد RAM,ROM یا سایر حافظه های جانبی به صورت داخلی هستند.

هر میکروپروسسور نیازمند تعدادی قطعات و آی سی های جانبی از جمله حافظه ی ماندگار (نظیر EPROM، EEPROM و ...)، حافظه ی غیر ماندگار (RAM ها)، تایمر و کانتر (مانند آی سی 82C54) و ... می باشد.

همانند آنچه که در داخل کامپیوتر های رومیزی ، لپ تاپ ها ، نوت بوک ها ، گوشی های هوشمند جدید و … می بینیم.

اما میکروکنترلرها این گونه نیستند میکروکنترلرها دارای یک CPU، به همراه RAM و ROM و دیگر دستگاه های جانبی هستند که همه در یک چیپ جایگذاری شده اند. برخی آنها را کامپیوتری کوچک بر روی یک چیت تکی نیز می نامند. این روزها کارخانه های متعددی میکروکنترلر ها را با رنج گسترده ای از امکانات و قابلیت ها در انواع اندازه ها تولید می‌نمایند. اتمل (ATMEL) ، میکروچیپ (MICROCHIP) ,فیلیپس (Philips) ، موتورولا (Motorola)، تگزاس اینسترومنتز (TI) از تولید کنندگان معروف و معتبر میکروکنترلر هستند.

در واقع میکروکنترلرها پکیجی از میکروپروسسور، RAM، ROM و تعدادی پایه ورودی و خروجی در قالب یک IC است. باس این قطعات در داخل IC بوده و طراح برد کنترلی بر روی آن ندارد، همچنین به دلیل SoC بودن امکان افزایش RAM، ROM و حتی تعداد پایه‌های ورودی و خروجی آن وجود ندارد.

میکروکنترلرها کوچک هستند، مصرف برق کمی دارند و در بسیاری از لوازم دیجیتالی اطراف ما وجود دارند. (مانند کنترل تلویزیون، دستگاه پخش موسیقی و ...)

 

کاربرد :

 

میکروپروسسورها برای کاربردهای چندگانه به کار میرن. نمونه کاربرد بارز آنها در کامپیوتر و لپ تاپ ها هست. برای مثال کامپیوتر، کاربردهای خیلی مختلفی داره مثل Game یا جستجوی اینترنت، یا انجام محاسبات، یا تماشای فیلم، یا درست کردن اسناد، یا ادیت عکس و

بنابراین، میکروپروسسورها در مواردی استفاده می شوند که از پیش تعریف شده (predefined) نیستند و کاملا بستگی به شخص کاربر دارد که چه استفاده ای از آن کند.

اما میکروکنترلرها برای وظیفه خاصی درست می شوند که از پیش تعریف شده هستند. به اونها ورودی معینی داده میشه و خروجی معینی گرفته میشه.

مثال هایی از میکروکنترلر شامل دوربین عکاسی دیجیتالی، ماشین لباس شویی، ماکروویو و غیره می باشد. وسایلی که تک منظوره هستند و فقط برای انجام یک کار ساخته شدند.

 

تفاوت ها :

 

مهم ترین تفاوت میکروپروسسور ها با میکروکنترلر ها قابلیت ارتقا حافظه‌ی آن ها می باشد. از آنجا که در مدارات الکترونیکی، ریزپردازنده ها (میکروپروسسورها) از یک آی سی مجزا خارجی به عنوان حافظه ی در دسترس خود استفاده می‌کنند با تغییر این آی‌سی‌های حافظه می توان ظرفیت حافظه ی در دسترس پردازنده را تغییر داد.

استفاده میکروپروسسور‌ها اغلب زمانیست که استفاده‌ها مشخص نیست ، به عنوان مثال در یک کامپیوتر رومیزی کاربر گاهی آهنگ گوش میدهد ، گاهی بازی میکند ، گاهی از نرم افزار های صفحه گسترده استفاده می کند ، گاهی عکس ویرایش می کند و … و به همین دلیل که روابط بین ورودی ها و خروجی ها با توجه به عملیاتی که کاربر در حال انجام آن است متغیر است ، نیاز به منابع بیشتری نظیر RAM , ROM و پورت هایی ورودی و خروجی خواهیم داشت.

معماری به کار رفته در اکثر میکروکنترلر های مشهور امروزی از نوع RISC است در حالی که بیشتر میکروپروسسور ها از معماری CISC استفاده می کنند که این تفاوت نوع معماری ها؛ سبک برنامه نویسی، میزان مصرف توان سیستم و ... را تحت تاثیر قرار می دهد.

 

قدرت پردازش و حافظه :

 

سرعت و حافظه میکروپروسسور بسیار بسیار بالاتر است. اما چون میکروکنترلرها برای وظایف خاصی طراحی می شوند، مقدار حافظه و سرعت کمی نیاز دارند.

مقدار بیت میکروپروسسور: 32 بیت یا 64 بیت یعنی میکروپروسسور در یک سیکل می تواند 32 یا 64 بیت اطلاعات را حمل کند.

مقدار بیت میکروکنترلر: 8 بیت، یا 16 بیت، یا 32 بیت یعنی میکروکنترلردر یک سیکل می تواند 8 بیت یا 16 بیت یا 32 بیت اطلاعات را حمل کند.