Apple A10 Fusion: як він з'явився і навіщо

Не думаю що в технічному завданні на розробку чергової мобільної системи-на-чіпі була вимога порвати багатоядерних конкурентів в бенчмарках. Головне завдання було все те ж: зробити наступний розумний телефон і планшет кращими в світі. Хотіли як краще, вийшло як завжди. Формально, новий A-чіп використовував 4-ядерний процесор. І вражаючі історії про 2-ядерні процесори, що перевершують 6-, 8- і навіть 10-ядерні CPU конкурентів ніби як пішли в минуле. Але світ складніший, ніж здається.

Програвати неприємно, особливо якщо призовий фонд - це мільярди доларів, поки ще на рахунках мільйонів шукачів мобільних пригод. А ті, хто програв, часто поводяться негідно. Заявляють що все підлаштовано. Що створюючи процесор під один або два конкретних пристрої домогтися вбивчих переваг нескладно (а хто їм забороняв робити те ж саме, якщо це нескладно?)


І пропонував рішення: просто відмовтеся від боротьби, відразу і від перемоги, і від поразки - і буде вам щастя.

Apple дорікали в старомодності, в тому що вона не використовує модні прогресивні технології, або починає їх використовувати коли вони вже ось-ось застаріють. Дивна якась компанія: виробляє красиво оформлений непотріб, дорого, вирішуючи за тих хто витрачає гроші що і в якому вигляді їм купувати - і лідирує в галузі. Магія?

У Середні століття керівництво Apple давно вже просто спалили б.

Процесор в Apple A10 Fusion, будучи 4-ядерним, поводився в тестах і в реальному житті як 2-ядерний. І залишав позаду 6- і 8-ядерних суперників. А огидно задоволений Філ Шиллер обмежився, як завжди, мінімумом інформації.

А архітектурі використаної в Apple A10 Fusion судилося залишатися піком моди менше року. ARM Holdings представила архітектуру big. LITTLE у жовтні 2011 року. У жовтні 2012 року ARM анонсувала першу практичну реалізацію цих ідей. Наприкінці 2013 big. LITTLE стала реальністю. У 2016 році це була «стара новина», технологія перебродила і наполяглася - і тепер маги з центральної Каліфорнії звернули на неї увагу.

Або, скоріше, вважали доречним використовувати її в своїх цілях. Як би там не було, Apple A10 Fusion прийшов на зміну Apple A9, систему-на-чіпі все ще присутню в топах але відтіснену з перших місць, і Apple знову виявилася лідером.


А через півроку після виходу Apple A10 Fusion, у травні 2017 року, ARM представила наступника big. LITTLE, архітекрант DynamIQ.

Це продовження серії про процесори від Apple. Попередні частини:

Перша частина: У тіні Apple А4,
друга частина: Народження «яблучного» процесора,
третя частина: Повертаючись до початку почав: Apple A6/A6X (Swift
); четверта частина: Cyclone приходить на зміну Swift (в Apple А
7), П'ята частина: Ще один «NeXT», або співпроцесор для фітнесу (Apple
М7), Шоста частина: Cyclone перетворюється на Typhoon (Apple
А8), Сьома частина: Apple S1: загадка, укрита таємницею,
восьма частина: Apple A8X: Графіка в зоні особливої уваги
; Apple A9 - обманщик, негідник і
чіпгейт, десята частина: Apple A9X: Ядерна фізика?.

ВЕЛИКА МАЛЕНЬКА архітектура

У 2011 році в секторі процесорів для мобільних пристроїв склалася революційна ситуація. З одного боку, щоб не програти в найжорстокішій конкурентній боротьбі, їх обчислювальну міць доводилося нарощувати. А за все в світі треба платити. Велика міць - це подовження конвеєрів, збільшення розмірів кешів всіх рівнів, множення числа обчислювальних юнітів. І стрімке зростання числа транзисторів на кристалі, які споживають енергію навіть у стані «сну».

Пікові навантаження, заради яких збирали всю цю рать, були епізодичними. Більшу частину часу багатомільйонні армії мікроскопічних перемикачів споживали, дрімали і чекали свого часу. Точніше, мить. Батареї розряджалися все швидше, відходи життєдіяльності мільйонів транзисторів (що виділяється ними тепло) потрібно було якось «вивозити», інакше системі завдавався непоправної шкоди.

Так чи інакше, з чимось схожим у мікроелектроніці вже стикалися. Intel і AMD знайшли власні рішення схожим проблемам, про те як це їм вдалося, у викладі для тих хто використовує процесори, було добре і широко відомо. А ось конкретна суть цих рішень, ясна річ, була найбільш охоронюваною таємницею лідерів галузі.

ARM Holdings запропонувала своє рішення: використовувати в процесорах неоднакові ядра, з різною продуктивністю та енергоємністю. «Великі», для пікових навантажень, і «маленькі», для всього іншого. Архітектуру назвали big. LITTLE, і розповіли про неї в жовтні 2011 року. Перешкод на шляху до реалізації миру вселенської мрії було багато: процесор з цією архітектурою треба було навчити вчасно і дуже швидко вмикати і вимикати великі або маленькі ядра. Це тільки верхівка айсберга, насправді щоб вся ця механіка запрацювала, процесорам потрібно освоїти масу непростих трюків.


Зворотний бік - амбітні завдання на кшталт цієї просто знахідка для талановитих інженерів, відмінна можливість багато чому навчитися, спробувати свої сили, і врешті-решт це шалено цікаво. А ще - кожен такий проект робить світ трохи розумнішим. І одночасно дурний (тут теж big. LITTLE), але не будемо про сумне.

Щоб грати в ці ігри, ядра обох типів потрібно було розробляти заново, з урахуванням участі в цій грі.

Стрімко-швидке перемикання між режимами займало 20 тисяч циклів CPU. Навіть при тактових частотах в 500 МГц (в 2011 зустрічалися і такі) це 400 мікросекунд.

Спочатку передбачалося, що перемикання буде «кластерним», в кожну одиницю часу процесор буде використовувати тільки «великі ядра», або тільки «маленькі». 20 тисяч циклів - це ціна за такий підхід.

У процесі використання цієї архітектури виникли ще два способи її застосування. Перемикання могло траплятися незалежно, в єдиній парі великий-маленький, залежно від потреб виконуваної цією парою завдання. І навіть, хитрим і не дуже елегантним чином, великим і маленьким дозволялося іноді працювати одночасно.


У кожного з трьох способів свої плюси і мінуси. Інженери Apple вибрали простий і найекономічніший спосіб: перемикаються відразу всі, в будь-який момент працюють або тільки «великі», або тільки «маленькі». Практичне число ядер при цьому підході дорівнює половині від їх фізичного числа - зате на порядок менше причин помилитися.

2-ядерний 4-ядерний процесор - це Apple A10 Fusion і деякі його родичі. Практика - критерій істини. Топові позиції в тестах (і в найбільш реалістичних, у тому числі) зробили спекуляції про відсталість та інтелектуальну недостатність Apple безпідставними. Але запевняю вас, інженери Apple витрачали сили і час зовсім не на це.

Архітектура big. LITTLE - найголовніша і помітна відмінність процесора в Apple A10 від його попередника. Але не єдине. Навколо цієї архітектури виникла така кількість забобонів і помилок, що довелося приділити їй стільки часу. Вибачте, якщо що.

Артефакт з Фруктової галактики

Крім інженерів Apple і ARM, які відірвалися по повній у процесі створення Apple A10, і користувачів отримали в свої руки продукт високих технологій і натхнення, були й інші щасливчики, які зазнали ні з чим незрівнянне задоволення від розкриття дуже непростих загадок природи. Про Apple A10 Fusion у концертному залі імені Білла Грема сказали багато слів, і не сказали практично нічого.

Ви ще витрачаєте час на вульгарні ребуси і кросворди?


Розшифрувати подробиці і довести правильність своєї інтерпретації було дуже непросто, це вимагало найвищої кваліфікації і глибоких знань. На цьому шляху було зроблено багато помилок - які були виправлені, з часом.

Навіть надсучасний і дорогий комплекс технічних засобів, що включає в себе потужний електронний мікроскоп, не здатний дати остаточну відповідь на всі питання.

Перша розшифровка знімків зі «зворотного боку рукотворного Місяця» була помилковою, саме вона опублікована в більшості нарисів про нову систему-на-чіпі:

Некоректне розшифрування:

До честі для хлопців з Chipworks, вони сумнівалися в її правильності. Визнати її точною заважала нелогічність і відсутність елегантності отримуваної картини. У Apple інший почерк. Тому - знаки питання.


Напружена робота розуму, дискусії, порівняння фрагментів відкрився ландшафту екзопланети Apple A10 Fusion з іншими ландшафтами, точні відомості про які були приведені в технічній документації інших світів (інших компаній) допомогли розкрити справжню суть речей.

Правильне розшифрування:

Це теж гіпотеза. Apple не коментувала відкриття добровільних дослідників, але цього разу розшифровка більш правдоподібна, краще узгоджується з результатами тестів і на 99,9% істинна.

У нашому світі є місце подвигу!

Ураган і Бриз

Таємницею було не тільки розташування об'єктів на кристалі A10. Майже всі. Процесор був розроблений Apple для Apple. Для збудження інтересу в масах про нього не можна було не розповісти, але тільки найцікавіше.

Решта - результат напруженої роботи десятків (сотень?) непоганих умів, доведений і перевірений за всіма правилами справжньої науки. Дякую їм.

У світі процесор (кодове найменування T8010, мабуть) назвали Cyclone-4. Четверте покоління 64-бітних процесорів від Apple. Заодно з'ясували що саме витягувалося з plist-файлів в колишніх версіях iOS. Це було ім'я ядер процесорів. І Swift, і Cyclone - це назви ядер. Поки він були в точності однаковими, це не мало значення. Тепер все було інакше.

Великі і ненажерливі ядра називалися Hurricane. Ураган. Крім одного з типів ядер в Cyclone-4 так називався ще й британський винищувач Другої Світової, Харрікейн. Це і справді були великі ядра, на кристалі кожен з них займав 4,18 кв. м.

Максимальна тактова частота Hurricane - 2,34 ГГц (у несприятливих умовах, при перегріві наприклад, частота пригальмовувалася).

Маленькі називалися Zephyr. Крім очевидного, у цього слова є й інші значення, наприклад - «легкий вітерець», «бриз». Площа кожного з маленьких - 0,78 кв. м.

Максимальна тактова частота Zephyr - 1,05 ГГц.

Усередині корпусу, що захищає кристал від пошкоджень і корозії, використовувалася нова технологія компонування елементів від TSMC, InFO. У корпусі, крім кристала, розміщувалася оперативна пам'ять виробництва Samsung. Або 2 Гігабайти LPDDR4, у версії для iPhone 7, або 3 Гігабайти - в iPhone 7 Plus.

Кришка корпусу Apple A10 Fusion для iPhone 7 Plus:

На кришці корпусу одна з криптограм обізвала об'єм пам'яті. K3RG1G10CM-YGCH в разі конфігурації з 2 ГБ, і K3RG4G40MM-YGCH - у випадку з 3 ГБ.

Система-на-чіпі випускалася TSMC, за технологією FinFET 16 нм. З Samsung не стали зв'язуватися - ще один Чіпгейт Apple був ні до чого.

Графічний процесор був, як не дивно, практично тим же що і в A9, PowerVR Series 7XT GT7600 Plus - ось тільки «Plus» повідомляв про якісь його відмінності. Ті ж 6 ядер, які PowerVR наполегливо продовжувала називати кластерами, впізнаваний малюнок ядер-кластерів на ландшафті.

Це - вдосконалений Apple варіант PowerVR Series 7XT GT7600, в 2 рази більш продуктивний і споживає трохи менше енергії ніж узятий за основу GPU.

У документації Apple процесор позначався як APL1W24, в документації TSMC як 339S00255, 339S00258 і, мабуть, якось ще - він випускався в декількох варіантах, на початку їх було 2, потім додалися й інші. Позначення присутні і на кришці процесора. 339S00258, швидше за все, позначає варіант для iPhone 7 Plus.

Кеш другого рівня (тільки для CPU) - 3 Мегабайти, кеш третього рівня (для всієї SoC) - 4 Мегабайти. В точності як і в Apple A9.

І iPhone 7/7 + з Apple A10 Fusion всередині дійсно «рвали» конкурентів з 6- і 8-ядерними процесорами (якщо згодні, вступайте в наш Telegram-чат.

З тестами використовують тільки одне ядро все зрозуміло: у 2-ядерного (по його суті) процесора інакше просто не могло бути. Але результати тестів використовують всі ядра які тільки доступні - зверніть увагу - змушують згадати про магії.

Продовження слід

COM_SPPAGEBUILDER_NO_ITEMS_FOUND