Про тайминги RAM: влияние на производительность системы.
Чтобы знать

Как тайминги памяти влияют на производительность?

Тайминги оперативной памяти: что это такое, и как они влияют на производительность Windows?

Пользователи, которые собственноручно стараются улучшить производительность компьютера, прекрасно понимают, что принцип “чем больше, тем лучше” для компьютерных составляющих работает не всегда. Для некоторых из них вводятся дополнительные характеристики, которые влияют на качество работы системы не меньше, чем объём. И для многих устройств это понятие скорости. Причём этот параметр влияет на производительность почти всех устройств. Здесь вариантов тоже немного: чем быстрее, получается, тем лучше. Но давайте проясним, как конкретно понятие скоростных характеристик в оперативной памяти влияет на производительность Windows.

Скорость модуля оперативной памяти – это основной показатель передачи данных. Чем больше заявленное число, тем быстрее компьютер будет “закидывать в топку” объёмов оперативной памяти сами данные и “изымать” их оттуда. При этом разница в объёмах самой памяти может свестись на нет.

Скорость и объём: что лучше?

Представьте себе ситуацию с двумя железнодорожными составами: первый огромный, но медленный со старыми портальными кранами, которые неторопливо загружают и выгружают груз. И второй: компактный, но быстрый с современными быстрыми кранами, которые благодаря скорости выполняют работу по загрузке и доставке быстрее в разы. Первая компания рекламирует свои  объёмы, недоговаривая, что груз придётся ждать очень долго. А вторая при меньших объёмах, однако, успеет обработать груза в разы больше. Многое, конечно, зависит и от качества самой дороги, и расторопности машиниста. Но, как вы поняли, совокупность всех факторов и определяет качество доставки груза. А с планками оперативной памяти в слотах материнской платы ситуация аналогична?

Помятуя о приведённом примере, при выборе планок оперативной памяти мы сталкиваемся с номенклатурным выбором. Выбирая планку где-нибудь в интернет-магазине, мы ищем аббревиатуру DDR, но вполне вероятно, что мы можем столкнуться и со старыми добрыми стандартами PC2, PC3 и PC4, что всё ещё в ходу. Так, нередко за общепринятыми стандартами типа DDR3 1600 RAM можно увидеть характеристику PC3 12800, рядом с DDR4 2400 RAM нередко стоит PC4 19200 и т.д. Это и есть те данные, которые помогут объяснить как быстро будет доставлен наш груз.

Читаем характеристики памяти: сейчас всё сами поймёте

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

1 байт = 8 бит

Помня это простенькое уравнение, можно легко посчитать, что DDR3 1600 означает скорость PC3 12800 бит/сек. Аналогично этому DDR4 2400 означает PC4 со скоростью 19200 бит/сек. Но если со скоростью передачи всё ясно, то что же такое тайминги? И почему два, казалось бы, одинаковых по частоте модуля из-за разницы в таймингах могут показывать в специальных программах разные уровни производительности?

Характеристики таймингов должны быть представлены в числе прочих для планок RAM счетверёнными через дефис числами (8-8-8-24, 9-9-9-24 и т.д). Эти цифры обозначают специфичный промежуток времени, которое требуется модулю RAM для доступа к битам данных сквозь таблицы массивов памяти. Для упрощения понятия в предыдущем предложении и ввели термин “задержка”:

Задержка – это понятие, которое характеризует то, как быстро модуль получает доступ к “самому себе” (да простят меня технари за такую вольную интерпретацию). Т. е. как быстро байты перемещаются внутри чипов планки. И вот здесь действует обратный принцип: чем меньше числа, тем лучше. Меньшая задержка означает большую скорость доступа, а значит данные быстрее достигнут процессора. Тайминги “измеряют” время задержки (период ожиданияCL) чипа памяти, пока тот обрабатывает какой-то процесс. А число в составе нескольких дефисов означает сколько временных циклов этот модуль памяти “притормозит” информацию или данные, которую сейчас ждёт процессор.

И какое это значение имеет для моего компьютера?

Представьте себе, вы после давненько совершённой покупки ноутбука решили добавить ещё одну планку оперативной памяти к уже имеющейся. Среди всего прочего, ориентируясь по наклеенному лейблу или на основании программ-бенчмарков можно установить, что по характеристикам таймингов модуль попадает под категорию CL-9 (9-9-9-24):

То есть данный модуль доставит до ЦПУ информацию с задержкой 9 условных циклов: не самый быстрый, но и не самый плохой вариант. Таким образом, нет смысла зацикливаться на приобретении планки с более низкими показателями задержки (и, теоретически, более высокими характеристиками производительности). Например, как вы уже догадались, 4-4-4-8, 5-5-5-15 и 7-7-7-21, у которых количество циклов равно соответственно 4, 5 и 7.

первый модуль опережает второй почти на треть цикла

Как вы знаете по статье “Как выбрать оперативную память?“, параметры таймингов включают ещё одни важные значения:

  • CLCAS Latency – время, затрачиваемое на цикл “модуль получил командумодуль начал отвечать“. Именно этот условный период уходит на ответ процессору от модуля/модулей
  • tRCD – задержка RAS к CAS – время, затрачиваемое на активацию строчки (RAS) и столбца (CAS) – именно там данные в матрице и сохраняются (каждый модуль памяти организован по типу матрицы)
  • tRP – заполнение (Зарядка) RAS – время, затрачиваемое на прекращение доступа к одной строчке данных и начало доступа к следующей
  • tRAS – означает как долго придётся самой памяти ждать очередного доступа к самой себе
  • CMD Command Rate – время, затрачиваемое на цикл “чип активированпервая команда получена (или чип готов к приёму команды)”. Иногда этот параметр опускается: он всегда составляет один или два цикла ( или ).

“Участие” некоторых из этих параметров в принципе подсчёта скорости работы оперативной памяти, можно также выразить в следующих рисунках:

Похожее

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

Время задержки (сек) = 1 / Частоту передачи (Гц)

Таким образом, из рисунка с CPUD можно высчитать, что модуль DDR 3, работающий с частотой 665-666 МГц (половина декларируемого производителем значения, т.е. 1333 МГц) будет выдавать примерно:

1 / 666 000 000 = 1,5 нсек (наносекунд)

периода полного цикла (время такта). А теперь считаем задержку для обоих вариантов, представленных в рисунках. При таймингах CL-9 модуль будет выдавать “тормоза” периодом 1,5 х 9 = 13,5 нсек, при CL-7 : 1,5 х 7 = 10,5 нсек.

Что можно добавить к рисункам? Из них видно, что чем ниже цикл зарядки RAS, тем быстрее будет работать и сам модуль. Таким образом, общее время с момента подачи команды на “зарядку” ячеек модуля и фактическое получение модулем памяти данных, высчитывается по простой формуле (все эти показатели утилиты типа CPU-Z должны выдавать):

tRP + tRCD + CL

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

Как можно повлиять на них или отрегулировать тайминги?

У пользователя, как правило, для этого возможностей не очень много. Если в BIOS специальной настройки для этого нет, система будет конфигурировать тайминги автоматически. Если таковые имеются, можно попробовать выставить тайминги вручную из предлагаемых значений. А выставив, следите за стабильностью. Я, признаюсь, не мастер оверклокинга и никогда не погружался в подобные эксперименты.

Тайминги и производительность системы: выбираем по объёму

Если у вас не группа промышленных серверов или куча виртуальных серверов – абсолютно никакого влияния тайминги не возымеют. Когда мы употребляем это понятие, речь идёт о единицах наносекун. Так что при стабильной работе ОС задержки памяти и их влияние на производительность, основательные, казалось бы, в относительном выражении, в абсолютных значениях ничтожны: человек изменения в скорости заметить просто не сможет физически. Программы-бенчмарки это безусловно заметят, однако, если вы однажды станете перед выбором приобрести ли 8 Гб DDR4 на скорости 3200 или 16 Гб DDR4 со скоростью 2400, даже не сомневайтесь с выбором второго варианта. Выбор в пользу объёма, нежели скорости, у пользователя с пользовательской ОС обозначен всегда чётко. А взяв пару уроков оверклокинга по работе и настройке таймингов для RAM, можно после уже добиться улучшения производительности.

Так что же, на тайминги наплевать?

Для обычного пользователя – да. Ну, почти да. Просто здесь есть пара моментов, которые вы наверняка уже успели схватить сами. В сборке, где используется несколько процессоров и дискретная видеокарта, обладающая собственным чипом памяти, тайминги RAM не имеют никакого значения.  Ситуация с интегрированными (встроенными) видеокартами немного меняется, и некоторые очень уж продвинутые пользователи чувствуют задержки в играх (насколько эти видеокарты вообще позволяют играть). Это и понятно: когда вся вычислительная мощь ложится на процессор и небольшой (скорее всего) объём оперативки, любая нагрузка сказывается. Но, опять же, опираясь на чужие исследования, могу передать их результаты вам. В среднем потеря производительности в скорости именитыми бенчмарками в различных тестах с уменьшением или увеличением таймингов в сборках с интегрированными или дискретными картами колеблется в районе 5-10%. Считайте, что это устоявшееся число. А много это или мало, вам судить.

Успехов.

Посмотреть комментарии

  • Когда вычисления происходят в памяти, а не на ядре, то можно получить значительный прирост быстродействия за счет подбора таймингов, процентов 30.