Мы разгоняем в статьях оперативную память (неважно, будь то обзоры материнских плат или самой памяти), а надо ли это на самом деле? Да и на форумах часто спорят, что лучше: двухранговые модули на невысокой частоте или одноранговые – на высокой? Насколько принципиален отрыв между количеством рангов?
Где именно находится та примерная планка, свыше которой – «ну да, разогнали, но толку от такого высокого результата на практике немного, это скорее для души»?
После некоторых размышлений (и не буду скрывать – сомнений и споров с редакцией) было решено попробовать разобраться в данном вопросе тщательнее. Разумеется, идеальный ответ найти сложно, но некоторая картина по итогам наших публикаций, первую из которых вы сейчас открыли, должна образоваться. И, благодаря нашему постоянному партнеру – компании Регард, начнем с самих процессоров 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 бит.
Именно ради возможности наращивания объемов при ограниченной емкости микросхем 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.
В операционной системе с целью минимизации «фризов» и их влияния на показатели в тестах отключен файл подкачки, профиль производительности установлен как «Высокий».
Тайминги оперативной памяти устанавливались по схемам: tRAS=tCL+tRP, tRC=tRAS + tRP. Используемые модули памяти устанавливались во второй и четвертый по счету слоты от процессорного разъема.
С задержками сразу обнаружился сюрприз: для двухранговых модулей автоматически устанавливался Command Rate 2T, поэтому для всех режимов, кроме «по умолчанию», вручную активировался GearDown Mode в BIOS материнской платы, после чего Command Rate устанавливался равным 1T.
Другой проблемой стало то, что не удалось более сносно стабилизировать систему с двумя двухранговыми модулями на частотах 3333 и 3466 МГц. Многие тесты завершались с ошибками, часть результатов была ниже, чем на более низкой частоте; часто один из двух модулей при очередной перезагрузке просто «отваливался» (виделся, но операционная система в свойствах выдавала, что его объем недоступен) – ровно та ситуация, которая была описана несколькими абзацами выше.
Тестовая конфигурация:
Программное обеспечение:
Тесты чтения, записи, копирования внутри памяти, задержка доступа к памяти. Версия 5.92.4300 / 4.3.759-x64.
Результаты получались следующим образом: четыре запуска, из которых при необходимости отбрасывалось одно наиболее выделяющееся значение, по оставшимся определялось среднее значение.
AIDA64, чтение из памятиПрограммный пакет для тестов производительности, разработчики которого поставили перед собой задачу имитации настоящей работы реального пользователя с накопителем. Каждый тест – это сценарий-трасса работы конкретного приложения, причем воспроизведено все в деталях, вплоть до пауз в работе.
Используется сценарий «Home», в состав которого входят замеры производительности при работе с текстом, браузером, компьютерная игра, редактирование фото, участие в видео-чате. В качестве результата выводится общий итог в очках, который вычисляется программой по специальной формуле на основе данных по всем тестам.
Версия пакета – Advanced Edition 2.7.613 Steam. Версия SystemInfo – 5.2.624.0.
Бесплатный открытый архиватор файлов.
Результаты упаковки и распаковки по показаниям встроенного теста производительности (размер словаря – 32 Мбайт, количество потоков – по числу поддерживаемых процессором).
7-Zip 16.04 x64В качестве файла для распознавания был взят документ «AMD Ryzen Processor and AMD Ryzen Master Overclocking User’s Guide» (формат pdf). Данный файл выложен публично на сайте AMD.
Программа ABBYY FineReader 14 запускалась с настройками по умолчанию. Результат каждого теста – среднее значение по итогам трех проходов.
Тестирование скорости финального рендеринга в очень популярном программном пакете Blender. В качестве теста использован общедоступный тест 2.7x Cycles benchmark (Updated BMW). Результат – среднее значение по итогам трех запусков.
Версия 7.8.2. Программа-клиент для работы с различными (BOINC-совместимыми) проектами распределенных вычислений. Используется встроенный тест производительности. Среднее значение по итогам трех запусков.
Тестовый пакет немецкой компании Maxon, основанный на пакете для создания трехмерной графики и анимации Cinema 4D R15. Используется тест CPU. Среднее значение по итогам трех запусков.
Еще один тест на скорость рендеринга. Используется бенчмарк Corona Render версии 1.3. Среднее значение по итогам трех запусков.
Исключительно синтетический для бытового ПК тест, тем не менее, применяется для оценки производительности системы. Хорошо известен отличным стресс-тестом (в частности, по плавающим результатам видно включение температурной защиты («троттлинг») при перегреве). Результат – лучшее значение из пяти проходов.
TrueCrypt умер, но дело его живо. На основе этого проекта в свое время было создано множество «форков», использующих его исходный код, но с некоторыми модификациями. VeraCrypt является одним из таковых и обладает графическим интерфейсом, очень похожим на оригинал.
Используются результаты встроенного теста производительности в подтесте «AES(Twofish(Serpent))» на объеме 1 Гбайт.
VeraCrypt 1.21 x64Данный пакет тестирует быстродействие системы при перекодировании видеороликов с HD-разрешением в формат H.264. Результат теста – среднее значение по итогам трех запусков.
Сборка 1.4+5. Небольшой тестовый программный пакет, позволяющий оценить производительность системы при кодировании видео в формате Full HD перспективным кодеком нового поколения x265. Результат теста – среднее значение по итогам трех проходов.
На настройках «по умолчанию» двухранговые модули выглядят хуже, но это легко объяснимо более расслабленными таймингами. В целом же, как и следовало ожидать, картина не такая благостная: отношение различных приложений к типам памяти разнится вплоть до противоположного.
Синтетика в виде AIDA64 – на чтении/записи двухранговая память медленней, но при переходе к операциям копирования внутри памяти ситуация меняется. Программы рендеринга Corona Render и Cinebench, кодировщики x264/x265, архиватор 7Zip и Linpack переходом на двухранговую память остались довольны. Встроенный бенчмарк клиента распределенных вычислений BOINC показал некоторый прирост. Криптография VeraCrypt осталась равнодушна к типу памяти и даже не снизошла хоть немного похвалить пользователя за ее разгон (ни по частоте, ни по таймингам). Эти два теста однозначно ограничены производительностью самих процессорных ядер. Комплексный тест PCMark8 и вовсе отнесся негативно к экспериментам с двухранговой памятью.
За исключением BOINC и VeraCrypt, можно сказать совершенно четко: прирост от разгона есть, и в ряде приложений он доходит до 10% – разница весьма серьезная. Отметим, что прирост довольно стабилен и, похоже, есть смысл даже от 3466 МГц. Осталось лишь разобраться, что происходит в играх. Это станет темой следующего материала.
Выражаем благодарность: