Домой / Инструкции / Cas latency чем больше тем лучше. Суть и назначение таймингов оперативной памяти. Что означают тайминги

Cas latency чем больше тем лучше. Суть и назначение таймингов оперативной памяти. Что означают тайминги

Тайминги оперативной памяти: что это такое, и как они влияют на производительность 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 .

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

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

  • CL CAS 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% . Считайте, что это устоявшееся число. А много это или мало, вам судить.

Прочитано: 2 929

CAS Latency (Column Address Strobe Latency ) или CL - показатель задержки CAS. Под ним подразумевается время ожидания между запросом процессора и моментом выхода в доступность первой ячейки данных из памяти. При этом, нужная строка уже должна быть активной, если это не так, потребуется дополнительное время. Время исчисляется в циклах.

Задержка CAS в модулях памяти:

  • SDR SDRAM - 1, 2, 3 цикла;
  • DDR SDRAM - 2, 2.5 цикла.

Обозначение задержки CAS на модулях памяти производится как "CAS" или "CL". А показатель CAS2, CAS-2, CAS=2, CL2, CL-2 или CL=2 указывает на длительность задержки (в данном случае, равную 2 циклам).

Чем меньше показатель CAS Latency, тем лучше.

В асинхронной DRAM, показатель интервала указывается в наносекундах. Синхронные DRAM отображают интервал в тактах (циклах).

Динамический RAM расположен в виде прямоугольного массива. Каждый ряд выбран горизонтальной строкой. Отправка логического высокого сигнала по данной строке позволяет в данной строке представить MOSFET, подключая каждый накопительный конденсатор к соответствующей вертикальной битовой линейке. Каждая битовая линия подключена к усилителю, который производит небольшое изменение напряжения. Этот сигнал усилителя впоследствии выходит из DRAM-чипа для обновления строки.

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

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

В качестве примера возьмем типичный 1 ГБ SDRAM модуль памяти. Он может содержать до 8 отдельных гигабитных DRAM чипов, каждый из которых вмещает до 128 Мб памяти. Внутри себя каждый чип разделен еще на 8 банков по 227 Мбит, каждый из которых содержит отдельный массив DRAM. Каждый массив содержит 214 = 16 384 строк по 213 = 8192 бит каждый. Один байт памяти (с каждого чипа; 64 бит в сумме - со всего DIMM) способен к обработке 3-битного номера банка, 14-битного адреса строки и 10-битного адреса колонки.

Примеры тайминга памяти

Только CAS latency

Поколение

Скорость передачи данных

Время бита

Частота

Цикл

Первое слово

Четвертое слово

Восьмое слово

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

Уже прошли те времена, когда доступ к настройкам подсистемы памяти в BIOS Setup был закрыт от лишних глаз. Сейчас их столько, что даже подготовленный пользователь может растеряться при таком разнообразии, не говоря уже о простом "юзере". Мы постараемся максимально разъяснить действия, необходимые для повышения производительности системы посредством простейших настроек основных таймингов и, при необходимости, некоторых других параметров. В данном материале мы рассмотрим платформу Intel с памятью DDR2 на базе чипсета от той же компании, и основной целью будет показать не то, насколько поднимется быстродействие, а то, как именно его необходимо поднять. Что касается альтернативных решений, то для памяти стандарта DDR2 наши рекомендации практически полностью применимы, а для обычной DDR (меньшие частота и задержки, и большее напряжение) есть некоторые оговорки, но в целом принципы настройки те же.

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

На данный момент времени самым актуальным типом памяти является DDR2-800, но он появился недавно и пока только набирает обороты. Следующий тип (вернее, предыдущий), DDR2-667, является одним из самых распространенных, а DDR2-533 уже начинает сходить со сцены, хотя и присутствует на рынке в должном количестве. Память DDR2-400 нет смысла рассматривать, так как она практически уже исчезла из обихода. Модули памяти каждого типа имеют определенный набор таймингов, а для большей совместимости с имеющимся разнообразием оборудования они немного завышены. Так, в SPD модулей DDR2-533 производители обычно указывают временные задержки 4-4-4-12 (CL-RCD-RP-RAS), в DDR2-667 - 5-5-5-15 и в DDR2-800 - 5-5-5-18, при стандартном напряжении питания 1,8-1,85 В. Но ничто не мешает их снизить для увеличения производительности системы, а при условии поднятия напряжения всего до 2-2,1 В (что для памяти будет в пределах нормы, но охлаждение все же не помешает) вполне возможно установить еще более агрессивные задержки.

В качестве тестовой платформы для наших экспериментов мы выбрали следующую конфигурацию:

  • Материнская плата: ASUS P5B-E (Intel P965, BIOS 1202)
  • Процессор: Intel Core 2 Extreme X6800 (2,93 ГГц, 4 Мб кэш, FSB1066, LGA775)
  • Система охлаждения: Thermaltake Big Typhoon
  • Видеокарта: ASUS EN7800GT Dual (2хGeForce 7800GT, но использовалось только "половина" видеокарты)
  • HDD: Samsung HD120IJ (120 Гб, 7200 об/мин, SATAII)
  • Привод: Samsung TS-H552 (DVD+/-RW)
  • Блок питания: Zalman ZM600-HP

В качестве оперативной памяти использовалось два модуля DDR2-800 объемом 1 Гб производства Hynix (1GB 2Rx8 PC2-6400U-555-12), благодаря чему появилась возможность расширить количество тестов с различными режимами работы памяти и комбинациями таймингов.

Приведем перечень необходимого ПО, позволяющего проверить стабильность системы и зафиксировать результаты настроек памяти. Для проверки стабильной работы памяти можно использовать такие тестовые программы как Testmem, Testmem+, S&M, Prime95 , в качестве утилиты настройки таймингов "на лету" в среде Windows применяется MemSet (для платформ Intel и AMD) и A64Info (только для AMD) . Выяснение оправданности экспериментов над памятью можно осуществить архиватором WinRAR 3.70b (имеется встроенный бенчмарк), программой SuperPI , рассчитывающая значение числа Пи, тестовым пакетом Everest (также есть встроенный бенчмарк), SiSoft Sandra и т.д.

Основные же настройки осуществляются в BIOS Setup. Для этого необходимо во время старта системы нажать клавишу Del, F2 или другую, в зависимости от производителя платы. Далее ищем пункт меню, отвечающий за настройки памяти: тайминги и режим работы. В нашем случае искомые настройки находились в Advanced/Chipset Setting/North Bridge Configuration (тайминги) и Advanced/Configure System Frequency (режим работы или, проще говоря, частота памяти). В BIOS"е других плат настройки памяти могут находиться в "Advanced Chipset Features" (Biostar), "Advanced/Memory Configuration" (Intel), "Soft Menu + Advanced Chipset Features" (abit), "Advanced Chipset Features/DRAM Configuration" (EPoX), "OverClocking Features/DRAM Configuration" (Sapphire), "MB Intelligent Tweaker" (Gigabyte, для активации настроек необходимо в главном окне BIOS нажать Ctrl+F1 ) и т.д. Напряжение питания обычно изменяется в пункте меню, отвечающем за оверклокинг и обозначается как "Memory Voltage", "DDR2 OverVoltage Control", "DIMM Voltage", "DRAM Voltage", "VDIMM" и т.д. Также у различных плат от одного и того же производителя настройки могут отличаться как по названию и размещению, так и по количеству, так что в каждом отдельном случае придется обратиться к инструкции.

Если нет желания поднимать рабочую частоту модулей (при условии возможностей и поддержки со стороны платы) выше ее номинальной, то можно ограничиться уменьшением задержек. Если да, то вам скорее придется прибегнуть к повышению напряжения питания, равно как и при снижении таймингов, в зависимости от самой памяти. Для изменения настроек достаточно необходимые пункты перевести из режима "Auto" в "Manual". Нас интересуют основные тайминги, которые обычно находятся вместе и называются следующим образом: CAS# Latency Time (CAS, CL, Tcl, tCL), RAS# to CAS# Delay (RCD, Trcd, tRCD), RAS# Precharge (Row Precharge Time, RP, Trp, tRP) и RAS# Activate to Precharge (RAS, Min.RAS# Active Time, Cycle Time, Tras, tRAS). Также есть еще один параметр - Command Rate (Memory Timing, 1T/2T Memory Timing, CMD-ADDR Timing Mode) принимающий значение 1T или 2T (в чипсете AMD RD600 появилось еще одно значение - 3Т) и присутствующий на платформе AMD или в чипсетах NVidia (в логике от Intel он заблокирован в значении 2T). При снижении этого параметра до единицы увеличивается быстродействие подсистемы памяти, но снижается максимально возможная ее частота. При попытке изменить основные тайминги на некоторых материнских платах могут ожидать "подводные камни" - отключив автоматическую настройку, мы тем самым сбрасываем значения подтаймингов (дополнительные тайминги, влияющие как на частоту, так и на быстродействие памяти, но не так значительно, как основные), как, например, на нашей тестовой плате. В этом случае придется воспользоваться программой MemSet (желательно последней версии) и просмотреть для каждого режима работы памяти значения подтаймингов (субтаймингов), чтобы установить аналогичные в BIOS"e.

Если названия задержек не совпадут, то тут хорошо проявляет себя "метод научного тыка". Незначительно изменяя дополнительные настройки в BIOS Setup, проверяем программой, что, где и как изменилось.

Теперь для памяти, функционирующей на частоте 533 МГц, можно попытаться вместо стандартных задержек 4-4-4-12 (или какого-либо другого варианта) установить 3-3-3-9 или даже 3-3-3-8. Если с такими настройками система не стартует, поднимаем напряжение на модулях памяти до 1,9-2,1 В. Выше не рекомендуется, даже при 2,1 В желательно использовать дополнительное охлаждение памяти (простейший вариант - направить на них поток воздуха от обычного кулера). Но сперва необходимо провести тесты при стандартных настройках, например в очень чувствительном к таймингам архиваторе WinRAR (Tools/Benchmark and hardware test). После изменения параметров проверяем снова и, если результат удовлетворяет, оставляем как есть. Если нет, как это произошло в нашем тестировании, то при помощи утилиты MemSet в среде Windows (эта операция может привести либо к зависанию системы, либо, что еще хуже, полной неработоспособности ее) или же средствами BIOS Setup поднимаем на единицу RAS# to CAS# Delay и снова тестируем. После можно попытаться уменьшить на единицу параметр RAS# Precharge, что немного увеличит быстродействие.

Тоже самое проделываем для памяти DDR2-667: вместо значений 5-5-5-15 выставляем 3-3-3-9. При проведении тестов нам пришлось также увеличить RAS# to CAS# Delay, иначе быстродействие ничем не отличалось от стандартных настроек.

Для системы, использующей DDR2-800, задержки можно уменьшить до 4-4-4-12 или даже 4-4-3-10, в зависимости от конкретных модулей. В любом случае подбор таймингов сугубо индивидуален, и дать конкретные рекомендации достаточно сложно, но приведенные примеры вполне могут помочь вам в тонкой настройке системы. И не забываем о напряжении питания.

В итоге мы провели тестирование с восемью различными вариантами и комбинациями режимов работы памяти и ее задержками, а также включили в тесты результаты оверклокерской памяти, - Team Xtreem TXDD1024M1066HC4, работавшей на эффективной частоте 800 МГц при таймингах 3-3-3-8. Итак, для режима 533 МГц вышло три комбинации с таймингами 4-4-4-12, 3-4-3-8 и 3-4-2-8, для 667 МГц всего две - 5-5-5-15 и 3-4-3-9, а для режима 800 МГц, как и в первом случае, три - 5-5-5-18, 4-4-4-12 и 4-4-3-10. В качестве тестовых пакетов использовались: подтест памяти из синтетического пакета PCMark05, архиватор WinRAR 3.70b, программа расчета числа Пи - SuperPI и игра Doom 3 (разрешение 1024x768, качество графики High). Латентность памяти проверялась встроенным бенчмарком программы Everest. Все тесты проходили в среде Windows XP Professional Edition SP2. Представленные результаты на диаграммах расположены по режимам работы.

Как видите по результатам, разница в некоторых тестах незначительная, а порой даже мизерная. Это обусловлено тем, что системная шина процессора Core 2 Duo, равная 1066 МГц, имеет теоретическую пропускную способность 8,5 Гб/с, что соответствует пропускной способности двухканальной памяти DDR2-533. При использовании более скоростной памяти ограничивающим фактором быстродействия системы становится шина FSB. Уменьшение задержек ведет к росту быстродействия, но не так заметно, как повышение частоты памяти. При использовании в качестве тестового стенда платформы AMD можно было бы наблюдать совсем другую картину, что мы по возможности и сделаем в следующий раз, а пока вернемся к нашим тестам.

В синтетике рост производительности при уменьшении задержек для каждого из режимов составил 0,5% для 533 МГц, 2,3% для 667 МГц и 1% для 800 МГц. Заметен значительный рост производительности при переходе от памяти DDR2-533 к DDR2-667, а вот смена с 667 на DDR2-800 дает уже не такую прибавку скорости. Также память уровнем ниже и с низкими таймингами вплотную приближается к более высокочастотному варианту, но с номинальными настройками. И это справедливо практически для каждого теста. Для архиватора WinRAR, который достаточно чувствителен к изменению таймингов, показатель производительности немного вырос: 3,3% для DDR2-533 и 8,4% для DDR2-667/800. Расчет восьмимиллионного знака числа Пи отнесся к различным комбинациям в процентном соотношении лучше, чем PCMark05, хоть и незначительно. Игровое приложение не сильно жалует DDR2-677 с таймингами 5-5-5-15, и только снижение последних позволило обойти менее скоростную память (которой, как оказалось, все равно, какие тайминги стоят) на два кадра. Настройка памяти DDR2-800 дала прибавку еще в два кадра, а оверклокерский вариант, который имел неплохой разрыв в остальных тестах, не слишком вырвался вперед относительно менее дорогого аналога. Все же, кроме процессора и памяти, есть еще одно звено - видеоподсистема, которая вносит свои коррективы в производительность всей системы в целом. Результат латентности памяти удивил, хотя, если присмотреться к графику, становится ясно, отчего показатели именно такие, какие есть. Падая с ростом частоты и уменьшением таймингов от режима DDR2-533 4-4-4-12, латентность имеет "провал" на DDR2-667 3-4-3-9, а последний режим практически ничем кроме частоты от предыдущего не отличается. И благодаря столь низким задержкам DDR2-667 запросто обходит DDR2-800, которая имеет более высокие значения, но пропускная способность DDR2-800 позволяет в реальных приложениях все же вырваться вперед.

И в заключение хотелось бы сказать, что несмотря на небольшой процент прироста быстродействия (~0,5-8,5), который получается от уменьшения временных задержек, эффект все же присутствует. И даже при переходе с DDR2-533 на DDR2-800 мы получаем прибавку в среднем 3-4%, а в WinRAR более 20. Так что подобный "тюнинг" имеет свои плюсы и позволяет даже без серьезного разгона немного поднять производительность системы.

Результаты тестирования

Тестирование проводилось при значениях таймингов от 5-5-5-15 до 9-9-9-24, а частота оперативной памяти изменялась от 800 до 2000 МГц DDR. Разумеется, получить результаты удалось не во всех возможных сочетаниях из этого диапазона, тем не менее, полученный в итоге набор значений, на наш взгляд, является весьма показательным и соответствует практически любым возможным реальным конфигурациям. Все тесты проводились с помощью комплекта памяти Super Talent P55. Как оказалось, эти модули способны работать не только на частоте 2000 МГц DDR, но и на частоте 1600 МГц DDR при весьма низких таймингах - 6-7-6-18. Кстати, такие тайминги нам подсказал первый комплект - Super Talent X58. Вполне возможно, что оба набора модулей используют одни и те же чипы памяти, а отличаются только радиаторами и SPD-профилями. На графиках и в таблицах результатов данный режим работы помечен как DDR3-1600 @ 6-6-6-18, чтобы не терялась "стройность" представления данных. На графиках, приведенных ниже, каждая линия соответствует тестам при одном и том же значении частоты bclk и одинаковых таймингах. Поскольку результаты располагаются довольно плотно, чтобы не загромождать графики, числовые значения будут указываться в таблице под графиком. Сначала проведем тестирование в синтетическом пакете Everest Ultimate.

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

Everest v5.30.1900, Memory Read, MB/s
timings DDR 5-5-5-15 6-6-6-18 7-7-7-20 8-8-8-22 9-9-9-24
bclk=133 МГц 1600 15115 14908 14336 14098
1333 14216 13693 13768 13027
1066 13183 12737 12773 12060 12173
800 11096 10830 10994 10700 10640
bclk=200 МГц 2000 18495
1600 18425 17035 18003 17602
1200 15478 15086 15467 15034

Итак, тест чтения из памяти утилиты Everest показывает, что при увеличении частоты оперативной памяти в 2 раза скорость ее работы возрастает максимум на 40%, а прирост от уменьшения таймингов не превышает 10%.

Everest v5.30.1900, Memory Write, MB/s
timings DDR 5-5-5-15 6-6-6-18 7-7-7-20 8-8-8-22 9-9-9-24
bclk=133 МГц 1600 10870 10878 10866 10856
1333 10859 10852 10854 10869
1066 10852 10863 10851 10862 10870
800 10873 10867 10841 10879 10864
bclk=200 МГц 2000 14929
1600 14934 14936 14927 14908
1200 14931 14920 14930 14932

Удивительно, но тест записи в память утилиты Everest оказался совершенно равнодушен к изменению частоты и таймингов оперативной памяти. Зато четко виден результат от увеличения частоты кэш-памяти третьего уровня процессора на 50%, при этом скорость оперативной памяти увеличивается примерно на 37%, что весьма неплохо.

Everest v5.30.1900, Memory Copy, MB/s
timings DDR 5-5-5-15 6-6-6-18 7-7-7-20 8-8-8-22 9-9-9-24
bclk=133 МГц 1600 15812 15280 15269 15237
1333 15787 15535 15438 15438
1066 16140 15809 14510 14344 14274
800 13738 13061 13655 15124 12783
bclk=200 МГц 2000 20269
1600 20793 19301 19942 19410
1200 18775 20810 18087 19196

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

Everest v5.30.1900, Memory Latency, ns
timings DDR 5-5-5-15 6-6-6-18 7-7-7-20 8-8-8-22 9-9-9-24
bclk=133 МГц 1600 45.4 46.7 46.9 48.5
1333 48.3 48.7 50.8 53
1066 51.1 51.4 53.9 56.3 58.6
800 54.7 57.9 58.5 59.1 61.5
bclk=200 МГц 2000 38.8
1600 39.7 41 41.2 42.9
1200 42.5 44.6 46.4 48.8

Тест латентности памяти показывает в общем-то ожидаемые результаты. Тем не менее, результат в режиме DDR3-2000 @ 9-9-9-24 оказывается лучше, чем в режиме DDR3-1600 @ 6-6-6-18 при частоте bclk=200 МГц. И опять же, увеличение частоты bclk приводит к значительному улучшению результатов.

Everest v5.30.1900, CPU Queen, scores
timings DDR 5-5-5-15 6-6-6-18 7-7-7-20 8-8-8-22 9-9-9-24
bclk=133 МГц 1600 30025 30023 29992 29993
1333 30021 29987 29992 30001
1066 29981 30035 29982 30033 29975
800 29985 29986 29983 29977 29996
bclk=200 МГц 2000 29992
1600 29989 29985 30048 30000
1200 30011 30035 30003 29993

Как видите, в данном чисто вычислительном тесте не наблюдается никакого влияния ни частоты, ни таймингов оперативной памяти. Собственно, так и должно было быть. Забегая вперед, скажем, что такая же картина наблюдалась и в остальных CPU-тестах Everest, за исключением разве что теста Photo Worxx, результаты которого приведены ниже.

Everest v5.30.1900, PhotoWorxx, KB/s
timings DDR 5-5-5-15 6-6-6-18 7-7-7-20 8-8-8-22 9-9-9-24
bclk=133 МГц 1600 38029 37750 37733 37708
1333 36487 36328 36173 35905
1066 33584 33398 33146 32880 32481
800 27993 28019 27705 27507 27093
bclk=200 МГц 2000 41876
1600 40476 40329 40212 39974
1200 37055 36831 36658 36152

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

WinRar 3.8 benchmark, multi-threading, Kb/s
timings DDR 5-5-5-15 6-6-6-18 7-7-7-20 8-8-8-22 9-9-9-24
bclk=133 МГц 1600 3175 3120 3060 2997
1333 3067 3023 2914 2845
1066 2921 2890 2800 2701 2614
800 2739 2620 2562 2455 2382
bclk=200 МГц 2000 3350
1600 3414 3353 3305 3206
1200 3227 3140 3020 2928

Картинка выглядит просто образцово, четко видно влияние и частоты, и таймингов. Но при этом двукратный рост частоты оперативной памяти приводит к максимум 25%-му увеличению производительности. Снижение таймингов позволяет добиться неплохого прироста производительности в данном тесте. Однако чтобы добиться тех же результатов, что и при повышении частоты оперативки на одну ступень, необходимо понизить тайминги сразу на две ступени. Также отметим, что повышение частоты оперативной памяти с 1333 до 1600 МГц дает меньший прирост производительности в тесте, чем при переходе от 1066 до 1333 МГц DDR.

WinRar 3.8 benchmark, single-threading, Kb/s
timings DDR 5-5-5-15 6-6-6-18 7-7-7-20 8-8-8-22 9-9-9-24
bclk=133 МГц 1600 1178 1165 1144 1115
1333 1136 1117 1078 1043
1066 1094 1073 1032 988 954
800 1022 972 948 925 885
bclk=200 МГц 2000 1294
1600 1287 1263 1244 1206
1200 1215 1170 1126 1085

В однопоточном тесте WinRar картина, в целом, повторяет предыдущую, хотя рост результатов более "линеен". Впрочем, при повышении частоты памяти на одну ступень для достижения результатов по-прежнему требуется понизить тайминги на две ступени или более. Теперь давайте посмотрим, как сказывается изменение частоты оперативной памяти и ее таймингов на результаты тестирования в игре Crysis. Сначала поставим самый "слабый" режим графики - Low Details.

Crysis, 1280x1024, Low Details, No AA/AF, FPS
timings DDR 5-5-5-15 6-6-6-18 7-7-7-20 8-8-8-22 9-9-9-24
bclk=133 МГц 1600 184.5 183.4 182.5 181.4
1333 181.2 181.1 179.6 178.1
1066 179.6 178.0 174.9 172.1 169.4
800 172.4 167.9 166.0 163.6 165.0
bclk=200 МГц 2000 199.4
1600 197.9 195.9 195.9 193.3
1200 194.3 191.3 188.5 184.9

Как видно из графиков, влияние таймингов наиболее ощутимо при низких частотах оперативной памяти - 800 и 1066 МГц DDR. При частоте оперативки 1333 МГц DDR и выше, влияние таймингов минимально и выражается лишь в паре-тройке FPS, что составляет единицы процентов. Увеличение частоты кэш-памяти третьего уровня влияет на результаты гораздо ощутимее. Впрочем, если рассматривать абсолютные значения, то непосредственно в игре будет очень сложно почувствовать данную разницу.

Crysis, 1280x1024, Medium Details, No AA/AF, FPS
timings DDR 5-5-5-15 6-6-6-18 7-7-7-20 8-8-8-22 9-9-9-24
bclk=133 МГц 1600 96.6 97.4 97.6 94.6
1333 95.5 95.8 93.3 92.8
1066 95.7 94.0 92.5 90.1 89.6
800 91.6 89.0 88.6 86.2 86.3
bclk=200 МГц 2000 102.9
1600 104.5 103.6 103.0 101.6
1200 100.2 100.0 98.7 97.7

При включении среднего уровня графики в игре Crysis, частота оперативной памяти оказывает большее влияние, чем ее тайминги. Результаты, полученные при частоте bclk=200 МГц, независимо от частоты и таймингов памяти, по-прежнему превосходят оные при частоте bclk=133 МГц.

Crysis, 1280x1024, High Details, No AA/AF, FPS
timings DDR 5-5-5-15 6-6-6-18 7-7-7-20 8-8-8-22 9-9-9-24
bclk=133 МГц 1600 76.8 76.5 76.7 74.9
1333 75.1 75.4 75.4 73.4
1066 75.1 75.4 71.9 72.0 71.0
800 71.8 69.7 69.0 68.6 66.7
bclk=200 МГц 2000 81.7
1600 80.4 80.3 80.4 79.4
1200 80.5 79.1 77.4 77.1

В целом, картина сохраняется. Отметим, что, например, при частоте bclk=133 МГц двукратное увеличение частоты оперативной памяти приводит к увеличению результатов лишь на 12%. При этом влияние таймингов на частоте bclk=133 МГц выражено несколько сильнее, чем при bclk=200 МГц.

800 55.9 55.8 55.6 55.0 54.3 bclk=200 МГц 2000 59.5 1600 59.8 59.3 59.5 59.0 1200 59.4 58.9 58.7 59.0

При переходе к наиболее "тяжелому" режиму, картина принципиально не меняется. При прочих равных условиях, полуторакратная разница в частоте bclk приводит лишь к 5%-му приросту результатов. Влияние таймингов укладывается в 1-1,5 FPS, а изменение частоты оперативной памяти оказывается лишь немногим более эффективнее. В целом, результаты расположились довольно плотно. Согласитесь, что в игре почувствовать разницу между 55 и 59 FPS весьма сложно. Отметим, что полученные значения минимального FPS практически полностью совпадали с общей картиной результатов для среднего FPS, разумеется, на чуть более низком уровне.

⇡ Выбор оптимальной оперативной памяти

Теперь давайте рассмотрим следующий момент - как производительность оперативной памяти соотносится с ее ценой, и какое соотношение является наиболее оптимальным. В качестве мерила производительности оперативной памяти мы взяли результаты тестирования во встроенном тесте WinRar с использованием многопоточности. Средние цены на момент написания материала брались по данным Яндекс.Маркет для одиночных модулей памяти стандарта DDR3 объемом 1 Гб. Затем для модуля каждого типа показатель производительности делился на цену, то есть, чем меньше цена и выше производительность модуля, тем лучше. В итоге получилась следующая таблица.
DDR3 CAS Latensy WinRar benchmark, MB/s Цена, руб Производительность/цена
1066 7 2800 1000 2.80
1333 7 3023 1435 2.11
1333 9 2845 900 3.16
1600 7 3120 1650 1.89
1600 8 3060 1430 2.14
1600 9 2997 1565 1.92
2000 9 3350 1700 1.97

Для наглядности, на диаграмме ниже приведены значения Performance/Price.

Удивительно, но память стандарта DDR3, работающая на частоте 1333 МГц с таймингами 9-9-9-24, оказалось наиболее оптимальной покупкой с точки зрения производительность/цена. Чуть хуже выглядит память DDR3-1066 с таймингами 7-7-7-20, а модули остальных типов демонстрируют заметно меньшие (примерно в 1,5 раза относительно лидера), но довольно схожие результаты по этому показателю. Разумеется, что касается цен на модули памяти, то они могут сильно варьироваться в каждом конкретном случае, а со временем и рыночная ситуация в целом может несколько измениться. Впрочем, при необходимости, пересчитать колонку "Performance/Price" не составит большого труда.

⇡ Выводы

Как показало тестирование, в тех приложениях, где от изменения частоты и таймингов оперативной памяти прирост результатов проявлялся наиболее ярко, наибольшее влияние оказывало повышение частоты памяти, а снижение таймингов приводило к заметному росту результатов гораздо реже. При этом для достижения того же уровня производительности, что и при повышении частоты памяти на одну ступень, как правило, требовалось снижение таймингов на две ступени. Что касается выбора оперативной памяти для платформы Intel LGA 1156, то энтузиасты и экстремалы, разумеется, остановят свой взгляд на наиболее производительных продуктах. В то же время, для типичных задач обычного пользователя будет вполне достаточно и памяти DDR3-1333, работающей с таймингами 9-9-9-24. Поскольку память данного типа широко представлена на рынке и весьма доступна, можно изрядно сэкономить на стоимости оперативки, при этом практически ничего не теряя в производительности. Рассмотренный сегодня комплект памяти Super Talent X58 произвел несколько неоднозначное впечатление, а комплект Super Talent P55 очень порадовал как стабильностью работы, так и возможностями по разгону и изменению таймингов. К сожалению, на данный момент нет информации о розничной стоимости данных комплектов памяти, поэтому давать какие-то определенные рекомендации сложно. В целом, память весьма интересная, а из особенностей стоит отметить возможность работы на сравнительно низких таймингах и то, что увеличение напряжения на модулях практически не влияет на результаты разгона.

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

Структура памяти напоминает таблицу, где сначала выбирают строку, а затем столбец. Эта таблица разбита на банки, для памяти плотностью меньше 64Мбит (SDRAM) количеством 2 штуки, выше - 4 (стандартно). Спецификация память DDR2 SDRAM с чипами плотностью 1Гбит предусматривает уже 8 банков. На открытие строки в используемом банке уходит больше времени, нежели в другом (т.к. используемую строку нужно сначала закрыть). Очевидно, что лучше новую строку открывать в новом банке (на этом основан принцип чередования строк).

Обычно на памяти (или в спецификации к ней) есть надпись вида 3-4-4-8 или 5-5-5-15. Это сокращенная запись (так называемая схема таймингов) основных таймингов памяти. Что же такое тайминги? Очевидно, что ни одно устройство не может работать с бесконечной скоростью. Значит, на выполнение любой операции уходит какое-либо время. Тайминги - это задержка, устанавливающая время, необходимое на выполнение какой-либо команды, то есть время от отправки команды до ее выполнения. А каждая цифра обозначает какое именно время необходимо.

Теперь разберем каждый по очереди. Схема таймингов включает в себя задержки CL-Trcd-Trp-Tras соответственно. Для работы с памятью необходимо для начала выбрать чип, с которым мы будем работать. Делается это командой CS# (Chip Select). Затем выбирается банк и строка. Перед началом работы с любой строкой необходимо ее активировать. Делается это командой выбора строки RAS# (при выборе строки она активируется). Затем (при операции линейного чтения) нужно выбрать столбец командой CAS# (эта же команда инициирует чтение). Затем считать данные и закрыть строку, совершив предварительный заряд (precharge) банка.

Тайминги расположены по порядку следования в простейшем запросе (для простоты понимания). Сначала идут тайминги, затем подтайминги.

Trcd, RAS to CAS delay - время, необходимое для активизации строки банка, или минимальное время между подачей сигнала на выбор строки (RAS#) и сигнала на выбор столбца (CAS#).

CL, Cas Latency - минимальное время между подачей команды на чтение (CAS) и началом передачи данных (задержка чтения).

Tras, Active to Precharge - минимальное время активности строки, то есть минимальное время между активацией строки (ее открытием) и подачей команды на предзаряд (начало закрытия строки). Строка не может быть закрыта раньше этого времени.

Trp, Row Precharge - время, необходимое для предварительного заряда банка (precharge). Иными словами, минимальное время закрытия строки, после чего можно активировать новую строку банка.

CR, Command Rate 1/2T - Время, необходимое для декодирования контроллером команд и адресов. Иначе, минимальное время между подачей двух команд. При значении 1T команда распознается 1 такт, при 2T - 2 такта, 3T - 3 такта (пока только на RD600).

Это все основные тайминги. Остальные тайминги имеют меньшее влияние на производительность, а потому их называют подтаймингами.

Trc , Row Cycle Time, Activate to Activate/Refresh Time, Active to Active/Auto Refresh Time - минимальное время между активацией строк одного банка. Является комбинацией таймингов Tras+Trp - минимального времени активности строки и времени ее закрытия (после чего можно открывать новую).

Trfc , Row Refresh Cycle Time, Auto Refresh Row Cycle Time, Refresh to Activate/Refresh Command Period - минимальное время между командой на обновление строки и командой активизации, либо другой командой обновления.

Trrd , ACTIVE bank A to ACTIVE bank B command, RAS to RAS Delay, Row Active to Row Active - минимальное время между активацией строк разных банков. Архитектурно открывать строку в другом банке можно сразу за открытием строки в первом банке. Ограничение же чисто электрическое - на активацию уходит много энергии, а потому при частых активациях строк очень высока электрическая нагрузка на цепи. Чтобы ее снизить, была введена данная задержка. Используется для реализации функции чередования доступа к памяти (interleaving).

Tccd , CAS to CAS Delay - минимальное время между двумя командами CAS#.

Twr , Write Recovery, Write to Precharge - минимальное время между окончанием операции записи и подачей команды на предзаряд (Precharge) строки для одного банка.

Twtr , Trd_wr, Write To Read - минимальное время между окончанием записи и подачей команды на чтение (CAS#) в одном ранке.

RTW , Read To Write, (Same) Rank Read To Write - минимальное время между окончанием операции чтения и подачей команды на запись, в одном ранке.

Same Rank Write To Write Delayed - минимальное время между двумя командами на запись в одном ранке.

Different Rank Write to Write Delay - минимальное время между двумя командами на запись в разных ранках.

Twr_rd , Different Ranks Write To READ Delayed - минимальное время между окончанием записи и подачей команды на чтение (CAS#) в разных ранках.

Same Rank Read To Read Delayed - минимальная задержка между двумя командами на чтение в одном ранке.

Trd_rd , Different Ranks Read To Read Delayed - минимальная задержка между двумя командами на чтение в разных ранках.

Trtp , Read to Precharge - минимальный интервал между подачей команды на чтение до команды на предварительный заряд.

Precharge to Precharge - минимальное время между двумя командами предварительного заряда.

Tpall_rp , Precharge All to Active Delay - задержка между командой Precharge All и командой на активацию строки.

Same Rank PALL to REF Delayed - устанавливает минимальное время между командой Precharge All и Refresh в одном ранке.

Different Rank REF to REF Delayed - устанавливает минимальную задержку между двумя командами на обновление (refresh) в разных ранках.

Twcl , Write Latency - задержка между подачей команды на запись и сигналом DQS. Аналог CL, но для записи.

Tdal , цитата из JEDEC 79-2C, p.74: auto precharge write recovery + precharge time (Twr+Trp).

Trcd_rd/Trcd_wr , Activate to Read/Write, RAS to CAS Read/Write Delay, RAW Address to Column Address for Read/Write - сочетание двух таймингов - Trcd (RAS to CAS) и rd/wr command delay. Именно последним и объясняется существование разных Trcd - для записи и чтения (Nf2) и установки BIOS - Fast Ras to Cas.

Tck , Clock Cycle Time - период одного такта. Именно он и определяет частоту памяти. Считается она следующим образом: 1000/Tck=X Mhz (реальная частота).

CS , Chip Select - время, необходимое на выполнения команды, подаваемой сигналом CS# для выбора нужного чипа памяти.

Tac , DQ output access time from CK - время от фронта такта до выдачи данных модулем.

Address and Command Setup Time Before Clock - время, на которое передача установок адресов команд будет предшествовать восходящему фронту такта.

Address and Command Hold Time After Clock - время, на которое будут "заперты" установки адреса и команд после нисходящего фронта такта.

Data Input Setup Time Before Clock, Data Input Hold Time After Clock - то же, что и вышеуказанные, но для данных.

Tck max , SDRAM Device Maximum Cycle Time - максимальный период цикла устройства.

Tdqsq max , DDR SDRAM Device DQS-DQ Skew for DQS and associated DQ signals - максимальный сдвиг между стробом DQS и связанными с ним сигналами данных.

Tqhs , DDR SDRAM Device Read Data Hold Skew Factor - максимальный сдвиг "запирания" считанных данных.

Tch, Tcl , CK high/low pulse width - длительность высокого/низкого уровня тактовой частоты CK.

Thp , CK half pulse width - длительность полупериода тактовой частоты CK.

Max Async Latency - максимальное время асинхронной задержки. Параметр управляет длительностью асинхронной задержки, зависящей от времени, необходимого для передачи сигнала от контроллера памяти до самого дальнего модуля памяти и обратно. Опция существует в процессорах компании AMD (Athlon/Opteron).

DRAM Read Latch Delay - задержка, устанавливающая время, необходимое для "запирания" (однозначного распознавания) конкретного устройства. Актуально при повышении нагрузки (числа устройств) на контроллер памяти.

Trpre , Read preamble - время, в течение которого контроллер памяти откладывает активацию приема данных перед чтением, во избежание повреждения данных.

Trpst, Twpre, Twpst , Write preamble, read postamble, write postamble - то же для записи и после приема данных.

Read/write Queue Bypass - определяет число раз, которое самый ранний запрос в очереди может быть обойден контроллером памяти, прежде чем быть выполненным.

Bypass Max - определяет, сколько раз самая ранняя запись в DCQ может быть обойдена, прежде чем выбор арбитра будет аннулирован. При установке в 0 выбор арбитра всегда учитывается.

SDRAM MA Wait State , Read Wait State - установка 0-2-тактного опережения адресной информации перед подачей сигнала CS#.

Turn-Around Insertion - задержка между циклами. Добавляет задержку в такт между двумя последовательными операциями чтения/записи.

DRAM R/W Leadoff Timing , rd/wr command delay - задержка перед выполнением команды чтения/записи. Обычно составляет 8/7 или 7/5 тактов соответственно. Время от подачи команды до активации банка.

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

Twtr Same Bank , Write to Read Turnaround Time for Same Bank - время между прекращением операции записи и подачей команды на чтение в одном банке.

Tfaw , Four Active Windows - минимальное время активности четырех окон (активных строк). Применяется в восьмибанковых устройствах.

Strobe Latency . Задержка при посылке строб-импульса (селекторного импульса).

Memory Refresh Rate . Частота обновления памяти.

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