هفته ی پیش در رویداد TechDay شرکت ARM از آخرین هسته های پردازنده موبایل خود با نام Cortex A73 رونمایی کرد و ویژگی های آن را مورد تشریح و بررسی قرار داد. قصد داریم تا طی مقاله ای جامع تمام ویژگی های ریزمعماری Artemis و هسته A73 را به صورت کامل مورد بررسی قرار دهیم. دیگر زمان آن رسیده که بدانیم در داخل اسمارت فون های ما چه خبر است و چه اتفاقاتی منتظر آنهاست. پیشنهاد می‌کنیم حتماً این مجموعه مقالات را مطالعه و دنبال کنید.

تنها حدود یک سال از رونمایی از Cortex-A72، هسته رده بالای ARM برای سال 2015 می‌گذرد؛ هسته ای که در رویداد ARM TechDay 2015 در لندن معرفی شد. در سال گذشته شاهد این بودیم که بسیاری از شرکت ها نه تنها از این هسته در تولید پردازنده های خود استفاده کردند، بلکه بعضی تولیدکنندگان مانند HiSilicon، چیپست های رده بالای خود مانند Kirin 950/955 را با هسته های A72 به تولید انبوه رساندند و این پردازنده ها به وفور در گوشی های هوشمند تولیدی هواوی در این سال مورد استفاده قرار گرفتند. در واقع ARM با تولید A72 نشان داد که می‌تواند توان بالای پردازشی را در کنار مصرف توان بسیار پایین ترکیب کند و بسیاری از شرکت ها هم از تولید پردازنده های خود با این هسته سود ببرند؛ ترکیبی که شاید تا قبل از این تا این حد منجر به بهینگی نشده بود.

اما سال 2016 با سرعت از راه رسید و باید دوباره ARM دست به کار می‌شد تا پردازنده های جدید را با هسته های جدید نو کند. سال جدید و رویداد TechDay جدید، بهترین زمانی بود که ARM می‌توانست نشان دهد، می‌تواند همچنان سلطه ی مسلم خود بر دنیای ریزمعماری پردازنده ها را با قدرت به پیش ببرد  و اینجا بود که شرکت با معرفی Artemis این ادعا را عملی کرد.

نگاهی به پیشینه ی مهم ریز معماری هسته های پردازنده ARM

اول از همه به شما دوستان بگوییم که A73 معماری هسته های رده بالای ARM است که ادامه دهنده ی راه هسته A72 است. قبل از اینکه سراغ جزئیات این هسته و پردازنده هایی که با استفاده از آن ساخته می‌شوند برویم، باید نگاهی به تاریخچه ی پردازنده های ARM در چند سال گذشته بیندازیم. تاریخچه ای که نشان می‌دهد چرا باید الان ما با A73 روبرو شویم و دلایل طراحی این هسته چه بوده است.

به عقیده ی بسیاری Cortex-A9 یکی از مهمترین ریزمعماری های هسته های پردازنده ARM بوده است. هسته ای که بسیاری از پردازنده های تولیدی مانند Apple A5، Samsung Exynos 4210/4412 و TI OMAP 4430/4460 با استفاده از آن ساخته شده اند و دستگاه هایی که از آنها قدرت می‌گرفتند توانستند عملکرد بسیار خوبی را در حوزه پردازش موبایل نشان دهند؛ به راستی وقوع این جهش بسیار مشهود بود.

بعد از عرضه موفق A9، شرکت ARM هسته Cortex-A15 را معرفی کرد که جهش اساسی دیگری در میزان کارآیی را برای هسته های سری Cortex-Ax در پردازنده های کاربردی (Application Processors) نشان می‌داد. A15 تقویت بسیار زیاد در حوزه قدرت پردازشی هسته ها را به همراه داشت ولی هنوز یک جای کار می‌لنگید و آن هم عدم ارائه توان موثر و همچنین مدیریت مناسب توان مصرفی پردازنده بود که با استفاده از این هسته در قسمت پردازنده چیپست هایی مانند Samsung Exynos 5250/5410 پروژه ی موقت ARM به شکست انجامید و هر دو شرکت سامسونگ و ARM در این مورد به توفیق چندانی نرسیدند.

اما این پایان کار برای غولی مانند ARM نبود و شرکت برای اینکه بتواند در هر دو بُعد مدیریت توان مصرفی و ارائه قدرت پردازشی بالا به سطح مناسبی برسد، تکنیک تولید دو گروه (کلاستر) از هسته ها در کنار هم با روش big.LITTLE را معرفی کرد. ساختار کلی این تکنیک به این نحو است که شما به جای هسته هایی که همواره از یک گروه انتخاب می‌شوند، دو مجموعه از هسته ها را در کنار هم در یک پکیج پردازنده قرار دهید و پردازنده ای واحد با دو نوع هسته داخلی بسازید. این مورد بسیار معمول است که یکی از کلاستر ها بخش با توان پردازشی بالا، و دیگری بخشِ با توانِ مصرفیِ پایین را تشکیل می‌دهد. این تکنیک تا قبل از اواخر سال 2014 و اوایل سال 2015 عملی نشد ولی بعد از آن با استفاده از big.LITTLE بالاخره ترکیب های مناسبی برای استفاده از A15 به دست آمدند و برای اولین بار چیپست های Samsung Exynos 5422 و HiSilicon Kirin 920 در قسمت پردازنده خود شروع به استفاده از big.LITTLE کردند.

بعد از A15 شرکت سراغ A57 رفت که می‌توانست اولین هسته ی مناسب برای استفاده در قسمت "big" تکنیک مذکور باشد. این هسته ها از مجموعه دستور العمل های ARMv8 و آن هم به صورت 64 بیتی استفاده می‌کردند و برای ساختن ترکیب کامل، شرکت، Cortex-A53 را نیز معرفی کرد که بتواند بخش LITTLE را تشکیل دهد و هسته ای باشد کم مصرف، برای مدیریت هر چه بیشتر میزان توان مصرفی پردازنده. همانطور که گفتیم این هسته ها اولین هسته های 64 بیتی موبایل بودند که بعد از سلطه ی هسته های بر مبنای معماری X86-64 روانه بازار شده بودند. همه چیز با خیالات خوش سران ARM پیش ‌رفت تا اینکه شرکت اپل با تولید پردازنده Apple A7 با هسته های Cyclone خود توانست به راحتی با تعداد هسته های کمتر (دو هسته ای در برابر 4 و 8 هسته ای)، قدرت پردازشی هسته های A57 را به سخره گرفته و پشت سر گذارد. البته در این سال به لطف استفاده از A57 و A53 بسیاری از شرکت ها شروع به تولید پردازنده های مورد نظر خود برای استفاده در سیستم های 64 بیتی نمودند و از این به بعد بود که هسته های 64 بیتی به استانداردی در حوزه پردازنده های موبایل بدل شدند.

موج استفاده از هسته های 64 بیتی در حال یکه تازی بود و بسیاری از شرکت ها نیز سوار بر آن. به این ترتیب حجم بسیار وسیعی از دستگاه های تولیدی در سال 2015 بودند که با ترکیب نه چندان بهینه Cortex-A57/53 روانه بازار می‌شدند. در این میان دو شرکت HiSilicon و MediaTek دست به ایده ای نو زدند و به جای استفاده از A57 و A53 در ترکیب big.LITTLE تصمیم به این گرفتند که تنها از A53 استفاده کنند. این هسته به نحو بسیار مناسبی توان مصرفی را کاهش می‌داد. در این حالت یک ایده ساده برای قسمت "big"  پردازنده ارائه شد و آن هم این بود که یک گروه از همین پردازنده ها ولی با فرکانس های بالاتر (برای مثال بالاتر از 2GHZ) برالی این قسمت در نظر گرفته شود.این ایده در نهایت منجر به تولید پردازنده های Kirin 930 و Helio X10 شد؛ پردازنده هایی 8 هسته ای، همگی با هسته های Cortex-A53. این کار اگرچه باعث مدیریت توان مصرفی هسته ها می‌شد ولی به واقع بخش دیگر قضیه هنوز مشکل داشت و این پردازنده ها قدرت پردازشی چندان زیادی نداشتند و باید در گروه میان رده ها بازار جای می‌گرفتند. شاید در این حوزه فقط سامسونگ توانست از نبرد بین مدیریت توان مصرفی و ارائه قدرت پردازشی سربلند بیرون آید و دو چیپست برای دو پرچمدار خود معرفی کرد، پردازنده های تولیدی شرکت در چیپست های Exynos 5433 (مورد استفاده در گلکسی نوت 4) و Exynos 7420 (مورد استفاده در خانواده گلکسی اس 6) عملکرد مناسب و قابل قبولی داشتند. عملکردی که با تجارب زیاد از به کار گیری هسته های پر مصرف Cortex-A15 در Exynos 5430 منجر به استفاده از ترکیب مدیریت شده ی Cortex-A53 در فرکانس 1.5GHz و Cortex-A57 در فرکانس 2.1GHz بدست آمد.

البته در این سال کوالکام هم حال و روز خوشی نداشت و وقتی از A53 و A57 در چیپست های Snapdragon 810 و Snapdragon 808 استفاده کرد، نتوانست به موفقیت چندانی برسد و داستان مشکلات بسیار زیاد حرارتی این چیپست ها باعث نزول بی سابقه ی میزان مشتریان و همچنین ارزش سهام شرکت شد. البته هر دو شرکت سامسونگ و کوالکام از استفاده از A53 و A57 درس های بسیاری گرفتند و ترجیح دادند در پردازنده های بعدی خود به کل قید هسته های ARM را بزنند و سامسونگ سراغ هسته های اختصاصی خود با معماری اختصاصی Mongoose رفت و چیپست Exynos 8890 را توسعه داد و کوالکام هم از هسته های اختصاصی اش با معماری Kryo در چیپست Snapdragon 820 استفاده کرد تا ARM هر چه بیشتر از پیش، بازار رده بالا ها را از دست بدهد.

ممکن است بعضی از شما دوستان به اینکه فکر کنیم که چرا ما به هسته هایی مانند A12 و A17 اشاره ای نکردیم. در واقع هدف از نگارش این مقاله طی مسیری است که می‌خواهد در نهایت به Cortex-A73 برسد و این دو هسته شاید تاثیری به مانند بقیه هسته هایی که در مورد آنها صحبت کردیم در داستان ما نداشته باشند. ولی برای خالی نبودن عریضه باید بگوییم که A12 به عنوان جانشین و ادامه دهنده ی راه Cortex A9 در ماه جولای 2013 وارد بازار شد و بعد از گذشت 6 ماه جای خود را به هسته ی جدیدتر A17 داد که در فوریه همان سال از راه رسید. این هسته با بهبود کارآیی و همچنین سازگاری برای استفاده همزمان با هسته Cortex-A7 در ساختار big.LITTLE توانست عملکرد مناسبی از خود نشان دهد. البته Cortex-A17 به صورت محدود در دنیای موبایل مورد استفاده قرار گرفت و تعداد کمی از SoC ها مانند Rockchip RK3288 و چند محصول کمتر شناخته شده مانند HiSilicon Hi3536 که پردازنده ای برای امور خاص چند رسانه ای بود از آن استفاده کردند و تنها عملکرد نسبتاً موفق آن در چیپست MediaTek MT6595 و گوشی هایی مانند Meizu MX4 بود.

چیپست MT6595 در واقع یک عضو برجسته از خانواده big.LITTLE بود که با ارائه توان موثر بسیار بالا و همچنین توان پردازشی بسیار خوب به مدد فرکانس کلاک 2.2GHz، توانست نمایش قابل قبولی از خود بر جای بگذارد. متأسفانه این بار که چیپست و پردازنده خوب عمل می‌کردند این تجربه ی کم شرکت Meizu بود که با استفاده ی نا مناسب از سخت افزار های سوال برانگیز و عدم سازگاری مناسب نرم افزار MX4 باعث نمایش بد گوشی در حوزه مدیریت مصرف باتری و کارآیی نهایی سیستم شد که موجبات بدنامی این چیپست را نیز فراهم کرد.

موردی که با بررسی MT6595 به ذهن متبادر می‌شود این است که اگر تولیدکنندگان گوشی های هوشمند و به دنباله ی آنها، تولید کنندگان پردازنده ها مجبور به حرکت به سمت پردازش 64 بیتی نمی‌رفتند، قدرت Cortex-A17 آنقدر کافی و مناسب بود که دیگر به هسته های امثال A57 نیاز پیدا نشود و تا عرضه هسته هایی مانند A72 و استفاده از لیتوگرافی های بر پایه ترانزیستورهای FinFET، بتوان از همین هسته ها در ساخت پردازنده های مورد استفاده در پرچمداران، استفاده کرد. اجباری که اشتیاق به پردازش 64 بیتی باعث تحکّم آن شد.

معرفی هسته های ARM Cortex A73

خب در مطالب بالا به صورت بسیار خلاصه نگاهی به تاریخچه ی ریز معماری های ARM داشتیم و الان زمان آن است که برویم سر اصل مطلب و در مورد ریز معماری Artemis که در ساخت هسته های Cortex A73 استفاده شده است صحبت کنیم. همانطور که می‌دانید تا اینجای کار، هسته های بسیار زیادی توسط ARM معرفی شده اند و هر کدام از آنها به وفور در ساخت پردازنده های مختلف استفاده شدند. اما وقتی نگاهی به ساختار های اصلی همه ی آنها می‌اندازیم شاید به سختی و با دیدی بسیار دقیق بتوانیم تفاوت های اساسی آنها را ببینیم. در واقع پردازنده هایی که با هسته هایی از جنس A15، A57 و A72 تا پیش از این ساخته شده بودند همگی به اتفاق از ریز معماری پردازنده های خانواده Austin استفاده می‌کردند که همانطور که از اسمش مشخص است به دلیل طراحی این ریز معماری در مرکز Austin شرکت ARM در ایالت تگزاس امریکا، این نام بر روی این ریزمعماری نهاده شده است.

هسته های A5، A7 و A53 در مرکز شرکت ARM واقع در شهر کمبریج بریتانیا طراحی شده اند و هسته های Cortex A12، A17 و هسته های جدید Cortex A73 نیز ساخته ی خانواده ی Sophia هستند که نام  شهری کوچک در پارک تحقیقاتی Sophia-Antipolis است که یکی از بزرگترین واحد های تکنولوژی اروپاست و نیز همینطور مرکز طراحی پردازنده های شرکت ARM در فرانسه در آنجا قرار دارد. بر اساس محل استقرار تیم های طراحی پردازنده، اینگونه به نظر می‌رسد که هر یک از مراکز تحقیق و توسعه شرکت ARM به صورت جزیره ای اقدام به توسعه معماری های مختص خود می‌کنند و بعد از عرضه نهایی می‌توان دید که هر کدام از مراکز خانواده ریز معماری های مختص به خود را توسعه داده اند و با این اوصاف باید ریز معماری Artemis که در Cortex A73 مورد استفاده قرار گرفته را نسل بعدی ریز معماری Sophia بنامیم که تا پیش از این ریز معماری پایه هسته Cortex A9 بود. پس در آینده نزدیک هم خواهیم دید که تیم های مختلف طراحی پردازنده های ARM در مراکز مختلف این شرکت به صورت اختصاصی اقدام به توسعه ریز معماری های خود کنند و هسته های مختلف پردازنده شرکت از هر کدامیک به صورت جداگانه سردرآورد.

ساختمان اصلی مرکز ARM Sophia

البته باید اینگونه بگوییم که Cortex A73 همچنان اصالت هسته های قبلی Sophia را دارد و شاید بتواند ادامه دهنده ی 64 بیتی هسته ی تحسین برانگیز Cortex A17 باشد. این هسته به صورت بسیار موثری میراث دار چند ویژگی اصلی هسته پیشین خود است و بزرگترین سورپرایزی که در A73 نسبت به A72 می‌بینیم، بازگشت از دیکدر های دستور 3-wide به دیکدر های 2-wide است که در ادامه به صورت مفصل در مورد آن صحبت خواهیم کرد. البته باید این مورد را هم بگوییم که بر طبق انتظار، A73 میزان کارآیی بیشتر و همچنین میزان توان مصرفی کمتری نسبت به A72 خواهد داشت.

مسلماً ARM این مورد را به خوبی می‌داند که راندمان بالای توان مصرفی مسأله ی اصلی این روزهای دنیای اسمارت فون هاست و به همین خاطر در کنفرانس TechDay امسال شرکت این مورد به وفور با استفاده از دو کلمه "کارآیی تقویت شده" خود را نشان می‌داد. کارآیی ابزارهای موبایل این روزها و علی الخصوص اسمارت فون ها به صورت ویژه با مسائل گرمایی آنها در ارتباط است. محدودیت حرارتی میزان گرمایی است که بدنه ی دستگاه قادر به جذب و دفع آن است تا به نقطه ی بحرانی اش نرسیده است. این مورد به وضوح در آزمایشات ما دیده شده و حتماً خود شما هم با آن برخورد کرده اید که اگر دمای سطح یک اسمارت فون به مدت طولانی بالا باشد، میزان کارآیی سیستم کاهش پیدا می‌کند تا همواره آن محدوده عملکرد امن دستگاه حفظ شود.

تا همین چند سال پیش یک گلوگاه مهم برای پردازش محتویات سه بعدی مانند بازی ها این بود که SoC در مواجهه با این بارهای پردازشی با مشکل روبرو می‌شود و اگر مدیریت دمایی به نحو صحیحی انجام نمی‌شد، میزان گرمای تولید شده از حدود مجاز برای پردازنده هم می‌توانست تجاوز کند. با در نظر نگرفتن چند استثناء در این مورد باید بگوییم که بسیاری از پرچمداران این روزهای موبایل قادر به ارائه ی حداکثر توان پردازشی خود برای مدت بیشتر از چند دقیقه ی کوتاه نیستند و البته این مورد شاید در طول روز هم چند بار به وقوع نپیوندد. به صورت خاص باید به این مورد اشاره کنیم که در دو نسل گذشته ی پردازنده ها این مورد ممکن شده است که میزان توان ماکزیمم دستگاه ها به صورت عادی تا 5 وات باشد و حتی بعضی از پردازنده های خاص به این هم رسیده اند که بتوانند به خوبی به توان هایی تا بیشتر از 10 وات نیز برسند که البته این توان ها چندان منجر به کارآیی فوق العاده چشمگیر نشده است.

این مورد امری حتمی است که پردازنده های موبایل  در حال حرکت به سمتی هستند که تولید کنندگان از آن ها می‌خواهند و آن مدیریت همزمان میزان توان مصرفی و میزان کارآیی پردازنده است. به عنوان یک نمونه ی عالی در مدیریت عالی خصوصیات گرمایی می‌توانیم به چیپست HiSilicon Kirin 950 اشاره کنیم که با ایجاد توازن مثال زدنی بین قدرت پردازشی و همچنین میزان توان مصرف شده و به طبع گرمای تولیدی آن به ترکیبی ایده آل برسد که این روزها بتواند در پرچمدارهای شرکت Huawei به صورت گسترده مورد استفاده قرار گیرد.

ARM هم این مورد را به خوبی درک می‌کند و دلیل اصلی اینکه Cortex A73 تمرکز بیشتری بر روی مدیریت میزان دمای تولید شده، میزان توان مصرفی و همچنین پیک کارآیی پردازنده دارد نیز همین است. ARM احساس می‌کند که این مهم با تغییر طراحی پایه IPC هسته ی Cortex A72 و استفاده از دیدکدر های دستورات 2-wide قابل دسترس خواهد بود.

 

در قسمت اول این مقاله به بررسی اجمالی نسل های پیشین ریز معماری های مهم هسته پردازنده های ARM از Cortex A9 به بعد پرداختیم و ویژگی های هر یک را با ذکر معایب و مزایای آنها مورد بحث قرار دادیم. سپس سراغ معرفی اولیه هسته های Cortex A73 رفتیم و از بیرون به آن نگاه کردیم. در قسمت دوم این مقاله قصد داریم تا به دقت در مورد ویژگی های A73 ریز شویم و آن را زیر ذره بین بگیریم. با ماه همراه شوید.

لیتوگرافی 10 نانومتری راهکاری وسوسه انگیز

اول از همه باید به شما دوستان بگویم که معماری Cortex-A73 برای استفاده در تراشه های با لیتوگرافی 10 نانومتری FinFET توسعه داده شده ولی این مورد امکان پذیر است که شرکت های تولید کننده تراشه از این هسته ها در چیپ های 14 یا 16 نانومتری هم استفاده کنند که در این صورت با توجه به سبک خاص طراحی ARM با مشکل مواجه نخواهند شد. در مقابل اگر از ساختار پیش فرض و لیتوگرافی 10 نانومتری برای ساخت تراشه های بر پایه Cortex-A73 استفاده شود، نتیجه، مساحت کمتر از 0.65 میلی متر مربع برای سطح پردازنده خواهد بود که کوچکترین مساحت اشغال شده توسط هسته های ARMv8-a می‌باشد.

این مورد به خودی خود انبوهی از مزایا را به همراه دارد که بارزترین آنها کاهش حجم تراشه نهایی و کمک به ساختن تراشه های نازک تر است. در این حالت ابزارهای هوشمندی که با این تراشه ها ساخته خواهند شد نیز می‌توانند در ابعاد نازکتری ساخته شود و روز به روز شاهد تولید گوشی های هوشمند و ابزارهای دیگر با ضخامت کمتر خواهیم بود.

اگر شما به عنوان نمونه یک پردازنده 16 نانومتری FinFET با هسته های A73  را در کنار یک پردازنده 16 نانومتری FinFET با هسته A72 قرار بدهید، ARM به شما تضمین می‌دهد که هسته های A73 توان پردازشی تا 15 درصد بیشتر راارائه می‌دهند که دلیل آن بازطراحی هسته های A73 است. حال اگر شما به لیتوگرافی پیش فرض این هسته ها یعنی همان 10 نانومتری کوچ کنید نیز خواهید دید که یک پردازنده A73 با لیتوگرافی 10 نانومتری در برابر یک پردازنده A72 با لیتوگرافی 16 نانومتری تا 30 درصد کارآیی بیشتری خواهد داشت.

این مورد به خودی خود نشان می‌دهد که مهاجرت به لیتوگرافی 10 نانومتری تا چه حد می‌تواند برای شرکت های تولید کننده پردازنده موثر و مفید باشد. کاهش توان مصرفی، افزایش توان پردازشی، کاهش حجم و میزان سیلیکون مصرفی که نتیجه آن کاهش هزینه تمام شده تراشه خواهد بود و البته کاهش ضخامت فیزیکی تراشه نهایی، همگی از مزایای لیتوگرافی 10 نانومتری در کنار استفاده از هسته های جدیدتر است که می‌تواند در هر دو گروه ابزارهای اندرویدی و ابزارهای ساخت اپل مورد استفاده قرار بگیرد.

با توجه به اینکه تا این لحظه در حدود 10 شرکت  شامل HiSilicon، Marvell، مدیاتک و ... لایسنس مربوط به معماری هسته های ARM Cortex-A73 را از این شرکت خریداری کرده اند، باید در نسل بعدی ابزارهای هوشمند شاهد استفاده گسترده از این هسته ها باشیم که راه خود را اوایل سال 2017 به این ابزارها پیدا خواهند کرد.

ساختار های ترکیبی با هسته های دیگر چگونه خواهد بود؟

هسته های A73 به صورت عادی می‌توانند برای کار در سرعت کلاک تا 2.8 گیگاهرتز تنظیم شوند. اگر شما علاقمند به این باشید که از این هسته هادر پیکربندی big.LITTLE استفاده کنید، هسته های Cortex-A53 و Cortex-A35 می‌توانند از انتخاب های شما باشند. در این حالت A53 در ابزارهای با نیاز به توان پردازشی بیشتر و A35 برای ابزارهای میان رده مناسب تر خواهند بود.

البته این هسته ها قابلیت این را هم دارند که در ساختار های 6 هسته ای نیز مورد استفاده قرار گیرند که در این حالت دو هسته A73 می‌تواند در کنار 4 هسته A53 ایفای نقش کند که نکته جالب این است که فوت پرینت (شکل چیدمان پایه های تراشه) ساختار نهایی، درست مانند پردازنده های با 8 هسته Cortex-A53 خواهد بود که در آن دو کلاستر 4 هسته ای از یک نوع داریم.

در ساختار big.LITTLE برای عملکرد پردازنده در توان های پردازشی کمتر و برای صرف انرژی کمتر ابتدا دو هسته A53 یا A35 مورد استفاده قرار می‌گیرند و زمانی که نیاز به توان پردازشی بیشتری احساس شود، هسته های A73 وارد گود شده و عملیات انتقال بار پردازشی به آنها محول خواهد شد. البته این عمل باید توسط سیستم عامل انجام گردد که زمان بندی صحیح هر گروه از هسته ها برای عملکرد مناسب، نتیجه نهایی را مشخص می‌کند.

چه زمانی باید نگران گلوگاه های این هسته باشیم؟

صحبت کردن در مورد اینکه گوشی هوشمند شما چه زمانی نیاز به توان پردازشی بیشتری خواهد داشت و چه نرم افزاری توان بیشتری را از آن طلب می‌کند بحث اصلی و گلوگاهی است که پردازنده های موبایل با آنها روبرو هستند. در دنیای موبایل، شما امکانات سرورها و سیستم های دسکتاپ را ندارید و نمی‌توانید واترکولینگ ها و سیستم های دفع حرارت بزرگ را داخل پکیج میلی متری دستگاه جای دهید و تا هر چقدر که خواستید پایتان را روی پدال گاز فرکانس پردازنده گذاشته و بگویید من توان پردازشی بیشتری می‌خواهم، پردازنده عزیزم، آن را به من بده! در اینجا دنیایی داریم مملو از محدودیت ها؛ محدودیت های ابعاد و اندازه تراشه و خود دستگاه، محدودیت های انرژی مصرفی و از همه مهمتر، محدودیت در دمای سطح پردازنده که رابطه مستقیم با توان مصرفی آن دارد.

پس باید همواره به صورت مدیریت شده میزان فرکانس و حتی ولتاژ هسته ها را تنظیم کرد و اگر هم خیلی نگران توان مصرفی دستگاه هستیم روی به ساختار هایی مانند big.LITTLE بیارویم تا بتوانیم زمانی که توان پردازشی کمتری داریم، در عمل مانند اتومبیل ها، دنده را عوض کنیم و سراغ هسته های با توان پردازشی کمتر و توان مصرفی کمتر برویم.

در مورد گوشی های هوشمند در دید کلی می‌توان حالت کاری پردازنده را در دو وضعیت نرمال (off-peak) و کران بالا (peak) تقسیم کرد. حالت اول زمانی است که شما با گوشی خود در حال چک کردن نرم افزارهای اجتماعی مانند تلگرام هستید و یا چرخی در اینستاگرام می‌زنید و کارهایی از این دست که نیاز چندانی به بسیج کردن همه هسته ها در بالاترین فرکانس ها ندارند. در این حالت فرکانس های پایین و توان پردازشی نه چندان بالا پاسخ گوی نیاز کاری دستگاه است. اما در حالت دوم و مثلاً زمانی که دلتان می‌خواهد با گوشی خود یک دست بازی Asphalt 8 بزنید، پردازنده دستگاه باید هر آنچه در چنته دارد رو کند و آنگاه است که میزان توان مصرفی پردازنده و دمای سطح آن به شکل فزاینده ای بالا می‌رود.

اگر نیاز وسیعی به توان پردازشی باشد، SoC فقط خواهد توانست برای مدت کوتاهی در حالت کران بالای خود کار کند و برای اینکه بتوان دمای تراشه را کنترل کرد، نیاز است تا بعد از مدتی دوباره دستگاه به حالت نرمال بازگردد تا مشکلات حرارتی برای آن پیش نیاید. در واقع به همین علت است که بعد از انجام فعالیت های سنگین و افزایش دمای سطح تراشه و دستگاه، میزان کارآیی در حداکثر توان، کاهش پیدا می‌کند تا دمای سطح تراشه کاهش پیدا کند و تعادل برقرار شود.

همه این توضیحات بالا را دادیم که به عملکرد بسیار مناسب Cortex-A73 در مدت زمان باقی ماندن در حالت کران بالا اشاره کنیم. بنا بر اعلام ARM، هسته های A73 در حالتی که با لیتوگرافی 10 نانومتری ساخته شده باشند، برای هر هسته ای که در فرکانس 2.8 گیگاهرتز مشغول به کار است، 750 میلی وات تواان نیاز خواهد بود که دو برابر کمتر از هسته های 20 نانومتری Cortex-A57 است که با لیتوگرافی 20 نانومتری ساخته شده اند. همچنین در این حالت می‌توانیم بگوییم این هسته ها در قیاس با هسته های نسل قبلی خود یعنی Cortex-A72 که در فرکانس 2.5 گیگاهرتز در حال کارند و با لیتوگرافی 16 نانومتری ساخته شده اند نیز تا 30 درصد توان پردازشی بیشتری را ارائه خواهند کرد که به نوبه ی خود بسیار عالی و مطلوب خواهد بود.

حالا باید این سوال را از خودمان بپرسیم که چرا ARM سراغ بازطراحی هسته ها رفته است؟ مسلماً شما هم با این نظریه موافقید که: به دلیل مشکلات و سختی های طراحی و پیچیدگی ساختار های داخلی پردازنده ها، این مورد همیشه راحت خواهد بود که به جای چکش کاری و تنظیم هر واحد در داخل پردازنده و تلاش در هماهنگ سازی آن با دیگر واحدها و توسعه پر دردسر آنها، همه قسمت ها را از نو طراحی کرد و ساختاری جدید که با توجه به ملاحظات و اهداف جدید طرح ریزی شده است را شکل داد.

در همین زمینه آقای پیتر گرین هال، مدیر بخش فناوری های شرکت ARM در مصاحبه ای، این گونه توضیح داده اند که:

کار ما بی شباهت به صنعت خودرو نیست، جایی که ما می‌بینیم Audi و یا BMW هر 6 سال یک خودروی جدید طراحی می‌کنند. وقتی شما این مورد را می‌بینید که در هر نقطه ای از طراحی ریزمعماری خود نیاز به تغییرات مطلوبتان دارید، بهترین راه این است که همه آنها را همراه با هم و یکجا از نو طراحی کنید؛ تصمیم هایی که شما در هر قسمت اتخاذ می‌کنید حتماً در نتیجه کلی اثرگذار خواهد بود.

پایپ لاین و ساختار اجرای دستورات در ریز معماری Artemis

قبل از اینکه به صورت مستقیم در مورد ریز معماری Artemis صحبت کنیم، بهتر است نگاهی به ساختار پایپ لاین A73 داشته باشیم که نوع بهبود یافته A17 است. در همین زمینه آقای آندری فروموسانو از متخصصین وبسایت AnandTech دیاگرامی را از پایپ لاین های دو هسته A72 و A73 تهیه کرده اند که ضروریست برای درک تفاوت این دو هسته و بهبودهای ایجاد شده به آنها توجه کنیم.

 

 ساختار پایپ لاین مورد استفاده در Cortex-A72

همانطور که در دیاگرام بالا که پایپ لاین 15 مرحله ای مورد استفاده در A72 را نشان می‌دهد مشخص است، این پایپ لاین ساختار خارج از دسترس به صورت 128 بیتی برای واکشی دستورات دارد و یک دیکدر 3-wide یا همان سه قسمتی در بخش دستورات، عملیات رمزگشایی دستور را بر عهده می‌گیرد. بعد از دیکد کردن دستور به 3 بخش و ساخت ریز عملیات (µops)، این ریز عملیات ها وارد بخش rename/dispatch می‌شوند. واحد dispatch یا همان توزیع ریز عملیات می‌تواند هر یک از این ریز عملیات ها را با سرعت حداکثر 5 ریز عملیات در سیکل کاری، به صف های شمارش (issue queues) بفرستد که بعد از به 8 پایپ لاین اجرا نیاز است تا بتوان این ریز عملیات را به مرحله اجرا درآورد.

همچنین در بررسی های بیشتر آقای فروموسانو مشخص شده که در این ساختار دو واحد ساده محاسبات و منطق (ALU) که عملیات پایه مانند شیفت دادن و جمع کردن را انجام دهند، وجود دارند. عملیات ضرب عدد صحیح، تقسیم و ضرب انباره ای توسط واحد مشخص چند سیکله ی پایپ لاین عدد صحیح انجام می‌شود و عملیات ASIMD، NEON و عملیات با ممیز شناور نیز توسط دو پایپ لاین دیگر انجام می‌شوند که در ادامه در مورد آنها صحبت خواهیم کرد. همچنین ایشان به یک شاخه واحد مانیتور یگانه و دو واحد تولید آدرس ذخیره و بارگذاری (Load and Store AGUs)، در ساختار Cortex A72 برخورد کرده اند که توضیح همه آنها از حوصله این بحث خارج است.

 

 ساختار پایپ لاین مورد استفاده در Cortex-A73

همانطور که قبلاً هم گفتیم، ساختار A73 به شدت شبیه به ساختار هسته A17 است که با ریز معماری بر پایه دیکدر های 3 بخشه Austin متفاوت است. این ساختار جدید اساساً با پایپ لاین کوتاهتری ساخته شده است که به صورت ویژه هدف از کاهش تعداد مراحل پایپ لاین بهینه سازی در پیمایش میانوندی (in-order) پردازش اطلاعات دائمی است. در A73 فاز واکشی دستورات تنها 4 مرحله به طول می‌انجامد که از 5 مرحله مورد استفاده در A72 کوتاهتر است. نکته مهم و تغییر اساسی به نسبت A72 در اینجا اتفاق می‌افتد که واحد دیکدر تنها در یک مرحله از پایپ لاین به وقوع می‌پیوندد که در این حالت خصوصیات A73 را به شدت شبیه به A17 می‌کند که در آن بسیاری از دستورات قابلیت این را داشتند که تنها در طی یک سیکل ساعت رمزگشایی شوند. حال شما این را مقایسه کنید با دیکدر موجود در A72 که برای دیکد کردن دستور نیاز به 3 سیکل ساعت داشت. ریز عملیاتی که از این مرحله بدست می‌آیند نیز به پایپ لاین های عملیات ممیز شناور می‌روند که در آنجا نیز با عبور از یک واحد دیکدر اضافه، به صورت کلی ساختار اجرای یک دستور، کل مجموعه پایپ لاین را به 11 الی 12 مرحله بدل می‌سازد.

در مقایسه با A17، هسته A73 سرعت توزیع بیشینه ریز عملیات را از 4 ریز عملیات به 6 ریز عملیات در طول یک سیکل افزایش داده است. ایستگاه ذخیره برای پایپ لاین FP نیز می‌تواند مانند A17، هنوز 2 ریز عملیات را به صف شمارش NEON مشترک توزیع کند، اما سرعت توزیع ایستگاه ذخیره از 2 به 4 ریز عملیات در سیکل کاری افزایش پیدا کرده است. این توزیع در اینجا می‌تواند برای هر کدام از 3 صف شمارش به صورت همزان 2 ریز عملیات را ارسال کند که دو برابر مورد مشابه در A72 است.

در مورد پایپ لاین های مربوط به عملیات ممیز شناور هم باید بگوییم که تغییر خاصی ایجاد نشده و در A73 نیز هنوز دو پایپ لاین FP موجود است. همچنین در A73 هنوز یک شاخه مانیتور دستور و به طبع، همان واحدهای تولید آدرس و مانند آن چه در A17 داشتیم، هر دوی آنها توانایی ذخیره و بارگذاری دستورات مانند A72 را دارند.

در نهایت هم در پایپ لاین های عدد صحیح قابلیت های پایپ لاین عدد صحیح چند سیکله به دو واحد ALU بیشتر تبدیل شده است. یک واحد ALU توانایی ضرب را دارد و دیگری توانایی تقسیم عدد صحیح و هر دوی آنها می‌توانند عملیات جمع کردن پایه ای و وظایف شیفت دادن را بر عهده گیرند. انباره ی مربوط به عمل ضرب نیز دیگر به صورت مستقل در این ساختار قرار نگرفته است و اگر به آن احتیاج پیدا شود در حالت اجرای پشت سر هم به هر دو ALU محول خواهد شد.

همانطور که A73 بر اساس هسته A17 طراحی شده است به فلسفه ی طراحی ریز معماری آن نیز وفادار است: بهینه سازی پایپ لاین، منابع و رابط ها برای دستیابی به بهترین کارآیی ممکن در مصرف حداقل توان ممکن، زمانی که هدف اصلی استفاده در بارهای پردازشی روی ابزارهای موبایل باشد.

ARM به این مورد اشاره دارد که به صورت ویژه ای در این ریز معماری توجه اصلی روی ایجاد تعادل بین AArch32 و وضعیت AArch64 ARMv8 شده است تا ریز معماری به حداکثر میزان از بهینگی بین توان و کارآیی برسد (نکته: AArch مخفف عبارت ARM Architecture است که به ریز معماری جدید توسعه داده شده توسط ARM برای انکدینگ دستورات به صورت 32 یا 64 بیتی و به طبع معماری 32 یا 64 بیتی مجموعه دستورالعمل ها دارد).

در بُعد کلاسترها نیز A73 استراتژی 4 هسته ای ARM را ادامه می‌دهد و به همین خاطر ما می‌توانیم ساختار ها 1 تا 4 هسته ای از این هسته ها را شکل دهیم. SCU یا Snoop Coherency Unit نیز انسجام بین هسته ها و مجموعه کلاستر را فعال می‌کند. حافظه کش L2 کلاستر نیز می‌تواند تا 8 مگابایت تعیین شود  که دو برابر A72 و برابر با A17 است. البته این امکان نیز وجود دارد و ARM هم آن را پیش بینی کرده که برخی از تولید کنندگان علاقه ای به استفاده از ماکزیمم حافظه cache نداشته باشند و به همین دلیل برای آنها امکان استفاده از حافظه های کش 1 و 2 مگابایتی فراهم شده است.

در طراحی A73 واحد دیگری با نام درگاه انسجام شتاب داده شده یا (Accelerated Coherency Port (ACP نیز به صورت اختیاری پیش بینی شده است که می‌تواند در طراحی های مختلف، به مجموعه اضافه و یا از آن حذف شود. ACP برای اتصال بلوک های شتاب دهنده که موجب انسجام هسته های CPU می‌شوند گردد و همچنین می‌تواند امکان استفاده از L2 را برای هر کدام از هسته های به صورت مستقیم فراهم سازد. به صورت سنتی این تکنیک در پردازنده هایی بیشتر استفاده می‌شده که به صورت مخصوص برای کاربردهای شبکه ای طراحی شده بودند و تا به حال در دنیای موبایل وارد نشده است. البته ARM پتانسیل آینده مبحث یادگیری ماشین و Computer Vision را در این مورد مد نظر داشته است که در آنها شتاب دهنده های اختصاصی می‌توانند باعث افزایش کارآیی محسوس پلتفرم گردند.

برخلاف A15/57/72 که سیستم های با ابعاد بزرگتر و صنعتی را هدف گرفته بودند، A73 به صورت پایه، بازار مصرف کننده را هدف قرار داده است. به این ترتیب این هسته ها از یک اینترفیس 128 بیتی دو سمته استفاده کردند که جهشی به استاندارد AMBA 5 CHI (استاندارد گذرگاه (bus) اختصاصی ARM برای تکنولوژی توسعه تراشه ها برای کارآیی بالا در سیستم بسیار مقیاس پذیر) از استاندارد AMBA 4 ACE به حساب می‌آید. این تغییر استاندارد درگاه باعث کاهش فضای مورد نیاز برای طراحی گذرگاه و همچنین دوری از پیچیدگی های اینترفیس ریز معماری می‌شود. در حال حاضر همه ی SoC های ARM Cortex big.LITTLE از ACE (اکستنشن های انسجام یافته شتاب داده شده) برای اتصال به اتصالات داخلی ارتباطی مانند CCI-400 استفاده می‌کنند.

توضیح در مورد بخش های دیگر این معماری مسلماً زمان بسیار بیشتری نیاز داشت و از همین رو به علاقمندان توصیه می‌کنیم در صورت تمایل به مطلب مرتبط در این آدرس مراجعه کنند. حال کمی از مباحث بسیار تخصصی هسته ها و ریز معماری Artemis دور می‌شویم و سراغ جنبه های دیگر موضوع  می‌رویم.

 

تغییر ساختار ثبات ها

آقای گرین هال:

برای مثال، A73 ثبات های خود را به صورت یک فایل عمومی سازماندهی می‌کند و این با حالت قبلی در A72 متفاوت است که در آن بانک های جداگانه برای ثبات های همه منظوره و ثبات های NEON در نظر گرفته می‌شد. این راهکار روش نامگذاری ثبات ها و جریان اجرای دستورات را، به صف هایی از مجموعه اعدادی که "باعث تفاوت بنیادین اجرای خارج از دستور می‌شود"، ساده تر خواهد کرد.

این روش به پردازنده انعطاف پذیری بیشتری در شناسایی وابستگی ثبات ها در کُد های نوشته شده و واکشی آنها برای اجرا به صورت موازی، می‌دهد. برای مثال در یک حلقه که مشخص نیست عملیات بعدی چه باشد، اگر CPU بتوان این مورد را حدس بزند که چه زمانی به اطلاعات بعدی نیاز خواهد داشت، خواهد توانست تا آن اطلاعات را از مکان مشخص در حافظه، واکشی کند و در این حالت است که می‌تواند عملکردی موازی داشته باشد که نتیجه ی آن سرعت بالاتر در اجرای مجموعه ی دستورات و همچنین کاهش توان مصرفی دستگاه خواهد شد.

تقسیم دستورات در هنگام رمزگشایی به واحد های بزرگتر

A72 دستورات ورودی را به 3 جریان مجزا تقسیم می‌کرد که بعد از بررسی های تیم ARM مشخص شده که این عمل ممکن است در بعضی مواقع به، از دسترس خارج شدن برنامه های موبایل (همان Force Stop شدن) بینجامد و به همین دلیل این گروه تصمیم به تغییر این ساختار به دو مرحله ای کردن رمزگشایی دستورات نموده که بنا بر گفته آقای گرین هال، این عمل باعث ایجاد تعادل بسیار مناسب بین کارآیی و موثر بودن عملکرد سیستم رمزگشایی دستورات خواهد شد و بسیاری از مشکلات و زمان بندی های قبلی را نیز ترمیم خواهد کرد.

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

پیش بینی کننده های مجموعه دستورات محتمل

نرم افزارهای موبایل و مرورگرهای اینترنت همواره نیاز به میزان وسیعی از حافظه دارند و این برای آنها ضروری است که پمپ های اطلاعاتی، آن مواردی را که می‌خواهند به سمتشان پمپاژ کنند و در این حالت توان محاسباتی بسیار زیادی نیاز است که بتوان این عمل را انجام داد (البته باز جای شکرش باقیست که اطلاعات تصاویر و قسمت های گرافیکی توسط GPU مورد پردازش قرار می‌گیرند). برای مثال دوباره آقای گرین هال به این موضوع اشاره کرده اند که تیم طراح A73 برای این موضوع دست به طراحی یک سیستم حافظه با کارآیی بسیار بالا طراحی کرده است که پهنای باند بسیار بزرگتری نسبت به A72 را در اختیار پردازنده قرار می‌دهد و حافظه ی RAM که به پردازنده متصل شده است می‌تواند با مصرف توان کمتری سازماندهی شده و مورد استفاده قرار بگیرد.

مورد بعدی بار پردازشی است که برنامه های کاربردی روی پردازنده می‌اندازند. در برنامه های موبایل دائماً این حالت را داریم که پردازنده باید از مجموعه ای کد ها به مجموعه ای دیگر پرش کند. یکی از راههای حداکثر کردن کارآیی سیستم، پیش بینی این است که پردازنده و یا نشانگر های آن باید به کدام قسمت بپرند و در این حالت جریان جاری برنامه به کدام سمت احتمال گرایش بیشتری را خواهد داشت. با پیش بینی کردن جریان روتین برنامه، دستورات می‌توانند به صورت نظری، بعد از اینکه همه اعمال مورد نیاز برای اجرا فراهم شد، منتظر بمانند تا به محض نیاز و مشخص شدن اینکه آن قسمت از برنامه مطلوب است، اجرا شود.

همه این موارد به نحو بسیار هوشمندانه ای توسط واحد BTAC یا Branch Target Address Cache به نحوی بازطراحی شده اند که بتوانند رکوردی را از محل اتمام هر شعبه از دستورات احتمالی بعدی مورد نیاز، نگهداری کنند تا بتوان بهترین و بهینه شده ترین شعبه دستورات بعدی را برای رسیدن به هدف مورد نیاز بلاک کد ها شناسایی کرد.

و اکنون صحبت های آقای گرین هال در مورد این موضوع:

محیط برنامه های موبایل استرس بسیار زیادی را بر روی پیش بین های شعبه دستورات محتمل، وارد می‌کند. با استفاده از A73 ما به روشی دست یافتیم که توسط آن می‌توان زمان بسیار زیادی را در این قسمت خرید و عملکرد و کارآیی را تا حدی که ممکن باشد افزایش داد.

در حالی که A73 به این صورت طراحی شده است تا کارآیی برنامه هایی مانند واقعیت افزوده را افزایش دهد، این مورد به چه نحوی روی طراحی پیش بینی کننده های رشته برنامه تأثیر خواهند گذاشت؟ مگر این طور نیست که این سیستم برای برنامه های کاربردی این دوران و مرورگرهای اینترنت نوشته شده است؟ پس عملکرد در مورد برنامه های دیگر به چه نحو خواهد بود؟

گرین هال:

توضیح این مورد کمی سخت است، اول بخاطر اینکه خب این یک سطح جدید از ابتکار در پیش بینی دستورات است و برنامه ها نیز به سرعت در حال تغییر هستند. برای مثال ما در حال حاضر هیچ برنامه بنچمارکی برای نشان دادن عملکرد یک پردازنده در حوزه AR نداریم. اما چیزی که ما از شرکای تجاری مان شنیده ایم این است که محیط برنامه های AR بر روی مرورگرهای وب نگاشت می‌شود و بنابراین ما می‌توانیم با بهبود این سمت، عملکرد مشابهی را در مورد کاربردهای جدید مانند AR مشاهده کنیم.

 خب دوستان عزیز قسمت دوم این مقاله هم در همین جا به پایان می‌رسد. در این قسمت تلاش کردیم تا ویژگی های ریز معماری Artemis  را به صورت خلاصه با هم بررسی کنیم و با آن بیشتر آشنا شویم. در قسمت بعدی (آخر) هم مقایسه ای خواهیم داشت از میزان قدرت هسته های A73 و مقایسه ی آن با دیگر هسته های، علی الخصوص Cortex-A72. با ما همراه باشید.

در قسمت اول این مقاله ابتدا پیشینه ای از خصوصیات هسته های پردازنده شرکت ARM را بررسی کرده و بعد از آن به معرفی هسته جدید Cortex-A73 پرداختیم و در قسمت دوم  ریز معماری Artemis را به صورت دقیق بررسی نمودیم. حال در  آخرین برگ از بررسی این هسته، به مقایسه هسته A73 با نسل های قبلی و بیان وجوه تمایز آنها خواهیم پرداخت. پیشنهاد می‌کنم برای درک هر چه بیشتر قدرت این هسته جدید، مطالعه این قسمت را از دست ندهید.

همه ویژگی ها بهبود یافته اند

به بیان ساده باید بگوییم که A73 در همه ی زمینه ها از هسته های پیشین خود یعنی A72 برتر و بهینه تر است. برای مثال اگر بستر آزمون (بنچمارک) تخصصی BBench که یک سرویس بنچمارک بر پایه وب است را به عنوان مقیاس در نظر بگیریم، شاهد بهبود 10 درصدی عملکرد A73 به نسبت A72 در یک فرکانس کاری و یک شرایط عملکردی یکسان خواهیم بود.

در بخش اجرای دستورات به صورت SIMD و NEON (برای کدک FFMPEG) نیز عملکرد هسته های جدید تا 5 درصد بهتر شده است که به نظر این بهبود اثر جانبی از زیر سیستم های بهتر مدیریت حافظه هستند. البته خود عملکرد حافظه و ارتباط با آن نیز بالاترین نرخ بهبود را با عملکرد تا 15 درصد بهتر به نسبت A72 همراه خواهد داشت.

عملکرد هسته A73 در بعضی بنچمارک ها مشابه نسل قبل است

البته در بعضی موارد هم شاهد این هستیم که در بنچمارک های خاصی مانند Dhrystone عملکرد A73 کمی ضعیف تر از A72 است ولی شرکت ARM قول داده است که در بنچمارک های مهمی مانند SPEC علی رغم تنزل دیکدر ها از 3 قسمتی به 2 قسمتی، همچنان بتوان عملکرد مشابهی به نسبت A72 را از A73 دید. این حالت دقیقاً مشابه اتفاقی است که در سالیان گذشته بین دو چیپست A17 و A15 هم افتاد و در آن عملکرد بنچمارک های نامبرده در هر دو هسته تا حد بسیار زیادی مشابه هم بود.

تفاوت عملکرد در توان مصرفی

اما از آنجا که با هسته های مخصوص پردازنده های موبایل روبرو هستیم باید برای مبحث توان اهمیت زیادی قائل باشیم. در حالت عادی برای انجام فرآیند های پردازشی عدد صحیح تا 25 درصد و برای انجام فرآیند های پردازشی ممیز شناور و عملیات مربوط به سطح 2 حافظه کَش تا 30 درصد بهبود توان مصرفی را شاهده هستیم و ARM این ادعا را به صورت کلی منتشر کرده است که A73 حداقل 20 درصد توان مصرفی کمتری را در یک پردازش ثابت و با فرکانس هسته ثابت، به نسبت A72 خواهد داشت. البته علاوه بر این ARM اعلام کرده است با استفاده از تکنیک های جدید کنترل سخت افزاری زمان بندی های لازم برای تحریک گیت ترانزیستور های ساختار پردازنده، میزان مدیریت مصرف توان در حالت عملکرد عادی سیستم یا به اصطلاح، توان مصرفی پویا هسته ها نیز تا حد بسیار زیادی کاهش پیدا خواهد کرد.

تغییر در اندازه فیزیکی سطح تراشه

به صورت کلی وقتی که از یک تکنولوژی ساخت و یک لیتوگرافی مشابه استفاده شود، ساختار هسته ی تشکیل شده ی نهایی برای A73 به صورت کلی تا 25 درصد کوچکتر از A72 خواهد بود. علی رغم اینکه A72 هنوز هم برای پیاده سازی در ساختار های پردازشی بسیار کوچک است، A73 لیتوگرافی آینده را هدف گرفته و به وسیله ی آن و استفاده از لیتوگرافی 10 نانومتری، تولیدکنندگان قادر خواهند بود تا تراشه هایی بسیار نازک تر را بسازند که نتیجه ی آن اشغال هر چه کمتر فضا توسط تراشه پردازنده و چیپست خواهد بود. همانطور که در قسمت های قبلی این مقاله هم به شما دوستان گفتیم، این مورد باعث می‌شود تا طراح اسمارت فون بتواند محصول نهایی را در ابعاد کوچکتر و البته نازک تری تولید کند.

این مورد به خودی خود بهترین بهبود برای ابزارهای میان رده به حساب می‌آید. برای مثال اگر یک ساختار big.LITTLE به صورت 2 هسته Artemis و 4 هسته A53 ترکیب شوند، یکی از بهینه ترین و بهترین ساختار ها برای ابزارهای میان رده ایجاد خواهد شد. طی سال گذشته ساختارهای بسیار زیادی از ترکیب 4+4 که در آنها از Cortex A53 به عنوان هر دو کلاستر big و LITTLE استفاده شده بود (مانند MediaTek Helio X10) را مشاهده نمودیم که همگی از یک مشکل بسیار بد رنج می‌بردند و این مشکل عملکرد گهگاه با لگ هسته های کلاستر big بود که در آن از هسته های A53 در فرکانس بالاتر استفاده شده بود.

اما از چندی پیش که ساختار های بهبود یافته ای مانند Snapdragon 650  و Snapdragon 652 توسط کوالکام عرضه شدند، دیدیم که با جایگزینی هسته های A53 با هسته های A72 این مشکل به صورت کامل رفع شد و چیپست های بسیار قدرتمندی برای استفاده در دستگاه های میان رده موبایل تولید شدند که در بعضی موارد می‌توانستند دستگاه های رده بالا و پرچمدار 8 را به راحتی پشت سر بگذارند.

حالا در ساختار جدید ARM ساختار 2*A73+4*A53 را ارائه خواهد کرد که می‌تواند به جای ساختار 4*A53+4*A53 مورد استفاده قرار بگیرد و در عین حال همان فوت پرینت (چینش اتصالات و پایه های SoC) را حفظ کند. این ساختار در واقع همان ابعاد نسل قبلی را خواهد داشت (که هزینه تمام شده آن برای تولید کننده را هم یکسان نگه خواهد داشت) و در عین حال علاوه بر بهبود عملکرد تک رشته ای، در عملکرد چند هسته ای (چند رشته ای) نیز به شدت بهینه شده و بهبود خواهد داشت.

نکته جالب دیگر در مورد A73 این است که می‌توان از آن در ساخت پردازنده ها در لیتوگرافی ها و تکنولوژی های قدیمی تر مانند 28 نانومتری نیز استفاده کرد ولی همانطور که در این مجموعه راجع به مزایای بی شمار لیتوگرافی های کوچکتر صحبت کردیم، بهتر است سازندگان تراشه ها هر چه بیشتر به سمت لیتوگرافی های جدید تر بروند. در همین قسمت هم ما دوباره می‌بینیم که علی رغم رویکرد مصرف پایین توان، ARM توانسته کارآیی بسیار خوبی را ارائه دهد. برای مثال در A73 شما می‌توانید فرکانس هسته را تا 2.8 گیگاهرتز بالا ببرید و فقط توانی تا 750 میلی وات را مصرف کنید.

البته اینگونه به نظر می‌رسد که این فرکانس و مصرف توان، یک حالت محافظه کارانه دارد و نمیتوان اطمینان داشت که سازندگان تراشه ها از آن پیروی کنند. در واقع این احتمال وجود دارد که با توجه به پتانسیل های لیتوگرافی 10 نانومتری، فرکانس هایی تا 3 گیگاهرتز نیز برای ساخت هسته ها مورد استفاده قرار بگیرد که این مورد چندان هم خطرناک و غیر عقلانی نخواهد بود. برای مثال به این نکته دقت کنید که پردازنده ای که بتواند در فرکانس 2.8 گیگاهرتز و لیتوگرافی 16 نانومتری کار کند، حتماً خواهد توانست در فرکانس های بالاتر از این در لیتوگرافی های پایین تر مانند 14 و 10 نانومتری بدون مشکل کار کند. البته همه این موارد به هدف و سیاست سازنده مربوط خواهد شد و اینکه سازنده بتواند به پیاده سازی فیزیکی  نزدیک به پکیج در پکیج (PoP) شرکت ARM برسد؛ درست مانند اتفاقی که در چیپست HiSilicon Kirin 950 دیدیم و هواوی برای رسیدن به استاندارد ها مجبور به کاهش فرکانس شد تا چیپ نهایی به ساختار استاندارد دست یابد.

سخن پایانی

در حالت کلی تصمیم ARM برای پیاده سازی ریز معماری Artemis در هسته A73 بسیار لازم و قابل درک است. هسته های big این شرکت نیاز به بهبود ساختاری مناسبی داشتند که در هر دو زمینه توان و کارآیی به وجود آید. A72 اولین قدم رو به جلو در این راه بود که A73 نیز قدم دیگر و البته به عنوان مستحکم کننده این قدم در این راه خواهد بود. در آینده نیز ما باید از ARM انتظار داشته باشیم که به سمت ریز معماری های وسیعتری حرکت کند که نیاز به افزایش فرکانس تا اعداد بالاتر را کاهش دهد.

در این راه چیپست تحسین برانگیز HiSilicon  Kirin 950 را می‌توانیم به عنوان یکی از بزرگترین پیشرفت ها و تغییر دهنده بازی تلقی کنیم که با درک صحیح و تحلیل ریز معماری ARM در A72 توانست به عملکرد بسیار مناسبی در مدیریت توان مصرفی دست یابد و برای اولین بار به نمودار های ایده آلی که ARM از قدرت هسته های متبوعش منتشر کرده نزدیک شود.

اگر A73 بتواند همه ی اهداف در نظر گرفته شده را محقق کند، خواهد توانست عاملی باشد که سازندگان بزرگی مانند سامسونگ و کوالکام دوباره روی به استفاده از هسته های این شرکت آورند و به جای توسعه بیشتر هسته های اختصاصی رده بالای خود قرارداد های خرید لایسنس جدید را با ARM امضا کنند. در این میان البته اپل ادعای بسیار بزرگی را مطرح کرده و در محافل غیر رسمی اعلام شده که اپل با چیپست بعدیش قدرت بسیار بیشتر از چیپست های حال حاضر شرکت ارائه خواهد داد و به این ترتیب نیازی به هسته های جدید ARM ندارد. در واقع هم سامسونگ و هم کوالکام با هسته های Mogoose و Kryo خود، به سختی توانسته اند به حدی از کارآیی و مدیریت توان مصرفی برسند که در حال حاضر ARM در آن قرار دارد و شاید استفاده از هسته های بر پایه Artemis بتواند برای آنها انتخاب خوبی باشد تا بسیاری از مشکلات خود را رفع کنند.

ARM این مورد را اعلام کرده است که پردازنده های بر پایه A73 اواخر سال جاری میلادی عرضه خواهند شد و قطعاً ابزارهای بسیار زیادی را خواهیم دید که در نیمه اول سال آینده عرضه می‌شوند و از چیپست هایی قدرت می‌گیرند که داخل آنها پردازنده ای با هسته های A73 ساخته خواهد شد.

در نهایت باید بگوییم که ایجاد ساختار جدید و طراحی A73 حرکتی بسیار خوب از ARM بوده است و افق روشنی را بعد از عملکرد نا موفق سال گذشته برای شرکت تصویر خواهد کرد که در آن کارآیی بیشتر که همیشه مطلوب تولید کنندگان و مصرف کنندگان بوده است قابل دسترس خواهد بود.

منابع:  ARM.com، AnandTech، Pdadb.net، Register.co.uk

نظر خود را اضافه کنید.

ارسال نظر بدون عضویت در سایت

0
نظر شما پس از تایید مدیر منتشر خواهد شد.

نظرات (11)

  • مهمان - مهدی نظری

    سلام . ممنون
    میخواستم بدونم a73 قدرت بیشتری داره یا a53 یا مثلا a75 قوی تره یا a55
    کلا میشه بگید اونایی که از 70 هستن قوی ترن یا اونایی که از 50 هستن
    یا مثلا اگه یه گوشی hexa-a55 و dual-a75 داشته باشه قوی تره یا گوشی که quad-a55 و dual-a75 داشته باشه قوی تره؟
    ممنون:)
    :D:D

  • مهمان - maxca

    خیلیی هم عالی و خوب.
    ارزش وقت گذاشتن، داشت.

  • بسیار عالی بود

  • مهمان - ar

    و اينکه شدیدا منتظر قسمت بعدی هستم
    .

  • مهمان - ar

    بسیار بسیار عالی
    تشکر فراوان
    .

  • اگه امکان داره هسته های A53,A57و A72 رو با هم مقایسه کنید
    ممنون;)

  • ببینید دوست عزیز ما اصولاً از سال 2014 یه استراتژی رو تولید هسته های ARM دیدیم و اونم اینه که شرکت هسته ها را برای دو گروه طراحی میکنه:
    گروه اول هسته های با مصرف توان کم و در عوض کارآیی یا همون Performance کمتر هستند و گروه دوم هم هسته های با مصرف توان بیشتر و در عوض کارآیی بیشتر هستند.
    این هسته هایی که شما گفتید دو تاشون از یه نسل هستند مثل A53 و A57 که A53 جزء گروه اول هست و A57 هم از گروه دوم هست. هسته A72 هم از نسل قبلی مربوط به ریزمعماری Austin هست که جزء گروه دوم خواهد بود و به عنوان یه مقیاس ساده برای مقایسه قدرت همه هسته های می‌تونید به نمودار مقایسه هسته های مختلف در SPECint 2000 که تو همین صفحه اومده مراجعه کنید. تو این نمودار نشون داده میشه که میزان قدرت (کارآیی) هر هسته به اضای هر مگاهرتز به صورت نسبی چقدر هست.
    البته باید اینم بهتون بگم که هسته ی A53 از جمله هسته های بسیار بهینه ARM هست که با توجه به نوع طراحی شرکت قابلیت استفاده در نسل های مختلف هسته ها از 2014 به بعد برای ساخت ترکیب big.LITTLE رو داره و برای همین در دو نسل گذشته و برای مثال در Kirin 930 و Kirin 950 ازش تو ساخت ساختار big.LITTLE استفاده شده.
    اما هسته A72 که هسته ای با کارآیی بالاست فقط می‌‌تونه تو قسمت big مورد استفاده قرار بگیره و ما دیدیم که از این هسته فقط تو ساختارهایی مثل Kirin 950 استفاده شده.

  • ممنون از توضیحات مفیدتون ;)

  • عالی

  • مطلب بسیار جالب و مفیدی بود خسته نباشید
    منتظر قسمت دوم هستیم....;)

بارگذاری بیشتر ...

ورود به شهرسخت‌افزار

ثبت نام در شهر سخت افزار
ورود به شهر سخت افزار

ثبت نام در شهر سخت افزار

نام و نام خانوادگی(*)
لطفا نام خود را وارد کنید

ایمیل(*)
لطفا ایمیل خود را به درستی وارد کنید

رمز عبور(*)
لطفا رمز عبور خود را وارد کنید

شماره موبایل
Invalid Input

جزو کدام دسته از اشخاص هستید؟(*)

لطفا یکی از موارد را انتخاب کنید