میکرو کنترلر ها در بسیاری از لوازم مانند: لوازم برقی، پروژه های صنعتی و تجهیزات الکترونیکی موجود می باشد. ما در این مقاله تصمیم داریم شما را با معماری میکرو کنترلر ARM آشنا کرده و ویژگی های موجود در این نوع پردازنده ها (ARM) را برای شما ذکر کنیم.
میکرو کنترلر ARM
ARM یک شرکت سطح اول است که محصولاتی همچون: پردازندهها، سیستمهای برون تراشهای (System-on-Chips)، نرمافزارهای کامپیوتری و … را ارائه می دهد.
قابلیت های پردازنده ARM
معمولا میکرو کنترلر های ARM بر اساس معماری محاسبه شده مجموعه دستورالعمل (RISC) طراحی شده اند. اما بر اساس الزامات سیستمهای تعبیه شده، برخی از اصلاحات نیز در معماری RISC انجام میشود.
پردازنده های ARM معماری Load و Store را دنبال می کنند که پردازش داده ها فقط بر روی محتویات رجیستر ها انجام می شود تا مستقیماً روی حافظه، دستورالعمل های پردازش داده ها در رجیسترها با دسترسی های موجود در حافظه متفاوت است.
مجموعه دستورالعمل های ARM یکنواخت و از نظر طول ثابت هستند. پردازنده های 32 بیتی ARM دارای دو مجموعه دستورالعمل هستند: مجموعه دستورالعمل های کلی 32 بیتی ARM و مجموعه دستورالعمل های 16 بیتی Thumb، که برای اجرای دستورات لازم و ضروری هستند.
پردازنده های 32 بیتی ARM دارای دو مجموعه دستورالعمل هستند که عبارتند از: مجموعه دستورالعمل های کلی 32 بیتی ARM و مجموعه دستورالعمل های 16 بیتی Thumb هستند که هر دو برای پردازش بهتر داده ها در سیستم لازم و ضروری هستند.
برخی از ویژگی های عمومی ARM در اینجا ذکر شده است که عبارتند از:
- نسبت به پردازشگر های ARM سرعت اجرای بالایی دارند.
- آن ها دامنه وسیعی از فرکانس ساعت از 1 مگاهرتز تا چند گیگاهرتز دارند.
- آن ها از اجرای مستقیم بایت کد های جاوا با استفاده از ARM’s Java Jazelle DBX پشتیبانی می کنند.
- پردازنده های ARM سخت افزاری را برای اشکال زدایی سیستم ساخته اند.
- پشتیبانی از دستورالعمل های پیشرفته برای عملیات DSP.
خانواده پردازنده های ARM
ARM دارای چندین پردازنده است که بر اساس هسته پردازنده ای که با آن پیاده سازی می شوند، در تعدادی از خانواده ها دسته بندی می شوند. معماری پردازنده های ARM همچنان در هر خانواده ای تکامل یافته است. برخی از خانواده های معروف پردازنده های ARM عبارتند از AR ،ARM ،ARM10 و ARM11.
بیشتر بدانید
جدول زیر برخی از خانواده های معمولی ARM را به همراه معماری آن ها نشان می دهد.
Architecture | ARM Family |
ARMv4T | ARM7TDMI |
ARMv5TE | ARM9E |
ARMv6 | ARM11 |
ARMv7-M | Cortex-M |
ARMv7R | Cortex-R |
ARMv7-A | Cortex-A (32-bit) |
ARMv8-A | Cortex-A (64-bit) |
حروف یا کلمات بعد از “ARM” برای نشان دادن ویژگی های پردازنده استفاده می شود که عبارتند از:
- x – خانواده یا سریال ها
- y – واحد حفاظت / مدیریت حافظه
- z – حافظه پنهان
- رسیور Thumb 16 بیتی
- D – اشکال زدایی JTAG
- M – ضرب سریع
- I – Macrocell شبیه ساز درون مدار (ICE)
- E – دستورالعمل های پیشرفته برای DSP (فرض TDMI)
- J – Jazelle (برای اجرای سریع JAVA)
- F – بردار واحد شناور
- S – نسخه قابل سنتز
ویژگی ها
مجموعه دستورالعمل T – Thumb
پردازنده های ARM هم از مجموعه دستورالعمل های 32 بیتی ARM و هم از مجموعه دستورالعمل های 16 بیتی پشتیبانی می کنند. دستورالعمل های اصلی 32 بیتی ARM شامل کد 32 بیتی است که به نظر می رسد یک الگوی باینری 4 بایت باشد. دستورالعمل های 16 بیتی Thumb از کدگذاری 16 بیتی یا الگوی دو دویی 2 بایت برای بهبود تراکم کد تشکیل شده است.
D – اشکال زدایی JTAG
JTAG یک پروتکل سریال است که توسط ARM برای انتقال اطلاعات اشکال زدایی بین پردازنده و تجهیزات آزمایش، استفاده می شود.
M – ضرب سریع
پردازنده های قدیمی ARM از یک واحد ضرب کوچک و ساده استفاده می کردند. این واحد ضرب برای تکمیل یک ضرب واحد به چرخه های ساعت بیشتری نیاز داشتند.
با معرفی واحد Fast Multiplier، چرخه های ساعت مورد نیاز برای ضرب به میزان قابل توجهی کاهش می یابد و پردازنده های مدرن ARM قادر به محاسبه یک محصول 32 بیتی در یک چرخه هستند.
Embedded ICE Macrocell – I
پردازنده های میکرو کنترلر یا همان ARM دارای سخت افزار رفع اشکال روی تراشه هستند که به پردازنده اجازه می دهد تا نقاط انفصال و نقاط دید را تنظیم کند.
E – دستورالعمل های پیشرفته
پردازنده های ARM با این حالت از مجموعه دستورالعمل DSP گسترده برای برنامه های DSP با کارایی بالا پشتیبانی می کنند. با استفاده از این دستورالعمل های گسترده DSP، می توان عملکرد DSP پردازنده های ARM را بدون فرکانس های ساعت بالا افزایش داد.
j – ژازل
پردازنده های ARM (میکرو کنترلر) با فناوری Jazelle می توانند در اجرای تسریع شده بایت کد های جاوا استفاده شوند. Jazelle DBX یا Direct Bytecode eXecution در تلفن های همراه و سایر دستگاه های مصرف کننده برای اجرای جاوا با عملکرد بالا و بدون تأثیر حافظه یا باتری استفاده می شود.
F – بردار واحد شناور
Floating Point Architecture در پردازنده های ARM اجرای عملیات حسابی شناور را فراهم می کند. Dynamic Range and Precision ارائه شده توسط Floating Point Architecture در پردازنده های ARM در بسیاری از برنامه های زمان واقعی در مناطق صنعتی و خودرویی مورد استفاده قرار می گیرد.
S – قابل تجزیه
هسته پردازنده ARM به عنوان کد منبع در دسترس است. این هسته نرم افزار را می توان به شکلی وارد کرد که به راحتی توسط ابزار های EDA قابل درک باشد. با استفاده از کد منبع پردازنده، امکان اصلاح معماری پردازنده ARM وجود دارد.
مثال خانواده پردازنده های ARM7 پردازنده ARM7TDMI-S مبتنی بر LPC2148 است.
منبع: www.electronicshub.org