تولید پردازندههای موبایل از ابتدا در اختیار شرکت نامدار اینتل بوده است. پس از چندی ARM با ارائه پردازندههایی با سرعت متوسط اما مصرف پایین و حجم کوچک، توانست نام و آوازهای برای خود فراهم آورد. لازم به توضیح است که ARM خود تولید کننده و سازنده پردازنده نیست و تنها معماری آنها را طراحی مینماید. سپس حق استفاده از طرحهای خود را در اختیار دیگر شرکتهای سازنده چیپ همچون مدیاتک، کوالکام، سامسونگ و ... قرار میدهد.
در این مقاله به بررسی علل موفقیت معماری ARM در رقابت با دیگر معماریها از جمله x86 میپردازیم و برخی از تفاوتهای سختافزاری میان این دو معماری را بیان میکنیم. زیرا همانطور که میدانید چیپهای تولید شده بر اساس معماری ARM در دیوایسهای مختلفی از جمله گوشیهای هوشمند، لپتاپها، لوازم خانگی هوشمند و تلویزیونهای هوشمند مورد استفاده قرار میگیرند.
تعریف معماری مجموعه دستورالعمل ها (ISA):
پردازندهها برای اجرای هماهنگ و صحیح فرآیندها، نیازمند مجموعهای از دستورالعملهای میباشند که به آن ISA میگویند. ISA یکی بخش فیزیکی همچون هسته و یا کش چیپ نیست، بلکه مجموعهای از دستورالعملهاست که تعیین کننده روش کار هر یک از بخشهای پردازنده میباشد. این دستورالعملها نحوه کار بخشهای مختلف با یکدیگر را همانند پردازش چیپ، تعیین نحوه فرمت دادههای ورودی و خروجی، روش برقراری ارتباط پردازنده با رم و ... مدیریت میکنند.
به عنوان مثال ISA مشخص میکند که اندازه هر قطعه داده در سیستمهای مدرن باید از مدل 64 بیتی پیروی کند؛ اما پردازنده 3 عمل پایه خواندن دستورالعملها، اجرا کردن آنها و در نهایت آپدیت کردن وضعیت بر اساس نتایج را انجام میدهد. دستورالعملهای مختلف ممکن است روشهای متفاوتی را ارائه کنند. به عنوان مثال معماری پیچیدهای از جمله x86 به طور معمول پردازشها را به چندین عمل کوچکتر تقسیم میکند تا توان عملیاتی بیشتر شود.
ISA علاوهبر مشخص نمودن ریز معماری پردازندهها، مجموعهای از دستورالعملهای قابل پردازش را نیز تعیین میکند. این دستورالعملها در بر گیرنده موارد متعددی از جمله اعمال خواندن و نوشتن روی حافظهها هستند. اگر بخواهیم این مورد را در مثالی ساده ذکر کنیم میتوان به عمل جمع کردن دادههای درون حافظه اشاره نمود. برای این کار بر اساس یک دستورالعمل مشخص، دادههای آدرس شماره 1 در حافظه با دادههای آدرس شماره 2 جمع شده و حاصل در آدرس شماره 3 ذخیره میگردد.
بررسی تفاوتهای RISC در مقابل CISC:
تا اینجا با مفهوم اولیه ISA آشنا شدید. اما سوال اصلی اینجاست که چه چیزی معماری ARM نسبت به دیگر معماریهای چیپ خاص میکند؟
RISC به مجموعه دستورات ساده شده میگویند که یکی از مهمترین ویژگیها در معماری ARM است. در صورتی که معماری X86 از مجموعه دستورات پیچیده معروف به CISC بهره میبرد. البته هر یک از این دو معماری مزایا و معایب خاص خود را دارد.
منظور از مجموعه دستورات ساده این است که هر دستورالعمل به طور مشخص یک عمل خاص را برای اجرا در پردازنده تعیین میکند. این دستورات اغلب ساده و ابتدایی هستند. به عنوان مثال در معماری RISC، ممکن است یک یا دو دستور برای جمع زدن دو عدد تعریف شده باشد.
CISC اغلب دارای دستورات پیچیده است که پردازنده برای اجرا، آنها را به مجموعهای از ریز دستورات دیگر تقسیم میکند. این روش، راهحلهای متعددی را پیش روی پردازنده میگذارد تا برحسب نیاز بهترین آنها را انتخاب نماید. چنین معماری امکان یکپارچه نمودن جزئیات بیشتری درون یک دستور واحد را فراهم میآورد و از این جهت کارایی چیپ را تا حد قابل توجهی افزایش میدهد. در معماری CISC برای جمع زدن دو عدد به صورت مثال 20 دستورالعمل متفاوت وجود دارد که برای هر نوع داده و یا پارامترهای مختلف، راهحلهای گوناگونی ارائه شده است.
به عبارت دیگر CISC میتوان کارهای متنوعتر و تخصصیتر را با سرعت بالا انجام داد اما در RISC کارها را با سرعت پایینتر اجرا میشوند. تصور کنید قصد ساخت خانهای با استفاده از انواع ابزارهای حرفهای نظیر دریل، انبر، بالابر و ... را دارید. در چنین حالتی شما به سرعت میتوانید خانه مذکور را به سرانجام برسانید. (همچون CISC) اما اگر تنها چکش و اره در اختیار داشته باشید ساخت خانه با سرعت کمتری انجام میشود. (همچون معماری RISC)
در جدول زیر برخی از تفاوتهای دو معماری RISC و CISC ذکر شدهاند:
# |
فشار تجزیه پیچیدگیها |
اجرای فعالیتهای موازی |
تعامل با حافظه |
RISC |
نرمافزار |
آسان و راحت |
استفاده از روشهای ساده و محدود |
CISC |
سختافزار |
نسبتا سخت |
استفاده از روشهای پیچیده |
اما شاید این سوال براتیان مطرح شده باشد که اگر CISC قدرتمندتر است چرا بسیاری از تولیدکنندگان چیپها به معماری RISC تمایل نشان میدهند؟ در پاسخ باید بدانید که کارایی تنها عاملی نیست که تولیدکنندگان به آن توجه میکنند؛ بلکه فضای حافظه مورد نیاز، میزان درگیر شدن بخشهای مختلف، هزینه نهایی و ... عواملی هستند که در ساخت پردازندهها مورد بررسی قرار میگیرند. اگر بخواهیم به مثال ساخت خانه باز گردیم باید بگوییم که آنهایی که CISC را انتخاب میکنند نیاز به کارگرهای بیشتر با تخصصهای متنوعتر دارند و سازماندهی و برنامهریزی کل این مجموعه هم پیچیدهتر است. در نتیجه هزینه بیشتری طلب میکند. در حالی که با انتخاب RISC تمام کارگران میتوانند با همان ابزارهای ساده کار کنند و نیاز به تخصص خاصی نیست. در نهایت خروجی هر دو یکسان خواهد بود؛ در حالی که فرایند ساخت کاملاً با هم متفاوت بوده است.
البته ذکر این نکته خالی از لطف نیست که یک برنامهنویس میتواند نرمافزار خود را بر پایه هر دو معماری طراحی کند. به طوریکه هر پردازندهای اعم از پردازندههای ARM و X86 قادر به اجرای دستورالعملهای آن باشند. این در حالی است که دستورالعملها در این دو معماری کاملا با هم متفاوت هستند اما نتیجه خروجی در نهایت مشابه است.
اهمیت مصرف انرژی بهینه در سیستم
در سیستمهای کوچک همچون موبایل تولیدکنندگان در پی آن هستند که انرژی کمتری مورد استفاده قرار گیرد و به عبارت دیگر مصرف انرژی بهینه باشد. از این رو اغلب آنها حاضرند در ازای کاهش مصرف انرژی بخشی از کاراییهای جزئی را حذف نمایند. زیرا موبایل یک سیستم کوچک است و فرد نیاز دارد وزن کمتری را روزانه با خود حمل کند. با در نظر گرفتن این موارد میتوان دریافت که چرا سازندگان علاقمند به چیپستهایی با معماری ARM هستند. پاسخ تنها یک چیز است: بهینه بودن این معماری...!
مادامیکه تکنولوژی ساخت باتری دیوایسها پیشرفت چندانی نداشته باشد، سازندگان مجبور به محدود کردن قابلیتهای دستگاه بوده و میزان مصرف انرژی در کنار گرمای تولید شده مهمترین ملاک در انتخاب پردازنده خواهد بود. از این رو استفاده از پردازندههای قوی همچون پردازنده کامپیوترهای رومیزی و لپتاپ در گوشیهای موبایل امکانپذیر نیست. زیرا پردازندههای رده بالا کامپیوترها تا 200 وات مصرف انرژی دارند در صورتیکه چیپ به کار رفته در گوشیهای همراه حداکثر 2 تا 3 وات انرژی مصرف میکند.
البته امکان طراحی پردازنده های X86 کم مصرف هم وجود دارد اما الگوی معماری CISC به نحوی است که بیشتر به کار پردازندههای قدرتمند میآید. به همین دلیل است که به ندرت شاهد استفاده از پردازندههای ARM در کامپیوترهای دسکتاپ یا مجهز شدن موبایلها به پردازندههای X86 هستیم.
معماری محاسباتی ناهمگون Big.Little
طراحی معماری در پردازندهها بر پایه ARM به صورت ناهمگون و در دو مجموعه پردازنده سبک و قدرتمند انجام میشود. در این روش که به آن Big.Little میگویند، چیپ فرآیندها را بر اساس میزان پیچیدگی محاسبات تقسیمبندی میکند و فرآیندهای ساده را به مجموعه (خوشه) ضعیفتر و کممصرفتر میسپارد و فرآیندهای پیچیده را به مجموعه هستههای قوی میدهد. در این معماری اگر دستگاه بیکار شود و یا در حال اجرای دستورات ابتدایی باشد، هستههای کممصرف (Little) روشن شده و هستههای قدرتمند (Big) خاموش میشوند. ARM معتقد است این روش تا 75% در کاهش مصرف انرژی موثر است.
جالب است بدانید در پردازندههای قدرتمند دسکتاپ هنگامیکه کارهای سبک در حال اجرا هستند، تنها مصرف برخی از اجزا کاهش مییابد و بعضی از بخشهای پردازنده هیچگاه خاموش نمیشوند. از این رو معماری ARM با امکان خاموش کردن کامل یک هسته، در این حوزه بر رقیبان خود میتازد.
راه اندازی سیستم SoC
شرکت ARM حوزه جدیدی را به فعالیتهای خود افزوده است که در آن بیشتر بخشهای یکی سیستم روی یک چیپ قرار میگیرند و آن را SoC نامیده است. با گذشت زمان و پیشرفت گوشیهای هوشمند، بازار حوزه پردازش موبایل از نظر فضا و مصرف انرژی با محدودیتهای بیشتری روبرو شده و SoC راه حل غلبه بر این مشکل است.
طرحی از اجزای مختلف روی یک چیپ واحد مبتنی بر ARM در یک چیپست کوالکام
در این روش اغلب اجزای یک سیستم بر روی یک چیپ قرار میگیرد تا کارایی بهینهتری فراهم آورد. یک SoC شامل پردازنده، رم، پردازشگر گرافیکی، کنترل کنندههای تجهیزات جانبی، برخی شتاب دهندهها و بخشهای مربوط به شبکه و مدیریت انرژی است. تا پیش از ارائه راهکار SOC سازندگان مجبور بودند برای هر کدام از کاربردها یک چیپ مجزا طراحی کنند. SoC برقراری ارتباط میان تمامی اجزا با بین 10 تا 100 برابر بهبود بخشیده و همچنین میزان مصرف انرژی در این چنین سیستمهایی بین 10 تا 100 برابر کاهش یافته است.
با این وجود استفاده از SoC تنها در برخی از سیستمها همچون تلفنهای همراه قابل پیادهسازی است و استفاده از آن در سیستمهای قدرتمند امکانپذیر نیست. زیرا تعداد اجزایی که میتوان به روی یکی پردازنده در کنار هم قرار داد محدود است و امکان نصب کارت گرافیکهای مستقل، فضای رم کافی و یا تمامی بخشهای کنترل کننده اتصالات متعدد یک لپتاپ بر روی تنها یک چیپ وجود ندارد. سیستمهای مبتنی بر SoC مناسب استفاده در دستگاههایی با کارایی سادهتر هستند و برای اجرای فعالیتهای پیچیده روی کامپیوتر دستکتاپ و لپتاپ مناسب نمیباشد.
روشهای ARM برای درآمدزایی
شرکت ARM تنها در حوزه طراحی معماری چیپستها فعالیت میکند و از فرآیند تولید آنها دور نموده است. در واقع رویکرد کسب و کار این شرکت بر صدور مجوز استفاده از طرحهایشان میباشد. ساخت و تولید یک پردازنده امری سخت و مشکل است. به همین دلیل ARM با دوری نمودن از آن تمام تمرکز خود را بر ارائه طراحیهای متنوع و انعطافپذیر بر پایه نیازهای سازندگان چیپ، گذاشته است.
تا به امروز شرکتهای بسیاری در سراسر جهان از معماری ARM استفاده نمودهاند که برخی از مهمترینهایشان شرکتهای کوالکام، سامسونگ، هوآوی، مدیاتک، اپل، AMD، برادکام، آمازون و فوجیتسو میباشند. در کنار شرکتهایی که از معماری ARM در چیپستهای گوشیهای هوشمند بهره میبرند، مایکروسافت هم تلاش نموده لپتاپهای سرفیس و دیگر محصولات سبک وزن را با استفاده از پردازندههای مبتنی بر معماری ARM تولی نماید. همچنین از مدتها پیش شایعاتی مبنی بر پشتیبانی مک او اس از ARM به گوش میرسد. در چنین شرایطی شاید روزی برسد که لپتاپها از نظر مصرف انرژی به اندازه گوشیهای هوشمند بهینه شوند. ضمن اینکه سالهای متمادی است ARM وعده کاهش مصرف انرژی در سرورها را میدهد. اگر روزی این وعده به سرانجام برسد با در نظر گرفتن هزاران سرور که در کنار هم قرار میگیرند، حجم انرژی بهینه شده بسیار بالا خواهد بود.
ARM تنها به ارائه مجوزهای استفاده از معماری در پردازندههای تلفن همراه و ... رضایت نداده است و مجموعهای از حقوق مالکیت فکری را نیز در اختیار دارد که میتواند از آنها در کنار معماریهای متنوع خود بهره ببرد. این موارد شامل معماریهایی در زمینه شتابدهندهها، کدگذارها، کدگشاها و ... هستند که مشتریان میتوانند بر اساس نیاز خود حق استفاده از آنها در محصولاتشان را خریداری کنند.
منبع:
faratechdp.com