Ребят, пожалуйста помогите.
Привет! Хочу посмотреть на что способен мой ноутбук (clevo p775tm1-g, 9700k + 2 x Corsair Vengeance DDR4 3000MHz 8GB). На данный момент разбираюсь с памятью.
Изначально у меня были такие мысли:
Как подобрать тайминги\частоты RAM (и чем посоветуете проводить "предварительный тест")?
У памяти 10 доступных параметров-таймингов (tCL, tRCD/tRP, tRAS, tCWL, tFAW, tREF I, tRFC, tRRD, tRTP, tWR), частота и напряжение. Пока исключим напряжение из этого списка - допустим задача оптимизации проводится для дефолтных 1.2 В (или 1.35 В в крайнем случае). Так же допустим меня интересуют оптимальные тайминги для частот выше 2666 МГц: 2800, 3000, 3200, 3400, 3600.
Предположим что процедура оптимизации будет проходить так: берутся дефолтные заведомо рабочие значения и экстраполируются на выбранные частоты - тайминги измеряются в периодах T и соответсвенно с поднятием частоты f (с падением периода T = 1/f) для сохранения длительности тех или иных процессов определяемых таймингами значения таймингов должны быть подняты пропорционально.
Например : на частоте 2666 МГц память работает с таймингом tCL равным 18 что как я понимаю соответсвует длительности некоторго процесса связанного с этим таймингом t = tCL*T = 18 * (1/(2666 МГц/2) =~ 13.5 нс (здесь период расчитан для частоты 1333 МГц что соотвествует эффективной частоте 2666 МГц). Соответственно на частоте 3200 МГц память будет работать при тайминге которые обеспечит ту же длительность tCL = t / T = 13.5 пс / (1/(3200 МГц/2) =~ 21.6 -> 22.
Затем для одного из таймингов значение понижается а память тестируется ("на стабильность \ наличие ошибок"). Если тест прошел хорошо, значение опять понижается ("схождение") и так до достижения значения при котором тест проваливается (находит ошибки \ система не работает). Рабочим признается значение которое предшествовало нерабочему (+ можно добавить продленный тест для последнего принятого значения с откатом к более высоким значениям в случае провала "восхождение"). В случае таймингов с большими числами можно шаг "схождения" взять большим и по достижению "плохого значения при котором память не работает" устроить "бинарный поиск".
Такую процедуру повторить для всех таймингов. Так или иначе, оценочно можно предположить что придется попробовть 5 - 10 точек для каждого тайминга. И того выходит что для всех 5 частот и 10 таймингов мне бы пришлось провести в лучшем случае 5 * 10 * 5 = 250 тестов.
Я глянул MemTest86 - один полный "по умолчанию" прогон (а в сети рекомендуют другой сенарий тестов гораздо большей длительности) занимает у меня около 23 минут.
250 тестов (а это оценка снизу - на самом деле по каждому из таймингов прийдется пройти больше 5 точек) при 23 минутах длительности теста займет 96 часов ~ четверо суток без перерыва. Учитывая что : автоматизированых средств для такого у меня нет - и придется выставлять таймнги\запускать тест вручную а это тоже требует времени, мне каждые сутки минимум 10 часов нужно проводить вне компьютера и я не могу "просыпатся ото сна"\отрыватся от дел каждые 20 минут все это выглядит едва ли реализуемо.
И это если предположение о "независимости" таймингов корректно - что оптимизировать их можно по очереди. Если это не так, то сходится к оптимуму будет куда сложнее.
На мой взгляд тест "стабильности" можно укоротить (по крайней мере те тесты что будут использоваться во время "схождения", а 23 минутный тест оставить для "восхождения"). Часть таймингов вообще не оптимизировать (оставить экстраполированные значения).
Затем я лениво пролистнул форумы\мануалы и приянлся пробовать.
Несмотря на XMP профиль я решил начать с дефолтных 2666 МГц. Идея была такая - по очереди "оптимизировать" значение каждого тайминга для данной частоты: понижать на единицу и пробовать запустить систему (войти в виндовс); дойдя до значения при котором старт системы не происходит провести "бинарный поиск" в интервале значение при которых система стартовала. Каждое значение тестировать MemTest86 \ OCCT Linpack \ Prime 95 (поскольку прогноировалось протестировать кучу комбинаций параметров тест я значительно укоротил). Изначально я догадывался что не для всех таймингов оптимальным\лучшим значениям является минимум из стабильных но не разобравшись не придавал своей догадке большого значения. После того как значения для всех 10 доступных в моем Биосе таймингов были бы подобраны предпологалось провести длинное (на несколько часов) тестирование упомянутыми тремя стресс тестами и переход на частоты повыше (2800 \ 3000 \ 3200 \ 3400 \ ...). На частоте повыше отправной точкой предпологалось брать "экстраполированные значения" для таймингов как показано на примере выше.
Вот как я начал процесс оптимизации:
- спойлер
Код: Виділити все
FREQ 2666
!!!tCL:
Init: 18
Start: 17 16 15 14 13
Fail to start: 12
Prob: 18-13
(18+13)/2 = 15: MemTest86 1 pass OK / 10 min OCCT LinPack OK / Prime 95 Blend 10 min OK
->(13+15)/2 = 14: MemTest86 1 pass OK / 10 min OCCT LinPack OK / Prime 95 Blend 10 min OK
(13+14)/2 = 13: MemTest86 10 sec and found errors / Crash on Windows Start
!!!tRCD/tRP:
Init: 19
Start: 18 17 16 15 14 13
Fail to start: 12
Prob: 19-13
(19+13)/2 = 16: MemTest86 #1-#6 ~4min Ok / 6 min (1 test) OCCT LinPack OK / Prime 95 Blend 5 min (1 Test) OK
->(16+13)/2 = 14: MemTest86 #1-#6 ~4min OK / 6 min (1 test) OCCT LinPack OK / Prime 95 Blend 5 min (1 Test) OK
(14+13)/2 = 13: MemTest86 #1-#6 ~4min OK / 6 min (1 test) OCCT LinPack OK / Prime 95 Blend stoped 1 error
!!!tRAS:
Init: 39
Start: 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 .... it can go even lower but stop at (tRCD/tRP+tCL==28)
Prob: (39-28)
**But at first try the lowest one:
-> 28: MemTest86 #1-#6 ~6min OK / 6 min (1 test) OCCT LinPAck Ok / Prime 95 Blend 5 min (1 Test) OK
!!!tCWL:
Init: 18
Start: 17 16 15 14 13 12 11 10 9
Fail to start: 8
Prob: 18-9
**But at first try the lowest one:
-> 9: MemTest86 #1-#6 ~4min OK / 6 min (1 test) OCCT LinPAck Ok / Prime 95 Blend 5 min (1 Test) OK
!!!tFAW:
-> Init: 28
Start: 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3
!!!tREFI:
Init: 10400
!!!tRFC:
Init: 467
!!!tRRD:
Init: 14
!!!tRTP:
Init: 10
!!!tWR:
Init: 20
!!!tWTR:
Init:0
!!!NMode:
Init:2
+++++++++++++++++++++++++++++++++
Как видно остановился я на подборе "tFAW" поскольку система стартовала чуть ли при произвольном его значении (следует сказать что с tRAS было что то похожее, но во первых tRAS в CPUz почему то снижался только до 28 - в биосе ставил ниже а CPUz ниже 28 не показывал; во вторых в сети обнаружил рекомендацию\упоминания что ниже tCL+tRP либо нет смысла ставить либо всеравно будет выставлено это минимальное значение - я так и не понял). После этого я начал усиленно искать рекомендации\разьяснения по поиску оптимальных значений и в особенности "где искать оптимум - максимум\минимум и какие критерии этого оптимума". Тоесть мне нужно минимизировать\максимизировать тот или иной тайминг (понимаю что какой то нужно минимизировать а какой то максимизировать) или же вовсе руководствоватся бенчмарком (что требует немного больше времени и усилий).
Помогите пожалуйста и по возможности не сильно грузите тех. данными. Для начала мне бы хватило простого ответа - что из этих 10 параметров мнимизировать, что максимизировать а что нужно подбирать максимизруя результат бенчмарка. И\или укажите на несостоятельность такого подхода. Также возможно некоторые из упомянутых таймингов и вовсе жестко закреплены и мое вмешательство в них ничего не даст ( где то упоминалось что некоторые тайминги жестко привязанны к другим - тоесть их стоит задавать исходя из значений других таймингов по простой арифметической\алгебраической формуле).
СПАСИБО ЗА ВНИМАНИЕ. ОЧЕНЬ БЛАГОДАРЕН!!!
П.С. Дико извиняюсь за ошибки нудность и затянутость поста!!
П.С.С. Задал этот же вопрос на другом форуме - но я не уверен в советах которые мне там дают - пожалуйста прокоментируйте.
https://forum.ixbt.com/topic.cgi?id=27: ... 33wkPIQ#19