معماری arm نوعی از معماری و ساختار پردازندههای رایانهای هست که توسط شرکت انگلیسی آرم هولدینگز تولید شده و بیشتر برای گوشی های هوشمند، تبلتها و دستگاههای قابلحمل کاربرد داره؛ اما Arm مخفف چیه؟
آنچه در این مطلب خواهید خواند:
این کلمه در واقع مخفف Advanced RISC Machine و به معنی دستگاه پیشرفته RISC هست. RISC هم خود مخفف Reduced instruction set computer به معنای رایانه کم دستور هست. بعد از گفتن معنی arm نوبت به اون میرسه تا راجع به تاریخچه این معماری و کارایی اون صحبت کنیم.
تاریخچه معماری ARM
معماری ARM از دهه 1980 تا به امروز در حال توسعه هستش. در این معماری هسته اصلی CPU به 35 هزار ترانزیستور نیاز داره. جالبه که بدونین پردازندههای معمولی X86 که براساس CISC طراحی شدن به میلیونها ترانزیستور نیاز دارن. همین مصرف خیلی پایین انرژی در پردازنده ARM باعث استفاده گسترده اون در گوشیهای هوشمند یا تبلت شده.
یکی از نکات جالبی که باید بدونین اینه که شرکت ARM خودش تولیدکننده پردازنده نیست و در عوض گواهی استفاده از معماری ARM رو به تولیدکنندههای دیگه میفروشه. ازجمله بزرگترین شرکتهایی که پردازندههای خودش رو با تکیه بر این معماری میسازن میشه به اپل در تراشههای Ax، سامسونگ در پردازندههای اگزینوس، انویدیا در تگرا و کوالکام در پردازندههای اسنپدراگون اشاره کرد. طبق گزارشی در سال 2011 مشتریان arm حدود 7.9 میلیارد ابزار رو بر پایه این معماری به بازار عرضه کردن.
لازم به ذکره که این نوع پردازندهها فقط در تبلتها و گوشیهای هوشمند کاربرد ندارن، بلکه میشه از اونها در دیسکهای سخت (HDD)، تلویزیونهای دیجیتال و ستتاپباکسها و میکروکنترلرها اشاره کرد.
سیستم روی یک چیپ چیه؟
تا اینجای کار گفتم که معماری arm چیه؛ حالا نوبت به این میرسه تا کمی راجع به سیستم روی یک چیپ (System on a Chip) توضیح بدم. معماریهای مختلفی برای arm وجود دارن که ARM V2 ، ARM v3 و Arm v7 ازجمله مهمترین اونها هستن. توجه داشته باشین که شرکتهای مختلف جهت استفاده از هر کدام از این طراحیها باید گواهی مربوط به اون رو از ARM Holder کسب کنن.
شرکتها از این معماری برای تولید پردازندههای مدنظر خودشون استفاده میکنن و با یکپارچهسازی اون با واحد پردازش گرافیک (GPU)، حافظه رم و قسمت کنترلر باند رادیویی (در تلفنهای هوشمند)، سیستم روی یک چیپ خود رو تولید میکنن.
سیستم روی یک چیپ که به اختصار با عنوان SoC شناخته میشه، تراشهای هستش که در اون انواع پردازنده گوشی (CPU)، پردازنده گرافیکی (GPU)، حافظه رم، کنترلرهای ورودی و خروجی و کنترلر باند رادیویی قرار دارن. به این ترتیب سیستم روی یک چیپ بر پایه معماری arm ساخته نمیشه و فقط CPU اون بر اساس این معماری تولید میشه.
تفاوت arm و x86
معماری 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 گوشیها معماری نیمه باز اون هستش. تعداد کمی از شرکتها پردازنده 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 درمجموع سه نوع لایسنس رو در اختیار مشتریان قرار میده. این سه نوع لایسنس عبارتن از POP، پردازنده و معماری. لایسنس پردازنده اجازه استفاده مایکروپراسسور یا پردازنده گرافیکی طراحیشده توسط ARM هستش. با این لایسنس نمیشه طراحی رو عوض کرد، اما میشه از اون به هر صورت ممکن استفاده کرد. تراشههای اگزینوس اکتای گوشی سامسونگ رو در نظر بگیرین، در این تراشهها از چهار هسته ARM Cortex A7 و چهار هسته Cortex A15 استفاده شده. این روش بیانگر لایسنس استفاده از پردازندهست.
لایسنس POP مخفف Processor Optimization Pack هستش و به معنای بسته بهینهسازی پردازنده هستش. در این لایسنس اگه مشتری در کاربرد فیزیکی پردازنده تبحر نداشته باشه، شرکت ARM با فروش POP به اونها کمک میکنه. در واقع این شرکت طرح یک پردازنده بهینه رو به مشتری عرضه میکنه تا بعد از تولید در یک کارخانه، حداقل کارایی مشخص شده رو دارا باشن.
لایسنس معماری هم بهعنوان کاملترین لایسنس این شرکت شناخته میشه. در این روش شرکت ARM لایسنس یکی از معماریها مثل ARMv7 یا ARMv8 رو به مشتری میفروشه و مشتری میتونه به هر شکل دلخواهی از اون بهره ببره.
به این مطلب هم سر بزن: طریقه ثبت لوکیشن در Waze و گوگل مپ
چه سیستم عاملهایی از معماری ARM پشتیبانی میکنن؟
ازجمله سیستمعاملهایی که از معماری arm بهره میبرن میشه به Acorn، سیستمعاملهای توکار، یونیکس، لینوکس، BSD و ویندوز اشاره کرد. همونطور که گفتم پردازندههای ARM با توجه به مقرونبهصرفه بودن و صرفهجویی در انرژی، امروزه تقریبا در تمامی سیستمعاملها پشتیبانی شده و در دستگاههای هوشمند مورداستفاده قرار میگیرن.
جمعبندی پردارنده معماری arm
پردازندههای با معماری arm امروزه خیلی پرکاربرد هستن و تقریبا در همه مدلهای گوشیهای هوشمند استفاده میشن. این نوع پردازندهها اندازه کوچک و قیمت مناسبی دارن. صرفهجویی در مصرف انرژی و داغ نشدن بیش از حد باعث شده تا از این پردازندهها در دستگاههای مختلف ازجمله گوشیهای هوشمند، تبلتها و لپتاپها استفاده بشه.
سوالات متداول
مهمترین ویژگیهای عمومی ARM چیان؟
پردازندههای ARM از سرعت مناسب نسبت به توان مصرفی برخوردار هستن.
طیف فرکانس ساعت (کلاک) میکروپروسسورهای ARM گسترده و از ۱ مگاهرتز تا چند گیگاهرتز هستش.از اجرای مستقیم کدهای جاوا با استفاده از Java Jazelle DBX ARM پشتیبانی میکنن.
پردازندههای ARM به صورت سختافزاری برای اشکالزدایی (Debugging) ساخته شدن.
از دستورالعملهای پیشرفته برای عملیات پردازش سیگنال دیجیتال یا DSP بهره میبرن.
2 دیدگاه. Leave new
فرق بین پردازنده ARM و X86 اندروید چیه؟
چهجوری بفهمیم پردازندهی گوشی ما از کدام نوعه؟