Что такое латентность в оперативной памяти
Перейти к содержимому

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

  • автор:

Что такое латентность памяти ПК?

Что такое латентность памяти ПК?

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

Наибольшая скорость достигается при последовательном чтении, а наименьшая – при чтении вразброс. Но и это еще не все, современные модули памяти имеют несколько независимых банков и потому позволяют обрабатывать более одного запроса параллельно. Если запросы следуют друг за другом непрерывным потоком, непрерывно генерируются и ответы. Несмотря на то, что задержка между поступлением запроса и выдачей соответствующего ему ответа может быть весьма велика, в данном случае это не играет никакой роли, поскольку латентность (т. е. величина данной задержки) полностью маскируется конвейеризацией и производительность памяти определяется исключительно ее пропускной способностью. Аналогичный пример : пусть сборка одного отдельного взятого автомобиля занимает целый месяц, но если множество машин собирается параллельно, завод может выдавать хоть по сотне автомобилей в день, и его «пропускная способность» в большей степени определяется именно количеством сборочных линий, а не временем сборки каждой машины. В настоящее время практически все производители оперативной памяти маркируют свою продукцию именно в пропускной способности , но наблюдающийся в последнее время стремительный рост пропускной способности адекватного увеличения производительности выполнения приложений, как это ни странно, не вызывает. Почему? Основной камень преткновения – фундаментальная проблема зависимости по данным . Рассмотрим следующую ситуацию. Пусть ячейка №1 хранит указатель на ячейку №2, содержащую обрабатываемые данные. До тех пор пока мы не получим содержимое ячейки №1, мы не сможем послать запрос на чтение ячейки №2, поскольку еще не знаем ее адреса. Следовательно, производительность памяти в данном случае будет определяться не пропускной способностью, а латентностью. Причем не латентностью микросхемы памяти, а латентностью всей подсистемы памяти – т. е. кэш-контроллером, системной шиной, набором системной логики… Латентность всего этого хозяйства может быть очень велика и составлять порядка 20 тактов системной шины, что многократно превышает полное время доступа к ячейке оперативной памяти. Таким образом, при обработке зависимых данных быстродействие памяти вообще не играет никакой роли: все они покажут практически идентичный результат (описываемый случай отнюдь не является надуманным, скорее наоборот, это типичная ситуация). Основные структуры данных (такие, как деревья и списки) имеют ярко выраженную зависимость по данным, поскольку объединяют свои элементы именно посредством указателей, что «съедает» весь выигрыш от быстродействия микросхем памяти.

Типичная схема большинства чипсетов выглядит так: контроллер шины принимает запрос и ставит его в очередь, которую периодически опрашивает агент транзакций и, извлекая накопившиеся к этому времени запросы, преобразует их в командные пакеты, поступающие на вход планировщика запросов к памяти, который получает запросы сразу от нескольких устройств: процессора, видео-карты, южного моста и др., стараясь обслуживать всех клиентов максимально эффективно. Спланированные запросы накапливаются в очереди арбитра памяти, который по мере их извлечения распределяет ячейки по физическим адресам, передавая их непосредственно блоку сопряжения с модулями памяти. Чем одни чипсеты отличаются от других? За словами «контроллер шины» и «контроллер памяти» скрывается целый мир, состоящий из множества узлов и сложно взаимодействующих друг с другом компонентов. Заставить все это хозяйство работать параллельно практически невозможно и потому латентность рядовых чипсетов обычно составляла от десяти до двадцати тактов системной шины ( Intel удалось уложиться всего лишь в два). Однако уменьшение латентности еще не увеличивает пропускную способность, и для потоковых приложений (либо же приложений, хранящих обрабатываемые данные в основном в кэше) прирост скорости окажется пренебрежительно мал.

Современные материнские платы поддерживают широкий диапазон частот памяти (1333-2000 мегагерц (МГц) и более). Основными характеристиками памяти, от которых зависит ее быстродействие, являются частота и тайминги . Скорость работы памяти не оказывает такого сильного влияния на общую производительность компьютера как процессор. Тем не менее, часто можно приобрести более быструю память не на много дороже. Быстрая память нужна прежде всего для мощных профессиональных или игровых компьютеров.

Таймингами называются задержки между операциями чтения/записи/копирования данных в оперативной памяти . Соответственно чем эти задержки меньше, тем лучше. Но тайминги оказывают гораздо меньшее влияние на скорость работы памяти, чем ее частота. Основных таймингов, которые указываются в характеристиках модулей памяти всего 4.

Рис. 1.

Из них самой главной является первая цифра , которая называется латентность (CL). Типичная латентность для памяти DDR3 1333 МГц – CL 9, для памяти DDR3 с более высокой частотой – CL 11. Не стоит приобретать память с латентностью ниже указанной, так как это говорит об общем низком уровне ее технических характеристик.

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

— PC3-10600 (DDR3 1333 МГц) — CL 9

— PC3-12800 (DDR3 1600 МГц) — CL 11

— PC3-14400 (DDR3 1866 МГц) — CL 11

— PC3-16000 (DDR3 2000 МГц) — CL 11

При работе контроллеров с памятью — латентность можно регулировать и при помощи таймингов памяти — определенных отрезков времени, отсчитываемых в тактах сигнала опорной частоты работы памяти, которые задают ключевые интервалы времени между различными операциями при работе с памятью — установкой адреса на шине, чтением, записью и пр.. Четырьмя основными таймингами работы памяти DDR SDRAM являются:

— CAS Latency Time (принимает значения 2.0, 2.5 или 3.0 такта),

— RAS Precharge Delay (Trp = 2, 3 или 4 такта ),

— RAS to CAS Delay (Trcd = 2, 3 или 4 такта ),

— Active Precharge Delay (Tras = 5, 6, 7 или 8 тактов ).

Для лучшего быстродействия системы (для меньшей латентности памяти) эти тайминги лучше делать как можно меньше — настолько, насколько позволяет стабильность каждой конкретной системы. Ведь работа памяти с таймингами меньше определенных значений способна привести к сбоям и зависаниям (а то и просто неработоспособности) системы. Продвинутые пользователи ПК и оверклокеры стараются всеми правдами и неправдами заставить память работать как можно быстрее. В ход идет как тактовая частота, так и тайминги памяти. А производители материнских плат и памяти позволяют менять значения таймингов в BIOS Setup плат (теперь даже у Intel) и выпускают модули памяти, способные работать с пониженными таймингами и на повышенных частотах. Для таких пользователей у ряда производителей памяти существуют даже специальные серии модулей с низкой латентностью, наибольшим достижением считается заставить свою систему работать с таймингами 2.0-2-2-5 (Значения таймингов памяти здесь и далее перечислены в том порядке, в котором они названы выше). И именно к этому стремятся многие изготовители модулей памяти. Что касается того, насколько те или иные тайминги влияют на быстродействие системы в различных приложениях, то при определенных условиях разрыв для разных настроек памяти может доходить до 10% (а в среднем составляет 2–4%).

Руководство по задержке оперативной памяти – насколько важна латентность RAM

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

Эти невинно выглядящие планки памяти гораздо сложнее, чем кажутся. Давайте сегодня попробуем упростить один аспект – задержку памяти.

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

Скорость оперативной памяти и задержка

В то время как скорость памяти (или скорость передачи данных) определяет, насколько быстро ваш контроллер памяти может обращаться к памяти или записывать данные в память, задержка ОЗУ фокусируется на том, как скоро он может начать процесс.

Скорость памяти измеряется в МТ/с (мегапередачи в секунду), а задержка – в наносекундах.

Прежде чем мы углубимся в расчёт латентности памяти или задержки ОЗУ, вам следует знать несколько терминов:

Латентность памяти

Проще говоря, латентность – это задержка.

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

Эта задержка может быть измерена в наносекундах (реальное время). Однако, когда дело доходит до цифровой электроники, мы часто используем тактовый цикл, потому что таким образом мы получаем сравнительные числа, которые не зависят от частоты или скорости передачи данных.

Тайминги памяти

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

Таким образом, каждое число в таймингах памяти, например 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 (электрически стираемую программируемую постоянную память), которая позволяет вашей системе получить доступ к спецификациям памяти.

Получение информации о памяти из Serial Presence Detect

Таким образом, когда ваша система выполняет «POST» (самопроверка при включении питания), она получает доступ к спецификациям памяти, используя информацию, хранящуюся здесь. На этом этапе она мгновенно узнает, какие спецификации JEDEC установлены для вашей памяти, в дополнение к нескольким другим вещам.

Более того, она также увидит любые профили XMP, которые были загружены в вашу память, как вы можете видеть на снимке экрана выше. Затем ваш BIOS может предложить способ «одним щелчком» установить спецификации для этого профиля XMP, прочитав его.

Имейте в виду, что это не ваши текущие настройки памяти. На этой вкладке отображается только то, что считывается с ваших модулей памяти.

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

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

Что такое латентность

Для получения какой-либо информации процессор обращается к оперативной памяти (ОЗУ). Она организована в виде страниц, на которых хранится нужная информация. Чтобы понять, на какой именно странице можно найти данные, следует обратиться к специальной таблице.

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

Данное значение определенно в таймингах и приравнивается к миллисекунде. Именно столько требуется времени ОЗУ перед началом выполнения команды.

Так, существует 4 вида задержек:

  • латентность (CAS Latency (CL)), является самым важным значением, на которое стоит обратить внимание, показывает, сколько времени нужно от запроса процессора до получения информации, где находятся нужные данные;
  • RAStoCASDelay(tRCD), время перехода от столбца матрицы к строке;
  • RAS Precharge (tRP), задержка, которая происходит в момент закрытия одной ячейки и открытием другой;
  • ActivetoPrechargeDelay, время, которое нужно ОЗУ, чтобы вернуться к ожиданию запроса.

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

На что она влияет?

От данного показателя будет зависеть скорость выполнения операции по обращению к оперативной памяти. В современных мощных компьютерах будет сложно заметить разницу латентности. К тому же это миллисекунды.

Выбираем микрофон для компьютера

На что она влияет

Однако, не стоит пропускать мимо данную характеристику при выборе комплектующей. Быстродействие ОЗУ следует высчитывать из тактовой частоты и латентности. Только так можно определить, на сколько быстро процессор будет получать ответ на запрашиваемую информацию, а значит, как будет работать компьютер в целом.

Какое значение лучше?

Латентное значение указывает задержку во времени на выполнение операции. Это значит, что, чем ниже данный параметр, тем быстрее процессор получит нужную информацию. При этом стоит учитывать также и тактовую частоту.

Узнать характеристику можно несколькими способами. Тайминги указываются на самой плате ОЗУ. Это 4 цифры, которые соответствуют параметрам. Первая отвечает за латентность. В некоторых моделях можно найти надпись «CL 11». Это значит, что здесь обозначается только латентность.

Если пользователь не хочет разбирать компьютер, можно воспользоваться специальными программами:

Утилиты способны отобразить все задержки, с которыми работает ОЗУ. Кроме того, с их помощью можно протестировать компьютер и его отдельные комплектующие.

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

Лучшее значение

Такую возможность предоставляют не все производители ОЗУ. Некоторые модели могут работать только с уже установленными настройками. Однако, если такая функция присутствует, с изменением параметров нужно быть осторожны. Низкие тайминги могут привести к тому, что компьютер перестанет включаться, так как операционная система не сможет загрузиться. Это объясняется тем, что оперативной памяти не будет хватать времени на выполнение операции.

На что обратить внимание при выборе?

Скорость работы оперативной памяти зависит от того, с какой скоростью выполняется операция и, какое количество за такт времени. Поэтому нельзя обращать внимание исключительно на латентность ОЗУ. Также, не рекомендуется сравнивать тайминги у различных моделей, которые работают с разной тактовой частотой.

Что такое ОЗУ и для чего используется

В качестве примера можно рассмотреть модуль памяти типа DDR3, который работает на частоте 1333 МГц. Его показатели задержки будут равны 9-9-9-24. Второе комплектующие имеет тактовую частоту 2133 МГц, при этом тайминги – 11-11-11-31.

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

Существуют оптимальные показатели для разных модулей. Так, при выборе DDR3 латентность должна равняться 9. DDR4 с более высокой тактовой частотой обладает среднем значением латентности в 14-15.

На что влияет латентность в играх?

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

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

Высокая латентность памяти DDR4. Причины и что делать.

Всем привет! Собрал новый ПК для игр, впервые с 2010 года. Немного поизучав интернет, тесты игр и железа, запустил тест памяти и обнаружил высокую латентность. На сколько я понимаю такие показатели серьезно режут производительность моего ПК и хочется ее улучшить. Память работает на XMP профиле. Аналогичная модель Viper но с таймингами CL19 из коробки у людей дает латентность даже ниже 50.

В чем могут быть причины такой латентности и как это исправить, решить? Рядовому пользователю, не искушенному.

Изображение 1

Комментарии 31

Аватар пользователя

Boris Blade
1 год назад
Изменено автором

Таки да, Gear 2 активен походу, при этом таймини возрастают до неприличных значений. А выше 3600 емнип Gear 1 не поедет, так что ставь 3600 мгц и максимально дави тайминги. и вторички, и третички тоже. Ну либо гони дальше, до 4400 и выше и тайминги тоже придется жать.

Но память на такое способная стоит дохера.

Свернуть ответы 3

Аватар пользователя

1 год назад

Перелопатил за 2 дня профильные форумы и статьи и для меня это показалось сложным. Очень сложным. Пытался вьехать в тему. Ведь я так понимаю все не обходится отключением XMP, ручным выставлением частоты например 3600 и таймингами по типу 16-16-16-36, я так понимаю там все маштабней и сложнее? В данном случае самый простой способ это в XMP профиле поставить частоту 3600 вместо 4000 и выбрать Gear 1, если стоит 2?

Свернуть ответы 2

Аватар пользователя

Boris Blade
1 год назад

А чо лопатить-то?

Я вот хлебушек, я и то понял, в чем соль.

Вот у памяти есть реальная и эффективная частота. На примере памяти на 3600 мгц и разберем. Эффективная — 3600. Реальная — в два раза ниже. То есть 1800 мгц.

Gear 1 и Gear 2, в чем смысл? Это соотношение частоты контроллера памяти и самой памяти.

Gear 1 работает с памятью до 3600 мгц в соотношении 1 к 1. То есть реальная частота памяти — 1800 мгц, значит и у КП тоже будет 1800 мгц.

Gear 2 уже работает с делителем частоты контроллера памяти. То есть его частота просто уменьшается в два раза (что ведет к увеличению задержек, что логично — частота-то в два раза меньше стала).

Ну так вот. У памяти пусть будет реальная частота 2200 мгц. Эффективная при этом будет 4400 мгц. Значит сколько будет у контроллера? Правильно, 1100 мгц. 1100 мгц к 2200 мгц. 1 к 2.

Вот так это и работает. Значит чем меньше будут тайминги и больше частота — тем меньше будет задержка и больше будет ПСП.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *