Что такое SMT и как оно работает в приложениях — плюсы и минусы
Пока я радую свои графоманские пристрастия написанием детальной технической статьи про «Windows Performance Station», захотелось поделиться своими мыслями о том, что хорошего и плохого приносит SMT в процессоры «AMD» и «Intel», и как тут поможет «Windows Performance Station».
Тем, кому интересна данная тема, добро пожаловать под кат…
Итак, для начала давайте определимся, что такое SMT.
Как говорит нам википедия, SMT (от англ. simultaneous multithreading) это одновременная многопоточность, т.е. несколько потоков выполняются одновременно, а не последовательно, как это происходит во «временно́й многопоточности».
Многие знают эту технологию под названием «Intel Hyper-Threading», про неё уже всё давно написано, но до сих пор я сталкиваюсь с тем что многие разработчики, и, тем более, обыватели не понимают в чём основная суть «одновременного» выполнения нескольких команд одним ядром процессора и какие проблемы это несёт.
Для начала поговорим про временну́ю многопоточность. До реализации технологии SMT в виде «Hyper-Threading» использовалась технология «временно́й многопоточности».
Тут всё просто, представим, что у нас есть один конвейер и один рабочий (Ядро ЦП), который выполняет операции над числами и записывает результат. Предположим, для этих операций ему нужна отвёртка и гаечный ключ. Операционная система (ОС) складывает нашему рабочему на конвейер по порядку одну операцию для отвёртки, а за ней одну операцию для гаечного ключа. Один рабочий в один момент времени может оперировать или только гаечным ключом или только отвёрткой. Таким образом, выкладывая разное количество разных блоков, ОС определяет приоритет выполнения тех или иных операций от разных приложений. Пропорцию одних блоков к другим мы можем указывать внутри ОС, когда указываем приоритет процесса. Именно это и делают все диспетчеры задач в т.ч. и «Windows Performance Station». Это приоритизирование распространяется далее на механизмы SMT и всю работу с конвейерами.
С появлением SMT ситуация становится чуть сложнее.
Представим конвейер и двух рабочих, у которых есть одна отвёртка и один гаечный ключ на двоих. При этом, каждый из них может оперировать либо только отвёрткой, либо только гаечным ключом. Один конвейер условно делится на две половинки вдоль. SMT позволяет сложить на такой конвейер сразу два числа, одно для работы с отвёрткой, а второе для работы с гаечным ключом, поэтому действия этих рабочих выглядят так:
— Первый рабочий получает операцию для отвёртки, а второй, стоящий напротив, в тот же момент времени, операцию для гаечного ключа, после чего оба записывают результат.
Исходя из этого, когда на конвейере находится операция (A и B) с одной стороны и (D и E) с другой стороны — всё отлично, но при распараллеливании цепочки вычислений могут получиться две проблемы:
1. С одной стороны конвейера оказалось действие (A и B) = С, а с другой (D и E) = C, т.е. нужно записать сначала одно значение C, а потом второе значение C, но не одновременно (конфликт по управлению).
2. С одной стороны конвейера оказалось действие (A и B) = C, а с другой (A и C) = D, т.е. нужно сначала посчитать C, а потом посчитать D, но не одновременно (конфликт по данным).
Оба конфликта вызывают задержку выполнения инструкций и решаются последовательным выполнением команд. Чтобы уменьшить такие задержки были введены элементы процессора под названием предсказатель переходов и кэш процессора.
Предсказатель переходов, как понятно из названия, осуществляет предсказание 🙂 Предсказывает он вероятность возникновения первой проблемы, когда разные преобразования должны произойти над одним числом.
В свою очередь, кэш процессора, необходим для быстрого решения второй проблемы, когда мы останавливаем решение выражения (A и C) = D и пишем в кэш результат выполнения (A и B) = C, после чего сразу вычисляем (A и C) = D.
Справедливости ради, стоит уточнить, что проблема распараллеливания конвейера появляется и у многоядерных процессоров без SMT, но у многоядерников не возникает момента простаивания процессора, когда на двоих рабочих одна отвёртка, т.к. в такой терминологии у каждого рабочего есть своя отвёртка и свой гаечный ключ.
Все эти пляски вокруг угадывания процессором того, как распараллелить текущие операции, приводят к серьёзным потерям энергии и к ощутимым фризам, когда происходит голодание разнотипных задач на ядрах с SMT.
Вообще, стоит держать в уме, что «Intel» разработала «Hyper-Threading» одновременно с созданием своих первых многоядерных процессоров «Xeon» и, по сути, эту технологию можно считать эдаким компромиссом когда ставится двойной конвейер на одно ядро.
С подачи маркетологов принято нахваливать то, как хорошо одно ядро может выполнять несколько задач одновременно и как повышается производительность «в некоторых сценариях использования», однако про проблемы, присущие концепции SMT принято умалчивать.
Примечательно, что на сайте «Intel» в рекламном ролике показывается скорее двухядерность, нежели «Hyper-Threading», тот кто дочитал до этого момента, наверняка уже догадался почему 🙂
Изображение из видео:
Более точное изображение:
Какой вывод можно здесь сделать и что улучшить?
Особенность отображения загрузки логических ядер в ОС Windows вводит путаницу об информации реальной загруженности ядер с SMT. Если Вы видите, что два соседних ядера заняты
50% это может означать две вещи: 1) оба ядра выполняют два параллельных расчёта и загружены на 50% (тут всё ок). 2) оба ядра выполняют один рассчёт попеременно (как если бы два рабочих через такт передавали друг-другу гаечный ключ). Поэтому, если Вы видите, что все ядра Вашего процессора с SMT загружены на 50% и выше нагрузка не поднимается, скорее всего это значит, что утилизация процессора составляет 100% но он занят однотипной задачей, которую не может разделить для выполнения на SMT!
Вместе с очевидными плюсами, SMT приносит фризы в чувствительные для времени выполнения задачи (воспроизведение видео/музыки или FPS в играх). Именно поэтому, многие геймеры наблюдают падение FPS при включенном SMT/Hyper-Threading.
Как я и написал ранее, приложение «Windows Performance Station» может сортировать блоки, выкладываемые на конвейер, ещё на этапе обработки задач ядром ОС. С помощью приоритетов и разделения процессов по ядрам процессора, можно выкладывать определённые блоки на конвейер в нужном количестве и класть разнотипные блоки для разных виртуальных ядер, чтобы не наступало голодание разнотипных задач. Именно для этой задачи динамического анализа в «Windows Performance Station» мы объединили нейросеть и диспетчер задач. В итоге, нейросеть анализирует задачу и раскладывает её в зависимости от полученных данных по разным правилам, благодаря чему, каждое ядро в паре SMT выполняет разные задачи.
Благодаря такому подходу, процессоры с SMT в Windows могут более эффективно работать с многозадачностью и многопоточными процессами. И именно поэтому нас весьма порадовало появление SMT в новых процессорах «AMD Ryzen».
Приложение «Windows Performance Station» бесплатное и не содержит рекламы, его можно скачать с нашего сайта по ссылке в спойлере:
Более подробно про Windows Performance Station можно прочитать в моей предыдущей статье
Процессору Ryzen 9 3900X отключили SMT и проверили, как это скажется на производительности
В играх это даже полезно
Линейка процессоров Ryzen 3000 сейчас насчитывает шесть моделей, одна из которых выйдет только в сентябре. Всех их объединяет одна особенность — поддержка SMT (аналог Hyper-Threading).
Появятся ли позже модели без поддержки SMT, неясно, но специалисты ресурса TechSpot решили проверить, какова будет производительность в этом случае. Для своего эксперимента они взяли CPU Ryzen 9 3900X и отключили у него поддержку SMT, сравнив при этом как с нормальной версией, так и с Core i9-9900K.
Тестировались процессоры исключительно в играх, потому что в целом сам тест был сделан с подачи читателей, которые попросили провести такое вот сравнение.
Игр было много, так что мы приведём лишь итоговые результаты.
Как можно видеть, в большинстве игр действительно отключение SMT позволяет Ryzen 9 3900X выступать лучше. Но, во-первых, не во всех, а во-вторых, зачастую разница составляет всего несколько процентов, что совершенно некритично.
Таким образом, можно предположить, что, если какие-то модели линейки Ryzen 3000 не будут иметь поддержки SMT, в играх от этого как минимум хуже не станет.
Приветствую. Сегодня я постараюсь простыми словами рассказать про одну функцию, которая позволяет повысить производительность процессора. Она давно уже существует в процах Intel и только относительно недавно появилась у AMD.
SMT Mode — что это такое?
Режим, при котором одно физическое ядро процессора представляется в виде двух виртуальных ядер, которые обрабатывают два потока данных вместо одного.
Другими словами это технология многопоточности, при включении которой производительность процессора повышается, потому что удается загрузить процессор по полной.
Для примера — посмотрите некоторые характеристики процессоров Ryzen, где видим, на одно ядро приходится два потока:
Потоки можно отключить, но тогда упадет производительность, правда и греться процессор будет меньше.
И опция SMT Mode именно активирует работу этих потоков. Нет смысла ее отключать.
SMT Mode — включать или нет?
При использовании последнего билда Windows 10, современных игр, последних драйверов, если у вас процессор Ryzen не первого поколения, а последнего — то в большинстве случаев отключение потоков снизит производительность. Сегодня многие баги связанные с многопоточностью уже устранили.
В интернете есть информация, что SMT стоит отключать для игр, в итоге повышается FPS. С чем связано? Смотрите, 6 ядер процессора — это 6 настоящих ядер, полноценных. Быстрых. А 12 потоков — это уже не полноценные ядра, могут выполнять больше работы, но не быстрее, потому что каждый такой поток работает медленнее одного ядра. Но суммарно 12 потоков смогут за одно время выполнить больше работы, чем 6 ядер и это при условии что софт оптимизирован под многопоточность. Но многим играм и правда достаточно 6 настоящих ядер (особенно если высокая частота), чем 12 потоков. Но повторюсь — все зависит от игры и от ее оптимизации.
Если игра оптимизирована под многопоточность, то отключение потоков только снизит FPS.
Кстати, что интересно.. у процессоров AMD FX по сути тоже присутствуют потоки. Хоть компания и представила их как 8-ядерные, там по сути 4 ядра и 8 потоков. Но отключить там потоки нельзя.
Когда только вышел Ryzen, то отключение потоков дало плюс в производительности. Но это было раньше. Сейчас уже все оптимизировали, в том числе и планировщик Windows.
Но при разгоне процессора SMT Mode стоит отключать.
Название раздела BIOS содержащий функцию зависит от производителя. Например на плате ASUS Prime X370 Pro функция SMT расположена здесь:
И имеет два варианта значений — Auto/Disabled. В тоже время на плате AsRock B450 Pro4 функция расположена здесь:
OC Tweaker/CPU Configuration
Значения опции — Enabled/Disabled.
Чтобы проверить отключена ли опция или нет, советую использовать CPU-Z — смотрим сколько ядер (Cores) и сколько потоков (Threads):
Утилита бесплатная, маленькая, не грузит ПК, поэтому советую. Можно скачать с офф сайта.
Если SMT Mode отключено — количество потоков будет равно количеству ядер.
Настройка в материнке MSI (раздел Overclocking\Параметры CPU):
Как видите, название может быть или SMT или Simultaneous Multi-Threading, все зависит от производителя/модели материнки.
Адрес этой статьи в Интернете: http://www.thg.ru/cpu/obzor_amd_ryzen_razgon/
Как разгонять процессоры AMD Ryzen?
Разгон процессора Ryzen | Наша платформа для разгона Процессор Intel Core i3 8100 для недорогих игровых систем
Про новое семейство настольных процессоров AMD Ryzen, включающее модели на восемь, шесть и четыре ядра, не слышали разве что какие-нибудь отшельники. В ближайшие месяцы также появятся и APU под брендом Ryzen.
Но сейчас нас интересует восприимчивость новых ЦП к разгону. AMD разблокировала множители всех моделей и буквально зазывает энтузиастов проверить свои навыки и бюджет на первых 14-нм процессорах компании.
Неужели Ryzen – настоящая мечта оверклокера? В первом обзоре мы уже пробовали «поиграть» с настройками, используя раннюю версию прошивки. И по мере заполнения линейки Ryzen 7 и Ryzen 5, мы вновь и вновь возвращаемся к тестированию архитектуры на нашей платформе с эффективным воздушным охлаждением, а также СВО с замкнутым контуром. Тем не менее, до сих пор потолок тактовой частоты не превысил 3,9-4 ГГц.
Сегодня мы постараемся развить тему разгона. Чтобы оценить влияние различных параметров BIOS на разгон, мы попробуем все регулировки восьмиядерного чипа. Для охлаждения мы используем водяное охлаждение, хотя в будущем, возможно, перейдём на систему с жидким азотом. Также мы проверим влияние скорости памяти и основной тактовой частоты на производительность системы.
Разгон процессора Ryzen | Опции BIOS
Параметры для разгона
Разгон через Windows удобен, но мы по-прежнему предпочитаем блокировать новые настройки через BIOS. Это вдвойне важно по отношению к новой платформе, такой как AMD Ryzen.
Напомним, что функция LLC (сокр. от load-line calibration) помогает стабилизировать напряжение ядра при высокой нагрузке на центральный процессор. Когда процессор находится в состоянии покоя (простаивает), он потребляет мало энергии и легко получает необходимые 1,35 В напряжения. Как только рабочая нагрузка увеличивается, напряжение немного падает (например, до 1,3 В), что негативно сказывается на стабильности. Для компенсации этого эффекта материнские платы, оснащённые функцией load-line calibration, могут увеличивать напряжение ядра под нагрузкой.
Мы попробовали несколько режимов, предложенных в Asus Crosshair VI Hero, и зафиксировали результаты с помощью вольтметра.
Выставив напряжение ЦП 1,35 В на всех профилях в простое, мы получили значение 1,357 В. Но под нагрузкой эта цифра можете значительно увеличиться.
Параметр
В простое
Под нагрузкой
LLC 1 (Auto)
1,357 В
1,36 В
LLC 2
1,357 В
1,37 В
LLC 3
1,357 В
1,4 В
LLC 4
1,357 В
1,42 В
LLC 5
1,357 В
1,44 В
Похоже, что настройки LLC завышают напряжение в простое. На уровне 1 увеличение под нагрузкой оправдано и не вызовет проблем. В ходе тестирования мы выяснили, что настройка Auto даёт похожие результаты, но для надёжности лучше зафиксировать параметр Level 1.
Последний уровень завышает напряжение с 1,35 В до 1,44 В – это слишком много.
Будьте аккуратны с настройками напряжения процессора. Значение 1,35 В в BIOS не означает, что процессор получает именно это напряжение, например, параметр LLC 5 добавляет почти десятую часть вольта. В связи с этим, мы замеряем напряжение в остальных тестах с помощью точек проверки напряжения на плате Asus.
Максимальные значения напряжения по рекомендации Asus
Рекомендуемое (воздушное охлаждение)
Максимальное (воздушное охлаждение)
Рекомендуемое (охлаждение LN2)
Максимальное (охлаждение LN2)
Напряжение ядра ЦП
1,40 В
До 1,45 В
1,80 В
До 1,95 В
Напряжение SOC
1,15 В
До 1,30 В
1,20 В
1,20 В
Напряжение ОЗУ1
1,40 В
До 1,90 В
1,80 В
До 1,90 В
Напряжение 1,8 В PLL
1,80 В
До 2,10 В
3,00 В
До 3,20 В
Напряжение 1,05 В SB
1,05 В
До 1,40В
1,30 В
До 1,40 В
Напряжение в режиме ожидания 1,8 В
1,80 В
До 2,10 В
2,10 В
До 2,30 В
Напряжение 2,5 В SB
2,50 В
До 2,80 В
2,70 В
До 2,80 В
1 Зависит от модулей ОЗУ; ограничение на стороне интегрированного контроллера памяти ЦП.
Подменю DRAM Timing Control открывает доступ к таймингам памяти, но сейчас доступно только пять опций. Корректные настройки памяти очень важны для этой платформы, поэтому мы посвятили их оптимизации целый раздел.
При включении меню «тренировки» (Training) в меню DRAM Timing Control доступны не все параметры. По крайней мере, на используемой прошивке версии 5803. Возможно, в будущих версиях BIOS AMD позволит производителям материнских плат разблокировать эти настройки.
Для повышения производительности в Windows AMD рекомендует использовать профиль высокой производительности. Какое влияние он оказывает? Чтобы ответить на этот вопрос, мы сами его проверили.
Помимо профиля в ОС мы включили опцию «Performance Bias» в BIOS и запустили Geekbench 4. Предполагается, что эта функция позволяет оверклокерам набирать больше очков на соревнованиях. Результаты в Geekbench являются средним значением из трёх последовательных прогонов.
Конфигурация
Одно ядро
Несколько ядер
Mem. Copy
Mem. Latency
Mem. Bandwidth
Режим: Normal Смещение: Auto
4705
23774
8183
5878
7276
Режим: Performance Смещение: Auto
4729
24240
8278
5885
7312
Режим: Performance Смещение: Geekbench 4
4756
24739
8528
6004
7369
Выбор высокопроизводительного профиля питания даёт небольшое ускорение. Но он может значительно повлиять на неразогнанный процессор, занижая его частоту в простое.
Опция «Performance Bias» в BIOS добавляет ещё немного производительности в Geekbench, даже в автоматическом режиме, установленном по умолчанию. Если изменить режим с Auto на Aida/Geekbench, отмечается прирост скорости в каждом из пяти тестируемых значений. Некоторые обозреватели материнских плат могут воспринимать это как читерство, но для соревнований оверклокеров это настоящая находка.
Разгон процессора Ryzen | Разгона BCLK и PCIe
Программа: Asus TurboV и Ryzen Master
Мы считаем, что программа Asus TurboV Core не совсем подходит для повседневного использования, но она облегчает настройку частоты BCLK в Windows (по какой-то причине она там называется частотой APU). TurboV Core обладает очень обширными настройками, которые позволяют на лету изменять множество различных параметров напряжения и коэффициенты множителя.
В процессе пользования TurboV Core мы нашли несколько ошибок, когда проверяли различные настройки напряжения. Мы вносили корректировки в Windows и наблюдали за их влиянием на температуру. Неожиданно, после установки напряжения ядра на 1,2 В, температура подскочила с 50 °C до 120 °C за одну десятую секунды. Тест Cinebench R15 даже не успел отобразить первый пиксель. Мы подумали, что выставили неверное значение. Несколько минут спустя температура снова поднялась до +114 °C, как раз перед очередным сбоем (по крайней мере, сработали встроенные функции защиты). Наконец, когда мы устанавливали напряжение на 1,1 В, температура повысилась до 98 °C. На этот раз ОС не вылетела. Мы взяли вольтметр и тщательно измерили напряжение питания.
Все компоненты остались рабочими, но мы обнаружили, что при настройке 1,1 В фактическое напряжение на плате составляло 1,7 В. Неизвестно, какое было напряжение при температуре +120 °C, но если напряжение в 1,7 В за несколько секунд разогрело чип до 98 °C, то расчётное напряжение, необходимое для практически мгновенного достижения 120 °C, приближается к 2 В. Процессоры Ryzen должны быть довольно живучими.
Мы сообщили об ошибке Asus, и представитель компании уверил нас, что она будет исправлена уже в следующей версии TurboV Core. Перед публикацией мы попробовали последнюю версию программы TurboV Core и обнаружили, что вместо установки неверного напряжения, приложение просто вылетает.
Несмотря на ошибки, мы предпочитаем программу Asus утилите AMD Ryzen Master. Последняя трудна в использовании, предлагает меньше настроек, а когда оно открыто, показатели производительности просто падают.
Разгон частоты BCLK
Разгон ЦП Ryzen ничем не отличается от других платформ. Есть базовая тактовая частота, которую Asus называет BCLK Frequency (частота BCLK), и она во много эквивалентна BCLK, знакомой по процессорам Intel.
Этот параметр очень важен, поскольку он переплетается со многими подсистемами: тактовой частотой процессора и памяти, а также портами USB, шиной PCIe и интерфейсами SATA. Его увеличение разгоняет почти все компоненты материнской платы.
Повышение значения частоты BCLK может вызывать проблемы со стабильностью каждого интерфейса. Поэтому Asus предлагает использовать интерфейсы, подключённые непосредственно к процессору – они хорошо выдерживают разгон. При очень интенсивном разгоне Asus даже рекомендует накопитель M.2, поскольку он подключён к CPU через шину PCIe.
Изменение частоты BCLK
Многие материнские платы не позволяют изменять частоту BCLK, блокируя её на уровне 100 МГц. Но некоторые производители добавляют на высокопроизводительные платформы внешний тактовый генератор. Если вы планируете экспериментировать с частотой BCLK, убедитесь, что на вашей плате такой присутствует. На момент написания данной статьи в продаже было всего три или четыре таких модели.
В нашей конфигурации мы достигли стабильной частоты BCLK 148 МГц и не столкнулись с проблемами на интерфейсах USB или SATA. Чтобы предотвратить завышение базовой тактовой частоты, необходимо снизить множители ЦП и памяти. Однако шина PCIe испытывает трудности при увеличении её частоты.
Ошибка: чтобы превысить значение 110 МГц на нашей материнской плате, нам пришлось оставить параметр SMT в режиме Auto. В этом режиме SMT активна, но когда мы установили параметр Activated, плата не загружалась при значениях BCLK выше 110 МГц.
При загрузке
В ОС
100 МГц
104 МГц
110 МГц
115 МГц
120 МГц
127 МГц
130 МГц
138 МГц
140 МГц
148 МГц
148 МГц
154 МГц
Управление шиной PCI Express
Платформа Socket AM4 поддерживает управление шиной PCIe третьего поколения. Повышая частоту BCLK, в определённый момент материнская плата откатывается к стандарту PCIe 2.0. Чем выше выбранная частота, тем выше частота смещения. Полагая, что это связано с шиной PCIe, мы попытались установить скорость передачи данных для первого поколения, но не увидели изменений.
Интервал частоты BCLK
Пропускная способность PCI Express
Фактическая пропускная способность на линии
85 до 104,8 МГц
Gen 3, 8 ГТ/с (985 Мбайт/с)
837 до 1032 Мбайт/с
105 до 144,8 МГц
Gen 2, 5 ГТ/с (500 Мбайт/с)
525 до 724 Мбайт/с
145 МГц+
Gen 1, 2.5 ГТ/с (250 Мбайт/с)
313 Мбайт/с+
Эти изменения почти не влияют на производительность графической системы, по крайней мере, мы не заметили этого ни в одном из тестов на GeForce GTX 1080. Поэтому мы предлагаем использовать либо 104,8, либо 144,8 МГц. При желании, можно вручную зафиксировать поколение PCIe через BIOS платы Asus. Но будьте осторожны: слишком высокое значение параметра BCLK Frequency с плохо адаптированной скоростью передачи данных может привести к нестабильной работе шины PCIe.
Разгон процессора Ryzen | Температура и влияние PLL
Как вы знаете, процессоры Ryzen содержат многочисленные датчики, которые позволяют управлять частотой и напряжениями в зависимости от температуры процессора. Поэтому важно изучить эту взаимосвязь. Когда температура чипа превышает 95 °C, производительность сбрасывается.
Кроме того, мы пришли к выводу, что смещение на 20 °C является приблизительным и может меняться в зависимости от напряжения и уровня нагрузки на процессор. Таким образом, наши измерения и показатели температуры для 1700X и 1800X не являются абсолютно точными.
Напоминаем, что мы используем систему водяного охлаждения be quiet!’s Silent Loop 280. Процессор тестировался при разных уровнях напряжения, и каждый раз применялась соответствующая частота. Чем выше напряжение, тем выше температура.
Настройка напряжения (В)
Частота (МГц)
Напряжение PLL @1,8 В Температура (°C)
Напряжение PLL @1,9 В Температура (°C)
1,0
3450
46
55
1,1
3700
52
60
1,2
3850
56
65
1,3
4000
63
71
1,4
4100
69
78
Настройка напряжения (В)
Напряжение PLL @1,8 В Скорректированная температура (°C)
Напряжение PLL @1,9 В Скорректированная температура (°C)
1,0
26
35
1,1
32
40
1,2
36
45
1,3
43
51
1,4
49
58
Наша таблица показывает измеренную температуру не только при стандартном напряжении PLL 1,8 В, но также и при 1,9 В. Зачем это нужно? Дело в том, что материнская плата самостоятельно изменяет этот параметр всякий раз, когда вы поднимаете частоту ядра. Поэтому мы получили некогерентные данные. Проведя более глубокий анализ, мы поняли, что это напряжение меняется и оказывает существенное влияние на температуру. В связи с этим мы повторно провели тесты, установив напряжение PLL на фиксированное значение 1,8 В, при котором у нас не возникало проблем со стабильностью.
Участвующие в тестах процессоры идентичны и поступили с одной производственной линии. Есть ли смысл тратиться на самую дорогую модель? Чтобы узнать ответ, мы сравнили их базовые частоты и максимальный разгон при нагрузке на восемь ядер. Память была разогнана до 3200 МГц, а остальные настройки BIOS остались по умолчанию.
Модель
Частота (МГц)
Напряжение (В)
Температура (°C)
Ryzen 7 1700
3200
1,07
35
Ryzen 7 1700X
3500
1,16
52 / 32
Ryzen 7 1800X
3700
1,23
58 / 38
Учитывая базовое напряжение ядра 1,07 В (по сравнению с 1,16 и 1,23 В у более дорогих чипов), преимущество у младшего ЦП Ryzen 7 1700. Конечно, температура зависит от параметра Vcore, но из-за смещения AMD наше сравнение не совсем точное.
Модель
Частота (МГц)
Напряжение (В)
Температура (°C)
Ryzen 7 1700 OC
3975
1,35
45
Ryzen 7 1700X OC
3950
1,35
63 / 43
Ryzen 7 1800X OC
4050
1,35
66 / 46
При базовых настройках 1800X имеет явное преимущество, но после разгона разница сокращается. Если вы не боитесь разгона, мы рекомендуем Ryzen 7 1700, поскольку он дешевле.
Ryzen 7 1700 служит базой. На частоте 3200 МГц (на восьми ядрах) он набирает 1440 баллов в Cinebench R15. Он далёк от Ryzen 7 1800X с результатом 1640 баллов. Разницу в 14% объяснить совсем нетрудно, учитывая преимущество 1800X в заводском состоянии на 500 МГц.
Ryzen 7 1700 уступает топовому 1800X менее 2%. Удивительно, что 1700X показал меньший результат. Более низкой частотой это не объяснить. Даже при одинаковой тактовой частоте наш образец 1700X постоянно уступает модели 1700.
Разгон процессора Ryzen | 1800X: максимальный разгон и масштабирование
Учитывая, что 1800X является лучшим кандидатом на разгон, остальные эксперименты мы проводили с ним.
В этом разделе рассматривается поведение процессора при различном напряжении ядра. Мы начинаем с заниженного напряжения и заканчиваем завышенным. Чтобы сэкономить время, мы используем довольно короткий тест (Cinebench R15), поэтому полученные значения могут не соответствовать максимальному стабильному разгону. Однако при более высокой нагрузке изменения должны быть аналогичными.
Соотношение максимальной тактовой частоты (МГц) и напряжения (В)
Небольшое увеличение напряжения даёт явное повышение тактовой частоты. Но по мере роста значения Vcore выигрыш в частоте сокращается. Переход с 1,0 В на 1,1 В позволяет повысить тактовую частоту на 250 МГц, но с 1,3 до 1,4 В прирост сокращается до 100 МГц.
В таких условиях нам трудно рекомендовать напряжение ядра более 1,3-1,35 В для повседневной работы. Для бенчмаркинга напряжение можно без особого риска довести до 1,4 В.
Тактовая частота (МГц) и количество баллов при различном напряжении
Производительность в тесте Cinebench сильно зависит от тактовой частоты, поэтому мы видим сильную взаимосвязь между тактовой частотой и количеством баллов. Но этот тест также хорошо реагирует на многопоточность. Отключение SMT (и, следовательно, восьми из шестнадцати логических ядер) позволяет добиться более высокой тактовой частоты, но очень негативно сказывается на результате.
Разгон процессора Ryzen | Скорость оперативной памяти
Разгон исполнительных ядер ограничен доступным запасом мощности. И если вы действительно хотите повысить эффективность этой платформы, не стоит игнорировать шину памяти.
Начнём с иллюстрации прироста скорости, достигаемого за счёт перехода с DDR4-2400 на 3200. Наша системная плата Crosshair VI Hero выставляет память в режим 2400 по умолчанию. На других материнских платах это значение может быть ниже (не без последствий).
Этот тест не чувствителен к полосе пропускания памяти или задержкам, поэтому прирост скорости должен быть минимальным. Тем не менее, влияние ОЗУ на производительность есть, поскольку результат улучшился на 1,4%.
Конфигурация
Результат
2400
1639
3200
1663
Этот тест нагружает как центральный процессор, так и подсистему памяти. Результаты в задачах на одно и несколько ядер показали увеличение производительности при переходе на более высокую скорость передачи данных на 5% и 6%. Это довольно неплохой выигрыш от простого изменения множителя, при том, что память, способная поддерживать скорость 3200 МГц, стоит не очень дорого. Показатели в Geekbench 4 являются средними из трёх последовательных прогонов.
Конфигурация
Одно ядро
Несколько ядер
Mem. Copy
Mem. Latency
Mem. Bandwidth
2400
4417
20786
6229
4697
5568
3200
4635
22150
7546
5651
7094
Графические задачи обычно не сильно выигрывают от увеличения пропускной способности памяти. Прирост есть, но очень маленький. С другой стороны, результат в ЦП-зависимом бенчмарке повысился на 343 балла.
Конфигурация
Графика
ЦП
Общий балл
2400
7204
8010
7314
3200
7217
8353
7367
Разгон процессора Ryzen | Частота BCLK
Для нашего набора памяти G.Skill Flare X в меню D.O.C.P (Direct Over Clock Profile) есть пять предустановленных профилей ОЗУ. Direct Over Clock Profile – это аналог технологии Intel XMP от Asus / AMD.
Зачем перебирать эти настройки? Дело в том, что AMD заблокировала ряд таймингов ОЗУ в BIOS, поэтому они не доступны пользователю напрямую.
Нажмите на изображение для увеличения
На скриншоте выше представлены тайминги при загрузке системы с разными коэффициентами памяти. Жёлтым прямоугольником выделена частота памяти. Основные тайминги отмечены синим цветом. Они меняются в зависимости от коэффициента умножения памяти, но могут быть принудительно включены в BIOS.
Другие тайминги выделены зелёным цветом, но они недоступны. Если вы посмотрите внимательно, то увидите, что чем выше коэффициент умножения ОЗУ, тем выше эти значения. Более высокие тайминги снижают производительность, поэтому желательно, чтобы они были как можно ниже.
Естественно, первая конфигурация должна быть быстрее. Посмотрим, как это отразится на реальной производительности. Базовая тактовая частота изменена, и мы вручную корректируем коэффициент множителя процессора так, чтобы его конечная частота была как можно ближе к 4050 МГц. После внесения изменений проблем со стабильностью работы у нас не возникло.
Мы начнём с теста Cinebench R15. Поскольку он проявляет очень низкую чувствительность к пропускной способности и задержкам памяти, разница в скорости между настройками D.O.C.P. 5 и 2 очень мала. Хотя и 10 баллов могут стать достижением для оверклокера, для рядового пользователя такой прирост не интересен. Если вручную изменить тайминги на 12-12-12-12 вместо 14-14-14-14, моно получить ещё пять баллов.
Тесты одноядерной производительности, как правило, менее чувствительны к ОЗУ, и разница между настройками D.O.C.P. 5 и 2 составляет всего 2%. Подстройка таймингов даёт ускорение ещё на 1%.
В многоядерном тесте ускорение составило 4%. Если допустить, что изменение количества баллов абсолютно линейное, то увеличение на 4% эквивалентно увеличению тактовой частоты 200 МГц.
Если принять во внимание улучшение результата на 6% от увеличения частоты ОЗУ с 2400 до 3200 МГц, то общее ускорение составит 10%, что эквивалентно почти 500 МГц. Неплохо!
Графический тест плохо реагирует на повышенную скорость передачи данных. Возможно, меньшие тайминги смогут улучшить ситуацию: чем быстрее память, тем больше баллов!
Разница в 0,5% незначительна и соответствует всего 0,2 кадрам в секунду при среднем значении 30 кадров в секунду. Это довольно неожиданные результаты, особенно если учесть, что параллельно происходит оценка ЦП.
Ashes of the Singularity
Мы провели ещё одно сравнение в тесте на основе игры Ashes of the Singularity. Мы выбрали ЦП-ориентированный тест с максимальными настройками графики. Тест проводился до выхода патча с оптимизациями для Ryzen, хотя по большому счёту он остался прежнем.
Частота кадров в Ashes of the Singularity
Повышение частоты памяти с 2133 МГц до 2400 МГц даёт увеличение результатов на 4,1%. Частота выше, да, но тайминги больше, эти два факта частично исключают друг друга.
Переход на 3200 МГц приводит к повышению частоты кадров на 13%. Поскольку тест очень чувствителен к скорости оперативной памяти, мы подозреваем, что из одного CCX в другой передаётся много данных. Если на интерфейс между CCX влияет частота памяти, логично, что это узкое место можно устранить путём повышения производительности ОЗУ.
Применяя методику оптимизации таймингов памяти с высокой скоростью передачи данных (достигается путём увеличения частоты BCLK), мы улучшили результат на 31%.
Максимальная частота ОЗУ
Мы уже много раз слышали, что возможности разгона памяти с Ryzen ограничены, но хотели проверить это самостоятельно. В итоге было нетрудно получить DDR4-3200 на CAS12. Но что дальше?
Добиться частоты 3400 МГц тоже было легко. Выбираете настройку в BIOS – материнская плата загружается. По крайней мере, так обстоит дело с нашей материнской платой Crosshair VI Hero. Раньше у новой платформы AMD отмечались проблемы с этой настройкой. Но ситуация, похоже, улучшается.
После 3400 МГц разгонять ОЗУ сложнее. Результаты отличаются на разных процессорах и сильно зависят от материнской платы. В диапазоне 3400-3650 МГц было очень много сбоев и нам часто не удавалось загрузить систему. Однако система оказалось работоспособной при частоте памяти 3800 МГц. По умолчанию выставляются тайминги CAS14, но мы без проблем выставили CAS12 вручную.
Естественно, мы пытались запускать наши тесты с такой скоростью передачи данных, но система была слишком нестабильной. После трёх часов попыток получить результат в Cinebench, мы всё-таки сдались.
Тем не менее, Ryzen способен работать с такими частотами ОЗУ, правда, сегодня это сопряжено с некоторыми трудностями из-за незрелости платформы. Плата Asus относится к лучшим моделям, но и она не идеальна. Возможно, в будущем после дополнительных обновлений BIOS каждый пользователь получит доступ к более высокой скорости передачи данных и дополнительной производительности.
Разгон процессора Ryzen | Заключение
Мы потратили много часов на разгон процессора Ryzen на плате Asus Crosshair VI Hero. Разгонять было несколько сложнее, чем мы привыкли из-за множества ошибок в ещё свежей платформе AMD Socket AM4.
Конечно, начинать на новой платформе всегда сложнее. Но в AMD, похоже, не позаботились о предоставлении энтузиастам достаточного объёма информации перед запуском, поэтому на изучение различных настроек тратится много времени.
Кроме того, доступные параметры и их значения постоянно меняются. Регулярные обновления BIOS с исправлением ошибок часто требуют сброса старых настроек и повторной регулировки с нуля. Нам вообще казалось, что мы никогда не закончим, ведь с момента публикации этой статьи на французском Tom’s Hardware вышло много обновлений.
Но когда мы собрали все необходимые данные, разгон Ryzen показался нам детской игрой. Повысить множитель, отрегулировать скорость передачи данных – всё интуитивно понятно.
Разгон частоты BCLK и ОЗУ
Если вы хотите добавить 4-5% к быстродействию, то понадобится материнская плата, которая позволяет изменять базовую частоту, как наша Crosshair VI Hero. Нужно будет проанализировать наши данные и попробовать повторить некоторые наши эксперименты, используя выбранные параметры и настройки.
Энтузиастам мы рекомендуем восьмиядерный процессор Ryzen 7 1700, поскольку при сильном разгоне разница между ним и топовым 1800X будет незначительной.