هر بار که به سختافزارهای پردازش موبایل فکر میکنیم، ARM احتمالا نخستین نامی باشد که به ذهن خطور میکند، و باید هم همینطور باشد.
اگرچه اینتل در طول تاریخ عمدتا به عنوان برترین کمپانی سازنده چیپ در جهان شناخته شده -و این موضوع همین امروز هم مصداق دارد- اما آرم توانست به شکلی آهسته و پیوسته به رشد ادامه دهد و جای پایی محکم در بازار برای خود ایجاد کند: بازاری که در آن دیگر نیازی به سرعت بالاتر دیوایسهای پردازشی نیست و در عوض باید روی بهینگی و پرتابل بودن آنها تمرکز کرد.
به همین خاطر است که آرم اکنون بازار پردازندههای موبایل را تحت تصرف خود درآورده و تقریبا هر دیوایس موبایل برجستهای به کمک معماری آن توسعه یافته است. داریم درباره میلیاردها چیپ صحبت میکنیم که درون سیستمهای بیومتریک، تلویزیونهای هوشمند، آیفونها، لپتاپها و تبلتها جای گرفتهاند. اما چرا آرم به موفقیت رسید و چرا معماریهایی نظیر x86 نتوانستند به چنین دستاوردی برسند؟ در این مقاله بررسی میکنیم که آرم چیست، از کجا آمده و چرا اینقدر به محبوبیت رسیده است.
هر چیپ کامپیوتری نیازمند یک «مجموعه دستورالعمل - Instruction Set Architecture» (یا به اختصار ISA) است و آرم در این حوزه فعالیت دارد. بنابراین نخستین گام برای تشریح آرم و فعالیتهایش اینست که دقیقا بدانیم ISA چیست.
ISA برخلاف کش یا هسته، یک قطعه فیزیکی نیست، بلکه دستورالعملی است که کارکرد جنبههای مختلف پردازنده را تعیین میکند. این میتواند شامل نوع دستورالعملهایی باشد که چیپ میتواند پردازش کند، یا اینکه داده ورودی و خروجی باید چگونه فرمت شود، یا اینکه پردازنده چطور با رم تعامل میکند و چیزهایی از این دست. میتوانید یک مسیر دیگر در پیش بگیرید و به ISA به چشم مجموعهای از مشخصات فنی نگاه کنید که در نهایت تبدیل به یک پردازنده فیزیکی میشوند. این در واقع نقشهای است از اینکه تمام اجزای پردازنده باید چطور کار کنند.
برای مثال، ISA بیشینه حجم هر داده را مشخص میکند و اکثر دادههای مدرن از مدل ۶۴ بیتی استفاده میکنند. درحالی که تمام پردازندهها سه کار کلی شامل خواندن دستورالعمل، اجرای دستورالعمل و بهروزرسانی وضعیت براساس نتیجه حاصل شده را به انجام میرسانند، در ISA های مختلف ممکن است گامهای بیشتری طی شود. یک ISA پیچیده مثل x86 معمولا این پروسه سه مرحلهای را تبدیل به دوجین عملیات کوچکتر میکند تا توان عملیاتی بهبود یابد. وظایف دیگر مانند پیشبینی انشعاب برای دستورالعملهای شرطی نیز توسط ISA تعیین میشود.