Изучаем AMD Ryzen в синтетике и 2D-приложениях: одно-, двухранговая память и разгон – а нужно ли и до скольких?

Мы разгоняем в статьях оперативную память, а надо ли это на самом деле? Что лучше: двухранговые модули на невысокой частоте или одноранговые – на высокой? Насколько принципиален отрыв между количеством рангов? Где находится планка, свыше которой «толку от такого высокого результата немного, это скорее для души»? После некоторых размышлений было решено попробовать разобраться тщательнее.
5 октября 2017, четверг 06:00
I.N. для раздела Лаборатория

Оглавление

Вступление

Мы разгоняем в статьях оперативную память (неважно, будь то обзоры материнских плат или самой памяти), а надо ли это на самом деле? Да и на форумах часто спорят, что лучше: двухранговые модули на невысокой частоте или одноранговые – на высокой? Насколько принципиален отрыв между количеством рангов?

Где именно находится та примерная планка, свыше которой – «ну да, разогнали, но толку от такого высокого результата на практике немного, это скорее для души»?

После некоторых размышлений (и не буду скрывать – сомнений и споров с редакцией) было решено попробовать разобраться в данном вопросе тщательнее. Разумеется, идеальный ответ найти сложно, но некоторая картина по итогам наших публикаций, первую из которых вы сейчас открыли, должна образоваться. И, благодаря нашему постоянному партнеру – компании Регард, начнем с самих процессоров AMD Ryzen и тестов в синтетике и 2D-приложениях.

Немного теории

Процессоры AMD Ryzen

В своей новой архитектуре, официально выпущенной «в широкие массы» в марте этого года, AMD ушла от той, как показало время, не совсем удачной идеи модульности, когда вычислительные ядра объединялись в модули по два и получали общие блоки вроде FPU, что заметно ограничивало их быстродействие. Тем не менее, полного отказа от модульности не произошло и в архитектуре Ryzen просматривается новый уровень ее развития: технически AMD оперирует теперь CCX-блоками (CCX – CPU CompleX), каждый из которых содержит по четыре полноценных ядра.

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

Физически на данный момент все Ryzen состоят из таких модулей, независимо от количества активных ядер. И связь между этими модулями обеспечивает двунаправленная 256-битная шина Infinity Fabric.

Второй нюанс заключается в том, что CCX-блоки и с остальными блоками процессора сообщаются по этой шине – контроллер памяти, контроллер PCI-Express, SATA-контроллер (если кто до сих пор не в курсе, в платформе Socket AM4 два контроллера SATA – к набору системной логики прибавился интегрированный в процессор контроллер на два порта SATA 6 Гбит/с), USB 3.1. И частота Infinity Fabric прямо связана с частотой памяти – она составляет 1/2 значения последней (например, при частоте памяти 2666 МГц частота Infinity Fabric будет составлять 1333 МГц).

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

Оперативная память

Существует понятие «ширина модуля» – это параметр, прямо связанный с шиной данных контроллера памяти, которая для современных процессоров составляет 64 бит на канал. Но объем памяти лимитируется максимальным числом микросхем DRAM, которые могут быть одновременно подключены к шине и емкостью доступных в производстве микросхем DRAM.

Например, восемью микросхемами емкостью 4 Гбит один 64-bit объем 16 Гбайт не собрать. Чтобы обойти это ограничение на количество микросхем в стандарте, была реализована управляющая линия «Chip Select», позволяющая переключаться между микросхемами. Таким образом на одном модуле можно распаивать несколько наборов микросхем, разрядность каждого из которых составляет 64-bit. Ранг как раз и обозначает количество таких наборов.

В розничной оперативной памяти встречаются обычно один и два ранга (визуально такие модули, как правило, определяются по расположению микросхем – с одной или двух сторон модуля), хотя технически количество рангов по стандарту может достигать восьми. Восьмиранговая память выпускается, но встречается она в серверах, где зачастую реализован дополнительный контроль целостности данных ECC и ширина шины составляет 72 бит.

В центре кадра – двухранговая DDR4 (микросхемы с обеих сторон), справа – одноранговая (микросхемы только с одной стороны модуля).

Именно ради возможности наращивания объемов при ограниченной емкости микросхем DRAM были придуманы ранги. Однако, как это водится, у любого решения есть свои эксплуатационные плюсы и минусы.

В числе плюсов оказалось слегка подросшее быстродействие. Иначе говоря, помимо типичного чередования каналов, контроллер памяти может также чередовать и ранги. По ряду оценок, при использовании двукратного чередования рангов прирост быстродействия (по оценкам Intel) достигает около 10-12%. Дальнейшее наращивание чередования также дает некоторый выигрыш, но он идет уже по резкой ниспадающей (счет идет на единицы процентов).

С модулями, оснащенными радиаторами, сложнее, но и тут количество микросхем можно увидеть.

В минусах – повышенная нагрузка на контроллер памяти, из-за которой могут проявляться их [контроллеров памяти] архитектурные слабости. Например, стабильная работа на сниженной, относительно предельно возможной для этих модулей, частоте. Наглядный пример уже мелькал в одном из предыдущих обзоров, когда процессор Intel смог стабильно удерживать четыре двухранговых модуля Samsung на частоте 3333 МГц, а AMD Ryzen эти же четыре модуля удержал лишь на частоте 2667 МГц, а два – на 3066 МГц.

И про этот факт нужно помнить – в сочетании с еще одним фактором он может оказаться определяющим: на ряде материнских плат бюджетного класса, основанных на наборе системной логики AMD X370, множитель 3066 попросту отсутствует (навскидку можно вспомнить Gigabyte Aorus GA-AX370-Gaming 3 и Biostar X370GT5). В таком случае пользователю и вовсе придется ограничиться частотой 2933 МГц, если не удастся добиться стабильной работы при 3200 МГц. Исходя из этого, были подобраны соответствующие настройки.

Настройки системы

Используемый процессор разогнан до 3800 МГц. Для сравнения замеры проводились на настройках для модулей памяти по умолчанию – 2133 МГц и с таймингами, прописанными в SPD.

В BIOS материнской платы отключен HPET.

В операционной системе с целью минимизации «фризов» и их влияния на показатели в тестах отключен файл подкачки, профиль производительности установлен как «Высокий».

Онлайн-валидация CPU-Z: AMD Ryzen 7 1700 @ 3790.95 МГц Dump [962k3l] – Submitted by I.N..

Тайминги оперативной памяти устанавливались по схемам: tRAS=tCL+tRP, tRC=tRAS + tRP. Используемые модули памяти устанавливались во второй и четвертый по счету слоты от процессорного разъема.

С задержками сразу обнаружился сюрприз: для двухранговых модулей автоматически устанавливался Command Rate 2T, поэтому для всех режимов, кроме «по умолчанию», вручную активировался GearDown Mode в BIOS материнской платы, после чего Command Rate устанавливался равным 1T.

Другой проблемой стало то, что не удалось более сносно стабилизировать систему с двумя двухранговыми модулями на частотах 3333 и 3466 МГц. Многие тесты завершались с ошибками, часть результатов была ниже, чем на более низкой частоте; часто один из двух модулей при очередной перезагрузке просто «отваливался» (виделся, но операционная система в свойствах выдавала, что его объем недоступен) – ровно та ситуация, которая была описана несколькими абзацами выше.

Тестовый стенд

Тестовая конфигурация:

  • Материнская плата: Gigabyte Aorus GA-AX370-Gaming 5 (BIOS F9a; экземпляр из этого обзора);
  • Процессор: AMD Ryzen 7 1700;
  • Система охлаждения: Noctua NH-D14 с применением дополнительного крепления Noctua NM-AM4 и одним вентилятором Thermalright TY-143;
  • Термоинтерфейс: Arctic Cooling MX-2 (обзор);
  • Оперативная память:
    • 2 х 8 Гбайт G.Skill TridentZ DDR4-3600 (F4-3600C17D-16GTZ; Samsung B-die; одноранговая);
    • 2 х 16 Гбайт OEM Samsung M378A2K43BB1-CPB (Samsung B-die; двухранговая; модули из этого обзора);
  • Видеокарта: PNY GeForce GTX 1080 XLR8 OC Gaming 8 Гбайт GDDR5 (VCGGTX10808XGPB-OC);
  • Блок питания: Corsair HX750W 750 Ватт (отдельно не тестировался; незначительно доработан по элементной базе);
  • Накопители:
    • Samsung SM961 128 Гбайт (Samsung Polaris + MLC 3D V-NAND Samsung + CXZ7300Q; из этого обзора);
    • SSD Toshiba OCZ TR150 960 Гбайт (Phison S10 + 15 нм TLC ToggleNAND Toshiba + SAFZ12.3; экземпляр из этого обзора) – для тестовых приложений, игр Steam и Uplay;
  • Корпус: открытый стенд.

Программное обеспечение:

  • Операционная система: Windows 10 x64 «Домашняя» Creators Update со всеми текущими обновлениями с Windows Update (сборка 15063.632);
  • Драйверы:
    • AMD Chipset Driver 17.30 за 2 октября 2017 года;
    • NVidia Display Driver 385.69 за 21 сентября 2017 года.

Результаты тестов


AIDA64

Тесты чтения, записи, копирования внутри памяти, задержка доступа к памяти. Версия 5.92.4300 / 4.3.759-x64.

Результаты получались следующим образом: четыре запуска, из которых при необходимости отбрасывалось одно наиболее выделяющееся значение, по оставшимся определялось среднее значение.

AIDA64, чтение из памяти

Мбайт/с,
Больше – лучше

AIDA64, запись в память

Мбайт/с,
Больше – лучше

AIDA64, копирование в памяти

Мбайт/с,
Больше – лучше

AIDA64, время доступа
нс
Меньше – лучше

Futuremark PCMark 8

Программный пакет для тестов производительности, разработчики которого поставили перед собой задачу имитации настоящей работы реального пользователя с накопителем. Каждый тест – это сценарий-трасса работы конкретного приложения, причем воспроизведено все в деталях, вплоть до пауз в работе.

Используется сценарий «Home», в состав которого входят замеры производительности при работе с текстом, браузером, компьютерная игра, редактирование фото, участие в видео-чате. В качестве результата выводится общий итог в очках, который вычисляется программой по специальной формуле на основе данных по всем тестам.

Версия пакета – Advanced Edition 2.7.613 Steam. Версия SystemInfo – 5.2.624.0.

Futuremark PCMark 8

Очки
Больше – лучше

7-Zip 16.04 x64

Бесплатный открытый архиватор файлов.

Результаты упаковки и распаковки по показаниям встроенного теста производительности (размер словаря – 32 Мбайт, количество потоков – по числу поддерживаемых процессором).

7-Zip 16.04 x64

MIPS
Больше – лучше

ABBYY FineReader 14

В качестве файла для распознавания был взят документ «AMD Ryzen Processor and AMD Ryzen Master Overclocking User’s Guide» (формат pdf). Данный файл выложен публично на сайте AMD.

Программа ABBYY FineReader 14 запускалась с настройками по умолчанию. Результат каждого теста – среднее значение по итогам трех проходов.

ABBYY FineReader 14

Секунды
Меньше – лучше

Blender 2.79 x64

Тестирование скорости финального рендеринга в очень популярном программном пакете Blender. В качестве теста использован общедоступный тест 2.7x Cycles benchmark (Updated BMW). Результат – среднее значение по итогам трех запусков.

Blender 2.79 x64, 7.7x Cycles benchmark (Updated BMW)

Секунды
Меньше – лучше

BOINC

Версия 7.8.2. Программа-клиент для работы с различными (BOINC-совместимыми) проектами распределенных вычислений. Используется встроенный тест производительности. Среднее значение по итогам трех запусков.

BOINC Benchmark

Floating point MIPS (Whetstone)
Больше – лучше

BOINC Benchmark

Integer MIPS (Dhrystone)
Больше – лучше

Cinebench R15 x64

Тестовый пакет немецкой компании Maxon, основанный на пакете для создания трехмерной графики и анимации Cinema 4D R15. Используется тест CPU. Среднее значение по итогам трех запусков.

Cinebench R15 x64

Очки
Больше – лучше

Corona Benchmark

Еще один тест на скорость рендеринга. Используется бенчмарк Corona Render версии 1.3. Среднее значение по итогам трех запусков.

Corona Benchmark

Секунды
Меньше – лучше

LinX v0.7.0 (2017.0.21)

Исключительно синтетический для бытового ПК тест, тем не менее, применяется для оценки производительности системы. Хорошо известен отличным стресс-тестом (в частности, по плавающим результатам видно включение температурной защиты («троттлинг») при перегреве). Результат – лучшее значение из пяти проходов.

LinX v0.7.0 (2017.0.21)

ГФлопс
Больше – лучше

VeraCrypt 1.21 x64

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

Используются результаты встроенного теста производительности в подтесте «AES(Twofish(Serpent))» на объеме 1 Гбайт.

VeraCrypt 1.21 x64

Гбайт/с
Больше – лучше

x264 FHD Benchmark 1.0.1 64-bit

Данный пакет тестирует быстродействие системы при перекодировании видеороликов с HD-разрешением в формат H.264. Результат теста – среднее значение по итогам трех запусков.

x264 HD Benchmark 64-bit

Кадров в секунду
Больше – лучше

x265 HD Benchmark 0.1.4 64-bit

Сборка 1.4+5. Небольшой тестовый программный пакет, позволяющий оценить производительность системы при кодировании видео в формате Full HD перспективным кодеком нового поколения x265. Результат теста – среднее значение по итогам трех проходов.

x265 HD Benchmark 64-bit

Кадров в секунду
Больше – лучше

Заключение

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

Синтетика в виде AIDA64 – на чтении/записи двухранговая память медленней, но при переходе к операциям копирования внутри памяти ситуация меняется. Программы рендеринга Corona Render и Cinebench, кодировщики x264/x265, архиватор 7Zip и Linpack переходом на двухранговую память остались довольны. Встроенный бенчмарк клиента распределенных вычислений BOINC показал некоторый прирост. Криптография VeraCrypt осталась равнодушна к типу памяти и даже не снизошла хоть немного похвалить пользователя за ее разгон (ни по частоте, ни по таймингам). Эти два теста однозначно ограничены производительностью самих процессорных ядер. Комплексный тест PCMark8 и вовсе отнесся негативно к экспериментам с двухранговой памятью.

За исключением BOINC и VeraCrypt, можно сказать совершенно четко: прирост от разгона есть, и в ряде приложений он доходит до 10% – разница весьма серьезная. Отметим, что прирост довольно стабилен и, похоже, есть смысл даже от 3466 МГц. Осталось лишь разобраться, что происходит в играх. Это станет темой следующего материала.

I.N.


Выражаем благодарность:

  • Компании Регард за предоставленные модули памяти OEM Samsung M378A2K43BB1-CPB;
  • Компании Gigabyte за предоставленную материнскую плату Gigabyte Aorus GA-AX370-Gaming5.