ARM چگونه بازار پردازش موبایل را تصاحب کرد؟
کسب و کار
بزرگنمايي:
سیاست و بازاریابی - دیجیاتو / شاید اگر به پردازش در حوزه موبایل فکر کنید اولین نامی که به ذهنتان برسد ARM باشد. در حالی که از مدت ها قبل این اینتل بوده که سردمدار تولید چیپ های به حساب می آمده اما ARM در نهایت با پردازنده های با سرعت ساعت نه چندان بالا اما کم مصرف و کوچک، نام خود را بر سر زبان ها انداخت.
پردازنده های تولید شده بر اساس معماری ARM در دستگاه های متعددی از جمله تلویزیون ها هوشمند، گوشی ها، لپتاپ ها و حتی لوازم خانگی هوشمند قرار گرفته اند. اما سوالی که مطرح می شود این است که چرا معماری های دیگری از جمله x86 توانایی رقابت با ARM در این حوزه ها را ندارند؟ در این مطلب قصد داریم به این سوال پاسخ دهیم و مروری بر تفاوت های سخت افزاری معماری های ARM و x86 داشته باشیم.
پیش از ادامه مطلب به یاد داشته باشید که ARM هیچ پردازنده ای تولید نمی کند. بلکه معماری پردازنده ها را طراحی می کند و حق استفاده از طرح های خود را در اختیار دیگر شرکت های تولید کننده چیپ از جمله کوالکام، سامسونگ، مدیاتک و ... قرار می دهد.
معماری مجموعه دستورالعمل ها یا ISA چیست؟
هر چیپ کامپیوتری برای کارکرد نیاز به مجموعه ای از دستورالعمل ها دارد. ISA یک بخش فیزیکی مثل حافظه کش یا هسته های پردازنده نیست. بلکه تعیین می کند که تمامی بخش های یک پردازنده چگونه کار کنند. این ها شامل مواردی از جمله دستورالعمل هایی پردازش چیپ، تعیین نحوه فرمت داده های ورودی و خروجی، روش برقراری ارتباط پردازنده با رم و ... هستند.
به عنوان مثال ISA مشخص می کند که اندازه هر قطعه داده در سیستم های مدرن باید از مدل 64 بیتی پیروی کند. اما پردازنده 3 عمل پایه خواندن دستورالعمل ها، اجرا کردن آنها و در نهایت آپدیت کردن وضعیت بر اساس نتایج را انجام می دهد. دستورالعمل های مختلف ممکن است روش های متفاوتی را ارائه کنند. به عنوان مثال معماری پیچیده ای از جمله X86 به طور معمول پردازش ها را به چندین عمل کوچکتر تقسیم می کنند تا توان عملیاتی افزایش یابد.
ISA در کنار تعریف ریز معماری پردازنده ها، همچنین مجموعه ای از دستورالعمل های قابل پردازش را مشخص می کند. این دستورالعمل ها شامل موارد متعددی از جمله اعمال خواندن و نوشتن روی حافظه ها هستند. به عنوان مثال بر اساس یک دستورالعمل، داده های آدرس شماره 1 در حافظه با داده های آدرس 2 جمع شده و حاصل در آدرس شماره 3 ذخیره می شود.
RISC در مقابل CISC
حالا که با مفهوم اولیه ISA آشنا شدید بیایید ببینم که چه چیزی معماری ARM را خاص می کند؟ RISC یا «مجموعه دستورات ساده شده» یکی از مهمترین ویژگی های معماری ARM است. در حالی که معماری X86 از CISC یا «مجموعه دستورات پیچیده» بهره می برد. هر یک از این دو معماری مزایا و معایب خاص خود را دارند.
در RISC هر دستورالعمل به طور مستقیم به یک عمل خاص برای اجرا توسط پردازنده اختصاص می یابد و این دستورات نسبتاً ابتدایی هستند. اما در CISC، دستورالعمل ها پیچیده تر هستند و گزینه های گسترده تری را پیش روی پردازنده قرار می دهند. به عبارت دیگر می توان گفت پردازنده های مبتنی بر معماری پیچیده تر CISC معمولاً هر دستور را به مجموعه ای از ریز دستورهای دیگر تقسیم می کنند. معماری CISC می تواند جزئیات بیشتری را در یک دستور واحد یکپارچه کند که همین موضوع تا حد زیادی کارایی را افزایش می دهد. به عنوان مثال در معماری RISC ممکن است تنها یک یا دو دستور برای جمع زدن دو عدد وجود داشته باشد اما در معماری CISC این مقدار 20 عدد است و برای هر نوع داده یا پارامترهای متنوع دیگر دستورات مختلفی استفاده می شود.
یکی از تفاوت های دیگر دو معماری در این است که در CISC بیشتر پیچیدگی به سمت سخت افزار باز می گردد اما RISC پیچیدگی را به سمت نرم افزار می برد. علاوه بر این اجرای فعالیت های موازی در CISC مشکل است اما RISC این کار را راحت تر کرده است. برای تعامل با حافظه هم CISC روش های پیچیده ای دارد اما در عوض در RISC روش ها محدود تر هستند.
در واقع می توان تفاوت های دو معماری را با ابزارهای ساخت یک خانه مقایسه کرد. در یک سیستم مبتنی بر RISC تنها چکش و اره در اختیار دارید اما در CISC انواع ابزارهای دریل، چکش و انبر و ... پیش رویتان است. پس با CISC می توان کارهای متنوع تری انجام داد چرا که ابزارها تخصصی تر و قدرتمند تر هستند. با RISC هم می توان کارها را پیش برد اما از آنجایی که ابزارهای آن ضعیف تر و ابتدایی تر هستند، زمان بیشتری طول می کشد.
اما شاید این سوال براتیان مطرح شده باشد که اگر CISC قدرتمند تر است چرا بسیاری از تولیدکنندگان چیپ ها به معماری RISC تمایل بیشتری دارند؟ در جواب باید گفت که کارایی تنها عاملی نیست که باید به آن توجه کرد. اگر بخواهیم به مثال ساخت خانه باز گردیم باید بگوییم که آنهایی که CISC را انتخاب می کنند نیاز به کارگرهای بیشتر با تخصص های متنوع تر دارند و سازمان دهی و برنامه ریزی کل این مجموعه هم پیچیده تر است و هزینه بیشتری می طلبد. در حالی که با انتخاب RISC تمام کارگران می توانند با همان ابزارهای ساده کار کنند و نیاز به تخصص خاصی نیست. در نهایت خروجی هر دو یکسان خواهد بود؛ در حالی که فرایند ساخت کاملاً با هم متفاوت بوده است.
اما خارج از این مثال در دنیای واقعی باید بگوییم که یک برنامه نویس می تواند نرم افزار خود را برای پردازنده های مبتنی بر هر دو معماری ARM یا X86 تولید کند و این در حالی است که دستورالعمل ها در این دو معماری به کل با هم متفاوت هستند اما نتیجه خروجی در کل مشابه است.
نیاز به انرژی کمتر
دوباره به معماری ARM باز گردیم. اگر تمام این مواردی که به آنها اشاره کردیم را در کنار هم بگذارید متوجه می شوید که چرا ARM برای طراحان چیپست های موبایل تا این اندازه جذاب است. در واقع اصلی ترین دلیل، بهینه بودن این معماری است. در سیستم های کوچک یا موبایل، مصرف انرژی بهینه اهمیت بالاتری نسبت به کارایی دارد. طراحان سیستم های موبایل تقریباً در هر لحظه ای به این فکر هستند که چطور به قیمت از دست رفتن کمی از کارایی، مصرف انرژی را بهینه تر کنند.
تا زمانی که باتری دستگاه ها پیشرفت اساسی را تجربه کند، گرما و مصرف انرژی همچنان مهمترین فاکتور محدود کننده محصولات قابل حمل خواهند بود. دقیقاً به همین دلیل است که پردازنده های بزرگ سیستم های دسکتاپ به موبایل ها راه پیدا نمی کنند. برای مقایسه باید بگوییم پردازنده های رده بالای کامپیوترهای دسکتاپ تا 200 وات مصرف انرژی دارند در حالی که یک پردازنده موبایل حداکثر 2 تا 3 وات انرژی مصرف می کند.
البته می توان پردازنده های X86 کم مصرف را هم طراحی کرد اما الگوی معماری CISC به گونه ای است که بیشتر به کار پردازنده های قدرتمند می آید. به همین دلیل است که به ندرت شاهد استفاده از پردازنده های ARM در کامپیوترهای دسکتاپ یا مجهز شدن موبایل ها به پردازنده های X86 هستیم.
معماری ناهمگون بیگ-لیتل
یکی دیگر از ویژگی های کلیدی ARM معماری محاسباتی ناهمگون big.LITTLE است. به لطف این قابلیت، دو مجموعه پردازنده در یک چیپ قرار می گیرند. یک مجموعه (یا به اصطلاح خوشه) ضعیف تر و کم مصرف تر هستند و پردازش های سبک تر را به عهده می گیرند در حالی که مجموعه قدرتمند تر وظایف سنگین تر را انجام می دهند. تعیین این که کدام وظیفه باید به کدام خوشه و کدام یک از هسته ها سپرده شود، به عهده چیپ است. اگر دستگاه بیکار باشد یا به انجام وظایف ابتدایی مشغول شود، هسته های کم مصرف تر (LITTLE) روشن شده و هسته های قدرتمند (big) خاموش می شوند. به گفته ARM این معماری می تواند تا 75 درصد در مصرف انرژی صرفه جویی کند.
در مقابل در پردازنده های دسکتاپ در زمان کارهای سبک تنها مصرف برخی از اجزا کاهش می یابد و بعضی از بخش های پردازنده هیچ گاه خاموش نمی شوند. در نتیجه از آنجایی که معماری ARM امکان خاموش کردن کامل یک هسته را می دهد می توان گفت که از این نظر بر رقیب غلبه می کند.
راهکار ARM برای درآمد زایی: فروش مجوز و دوری از تولید
یکی از دلایل این که ARM بر بازار پردازنده های مبتنی بر RISC حکمرانی می کند رویکرد کسب و کار مبتنی بر صدور مجوز است. تولید چیپ ها به شدت مشکل و پیچیده است و به همین دلیل ARM به سراغ آن نمی رود. همین موضوع موجب می شود تمرکز بیشتری بر طراحی داشته باشد و با انعطاف پذیری بیشتر، بسته به نیاز سازندگان چیپ، مدل های دلخواه را برایشان طراحی کند.
لیست شرکت هایی که از معماری ARM استفاده می کنند بسیار طولانی است اما به طور خلاصه می توان از مهمترین آنها به اپل، انویدیا، سامسونگ، AMD، برادکام، فوجیتسو، آمازون، هواوی و کوالکام اشاره کرد.
در کنار شرکت هایی که از معماری ARM در چیپست های گوشی های هوشمند استفاده می کنند مایکروسافت هم تلاش کرده لپتاپ های سرفس و دیگر محصولات سبک وزن را به پردازنده هایی با این معماری مجهز کند. همچنین از مدت ها پیش شایعاتی مبنی بر پشتیبانی مک او اس از ARM به گوش می رسد. در این صورت شاید روزی برسد که لپتاپ ها از نظر مصرف انرژی به اندازه گوشی های هوشمند بهینه شوند.
ARM همچنین سال ها است که وعده کاهش مصرف انرژی در سرورها را می دهد. این موضوع به خصوص وقتی هزاران هزار سیستم سرور در کنار هم قرار می گیرند اهمیت دو چندان پیدا می کند.
ARM مجموعه ای از حقوق مالکیت فکری را نیز در اختیار دارد که می تواند از آنها در کنار معماری های متنوع خود استفاده کند. این موارد شامل معماری هایی در زمینه شتاب دهنده ها، کد گذارها و کد گشاها و ... هستند که مشتریان می توانند بر اساس نیاز خود حق استفاده از آنها در محصولاتشان را خریداری کنند.
همه چیز روی یک چیپ
در کنار کسب و کارهایی که به آن اشاره کردیم ARM همچنین فعالیت های خود را به حوزه «سیستم روی یک چیپ» یا SoC هم گسترش داده است. به مرور بازار حوزه پردازش موبایل از نظر فضا و مصرف انرژی با محدودیت های بیشتری روبرو شده و SoC راه حل غلبه بر این مشکل است.
SoC همان طور که از نامش هم مشخص است اجزای مختلف را روی یک چیپ در کنار هم ترکیب کرده تا کارایی بهبود یابد. به عنوان مقایسه، تصور کنید تمامی اجزای یک مادربرد کامپیوتر دسکتاپ روی یک چیپ واحد جمع شوند و یک SoC را تشکیل دهند. یک SoC شامل پردازنده، رم، پردازشگر گرافیکی، کنترل کننده های تجهیزات جانبی، برخی شتاب دهنده ها و بخش های مربوط به شبکه و مدیریت انرژی است. تا پیش از ارائه راهکار SOC تولید کنندگان مجبور بودند برای هر کدام از کاربردها یک چیپ جداگانه طراحی کنند.
SoC همچنین موجب شده ارتباط بین تمامی این اجزا بین 10 تا 100 برابر سریع تر شود و مصرف انرژی هم بین 10 تا 100 برابر کاهش یابد.
با این حال SoC ها برای برخی از سیستم های خاص مناسب نیستند. به طور معمول این چیپست ها در لپ تاپ های معمول یا کامپیوترهای دسکتاپ دیده نمی شوند. زیرا تعداد اجزایی که می توانند روی یک چیپ در کنار هم قرار بگیرند محدود هستند. به عنوان مثال نمی توان کارت گرافیک های مستقل، مقدار کافی از رم یا تمامی بخش های کنترل کننده اتصالات متعدد یک لپ تاپ را در یک چیپ قرار داد.
لینک کوتاه:
https://www.siasatvabazaryabi.ir/Fa/News/117006/