یکی از دستاوردهای مهم سازندگان تراشه، همان چیزی است که در نهایت به تولید یک تراشهی جدید میانجامد، منظورمان معماری داخلی است که در مورد هر تراشهی جدیدی ممکن است کم و بیش متفاوت باشد. تراشهی A7 اپل هم حاصل تحقیقات گستردهی این کمپانی است.
هستههای پردازندهی اصلی در A7 سایکلون (Cyclone) به معنی گردباد نام دارند و بر اساس معماری مجموعه دستورات ARMv8 شکل گرفتهاند. لذا طرح اصلی توسط کمپانی معروف ARM انجام شده است. اما جزئیات تراشه مثل پردازندهی گرافیکی، مودم ارتباط مخابراتی، واسط حافظه و دیگر بخشها توسط اپل به شکلی خاص طراحی و چیده شدهاند. در نهایت سامسونگ برای تولید تراشه دست به کار شده است.
متأسفانه اپل در بیان جزئیات تراشهی فوقالعادهای که طراحی کرده، چندان سخاوتمند نیست و لذا بررسیهای تخصصی همگی بر اساس اطلاعات بسیار کم، انجام شدهاند.
همانطور که میدانید اپل در معرفی تراشهها و محصولات جدید خود، روی 2 برابر کردن کارایی مانور میدهد و البته با توجه به عملکرد فوقالعادهای که هستههای 32 بیتی Swift در تراشهی A6 داشتند، تصور کردن کارایی 2 برابر بدون تغییر فرکانس کاری هستهها، کمی مشکل بود. اما با توجه به اینکه در مورد هستههای swift، فرکانس بهینه برای بهترین بازدهی توان مصرفی، رقمی پایین بوده، اپل از افزایش فرکانس کاری صرفنظر کرد.
آنچه موجب 2 برابر شدن عملکرد تراشهی A7 شده، مدیریت بخشهای جزئیتر مثل واسط حافظه و صف دستورات است.
در ادامه به بررسی جزئیتر موضوع میپردازیم.
A7 با بهینهسازیهای کوچک و بزرگ به یک تراشهی قدرتمند تبدیل شد
تنها مسألهای که موجب افزایش عملکرد A7 نسبت به نسخههای قبلی شده، استفاده از معماری مجموعه دستورات ARMv8 نیست، تنها 64 بیتی بودن تراشه منجر به 2 برابر شدن عملکرد نمیشود. در 2 هستهی سایکلونی که در A7 مسئول انجام محاسبات عمومی هستند، به صورت همزمان اجرای 6 دستور امکانپذیر است. 2 برابر بیشتر از تراشهی قبلی اپل که از هستههای 32 بیتی Swift بهره میبرد و همچنین هستههای Krait که در تراشههای کوآلکام به کار رفتهاند. این تفاوت بسته به ترکیب دستورات ممکن است به 3 برابر هم برسد!
در هستههای جدید امکان تخصیص همزمان حداکثر 4 عمل جمع اینتیجر (عدد صحیح) و 2 عمل جمع ممیز شناوری (عدد اعشاری) وجود دارد که با رفع محدودیتهای اجرا و تخصیص موازی دستورات، چنین رکوردی حاصل شده است. علاوه بر این میتوان در هر سیکل کلاک دو عمل بازگذاری و نیز ذخیرهسازی را انجام داد.
هستههای نسل قبلی تراشههای آیفون و آیپد یعنی سوویفت دارای 2 واحد محاسبه و منطق و 1 واحد بارگذاری و ذخیرهسازی بودند و امکان اجرای خارج از نوبت دستورات به صورت 3 تایی وجود داشت. با معرفی Cyclone تعداد واحدهای محاسبه و منطق (ALU) عدد صحیح و اعشاری افزایش زیادی داشته به طوری که در نهایت بدون افزایش فرکانس کاری، سرعت محاسبات در مجموع 2 برابر شده است.
به جدول زیر که تعداد واحدهای مختلف و مقدار حافظهی کش و همچنین تأخیر در بارگذاری و پیشبینی شاخهها بر حسب سیکل کلاک را جمعبندی کرده، نگاه کنید تا شمای کلی از بهینهسازیهای کوچکی که صورت گرفته برایتان روشن شود:
هستههای سایکلون در برابر سوویفت و همچنین هسول اینتل
6 عمل جمع در سایکلون به صورت موازی در برابر 3 عمل جمع در سوویفت حاصل همین بهینهسازیهاست.
در سایکلون اندازهی بافر مرتبسازی مجدد، بسیار بیشتر از سوویفت است و همانطور که در جدول فوق مشاهده میکنید، گنجایش 192 دستور را دارد. از این حیث پردازندههای قدرتمند هسول که محصول کار اینتل بزرگ است هم قادر به مرتبسازی همین تعداد دستور هستند.
در سایکلون پیشگویی شاخهها تأخیر بیشتری به همراه دارد که بین 14 تا 19 سیکل متغیر است. از این نظر سوویفت بهتر بود ولیکن توجه کنید که در مورد هسول یا سندی بریج اینتل هم همین رکورد حاصل شده است. منظور از پیشگویی شاخهها، پیشبینی نتیجهی دستورات شرطی است.
تمام بخشهای کوچک معماری سایکلون به نظر گسترش یافتهاند، لذا افزایش حافظهی کش منطقی است و مشاهده میکنید که کش سطح 1 دو برابر شده است.
در سایکلون یک واحد جدید برای شاخههای غیرمستقیم هم اضافه شده است. سایکلون به یک خط ممیز شناوری اضافه هم تجهیز شده و قادر است سه عمل ممیز شناوری را به صورت همزمان انجام دهد. البته اگر عمل ضرب مورد نظر باشد، به 2 عمل محدود میشود. سومین خط محاسبات اعشاری و کدهای NEON (کاربرد در محاسبات مالتیمدیا و دیگر محاسبات مشابه) به محاسبهی تقسیم و مربع اعداد مربوط میشود.
چرا سایکلون با پردازندههای دسکتاپی اینتل مثل Coreها قابل قیاس است؟
در سایکلون بافری برای مرتبسازی 192 دستور وجود دارد و مشخص نیست که رابطهی آن با واحدهای اجرایی محاسبات عدد صحیح و ممیز شناوری و همچنین واحدهای بارگذاری و ذخیرهسازی چگونه است. لذا در دیاگرام زیر فرض شده که پس از این بافر، باز هم تقسیم کار صورت میگیرد:
اطلاعات مشابه در مورد سوویفت در دست نیست و نمیتوان مقایسه کرد اما سایکلون با داشتن 6 دیکودر و 9 پورت به واحدهای اجرایی، بسیار گسترده به نظر میرسد و در واقع از تمام تراشههایی که در گوشیها به کار رفته، بزرگتر یا به عبارت دقیقتر، پهنتر است. از این نظر باید تراشهی اپل را با هستههای بزرگ و قدرتمند Core اینتل مقایسه کرد و نمیتوان هستههای کارآمد کریت کوآلکام یا سیلورمونت اینتل را در برابر آن قرار داد. به همین علت است که اپل میگوید A7 در سطح پردازندههای دسکتاپ است که در یک گوشی یا تبلت کوچک پنهان شده.
اپلیکیشنها از تمام قدرت A7 استفاده نمیکنند
متأسفانه هنوز اپلیکیشنهای موجود در iOS از تمام توان تراشهی A7 بهره نمیگیرند. اپل در اولین قدم باید نرمافزارهای اصلی iOS را به گونهای بهینه کند که از تمام توان این تراشهی قدرتمند، استفاده کنند و در وهلهی بعدی، تولیدکنندگان نرمافزارهای فرعی هستند که کار اپل را دنبال خواهند کرد.
تاکنون بیشترین کارایی سایکلون در زمینهی کاهش مصرف انرژی بوده است چرا که 2 هستهی قدرتمند سایکلون، مصرف انرژی بسیار پایینی دارند و پس از پایان هر پردازش سنگین یا معمولی، باید به سرعت حالت توان مصرفی را به کمترین حد برسانند.
مشکل دیگری که در مورد آیفون و آیپد وجود دارد، استفاده از تنها 1 گیگابایت حافظهی رم است به طوری که اگر از تمام توان پردازنده استفاده شود، احتمال مواجهه با کمبود حافظهی رم، زیاد به نظر میرسد.
آیندهی A7 و تراشههای 64 بیتی رقبای اپل
عرضهی گوشی آیفون 5s در اولین روزها، عکسالعملهای ضد و نقیضی به دنبال داشت. کوآلکام مدعی شده بود که A7 بیشتر جنبهی تبلیغاتی دارد! اما کمی بعد، سازندگان تراشه به سرعت متوجه اهمیت A7 شدند. در حال حاضر کوآلکام، انویدیا، سامسونگ و دیگر سازندگان به دنبال استفاده از معماری مجموعه دستورات ARMv8 هستند و میخواهند تراشههای 64 بیتی را در اولین فرصت رونمایی کنند.
در مقابل تمام تهدیدات، اپل به A8 فکر میکند. تراشهای که اگر کارایی آن باز هم مثل گذشته، 2 برابر بیشتر از نسل قبلی خود باشد، معادلات را بر هم زده و باز هم کوآلکام بزرگ را با مشکل مواجه میکند.
شاید به نظر برسد که کارایی 2 برابر در مورد A8 مشکل و دور از ذهن است اما به این موضوع توجه کنید که هنوز هم برای بهینهسازی، راههای زیادی باقیمانده است. مثلاً سادهترین کار افزایش سرعت کلاک سایکلون از 1.3 گیگاهرتز به ارقامی در حد 2.5 گیگاهرتز است که این روزها در معرفی گوشیهایی که از تراشههای کوآلکام استفاده میکنند، بسیار شنیدهایم. افزایش سرعت کلاک موجب افزایش توان مصرفی هم میشود ولیکن ممکن است اپل به جای استفاده از لیتوگرافی 28 نانومتری فعلی، به سمت لیتوگرافی 20 نانومتری حرکت کند و مشکل را کاهش دهد.
اگر از منظر اینتل نگاه کنیم، هر دو تراشهی A6 و A7 جهش بزرگ محسوب میشوند، چیزی که اینتل به آن تاک میگوید و جهشهای جزئی را تیک مینامد. بنابراین کار اپل از نگاه اینتل هم ستودنی است که در مدت 3 سال، دو تاک پشت سر هم زده است.
بهتر است چند ماهی صبر کنیم تا در ادامهی کار و تلاش اپل ببینیم چه تراشهای معرفی خواهد شد. به نظر شما A8 از نظر عملکردی در چه حدی خواهد بود و عکسالعمل رقبا چطور؟
نظرات