معماری آرم (به انگلیسی: ARM architecture) نوعی از معماری و ساختار پردازندههای کامپیوتری است که بوسیله شرکت انگلیسی آرم هولدینگز طراحی شده است و بیشتر برای تلفنهای هوشمند، تبلتها، پوشیدنی های هوشمند و دستگاههای قابلحمل کاربرد دارد.
با استفاده از معماری آرم می توان پردازشگرهای چندهستهای ۳۲ و ۶۴ بیتی را ساخت. شرکت آرم هولدینگز خود تولیدکننده پردازندهها نیست و گواهینامهٔ بکارگیری از معماری آرم را به تولیدکنندگان نیمههادی میفروشد. کمپانیها نیز به راحتی تراشههای خود را براساس معماری آرم تولید میکنند. از جمله کمپانیهایی که پردازندههای خود را براساس معماری آرم طراحی میکنند عبارتند از:
- اپل در تراشه های Ax
- سامسونگ در پردازنده اگزینوس
- ان ویدیا در پردازشگر تگرا
- کوالکام در پردازنده اسنپ دراگون
معماری آرم که برمبنای RISC طراحی شده، برای هسته اصلی پردازشگر می توان از ترانزیستورهای بسیار کمتری استفاده کرد و این باعث میشود که پردازنده بسیار کممصرف شود، کمتر داغ کند و نیازی به خنککننده یا فن نداشته باشد. در مقابل معماری x86 وجود دارد که برمبنای CISC طراحی شده و در پردازندههای Intel و AMD استفاده می شود و نیازمند میلیونها ترانزیستور هستند و همین مسئله باعث افزایش توان مصرفی و داغ شدن آنها میشود.
طراحی ساده پردازنده های Arm باعث شده است که پردازش های چندهسته ای کارآمدتری داشته باشیم و برنامه نویس ها نیز راحتتر برای آن کدنویسی کنند. با اینکه میزان throughput پردازش ها در arm با معماری x86 و سردمدار آنها اینتل، قابل مقایسه نیست ولی گاهی اوقات عملکرد پردازشگرهای arm از اینتل در بعضی از اپلیکیشن هایی که در هر دو معماری وجود دارند، قویتر است.
رقابت بین این دو معماری با شدت زیادی در حال ادامه است و در حال حاضر پردازشگرهای arm به لپ تاپ ها نیز راه یافته اند. برای مثال مایکروسافت مدل سرفیس خود را با این پردازشگر نیز ارائه می دهد. اپل نیز پردازنده arm مخصوص به خود، با نام M1 را ساخته و آن را در لپ تاپهای مک بوک، جایگزین پردازنده های اینتل کرده است.
اپل با رونمایی و استفاده از تراشهی M1 در مکها تکان شدیدی را در صنعت پردازندههای کامپیوتر ایجاد کرد. به همین دلیل بسیاری از شرکت ها بدنبال رقابت با این تراشه جدید هستند. شرکت AMD از آن دسته شرکت ها است که بدنبال ساخت تراشه Arm خود است تا با اپل رقابت کند.
بیشتر بدانید:
پردازشگرهای Arm به بازار سرورها نیز راه پیدا کرده اند که این یک تغییر جهت بزرگ در سمت سرور است. در حال حاضر AMD یک پردازشگر ۸ هسته ای Arm را برای سری Opteron عرضه کرده است. اما پردازشگرهای x86 با تعداد هسته ۱۲، ۱۶، ۲۴ و یا بیشتر، توانسته میزان پردازشها را در یک پردازشگر نسبت به arm بسیار بالاتر ببرد، اما در مقایسه، در سرورهای arm می توانید از تعداد بیشتری پردازشگر با قدرت کمتر نسبت به x86، بهره ببریم. به این رویکرد در سرورهای Arm در اصطلاح توسعه افقی یا Scale-Out گفته می شود که در مقابل توسعه عمودی یا Scale-Up سرورهای X86 قرار دارد. برای مقایسه توسعه افقی و عمودی این مقاله را مطالعه نمایید.
RISC چیست؟
RISC که مخفف Reduced instruction Set Computing یا مجموعه دستورات ساده شده است در واقع نوعی از طراحی CPU است که پایه و اساس آن، ساده سازی دستورات است که منجر به بازده بالا و سرعت بخشیدن به اجرای دستورات میشود. پردازندهای که براساس این طراحی ساخته میشود را RISC مینامند.
ایده اصلی RISC اولین بار در سال ۱۹۷۴ شکل گرفت، آن نظریه به این موضوع اشاره داشت که یک کامپیوتر تنها به ۲۰ درصد از دستورات نیاز دارد و ۸۰ درصد دیگر، دستورات غیرضروری هستند. پردازندههای ساخته شده براساس این طراحی از دستورات کمی پشتیبانی میکنند به این ترتیب به ترانزیستور کمتری نیز نیاز دارند و ساخت آنها نیز کم هزینه است.
شرکتهای بسیاری از جمله Intel i860, AMD 29k, ARC و غیره از طراحی RISC برای ساخت پردازنده استفاده میکنند اما مهمترین و معروفترین معماری که براساس آن طراحی شده، ARM است.
CISC چیست؟
در سیسک اوضاع دقیقا برعکس ریسک است و پردازنده قادر به پردازش دستورات پیچیده است به همین دلیل نیاز به تعداد بیشتر ترانزیستور و همچنین طراحی پیچیدهتر و پردازندههای گران قیمتتر دارد. ایده اصلی پشت این طراحی این است که برنامه نویسان سادهتر بتوانند نرم افزارهای خود را تولید کنند و دستورات را سادهتر به CPU ارجاع دهند. به لطف پشتیبانی اینتل و تولیدکنندگان نرم افزار، CISC به شدت محبوب شد و تمام کامپیوترها از پردازنده مبتنی بر این طراحی بهره بردند.
RISC یا CISC؟
پردازندههای CISC بسیار سریعتر و پرقدرتتر از RISCها هستند و قادر به پردازش امور سنگین میباشند اما در عوض گرانقیمتتر، پرمصرفتر بوده و دمای بیشتری نیز تولید میکنند. در CISC تمرکز برروی سختافزار است و در RISC برروی نرمافزار، در CISC دستورات بصورت پیچیده به پردازنده ارسال میشوند ولی در RISC نرمافزار دستورات را ساده کرده و به عنوان مثال یک عملیات پیچیده را در قالب چندین دستور ساده به پردازنده ارسال میکند و پردازنده دستورات ساده را به سرعت پردازش نموده و نتیجه را باز میگرداند. پس کدهای نرمافزارهای سازگار با RISC طولانی تر ولی کدهای مربوط به نرمافزارهای CISC کوتاهتر و پیچیدهتر هستند. البته این بدین معنا نیست که مثلا اگر قرار است برای اندروید یا iOS برنامه بنویسید باید چند هزار خط بیشتر کد نویسی کنید، در واقع کامپایلرها کدها را به دستورات کوچک زیاد تبدیل میکنند و برنامه نویس به سختی متوجه نوع پردازش دستورات میشود.
معماری پردازندههای مبتنی بر طراحی RISC طی سالهای گذشته پیشرفت چشمگیری داشته و اجرای دستورات پیچیده را نیز میسر کرده است و تولیدکنندگان نرم افزاری نیز به سمت ساخت نرمافزارهای مبتنی بر این معماری گرایش پیدا کردهاند. لازم است بدانید که کامپیوترهای اولیه مک نیز از پردازنده مبتنی بر RISC بهره میبردند.