esp32, esp8266, آردوینو, آموزشی و دانشگاهی, رزبری پای, قطعات الکترونیکی, هوشمند سازی

تفاوت میکروکنترلر و ریزپردازنده_بررسی جامع

زمان تقریبی مطالعه مطلب : 9 دقیقه

میکروکنترلر و ریزپردازنده

میکروکنترلر (µC) و ریزپزدازنده (µP)

میکروکنترلر (µC) نه تنها شامل یک واحد پردازش، بلکه مقدار کمی حافظه (ROM، RAM و غیره)، چند پورت IO برای تجهیزات جانبی، تایمر و غیره است. اما یک ریزپردازنده (µP) تنها شامل یک واحد پردازشی است که از نظر محاسباتی بسیار قدرتمند است. برای استفاده از ریزپردازنده (µP)، شخص به تراشه‌های سخت‌افزاری اضافی مانند حافظه (RAM)، بردهای جانبی، گذرگاه سیستم و غیره نیاز دارد.

از این نظر، یک میکروکنترلر را می توان SoC (سیستم روی تراشه) نامید که معمولاً برای استفاده از سیستم تعبیه شده ساخته شده است. یکی از راه‌های نگاه کردن به μC یک «تراشه» کامل است که شامل سایر تراشه‌های ضروری برای انجام چند کار تخصصی است که ویژگی‌های یک سیستم تعبیه‌شده معمولی است. در حالی که μP یک واحد پردازش “تراشه” است که کاملاً قدرتمند و پیچیده است و معمولاً برای محاسبات با هدف عمومی استفاده می شود. به دلیل ویژگی‌های پردازش محدود، µC معمولاً ارزان‌تر از µP است. علاوه بر این، μC در مقایسه با μP معمولاً بسیار فشرده تر است. نمونه‌هایی از μC عبارتند از سری ARM Cortex-M، Intel 8051 و غیره. نمونه‌هایی از μP عبارتند از سری ARM Cortex-A، سری Intel Pentium و غیره.

ما می‌توانیم استفاده از μC را در لوازم خانگی مانند ماشین‌های لباسشویی، اجاق‌ها و غیره بیابیم، در حالی که می‌توانیم استفاده از μP را در رایانه‌های رومیزی، لپ‌تاپ‌ها و غیره بیابیم. این سوال مطرح نیست که کدام یک بهتر است. در عوض، این یک سوال است که نیاز یک سیستم به کدام است. اگر شخصی در حال طراحی یک سیستم جاسازی شده است که در آن وظایف خاص و سفارشی شده باید انجام شود، انتخاب μC یک انتخاب معمولی است. برعکس، اگر کسی در حال ابداع یک دستگاه محاسباتی همه منظوره باشد، انتخاب µP یک انتخاب درست است.

معرفی ریز پزدازنده

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

مبانی ریز پزدازنده

یک ریزپردازنده مجموعه ای از دستورالعمل ها را به زبان ماشین می گیرد و آنها را اجرا می کند و به پردازنده می گوید که چه کاری باید انجام دهد. ریزپردازنده هنگام اجرای دستورالعمل سه کار اساسی را انجام می دهد:

  • برخی از عملیات اساسی مانند جمع، تفریق، ضرب، تقسیم و برخی عملیات منطقی را با استفاده از واحد حسابی و منطقی خود (ALU) انجام می دهد. ریزپردازنده های جدید همچنین بر روی اعداد ممیز شناور نیز عملیات انجام می دهند.
  • داده ها در ریزپردازنده ها می توانند از مکانی به مکان دیگر منتقل شوند.
  • دارای یک رجیستر برنامه شمارنده (PC) است که آدرس دستورات متعدد را بر اساس مقدار کامپیوتر ذخیره می کند، دستورات در ریزپردازنده از مکانی به مکان دیگر منتقل می شوند و تصمیم گیری انجام می شود.

تفاوت بین AVR و ARM

یک میکروکنترلر دارای واحد پردازش است اما مقدار کمی حافظه (ROM، RAM و غیره)، تعداد کمی پورت IO برای تجهیزات جانبی، تایمر و غیره دارد. AVR و ARM تحت خانواده میکروکنترلرها قرار دارند. اما ARM می تواند هم به عنوان میکروکنترلر و هم به عنوان ریزپردازنده استفاده شود. میکروکنترلر ARM و میکروکنترلر AVR از نظر معماری متفاوت و مجموعه‌های مختلف دستورالعمل، سرعت، حافظه، مصرف برق، عرض گذرگاه و غیره با یکدیگر تفاوت دارند.

  • میکروکنترلر AVR: میکروکنترلر AVR توسط شرکت Atmel در سال 1996 ساخته شده است. این میکروکنترلر بر اساس معماری مجموعه دستورالعمل RISC (ISA) است و به عنوان RISC مجازی پیشرفته نیز نامیده می شود. AT90S8515 میکروکنترلر اولیه متعلق به خانواده AVR بود. میکرو کنترلر AVR محبوب ترین دسته کنترلرها و ارزان است. در بسیاری از برنامه های روباتیک استفاده می شود.
  • میکروکنترلر ARM: میکرو کنترلر ARM توسط سازمان کامپیوتری Acorn معرفی شد و توسط اپل، انویدیا، کوالکام، موتورولا، ST Microelectronics، Samsung Electronics و TI و غیره تولید شد. و همچنین به عنوان میکرو کنترلر پیشرفته RISC نامیده می شود. این میکرو کنترلر محبوب ترین است و اکثر صنایع از آن برای سیستم های تعبیه شده استفاده می کنند زیرا مجموعه وسیعی از ویژگی ها را ارائه می دهد و برای تولید دستگاه هایی با ظاهر عالی خوب است.

برای اطلاعات بیشتر در مورد بردهای آردیونو اینجا را کلیک کنید.

پردازنده ARM و ویژگی های آن

پردازنده پیشرفته RISC Machine (ARM) یک خانواده از واحدهای پردازش مرکزی در نظر گرفته می شود که در پخش کننده های موسیقی، تلفن های هوشمند، گجت های پوشیدنی ، تبلت ها و سایر دستگاه های الکترونیکی مصرفی استفاده می شود.

ماشین‌های پیشرفته RISC معماری پردازنده ARM را ایجاد می‌کنند، از این رو ARM نامیده می‌شود. این به مجموعه دستورالعمل ها و ترانزیستورهای بسیار کمی نیاز دارد. سایزش بسیار کوچک و به همین دلیل است که برای دستگاه های کوچک مناسب است. مصرف برق کم همراه با کاهش پیچیدگی در مدارهای خود دارد.

کاربردهای ARM Process با آگاهی از تاریخچه ARM Processor شروع می شود. قبل از ARM از پردازنده‌های x86 استفاده می‌شد که در سال 1978 راه‌اندازی شدند. هرگاه دستورالعمل‌های از پیش تعریف‌شده مانند دستورالعمل‌های پیچیده و دستورالعمل‌های سخت اجرا را حذف می‌کنیم، دستورالعمل‌های باقی‌مانده قدرت و سرعت کمتری می‌گیرند و سریع‌تر اجرا می‌شوند، به این کامپیوتر مجموعه دستورالعمل‌های کاهش‌یافته، می‌گویند.

چه چیزی یک معماری ARM را ارزشمند می کند

یکی از رایج ترین طرح های معماری الکترونیکی موجود در بازار، Advanced RISC Machine Architecture است، حتی بهتر از x86 که در بازار سرور بسیار رایج است. معماری ARM به طور گسترده در تلفن های هوشمند، تلفن های معمولی و همچنین در لپ تاپ ها استفاده می شود. اگرچه پردازنده‌های x86 عملکرد بهینه‌تری دارند، پردازنده‌های ARM پردازنده‌های مقرون‌به‌صرفه با اندازه کوچک، انرژی کمتر برای کارکردن و همچنین عمر باتری بهتری دارند. پردازنده ARM نه تنها به تلفن های همراه محدود می شود، بلکه در فوگاکو، سریع ترین ابررایانه جهان نیز استفاده می شود. پردازنده ARM همچنین امکان پذیری بیشتری را به طراحی های طراحان سخت افزار می دهد و همچنین کنترل زنجیره تامین طراح را می دهد.

ویژگی های پردازنده ARM

  1. سیستم های چند پردازشی: پردازنده های ARM برای استفاده در مواردی از سیستم های چند پردازشی که بیش از یک پردازنده برای پردازش اطلاعات استفاده می شود، طراحی شده اند. اولین پردازنده AMP که با نام ARMv6K معرفی شد، می توانست از 4 عدد CPU به همراه سخت افزار خود پشتیبانی کند.
  2. Tightly Coupled Memory: حافظه پردازنده های ARM به شدت کوپل شده است که زمان پاسخگویی بسیار سریعتری دارد. دارای تأخیر کم (پاسخ سریع) است که می تواند در موارد غیرقابل پیش بینی بودن حافظه کش نیز استفاده شود.
  3. مدیریت حافظه: پردازنده ARM دارای بخش مدیریت است. این شامل واحد مدیریت حافظه و واحد حفاظت حافظه است. این سیستم های مدیریتی در مدیریت کارآمد حافظه بسیار مهم هستند.
  4. فناوری Thumb-2: فناوری Thumb-2 در سال 2003 معرفی شد و برای ایجاد مجموعه های دستورالعمل با طول متغیر استفاده شد. Thumb-2 میتواند دستورالعمل های 16 بیتی فناوری اولیه Thumb را به دستورالعمل های 32 بیتی گسترش می دهد و در مجموع عملکرد بهتری نسبت به فناوری Thumb که قبلا استفاده شده بود دارد.
  5. زمان اجرای یک چرخه: پردازنده ARM برای هر دستورالعمل روی CPU بهینه سازی شده است. هر دستورالعمل دارای طول ثابتی است که زمان لازم را برای اجرای دستورالعمل‌های آینده قبل از اجرای دستورالعمل‌های فعلی می‌دهد. ARM دارای CPI (ساعت در هر دستورالعمل) یک چرخه است.
  6. Pipelining: پردازش دستورالعمل ها به صورت موازی با استفاده از خطوط لوله انجام می شود. دستورالعمل ها در یک مرحله خط لوله شکسته و رمزگشایی می شوند. کانال برای افزایش توان عملیاتی (نرخ پردازش) یک مرحله پیش می رود.
  7. تعداد زیادی Registers : تعداد زیادی رجیستر در پردازنده های ARM برای جلوگیری از تعاملات زیاد حافظه استفاده می شود. سوابق حاوی داده ها و آدرس ها هستند که به عنوان یک حافظه محلی برای همه عملیات عمل می کنند.

مزایای پردازنده ARM

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

معایب پردازنده ARM

  • پردازنده های ARM با پردازنده های x86 منطبق نیستند و به همین دلیل نمی توان از آنها در سیستم های ویندوز استفاده کرد.
  • پردازنده های ARM قادر به کارایی بسیار بالایی نیستند، که این باعث می شود آنها به برنامه های مختلف محدود شوند.
  • اجرای پردازنده ARM کمی سخت است که نیاز به برنامه نویسان ماهر برای استفاده از آن دارد.
  • پردازنده ARM در مدیریت دستورالعمل های زمان بندی ناکارآمد است.

برای اطلاعات بیشتر در خصوص بردهای esp اینجا را کلیک کنید.

RISC و CISC در ساختار کامپیوتر

RISC راهی برای ساده‌تر کردن سخت‌افزار است در حالی که CISC تنها دستورالعملی است که چندین کار را انجام می‌دهد. در این بخش ما قصد داریم RISC و CISC و همچنین تفاوت بین RISC و CISC را به طور مفصل مورد بحث قرار دهیم.

معماری مجموعه دستورالعمل کاهش یافته (RISC)

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

ویژگی های RISC

  • دستورالعمل ساده تر، از این رو رمزگشایی دستورالعمل ساده است.
  • اندازه دستورالعمل کمتر از یک کلمه است.
  • دستورالعمل برای اجرا به زمانی کمتر از یک ساعت نیاز دارد.
  • حالت های آدرس دهی ساده است.
  • تنوع داده های کمتری دارد.

مزایای RISC

دستورالعمل های ساده تر: پردازنده های RISC از مجموعه کوچکتری از دستورالعمل های ساده استفاده می کنند که رمزگشایی و اجرای سریع آنها را آسان تر می کند. این منجر به زمان پردازش سریعتر می شود.

اجرای سریعتر: از آنجایی که پردازنده های RISC دارای مجموعه دستورات ساده تری هستند، می توانند دستورات را سریعتر از پردازنده های CISC اجرا کنند.

مصرف انرژی کمتر: پردازنده‌های RISC نسبت به پردازنده‌های CISC انرژی کمتری مصرف می‌کنند و برای دستگاه‌های قابل حمل ایده‌آل هستند.

معایب RISC

دستورالعمل های بیشتری مورد نیاز است: پردازنده های RISC برای انجام کارهای پیچیده به دستورالعمل های بیشتری نسبت به پردازنده های CISC نیاز دارند.

افزایش استفاده از حافظه: پردازنده های RISC به حافظه بیشتری برای ذخیره دستورالعمل های اضافی مورد نیاز برای انجام کارهای پیچیده نیاز دارند.

هزینه بالاتر: توسعه و ساخت پردازنده های RISC می تواند گران تر از پردازنده های CISC باشد.

معماری مجموعه دستورالعمل های پیچیده (CISC)

ایده اصلی این است که یک دستورالعمل واحد همه عملیات بارگذاری، ارزیابی و ذخیره سازی اطلاعات را انجام می دهد، درست مانند یک دستور ضرب، کارهایی مانند بارگذاری داده، ارزیابی و ذخیره آن را انجام می دهد، بنابراین پیچیدگی خاصی دارد.

ویژگی های CISC

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

مزایای CISC

کاهش اندازه کد: پردازنده های CISC از دستورالعمل های پیچیده ای استفاده می کنند که می توانند چندین عملیات را انجام دهند در حالی که مقدار کد مورد نیاز برای انجام کار را کاهش دهند.

حافظه کارآمدتر: از آنجا که دستورالعمل‌های CISC پیچیده‌تر هستند، به دستورالعمل‌های کمتری برای انجام کارهای پیچیده نیاز دارند، که می‌تواند منجر به حافظه کارآمدتر شود.

به طور گسترده مورد استفاده قرار می گیرد: پردازنده های CISC برای مدت طولانی تری نسبت به پردازنده های RISC مورد استفاده قرار می گیرند، بنابراین پایگاه کاربر بزرگتر و نرم افزار در دسترس بیشتری دارند.

معایب CISC

اجرای آهسته تر: پردازشگرهای CISC زمان بیشتری برای اجرای دستورالعمل ها نیاز دارند زیرا دستورالعمل های پیچیده تری دارند و برای رمزگشایی به زمان بیشتری نیاز دارند.

طراحی پیچیده تر: پردازنده های CISC مجموعه دستورالعمل های پیچیده تری دارند که طراحی و ساخت آنها را دشوارتر می کند.

مصرف انرژی بیشتر: پردازنده های CISC به دلیل مجموعه دستورالعمل های پیچیده تر، انرژی بیشتری نسبت به پردازنده های RISC مصرف می کنند.

نتیجه گیری

میکروکنترلر و ریزپردازنده هر دو، یک نوع مدار مجتمع (IC) هستند که می‌توان از آنها برای کنترل دستگاه‌های الکترونیکی استفاده کرد. با این حال، تفاوت‌های کلیدی بین این دو وجود دارد.

میکروکنترلر یک تراشه تک است که شامل همه اجزای لازم برای عملکرد یک کامپیوتر است. این شامل یک واحد پردازش مرکزی (CPU)، حافظه، ورودی/خروجی (I/O) و پورت های ارتباطی است. میکروکنترلرها معمولاً در سیستم های تعبیه شده مانند لوازم خانگی، اسباب بازی ها و خودروها استفاده می شوند، در حالی که ریزپردازنده نیز یک تراشه واحد است، اما فقط شامل CPU است. برای کارکرد، ریزپردازنده به اجزای خارجی اضافی مانند حافظه، I/O  و پورت های ارتباطی نیاز دارد. ریزپردازنده ها معمولاً در رایانه های شخصی، سرورها و سایر دستگاه های محاسباتی استفاده می شوند.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *