Центърът за научноизследователска и развойна дейност на Samsung Austin разкрива подробности за своята неиздадена процесорна микроархитектура Exynos M6

Центърът за изследване и развитие на Samsung Austin (SARC) публикува документ, описващ подробно микроархитектурата на отмененото персонализирано CPU ядро ​​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 не успя да се справи със стандартния CPU IP на ARM. Какви бяха микроархитектурните промени в следващото персонализирано ядро, отменения Exynos M6?

Досега отговорът на този въпрос беше неизвестен. Сега обаче екипът за разработка на CPU SARC представи документ, озаглавен „Еволюция на архитектурата на процесора Samsung Exynos“ (за който научихме чрез AnandTech) на Международния симпозиум за компютърна архитектура (ISCA), който е конференция на IEEE. Той разкрива много подробности за предишните процесори от серия Exynos M, както и архитектурата на отменения Exynos M6.

Документът, представен от екипа за разработка на CPU на SARC, описва усилията на екипа през осемгодишното му съществуване и също така разкрива ключови подробности за персонализираните ARM ядра, вариращи от Exynos M1 (Mongoose) до текущото поколение Exynos M5 (Lion) и дори неиздадения процесор Exynos M6, който преди отмяната се очакваше да присъства в SoC на Exynos 990 за 2021 г. наследник.

Екипът на SARC CPU на Samsung беше създаден през 2011 г., за да разработи персонализирани CPU ядра, които след това бяха включени в Samsung Systems Exynos SoC на LSI. Първият Exynos SoC, който използва персонализирано ядро, беше Exynos 8890, който беше представен в Samsung Galaxy от 2016 г. S7. Персонализираните ядра останаха част от Exynos SoC до Exynos 990 с ядрата Exynos M5, които присъстваха във вариантите на Samsung Galaxy S20, захранвани от Exynos. (Предстоящото Exynos 992, който вероятно ще присъства в Galaxy Note 20, се очаква да включва ARM Cortex-A78 а не Exynos M5.) SARC обаче беше завършил архитектурата на Exynos M6 преди екипът на CPU получих новини, че е разпуснат през октомври 2019 г., като разпускането влиза в сила през декември.

Документът на ISCA включва таблица с преглед на микроархитектурните разлики между персонализираните CPU ядра на Samsung от Exynos M1 до Exynos M6. Някои от добре познатите характеристики на дизайна бяха разкрити от компанията в нейното първоначално задълбочено разглеждане на M1 CPU архитектурата на събитието HotChips 2016. На HotChips 2018, Samsung се потопи дълбоко в Exynos M3. Архитектурата на ядрата на Exynos M4 и Exynos M5 също е детайлизирана, както и тази на M6.

Източник: SARC

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 и кешовете за данни от 64KB на 128KB - AnandTech отбелязва, че това е избор на дизайн, който досега е бил прилаган само от ядрата на A-серията на Apple, като се започне с Apple A12.

L2 беше удвоен в възможностите си за честотна лента до 64B/цикъл, докато L3 щеше да види увеличение от 3MB на 4MB. Exynos M6 би бил 8-широко декодиращо ядро. Както е отбелязано от AnandTech, това би било най-широката комерсиална микроархитектура, известна в момента по отношение на декодирането. Въпреки това, въпреки че ядрото беше много по-широко, единиците за изпълнение на цели числа не видяха голяма промяна. Един сложен тръбопровод добави възможност за второ целочислено деление, докато тръбопроводите за зареждане/запаметяване останаха същите като M5 с една зареждаща единица, една зареждаща единица и една зареждаща/запаметяваща единица. Тръбопроводите с плаваща запетая/SIMD щяха да имат допълнителен четвърти модул с FMAC възможности. L1 DTLB беше увеличен от 48 страници на 128 страници, а основният TLB беше удвоен от 4K страници на 8K страници (32MB покритие).

Exynos M6 щеше да представлява още една значителна промяна в сравнение с предшествениците си чрез увеличаване на прозореца за извънредност на ядрото от първия път след M3. Щеше да има по-големи физически регистрационни файлове с цели числа и с плаваща запетая и ROB (Reorder Buffer) щеше да се увеличи от 228 на 256. AnandTech отбелязва, че една важна слабост на персонализираните ядра на Exynos все още присъства в M5 и щеше да присъства и в M6. Неговите по-дълбоки етапи на тръбопровод биха довели до скъпо наказание за неправилно прогнозиране от 16 цикъла, което е по-високо от CPU ядрата на ARM, които имат наказание за неправилно прогнозиране от 11 цикъла. Документът SARC навлиза в още по-голяма дълбочина в дизайна на предсказващия разклонения, демонстрирайки базирания на Scaled Hashed Perceptron дизайн на ядрото на процесора. Този дизайн щеше да се подобрява непрекъснато през годините и внедряванията, подобрявайки точността на разклоненията и непрекъснато намалявайки грешните прогнози за килограм инструкции (MPKI). SARC представя таблица, която показва количеството структури за съхранение, които предикторът на разклонения заема в предния край. Технологиите за предварително извличане на ядрото също бяха подробно описани в статията, обхващаща въвеждането на µOP кеш в M5, както и усилията на екипа за укрепване на ядрото срещу уязвимости в сигурността като Призракът.

Усилията за подобряване на латентността на паметта в персонализираните ядра на Exynos също бяха подробно описани от SARC в статията. В Exynos M4 екипът на SARC включи каскаден механизъм зареждане-зареждане, който намалява ефективната латентност на L1 цикъла от четири цикъла на три при последващи зареждания. Ядрото M4 също така въведе байпас на пътя с нов интерфейс от ядрата на процесора директно към контролерите на паметта, което избягва трафика през свързването. Според AnandTech, това обяснява някои от по-големите подобрения на латентността, които публикацията успя да измери с Exynos 9820. Exynos M5 въведе спекулативен байпас за търсене на кеш, който издаде заявка едновременно към свързването и към таговете на кеша едновременно. Това вероятно би спестило забавяне в случай на пропуск в кеша, тъй като заявката за памет е в ход. Средната латентност на натоварване също непрекъснато се подобрява през поколенията от 14,9 цикъла при M1 до 8,3 цикъла при M6.

Докато горните микроархитектурни характеристики са доста технически, CPU ентусиастите ще са запознати с термина Инструкции на часовник (IPC), което означава на MHz производителност в производителността на процесора с една нишка (това е основният основен фактор, определящ производителността на процесора с една нишка, като другият фактор е тактовата честота на ядро). IPC с цяло число и IPC с плаваща запетая са детерминанти на IPC. Екипът на SARC успя да получи средно 20% годишни подобрения от M1 до M6. M3, по-специално, представлява голямо процентно подобрение в IPC, въпреки че беше разочаровано от други фактори. Exynos M5 представлява 15-17% подобрение в IPC, докато подобрението на IPC за неиздадения Exynos M6 е разкрито, че има средно 2,71 срещу 1,06 за M1, което представлява 20% подобрение спрямо M5.

Брайън Грейсън, водещият на вестника, отговори на въпроси относно отмяната на програмата по време на сесията за въпроси и отговори. Той каза, че екипът винаги е бил на целта и по график с подобрения в производителността и ефективността с всяко поколение. (Това означава ли, че целите не са били достатъчно високи на първо място?). Най-голямата трудност на отбора, от друга страна, беше да бъде изключително внимателен с бъдещето промени в дизайна, тъй като екипът нямаше ресурсите да започне от нулата или напълно да пренапише a блок. Погледнато назад, екипът би направил различни избори в миналото с някои от дизайнерските посоки. В ярък контраст, ARM има множество процесорни екипи, работещи на различни места, които всъщност се конкурират помежду си. Това дава възможност за "нов дизайн на основата", като например Cortex-A76. The Cortex-A77 и 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 за използване на следващото поколение (Next graphics architecture) RDNA GPU архитектура на AMD в бъдещите графични процесори Exynos, като се започне през 2021 г.

Като цяло проектът за персонализирано ядро ​​на процесора беше просветляващ урок за доставчиците на мобилни чипове за това какво може да се обърка. Екипът на SARC CPU имаше големи амбиции да се конкурира с Apple, който е безспорен лидер в областта на мобилните процесори. За съжаление не успя да се конкурира с ARM, да не говорим за Apple. Проблемите можеха да бъдат решени, но година след година усилията на SARC изоставаха с крачка или две това се отрази неблагоприятно върху доставките на продукти като вариантите Exynos 9810 на Samsung Galaxy S9. Сега всички големи доставчици на мобилни чипове за Android ще използват стандартния CPU IP на ARM от 2021 г. и този списък включва Qualcomm, Samsung, MediaTek и HiSilicon. Битката ще се води от Apple с ядра като Cortex-X1, а не персонализирани ARM ядра, проектирани от нулата.


източник: Еволюция на процесорната архитектура на Samsung Exynos | Чрез: AnandTech