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