На що впливає кількість ліній PCI-Express

PCI-Express — високошвидкісна шина обміну даних, без якої не обходиться жоден комп’ютер протягом ось уже півтора десятка років. За які з’єднання відповідають її лінії, на що вони впливають, і як створити правильну конфігурацію без вузьких місць? Відповіді на ці запитання — у нашому матеріалі.

Спочатку головною метою впровадження PCI-E в користувацькі комп’ютери була заміна застарілого інтерфейсу AGP для комутації з відеокартою — найвимогливішим до пропускної здатності шини компонентом. Але цим її сфера застосування не обмежилася. У сучасних ПК шина використовується практично повсюдно — для відеокарт, для інших плат розширення, для швидкісних накопичувачів, для зв’язку процесора з чіпсетом, для комутації з високошвидкісними портами і додатковими чіпами вбудованих пристроїв на материнській платі.

Що таке лінії PCI-Express

Шина PCI-E масштабується за допомогою ліній. У персональному ПК таких ліній на зв’язок з одним пристроєм може виділятися від 1 до 16, залежно від потрібної пропускної здатності. Лінії PCI-E — сполучні «нитки» в роботі всіх компонентів сучасної системи. Саме тому будь-якій платформі важливо мати достатньо таких «ниток» для підтримки необхідної швидкості обміну даними між усіма компонентами ПК.

На зорі становлення PCI-E його комутації з компонентами системи проходили через північний і південний мости, які являли собою окремі мікросхеми на материнській платі. Для передачі даних процесору північний міст з’єднувався з ним по власному каналу. У сучасних платформах північний міст інтегрований у процесор, з цієї причини комунікація з найважливішим споживачем ліній PCI-E — відеокартою — у всіх сучасних ЦП здійснюється безпосередньо. Крім виділених ліній для відеокарти, у більшості актуальних процесорів є окремі лінії для підключення NVME SSD.

Безпосередньо з ЦП по лініях PCI-E спілкується і чіпсет (у минулому — південний міст), що знаходиться на материнській платі. Він відіграє роль комутатора, через який проходять дані від усіх периферійних пристроїв, за винятком слота відеокарти і першого слота для NVME SSD на деяких чіпсетах. Загальна кількість ліній, яку здатна запропонувати система, складається з ліній процесора і ліній чіпсета — тобто, саме комбінація процесора і материнської плати визначає, скільки вільних ліній PCI-E буде доступно користувачеві. Однак варто враховувати ще й швидкість зв’язку чіпсета з процесором: вона менша за пропускну здатність ліній чіпсета, тому задіяти всі їх одночасно без втрат продуктивності просто не вдасться.

У відриві від кількості ліній є ще й інша характеристика — версія PCI-E. На даний момент існують п’ять поколінь шини, кожна з яких відрізняється від попередньої подвоєнням пропускної здатності. В одній системі для різних внутрішніх з’єднань можуть використовуватися різні версії протоколу.

Версія PCI-E/лінії 1x 2x 4x 8x 16x
1.0 ~ 0,25 ГБ/c ~ 0,5 ГБ/c ~ 1 ГБ/c ~ 2 ГБ/c ~ 4 ГБ/c
2.0 ~ 0,5 ГБ/c ~ 1 ГБ/c ~ 2 ГБ/c ~ 4 ГБ/c ~ 8 ГБ/c
3.0 ~ 1 ГБ/c ~ 2 ГБ/c ~ 3.9 ГБ/c ~ 7.9 ГБ/c ~ 15.8 ГБ/c
4.0 ~ 2 ГБ/c ~ 3.9 ГБ/c ~ 7.9 ГБ/c ~ 15.8 ГБ/c ~ 31.5 ГБ/c
5.0 ~ 3.9 ГБ/c ~ 7.9 ГБ/c ~ 15.8 ГБ/c ~ 31.5 ГБ/c ~ 63 ГБ/c

Використання ліній PCI-Express у сучасному ПК

У масових платформах 16 ліній від процесора йде на слот для відеокарти. Плати на флагманських чіпсетах дають змогу «розщепити» його на кілька слотів по 4 або 8 ліній на кожен. Ще 4 лінії від процесора підключаються до слота M2 NVME для високошвидкісних накопичувачів, але такий «прямий» слот трапляється не скрізь. 4 або 8 ліній використовуються для під’єднання процесора до чипсета на материнській платі. Чіпсет розподіляє їхню пропускну здатність між роз’ємами USB, SATA і розпаяними на материнську плату контролерами — такими, як звуковий чіп, мережевий контролер або додатковий контролер USB/SATA/Thunderbolt, якщо він є.

Лінії, що залишилися після цього розподілу, йдуть на слоти для накопичувачів M2 NVME, якщо вони присутні — по 4 на кожен, і на слоти розширення PCI-E. Зазвичай на них виділяється 1 або 4 лінії.

Такий пристрій мають платформи Intel, процесори якої для комутації з більшістю пристроїв покладаються на можливості чіпсета. Платформи AMD у цьому плані дещо відрізняються, оскільки процесори сімейства Ryzen — це системи на чіпі (SoC), які, крім відеокарти і NVME SSD, мають пряме підключення до деякої кількості портів USB, SATA і звукового кодека.

Окремо стоять HEDT-платформи обох вендорів. У загальному плані вони не відрізняються від масових, але можуть запропонувати користувачеві до 64 вільних ліній PCI-E безпосередньо від процесора. Ці лінії можна гнучко конфігурувати для відеокарт, слотів M2 NVME та іншої швидкісної периферії.

LGA1151

До 6 покоління Intel використовувала лінії PCI-E 3.0 тільки для з’єднання процесора з відеокартою, в інших випадках обмежуючись PCI-E 2.0. Першою ластівкою повного переходу з’єднань на PCI-E 3.0 став чипсет Z170, випущений у 2015 році для 6 покоління Intel Core.

Процесори цього покоління мають 16 ліній PCI-E 3.0 для відеокарти і з’єднуються з чіпсетом за допомогою шини DMI 3.0 x4, яка базується на тій же версії PCI-E. Виділеної лінії для накопичувача NVME ще немає, для них використовуються лінії від чіпсета. Старший чіпсет Z170 має 20 ліній третьої версії швидкісного інтерфейсу, наступний за ним H170 — 16 ліній. У B150 12 ліній, у молодшого H110 — тільки 6. Плати на старшому чіпсеті вміють розділяти слот відеокарти x16 на два слоти по x8, або на три за схемою x8+x4+x4. Ця особливість збережеться і у всіх наступних чіпсетів Z-серії.

Процесори 7 покоління, які побачили світ наступного року, в цьому плані змін не отримали, а ось можливості чіпсетів для них трохи розширилися. У Z270 стало 24 лінії, у H270 — 20, у B250 — 12.

Чіпсети, випущені для 8 і 9 покоління Core для сокета LGA1151 v2 успадкували ту ж конфігурацію. Втім, як і самі процесори. У Z370 і Z390 так само 24, у H370 — 20, у B360 — 12, у H310 — 6 ліній третього покоління стандарту. Новинкою в ієрархії чіпсетів став тільки B365, який отримав 20 ліній PCI-E 3.0.

LGA1200

Сокет LGA1200 почав свій шлях із процесорів 10 покоління Core і 400 серії чіпсетів для них. Це останнє покоління, в якому не було змін у топології ліній з часів 100 серії чіпсетів. Топовий Z490 має 24 лінії, H470 має 20 ліній, середній B460 — 16, а молодший H610 — лише 6.

11 покоління процесорів і 500 серія чіпсетів принесли підтримку PCI-E 4.0. Крім слота нового покоління з 16 лініями для відеокарти з’явився і виділений канал з 4 лініями тієї ж версії для NVME SSD. Лінк зв’язку з чіпсетом розширено до DMI 3.0 x8, але тільки в Z590 і H570. У першого 24 лінії PCI-E, у другого — 20. Середній B560 і молодший H510 залишилися на DMI 3.0 x4. Ліній у них 12 і 6 відповідно.

LGA1700

Революція в цей сегмент прийшла із сокетом LGA1700, процесорами 12 покоління і новими платами 600 серії для них. З’явилося відразу два нововведення: лінії для графіки стали підтримувати PCI-E 5.0, лінії чіпсета — PCI-E 4.0. Виділений канал для NVME SSD залишився незмінним, зате лінк звʼязку з чіпсетом укотре прискорився вдвічі: у Z690 і H670 його перевели на режим 4.0 x8, у B660 і H610 — на 4.0 x4.

Канал зв’язку процесора з чіпсетом розширили не дарма. Тепер флагманський Z690 підтримує 12 ліній PCI-E 4.0 плюс 16 ліній PCI-E 3.0 проти колишніх 24 ліній третьої версії стандарту. Це відкриває набагато більше можливостей для швидкісної периферії, ніж у попередньому поколінні. H670 виглядає скромніше — у нього по 12 ліній PCI-E 3.0 і 4.0. У B660 їх 6 плюс 8 відповідно, молодший H610 лініями четвертої версії обділили — тут тільки 8 ліній PCI-E 3.0. У цьому поколінні розділяти лінії слота для відеокарти крім Z690 навчився і H670. Конфігурацію 8+4+4 для цього визнали неактуальною, залишивши лише більш звичні 8+8.

Поліпшення процесорів 13 покоління, що готуються до виходу, і плат на чіпсетах 700 серії поки не оголошені. Швидше за все кількість швидкісних ліній самих чіпсетів трохи збільшиться, не торкнувшись при цьому процесорних. Кардинальних змін чекати не варто, оскільки платформа не змінює сокет і залишається сумісною з платами і процесорами минулого покоління.

LGA2066

На відміну від масових, високопродуктивні HEDT-платформи завжди оснащувалися великою кількістю ліній PCI-E. Не стала винятком і остання така платформа від Intel на сокеті 2066. Єдиний чіпсет, випущений для неї — X299, має 24 лінії PCI-E 3.0. Підвищену кількість виділених ліній у таких платформ забезпечують не чіпсети, а самі процесори. Якщо у процесорів масових платформ на даний момент від сили 20 ліній PCI-E — 16 на відеокарту і 4 на накопичувач, то у процесорів HEDT кількість вільних ліній для комунікації з обладнанням може досягати 64.

Втім, у Intel це залежить від моделі процесора і його положення в ієрархії. Для LGA2066 було випущено три покоління процесорів. Старші моделі 7000 і 9000 серії мають 44 лінії PCI-E 3.0, 10000 серії — 48. При цьому у середніх моделей таких ліній тільки 28, а у наймолодших — лише 16, як на масових платформах.

Платформа LGA2066 була випущена в 2017 році, і ще два роки отримувала оновлення у вигляді нових процесорів зі збільшеною кількістю ядер. На жаль, останні три роки про нові HEDT-платформи Intel крім чуток нічого не чути. Саме тому більш сучасної продукції Intel у цьому сегменті ні з PCI-E 4.0, ні з новітнім PCI-E 5.0 так і немає.

AM4

Перше покоління Ryzen 1000 і 300 серія чіпсетів для них стали першою платформою, де було реалізовано окремий канал PCI-E 3.0 x4 для NVME SSD. З’єднання процесора з чіпсетом відбувається на аналогічній швидкості, для відеокарти використовується PCI-E 3.0 x16, який старший X370 і B350 вміють ділити на два слоти по x8. А ось із периферією тут гірше, ніж у конкурента. У старшого X370 — 8 ліній застарілого PCI-E 2.0, у середнього B350 таких ліній 6, у молодшого A320 — усього 4.

Крім Ryzen 1000 серії під платформу AM4 були випущені APU на базі цього ж покоління архітектури — процесори з вбудованою графікою серії Ryzen 2000G і Athlon 200GE, а також процесори і APU на старій архітектурі Excavator — Athlon X4 і серія APU A6/A8/A10/A12. Вони мають урізаний канал PCI-E 3.0 для відеокарти — всього 8 ліній, а процесори архітектури Excavator на додачу позбавлені 4 ліній для окремого каналу NVME SSD.

Друге покоління Ryzen і 400 серія чіпсетів у цьому плані змін не отримали: лінії у X470 і B450 аналогічні своїм попередникам X370 і B350. Процесори Ryzen 2000 за периферійними можливостями від минулої лінійки теж не відрізняються. Випущеним на їх базі APU серії Ryzen 3000G і Athlon 3000G / 300GE повернули повноцінну підтримку роз’єму PCI-E для відеокарти — 16 ліній версії 3.0.

А ось із виходом на ринок Ryzen 3000 і чіпсетів 500 серії платформа відразу отримала повний PCI-E 4.0 — і для відеокарти, і для NVME SSD, і для зв’язку з чіпсетом, і для ліній самого чіпсета. Щоправда, тільки у зв’язці зі старшим X570, який може надати до 12 ліній PCI-E 4.0. Середній B550 має 10 ліній третьої версії, та й сам зв’язується з процесором по PCI-E 3.0 x4. Молодший A520 підтримки четвертої версії шини позбавлений — всі комунікації у нього засновані на PCI-E 3.0, а відповідних ліній від чіпсета всього 6. Як і раніше, старша і середня версія чіпсетів підтримують поділ слота для відеокарти на два з 8 лініями кожен.

Наступне покоління процесорів Ryzen 5000 у плані підтримки периферії змін не отримало. Саме тому компанія AMD не стала випускати для нього нові чіпсети, обмежившись оновленням BIOS для плат на старих чіпсетах. APU на базі 3000 і 5000 серій — Ryzen 4000G і 5000G — підтримки PCI-E 4.0 не отримали, для всіх з’єднань так само використовуючи PCI-E 3.0.

AM5

Процесори Ryzen 7000 під сокет AM5 укупі з чіпсетами 600 серії принесли масовим платформам AMD довгоочікувану підтримку PCI-E 5.0. Самі ЦП мають 16 ліній нового покоління для відеокарти і 8 такими ж лініями для двох слотів NVME SSD. Чіпсети розділені на дві групи: звичайні та Extreme, що коротко позначаються приставкою «E».

У E-версій для слота відеокарти в обов’язковому порядку реалізовано PCI-E 5.0, а також можливий поділ 16 ліній дискретної графіки на два слоти по 8 ліній. У звичайних чіпсетів вибір покоління шини для слота відеокарти віддано на відкуп виробникам плати, які можуть використовувати як п’яте, так і старіше четверте покоління інтерфейсу. Розділяти лінії цього слота вони не можуть.

Чіпсети підключаються до процесора по 4 лініях PCI-E 4.0. Старші X670 і X670E пропонують 12 ліній PCI-E 4.0 і 8 ліній PCI-E 3.0, середнячки B650 і B650E — 8 PCI-E 4.0 і 4 PCI-E 3.0.

TR4 і sTRX4

Перша сучасна HEDT-платформа від AMD використовує сокет TR4 і чіпсет X399. На відміну від Intel, у будь-якого процесора AMD Threadripper першого або другого покоління під цю платформу стабільна кількість вільних ліній PCI-E 3.0 — 60. Ще 4 лінії цієї версії, а також 8 ліній повільнішого PCI-E 2.0 додає чіпсет, який зв’язується з процесором через PCI-E 3.0 x4.

Друге покоління HEDT-платформ AMD отримало новий сокет sTRX4, і повністю перейшло на використання PCI-E 4.0. У чипсета TRX40 64 лінії оновленої версії інтерфейсу від процесора і 8 таких самих ліній від чипсета, який зв’язується з процесором по PCI-E 4.0 x8.

Проблема нестачі ліній

Якщо в комп’ютері багато периферії, що вимагає високошвидкісного підключення, то ліній на все може не вистачати. Наприклад, у масових платформах на повній швидкості x16 можна підключити тільки одну відеокарту. У разі використання топового чіпсета дві відеокарти можна буде під’єднати тільки на «половинній» швидкості x8, яка може знизити їхню швидкодію. У разі інших чіпсетів — тільки за схемою x16 + x4, останні з яких братимуться від чіпсета. Така нерівновага ще більше може погіршити продуктивність.

Периферійних пристроїв, портів і роз’ємів на платах часто більше, ніж може забезпечити чипсет одночасно. Через це доводиться вибирати, яким портам і пристроям надати пропускну здатність. Але при цьому одночасно всі порти і пристрої задіяти не вдасться. Простий приклад: у деяких системах встановлення другого NVME накопичувача відключає порти SATA, тому що на них перестає вистачати ліній чіпсета. Якби останні були необмеженими, такого б не було.

Ще одна проблема в тому, що з’єднання чіпсета з процесором використовує менше ліній, ніж дає сам чіпсет на виході. Саме тому, навіть якщо чіпсету вистачає власних ліній на всі пристрої, останні не можуть працювати на повній швидкості одночасно. З процесорами Intel до 11 покоління NVME-слоти спілкуються через чіпсет, який під’єднаний по PCI-E 3.0 x4. Якщо встановити два таких накопичувача і використовувати їх паралельно, то обидва з них не зможуть одночасно передавати дані процесору на повній швидкості через пляшкове горлечко, яке розташоване в з’єднанні чіпсета. Особливо це може стати на заваді при активному RAID.

У чіпсетів 300 і 400 серії AMD під процесори Ryzen інша проблема: лінії чіпсета підтримують лише PCI-E 2.0. Тому під час встановлення другого SSD у слот, підключений до чіпсета, він просто втратить половину своєї швидкості.

Останні масові платформи обох компаній частково позбавлені цих недоліків завдяки використанню каналів зв’язку з чіпсетами з вищою пропускною здатністю. Але повністю позбавити від них можуть тільки HEDT-платформи, які мають набагато більшу кількість ліній PCI-E. На таких платформах нестача ліній може виникнути тільки в самих крайніх випадках: при одночасному використанні більше двох відеокарт укупі з великою кількістю високошвидкісних SSD.

Підсумки

Теорія — це добре, але практика — краще. У наступній таблиці розглянемо комбінації сучасних процесорів з чіпсетами, за яких всі пристрої, що вимагають високої швидкості обміну інформацією з системою, отримають повну пропускну здатність по лініях PCI-E. Враховувати плати розширення, яким потрібна для роботи тільки одна лінія — дротові та бездротові мережеві адаптери, звукові карти та інше — тут не будемо, тому що ці пристрої незначно впливають на загальну пропускну здатність.

1 варіант — одна (4.0 x16)

2 варіант — одна (3.0 x16)

1 варіант — два (два 3.0 x4)

2 варіант — два (4.0 x4 + 3.0 x4)

Три (4.0 x4 + два 3.0 x4)