امروز برابر است با :15 مهر 1403

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

مقدمه: اولین ریز پردازنده ای که با موفقیت عملی به بازار عرضه شد محصول شرکت اینتل در سال 1971 با نام 8080 بود بعد از آن بازار رقابت میکرو پروسسوری گرم شد و شرکت های دیگری همچون RCA ,ZILOG,MOS technology ریز پردازنده های خود را به بازار عرضه کردند.
کم کم با ورود کامپیوتر به صنعت ،وجود تکنولوژی دیگری نیز احساس شد . تکنولوژیی که از میکرو پروسسور جمع و جور تر و کند تر بود اما هزینه را خیلی پایین می آورد .این تکنولوزی میکرو کنترلر نام گرفت و کار آن نظارت و کنترل یک سری اعمال بود که توسط برنامه نویسی انجام می شد.
امروزه میکرو کنترلر حوزه های وسیعی از زندگی مارا اشغال کرده است بی آنکه بدانیم که سیستم به کار رفته در آنها میکرو کنترلری است و به اشتباه همه ی آنها را کامپیوترمی نامیم.برای مثال ماشین لباسشویی که اتمام کار خود را با نواختن آهنگی اعلام میکند یا اجاق گازی که خاموش شدن شعله را با آهنگ گوشزد می کند و یا خودروی سمندی که باز بودن در خودرو را با جمله ی” در ب خودرو باز است.”یاد آوری می کند( البته با فرکانس بالاتر از فرکانس صدای من!!!)همگی نمونه های ملموسی از سیستم های میکرو کنترلری هستند که روزانه بار ها با آنها سر و کار داریم.

ملزومات یک سیستم کامپیوتری:


اما واحد های استاندارد یک سیستم کامپیوتری :

1-واحد پردازش مرکزیcup :

همان مغز سیستم است و فعالیت های سیستم را کنترل می کند و عملیات هایی را بر روی داده ها انجام می دهد . Cup مجموعه ای از مدارات منطقی است که به طور متناوب دستورات را واکشی و اجرا می کنند.
Cup خود دارای چند قسمت می باشد:
الف- ALU یا واحد محاسبه و منطق که مسئول انجام اعمال محاسباتی نظیر جمع و تفریق و … و اعمال منطقی مانند مقایسه And و OR و … می باشد

ب – واحد کنترل که مسئول رمز گشایی و تعیین نوع عملیاتی است که ALU باید انجام دهد.

ج- ثبات ها جهت ذخیره موقت داده ها قبل از رفتن به ALU و همچنین نگه داری نتایج پردازش به کار میروند.
د – PC یا شمارنده برنامه که آدرس دستورالعمل بعدی که CPU باید از حافظه بخواند را در خود نگه می دارد.

ه- IR یا ثبات دستور العمل که مسئول ذخیره قسمت عملیاتی دستورالعمل فعلی می باشد
بعد از معرفی دیگر واحد ها به تفصیل در مورد واکشی دستور بحث می کنیم.

2. حافظه :

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

ROM (رام) یا حافظه فقط خواندنی توسط کارخانه برنامه نویسی شده و محتویات آن توسط کاربر یا برنامه نویس تغییر نمی یابد. در حقیقت ROM یک بار برنامه نویسی شده و بارها و بارها می توان آن را خواند .محتویات ROM ثابت است و با قطع برق از بین نمی رود.

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


حافظه های ثانویه ، حافظه هایی هستند که ما اطلاعات را بر روی آنها ذخیره می کنیم تا بعدا دوباره آن اطلاعات را مورد استفاده قرار دهیم و با قطع برق هم محتویات آنها از بین نمی رود .در حقیقت حافظه های ثانویه ترکیبی از خصوصیات Rom و Ram هستند . پایداری خود در مقابل قطع برق را از ROM و توانایی تغییر محتویات توسط کاربر را از RAM به ارث برده اند .برای حافظه های ثانویه می توان از HARD DISK و FLOPPY نام برد


3- گذرگاه یا باس:

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

الف – باس آدرس :برای هر عمل خواندن یا نوشتن CPU آدرس (موقعیت) داده را با قرار دادن یک آدرس روی باس آدرس به حافظه ارسال می کند.

ب – باس کنترل :با قرار دادن آدرس بر روی باس آدرس یک سیگنال کنترلی بر روی گذرگاه کنترل قرار می گیرد که مشخص می کند که عملیات مورد نظر خواندن است یا نوشتن در حافظه.

ج‌- گذرگاه داده : برای عملیات خواندن یک بایت داده بر روی گذرگاه داده توسط حافظه قرار داده می شود و برای عمل نوشتن یک بایت داده توسط CPU بر روی گذرگاه داده قرار می گیرد .
علاوه بر سیگنالهای کنترلی READ و WRITE سیگنال کنترلی دیگری هم با نام CLOCK وجود دارد که برای هم زمان کردن واحدها به کار می رود.

4 – واحد های ورودی و خروجی :

این واحد مسئول ارتباط با دنیای خارج است و توانایی اتصال سیستم ها را به کامپیوتر می دهد .

از کامپیوتر با نام ماشین برنامه پذیر نام بردیم . حال ببینیم برنامه چه تعریفی دارد.

برنامه:

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

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

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

CPU تنها با داده های باینری کار می کند بنابراین هر دستور العمل نوشته شده توسط برنامه نویس باید به مقدار معادل باینری (همان زبان ماشین) آن تبدیل شود و سپس اجرا شود.
یک سیکل واکشی دستور به صورت زیر می باشد:

1- مقدار PC یا شمارنده برنامه بر روی گذرگاه آدرس قرار می گیرد .
2- سیگنال کنترلی READ بر روی گذرگاه کنترل قرار می گیرد
3- داده ( کد عملیاتی دستورالعمل) از حافظه خوانده می شود و روی گذرگاه داده قرار می گیرد
4- کد عملیاتی در ثبات IR قرار می گیرد
5- شمارنده برنامه به ابتدای دستور بعدی اشاره میکند( اغلب گفته می شود که شمارنده برنامه یک واحد افزایش می یابد اما گاهی اوقات 2 واحد و گاهی 3 واحد افزایش پیدا می کند در حقیقت شمارنده برنامه به اندازه طول دستور فعلی افزایش پیدا می کند.)

مرحله ی اجرا شامل کد گشایی و ایجاد سیگنالهای کنترلی لازم برای باز کردن ثات های CPU و قرار دادن محتویات آنها در ALU و مجددا قرار دادن نتیجه عملیات در ثبات ها است.

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

ریز پردازنده یک IC است که فقط شامل CPU است اما میکرو کنترلر مدارات اضافی دیگری در داخل همان IC قرار داده شده است که میکرو کنترلر را تبدیل به یک میکرو کامپیوتر کرده است ( البته در مقیاس کمتر) مدارات دیگری همانند ROM,RAM, timer, و رابط سریال و پردازش وقفه و…
اما برای اینکه یک میکروپروسسور به عنوان یک میکرو کامپیوتر عمل کند به مدارات ذکر شده بالا در خارج IC نیازمندیم که این مدارات هم حجم و هم هزینه را به طور نمایی افزایش می دهند .
اما ریز پردازنده و میکرو کنترلر از نظر معماری داخلی به هیچ وجه قابل مقایسه نیستند ریز پردازنده برای انجام اعمال پردازشی بسیار پیچیده در سرعت بالا طراحی شده است و نتیجتا معماری آن بسیار پیچیده تر از معماری میکرو کنترلر خواهد بود .
تفاوت دیگر میکرو کنترلر و میکرو پروسسور در مصرف توان آنهاست .میکرو کنترلر توان بسیار کمتر از توان مصرفی میکرو پوسسور لازم دارد چون مدارات آن نسبت به میکروپروسسور بسیار کمتر است و این یک مزیت برای طراحی مدارات می باشد.




electronic-girls.blogfa.com

اشتراک گذاری