برنامه نویسی (Keil u vision) برنامه ریزی و راه اندازی مهمترین واحد میکرو ARM یعنی واحد  GPIO (برق _ الکترونیک)

پژوهشگر و نویسنده:  دکتر (  افشین رشید )



نکته : مهمترین واحد میکرو یعنی واحد GPIO(ورودی/خروجی همه منظوره) میباشد.میکروکنترلر های ARM7 از نظر برنامه نویسی کمی از میکروکنترلرهای AVR دشوارتر هستند. در میکروکنترلرهای AVR درون نرم افزار CodeVision ابزاری به نام کُد ویزارد وجود دارد که بخشی از کد های مورد نیاز برنامه نویسی را به صورت اتوماتیک و تنها با تنظیمات ساده ای تولید می کند. اما در میکروکنترلر های ARM7 در هیچ کدام از نرم افزارها چنین قابلیت ویژه ای وجود ندارد. بنابراین تمامی برنامه نویسی و تنظیمات رجیسترها به صورت دستی و توسط برنامه نویس انجام می گیرد. در نتیجه این مسئله لزوم یادگیری عملکرد سخت افزار و درک عمیق عملکرد میکروکنترلر را بیش از پیش نمایان می کند. 

 ARM مخفف عبارت Machine Risc Advanced به معنای "ماشین ساختار یافته با دستورالعمل های کاهش یافته"می باشد. در حقیقت ARM معرف یک پردازنده ( CPU) با معماری RISC و مجموعه دستورالعمل های ۳۲ یا ۶۴ بیتی است که مخترع آن شرکت سهامی تجاری ARM یا Holding ARM واقع در شهر کمبریج انگلستان است. این شرکت که در سال ۱۹۹۰ تاسیس شده است ، شهرت عمده خود را به خاطر طراحی پردازنده های ARM کسب نموده است. از دیگر محصولات این شرکت میتوان به طراحی انواع سیستم های روی تراشه ( Chip On System ) و محصولات نرم افزاری نظیر View Real و KEIL اشاره نمود.


پردازنده های ARM از خط لوله برای پردازش استفاده می کنند. پردازنده های مبتنی بر خط لوله دارای سه وضعیت کاری برای اجرای یک دستورالعمل هستند FETCH ،DECODE و EXECUTE . به عبارت ساده تر، در سیکل اول، دستور اول واکشی می شود، در سیکل دوم، دستور اول رمزگشایی و دستور دوم واکشی می شود و در سیکل سوم، دستور اول اجرا و دستور دوم رمزگشایی و دستور سوم واکشی می شود. به این نوع سیستم خط لوله سه مرحله ای گفته می شود. خط لوله ها از اولین پردازنده ARM تا هسته ARM7TDMI سه مرحله ای هستند و در نسخه های باالتر تعداد مراحل خط لوله ها افزایش پیدا کرده است. به طور مثال، پردازنده های ARM9 دارای خط لوله های پنج مرحله ای هستند که عملیات خواندن و نوشتن از حافظه ها نیز جزء این عملیات قرار گرفته است. خط لوله ها در ARM10 شش مرحله ای و در  ARM11 هشت مرحله ای هستند. به طور کلی، هرچه تعداد مراحل خط لوله ها افزایش پیدا کند، قدرت پردازش پردازنده و در نتیجه کارایی آن افزایش می یابد.


هدف هر دو طراحی خط لوله و ISA ARM ، به حداقل رساندن مصرف انرژی است. مصرف توان کمتر یکی از فاکتور های مهمی است که در وسایل همراه مورد توجه قرار می گیرد. سازندگان چنین وسایلی همواره تمایل دارند از قطعاتی با مصرف توان پایین تر در محصولات خود استفاده کنند. معماری ARM انعطاف پذیری بالایی دارد ، به طوری که تنها بخش اجباری یک پردازنده ARM ، مسیر پردازشی عدد صحیح آن است و اجزای دیگر شامل حافظه نهان، MMU ، ممیز شناور و دیگر اجزای پردازنده اختیاری هستند.این موضوع نیز انعطاف پذیری بالایی را در ساختمان پردازنده های مبتنی بر ARM فراهم کرده است. در نهایت اگر چه این پردازنده ها کوچک و کم مصرف هستند، اما کارایی بالایی در برنامه های کاربردی فراهم می کنند. به عنوان مثال، پردازنده XScale PXA255 با فرکانس چهارصد مگاهرتز کارایی تقریباً برابری با »پنتیوم ۲ »سیصد مگاهرتزی ارائه می کند، در حالی که مصرف توان آن پنجاه برابر کمتر است.

نویسنده: دکتر (افشین رشید )