Как понизить латентность оперативной памяти DDR4

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

Тайминги памяти — величина довольно абстрактная, это не секунды или миллисекунды. Это такты. Но главное (с чем напрямую связаны тайминги памяти) — это латентность памяти. Латентность памяти — время, затрачиваемое процессором на получение байта информации из оперативной памяти. В этой статье мы разберемся как понизить латентность оперативной памяти DDR4 для Ryzen.

Что лучше — латентность или частота работы памяти

Латентность оперативной памяти для Ryzen может быть вычислена с помощью специальных тестов производительности. На этикетке продаваемых модулей памяти величина затрачиваемого на обмен информацией времени между процессором и модулем памяти показана в виде набора таймингов. Основные из них: CL, TRCD, TRP и TRAS (для DDR4 TRAS неактуален), иногда к ним ещё добавляется пятый параметр — Command rate.

Частота влияет на пропускную способность памяти. Если для выполнения задачи достаточно и просто пропускной способности с запасом, то ещё больше ускорить выполнение такой задачи может помочь лишь снижение латентности памяти.

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

Как уменьшить латентность памяти Ryzen

Лучше покупать разогнанные модули памяти с предустановленными в них профилями XMP. Такой профиль сразу позволит использовать минимальные тайминги для данного модуля, активировав его в настройках BIOS материнской платы.

Вариант посложнее — купить обычную неразогнанную память с хорошими чипами от Samsung, Hynix или Micron и самому настроить тайминги памяти. Для процессоров Ryzen имеется утилита DRAM Calculator for Ryzen, позволяющая подобрать тайминги памяти и тем самым снизить латентность (см. статью об утилите: Как пользоваться Ryzen DRAM Calculator).

Попробуем добиться некоторого снижения латентности памяти в обычных модулях, без XMP.

1. Тестирование до снижения латентности

Ещё до коррекции таймингов памяти проведём тестирование времени отклика (латентности) с помощью Теста кэша и памяти утилиты AIDA64:

uploaded-post-1586078396_html_28d72a10d0d5f31e.jpg

И ещё сделаем это с помощью теста MEMbench (MEMbench mode: Easy) утилиты DRAM Calculator for Ryzen:

uploaded-post-1586078396_html_2a2bbc4535a2beaa.jpg

2. Технические особенности модулей памяти

С помощью программы Thaiphoon Burner мы можем более подробно посмотреть характеристики модулей памяти. Данные модули используют микросхемы Micron MT40A1G8SA-062E:J.

uploaded-post-1586078396_html_d228eeea26fad4c8.jpg

Для этих микросхем есть техническая документация в Интернет. В ней имеются интересующие нас технические характеристики:

  • 1G8: Configuration — 1 Gig x 8;
  • SA: 78-ball 7,5 мм x 11,0 мм FBGA;
  • -062E: CK = 0.625 нс, CL = 22;
  • :J: Die Revision — :J.

uploaded-post-1586078396_html_dedb82d3765a349d.jpg

Электрические спецификации данных чипов памяти следующие:

  • VDD: от -0,4 В до 1,5 В;
  • TSTG: от -55о С до 150о С.

При этом рекомендуемая температура не должна превышать 85 о С.

uploaded-post-1586078396_html_c3b5fd53df639aff.jpg

Из показанного выше следует: мы можем аккуратно повышать напряжение до 1,4 В, если при этом будем соблюдать безопасный температурный режим памяти.

Внимание: повышение напряжения влечёт за собой серьёзный нагрев чипов! Для того, чтобы избежать этого, необходимо купить для них специальные радиаторы и установить их на модули памяти. В противном случае из-за повышенных температур возможна деградация чипов памяти и, соответственно, выход модулей из строя.

В процессе изучения спецификаций чипов памяти сравнивались чипы B-die и J-die, в следствие чего были сделан вывод, что отличаются данные чипы только диапазоном температур (у J-die диапазон более широкий) и разными токами, но незначительно. В интерфейсе утилиты DRAM Calculator for Ryzen нет опции выбора чипов J-die, поэтому мы выберем в разделе Memory Type чипы Micron E/H-die, так как они в данной серии являются, судя по документации, наиболее некачественными.

3. Подбор таймингов — профиль V1

Как было сказано выше, подбирать тайминги чтобы снизить латентность памяти мы будем с помощью утилиты DRAM Calculator for Ryzen. Перейдите на вкладку Main, выберите характеристики вашего оборудования:

  • Processor: ZEN + AM4. Процессор в моём компьютере Ryzen 2700.
  • Memory Type: Micron E/H-die.
  • Profile version: V1.
  • Memory Rank: 1. Данные модули памяти одноранговые.
  • Frequency (MT/s): 2933 МГц. Чипы могут функционировать и при гораздо более высоких частотах. Однако, так как нашей целью является уменьшение задержек, выбрана именно данная частота — для неё не нужно дополнительно настраивать контроллер памяти в процессоре (см. статью о разгоне памяти: Как разогнать память на Ryzen).
  • BCLK (100-104.8): 100 МГц.
  • DIMM Modules: 2 модуля.
  • Motherboard: B350/X370.

Нажимаем на кнопку Calculate FAST для выполнения расчёта таймингов. Программа выдаёт следующие результаты для выбранных нами стартовых параметров:

uploaded-post-1586078396_html_6dd68276a686cf3f.jpg

Теперь необходимо зайти в настройки BIOS (UEFI) компьютера и установить вычисленные нами ранее значения.

После установки этих значений наш стендовый компьютер, к сожалению, отказался загружаться. Вычисленные тайминги не подошли. С помощью джампера сбрасываем настройки BIOS до заводского состояния (см. статью: Как сбросить BIOS на заводские настройки). Затем надо попытаться подобрать тайминги по втором профилю. Данная версия профиля рекомендуется для менее качественных чипов памяти.

4. Подбор таймингов — профиль V2

Перезагрузив Windows, вновь запускаем утилиту DRAM Calculator for Ryzen, выбрав ваши параметры:

  • Processor: ZEN + AM4 — поколение и сокет вашего процессора.
  • Memory Type: Micron E/H-die — Производитель и B-Die ревизия чипов вашей памяти, которую вы узнали из утилиты Thaiphoon Burner.
  • Profile version: V2 — версия профиля.
  • Memory Rank: 1 — количество рангов вашей памяти, обычно 1.
  • Frequency (MT/s): 2933 МГц — частота, которая должна получиться после разгона памяти.
  • BCLK (100-104.8): 100 МГц — частота работы шины материнской платы, по умолчанию 100 МГц.
  • DIMM Modules: 2 — количество модулей оперативной памяти в вашей системе.
  • Motherboard: B350/X370 — чипсет вашей материнской платы.

Нажимаем на кнопку Calculate FAST для выполнения расчёта таймингов. Получаем следующие результаты:

uploaded-post-1586078396_html_2e2bd2ebdb55e843.jpg

Перезагружаем компьютер, вносим изменения в значения таймингов, опять перезагружаем компьютер, загружаем настройки BIOS. Теперь компьютер работоспособен.

5. Тонкий подбор таймингов памяти

Так как между сформированными с помощью профилей V1 и V2 наборами таймингов может быть достаточное количество промежуточных вариантов, непосредственно в BIOS пробуем потихоньку уменьшать значения, взятые из рассчитанных для профиля V2, до значений аналогичных таймингов, рассчитанных для профиля V1.

Есть основные тайминги: tCL, tRCDWR, tRCDRD, tRP, tRAS и CL. Их сначала не трогаем. Остальные тайминги устанавливаем в значения, рассчитанные для V1. Проверяем работоспособность компьютера. Если компьютер работает корректно, меняем по одному указанные выше тайминги и проверяем каждый раз работоспособность. В случае, если работоспособность оказалась нарушена, откатываемся на шаг назад.

Опытным путём выясняем, что тайминги для профиля V1 работоспособны с отличием всего в одном параметре: значение tRP — вместо 14 должно равняться 15. Именно к настройкам, рассчитанным для профиля V1, следует стремиться максимально приблизиться — они наиболее интересны в плане производительности, в то время как тайминги для профиля V2 — скорее усреднённые, более безопасные.

Скриншоты с выполненными настройками:

uploaded-post-1586078396_html_da6bd2f73c5e4467.jpg

uploaded-post-1586078396_html_3eec35fa19d796cc.jpg

uploaded-post-1586078396_html_eafc7f29b2f047e8.jpg

uploaded-post-1586078396_html_b47845b2a1fa36c0.jpg

uploaded-post-1586078396_html_30fd3c2fc7c4c2b4.jpg

uploaded-post-1586078396_html_a046a51c5be4f3d0.jpg

Теперь вы знаете как понизить латентность памяти, сделаем ещё немного тестов.

6. Проверка табильности

После завершения настройки параметров памяти конечно же необходимо протестировать стабильность её работы. Для этого можно использовать Тест стабильности системы утилиты AIDA64, его составляющие:

  • Stress CPU;
  • Stress FPU;
  • Stress cache;
  • Stress system memory.

Нажимаем кнопку Start. Тест пройдён не был.

uploaded-post-1586078396_html_9b21b0676297655f.jpg

Перезапускаем компьютер, заходим в настройки BIOS и повышаем параметр напряжения DRAM Voltage до 1,36 В.

uploaded-post-1586078396_html_84ff87a7e57fbc85.jpg

Сохраняем настройки BIOS и перезагружаемся. Вновь запускаем Тест стабильности системы утилиты AIDA64. Тест вновь завершён с ошибкой.

Опять в настройках BIOS немного повышаем значение параметра DRAM Voltage, но не выше чем максимальное возможное для ваших чипов памяти. В данном случае до 1,39 В, опять перезагружаемся и запускаем тест.

uploaded-post-1586078396_html_2d1fcc68b24334fc.jpg

Опять ошибка. После этого перезагружаем компьютер и немного увеличиваем в настройках BIOS значения для таймингов tRCDWR и tRCDRD, например:

  • tRCDWR: 15;
  • tRCDRD: 18.

uploaded-post-1586078396_html_9a94c345f0f5769b.jpg

Перезагружаемся и запускаем тот же тест. Стресс-тест выполнялся 7 минут, ошибок обнаружено не было. Далее попробуем снизить значение параметра напряжения питания памяти DRAM Voltage, например, к значению 1,34 В.

uploaded-post-1586078396_html_347c1f9b3ef03855.jpg

Перезагрузка и выполнение теста. Процесс длился 7 минут, ошибок не было.

uploaded-post-1586078396_html_714d99b114877080.jpg

7. Тестирование после снижения латентности

После выполнения всех тестов необходимо оценить результаты выполнения всех настроек функционирования оперативной памяти для снижения задержек чтобы понять насколько снизилась латентность оперативной памяти для Ryzen Для этого выполним вновь Тест кэша и памяти утилиты AIDA64:

uploaded-post-1586078396_html_f4e7c48baa01ad42.jpg

Кроме этого выполним ещё и тест MEMbench (MEMbench mode: Easy) утилиты DRAM Calculator for Ryzen:

uploaded-post-1586078396_html_b2649a20801ba1fc.jpg

Для сравнения с другими процессорами можно дополнительно выполнить тест Задержка памяти утилиты AIDA64:

uploaded-post-1586078396_html_200a8fba3c6a18de.jpg

Сравним полученный уровень латентности памяти до и после подбора таймингов.

До:

  • AIDA 64: 79,7 нс;
  • Ryzen DRAM Calculator MEMbench: 102,6 нс.

После:

  • AIDA 64: 72,6 нс;
  • Ryzen DRAM Calculator MEMbench: 92,1 нс.

Наглядно это видно на скриншоте:

uploaded-post-1586078396_html_2bbc6d1bd9d33d00.gif

Итак, по данным утилиты AIDA64 нам удалось уменьшить латентность памяти Ryzen на 8,91 %, а по данным утилиты DRAM Calculator for Ryzen — на 10,23 %.

В тесте Задержка памяти утилиты AIDA64 наш процессор AMD Ryzen 7 2700 по латентности оперативной памяти обошёл занесённый в базу процессор AMD Ryzen 7 2700X и почти догнал Intel Core i7-5820K.

Выводы

Сегодня на практике мы изучили такое понятие, как латентность памяти для Ryzen. Фактически был построен новый профиль XMP для использованных нами конкретных модулей памяти. Используя эту инструкцию, вы также можете понизить латентность оперативной памяти DDR4 для Ryzen на своем компьютере, если желаете иметь максимальную отзывчивость системы. Также данная инструкция будет полезна тем, кто уже разогнал память по параметру частоты. В таком случае дальнейший рост производительности возможен только при снижении уровня латентности памяти (уменьшении таймингов памяти).

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

2 комментария

  1. Аватар hetyir 20.09.2020 Ответить
  2. Аватар alex2307 22.09.2020 Ответить

Оставить комментарий

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: