Досліджуємо залежність Ryzen 3000 від оперативної пам’яті: a future to remember

Платформа socket AM4 розвивається в суворій відповідності з «дорожньою картою», яку компанія представила ще в момент прем’єри процесорів Ryzen першої серії. Ми вже стали свідками поетапного поширення архітектури Zen у всіх сегментах ринку, появи нового покоління APU і «рестайлінгу» архітектури, що перетворив її на обіцяний, знову ж таки, на старті Zen+ .

І, нарешті, через два вельми насичених подіями роки, архітектура Zen змінюється новою, більш досконалою Zen 2. Причому, як і планувалося від самого початку, зміна архітектури відбувається в межах наявної платформи: процесори лінійки Ryzen 3000 сумісні з материнськими платами на чіпсетах 300-ї та 400-ї серії.

Говорячи простіше — пересічному користувачеві ніхто не заборонить замінити умовний Ryzen 3 1200 на Ryzen 5 3600, зберігши при цьому материнську плату, куплену ще в 2017-му році. Причому, забігаючи наперед, — такому апгрейду сприяє і знижене енергоспоживання нових ЦПУ.

Однак плани AMD щодо своєї десктопної платформи — не єдина річ, яку в контексті ситуації можна назвати стабільною і незмінною. Скільки б поколінь центральних процесорів не було випущено, і наскільки б серйозно кожна нова лінійка не відрізнялася від прабатька, кількість і якість коментарів із протилежного табору від цього практично не змінюється.

Якщо перед виходом лінійки Ryzen 3000 на ринок максимально активно розповідали про їхню «несумісність» із платами попередніх поколінь (скільки в цьому правди — можна переконатися, зайшовши сьогодні на сторінку практично будь-якої материнки на сайті її виробника), то вже після появи новинок у вільному продажі на вістрі уваги опинилися три найтрадиційніші теми: робота з оперативною пам’яттю, температурний режим і продуктивність.

Саме в такій послідовності ми і будемо з ними розбиратися.

Так, у сьогоднішній статті буде розглянуто залежність процесорів Ryzen 3000 від частоти і таймінгів оперативної пам’яті, включно з синтетичними тестами, типовими робочими завданнями та іграми. Причому в даному випадку нас цікавлять тільки цифри — рекомендації щодо вибору конкретних модулів залишаються долею форумного FAQ і двох попередніх матеріалів на задану тему.

Ryzen 3000 і шина Infinity Fabric

На сьогодні вже далеко не секрет, що вся історія з пам’яттю для процесорів Ryzen почалася саме через шину Infinty Fabric, за допомогою якої блоки CCX у процесорах серій 1000 і 2000 були пов’язані з контролерами пам’яті та всіх периферійних інтерфейсів.

Суть полягала в тому, що частота Infinity Fabric у процесорах цих двох поколінь перебувала в прямій залежності від частоти контролера пам’яті, а та — від частоти самої оперативної пам’яті. І, як результат, чим вищою була частота оперативки — тим швидше працював процесор. Навіть більше того: розгін пам’яті був єдиним способом підняти частоти шини і контролера, адже власних множників тоді у них не було.

Зрозуміло, з часом ситуація кардинально змінилася — що взагалі типово для AMD, яка вдосконалює свої продукти мало не протягом усього їхнього життєвого циклу.

Причому поліпшення тут мали не тільки кількісний характер, що виражається у верхній межі розгону оперативки, а й у впливі її розгону на продуктивність. Якщо у квітні 2017 року на прикладі Ryzen 1000 і agesa 1004a Summit Ridge можна було говорити про абсолютно лінійний приріст продуктивності, то в липні 2019 року з agesa 1002 Matisse залежність від параметрів оперативки здавалася вже вельми умовною вже на прикладі Ryzen 2000.

Однак варто пам’ятати, що архітектури Zen і Zen+ вельми близькі, і не містять кардинальних відмінностей у плані підсистеми пам’яті. Ось Zen 2 — вже зовсім інша справа, і розмову про нову архітектуру слід почати з нюансів роботи все тієї ж шини Infinity Fabric.

Перше, і найбільш очевидне поліпшення тут — збільшення пропускної здатності самої шини. Замість 256 біт її ширина тепер становить 512 біт, тобто приріст буквально дворазовий.

Сама компанія AMD пов’язує це поліпшення з переходом на стандарт PCI-express версії 4.0 — однак важливо розуміти, що настільки серйозне підвищення пропускної спроможності інтерфейсу в будь-якому разі позначиться на продуктивності загалом, і знизить її залежність від частоти — зокрема.

Наочний приклад: якщо вам потрібно набрати води з колодязя на дачі — не потрібно двічі бігати з двома відрами об’ємом по 5 літрів, якщо можна спокійним кроком віднести два відра об’ємом по 10 літрів.

А ось друге за рахунком поліпшення не настільки очевидне, хоча набагато важливіше. І воно якраз відсилає нас до сказаного на початку розділу.

Якщо в Ryzen 1000 і Ryzen 2000 частота шини Infinity Fabric була намертво прив’язана до частоти контролера пам’яті, не мала власного множника і могла бути підвищена тільки й винятково розгоном оперативки, то в Ryzen 3000 такої залежності НЕМАЄ.

Окремим абзацом: у Ryzen 3000 шина Infinity Fabric (на слайді — fclk) не прив’язана до частоти контролера пам’яті (на слайді — uclk) має власний набір множників, які можна змінювати через біос материнських плат.

І вже одна ця обставина максимально красномовно говорить про те, що Ryzen 3000 не відрізнятимуться настільки ж жорсткою залежністю від частоти оперативної пам’яті, як їхні попередники.

З іншого боку, частота контролера пам’яті залишається в прямій залежності від частоти самої оперативки, і це залишається темою для наступного розділу.

Ryzen 3000 і максимальна частота оперативної пам’яті

З Ryzen 1000 і Ryzen 2000 у цьому відношенні все було максимально просто: що вища частота оперативки, то вищою є частота і контролера пам’яті, і шини Infinity Fabric. З Ryzen 3000 все трохи складніше. Річ у тім, що частота контролера пам’яті (uclk) тут не може перевищувати частоту шини Infinity Fabric (fclk), яка в автоматичному режимі не підвищується вище 1800 МГц.

На практиці це означає наступне.

Поки частота оперативної пам’яті не перевищує 3600 МГц, частота її контролера не перевищує 1800 МГц, і все працює в штатному режимі. Якщо ж ви хочете розігнати оперативну пам’ять сильніше — виставивши, наприклад, 3733 МГц, то автоматично спрацьовує дільник 2:1, і частота контролера пам’яті знижується вдвічі — замість очікуваних 1866 МГц ви отримуєте 933 МГц.

Зрозуміло, це позначається на продуктивності підсистеми пам’яті — а точніше, насамперед на її затримках.

3600 МГц, автоматичний режим,

Uclk = Mclk

3800 МГц, автоматичний режим,

Uclk = 1/2 Mclk

4000 МГц, автоматичний режим,

Uclk = 1/2 Mclk

3800 МГц, ручний режим розгону,

Uclk = Mclk

Як можна бачити, затримки при активації дільника вельми помітно зростають, і режим DDR4-3600 на перший погляд здається оптимальним…

…Однак є одне велике «АЛЕ». Так, частота контролера пам’яті не може бути вищою за частоту шини Infinity Fabric. Але ось частота Infinity Fabric — аж ніяк не аксіома, і вона не обмежена позначкою в 1800 МГц, як люблять писати деякі оглядачі.

Реальна «стеля» частоти Infinity Fabric на цей момент (і це треба підкреслити. ) становить 1933 МГц, тобто максимальна частота оперативної пам’яті, після якої спрацьовує дільник, становить не 3600, а 3866 МГц.

Причому навіть 1933 МГц — не апаратне обмеження. Для Infinity Fabric доступно набагато більше множників. Це скоріше схоже на програмний блок, оскільки будь-яка спроба переступити межу призводить до відходу материнської плати в помилку і скидання налаштувань біос.

Чи дійсно це обмеження є програмним, і чи підніме AMD «стелю» розгону Infinity Fabric у майбутньому — питання швидше риторичне.

На даний момент очевидно, що оперативну пам’ять можна легко розганяти до 3800/3866 МГц при збереженні співвідношення Mclk/Uclk як 1:1 — і, відповідно, без втрат у латентності пам’яті. Ба більше — якщо обмежитися частотою 3600 МГц, то і маніпуляції з Fclk проводити не потрібно — частота в 1800 МГц виставиться автоматично.

Більш актуальне питання на сьогодні — що це реально дає в практичних завданнях, і наскільки продуктивність Ryzen 3000 взагалі залежить від оперативної пам’яті. Це ми і розглянемо в наступних практичних розділах.

Тестовий стенд і методика тестування

Відповідно до тематики статті, тестовий стенд зазнав відповідних змін:

  • Центральний процесор: AMD Ryzen 7 3700X;
  • Материнська плата: Gigabyte X570 Aorus Master (біос версії F7b, agesa 1003abba);
  • Система охолодження процесора: AMD Wraith Prism;
  • Термоінтерфейс: Arctic MX-4;
  • Оперативна пам’ять: G.Skill SniperX F4-3400C16D-16GSXW, 2x8gb;
  • Відеокарта: AMD Radeon RX 5700 XT;
  • Дискова підсистема: SSD Apacer AP240GAS350 + HDD Western Digital WD10EZRX-00A8LB0;
  • Корпус: Corsair Carbide 270R;
  • Блок живлення: Cougar GX-F750.

Усі тести були проведені з-під ОС Windows 10 Professional збірки 1903 з останніми оновленнями на 5 жовтня 2019 року.

Щоб уникнути впливу технологій динамічного розгону на підсумкові результати, частота процесора була фіксована на позначці в 4300 МГц. Відеокарта працювала в штатному режимі, включно з частотами і напругами.

Оперативна пам’ять тестувалася в два етапи.

У першому випадку досліджувався вплив частоти пам’яті — для цього при однаковій моделі таймінгів (16-16-16-36) були задіяні п’ять частотних режимів: 2133, 2666, 3200, 3466 і 3800 МГц.

У другому випадку об’єктом дослідження стали таймінги пам’яті. Для цього при частоті в 3466 МГц таймінги знижувалися до моделі 14-14-14-28 і підвищувалися до 18-18-18-40.

Частота пам’яті: синтетичні тести і робочі додатки

Перша ж група тестів демонструє цікаві, але очікувані висновки. У бенчмарках, безпосередньо пов’язаних з підсистемою пам’яті — Passmark і 7-zip, — спостерігається помітний приріст від підвищення частоти оперативки. Але це і закономірно, іншого тут очікувати не варто.

А ось в інших тестах приріст вельми спірний. Очевидна різниця спостерігається між режимами в 2133 і 3200 МГц, але навіть її важко назвати помітною, тоді як подальше підвищення частоти нерідко зовсім не призводить до будь-якого результату. І вже тим більше тут не варто говорити про 20-відсоткову різницю, що спостерігалася в перші роки Ryzen 1000.

Частота пам’яті: ігри

А ось в іграх різниця і зовсім не помітна. Точніше, спостерігається розкид у межах 1-2 кадрів за секунду, але обумовлений він скоріше похибкою вимірювань, ніж параметрами роботи оперативки.

Звичайно, можна списати це на «наголос на відеокарту», проте попередні виміри з Ryzen 2000 і Radeon RX Vega з роздільною здатністю FullHD демонстрували фактично ті ж самі результати!

Таймінги пам’яті: синтетичні тести і робочі додатки

Таймінги пам’яті, вочевидь, жодним чином не пов’язані з частотою контролера пам’яті та шини Infinity Fabric — вони впливають виключно на швидкість операцій з пам’яттю.

Однак у підсумку виходить, що пам’ять на частоті 3466 МГц (яку навіть для Ryzen 1000/2000 важко назвати видатним розгоном!) з низькими таймінгами здатна забезпечити такий самий рівень продуктивності, що і пам’ять на частоті 3800 МГц, але на більш високих таймінгах. І це — ще один аргумент на користь того, що для Ryzen 3000 частота оперативки не має настільки ж важливого значення, як для його попередників.

Таймінги пам’яті: ігри

В іграх же вплив таймінгів відчувається не більшою мірою, ніж вплив частоти.

Висновки

Тут хотілося б сказати, що під час розроблення архітектури Zen 2 компанія AMD провела серйозну роботу в частині оптимізації своїх ЦПУ — однак це не зовсім так. Роботи з оптимізації велися паралельно, і включали в себе випуск нових версій протоколу AGESA, нових драйверів і навіть співпрацю з Microsoft для оптимізації Windows 10 під архітектуру процесорів Ryzen.

Ryzen 3000 — скоріше фінальний етап усього цього процесу, що робить те, чого не можна було зробити програмним шляхом. Ми отримали нову шину Infinity Fabric з більшою пропускною спроможністю, позбулися прив’язки її частоти до частоти контролера пам’яті, і все це повинно було призвести до помітних змін…

…Але на практиці більшість цих змін відбулися ще з Ryzen 2000 в їхньому актуальному стані — адже навіть там залежність від частоти і таймінгів оперативної пам’яті на практиці проявляється набагато меншою мірою, ніж у коментарях.

Ryzen 3000 дають змогу розганяти пам’ять до більших частот і сильніше знижувати таймінги, але їхня продуктивність у реальних практичних завданнях змінюється від цього не більшою мірою, ніж на платформі, що конкурує. Зрозуміло, є сенс розганяти модулі зі штатних 2133-2666 МГц, але ганятися за граничними ( на даний момент. ) 3800-3866 МГц варто хіба тільки зі спортивного інтересу.

Зрозуміло, враховуючи перелік доступних на даний момент частот Fclk, у Ryzen 3000 залишається теоретичний потенціал для подальшого підвищення «стелі» розгону пам’яті. Але ось чи скористається ним AMD — питання виключно часу. Та й чи дасть реальний приріст розгін пам’яті до 4000 МГц і вище, якщо такий стане можливим без зниження частоти Uclk?

Теоретизувати на цю тему можна довго. Але на сьогодні оптимальним варіантом будуть абсолютно середньостатистичні 3466-3600 МГц, що супроводжуються низькими таймінгами. А це на сьогоднішній день — результат, досяжний навіть для бюджетних модулів, аби тільки вони були зібрані на більш-менш «розгонябельних» чіпах.