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

Память для AMD Ryzen: влияние на производительность и правильный выбор

Пусть новые процессоры AMD Ryzen и не сталиоднозначно лучшим выбором для сборки высокопроизводительных персональных компьютеров, зато по количеству внимания, которое они смогли к себе привлечь, интеловских конкурентов им удалось превзойти на голову. Так вышло не только из-за того, что компьютерное сообщество истосковалось по полноценному соперничеству на процессорном рынке. Немалый вклад в поднявшуюся шумиху внесло и то, что для Ryzen характерен неожиданный для многих профиль производительности. Им свойственен очень хороший уровень быстродействия в приложениях для создания и обработки цифрового контента, однако они почему-то не могут полноценно раскрываться в игровых задачах. И в результате, в то время как в ресурсоёмких задачах старшие представители линейки Ryzen 7 вполне свободно соперничают с флагманами серии Core i7, средняя геймерская производительность новых чипов AMD находится где-то на уровне Core i5, что служит неисчерпаемым источником для жарких дискуссий.

Надо сказать, что лейтмотив этих дебатов, которые то и дело начинают поклонники AMD, выглядит примерно так: давайте, товарищи, ждать лучших времен. Подождем, когда Microsoft оптимизирует под Ryzen планировщик в своей операционной системе, когда производители материнских плат внесут какие-то магические коррективы в код BIOS, когда игровые разработчики выпустят исправления для популярных игр и начнут учитывать особенности микроархитектуры Zen в свежих проектах — ну и множество других «когда». Тем временем, с момента анонса Ryzen прошло уже почти полтора месяца, а ситуация с производительностью в играх если и сдвинулась с первоначальной точки, то не то чтобы принципиально.

Тем не менее всё совсем не безнадёжно. Действенные пути для повышения игровой производительности платформ на базе Ryzen есть, они хорошо известны, и воспользоваться ими может любой желающий уже сейчас. Их два: разгон процессора и повышение скоростных характеристик подсистемы памяти. Что касается разгона, то с ним всё просто: имеющиеся на рынке Ryzen 7 и Ryzen 5 – полностью разблокированные процессоры, и при помощи несложных манипуляций с настройками их частоты можно поднять до 3,8-4,0 ГГц. Хотя такой разгон кажется не слишком значительным, частоту кадров в популярных играх он действительно несколько увеличивает.

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

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

#Поддержка DDR4 в Ryzen: официальная позиция

Контроллер памяти, реализованный в процессорах семейства Ryzen, имеет двухканальную архитектуру, поддерживает максимум по два модуля DDR4 SDRAM в каждом канале и, согласно официальной позиции, способен работать с DDR4-2133/2400/2667 SDRAM. Однако максимальная частота памяти достижима далеко не всегда: дополнительные ограничения возникают в том случае, если в каждом канале установлено не по одному, а по два модуля, или тогда, когда эти модули двухранговые (то есть совмещающие на одной планке памяти два набора микросхем с 64-битной шиной).

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

Число каналовЧисло ранговЧисло модулей DIMMМаксимальная частота
Два Два 4 DDR4-1866
Два Один 4 DDR4-2133
Два Два 2 DDR4-2400
Два Один 2 DDR4-2666

В то же время числа, приведённые в таблице, не являются незыблемым пределом. Они лишь отражают видение вопроса инженерами AMD. В ряде случаев к обозначенным рубежам можно приплюсовать и некоторый разгон памяти. Правда, даже в самом благоприятном случае возможностей здесь не так уж и много. Набор делителей для частоты DDR4 SDRAM, предлагаемый контроллером памяти Ryzen, сравнительно узок. Самый быстрый режим, который позволяют активировать процессоры этого семейства, – DDR4-3200, а шаг в частоте памяти составляет 266 МГц, то есть между DDR4-2666 и DDR4-3200 существует лишь ещё один промежуточный вариант – DDR4-2933.

Зато все имеющиеся режимы вполне работоспособны, и при правильном подборе модулей можно получить подсистему памяти с пиковой пропускной способностью на уровне 51,2 Гбайт/с (два канала DDR4-3200). Проблема лишь в том, что в скоростных режимах с процессорами Ryzen способны работать далеко не любые модули памяти, даже если для них заявляются высокие паспортные частоты.

Для того чтобы не ошибиться с выбором, AMD рекомендует сверяться со списками одобренных производителями материнских плат комплектов модулей: в случае платформы Socket AM4 такие списки не просто имеют смысл, а должны стать непосредственным руководством по покупке. Сама же AMD советует обратить внимание на три комплекта, которые, скорее всего, смогут взять частоту 3200 МГц на любой материнской плате:

  • Geil EVO X — GEX416GB3200C16DC (16-16-16-36 @ 1,35 В);
  • G.Skill Trident Z — F4-3200C16D-16GTZR (16-18-18-36 @ 1,35 В);
  • Corsair CMK16GX4M2B3200C16 (16-18-18-36 @ 1,35 В).

Как поясняют представители AMD, гарантированно на высокой частоте с Ryzen запускаются и стабильно работают комплекты памяти, которые состоят из пары модулей по 8 Гбайт, построенных на 8-Гбит чипах Samsung второго поколения (B-die) – наиболее ценимом энтузиастами базисе для современной оверклокерской памяти. То есть именно память на 8-гигабитных микросхемах Samsung – самый благоприятный вариант для Ryzen в общем случае. Модулей же на базе чипов производства Hynix, особенно двухранговых, с ёмкостью по 16 Гбайт, рекомендуется при любой возможности избегать. С ними максимально достижимая частота памяти, скорее всего, окажется сильно ограниченной.

При этом представители AMD добавляют, что, при условии правильного подбора модулей, DDR4-3200 – это лишь локальный максимум для данного этапа, а не абсолютный предел. Со временем поддержка дополнительных делителей для более быстрой, чем DDR4-3200 SDRAM, памяти может быть введена в процессорах Ryzen – через новые версии кода AGESA (AMD Generic Encapsulated Software Architecture), который будет встраиваться в будущие BIOS материнских плат. Необходимый микрокод компания намерена разослать партнёрам в мае, поэтому, если всё пойдёт по плану, совместимость платформы Socket AM4 с более высокочастотными модулями DDR4 может появиться уже летом.

Но обходной вариант для особенно настойчивых есть и сейчас: добиться функционирования памяти на частоте свыше 3200 МГц можно за счёт повышения частоты базового тактового генератора (BCLK). Впрочем, и в этом случае особых чудес ждать не стоит. Практически достижимый предел скорости памяти находится в районе 3400-3600 МГц, а при дальнейшем росте её частоты контроллер утрачивает способность к стабильной работе. Иными словами, такой разгон даёт не слишком заметные результаты. И даже более того, отклонение BCLK от номинальных 100 МГц для постоянной эксплуатации крайне не рекомендуется в связи с тем, что эта величина используется не только для формирования частоты процессора и памяти, но и для процессорной шины PCI Express. А эта шина переносит разгон очень плохо, и при отклонении её частоты от номинала более чем на 5-7 процентов стабильность сохраняется лишь при переводе PCI Express из режима 3.0 в замедленный режим 2.0 с уполовиненной пропускной способностью. Для графического ускорителя это, вероятно, будет не слишком серьёзной потерей, но вот NVMe-накопители, которые на платформе Socket AM4 также подключаются напрямую к процессору, в таком случае лишатся половины своей предельной скорости. Кроме того, работа накопителей с разогнанной по частоте шиной PCI Express может быть чревата сбоями и потерей данных.

Руководствуясь этими соображениями, многие производители материнских плат решили вообще не добавлять в свои продукты функции для изменения BCLK. Фактически менять базовую частоту позволяют лишь немногие платформы самого верхнего уровня, такие как ASUS Crosshair VI Hero, ASRock X370 Taichi, ASRock Fatal1ty X370 Professional Gaming и GIGABYTE GA-AX370-Gaming K7. Однако никаких специальных аппаратных решений для управления BCLK не требуется, поэтому не исключено, что в будущем эта функция добавится и в других материнских платах через обновления BIOS.

К тому же AMD неустанно напоминает о том, что частота памяти сильно влияет на производительность систем с Ryzen, и представители компании настойчиво рекомендуют стараться подбирать для новых процессоров такие модули памяти, которые будут способны работать в режимах с высокой пропускной способностью.

#Почему высокая частота DDR4 SDRAM действительно важна

Мы уже давно привыкли к тому, что скорость работы памяти мало влияет на производительность системы в приложениях. Однако в случае с Ryzen компания AMD пытается уверить нас в обратном: будто бы частота и тайминги способны влиять на производительность весьма заметно. И тому есть как минимум два объяснения.

Во-первых, в сравнении с контроллерами памяти процессоров Intel контроллер памяти Ryzen существенно медленнее. Как показывают практические испытания, реальные задержки при обращении к памяти в системах на базе Ryzen оказываются в полтора-два раза выше, чем у современных интеловских систем. Вот, например, как оценивает контроллер памяти новых процессоров AMD тест Cache and Memory Benchmark из утилиты AIDA64:

Слева – результат Ryzen, справа – Kaby Lake. Оба процессора работают на частоте 3,9 ГГц с DDR4-2667 14-14-14-34.

Слева – результат Ryzen, справа – Kaby Lake. Оба процессора работают на частоте 3,9 ГГц с DDR4-2666 14-14-14-34

Ещё более печальную картину с реальной латентностью рисует SiSoftware Sandra:

Очевидно, проблема кроется в аномально медленной работе TLB-буфера, с качественной реализацией которого в микроархитектуре Zen возникли какие-то проблемы.

Именно поэтому подсистема памяти в платформах с процессорами семейства Ryzen становится узким местом в существенно большем числе сценариев. Следовательно, при любой возможности скорость взаимодействия Ryzen с памятью действительно целесообразно постараться увеличить.

Вторая причина ещё более весома. Дело в том, что со скоростью работы памяти жёстко связана частота ключевого узла процессоров Ryzen – встроенного северного моста Data Fabric. Для удобства синхронизации в Ryzen он всегда работает на частоте вдвое ниже частоты памяти. То есть, например, если память функционирует в режиме DDR4-2666, то северный мост автоматически использует частоту 1333 МГц, и разорвать такую зависимость возможным не представляется. Правда, в отличие от всех прочих CPU, в данном случае частота северного моста не влияет напрямую на быстродействие кеш-памяти, которая в Ryzen функционирует синхронно с вычислительными ядрами на всех уровнях. Тем не менее воздействие частоты встроенного в процессор северного моста на общую производительность системы всё равно не стоит недооценивать. От неё прямо зависит скорость работы контроллера памяти, контроллера PCI Express, а также пропускная способность внутрипроцессорной шины Infinity Fabric, связывающей воедино четырёхъядерные модули CCX (CPU Complex) и все остальные структурные блоки.

Как следует из приведённой схемы, Infinity Fabric представляет собой двунаправленную перекрёстную 256-битную шину, через которую процессорные CCX общаются не только с внешним миром, но и друг с другом. Именно поэтому роль этой шины столь велика. От её скорости прямо зависит не только быстродействие работы процессора с контроллером памяти, но и то, насколько быстро вычислительные ядра могут обращаться к части L3-кеша, относящейся к соседнему CCX.

Проиллюстрировать это несложно результатами реальных измерений. На следующем графике приводятся латентности при совместной работе пар ядер Ryzen с одними и теми же данными, в случае если эти ядра относятся к одному и тому же или к различным CCX.

Задержки при межъядерном взаимодействии, в случае если ядра находятся в разных CCX, превышают обычные задержки в несколько раз. Но увеличение скорости работы памяти увеличивает частоту Infinity Fabric, в результате чего разрыв сокращается с трёх с половиной до двух с половиной раз. И в итоге нет ничего удивительного в том, что частота работы памяти в системах на базе Ryzen гораздо сильнее, чем обычно, влияет на быстродействие процессора в целом. И именно на этом факте основывается рекомендация AMD выбирать для Socket AM4-систем скоростные комплекты памяти и по возможности стараться выводить частоту DDR4-памяти на рубежи DDR4-2933/3200, пусть и в ущерб задержкам.

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