پس از انقلاب
گوشیهای هوشمند، استفاده از پردازندههای مبتنی بر معماری ARM بسیار
افزایش پیدا کرده است، اما معماری ARM چیست و پردازندههای ARM چه
ویژگیهایی دارند.
![معماری ARM چیست](http://cdn01.zoomit.ir/2016/12/a706b451-fae9-4ef0-b030-5474ef4c2e4d.jpg)
به گزارش سافت گذر و به نقل اززومیت؛ پس
از آنکه گوشیهای هوشمند موج جدیدی در دنیای فناوری ایجاد کردند و الگوی
استفاده از گجتهای دیجیتال را تغییر دادند، پردازندهها نیز شاهد تغییر و
تحولات و پا گرفتن معماری جدیدی بودند. با وجود تسلط اینتل و AMD
بر پردازندههای مورد استفاده در پیسی که مبتنی بر معماری x86 هستند،
گوشیهای هوشمند توسط پردازندههای مبتنی بر معماری ARM قبضه شدهاند.
اهمیت معماری ARM و پردازندههای مبتنی بر این معماری به اندازهای افزایش
یافته است که مایکروسافت نیز درصدد همکاری با کوالکام، بزرگترین
تولیدکنندهی تراشههای مبتنی بر معماری ARM برای گجتهای موبایل، بهمنظور
پشتیبانی از این تراشهها در ویندوز ۱۰ است.
پردازندههای ARM توسط
کمپانی Acorn Computers بر اساس معماری مبتنی بر RISC در دههی ۸۰ میلادی
توسعه یافتند. Acorn Computers یک کمپانی بریتانیایی است که در سال ۱۹۷۸ در
کمبریج انگلستان آغاز به کار کرد و محصولاتی نیز به بازار فرستاد که از
جملهی آن میتوان به کامپیوتر BBC Micro اشاره کرد. در سال ۱۹۹۸ میلادی
این کمپانی بریتانیایی تفکیک شد و زیرمجموعههای آن، امروزه بهصورت مستقل
به فعالیت میپردازند. یکی از موفقترین زیرمجموعههای آکورن، Advanced
RISC Machines نام دارد که بیشتر با عنوان ARM شناخته میشود. ARM در
سالهای اخیر بهصورت مستقل فعالیت میکرد، اما کمپانی ژاپنی SoftBank چند ماه پیش با پرداخت بیش از ۳۲ میلیارد دلار، این کمپانی بریتانیایی را تصاحب کرد.
ARM,
Ltd یک کمپانی یا به بیان بهتر یک لابراتوار است که متخصصان آن به طراحی
پردازنده مشغول هستند. البته عبارت اختصاری ARM دو مفهوم را شامل میشود.
در مورد معماری و طراحی پردازندههای ARM، این عبارت مخفف Acorn RICS
Machines است، حال آنکه اگر منظور کمپانی توسعهدهندهی این معماری باشد،
اختصار ARM کوتاه شدهی عبارت Advances RISC Machines است. ARM به هیچوجه
دستی در تولید تراشه ندارد و تنها معماری ARM را طراحی میکند، حال آنکه
کمپانیهایی نظیر کوالکام، اپل و سامسونگ با دریافت گواهی استفاده از
معماری آرم، تراشههای اختصاصی خود را مبتنی بر این معماری توسعه میدهند.
البته این سه کمپانی شاخصترین نامهایی هستند که گواهی معماری آرم را در
پردازندههای خود استفاده میکنند و تعداد تولیدکنندگان پردازنده با
استفاده از این معماری بالا است. اغلب گجتهای الکترونیکی کوچک که از وجود
باتری برای تأمین انرژی استفاده میکنند، از پردازندههای مبتنی بر آرم در
واحد پردازشی خود بهره میبرند.
پردازندههای ARM مبتنی بر معماری RISC طراحی میشوند
همانطور
که اشاره کردیم؛ ARM پردازندههای خود را بر اساس دستورات RISC توسعه
میدهد، اما RISC چیست؟ RISC مخفف عبارت Reduced Instruction Set Computing
است. برخلاف پردازندههای ARM که از این معماری استفاده میکنند،
پردازندههای اینتل و اِی اِم دی که قدرت پردازشی در لپتاپ و پیسی شما
را تأمین میکنند، از معماری CISC یا Complex Instruction Set Computing
استفاده میکنند. دو معماری RISC و CISC برای استفاده در کاربردهای متفاوت
طراحی شدهاند. یک پردازندهی مبتنی بر معماری RISC برای این منظور طراحی
شده است تا تعداد دستورات ارسالی به پردازنده از سوی برنامه در حال اجرا
کاهش یابد. در واقع مجموعهی دستورات مورد استفاده در معماری RISC بسیار
پایینتر است. با توجه به اینکه تعداد دستورات ارسالی در معماری RISC کاهش
پیدا کرده، فرکانس پردازشی بالا است و پردازنده میتواند در هر ثانیه
دستورات بیشتری در مقایسه با CISC اجرا کند.
زمانی که مجموعهی
دستورات اجرایی توسط پردازنده کاهش پیدا کند، پیچیدگی پردازنده نیز کاهش
مییابد و میتوان مدار تراشه را به شکل سادهتری طراحی کرد. پردازندههای
RISC دارای ترانزیستورهای کمتری هستند که همین موضوع منجر به کاهش انرژی
مصرفی توسط پردازنده میشود. سادگی طراحی پردازنده در کنار کاهش تعداد
ترانزیستورها نتیجهای جز کاهش سایز تراشه ندارد. سایز تراشه به سطح مقطعی
اطلاق میشود که روی ویفر سیلیکونی برای ساخت یک پردازنده تخصیص داده
میشود. نتیجه کاهش سایز، امکان اضافه کردن کامپوننتهای بیشتر روی
پردازنده با اتصالات کمتر است، از اینرو پردازندههای ARM کوچکتر هستند و
انرژی کمتری مصرف میکنند.
پردازندههای سریع، کوچک و کممصرف
بهترین گزینه برای استفاده در گوشیهای هوشمند هستند. هرچند گوشیهای
هوشمند این روزها قدرت پردازشی بالایی دارند، اما در یک گوشی هوشمند
هیچگاه بار پردازشی از طریق چند صد تِرِد روی هستههای مختلف اعمال
نمیشود. سیستمعامل و اپلیکیشنهای توسعهیافته برای گوشیهای هوشمند نیز
بهمنظور کاهش دستورات ارسالی به پردازنده بهینه شدهاند تا بهترین نتیجه
در زمان بهکارگیری تراشههای ARM حاصل شود.
البته تمام مواردی که در
بالا به آنها اشاره کردیم به این معنی نیست که پردازندههای ARM قدرت
پردازشی محدودی دارند. معماری ARM امروزه امکان استفاده از طراحی ۳۲ و ۶۴
بیتی را در اختیار کاربران قرار میدهد. همچنین باید به مجموعهای از
قابلیتهای دیگر اشاره کرد که علاوه بر گوشیهای هوشمند، پردازندههای ARM
را برای استفاده در کاربردهای دیگری نظیر ابررایانهها مناسب میکند.
نسبت
عملکرد به ازای هر وات از انرژی مصرفی در پردازندههای ARM بسیار قابل
قبول است. در صورتی که نرمافزار توسعهیافته برای پردازندههای ARM بهینه
باشد، این پردازندهها میتوانند عملکرد بهتری در مقایسه با معماری x86
ارائه کنند، از اینرو اهمیت پردازندههای ARM در کاربردهایی نظیر
بهکارگیری آنها در سرورها و ابررایانهها بیش از پیش پررنگ میشود.
![دفتر اصلی ARM](http://cdn01.zoomit.ir/2016/12/6fa4e9a2-fe8a-4962-984c-2126ed877610.jpg)
خروجی
پردازشی مورد انتظار از ۲۴ هستهی پردازشی x86 را میتوان از چند صد
هستهی پردازشی کممصرف و کوچک مبتنی بر معماری ARM دریافت کرد. هستههای
x86 قدرت پردازشی مورد نیاز را تنها از چند هستهی پردازشی و چندین ترد به
دست خواهند آورد، حال آنکه در معماری ARM، وظیفه پردازشی روی چندین هستهی
پردازشی کممصرف با ظرفیت پایینتر تقسیم میشود. هرچند تعداد هستههای ARM
بیشتر است، اما این هستهها در مقایسه با ۲۴ هستهی x86 نیاز به انرژی
کمتری دارند. بدین منظور با استفاده از پتانسیل هستههای ARM میتوان قدرت
پردازشی را بدون نیاز به بالابردن انرژی مصرفی، افزایش داد و نرمافزاری را
که باید اجرا شود، برای معماری آرم بهینه کرد.
در مقابل باید به این
نکته اشاره کرد که یک هستهی پردازشی آرم در برابر یک پردازندهی Core i7
اینتل در یک رایانهی مخصوص بازی، حرفی برای گفتن ندارد. همچنین
پردازندههای آرم قابلیت چندان خوبی در اجرای نرمافزارهای توسعهیافته
برای x86 به نمایش نمیگذارند و باید تغییرات گستردهای در کد توسعهیافته
برای افزایش بهینگی انجام داد. پردازندهای چون Core i7، قریب به ۱۲ برابر
بیشتر از یک تراشهی آرم انرژی مصرف میکند و به سیستم
خنککننده نیاز دارد که همین موضوع استفاده از آن در گوشیهای هوشمند را به
امری غیرممکن تبدیل میکند. هر اندازه که نرمافزار توسعهیافته برای
پردازندهی ARM بهینه باشد، امکان افزایش هستهها و فرکانس پردازشی برای
اجرای وظایف پردازشی سنگینتر، بالاتر میرود.