arm-cortex-a15

تا اواسط دهه ۲۰۰۰ میلادی، دنیای فناوری، جولان گاه رایانه های رو میزی یا نهایتا لپ تاپ های سنگین و بزرگ بود. اما آیا تا به حال این سوال برای شما پیش آماده است که چه اتفاقی افتاد که این دستگاه ها به یک باره جای خود را به موبایل ها و تبلت ها سبک و باریک دادند؟ آیا تا قبل از آن کسی به کوچک و کم مصرف کردن واحد های پردازشی فکر نکرده بود؟ حقیقت این است که خیلی قبل از آن، شرکت های عظیم فناوری تلاش برای کوچک کردن و قابل حمل نمودن دستگاه های رایانه ای را آغاز کرده بودند، اما مانع اصلی بر سر راه  این کار، میزان مصرف پردازش گر های x86 بود. اینتل به عنوان غول بلامنازع ساخت تراشه های پردازشی، خود سال ها تلاش نمود تا میزان مصرف انرژی در این تراشه ها را کاهش دهد و تا حدودی هم موفق بود، اما پا گرفتن یک معماری جدید در ساخت پردازش گر ها تمام معادلات را دگرگون کرد.

تاریخچه معماری آرم

معماری ARM که در اصل مخفف Acorn RISC Machine است، اولین بار توسط شرکت بریتانیایی Acorn computer توسعه یافت. نکته جالب اینکه این معماری جهت پردازش در رایانه های شخصی و در دهه ۱۹۸۰ توسعه پیدا کرده است. شرکت Acorn یکی از چندین استار آپ کوچکی بود که در دوره تب مایکرو رایانه ها در کمبریج تاسیس شد. در سال ۱۹۸۱ شرکت Acorn یک رایانه به نام BBC Micro برای شبکه بی بی سی ساخت تا آن ها با تولید یک سریال تلویزیونی به افزایش سواد رایانه ای در سراسر بریتانیا کمک کنند. در سال ۱۹۸۴ هشتاد درصد از مدارس سراسر بریتانیا، حداقل یک مدل از این رایانه را تهیه کرده بودند. از همان زمان به نظر می رسید این شرکت آینده درخشانی خواهد داشت.

bbcMicro3BBC Micro

اما با اضافه شدن رابط گرافیکی به رایانه های Acorn آن ها نیاز داشتند تا سرعت پردازش را افزایش دهند. خرید پردازنده مایکرو از دیگر شرکت ها کار عاقلانه ای نبود زیرا آن پردازنده ها به اندازه کافی سریع نبودند. همچنین طراحی یک پردازنده برای شرکت کوچکی مثل Acorn آن هم تنها با ۴۰۰ کارمند کار بسیار سختی به نظر می رسید. آن ها باید به ساختار ساده تری در طراحی دست پیدا می کردند که بهره وری بالایی نیز داشته باشد. در نهایت طراحان Acorn به ساختار تازه ای دست پیدا کردند و آن را “reduced instruction set computing” یا RISC نامیدند. رایانه هایی که با این پردازنده تولید شدند، Acorn RISC Machin یا ARM نام گرفتند. یکی از اولین کاربردهای تجاری، پردازش گر های این شرکت در همکاری با شرکت اپل بود. اپل در حال ساخت نوعی رایانه قابل حمل به نام نیوتن که پدر تبلت های امروزی محسوب می شد، بود. پردازنده ARM بر روی نیوتن به خوبی جواب داد، زیرا این نوع پردازنده با توجه به قدرت پردازشی که فراهم می کرد، مصرف بسیار اندکی داشت. نیوتن که در زمان خود دستگاهی انقلابی محسوب می شد، نگاه ها را به معماری ARM معطوف کرد. گرچه این دستگاه حدود ۲۰ سال قبل از عصر تلفن های هوشمند، هیچوقت موفقیت تجاری بزرگی را برای اپل به همراه نداشت، اما نشان داد که می توان با استفاده از پردازنده های مبتنی بر معماری ARM دستگاه های قابل حمل قدرتمندی را تولید کرد.

newton2100Apple Newton 2100

گرچه معماری خاص پردازنده های ARM، آن ها را به بهترین گزینه برای دستگاه های قابل حمل تبدیل می کرد، اما همین معماری خاص باعث ضربه خوردن آن نیز شد و این نوع پردازنده ها را از بازار رایانه ها دور نگه داشت. انحصار وینتل (مایکروسافت ویندوز و پردازنده های اینتل) هرگز در بازار پردازش رایانه ها با خطری از سوی پردازنده های ARM مورد تحدید قرار نگرفت. متاسفانه طراحی این نوع پردازنده از نیاز بازار کمی جلو تر بود و در آن زمان شرکت ها قادر به ساختن دستگاه های قابل حمل انقلابی نبودند و به همین دلیل شرکت Acorn تحت سلطه بازار رایانه های شخصی برای مدتی از انظار محو شد. البته آن ها به فعالیت های خود در زمینه ساخت رایانه برای مدارس و دستگاه های همراه غیر هوشمند ادامه دادند تا این که سال ۲۰۰۷ فرا رسید. اپل با معرفی آیفون که در درون خود از پردازنده با معماری ARM که به دست سامسونگ ساخته شده بود، بهره می برد، دوران سلطنت این معماری بر پردازش موبایلی را آغاز کرد.

ساختار متفاوت

اما معماری این پردازنده ها چه تفاوتی دارد که تا این اندازه آن ها را کم مصرف و پر قدرت می کند؟ همانطور که می دانید در دنیای پردازش گر ها دو نوع معماری بسیار متداول است. یک معماری ARM که توسط شرکت Acorn خلق شده است و دیگری معماری مختص به شرکت اینتل که آن را تحت عنوان معماری x86 می شناسند. همه چیز در دنیای رایانه ها بر پایه پردازنده توسعه می یابد. شرکت های نرم افزاری قبل از توسعه سیستم عامل ها باید بدانند که آن را بر مبنای کدام معماری می خواهند توسعه دهند. توسعه دهندگان نیز باید آگاه باشند نرم افزاری که در دست نگارش دارند برای کدام سیستم عامل و طبیعتاً بر مبنای کدام نوع معماری پردازشی قرار است کار کند.

همانطور که از اسم معماری ARM یا reduced instruction set computing مشخص است، پردازنده های مبتنی بر آن از دستورات ساده سازی شده پیروی می کنند. یعنی نرم افزار ها تنها دستورات ساده را می توانند برای پردازش به آن ها ارسال نمایند. اگر در این سیستم پردازشی دستوری برای هسته پردازش گر ارسال شود که بهینه نباشد، و دارای پیچیدگی باشد، پردازنده قابلیت خوانش آن دستور را نخواهد داشت. البته به لطف پیشرفت های نرم افزاری و سخت افزاری در این زمینه، اکنون پردازنده های ARM قابلیت خوانش دستورات پیچیده تر را با تکنیک های خاص دارا شده اند. اکنون دستورات پیچیده، بایستی به چند دستور ساده تقسیم شده و به هسته مرکزی پردازش گر فرستاده شود. همچنین پردازنده های ARM در هر سیکل پردازشی قادر به خوانش یک دستور هستند، بنابراین اگر نرم افزار شما دارای دستورات پیچیده ای باشد، حتی اگر آن ها را به چند دستور به شدت ساده تقسیم بندی نماید، باز مدت زیادی طول می کشد تا همه دستورات به نوبت پردازش شوند.

ARM-Microsoftدر هر صورت دستورات ساده تر و پردازش به نوبت به معنی تعداد ترانزیستور کمتر در مدار پردازشی است. تعداد ترانزیستور کمتر به معنای مصرف انرژی و تولید گرمای کمتر است. این قضیه در تولید دستگاه های قابل حمل کاملا ضروری است که پردازنده ما گرما تولید نکند و انرژی کمتری مصرف نماید. در یک پردازنده ARM نهایتا تا ۳۵ هزار ترانزیستور استفاده می شود، در حالی که این عدد برای ساده ترین پردازنده های x86 به میلیون ها عدد می رسد.

اما در پردازنده های x86 که شرکت اینتل تقریبا تنها تولید کننده بزرگ آن است، از نوعی معماری به نام CISC یا Complex Instruction Set Computing استفاده می گردد. این نوع پردازنده ها می توانند تعداد زیادی دستور پیچیده را به صورت دسته ای مورد پردازش قرار دهند. البته این قدرت پردازشی به قیمت مصرف انرژی زیاد و گرمایش فراوان صورت می گیرد.

Intel evulotationاما تفاوت دیگری که ایجاد می شود در کد نویسی برای این دو نوع معماری است. طبیعتاً بخشی از زحمت پردازش در نرم افزار ها مختص ARM به عهده توسعه دهنده خواهد بود! یعنی چون پردازش گر نیاز به کد های کوتاه و ساده دارد، این توسعه دهنده است که باید مجموعه دستورات را طولانی تر نوشته و آن ها را ساده کند. در حالی که در پردازنده های x86 می توان از دستورات پیچیده، اما کوتاه استفاده نمود و همچنین توسعه دهنده نگران تعداد سیکل های پردازشی که چیپ  مجتمع در آن ها اسیر می شود، نیست.

در دنیای تجارت

درست است که با ظهور دستگاه های همراه، استفاده از پردازنده های ARM شدت گرفت، اما کماکان برای پردازش پر قدرت در رایانه ها و سرور ها نیازمند پردازنده های x86 هستیم. از طرفی حق استفاده از معماری x86 تقریبا در تنها در اختیار شرکت اینتل و چند شرکت دیگر (AMD) است ولی شرکت ARM حق استفاده از این معماری را در مقابل مبلغ ناچیزی به دیگر تولید کنندگان می فروشد. زیرا شرکت ARM خود هیچ گاه اقدام به تولید چیپ های مجتمع پردازشی نکرده است. از طرفی با توجه به تعداد کثیر تولید کنندگانی که از این معماری استفاده می کنند قیمت این پردازش گر با افت مواجه شده است. استفاده از یک فناوری توسط شرکت های متعدد هم باعث کاهش قیمت و هم باعث بهینه سازی های فراوانی در آن می شود. بنابراین می توان انتظار داشت که بهینه سازی و پیشرفت این فناوری با سرعت زیاد ادامه پیدا کند. یکی از ایراد ها بزرگی که به ARM وارد بود، شامل عدم پشتیبانی از ساختار ۶۴ بیت می شد که البته این مشکل نیز هم اکنون حل شده است و تقریبا تمامی سازندگان تلفن همراه از پردازنده های ARM با ساختار ۶۴ بیت در تولیدات خود بهره می برند.

Risc vs CIsc

البته از نظر بازار، این دو معماری هرگز رقیبی برای یکدیگر محسوب نمی شدند. کاربرد پردازنده های ARM و x86 کاملا متفاوت است و این دو هرگز جایگزینی برای یکدیگر نخواهند بود. البته اینتل چندین بار برای تصاحب جایگاه خود در بازار ابزار های قابل حمل تلاش هایی انجام داد، اما هرگز نتوانست زنگ خطر را برای پردازنده های کم مصرف به صدا در بیاورد. اینتل در آخرین تلاش خود برای توسعه یک پردازنده پر قدرت ولی کم مصرف مدل Core M را به بازار معرفی کرد. گرچه این پردازنده نسبت به برادران x86 خود کم مصرف است اما تا رسیدن به نقطه ای که ARM در آن قرار دارد، فاصله چشم گیری دارد. در ثانی این پردازنده قدرت کمتری هم نسبت مدل های دیگر ساخت اینتل دارد. اما آن چیزی که مشخص است، با توسعه روز افزون معماری ARM و استفاده چشم گیر آن در پردازش موبایلی، بسیاری از توسعه دهندگان سیستم عامل نیز خود را ناچار دیدند تا با ایجاد اصلاحات در هسته محصول، آن ها را با این گونه پردازنده ها هم خوان کنند. مایکروسافت نیز سال ها پیش با ارائه ویندوز RT سعی در ارائه سیستم عامل خود، برای این گونه پردازنده ها داشت، که البته تجربه بسیار نا موفقی بود. هم اکنون تنها محصول مایکروسافت که برای این معماری توسعه یافته، ویندوز ۱۰ موبایل است. سیستم عامل های BSD، بسیاری از توزیع های لینوکس (از جمله اندروید، کروم، ابونتو)، IOS و OS X اپل نیز همگی از چیپ های ARM پشتیبانی به عمل می آورند.

منبع : وینفون
306 پست
حسین محمدزاده
لیسانس مدیریت. (تکنولوژی دوست داشتنی ترین چیز در دنیا است)
مطالب مرتبط
دیدگاه کاربران
هنوز دیدگاهی ثبت نشده
برای نوشتن دیدگاه می توانید به حساب کاربری خود وارد شوید ورود ارسال نظر به صورت مهمان
برچسب ها: , , , , , , , , , , ,