Тайминги озу все выше и выше, что делать?

Виктор

Полковник
XL-GAMES
Админ
14 Сен 2014
491
159
1.379
28
Москва
Battlelog
[BL]
#1
Не знаю, гоните ли вы ОЗУ, или покупаете новую и не знаете что такое тайминги, а в интернете пишут, что это "количество тактов между выполнением команд", и становится еще непонятнее, а в интернете всех вокруг пугают, что при разгоне памяти повысятся тайминги=>задержки памяти=>ваш i7 8700k превратится в атлон 64..
Итак, имеем, например, озу DDR4 2400 MHz с таймингами 14-14-14-14-28. (ddr4 2400cl14), и нам нужно понять насколько она быстрее нашей ddr3 1600 cl10-10-10-24 (условно объем памяти и количество каналов и ранговость одинаковые).
Прошу сразу заметить, что нельзя сразу точно сказать что лучше именно для тебя:частота или тайминги, так как эти вещи зависят друг от друга, и их изменение дает различный результат на разном железе.
Cl-cas latency. Самый первый и один из самых важных таймингов. Он определяет время задержки в тактах между обращением процессора к озу и получением данных из ОЗУ.
Очевидно,что частота 2400 гораздо выше,чем 1600, однако тайминги памяти также в процентном соотношении выше примерно на столько же, и что это значит?
Оперативная память работает посредством выполнения команд: грубо говоря она находит нужное место (банк, строку, столбец) и читает/записывает данные, затем идет команда на закрытие банка и заряд и открытие следующего, и так далее. А тайминги как раз являются задержками между этими самыми командами на закрытия/открытия и прочую хрень, а сама цифра измеряется не во времени, а в тактах(в тех самых тактах из тактовой частоты).
Однако 2400мгц в double-data памяти (DDR) является эффективной частотой для исполнения команд на чтение и запись данных(на то она и "дабл дата"), но не является частотой выдачи команд, выдача команд у нас происходит на реальной частоте 2400/2=1200mHz. (1600/2=800mHz для ддр3).

Как же узнать, насколько увеличилась задержка в ддр4 относительно ддр3?
Очень просто, математика вам в руки!
Берем временной интервал, который нам удобен. Секунда. 1000ms.
Получаем:
Задержка Ddr4=(1000ms/1200mhz)*cl14 = 11,666ns.
Задержка Ddr3= (1000/800)*10 = 12.5ns
На сколько ddr3 быстрее отправит данные процессору? 11,666 - 12.5 = -0.834ns
Да-да, это не опечатка, там минус. То есть при более высоких задержках(на 40%) ddr4 2400 все равно отправит данные процессору быстрее.
По этой формуле вы можете посчитать задержки у себя, например, при разгоне.

А стоит ли гнать память, если у меня задержки немного увеличатся, но и частота вырастет? Это зависит от твоего процессора.
Например, если у тебя процессор без L3-кеша, либо его объем очень мал(менее 6мб), то будут возникать частые промахи по кешам l1, l2 и l3(при наличии), и процессору придется часто обращаться к медленной(относительно кешей) ОЗУ, что приведет к статтерам в играх, и тут спасет снижение задержек.
Если же у вас процессор с большим объемом кеша L3, то тогда можно добавить частоты взамен на повышение таймингов и задержек, и вы все равно выиграете, так как задержка на запись/чтение в соседние банки в памяти Ddr происходит без учета задержки CL, то есть в CL раз быстрее.
Например, на моем райзене 16мб кеша l3, и это значит,что лишних срочных обращений к памяти у меня будет минимальное количество, и я могу пожертвовать таймингами очень сильно ради частоты памяти, которая даст мне буст медленной шины infinity fabric.и ускорит обмен данными между блоками процессора, и вырастет фпс в играх.
У меня задержка повысится при повышении таймингов с 14 до 16 даже при разгоне памяти с 3200 до 3600, и только на 3733 разгон оправдает себя в плане задержек, однако в плане частоты он себя оправдывает в любом случае.
 
Последнее редактирование: