Месяц спустя началась продажа процессоров нового поколения Matisse. Хотя продажами это трудно назвать, ибо Ryzen 9 3900Х размели как горячие пирожки в считанные часы во всех самых крупных магазинах и по большому счету, эта модель до сих пор имеет только пресса и счастливчики, которым просто повезло. С публикацией данного материала, возможно, я немного затянул, была надежда в скором времени увидеть новые прошивки материнских плат, которые поднимут настроение у энтузиастов, как это обычно происходит спустя пару недель после выхода нового поколения видеокарт — разблокировали разгон, улучшили производительность, поправили мелкие косяки и так далее. Мне очень не хотелось спешить или лить просто воду, рассказывая о характеристиках или закидывать банальным тестированием игр. Но сегодня, пользуясь случаем, я расскажу вам, дождался ли я того чуда, о котором мечтал, и какие секреты хранит под красным капотом двухчиплетный монстр в лице Ryzen 9 3900Х.
Для тех, кто только что присоединился, советую ознакомиться с предыдущим моим обзором, в котором вы можете познакомиться с архитектурой Zen 2 и, в частности, с Ryzen 7 3700Х. В противном случае я не даю гарантии, что вы сможете осознать текущее положение вещей. Приступим!
Ryzen 9 3900Х является действительно уникальным продуктом, ни одна настольная платформа до 7 июля 2019 года не имела в своем распоряжении процессор, у которого на борту 12 и больше ядер с 64 МБ L3-кэша и теплопакетом 105 Вт (145 Вт) по абсолютно адекватной цене в 499 долларов. Также этот процессор не утратил совместимость с текущим сокетом АМ4, что, несомненно, является огромным плюсом для обладателей материнских плат, основанных на чипсетах 300 и 400 серии. Базовая частота CPU составляет 3800 МГц, а максимальный автоматический разгон на одно ядро доходит до 4600 МГц. Число линий PCI Express равно 24 — ровно столько же, сколько и в прошлых поколениях настольных процессоров. Единственная разница заключается в том, что в этот раз заявлена поддержка спецификации PCI-E 4.0, которая позволяет удвоить пропускную способность между процессором и видеокартой, а также накопителями формата NMVe и чипсетом. Востребованность этого стандарта на данный момент минимальна, но уже сейчас можно увеличить производительность дисковой подсистемы до невиданных ранее величин. В качестве примера я хочу вам привести возможность подключить двух разных накопителя форм-фактора M.2.
Первый имеет поддержку старой ревизии скоростного интерфейса и подключен напрямую к процессору (без использования линий чипсета), второй, нового стандарта, передает данные через чипсет. Оба накопителя чувствуют себя отлично и проблем в совместимости не наблюдается. Видеокарта в этом случае работает в режиме X16.
Infinity Fabric и ограничения
Основной вопрос, который многих до сих пор волнует, NUMA или UMA? Конечно же, UMA, время доступа любого ядра с любого CCD идентичное. Хотя в последнее время я довольно часто встречаю в методичках для обзорщиков картинки, на которых CCD имеют соединение. Дабы подтвердить отсутствие прямой связи между двумя CCD я воспользовался тестом MEMbench.
Исходя из результатов, можем наблюдать, что CCD1 может пойти в гости за данными в L3-кэш к CCD2 через чип IO, при этом время доступа к кэшу L3 соседнего CCD гораздо меньше, чем время доступа к оперативной памяти. То-есть процессору выгодно использовать в первую очередь максимум L3 и только потом обращаться к оперативной памяти. Также мы можем заметить, что разгон FCLK (Infinity Fabric) позволяет снизить задержки доступа не только к оперативной памяти, а и к кэшу третьего уровня.
В прошлом материале я говорил о том, что пропускная способность на запись в оперативную память в случае одночиплетного процессора составляет только 16 байт за такт и максимум, который удавалось получить, был равен около 29 ГБ/с. Ryzen 9 3900Х же является более полноценным и суммарная пропускная способность оперативной памяти на запись составляет 2x16 байт за такт. Далее на скриншоте теста AIDA мы можем увидеть, что с записью теперь все хорошо — 57 ГБ/с. Что это нам дало? Почти 5% производительности в задачах, где соотношение запись/чтение составляет не 1:2, а 1:1. Данный нюанс довольно сложно проверить, но, благо, тестовый пакет MEMbench выручил. Если, к примеру, сравнить идентичные пресеты 3200С14 на Ryzen 7 3700Х и Ryzen 9 3900Х в тесте Easy, мы получим 124 и 118 секунд, то есть те самые 5%. Больше результатов будет приведено в разделе тестов.
Несомненно, в обзоре Ryzen 9 3900Х я не могу обойти стороной вопрос утилизации ядер во время нагрузки и как подсистема IF реагирует на разгон оперативной памяти, и FCLK в том числе. Это важная и неотъемлемая часть любого процессора, который состоит из одного и более ядер, ведь именно взаимодействие всех блоков определяет успех той или иной архитектуры. В случае Ryzen 9 3900Х я обнаружил довольно неприятный сюрприз — любой разгон оперативной памяти в режиме 1:1 (MEMCLK синхронно с FCLK и UCLK) существенно ухудшало пропускную способность Infinity Fabric, при этом с задержками этой шины все было в порядке. В качестве примера я хотел бы вам показать два режима FCLK 1066 и 1900 МГц. Разница в частоте почти 90%, тем не менее, ПСП имела свойство проваливаться на любой используемой версии UEFI со 157 ГБ/с до 138–152 ГБ/с, что, несомненно, внесло негативный вклад в производительность системы. От такого разгона было замечено улучшение межъядерных задержек на 43%, при этом вместо роста пропускной способности IF я получил минус 14 ГБ/с («по больнице» –13%). Можно подумать, что пропускной способности IF с запасом, но, к сожалению, нет, большинство тестовых приложений показали очень скудные результаты, далеко не такие как мы могли наблюдать в предыдущих поколениях Zen.
После этого я принял решение проверить поведение ПСП IF на частотах памяти, начиная от 2133 до 3800 МГц. Как оказалось, на 3200–3333 МГц с CL14 система имеет лучшее соотношение ПСП/задержка, нежели разгон до красивых 3800 МГц с CL14. Поднятие напряжений SOC и VDDG не дало никакого эффекта, системе было все равно. Снижение до рекордно низких напряжений тоже не принесло успеха, кроме гаснущего на секунду экрана (перезагрузка контроллера памяти). Использование низких рабочих температур и попытка спустить частоты процессора вручную тоже не дали результатов. У серии процессоров Ryzen 3600–3800Х подобного «нюанса» нет, у них с этим все хорошо. Ознакомиться с результатами вы можете по ссылке.
В моем понимании пропускная способность Infinity Fabric имеет тоже свой Clock Stretcher, который, в некотором смысле, сохраняет стабильность системе, если пользователь задал неверное напряжение. Безусловно, это отличная функция для новичков, но не для энтузиастов, количество которых растет с каждым днем, при этом для них со всех реклам кричат про невероятные возможности разгона систем с помощью новых плат на базе чипсета AMD X570. Только результат совсем не результат.
Что касается контроллера памяти, то он оказался немного лучше, чем на Ryzen 7 3700Х и был способен стабильно работать на частоте 1900 МГц (1866 было у Ryzen 7 3700X). На 1901 МГц старта системы уже не было. Это еще одно искусственное ограничение, которым награждены Matisse. Других отличий в виде иных рабочих напряжениях для SOC, VDDG, DRAM, procODT или RTT замечено не было. То есть, вы можете спокойно использовать пресеты от систем с одним чиплетом для своих Ryzen 9 3900Х.
Арифметическая производительность и ограничения
Следующим подарком для энтузиастов была фиксация арифметической производительности для Ryzen 9 3900Х, отметку в 610 GFlops не удалось преодолеть ни при каких условиях и ни при каких частотах (напомню, что Ryzen 5 3600 с разгоном до 4,2 ГГц дает 360 GFlops). Для сравнения я использовал ручную фиксацию множителя процессора на уровне 36.00Х и 40.00X, все 12 ядер при этом были включены.
Зная любовь Linpack к частоте ОЗУ, была взята самая максимальная отметка в 3800 МГц по памяти (1900 МГц FCLK/UCLK). 600 GFlops в обеих ситуациях, за исключением TDP, разница которого составляла почти 70 Вт. То есть процессор трудился, а результата не было. Аналогичная ситуация была замечена в игровых приложениях, когда ручной разгон процессора до 4400 МГц имел худшие показатели fps, нежели стандартное состояние в режиме авто. Именно по этому я в своих обзорах отказался от идеи ручной настройки множителя процессора. К счастью, я не одинок с подобными результатами и некоторые блогеры уже даже успели выпустить видеообзоры Ryzen 5 3600Х, в которых разгон процессора демонстрировал только отрицательную игровую производительность.
Частота Ryzen 9 3900Х в реальных приложениях
Следующий вопрос, которым завален Reddit.com, это какой же настоящий boost у Ryzen 9 3900Х и где он «бустит» до заявленных 4600 МГц. Начну с прелюдий. Реальная рабочая частота процессора это вечный вопрос, ибо каждая команда, исполняемая процессором, в силу своих особенностей имеет разные коэффициенты тепловыделения. Для простоты понимания LinX (AVX) отлично греет систему, чего не скажешь о Cinebench R15 (non-AVX), который аналогично грузит на 100% систему. В зависимости от команд или тепловыделения процессор регулирует с помощью FIT допустимые значения напряжения и тока для той или иной ситуации. В итоге для Ryzen 9 3900Х мы имеем 4575–4600 МГц только в простое и только для пары удачных ядер (которые в силу своих характеристик SIDD способны держать требуемую частоту не выходя за пределы FIT). Для остальных ситуаций я нарисовал такую табличку:
Энергоэффетивность, маркировка ядер и качество кристаллов
Не обошлось без реально крутых особенностей, Ryzen 9 3900Х действительно получил отборные кристаллы (в частности ССD1), которые способны достигать более высоких частот на более низком напряжении.
Напомню, что на 4400 МГц у Ryzen 7 3700Х лучшее ядро способно было работать на 1,3 В , а худшее только на 1,4 В. В случае Ryzen 9 3900Х лучшему ядру нужно всего лишь 1,1625 В , а худшему только 1,3625 В. Плюс ко всему, разброс вольт-частотных характеристик стал минимальным, что говорит о зрелости техпроцесса и производства двухчиплетных монстров в целом.
Как можно заметить на иллюстрации у нас две линии, одна отвечает за результаты активированных двух чиплетов, а вторая — за ручное отключение второго CCD. Данное сравнение я делал не просто так. Во время тестирования ядер первого чиплета я получал BSOD на одном и том же напряжении в 1,2875 В, это происходило не случайно, в уме я держал надежду что одно из ядер второго чиплета довольно плохое и оно просто не в состоянии быть стабильным даже в режим бездействия при рабочем напряжении в 1,2875 В. Спустя некоторое время этот революционер был найден, им оказалось ядро номер 8.
К моему удивлению, это ядро было промаркировано как удачное и светилось серебристым кружочком как и его сосед номер 9. То есть маркировка ядер опять дала осечку аналогично всем другим экземплярам, которые были у меня за последние 2 года. В данном случае подобная «осечка» не несет какой либо угрозы максимальному boost на 1–4 потока, ибо приоритет для максимального boost имеет именно первый чиплет (CCD1), второй, по сути, является прицепом с кристаллом гораздо худшего качества. После окончания тестирования всех ядер на предмет «удачности» я решил отключить физически второй чиплет, чтобы проверить максимальные способности первого чиплета. Разница составила в 0,1 В, что достаточно существенно для 7-нм техпроцесса. По итогу данный экземпляр способен работать на частотах до 4,7–4,8 ГГц не выходя за границы FIT. Собственно то, о чем рассказал совсем недавно в своем видео Роберт Халлок.
Попытка «навалить» дополнительной частоты с помощью Precision Boost 2 не увенчалась успехом, ни +25 МГц, ни + 200 МГц не заставили процессор работать на более высокой частоте и реализовывать свой железный запас. Данные настройки в UEFI оказались просто муляжом. Попытка обмануть Precision Boost 2 температурным смещением с помощью Sense Mi Skew аналогично не дало результата, данная функция в исполнении ASUS тоже есть муляж.
Не обошлось и тут без аномалий. На 4400 МГц каждое ядро имело разную арифметическая производительность, при этом разница между 18 GFlops и 27 GFlops трудно назвать погрешностью. Невязки LinX при этом отсутствовали, и прогонов для каждого ядра был 10-к, что минимизировало мою возможную халатность во время тестирования. Поднятие напряжения на 0,1 В не меняло результатов арифметической производительность. Но при этом после перезагрузки системы ядро, которое давало 18 GFlops, уже могло дать 24 или 27.
Функции энергосбережения на новых чипсетных драйверах 1.07.29.0115 работали отменно, ядра с низким VID переходили в режим сна (СC6), уже не было засыпаний при напряжении в 1,47 В.
Средняя температура для Ryzen 9 3900Х в простое колебалась в пределах 36–47 градусов. В нагрузке скакала до 80 градусов при использовании жидкостного охлаждения (не кастом).
Если использовать период опроса со значением в 500 мс и ниже можно обнаружить подобную «пилу» с дельтой в 3,5–4 градуса. Хочу заверить вас, что в этом нет ничего плохого, она возникает из-за планировщика Windows, который очень любит будить и перемешивать ядра в прямом смысле слова. Ядро пробуждается на определенном напряжении, изменяется С-state и значение температуры на хотспоте регистрируется, а спустя время только появляется у пользователя в программе мониторинга в виде пика. При 2000 мс температурная «пила», которая так часто наводит шорох на пользователей, сходит на нет.
Total Board Power, указанный в спецификациях на уровне 105 Вт оказался несколько приуменьшен, это число соответствует только частоте процессора без Precision Boost или XFR, в реальности максимальная отметка составляла 145–148 Вт при 1,1–1,15 В. Напряжение я указал не просто так, даже 145 Вт могут оказаться головной болью для материнских плат с 8-фазными модулями питания CPU с посредственными MOSFET, ибо КПД преобразователя VRM находится на довольно слабом уровне при столь низком рабочем напряжении. Моя рекомендация — это выбор материнской платы, которая может обеспечить реальных 120–140 А. Теперь пойти глянуть что там в документации на элементы написано и умножить на количество фаз уже не выйдет, это будет откровенной глупостью, ибо в «шапке» будет указан максимальный ток при окружающей температуре в 25 градусов и при использовании идеального поверхностного монтажа MOSFET, т.е. то, чего не бывает в реальности. Чтоб не пугать вас расчетами, я предложу следующее, если вы выбираете материнскую плату сами, то обратите свое внимание на транзисторы и количество фаз. Для вас я подготовил список рекомендованных MOSFET. Идеальным решением для Ryzen 9 3900Х и 3950Х окажутся материнские платы с 8-мифазным (и более) VRM, основанные на: Infineon IR3555, Infineon TDA21472, Infineon IR3553, Infineon IR3556, OnSemi 4C024N, OnSemi 4C86N (dual), NikoSem PK612DZ (dual), SinoPower SM7341EH (dual), Alpha & Omega AON6354, SinoPower SM4503, Vishay SiC634, Vishay SiC632A, Vishay SiC639 и, конечно же, Texas Instruments CSD87350Q5D.