Оригинал материала: https://3dnews.ru./1041458

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

Страница 1

Выход на рынок процессоров Ryzen первого поколения в 2017 году спровоцировал появление многочисленных материалов, посвящённых правильному выбору и настройке оперативной памяти. Такие статьи писали и мы, потому что в то время пользователям было и правда сложно разобраться в подборе модулей DDR4 SDRAM для новых процессоров AMD. Контроллер памяти первых Ryzen был очень капризен и предъявлял далеко не самые очевидные требования к применяемым модулям DDR4 SDRAM, плюс многочисленные вопросы возникали и при их настройке.

Но сейчас на рынке находится уже третье и четвёртое поколение процессоров Ryzen, и у этих CPU, основанных на микроархитектурах Zen 2 и Zen 3, в плане работы с памятью всё стало значительно лучше и проще. Ушли в прошлое списки рекомендованных модулей DDR4 SDRAM, нет больше жёстких рамок по частоте и другим настройкам подсистемы памяти. Однако всё это отнюдь не значит, что подбору памяти для Ryzen теперь можно вовсе не уделять внимания.

Напротив, мы столкнулись с прямо противоположной ситуацией. Дело в том, что AMD за последние несколько лет удалось серьёзно увеличить быстродействие своих процессоров. У них возросла как удельная производительность, так и тактовые частоты. Как мы показали в одном из недавних материалов, сегодняшний восьмиядерный Ryzen 7 5800X опережает относящийся к первому поколению флагманский Ryzen 7 1800X на 69 % в приложениях и на 52 % в играх. То есть современные Ryzen стали способны обрабатывать более чем в полтора раза больше данных, чем их недавние предки, и это очевидным образом увеличило их потребность в более быстрой памяти.

К сожалению, развитие оперативной памяти традиционно отстаёт от прогресса в процессорных архитектурах. И старые, и новые Ryzen, несмотря на существенную разницу в их быстродействии, работают с одной и той же DDR4 SDRAM, поэтому единственной возможностью расширить для современного процессора канал доступа к данным ( без существенных переделок архитектуры системы) остаётся увеличение частоты памяти с попутной оптимизацией задержек. Некоторое движение по этому пути действительно происходит, однако ни о каких качественных прорывах речь не идёт: например, если говорить о Ryzen, то за четыре года частота официально поддерживаемой ими памяти выросла всего на 20 % — с DDR4-2666 до DDR4-3200.

Тот факт, что рост производительности подсистемы памяти отстаёт от увеличения быстродействия процессоров, осознаёт и сама AMD и прикладывает серьёзные усилия к тому, чтобы залатать этот разрыв. Именно для этой цели в процессорах Ryzen 3000 был удвоен объём L3-кеша, который даже получил собственное название Game Cache. И ровно по этой же причине теперь AMD рассматривает возможность увеличить в процессорах Ryzen 5000 кеш третьего уровня ещё в три раза. О таких планах мы узнали совсем недавно, когда на выставке Computex 2021 компания AMD рассказала о технологии 3D V-Cache, позволяющей добавить дополнительные 64 Мбайт L3 на имеющийся процессорный чиплет «вторым ярусом» благодаря трёхмерному монтажу.

Такое стремление к наращиванию объёма кеш-памяти третьего уровня как раз и объясняется желанием AMD минимизировать простои процессорных ядер из-за ожидания данных, которые возникают из-за недостаточной производительности подсистемы памяти. И то, что этот подход действительно применим, хорошо заметно по достигаемому от увеличения L3-кеша эффекту. Например, сама AMD обещает, что добавление в перспективные процессоры Ryzen 5000 дополнительного чиплета 3D V-Cache увеличит их игровую производительность в среднем на 15 %.

Пока же гигантского L3-кеша у процессоров Ryzen 5000 нет, правильный выбор оперативной памяти в Socket AM4-системах продолжает вносить весомый вклад в общую производительность. И этот тезис мы можем подтвердить очень убедительным аргументом: по нашим тестам игровая производительность Ryzen 7 5800X с обычной памятью DDR4-2666 и с настроенной DDR4-3800 различается в среднем на 20-25 %.

А это значит, что если вы не хотите искусственно сковывать быстродействие современного процессора AMD, то к подбору и настройке его подсистемы памяти нельзя относиться наплевательски. Иначе потери в производительности могут перечеркнуть все преимущества современной микроархитектуры и даже стать причиной разочарования в платформе AMD.

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

#Почему в этой статье используется память Crucial, хотя речь не о ней

Ассортимент оперативной памяти, представленной на прилавках магазинов, отличается большим разнообразием, и сориентироваться в нём очень непросто. Дополнительно проблема усугубляется тем, что производители памяти не сообщают всех характеристик предлагаемой ими продукции, скрывая важные ключевые параметры. В общедоступных спецификациях модулей DDR4 SDRAM обычно указывается лишь три характеристики: их частота, рабочее напряжение и первичные тайминги.

Однако для оптимальной настройки подсистемы памяти гораздо важнее иметь другую информацию — на базе каких чипов построены те или иные модули, поскольку это прямо влияет на возможность их разгона и гибкой настройки. Оптимальными вариантами для комплектации систем, построенных на процессорах семейства Ryzen 5000, выступают модули с чипами Samsung B-die или Micron Rev. E – они хорошо масштабируются по частоте и оказываются очень податливы к изменениям таймингов.

Но рынок наводнён массой прочих вариантов модулей DDR4 SDRAM, например с разнообразными чипами Hynix, которые гораздо хуже по своим потребительским характеристикам. И что особенно печально, такие чипы нередко обнаруживаются в модулях, которые предлагают известные оверклокерские бренды, например Kingston, Corsair или даже G.Skill.

В этой ситуации можно порекомендовать остановить свой выбор на проверенных предложениях, об использовании в которых «хороших» чипов известно заранее и где вероятность неожиданной подмены аппаратных компонентов минимальна. Именно по этим критериям мы и выбираем память Crucail Ballistix. Данный бренд принадлежит компании Micron, и во всех модулях этой марки, относящихся к версии U4 (которая указывается в явном виде в конце маркировки), гарантированно используются разгоняемые и податливые в настройке чипы Micron Rev. E.

В настоящем тестировании мы пользовались сразу несколькими вариантами модулей Crucail Ballistix, но все они демонстрировали примерно одинаковые повадки, обусловленные чипами Micron Rev. E. От такой памяти можно ожидать разгона как минимум до частот 3800-4000 МГц и способности работы в таком состоянии при базовом тайминге CL16 (при помощи некоторого завышения параметра RCDRD).

Альтернативой модулям Crucail Ballistix для использования в системах на базе Ryzen 5000 может стать память на чипах Samsung B-die. Например, сейчас широкий выбор таких модулей предлагает компания Patriot. Модули на чипах Samsung B-die по сравнению с Crucail Ballistix могут работать при более агрессивных задержках, а потому способны обеспечить несколько лучшую производительность. Однако они и дороже, поэтому наши симпатии остаются на стороне памяти с чипами Micron Rev. E.

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

#Описание тестовой системы и методики тестирования

Все тесты для этого материала мы делали в системе, основанной на восьмиядерном процессоре Ryzen 7 5800X. Этот CPU широко доступен в продаже и, наряду с Ryzen 5 5600X, отлично подходит для игровых систем. Кроме того, в контексте тестирования памяти он хорош ещё и тем, что основывается на одном CCX-комплексе, а значит, при работе процессорных ядер с данными не возникает никаких дополнительных задержек, обусловленных неоднородностью топологии, как в 12- и 16-ядерных Ryzen 9 5900X и Ryzen 9 5950X.

В составе тестовой системы использовались комплектующие из следующего набора:

  • Процессор: AMD Ryzen 7 5800X (Vermeer, 8 ядер + SMT, 3,8-4,7 ГГц, 32 Мбайт L3).
  • Процессорный кулер: кастомная СЖО EKWB.
  • Материнская плата: ASUS ROG Crosshair VIII Hero (Socket AM4, AMD X570).
  • Модули памяти:
    • Crucial Ballistix RGB BL16G36C16U4R (16 Гбайт DDR4-3600 SDRAM, 16-18-18-38);
    • Crucial Ballistix RGB BL8G36C16U4BL (8 Гбайт DDR4-3600 SDRAM, 16-18-18-38).
  • Видеокарта: NVIDIA GeForce RTX 3090 Founders Edition (GA102, 1395-1695/19500 МГц, 24 Гбайт GDDR6X 384-бит).
  • Дисковая подсистема: Intel SSD 760p 2 Тбайт (SSDPEKKW020T8X1).
  • Блок питания: Thermaltake Toughpower DPS G RGB 1000W Titanium (80 Plus Titanium, 1000 Вт).

Тестирование выполнялось в операционной системе Microsoft Windows 10 Pro (20H2) Build 19042.572 с использованием следующего комплекта драйверов:

  • AMD Chipset Driver 2.17.25.506;
  • NVIDIA GeForce 466.47 Driver.

Описание использовавшихся для измерения вычислительной производительности инструментов:

Синтетические бенчмарки:

  • AIDA64 Engineer 6.33.5700 – тест Cache and Memory Benchmark.

Приложения:

  • 7-zip 21.02 — тестирование скорости архивации. Измеряется время, затрачиваемое архиватором на сжатие директории с различными файлами общим объёмом 3,1 Гбайт. Используется алгоритм LZMA2 и максимальная степень компрессии.
  • Adobe Photoshop Lightroom Classic 10.2 – тестирование производительности при пакетной обработке серии изображений в RAW-формате. Тестовый сценарий включает постобработку и экспорт в JPEG с разрешением 1920 × 1080 и максимальным качеством двухсот 26-мегапиксельных изображений в RAW-формате, сделанных цифровой камерой Fujifilm X-T4.
  • Adobe Premiere Pro 2021 15.2.0 — тестирование производительности при нелинейном видеомонтаже. Измеряется время рендеринга в формат YouTube 4K проекта, содержащего HDV 2160p30 видеоряд с наложением различных эффектов.
  • Corona 1.3 — тестирование скорости рендеринга при помощи одноимённого рендерера. Для измерения производительности используется стандартное приложение Corona 1.3 Benchmark.
  • x264 r3059 — тестирование скорости транскодирования видео в формат H.264/AVC. Для оценки производительности используется исходный 2160p@24FPS AVC-видеофайл, имеющий битрейт около 42 Мбит/с.

Игры:

  • Cyberpunk 2077. Разрешение 1920 × 1080: Quick Preset = Ray Tracing – Ultra.
  • Far Cry New Dawn. Разрешение 1920 × 1080: Graphics Quality = Ultra, HD Textures = On, Anti-Aliasing = TAA, Motion Blur = On.
  • Hitman 3. Разрешение 1920 × 1080: Super Sampling = 1.0, Level of Detail = Ultra, Texture Quality = High, Texture Filter = Anisotropic 16x, SSAO = Ultra, Shadow Quality = Ultra, Mirrors Reflection Quality = High, SSR Quality = High, Variable Rate Shading = Quality.
  • Shadow of the Tomb Raider. Разрешение 1920 × 1080: DirectX12, Preset = Highest, Anti-Aliasing = TAA.
  • A Total War Saga: Troy. Разрешение 1920 × 1080: DirectX 12, Quality = Ultra, Unit Size = Extreme.

Во всех игровых тестах в качестве результатов приводится среднее количество кадров в секунду, а также 0,01-квантиль (первая перцентиль) для значений FPS. Использование 0,01-квантиля вместо показателей минимального FPS обусловлено стремлением очистить результаты от случайных всплесков производительности, которые были спровоцированы не связанными напрямую с работой основных компонентов платформы причинами.

#Количество и объём модулей памяти, и почему шестнадцать лучше восьми

Первый большой вопрос про память, которым придётся задаться при сборке системы на базе процессора Ryzen, будет касаться её объёма. Все уже привыкли к тому, что для современной системы необходимо 16 Гбайт памяти, и этого объёма хватает для подавляющего большинства игр и программ. У нас на сайте на этот счёт есть даже специальное исследование, которое демонстрирует, что самые требовательные игры не занимают в памяти более 12 Гбайт. Тем не менее некоторые пользователи всё равно считают, что лучше в системе иметь 32 Гбайт – это даст некоторый запас на будущее и может позволить гладко работать в нескольких ресурсоёмких приложениях, запущенных одновременно.

Однако в действительности установка в систему 32 Гбайт – выбор не столько в пользу большого объёма, сколько в пользу более высокой производительности. Дело в том, что 32-Гбайт подсистема памяти в общем случае будет располагать большим числом рангов (банков памяти), чем 16-Гбайт подсистема, и это позволит процессору обращаться к данным более эффективно.

Работает это так. Процессоры серии Ryzen имеют двухканальный контроллер DDR4 SDRAM суммарной шириной 128 бит, но в каждом 64-битном канале могут использоваться один, два или четыре независимых банка памяти, обращения к которым чередуются для ускорения обработки запросов. Таким образом, с точки зрения производительности лучше иметь большее количество таких банков – это позволит уменьшить простои контроллера памяти в ожидании данных.

Привычные модули DDR4 объёмом 8 Гбайт практически всегда представляют собой один банк, и поэтому они называются одноранговыми. Их легко отличить по размещению всех чипов на одной стороне печатной платы. И чтобы с помощью таких 8-Гбайт планок памяти получить чередование банков в каналах контроллера памяти, модулей в системе должно быть как минимум четыре – по два на каждый канал.

Модули DDR4 объёмом 16 Гбайт, напротив, в большинстве своём сразу состоят из двух банков и потому называются двухранговыми. Их принципиальное отличие от 8-Гбайт модулей заметно невооружённым глазом: чипы памяти на них расположены на двух сторонах печатной платы, это как раз и есть два разных банка. В этом смысле 16-Гбайт модуль представляет собой аналог пары модулей по 8 Гбайт, и установка в подсистеме памяти даже двух планок по 16 Гбайт уже позволит контроллеру памяти Ryzen включить двукратное чередование банков. Более того, если в системе с Ryzen применить четыре модуля по 16 Гбайт, то число банков в каждом канале вырастет до четырёх, что позволит контроллеру памяти получить ещё более высокую производительность.

Правда, нужно оговориться, что в природе всё-таки существуют одноранговые 16-Гбайт модули, построенные на 16 гигабитных, а не на 8 двухгигабитных чипах. Такие предложения сейчас встречаются среди наиболее высокоскоростных оверклокерских комплектов памяти, и они, естественно, обеспечивают более низкую производительность по сравнению с двухранговыми альтернативами, даже несмотря на высокие частоты. Впрочем, распространены такие модули не так сильно, а пользователь всегда может легко разобраться, с двухранговым или одноранговым модулем он имеет дело. Определить это можно как по размещению чипов на двух или одной стороне печатной платы, так и при помощи диагностических утилит. Например, число рангов (банков) в каждом модуле отображает популярная программа CPU-Z.

Число активных банков в каналах памяти – очень важный параметр подсистемы памяти применительно к процессорам Ryzen 5000. Начать именно с этого мы решили не просто так: возможность включения чередования банков в каналах памяти позволяет получить ощутимый прирост производительности, а конфигурация «два модуля по 8 Гбайт», не предполагающая никакого чередования, – явно компромиссный вариант в первую очередь с точки зрения быстродействия.

Всё это нетрудно подкрепить результатами тестов. Ниже приведены результаты измерения производительности системы на базе Ryzen 7 5800X, укомплектованной модулями DDR4-3600 с одинаковыми таймингами 16-18-18-36, но имеющими различную ёмкость и, соответственно, ранговость. Мы сравнили между собой варианты 2×8 Гбайт, 4×8 Гбайт, 2×16 Гбайт и 4×16 Гбайт, а, кроме того, для полноты картины добавили и одноканальный вариант, полученный при использовании одного двухрангового модуля объёмом 16 Гбайт.

Синтетические тесты пропускной способности и латентности говорят о том, что разница между одноранговой и двухранговой памятью в каналах не так уж и велика. Какие-то ощутимые расхождения в показателях можно усмотреть разве только в тестах копирования, поэтому начинает казаться, что вся теория о преимуществе модулей памяти ёмкостью 16 Гбайт – не более чем миф. Но не спешите.

В тестах производительности в приложениях, активно работающих с большими объёмами данных, оказывается, что двухранговая память может давать весомый прирост в быстродействии. Например, в архиваторе или в Lightroom конфигурация 2×16 Гбайт быстрее, чем 2×8 Гбайт, почти на 20 %. И даже в приложениях, которые реагируют на производительность довольно слабо, двухранговая память всё равно выглядит лучше. А вот конфигурация 4×16 Гбайт, когда в каждом канале памяти оказывается по четыре банка памяти, уже не так эффективна. Даже в чувствительных приложениях прирост по сравнению с двухранговым вариантом 2×16 Гбайт достигает лишь 2-3 %. Иными словами, оптимальный вариант – двухранговые модули, что подтверждают в том числе и игровые тесты.

Не все игры реагируют на ранговость памяти одинаково, но в большинстве случаев модули по 16 Гбайт дают преимущество порядка 10 %. Если же таких модулей в системе установлено не два, а четыре, то можно рассчитывать на дополнительный прирост в частоте кадров на уровне 1-2 %. Попутно заметим, что вариант конфигурации 4×8 Гбайт почти эквивалентен по производительности установке пары модулей по 16 Гбайт, что вполне закономерно, поскольку и в том и в другом случае в каждом канале памяти оказывается по два банка памяти.

А вот одноканальная конфигурация даёт производительность ещё хуже, чем 2×8 Гбайт, поэтому прибегать к использованию в подсистеме памяти одного модуля, даже если он имеет двухранговую организацию, стоит лишь в самом крайнем случае.

В конце разговора про ранги памяти необходимо подчеркнуть, что здесь речь идёт исключительно о представителях семейства Ryzen 5000, контроллер памяти которых существенно изменился по сравнению с предшественниками. С процессорами Ryzen первого или второго поколений двухранговую память использовать не рекомендовалось вообще, поскольку такие модули сильнее нагружали контроллер памяти и попросту не могли брать высокие частоты. Но в Ryzen 5000 такой проблемы не существует: эти процессоры работают одинаково хорошо как с одноранговой, так и с двухранговой памятью, демонстрируя с последней заметно более высокую производительность.

#Частота памяти и парадокс DDR4-4000

Частота памяти – самый очевидный её параметр. Без всяких дополнительных выкладок понятно, что чем на более высокой частоте работают модули DDR4, тем выше их пропускная способность и тем быстрее процессор может получать данные из памяти. Этот тезис вряд ли нуждается в каких-то дополнительных разъяснениях, хотя, строго говоря, правило «больше — значит лучше» здесь работает далеко не всегда.

Но к этому мы вернёмся позднее, а вот что может вызвать вопросы ещё раньше, так это некоторая нестыковка между официальными спецификациями и тем, что имеет место на практике. В спецификациях процессоров серии Ryzen 5000 указывается, что максимально поддерживаемая ими память – DDR4-3200, причём такая частота гарантируется лишь при использовании двух модулей DIMM. При добавлении же второй пары модулей максимальная частота памяти, согласно спецификации, снижается до DDR4-2933 или даже до DDR4-2666 в зависимости от того, о каких модулях идёт речь.

Однако эти указания не нужно воспринимать как неопровержимые постулаты: AMD сама говорит, что более высокие частоты возможны, просто случаи, когда у пользователя не заработала память на более высокой, чем DDR4-3200, частоте, не считаются гарантийными. В действительности же контроллер памяти процессоров Ryzen 5000 обладает и гибкостью, и совместимостью – использовать с этим CPU можно память, частота которой значительно превышает установленную в спецификации планку. Например, текущий рекорд частоты памяти для процессоров семейства Ryzen 5000 достигает DDR4-5208, а известный производитель оверклокерских модулей памяти G.Skill выпускает серийные модули DDR4-4000, которые предназначены для установки конкретно в Socket AM4-конфигурации.

Иными словами, с процессорами Ryzen 5000 можно использовать память с частотой выше DDR4-3200, и, более того, делать это прямо рекомендуется, поскольку её применение положительно сказывается на быстродействии.

Насколько сильно может повлиять на производительность быстрая память, можно увидеть по результатам тестов, в которых мы сравнили конфигурации из Ryzen 7 5800X, работающего с парой модулей DDR4-2666, DDR4-3200, DDR4-3600, DDR4-3800 и DDR4-4000. Во всех случаях, кроме последнего, для подсистемы памяти использовалась одинаковая схема таймингов 16-18-18-38. Для стабильной работы DDR4-4000 в этой схеме пришлось ослабить на единицу тайминг RCDRD, а кроме того, отказаться от синхронного тактования контроллера памяти, о чём будет подробно рассказано ниже.

Синтетические тесты пропускной способности показывают разрыв почти в 40 % между DDR4-2666 и DDR4-3800, а также 15-процентное преимущество DDR4-3800 перед DDR4-3200. К этому стоит добавить и почти столь же заметное уменьшение практической латентности при переходе на более быстрые типы памяти.

Довольно отчётливо преимущество быстрой памяти проявляется и в приложениях. В тех задачах, где быстрый доступ к памяти действительно важен, DDR4-3800 позволяет получить выигрыш до 7 % по сравнению с аналогичной системой, но с DDR4-3200.

Заметно реагируют на повышение частоты памяти и игры. Смена DDR4-3200 на DDR4-3800 приносит прирост FPS, достигающий в некоторых случаях 8 % (или 5 % в среднем). Но гораздо более убедительная картина получается, если с максимально быстрой памятью сравнить DDR4-2666 – здесь правомерно говорить, что низкочастотная память способна срезать игровую производительность и на 15, и даже на 20 %.

Но точку ставить рано, поскольку подвешенным остаётся вопрос относительно производительности тестового Ryzen 7 5800X с DDR4-4000. Казалось бы, такая память должна обеспечить ещё более высокие показатели в тестах, но на диаграммах мы видим обратную картину. Короткое объяснение этого парадокса состоит в том, что для DDR4-4000 в процессорах семейства Ryzen 5000 приходится активировать асинхронный режим контроллера памяти, что приводит к ощутимому росту латентностей. Но об этом явлении стоит поговорить более подробно – синхронизации внутренних частот Ryzen 5000, связанных с работой контроллера памяти, будет посвящён следующий раздел.

Страница 2

#Магия синхронизма: частота контроллера памяти и шины 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.

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



Оригинал материала: https://3dnews.ru./1041458