Що таке PCI Express
PCI Express (Peripheral Component Interconnect Express, скорочено - PCIe або PCI-e) - це комп'ютерна шина, яка використовує високопродуктивний протокол послідовної передачі даних. Для більшості необізнаних це визначення напевно здасться туманним. Щоб стало зрозуміліше, розберемо його детальніше. Комп'ютерна шина - з'єднання, яке служить для передачі даних між функціональними блоками комп'ютера. Протокол - в даному випадку означає "схема", "алгоритм", "порядок". Послідовна передача даних - поняття більш складне, йому доведеться приділити більше уваги. Всі дані всередині комп'ютера циркулюють, обробляються і зберігаються у вигляді бінарного коду, найдрібнішими частинками якого є біти. Детальніше про це можна дізнатися тут. Передача даних між функціональними блоками комп'ютера може здійснюватися паралельним або послідовним способом.Паралельная передача даних
Паралельний спосіб передбачає використання фізичного з'єднання зі значної кількості провідників. Передача даних здійснюється "порціями", в яких кількість бітів відповідає кількості провідників у з'єднанні. Кожна така порція перед передачею ніби "розгортається в просторі", розділяючись на біти, кожен з яких проходить до приймаючого пристрою по окремому провіднику. Таким чином, кожну одиницю часу кожен біт бінарного коду передається по окремому провіднику цього з'єднання, одночасно (паралельно) з іншими бітами, які передаються по іншим його провідниках. Тому схема і називається паралельною. Наприклад, комп'ютерна шина PATA (IDE), яка в домашніх комп'ютерах не так давно була основним способом підключення жорстких дисків, складається з 40 провідників (на зображенні нижче). З них лише 16 використовуються безпосередньо для паралельної передачі даних. За кожну передачу (такт) по такій шині проходить 16 бітів інформації. Частота шини - 33 МГц, тобто кожну секунду відбувається 33 млн. передач. Таким чином, максимальна пропускна здатність такого з'єднання дорівнює 528 млн. бітів в секунду (16 х 33 млн.), або, якщо перевести в мегабайти - 66 Мегабайт / с.
Послідовна передача даних
Впливу вказаних вище негативних факторів в значно меншій мірі піддаються схеми послідовної передачі даних. Сьогодні вони є дуже поширеними. Всі USB-пристрої, сучасні жорсткі диски, SSD, відеокарти, мережеві карти тощо взаємодіють з іншим обладнанням з використанням послідовної передачі даних. Спосіб її реалізації в кожному з цих видів пристроїв, звичайно ж, відрізняється, але принцип скрізь однаковий. Для послідовної схеми не потрібно багато провідників. Передача даних здійснюється через один комунікаційний канал по одному біту за кожну передачу, послідовно, один за одним (щось на кшталт азбуки Морзе). На перший погляд, така схема здається менш ефективною, ніж у випадку з паралельної передачею. Але це далеко не так. Висока швидкість тут досягається за рахунок величезної частоти передачі даних (кілька мільярдів в секунду). А для пристроїв, які потребують особливо високих швидкостей обміну даними, одночасно використовується кілька таких каналів (ліній). Наприклад, сучасні ігрові відеокарти підключаються до комп'ютера через 16 ліній PCIe (PCIe x16).Особливості стандарту PCI Express, його версії
Розробка стандарту PCI Express була почата фірмою Intel. Специфікації першої його версії з'явилися ще в 2002 році. Зараз розвитком PCI Express займається організація PCI Special Interest Group, до ради директорів якої входять представники основних розробників апаратного і програмного забезпечення (Intel, Microsoft, IBM, AMD, Sun Microsystems, HP, NVIDIA й інші). У своєму розвитку PCIe пройшов кілька етапів і вже розвинувся до версії 5.0. PCIe є повнодуплексним протоколом, тобто передбачає використання незалежних один від одного каналів прийому і передачі даних (пристрій може одночасно відправляти і отримувати дані). Перед відправкою дані кодуються в блоки. Це необхідно для синхронізації відправляючого і отримуючого пристроїв, в твкож зменшення впливу перешкод. У версіях PCIe 1.0 і PCIe 2.0 використовується схема кодування 8b/10b. Тобто, кожен 8-бітний блок кодується в 10-бітний, в якому тільки 80% переданих даних є корисними. Решта 20% потрібні для забезпечення належного функціонування протоколу. В PCIe 3.0 і новіших її версіях дані кодуються за більш ефективною схемою 128b/130b (кожні 128 біт кодуються в 130-бітний блок). Частка корисного вмісту в даних, що передаються, тут становить вже близько 98,46%. Різні версії PCIe відрізняються не тільки способом "упаковки" бітів в блоки, а й частотою передачі даних. У PCIe 1.0 вона складає 2,5 ГТ/с (гігатранзакцій в секунду), тобто за одну секунду передається 2,5 мільярди бітів. Для кращого сприйняття переведемо це в звичні одиниці: 2,5*109 Біт / с = 312,5 Мегабайт / с. Враховуючи, що лише 80% з них є корисними даними, реальна пропускна здатність PCIe 1.0 складає 250 Мегабайт / с. У PCIe 5.0 частота передачі даних зросла аж до 32 ГТ / с. Переведемо це в зручний вид: 32*109 Біт / с = 4000 Мегабайт / с = 4 Гігабайт / с. Оскільки корисні дані становлять 98,46%, реальна пропускна здатність PCIe 5.0 дорівнює 3,938 Гігабайт / с. Детальніше про особливості різних версіях PCIe див. у таблиці:Версія PCI Express | Рік виходу | Схема кодування | Швидкість передачі | Пропускна здатність на x ліній: | |||
x1 | x4 | x8 | x16 | ||||
PCIe 1.0 | 2002 | 8b/10b | 2,5 ГТ/с | 250 Мб/с | 1 Гб/с | 2 Гб/с | 4 Гб/с |
PCIe 2.0 | 2007 | 8b/10b | 5 ГТ/с | 500 Мб/с | 2 Гб/с | 4 Гб/с | 8 Гб/с |
PCIe 3.0 | 2010 | 128b/130b | 8 ГТ/с | 984,6 Мб/с | 3,94 Гб/с | 7,88 Гб/с | 15,8 Гб/с |
PCIe 4.0 | 2017 | 128b/130b | 16 ГТ/с | 1,969 Гб/с | 7,88 Гб/с | 15,8 Гб/с | 31,5 Гб/с |
PCIe 5.0 | 2019 | 128b/130b | 32 ГТ/с | 3,938 Гб/с | 15,75 Гб/с | 31,5 Гб/с | 63 Гб/с |
Застосування PCI Express в комп'ютері. Роз'єми PCI Express
Контроллер (керуючий пристрій) ліній PCIe не так давно вбудовувася тільки в чіпсет (головну мікросхему) материнської плати. Але, починаючи з 2009 року, контроллер PCIe додається виробниками також і безпосередньо в центральний процесор. Це зменшує затримки і дозволяє процесору ефективніше взаємодіяти з іншими пристроями. Версії і кількість ліній PCIe в різних моделях процесорів і чіпсетів відрізняється. Значна їх частина формується в роз'єми, які розміщуються на материнській платі. Вони дають можливість підключати до комп'ютера різноманітні пристрої (відеокарти, звукові карти, мережеві карти, Wi-Fi-адаптери та ін.). На материнській платі сучасного комп'ютера можна знайти роз'єми PCIe декількох видів, які відрізняються кількістю використовуваних в них ліній PCIe (від х1 до х16 ліній). Незалежно від того, наскільки старим є комп'ютер, і яка версія PCIe в ньому використовується, ці роз'єми завжди виглядають однаково:на зображенні: верхній роз'єм - PCIe x4, по середині - PCIe x16, знизу - PCIe x1
на зображенні - роз'єм M.2 із запам'ятовуючим пристроєм в ньому