سخت افزار قطعات الکترونیک

تحلیل و بررسی مدار داخلی پردازنده‌ها

what-is-inside-microcontroller-digispark
نوشته شده توسط معین صابری

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

 


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


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

تفاوت میکروکنترلر و میکروپروسسور - دیجی اسپارک

همانطور که گفته شد، یکی از دلایل برتری میکروپروسسورها نسبت به میکروکنترلرها، وجود دستورات پردازشی بیشتر است. درون یک پردازنده و فارغ از دستورات برنامه نویسی، یکسری دستورات از پیش تعریف شده وجود دارد. این دستورات اعمال حسابی مثل جمع، تفریق، ضرب و…. و یا اعمال منطقی مثل AND، OR و…. را اجرا می کنند. به این دستورات از پیش تعریف شده اصطلاحا Instruction Set گفته می شود. در حقیقت زمانیکه شما برنامه ای می نویسید، این برنامه توسط کامپایلر به یک فایل هگزا دسیمال تبدیل می شود. در نهایت این فایل با قرارگیری بر روی حافظه پردازنده، به دستورات Instruction Set  تبدیل می شود.

میکروکنترلرها و میکروپروسسورها از جهات دیگر نیز با یکدیگر تفاوت دارند. یکی دیگر از تفاوت مهم میکروکنترلر و میکروپروسسور، وجود حافظه های مختلف در میکروکنترلر است. یک میکروپرسسور جهت اجرای برنامه ها، نیاز به حافظه های جانبی دارد. این حافظه ها شامل RAM و DISK هستند. در حالیکه یک میکروکنترلر هر دو این حافظه ها را در خود دارد. البته حجم این حافظه ها بسیار کم بوده، اما جهت اجرای برنامه های میکروکنترلری مناسب به نظر می رسند. البته بحث اصلی این آموزش ساختار داخلی یک میکروکنترلر است.

 


ساختار داخلی یک پردازنده


پس از آشنایی با تفاوت میکروکنترلر و میکروپرسسور، نوبت به بررسی ساختار مدار داخلی پردازنده می رسد. یک پردازنده به طور کلی از دو واحد CU و ALU تشکیل شده است. قبل از ورود به این بحث، اجازه دهید به یک موضوع مهم اشاره کنیم. در حالت کلی، در آن واحد، یک پردازنده می تواند یک عمل حسابی یا منطقی انجام دهد. عمل حسابی همانند جمع و عمل منطقی مانند AND دو بیت است. بنابراین درون پردازنده، یک واحد به اسم ALU قرار دارد. این واحد که مخفف Arithmatic Logic Unit است، عمل حسابی یا منطقی را اجرا می کند. در طرف دیگر، جهت کنترل اینکه در حال حاضر عمل حسابی یا منطقی انجام شود، واحد CU این موضوع را کنترل می کند. واحد CU با اعمال پالس، وضعیت اینکه در حال حاضر عمل حسابی یا منطقی اجرا شود را کنترل می کند.

ساختار داخلی یک پردازنده - دیجی اسپارک

 

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

ساختار داخلی یک میکروکنترلر - دیجی اسپارک

 

مطابق تصویر فوق، دو ورودی، یک پایه جهت انتخاب ورودی و یک خروجی قرار دارد. در صورتیکه پایه انتحاب سیگنال صفر به خود گیرد، ورودی A و چنانچه سیگنال B، وروردی B به خروجی خواهد رفت. بنابراین با توجه به سیگنال اعمال شده به پایه SELECET، یکی از ورودی ها در خروجی قرار می گیرد. در ساختار ALU و CU، با توجه به پالس CU، ALU یه CU در خروجی قرار می گیرند. این ساختار توسط یک قطعه مهم دیجیتال به نام مالتی پلکسر اجرا می شود. جهت دریافت اطلاعات بیشتر در رابطه با مالتی پلکسر، می توانید آموزش آن را با کلیک بر روی این لینک مطالعه کنید.

 


جمع بندی


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

 

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

 

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

معین صابری

کارشناسی ارشد رشته معماری سیستم های کامپیوتری

مالي که ز تو کس نستاند، علم است
حرزي که تو را به حق رساند، علم است
جز علم طلب مکن تو اندر عالم
چيزي که تو را ز غم رهاند، علم است
(شیخ بهایی)

تبادل نظر و رفع عیب با ثبت دیدگاه