Компания AMD сегодня анонсировала новые высокопроизводительные игровые процессоры Ryzen 7000X3D с увеличенным объёмом кеш-памяти. Они должны поступить в продажу в феврале. Профильные СМИ заметили странности в характеристиках новинок, связанные с самим объёмом кеш-памяти. Он оказался меньше, чем ожидалось.
В частности, журналисты портала TechPowerUp обратили внимание, что у 12-ядерного Ryzen 9 7900X3D и 16-ядерного Ryzen 9 7950X3D, использующих по два чиплета CCD, общий объём кеш-памяти не соответствует ожидаемому. В свою очередь 8-ядерный Ryzen 7 7800X3D, использующий один чиплет CCD, получил ожидаемый общий объём кеш-памяти (L2 + L3), составляющий 104 Мбайт. У младшей модели на каждое ядро приходится по 1 Мбайт кеш-памяти L2, кроме того процессор получил 96 Мбайт кеш-памяти L3. Последняя состоит из 32 Мбайт кеш-памяти в составе кристалла CCD и дополнительных 64 Мбайт в виде слоя кеш-памяти 3D V-Cache, напаянного поверх чиплета CCD. При той же схеме у моделей Ryzen 9 7900X3D и Ryzen 9 7950X3D, оснащённых двумя кластерами CCD, общий объём кеш-памяти в теории должен был составить 204 и 208 Мбайт соответственно. Однако эти процессоры имеют 140 и 144 Мбайт общей кеш-памяти.
Косвенные объяснения такой ситуации предоставила компания AMD, опубликовавшая изображения процессоров с двумя кристаллами CCD в высоком разрешении. Как выяснилось, лишь один из чиплетов имеет дополнительный слой кеш-памяти 3D V-Cache. Его контуры чётко обозначены линиями на изображении ниже.
С точки зрения программного обеспечения, такая конфигурация ассиметричного набора кеш-памяти не должна создавать никаких проблем. Рынок программного обеспечения уже успел адаптироваться к тем же гибридным процессорам Intel и Arm, использующим совершенно разные виды вычислительных ядер на одной подложке. Задолго до релиза процессоров Intel Alder Lake, когда были выпущена серия чипов Ryzen 3000 (Matisse), первых потребительских процессоров с двумя чиплетами CCD, компания AMD тесно сотрудничала с Microsoft над вопросом оптимизации планировщика ОС таким образом, чтобы высокоинтенсивные вычислительные процессы и менее распараллеленные рабочие нагрузки, например, игры, были локализованы только на одном из двух кристаллов CCD, чтобы свести к минимуму задержку при обмене данными с памятью DDR4.
Ещё до Matisse компании AMD и Microsoft столкнулись с особенностями оптимизации многопоточной нагрузки на архитектурах процессоров с двумя CCX-комплексами (такие использовались у Zen и Zen 2). Тогда в идеале планировщику ОС требовалось локализовать игровую нагрузку на одном комплексе CCX, затем распределить её на второй CCX в составе одного чиплета CCD, а затем уже перераспределять нагрузку на следующий чиплет CCD. Решить это удалось тем же методом выбора предпочтительного ядра CPPC2. И именно поэтому AMD крайне рекомендует использовать в операционной системе Windows план энергопотребления Ryzen Balanced, включённый в драйвер чипсета.
Весьма вероятно, что аналогичный подход будет использоваться на 12- и 16-ядерных моделях процессоров Ryzen 7000X3D, когда игровая нагрузка будет возлагаться на чиплет CCD с кеш-памятью 3D V-Cache, а сопутствующие рабочие нагрузки (аудиостек, сетевой стек, фоновые сервисы и т. д.) будут выполняться на втором CCD. В неигровых нагрузках, использующих все ядра процессоров, новинки AMD будут функционировать как любые другие многоядерные процессоры. При этом никаких проблем с ошибками из-за разности архитектур, которые первое время наблюдались у тех же процессоров Alder Lake, у чипов AMD возникнуть не должно, поскольку оба их чиплета CCD используют одинаковую архитектуру Zen 4.