Оперативная память 1t или 2t. Разгон — это просто: оперативная память

Здравствуйте, дорогие друзья. С вами Артём.

Что такое тайминги оперативной памяти? Вот об этом и сегодня и поговорим.

Видео версия статьи:

Тайминги, как и другая полезная информация маркируется на корпусе планки оперативной памяти.

Тайминги состоят из группы цифр.

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

Указание только CL, а данном случае CL9

Что такое CL тайминг вы узнаете по ходу статьи.

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

Любая оперативная память DDR (1,2,3,4) имеет одинаковые принципы работы.

Память имеет определённую частоту работы в МГц и тайминги.

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

Соответственно получаются меньше задержек при считывании и записи информации в оперативную память.

Наибольшее распространение получил тип памяти DDR SDRAM , который имеет ряд особенностей.

Частоты:

С контроллером памяти она (память) общается на частоте в половину меньшей, чем та, которая указана на маркировке плашки оперативной памяти.

Например, DDR3 работающая на частоте 1866 МГц в диагностических программах, например, CPU-Z будет отображена как 933 МГц.

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

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

Данные передаются по 2 бита на один синхроимпульс, как по фронту, так и по спаду тактового импульса, что и удваивает эффективную частоту работу памяти.

P . S . Частота оперативной памяти складывается из коэффициента умножения (множителя) на частоту системной шины.

Например, частота системной шины процессора 200 МГц (какой ни будь Pentium 4), а множитель=2, то результирующая частота памяти будет 400 МГц (800 МГц эффективная).

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

P .S. Все манипуляции по частотам, таймингам и напряжениям производятся в BIOS (UEFI) материнской платы.

Тайминги:

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

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

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

Тайминги обозначаются цифрами, например, 10-11-10-30 .

DDR3 1866 МГц 9-9-9-10-28 будет быстрее чем DDR3 1866 МГц 10-11-10-30 .

Если обратиться к базовой структуре ячейки памяти, то получится вот такая табличная структура.

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

Что же конкретно обозначают цифры таймингов?

Обратимся к примеру, выше DDR 3 1866 МГц 10-11-10-30.

Цифры по порядку:

10 – это CAS Latency (CL )

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

Чем меньше первая цифра из таймингов, тем она быстрее.

CL указывает на количество тактовых циклов, необходимых для выдачи запрашиваемых данных.

На рисунке ниже вы видите пример с CL =3 и CL =5 .

В результате память с CL =3 на 40% быстрее выдаёт запрашиваемые данные. Можно даже посчитать задержку в нс (наносекунда = 0,000000001 с).

Чтобы вычислить период тактового импульса для оперативной памяти DDR3 1866 МГц, нужно взять её реальную частоту (933 МГц) и воспользоваться формулой:

T = 1 / f

1/933 = 0,0010718113612004 секунды ≈ 1,07 нс.

1,07*10(CL) = 10,7 нс. Таким образом для CL10 оперативная память задержит выдачу данных на 10,7 наносекунды.

P . S . Если последующие данные располагаются по адресу следующему за текущем адресом, то данные не задерживаются на время CL, в выдаются сразу же за первыми.

11 – это RAS to CAS Delay (tRCD)

Сам процесс доступа к памяти сводится к активации строки, а затем столбца с нужными данными. Данный процесс имеет два опорных сигнала – RAS (Row Address Strobe) и CAS (Column Address Strobe) .

Также величина этой задержки (tRCD ) является числом тактов между включением команды «Активировать (Active и командой «Чтение» или «Запись».

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

10 – это RAS Precharge (tRP )

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

Чем меньше эта задержка, тем быстрее запускается цикл чтения или записи данных, через команду « Active » .

P . S . Время которое проходит с момента запуска команды « Precharge » , до получения данных процессором складывается из суммы tRP + tRCD + CL

30 – это Cycle Time (tRAS) Active to Precharge Delay.

Если в память уже поступила команда « Active » (и в конечном итоге процесс чтения или записи из конкретной строки и конкретной ячейки), то следующая команда « Precharge » (которая закрывает текущую строку памяти, для перехода к другой) будет послана, только через это количество тактов.

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

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

Command Rate (CR , либо CMD ) , по умолчанию имеет значение 1 T – один такт, второе значение 2 T – два такта.

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

В этой статье я постарался объяснить всё более-менее доступно. Если, что, то всегда можно перечитать заново:)

Если вам понравился видео ролик и статья, то поделитесь ими с друзьями в социальных сетях.

Чем больше у меня читателей и зрителей, тем больше мотивации создавать новый и интересный контент:)

Также не забывайте вступать в группу Вконтакте и подписываться на YouTube канал.

Те, кто увлекаются оптимизацией работы компьютера по средствам настройки BIOS наверняка слышали о такой опции как Command rate. В некоторых модификациях BIOS она может называться DRAM Command rate. Из возможных значений, которые она может принимать значатся 1 (1T), 2 (2T) и Auto.

Довольно популярным вопросом является установка оптимального значения для Command rate. И чтобы ответить на него нужно разобраться в природе данного параметра.

За что отвечает DRAM Command rate?

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

Что лучше 1T или 2T?

Размышляя логически, можно прийти к выводу, что чем меньше задержка (время ожидания), тем больший объем данных можно обработать за одну и ту же единицу времени. То есть значение в 1T (такт) является наиболее оптимальным с точки зрения скорости работы памяти и компьютера в целом. Но вся загвоздка в том, что далеко не каждый модуль ОЗУ и контроллер памяти может работать стабильно с таким малым временем ожидания, как 1 такт. Возможны ошибки и потеря данных. Как следствие — нестабильная работа ПК, синие экраны смерти и так далее.

Для того, чтобы правильно принять решение об установке значения опции Command rate в BIOS, нужно изучить технические характеристики материнской платы и модулей памяти, установленные в каждом конкретном случае, на предмет поддержки работы в режиме задержки 1 такт.

На свой страх и риск можно попробовать установить значение 1T и посмотреть как будет работать компьютер. При появлении ошибок и сбоев DRAM Command rate нужно будет вернуть к значению 2T.

При значении в 2 такта память будет работать медленнее, стабильнее и с минимальным риском возникновения ошибок.

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

Значение AUTO позволяет компьютеру автоматически подобрать время задержки

Особый интерес представляет возможность повысить производительность системы с помощью настройки работы памяти (другой часто используемый термин "твикинг" памяти, от tweaking). Соответствующее иследование мы провели на примере платы Abit KX7-333 , как имеющей один из самых богатых наборов различных настроек памяти доступных через BIOS.

В тестовой системе было использовано следующее оборудование:

  • Материнская плата Abit KX7-333;
  • 256 Мбайт PC2100 DDR SDRAM, производства Samsung;
  • Процессор AMD Athlon XP 1600+
  • Видеокарта MX440 на чипе NVidia GeForce4 64Mb (NVIDIA Detonator v28.32);
  • Звуковая карта Creative Live 5.1;
  • Жесткий диск IBM DTLA 307030 30Gb;
  • блок питания PowerMan 250W;
  • Операционная система Windows 2000 English SP1

Для демонстрации возможностей тонкой настройки памяти использовался тест Sisoft Sandra 2002 и игра Quake3 (производительность которой очень сильно зависит от пропускной способности памяти). Для большей наглядности я буду изменять каждый параметр отдельно и приводить значение производительности.

Тест с установками по умолчанию

Итак, начальные параметры:
  • CAS Latency = 2.5Т
  • Bank Interleave = Disable
  • DRAM Command Rate = 2T
  • Trp = 3T
  • Tras = 6T
  • Trcd = 3T
  • Частота FSBЧастота работы памяти = 133Мгерц133Мгерц
Тест Значение
Sandra (Int) 1907
Sandra (Float) 1776
Quake3 (Fastest) 218,1 fps

Bank Interleave - 2 Bank

Изменяем параметр Bank Interleave, устанавливаем значение 2 Bank. Вообще этот параметр предназначен для управления доступом к открытым банкам памяти. Возможные значения: None, 2 Bank, 4 Bank (иногда 2-Way/4-Way). Наиболее производительным является 4 Bank.

DRAM Command Rate - 1Т

Далее изменяем параметр DRAM Command Rate. Устанавливаем значение 1Т, при этом оставляем Bank Interleave равным 4 Bank. Параметр DRAM Command Rate появился еще в чипсете KT266. С его помощью мы можем вручную изменять задержки при передачи данных между чипсетом и памятью. Возможные значения 2T, 1T (наиболее быстрым является 1Т). Отметим, что это один из тех параметров, которые существенно влияют на производительность подсистемы памяти.

Тест Значение
Sandra (Int) 1965
Sandra (Float) 1864
Quake3 (Fastest) 235,0 fps

CAS Latency - 2Т

Следующим изменяем параметр CAS Latency. Устанавливаем значение 2Т, при этом остальные настройки не трогаем (т.е. Bank Interleave=4 Bank, DRAM Command Rate=1Т). CAS Latency - это то количество тактов, через которое память реагирует на запрос чтения. Чем меньше это значение, тем лучше. Возможные варианты: 2.5Т, 2Т. Наиболее важный, с точки зрения производительности, параметр работы памяти.

Тест Значение
Sandra (Int) 2024
Sandra (Float) 1901
Quake3 (Fastest) 239,7 fps

Итак, мы имеем оптимально настроенную подсистему памяти, с точки зрения стабильности и скорости. Однако, если Вы имеете качественную память, то изменяя параметры Trp (Precharge to Active), Tras (Active to precharge) и Trcd (Active to CMD), мы можем получить еще небольшую прибавку в скорости.

Trp =2T, Tras=5T и Trcd=2T

Модуль памяти 256 Мбайт PC2100 DDR SDRAM, производства Samsung, за все время тестирования (был куплен в январе этого года) зарекомендовал себя самым положительным образом. Поэтому я смело установил следующие значения: Trp =2T, Tras=5T и Trcd=2T (значения по умолчанию 3Т, 6Т и 3Т).

Тест Значение
Sandra (Int) 2039
Sandra (Float) 1906
Quake3 (Fastest) 245,0 fps

Итак, после тонкой настройки памяти прирост производительности составил ~7.5 процентов по тесту Sandra и более 12 процентов в игре Quake3!

DDR333 (PC2700)

А теперь давайте посмотрим, что может дать установка памяти в режим DDR333 (или PC2700). Тестовый модуль памяти смог заработать на такой частоте только на следующих таймингах:

  • CAS Latency = 2Т
  • Bank Interleave = 4 Bank
  • DRAM Command Rate = 1T
  • Trp = 3T
  • Tras = 6T
  • Trcd = 3T
  • Частота FSB Частота работы памяти = 133Мгерц 166 Мгерц
Тест Значение
Sandra (Int) 2052
Sandra (Float) 1932
Quake3 (Fastest) 255,1 fps

Сводная таблица

Для более удобного восприятия этой информации, я оформлю результаты в виде таблицы:

No Частота
FSB MEM
(Мгерц)
Тайминги Sandra Quake3 (fps) Прирост в Q3(%) Частота
процеcсора
(рейтинг)
1 133133 Dis, 2T, 2.5T-3T-6T-3T 1907 / 1776 218,1 - XP 1600+
2 133133 2 Bank, 2T, 2.5T-3T-6T-3T 1911 / 1791 222,9 2,2 XP 1600+
3 133133 4 Bank, 2T, 2.5T-3T-6T-3T 1925 / 1806 227,3 4,2 XP 1600+
4 133133 4 Bank, 1T, 2.5T-3T-6T-3T 1965 / 1864 235,0 7,7 XP 1600+
5 133133 4 Bank, 1T, 2T-3T-6T-3T 2024 / 1901 239,7 9,9 XP 1600+
6 133133 4 Bank, 1T, 2T-2T-5T-2T 2039 / 1906 245,0 12,3 XP 1600+
7 133166 4 Bank, 1T, 2T-3T-6T-3T 2052 / 1932 255,1 16,9 XP 1600+
8 166166 4 Bank, 1T, 2T-3T-6T-3T 2426 / 2272 307,2 40,8 XP 2100+

Выводы

Стандартными настройками являются следующие параметры:

  • CAS Latency = 2Т
  • Bank Interleave = 4 Bank
  • DRAM Command Rate = 1T
  • Trp = 3T
  • Tras = 6T
  • Trcd = 3T

Поэтому конфигурации с 1 по 4 интересны только с теоретической точки зрения. Правда иногда неопытные сборщики не выставляют правильные параметры, и пользователь теряет значительную часть производительности. В другом случае, попытка сэкономить деньги на качестве оперативной памяти так же приводит к потере до 5-10% производительности. Причем это очень большие цифры; для примера разница в 5-10 fps в тесте Quake3 (Fastest), это разница между процессорами XP1600+ и XP1700+ (разница в рейтинге 100, в реальной частоте процессора - 66Mhz).

Обратите внимание на разницу в производительности 5 и 7 конфигурации, она приблизительно равна 6.5%. Это приблизительный прирост производительности при переходе на DDR333 (пример: апгрейд с KT266A на KT333).

Обращаем внимание на последнюю строчку - на показатели теста Sandra. Вот какой значительный прирост производительности можно получить, установив синхронный режим работы процессора и памяти (166 и 166 Mhz). Показатели теста Quake3 здесь беcполезны, так как процессор разогнан с 1400 до 1750 Mhz.

В этом режиме отсутствуют задержки при согласовании сигналов и, начиная с частоты 166 Мгерц, используется делитель 1/5 для частоты PCI (2/5 для AGP), что автоматически означает работу контроллера жестких дисков на стандартной частоте PСI (33 Mhz).

Естественно, весь этот материал имеет ценность только для компьютерного энтузиаста, цель которого - выжать максимум из имеющегося в наличии железа. А для большинства обычных пользователей, я думаю, вполне достаточно знать то, что можно установить все тайминги в значения, определенные производителем памяти. Для этого предназначен параметр "DRAM Timing". Возможные значения: "Manual" - параметры устанавливаются вручную, "By SPD" - устанавливаются по умолчанию (SPD = Serial Presence Detect). Конечно, производители памяти немного подстраховываются и несколько завышают тайминги работы. В результате производительность несколько меньше, чем при ручной установке параметров.

Как может заметить читатель, я изменял не все имеющиеся в нашем распоряжении параметры. А параметров работы памяти у платы Abit KX7-333 наибольшее количество (больше чем у плат Epox). Скажу следующее - все рассмотренные параметры есть практически в каждой плате среднего и высшего класса, этакий "джентльменский набор". Другие параметры (за исключением Queue Depth) - это довольно специфические параметры, которые слабо влияют на производительность, но иногда очень полезные для улучшения стабильности работы памяти разных производителей (есть даже такие тонкости) и работы в разных конфигурациях модулей памяти.

И последнее. Для достижения стабильной работы при агрессивных (низких) таймингах очень полезно повышать напряжение на памяти (Vmem). Правда, при этом повышается тепловыделение, но для предотвращения перегрева можно использовать радиаторы для памяти.

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

Другие идентичные названия опции: DRAM 1T/2T Command, SDRAM Command Rate.

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

Для наилучшего понимания смысла рассматриваемой опции необходимо проследить процесс чтения данных из памяти. Изначальный запрос на чтение информации, посылаемый операционной системой контроллеру памяти, не содержит в себе точных «координат», уникального физического адреса запрашиваемых данных. Система передает лишь условное обозначение, виртуальный адрес, с которым начинает работать контроллер памяти, преобразуя его в физический адрес. В то же самое время контроллер выполняет активацию банка памяти, содержащего необходимую системе информацию. Это происходит через присвоение сигнала этому банку с помощью команды Chip Select. Результатом конвертации или декодирования виртуального адреса является необходимый физический адрес данных; после его получения контроллер приступает к выполнению команд чтения.

То есть, проще говоря, вместо немедленной инициализации операции чтения контроллер задерживается для проведения конвертации адресов. Интервал тайминга прямо пропорционален объему обрабатываемой памяти и количеству ее банков. Соответственно, при увеличении «объема работ» контроллеру для проведения данной операции потребуется больше времени.

Тайминг BIOS DRAM Command Rate предоставляет возможность пользователю самостоятельно определить интервал вышеописанной задержки, выбрав между значениями 1Т или 2Т (такт).

Стоит ли включать опцию?

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

В некоторых моделях и версиях BIOS встречается также третий вариант - Auto (или By SPD). Присвоение функции такого значения приведет к тому, что интервал будет взят из информации, запрограммированной производителем в микросхеме SPD (Serial Presence Detect).

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

Наконец мы подошли к самой главной части сегодняшнего обзора – разгону. Итак, первым делом давайте проверим, какую частоту покорит память при своем номинальном напряжении 1.65v и номинальных таймингах 7-7-7-20:

На 7-7-7-20 память разогналась с номинальных 1333 до 1630 МГц и стабильно отработала свои 30 минут в тесте. Это очень хороший результат, учитывая, что напряжение на память установлено всего 1.65v. На 6-6-6-18 разгон дал стабильные 1403 МГц. И на 8-8-8-24 частота составила 1835 МГц.

реклама

Теперь увеличим напряжение на память до 1.8v. В этом случае была принята обязательная мера - напряжение Uncore было поднято до 1.35v. Смотрим на диаграмму:

Ну что сказать, просто великолепный результат! Хотя подобного и следовало ожидать, т.к. чипы Micron очень хорошо отзываются на рост напряжения и могут довольно сильно прибавлять в разгоне. Подумайте только – 1516 МГц с таймингами 6-6-6-18 и всего при 1.8v! Не часто такое увидишь. На 7-7-7-20 стабильная частота составила 1750 МГц по сравнению со своей номинальной частотой в 1333 МГц. А вот на 8-8-8-24 результат получился очень странный: по сравнению со своими 1835 МГц, которые были получены при 1.65v – и при 1.8v разгон не принес совершенно никаких плодов. Немного забегая вперед, скажу, что и на 1.9v результат был такой же – те же 1835 МГц. Все это казалось очень странно, и я был уверен, что проблема кроется не в памяти, а в чем-то другом. После небольшого анализа все-таки удалось найти причину, по которой происходила подобная ерунда. Виноват оказался процессор, и все упиралось в частоту UCLK, а точнее в какую-то одну из ее составляющих - L3 кэш или контроллер памяти. Мне не удалось точно выяснить что именно, но подозрения пали на L3 кэш, т.к. увеличение напряжения на память совершенно не увеличивало разгон (это напряжение питает также и контроллер памяти в процессоре). А вот поднятие напряжения Uncore до 1.55v давало все же небольшую прибавку в разгоне UCLK и как следствие самой памяти. Правда эта прибавка была небольшой, всего 10 МГц, а повышать Uncore свыше 1.55v было уже довольно рискованно. К тому же увеличение этого напряжения дополнительно нагревало процессор, и не слабо – примерно + 3-4 градусов по Цельсию.