پیوند ها
ARM نوعی از معماری پردازندههای کامپیوتری است که بر طبق طراحی RISC CPU و توسط کمپانی بریتانیایی ARM Holding طراحی شده است. معماری ARM که دستورالعملهای ۳۲بیتی را پردازش میکند از دهه ۱۹۸۰تا به امروز در حال توسعه است.
ARM مخفف Advanced RISC Machine است و از آنجایی که این معماری براساس طراحی RISC بنا شده، هسته اصلی CPU نیاز به ۳۵هزار ترانزیستور دارد این در حالی است که پردازندههای معمولی رایج x86 که براساس CISC طراحی شدهاند حداقل نیاز به میلیونها ترانزیستور دارند. مهمترین دلیل مصرف بسیار پایین انرژی در پردازندههای مبتنی بر ARM که باعث استفاده گسترده آنها در ابزارهای پرتابل مانند تلفن هوشمند یا تبلت شده نیز همین موضوع است.
جالب است بدانید که شرکت ARM Holding خود تولیدکننده پردازنده نیست و در عوض گواهی استفاده از معماری ARM را به دیگر تولیدکنندگان نیمه هادی میفروشد. کمپانیها نیز به راحتی تراشههای خود را براساس معماری ARM تولید میکنند.
از جمله کمپانیهایی که پردازنده خود را براساس معماری ARM طراحی میکنند میتوان به اپل در تراشههای Ax، سامسونگ در پردازندههای Exynos، انویدیا در تگرا و کوالکام در پردازندههای Snpdragon اشاره کرد.
در سال ۲۰۱۱مشتریان ARM توانستند ۷٫۹میلیارد ابزار مبتنی بر این معماری را وارد بازار کنند. شاید تصور میکنید که پردازندههای مبتنی بر ARM تنها در تبلت و تلفنهای هوشمند بکار گرفته میشوند، اما جالب است بدانید که در همین سال بیش از ۹۵درصد تلفنهای هوشمند دنیا، ۹۰درصد دیسکهای سخت (HDD)، حدود ۴۰درصد تلویزیونهای دیجیتال و ستتاپباکسها، ۱۵درصد میکروکنترلرها و ۲۰درصد کامپیوترهای موبایل مجهز به پردازندههای مبتنی بر معماری ARM بودهاند. بدون شک این آمار در سال ۲۰۱۲رشد فوقالعاده چشم گیری را تجربه کرده است، چون بازار تلفنهای هوشمند و تبلتهای در سال جاری پیشرفت قابل ملاحظهای داشتهاند.
تا اینجا کار معماری ARM تنها برروی پلتفرم ۳۲بیتی با عرض حافظه ۱بایت کار میکرد. اما با معرفی ARMv8 این معماری پشتیبانی از دستورهای ۶۴بیتی را نیز آغاز کرد که البته هنوز در سیستم-روی-یک-چیپها بکار گرفته نشده است. در سال ۲۰۱۲مایکروسافت نیز نسخه ویندوز سازگار با معماری ARM را به همراه تبلت سرفیس RT معرفی کرد. AMD نیز اعلام نموده که قصد دارد در سال ۲۰۱۴سرورهای مبتنی بر معماری ۶۴بیتی ARM را روانه بازار کند.
ARM گواهی استفاده از معماری خود را به شرکتهای دیگر میدهد، کمپانیهایی که در حال حاضر گواهی استفاده از ARM را دارند عبارتند از: AMD, آلکاتل، اپل، AppliedMicro, Atmel, Broadcom, Cirrus Logic, CSR plc, Digital Equipment Corporation, Ember, Energy Micro, Freescale, فوجیتسو، Fuzhou Rockchip, هواوی، اینتل توسط شرکتهای زیر شاخه، ال جی، Marvell Technology Group, Microsemi, مایکروسافت، NEC, نینتندو، Nuvoton, انویدیا، NXP (formerly Philips Semiconductor), Oki, ON Semiconductor, پاناسونیک، کوالکام، Renesas, Research In Motion, سامسونگ، شارپ، Silicon Labs, سونی، اریکسون، STMicroelectronics, Symbios Logic, Texas Instruments, توشیبا، یاماها و ZiiLABS.چ
RISC و CISC یا ARM در مقابل x86
RISC که مخفف Reduced instruction Set Computing یا مجموعه دستورها ساده شده است در واقع نوعی از طراحی CPU است که پایه و اساس آن، سادهسازی دستورها است که منجر به بازده بالا و سرعت بخشیدن به اجرای دستورها میشود. پردازندهای که براساس این طراحی ساخته میشود را RISC مینامند. مهمترین و معروفترین معماری که براساس RISC طراحی شده، ARM است. درست نقطه مقابل ریسک، طراحی دیگری با نام CISC وجود دارد که مخفف Complex Instruction Set Computing یا مجموعه دستورها پیچیده است که معماری x86 اینتل براساس آن طراحی شده و پردازنده کامپیوترهای رومیزی و لپتاپها و بسیاری از ابزارهای دیگر از آن بهره میبرند.
ایده اصلی RISC اولین بار توسط جان کوکی از IBM و در سال ۱۹۷۴شکل گرفت، نظریه او به این موضوع اشاره داشت که یک کامپیوتر تنها از ۲۰درصد از دستورها نیاز دارد و ۸۰درصد دیگر، دستورها غیرضروری هستند. پردازندههای ساخته شده براساس این طراحی از دستورها کمی پشتیبانی میکنند به این ترتیب به ترانزیستور کمتری نیز نیاز دارند و ساخت آنها نیز کم هزینه است. با کاهش تعداد ترانزیستورها و اجرای دستورها کمتر، پردازنده در زمان کمتری دستورها را پردازش میکند. کمی بعد اصطلاح RISC توسط یک استاد دانشگاه کالیفورنیا به نام دیوید پترسون ایجاد شد.
هر دو طراحی RISC و CISC به مراتب در انواع و اقسام ابزارها بکار گرفته میشوند، اما مفهوم کلی RISC در واقع سیستمی است که در آن به پردازش دستورها کوچک و به شدت بهینه شده پرداخته میشود، درست برخلاف CISC که در آن دستورها پیچیده ارسال میشوند. یکی از تفاوتهای عمده بین RISC و CISC نیز در نحوه دسترسی به حافظه و ذخیره و اجرای اطلاعات برروی آن است. در ریسک دسترسی به حافظه تنها از طریق دستورالعملهای حاصلی قابل انجام است و به عنوان مثال نمیتوان از بخشی از دستور add به حافظه دسترسی داشت.
علاوه بر ARM شرکتهای بسیار دیگری از جمله Intel i860, AMD 29k, ARC و غیره از طراحی RISC برای ساخت پردازنده استفاده میکنند، اما به لطف گسترش تلفن و تبلتها، معماری ARM به عنوان برجستهترین معماری مبتنی بر RISC شناخته میشود.
System on a Chip و معماری ARM
چندین نوع مختلف از معماری برای پردازندههای ARM وجود دارد که از آن جمله میتوان به ARM V2 ،ARMv3 Arm v7 و ... اشاره کرد. کمپانیها برای استفاده از هر کدام از این طراحیها باید گواهی مربوط به آن را از ARM Holder دریافت کنند. کمپانیها از این معماری در ساخت پردازندههای مورد نظر خود بهره برده و در نهایت با یکپارچه سازی آن با واحد پردازش گرافیک (GPU)، حافظه رم و قسمت کنترلر باند رادیویی (در تلفنهای هوشمند) سیستم -روی-یک-چیپ خود را میسازند.
System on a Chip که آن را به اختصار SoC مینامند در واقع یک تراشه است که در آن پردازنده اصلی (CPU)، پردازنده گرافیک (GPU)، حافظه رم، کنترلرهای ورودی و خروجی و بعضاً کنترلر باند رادیویی قرار دارند. پس لازم است بدانید که کل SoC براساس معماری ARM تولید نمیشود و تنها بخش CPU آن بر مبنای معماری ARM طراحی و تولید میگردد. پس این باور که فلان SoC براساس معماری ARM ساخته شده، اشتباه است و بخش پردازنده اصلی اکثر SoCها براساس یکی از طراحهای معماری ARM ساخته میشوند.
از جمله System on a Chipهایی که هسته اصلی آنها براساس معماری ARM طراحی شدهاند میتوان به ۳نسل اول تگرا انویدیا، Quatro شرکت CSRT، نوا شرکت اریکسون، OMAP شرکت تکزاس، Exynos شرکت سامسونگ و Ax شرکت اپل اشاره کرد. این شرکتها از معماری ARM و همچنین معماری یکی از هستههای طراحی شده توسط این شرکت بهره بردهاند.
اما شرکتها میتوانند گواهی استفاده از معماری ARM را تهیه کرده و سپس بر اساس آن هسته سفارشی مورد نظرشان را طراحی کنند یعنی به جای اینکه هسته CPU را براساس Cortex-A9 یا Cortex-A15 یا دیگر هستههای ARM بسازند، خودشان براساس معماری یکی از خانوادههای ARM، هسته خاص خود را طراحی کنند. به عنوان مثال سیستم-روی-یک-چیپ A6 اپل، X-Gene ،Krait کوالکام، StrongARM شرکت DEC ،XScale شرکت Marvell اینتل یا Project Denver شرکت انویدیا اینگونه هستند و اگر چه بخش CPU از سیستم-روی-یک-چیپ آنها براساس معماری ARM طراحی شدهاند، اما طراحی هستهها با آنچه ARM پیشنهاد کرده متفاوت هستند.
چه سیستمعاملهایی که از ARM پشتیبانی میکنند
سیستمهای Acorn: اولین کامپیوتر مبتنی بر معماری ARM، کامپیوتر شخصی Acorn بود که از سیستمعاملی به نام Arthur بهره میبرد. سیستمعاملی مبتنی بر RISC OS که از معماری ARM پشتیبانی میکرد و Acorn و برخی دیگر از تولیدکنندگان از آن استفاده میکردند.
سیستمعاملهای توکار: معماری ARM از طیف وسیعی از سیستمعاملهای توکار مانند Windows CE, Windows RT, Symbian, ChibiOS/RT, FreeRTOS, eCos, Integrity, Nucleus PLUS, MicroC/OS-II, QNX, RTEMS, CoOS, BRTOS, RTXC Quadros, ThreadX, Unison Operating System, uTasker, VxWorks, MQX و OSE پشتیبانی میکند.
یونیکس: یونیکس و برخی از سیستمعاملهای مبتنی بر یونیکس مانند: Inferno, Plan 9, QNX و Solaris از ARM پشتیبانی میکنند.
لینوکس: بسیاری از توزیعهای لینوکس از ARM پشتیبانی میکنند از آن جمله میتوان به اندروید و کروم گوگل، Arch Linux، بادا سامسونگ، Debian، Fedora،OpenSuse، Ubuntu و WebOS اشاره کرد.
برخی از مشتقهای BSD مانند OpenBSD و iOS و OS X اپل نیز از ARM پشتیبانی میکند.
ویندوز: معماریهای ARMv 5, 6 و ۷از ویندوز CE که در ابزارهای صنعتی و PDAها استفاده میشود، پشتیبانی میکند. ویندوز RT و ویندوز فون نیز از معماری ARMv7 پشتیبانی میکنند.
مجموعه رجیسترهای ARM:
مثال سیستم مبتنی بر ARM:
برچسب های مهم