Исследуем разгонный потенциал шины Infinity Fabric (Zen)

для раздела Блоги
Начислено вознаграждение
Этот материал написан посетителем сайта, и за него начислено вознаграждение.

Предупреждение: Особых предупреждений нет, хотел бы я сказать...

реклама

Предупреждение 1: Понимание происходящего в данной статье может быть непостижимым, если так случилось - в конце статьи есть краткие выводы.

Предупреждение 2: Ввиду полного отсутствия каких-либо доступных методов управления шиной IF, поиск ее пределов будет осуществлен в основном по косвенным признакам.

реклама


реклама


реклама



реклама


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


Суть мифа: Частота шины Infinity Fabric (далее IF) = эффективная частота ОЗУ / 2, например: ОЗУ работает на частоте 3200 МГц, значит IF будет работать при частоте 1600 МГц.

На первый взгляд все выглядит логично, если конечно опустить некоторые проблемы данной "формулы" (которые прекрасно будут видны в результате тестов), и конечно если не придираться к словам "проговорившегося" возможно* представителя AMD на Reddit.
* - Лично я не переписывался, так что без понятия кто именно давал ответ, и был ли это ответ именно представителя AMD, и насколько он правдивый.

Взять, например, CPU-Z, который рапортует о том, что частота КП 1666 МГц, работает ли с такой же частотой шина IF? не факт, и в случае с ZEN и ZEN+, такие частоты, как показала практика, для шины IF недостижимы на постоянную работу, и это будет наглядно подтверждено результатами тестов.

           


      Суть теста для проверки скорости шины IF: Измерение времени доступа между ядрами из разных CCX, в данном случае отлично подойдет SiSoftware Sandra, а так же, для разнообразия, будут тесты в других приложениях.
Важно: Частота ядер процессора должна быть зафиксирована на протяжении всех замеров, работающий BOOST скорее всего внесет значительную погрешность, из за множества факторов, от которых зависит работа технологии.

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

Для начала, покажу собранные прошлогодние результаты, с процессором Ryzen 5 2600X и памятью Geil GP416GB2400C16SC, те самые, когда тестировал просто из интереса, и после перейдем к более подробному тестированию, уже используя процессор Ryzen 3 1200.


Sandra & Aida64, CPU 2600X: 3.87 GHz Fixed
1333 MHz
1866 MHz
2133 MHz
2400 MHz
2666 MHz


Результаты Sandra, продублированы в текстовые документы, благодаря чему, не составило труда вычислить среднее арифметическое значение задержек, и наглядно представить результаты.
Среднее арифметическое значение брал среди результатов, относящихся только к ядрам из разным CCX, результаты задержек, среди ядер одного модуля CCX, не учитываются, мы ведь ищем разницу скорости шины IF...

Частота ОЗУ Latency (среднее арифметическое) PhotoWorxx
1333 MHz (0%) ~175 ns (0%) 6 427 (0%)
1866 MHz (+40%) ~140.5 ns (-20%) 8 926 (+39%)
2133 MHz (+14%) ~135 ns (-4%) 9 987 (+12%)
2400 MHz (+12.5%) ~123 ns (-9%) 11 091 (+11%)
2666 MHz (+11%) ~123 ns (-0%) 12 414 (+12%)


Процентная разница по отношению к предыдущему значению была округлена для удобства.    
Тест PhotoWorxx реагирует преимущественно на пропускную способность памяти, поэтому разница растет за разницей в частоте ОЗУ, а вот задержки взаимодействия между разными CCX, снижались ровно до частоты ОЗУ в 2400 МГц, при дальнейшем повышении частоты ОЗУ задержки не изменяются в большинстве времени.

Иногда задержки опускаются прямо во время проведения теста, до уровня ~111нс, но это не частое явление и бывает только при частотах ОЗУ в 2666 МГц или выше.
Не уверен что получится такие моменты "ускорения" шины IF обнаружить используя Ryzen 3 1200, ввиду малого количества ядер у процессора.


Отчетливо видно, что часть одного из тестов, прошла при более высокой частоте шины IF чем обычно, в данном случае ОЗУ работала при частоте 2866 МГц, я не стал включать все результаты старых тестов в статью, ничего примечательного в них больше нет.


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

Ryzen 7 1700 & Ryzen 5 2600x



Какие собственно выводы можно сделать на основе полученных данных?

1) Частота IF не может быть выше эффективной частоты ОЗУ / 2

2) Частота IF может быть ниже эффективной частоты ОЗУ / 2

3) Частотой IF невозможно управлять вручную, IF сама выбирает частоту на которой будет работать, и делает она это динамически во время работы.

4) Частота IF не привязана к частоте ОЗУ, но она ограничена частотой ОЗУ.

5) Потолок скорости шины IF по данным Sandra: ~110-112 ns.

6) На этом можно было бы закончить статью, но тогда будет неизвестно, как поведет себя шина IF у моего текущего Ryzen 3 1200, поэтому продолжаем.




Тестовая система:

Теперь настало время более подробного тестирования, использовать я буду следующую конфигурацию:

CPU: AMD Ryzen 3 1200
MB: MSI B450-A PRO MAX
Cooler: Кастом на основе Titan TTC-NK34TZ/RF(BX)
RAM: 2x Samsung M378A1G43TB1-CTD
VGA: Sapphire Radeon RX 560 OC (20.1.2)
Storage: SATA порты: 3-4-5-6, 1x 1TB HGST HTS541010A9E680, 3x 1TB TOSHIBA DT01ACA100
OS: Windows 7 x64 SP1


Замеры будут проводится при следующих параметрах:

CPU: 3.85 GHz
RAM: 1600 MHz, 1866 MHz, 2133 MHz, 2400 MHz, 2666 MHz, 2800 MHz, 2933 MHz, 3200 MHz, 3333 MHz.
VGA: GPU: 1420 MHz, vRAM: 2000 MHz.
Swap file: OFF

Т.к. у системной платы от MSI, нету множителя для частоты 1333 МГц, начинать буду с частоты ОЗУ в 1600 МГц.


Софт участвующий в тестировании:

-SiSoftware Sandra        
-AIDA64
-DiRT Rally (EGO 3.0, v1.1.114.5105, оверлей Steam отключен, встроенный тест)
-GRID 2 (EGO 3.0, v1.0.85.8679, AVX, оверлей Steam отключен, встроенный тест)
-Forward to the Sky (Unity, v4.7.0, оверлей Steam отключен, MSI Afterburner)

   

Методика тестирования:

1) Настройка таймингов ОЗУ для каждого уровня (1600 МГц, 1866 МГц и т.п.).

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

-Для экономии времени (т.к. много профилей частотных нужно настроить), использовался метод разгона ОЗУ, описанный в предыдущей моей статье, а так же ручная "доводка" таймингов.

-Из за большого количества частот, я не буду тестировать на максимальную стабильность (24/7) профили, т.к. это займет очень много времени...

2) Проведение тестов с использованием настроенных профилей частоты/таймингов ОЗУ.

3) Сохранение результатов.

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



Результаты в играх: Будут получены средствами встроенных тестов, за исключением Forward to the Sky, в данной игре не предусмотрено встроенных средств тестирования, поэтому для получения результатов будет использован MSI Afterburner, в самом начале игры после высадки, 1 минута тестирования в неподвижном состоянии персонажа и камеры.


Теперь перейдем к настройкам, при которых будут проведены тесты:

Grid 2 (AVX):
Настройки игры были подобраны так, чтобы видеокарта на протяжении всего теста, не доходила до состояния полной загруженности.


DiRT Rally:
Аналогично и в этой игре, настройки подобраны так, чтобы видеокарта не доходила до состояния полной загруженности.


Forward to the Sky:
Не стоит пугаться максимального качества графики, на таких настройках хватит даже GT1030 GDDR5 чтобы "посадить" любой процессор, настолько суровые разработчики на Unity бывают...



Софт предварительно настроен, профили - частоты, проводим тесты, собираем результаты и переходим к сводке.


Сводка результатов:

ОЗУ SiSoftware Sandra AIDA64 DiRT Rally GRID 2 Forward to the Sky
1600 MHz
1866 MHz
2133 MHz
2400 MHz
2666 MHz
2800 MHz
2933 MHz
3200 MHz
3333 MHz

 - Из-за невнимательности, я забыл запустить Ryzen Timing Checker на частотах 1600 МГц и 1866 МГц, и чтобы не делать тесты заново, я добавлю отдельно скрины RTC.

1600 MHz 1866 MHz 2133 MHz 2400 MHz 2666 MHz 2800 MHz 2933 MHz 3200 MHz 3333 MHz

      

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

Полученные данные:

-Для игр взят средний FPS, для Sandra - среднее арифметическое задержек между ядрами из разных CCX.

Краткая сводная таблица

ОЗУ SiSoftware Sandra AIDA64 PhotoWorxx AIDA64
Latency
AIDA64
Read
DiRT Rally GRID 2 Forward to the Sky
1600 MHz (0%) ~166.4 ns 16 402 ~111 ns ~25 178 MB/s 172.6 FPS 124.5 FPS 37.9 FPS
1866 MHz (+16,6%)  ~149.1 ns
(-10.4%)
18 056
(+10.1%)
~101.6 ns
(-8.5%)
~29 308 MB/s
(+16.4%)
186.2 FPS
(+7.9%)
131 FPS
(+5.2%)
38.7 FPS
(+2.11%)
2133 MHz (+14.3%) ~143.8 ns
(-3.5%)
19 555
(+8.3%)
~92.9 ns
(-8.6%)
~33 478 MB/s
(+14.2%)
196.7 FPS
(+5.6%)
139.6 FPS
(+6.6%)
39.7 FPS
(+2.6%)
2400 MHz (+12.5%) ~134.5 ns
(-6.5%)
21 010
(+7.4%)
~87 ns
(-6.3%)
~37 597 MB/s
(+12.3%)
209.7 FPS
(+6.6%)
148.5 FPS
(+6.4%)
41.1 FPS
(+3.5%)
2666 MHz (+11.1%) ~127.4 ns
(-5.3%)
22 053
(+5%)
~79.7 ns
(-8.4%)
~41 728 MB/s
(+11%)
213 FPS
(+1.6%)
151.9 FPS
(+2.3%)
41.3 FPS
(+0.5%)
2800 MHz (+5.0%) ~123.7 ns
(-2.9%)
22 510
(+2.1%)
~78.1 ns
(-2.1%)
~43 720 MB/s
(+4.8%)
213 FPS
(0%)
154.7 FPS
(+1.8%)
41.9 FPS
(+1.4%)
2933 MHz (+4.75%) ~117.5 ns
(-5.0%)
23 017
(+2.2%)
~76.7 ns
(-1.7%)
~45 662 MB/s
(+4.4%)
217.7 FPS
(+2.2%)
160.3 FPS
(+3.6%)
41.6 FPS
(-0.7%)
3200 MHz (+9.1%) ~116.4 ns
(-0.9%)
23 628
(+2.6%)
~73.8 ns
(-3.8%)
~49 307 MB/s
(+8%)
221.4 FPS
(+1.7%)
158.8 FPS
(-0.9%)
42.2 FPS
(+1.4%)
3333 MHz (+4.2%) ~115.8 ns
(-0.5%)
24 172
(+2.3%)
~71.6 ns
(-3%)
~51 508 MB/s
(+4.5%)
223 FPS
(+0.7%)
160 FPS
(+0.8%)
42.4 FPS
(+0.5%)


SiSoftware Sandra:

Для начала разберем задержки полученные при помощи Sandra, наибольшая разница получилась между 1600 и 1866 МГц, после 1866 МГц задержки снижались, но делали это в пределах 3 - 6.5%, конечная остановка оказалась 2933 МГц, после этого значения задержки изменялись слишком слабо.
Из этого можно сделать вывод: конкретно для моего экземпляра Ryzen 3 1200, потолок рабочей частоты для шины IF оказался 1466 МГц (2933 МГц ОЗУ), при тестовой нагрузке от Sandra.

При частотах 3200-3333 МГц, задержки уперлись в уровень ~116 ns, что идентично для R5 2600X (с учетом количества ядер), который я тестировал год назад, уровень задержек R5 2600X оказался примерно таким же, единственное что различает R5 2600X и R3 1200 в данном случае, это то, что для R5 2600X потребовалась частота ОЗУ всего 2666 МГц, когда для R3 1200 потребовалась частота ОЗУ минимум 2933 МГц.

Как оказалось, при равной частоте ОЗУ в 2666 МГц, R3 1200 не способен рядом встать по задержкам с R5 2600X, даже несмотря на около равные частоты ядер (3.85 ГГц и 3.87 ГГц), и более быструю память в паре с R3 1200.

При 2666 МГц ОЗУ, R3 1200 остановился на значении около 127ns, в то время как R5 2600X уже при 2400 МГц ОЗУ, держит около 123 ns, а при частоте ОЗУ в 2666 МГц, способен кратковременно опускать свои задержки до уровня ~111 ns, за R3 1200 я не заметил такого поведения, чтобы уровень задержек, в таких же условиях, падал ниже ~127 ns.

Но при частотах 2933 МГц и выше, R3 1200 способен был иногда доходить до 110-113ns, преимущественно на частотах 3200-3333 МГц, естественно при тестовой нагрузке от Sandra (по причине редкости таких событий, я не стал создавать отдельную таблицу под такие результаты).


AIDA64 PhotoWorxx:

Как известно, данный тест любит пропускную способность (далее ПСП) ОЗУ, но так же он любит скорость межъядерного взаимодействия.

При переходе от частоты ОЗУ 1600 МГц, к 1866 МГц, результат прибавил ровно столько, сколько изменились задержки межъядерного взаимодействия - на 10%, и это при росте частоты ОЗУ и ПСП на 16%.

При частотах ОЗУ 2133-2400 МГц, результат увеличивался по ~8%, но при переходе к частоте ОЗУ 2666 МГц, результат увеличился лишь на 5%, даже несмотря прибавку в 11% к ПСП ОЗУ.

При частотах ОЗУ 2800 МГц и выше, прибавка вовсе составляла чуть более 2%, даже при разнице в ПСП ОЗУ 8%...

Исходя из такого поведения, можно предположить следующее: PhotoWorxx интенсивнее использует шину IF, чем Sandra, и как следствие, Sandra показала лимит на уровне 2933 МГц, при котором задержки перестают значительно снижаться, а вот PhotoWorxx, уже после частоты ОЗУ в 2666 МГц, перестал значительно наращивать результат.

Немного математики, используя полученные результаты тестов (округлено для упрощения восприятия):
-разница ПСП ОЗУ между 1600 МГц и 2666 МГц: 66%
-результат PhotoWorxx поднялся на 48%
-разница ПСП ОЗУ между 2666 МГц и 3333 МГц: 23%
-результат PhotoWorxx поднялся на 10%

Итого мы имеем два диапазона, до 2666 МГц, и после 2666 МГц, можно легко заметить, что после 2666 МГц, ПСП ОЗУ растет в разы быстрее, чем результат теста, в отличии от диапазона 1600-2666 МГц, где разница, между разницей ПСП ОЗУ и результатом теста, всего 37% (130% для диапазона 2666-3333 МГц).


И еще один момент, который хотел бы отметить, результаты R5 2600X могут быть выше, при этом имея медленнее ОЗУ, это следствие разницы в объеме кэша, количестве ядер, наличие многопоточности, скорости шины IF (тест Sandra прекрасно показал разницу zen и zen+ в плане IF).

R5 2600X имеет 2 CCX по 3 ядра с быстрыми межъядерными связями, и 2.6 MB L3 кэша на ядро внутри CCX.
R3 1200 имеет 2 CCX по 2 ядра с быстрыми межъядерными связями, и 2 MB L3 кэша на ядро внутри CCX.

По сути для R3 1200, скорость шины IF более критична, чем для R5 2600X, т.к. кэша меньше, разбит на два куска по 4 MB (R5 2600X имеет 2 куска по 8 MB), естественно выше вероятность отсутствия данных в ближнем куске кэша, и ядро будет чаще обращаться к дальнему куску кэша из другого CCX, чем это будет делать R5 2600X.

Как следствие, R5 2600X может достигать более высоких результатов в данном тесте, чем R3 1200.


AIDA64:

Чтение из ОЗУ, закономерно изменяется в след за частотой ОЗУ, ничего примечательного.


Latency
FWD (ns)
Latency
(ns)
Copy
(MB/s)
Write
(MB/s)
Read
(MB/s)
1600 MHz 12.2 ~111 ~24 673 ~25 045 ~25 178
1866 MHz (+16,6%) 11.0 (-9.8%) ~101.6 (-8.5%) ~28 713 (+16.4%) ~29 143 (+16.4%) ~29 308 (+16.4%)
2133 MHz (+14.3%) 10.0 (-9.1%) ~92.9 (-8.6%) ~32 491 (+13.2%) ~33 349 (+14.4%) ~33 478 (+14.2%)
2400 MHz(+12.5%) 9.2 (-8.0%) ~87 (-6.3%) ~36 579 (+12.6%) ~37 309 (+11.9%) ~37 597 (+12.3%)
2666 MHz (+11.1%) 8.7 (-5.4%) ~79.7 (-8.4%) ~39 900 (+9.1%) ~41 283 (+10.6%) ~41 728 (+11%)
2800 MHz (+5.0%) 8.6 (-1.1%) ~78.1 (-2.1%) ~41 453 (+3.9%) ~43 249 (+4.8%) ~43 720 (+4.8%)
2933 MHz (+4.75%) 8.4 (-2.3%) ~76.7 (-1.7%) ~43 366 (+4.6%) ~45 253 (+4.6%) ~45 662 (+4.4%)
3200 MHz (+9.1%) 8.1 (-3.6%) ~73.8 (-3.8%) ~46 189 (+6.5%) ~48 874 (+8%) ~49 307 (+8%)
3333 MHz (+4.2%) 7.8 (-3.7%) ~71.6 (-3%) ~47 765 (+3.4%) ~50 853 (+4%) ~51 508 (+4.5%)


Скорости L3 кэша в районе погрешности, ничего интересного, даже в таблицу вносить смысла нет.

Наиболее активное снижение задержек наблюдается до частоты 2666 МГц, когда задержки снижаются на половину или более, от разницы частоты ОЗУ, после 2666 МГц разница задержек, почти всегда, не достигает даже половины разницы частоты.

Копирование в ОЗУ (Copy) поднимается практически линейно с частотой ОЗУ вплоть до уровня 2400 МГц, при переходе к частоте ОЗУ 2666 МГц и выше, скорость копирования в ОЗУ поднимается немного меньше, чем частота ОЗУ и скорость чтения-записи по отдельности.

В итоге рост скорости копирования в ОЗУ после достижения отметки ОЗУ 2666 МГц, на ~1% меньше, чем рост чтения и записи по отдельности.
Такая, казалось бы, маленькая разница в 1%, на частоте 3333 МГц создала разрыв в 7.3% между скоростью чтения, и скоростью копирования в ОЗУ, а так же разрыв 6.1% между скоростью записи, и скоростью копирования в ОЗУ, для сравнения, при 2400 МГц ОЗУ, разница была менее 3% в обеих случаях.



DiRT Rally:

Вот и первая программа из разряда игр, что же она покажет?

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

И здесь, я вижу смысл подробнее разобрать полученные данные.


Всего кадров Средний FPS Мин. FPS Макс. FPS
1600 MHz 35 459 172.6 FPS 109.2 FPS 256.1 FPS
1866 MHz (+16,6%) 38 244 (+7.8%) 186.2 (+7.9%) 116.8 (+7%) 277.7 (+8.4%)
2133 MHz (+14.3%) 40 410 (+5.7%) 196.7 (+5.6%) 121.3 (+3.8%) 298.3 (+7.4%)
2400 MHz (+12.5%) 43 067 (+6.6%) 209.7 (+6.6%) 131.3 (+8.2%) 312.5 (+4.8%)
2666 MHz (+11.1%) 43 749 (+1.6%) 213 (+1.6%) 129.0 (-1.75%) 320.5 (+2.6%)
2800 MHz (+5.0%) 43 738 (0%) 213 (0%) 129.7 (+0.5%) 317.9 (-0.8%)
2933 MHz (+4.75%) 44 721 (+2.2%) 217.7 (+2.2%) 134.3 (+3.5%) 325.8 (+2.5%)
3200 MHz (+9.1%) 45 481 (+1.7%) 221.4 (+1.7%) 137.2 (+2.2%) 327.7 (+0.6%)
3333 MHz (+4.2%) 45 804 (+0.7%) 223 (+0.7%) 136.1 (-0.8%) 338.7 (+3.4%)


И что мы в итоге имеем:

- значительный рост количества кадров, среднего FPS, мин. и макс. FPS, происходит ровно до частоты ОЗУ в 2400 МГц.
- практически никакого роста по всем параметрам (а то и падение), в диапазоне между 2400 МГц и 2800 МГц, даже несмотря на разницу в частоте ОЗУ 16%, и снижение задержек доступа к ОЗУ на 10%
- начиная с частоты ОЗУ 2933 МГц, происходит незначительный рост производительности, но он весьма неоднозначный.


Grid 2 (AVX):

Настало время Grid 2, и на этот раз, результаты получились гораздо интереснее.



Всего кадров Средний FPS Мин. FPS Макс. FPS
1600 MHz 15 936 124.5 FPS 92.6 FPS 181.4 FPS
1866 MHz (+16,6%) 18 368 (+15.3%) 131 (+5.2%) 100.5 (+8.5%) 187.3 (+3.2%)
2133 MHz (+14.3%) 18 949 (+3.2%) 139.6 (+6.6%) 107.0 (+6.5%) 191.9 (+2.5%)
2400 MHz (+12.5%) 19 674 (+3.8%) 148.5 (+6.4%) 111.9 (+4.6%) 210.9 (+9.9%)
2666 MHz (+11.1%) 20 510 (+4.2%) 151.9 (+2.3%) 116.5 (+4.1%) 208.0 (-1.4%)
2800 MHz (+5.0%) 20 654 (+0.7%) 154.7 (+1.8%) 117.7 (+1.0%) 209.7 (+0.8%)
2933 MHz (+4.75%) 20 528 (-0.6%) 160.3 (+3.6%) 119.3 (+1.4%) 236.0 (+12.5%)
3200 MHz (+9.1%) 21 642 (+5.4%) 158.8 (-0.9%) 123.1 (+3.2%) 226.7 (-4%)
3333 MHz (+4.2%) 22 279 (+2.9%) 160 (+0.8%) 126.2 (+2.5%) 214.3 (-5.5%)

   

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

Но, даже учитывая небольшую случайность происходящего во встроенном тесте игры, можно заметить, что результат активно поднимался по всем параметрам, вплоть до частоты ОЗУ 2400 МГц.

При частоте ОЗУ 2666 МГц результат продолжил рост, но уже снизился максимальный FPS, что можно попытаться списать на случайность происходящего во встроенном тесте игры.

При частоте ОЗУ 2933 МГц максимальное значение FPS резко поднялось относительно предыдущих значений, однако при дальнейшем повышении частоты ОЗУ, максимальное значение FPS все сильнее падало, возможно так совпало, а может и нет... точно сказать невозможно, из-за случайности происходящего во встроенном тесте игры.

Особое внимание заслуживает общее количество кадров, рост между 1600 и 1866 МГц, оказался практически линейным к частоте ОЗУ, но при достижении частоты ОЗУ 2666 МГц, рост прекратился, и лишь при частоте ОЗУ 3200 МГц (+20% частоты ОЗУ) игра прибавила 5% к общему количеству кадров.


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


Forward to the Sky:

Это довольно старая игра, сделанная в редакторе Unity версии 4.7.0... использует в основном 2 ядра, крайне требовательна к частотам, по причине отсутствия многопоточности в реализации некоторых частей игры...


Всего кадров Средний FPS Мин. FPS Макс. FPS 1% low FPS
1600 MHz 2303 37.9 FPS 35.3 FPS 40.2 FPS 20.7 FPS
1866 MHz (+16,6%) 2353 (+2.2%) 38.7 (+2.1%) 36.3 (+2.8%) 40.9 (+1.7%) 20.5 (-1%)
2133 MHz (+14.3%) 2409 (+2.4%) 39.7 (+2.6%) 36.9 (+1.6%) 42.2 (+3.2%) 21.8 (+6.3%)
2400 MHz (+12.5%) 2502 (+3.9%) 41.1 (+3.5%) 38.3 (+3.8%) 43.7 (+3.5%) 21.9 (+0.5%)
2666 MHz (+11.1%) 2498 (0%) 41.3 (+0.5%) 38.8 (+1.3%) 43.7 (0%) 22.2 (+2.7%)
2800 MHz (+5.0%) 2533 (+1.4%) 41.9 (+1.4%) 38.9 (+0.3%) 44.3 (+1.4%) 22.2 (0%)
2933 MHz (+4.75%) 2521 (-0.5%) 41.6 (-0.7%) 38.3 (-1.5%) 44.3 (0%) 21.8 (-1.8%)
3200 MHz (+9.1%) 2557 (+1.4%) 42.2 (+1.4%) 39.3 (+2.6%) 44.7 (+0.9%) 28.1 (+29%)
3333 MHz (+4.2%) 2562 (+0.2%) 42.4 (+0.5%) 39.4 (+0.2%) 44.9 (+0.4%) 27.9 (-0.7%)


0.1% low FPS не стал включать в таблицу, т.к. рост заметный происходит только при переходе между 1600 МГц и 1866 МГц ОЗУ, и составил 28%, во всех остальных случаях результат оставался неизменным, и никакой полезной информации не несет.

На количество кадров (всего кадров), частота ОЗУ не сильно повлияла, наибольшая разница оказалась между 1600 и 2400 МГц, при дальнейшем повышении скорости ОЗУ, разница оказалась слишком маленькой.

Идентичная картина со средним, минимальным и максимальным FPS.

1% low FPS между 1600 и 1866 МГц совершил заметное повышение на 7%, но далее случилось затишье, пока частота ОЗУ, не достигла отметки 3200 МГц, подъем на 29% по отношению к частоте ОЗУ 2933 МГц, но повышение частоты ОЗУ до 3333 МГц, ничего не прибавило.
Поведение 1% low FPS конечно странное в зависимости от частоты ОЗУ, но такие получились результаты.

   

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

На текущей системной плате от MSI, и так все печально с разгоном BCLK, о чем я уже упоминал в своей первой статье, и казалось бы, сравним еще в разгоне BCLK результаты, но увы, отключив половину дисков, и разогнав шину BCLK до 102 МГц, я подогнал множители процессора и ОЗУ чтобы получить такие же частоты, как и без разгона шины BCLK, в итоге я столкнулся с серьезной проблемой....

Результаты Sandra и AIDA64 не отличались от результатов без разгона BCLK, должна быть разница примерно в 2%, но даже такой разницы не оказалось, в итоге я решил не продолжать тесты, и поделился отсутствием результата.

Конечно разгон BCLK на 2% ничего не изменил в плане результатов, но может изменит отпуск таймингов в автоматический режим?




SiSoftware Sandra AIDA64 PhotoWorxx AIDA64
Latency
AIDA64
FWD
AIDA64
Read (MB/s)
AIDA64
Copy (MB/s)
3333 MHz
(Sub. 2866)
~115.8 ns 24 172 ~71.6 ns 7.8 ns ~51 508 ~47 765
3333 MHz
(Auto)
~116.4 ns
(+0.5%)
22 826
(-5.6%)
~76.2 ns
(+6.4%)
8.5 ns
(+9%)
~46 657
(-9.4%)
~42 013
(-12%)


Несмотря на значительную разницу в таймингах ОЗУ, которая порой доходит до 15-22%, задержки случайного доступа к ОЗУ поднялись всего на 6.4%, и в линейном доступе на 9%, пропускная способность ОЗУ снизилась на значительные ~11%, несмотря на это, результат PhotoWorx снизился лишь на 5.6%...

Отдельно стоит упомянуть разрыв между чтением и копированием в ОЗУ, который достигает 10% (был 7.3%), причем на частоте ОЗУ в 2400 МГц, разрыв менее чем 3%

А вот задержки которые показала Sandra оказались в районе погрешности, ничего интересного.


DiRT Rally:


Всего кадров Средний FPS Мин. FPS Макс. FPS
3333 MHz
(Sub. 2866)
45 804 223 136.1 338.7
3333 MHz
(Auto)
44 254
(-3.4%)
215.5
(-3.4%)
130.9
(-3.8%)
326
(-3.7%)


Падение производительности по всем параметрам не доходит даже до 4%, несмотря на ~11% падение пропускной способности ОЗУ и 6.4 - 9% рост задержек доступа к ОЗУ.

   

GRID 2:


Всего кадров Средний FPS Мин. FPS Макс. FPS
3333 MHz
(Sub. 2866)
22 279 160 126.2 214.3
3333 MHz
(Auto)
21 083
(-5.4%)
157.3
(-1.7%)
117.8
(-6.5%)
216.8
(+1.2%)

   

И снова переходим к игре с некоторой случайностью происходящего во встроенном тесте, несмотря на значительную разницу в пропускной способности ОЗУ, а так же в задержках доступа к ОЗУ, результаты изменились не так значительно.
Только минимальный FPS линейно задержкам доступа к ОЗУ изменился, а максимальный FPS даже слегка прибавил, но учитывая его пиковое значение на частоте в 2933 МГц (236 FPS), как то не впечатляет...

         

Forward to the Sky:


Всего кадров Средний FPS Мин. FPS Макс. FPS 1% low FPS
3333 MHz
(Sub. 2866)
2562 42.4 39.4 44.9 27.9
3333 MHz
(Auto)
2536 42
(-0.9%)
38.9
(-1.3%)
44.9
(0%)
27.9
(0%)


Значительная потеря пропускной способности ОЗУ, и увеличение задержек доступа к ОЗУ, практически не повлияли на результаты в данной игре, лишь минимальный FPS слегка изменился, и еще меньше изменился средний FPS.

1% low FPS остался неизменным.

   


Заключение:

Хотя у меня сейчас и нет возможности протестировать zen+ снова, но собранные результаты говорят об одном, по данным Sandra, шина IF не переходит предел ~110 ns, как в случае с zen, так и в случае с zen+, единственная разница в том, что для zen+ чтобы достичь "потолка" скорости шины IF, достаточно частоты ОЗУ всего 2666 МГц, для первого zen "потолок" достигается при частотах ОЗУ 2933-3000 МГц.

Но в реальной работе как показала практика, уже при частотах ОЗУ выше чем 2400 МГц, наблюдается пониженный рост производительности, и чем выше частота ОЗУ, тем меньше повышается производительность, даже если задержки доступа к ОЗУ снижаются, а пропускная способность растет, но сказывается это не так положительно, как хотелось бы.

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

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

В PhotoWorxx результат в любом случае увеличивался с ростом частоты ОЗУ, т.к. этот тест использует активно ОЗУ, но самый активный рост производительности происходил до 2400-2666 МГц ОЗУ.

Значительное снижение пропускной способности ОЗУ на частоте 3333 МГц, влияет довольно слабо на результат PhotoWorxx, набирая с трудом половину разницы, между разницей пропускной способности ОЗУ, когда при частотах ниже 2400 МГц включительно, разница была больше половины, от разницы пропускной способности ОЗУ.

Тем временем, в протестированных играх, результаты прекратили значительный рост после частоты ОЗУ 2400 МГц, были конечно интересные нюансы когда при росте частоты ОЗУ выше чем 2933 МГц, падал максимальный FPS, и странный рост 1% low FPS в игре на Unity, хотя все остальные значения FPS прекратили свой значительный рост уже после 2400 МГц ОЗУ, даже несмотря на рост пропускной способности и снижение задержек доступа к ОЗУ...



Учитывая все имеющиеся данные, можно сделать следующие краткие выводы:

1) Zen и Zen+ имеют значительные различия в скорости шины IF, в пользу Zen+.

2) Zen требует уровень ОЗУ ~2933-3000 МГц для достижения предела скоростей шины IF по данным Sandra .

3) Zen+ уже при частотах ОЗУ 2666 МГц, достигает предела скорости шины IF по данным Sandra.

4) Zen: в играх значительный рост показывает на частотах ОЗУ вплоть до 2400 МГц, дальнейший рост производительности происходит только при активном использовании ОЗУ.

5) Zen: в многопоточном софте активно использующем ОЗУ (по данным PhotoWorxx), значительный рост происходит вплоть до частоты ОЗУ 2400 МГц.

6) Zen: при достижении предельной скорости шины IF, стремительно увеличивается разрыв между чтением и копированием в ОЗУ, при частотах ОЗУ 3333 МГц способен доходить до 10%, когда при частотах в 2400 МГц, разрыв был всего 2.7%

7) Zen: задержки доступа к ОЗУ значительно снижались, вплоть до частоты 2666 МГц, при дальнейшем росте частоты, задержки случайного доступа к ОЗУ замедляют свое снижение, даже при значительной разнице в таймингах.

8) Пропускная способность шины IF избыточна при малом количестве ядер, и без специфических условий (2990WX).

9) Одинаковый рост скорости шины IF в паре с ростом скорости ОЗУ, обычно приводит к линейному росту производительности.

10) Рост частоты ОЗУ, без роста частоты IF, обычно, поднимает результат на половину от роста частоты ОЗУ.

11) Чем больше ядер у процессора - тем выше задержки межъядерного взаимодействия, но, независимо от количества ядер, предельная достижимая скорость шины IF находится на уровне ~111 ns (на основе результатов полученных с использованием R3 1200, R5 2600X, R7 1700, по данным Sandra).

12) Нет никаких доступных способов ручного управления шиной IF.


Главный вывод у нас следующий:

Частота IF не может быть выше частоты ОЗУ, но, может быть ниже частоты ОЗУ.

Никакой жесткой привязки частоты шины IF к частоте ОЗУ нет, известная формула: "IF = RAM / 2" просто не может работать, шина IF зависит от частоты ОЗУ, но это лишь следствие того, что частота шины IF, ограничена частотой ОЗУ, не более...
Иначе никто не разогнал бы ОЗУ с zen (особенно с zen+)выше 2400-2933 МГц в зависимости от конкретного экземпляра, шина IF просто не позволит такой разгон, будь она жестко завязана на частоте ОЗУ.


Статья и так получилась большой, поэтому на этом закончим.

Подпишитесь на наш канал в Яндекс.Дзен или telegram-канал @overclockers_news - это удобные способы следить за новыми материалами на сайте. С картинками, расширенными описаниями и без рекламы.
Оценитe материал
рейтинг: 4.6 из 5
голосов: 88

Комментарии Правила

Возможно вас заинтересует

Популярные новости

Сейчас обсуждают