معماری arm

معماری arm 

معماری arm نوعی از معماری و ساختار پردازنده‌های رایانه‌ای است که توسط شرکت انگلیسی آرم هولدینگز تولید شده است و بیشتر برای گوشی های هوشمند، تبلت‌ها و دستگاه‌های قابل‌حمل کاربرد دارد؛ اما Arm مخفف چیست؟ این کلمه درواقع مخفف Advanced RISC Machine و به معنی دستگاه پیشرفته RISC است. RISC نیز خود مخفف Reduced instruction set computer به معنای رایانه کم دستور است. پس از ذکر معنی arm نوبت به آن می‌رسد تا راجع ‌به تاریخچه این معماری و کارایی آن صحبت کنیم. با ما همراه باشید.

 

تاریخچه معماری ARM

معماری arm چیست

معماری ARM از دهه 1980 تا به امروز در حال توسعه است. در این معماری هسته اصلی CPU به 35 هزار ترانزیستور نیاز دارد. جالب است که بدانید پردازنده‌های معمولی X86 که براساس CISC طراحی شده‌اند به میلیون‌ها ترانزیستور نیاز دارند. همین مصرف بسیار پایین انرژی در پردازنده‌ ARM باعث استفاده گسترده آن‌ در گوشی‌های هوشمند یا تبلت شده است.

یکی از نکات جالبی که باید بدانید آن است که شرکت ARM خود تولیدکننده پردازنده نیست و در عوض گواهی استفاده از معماری ARM را به تولیدکنندگان دیگر می‌فروشد. ازجمله بزرگ‌ترین شرکت‌هایی که پردازنده‌های خود را با تکیه ‌بر این معماری می‌سازند می‌توان به اپل در تراشه‌های Ax، سامسونگ در پردازنده‌های اگزینوس، انویدیا در تگرا و کوالکام در پردازنده‌های اسنپدراگون اشاره کرد. طبق گزارشی در سال 2011 مشتریان arm حدود 7.9 میلیارد ابزار را بر پایه این معماری به بازار عرضه کردند.

لازم به ذکر است که این نوع پردازنده‌ها تنها در تبلت‌ها و گوشی‌های هوشمند کاربرد ندارند، بلکه می‌توان از آن‌ها در دیسک‌های سخت (HDD)، تلویزیون‌های دیجیتال و ست‌تاپ‌باکس‌ها و میکروکنترلرها اشاره کرد.

 

سیستم روی یک چیپ چیست؟

پردازنده‌ی ARM گوشی‌ها

تا به اینجای کار شرح دادیم که معماری arm چیست؛ اکنون نوبت به آن می‌رسد تا کمی راجع‌ به سیستم روی یک چیپ (System on a Chip) توضیح دهیم. معماری‌های مختلفی برای arm وجود دارند که ARM V2 ، ARM v3 و  Arm v7 ازجمله مهم‌ترین آن‌ها هستند. توجه داشته باشید که شرکت‌های مختلف جهت استفاده از هر کدام از این طراحی‌ها باید گواهی مربوط به آن را از ARM Holder کسب کنند.

شرکت‌ها از این معماری جهت تولید پردازنده‌های مدنظر خود استفاده می‌کنند و با یکپارچه‌سازی آن با واحد پردازش گرافیک (GPU)، حافظه رم و قسمت کنترلر باند رادیویی (در تلفن‌های هوشمند)، سیستم روی یک چیپ خود را تولید می‌کنند.

سیستم روی یک چیپ که به اختصار با عنوان SoC شناخته می‌شود، تراشه‌ای است که در آن پردازنده اصلی (CPU)، پردازنده گرافیکی (GPU)، حافظه رم، کنترلرهای ورودی و خروجی و کنترلر باند رادیویی قرار دارند. بدین ترتیب سیستم روی یک چیپ بر پایه معماری arm ساخته نمی‌شود و فقط CPU آن براساس این معماری تولید می‌شود.

 

تفاوت arm و x86

معنی arm

معماری RISC براساس ARM طراحی شده است. RISC درواقع مجموعه دستورهای ساده شده‌ است و نوعی از طراحی CPU به‌حساب می‌آید که اساس آن ساده‌سازی دستورها است و منجر به بازده بالا و سرعت بخشیدن به اجرای دستورها می‌شود.

این در حالی است که معماری X86 بر پایه CISC طراحی شده و درست در نقطه مقابل RISC قرار دارد. CISC مخفف Complex Instruction Set Computing یا مجموعه دستورهای پیچیده‌ است که بیشتر برای دستگاه‌هایی همچون کامپیوترهای رومیزی و لپ‌تاپ‌ها کاربرد دارد.

نخستین بار در سال 1974 جان کوکی ایده RISC را مطرح کرد. پردازنده‌های تولیدشده براساس این طراحی از دستورهای کمی پشتیبانی می‌کنند؛ به همین دلیل نیز به ترانزیستور کمتری نیاز دارند و تولید آن‌ها نیز کم‌هزینه است. به‌واسطه کاهش تعداد ترانزیستورها و اجرای دستورهای کمتر، پردازنده در زمان کمتری دستورها را مورد پردازش قرار می‌دهد. اساس کلی طرح RISC این است که در آن به پردازش دستورهای کوچک و بهینه شده پرداخته می‌شود.

CISC کاملا به شکل مخالف RISC عمل کرده و در آن دستورها پیچیده ارسال می‌شوند. این بدان معناست که دستورالعمل‌های بیشتری دارد. طبق گزارش‌ها پردازشگر X86 حداقل 981 دستورالعمل دارد. از سوی دیگر ARM نزدیک به 50 دستورالعمل دارد؛ بااین‌حال، دستورالعمل‌هایی وجود دارند که می‌توانند کار بسیاری از دستورالعمل‌های RISC را انجام دهد.

یکی دیگر از مزایای پردازنده‌ی ARM گوشی‌ها معماری نیمه باز آن است. تعداد کمی از شرکت‌ها پردازنده x86 تولید می‌کنند؛ زیرا اینتل آن را تبدیل به یک منبع بسته کرده و بسیار سخت‌گیر است. از سوی دیگر، ARM درواقع CPUهای خود را تولید نمی‌کند. آن‌ها مجوز طراحی را به شرکت‌های دیگر می‌دهند که می‌خواهند CPU خود را بسازند. اپل یکی از همین شرکت‌ها است. اپل می‌تواند تراشه‌های خود را برای کارکرد بهتر روی پلتفرم‌های خود سفارشی کند. احتمالا به همین دلیل است که آیفون‌ها در بنچمارک‌ها بسیار خوب عمل می‌کنند.

ARM به گونه‌ای طراحی شده است که کوچک‌تر و کم‌مصرف‌تر باشد و گرمای کمتری ایجاد کند. این باعث می‌شود که برای تلفن‌های هوشمند بسیار مناسب باشد. معماری arm با اندازه کوچکش برای دستگاه‌های کوچک عالی است. با صرفه‌جویی در مصرف انرژی، عمر باتری گوشی بیشتر می‌شود. حرارت کمتر نیز برای دستگاهی که پیوسته در دست است خوب است.

این مزایای مشابه برای لپ‌تاپ‌ها نیز صدق می‌کند. اپل در سال‌های 2020، 2018، 2015 و سال‌های قبل آن با مشکل گرم‌شدن بیش‌ازحد دست‌وپنجه نرم می‌کرد. ARM به اپل اجازه می‌دهد مک‌بوک‌های خود را خنک‌تر کند؛ بنابراین آن‌ها با این مشکل احتمالی بزرگ مواجه نمی‌شوند. این معماری همچنین به آن‌ها اجازه می‌دهد تا لپ‌تاپ‌هایی بسازند که عمر باتری بیشتری دارند.

یکی از مشکلاتی که وجود دارد آن است که برنامه‌های X86 نمی‌توانند با ARM اجرا شوند. برنامه‌ها باید به شکل کامل بازنویسی شوند تا روی دستگاه‌های جدید اپل اجرا شوند. اکثر زبان‌های برنامه‌نویسی می‌توانند ARM را به خوبی پشتیبانی کنند. درواقع هر برنامه‌ای که اکنون توسعه می‌یابد و وجود دارد باید جهت کار روی ARM بازنویسی شود.

مشکل اصلی مربوط به برنامه‌هایی است که دیگر به‌روز نمی‌شوند. اپل دارای برنامه‌ای به نام Rosetta 2 است که به‌واسطه آن می‌توانید برنامه‌های X86 را اجرا کنید. Rosetta باید دستورالعمل‌های X86 را به دستورات ARM ترجمه کند.

یکی دیگر از مشکلات مربوط به سرعت می‌شود. از آنجا که ARM دستورالعمل‌های کمتری دارد، توسعه‌دهندگان باید از دستورالعمل‌های بیشتری استفاده کنند. به عنوان مثال، معماری ARM معمولا دستور بخش‌بندی ‌شده ندارد؛ حتی کارآمدترین الگوریتم‌‍‌های تقسیم‌بندی بسیار پیچیده هستند و بسیاری از پردازنده‌های ARM آن را پیاده‌سازی نمی‌کنند. این ویژگی باعث می‌شود که شاهد چرخه‌های طولانی‌تری جهت پردازش باشیم.

 

نحوه ارائه لایسنس‌ها توسط ARM

معماری arm

شرکت ARM درمجموع سه نوع لایسنس را در اختیار مشتریان قرار می‌دهد. این سه نوع لایسنس عبارت‌اند از POP، پردازنده و معماری. لایسنس پردازنده اجازه استفاده مایکروپراسسور یا پردازنده گرافیکی طراحی‌شده توسط ARM است. با این لایسنس نمی‌توان طراحی را عوض کرد، اما می‌توان از آن به هر صورت ممکن استفاده کرد. تراشه‌های اگزینوس اکتای سامسونگ را در نظر بگیرید؛ در این تراشه‌ها از چهار هسته ARM Cortex A7 و چهار هسته Cortex A15 استفاده شده ‌است. این روش بیان‌گر لایسنس استفاده از پردازنده است.

لایسنس POP مخفف Processor Optimization Pack بوده و به معنای بسته بهینه‌سازی پردازنده است. در این لایسنس اگر مشتری در کاربرد فیزیکی پردازنده تبحر نداشته باشد، شرکت ARM  با فروش POP به آن‌ها کمک می‌کند. درواقع این شرکت طرح یک پردازنده بهینه را به مشتری عرضه می‌کند تا بعد از تولید در یک کارخانه، حداقل کارایی مشخص شده را دارا باشد.

لایسنس معماری نیز به‌عنوان کامل‌ترین لایسنس این شرکت شناخته می‌شود. در این روش شرکت ARM لایسنس یکی از معماری‌ها مانند ARMv7 یا ARMv8 را به مشتری می‌فروشد و مشتری می‌تواند به هر شکل دلخواهی از آن بهره ببرد.

 

چه سیستم‌ عامل‌هایی از معماری ARM پشتیبانی می‌کنند؟

معماری arm

ازجمله سیستم‌عامل‌هایی که از معماری arm بهره می‌برند می‌توان به Acorn، سیستم‌عامل‌های توکار، یونیکس، لینوکس، BSD و ویندوز اشاره کرد. همان‌طور که ذکر کردیم پردازنده‌های ARM با توجه به مقرون‌به‌صرفه‌ بودن و صرفه‌جویی در انرژی، امروزه تقریبا در تمامی سیستم‌عامل‌ها پشتیبانی شده و در دستگاه‌های هوشمند مورداستفاده قرار می‌گیرند.

 

جمع‌بندی پردارنده معماری arm

پردازنده‌های با معماری arm امروزه بسیار پرکاربرد هستند و تقریبا در تمامی مدل‌های گوشی‌های هوشمند استفاده می‌شوند. این نوع پردازنده‌ها دارای اندازه کوچک بوده و قیمت مناسبی دارند. صرفه‌جویی در مصرف انرژی و داغ‌ نشدن بیش‌ از حد باعث شده تا از این پردازنده‌ها در دستگاه‌های مختلف ازجمله گوشی‌های هوشمند، تبلت‌ها و لپ‌تاپ‌ها استفاده شود.