Найти тему
Народный ДОобЗОР

Выбираем оперативную память: почему тайминги важнее частоты

Оглавление

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

Предисловие

В одной из предыдущих статей (Оперативная память: почему возникают ошибки? Разбираемся с работой ОЗУ) я рассказал про принцип работы оперативной памяти и чуть-чуть затронул физику процесса. Настало время подняться на более высокий уровень абстракции и поговорить об ОЗУ как о составном модуле любого компьютера или сервера. И речь пойдёт о самом главном - скорости работы.

В статье О выборе процессора мы выяснили, что оперативная память является узким местом производительности всей системы. И действительно, чем выше скорость взаимодействия ЦПУ и ОЗУ - тем большее количество данных сможет обработать многоядерный процессор. Поэтому, в первую очередь нас интересует 2 параметра: частота оперативной памяти и её тайминги. Давайте сперва разберёмся с частотой.

Какую выбрать частоту оперативной памяти?

Сразу отвечу, что в большинстве случаев, чем выше частота - тем быстрее скорость обмена данными (ну почти). Но не стоит забывать, что выбранную частоту ОЗУ должна поддерживать и материнская плата, и процессор.

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

Помните, в статье "почему возникают ошибки в ОЗУ" мы затрагивали понятие паразитной ёмкости, которая "заваливает" фронты импульсов (цифровых сигналов)? Вот небольшая усовершенствованная диаграмма из той статьи:

Паразитная ёмкость негативно сказывается на цифровом сигнале: помимо завала фронтов, сигнал не успевает преодолеть порог срабатывания логической единицы (Uлог.1). Если же увеличить частоту в два раза - ситуация будет ещё хуже.
Паразитная ёмкость негативно сказывается на цифровом сигнале: помимо завала фронтов, сигнал не успевает преодолеть порог срабатывания логической единицы (Uлог.1). Если же увеличить частоту в два раза - ситуация будет ещё хуже.

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

Если же главной целью является надёжность работы и отказоустойчивость - не грех будет и работать на более низких частотах. В прочем, никто не мешает взять ОЗУ на 3200 МГц и понизить её работу до 2133 МГц, "растянув" импульс каждого сигнала. Это позволит снизить шанс возникновения ошибок.

Какие тайминги нужны для быстрой работы оперативки?

Опять же, в предыдущей статье мы затронули тему таймингов и определили, что тайминги - это требуемое количество тактов на обеспечение работы модуля ОЗУ (выбор адреса, перезаряд ячеек ёмкости и т.п.). Кратко вспомним основные тайминги:

CAS Latency (CL) - количество тактов между отправкой команды на чтение/запись и её выполнением;

RAS to CAS Delay (tRCD) - количество тактов, требуемое для организации доступа к ячейке;

RAS Precharge (tRP) - количество тактов, которое требуется для перехода к следующей ячейке данных (прежде чем читать данные из следующей ячейки, текущую надо дозарядить и закрыть);

Row Activate Time (tRAS) - количество тактов, отведённое контроллеру памяти для работы с данными.

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

Условная временная диаграмма работы оперативной памяти с указанием задержек
Условная временная диаграмма работы оперативной памяти с указанием задержек

Сильно упрощая, можно утверждать, что tRCD - это количество тактов между началом передачи адреса строки и началом передачи адреса столбца, CL - задержка между началом передачи адреса столбца и началом появления данных на шине данных, а tRP - задержка между "закрытием" одного адреса и началом открытия следующего адреса.

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

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

Что лучше, 3200МГц и тайминги 18-22-22-42, или же 3600МГц и тайминги 20-26-26-46?

В качестве сравнения взял модули Patriot Viper Elite (PVE2416G320C8K) и Patriot Viper Elite II (PVE2416G360C0K). Мы предположим, что обе планки оперативной памяти завелись на максимальных для них частотах. Я воспользуюсь калькулятором, который позволяет сразу перевести количество тактов на определённой частоте во временной интервал. Получается:

18 тактов при 3200 МГц = 11,25нс

20 тактов при 3600 МГц = 11,11нс

Выходит, что вариант 3600 МГц и тайминги 20-26-26-46 несколько быстрее, если говорить о CAS Latency (CL). Но таймингов ведь много, предлагаю "на шару" сложить все "тики" и сравнить общие цифры.

18+22+22+42=104 тактов; при 3200 МГц = 65,00 нс

20+26+26+46=118 тактов; при 3600 МГц = 65,55 нс

Получается, что если мы будем постоянно что-то переписывать, вариант с частотой 3200 МГц даеж чуть-чуть быстрее, так как у модели с частотой 3600 МГц тратится больше тактов на tRP и tRCD.

"Очевидные" параметры при выборе оперативной памяти

Не стану в деталях расписывать, но есть стандарты DDR2 и DDR3, которые уже морально устарели и покупать их для новых сборок в большинстве случаев нецелесообразно, есть DDR4 и DDR5. Все они отличаются скоростными характеристиками и типом разъёма. Про DDR5 обязательно поговорим в отдельной статье, до которой у меня всё никак не дойдут руки, а чтобы не пропустить свежий выпуск - не забудьте подписаться на канал.

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

Также существуют DIMM и SO-DIMM модули, отличающиеся форм-фактором. В обычных ПК и серверах, как правило устанавливаются DIMM, а SO-DIMM - прерогатива компактных решений и ноутбуков:

Отличие DIMM от SO-DIMM модуля
Отличие DIMM от SO-DIMM модуля

Про путаницу с реальной и "эффективной" частотой ОЗУ

DDR расшифровывается как Double Data Rate, что означает удвоенную передачу данных за один такт. Это обеспечивается за счёт передачи данных не только по восходящему фронту тактового сигнала, но и по нисходящему:

Отличия DDR от SDR заключаются в удвоенной скорости передачи сигнала
Отличия DDR от SDR заключаются в удвоенной скорости передачи сигнала

Обратите внимание, по стандарту DDR мы смогли передать одни и те же данные в два раза быстрее, чем по стандарту SDR (single data rate), хотя частота тактового сигнала не изменилась.

Таким образом, имея частоту шины 1600 МГц, данные могут передаваться с удвоенной скоростью, словно частота составляет 3200 МГц. Именно поэтому многие программы для анализа железа, из которого собран ПК, могут показывать "заниженную" в два раза частоту, которая на самом деле и является реальной.

Двухканальный режим работы - важная составляющая для высокой производительности

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

Обобщённая структура взаимодействия процессора и оперативной памяти
Обобщённая структура взаимодействия процессора и оперативной памяти

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

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

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

На материнской плате MSI модули выделены цветом - для двухканального режима необходимо установить по одной плашке оперативной памяти в чёрные слоты
На материнской плате MSI модули выделены цветом - для двухканального режима необходимо установить по одной плашке оперативной памяти в чёрные слоты
Скриншот из описания на материнскую плату AsRock - красным я выделил слоты, в которые необходимо установить ОЗУ для двухканального режима.
Скриншот из описания на материнскую плату AsRock - красным я выделил слоты, в которые необходимо установить ОЗУ для двухканального режима.

В большинстве "бытовых" ПК отсутствует четырёхканальный режим ОЗУ, хотя в процессорах для серверов и рабочих станций это не редкость. Спросите, а зачем же 4 слота? Да просто чтобы можно было установить побольше ОЗУ, если того требует ситуация. Но важно заметить, что производительность это никак не повышает. Более подробно мы ещё поговорим в будущей статье, посвящённой выбору материнских плат.

Заключение

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

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

Двухканальный режим работы позволяет повысить общую производительность всей ОЗУ в два раза, но для этого требуется правильно установить планки в материнскую плату. Кроме того, вся система заработает с параметрами наихудшей памяти: если установить модуль на 3600 МГц в пару с модулем на 2133 МГц, обе планки будут работать с частотой 2133 МГц.

И главное - не надо устанавливать модули с разным объёмом памяти бездумно. Для исключения каких-либо вопросов, я бы рекомендовал устанавливать оперативную память попарно и одинакового объёма.

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

Если у Вас возникнут какие-либо вопросы, либо Вы заметили неточность в статье - обязательно пишите об этом в комментариях! До новых встреч!)