پردازنده و حافظه در میکروکنترلر AVR (آموزش AVR جلسه #3)
در این قسمت راجع به پردازنده میکروکنترلر AVR و سازماندهی حافظه میکروکنترلر AVR توضیح میدهیم.
لینک قسمت های قبل :
CPU چیست ؟
CPU مخفف (Centeral Proccessing Unit) به معنیه واحد پردازش مرکزی است.
سی پی یو ، اصلی ترین بخش و مغز میکروکنترلر است. وظیفه اصلی میکروکنترلر انجام عملیات های منطقی و ریاضی و محاسبه و مقایسه و ارسال دستور و … است .
به طور کلی ، همه عملیات های میکروکنترلر زیر نظر CPU انجام میشود. سی پی یو بخش های مختلفی دارد که در ادامه راجع به آن توضیح میدهیم.
همچنین اگر میخواهید الکترونیک را با فیلم های آموزشی یاد بگیرید، روی دوره آموزش الکترونیک کلیک کنید.
بخش های CPU میکروکنترلر AVR
MCU :
MCU مخفف Master Control Unit است.
این واحد ، همه فعالیت های میکروکنترلر رو مدیریت میکند. یعنی روی داده ها عملیات انجام میدهد و ارتباط با حافظه و کنترل تجهیزات جانبی را بر عهده دارد.
میکروکنترلر های AVR از معماری هاروارد استفاده میکنند، در معماری هاروارد حافظه به دو قسمت حافظه برنامه و حافظه داده تقسیم میشود.
(RAM یعنی حافظه داده و ROM یعنی حافظه برنامه)
در معماری هاروارد پهنای باند بیشتر است و به طور کلی میکروکنترلر ها با سبک هاروارد دستورات اجرایی رو به صورت RISC انجام میدهند. (RISC : Reduced Instruction Set Computer)
ALU :
ALU مخفف Arithmetic logic unit است. این واحد عملیات های منطقی و ریاضی را انجام میدهد مثل جمع و تفریق و …
عملیات های ALU به طور کلی به سه قسمت تقسیم میشوند :
- اعمال ریاضی
- اعما منطقی
- اعمال بیتی
در بعضی از انواع پیشرفته میکروکنترلر های AVR ، واحد ALU محاسبات پیشرفته را هم انجام میدهد.
حافظه میکروکنترلر AVR
همانطور که کمی بالاتر گفتیم ، فضای حافظه میکروکنترلر ما به دو بخش اصلی تقسیم میشود.
- حافظه برنامه ROM
- حافظه داده RAM
ROM :
حافظه برنامه ، همان فضایی است که برنامه ای که نوشتیم را در آن میریزیم. میکروکنترلر های AVR دارای حافظه از نوع فلش هستند و این فضا هم به دو بخش تقسیم میشود:
- فضای برنامه کاربردی
- فضای بوت
به تصویر پایین نگاه کنید ، این تصویر حافظه داخلی فلش را نشان میدهد.
بیشتر حافظه فلش به فضای برنامه کاربری اختصاص داده شده و میتوانیم میزان فضای بوت را تنظیم کنیم.
RAM :
این فضا ، همان فضایی هست که سی پی یو برای عملیات های پردازشی از آن استفاده میکند.
همانطور که در تصویر پایین میبینید ، این فضا چهار بخش هست:
- ریجستر های عمومی : رجیستر های عمومی با اسم های R0-R31 شناخته میشوند.
- حافظه داده داخلی : یا همان SRAM بعد از تکمیل ظرفیت فضای رجیستر های عمومی سی پی یو ، برای انجام عملیات های پردازشی از واحد بزرگتری به نام SRAM استفاده میکند که قبلا توضیحاتشو دادیم.
- رجیستر های I/O : این رجیستر ها از مهم مهم ترین رجیستر های پردازنده هستند و هر کدامشان به یک طریقی استفاده میشوند.
- رجیستر های I/O توسعه یافته : در بعضی از میکروکنترلر های پیشرفته این نوع رجیستر وجود دارد.
- حافظه داده خارجی : این امکان هم در بعضی در میکروکنترلر ها وجود دارد و وقتی فضای حافظه اطلاعات (داده) پر شود بصورت جانبی از این حافظه میشه استفاده کرد.