معماری آرم: تفاوت میان نسخهها
محتوای حذفشده محتوای افزودهشده
قرار دادن {{دادههای کتابخانهای}} با اطلاعات ویکیداده |
Sianconero (بحث | مشارکتها) ARM نوعی از معماری پردازندههای کامپیوتری است که بر طبق طراحی RISC CPU و توسط کمپانی بریتانیایی ARM Holding طراحی شده است. معماری ARM که دستورالعمله... |
||
خط ۱:
[[پرونده:ARM powered Badge.svg|بندانگشتی|چپ|180px|لوگوی آرم]]
'''معماری آرم''' {{انگلیسی|ARM architecture}} نوعی از معماری و ساختار پردازندههای رایانهای است که بهوسیلهٔ شرکت انگلیسی [[آرم هولدینگز]] طراحی شدهاست و بیشتر برای [[تلفن هوشمند|تلفنهای هوشمند]]، [[تبلت|تبلتها]] و دستگاههای قابلحمل کاربرد دارد. معماری آرم دستورالعملهای ۳۲ بیتی را پردازش میکند و از دههٔ ۱۹۸۰ میلادی تا بهامروز در حال توسعه و گسترش است. شرکت آرم هولدینگز خود تولیدکننده پردازندهها نیست و گواهینامهٔ بهکارگیری از معماری آرم را به تولیدکنندگان نیمههادی میفروشد. کمپانیها نیز به راحتی تراشههای خود را براساس معماری آرم تولید میکنند. از جمله کمپانیهایی که پردازندههای خود را براساس معماری آرم طراحی میکنند میتوان به [[اپل]] در تراشههای اختصاصی خود، [[سامسونگ الکترونیکس]] در پردازندههای [[اگزینوس]]، [[انویدیا]] در پردازشگرهای [[تگرا]] و [[کوالکام]] در پردازندههای [[اسنپدراگون]] اشاره کرد. معماری آرم بهگونهای طراحیشده که برای هسته اصلی پردازشگر تنها به حدود ۳۵ هزار [[ترانزیستور]] نیاز است و این باعث میشود که پردازنده بسیار کممصرف شود، کمتر داغ کند و نیازی به خنککننده یا فن نداشته باشد بر خلاف [[معماری ایکس۸۶|معماری x86]] بهکار رفته در پردازندههای شرکتهای [[اینتل]] و [[ایامدی]] که نیازمند میلیونها ترانزیستور هستند و همین مسأله باعث افزایش توان مصرفی و داغ شدن آنان میشود. شرکت آرم هولدینگز اعلام کرده که در سال ۲۰۱۴ معماری آرم با قابلیت پشتیبانی از دستورالعملهای ۶۴ بیتی در پردازندههای کورتکس-ای۵۳ و کورتکس-ای۵۷ که توسط این شرکت تولید خواهد شد، عرضه میشود.
== تاریخچه ==
ARM نوعی از معماری پردازندههای کامپیوتری است که بر طبق طراحی RISC CPU و توسط کمپانی بریتانیایی ARM Holding طراحی شده است. معماری ARM که دستورالعملهای 32 بیتی را پردازش میکند از دهه 1980 تا به امروز در حال توسعه است.
ARM مخفف Advanced RISC Machine است و از آنجایی که این معماری براساس طراحی RISC بنا شده، هسته اصلی CPU نیاز به 35 هزار ترانزیستور دارد این در حالی است که پردازندههای معمولی رایج x86 که براساس CISC طراحی شدهاند حداقل نیاز به میلیونها ترانزیستور دارند. مهمترین دلیل مصرف بسیار پایین انرژی در پردازندههای مبتنی بر ARM که باعث استفاده گسترده آنها در ابزارهای پرتابل مانند تلفن هوشمند یا تبلت شده نیز همین موضوع است.
جالب است بدانید که شرکت ARM Holding خود تولیدکننده پردازنده نیست و در عوض گواهی استفاده از معماری ARM را به دیگر تولیدکنندگان نیمه هادی میفروشد. کمپانیها نیز به راحتی تراشههای خود را براساس معماری ARM تولید میکنند. از جمله کمپانیهایی که پردازنده خود را براساس معماری ARM طراحی میکنند میتوان به اپل در تراشههای Ax، سامسونگ در پردازندههای Exynos، انویدیا در تگرا و کوالکام در پردازندههای Snpdragon اشاره کرد.
در سال 2011 مشتریان ARM توانستند 7.9 میلیارد ابزار مبتنی بر این معماری را وارد بازار کنند. شاید تصور میکنید که پردازندههای مبتنی بر ARM تنها در تبلت و تلفنهای هوشمند بکار گرفته میشوند، اما جالب است بدانید که در همین سال بیش از 95 درصد تلفنهای هوشمند دنیا، 90 درصد دیسکهای سخت (HDD)، حدود 40 درصد تلویزیونهای دیجیتال و ستتاپباکسها، 15 درصد میکروکنترلرها و 20 درصد کامپیوترهای موبایل مجهز به پردازندههای مبتنی بر معماری ARM بودهاند. بدون شک این آمار در سال 2012 رشد فوقالعاده چشم گیری را تجربه کرده است، چون بازار تلفنهای هوشمند و تبلتهای در سال جاری پیشرفت قابل ملاحظهای داشتهاند.<ref name="زومیت">{{یادکرد وب|نشانی = http://zoomit.ir/articles/hardware/cpu/3915-%D9%85%D8%B9%D9%85%D8%A7%D8%B1%DB%8C-arm |عنوان = معماری ARM چیست؟ چه تفاوتی با x86 اینتل دارد؟|ناشر = زومیت|تاریخ بازدید = ۲۵ جولای ۲۰۱۵|تاریخ = ۳ مرداد ۱۳۹۴}}</ref>
تا اینجای کار معماری ARM تنها برروی پلتفرم 32 بیتی با عرض حافظه 1 بایت کار میکرد. اما با معرفی ARMv8 این معماری پشتیبانی از دستورهای 64 بیتی را نیز آغاز کرد که البته هنوز در سیستم-روی-یک-چیپها بکار گرفته نشده است. در سال 2012 مایکروسافت نیز نسخه ویندوز سازگار با معماری ARM را به همراه تبلت سرفیس RT معرفی کرد. AMD نیز اعلام نموده که قصد دارد در سال 2014 سرورهای مبتنی بر معماری 64 بیتی 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 اینتل براساس آن طراحی شده و پردازنده کامپیوترهای رومیزی و لپ تاپها و بسیاری از ابزارهای دیگر از آن بهره میبرند.<ref name="زومیت"/>
ایده اصلی RISC اولین بار توسط جان کوکی از IBM و در سال 1974 شکل گرفت، نظریه او به این موضوع اشاره داشت که یک کامپیوتر تنها از 20 درصد از دستورها نیاز دارد و 80 درصد دیگر، دستورها غیرضروری هستند. پردازندههای ساخته شده براساس این طراحی از دستورها کمی پشتیبانی میکنند به این ترتیب به ترانزیستور کمتری نیز نیاز دارند و ساخت آنها نیز کم هزینه است. با کاهش تعداد ترانزیستورها و اجرای دستورها کمتر، پردازنده در زمان کمتری دستورها را پردازش میکند. کمی بعد اصطلاح RISC توسط یک استاد دانشگاه کالیفورنیا به نام دیوید پترسون ایجاد شد.
هر دو طراحی RISC و CISC به مراتب در انواع و اقسام ابزارها بکار گرفته میشوند، اما مفهوم کلی RISC در واقع سیستمی است که در آن به پردازش دستورها کوچک و به شدت بهینه شده پرداخته میشود، درست برخلاف CISC که در آن دستورها پیچیده ارسال میشوند. یکی از تفاوتهای عمده بین RISC و CISC نیز در نحوه دسترسی به حافظه و ذخیره و اجرای اطلاعات برروی آن است. در ریسک دسترسی به حافظه تنها از طریق دستورالعملهای خاصلی قابل انجام است و به عنوان مثال نمیتوان از بخشی از دستور add به حافظه دسترسی داشت.
علاوه بر ARM شرکتهای بسیار دیگری از جمله Intel i860, AMD 29k, ARC و غیره از طراحی RISC برای ساخت پردازنده استفاده میکنند، اما به لطف گسترش تلفن و تبلتها، معماری ARM به عنوان برجستهترین معماری مبتنی بر RISC شناخته میشود.
==سیستم-روی-یک-چیپها و معماری 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 ساخته میشوند.
از جمله سیستم-روی-یک-چیپهایی که هسته اصلی آنها براساس معماری ARM طراحی شدهاند میتوان به 3 نسل اول تگرا انویدیا، 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 و برخی دیگر از تولیدکنندگان از آن استفاده میکردند.<ref>{{یادکرد وب|نشانی = http://zoomit.ir/articles/hardware/cpu/5990-arm-business-model |عنوان = نگاهی به نگرش آرم در امر طراحی و تولید تراشه و علت موفقیت آن|ناشر = زومیت|تاریخ بازدید = ۲۵ جولای ۲۰۱۵|تاریخ = ۳ مرداد ۱۳۹۵}}</ref>
'''سیستمعاملهای توکار:''' معماری 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:''' برخی از مشتقهای BSD مانند OpenBSD و iOS و OS X اپل نیز از ARM پشتیبانی میکند.
'''ویندوز:''' معماریهای ARMv 5, 6 و 7 از ویندوز CE که در ابزارهای صنعتی و PDAها استفاده میشود، پشتیبانی میکند. ویندوز RT و ویندوز فون نیز از معماری ARMv7 پشتیبانی میکنند.
==گواهی و هزینه استفاده از معماری ARM==
ARM خود تولیدکننده نیمه هادی نیست و در عوض از راه صدور مجوز استفاده از طراحیهای خود، درآمد کسب میکند. گواهی استفاده از معماری ARM شرایط خاص و متنوعی را دارد و در شرایط مختلف هزینه مربوط به استفاده از آن نیز تفاوت میکند. ARM به همراه گواهینامه خود اطلاعات جامعی در مورد نحوه یکپارچگی قسمتهای مختلف با هستهها را ارائه میکند تا تولیدکنندگان به راحتی بتوانند از این معماری در سیستم-روی-یک-چیپهای خود بهره ببرند.
ARM در سال 2006 و در گزارش سالانه خود اعلام کرد که 164.1 میلیون دلار از بابت حق امتیاز یا حق اختراع، درآمد داشته که این مبلغ از بابت فروش گواهی استفاده از معماری این شرکت در 2.45 میلیارد دستگاه مبتنی بر ARM بدست آمده است. این یعنی ARM Holding بابت هر گواهی 0.067 دلار درآمد کسب نموده، اما این رقم میانگین است و براساس نسلهای مختلف و نوع هستهها متفاوت خواهد بود. مثلا هستههای قدیمی ارزانتر و معماری جدید گرانتر است.
اما در سال 2006 این شرکت از بابت گواهی استفاده از طراحی هسته پردازنده، نزدیک به 119.5 میلیون دلار درآمد بدست آورده است. در آن سال 65 پردازنده براساس معماری هسته های ARM ساخته شده بودند که به این ترتیب بابت هر گواهی پردازنده مبلغ 1.84 میلیون دلار درآمد کسب کرده است. این عدد نیز بصورت میانگین میباشد و براساس نوع و نسل هستهها متفاوت خواهد بود.
در واقع شرکت ARM Holding از معماری ARM دو نوع درآمد دارد یکی بابت استفاده از معماری این شرکت در ابزارهای مختلف که بابت هر تلفن یا تبلت یا هر ابزار دیگری مبلغی بدست میآورد و دیگری بابت هر پردازنده مبتنی بر معماری هستههای ARM نیز یک رقم نسبتا سنگین حدود 2 میلیون دلار دریافت میکند. در سال 2006 نزدیک به 60 درصد درآمد ARM از بابت حق امتیاز و 40 درصد بابت گواهی ساخت پردازنده براساس معماری ARM بوده است.
==آرم چطور تجارت میکند؟==
روش کار آرم بسیار ساده است و با آنچه در دنیای پیسی شاهد هستیم، متفاوت میباشد. به طور کلی آرم سه نوع لایسنس اصلی به مشتریان واگذار میکند: POP، پردازنده و معماری.
لایسنس پردازنده اجازهی استفادهی مایکروپراسسور یا پردازندهی گرافیکی طراحی شده توسط آرم است. در این صورت نمیتوان طراحی را تغییر داد، اما میتوان از آن به هر شکل ممکن استفاده کرد. به عنوان مثال تراشههای اگزینوس اُکتای سامسونگ را در نظر بگیرید، در این تراشهها از 4 هستهی ARM Cortex A7 و 4 هستهی Cortex A15 استفاده شده است. این روش استفاده بیانگر لایسنس استفاده از پردازنده است.
آرم در مورد کاربرد طرحها در سیلیکون راهنماییهایی میکند، اما در نهایت تیم به کارگیری فیزیکی پردازنده است که برای رسیدن به بهترین فرکانس در توان مصرفی مورد نظر تصمیم میگیرد.
بستهی بهینهسازی پردازنده یا Processor Optimization Pack یک قدم فراتر از لایسنس استفاده از پردازنده است. اگر مشتری در کاربرد فیزیکی پردازنده ماهر نباشد، آرم با فروش POP به آنها کمک میکند و یا به عبارت دیگر یک طرح یک پردازندهی بهینه را به مشتری میفروشد تا پس از تولید در یک کارخانهی خاص، حداقل کارایی مشخص شده را دارا باشد.
در مورد هستههای Cortex A8 آرم، اپل و سامسونگ به شکل خاصی از آن استفاده کردند که باعث بهینه شدن فرکانس در برابر توان مصرفی شد. این دو کمپانی به مواردی که طراحی و کاربرد Cortex A8 را دشوار میکرد، دسترسی داشتند؛ اما بسیاری از دیگر تولیدکنندگان پهنای باند لازم و یا بودجهی کافی برای انجام بهینهسازیها را نداشتند.
POPها برای ترکیبی از پردازندهها، کارخانهها و فرآیندهای تولیدی مختلف آماده شده است. به عنوان مثال برای تولید پردازندهی Cortex A12 در کارخانهی TSMC طی فرآیند تولید 28 نانومتری HPM یک POP مشخص وجود دارد.
آخرین و کاملترین لایسنس، لایسنس معماری است. در این روش آرم لایسنس یکی از معماریها مثل ARMv7 یا ARMv8 را به مشتری واگذار میکند و مشتری میتواند به هر شکل دلخواهی از آن استفاده کند.
کوآلکام برای طراحی و تولید هستههای Krait و اپل برای طراحی هستههای Swift از این لایسنس استفاده کردهاند. چنین مایکروپراسسورهایی با معماری استاندارد صنعتی (یا ISA) هستههای Cortex A15 سازگاری دارند، اما کاربرد خاصی از معماری استاندارد صنعتی آرم هستند. برای تأیید سازگاری باید طبق دستورالعمل آرم عمل کرده و تستها را یکی پس از دیگری انجام داد. آرم پشتیبانیهایی برای طراحان در نظر گرفته ولی تصمیم نهایی، استفاده و بررسی اعتبار طرحها بر عهدهی مشتری است.
از نگاه آماری آرم حدود 1000 لایسنس به 320 کمپانی مختلف فروخته است. از این 320 کمپانی تنها 15 مورد لایسنس معماری را در اختیار دارند.
==آرم و اینترنت اشیا==
سیستمعامل mbed جایگزین نرمافزار چند بخش توسعهداده شدهای خواهد شد که برنامهنویسان از آن روی تراشههای مبتنی بر معماری ARM استفاده میکردند.
شرکای سختافزاری میتوانند از این سیستمعامل تا پایان سال جاری استفاده کنند و ابزارهای مبتنی بر mbed را نیز میتوان از ابتدای سال ۲۰۱۵ میلادی در بازار مشاهده کرد. کمپانی ARM همچنین mbed Device Server را نیز توسعه خواهد داد که براساس آن توسعهدهندگان قادر خواهند بود تا گواهی مورد نیاز برای پشتیبانی از سمت سرور را برای ابزارهای مبتنی بر اینترنت اشیا ایجاد کنند.
همانطور که گفتیم، کمپانیهای مختلفی تلاشهایی را در جهت توسعهی هرچه بیشتر اینترنت اشیا به انجام رساندهاند که البته در این بین جای خالی ابزارهای مبتنی بر این فناوری خالی است. ARM بهعنوان یکی از بزرگترین کمپانیها در زمینهی طراحی تراشههای موبایل برای فعالیت بهتر در این حوزه باید پلتفرمی را ایجاد میکرد تا ۷۰،۰۰۰ توسعهدهندهی موجود برای mbed را تغذیه کند.
== جستارهای وابسته ==
|