Сравнение показателей IPC
Для тех, кто не знает: IPC (Instructions Per Cycle, количество исполняемых инструкций за такт) – это хороший показатель того, насколько быстро работает процессор, и одновременное сочетание высоких значений IPC и тактовой частоты обеспечивает максимальную производительность. Именно это мы наблюдаем у процессоров Intel Coffee Lake 8 поколения, и хотя AMD явно отстает, когда речь идет о частотах, эта компания реально приближается к показателям Intel в части IPC. Возможно, по этой причине многие из вас интересуются данным аспектом тестирования CPU.
Чтобы понять, насколько далеко AMD продвинулась в этом направлении, мы решили минимизировать количество параметров тестирования и в то же время максимально приблизить ситуацию к реальным условиям работы. Первый и наиболее очевидный шаг здесь – привести частоты ядер к единому постоянному значению, что мы и сделали, зафиксировав все ядра CPU на частоте 4 ГГц. Все опции технологии Boost были отключены, и, таким образом, частоты ядер не могли уйти за пределы 4 ГГц.
Процессоры 2 поколения Ryzen тестировались на материнской плате Asrock X470 Taichi Ultimate, а процессоры Coffee Lake – на плате
Asrock Z370 Taichi. В обеих конфигурациях во всех тестах использовалась одна и та же память G.Skill FlareX DDR4-3200 с профилем памяти 'Xtreme' и одна и та же видеокарта
MSI GTX 1080 Ti Gaming X Trio.
Мы сразу можем сказать, что эта статья не содержит рекомендаций для потенциальных покупателей – мы проводили тестирование в чисто исследовательских целях.
Процессоры Coffee Lake изначально имеют явное преимущество в тактовой частоте.
В данный обзор мы включили результаты тестирования процессоров Intel
Core i7-8700K,
Core i5-8600K и AMD Ryzen 7 2700X,
Ryzen 5 2600X и
Ryzen 7 1800X,
Ryzen 5 1600X.
Итак, теперь процессоры 1600X, 2600X и 8700K имеют одинаковый ресурс: 6 ядер и 12 потоков.
Процессоры 1800X и 2700X имеют преимущество – 8 ядер и 16 потоков, в то время как 8600K с 6 ядрами и 6 потоками, напротив, находится в невыгодном положении.
Все это следует иметь в виду, когда мы пойдем дальше. Приступим к результатам.
Бенчмарки
Начнем с теста на непрерывную пропускную способность памяти. Здесь мы видим, что процессоры 1 и 2 поколений Ryzen имеют практически одинаковую пропускную способность – около 39 ГБ/с. Между тем процессоры Coffee Lake, работая с той же самой памятью, ограничиваются значением пропускной способности около 33 ГБ/с, что на 15% меньше по сравнению с процессорами Ryzen.
Переходим к тесту Cinebench R15. Тут мы видим, что процессор 2600X показывает более высокие результаты по сравнению с 1600X – на 4% больше в многопоточном режиме и на 3% больше в однопоточном. А если мы посмотрим на 8700K, то увидим, что он на 4% быстрее 2600X в однопоточном режиме и на 4% медленнее в многопоточном.
Как вы могли ожидать, при одинаковой тактовой частоте процессоры Ryzen с 8 ядрами и 16 потоками в многопоточном режиме легко обходят 8700K. Я привел здесь эти результаты просто потому, что они у меня были. При соответствующем запросе я мог бы провести этот тест, например, с Core i7-7820X.
Следующий пункт – редактирование видео в PCMark 10, и этот тест дает более четкие результаты, хотя и до этого мы наблюдали заметную разницу между процессорами 1600X и 1800X. А здесь мы видим уверенный 10%-й прогресс при переходе от 1600X к 2600X, и это ставит AMD на один уровень с Intel в части производительности IPC (по крайней мере, в этом тесте).
Как показывают результаты Cinebench R15, используемая по максимуму технология AMD SMT (Simultaneous Multi-Threading) выглядит более эффективной, чем технология Intel HT (Hyper-Threading). Здесь процессор 1600X был быстрее 8700K на 3,5%, а 2600X – на целых 8%, и для данного примера это существенная разница.
Продуктивность / Производительность в приложениях
Для следующего теста мы взяли Excel, и здесь процессор 8700K был примерно на 3% быстрее, чем 1600X, – на той же тактовой частоте. Однако 2600X способен соревноваться с 8700K: он показал такое же время завершения при выполнении тестовой задачи – 2,85 с – впечатляющий результат.
В тесте HandBrake результаты процессоров AMD Ryzen были не столь блестящими: здесь мы видим, что 2600X может состязаться только с 8600K, а в сравнении с 8700K оказывается на 15% медленнее.
Переходим к бенчмарку Corona. Тут мы видим, что процессор 2600X может уменьшить время рендеринга на 8% по сравнению с 1600X, и при этом оказывается всего на 3% медленнее, чем 8700K. Таким образом, в этом тесте Intel пока удерживает преимущество в IPC, но оно минимально.
Следующий тест – Blender, и здесь 2600X был всего на 2,5% быстрее, чем 1600X, и на 4% медленнее, чем 8700K. Не слишком большая разница, и снова Intel удерживает преимущество в IPC – в этом тесте оно менее 5%.
В бенчмарке V-Ray мы видим, что процессор 2600X превзошел результат 1600X на 4% и был всего на один процент медленнее, чем 8700K, т.е. по существу оказался с ним на одном уровне.
Игровые бенчмарки
Настало время рассмотреть ряд игровых результатов, и здесь процессоры AMD отваливаются. Как я уже неоднократно говорил ранее, кольцевая шина Intel Ring Bus с низкой задержкой просто лучше подходит для игр, и мы это видим даже при сравнении этого решения Intel с их собственной архитектурой на базе Mesh Interconnect, разработанной для процессоров с большим числом ядер. Внутренняя шина AMD Infinity Fabric испытывает ряд проблем, и эти проблемы останутся до тех пор, пока игровые процессоры не потребуют большего количества ядер.
Таким образом, хотя процессор 2600X и превосходит 1600X на 8% в игре
Ashes of the Singularity, он в то же время заметно проигрывает 8700K – на целых 11% медленнее. То обстоятельство, что процессоры Intel работают со значительно более высокой тактовой частотой, разом увеличит это разницу до 20% или даже больше.
В игре
Assassin's Creed: Origins мы видим небольшое 2%-е превосходство процессора 2600X над 1600X, в то время как процессор 8700K на целых 14% быстрее.
Эта разница слегка уменьшилась при установке высоких графических настроек, но все равно, когда мы сравниваем средние значения частоты кадров, 8700K оказывается на 12% быстрее процессора 2600X.
В
Battlefield 1 с настройками ультра мы видим, что процессор 2600X на 9% быстрее процессора 1600X, но все-таки на 7% медленнее, чем процессор 8700K.
Эта разница становится еще больше при средних настройках, поскольку уменьшается влияние видеокарты GTX 1080 Ti. Здесь процессор 2600X снова демонстрирует 9% роста производительности относительно 1600X, но теперь он на 10% медленнее 8700K, что даже при этих настройках выглядит как ограничение производительности GPU.
Похожую картину мы наблюдаем в игре
Far Cry, где процессор 2600X на 10% быстрее 1600X – это очень большой прогресс, но даже тут он оказывается на 8% медленнее, чем 8700K.
Сравнение энергопотребления
Этот тест на энергопотребление проводился не в самых реалистичных условиях, поскольку при установке единой тактовой частоты 4 ГГц многие энергосберегающие опции были отключены. С научной точки зрения это также не вполне чистый эксперимент, потому что мне пришлось повысить напряжение на процессорах Ryzen сверх номинального значения – для стабилизации всех ядер на повышенной частоте 4 ГГц.
Приняв во внимание всё вышесказанное, мы видим, что системы с процессорами 1600X и 2600X потребляют в точности одинаковое количество энергии, в то время как система с 8700K потребляет на 3% меньше, т.е. при указанных условиях этот процессор чуть более эффективен.
В тестировании с
Far Cry потребляемая мощность везде была почти одинаковой – все процессоры доводят общее энергопотребление системы примерно до 380 Вт.
В тесте Blender мы видим снижение энергопотребления на 10% при переходе от процессора 1600X к 2600X. Для процессора 2600X это впечатляющее достижение, но при этом все равно он потребляет на 21% больше мощности, чем процессор 8700K.
На этот раз в тесте HandBrake система с процессором 2600X продемонстрировала на 7% большее энергопотребление, чем система с 1600X, и на ужасающие 32% большее, чем система с 8700K.
Заключение
Несмотря на достаточно большой дефицит тактовой частоты (по сравнению с аналогами от Intel), процессоры 2 поколения Ryzen в тестовых приложениях не так уж часто остаются далеко позади своих конкурентов, и теперь мы можем понять, почему – сравнив их на одной и той же тактовой частоте 4 ГГц. Например, в приложении Cinebench R15 мы видим, что в одноядерном режиме их производительность ниже всего на 3%, зато в многоядерном режиме технология SMT помогает процессорам AMD работать до 4% быстрее по сравнению с Intel.
В нашем исследовании процессоры AMD были на 3% медленнее Intel в тесте Corona, но в таких бенчмарках, как V-Ray, Excel и редактирование видео показали почти одинаковый с ними результат. В HandBrake они были на 15% медленнее, зато в PCMark 10 (тест на изображение в играх физических явлений) – на 8% быстрее. Конечно, это вопрос гейминга, и я готов поспорить – некоторые поклонники AMD надеялись на то, что мы спишем дефицит игровой производительности главным образом на тактовую частоту. К сожалению, это не так.
Основная проблема здесь – в способе соединения между собой ядер процессоров AMD, или, вернее, модулей CCX. Шина Intel Ring Bus отличается очень низкой задержкой и при распределении ресурсов всегда выбирает кратчайшие пути. Однако, как только мы добавляем дополнительные ядра, кольцевая шина увеличивается в размерах – для соединения всех ядер требуется больше колец – и ее эффективность снижается. Таким образом, процессоры Intel с большим числом ядер (например, 28) нуждаются в более оптимальном способе соединения ядер между собой. И в этих случаях отлично работает архитектура с Mesh Interconnect.
Однако мы уже знаем, что для 6-, 8- и 10-ядерных процессоров это не самое лучшее решение, и именно поэтому процессоры Core i7-7800X, 7820X и 7900X в играх заметно уступают 8700K. Процессор 8700K имеет среднее время задержки между ядрами около 40 нс, а у 7800X это время составляет от 70 до 80 нс.
Процессоры Ryzen устроены немного сложнее: внутри модуля CCX задержка между ядрами близка к тому, что мы видим у процессора 8700K, и не зависит от скорости работы памяти DDR4. Однако, как только мы выходим за пределы CCX, задержка между ядрами возрастает до 110 нс, и это уже связано с памятью DDR4-3200. С более быстрой памятью задержка между ядрами модулей CCX снижается, так как шина AMD Infinity Fabric привязана к тактовой частоте памяти, и DRAM с низкой задержкой здесь также очень помогает.
Еще одна проблема заключается в самих играх, поскольку почти все популярные игры разработаны в расчете на CPU всего лишь с несколькими ядрами, и мы только начинаем наблюдать некоторые шаги, предпринимаемые в направлении разбиения задач на части для параллельной обработки их ядрами CPU. До появления процессоров Ryzen игры разрабатывались и оптимизировались почти исключительно под процессоры Intel. Сейчас ситуация постепенно изменяется, так как улучшаются игровые характеристики процессоров Ryzen, но вряд ли мы в ближайшее время увидим их на одном уровне с процессорами Intel с шиной Ring Bus.
Однако в части производительности IPC AMD определенно сократила разрыв. Кэш с уменьшенной задержкой также реально помогает, и, таким образом, покупка процессора 2 поколения Ryzen несет в себе некоторые преимущества перед покупкой процессора Coffee Lake. Будет интересно понаблюдать за битвой между этими процессорами, которая развернется в 2018 г. и далее.