• Добро пожаловать Гость. Чтобы Вы могли воспользоваться системой заявок, на аренду сервера, на бан игроков, на разбан, Вы должны зарегистрироваться. Пройти регистрацию Форма для связи Обратная связь

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

Виктор

Майор
XL-GAMES
Админ игровых серверов
14 Сен 2014
476
154
979
27
Москва
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 разгон оправдает себя в плане задержек, однако в плане частоты он себя оправдывает в любом случае.
 
Последнее редактирование: