Центр досліджень і розробок Samsung Austin (SARC) опублікував статтю з детальним описом мікроархітектури скасованого спеціального ядра ЦП Exynos M6.
Ми знаємо, що спеціальний проект центрального процесора в Остінському науково-дослідному центрі (SARC) Samsung підійшов до кінця у жовтні 2019 року. Для проекту, який рекламувався з такою помпою після запуску Exynos M1 із Exynos 8890 у 2016 році, це був сумний кінець. Чому SARC згорнув проект? Спеціальне ядро Exynos M5, представлене в Exynos 990 SoC — це останнє повністю спеціальне ядро, розроблене Samsung в осяжному майбутньому, і, оглядаючись назад, легко зрозуміти, чому Samsung відмовилася від спеціальних ядер, оскільки вони були недостатньо конкурентоспроможними. Зараз відомо, що ядро Exynos M5 має 100% дефіцит енергоефективності проти Cortex-A77 від ARM, що говорить багато про що. Однак це не повинно було бути таким. Конструкції Exynos M1 і Exynos M2 показали певні перспективи, і на той час проект спеціального ядра ЦП вважався важливим для конкуренції в сфері мобільних ЦП. Exynos M3 зазнав значного падіння, незважаючи на значне підвищення IPC, і
Exynos M4 і Exynos M5 не зміг встигати за стандартною IP-адресою процесора ARM. Якими були мікроархітектурні зміни в наступному спеціальному ядрі, скасованому Exynos M6?Досі відповідь на це питання була невідома. Однак тепер команда розробників ЦП SARC представила статтю під назвою «Еволюція архітектури ЦП Samsung Exynos» (про яку ми дізналися через AnandTech) на Міжнародному симпозіумі з комп’ютерної архітектури (ISCA), який є конференцією IEEE. Він розкриває багато деталей про попередні ЦП серії Exynos M, а також про архітектуру скасованого Exynos M6.
Документ, представлений командою розробників процесорів SARC, детально описує зусилля команди протягом восьмирічного існування, а також розкриває ключові деталі спеціальних ядер ARM, починаючи з Exynos M1. (Mongoose) до поточного покоління Exynos M5 (Lion) і навіть невипущеного процесора Exynos M6, який, до скасування, мав бути представлений у 2021 SoC Exynos 990. наступник.
Команда Samsung SARC CPU була створена в 2011 році для розробки спеціальних ядер ЦП, які потім були представлені в Samsung Systems SoC Exynos від LSI. Першим процесором Exynos SoC із спеціальним ядром був Exynos 8890, представлений у Samsung Galaxy 2016 року. S7. Спеціальні ядра залишалися частиною систем на процесорі Exynos до Exynos 990 з ядрами Exynos M5, які були представлені у варіантах Samsung Galaxy S20 на базі Exynos. (Майбутній 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.
AnandTech зазначає, що однією з ключових характеристик дизайну 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 КБ - AnandTech зазначає, що це вибір дизайну, який наразі був реалізований лише в ядрах Apple серії A, починаючи з Apple A12.
У L2 пропускну здатність подвоїли до 64 Б/цикл, а в L3 — з 3 МБ до 4 МБ. Exynos M6 мав би 8-широке ядро декодування. Як зазначив в AnandTech, це була б найширша комерційна мікроархітектура, яка зараз відома з точки зору декодування. Однак, незважаючи на те, що ядро було набагато ширшим, блоки виконання цілих чисел не зазнали значних змін. Один складний конвеєр додав можливість другого цілочисельного ділення, тоді як конвеєри завантаження/зберігання залишилися такими ж, як у M5, з одним блоком завантаження, одним блоком зберігання та одним блоком завантаження/зберігання. Конвеєри з плаваючою точкою/SIMD мали б додатковий четвертий блок із можливостями FMAC. L1 DTLB було збільшено з 48 сторінок до 128 сторінок, а основний TLB подвоїли з 4K сторінок до 8K (охоплення 32 МБ).
Exynos M6 представляв би ще одну значну зміну в порівнянні зі своїми попередниками, збільшивши вікно виходу з ладу ядра вперше після M3. Були б більші фізичні реєстрові файли цілих чисел і з плаваючою комою, а ROB (Reorder Buffer) збільшився б з 228 до 256. AnandTech зазначає, що один важливий недолік користувальницьких ядер Exynos все ще присутній на M5 і також був би присутній на M6. Його глибші стадії конвеєра призведуть до дорогого штрафу за 16 циклів неправильного прогнозування, який був би вищим, ніж ядра ЦП ARM, які мають штраф за 11 циклів неправильного прогнозування. У документі SARC ще більше розглядається дизайн предиктора розгалужень, демонструючи дизайн на основі масштабованого хешованого персептрона ядра ЦП. Ця конструкція безперервно вдосконалювалася б протягом багатьох років і реалізацій, підвищуючи точність розгалужень і постійно зменшуючи помилкові прогнози на кіло-інструкції (MPKI). SARC представляє таблицю, яка показує обсяг структур зберігання, які займає предиктор гілок у інтерфейсі. Технології попередньої вибірки ядра також були детально описані в статті, яка охоплює впровадження кешу µOP у M5, а також зусилля команди щодо захисту ядра від уразливостей безпеки, таких як Привид.
Зусилля щодо покращення затримки пам’яті в спеціальних ядрах Exynos також були детально описані SARC у статті. У Exynos M4 команда SARC включила механізм каскаду завантаження-завантаження, який зменшив ефективну затримку циклу L1 з чотирьох циклів до трьох при наступних завантаженнях. Ядро M4 також запровадило обхід шляху з новим інтерфейсом від ядер процесора безпосередньо до контролерів пам’яті, що уникало трафіку через інтерконнект. Відповідно до AnandTech, це пояснює деякі з більших покращень затримки, які публікація змогла виміряти за допомогою 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% покращення порівняно з M5.
Браян Грейсон, ведучий газети, відповів на запитання про скасування програми під час сесії запитань і відповідей. Він сказав, що команда завжди дотримувалася мети та дотримувалася графіка, покращуючи продуктивність і ефективність з кожним поколінням. (Чи означає це, що цілі спочатку були недостатньо високими?). З іншого боку, найбільша складність для команди полягала в тому, що вона була надзвичайно обережною з майбутнім зміни дизайну, оскільки команда не мала ресурсів, щоб почати з нуля або повністю переписати a блокувати. Оглядаючись назад, команда зробила б інший вибір у минулому щодо деяких напрямків дизайну. На відміну від цього, ARM має кілька команд ЦП, які працюють у різних місцях і фактично конкурують між собою. Це дозволяє здійснювати "нові зміни дизайну", такі як Кортекс-А76. The Кортекс-А77 і Cortex-A78 є прямими наступниками A76.
У команди SARC були ідеї щодо вдосконалення майбутніх ядер, таких як гіпотетичний Exynos M7. Однак нібито високопоставлена особа в Samsung вирішила скасувати спеціальну основну програму. як AnandTech зазначає, що спеціальні ядра не були конкурентоспроможними з точки зору енергоефективності, продуктивності та використання площі (PPA) порівняно з ЦП ARM будь-якого конкретного покоління. Минулого місяця ARM анонсувала програму Cortex-X Custom, яка включає в себе нове Cortex-X1, ядро наступного покоління, призначене для мобільних пристроїв 2021 року. Його філософія дизайну полягає в тому, щоб порушити оболонку Cortex-A PPA і натомість отримати абсолютну продуктивність. Таким чином, Exynos M6 було б важко конкурувати з ним. Незважаючи на це, схоже, що Samsung не буде адаптувати Cortex-X1 і використовуватиме лише комбінацію Cortex-A78 + Cortex-A55 у Exynos 992 — однак, вона може бути використана у флагмані Galaxy S наступного року.
Команда SARC все ще розробляє спеціальні з’єднання та контролери пам’яті для Samsung Systems LSI. Він також працював на користувальницькій архітектурі GPU, але Samsung Systems LSI підписав угоду з AMD використовувати архітектуру GPU нового покоління (Next graphics architecture) RDNA від AMD у майбутніх графічних процесорах Exynos, починаючи з 2021 року.
Загалом, власний проект центрального процесора став яскравим уроком для постачальників мобільних чіпів про те, що може піти не так. Команда SARC CPU мала великі амбіції конкурувати з Apple, яка є беззаперечним лідером у сфері мобільних процесорів. На жаль, він не зміг конкурувати з ARM, не кажучи вже про Apple. Проблеми можна було вирішити, але рік за роком зусилля SARC відставали на крок або два це негативно відбилося на постачанні таких продуктів, як варіанти Exynos 9810 для Samsung Galaxy S9. Тепер з 2021 року всі основні постачальники мобільних чіпів Android використовуватимуть базовий CPU IP від ARM, і цей список включає Qualcomm, Samsung, MediaTek і HiSilicon. Боротьбу ведуть Apple з такими ядрами, як Cortex-X1, а не звичайними ядрами ARM, розробленими з нуля.
Джерело: Еволюція архітектури ЦП Samsung Exynos | Через: AnandTech