حامی فایل

مرجع دانلود فایل ,تحقیق , پروژه , پایان نامه , فایل فلش گوشی

حامی فایل

مرجع دانلود فایل ,تحقیق , پروژه , پایان نامه , فایل فلش گوشی

مقاله معماری میکروکنترلرهای AVR

اختصاصی از حامی فایل مقاله معماری میکروکنترلرهای AVR دانلود با لینک مستقیم و پر سرعت .

مقاله معماری میکروکنترلرهای AVR


مقاله معماری میکروکنترلرهای AVR

لینک پرداخت و دانلود در "پایین مطلب"

 فرمت فایل: word (قابل ویرایش و آماده پرینت)

 تعداد صفحات:31

معماری میکروکنترلرهای AVR

میکروکنترلرهای AVR توسط شرکت Atmel طراحی و ساخته شده­اند. اولین قطعات از میکروکنترلرهای AVR در سال 1993 روانه بازار شد و به­زودی جای خود را در قلب طراحان مدارات میکروکنترلری باز کرد. نخستین قطعات که در این خانواده معرفی شدند، میکروکنترلرهای AVR در سری Sxxxx90AT بودند. ولی از آن­جایی­که این قطعات نسبت به سایر میکروکنترلرهای AVR که بعداً در سری Mega ارائه شدند امکانات کمتری دارند، به­ندرت از آن­ها استفاده می­شود. شرکت Atmel همزمان با ارائه میکروکنترلرهای AVR در سری Mega اقدام به طراحی و تولید میکروکنترلرهای AVR در سری Tiny کرده است. این قطعات در بسته­بندی­های کوچک­تر نسبت به نمونه­های قبلی و با امکانات فوق­العاده (امکاناتی که کمتر از سری Mega و حدوداً برابر با سری Sxxxx90 هستند) در ولتاژها و جریان­های مصرفی کم ارائه شده­اند و زمینه را برای طراحی مداراتی با توان مصرف فوق­العاده کم و کارایی بسیار بالا فراهم کرده­اند.

هدف ما در این مقاله ارائه مباحث مربوط به سری Mega است که در این سری به­طور خاص روی قطعه 16ATMega تأکید بیشتری خواهیم داشت. دلیل انتخاب این قطعه وجود بسیاری از قابلیت­های تمامی سری Mega و پایه بودن آن است.

در این بخش معماری داخلی میکروکنترلرهای AVR مورد بررسی قرار می­گیرد.

میکروکنترلرهای AVR دارای درگاه داده 8 بیتی و از نوع CMOS و با ساختار Risc[1] هستند و در ساخت آن­ها معماری نوع Harward به­کار برده شده است. در این نوع معماری از باس­های سه­گانه مجزا (آدرس ـ داده ـ کنترل) برای حافظه برنامه استفاده می­شود. کاربرد ساختار Risc باعث می­شد. که این قطعات دارای خصوصیات منحصربه­فردی باشند، از آن­جمله می­توان به سرعت بالا، سازگاری با کامپایلرهای زبان­های سطح بالا چون c و امکانات فراوان اشاره کرد. ساختار Risc برای اولین­بار در سال 1970 میلادی برای معماری پردازشگرها معرفی شد. پیش از این، معماری Cisc[2] متداول­تر بوده است. برای اینکه تفاوت­های بین Cisc و Risc مشخص شود، در ادامه تفاوت­های کلی این دو نوع معماری بررسی می­شود.

آن­چه که در طراحی پردازشگرها از اهمیت ویژه­ای برخوردار است سرعت آن­هاست. هرکدام از ساختارهای Cisc و Risc خط مشی متفاوتی را برای رسیدن به این هدف ارائه می­­کنند و طراحان پردازشگر نیز یکی از آن­ها را به دیگری ترجیح می­دهند.

برخی از مزایای ساختار Cisc مانند استفاده از ریزدستورالعمل­های سخت­افزاری، مجموعه دستورالعمل­های زیاد و سطح بالا دلیل محکمی برای شرکت­های چون اینتل و موتورولا بود تا در نمونه­های خود مانند پردازنده­های سری 96x80 و میکروکنترلرهای سری 8051 و 96x80 و سری k68 از این نوع معماری بهره ببرند. استفاده از ریزدستورالعمل­های سخت­افزاری برای ایجاد دستورالعمل­های اصلی در زبان اسمبلی بسیار میکروکنترلرهای AVR دارای راحت بود و ساخت نرم­افزار برای واحد کنترل را با هزینه کم­تری امکان­پذیر می­ساخت. سادگی استفاده از ریزدستورالعمل­ها برای ایجاد دستورالعمل­های جدید این اجازه را به طراحان ماشین­های Cisc می­دهد که به­راحتی قطعات جدید سازگار با قطعات قبلی را با صرف انرژی کم­تر طراحی کنند. کامپیوترهای جدید ساخته­شده به این روش قادر هستند تا نرم­افزارهای نوشته­شده برای کامپیوترهای قدیمی را اجرا کنند، چون این کامپیوترها دستورالعمل­های کامپیوترهای قبلی را با همان کدهای عملیاتی دارا هستند و در عین حال در آن­ها از دستورالعمل­های جدید نیز استفاده شده است.

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

زمانی که ماشین­های Cisc شروع به گسترش کردند مزیت­های گفته شده باعث بهبود عملکرد کامپیوترها می­شد ولی بعد از مدتی طراحان فهمیدند ماشین­های Cisc مشکلاتی را به همراه دارند. اولین و بزرگ­ترین مشکلی که در ماشین­های Cisc وجود داشت این بود که به­علت تعدد دستورالعمل­ها و پیچیدگی موجود در آن­ها کد عملیاتی[3] مربوط به دستورالعمل­های مختلف متغیر بود (طولی برابر با یک تا چندین بایت)؛ درنتیجه طول اشغال­شده توسط هر دستورالعمل در حافظه برنامه اندازه متفاوتی پیدا می­کرد. این موضوع و هم­چنین محدود بودن تعداد بیت در درگاه داده موجب می­شد که پردازشگر چندین چرخه مکش دستورالعمل از حافظه را برای اجرای هر دستورالعمل انجام دهد. این امر به نوبه خود از یک طرف باعث پایین آمدن سرعت پردازشگرها و از سوی دیگر باعث یکسان نبودن زمان اجرای دستورالعمل­های مختلف می­شد. بنابراین عملاً امکان استفاده آسان از خط لوله دستورالعمل در ساختار چنین ماشین­هایی از میان می­رفت.

از طرف دیگر به دلیل بزرگ بودن سخت­افزار داخلی پردازشگرهای Cisc، ثبات­های قابل دسترس کمی در داخل آن­ها وجود داشت، درنتیجه در بیشتر دستورالعمل­های منطقی و حسابی، از حافظه خارجی داده به­عنوان عملوند دوم این دستورات استفاده می­شد که این مسأله نیز به نوبه خود باعث می­شد که سرعت پردازشگرها تا حد سرعت حافظه خارجی پایین بیاید. در سال 1970 پیشرفت­های به­عمل­آمده در تکنولوژی نیمه­هادی باعث شد تا اختلاف سرعت میان پردازشگرها و حافظه­ها کم­تر شود. هم­چنان که سرعت حافظه­ها افزایش پیدا می­کرد، میل طراحان پردازشگرها برای طراحی پروسسورهایی با سرعت­های بالاتر بیشتر می­شد و به این ترتیب بود که ساختار Risc متولد شد. با مراجعه به دستورالعمل­های یک ماشین Risc درمی­یابیم که دستورالعمل­ها در پردازشگرهای Risc ساده­تر بوده و فرمت ثابتی دارند و درک آن­ها سخت به­نظر می­رسد.

اگرچه در یک ماشین Risc اجرای بسیاری از دستورالعمل­ها مدتی برابر یک یا دو پالس ساعت زمان می­برند، ولی عملاً، در ساختار آن­ها از آرایه­های بزرگ گیت­های منطقی استفاده شده است که در نگاه اول عامل تأخیر بیشتر در اجرای این دستورالعمل­ها به­نظر می­رسند. در عمل، این تأخیرها وجود دارد، تا حدی که شاید اگر بخواهیم به­طور معمول از این دستورالعمل­ها استفاده کنیم مدتی بیشتر از 2 الی 3 پالس ساعت زمان ببرد. ولی مستقل بودن کامل دستورالعمل­ها از همدیگر امکان استفاده از ساختاری به­نام خط لوله دستورالعمل را به­دست می­دهد. مفهوم خط لوله دستورالعمل این است که قبل از حصول نتایج کامل یک دستورالعمل، می­توان دستورالعمل­های بعدی را کدگشایی و برای اجرا آماده کرد. به­عبارت دیگر زمانی که یک دستورالعمل در حال اجراست، دستورالعمل­های بعدی مکش و کدگشایی می­شوند. خط لوله دستورالعمل باعث می­شود، عملیات لازم برای انجام 2 الی 3 دستورالعمل به موازات همدیگر انجام شود و درنتیجه زمان اجرای واقعی دستورالعمل­ها پایین بیاید. هم­چنین ساختار Risc موجب آسان­تر شدن ساخت ثبات­های داخلی می­شود که درنتیجه تمام عملیات حسابی و منطقی در داخل ALU و بدون دخالت حافظه خارجی داده انجام می­گیرد. بنابراین این ثبات­ها خود ALU هستند که عملوند دستورات را در معماری Risc می­سازند.

پس دلایلی هم­چون:


[1]. Reduced instruction set computer

[2]. Complex instruction set computer

[3]. Op-code


دانلود با لینک مستقیم


مقاله معماری میکروکنترلرهای AVR
نظرات 0 + ارسال نظر
برای نمایش آواتار خود در این وبلاگ در سایت Gravatar.com ثبت نام کنید. (راهنما)
ایمیل شما بعد از ثبت نمایش داده نخواهد شد