PCI
- 1 year ago
- 0
- 0
PCI Express ( англ. Peripheral Component Interconnect Express ), или PCIe , или PCI-e ; также известная как 3GIO ( 3rd Generation I/O ) — компьютерная шина (хотя на физическом уровне шиной не является, будучи соединением типа «точка-точка»), использующая программную модель шины PCI и высокопроизводительный физический протокол , основанный на последовательной передаче данных .
Разработка стандарта PCI Express была начата фирмой Intel после отказа от шины InfiniBand . Официально первая базовая спецификация PCI Express появилась в июле 2002 года . Развитием стандарта PCI Express занимается организация PCI Special Interest Group .
В отличие от стандарта PCI, использовавшего для передачи данных общую шину с подключением параллельно нескольких устройств, PCI Express, в общем случае, является пакетной сетью с топологией типа звезда .
Устройства PCI Express взаимодействуют между собой через среду, образованную коммутаторами, при этом каждое устройство напрямую связано соединением типа точка-точка с коммутатором.
Кроме того, шиной PCI Express поддерживается :
Шина PCI Express нацелена на использование только в качестве локальной шины. Так как программная модель PCI Express во многом унаследована от PCI, то существующие системы и контроллеры могут быть доработаны для использования шины PCI Express заменой только физического уровня, без доработки программного обеспечения. Высокая пиковая производительность шины PCI Express позволяет использовать её вместо шин AGP и тем более PCI и PCI-X . Де-факто PCI Express заменила эти шины в персональных компьютерах.
Для подключения устройства PCI Express используется двунаправленное последовательное соединение типа точка-точка , называемое линией ( англ. lane — полоса, ряд); это резко отличается от PCI , в которой все устройства подключаются к общей 32-разрядной параллельной двунаправленной шине.
Соединение ( англ. link — связь, соединение) между двумя устройствами PCI Express состоит из одной (×1) или нескольких (×2, ×4, ×8, ×16 и ×32) двунаправленных последовательных линий . Каждое устройство должно поддерживать соединение, по крайней мере, с одной линией (×1).
На электрическом уровне каждое соединение использует низковольтную дифференциальную передачу сигнала ( LVDS ), приём и передача информации производится каждым устройством PCI Express по отдельным двум проводникам, таким образом, в простейшем случае устройство подключается к коммутатору PCI Express четырьмя проводниками.
Использование подобного подхода имеет следующие преимущества:
В обоих случаях на шине PCI Express будет использоваться максимальное количество линий, доступных как для карты, так и для слота. Однако это не позволяет устройству работать в слоте, предназначенном для карт с меньшей пропускной способностью шины PCI Express. Например, карта ×4 физически не поместится в стандартный слот ×1, несмотря на то, что она могла бы работать в слоте ×1 с использованием только одной линии. На некоторых материнских платах можно встретить нестандартные слоты ×1 и ×4, у которых отсутствует крайняя перегородка, таким образом, в них можно устанавливать карты большей длины, чем разъём. При этом не обеспечивается питание и заземление выступающей части карты, что может привести к различным проблемам.
PCI Express пересылает всю управляющую информацию, включая прерывания , через те же линии, что используются для передачи данных. Последовательный протокол никогда не может быть заблокирован, таким образом задержки шины PCI Express вполне сравнимы с таковыми для шины PCI (заметим, что шина PCI для передачи сигнала о запросе на прерывание использует отдельные физические линии IRQ#A , IRQ#B , IRQ#C , IRQ#D ).
Во всех высокоскоростных последовательных протоколах (например, гигабитный Ethernet ) информация о синхронизации должна быть встроена в передаваемый сигнал. На физическом уровне PCI Express использует метод канального кодирования (8 бит в десяти, избыточность — 20 %) для устранения постоянной составляющей в передаваемом сигнале и для встраивания информации о синхронизации в поток данных. Начиная с версии PCI Express 3.0 используется более экономное кодирование с избыточностью 1,5 %.
Некоторые протоколы (например, SONET / SDH ) используют метод, который называется скремблинг ( англ. scrambling ) для встраивания информации о синхронизации в поток данных и для «размывания» спектра передаваемого сигнала. Спецификация PCI Express также предусматривает функцию скремблинга, но скремблинг PCI Express отличается от такового для SONET .
Группа PCI-SIG выпустила спецификацию PCI Express 2.0 15 января 2007 года . Основные нововведения в PCI Express 2.0:
PCI-Express 2.0 полностью совместим с PCI Express 1.1 (старые видеокарты будут работать в системных платах с новыми разъёмами, но только на скорости 2,5 ГТ/с, так как старые чипсеты не могут поддерживать удвоенную скорость передачи данных; новые видеоадаптеры будут без проблем работать в старых разъёмах стандарта PCI Express 1.х.).
7 февраля 2007 года PCI-SIG выпустила спецификацию внешней кабельной системы PCIe. Новая спецификация позволяет использовать кабели длиной до 10 метров, работающие с пропускной способностью 2,5 ГТ/с.
По физическим характеристикам (скорость, разъём) соответствует 2.0, в программной части добавлены функции, которые в полной мере планируют внедрить в версии 3.0. Так как большинство системных плат продаётся с версией 2.0, наличие только видеокарты с 2.1 не даёт задействовать режим 2.1.
В ноябре 2010 года были утверждены спецификации версии PCI Express 3.0. Интерфейс обладает скоростью передачи данных 8 GT/s ( Гигатранзакций/с ). Но, несмотря на это, его реальная пропускная способность всё равно была увеличена вдвое по сравнению со стандартом PCI Express 2.0. Этого удалось достигнуть благодаря более агрессивной схеме кодирования 128b/130b, когда 128 бит данных, пересылаемых по шине, кодируются 130 битами. При этом сохранилась полная совместимость с предыдущими версиями PCI Express. Карты PCI Express 1.x и 2.x будут работать в разъёме 3.0 и, наоборот, карта PCI Express 3.0 будет работать в разъёмах 1.х и 2.х (хотя и не сможет раскрыть весь свой скоростной потенциал). Для 4 линий скорость передачи данных составляет 4 Гбайт/с, для 16 линий — 16 Гбайт/с .
По данным PCI-SIG, первые тесты PCI-Express 3.0 начались в 2011 году, средства для проверки совместимости для партнёров появились лишь в середине 2011 года, а реальные устройства ― только в 2012 году.
PCI-SIG заявила, что PCI-Express 4.0 может быть стандартизирован до конца 2016 года , однако на середину 2016 года, когда ряд чипов уже готовился к изготовлению, СМИ сообщали, что стандартизация ожидается в начале 2017 . Позднее сроки стандартизации были перенесены, и спецификация была опубликована только 5 октября 2017 года .
По сравнению со спецификацией PCI Express 3.0 максимальная скорость передачи данных по шине PCI Express удвоена — с 8 до 16 GT/s. Кроме того, уменьшены задержки, улучшена масштабируемость и поддержка виртуализации . Для 4 линий скорость передачи данных составляет 8 Гбайт/с, для 16 линий — 32 Гбайт/с .
7 ноября 2018 года AMD объявила о планах выпуска в продажу в четвёртом квартале 2018 года первого GPU с поддержкой PCI-Express 4.0 x16 . 27 мая 2019 года компания Gigabyte объявила о выпуске системных плат серии X570 Aorus. По словам производителя, эти платы «открывают эру PCIe 4.0» .
В мае 2019 года появилась окончательная спецификация стандарта PCI Express 5.0 . Скорость передачи данных по шине PCI-Express составила 32 GT/s. Ожидается, что подобная скорость положительно повлияет на проекты, связанные с виртуальной реальностью . Для 4 линий скорость передачи данных составляет 16 ГБайт/с, для 16 линий — 64 ГБайт/с .
11 января 2022 года PCI-SIG официально объявила о выпуске окончательной спецификации PCI Express 6.0. По сравнению с PCIe 5.0 произошло удвоение пропускной способности. Так, скорость передачи данных составляет 64 ГТ/с, а для 16 линий 256 Гбайт/с. Кроме того, посредством ( англ. Flit ), использовано кодирование, позволяющее применять упрощённую систему коррекции ошибок Low-latency Forward Error Correction (FEC), передачу по схеме с амплитудно-импульсной модуляцией ( PAM4 ) и алгоритма CRC ( англ. Cyclic redundancy check ), проверяющий без задержек целостность данных .
В июне 2022 PCI-SIG анонсировал разработку спецификации PCI-E 7.0. Она будет обеспечивать скорость передачи данных до 128 ГТ/с и до 512 ГБ/с в каждом направлении в конфигурации ×16 с использованием той же сигнализации PAM4 , что и в версии PCI-E 6.0. Удвоение скорости передачи данных будет достигнуто за счет точной настройки параметров канала для уменьшения потерь сигнала и повышения энергоэффективности. Ожидается, что спецификация будет окончательна принята в 2025 году .
PCIe является полнодуплексным протоколом, то есть потоки приёма и передачи имеют независимые каналы и одинаковые максимальные скорости. Скорость компьютерных шин принято выражать в гигатранзакциях в секунду . За 1 транзакцию передаётся одно кодовое слово. Для расчёта пропускной способности 1 линии шины необходимо учесть ( англ. ) (для PCI-E 3.0 и выше — ( англ. ). Например, пропускная способность линии PCIe 1.0 составляет:
Несмотря на то, что стандарт допускает 32 линии на порт, такие решения физически достаточно громоздки для прямой реализации и выпускаются только в проприетарных разъёмах.
Год
выпуска |
Версия
PCI Express |
Кодирование |
Скорость
передачи одной линии |
Пропускная способность на x линий в дуплексе (в обе стороны) | ||||
---|---|---|---|---|---|---|---|---|
×1 | ×2 | ×4 | ×8 | ×16 | ||||
2002 | 1.0-1.1 | 8b/10b | 2,5 ГТ/с | 500 МБайт/с = 0,5 ГБайт/с | 1 ГБайт/с | 2 ГБайт/с | 4 ГБайт/с | 8 ГБайт/с |
2007 | 2.0-2.1 | 8b/10b | 5 ГТ/с | 1 ГБайт/с | 2 ГБайт/с | 4 ГБайт/с | 8 ГБайт/с | 16 ГБайт/с |
2010 | 3.0-3.1 | 128b/130b | 8 ГТ/с | 2 ГБайт/с | 4 ГБайт/с | 8 ГБайт/с | 16 ГБайт/с | 32 ГБайт/с (256 Gbit/s) |
2017 | 4.0 | 128b/130b | 16 ГТ/с | 4 ГБайт/с | 8 ГБайт/с | 16 ГБайт/с | 32 ГБайт/с | 64 ГБайт/с (512 Gbit/s) |
2019 | 5.0 | 128b/130b | 32 ГТ/с | 8 ГБайт/с | 16 ГБайт/с | 32 ГБайт/с | 64 ГБайт/с | 128 ГБайт/с (1024 Gbit/s) |
2022 | 6.0 | 242B/256B, PAM-4 , FEC , | 64 ГТ/с | 16 ГБайт/с | 32 ГБайт/с | 64 ГБайт/с | 128 ГБайт/с | 256 ГБайт/с (2048 Gbit/s) |
2025 | 7.0 | 242B/256B, PAM-4, FEC, FLIT | 128 ГТ/с | 32 ГБайт/с | 64 ГБайт/с | 128 ГБайт/с | 256 ГБайт/с | 512 ГБайт/с ( 4096 Gbit/s ) |
Выводы PCI Express ×1 | |||
---|---|---|---|
№ вывода | Назначение | № вывода | Назначение |
B1 | +12V | A1 | PRSNT1# |
B2 | +12V | A2 | +12V |
B3 | +12V | A3 | +12V |
B4 | GND | A4 | GND |
B5 | SMCLK | A5 | JTAG2 |
B6 | SMDAT | A6 | JTAG3 |
B7 | GND | A7 | JTAG4 |
B8 | +3.3V | A8 | JTAG5 |
B9 | JTAG1 | A9 | +3.3V |
B10 | 3.3V__AUX | A10 | 3.3V |
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 |
Mini PCI Express — формат шины PCI Express для портативных устройств.
Для этого стандарта разъёма выпускается много периферийных устройств:
Выводы 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.5 V |
3 | Зарезервировано (COEX1) | 4 | GND |
1 | WAKE# | 2 | 3.3 V |
Контакты SSD Mini PCI Express [ источник не указан 3766 дней ] | |||
---|---|---|---|
33 | Sata TX+ | 34 | GND |
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 |
Слоты ExpressCard применяются в ноутбуках для подключения:
В 2023 году комитет по стандартизации PCI-SIG начал изучать возможность использования в PCIe 8.0 или 9.0 оптических соединений вместо электрических. Это позволит сэкономить энергию, снизить тепловыделение и повысит скорость передачи данных .
Кроме PCI Express, существует ещё ряд высокоскоростных стандартизованных последовательных интерфейсов, вот некоторые из них: HyperTransport , InfiniBand , RapidIO , и . Каждый интерфейс имеет своих сторонников среди промышленных компаний, так как на разработку спецификаций протоколов уже ушли значительные суммы, и каждый консорциум стремится подчеркнуть преимущества именно своего интерфейса над другими.
Стандартизированный высокоскоростной интерфейс, с одной стороны, должен обладать гибкостью и расширяемостью, а с другой стороны, должен обеспечивать низкое время задержки и невысокие накладные расходы (то есть доля служебной информации пакета не должна быть велика). В сущности, различия между интерфейсами заключаются именно в выбранном разработчиками конкретного интерфейса компромиссе между этими двумя конфликтующими требованиями.
К примеру, дополнительная служебная маршрутная информация в пакете позволяет организовать сложную и гибкую маршрутизацию пакета, но увеличивает накладные расходы на обработку пакета, также снижается пропускная способность интерфейса, усложняется программное обеспечение, которое инициализирует и настраивает устройства, подключённые к интерфейсу. При необходимости обеспечения горячего подключения устройств необходимо специальное программное обеспечение, которое бы отслеживало изменение в топологии сети. Примерами интерфейсов, которые приспособлены для этого, являются RapidIO, InfiniBand и StarFabric.
В то же время, укорачивая пакеты, можно уменьшить задержку при передаче данных, что является важным требованием к интерфейсу памяти. Но небольшой размер пакетов приводит к тому, что доля служебных полей пакета увеличивается, что снижает эффективную пропускную способность интерфейса. Примером интерфейса такого типа является HyperTransport.
Положение PCI-Express — между описанными подходами, так как шина PCI Express предназначена для работы в качестве локальной шины, нежели шины процессор-память или сложной маршрутизируемой сети. Кроме того, PCI Express изначально задумывалась как шина, логически совместимая с шиной PCI, что также внесло свои ограничения.
Также существуют специализированные шины для подключения чипсетов (между северным и южным мостом ), созданные на базе физического протокола PCI Express (обычно ×4), но с иными логическими протоколами. Например, в платформах Intel используется шина DMI , а в системах AMD с чипсетом AMD Fusion — шина .