نسخه Pdf

 رقابت پردازنده‌ها

معماری ARM چگونه از x86 اینتل سبقت گرفت؟

رقابت پردازنده‌ها

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

بد نیست ابتدا با ماهیت پردازنده‌ها آشنا شوید. پردازنده قطعه‌ای الکترونیک است که می‌تواند عملیات‌هایی را روی داده‌هایی که به آن می‌دهیم انجام دهد و نتیجه آن را به ما بازگرداند. این عملیات منطقی را توسط ترانزیستورهایی که درون آن تعبیه شده‌ انجام می‌دهد. هر پردازنده از مجموعه دستورالعمل‌هایی پشتیبانی می‌کند که به آنها instruction set  می‌گویند. از طرفی هر معماری پردازنده instruction set مخصوص به خود را دارد. نرم‌افزاری که ما روی رایانه یا گوشی‌های هوشمند خود اجرا می‌کنیم در واقع مجموعه‌ای از این دستورها هستند که به ترتیب اجرا می‌شوند. در نتیجه برنامه‌هایی را که برای معماری a نوشته می‌شوند، نمی‌توان روی پردازنده‌های معماری b اجرا کرد. چرا؟ چون این معماری‌ها instruction set‌های متفاوتی دارند.
ما در دنیای امروز از دو معماری معروف برای پردازنده‌ها استفاده می‌کنیم. یکی x86 و دیگری ARM. معماری x86 بسیار پیچیده تر از ARM است، طوری که فقط چند شرکت در جهان هستند که می‌توانند به صورت تجاری تولید کنند مثلا intel و AMD  و طبیعتا هزینه تمام شده بیشتری هم برای این شرکت‌ها چه از نظر تولید قطعات و چه از نظر هزینه تحقیق و توسعه دارد که باعث می‌شود قیمت این پردازنده‌ها نسبت به ARM‌ها بیشتر باشد ولی از طرفی نسبت به پردازنده‌های ARM  فهرست دستورات instruction set کامل‌تری دارند و این باعث می‌شود یک برنامه ثابت در x86 با تعداد دستورات کمتری نسبت به ARM نوشته‌شود.
برای توضیح دقیق‌تر این موضوع به این مثال توجه کنید. فرض کنید دو پردازنده قصد دارند با یکدیگر مسابقه بدهند. هر دو فرکانس 1GHz دارند ولی یکی با معماری ARM و دیگری معماری x86 ساخته شده است. در این مسابقه پردازنده x86 برنده می‌شود؛ زیرا با این‌که سرعت برابری دارند اما چون x86 با تعداد دستورات کمتری می‌تواند محاسبات رو انجام بدهد پس برنده می‌شود.
اما پردازنده‌های ARM  دو مزیت رقابتی خیلی مهم نسبت به x86‌ها دارند:

۱.  مصرف انرژی کمتر.
۲.  پیچیدگی کمتر در ساخت و طراحی.

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

۱. توان پردازشی کم.
۲. نرم‌افزارهای زیادی که برای رایانه‌های رومیزی و بر اساس معماری x86 توسعه داده شدند و به همین راحتی قابل تبدیل به معماری ARM نیستند.

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



ورود گوگل و مایکروسافت
گوگل با chrome os که یک سیستم‌عامل بر پایه لینوکس بود آمد و با همکاری با acer، dell و… کروم‌بوک‌ها را وارد بازار کرد که بسیاری از آنها بر پایه معماری ARM بودند. از طرفی مایکروسافت نسخه ARM برای ویندوز ساخت که فقط قادر به اجرای برنامه‌های مبتنی بر ARM بود. چند شرکت متفرقه هم به سمت تولید لپ‌تاپ‌های لینوکسی بر پایه ARM رفتند. ولی همچنان برنامه‌های x86 روی ARM‌ها قابل اجرا نبودند و این یک مانع بزرگ برای مشتری‌هایی بود که قصد داشتند سیستمی با پردازنده ARM خریداری کنند.
در این برهه زمانی دیگر تولید این پردازنده‌ها در دست دو سه شرکت نبود و به دلیل سادگی معماری شرکت‌های زیادی پردازنده‌های ARM خود را تولید کردند اما همچنان قدرت پردازنده‌های ARM هنوز در حد پردازنده‌های میان‌رده x86 بود. تا این‌که اپل در کنفرانس ۲۰۲۱ از پردازنده‌های ARM ساخت خود رونمایی کرد که از نظر توانایی پردازشی هم‌رده قوی‌ترین پردازنده‌های اینتل به حساب می‌آمد و البته بسیار ارزان و کم‌مصرف‌تر از رقیب خود بود. از طرفی اپل راه‌حلی برای تبدیل برنامه‌های x86 به ARM به کاربرانش ارائه کرد که بتوانند برنامه‌های x86 را روی رایانه‌های ARM اپلی اجرا کنند.
ضمیمه نوجوانه