Five switch frequency signature что это
Как выбрать и настроить память для Ryzen 5000, чтобы не профукать 15 % FPS на ровном месте
⇡#Магия синхронизма: частота контроллера памяти и шины Infinity Fabric
Чтобы понять, что не так с режимом DDR4-4000 (и более скоростными) в Ryzen 5000, нужно немного углубиться в их внутреннее устройство. Процессоры этого семейства собраны из чиплетов двух типов – 7-нм восьмиядерных CCD-чиплетов, которые содержат внутри себя вычислительные ядра, и 12-нм чиплета IOD, в котором находятся контроллеры памяти, PCIe 4.0 и некоторых других внешних интерфейсов. Соединяются чиплеты между собой специальной 32-битной шиной Infinity Fabric, которая работает на своей независимой частоте.
Поскольку контроллер памяти в Ryzen физически оторван от процессорных ядер, он также имеет свою рабочую частоту. И в сумме всё это приводит к тому, что скорость работы подсистемы памяти определяется сразу тремя частотами: частотой модулей памяти, частотой контроллера памяти и частотой шины Infinity Fabric, связывающей контроллер с процессорными ядрами и L3-кешем.
Естественно, максимальная производительность всего этого комплекса достигается в том случае, когда Infinity Fabric, контроллер памяти и сама память работают синхронно, то есть на одинаковой частоте, однако добиться этого для любых вариантов модулей DDR4 SDRAM невозможно. Но AMD хотя бы постаралась, чтобы правило синхронного тактования соблюдалось в максимально возможном количестве случаев. И если в системе используется DDR4-3600 или менее скоростная память, то синхронность достигается автоматически. Но для более быстрых модулей памяти всё получается уже иначе.
Частота памяти (mclk) | Частота контроллера (uclk) | Частота Infinity Fabric (fclk) | |
---|---|---|---|
До DDR4-3600 | mclk до 1800 МГц | uclk = mclk | fclk = mclk |
DDR4-3600 | mclk = 1800 МГц | uclk = 1800 МГц | fclk = 1800 МГц |
После DDR4-3600 | mclk выше 1800 МГц | uclk = mclk/2 | fclk = 1800 МГц |
В таблице выше показано, как ведут себя частоты контроллера памяти и шины Infinity Fabric при переходе через режим DDR4-3600. В более скоростных режимах частота Infinity Fabric перестаёт расти вслед за частотой памяти и остаётся на отметке 1800 МГц, активируя асинхронность.
Что касается контроллера памяти, то его частота связана с частотой памяти, но он может работать как на частоте памяти, так и на половине её частоты. При этом есть и ещё одно условие: его частота не может быть выше частоты Infinity Fabric. В результате если частота Infinity Fabric перестаёт соответствовать частоте памяти, контроллер памяти вынужден переходить в более медленный режим половинной частоты. В итоге получается два принципиально различных варианта: либо всё работает синхронно и всё хорошо, либо все частоты, связанные с подсистемой памяти, выходят из связки, и это порождает дополнительные и довольно весомые задержки. Именно из-за них мы и наблюдаем снижение производительности Ryzen 7 5800X при установке в систему DDR4-4000.
Однако есть и ещё один важный нюанс. Описанная выше связь частот – это механизм, который реализован в системах на базе процессоров Ryzen 5000 по умолчанию. В действительности же у пользователя есть доступ как к изменению частоты Infinity Fabric вручную, так и к смене режимов тактования контроллера памяти – синхронно с модулями DDR4 SDRAM или на половинной частоте.
В результате пользователь сам может попытаться включить производительный синхронный режим для более быстрых, нежели DDR4-3600, вариантов памяти. И в ряде случаев это действительно работает. Так, благодаря ручной настройке частот с Ryzen 5000 может синхронно работать не только DDR4-3600, но и более быстрая DDR4-3800 (чем мы и воспользовались для тестов в предыдущем разделе). В этом случае достаточно вручную зафиксировать частоту Infinity Fabric на значении 1900 МГц, и это чаще всего будет работать без каких-либо проблем. Однако для более быстрых вариантов памяти, таких как DDR4-4000, добиться стабильности в синхронном режиме уже почти невозможно.
Когда AMD анонсировала процессоры семейства Ryzen 5000, она обещала, что с ними при удачном стечении обстоятельств сможет работать синхронно и DDR4-4000, то есть утверждалось, что частота 2000 МГц для шины Infinity Fabric вполне реальна.
Однако это утверждение не прошло проверку жизнью. Установить частоту Infinity Fabric и контроллера памяти в 2000 МГц возможно, но при таких настройках в операционной системе начинают фиксироваться множественные ошибки WHEA (Windows Hardware Error), которые связаны с искажением данных, передаваемых по Infinity Fabric. В большинстве своём эти ошибки исправляются механизмами Windows 10, однако некоторые из них могут привести к краху системы и появлению «синих экранов». Иными словами, система, работающая в таком состоянии, не может считаться стопроцентно стабильной, и максимально доступным синхронным режимом памяти для процессоров Ryzen 5000 следует считать DDR4-3800, а не DDR4-4000.
Чтобы оценить штраф, который налагается при отключении синхронного режима памяти, мы протестировали, как Ryzen 7 5800X работает с DDR4-3800 при трёх схемах тактования: 1900:1900:1900 – когда частоты памяти, Infinity Fabric и контроллера памяти совпадают; 1900:1900:950 – когда память и Infinity Fabric работают синхронно, но контроллер переведён в режим половинной частоты; 1900:1800:950 – когда Infinity Fabric работает на асинхронной частоте 1800 МГц.
Кроме того, попутно мы попытались ответить на вопрос о целесообразности разгона Infinity Fabric в системах, где память работает на более низкой частоте. На тех же графиках присутствуют результаты, полученные при использовании в системе DDR4-3200 в трёх режимах: 1600:1600:1600 – полностью синхронном; 1600:1900:1600 – асинхронном при разгоне Infinity Fabric до 1900 МГц; 1600:1900:800 – асинхронном, где Infinity Fabric разогнана, а контроллер памяти заторможен до половинной частоты. Все тесты проведены с двумя модулями по 16 Гбайт.
Из результатов синтетических тестов видно, что нарушение синхронности в трёх частотах приводит не столько к падению практической пропускной способности подсистемы памяти, сколько к увеличению задержки. В конечном итоге латентность возрастает почти на 20 %, причём основная часть этого штрафа возникает при включении в контроллере памяти режима половинной частоты, а вовсе не тогда, когда частота Infinity Fabric перестаёт совпадать с частотой памяти.
В приложениях использование асинхронных режимов не кажется опасным для производительности. Существенное падение быстродействия заметно только при архивации. Однако в целом видно, что отсутствие согласованности между частотами ни к чему хорошему не приводит. Даже разгон частоты Infinity Fabric выше частоты памяти оказывает на итоговую производительность негативное влияние.
В итоге получается, что использовать с Ryzen 7 5800X память в режимах быстрее DDR4-3800 действительно не имеет смысла. При этом нужно обязательно следить, чтобы соблюдалось равенство частоты памяти, частоты Infinity Fabric и частоты контроллера памяти. Проверить правильность их тактования можно диагностическими утилитами, например в HWINFO64.
Заодно там же стоит проконтролировать отсутствие ошибок WHEA, которые появляются в системах на базе Ryzen 5000 при переразгоне Infinity Fabric.
⇡#Тайминги: они важнее частоты или нет?
Раз мы сегодня говорим обо всех факторах, которые влияют на производительность памяти и в конечном итоге всей системы, обойти стороной тайминги просто невозможно. В процессорах Ryzen 5000, основанных на микроархитектуре Zen 3, произошли значительные изменения, самым заметным из которых стало объединение восьми ядер в одном CCX-комплексе. Это привело к удвоению размера L3-кеша, адресуемого каждым вычислительным ядром, что, в свою очередь, повлекло за собой снижение усреднённых задержек, которые возникают при обращениях процессора к данным. В теории это могло бы означать и снижение влияния на производительность таймингов памяти, которое в процессорах прошлого поколения было определённо заметным.
Но простой тест позволяет убедиться, что схема таймингов, с которой работает тот или иной комплект памяти, продолжает влиять на быстродействие всей системы. Чтобы убедиться в этом, мы протестировали 32-Гбайт комплект DDR4-3600, состоящий из двух модулей, с четырьмя различными схемами таймингов, начиная с 14-14-14-28 и заканчивая 20-20-20-40. Результаты получились вполне показательными.
Если судить по числам в синтетическом бенчмарке AIDA64 Cachemem, то схема таймингов в первую очередь оказывает влияние на практическую латентность. Агрессивная схема задержек 14-14-14-28 позволят выиграть у средних таймингов 18-18-18-36 до 6 % в латентности. При отсутствии заметных различий в пропускной способности при чтении, записи и копировании это кажется совсем немного – изменение частоты работы памяти даёт куда больший эффект.
Не слишком выигрывают от снижения таймингов и приложения. Даже если сравнивать между собой результаты, полученные с худшей и лучшей схемой задержек, то получится, что максимальный разрыв в производительности достигает лишь 5 %. Причём такая разница наблюдается всего единожды – при измерении скорости архивации данных.
Но для игр тайминги всё-таки кажутся довольно важной характеристикой. Кадровая частота может различаться на величину до 6 % в относительном выражении. Таким образом, выбор памяти с агрессивными настройками может быть вполне оправдан. Однако нельзя не сделать важную оговорку о том, что те самые 6 % разницы, которые мы увидели при переходе от максимально вялой схемы 20-20-20-40 к очень бодрым 14-14-14-28, можно было бы получить за счёт увеличения частоты работы памяти на 400-500 МГц. Это создаёт впечатление, что частота памяти – более важная характеристика, нежели её задержки.
⇡#Тонкая подстройка таймингов без страданий и боли
Большинство пользователей не занимается тонкой настройкой таймингов памяти, полагаясь на XMP-профили. И это вполне закономерно: профили XMP как раз и были введены в употребление для того, чтобы снять с пользователей груз по подбору идеальных параметров памяти, которые позволят выжать из имеющихся модулей максимум возможного. Однако из-за того, что профили XMP делаются универсальными и способными подойти для совершенно различных систем, предлагаемые ими установки всегда можно улучшить, и нередко – весьма существенно. Это касается как первичных таймингов, которые указываются в спецификациях модулей, так и вторичных параметров, которые в действительности тоже могут сильно повлиять на производительность, – в конечном итоге после тщательной настройки рассчитывать можно как минимум на 5 % дополнительного прироста FPS в играх.
Другое дело, что заниматься подгонкой многочисленных параметров подсистемы памяти, число которых превышает три десятка, захотеть могут лишь только самые отчаянные энтузиасты, которые готовы тратить на идеальную подгонку настроек своей сборки даже не часы, а дни и недели. К счастью, существует довольно простой путь, как можно срезать этот угол, – в этом может помочь полезная утилита DRAM calculator for Ryzen, созданная хорошо известным (в узких кругах) разработчиком Юрием Бублием (1usmus).
Утилита DRAM calculator for Ryzen предлагает заранее подобранные оптимизированные профили настроек для многих распространённых комплектов памяти. Достаточно указать базовые характеристики комплекта – тип чипов, лежащих в его основе, версию печатной платы DIMM, объём модулей и их ранговость, – как программа предложит свою схему рекомендуемых таймингов, которую останется лишь перенести в BIOS Setup. Естественно, стабильность работы при этом не гарантируется, но в большинстве случаев DRAM calculator for Ryzen предлагает дельные варианты, которые, с одной стороны, нормально работают, а с другой – позволяют нарастить производительность на несколько процентов благодаря тщательно подобранным настройкам.
Узнать необходимые характеристики установленного в системе комплекта памяти можно с помощью другой утилиты — Thaiphoon Burner. Она поможет определить лежащие в основе модулей памяти аппаратные компоненты, указывать которые нужно в DRAM calculator for Ryzen.
Утилита DRAM calculator for Ryzen может предложить профили настроек не только для номинальной частоты памяти, но и для повышенной частоты, которые можно применить при разгоне модулей DDR4 SDRAM. Важно лишь предварительно убедиться, что имеющаяся память способна функционировать на такой частоте в принципе.
Как всё это работает и какой вклад вносит в производительность, мы проверили в следующем тесте, в рамках которого протестировали систему на Ryzen 7 5800X с имеющимися модулями DDR4-3600 компании Crucial несколько раз. При этом мы сравнили разные варианты их настройки: базовый – в режиме DDR4-3600 с таймингами, установленными по XMP; тайминги из профиля DRAM calculator for Ryzen и тайминги, подобранные вручную. Причём два последних варианта были использованы дважды: как в номинальном для памяти режиме DDR4-3600, так и при её разгоне до максимальной осмысленной частоты DDR4-3800.
Конкретные значения таймингов, которые получились в каждом таком случае, можно посмотреть при помощи ещё одной полезной утилиты — ZenTimings.
Intel Core i5-2500K и ASUS P8P67 PRO: заметки на полях (страница 2)
Проверка стабильности первоначально проводилась с использованием теста Linpack. Помимо того варианта, что представлен на скриншотах (2048 Мбайт, 10 прогонов), использовался и «усиленный режим»: объем памяти 2560 Мбайт, 20 прогонов теста. Учитывая, что система впоследствии без проблем отработала широкий набор тестов при максимальном разгоне, я посчитал такую проверку достаточной. Нестабильности не наблюдалось.
Однако некоторые читатели, прокомментировавшие предыдущую статью, высказали сомнение в пригодности Linpack для проверки стабильности процессоров Sandy Bridge. Отмечалось, что система может быть нестабильна даже при очень жестких условиях прохождения этого теста. В качестве альтернативы было предложено использовать широко известный Prime95. В силу его особенностей он способен «нокаутировать» Sandy Bridge на меньших частотах, что позволяет более точно найти грань стабильности и перестраховаться от возможных зависаний в будущем.
Предложение было принято и пущено в дело. Для тестирования использована последняя версия PRIME95, доступная на момент написания статьи – Prime 26.5 build 5.
Полученные данные приведены в виде таблицы:
реклама
Напряжение питания CPU, В | Максимальная частота в тесте Prime95, МГц | Температура, Prime95, °С * | Максимальная частота в тесте Linx, МГц | Температура, Linx, °С * |
1,15 | 3900 | 46 | 4000 | 49 |
1,25 | 4400 | 51 | 4400 | 58 |
1,35 | 4800 | 62 | 4800 | 70 |
1,40 | 4800 | 68 | 4900 | 75 |
* приводится температура самого горячего ядра CPU, усредненная температура всех четырех ядер во всех случаях ниже на 2-3 градуса.
Использован алгоритм In-Place Large FTTs, время теста – 4 часа.
Это важно для истинных фанатов «полировать» стабильность системы. Я же, принимая во внимание полную работоспособность процессора в широком наборе тестов и отсутствие проблем на протяжении двух недель (CPU исправно трудился в стенде на частоте 4900 МГц), посчитал такой фанатизм неоправданным. Тем более что необходимый результат был все равно получен.
Звучит хорошо, инструмент для тестирования, кажется, найден. Но здесь необходимо учитывать еще одну ключевую особенность процессоров Sandy Bridge: они вообще плохо подходят для проверки на стабильность традиционными методами. Обычно принято рассуждать так: «нагрузим по полной, прогреем до максимума, оставим на долгое время – если будет стабилен в таких «адских» условиях, то уж обычную эксплуатацию точно выдержит».
Здесь данная логика не работает: неоднократно отмечалось, что новый 32 нм процессор после разгона способен вызвать падение Windows в «синий экран смерти» (BSOD) в совершенно безобидных ситуациях. И это притом, что до этого он без проблем выдержал испытания в Linx, Prime95, OCCT, S&M и остальных.
Достоверного объяснения такому поведению процессора нет. Однако по описанию многих подобных случаев становится понятно, что чаще всего потеря стабильности происходит при переключении между состояниями Intel C-State и в связи с работой технологии Intel EIST. Вот почему я советовал отключить их в соответствующем разделе меню BIOS Setup. «На пальцах» это объясняется очень просто – необходимо убрать все функции, которые так или иначе могут самостоятельно влиять на режим работы процессора: пусть он функционирует на жестко заданной частоте и при фиксированном напряжении – стабильнее будет. Но и после выполнения этих действий система не застрахована от вылетов, хотя их вероятность и снижается.
Я четырежды сталкивался с проблемой внезапного вылета в BSOD. Ситуация соответствовала описанной: зависания происходили при работе с офисными приложениями, при выходе из игры и просто на рабочем столе Windows в момент подключения «флэшки». Эти случаи возникали только при явном переразгоне процессора, и легко исправлялись небольшим снижением частоты.
реклама
Исходя из своего опыта, я рекомендую следующие алгоритмы проверки стабильности системы.
Быстрый вариант: 20 прогонов Linpack для нахождения грани стабильности, а в случае успеха – снижение частоты на 100 МГц для перестраховки (это не так много – в пределах 2-2,5% от итогового значения). Вероятность стабильной работы при повседневном использовании очень велика. Если же со временем система «поймает» BSOD – еще минус 100 МГц должны решить проблему в том случае, если виновником окажется процессор. «Продавливание» частоты повышением напряжения (если есть запас) также может сработать, но обычно оно эффективно только при низких (1,2-1,3 В) значениях «вольтажа». Неоднократно отмечалось, что при значениях 1,35-1,37 В и очень высоких частотах дальнейший рост напряжения может наоборот вызвать снижение порога стабильности. Тогда остается только снижать множитель.
Настройки подсистемы питания ASUS P8P67 PRO
К заголовку можно добавить «… и P8P67 Deluxe», поскольку организация BIOS Setup этих плат практически идентична, а схемы преобразователей питания CPU схожи (хотя на модели Deluxe его усилили четырьмя дополнительными фазами).
Настроек питания, как и положено оверклокерским продуктам, у плат много.
Перед проведением тестов передо мной стояла задача подобрать режим работы без просадок и завышений. Методика проста – был взят самый простой вариант разгона: 1,15 В – 4000 МГц, и проведены тесты нескольких алгоритмов с контролем подаваемого напряжения программными средствами (HWMonitor 1.17, CPU-z). По уму, конечно, стоило бы использовать аппаратный контроль с допайкой выводов на мультиметр, но и такой упрощенный метод позволяет понять направление подстройки (завышение/просадка) и величину разброса значений.
Данные опять приводятся в виде таблицы для удобства восприятия.
Режим LLC | Заданное напряжение, В | Напряжение в простое, В | Напряжение Linpack, В |
Medium | 1,15 | 1,136 | 1,12 * |
High | 1,15 | 1,144 | 1,12 * |
Ultra | 1,15 | 1,144 | 1,136 |
Extreme | 1,15 | 1,144 | 1,152 |
* снижение напряжения приводило к зависанию системы во время десятикратного прогона теста Linpack.
Кстати, если использовать автоматический подбор напряжения питания – плата чудит. Например, для частоты 4000 МГц по умолчанию выставляется 1,308 В, что явно избыточно. Так что оставлять этот параметр на откуп автоматике я не рекомендую даже самым ленивым оверклокерам.
Вкратце пробегусь по остальным настройкам, а потом покажу, что дает их использование на практике.
реклама
VRM Frequency – частота переключения контроллера напряжения питания процессора. Может быть отрегулирована вручную в диапазоне 300-500 КГц с шагом 10 КГц. Эта частота напрямую влияет на нагрев, поэтому я бы не стал слишком усердствовать, можно оставить и в положении Auto.
Phase Control – с помощью этой функции можно задействовать один из алгоритмов использования фаз преобразователя. Есть три «автоматических» режима – Standard, Optimized и Extreme. В последнем случае преобразователь всегда работает «на полную», задействуя все фазы. Следовательно, он кардинально отличается от первых двух – с ними всегда происходит подстройка («включение-отключение» фаз в зависимости от нагрузки), что может не лучшим образом сказаться на стабильности. Особняком стоит Manual Ajustment – ручная регулировка. Как ни странно, задавать можно не количество используемых фаз, а скорость переключения, видимо подразумевается, что в этом случае преобразователь также работает полностью. Если уж использовать этот режим – выставлять стоит самую большую скорость Ultra Fast.
Во время проведения тестов разгонного потенциала CPU использовался следующий набор настроек:
реклама
Результаты разгона я уже приводил выше. А теперь представляю вашему вниманию вариант «ленивый оверклокер»:
Хе-х, а такое ведь частенько встречается.
При этом дело не в величине подаваемого напряжения: по данным программного мониторинга процессор «питался» точно так же, как и в первом случае. Вся соль именно в алгоритмах управления и в скорости работы преобразователя.
Влияние второстепенных напряжений на оверклокинг
реклама
Следующий вопрос, заинтересовавший автора: насколько можно снизить второстепенные напряжения при разгоне системы. Логика проста – есть по крайней мере три напряжения, напрямую влияющие на нагрев процессора:
Интересно проверить, насколько их можно снизить без ущерба для стабильности. Ведь таким образом можно «бесплатно» выиграть пару градусов температуры под нагрузкой. Для примера опять же возьму случай максимального разгона CPU до частоты 4900 МГц при напряжении 1,4 В.
Сначала поэтапно понижалось напряжение CPU PLL. Во многих статьях по разгону Sandy Bridge подчеркивается, что оно не должно превышать значения 1,9 В. На основании проведенных опытов выяснилось, что можно взять значение сразу на полвольта меньше!
Интересно. Проделываю то же самое для напряжения VCCSA (питание «Системного агента»). Здесь все упирается в ограничения BIOS Setup, я понизил напряжения до 0,8 В – минимально возможного значения. Никаких признаков нестабильности не наблюдалось.
реклама
Напряжение VCCIO (кольцевая шина процессора) теоретически можно понизить тоже только до 0,8 В из-за ограничений BIOS. Проверка стабильности показала, что «рабочим» является значение 0,9 В.
После всех этих мер температура самого горячего ядра процессора в Linpack снизилась приблизительно на 2 градуса (температура в тестовом помещении могла отличаться в пределах 1 градуса, судя по показаниям спиртового термометра). В чистом виде это мизерное преимущество, но всегда приятно произвести точную настройку, «отшлифовав» конфигурацию. К тому же снижение вторичных напряжений чуть разгружает подсистему питания процессора.
Заключение
Надеюсь, мои заметки помогут вам в этом непростом деле.