پردازنده ARM چیست؟
پردازنده ARM چیست؟
شاید امروزه در ویژگی کامپیوترهای تولیدی و یا گوشی های موبایل این را شنیده باشید که هسته این دستگاه ها از پردازنده های ARM ساخته شده و مورد استفاده قرار میگیرد اما پردازنده آرم (ARM) چیست؟
در ادامه این مقاله راجب این پردازنده ها صحبت خواهیم کرد پس با مقالات کامپیوترونیک همراه باشید.
شرکت ARM درواقع یک هلدینگ تولید تراشه در سطح اول دنیا می باشد که با شرکت هایی همچون اینتل ، هیتاچی و… در رقابت برای تولید انواع تراشه است.
کلمه ARM مخفف Advanced Risc Machine می باشد که به معنی ماشین های پیشرفته مبتنی برا معماری ریسک RISC می باشد. کلمه RISC نیز به معنی Reduce Instruction Set Computer ویا همان دستورات کاهش یافته ماشین می باشد که در این معماری سعی شده تا 90 درصد دستورات ماشین در یک کلاک به صورت همزمان اجرا شود.
این معماری امروزه در تمامی پردازنده های نسل اول و بروز درحال استفاده است تا با کاهش دستورات سرعت پردازشی را افزایش دهند.
شرکت ARM ارایه دهنده پیشرو در زمینه پردازنده های مبتنی بر نام همین شرکت می باشد که حدود 85 میلیارد پردازنده در قالب ARM تولید کرده است.
امروزه شرکت آرم (ARM) عمده درآمد خود را از حق فروش و ثبت پردازنده های ساخته شده توسط شرکت های بزرگ نظیر سامسونگ (samsung) ، فیلیپس (philips) ، اتمل (ATMEL) و … بدست می آورد. و دیگر این شرکت خود تولید کننده تراشه ها و یا نمیه هادی ها نیست.
جدا از بخش مالکیت و ساخت تراشه ها ARM با ابزارهای توسعه نرم افزاری مانند Keil , DS-5 نیز قابل توسعه و برنامه پذیری است.
مزیت ARM چیست؟
همانطور که گفتیم معماری داحل این پردازنده های بر پایه RISC طراحی شده است اما با توجه به ساختار پردازنده و ویژگی های افزوده شده بر آن این معماری نیس دست خوش اصلاحات و تغییرات میشود.
یک نوع از معماری که پردازنده های آرم (ARM) از آن تبعیت میکنند معماری Load Store و یا همان معماری انتقال داده می باشد. اصول کار این معماری به این صورت است که انتقال و پردازش داده در رجیستر ها و ثبات ها انجام میشود و مستقیم بر روی حافظه انجام نمیشود.
پردازنده های ARM دو نوع دستورالعمل را پشتیبانی میکنند : 1– دستورالعمل کلی 32 بیتی 2– دستورالعمل Thumb که به صورت 16 بیتی انجام میشود در دستوالعمل Thumb در واقع فشرده سازی اتفاق افتاده که این فشرده سازی علاوه بر کاهش حجم کاهش سرعت پردازشی را نیز بوجود می آورد.
تمامی این دستورالعمل های از خطوط لوله (PIPE LINE) پیشرفته و بهینه شده استفاده میکند که به طور کلی این دستور ها از سه مرحله ساده پیروی میکنند.
1 – واکشی داده (Fetch)
2- رمزگشایی (Decode)
3- اجرا (Execute)
ساختار میکروکنترلرهای ARM به چه صورت است؟
میکروکنترلرهای ARM همان کامپیوترهای کوچک هستند که از سیستم های امروزی بسیار ضعیف تر بوده و صورت یک سیستم کامل مجتمع شده اند.
همانطور که در تصویر بالا میبینید درون گشایی یک میکرو پروسسور آرم (ARM) می باشد که از سه بخش اصلی CPU (پردازنده مرکزی با مدل Cortex-M) ، رم (RAM) و رام (ROM) و مجموعه سخت افزار های جانبی که با نام I/O آن ها را میشناسیم تشکیل شده است.
وظیفه واحد پردازشی (CPU) در این است که داده ها را تحلیل و مطابق دستورات داده شد پردازش کند و به تمامی واحد ها به درستی ارسال کند.
وظیفه رم در این است که داده ها را به صورت سریع واکشی کند و برای پردازنده اصلی ارسال یا دریافت کند و در اختیار سایر بخش های این مجموعه قرار دهد تا سرعت پردازشی افزایش یابد و وظیفه رام در این است که داده های اولیه جهت راه اندازی اولیه پردازنده را میتوان از روی آن خواند و اطلاعات خود را از دست نمیدهد.
سایر بخش ها که با نام I/O شناخته میشود مجموع سخت افزار های داخلی و یا خارجی میکروکنترلرها بوده و با دریافت داده ها هرکدام برای ما کار خاصی را انجام میدهند.
ویژگی های عمومی ARM
از آنجایی که شرکت ARM ملیاردها مدل از این نوع تراشه ها رو تولید کرده است هر کدام از این تراشه ها ویژگی های خاص خودشان را دارند اما برخی خصوصیات نیز در بین تمامی مدل ها به صورت یکسان بوده و هیچ تفاوتی ندارد خصوصیاتی که مشترک هستند در بخش زیر آمده اند :
- سرعت بالا در عین توان مصرفی پایین
- طیف فرکانسی بسیار وسیع از 1 هرتز تا چندین گیگاهرتز
- استفاده عمومی به صورت دیباگینگ
- پشتیبانی از زبان جاوا با کمک نرم افزار های مربوطه
- از پیشرفته ترین دستورالعمل های پردازشی سیگنال های دیجیتال (DSP) بهره میبرد
انواع خانواده ARM
همانطور که گفته شد ARM انواع بسیاری مدل را دارد که آن ها را به خانوواده هایی دسته بندی کرده اند و خانواده های زیر را تشکیل داده اند :
خانواده ARM | معماری |
ARM7TDMI | ARMv4T |
ARM9E | ARMv5TE |
ARM11 | ARMv6 |
Cortex-M | ARMv7-M |
Cortex-R | ARMv7R |
(Cortex-A (32-bit | ARMv7-A |
(Cortex-A (64-bit | ARMv8-A |
هرکدام از این خانوداه ها ویژگی های منحصر به فردی را دارند و مدل های آنان براساس زیر تعیین میشود :
- x – خانواده میکروکنترلر
- y – واحد مدیریت/حفاظت از حافظه
- z – حافظه پنهان
- T – دیکدر Thumb شانزده بیتی: پردازندههای ARM از مجموعه دستورالعمل Thumb شانزده بیتی پشتیبانی میکند. دستورالعملهای Thumb شانزده بیتی شامل کدهای 16 بیتی یا الگوی باینری 2 بایتی برای بهبود تراکم کد است.
- D – اشکالزدایی JTAG :JTAG یک پروتکل ارتباط سریال است که توسط ARM برای انتقال اطلاعات اشکالزدایی یا دیباگ به صورت سخت افزاری انجام میشود به صورتی که کد را از هرکجا که میخواهید اجرا میکنید و به صورت شبیه سازی سخت افزاری مجموعه عملیات انجام شده را مشاهده خواهید کرد.
- M – ضربکننده سریع: پردازندههای قدیمی ARM از یک واحد ضربکننده کوچک و ساده استفاده میکردند. این واحد ضربکننده برای تکمیل یک ضربکنندگی به سیکل ساعت بیشتری نیاز دارد. با وجود واحد ضربکننده سریع (Fast Multiplier)، سیکلهای ساعت مورد نیاز برای ضرب به طور قابل توجهی کاهش مییابد و پردازندههای مدرن ARM قادر به محاسبه ضرب ۳۲ بیتی در یک سیکل واحد هستند.
- I – شبیهساز درونمدار (ICE) تعبیه شده ماکروسل (Macrocell): سختافزار اشکالزدایی به پردازنده اجازه میدهد breakpoints و watchpoints را تنظیم یا Set کند.
- E – دستورالعملهای پیشرفته برای DSP (فرض TDMI): پردازندههای ARM در این مُد از مجموعه دستورالعمل تعمیم یافته DSP برای برنامههای DSP با کارایی بالا پشتیبانی میکنند. با استفاده از این دستورالعملهای DSP تعمیمی، میتوان عملکرد DSP پردازندههای ARM را بدون فرکانسهای ساعت بالا افزایش داد.
- Jazelle – J (برای اجرای سریع JAVA): از پردازندههای ARM با فناوری Jazelle میتوان در اجرای سریع کدهای جاوا استفاده کرد. Jazelle DBX یا Direct Bytecode eXrection در تلفنهای همراه و سایر لوازم برقی برای اجرای جاوا با کارایی بالا بدون تأثیرگذاری بر حافظه یا باتری استفاده میشود.
- F – واحد ممیز شناور (FPU) برداری: معماری ممیز شناور (Floating Point) در پردازندههای ARM اجرای عملیات حسابی شناور را ارائه میدهد. محدوده دینامیکی و دقت ارائه شده توسط معماری ممیز شناور در پردازندههای ARM در بسیاری از برنامههای زمان واقعی (Real Time) در حوزههای صنعتی و خودروسازی استفاده میشود.
- S – نسخه Synthesizable: هسته پردازنده ARM به عنوان کد منبع در دسترس است. این هسته نرمافزاری را میتوان به فرمی کامپایل کرد که توسط EDA Tools به راحتی قابل درک باشد. با استفاده از کد منبع پردازنده میتوان معماری پردازنده ARM را اصلاح کرد.
دسته بندی ARM ها
میکروکنترلرهای آرم (ARM) به صورت کلی به سه دسته اصلی تقسیم میشوند. دسته اول میکروکنترلرهای کلاسیک هستند دسته بندی دوم میکروکنترلرهای توکار آرم (ARM Embedded Processor) و میکروکنترلرهای کاربردی (Application Processor) دسته بندی میشود و هرکدام از آن ها ویژگی های خاص خودش را دارد.
دسته اول کلاسیک ها (ARM Classic Processor) : خانواده های ARM7 , ARM9 , ARM11 از این دسته های محسوب میشوند و برای کارهای ساده و نچندان پیشرفته 32 بیتی مورد استفاده قرار میگیرند.
دسته دوم توکارها (ARM Embedded Processor) : این دسته از دسته کلاسیک ها به همراه مدل های پیشرفته تر ARM مانند CORTEX-M , CORTEX-R ساخته شده با پیشرفت های سخت افزاری ساخته و طراحی شده است مدل CORTEX-M ویژگی شبیه به میکروکنترلرها را دارد و مدل CORTEX-R به صورت زمان واقعی )Real Time) طراحی شده است به طور مثال این دسته میتواند از ترکیب مدل CORTEX-M و ARM7 تشکیل شده اند.
دسته سوم آرم های کاربردی (ARM Application Processor) : این دسته از پردازنده ها پیشرفته ترین و قوی ترین دسته سری های آرم می باشد که CORTEX-A یکی از این مدل ها می باشد که در تلفن های همراه برخی از لوازم خانه و یا خودرو های بروز مورد استفاده قرار میگیرند
نتیجه گیری
تمامی میکروکنترلرهای حال حاضر در خانواده های آرم همگی در صنایع گوناگون لوازم مختلف قرار میگیرد و بسته به نوع امکانات و قدرت آن ها مورد استفاده قرار میگیرد همانطور که دیدید این پردازنده ها هم مدل های ضعیف و برای کارهای ساده را دارند و هم مدل های بسیار پیشرفته شما نیز میتوانید با توجه به نیاز محصول خود هر یک از این مدل ها را تهیه کنید
دیدگاهتان را بنویسید
برای نوشتن دیدگاه باید وارد بشوید.