Рассмотрим скоростные характеристики предполагаемых спецификаций модулей памяти DDR3, которые представлены в таблице 1.
Табл. 1. Скоростные характеристики модулей памяти DDR3
Тип модулей
Рейтинг
Частота шины, МГц
Типичная схема таймингов
Теоретическая пропускная способность, ГБ/с
Одно-канальный режим
Двух-канальный режим
Предположительно, модули памяти DDR3 будут предлагаться в вариантах от DDR3-800 до DDR3-1600 включительно, далее не исключено появление и более высокоскоростных модулей категории DDR3-1866. Рейтинг производительности модулей памяти DDR3 имеет значение вида «PC3-X», где X означает пропускную способность модуля в одноканальном режиме, выраженную в МБ/с (если быть точным — млн. байт/с). Поскольку модули памяти DDR3 имеют ту же разрядность, что и модули памяти DDR2 — 64 бита, численные значения рейтингов равночастотных модулей памяти DDR2 и DDR3 совпадают (например, PC2-6400 для DDR2-800 и PC3-6400 для DDR3-800).
Типичные схемы таймингов, предполагаемые в настоящее время для модулей памяти DDR3, выглядят весьма «внушительно» (например, 9-9-9 для DDR3-1600), однако не стоит забывать, что столь большие относительные значения таймингов, будучи переведенными в абсолютные значения (в наносекундах), учитывая все меньшее время цикла (обратно пропорциональное частоте шины памяти), становятся вполне приемлемыми. Так, например, задержка сигнала CAS# (t CL ) для модулей памяти DDR3-800 со схемой таймингов 6-6-6 составляет 15 нс, что, конечно, несколько великовато по сравнению с «типичными» DDR2-800 со схемой таймингов 5-5-5, для которых t CL составляет 12.5 нс. В то же время, память типа DDR3-1600 со схемой таймингов 9-9-9 уже характеризуются величиной задержки t CL всего 11.25 нс, что находится на уровне DDR2-533 с достаточно низкими задержками (схемой таймингов 3-3-3). Таким образом, даже при предполагаемом на данный момент «раскладе» схем таймингов модулей памяти DDR3 можно ожидать постепенное снижение реально наблюдаемых задержек при доступе в память, вплоть до значений, типичных для нынешнего поколения модулей памяти DDR2. К тому же, не стоит забывать и о дальнейшем снижении задержек (и снижении таймингов) по мере развития технологии.
Для того чтобы начать изучение вопросов, посвящённых таймингам, следует узнать, как же, собственно, работает оперативная память. Структура памяти напоминает таблицу, где сначала выбирают строку, а затем столбец; и что таблица эта разбита на банки, для памяти плотностью меньше 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) банка.
Тайминги расположены по порядку следования в простейшем запросе (для простоты понимания). Сначала идут тайминги, затем подтайминги.
CL, Cas Latency – минимальное время между подачей команды на чтение (CAS) и началом передачи данных (задержка чтения).
Trcd, RAS to CAS delay – время, необходимое для активизации строки банка, или минимальное время между подачей сигнала на выбор строки (RAS#) и сигнала на выбор столбца (CAS#).
Trp, Row Precharge – время, необходимое для предварительного заряда банка (precharge). Иными словами, минимальное время закрытия строки, после чего можно активировать новую строку банка.
Tras, Active to Precharge – минимальное время активности строки, то есть минимальное время между активацией строки (её открытием) и подачей команды на предзаряд (начало закрытия строки). Строка не может быть закрыта раньше этого времени.
CR, Command Rate 1/2T – Время, необходимое для декодирования контроллером команд и адресов. Иначе, минимальное время между подачей двух команд. При значении 1T команда распознаётся 1 такт, при 2T – 2 такта, 3T – 3 такта (пока только на RD600).
Это всё основные тайминги. Остальные тайминги имеют меньшее влияние на производительность, а потому их называют подтаймингами.
Обычно при выборе и покупке оперативной памяти пользователи обращают внимание только объём ОЗУ и её тактовую частоту, ну и для совместимости с материнской платой на тип памяти DDR. Однако в технических характеристиках памяти есть такой параметр как тайминги (латентность), на который мало кто смотрит. В тоже время тайминги оперативной памяти оказывают не самое последнее влияние на её производительность. В данном материале мы подробно расскажем о том, что такое тайминги, какие тайминги лучше, а также ответим на часто задаваемый вопрос «Что лучше – меньшие задержки или высокая частота?».
Что такое тайминги оперативной памяти?
Чтобы понимать, какие тайминги лучше, нужно хотя бы в общих чертах знать, что это вообще такое. Итак, если очень кратко, то тайминги – это временные задержки между отправкой и выполнением команды шины памяти т.е. тайминги определяют то, как быстро информация перемещается внутри планки памяти. Латентность ОЗУ измеряется в тактах и обычно записывается в виде нескольких цифровых значений через тире, но у каждого значения есть своя определенную маркировку и последовательность. Выглядит она так: CL-RCD-RP-RAS, где CL – это CAS Latency, время до получения ответа памяти, RCD – RAS to CAS Delay, время полного доступа памяти или как еще его называют поиск необходимой строки, RP – RAS Prechange, время в промежутке между командой деактивации строки и последующей её активации и RAS – Command Rate, промежуток между двумя любыми командами, который как правило, является самым минимальным интервалом и иногда производитель его вообще не указывает.
Какие тайминги оперативной памяти лучше?
Самый главный вопрос – какие тайминги лучше? Как мы уже выяснили, тайминги – это задержка, поэтому очевидно, что если задержка меньше, то это лучше и, следовательно, память будет производительнее. Для примера возьмем две модели ОЗУ – GEIL Super Luce RGB TUF Black Gaming 16GB и Patriot Viper RGB Black 16GB. Обе DRAM имеют одинаковую частоту 2666 МГц, одинаковую пропускную способность PC4-21300 и одинаковую стоимость (на момент написания статьи), но при этом у них разные тайминги. Модель от GEIL имеет тайминги 19-19-19-43, а память от Patriot 15-17-17-35, поэтому последняя будет более предпочтительным и производительным вариантом, учитывая одинаковую частоту и стоимости памяти.
Что лучше – более высокая частота или более низкие тайминги?
Чтобы полноценно ответить на данный вопрос сначала нужно понять и принять аксиому – с повышением частоты, на которой функционирует ОЗУ, повышаются и задержки памяти. Если сравнивать характеристики разных модулей стандартов DDR3 и актуального DDR4, то можно заметить, что тайминги у DDR3 будут выше. Для примера возьмем игровую ОЗУ начального уровня Corsair ValueSelect DDR4 PC4-1700 2133 MHz, у которой тайминги 15-15-15, и обычную неигровую память Kingston ValueRAM DDR3 PC3-12800 1600 MHz – у неё тайминги 11-11-11. В первом случае мы наблюдаем более современный тип памяти DDR и более высокую частоту, а во втором случае ситуация обратная. Но здесь более высокая латентность может устранить разницу производительности.
Но это только в теории. Практика показывает, что на производительность в большей степени всё-таки влияет частота. В этом можно убедиться, если вручную уменьшить частоту памяти Corsair ValueSelect с 2133 МГц до 1600 МГц. Тайминги этого модуля также уменьшатся, но при этом понизится и производительность. Выходит, что частота влияет на производительность в большей степени, но в любом случае, если выбор стоит между планками с одинаковой частотой, то лучше выбирать ту, у которой меньшие задержки.
Любая программа на ПК использует для работы оперативную память, RAM. Ваша RAM работает на определённой скорости, заданной производителем, но несколько минут копания в BIOS могут вывести её за пределы стандартных спецификаций.
Да, скорость работы памяти имеет значение
Каждая запускаемая вами программа загружается в память с вашего SSD или жёсткого диска, скорость работы которых гораздо ниже, чем у памяти. После загрузки программа обычно остаётся в памяти некоторое время, и CPU получает к ней доступ по необходимости.
Улучшение скорости работы памяти может напрямую улучшить эффективность работы CPU в определённых ситуациях, хотя существует и точка насыщения, после которой CPU уже не в состоянии использовать память достаточно быстро. В повседневных задачах несколько дополнительных наносекунд не принесут вам особой пользы, но если вы занимаетесь обработкой больших массивов чисел, вам может помочь любое небольшое увеличение эффективности.
В играх скорость RAM может ощущаться гораздо сильнее. У каждого кадра есть только несколько миллисекунд на обработку кучи данных, поэтому если вы играете в игру, зависящую от скорости CPU (к примеру, CSGO), ускорение памяти может увеличить частоту кадров. Посмотрите на это измерение скорости от Linus Tech Tips:
Средняя частота кадров вырастает на несколько процентов с увеличением скорости RAM, когда большую часть работы делает CPU. Сильнее всего скорость памяти проявляется на минимальном показателе частоты; когда загрузка новой области или нового объекта должна произойти за один кадр, он будет прорисовываться дольше обычного, если будет ожидать загрузки данных в память. Это называется «микрозаикание», или «фриз», и игра может производить впечатление заторможенности даже при хороших показателях средней частоты кадров.
Разгонять память не страшно
Разгонять память совсем не так страшно, как разгонять CPU или GPU. Разгоняя CPU, вы должны следить за его охлаждением, за тем, справится ли охлаждение с увеличением частоты. Работать CPU или GPU могут гораздо громче, чем обычно [видимо, имеется в виду работа кулеров / прим. перев.].
Память не особенно перегревается, поэтому разгонять её довольно безопасно. Даже на нестабильных частотах худшее, что может произойти – это выявление ошибки при тесте на стабильность. Однако если вы проводите эти эксперименты на ноутбуке, вам нужно убедиться, что вы сможете очистить CMOS (восстановив настройки в BIOS по умолчанию), если что-то пойдёт не так.
Скорость, тайминги и CAS-латентность
Скорость работы памяти обычно измеряют в мегагерцах, МГц [так в оригинале; конечно, в герцах измеряют частоту, а частота влияет на скорость работы / прим. перев.]. Это мера тактовой частоты (сколько раз в секунду можно получить доступ в память), совпадающая с мерой скорости CPU. Стоковая частота DDR4 (современного типа памяти) обычно составляет 2133 МГц или 2400 МГц. Однако на самом деле это немного маркетинг: DDR обозначает «удвоенную скорость данных», то есть что память читает и пишет дважды за один такт. Так что на самом деле её скорость составляет 1200 МГц, или 2400 мегатактов в секунду.
Но большая часть DDR4 RAM работает на 3000 МГц, 3400 МГц или выше – благодаря XMP (Extreme Memory Profile). XMP, по сути, позволяет памяти сообщить системе: «Да, я знаю, что DDR4 должна поддерживать частоту до 2666 МГц, но почему бы тебе не ускорить меня?» Это ускорение из коробки, предварительно настроенное, проверенное и готовое к запуску. Оно достигается на уровне железа, при помощи чипа на памяти под названием Serial Presence Detect (SPD), поэтому на одну планку может быть только один профиль XMP:
У каждой планки памяти есть несколько встроенных вариантов тактовой частоты; стоковый вариант использует ту же самую систему SPD под названием JEDEC. Любая частота, превышающая скорость JEDEC, считается разгоном – то есть, XMP получается просто профилем JEDEC, разогнанным на заводе.
Тайминги RAM и CAS-латентность – два разных способа измерять скорость памяти. Они измеряют задержку (то, насколько быстро RAM реагирует на запросы). CAS-латентность – это мера того, сколько тактов проходит между командой READ, отправленной в память, и получением процессором ответа. Её обычно обозначают «CL» и указывают после частоты памяти, например: 3200 Mhz CL16.
Она обычно связана со скоростью работы памяти – чем больше скорость, тем больше CAS-латентность. Но CAS-латентность – лишь один из множества разных таймингов и таймеров, с которыми работает RAM; все остальные обычно просто называются таймингами памяти. Чем меньше тайминги, тем быстрее будет ваша память. Если вам захочется подробнее узнать о каждом из таймингов, прочитайте руководство от Gamers Nexus.
XMP не будет делать всё за вас
Вы можете купить планку памяти от G.Skill, Crucial или Corsair, но эти компании не производят сами чипы DDR4, лежащие в основе RAM. Они покупают чипы у фабрик, изготавливающих полупроводниковые устройства, что означает, что вся память на рынке происходит из небольшого количества главных точек: Samsung, Micron и Hynix.
Кроме того, модные планки памяти, которые помечаются как 4000 МГц и выше, и у которых заявлена низкая CAS-латентность, на самом деле не отличаются от «медленной» памяти, стоящей в два раза дешевле. Оба варианта используют чипы памяти Samsung B-die DDR4, просто у одного из них золотистый радиатор, цветные огоньки и украшенный стразами верх (да, это реально можно купить).
Приходя с фабрики, чипы подвергаются проверкам при помощи процесса под названием «биннинг». И не вся память показывает наилучшие результаты. Некоторые чипы хорошо ведут себя на частотах 4000 МГц и выше с низкой CAS-латентностью, а некоторые не работают выше 3000 МГц. Это называется кремниевой лотереей, и именно она повышает цену на высокоскоростные планки.
Но заявленная скорость не обязательно ограничивает реальный потенциал вашей памяти. Скорость XMP – это просто рейтинг, гарантирующий, что планка памяти будет работать на указанной скорости 100% времени. Тут играют большую роль маркетинг и сегментация продуктов, чем ограничения RAM; никто не запрещает вашей памяти работать за пределами спецификаций, просто включить XMP легче, чем разгонять память самому.
Также XMP ограничен определённым набором таймингов. Согласно представителям Kingston, в памяти «настраиваются только ’основные’ тайминги (CL,RCD,RP,RAS)», и поскольку у SPD есть ограниченное место для хранения профилей XMP, всё остальное решает материнская плата, которая не всегда делает верный выбор. В моём случае материнка Asus в режиме «авто» установила очень странные значения некоторых таймингов. Моя планка памяти отказалась работать по умолчанию, пока я не исправил эти тайминги вручную.
Кроме того, биннинг на фабрике жёстко задаёт диапазон напряжения, в котором должна работать память. К примеру, фабрика протестирует память с напряжением в 1,35 В, не будет продолжать тест, если память не покажет максимальных результатов, и даст ей метку «3200 МГц», под которую попадает большинство планок. Но что, если запустить память с напряжением в 1,375 В? А 1,39 В? Эти цифры еще очень далеки от опасных для DDR4 напряжений, но даже небольшой прирост напряжения может помочь значительно увеличить частоту памяти.
Как разгонять память
Самое сложное в разгоне памяти – определить, какие частоты и тайминги нужно использовать, поскольку в BIOS есть более 30 различных настроек. К счастью, четыре из них считаются «основными» таймингами, и их можно подсчитать при помощи программы Ryzen DRAM Calculator. Она предназначена для систем на базе AMD, но будет работать и для пользователей Intel, поскольку в основном предназначена для расчётов таймингов памяти, а не CPU.
Скачайте программу, введите скорость памяти и тип (если он вам неизвестен, то быстрый поиск серийного номера в Google может выдать вам результаты). Нажмите кнопку R-XMP для загрузки спецификаций, и нажмите Calculate SAFE [безопасный вариант] или Calculate FAST [быстрый вариант], чтобы получить новые тайминги.
Эти тайминги можно сравнить с прописанными спецификации при помощи кнопки Compare timings – тогда вы увидите, что на безопасных настройках всё немножечко подкручено, а основная CAS-латентность уменьшена на быстрых настройках. Будут ли у вас работать быстрые настройки – вопрос удачи, поскольку это зависит от конкретной планки, но у вас, вероятно, получится заставить память работать с ними в безопасном диапазоне напряжений.
Скриншот программы лучше отправить на другое устройство, поскольку вам понадобится редактировать настройки таймингов в BIOS компьютера. Затем, когда всё работает, вам нужно будет проверить стабильность разгона при помощи встроенного в калькулятор инструмента. Это процесс долгий, и вы можете прочитать наше руководство по разгону памяти, чтобы узнать все его подробности.