Авторский материал

За последние несколько лет AMD выпустила два поколения высокопроизводительных процессоров Ryzen, основанных на совершенно новой архитектуре с огромным потенциалом. Недавно компания представила уже третье поколение. Но, тем не менее, Интернет полон страхов и недопониманий потенциала платформы «не от Intel». Некоторые пользователи до сих пор боятся приобретать систему AMD AM4 из-за ряда причин, проявившихся во время старта продаж первого поколения.

Мое имя Юрий Бублий (@1usmus), я являюсь разработчиком DRAM Calculator for Ryzen, автором многочисленных BIOS-модификаций и куратором десятка тем, посвященных этим процессорам и всему, что их окружает. После двух лет исследований и разработок я готов поделиться своими секретами по оптимизации памяти в системах Ryzen. Под оптимизацией я имею в виду разгон и настройку системной оперативной памяти. Да-да, то самое коварное слово «разгон».

«О Боже, там так много параметров и это может еще повлиять на гарантию!» — подумали вы. Нет, все гораздо проще. Сегодня я расскажу, на что стоит обратить внимание при покупке, как быстро и правильно настроить систему, минуя страхи и типичные ошибки, которые можно получить в процессе разгона.

Некоторые из вас могут спросить, какие реальные преимущества можно получить от разгона памяти и что в целом оно даст? Начну с того, что существует возможность увеличить средний fps в играх до 50% только благодаря оптимизации подсистемы памяти. Этот показатель не является просто числом, это сумма факторов, которые влияют на качество вашего геймплея. Сюда входят значения 1% low и 0,1% low, минимальный fps, средний и максимальный. То есть, если у вас есть желание получить максимум отдачи от системы, вам все-таки придется осилить эту статью.

Звучит заманчиво, не так ли?

Infinity Fabric

Для связи между отдельными блоками в процессорах AMD Ryzen используется внутреннее соединение Infinity Fabric, пришедшее на смену шине HyperTransport.

Под блоками подразумевается вычислительные комплексы ЦП (группы до 4 ядер ЦП именуемые CCX). Infinity Fabric имеет свой собственный тактовый домен, который синхронизируется с физической частотой памяти. Поколения Zen 1 и Zen+ работают в режиме UCLK=MEMCLK. Поколение Zen 2 получит дополнительный режим UCLK=1/2 MEMCLK, который существенно увеличит частотный потенциал DRAM во время разгона.

Конструктивно Infinity Fabric представляет собой 256-битную двунаправленную шину. С ее помощью в шестиядерных и восьмиядерных моделях процессоров Ryzen (архитектуры Zen 1 и Zen+) два четырехъядерных модуля (CCX) обмениваются данными с другими блоками, включая контроллер PCI Express и южный мост. В Zen 2 обмен данными происходит не только между CCX, а и между чиплетами CCD и мастер-чиплетом I/O посредством новой двунаправленной шины.

Infinity Fabric Zen/Zen+ функционирует на частоте, равной физической частоте системной ОЗУ. Например, если контроллер памяти работает c DDR4-2133 в режиме UCLK=MEMCLK, матрица коммутатора синхронизируется с частотой 1066 МГц (напомню, эффективная частота указана в обозначении памяти). Это означает, что более быстрая память позволяет увеличить пропускную способность внутреннего соединения Infinity Fabric.

Эта технология открывает большие перспективы при создании многоядерных процессоров, таких как Ryzen 3000, о которых мы вскоре с вами поговорим.

Типы памяти

За последние 10 лет компания Intel посеяла в головах пользователей главный тезис — оперативная память это декоративная заглушка, иногда она имеет подсветку и прикольно выглядит в корпусе, люди перестали задумываться о реальной значимости ОЗУ.

На данный момент на рынке оперативной памяти представлено огромное кол-во вариантов, которые могут нас заинтересовать, но могут оказаться совершенно бесполезными. Какую же выбрать?

Лидером в разгоне является оперативная память на чипах Samsung B-die (20 нм). Эти чипы демонстрируют рекордные показатели частоты/латентности «из коробки». Хочу отметить важный момент, что вам не обязательно покупать набор, на котором будет нарисовано красивые числа вроде 4200+ МГц, в большинстве случаев разгон такого комплекта будет сопоставим с набором DDR4-3000 с CL14. Безусловно, кремниевая лотерея присутствует и может оказаться, что «3000CL14» больше 3600 МГц не захотят брать стабильно. В качестве примера я покажу вам, что могут модули, которые попали в этот материал.

Первыми в списке идут G.Skill Sniper X 3400C16 (F4-3400C16-16GSXW). Это одноранговая (или single rank) память, базовые характеристики нельзя назвать феноменальными, в отличие от результата, который получен после разгона.

Так же на этих модулях удалось получить заветные 3733 МГц при CL14, но с довольно большим напряжением — 1,51 вольт. Я считаю, что данное напряжение не подходит для использования в режиме 24/7, так как есть шанс получить  преждевременную «смерть» плашек.

Далее в списке приоритетных покупок идет память, основанная на чипах SK hynix CJR (18 нм). В моем распоряжении были G.Skill Sniper X 3600C19 (F4-3600C19-16GSXWB), данная память почти на 50% дешевле вышеупомянутых Samsung B-die.

Касаемо разгона — 3933 МГц при CL16, абсолютный рекорд по частоте и пропускной способности для 4-слотовой материнской платы (о ней мы поговорим позже).

И это для нее не предел, 4000 МГц при CL16 реальность.

В свежей версии калькулятора я подготовил пресеты включительно до 3867 МГц.

Так же в этом году рынок получил и новые Micron H/E-die (19 нм). К сожалению, на момент написания материала этих наборов у меня в руках еще не было. По предварительным тестам моих коллег, память аналогично хороша в разгоне и может составить конкуренцию для Hynix CJR.

А что же двухранговая память, она же dual rank? На данный момент результаты разгона данного типа оперативной памяти довольно печальные, контроллеру памяти тяжело справлять с четырьмя рангами. Даже не контроллеру, а «разводке» шин. Максимум, что пока доступно — 3466 МГц при CL14 для Samsung B-die и 3600 МГц при CL16 для Hynix CJR. Единственный плюс от четырех рангов — это внушительный объем оперативной памяти и технология чередования рангами, которая увеличит производительность системы в играх. Что как и на сколько — вы увидите в разделе тестов.

Материнские платы и топология

Существует очень много материснких плат на разных чипсетах, в различных форм-факторах и с разными скрытыми особенностями. Ключевой особенностью в разгоне памяти на системах Ryzen является DIMM-топология, количество слоев PCB и DIMM-слотов.

Рекордсменом в разгоне оперативной памяти являются двухслотовые материнские платы, например ASUS ROG Strix X470-I Gaming.

Отсутствие двух дополнительных слотов серьезно влияет на качество сигналов и переотражения на линии. Что касается предельной частоты разгона без использования воды или азота — около 3866–3933 МГц.

Далее идут платы с топологией Daisy Chain, их преимущество заключается в оптимизированной длине линий (шины) между процессором и слотами А2 и В2.

Типичными представителями являются ASUS ROG Crosshair VII Hero, ASUS Prime X470-Pro и MSI X470 Gaming M7 AC.

3800 МГц это максимум, который доступен этим представителям при использовании двух модулей single rank и без использования экстримальных способов охлаждения.

При использовании четырех модулей разгон несколько хуже, предел находится на частотах 3400–3466 МГц.

Замыкают список платы с Т-топологией, которые имеют посредственные результаты разгона при использовании двух модулей оперативной памяти, но прекрасные результаты, если установлено четыре модуля (до 3533 МГц включительно). Яркие примеры — это Asrock X470 Taichi и ASUS ROG Crosshair VI.

Терминология

Ниже приведен список технических терминов, относящихся к разгону памяти с процессором Ryzen. Последний использует стандартную архитектуру памяти DDR4, поэтому вы можете быть знакомы с некоторыми из этих терминов. Некоторые другие термины являются новыми и характерными для UEFI материнских плат платформы AM4.

SOC Voltage — напряжение контроллера памяти. Предел 1,2 В.

DRAM Boot Voltage — напряжение, на котором происходит тренировка памяти при запуске системы. Лимит: до 1,45–1,50 В.

VDDP Voltage — это напряжение для транзистора, который конфигурирует содержимое оперативной памяти. Лимит: до 1,1 В.

VPP (VPPM) Voltage — напряжение, которое определяет надежность доступа к строке DRAM.

CLDO_VDDP Voltage — напряжение для DDR4 PHY на SoC. DDR4 PHY, или интерфейс физического уровня DDR4, преобразует информацию, которая поступает из контроллера памяти в формат, понятный модулям памяти DDR4.

Несколько нелогично, что снижение CLDO_VDDP часто может быть более выгодным для стабильности, чем повышение. Опытные оверклокеры также должны знать, что изменение CLDO_VDDP может сдвинуть или устранить дыры в памяти. Небольшие изменения в CLDO_VDDP могут иметь большой эффект, и для CLDO_VDDP нельзя установить значение, превышающее VDIMM –0,1 В. Tсли вы измените это напряжение, то потребуется холодная перезагрузка. Лимит: 1,05 В.

Vref Voltage — источник опорного напряжения оперативной памяти. «Настройка» взаимосвязи контроллера памяти и модуля памяти в зависимости от уровня напряжения, которое рассматривается как «0» или «1»; то есть напряжения, найденные на шине памяти ниже MEMVREF, должны рассматриваться как «0», а напряжения выше этого уровня должны считаться «1». По умолчанию этот уровень напряжения составляет половину VDDIO (около 0,500x). Некоторые материнские платы позволяют пользователю изменять это соотношение, обычно двумя способами: (1) «DRAM Ctrl Ref Voltage» (для линий управления с шины памяти; официальное название JEDEC для этого напряжения — VREFCA) и (2) «DRAM Ctrl Data Ref Voltage» (для строк данных с шины памяти; официальное название JEDEC — VREFDQ). Эти параметры настроены как множитель.

VTT DDR Voltage — напряжение, используемое для управления сопротивлением шины, чтобы достигнуть высокой скорости и поддержать целостность сигнала. Это осуществляется с помощью резистора параллельного прерывания.

PLL Voltage — определяет напряжение питания системы Фазовой АвтоПодстройки Частоты (ФАПЧ или PLL — Phase Locked Loop) и является актуальной лишь для повышения стабильности во время разгона системы с помощью BCLK. Лимит: 1,9 В.

CAD_BUS — САПР командной и адресной шины. Для тех, кто может тренировать память на высоких частотах (>=3466 МГц), но не может стабилизировать ее из-за проблем с сигнализацией. Я предлагаю вам попробовать уменьшить токи привода, связанные с «Командой и адресом» (увеличив сопротивление).

CAD_BUS Timings — задержка трансивера. Значения являются битовой маской (грубой / точной задержки). Аналог RTL/IOL в исполнении AMD. Имеют огромное влияние на тренировку памяти.

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

RTT (время приема-передачи) — это время, затраченное на отправку сигнала, плюс время, которое требуется для подтверждения, что сигнал был получен. Это время задержки, следовательно, состоит из времени передачи сигнала между двумя точками. Настройка, которая отвечает за оптимизацию целостности сигнала. DRAM предлагает диапазон значений сопротивления нагрузки. Конкретное сопротивление приемника выводов DQ, представленное интерфейсу, выбирается комбинацией начальной конфигурации микросхемы и рабочей команды DRAM, если включено динамическое завершение на кристалле.

Geardown Mode — позволяет памяти уменьшать эффективную скорость передачи данных на шинах команд и адресов.

Power Down Mode — может незначительно экономить энергию системы за счет более высокой задержки DRAM, переводя DRAM в состояние покоя после периода бездействия.

BankGroupSwap (BGS) — настройка, которая изменяет способ назначения приложениям физических адресов в модулях памяти. Цель этого регулятора — оптимизировать выполнение запросов к памяти, учитывая архитектуру DRAM и тайминги памяти. Теория гласит, что переключение этого параметра может сместить баланс производительности в пользу игр или синтетических приложений.

Игры получают ускорение при отключенной BGS, а пропускная способность памяти AIDA64 была выше при включенной BGS.

Алгоритм настройки системы

Инструмент, который будет нам помогать с рекомендациями — DRAM Calculator for Ryzen. Самый главный, фундаментальный шаг — это запуск системы на определенной частоте, которую мы хотим получить. Для этого нам потребуется вручную установить такие настройки в UEFI: профиль XMP памяти (он может называться по-разному, смысл от этого не меняется), частоту для оперативной памяти (которую мы хотим получить), установить частоту BCLK (если присутствует такая настройка в прошивке), тайминги (которые рекомендует калькулятор), напряжение для SOC и DRAM (рекомендации калькулятора) и procODT + RTT (NOM, WR и PARK). Не забывайте про важный нюанс, что материнская плата или оперативная память может не справиться с вашими амбициями, потому советую посетить страницу поддержки вашей материнской платы и посмотреть QVL-список, в котором будут указаны частоты, на которых плата в заводских условиях функционировала без ошибок. Эта частота и будет нашей отправной точкой. Зачастую это 3000–3200 МГц.

Параметры procODT + RTT (NOM, WR и PARK) мы будем подбирать так, чтоб система имела минимальное кол-во ошибок. Тестовый пакет TM5 0.12 (Basic Preset). Безусловно, от всех ошибок мы не сможем избавиться, и для этого нам нужен будет следующий шаг.

Цель следующего шага — поиск самого оптимального напряжения для DRAM и SOC, при которых система будет иметь минимальное кол-во ошибок. Сначала подбираем напряжение для SOC, а затем для DRAM (калькулятор вам подскажет диапазон). Для отлова ошибок используем тестовый пакет TM5 0.12 (Basic Preset).

В половине случаев вы можете на данном этапе получить полностью стабильную систему. Если тестовый пакет TM5 0.12 не находит ошибок, то вы должны увеличить спектр тестовых программ для проверки стабильности. Вы можете использовать LinX, HCI, Karhu, MEMbench и другие программы. В случае если вышеописанные утилиты нашли ошибку, то вам стоит перейти к следующему шагу, отладочному.

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

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

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

Тонкая настройка CAD_BUS

и корректировка дополнительных напряжений.

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

Основные операции DRAM

Существует пять основных операций (или четыре, если объединить чтение и запись в одну), которые необходимо выполнить при доступе к данным в DRAM.

Активация открывает одну из строк DRAM в банке и копирует данные из открытой строки в буфер строк.

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

Чтение и запись могут выполняться после копирования данных активированной строки в буфер строк.

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

Из них задержка доступа DRAM в основном состоит из задержки трех операций: активация, восстановление и предварительная зарядка.

На рисунке выше показана временная шкала команд, выполненных для чтения (вверху) или записи (внизу) для одной строки данных кэша. Контроллер памяти выдает четыре команды: (1) ACT (активировать), (2) READ или (3) WRITE и (4) PRE (предварительная зарядка). Обратите внимание, что восстановление не имеет явной команды, а вместо этого запускается автоматически после команды ACT. Время, затрачиваемое на каждую операцию, определяется набором временных параметров, которые определяются поставщиками DRAM. Хотя каждая команда работает с гранулярностью строк, для простоты мы описываем, как операции DRAM влияют на одну ячейку DRAM.

В начальном предварительно заряженном состоянии (1) битовая линия поддерживается на уровне напряжения VDD / 2, где VDD — полное напряжение питания DRAM. Линия слова находится в 0 В, и поэтому битовая линия отключена от конденсатора. После того, как контроллер памяти выдает команду ACT (2), словосочетание повышается до Vh, тем самым соединяя конденсатор ячейки DRAM с разрядной линией. Так как в этом примере напряжение на конденсаторе выше, чем на разрядной линии, заряд поступает на разрядную линию, повышая уровень напряжения до VDD / 2 + δ. Этот процесс называется разделением заряда. Затем усилитель считывания измеряет отклонение на битовой линии и соответственно усиливает это отклонение (3). Эта фаза, называемая чувственным усилением, в конечном итоге приводит уровень напряжения разрядной линии и ячейки к исходному состоянию напряжения ячейки (в данном примере VDD).

Как только усилитель считывания достаточно усилил данные в битовой линии (например, уровень напряжения достигнет 3VDD / 4), контроллер памяти может выдать команду READ или WRITE для доступа к данным ячейки в буфере строк. Время, необходимое для достижения этого состояния (3) после команды ACT, задается параметром синхронизации tRCD, как показано на первом рисунке. После того, как команда READ или WRITE введена, фаза чувствительного усиления продолжает управлять напряжением на битовой линии (4), пока уровень напряжения битовой линии и ячейка не достигнут VDD. Другими словами, исходный уровень заряда ячейки полностью восстанавливается до исходного значения для READ или корректно обновляется до нового значения для WRITE.

Для запросов на чтение DRAM задержка для ячейки, которая будет полностью восстановлена после ACT, определяется параметром синхронизации tRAS. Для запросов записи DRAM время, необходимое для полного обновления ячейки, определяется tWR. После восстановления битовая линия может быть предварительно заряжена с помощью команды PRE, чтобы подготовить подмассив для будущего доступа к другой строке. Этот процесс отключает ячейку от разрядной линии путем понижения напряжения на словарной линии. Затем он сбрасывает напряжение разрядной линии до VDD / 2. Время завершения операции предварительной зарядки определяется параметром синхронизации tRP.

Значения tRCD и tRAS могут быть значительно ниже, чем в даташитах. Как так?

Обычные микросхемы DRAM выполняют операции активации и восстановления с использованием фиксированной задержки, которая определяется значением параметров синхронизации, показанных на первом изображении. Однако существуют способы, с помощью которых задержки для активации и восстановления могут быть уменьшены путем использования текущего уровня заряда ячейки. Если элемент имеет высокий уровень заряда, соответствующий процесс возмущения напряжения на битовой линии во время активации происходит быстрее, и, следовательно, усилителю считывания требуется меньше времени для достижения состояний 3 и 4 на втором изображении. «ChargeCache» — это современный механизм, который использует эту информацию для безопасного уменьшения временных параметров tRCD и tRAS для сильно заряженной ячейки.

ChargeCache отслеживает строки, к которым недавно был получен доступ, что означает, что их ячейки имеют высокий уровень заряда, поскольку с момента последнего восстановления ячеек до полного уровня заряда прошло только короткое время. Поэтому, если недавно активированная строка снова активируется в течение короткого интервала времени (например, 1 мс), ChargeCache использует более низкие значения tRCD и tRAS для строки, что уменьшает общую задержку доступа к DRAM. Аналогичный подход может быть применен для уменьшения времени восстановления. В обычном чипе DRAM каждая команда ACT запускает операцию восстановления, которая полностью восстанавливает уровень заряда ячеек в активированном ряду. Аналогично, каждая операция обновления полностью восстанавливает уровень заряда элемента в фиксированный интервал времени (каждые 64 мс в DDRx DRAM).

Существует также механизм Restore Truncation, который частично восстанавливает уровень заряда ячейки ровно настолько, чтобы сохранять правильные данные — до следующего обновления ячейки. Одним из элементов управления для этого механизма является время tWR и tRAS.

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

Выводы

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

Современные микросхемы памяти позволяют устанавливать агрессивные временные интервалы благодаря механизму Restore Truncation и ChargeCache.

Микросхемы SDRAM в некотором смысле позволяют выполнять третью и четвертую операции параллельно. Если быть точным, команда перезарядки линии PRECHARGE может быть отправлена за определенное количество тактов x до момента, когда был выпущен последний элемент данных запрошенного пакета, не опасаясь возникновения «сломанной» ситуации в переданном пакете (последнее произойдет, если команда PRECHARGE отправит команды READ с периодом времени меньше x).

Чтобы предотвратить потерю данных в ячейках, вы можете увеличить напряжение DRAM или изменить временные характеристики, которые отвечают за предварительную зарядку и обновление. Регулировка tRP и tRFC будет иметь наибольшее влияние, tWR и tRTP также могут помочь. Я не советую поднимать значение tWR выше 12.

tRC> = tRAS + tRP. Для большинства случаев это должна быть оптимальная формула.

tRAS = tRCD + tCL. У меня нет четкого определения для этого тайминга, оно может быть равно tRCD + tCL, но иногда значительно ниже из-за механизмов, перечисленных выше. Также не стоит забывать и о запасе, пределы которого определяются чисто экспериментальным путем, поскольку каждый чип имеет различные характеристики ячеек. Вот вам один из примеров.

Для высоких частот я использую формулу из первого рисунка. tRAS = tRCD + tBL + tWR, где tWR тюнингованное, которое равно 12 или 10. tBL для DDR4 всегда равен 4, но контроллер может использовать и 2.

Пример:

procODT, RTT и CAD_BUS: что это такое и с чем его едят?

Я хочу обратить особое внимание на важные термины , такие как «procODT», «RTT» и «CAD_BUS», описать, на что они влияют, как их настраивать и что они могут нам рассказать.

Как я упоминал ранее, пользователи столкнулись с огромным количеством проблем, когда вышло первое поколение процессоров Zen. В обзорах была паника, а на форумах было очень мало настоящих экспертов. Единственная тема, которая была — «память плохо разгоняется». Через некоторое время появились первые пресеты от уважаемого Stilt, они стали чудом для сообщества AMD, но, тем не менее, секреты и зависимости не были раскрыты.

Один из самых частых вопросов, который можно найти в форумах о системах Ryzen: «От чего зависит разгон памяти?».

Итак, давайте разбираться. В нашем случае успех разгона зависит от трех компонентов: материнской платы, IMC (контроллера памяти) и самой памяти.

Материнская плата

Большинство плат на базе чипсетов AMD 300 серии имеют T-топологию, и максимальная тактовая частота памяти в большинстве случаев ограничена 3466 МГц. Но есть «фишка», которая позволить нам незначительно подвинуть этот предел. Настройка САПР.

Если нам удастся настроить САПР, то мы сможем получить 3600 МГц. Чтобы понять, почему разгон ограничен такой довольно низкой частотой, нужно взглянуть на печатную плату материнской платы.

Каждая сигнальная трасса на печатной плате является проводником, сигнальной линией, которая может повлиять на другие сигнальные линии. Кроме того, существует вероятность паразитных связей (паразитная индуктивность и высокочастотные помехи). Чтобы бороться с отрицательными связями, каждый разработчик материнской платы должен правильно спроектировать все сигнальные трассы.

Выше изображено такое изменение конструкции, которое добавляет «кривую», заменяя прямую линию. Это изменение может кардинально изменить возможности сигнальной линии.

Также форм-фактор, количество слоев печатной платы и состав проводников влияют на качество материнской платы. Для плат более дорогого сегмента часто выделяется больше времени на разработку и обычно используются более качественные базовые компоненты. Еще одним ключевым отличием материнских плат на чипсетах серии «X» является увеличенное количество слоев PCB (вместо 3–4 слоев мы имеем 6–8). Это, безусловно, влияет на те самые «паразитные связи». Зачастую на каждой мат плате на одном из краев будет набита надпись, которая свидетельствует о количестве слоев.

Умные слова это, конечно, интересно, но как распознать качественную материнскую плату? procODT. И чем ниже рабочий procODT, тем лучше результаты разгона, которые вы можете получить на этой материнской плате. Специально для лучшего понимания я создал несколько таблиц, которые могут продемонстрировать вам различия.

В результате мы видим колоссальную разницу между материнскими платами. Я считаю это одной из главных проблем пользователей. И в их выборе, я думаю, виноваты рецензенты материнских плат. За последние два года я не видел обзоров на YouTube, где были рассмотрены топология материнской платы и ее возможности. Рассматривалась коробка, ее содержимое, режимы RGB, как выглядит охлаждение VRM или какая красивая футболку надета на рецензента.

Нет обзоров, в которых вы найдете реальные расчеты возможностей VRM. Вместо этого используются числа, которые существуют только в даташитах при идеальных тестовых условиях и при 25 °C, с идеальным поверхностным монтажом. Одно значение умножается на другие. Вот и весь обзор. Но вернемся к нашей теме.

В качестве бонуса у меня есть еще две рекомендации для вас, на что стоит обратить внимание при покупке материнской платы:

  • Это шаг напряжения для DRAM и шаг VTT DDR. Существуют платы с шагом VDRAM 0,01 В, а некоторые имеют 0,005 В. То есть в первом случае мы получаем 1,35 В, 1,36 В и т.д., а во втором случае получаем 1,35 В, 1,355 В, 1,36 В. Во втором случае мы значительно увеличим шансы на стабилизацию DRAM, так как у нас увеличилась гранулярность.
  • Напряжение DRAM, которое вы устанавливаете в UEFI, не всегда будет точным. Это может быть ниже, это может быть выше. Иногда возникают ситуации, когда VTT DDR не соответствует половине реального напряжения DRAM. Вам нужно будет настроить другие значения соответственно. Напомним формулу VTT DDR = 1/2 * vDRAM. Платы с большей гранулярностью автоматически получают преимущество.

Оперативная память

Я часто слышу на форумах «там есть Samsung B-die, но они работают на низкой частоте и с огромным напряжением, этого не может быть, виновато AMD». Я объясню. Модуль RAM состоит не только из микросхем от конкретного производителя, но и из печатной платы (она тоже имеет определённое количество слоев), на которой мы найдем сотни сигнальных линий. Конденсаторы (обвязка) и, конечно, чип-биннинг оказывают огромное влияние.

Например, мы можем найти в магазинах оперативную память от Corsair — Vengeance RGB Pro 3600MHz C16, которая использует тот самый знаменитый B-die, но мы не найдем рекордов на этом продукте. Рассмотрим другой пример — G.Skill Sniper X F4-3400C16D, который не выглядит «вкусным» по сравнению с предыдущим комплектом от Corsair. Однако, если мы сравним результаты разгона, то получится что-то вроде 3200–3466 МГц с CL14 против 3666–3733 МГц с CL14 в пользу набора G.Skill. Поэтому при выборе оперативной памяти советую посетить форумы.

Нюанс. Так как модуль памяти несет на себе несколько чипов памяти, может возникнуть ситуация, когда один из чипов будет иметь иные вольт-частотные характеристики. Такие чипы могут потребовать на несколько шагов больше напряжения для стабилизации на определенной частоте, чем их братья и сестры. При этом другие микросхемы могут стать нестабильными из-за повышенного напряжения. Идеальным вариантом для пользователя является покупка набора с заводским разгоном более 3600 МГц. Это даст вам дополнительную гарантию того, что все чипы могут достигать целевой частоты (заводской бининг все же штука полезная).

Контроллер памяти

Оба поколения контроллеров памяти Ryzen в большинстве случаев ограничены частотой UCLK 1733–1766 МГц (от DDR-3466 до DDR-3525). Безусловно есть случаи, когда контроллер может работать и на более высоких частотах. Чтобы упростить жизнь нашему контроллеру памяти, можно использовать модули, способные работать с очень низким procODT, что значительно меняет согласование сигналов. Рабочий диапазон procODT, по словам AMD, находится в диапазоне 40–60 Ом. 68 Ом уже за пределами зеленой зоны. Стабильность в этой области будет сильно зависеть от настроек САПР (CAD_BUS) и качества материнской платы.

В приведенной выше таблице показано, как procODT / RTT может меняться с ростом частоты DRAM.

Дабы улучшить восприятие этой информации, представьте циферблаты механических часов. procODT будет считать часы, RTT_PARK будет считать минуты, а CAD будет действовать как секундная стрелка. Для каждой частоты циферблаты на часах будут показывать разные результаты. Но есть нюанс, так как AMD очень любит менять настройки контроллера памяти с каждым последующим микрокодом, есть вероятность, что наши «механические часы» сломаются.

Чтобы быть готовы к подобному повороту событий, мы должны проверить сначала соседние значения RTT_PARK и только затем попытаться изменить procODT. В большинстве случаев кардинальных изменений в прошивках PMU (контроллера памяти) нет. Так же вам не следует спешить менять САПР, поскольку в нем слишком много переменных, и вы можете потерять много времени, пытаясь стабилизировать систему. Существует несколько алгоритмов выбора САПР, но на данный момент я не могу с уверенностью сказать, насколько они эффективны. Я считаю, что САПР не может иметь кардинальных отличий от базовых значений 24-24-24-24, и в большинстве случаев одно из значений можно перемещать вверх или вниз. То есть опция 24-30-24-24 может иметь дополнительный запас безопасности для частоты 3466+ МГц.

Из моих предпочтений это 20-20-20-20, в данном режиме присутствует чуть больший запас «прочности», когда оперативная память подбирается к 52 градусам.

В будущем я постараюсь дополнить эту статью поиском идеального САПР.

Зависимость рабочего напряжения DRAM от procODT и RTT

Я провел небольшой тест, в котором использовал разные настройки для напряжения procODT и DRAM. Идея состоит в том, чтобы установить минимально возможное значение DRAM Voltage и избежать BSOD во время теста.

На основании результатов, полученных в этом простом и коротком тесте, мы можем сделать вывод: после изменения procODT стабильное рабочее напряжение DRAM может измениться. Также имеется небольшое влияние RTT на рабочее напряжение памяти.

Холодная загрузка или двойной старт

Нет пользователей процессоров Ryzen, которые не сталкивались с холодным или двойным стартом (иногда даже с тройным). Я могу сразу заверить вас, что в этом нет ничего плохого. Это тесно связано с тренировкой памяти. Когда система не может запуститься в первый раз, запускается алгоритм, который изменяет некоторые параметры, недоступные пользователю, и пытается запустить систему снова. На это явление могут влиять procODT, RTT и CAD.

Иногда внешний BCLK генерируют двойной старт (система тренируется на внутреннем BCLK, а затем на внешнем ). В любом случае, попробуйте следовать рекомендациям калькулятора.

Так же львиная доля успешной тренировки отводится CAD_BUS Timings. Это сложное название является настройкой задержек приемо-передатчика. Формулами я вас томить не буду, конкретные значения будут предлагаться калькулятором, начиная с версии 1.5.2.

Полезные советы и хитрости

  • Не используйте слишком высокие напряжения для SOC и DRAM. Калькулятор подскажет вам, в каком диапазоне значений вы должны попытаться получить стабильный результат. Как правило, лучшие значения SOC находятся в диапазоне 1,025–1,05 В для десктопов и 0,975–1,025 для HEDT.

  • Джиттер. Отклонение цифрового сигнала в результате отражений, межсимвольных помех, перекрестных помех, колебаний PVT (напряжение–температура–процесс) и других факторов составляет джиттер. Некоторый джиттер просто случайный.

Яркий пример я даже записал на видео, память потеряет стабильность, когда прогреется до 52,3 градусов. В прочем, в этом ничего особенного, дискотеку для эпилептиков можно получить даже на прогретой HBM.

Всегда используйте дополнительное охлаждение для оперативной памяти. Так же был замечен положительный эффект от настройки CAD_BUS 20 20 20 20. Система была стабильна впредь до 58 градусов.

  • Изменение в procODT или RTT требуется, когда система не выполняет POST, имеет огромное количество ошибок или происходит BSOD.

  • VRM frequency для DRAM и SOC. Оптимален в диапазоне 350–400 кГц.

  • Одиночные и редкие ошибки можно исправить, изменив tRDWR (с 6 до 9) и tWRRD (с 1 до 4). Обратите внимание, что время должно быть настроено в парах. Пример: tRDWR 6 и tWRRD 2, tRDWR 6 и tWRRD 3, tRDWR 6 и tWRRD 4, tRDWR 7 и tWRRD 1 и т.д.

  • Одиночные и редкие ошибки можно исправить, изменив tRFC. Калькулятор предлагает несколько вариантов для tRFC. Кроме того, не забывайте, что tRC кратно tRFC. Например, tRC = 44 -> tRFC 6 (или 8) * 44; tRFC 2/4 не нужно настраивать для Ryzen.

  • Включение Geardown может улучшить стабильность системы.

  • VDDP может улучшить стабильность системы. Рекомендуемый диапазон: от 855 до 950 мВ. Попробуйте увеличить его с шагом 10–15 мВ. Мне нравится 900 мВ.

  • Отключение spread-spectrum может улучшить стабильность системы.

  • Источником ошибок также может быть Windows. В последнее время Microsoft доказала, что даже калькулятор можно сделать с багами.

  • Увеличение tRCDRD и tRP на 1 может улучшить стабильность и снизить требования к напряжению памяти.

  • Отключенный RTT_NOM иногда будет иметь лучшую стабильность.

  • Увеличение значений RTT_PARK или procODT может улучшить стабильность.

  • Не забудьте следовать правилу tRC = tRAS + tRP.

  • CLDO_VDDP. Наилучшие значения: по умолчанию (850 мВ), 950 мВ, 945 мВ, 940 мВ, 915 мВ, 905 мВ, 895 мВ, 865 мВ и 840 мВ.

  • Четные значения для tWRWR SCL и tRDRD SCL могут улучшить стабильность системы. Например, 4-4 или 6-6.

  • Чрезмерный разгон процессора может негативно сказаться на стабильности работы оперативной памяти.
  • CAD_BUS 24 30 24 24 может быть полезен для конфигураций с двумя модулями, а 24-20-24-24 для конфигураций, состоящих из четырех модулей.

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

  • Смена местами планок оперативной памяти может положительно повлиять на разгон и стабильность.

  • Существует немало комплектов памяти, в которых один из чипов будет иметь дефект. Отсюда проблема стабильности или разгона. Вероятность встретить такое чудо велика, из 16 модулей у меня было три с дефектами, которые обменивались по гарантии.

  • Существует немало 2-х и 4-х канальных комплектов памяти, в которых один или несколько модулей будет иметь выраженные, отличные от соседей вольт-частотные характеристики.

  • Ручная настройка CAD_BUS timings может облегчить тренировку или улучшить стабильность системы.

Стенд

Тестовый стенд был следующий:

  • процессор: AMD Ryzen 2700X;
  • система охлаждения: NZXT Kraken X62;
  • материнская плата: MSI X470 GAMING M7 AC (UEFI V1.51);
  • память №1: 2x8GB G.Skill Sniper X 3600C19 (Hynix CJR 18 nm, Single Rank);
  • память №2: 2x8GB G.Skill Sniper X 3400C16 (Samsung B-die 20 nm, Single Rank);
  • память №3: 2x16GB G.Skill Trident Z 3000C14 (Samsung B-die 20 nm, Dual Rank);
  • видеокарта: MSI GeForce GTX 1080 Ti GAMING X;
  • накопитель: Samsung 970 Pro 512GB;
  • блок питания: Corsair HX750i;
  • операционная система: Windows 10 64-bit Fall Creators Update;
  • драйверы: NVIDIA GeForce 417.35 WHQL.

Все опубликованные пресеты имеют полную стабильность. Не забывайте, что нет универсальной предустановки. Различные топологии материнских плат, бининг памяти и процессора — это всегда лотерея. Если нет стабильности, сначала попробуйте соседние напряжения для SOC и DRAM.

Дополнительную информацию и пресеты настройки можно найти в программе DRAM Calculator for Ryzen.

2133 MHz — Default

  • SOC Voltage: auto.
  • Memory Voltage: auto.
  • Power Down Mode: auto (enabled).
  • Gear Down Mode: auto (enabled).

Samsung b-die 3200 MHz CL14 XMP (single rank)

  • SOC Voltage: 1.025 V.
  • Memory Voltage: 1.35 V.
  • Power Down Mode: auto (enabled).
  • Gear Down Mode: auto (enabled).

Samsung b-die 3200 MHz CL14 (single rank)

  • SOC Voltage: 1.025 V.
  • Memory Voltage: 1.36 V.
  • Power Down Mode: disabled.
  • Gear Down Mode: disabled.

Samsung b-die 3200 MHz CL14 (dual rank)

  • SOC Voltage: 1.025 V.
  • Memory Voltage: 1.37 V.
  • Power Down Mode: disabled.
  • Gear Down Mode: enabled.

Samsung b-die 3200 MHz CL14 (multi rank)

  • SOC Voltage: 1.025 V.
  • Memory Voltage: 1.35 V.
  • Power Down Mode: disabled.
  • Gear Down Mode: disabled.

Samsung b-die 3200 MHz CL12 (single rank)

  • SOC Voltage: 1.025 V.
  • Memory Voltage: 1.50 V.
  • Power Down Mode: disabled.
  • Gear Down Mode: disabled.

Samsung b-die 3333 MHz CL14 (dual rank)

  • SOC Voltage: 1.025 V.
  • Memory Voltage: 1.39 V.
  • Power Down Mode: disabled.
  • Gear Down Mode: enabled.

Samsung b-die 3400 MHz CL14 (multi rank)

  • SOC Voltage: 1.025 V.
  • Memory Voltage: 1.39 V.
  • Power Down Mode: disabled.
  • Gear Down Mode: enabled.

Samsung b-die 3466 MHz CL14 (single rank)

  • SOC Voltage: 1.025 V.
  • Memory Voltage: 1.42 V.
  • Power Down Mode: disabled.
  • Gear Down Mode: disabled.

Samsung b-die 3533 MHz CL14 (single rank)

  • SOC Voltage: 1.025 V.
  • Memory Voltage: 1.44 V.
  • Power Down Mode: disabled.
  • Gear Down Mode: disabled.
  • RTT_PARK: 48 ohm (RZQ/5) or 60 ohm (RZQ/4).

Samsung b-die 3600 MHz CL14 (single rank)

  • SOC Voltage: 1.1 V.
  • Memory Voltage: 1.45 V.
  • Power Down Mode: disabled.
  • Gear Down Mode: enabled.

Hynix CJR 3200 MHz CL14 (single rank)

  • SOC Voltage: 1.025 V.
  • Memory Voltage: 1.37 V.
  • Power Down Mode: disabled.
  • Gear Down Mode: disabled.

Hynix CJR 3200 MHz CL14 (multi rank)

  • SOC Voltage: 1.025 V.
  • Memory Voltage: 1.37 V.
  • Power Down Mode: disabled.
  • Gear Down Mode: disabled.
  • procODT: 48 ohm.
  • RTT_NOM: 34 ohm (RZQ/7).
  • RTT_WR: disabled.
  • RTT_PARK: 40 ohm (RZQ/6).

Hynix CJR 3400 MHz CL14 (single rank)

  • SOC Voltage: 1.025 V.
  • Memory Voltage: 1.45 V.
  • Power Down Mode: disabled.
  • Gear Down Mode: disabled.

Hynix CJR 3466 MHz CL16 (single rank)

  • SOC Voltage: 1.025 V.
  • Memory Voltage: 1.35 V.
  • Power Down Mode: disabled.
  • Gear Down Mode: disabled.

Hynix CJR 3600 MHz CL16 (single rank)

  • SOC Voltage: 1.1 V.
  • Memory Voltage: 1.40 V.
  • Power Down Mode: disabled.
  • Gear Down Mode: enabled.

Hynix CJR 3800 MHz CL16 (single rank)

  • SOC Voltage: 1.1 V.
  • Memory Voltage: 1.42 V.
  • Power Down Mode: disabled.
  • Gear Down Mode: enabled.

Hynix MFR/AFR, Micron b-die 3200 MHz CL16 (single rank)

  • SOC Voltage: 1.025 V.
  • Memory Voltage: 1.35 V – 1.37 V.
  • Power Down Mode: disabled.
  • Gear Down Mode: enabled.

Результаты тестирования

AIDA 64

-43% задержка , +78% пропускная способность памяти, не плохо?

SiSoftware Sandra

Тест, который демонстрирует эффективность процессорной взаимосвязи, эффективность обработки ядрами блоков данных и передачи их другим ядрам для дальнейшей параллельной обработки (парадигма производитель-потребитель) разных размеров и цепочек разных размеров. На простом языке — тест Infinity Fabric.

В этом тесте я хотел показать вам, как время и частота влияют на многопоточную производительность процессора. Мы видим улучшения в задержке (21–28%) и пропускной способности Infinity Fabric (+17%). Это уникальное явление, которое доступно только процессорам Ryzen.

Cinebench R20.0

Blender 2.80

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

3DMark

Довольно неплохая реакция на разгон оперативной памяти, в лучшем сценарии мы можем наблюдать прирост в размере +17% по очкам. Так же хочу отметить один нюанс, сборка Windows 10 1903 и чипсетные драйверы 19.10 содержат обновленный алгоритм взаимодействия планировщика ОС с многоядерными процессорами Ryzen. Будьте внимательны, мои результаты могут быть куда хуже ваших из-за разных версий Windows.

Metro Exodus

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

Эта игра (как и многие другие) хорошо отреагировала на разгон, мы видим преимущество до 28% (Avg fps). Минимальный fps в этом тесте был довольно непредсказуемым. Возможно, причина в посредственной оптимизации игрового движка или планировщика Windows. Обычно это исправляется в патчах.

Assassin's Creed Odyssey

В этой игре даже при минимальных настройках качества я получил упор в видеокарту. Минимальная загрузка видео ядра составила 85%. Это означает, что тест является гибридной версией, и для раскрытия потенциала процессора Ryzen 7 2700X вам может потребоваться видеокарта, более мощная, чем GeForce GTX 1080 Ti.

Тем не менее, мы можем наблюдать значительное увеличение производительности из-за качественного разгона оперативной памяти (+30% fps).

The Witcher 3

Тест проводился в городе Новиград с одинаковым маршрутом для всех предустановок.

Эта игра любит тюнинг ОЗУ. Один из лучших результатов — +47% к среднему fps. Это означает, что вы можете наслаждаться комфортным игровым процессом на мониторе с частотой развертки 144 Гц.

Shadow of the Tomb Raider

+38% к среднему fps.

Сonclusions

Это руководство я планирую постоянно обновлять и дополнять. Возможно, будут добавлены дополнительные результаты тестирования в других играх, хотя в этом смысла не так уж много ибо большинство проектов продемонстрируют аналогичный рост производительности. Плюс 40% к среднему fps это не миф и не сказки. Это реальность, которую можно достичь, если у вас: а) железо подобрано грамотно; б) вы проявили пару дней терпения для прочтения и дальнейшего осознания сей писанины.

К сожалению, в Интернете существует множество обзоров, в которых недостаточно внимания уделяется настройке ОЗУ. И я не говорю о профилях XMP, которые в 99% случаев не имеют стабильности или имеют посредственную производительность. Из-за отсутствия стабильности я не включил типичные профили XMP 3600C16/19 в это руководство. Вы можете наблюдать огромный прирост fps, несмотря на то, что процессор работал в режиме по умолчанию (сток). Средняя частота процессора в играх колебалась от 3975 до 4075 МГц.

Одним из интересных нюансов, который возник во время тестирования — проблемы со стабильностью ОЗУ, когда процессор работал на частоте 4200 МГц. Я объясню. Процессор и оперативная память находятся на противоположных сторонах качелей. Если у нас чрезвычайно разогнанный процессор, то в большинстве случаев мы теряем несколько шагов при разгоне оперативной памяти и наоборот.

Поэтому я не советую ориентироваться на разгон процессора, если вы используете компьютер только для игр. В любой игре видеокарта будет самым слабым звеном во всей системе. В каждой игре произойдет увеличение производительности от разгона оперативной памяти. Вам не хватит одной карты GeForce RTX 2080 Ti, а в некоторых играх вам может понадобиться несколько таких адаптеров, чтобы раскрыть потенциал процессора.

Безусловным лидером в тестировании является оперативная память на чипах Samsung. Есть варианты с частотой 3200 МГц и CL14, а есть 4200 МГц и CL18, но в большинстве случаев вы переплачиваете за название. Казалось бы, тут пахнет отбором, но нет, в большинстве случаев обе плашки с одного комплекта будут иметь разные вольт-частотные характеристики. Большинство памяти на чипах Samsung B-die может работать в режиме 3466–3533 МГц с CL14. Если у вас проблемы с финансами, советую обратить внимание на SK hynix CJR, например G.Skill Sniper X 3600C19 или Ballistix 3000C15 AES на Micron E-die. Стоимость этих комплектов колеблется в районе 80–100 долларов. Вы получите высококачественную память, которая идеально подходит для процессоров Ryzen.

А что же ждать в будущем, на что стоит обратить внимание, а на что нет? Zen 2 — поколение процессоров, которое мне сложно назвать «рефрешем», это оказалось нечто большее, но об этом уже после 7-го июля. Х570 — «жирные» платы с большими амбициями, с PCI Express 4.0, с новым поколение топологии Daysi Chain, у которой предел ограничен только здравым смыслом. К примеру, в UEFI рубеж установлен на уровне 6000 МГц, против 4200 МГц на X470 и к нашему счастью это не маркетинг. Ближе к концу года мы увидим обновление для Samsung B-die с CAS 6,75 против текущих 8,75 нс.

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

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