Тайминги оперативной памяти. Латентность оперативной памяти - что это такое? Стандартные тайминги

Что это такое и зачем эта характеристика нужна в компьютерных технологиях? Где она нашла своё применение? Как достичь наилучшего значения данной характеристики?

Об оперативной памяти

Так называют специальное устройство, в котором находятся данные и выполняются запущенные во время работы компьютера процессы. Благодаря скорости его действия оно выступает в качестве посредника между информацией, расположенной на жестком диске, и процессором. Самой понятной для большинства людей характеристикой является объем оперативной памяти. В данном случае работает правило, что чем её больше, тем для нас лучше. По факту сейчас для использования интернета, просмотра фильмов и работы с большинством полезных программ хватает 2 Гб. Но для оценки производительности используется и ряд других параметров, к примеру частота. Она указывает на то, сколько данных может быть переслано по шине за одну единицу времени. Чем большая частота, тем выше скорость передачи информации. Но необходимо учитывать, чтобы она также поддерживалась процессором и материнской платой. Или давайте возьмем другой параметр, не такой известный - латентность. Так называют временные задержки сигналов, которые идут от оперативного запоминающего устройства. Чем с меньшими показателями компьютер будет работать, тем лучший результат в плане оперативности в конечном счете получится.

Особенности латентности

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

Что собой представляет латентность памяти

Ещё немного теории. Так называют суммирование, которое проводится с использованием специального коэффициента неуправляемых обратных токов транзисторов, что входят в каждый чип используемой линейки памяти, а также время их переключения. Это может показаться сложным, но это обманчивое предположение. Так, латентность зависит от частоты, с которой работают чипы. Интересно то, что она не является пропорциональной. Иными словами: чем меньше латентность, тем лучше для пользователя. Давайте рассмотрим пример. Мы хотим, чтобы у нашего гипотетического была размером в два гигабайта. Мы можем поставить одну линейку, которая будет давать нам 2 Гб. Но это не самый оптимальный способ. В данном случае лучше всего будет установить четыре линейки, каждая по 512 Мб. При этом также следует учитывать и влияние материнской платы, а также типы используемой оперативной памяти. Модуль, выполненный на основании одной технологии, нельзя будет поставить на место, которое предназначено для другой технологии. Это реализовано для того, чтобы исключить повреждения при эксплуатации непредназначенного для данных условий механизма.

Обозначение

Если вы когда-нибудь рассматривали устройства, то могли увидеть что-то похожее на следующее: "Латентность оперативной памяти: CL9". Что это значит? Данный показатель указывает на конкретную задержку, которая происходит между началом отправки адреса столбца в память и, соответственно, фактической передачей данных. Цифра, которая указана, обозначает величину, необходимую для начала осуществления этого процесса. Чем она меньше, тем лучше для нас. Поэтому при выборе оперативной памяти всегда необходимо учитывать и эту величину.

Типы устройств

Для разделения по возможностям используется double data rate (DDR), что можно перевести как двойную скорость передачи данных. Самые первые образцы данной технологии имели по 184 контакта. Их стандартное напряжение питания было 2,5 В. Делает выборку в 2 бита данных за один такт. Но в наше время они считаются устаревшими и сейчас практически нигде и ни в каких условиях не используются. Более современным и самым распространённым считается DDR2. Она позволяет выбирать сразу 4 бита за один такт. Модуль выполняется в виде которая обладает 240 контактами (по 120 на каждую сторону). Стандартное напряжение питания для него составляет 1,8 В. Относительно новым считается DDR3. Он за один такт может делать выборку в 8 бит данных. Он также выполнен на печатной плате, которая имеет 230 контактов. Но стандартное питающее напряжение в данном случае составляет только 1,5 В. Также существует ещё и DDR4, но это новая технология, которую встретить ещё очень сложно.

Пропускная способность

Уже будем завершать статью про латентность оперативной памяти. Того, что было представлено ранее, уже достаточно, чтобы понимать основную массу информации об ОП. И как завершающий штрих - пропускная способность. Итак, в идеале величина этой характеристики со стороны оперативной памяти должна соответствовать размеру параметра у процессора. Рассмотрим этот вопрос, считая, что у нас упомянутый ранее двухканальный режим. У нас есть процессор, пропускная способность которого - 10600 Мб/с. Тогда мы можем установить модуль оперативной которого будут составлять 5300 Мб/с. В паре они обеспечат тот же самый размер пропускной способности. Но не забывайте о том, что модули должны быть одинаковой частоты. А оптимальным будет, чтобы они ещё и обладали одинаковым объемом, их изготовил один производитель, и они выпускались в рамках одной партии. Тогда латентность оперативной памяти будет стремиться к минимально возможному значению. Если говорить про то специально под эти случаи продают Kit. Так называют специальные наборы, которые оптимизированы уже для такой работы. Следует отметить, что можно использовать и память, пропускная способность которой выше, чем у процессора. Но на латентность это существенным образом не повлияет, даже если разница будет кратной.

Заключение

Как видите, латентность оперативной памяти - это очень важная характеристика. Особенно приятным является то, что на неё можно повлиять не только с аппаратной стороны, но и подбирая конфигурацию для своего компьютера. Но при этом всё же необходимо держаться в рамках разумного и в более чем четырехканальном режиме не работать. Нет, конечно, если есть желание, можно и с на 512 Мб собрать компьютер, который сможет похвастаться скоростью обработки в 8 Гб. Но эффективность такого хода будет довольно сомнительной. Лучше остановиться в таком случае на 4 платах, каждая из которых будет иметь 2 Гб.

#Тайминги #CL

Введение

Модули памяти DDR и DDR2 классифицируются по максимальной частоте, на которой они могут работать. Но, помимо частоты, есть и другие параметры, определяющие производительность памяти – это тайминги. Тайминги – это числа, такие как 2-3-2-6-T1, 3-4-4-8 или 2-2-2-5, чем меньше числа, тем лучше. Давайте разберемся, что обозначает каждая цифра этих чисел.

Модули памяти DDR и DDR2 маркируются по классификации DDRxxx/PCyyyy.

Первое число – xxx – указывает максимальную тактовую частоту, на которой могут работать чипы памяти. Например, максимальная частота, на которой могут работать модули DDR400 – 400 МГц, а модули DDR2-667 могут работать на частотах до 667 МГц. Нужно уточнить, что это не реальная тактовая частота ячеек памяти – их рабочая частота в случае с DDR равна половине, а DDR2 - четверти частоты, указываемой в маркировке модулей. То есть, модули памяти DDR400 работают на частоте 200 МГц, а модули DDR2-667 на частоте 166 МГц, но с контроллером памяти и DDR, и DDR-II сообщаются на половине частоты, указанной в маркировке (т.е. 200 и 333МГц, соотвественно), поэтому в дальнейшем именно такая частота будет подразумеваться под реальной рабочей.

Второе число – yyyy – указывает максимальную скорость передачи данных в МБ/с.

Максимальная скорость передачи данных у модулей DDR400 равна 3200 МБ/с, следовательно, их маркируют PC3200. Модули DDR2-667 передают данные со скоростью 5336 МБ/с, и их маркируют как PC2-5400. Как видите, после “DDR” или "PC" мы ставим цифру "2", чтобы указать, что речь идет о памяти DDR2, а не DDR.

Первая классификация – DDRxxx – является стандартной для классификации чипов памяти, вторая – PCyyyy – для модулей памяти. На рисунке 1 представлен модуль памяти PC2-4200 компании Corsair, который сделан на чипах DDR2-533.


Модуль памяти DDR2-533/PC2-4200

Максимальную рабочую частоту модуля памяти можно рассчитать по следующей формуле:

максимальная теоретическая скорость передачи данных = тактовая частота x число битов / 8

Так как DIMM модули передают одновременно 64 бита, то “число битов” будет 64. Так как 64 / 8 равно 8, то эту формулу можно упростить:

максимальная теоретическая скорость передачи данных = тактовая частота x 8

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

Например, Вы купили 2 модуля памяти DDR500/PC4000. Даже при том, что они маркированы как DDR500, в вашей системе они не будут автоматически работать на частоте 500 МГц. Это максимальная тактовая частота, которую они поддерживают, но она не всегда совпадает с той тактовой частотой, на которой они будут работать. Если Вы установите их в обычный персональный компьютер, поддерживающий модули DDR, то эти модули памяти будут работать на частоте 400 МГц (DDR400) – максимальной частоте стандарта DDR. При этом максимальная скорость передачи данных будет равна 3200 МБ/с (или 6400 МБ/с, если модули памяти работают в двухканальном режиме). Таким образом, модули не будут автоматически работать на частоте 500 МГц, и не достигнут скорости передачи данных в 4000 МБ/с.

Зачем же, в таком случае, такие модули покупают? Для разгона. Так как изготовитель гарантирует, что эти модули могут работать на частотах до 500 МГц, Вы знаете, что можно поднять частоту шины памяти до 250 МГц, и таким образом увеличить быстродействие компьютера. Но это можно будет сделать при условии, что материнская плата компьютера поддерживает такой разгон. Поэтому, если Вы не хотите «разгонять» свой компьютер, то бесполезно покупать модули памяти с маркировкой по тактовой частоте выше, чем обычная частота шины памяти материнской платы.

Для среднего пользователя этой информации о модулях памяти DDR/DDR2 достаточно. Продвинутому же пользователю нужно знать ещё об одной характеристике: темповости работы памяти, или, как ещё называют совокупность временных параметров работы памяти – тайминги, задержки или латентность. Рассмотрим эти параметры модулей памяти подробнее.

Тайминги

Именно из-за разницы в таймингах, 2 модуля памяти, имеющие одну и ту же теоретическую максимальную скорость передачи данных, могут иметь разную пропускную способность. Почему так может быть, если оба модуля работают на одной и той же частоте?

Для выполнения каждой операции чипу памяти нужно вполне определенное время – тайминги как раз и определяют это время, выраженное в количестве циклов тактовой частоты шины памяти. Приведем пример. Рассмотрим самый известный параметр, который называют CAS Latency (или CL, или "время доступа"), который указывает, через сколько тактовых циклов модуль памяти выдает запрошенные центральным процессором данные. Модуль памяти с CL 4 запоздает с ответом на 4 тактовых цикла, тогда как модуль памяти с CL 3 запаздывает на 3 тактовых цикла. Хотя оба модуля могут работать на одной и той же тактовой частоте, второй модуль будет работать быстрее, поскольку он будет выдавать данные быстрее, чем первый. Эта проблема известна под названием "время ожидания".

Тайминги памяти обозначаются рядом чисел, например, так: 2-3-2-6-T1, 3-4-4-8 или 2-2-2-5. Каждое из этих чисел указывают, за сколько тактовых циклов память выполняет определенную операцию. Чем меньше эти числа, тем быстрее память.


DDR2 модуль памяти с таймингами 5-5-5-15

Числа таймингов указывают параметры следующих операций: CL-tRCD-tRP-tRAS-CMD. Чтобы было понятнее, представьте себе, что память организована в виде двумерной матрицы, где данные хранятся на пересечении строк и столбцов.

CL : CAS Latency – время, проходящее с момента посыла команды в память до начала ответа на этот запрос. То есть это время, которое проходит между запросом процессора некоторых данных из памяти и моментом выдачи этих данных памятью.

tRCD : задержка от RAS до CAS – время, которое должно пройти с момента обращения к строке матрицы (RAS), до момента обращения к столбцу матрицы (CAS), в которых хранятся нужные данные.

tRP : RAS Precharge – интервал времени с момента закрытия доступа к одной строке матрицы и началом доступа к другой строке данных.

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

CMD : Скорость поступления команды (Command Rate) – время с момента активации чипа памяти до момента, когда можно будет обратиться к памяти с первой командой. Иногда этот параметр не указывается. Обычно это T1 (1 тактовый цикл) или T2 (2 тактовых цикла).

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

Конфигурирование таймингов памяти в настройках материнской платы

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

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

Возвращаясь к примеру с модулем памяти DDR500/PC4000 – даже при том, что с модулями DDR400/PC3200 Вы сможете достичь частоты в 500 МГц (250 МГц x2), для них, возможно, придется увеличить тайминги, в то время как для модулей DDR500/PC4000 изготовитель гарантирует, что Вы сможете достичь 500 МГц, сохранив указанные в маркировке тайминги.

CAS Latency (CL)

Как уже упоминалось выше, CAS Latency (CL) является очень важным параметром памяти. Он указывает, сколько тактовых циклов нужно памяти для выдачи запрашиваемых данных. Память с CL = 3 задержится с ответом на 3 тактовых цикла, а память с CL = 5 сделает то же самое только через 5 тактовых циклов. Таким образом, из двух модулей памяти, работающих на одной и той же тактовой частоте, тот модуль, у которого CL меньше, будет быстрее.

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

На рисунке 4 показан пример работы CL. На нем приведены 2 примера: для модуля памяти с CL = 3 и модуля памяти с CL = 5. Синим цветом обозначена команда "читать".

CAS Latency (CL)

Память с CL = 3 обеспечивает 40% преимущество по времени ожидания по сравнению с памятью с CL = 5, считая, что они обе работают на одной тактовой частоте.

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

Таким образом, период одного тактового цикла памяти DDR2-533, работающей на частоте 533 МГц (частота шины – 266,66 МГц) равен 3,75 нс (нс = наносекунда; 1 нс = 0,000000001 с). Имейте в виду, что при расчетах нужно использовать реальную тактовую частоту, которая равна половине номинальной частоты. Таким образом, память DDR2-533 задержит выдачу данных на 18,75 нс, если CL =5, и на 11,25 нс, если CL =3.

Память SDRAM, DDR и DDR2 поддерживает пакетный режим выдачи данных, когда задержка перед выдачей следующей порции данных составляет всего один тактовый цикл, если эти данные располагаются по адресу, следующему за текущим адресом. Поэтому, в то время как первые данные выдаются с задержкой на CL тактовых циклов, следующие данные будут выдаваться сразу же за первыми, не задерживаясь ещё на CL циклов.

Задержка от RAS до CAS (RAS to CAS Delay )

Каждый чип памяти внутренне организован как двумерная матрица. В каждом пересечении строк и столбцов имеется маленький конденсатор, который отвечает за сохранение “0” или “1” – единиц информации, или данных. Процедура доступа к хранящимся в памяти данным состоит в следующем: сначала активируется строка с нужными данными, затем столбец. Эта активация происходит по двум контрольным сигналам – RAS (Row Address Strobe) и CAS (Column Address Strobe). Чем меньше временной интервал между этими двумя сигналами, тем лучше, поскольку данные будут считываться быстрее. Это время называется задержкой от RAS до CAS (RAS to CAS Delay ). Это иллюстрирует рисунок 5 – в данном случае для памяти с tRCD = 3.

RAS to CAS Delay (tRCD)

Как видите, задержка от RAS до CAS является также числом тактовых циклов, проходящих с момента прихода команды “Active” (активировать) до команды "чтение" или "запись".

Как и в случае с CAS Latency, RAS to CAS Delay имеет дело с реальной тактовой частотой (которая равна половине маркировочной частоты), и чем меньше этот параметр, тем быстрее работает память, так как в этом случае чтение или запись данных начинается быстрее.

RAS Precharge (tRP)

После получения данных из памяти, нужно послать в память команду Precharge, чтобы закрыть строку памяти, из которой считывались данные, и разрешить активацию другой строки. RAS Precharge time (tRP) – временной интервал между командой Precharge и моментом, когда память сможет принять следующую команду активации – Active. Как мы узнали в предыдущем разделе, команда “active” запускает цикл чтения или записи.

RAS Precharge (tRP)

На рисунке 6 приведен пример для памяти с tRCD = 3.

Как и в случае с другими параметрами, RAS Precharge имеет дело с реальной тактовой частотой (которая равна половине маркировочной частоты), и чем меньше этот параметр, тем быстрее работает память, так как в этом случае команда “active” поступает быстрее.

Суммируя рассмотренное выше, получаем, что время, которое проходит с момента выдачи команды Precharge (закрыть строку и …) до фактического получения данных процессором равно tRP + tRCD + CL.

Другие параметры

Рассмотрим 2 других параметра – Active to Precharge Delay (tRAS) и Command Rate (CMD). Как и в случае с другими параметрами, эти 2 параметра имеют дело с реальной тактовой частотой (которая равна половине маркировочной частоты), и чем меньше эти параметры, тем быстрее память.

Active to Precharge Delay (tRAS): если в память поступила команда “Active”, то следующая команда “Precharge” не будет восприниматься памятью, пока не пройдет время равное tRAS. Таким образом, этот параметр определяет временной предел, после которого память может начать считывать (или записывать) данные из другой строки.

Command Rate (CMD) – отрезок времени с момента активации чипа памяти (прихода сигнала на вывод CS – Chip Select [выбор чипа]) до того как чип сможет принять какую-нибудь команду. Этот параметр обозначается буквой “T” и может принимать значения 1Т или 2T – 1 тактовый цикл или 2 тактовых цикла, соответственно.

Введение

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

И действительно, если уж в играх разница между скоростями одного и того же компьютера с 512 и 1024 Мб памяти на борту мизерная, может быть стоит поставить 512 Мб дорогой памяти, чем 1024 Мб дешёвой? Вообще-то, на производительность одного и того же модуля памяти влияют задержки, так называемые тайминги. Обычно производитель указывает их через дефис: 4-2-2-8, 8-10-10-12 и так далее. Оверклокерская память для энтузиастов обычно имеет низкие тайминги, но стоит весьма дорого. Обычная же память, которая просто работает стабильно и не обещает рекордов скорости, имеет более высокие тайминги. В этот раз мы выясним, что же это за тайминги такие, задержки между чем и чем и как они влияют на производительность компьютера!

Задержки памяти

С переходом индустрии на стандарт DDR-II многие пользователи сообщали, что память DDR-II работала не так быстро, как хотелось бы. Порой даже медленнее, чем память предыдущего поколения, DDR-I. Связывалось это именно с большими задержками первых модулей DDR-II. Что же это за задержки? Обычно они маркируются 4-4-4-12, четыре числа, записанных через дефис. Обозначают они следующее:

CAS Latency - RAS to CAS Delay - Row Precharge - Activate to Precharge

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

RAS (Row Adress Strobe) - сигнал, определяющий адрес строки.

CAS (Column Adress Strobe) - сигнал, определяющий адрес столбца.

CAS Latency (CAS)- это количество тактов от момента запроса данных до их считывания с модуля памяти. Одна из важнейших характеристик модуля памяти.

RAS to CAS Delay (TRCD) - задержка между сигналами RAS и CAS. Как мы уже сказали, обращения к строкам и столбцам происходят отдельно друг от друга. Этот параметр определяет отставание одного сигнала от другого.

Row Precharge Delay (TRP) - задержка, необходимая на подзарядку емкостей ячеек памяти. Производится или закрытие целой строки.

Activate to Precharge (TRAS) - время активности строба. Минимальное количество циклов между командой активации (RAS) и командой подзарядки (Precharge) или закрытия одного и того же банка.

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

Память для скорости

BIOS современных материнских плат позволяет вручную менять значения таймингов. Главное - чтобы модули памяти поддерживали эти значения. По умолчанию значения таймингов "прошиты" в SPD чипах модулей и материнская плата автоматически выставляет рекомендованные производителем значения. Но энтузиастам ничто не мешает снизить задержки вручную, немного разогнав память. Часто это приводит к нестабильной работе. Поэтому, чтобы сравнить влияние таймингов на скорость, мы возьмём очень быструю память и будем безопасно её затормаживать, меняя те или иные задержки.

Это современная платформа, рассчитанная на использование в компьютерах с высокой производительностью. Она построена на чипсете Intel i925X, который имеет поддержку памяти только DDR-2, и при том использует технологии оптимизации PAT. В этом компьютере очень хорошо просчитана вентиляция, так что за перегрев нам не пришлось бояться.

Тестовая система

  • Intel Pentium 4 2.8 GHz (800 MHz FSB, 1024 Kb L2, LGA 775)
  • 80 Gb Maxtor DiamondMax 9 (7200 RPM, 8 Mb) S-ATA
  • SAPPHIRE RX600 PRO 128 Mb PCI Express
  • Windows XP Professional (Eng.) SP2
  • CATALYST 5.3

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

    Синтетика

    • RightMark Memory Analyzer

      SiSoft Sandra 2005

    Эмуляция реальных задач

    • PCMark 2004 patch 120

  • Тест RealWorld

Ну что же, планов громадье! Начнём с синтетики.


Write to Read Turnaround Time (tW2R)
Время между записью и чтением, при чтении, прерываемой записью.
Особенность промежутка состоит в том, что для прерывания чтения нужно подать команду Burst Terminate, а минимальный промежуток от этой команды до процедуры записи называется RU(CL) (где CL - CAS Latency и RU - Round Up to the nearest integer, BST - Burst Terminate). Схема процедуры ниже:

Write to Read Turnaround Time for Same Bank (tW2RSame Bank)
Аналогичная предыдущей процедура, отличающаяся от нее только тем, что действие происходит в том же банке. Особенность задержки в том, что процедура записи, естественно, не может быть больше промежутка до перезарядки банка (tWR), то есть заканчиваться во время перезарядки.

Read to Read Turnaround Time (tR2R)
Задержка при прерывании операции чтения операцией чтения из другого банка.

Row Cycle Time, Activate to Activate/Refresh Time, Active to Active/Auto Refresh Time (tRC)
Время для автоматической подзарядки. Встречается в даташитах.

Auto Refresh Row Cycle Time, Refresh to Activate/Refresh Command Period, Refresh Cycle Time, Refresh to Active/Refresh Comand Period (tRFC)
Минимальный промежуток между командой на подзарядку (Refresh) и либо следующей командой на подзарядку, либо командой на активацию.

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

Практика
Итак, мы рассмотрели основные тайминги, которые могут чаще всего встретиться нам в программах или даташитах. Теперь, для полной картины, я расскажу, чем полезны тайминги в разгоне.

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

Что лучше - высокая частота или минимальные тайминги? На нашем ответ на этот вопрос звучит так:
"Есть мнение, что для Intel"а важнее тайминги, тогда как для AMD – частота. В частности, ALT-F13 (гуру с www.ModLabs.net) утверждает: "Лучший вариант для Intel – самые агрессивные тайминги. Настолько, что асинхрон с 2-5-2-2 рулит синхрон с 2.5-7-3-3 при любом FSB (то есть – 280 3-7-3-3 при 1:1 хуже, чем 230 2-5-2-2 при 5:4)".
При этом не стОит забывать, что для AMD чаще всего частота памяти важна не абы какая, а достигаемая в синхронном режиме."

Хотя на каждой системе результат будет разный. В-общем, экспериментируйте.

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


(Картинка с сайта www.thg.ru). Здесь тайминги приведены по значимости.

Я же решил исследовать влияние таймингов на своей системе.
Итак, вот она:

Система была оставлена "как есть". Видеокарта также не разгонялась. Испытания проводились в двух тестовых пакетах и в одной игре:

    3DMark 2001 patch 360, так как оценивает разгон каждого элемента системы, а не только видеокарты

    SiSoft Sandra 2001 SP1 - Memory Bandwidth Benchmark, оценивает пропускную способность памяти

    FarCry v.1.3 - Research Demo, использовался как реальное игровое приложение.

"Оверклокерская" для своего времени память NCP и сей раз не дала промаху и позволила запуститься на частоте 143МГц с таймингами 2-2-2-7! Но поменять последний параметр (Tras) память не дает ни по какому поводу, только с уменьшением частоты. Впрочем, это не самый важный параметр.





Как видите, понижение таймингов дает прирост производительности около 10%. И если на моей системе это не так заметно, то на более мощной различие уже становится очевидным. А если поменять еще тайминги на видеокарте, где разгон часто упирается не в память, а как раз в задержки, то труд будет более чем оправдан. А что именно меняете, теперь вы уже знаете.


Замечания по статье, как всегда, принимаю в

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

Структура памяти напоминает таблицу, где сначала выбирают строку, а затем столбец. Эта таблица разбита на банки, для памяти плотностью меньше 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 . Частота обновления памяти.

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