PCI Express

На фотографії слоти материнської плати DFI LanParty nForce4 SLI-DR (зверху вниз): x4 PCI Express,
x16 PCI Express,
x1 PCI Express,
x16 PCI Express,
стандартний 32-розрядний слот PCI

PCI Express, або PCIe, або PCI-E (також відома як 3GIO for 3rd Generation I / O; не плутати з PCI-X і PXI) - комп'ютерна шина, що використовує програмну модель шини PCI і високопродуктивний фізичний протокол, заснований на послідовній передачі даних.

Розробка стандарту PCI Express була розпочата фірмою Intel після відмови від шини InfiniBand. Офіційно перша базова специфікація PCI Express з'явилася в липні 2002. Розвитком стандарту PCI Express займається організація PCI Special Interest Group.


1. Опис

На відміну від шини PCI, що використала для передачі даних загальну шину, PCI Express, в загальному випадку, є пакетної мережею з топологією типу зірка. Пристрої PCI Express взаємодіють між собою через середовище, утворену комутаторами, при цьому кожен пристрій безпосередньо пов'язане з'єднанням типу точка-точка з комутатором.

Крім того, шиною PCI Express підтримується:

Шина PCI Express націлена на використання тільки як локальної шини. Так як програмна модель PCI Express багато в чому успадкована від PCI, то існуючі системи і контролери можуть бути доопрацьовані для використання шини PCI Express заміною тільки фізичного рівня, без доопрацювання програмного забезпечення. Висока пікова продуктивність шини PCI Express дозволяє використовувати її замість шин AGP і тим більше PCI і PCI-X. Де-факто PCI Express замінила ці шини в персональних комп'ютерах.


2. Роз'єми

  • Mini Card - заміна форм-фактора Mini PCI. На роз'єм Mini Card виведені шини: x1 PCIe, USB 2.0 і SMBus.
  • ExpressCard - подібний форм-фактору PCMCIA. На роз'єм ExpressCard виведені шини x1 PCIe і USB 2.0, карти ExpressCard підтримують гаряче підключення.
  • AdvancedTCA - форм-фактор для телекомунікаційного обладнання.
  • Кабельні специфікації PCI Express дозволяють доводити довжину одного з'єднання до десятків, а то і сотень метрів, що робить можливим створення "розібраних" ЕОМ.
  • Mobile PCI Express Module - промисловий форм-фактор, створений для ноутбуків фірмою NVIDIA.

2.1. PCI Express X1

Висновки PCI Express X1
№ виведення Призначення № виведення Призначення
B1 +12 V A1 PRSNT1 #
B2 +12 V A2 +12 V
B3 +12 V A3 +12 V
B4 GND A4 GND
B5 SMCLK A5 JTAG2
B6 SMDAT A6 JTAG3
B7 GND A7 JTAG4
B8 +3.3 V A8 JTAG5
B9 JTAG1 A9 +3.3 V
B10 3.3V__AUX A10 +3.3 V
B11 WAKE # A11 PERST #
Перегородка
Перегородка
B12 RSVD A12 GND_A12
B13 GND A13 REFCLK +
B14 PETP0 A14 REFCLK-
B15 PETN0 A15 GND
B16 GND A16 PERP0
B17 PRSNT2 # A17 PERN0
B18 GND A18 GND

2.2. Mini PCI-E

Mini PCI Express - формат шини PCI Express для портативних пристроїв.

Для цього стандарту роз'єму випускається маса периферійних пристроїв:

  • WiFi карти
  • WiMax карти
  • GSM модеми
  • GPS приймачі
  • SSD накопичувачі - Використовує нестандартну терморегулятори роз'єму Mini PCI-E (SSD Mini PCI Express)
  • PCIe 1
  • USB 2.0
  • USB 3.0
  • SATA
  • SATA III
  • COM (RS232)
  • SMBus
  • Висновки для індикаторних світлодіодів
  • Висновки підключення СІМ карт (для GSM WCDMA) [1]
  • Має зарезервовані контакти (для майбутніх пристроїв)
  • Харчування 1.5 В і 3.3 В
Висновки Mini PCI-E
№ виведення Призначення № виведення Призначення
51 Зарезервовано 52 +3.3 V
49 Зарезервовано 50 GND
47 Зарезервовано 48 +1.5 V
45 Зарезервовано 46 LED_WPAN #
43 Зарезервовано 44 LED_WLAN #
41 Зарезервовано (+3.3 V) 42 LED_WWAN #
39 Зарезервовано (+3.3 V) 40 GND
37 Зарезервовано (GND) 38 USB_D +
35 GND 36 USB_D-
33 PETp0 34 GND
31 PETn0 32 SMB_DATA
29 GND 30 SMB_CLK
27 GND 28 +1.5 V
25 PERp0 26 GND
23 PERn0 24 +3.3 Vaux
21 GND 22 PERST #
19 Зарезервовано (UIM_C4) 20 W_DISABLE #
17 Зарезервовано (UIM_C8) 18 GND
Перегородка
Перегородка
15 GND 16 UIM_VPP
13 REFCLK + 14 UIM_RESET
11 REFCLK- 12 UIM_CLK
9 GND 10 UIM_DATA
7 CLKREQ # 8 UIM_PWR
5 Зарезервовано (COEX2) 6 1.5V
3 Зарезервовано (COEX1) 4 GND
1 WAKE # 2 3.3V

2.3. SSD Mini PCI Express

  • PATA
  • SATA
  • USB
  • Харчування 3.3 В
31 Sata TX- 32 IDE_DMARQ
29 GND 30 IDE_DMACK
27 GND 28 IDE_IOREAD
25 Sata RX + 26 GND
23 Sata RX + 24 IDE_IOWR
21 GND 22 IDE_RESET
19 IDE_D7 20 IDE_D8
17 IDE_D6 18 GND
Перегородка
Перегородка
15 GND 16 IDE_D9
13 IDE_D5 14 IDE_D10
11 IDE_D4 12 IDE_D11
9 GND 10 IDE_D12
7 IDE_D3 8 IDE_D13
5 IDE_D2 6 IDE_D14
3 IDE_D1 4 GND
1 IDE_D0 2 IDE_D15

2.4. ExpressCard

Слоти ExpressCard на даний час (Листопад 2010) застосовуються для підключення: [2]

  • Плат SSD накопичувачів
  • Контролерів 1394/FireWire (iLINK)
  • Док-станцій
  • Вимірювальних приладів
  • Пам'яті
  • Адаптерів карток пам'яті (CF, MS, SD, xD, і т.д.)
  • Мишей
  • Мережевих адаптерів
  • Паралельних портів
  • Адаптерів PC Card / PCMCIA
  • Розширення PCI
  • Розширення PCI Express
  • Дистанційного керування
  • Контролерів SATA
  • Послідовних портів
  • Адаптерів SmartCard
  • ТВ-тюнерів
  • Контролерів USB
  • Бездротових мережевих адаптерів Wi-Fi
  • Бездротових широкосмугових інтернет-адаптерів (3G, CDMA, EVDO, GPRS, UMTS, і т.д.)
  • Звукових карт для домашнього мультимедіа та професійних аудіо-інтерфейсів.

3. Опис протоколу

Відеокарта для PCI Express x16

Для підключення пристрою PCI Express використовується двунаправленное послідовне з'єднання типу точка-точка, зване лінією ( англ. lane - Смуга, ряд); це різко відрізняється від PCI, в якій всі пристрої підключаються до загальної 32-розрядної паралельної двонаправленої шині.

З'єднання ( англ. link - Зв'язок, з'єднання) між двома пристроями PCI Express складається з однієї (x1) або декількох (x2, x4, x8, x12, x16 і x32) двонаправлених послідовних ліній. Кожен пристрій має підтримувати з'єднання принаймні з однією лінією (x1).

На електричному рівні кожне з'єднання використовує низьковольтну диференціальну передачу сигналу ( LVDS), прийом і передача інформації здійснюється кожним пристроєм PCI Express по окремих двом провідникам, таким чином, в простому випадку, пристрій підключається до комутатора PCI Express всього лише чотирма провідниками.

Використання подібного підходу має такі переваги:

  • карта PCI Express поміщається і коректно працює в будь-якому слоті тієї ж або більшої пропускної здатності (наприклад, карта x1 буде працювати в слотах x4 і x16);
  • слот більшого фізичного розміру може використовувати не всі лінії (наприклад, до слоту x16 можна підвести провідники передачі інформації, відповідні x1 або x8, і все це буде нормально функціонувати; однак, при цьому необхідно підключити всі провідники живлення і заземлення, необхідні для слота x16) .

В обох випадках, на шині PCI Express буде використовуватися максимальна кількість ліній, доступних як для карти, так і для слота. Однак це не дозволяє пристрою працювати в слоті, призначеному для карт з меншою пропускною здатністю шини PCI Express. Наприклад, карта x4 фізично не поміститься в стандартний слот x1, незважаючи на те, що вона могла б працювати в слоті x1 з використанням тільки однієї лінії. На деяких материнських платах можна зустріти нестандартні слоти x1 і x4, у яких відсутній крайня перегородка, таким чином, в них можна встановлювати карти більшої довжини ніж роз'єм. При цьому не забезпечується харчування та заземлення виступаючої частини карти, що може призвести до різних проблем.

PCI Express пересилає всю керуючу інформацію, включаючи переривання, через ті ж лінії, що використовуються для передачі даних. Послідовний протокол ніколи не може бути заблокований, таким чином затримки шини PCI Express цілком порівнянні з такими для шини PCI (зауважимо, що шина PCI для передачі сигналу про запит на переривання використовує окремі фізичні лінії IRQ # A, IRQ # B, IRQ # C, IRQ # D).

У всіх високошвидкісних послідовних протоколах (наприклад, гігабітний Ethernet), інформація про синхронізації повинна бути вбудована в передаваний сигнал. На фізичному рівні, PCI Express використовує метод канального кодування 8b/10b (8 біт в десяти, надмірність - 20%) для усунення постійної складової в переданому сигналі і для вбудовування інформації про синхронізацію в потік даних. У PCI Express 3.0 використовується більш економне кодування 128b/130b з надмірністю 1,5%.

Деякі протоколи (наприклад, SONET / SDH) використовують метод, який називається скремблінг (англ. scrambling) для вбудовування інформації про синхронізацію в потік даних і для "розмивання" спектру переданого сигналу. Специфікація PCI Express також передбачає функцію скремблінга, але скремблінг PCI Express відрізняється від такого для SONET.


4. Пропускна здатність

Бітрейт у PCIe 1.0 становить 2,5 Гбіт / с. Для розрахунку пропускної здатності шини необхідно врахувати дуплексне [3] і надмірність 8b/10b (8 біт в десяти). Наприклад, дуплексний пропускна здатність з'єднання x1 становить:

2,5 2 0,8 = 4 Гбіт / с
  • де 2,5 - бітрейт, Гбіт / с;
  • 2 - облік дуплексні (двонаправлений);
  • 0,8 - облік надмірності 8b/10b для 1.0 і 2.0; 0,985 - для 3.0;
В одну / обидві сторони, Гбіт / с
Зв'язків
x1 x2 x4 x8 x12 x16 x32
PCIe 1.0 2/4 4/8 8/16 16/32 24/48 32/64 64/128
PCIe 2.0 4/8 8/16 16/32 32/64 48/96 64/128 128/256
PCIe 3.0 8/16 16/32 32/64 64/128 96/192 128/256 256/512
PCIe 4.0 (попередньо) [4] 16/32 32/64 64/128 128/256 192/384 256/512 512/1024

Шина UMI - являє собою модифікований інтерфейс PCI-E x4 c вдвічі збільшеною пропускною спроможністю, за рахунок переходу з першої на другу версію стандарту. Входить до складу чіпсета AMD Fusion A55.


5. Конкуруючі протоколи

Крім PCI Express існує ще ряд високошвидкісних стандартизованих послідовних інтерфейсів, ось тільки деякі з них: HyperTransport, InfiniBand, RapidIO, і StarFabric. Кожен інтерфейс має своїх прихильників серед промислових компаній, так як на розробку специфікацій протоколів вже пішли значні суми, і кожен консорціум прагне підкреслити переваги саме свого інтерфейсу над іншими.

Стандартизований високошвидкісний інтерфейс з одного боку повинен володіти гнучкістю і розширюваністю, а з іншого боку повинен забезпечувати низький час затримки і невисокі накладні витрати (тобто частка службової інформації пакета не повинна бути велика). По суті, відмінності між інтерфейсами полягають саме у вибраному розробниками конкретного інтерфейсу компромісі між цими двома конфліктуючими вимогами.

Наприклад, додаткова службова маршрутна інформація в пакеті дозволяє організувати складну і гнучку маршрутизацію пакета, але збільшує накладні витрати на обробку пакета, також знижується пропускна здатність інтерфейсу, ускладнюється програмне забезпечення, яке ініціалізує і налаштовує пристрої, підключені до інтерфейсу. При необхідності забезпечення гарячого підключення пристроїв необхідно спеціальне програмне забезпечення, яке б відстежувало зміна в топології мережі. Прикладами інтерфейсів, які пристосовані для цього є RapidIO, InfiniBand і StarFabric.

У той же час, скорочуючи пакети можна зменшити затримку при передачі даних, що є важливою вимогою до інтерфейсу пам'яті. Але невеликий розмір пакетів приводить до того, що частка службових полів пакету збільшується, що знижує ефективну пропускну спроможність інтерфейсу. Прикладом інтерфейсу такого типу є HyperTransport.

Положення PCI Express - між описаними підходами, так як шина PCI Express призначена для роботи в якості локальної шини, ніж шини процесор-пам'ять або складної маршрутизуються мережі. Крім того, PCI Express спочатку замислювалася як шина, логічно сумісна з шиною PCI, що також внесло свої обмеження.


6. PCI Express 2.0

Група PCI-SIG випустила специфікацію PCI Express 2.0 15 січня 2007. Основні нововведення в PCI Express 2.0:

  • Збільшена пропускна здатність. Специфікація PCI Express 2.0 визначає максимальну пропускну спроможність однієї лінії в 5 Гбіт / с, при цьому збережена сумісність з PCI Express 1.x. Внесені удосконалення в протокол передачі між пристроями і програмну модель. Таким чином, плата розширення, що підтримує стандарт PCIE 1.x може працювати, будучи встановленою в слот PCIE 2.0. Пристрої же з інтерфейсом PCI Express 2.0 зможуть працювати в материнських платах, оснащених слотом PCI Express x16 покоління PCI Express 1.x, але тільки на швидкості 2,5 Гбіт / с, так як старий чіпсет не може підтримувати подвоєну швидкість передачі даних.
  • Динамічне управління швидкістю (для управління швидкістю роботи зв'язку).
  • Оповіщення про пропускну здатність (для оповіщення ПО про зміни швидкості та ширини шини).
  • Розширення структури можливостей [Уточнити] - розширення керуючих регістрів для кращого управління пристроями, слотами і інтерконектом).
  • Служби управління доступом - опціональні можливості управління транзакціями точка-точка).
  • Управління таймаут виконання.
  • Скидання на рівні функцій - опціональний механізм для скидання функцій ( англ. PCI funcs ) Всередині пристрою ( англ. PCI device ).
  • Перевизначення межі по потужності (для перевизначення ліміту потужності слота при приєднанні пристроїв, які споживають велику потужність).

6.1. Зовнішня кабельна специфікація PCIe

7 лютого 2007 PCI-SIG випустила специфікацію зовнішньої кабельної системи PCIE. Нова специфікація дозволяє використовувати кабелі довжиною до 10 метрів, що працюють з пропускною здатністю 2,5 Гбіт / с.

6.2. PCI Express 2.1

По фізичних характеристиках (швидкість, роз'єм) відповідає 2.0, в програмній частині додані функції, які в повній мірі планують впровадити у версії 3.0. Так як більшість системних плат продаються з версією 2.0, наявність тільки відеокарти з 2.1 не дає задіяти режим 2.1.

7. PCI Express 3.0

У листопаді 2010 року [5] були затверджені специфікації версії PCI Express 3.0. Інтерфейс володіє швидкістю передачі даних 8 GT / s (Гігатранзакцій / с). Але, незважаючи на це, його реальна пропускна здатність все одно була збільшена вдвічі в порівнянні зі стандартом PCI Express 2.0. Цього вдалося досягти завдяки більш агресивною схемою кодування 128b/130b, коли 128 біт даних пересилаються по шині кодуються 130 бітами. PCI Express 2.0 має швидкість передачі даних 5 GT / s і схемою кодування 8b/10b. При цьому збереглася сумісність з попередніми версіями PCI Express. За даними PCI-SIG, перші тести PCI Express 3.0 почалися в 2011 році, кошти для перевірки сумісності для партнерів з'явилися лише в середині 2011-го, а реальні пристрої - тільки в 2012-му.

Компанія MSI стала першим у світі [6] виробником, що випустив материнську плату з підтримкою стандарту PCI Express 3.0.

Влітку 2011 року Gigabyte офіційно представила материнську плату G1.Sniper 2, побудовану на чіпсеті Intel Z68 і підтримуючу інтерфейс PCI Express 3.0. [7] [8]


8. PCI Express 4.0

PCI Special Interest Group (PCI SIG) заявила, що PCI Express 4.0 може бути стандартизований до 2015 року. Він матиме пропускну здатність 16 GT / s або більше, тобто буде в два рази швидше PCIe 3.0. [9]

Примітки

  1. Зарезервовані висновки під SIM - pinouts.ru / Slots / mini_pcie.shtml
  2. ExpressCard. Where to Buy page. - www.link6
  3. PCI Express 3.0. Frequently Asked Questions. PCI-SIG. Retrieved 23 November 2008. - www.pcisig.com/news_room/faqs/pcie3.0_faq (Англ.)
  4. Maximum PC | PCIe 4.0 to Double the Speed ​​of PCIe 3.0 - www.maximumpc.com/article/news/pcie_40_double_speed_pcie_30
  5. Затверджена специфікація PCI Express 3.0 - швидкість подвоєна - www.ixbt.com/news/all/index.shtml?14/03/51
  6. MSI анонсувала першу в світі системну плату з підтримкою PCI Express 3.0 - ht.comments.ua/2011/07/06/269432/msi-anonsirovala-pervuyu-mire.html
  7. Gigabyte офіційно представила материнську плату G1.Sniper 2 -
  8. GIGABYTE G1.Sniper 2: офіційні фото і подробиці - www.ixbt.com/news/hard/index.shtml?14/85/00
  9. PCI Express 4.0 принесе прискорення мінімум в 2 рази - www.3dnews.ru/news/613187/ / / 3DNews - Новини Hardware

Література

  • Ravi Budruk, Don Anderson, Tom Shanley PCI Express System Architecture. - Addison-Wesley Professional, 1999. - С. 832. - (PC System Architecture Series). - ISBN 978-0201309744
  • Doug Abbott PCI Bus Demystified. - 2-е. - Newnes, 2004. - С. 250. - (Demystifying Technology Series). - ISBN 978-0750677394