Процессоры и память

Как выбрать и настроить память для Ryzen 5000, чтобы не профукать 15 % FPS на ровном месте

⇣ Содержание

#Магия синхронизма: частота контроллера памяти и шины Infinity Fabric

Чтобы понять, что не так с режимом DDR4-4000 (и более скоростными) в Ryzen 5000, нужно немного углубиться в их внутреннее устройство. Процессоры этого семейства собраны из чиплетов двух типов – 7-нм восьмиядерных CCD-чиплетов, которые содержат внутри себя вычислительные ядра, и 12-нм чиплета IOD, в котором находятся контроллеры памяти, PCIe 4.0 и некоторых других внешних интерфейсов. Соединяются чиплеты между собой специальной 32-битной шиной Infinity Fabric, которая работает на своей независимой частоте.

Поскольку контроллер памяти в Ryzen физически оторван от процессорных ядер, он также имеет свою рабочую частоту. И в сумме всё это приводит к тому, что скорость работы подсистемы памяти определяется сразу тремя частотами: частотой модулей памяти, частотой контроллера памяти и частотой шины Infinity Fabric, связывающей контроллер с процессорными ядрами и L3-кешем.

Естественно, максимальная производительность всего этого комплекса достигается в том случае, когда Infinity Fabric, контроллер памяти и сама память работают синхронно, то есть на одинаковой частоте, однако добиться этого для любых вариантов модулей DDR4 SDRAM невозможно. Но AMD хотя бы постаралась, чтобы правило синхронного тактования соблюдалось в максимально возможном количестве случаев. И если в системе используется DDR4-3600 или менее скоростная память, то синхронность достигается автоматически. Но для более быстрых модулей памяти всё получается уже иначе.

Частота памяти (mclk)Частота контроллера (uclk)Частота Infinity Fabric (fclk)
До DDR4-3600 mclk до 1800 МГц uclk = mclk fclk = mclk
DDR4-3600 mclk = 1800 МГц uclk = 1800 МГц fclk = 1800 МГц
После DDR4-3600 mclk выше 1800 МГц uclk = mclk/2 fclk = 1800 МГц

В таблице выше показано, как ведут себя частоты контроллера памяти и шины Infinity Fabric при переходе через режим DDR4-3600. В более скоростных режимах частота Infinity Fabric перестаёт расти вслед за частотой памяти и остаётся на отметке 1800 МГц, активируя асинхронность.

Что касается контроллера памяти, то его частота связана с частотой памяти, но он может работать как на частоте памяти, так и на половине её частоты. При этом есть и ещё одно условие: его частота не может быть выше частоты Infinity Fabric. В результате если частота Infinity Fabric перестаёт соответствовать частоте памяти, контроллер памяти вынужден переходить в более медленный режим половинной частоты. В итоге получается два принципиально различных варианта: либо всё работает синхронно и всё хорошо, либо все частоты, связанные с подсистемой памяти, выходят из связки, и это порождает дополнительные и довольно весомые задержки. Именно из-за них мы и наблюдаем снижение производительности Ryzen 7 5800X при установке в систему DDR4-4000.

Однако есть и ещё один важный нюанс. Описанная выше связь частот – это механизм, который реализован в системах на базе процессоров Ryzen 5000 по умолчанию. В действительности же у пользователя есть доступ как к изменению частоты Infinity Fabric вручную, так и к смене режимов тактования контроллера памяти – синхронно с модулями DDR4 SDRAM или на половинной частоте.

 

В результате пользователь сам может попытаться включить производительный синхронный режим для более быстрых, нежели DDR4-3600, вариантов памяти. И в ряде случаев это действительно работает. Так, благодаря ручной настройке частот с Ryzen 5000 может синхронно работать не только DDR4-3600, но и более быстрая DDR4-3800 (чем мы и воспользовались для тестов в предыдущем разделе). В этом случае достаточно вручную зафиксировать частоту Infinity Fabric на значении 1900 МГц, и это чаще всего будет работать без каких-либо проблем. Однако для более быстрых вариантов памяти, таких как DDR4-4000, добиться стабильности в синхронном режиме уже почти невозможно.

Когда AMD анонсировала процессоры семейства Ryzen 5000, она обещала, что с ними при удачном стечении обстоятельств сможет работать синхронно и DDR4-4000, то есть утверждалось, что частота 2000 МГц для шины Infinity Fabric вполне реальна.

Однако это утверждение не прошло проверку жизнью. Установить частоту Infinity Fabric и контроллера памяти в 2000 МГц возможно, но при таких настройках в операционной системе начинают фиксироваться множественные ошибки WHEA (Windows Hardware Error), которые связаны с искажением данных, передаваемых по Infinity Fabric. В большинстве своём эти ошибки исправляются механизмами Windows 10, однако некоторые из них могут привести к краху системы и появлению «синих экранов». Иными словами, система, работающая в таком состоянии, не может считаться стопроцентно стабильной, и максимально доступным синхронным режимом памяти для процессоров Ryzen 5000 следует считать DDR4-3800, а не DDR4-4000.

Чтобы оценить штраф, который налагается при отключении синхронного режима памяти, мы протестировали, как Ryzen 7 5800X работает с DDR4-3800 при трёх схемах тактования: 1900:1900:1900 – когда частоты памяти, Infinity Fabric и контроллера памяти совпадают; 1900:1900:950 – когда память и Infinity Fabric работают синхронно, но контроллер переведён в режим половинной частоты; 1900:1800:950 – когда Infinity Fabric работает на асинхронной частоте 1800 МГц.

Кроме того, попутно мы попытались ответить на вопрос о целесообразности разгона Infinity Fabric в системах, где память работает на более низкой частоте. На тех же графиках присутствуют результаты, полученные при использовании в системе DDR4-3200 в трёх режимах: 1600:1600:1600 – полностью синхронном; 1600:1900:1600 – асинхронном при разгоне Infinity Fabric до 1900 МГц; 1600:1900:800 – асинхронном, где Infinity Fabric разогнана, а контроллер памяти заторможен до половинной частоты. Все тесты проведены с двумя модулями по 16 Гбайт.

 
 

Из результатов синтетических тестов видно, что нарушение синхронности в трёх частотах приводит не столько к падению практической пропускной способности подсистемы памяти, сколько к увеличению задержки. В конечном итоге латентность возрастает почти на 20 %, причём основная часть этого штрафа возникает при включении в контроллере памяти режима половинной частоты, а вовсе не тогда, когда частота Infinity Fabric перестаёт совпадать с частотой памяти.

 
 

В приложениях использование асинхронных режимов не кажется опасным для производительности. Существенное падение быстродействия заметно только при архивации. Однако в целом видно, что отсутствие согласованности между частотами ни к чему хорошему не приводит. Даже разгон частоты Infinity Fabric выше частоты памяти оказывает на итоговую производительность негативное влияние.

 
 

Игры реагируют на асинхронность довольно болезненно. Разница в игровой производительности системы с равными частотами на магистрали «процессор—память» и этой же системы, где все три частоты (память, Infinity Fabric, контроллер) разные, составляет в среднем 5 %. Причём удар по FPS наносит как снижение частоты контроллера памяти, так и отсутствие согласованности между частотой памяти и Infinity Fabric.

В итоге получается, что использовать с Ryzen 7 5800X память в режимах быстрее DDR4-3800 действительно не имеет смысла. При этом нужно обязательно следить, чтобы соблюдалось равенство частоты памяти, частоты Infinity Fabric и частоты контроллера памяти. Проверить правильность их тактования можно диагностическими утилитами, например в HWINFO64.

Заодно там же стоит проконтролировать отсутствие ошибок WHEA, которые появляются в системах на базе Ryzen 5000 при переразгоне Infinity Fabric.

#Тайминги: они важнее частоты или нет?

Раз мы сегодня говорим обо всех факторах, которые влияют на производительность памяти и в конечном итоге всей системы, обойти стороной тайминги просто невозможно. В процессорах Ryzen 5000, основанных на микроархитектуре Zen 3, произошли значительные изменения, самым заметным из которых стало объединение восьми ядер в одном CCX-комплексе. Это привело к удвоению размера L3-кеша, адресуемого каждым вычислительным ядром, что, в свою очередь, повлекло за собой снижение усреднённых задержек, которые возникают при обращениях процессора к данным. В теории это могло бы означать и снижение влияния на производительность таймингов памяти, которое в процессорах прошлого поколения было определённо заметным.

Но простой тест позволяет убедиться, что схема таймингов, с которой работает тот или иной комплект памяти, продолжает влиять на быстродействие всей системы. Чтобы убедиться в этом, мы протестировали 32-Гбайт комплект DDR4-3600, состоящий из двух модулей, с четырьмя различными схемами таймингов, начиная с 14-14-14-28 и заканчивая 20-20-20-40. Результаты получились вполне показательными.

 
 

Если судить по числам в синтетическом бенчмарке AIDA64 Cachemem, то схема таймингов в первую очередь оказывает влияние на практическую латентность. Агрессивная схема задержек 14-14-14-28 позволят выиграть у средних таймингов 18-18-18-36 до 6 % в латентности. При отсутствии заметных различий в пропускной способности при чтении, записи и копировании это кажется совсем немного – изменение частоты работы памяти даёт куда больший эффект.

 
 

Не слишком выигрывают от снижения таймингов и приложения. Даже если сравнивать между собой результаты, полученные с худшей и лучшей схемой задержек, то получится, что максимальный разрыв в производительности достигает лишь 5 %. Причём такая разница наблюдается всего единожды – при измерении скорости архивации данных.

 
 

Но для игр тайминги всё-таки кажутся довольно важной характеристикой. Кадровая частота может различаться на величину до 6 % в относительном выражении. Таким образом, выбор памяти с агрессивными настройками может быть вполне оправдан. Однако нельзя не сделать важную оговорку о том, что те самые 6 % разницы, которые мы увидели при переходе от максимально вялой схемы 20-20-20-40 к очень бодрым 14-14-14-28, можно было бы получить за счёт увеличения частоты работы памяти на 400-500 МГц. Это создаёт впечатление, что частота памяти – более важная характеристика, нежели её задержки.

#Тонкая подстройка таймингов без страданий и боли

Большинство пользователей не занимается тонкой настройкой таймингов памяти, полагаясь на XMP-профили. И это вполне закономерно: профили XMP как раз и были введены в употребление для того, чтобы снять с пользователей груз по подбору идеальных параметров памяти, которые позволят выжать из имеющихся модулей максимум возможного. Однако из-за того, что профили XMP делаются универсальными и способными подойти для совершенно различных систем, предлагаемые ими установки всегда можно улучшить, и нередко – весьма существенно. Это касается как первичных таймингов, которые указываются в спецификациях модулей, так и вторичных параметров, которые в действительности тоже могут сильно повлиять на производительность, – в конечном итоге после тщательной настройки рассчитывать можно как минимум на 5 % дополнительного прироста FPS в играх.

Другое дело, что заниматься подгонкой многочисленных параметров подсистемы памяти, число которых превышает три десятка, захотеть могут лишь только самые отчаянные энтузиасты, которые готовы тратить на идеальную подгонку настроек своей сборки даже не часы, а дни и недели. К счастью, существует довольно простой путь, как можно срезать этот угол, – в этом может помочь полезная утилита DRAM calculator for Ryzen, созданная хорошо известным (в узких кругах) разработчиком Юрием Бублием (1usmus).

Утилита DRAM calculator for Ryzen предлагает заранее подобранные оптимизированные профили настроек для многих распространённых комплектов памяти. Достаточно указать базовые характеристики комплекта – тип чипов, лежащих в его основе, версию печатной платы DIMM, объём модулей и их ранговость, – как программа предложит свою схему рекомендуемых таймингов, которую останется лишь перенести в BIOS Setup. Естественно, стабильность работы при этом не гарантируется, но в большинстве случаев DRAM calculator for Ryzen предлагает дельные варианты, которые, с одной стороны, нормально работают, а с другой – позволяют нарастить производительность на несколько процентов благодаря тщательно подобранным настройкам.

Узнать необходимые характеристики установленного в системе комплекта памяти можно с помощью другой утилиты — Thaiphoon Burner. Она поможет определить лежащие в основе модулей памяти аппаратные компоненты, указывать которые нужно в DRAM calculator for Ryzen.

Утилита DRAM calculator for Ryzen может предложить профили настроек не только для номинальной частоты памяти, но и для повышенной частоты, которые можно применить при разгоне модулей DDR4 SDRAM. Важно лишь предварительно убедиться, что имеющаяся память способна функционировать на такой частоте в принципе.

Как всё это работает и какой вклад вносит в производительность, мы проверили в следующем тесте, в рамках которого протестировали систему на Ryzen 7 5800X с имеющимися модулями DDR4-3600 компании Crucial несколько раз. При этом мы сравнили разные варианты их настройки: базовый – в режиме DDR4-3600 с таймингами, установленными по XMP; тайминги из профиля DRAM calculator for Ryzen и тайминги, подобранные вручную. Причём два последних варианта были использованы дважды: как в номинальном для памяти режиме DDR4-3600, так и при её разгоне до максимальной осмысленной частоты DDR4-3800.

Конкретные значения таймингов, которые получились в каждом таком случае, можно посмотреть при помощи ещё одной полезной утилиты — ZenTimings.

DDR4-3600, XMP
 
DDR4-3600, DRAM calculator
 
DDR4-3600, подбор вручную
DDR4-3800, DRAM calculator
 
DDR4-3800, подбор вручную

Снижение абсолютных значений задержек по сравнению со схемой из XMP заметно очень хорошо, и это неминуемо приводит к улучшению показателей производительности.

 
 

Даже если не выходить за рамки номинального режима DDR4-3600, то подстройка таймингов действительно позволяет и поднять практические пропускные способности подсистемы памяти, и снизить её латентность. Уже на этом этапе можно заключить, что профиль XMP является далеко не идеальным вариантом конфигурации DDR4-памяти. Дополнительная возможность подъема частоты памяти выше номинала также оказывается не лишней – за счёт этого показатели подсистемы памяти становятся ещё лучше.

 
 

Результаты, полученные в приложениях, только подтверждают: пренебрегать подгонкой параметров подсистемы памяти точно не стоит. Даже если просто перейти на схему таймингов из DRAM calculator for Ryzen без увеличения частоты памяти, то по сравнению с таймингами из XMP можно получить выигрыш в производительности до 8 % (в архиваторе). При этом муторная ручная настройка пусть и даёт ещё лучшее быстродействие, разница получается не столь большой. И кстати, если опираться на рекомендации DRAM calculator for Ryzen, то в некоторых ситуациях можно обойтись и вовсе без разгона памяти. Например, в нашем случае предлагаемый утилитой профиль для режима DDR4-3800 оказался менее эффективен, чем для номинальной частоты памяти DDR4-3600.

 
 

Но самое интересное — это то, как на оптимизацию таймингов реагируют игры. Здесь статистика такова: профиль из DRAM calculator for Ryzen увеличивает частоту кадров в среднем на 4 % по сравнению с XMP, если же тайминги настраивать вручную, к этому результату можно добавить увеличение FPS где-то ещё на 1 %. В том же случае, когда в дело идёт весь арсенал средств – оптимизация таймингов и разгон памяти до состояния DDR4-3800, результаты игровых тестов увеличиваются ещё на несколько десятых долей процента.

Иными словами, тайминги, которые производители памяти заливают в XMP, действительно неидеальны, и использование оптимизированных схем настроек настоятельно рекомендуется. Эффект, оказываемый на производительность системы применением правильно подобранных задержек, сравним, например, с разгоном памяти на дополнительные 400-500 МГц, и малозначительным назвать его совершенно невозможно. При этом, что немаловажно, совершенно необязательно погружаться в утомительную процедуру многокритериальной оптимизации кучи взаимосвязанных между собой задержек – можно пойти коротким путём и просто положиться на то, что предлагают специализированные программы.

#Выводы

Главный результат проведённого масштабного тестирования заключается в том, что мы получили наглядное подтверждение значимости скоростных характеристик подсистемы памяти в платформах, построенных на процессорах Ryzen 5000. Несмотря на то, что AMD в процессорах последних двух поколений существенно нарастила объём L3-кеша, а в последнем поколении к тому же освободила шину Infinity Fabric от межъядерных пересылок данных (в шести- и восьмиядерных процессорах), характеристики модулей памяти продолжают вносить огромный вклад в итоговую производительность. Неудачный выбор и небрежная настройка модулей DDR4 SDRAM легко срежет заметную долю быстродействия процессора Ryzen и приведёт к тому, что впечатления от компьютера на платформе AMD окажутся хуже, чем могли бы быть.

Просто задумайтесь, о чём говорят полученные лишь только в игровых тестах числа:

  • выбрал одноранговые, а не двухранговые модули памяти – потерял 6 % в частоте кадров;
  • не разогнал память по частоте, оставив её в состоянии DDR4-3200, – потерял ещё 5 % FPS;
  • не убедился в синхронной работе контроллера памяти – дополнительно получил минус 5 % к игровой производительности;
  • не настроил тайминги, положившись на XMP-профиль, – недосчитался ещё 4 % кадровой частоты.

Даже любые три из этих пунктов в сумме дадут потерю 15 % игровой производительности, а это — очень весомая дельта, пренебрегать которой неразумно, если не сказать преступно. Поэтому мы призываем вас относиться к подсистеме памяти с должным вниманием, выбирать модули DDR4 SDRAM с умом и не лениться заниматься впоследствии их тонкой настройкой.

С учётом же всего вышесказанного, тем, кто хочет собрать систему на базе процессоров Ryzen последнего поколения, хочется посоветовать выбирать двухранговые 16-Гбайт модули DDR4 SDRAM на чипах Samsung B-die или Micron Rev. E. Эти модули не только лучше многих других вариантов с точки зрения производительности сами по себе, но и допускают дальнейшую оптимизацию в нужном направлении. Их практически всегда можно разогнать до состояния DDR4-3600 или DDR4-3800, а попутно настроить им тайминги, включая не только базовые, но и вторичные и третичные значения, таким образом, чтобы получить дополнительную прибавку к быстродействию. Именно так сейчас выглядит рецепт пресловутого «раскрытия потенциала» процессоров Ryzen 5000.

#Ссылки на утилиты

 

 
← Предыдущая страница
⇣ Содержание
Если Вы заметили ошибку — выделите ее мышью и нажмите CTRL+ENTER.
Материалы по теме
⇣ Комментарии
Прежде чем оставить комментарий, пожалуйста, ознакомьтесь с правилами комментирования. Оставляя комментарий, вы подтверждаете ваше согласие с данными правилами и осознаете возможную ответственность за их нарушение.
Все комментарии премодерируются.
Комментарии загружаются...
window-new
Soft
Hard
Тренды 🔥