Хотя это, пожалуй, один из самых простых компонентов для установки, понимание того, что заставляет вашу оперативную память работать, – это совсем другая игра.
Эти невинно выглядящие планки памяти гораздо сложнее, чем кажутся. Давайте сегодня попробуем упростить один аспект – задержку памяти.
Мы рассмотрим, что это значит, как это может повлиять на ваши рабочие нагрузки, и поможем вам понять, следует ли вам гнаться за этими молниеносными скоростями или искать комплекты памяти с низкой задержкой.
Скорость оперативной памяти и задержка
В то время как скорость памяти (или скорость передачи данных) определяет, насколько быстро ваш контроллер памяти может обращаться к памяти или записывать данные в память, задержка ОЗУ фокусируется на том, как скоро он может начать процесс.
Скорость памяти измеряется в МТ/с (мегапередачи в секунду), а задержка – в наносекундах.
Прежде чем мы углубимся в расчёт латентности памяти или задержки ОЗУ, вам следует знать несколько терминов:
Латентность памяти
Проще говоря, латентность – это задержка.
Эта задержка может быть измерена в наносекундах (реальное время). Однако, когда дело доходит до цифровой электроники, мы часто используем тактовый цикл, потому что таким образом мы получаем сравнительные числа, которые не зависят от частоты или скорости передачи данных.
Тайминги памяти
В отличие от задержки, тайминги памяти (эта последовательность чисел, которую вы видите на вашем модуле памяти) измеряются в тактовых циклах.
Таким образом, каждое число в таймингах памяти, например 16-19-19-39, указывает количество тактов или циклов, необходимых для выполнения определенной задачи.
Вот краткий обзор того, что означают эти тайминги, от первого до последнего (всё измеряется в тактовых циклах).
Чтобы упростить ситуацию, представьте себе пространство памяти в виде гигантской электронной таблицы со строками и столбцами, где каждая ячейка может содержать двоичные данные (0 или 1).
- Задержка CAS (tCL) – первая синхронизация памяти называется задержкой строба доступа к столбцу (CAS). Хотя термин «строб» сегодня немного устарел, поскольку он пережиток времён асинхронной DRAM, термин CAS всё ещё используется в отрасли. CAS Latency of RAM указывает количество циклов, которое требуется для получения ответа от памяти после того, как контроллер памяти отправляет столбец, к которому он должен получить доступ (подумайте об аналогии с электронной таблицей, о которой я упоминал выше). В отличие от всех других таймингов, приведенных ниже, tCL – это точное число, а не максимум/минимум.
- Задержка адреса строки по адресу столбца (tRCD) – второе число обозначает минимальное количество тактов, которое потребуется, чтобы открыть строку (опять же, в этой гигантской электронной таблице) и получить доступ к требуемому столбцу. Помните, что в отличие от tCL, tRCD – это не точное число, а максимальная задержка.
- Row Precharge Time (tRP) – третье число в этой последовательности из 4 цифр указывает минимальную задержку тактового цикла для доступа к другой строке в том же выбранном столбце.
- Активное время строки (tRAS) – последнее число в этой временной последовательности памяти обозначает минимальное количество тактовых циклов, которое строка должна оставаться открытой для доступа к данным. Обычно это самая большая задержка.
Вычисление задержки RAM или задержки CAS
CAS Latency – это время, которое требуется вашей памяти для ответа на запрос от контроллера памяти. Вот таблица, которая упростит вам этот процесс:
В этом разделе мы узнаем, как рассчитать задержку ОЗУ.
Конечно, вы также можете использовать калькулятор задержки ОЗУ, если хотите пропустить математику.
Однако, поскольку рекламируемая задержка CAS измеряется в тактовых циклах, нам необходимо учитывать скорость памяти, чтобы получить реальную задержку CAS в наносекундах.
Вот формула, которую следует использовать: (CL×2000)/Частота
Допустим, у нас есть комплект памяти DDR4-3200 CL16. Вы получаете задержку в наносекундах (16×2000)/3200 = 10 нс.
Задержка First Word
Теперь, если вам интересно, как насчёт других таймингов памяти? Разве они не влияют на задержку?
Да, это так.
Тем не менее, задержка CAS по-прежнему является наиболее часто используемой метрикой для сравнения латентности памяти, поскольку она более непосредственно влияет (немедленно), насколько быстро ваш модуль ОЗУ отвечает на запрос.
Однако, некоторые инженеры говорят о преимуществах использования задержки First Word, когда речь идёт о памяти. Эта задержка учитывает временные показатели первичной памяти вместе с длиной пакета, чтобы получить задержку, которая, по сути, говорит вам, сколько времени требуется, чтобы прочитать слово из памяти.
ОЗУ с низкой задержкой или высокоскоростная ОЗУ
Что быстрее?
Рассмотрим следующие три комплекта:
- 32 ГБ (2×16) DDR4-3200 CL16
- 32 ГБ (2×16) DDR4-3600 CL18
- 32 ГБ (2×16) DDR4-4000 CL20
Как вы думаете, какой из них «самый быстрый»?
Что ж, тут всё становится немного сложнее (или интереснее).
Для 3D и активных рабочих нагрузок
Мы проверили это на себе. И оказывается, что сама задача настолько сильно ограничена IPC и тактовой частотой одного ядра процессора, что не имеет значения, какую задержку вы выберете, пока скорость передачи данных или тайминги памяти не будут активно препятствовать производительности процессора.
Процессор Ryzen 9 5950Х | Бенчмарк (среднее за 10 прогонов) |
---|---|
DDR4-3600 CL 20 | 1230,75 |
DDR4-3600 CL 16 | 1237,50 |
DDR4-2666 CL 20 | 1230,88 |
Как видно, с процессорами Ryzen как более низкие тайминги, так и более низкие скорости передачи данных влияют на производительность самого процессора (даже одноядерного).
Однако это открывает интересную дискуссию.
Следует ли вам брать более дешёвый комплект DDR4-2666 CL20 (или комплект DDR4-2666 CL16) вместо немного более дорогого комплекта DDR4-3600 CL20, если вы собираетесь получить аналогичную производительность?
Я бы сказал нет. Вы увидите лучшую производительность с более быстрым набором памяти для любой задачи, которая возлагает активную нагрузку непосредственно на ЦП, распределенную по нескольким ядрам.
Одним из примеров этого является быстрая прокрутка таймлайна Premiere Pro со сжатым исходным материалом.
Для рабочих нагрузок рендеринга CPU/GPU
Краткий ответ – не имеет большого значения. Если это ваши основные рабочие нагрузки, мы рекомендуем отдавать приоритет стабильности системы, а не гнаться за незначительной выгодой.
Часто задаваемые вопросы о латентности памяти
Смешивание оперативной памяти с разной задержкой плохая идея?
Да. Смешанная память, как правило, не идеальна. Это справедливо даже в том случае, если у вас разные тайминги памяти.
Что касается того, какое поведение ожидать, есть две возможности:
- если вам повезёт, модули памяти можно настроить для работы с более медленными таймингами памяти.
- если вам не повезёт, вы можете не увидеть стабильности, пока не вернёте разгон памяти к спецификациям JEDEC, которые обычно намного медленнее.
Как проверить задержку CAS моей оперативной памяти?
Вы можете узнать текущую задержку памяти в кратчайшие сроки! Сначала скачайте CPU-Z с официального сайта CPUID.
После того, как вы установите и запустите CPU-Z, вы должны увидеть экран, подобный этому (конечно, аппаратное обеспечение и спецификации будут вашими) –
Перейдите на вкладку «Память» и вы должны увидеть список, в котором указана частота вашей памяти (не скорость передачи данных), а также тайминги вашей памяти, такие как задержка CAS.
Что такое SPD в CPU-Z
SPD, или Serial Presence Detect, представляет собой стандартизированную EEPROM (электрически стираемую программируемую постоянную память), которая позволяет вашей системе получить доступ к спецификациям памяти.
Таким образом, когда ваша система выполняет «POST» (самопроверка при включении питания), она получает доступ к спецификациям памяти, используя информацию, хранящуюся здесь. На этом этапе она мгновенно узнает, какие спецификации JEDEC установлены для вашей памяти, в дополнение к нескольким другим вещам.
Более того, она также увидит любые профили XMP, которые были загружены в вашу память, как вы можете видеть на снимке экрана выше. Затем ваш BIOS может предложить способ «одним щелчком» установить спецификации для этого профиля XMP, прочитав его.
Имейте в виду, что это не ваши текущие настройки памяти. На этой вкладке отображается только то, что считывается с ваших модулей памяти.