Пояснюємо, чому intel alder lake-головний процесор цієї осені

10

Цього року intel ® розгорнула небувалу активність. Здається, досі не траплялося такого, щоб нам довелося аналізувати два послідовних дизайну клієнтських процесорів протягом всього декількох місяців. Але все колись буває в перший раз, і сьогодні – цілком підходящий момент, щоб попередньо познайомитися з процесорами alder lake, хоча попереднє покоління rocket lake все ще залишається недавньою новинкою.

Насправді до виходу alder lake поки ще є трохи часу. Процесори цього сімейства, по всій видимості, будуть анонсовані на спеціальному заході intel innovation 27-28 жовтня, тобто через місяць. Однак майбутній анонс представляється занадто грандіозною подією, щоб не підготуватися до нього заздалегідь. Адже на цей раз вихід нових процесорів буде означати і зміну платформи, і зміну мікроархітектури, і навіть в якомусь сенсі зміну всієї концепції багатопотокових обчислень. Саме тому ми вирішили зібрати і систематизувати всю наявну інформацію, що стосується alder lake, заздалегідь, з тим щоб по закінченні місяця зустрічати ці процесори у всеозброєнні, володіючи всім набором необхідних теоретичних знань.

На щастя, intel вже розкрила досить багато подробиць про будову і внутрішній устрій alder lake під час презентацій intel accelerated і intel architecture day 2021. Завдяки цьому сьогодні ми в рамках партнерського проекту з компанією intel зможемо поговорити про майбутні споживчих процесорах, грунтуючись виключно на перевірених даних з перших рук.

#alder lake з висоти пташиного польоту

Вихід процесорів alder lake незалежно від того, наскільки вони виявляться успішні, стане дуже великою подією для всього процесорного ринку. Справа не тільки в тому, що в них intel серйозно оновить мікроархітектуру і додасть підтримку принципово нових типів пам’яті і зовнішніх інтерфейсів, але ще і в тому, що вони стануть втіленням зовсім іншої концепції багатопотокових обчислень, вдаватися до якої в масових x86-процесорах поки ще ніхто не намагався. Йдеться про те, що alder lake отримають гібридну будову і будуть грунтуватися на ядрах двох типів одночасно – продуктивних (p-ядрах) і ефективних (e-ядрах). Їх об’єднання в одному обчислювальному пристрої, за задумом розробників, повинно дозволити домогтися недосяжною раніше гнучкості як в сенсі сфери застосовності таких процесорів, так і з точки зору співвідношення продуктивності та енергоефективності.

Гібридний підхід big.little вже давно використовується в процесорах з архітектурою arm, і ідея intel, яка буде втілена в alder lake, чимось нагадує цю схему. За задумом intel, великі продуктивні ядра слід кидати на вирішення високопріоритетних завдань переднього плану, що вимагають короткого часу реакції, в той час як маленькі і енергоефективні ядра можуть зайнятися фоновими процесами. Крім того, всі типи ядер можна об’єднати для вирішення одного завдання, що дозволить досягти максимального рівня швидкодії, принаймні в теорії.

При цьому обидва типи ядер в alder lake отримали нові мікроархітектури, з якими ми досі не стикалися. Продуктивні ядра засновані на мікроархітектурі golden cove, яка є подальшим розвитком cypress cove (з rocket lake) і willow cove (з tiger lake). А ефективні ядра мають мікроархітектуру gracemont, яка виросла з процесорів atom і є подальшим розвитком мікроархітектури tremont, що застосовувалася як в експериментальних процесорах lakefield, так і в більш зрозумілих pentium (silver) і celeron серій n і j з кодовими іменами jasper lake і elkhart lake.

Важливим завданням, яке intel ставила перед собою при розробці alder lake, було створення не тільки двох типів ядер, але і більш широкого набору різноманітних конструкційних блоків, які могли б дозволити легко збирати різні за призначенням споживчі процесори для різних ринкових сегментів і з різними характеристиками: як високопродуктивні настільні, так і мобільні і навіть ультрамобільні.

Незважаючи на закладену в дизайні модульність, в процесорах alder lake поки не застосовується тайлова топологія – аналог чіплетів у баченні intel. Такий спосіб складання компанія візьме на озброєння трохи пізніше. Замість цього різні варіанти alder lake конструюються на одному монолітному напівпровідниковому кристалі. Але для зручності розробники спеціально підігнали розміри складових частин alder lake один до одного, і, наприклад, одне продуктивне p-ядро приблизно відповідає за площею зібраним в кластер чотирьом ефективним e-ядрам. Подібні пропорції витримуються і для інших елементів процесора (для графічного ядра, контролера пам’яті, контролера pcie та ін.)- це якраз і забезпечує різноманіття і гнучкість конфігурацій.

Невід’ємною частиною майбутніх процесорів alder lake, як і раніше, залишилося графічне ядро. Intel передбачила два варіанти графіки: gt1 з 32 виконавчими пристроями для настільних процесорів і gt2 c 96 пристроями для мобільних застосувань. Вбудовані gpu базуються на графічній архітектурі 12-го покоління, тобто вони відносяться до класу xe lp і приблизно відповідають за можливостями графічного ядра процесорів tiger lake. У варіанті gt2 вбудована графіка, як очікується, зможе забезпечити прийнятну ігрову продуктивність в дозволі 1080p (з низькими настройками якості) і буде підтримувати 12-бітний конвеєр відтворення відео. Однак в десктопні процесори потрапить лише більш простий варіант gpu.

Відсутність кардинальних оновлень в графічному ядрі повинен компенсувати новий контролер пам’яті з підтримкою відразу чотирьох типів sdram. Він може працювати як з новими ddr5 – 4800 і lpddr5-5200, так і зі старою пам’яттю ddr4-3200 і lpddr4x-4266. Природно, всі чотири типи пам’яті будуть підтримуватися не одночасно: вибір того чи іншого варіанту буде відбуватися на етапі проектування конкретної платформи. Логічно очікувати, що підтримка ddr5 sdram в першу чергу з’явиться у високопродуктивних десктопах (умовно кажучи, заснованих на чіпсетах z-серії), в той час як рішення середнього рівня продовжать спиратися на звичну ddr4 – і lpddr4x-пам’ять. І так буде тривати до тих пір, поки ціна модулів ddr5 буде істотно перевищувати вартість ddr4.

Блок інтерфейсу pci express, який інженери intel спроектували для alder lake, також містить серйозні інновації. Вперше в споживчому сегменті він наділений підтримкою протоколу pcie 5.0, який забезпечує чергове подвоєння пропускної здатності і дозволяє забезпечити графічного слота pcie x16 смугу 64 гбайт/с. В той же час для підключення nvme-накопичувачів процесорний контролер пропонує лише інтерфейс pcie 4.0 x4, якого, втім, достатньо для будь-яких представлених на ринку ssd. Крім того, підтримка pcie 5.0 буде присутня виключно в настільних версіях alder lake. Процесори, віднесені до мобільного сегменту, отримають інший контролер pcie, в якому можливості будуть якимось чином урізані.

Але є і зворотні приклади: деякі конструкційні блоки alder lake призначаються виключно для мобільних варіантів cpu. До їх числа відносяться, наприклад, контролер thunderbolt 4 або співпроцесор обробки зображень ipu. Вони вбудовуватися в настільні версії процесорів не будуть.

Всі елементи alder lake, включаючи різні ядра, графіку і фрагменти l3-кеша, контролери пам’яті і pcie, а також усі інші блоки, як і раніше, об’єднані в одне ціле за допомогою двобічної кільцевої шини, що в цій реалізації має пропускну спроможність до 1000 гбайт/с. Схожий варіант кільцевої шини вже використовувався в мобільних tiger lake, проте в нових процесорах intel пообіцяла додаткові оптимізації, спрямовані на зниження затримок.

Ще одне велике нововведення стосується технологічного процесу виробництва. Alder lake стануть першими чіпами intel, які будуть випускатися по техпроцесу intel 7 – до недавнього перейменування він фігурував під назвою 10 нм enhanced superfin. Мова тут йде про другий етап оптимізацій процесу з 10-нм нормами, який повинен забезпечити поліпшення питомої продуктивності на ват на 10-15 % щодо минулої версії техпроцесу 10 нм superfin. Хоча раніше техпроцес intel 7 вважався 10-нм, по щільності розміщення транзисторів на кристалі він або порівнянний, або перевершує 7-нм техпроцес інших виробників, що якраз і дало виробнику моральне право перейменувати технологію в intel 7. Так, згідно з даними wikichip, колишній 10-нм техпроцес intel забезпечує розміщення 100,76 млн транзисторів на мм2, в той час як 7-нм процес tsmc упаковує на тій же площі тільки 91,2 млнТранзистор.

Користуючись даною виробничою технологією, intel збирається упаковувати в напівпровідникові кристали alder lake до восьми продуктивних і восьми ефективних ядер одночасно. Це означає, що максимальне число ядер в майбутніх процесорах досягає 16, але такі конфігурації будуть пропонуватися тільки для настільних платформ. Досить незвично, що максимальний 16-ядерний процесор зможе виконувати одночасно не 32, а тільки 24 потоки, а обсяг його кеш-пам’яті третього рівня складе 30 мбайт.

Таке дивне поєднання числа ядер і потоків обумовлено тим, що p-ядра мають підтримку технології hyper-threading, в той час як e-ядра її позбавлені. Більш того, вони працюють на різних тактових частотах і володіють різними за обсягом і організації кешами. Все це означає, що паспортні характеристики різноманітних моделей alder lake можуть багатьом здатися дивовижними: в залежності від кількості тих чи інших ядер конкретні cpu будуть отримувати дуже незвичні комбінації числа потоків і ядер, частот і обсягу кеш-пам’яті.

На даний момент intel розкрила три базові конструкції напівпровідникових кристалів alder lake, націлені на три різних сегмента: високопродуктивні настільні процесори alder lake-s, які будуть встановлюватися в нове покоління материнських плат з процесорним роз’ємом lga1700; мобільні процесори alder lake-p з тепловим пакетом від 12 до 35 вт у виконанні bga type3; ультрамобильные alder lake-m в корпусі bga type4 hdi з тепловим пакетом від 7 до 15 вт, призначені для ультрабуків. Кристал процесорів alder lake-s містить вісім p-ядер, вісім e-ядер і графіку gt1. У alder lake – p число p-ядер обмежується шістьма, але зате використовується продуктивна графіка gt2. А в alder lake-m передбачається лише два p-ядра, але все ті ж вісім e-ядер і gt2 gpu.

Судячи з усього, першими на ринок прийдуть процесори alder lake-s для настільних систем. Їх модельний ряд очолюватиме процесори core i9 з ядерною формулою 8 + 8, а також, за непідтвердженою поки інформацією, в нього можуть увійти процесори core i7 з формулою 8 + 4, два варіанти core i5 з формулою 6 + 4 або 6 + 0, і, можливо, процесори core i3 зі схемою ядер 4 + 0. Окремо необхідно підкреслити, що такий запис числа ядер у вигляді суми двох доданків використовується непроста. Підсумовувати кількість p-і e-ядер неправильно: intel не збирається підносити старші alder lake в якості 16-ядерних пропозицій, вони швидше будуть позиціонуватися як просунуті восьмиядерники з додатковими енергоефективними ядрами. Тому, наприклад, не варто дивуватися складу серії core i5, де одночасно будуть представлені процесори з 10 і з 6 ядрами: число e-ядер не вважається визначальним фактором і може варіюватися у сусідніх моделей.

Строго кажучи, alder lake – не перші x86-процесори, що об’єднують ядра двох різних типів. Раніше intel вже випускала гібридні енергоефективні процесори lakefield, де одне ядро sunny cove сусідило з чотирма ядрами tremont. Однак вони не отримали помітного визнання і, хоча були представлені тільки в другому кварталі минулого року, вже зняті з виробництва. Своєю сумною долею вони частково зобов’язані проблемам з їх функціонуванням в windows 10, яка не завжди правильно розподіляла навантаження по різнорідним ядрам, що призводило до зниження продуктивності. Спочатку передбачалося, що для пристроїв на базі lakefield буде призначена спеціальна операційна система windows 10x, в якій будуть закладені адаптовані алгоритми, однак, на жаль, її випуск microsoft скасувала.

Ця історія викликає побоювання, що подібне може статися і з alder lake. Адже цілком очевидно, що для правильної роботи гібридних процесорів планувальник операційної системи повинен розрізняти типи ядер і динамічно відправляти вимогливі навантаження на ядра, здатні запропонувати високу продуктивність, попутно звільняючи їх від фонових завдань. Але на цей раз intel все передбачила. Щоб допомогти планувальнику краще розібратися в структурі процесора і домогтися максимальної ефективності роботи, в alder lake з’явилася апаратна технологія intel thread director, яка буде відповідати за розподіл навантаження спільно з новою операційною системою windows 11.

Суть thread director полягає в тому, щоб передати планувальнику ос докладні телеметричні дані про поточний стан всіх ядер, завдяки яким він зможе приймати обґрунтовані рішення про прив’язку потоків до конкретних ядер. Дана технологія, як обіцяє intel, повинна обходити всі труднощі, які можуть виникати при практичній експлуатації гібридних процесорів з ядрами різних типів. І найголовніше, вона абсолютно прозора для програмного забезпечення і не вимагає внесення будь-яких змін в програмний код.

Основною частиною intel thread director є вбудований в процесор мікроконтролер, який збирає докладні низькорівневі дані про кожному ядрі процесора, включаючи температуру, енергоспоживання, завантаження та інші параметри, і з мінімальними затримками передає їх планувальнику операційної системи. Крім цього, thread director безперервно, з наносекундною дискретністю, відстежує інструкції, які виконуються кожним ядром, а також аналізує завантаження їх виконавчих пристроїв. Базуючись на всій цій інформації, планувальник отримує можливість перемикати потоки між ядрами повністю обгрунтовано і відповідно до зрозумілої стратегії, суть якої полягає в тому, щоб забезпечити завданням переднього плану і додатків, чутливим до затримок, максимальну швидкість виконання. Наприклад, більш високий пріоритет при переміщенні на продуктивні ядра отримують потоки, які оперують векторними інструкціями, а потоки, що працюють зі скалярними інструкціями, з більшою ймовірністю відправляються на енергоефективні ядра. Але в будь-якому випадку вся ця система динамічна і перекидання потоків з одних ядер на інші залежить від маси різних факторів, і в тому числі від видів навантаження, виконуваної на процесорі в кожен конкретний момент часу.

Intel навела кілька прикладів того, як працює thread director в деяких окремих випадках. Наприклад, коли всі ядра вільні, одиничний процес завжди буде відправлений відразу p-ядро, однак якщо в момент старту процесу всі такі ядра зайняті, він почне роботу на e-ядрі і переміститься на p-ядро тільки тоді, коли thread director вважатиме таке перенесення доцільним. В іншій ситуації, коли процесор завантажується все зростаючим числом рівноправних потоків, вони спочатку відправляються по одному на кожне вільне p-ядро, потім по одному на кожне вільне e-ядро, а потім по одному на віртуальні ядра, існуючі за рахунок технології hyper-threading.

Окремо обмовляється і те, що прив’язка потоків до ядер не постійна, і вони можуть активно переміщатися з одного типу ядер на інший прямо в процесі роботи. Це може відбуватися як через зміну характеру навантаження всередині обчислювального потоку, так і в ситуаціях, коли кількість вимогливих потоків починає перевищувати число продуктивних ядер. У цій ситуації деякі потоки будуть перенесені на e-ядра з метою вивільнити потужності під те навантаження, яка більше потребує обчислювальних потужностях в кожен конкретний момент часу.

Існуючі до цих пір процесори і операційні системи не обмінювалися інформацією, щоб оптимізувати розподіл обчислювальних ресурсів: планувальник спирався виключно на дані про пріоритети потоків, призначених їм або самою операційною системою, або розробниками програми. Тепер же за рахунок технології thread director робота планувальника повинна стати більш самостійним, тонким і динамічним процесом. Такий симбіоз апаратних і програмних засобів вселяє надію, що різнорідні ядра гібридних процесорів alder lake будуть задіяні саме так, як задумано intel, – щоб забезпечувати максимальний рівень швидкодії.

Разом з тим впровадження thread director додає нові можливості і для розробників пз. Доступні для процесорів alder lake розширення бібліотек powerthrottling api вводять для потоків додаткові атрибути якості обслуговування, завдяки яким автори програм при бажанні зможуть розмічати створювані потоки. Крім того, для потоків, які свідомо здатні працювати на енергоефективних ядрах і не потребують високих обчислювальних потужностях, введена окрема маркування. Відомо, що різні компоненти windows 11, включаючи браузер edge, будуть використовувати описані розширення, що ще раз відображає близьку співпрацю intel з microsoft в питанні створення і підтримки гібридної процесорної архітектури.

На жаль, intel не стала ділитися докладною інформацією про роботуThread director, тому поки нам доведеться прийняти на віру той факт, що завдяки цій технології потрібне навантаження дійсно буде відправлятися на потрібні ядра. Втім, процесори alder lake дозволять відключити e-ядра, якщо у користувача виникнуть сумніви в доцільності їх залучення до роботи.

Говорячи про розподіл потоків по ядрах гібридного процесора, intel робить особливий упор на нову операційну систему windows 11 з оптимізованим планувальником. Проте alder lake повинні прийнятно працювати і без реалізованого в цій операційній системі тісної взаємодії між alder lake і планувальником. Intel вказує, що і в старій операційній системі windows 10 нові процесори зможуть працювати цілком нормально. Хоча технологія thread director в windows 10 не підтримується, ця операційна система спирається на механізм intel hardware guided scheduling, який теж здатний перемикати потоки з урахуванням різнорідності ядер, просто не настільки точно і з дещо нижчою частотою. Проте, за твердженням intel, помітити неозброєним оком різницю в продуктивності alder lake в windows 10 і windows 11 буде досить складно.

Про те, що енергоефективні ядра gracemont не мають 512-бітних регістрів і не підтримують набір інструкцій avx-512, відомо досить давно, і це здається цілком природним, якщо згадати, що реалізація векторних операцій вимагає як істотного транзисторного бюджету, так і помітних витрат енергії. Але тут же виникає закономірне питання про те, як в цьому випадку буде будуватися робота з цими інструкціями в процесорах alder lake в цілому? відповідь на це питання виявився дуже простим – ніяк. Хоча в продуктивних ядрах willow cove в складі alder lake регістри і виконавчі пристрої з 512-бітної розмірністю закладені в мікроархітектурі, виконання інструкцій avx-512 в них заблоковано на апаратному рівні, щоб не викликати зайвих колізій при диспетчеризації потоків, що працюють з такими командами.

І це означає, що з появою процесорів alder lake в підтримуваних споживчими cpu розширеннях набору інструкцій стався відкат назад. Незважаючи на те, що підтримка avx-512 була реалізована і в мобільних процесорах tiger lake, і в десктопних rocket lake, в новому поколінні процесорів її знову не буде.

В якості якоїсь компенсації intel додала в alder lake підтримку підмножини інструкцій vnni для вирішення завдань, пов’язаних з нейронними мережами. І ці інструкції, як не дивно, можуть виконуватися як на продуктивних, так і на енергоефективних ядрах. Однак це зовсім не ті інструкції vnni, які раніше вважалися частиною набору avx-512 і оперували 512-бітними регістрами. Оскільки в alder lake ці регістри заблоковані, інструкції vnni в них оперують 256-бітними регістрами і як би існують в рамках підмножини команд avx2. Іншими словами, набір інструкцій avx2-vnni, який реалізований в alder lake, відрізняється по розрядності від введеного раніше набору avx – 512 vnni і вимагає спеціальної підтримки з боку по. З цієї причини розраховувати на те, що введені в alder lake унікальні інструкції vnni стануть активно використовуватися в програмних продуктах, не доводиться.