Apple A10 Fusion: как он появился и зачем

3

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

Проигрывать неприятно, особенно если призовой фонд – это миллиарды долларов, пока еще на счетах миллионов искателей мобильных приключений. А те, кто проиграл, часто ведут себя недостойно. Заявляют что все подстроено. Что создавая процессор под одно или два конкретных устройства добиться убийственных преимуществ несложно (а кто им запрещал делать то же самое, если это несложно?)

“Победа рождает ненависть, побежденный живет в печали” – писал в священной книге буддистов неизвестный автор еще в 6 веке до нашей эры.

И предлагал решение: просто откажитесь от борьбы, сразу и от победы, и от поражения – и будет вам счастье.

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 A4;
Вторая часть: Рождение “яблочного” процессора;
Третья часть: Возвращаясь к началу начал: Apple A6/A6X (Swift);
Четвертая часть: Cyclone приходит на смену Swift (в Apple A7);
Пятая часть: Еще один “NeXT”, или сопроцессор для фитнеса (Apple M7);
Шестая часть: Cyclone превращается в Typhoon (Apple A8);
Седьмая часть: 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-ядерного (по его сути) процессора иначе просто не могло быть. Но результаты тестов использующих все ядра которые только доступны – обратите внимание – заставляют вспомнить про магии.

Продолжение следует

Лучший комментарий

 
Авторизуйтесь Чтобы оставить комментарий