Центр исследований и разработок Samsung в Остине (SARC) опубликовал документ, в котором подробно описывается микроархитектура снятого с производства ядра процессора Exynos M6.
Мы знаем, что проект специального ядра процессора в Центре исследований и разработок Samsung в Остине (SARC) подошел к концу в октябре 2019 года. Для проекта, который с такой помпой продвигался с запуском Exynos M1 с процессором Exynos 8890 в 2016 году, это был печальный конец. Почему САРК свернул проект? Специальное ядро Exynos M5, представленное в Эксинос 990 SoC — это последнее полностью специальное ядро, разработанное Samsung в обозримом будущем, и, оглядываясь назад, легко понять, почему Samsung отказалась от кастомных ядер, поскольку они просто не были достаточно конкурентоспособными. Теперь известно, что ядро Exynos M5 имеет 100% дефицит энергоэффективности против Cortex-A77 от ARM, что говорит о многом. Тем не менее, это не должно было обернуться таким образом. Проекты Exynos M1 и Exynos M2 показали некоторые многообещающие результаты, а проект специального ядра ЦП в то время считался важным для конкуренции в сфере мобильных ЦП. У Exynos M3 был большой спад, несмотря на значительное увеличение IPC, и
Эксинос М4 и Exynos M5 не смог угнаться за стандартным IP-процессором ARM. Каковы были микроархитектурные изменения в следующем кастомном ядре, отмененном Exynos M6?До сих пор ответ на этот вопрос был неизвестен. Однако теперь команда разработчиков процессоров SARC представила документ под названием «Эволюция архитектуры процессора Samsung Exynos» (о котором мы узнали через АнандТех) на Международном симпозиуме по компьютерной архитектуре (ISCA), который является конференцией IEEE. Он раскрывает множество подробностей о предыдущих процессорах серии Exynos M, а также об архитектуре отмененного Exynos M6.
В документе, представленном командой разработчиков процессоров SARC, подробно описаны усилия команды за восемь лет ее существования, а также раскрыты ключевые детали пользовательских ядер ARM, начиная от Exynos M1. (Mongoose) до Exynos M5 (Lion) текущего поколения и даже невыпущенного процессора Exynos M6, который до отмены ожидался в составе SoC Exynos 990 2021 года. преемник.
Команда Samsung SARC CPU была создана в 2011 году для разработки специализированных процессорных ядер, которые затем были представлены в Samsung Systems. SoC Exynos от LSI. Первой SoC Exynos, в которой использовалось собственное ядро, был Exynos 8890, который был представлен в Samsung Galaxy в 2016 году. С7. Пользовательские ядра оставались частью SoC Exynos до появления Exynos 990 с ядрами Exynos M5, которые использовались в вариантах Samsung Galaxy S20 на базе Exynos. (Предстоящий Эксинос 992, который, вероятно, появится в Galaxy Note 20, как ожидается, будет оснащен процессором ARM. Кортекс-А78 а не Exynos M5.) Однако SARC завершила разработку архитектуры Exynos M6 до того, как команда процессоров получил известие о его расформировании в октябре 2019 года, причем расформирование вступило в силу в Декабрь.
В документе ISCA представлена обзорная таблица микроархитектурных различий между специальными процессорными ядрами Samsung от Exynos M1 до Exynos M6. Некоторые из хорошо известных характеристик конструкции были раскрыты компанией в ходе первоначального глубокого изучения архитектуры процессора M1 на мероприятии HotChips 2016. На выставке HotChips 2018 компания Samsung подробно рассказала о Exynos M3. Также была подробно описана архитектура ядер Exynos M4 и Exynos M5, а также архитектуры M6.
АнандТех отмечает, что одной из ключевых характеристик разработок Samsung на протяжении многих лет было то, что они были основаны на той же схеме RTL, которая началась с ядра Exynos M1 Mongoose. На протяжении многих лет компания Samsung продолжала совершенствовать функциональные блоки ядер. Exynos M3 представляет собой отличие от первых итераций, поскольку в нем существенно расширено ядро в нескольких отношениях: от конструкции с 4-мя ядрами до 6-ширинных средних ядер. (С другой стороны, Apple A11, A12 и A13 имеют ширину декодирования 7, а Cortex-A76, A77 и A78 — 4 ширины. Cortex-X1 увеличивает ширину декодирования до 5.)
В отчете также приводятся некоторые ранее не публиковавшиеся сведения, касающиеся Exynos M5 и M6. Для Exynos M5 Samsung внесла большие изменения в иерархию кэшей ядер, заменив частные кэши L2 новыми. большего общего кэша, а также раскрытие изменения в структуре L3 с 3-банковой конструкции на 2-банковую с меньшими затратами. задержка.
Отмена ядра M6 была бы большим шагом вперед с точки зрения микроархитектуры. SARC внесла значительные улучшения, такие как удвоение кэша инструкций и данных L1 с 64 КБ до 128 КБ. АнандТех отмечает, что это дизайнерский выбор, который до сих пор был реализован только в ядрах Apple A-серии, начиная с Apple A12.
Пропускная способность L2 была увеличена вдвое — до 64 Б/цикл, тогда как у L3 — с 3 МБ до 4 МБ. Exynos M6 должен был иметь 8-ядерное декодирующее ядро. Как отметил АнандТех, это была бы самая широкая коммерческая микроархитектура, известная в настоящее время с точки зрения декодирования. Однако, несмотря на то, что ядро стало намного шире, целочисленные исполнительные блоки не претерпели особых изменений. В один сложный конвейер добавлена вторая возможность целочисленного деления, в то время как конвейеры загрузки/сохранения остались такими же, как у M5, с одним блоком загрузки, одним блоком хранения и одним блоком загрузки/сохранения. В конвейерах с плавающей запятой/SIMD должен был появиться дополнительный четвертый блок с возможностями FMAC. Размер L1 DTLB был увеличен с 48 страниц до 128 страниц, а основной TLB увеличен вдвое с 4 КБ страниц до 8 КБ страниц (покрытие 32 МБ).
Exynos M6 представлял бы собой еще одно существенное отличие от своих предшественников, увеличив окно выхода из строя ядра впервые со времен M3. Файлы физических регистров с целыми числами и числами с плавающей запятой были бы большего размера, а ROB (буфер переупорядочения) увеличился бы с 228 до 256. АнандТех отмечает, что один важный недостаток пользовательских ядер Exynos все еще присутствует в M5 и должен был присутствовать и в M6. Именно более глубокие этапы конвейера привели бы к дорогостоящему штрафу за неправильное предсказание в 16 тактов, что было выше, чем у ядер ЦП ARM, которые имеют штраф за неправильное предсказание в 11 тактов. В документе SARC еще более подробно рассматривается конструкция предсказателя ветвей, демонстрируя конструкцию ядра ЦП на основе масштабируемого хешированного перцептрона. Эта конструкция будет постоянно улучшаться с годами и реализациями, постоянно улучшая точность ветвей и постоянно уменьшая количество ошибочных прогнозов на килограмм инструкций (MPKI). SARC представляет таблицу, показывающую объем структур хранения, которые предсказатель ветвей занимает во внешнем интерфейсе. В документе также подробно описаны технологии предварительной выборки ядра, в которых рассказывается о внедрении кэша µOP. в M5, а также усилия команды по защите ядра от уязвимостей безопасности, таких как Призрак.
Усилия по улучшению задержки памяти в специальных ядрах Exynos также подробно описаны в документе SARC. В Exynos M4 команда SARC включила каскадный механизм нагрузки-нагрузки, который уменьшал эффективную задержку цикла L1 с четырех циклов до трех при последующих нагрузках. Ядро M4 также представило обход пути с новым интерфейсом от ядер ЦП непосредственно к контроллерам памяти, что позволило избежать трафика через межсоединение. В соответствии с АнандТех, это объясняет некоторые из более значительных улучшений задержки, которые издание смогло измерить с помощью Exynos 9820. В Exynos M5 реализован обход спекулятивного поиска в кэше, который выдает запрос как к межсоединению, так и к тегам кэша одновременно. Это, возможно, сэкономит на задержке в случае промаха кэша во время запроса памяти. Средняя задержка загрузки также постоянно улучшалась на протяжении поколений с 14,9 циклов на M1 до 8,3 циклов на M6.
Хотя приведенные выше характеристики микроархитектуры являются весьма техническими, энтузиасты процессоров знакомы с термином «Инструкции на такт» (IPC), что означает «на МГц». производительность однопоточного процессора (это основной фактор, определяющий производительность однопоточного процессора, а вторым фактором является тактовая частота процессора). основной). Целочисленный IPC и IPC с плавающей запятой являются определяющими факторами IPC. Команде SARC удалось добиться в среднем 20% ежегодных улучшений от M1 до M6. В частности, M3 продемонстрировал значительное улучшение IPC, хотя его и подвели другие факторы. Exynos M5 продемонстрировал улучшение IPC на 15-17%, в то время как улучшение IPC для невыпущенного Exynos M6 было обнаружено, что средний показатель составляет 2,71 против 1,06 для M1, что представляет собой улучшение на 20% по сравнению с М5.
Брайан Грейсон, ведущий газеты, ответил на вопросы об отмене программы во время сессии вопросов и ответов. Он сказал, что команда всегда шла к цели и графику, улучшая производительность и эффективность с каждым поколением. (Означает ли это, что цели изначально были недостаточно высокими?). С другой стороны, самая большая трудность для команды заключалась в том, чтобы быть предельно осторожными в отношении будущего. изменения в дизайне, поскольку у команды не было ресурсов, чтобы начать с нуля или полностью переписать проект. блокировать. Оглядываясь назад, можно сказать, что в прошлом команда сделала бы другой выбор в отношении некоторых направлений дизайна. В отличие от этого, у ARM есть несколько команд процессоров, работающих в разных местах, которые фактически конкурируют друг с другом. Это позволяет проводить «перепроектирование с нуля», например Кортекс-А76. Кортекс-А77 и Cortex-A78 являются прямыми преемниками A76.
У команды SARC были идеи по улучшению будущих ядер, таких как гипотетический Exynos M7. Однако предположительно очень высокопоставленный человек в Samsung решил отменить специальную базовую программу. Как АнандТех отмечает, что специальные ядра не были конкурентоспособными с точки зрения энергоэффективности, производительности и использования площади (PPA) по сравнению с процессорами ARM любого конкретного поколения. В прошлом месяце ARM анонсировала программу Cortex-X Custom с новым Кортекс-X1, ядро следующего поколения, предназначенное для мобильных устройств 2021 года. Его философия дизайна заключается в том, чтобы выйти за рамки Cortex-A PPA и вместо этого добиться абсолютной производительности. Таким образом, Exynos M6 было бы трудно конкурировать с ним. Несмотря на это, похоже, что Samsung не будет адаптировать Cortex-X1 и будет использовать только комбинацию Cortex-A78 + Cortex-A55 в Exynos 992 — однако она может быть принята во флагмане Galaxy S в следующем году.
В настоящее время команда SARC все еще разрабатывает специальные межсоединения и контроллеры памяти для Samsung Systems LSI. Компания также работала над собственной архитектурой графических процессоров, но Samsung Systems LSI подписал соглашение с AMD использовать архитектуру графического процессора AMD следующего поколения RDNA в будущих графических процессорах Exynos, начиная с 2021 года.
В целом, проект специального ядра ЦП стал для производителей мобильных чипов наглядным уроком о том, что может пойти не так. Команда процессоров SARC имела большие амбиции конкурировать с Apple, которая является бесспорным лидером в области мобильных процессоров. К сожалению, ему не удалось конкурировать с ARM, не говоря уже об Apple. Проблемы можно было решить, но год за годом усилия САРК отставали на шаг или два, и это негативно отразилось на поставках таких продуктов, как варианты Exynos 9810 для Samsung Galaxy S9. Теперь все основные производители мобильных чипов Android будут использовать стандартный процессор ARM IP с 2021 года, и в этот список входят Qualcomm, Samsung, MediaTek и HiSilicon. Борьба будет вестись с Apple за счет таких ядер, как Cortex-X1, а не специализированных ядер ARM, разработанных с нуля.
Источник: Эволюция архитектуры процессора Samsung Exynos | С помощью: АнандТех