[Перевод] Яблочная ARMия

a9c2fd4820eeb79fcc42d1aa354f1547.png

Apple отказывается от процессоров Intel в пользу собственных на базе ARM. Последуют ли её примеру другие производители ПК?

Apple отказывается от процессоров Intel в пользу своих собственных. Почему это произошло и каковы возможные последствия для всего рынка ПК? Как случилось, что микроархитектура CPU, изначально появившаяся в безвестных британских домашних компьютерах в 1980-х годах, бросает вызов империи Intel? В этой статье мы рассмотрим специфику проектирования процессоров ARM, проследим за тем, как они совершенствовались с годами и как достигнутый прогресс отразился на тестах производительности, а также сопоставим полученные результаты с результатами тестов железа от Intel. Ещё порассуждаем о конкуренции на рынке ПО и как она сказывается на нас, потребителях. И хорошо ли для пользователей ПК иметь микроархитектуру, построенную на совершенно отличном от привычного набора инструкций.

Что представляет собой процессор от Intel? Что такое ПК? В те дни, когда компоненты для IBM поставляли различные производители, у неё (IBM) имелись собственные процессоры 801 RISC. Однако она отказалась от нихв пользуболее экономичных Intel 8088, и так повелось, что в любой совестимый ПК можно было поставить процессор с архитектурой x86.

В теории проектировать и производить x86-совместимые процессоры мог любой, однако по закону Intel обладала патентом на наборы команд CPU.Это означало, что всем желающим их приобрести, пришлось бы покупать лицензию. Если сторонняя фирма и занималась разработкой или производством процессоров x86, то только потому, что Intel или суд дали на это разрешение. С AMD дела обстоят иначе, поскольку она заключила соглашение о патентной лицензии с Intel, чтобы потом не судиться друг с другом до беспамятства.

Долгое время производством CPU на архитектуре x86 занималось несколько компаний: IBM с её линейкой 386-х и 486-х процессоров, AMD, Cyrix, VIA, NEC, Transmeta и др. Дизайн их CPU оставлял желать лучшего. Intel всегда была победителем, в то время как другие (за исключением AMD и IBM) были лишь рядовыми спортсменами. Вы, конечно, могли бы возразить, что на рынке была конкуренция. Но считалась ли конкуренцией битва за отбросы? Суть в том, что у Intel не было достойного соперника — даже сегодня, учитывая, что дела у AMD идут хорошо, ей (AMD) принадлежит всего лишь 18% рынка. Сам производитель заявлял в 2020-м году о том, что стремится заполучить 10% рынка серверов и снова достигнуть высот 2006 года, когда на долю Opteron приходилось 25% рынка.

Можно, конечно, сетовать на отсутствие конкуренции, но что можно изменить, чтобы положить конец создавшемуся положению вещей? Недавно Apple сделала громкое заявление о том, что она отказывается от процессоров на базе Intel и переводит всё своё железо на CPU собственной разработки. Речь идёт не только о лэптопах и низкопроизводительных iMacs, но даже о высокопроизводительных рабочих станциях на базе Intel Xeon.Планы, конечно, грандиозные, но как она собирается воплощать их в жизнь?

Старые добрые времена

Итак, Apple не собирается строить будущие процессоры на базе архитектуры x86. Ни для кого не секрет, что iPhone очень популярны. Кроме того, их причисляют к самым быстрым смартфонам на рынке мобильных устройств. При желании компания могла бы задействовать любую микроархитектуру своих мобильных CPU для разработки настольных систем. Опять же, кто проектировал эти процессоры? Сама Apple, используя архитектуру набора команд (ISA) по лицензии ARM.

Для справки: микроархитектура ARM использует сокращённый набор команд (RISC), в то время как микроархитектура x86 использует полный набор команд (CISC).

Пару слов о RISC. Принципами проектирования RISC-микропроцессора являются оптимизация набора команд и работы ядра, гарантия того, что инструкции можно выполнить за один цикл памяти, устранение ненужных команд. Со временем наборов инструкций стало больше, в основном за счёт отдельных криптографических/векторных/SIMD функций. Так что слово «сокращённый» не соответствует действительности.

Реализация подобных проектных решений влечёт за собой интересные последствия. Оптимизация набора инструкций сокращает число задействованных транзисторов и, как следствие, количество потребляемой энергии, требуемой для выполнения любых действий. И потому x86 с её схемой CISC изначально требуется больше транзисторов для выполнения любой вычислительной работы и больше затрат энергии. Для настольных ПК это обстоятельство большой проблемы не представляет, однако для ноутбуков и смартфонов каждый ватт на счету.

По этой причине нервная попытка Intel закрепиться на рынке смартфонов оказалась провальной. Интелевская линейка микропроцессоров Atom на архитектуре x86 была слишком энергоёмкой и не очень быстрой, и это не выделяло смартфоны на её базе на фоне других моделей. Применяй Intel более современную технологию, это была бы уже другая история, но по понятным причинам она хотела защитить свою основную деятельность.

Вступайте в ARMию

Далее мы проследим за тем, как архитектура ARM развивались с течением времени.

ARM — это компания, которая разрабатывает спецификации АСК (архитектуры системы команд) процессоров ARM и улучшает их с помощью новых технологий. В их число входит особый дизайн ядер — big.LITTLE, набор инструкций —  NEON SIMD и усовершенствованные математические сопроцессоры. Как правило, каждому новому семейству CPU производитель присваивает своё имя. Так у Appleоно впервые появилось с выходом линейки процессоров ARM11 с 32-битной архитектурой. Впоследствии разработчики Яблока создали собственную микроархитектуру на базе обновлений 64-битной ARMv8.

. Результаты тестов в Geekbench мобильных процессоров ARM. Результаты тестов в Geekbench мобильных процессоров ARM

Первые iPhone работали на SoC от Samsung. Эта система на кристалле была построена на базе процессоров ARM11 с архитектурой ARMv6 2002-го года выпуска. Разработка и реализация iPhone осуществлялась в соответствии с нуждами, бытовавшими на заре появления смартфонов. В них была представлена SIMD (вычислительная система с одиночным потоком команд и множественным потоком данных) для считывания MPEG-файлов, увеличенный кэш (всего лишь 32К) и восьмиступенчатый конвейер. Так как функции изменения очерёдности команд и предсказания ветвлений были ограничены, то производительность первых iPhone не иначе как слабой не назовёшь.
iPhone 3GS стал первым удобным для пользования смартфоном от Apple (с точки зрения программных функций). Он всё ещё работал на SoC от Samsung, но теперь имел в составе улучшенное ядро Cortex-A8. Результаты испытаний показали увеличение скорости на 107% — запишите это на счёт суперскалярного 13-ступенчатого конвейера и 10-ступенчатого конвейера NEON SIMDдля ускорения медиаприложений. Помимо удвоенного кэша L1 в 3GS был впервые представлен кэш L2 на 256K, а также встроенный сопроцессор. Двигаясь по пути наименьшего сопротивления, ARM и Apple без труда оптимизировали CPU на ранних стадиях, что привело к увеличению скорости процессоров работы в два раза.
Apple A4 стала первой SoC собственной разработки Apple. Она дебютировала на оригинальном iPad с частотой 1 ГГц, однако позже использовалась в iPhone 4 при частоте 800 МГц. Если бы у Яблока была своя модель развития микропроцессоров «Тик-так», как у Intel, то это была бы стадия «так». Построенная на базе прежней архитектуры Cortex-A8 и того же 45-нм техпроцесса от Samsung она предлагала значительные улучшения за счёт увеличения частоты и удвоения кэша L2 до 512К и шины памяти до 64 бит.
Вместе с iPad 2 компания Apple представила свою принципиально новую однокристальную систему — Apple A5 с частотой 1 ГГц. Позже та же SoC была заявлена в iPhone 4S, только работала она при 800 МГц. Выпуск Apple A5 стал знаковым событием для Яблока: теперь его ядра имели обновлённый дизайн Cortex-A9, а сам процессор стал двухъядерным. 45-нм техпроцесс от Samsung и тактовая частота остались прежними, зато быстродействие памяти выросло до 400 МГц, а кэш L2 снова удвоился до 1 Мб. В Cortex-A9 также были представлены ключевые улучшения: 8-ступенчатый конвейер с упреждающим считыванием, способный выполнять команды с изменением их последовательности, улучшенный NEON SIMD и математический сопроцессор с увеличенной вдвое скоростью.

РелизA6 случился тогда, когда Apple начала брать под контроль разработку своих смартфонов и внедрять собственные дизайнерские идеи в ARMv7. Apple A6 были последними процессорами от Apple, построенными на 32-битной архитектуре. И хотя кэши L1 и L2 были те же, что и у А5, техпроцесс уменьшился до 32 нм, а тактовая частота выросла до 1,3 ГГц. Благодаря грамотным решениям в архитектуре производительность значительно увеличилась, потребление энергии же сократилось.

Судя по всему, A6 построен на ядре Cortex-A9, однако в нём использованы компоненты улучшенного чипа Cortex-A15, включая тогда ещё новые v4 FPU и Advanced SIMD v2. Анализ показывает, что в него было включено 5 функциональных модулей (2 арифметико-логических устройства (АЛУ), 2 математических сопроцессора/набора инструкций NEON и 1 модуль загрузки/сохранения). И вот этот значительно улучшенный FPU, оптимизированный кэш, специально выделенный модуль для загрузки/сохранения — всё это привело к тому, что производительность памяти увеличилась втрое, а быстродействие — вдвое.

С этого времени дела у производителя пошли в гору, а его А7 и вовсе совершил прорыв, став первым 64-битным процессором, в то время как остальные производители отстали с его выпуском на год. Благодаря архитектуре ARMv8-А на базе 28-нм техпроцесса от Samsung Apple добавила кэш L3 на 4 Мб, удвоила кэш L2 до 1 Мб и L1 до 128 Кб. Фактически Apple удвоила разрядность за счёт 4-х АЛУ, 2-х модулей для загрузки/сохранения, 2-х блоков передачи управления, 3-х модулей FPU/NEON. А7 достиг отметки 1 млрд. транзисторов, а производительность его увеличилась на 33% по сравнению с А6. В то время Geekbench 2, изначально предназначенный только для замера производительности 32-битных систем, начал устаревать. Результаты же тестов в Geekbench 3 показали, что ядра А7 Cyclone превзошли своих конкурентов в два раза!

64-битное ядро Cyclone64-битное ядро Cyclone

Быстродействие Apple А8 остаётся под вопросом. Похоже, в то время Apple уделяла больше внимания графическому ускорителю. Тогда же она разработала собственный пользовательский шейдер и, видимо, тогда же производитель начал переходить на новый 20-нм техпроцесс от TSMC. Схожая ситуация и с выпуском Apple А9, однако благодаря внедрению 20-нм техпроцесса от TSMC и 14-нм техпроцесса от Samsung тактовая частота процессора выросла до 1,8 ГГц, а L2 увеличился втрое — до 3 Мб.

Появлению Apple А10 предшествовали два больших сдвига: внедрение технологии big.LITTLE от ARM, использующей высоко- и маломощные ядра для сбалансированного энергопотребления, и переход на уменьшенный до 16-нм техпроцесс от TSMC.Лёгкой победой стало увеличение частоты до 2,3 ГГц, которого удалось добиться посредством двух маломощных ядер Zephyr.Они работали на частоте 1 ГГц и тем самым использовали лишь 20% мощности больших ядер. Тогда же состоялся переход на новую микроархитектуру ARMv8.1-A, по сути являвшейся корректировочной версией прежней микроархитектуры. Эта система на кристалле от Apple была последней, проходившей тестирование в Geekbench 2. Результаты испытаний показывали лишь увеличение тактовой частоты, в то время как в новых версиях Geekbench появились замеры производительности графического ускорителя. И, согласно этим результатам, скорость работы элементов GPU от Apple стабильно росла.

В Apple A11 были представлены 2 крупных (Monsoon) и 4 малых (Mistral) вычислительных ядра, причём последние были построены на базе ядер Apple A6 Swift. В отличие от A10, малые ядра могли работать независимо от крупных ядер. Крупные ядра значительно улучшились: теперь они могли декодировать до 7 инструкций за такт вместо прежних 6. В то же время число блоков ALU увеличилось на две единицы, и теперь общее их количество достигло 6.

Спроектированные в 2012-м году Apple Swift стали большим шагом вперёдСпроектированные в 2012-м году Apple Swift стали большим шагом вперёд

 A12 стал ещё одним шагом вперёд для Apple — он был первым доступным широкому кругу пользователей 7-нанометровым чипом. A12 сильно изменился в плане организации кэша, что в свою очередь способствовало уменьшению времени отклика и увеличению пропускной способности. Кэш L3 был изъят в пользу системного кэша L2 на 8 Мб, а L1 был удвоен до 256 К. Чип содержал 2 крупных высокопроизводительных ядра Vortex и 4 малых энергоэффективных ядра Tempest на базе Apple A6 Swift. Крупные ядра имели однопоточный быстрый режим до 2,5 ГГц. Микроархитектуры A11 и A12 были очень мощными, даже для десктопных процессоров.

Разработчики текущей модели A13 продолжили делать ставку на систему кэша. System Level Cache получила аж 16 Мб на обслуживание SoC. У малых ядер (Thunder) имеется 4Мб кэша L2, у крупных (Lightning) — 8Мб. В целом дизайн A13 похож на коммуникационный процессор с шириной декодирования 7 и улучшенным множителем.

Apple, несомненно, поборется с Intel за рынок настольных ПК. Дизайн CPU, как и всего ПК, у Яблока в целом хорошо проработан. Однако важно помнить, что положение Apple отлично от остальных лицензиатов ARM. Apple проектирует чипы с тем расчётом, чтобы продавать их в продуктах по премиальной цене. Наверняка в её гаджетах будут мощные батареи и прочие свистелки-дуделки, а владелец будет знать, что его вложения окупятся.

Однако для сторонних производителей такая модель ведения бизнеса просто невозможна. Взять хотя бы AMD: ранее она не могла конкурировать с Intel, и с трудом делает это сейчас. Так собирается ли производитель процессоров на базе ARM отнять рынок ПК (или даже лэптопов) у Intel и АMD?   Нет. Цены на рынке десктопов демократичны, а потребление электроэнергии не представляет проблемы. И потому зацепиться на нём тому, кто производит продукцию на базе ARM, будет непросто.

Вот где системы ARM могут действительно составить конкуренцию x86-й архитектуре, так это в мобильном секторе. Взять хотя бы Lenovo Flex 5G, который работает на однокристальной системе Snapdragon 8cх. Мы не будем приводить всех характеристик самого SoC, лишь упомянем, что он построен на микроархитектуре Cortex-A76, имеет 3АЛУ, 2 модуля FPU/SIMD, 2 модуля загрузки/хранения, блок передачи управления. Безусловно, такие характеристики указывают на высокую производительность чипа, однако это лишь часть того, что Apple вкладывает в свой CPU следующего поколения. Четырёхъядерный Snapdragon набрал 716 баллов в однопоточных тестах. Это меньше половины того, что показал Apple A13.

И пока Intel снова косячит со своим технологическим процессом, Apple по крайней мере удаётся грамотно проектировать чипы и за счёт этого увеличивать их производительность: лицензированные ядра ARM намереваются бросить вызов Intel Core i5. В то время как AMD выжимает все соки из рабочих станций, ARM завоёвывает позиции на прибыльном HPC (вычислениях на суперкомпьютерах) и на серверном поприще. Очевидно, Intel вытесняют по всем фронтам.

© Habrahabr.ru