Серверы и оборудование

Как работает PCI Express: Версии PCIe, линии и пропускная способность

~19 минут13 октября 2026 г.

PCI Express, или PCIe, это высокоскоростной интерфейс для подключения устройств к процессору и памяти компьютера. Через него работают видеокарты, GPU-ускорители, NVMe SSD, сетевые адаптеры, RAID-контроллеры, DPU, FPGA и другие платы расширения.

Запись PCIe 5.0 x8 содержит две разные характеристики. 5.0 обозначает поколение и скорость одной линии. x8 означает, что link использует восемь линий параллельно. Теоретическая полоса такого соединения составляет около 31,5 ГБ/с в каждом направлении до накладных расходов протокола и ограничений устройства.

Для совместимости этого недостаточно. Нужно знать физический размер слота, его электрическую ширину, доступное поколение, источник линий, общий upstream, питание, охлаждение, прошивку и поддержку устройства конкретной платформой.

1
Поколение PCIe определяет скорость одной линии, а x1, x4, x8 и x16 — ширину соединения и доступную пропускную способность между процессором и устройствами.

Что такое PCIe простыми словами

Расшифровка PCIe звучит как Peripheral Component Interconnect Express. Названия PCI Express, PCIe и PCI-E обычно обозначают один стандарт. Нормативное сокращение PCI-SIG выглядит как PCIe.

PCI Express называют шиной, но физически это не общая параллельная магистраль старого типа. Каждое устройство получает последовательное двухточечное соединение с root complex или PCIe switch. Данные передаются пакетами, а коммутаторы направляют их к нужному endpoint.

Одна линия PCIe включает канал передачи в каждую сторону. Link является полнодуплексным: устройство и хост могут одновременно отправлять данные друг другу. Поэтому в спецификациях встречаются две цифры:

  • пропускная способность в одном направлении;

  • суммарная двунаправленная полоса, которая вдвое больше.

PCI и PCI Express: в чем разница

PCI и PCI Express являются разными интерфейсами. Классический PCI использовал общую параллельную шину, которую делили несколько устройств. PCIe применяет последовательные point-to-point links и масштабирует полосу числом линий.

Старая PCI-карта не устанавливается в PCIe-слот напрямую, даже если назначение устройства одинаковое. Для связи между стандартами нужен активный мост, а его наличие не гарантирует поддержку драйвером, прошивкой и операционной системой.

Не стоит путать PCIe и PCI-X. PCI-X развивал параллельную серверную шину PCI, но не является ранней версией PCI Express.

Как устроен PCI Express

В PCIe-системе есть несколько типов компонентов.

Root Complex

Root Complex связывает процессор и память с PCIe-иерархией. В современных системах часть root ports находится внутри CPU, часть может предоставляться чипсетом. В многопроцессорном сервере устройства привязаны к определенному сокету и его области памяти.

Endpoint

Endpoint представляет конечное устройство: GPU, NVMe-контроллер, сетевую карту, HBA, RAID-контроллер или ускоритель. Одно физическое устройство может предоставлять несколько PCIe functions.

PCIe switch и bridge

PCIe switch получает один или несколько upstream links и создает downstream ports для конечных устройств. Он увеличивает число доступных подключений и может поддерживать обмен между endpoints, но не создает бесконечную полосу до CPU. Одновременно активные устройства делят upstream в соответствии с реальной топологией и трафиком.

Bridge соединяет разные сегменты или интерфейсы. В дереве Linux как bridge могут отображаться root ports, switch ports и другие элементы иерархии.

Как проходит операция

Операционная система обнаруживает устройства, читает configuration space, назначает адресные ресурсы и загружает драйвер. Программа обращается к регистрам и памяти устройства через выделенные диапазоны. Данные идут в Transaction Layer Packets, а уровни PCIe отвечают за доставку по link и физическую передачу сигнала.

При запуске соединение проходит link training. Стороны согласуют поддерживаемую скорость и ширину. Если карта умеет PCIe 5.0 x16, а платформа предоставляет PCIe 4.0 x8, рабочим режимом станет не выше PCIe 4.0 x8.

Что такое линии PCIe

Линия, или lane, является минимальным двунаправленным каналом PCI Express. Несколько линий объединяют в link. Основные ширины обозначают так:

Обозначение

Число линий

Типичные устройства

x1

1

звуковая карта, USB-контроллер, простой сетевой или Wi-Fi-адаптер

x2

2

специализированные встроенные устройства, отдельные SSD-конфигурации

x4

4

NVMe SSD, адаптер M.2, сетевой контроллер, часть HBA

x8

8

GPU с ограниченной шириной, быстрый NIC, HBA, RAID, DPU

x16

16

производительная видеокарта, GPU-ускоритель, FPGA, высокоскоростная плата

Физический слот и электрическая ширина

Длинный разъем, похожий на x16, не доказывает наличие шестнадцати электрических линий. Производитель платы может развести к нему x8 или x4. Поэтому нужно различать:

  • механический размер connector;

  • электрическую ширину, предусмотренную разводкой;

  • максимально поддерживаемое поколение;

  • фактически согласованные speed и width после link training.

Короткая карта x1 обычно может работать в длинном совместимом слоте x16. Обратная установка длинной карты в короткий закрытый разъем физически невозможна. Открытый разъем, riser или переходник решает только механику и не добавляет линии.

2
Размер слота PCIe не всегда совпадает с числом активных линий: физический x16 может работать как x4, а карта x1 в слоте x16 согласует режим x1.

Версии PCIe и их скорость

Каждое основное поколение PCI Express увеличивает скорость одной линии. До PCIe 5.0 используется двухуровневый сигнал NRZ. PCIe 6.0 перешел на PAM4, фиксированные Flit, коррекцию ошибок FEC и усиленный контроль CRC. PCIe 7.0 сохраняет этот подход и удваивает скорость передачи.

Таблица показывает приблизительную пропускную способность в одном направлении. Для PCIe 1.0-5.0 учтено линейное кодирование, но не учтены заголовки пакетов и другие накладные расходы. Для PCIe 6.0 и 7.0 приведены верхние интерфейсные значения PCI-SIG; полезный поток приложения ниже из-за Flit, FEC, пакетов и особенностей системы.

Версия

Год базовой спецификации

Скорость линии

Кодирование или сигнал

x1, ГБ/с

x4, ГБ/с

x8, ГБ/с

x16, ГБ/с

PCIe 1.0

2003

2,5 GT/s

8b/10b, NRZ

0,25

1,00

2,00

4,00

PCIe 2.0

2007

5 GT/s

8b/10b, NRZ

0,50

2,00

4,00

8,00

PCIe 3.0

2010

8 GT/s

128b/130b, NRZ

0,985

3,94

7,88

15,75

PCIe 4.0

2017

16 GT/s

128b/130b, NRZ

1,97

7,88

15,75

31,51

PCIe 5.0

2019

32 GT/s

128b/130b, NRZ

3,94

15,75

31,51

63,02

PCIe 6.0

2022

64 GT/s

PAM4, Flit, FEC

до 8

до 32

до 64

до 128

PCIe 7.0

2025

128 GT/s

PAM4, Flit, FEC

до 16

до 64

до 128

до 256

PCIe 7.0 является завершенной базовой спецификацией. Это не означает, что соответствующие процессоры, платы и устройства уже массово доступны. PCIe 8.0 находится в разработке: опубликованный PCI-SIG этап версии 0.3 предусматривает 256 GT/s и целевой выпуск полной спецификации в 2028 году. Его нельзя записывать в характеристики серийной платформы как готовый стандарт.

Почему PCIe 4.0 x8 похож на PCIe 3.0 x16

Поколение и ширина перемножаются. Одна линия PCIe 4.0 примерно вдвое быстрее PCIe 3.0. Поэтому теоретическая полоса PCIe 4.0 x8 близка к PCIe 3.0 x16, около 15,75 ГБ/с в одном направлении. По той же логике PCIe 5.0 x8 сопоставим по интерфейсной полосе с PCIe 4.0 x16.

3
Новое поколение PCIe увеличивает скорость каждой линии, а ширина x1, x4, x8 или x16 масштабирует общую пропускную способность соединения.

GT/s, Гбит/с и ГБ/с: как не ошибиться

GT/s означает миллиарды передач в секунду. Это характеристика физического интерфейса, а не готовая скорость копирования файла. Перевести GT/s в ГБ/с простым делением на восемь можно только после учета способа кодирования.

Для PCIe 3.0-5.0 ориентировочная формула выглядит так:

ГБ/с в одном направлении = GT/s × 128 / 130 × число линий / 8

Пример для PCIe 4.0 x4:

16 × 128 / 130 × 4 / 8 ≈ 7,88 ГБ/с

Это потолок link после линейного кодирования, но до остальных накладных расходов. Полезная скорость приложения будет ниже.

В спецификациях PCI-SIG часто приводится суммарная двунаправленная полоса. Например, для PCIe 7.0 x16 указано до 512 ГБ/с в обоих направлениях. В одном направлении это до 256 ГБ/с.

Почему реальная скорость ниже теоретической

PCIe определяет транспорт, но не гарантирует, что устройство заполнит его данными. На результат влияют:

  • заголовки TLP, служебный трафик и подтверждения;

  • размер операций и настройки Max Payload Size;

  • контроллер и внутренняя архитектура устройства;

  • скорость памяти GPU, NAND, DRAM или сетевого порта;

  • общий upstream за PCIe switch или чипсетом;

  • NUMA и удаленный доступ к памяти другого сокета;

  • драйвер, IOMMU, виртуализация и программный стек;

  • двунаправленность и профиль реального трафика.

NVMe SSD с PCIe 5.0 x4 не обязан читать 15,75 ГБ/с. Интерфейс задает верхнюю границу, а контроллер, NAND, температура и характер запросов определяют фактическую производительность. Подробно различия протокола, интерфейса и форм-фактора разобраны в статье что такое NVMe и чем он отличается от SATA SSD.

Совместимость PCIe 3.0, 4.0 и 5.0

PCI Express проектируется с обратной совместимостью поколений. Карта PCIe 5.0 обычно может работать в совместимом слоте PCIe 4.0 или 3.0, а старая карта способна работать в новом слоте. Link согласует наибольший общий режим.

Пример:

  • устройство поддерживает PCIe 5.0 x16;

  • слот электрически подключен как PCIe 4.0 x8;

  • итоговый режим не превысит PCIe 4.0 x8.

Слово «совместимость» не означает, что любая карта подойдет любой системе. Помимо link проверяют:

  1. Физический размер и высоту карты.

  2. Электрическую ширину слота.

  3. Поддержку BIOS или firmware.

  4. QVL и правила заполнения слотов производителя.

  5. Доступную мощность и вспомогательные разъемы.

  6. Воздушное или жидкостное охлаждение.

  7. Наличие подходящего драйвера и поддержки ОС.

  8. Возможность загрузки с устройства, если это накопитель.

  9. Hot-plug, если требуется замена без остановки.

Hot-plug предусмотрен стандартом для определенных реализаций, но должен поддерживаться слотом, контроллером, прошивкой, корпусом и операционной системой. Нельзя вынимать обычную PCIe-карту только потому, что интерфейс в принципе знает hot-plug.

Слот, M.2, Mini PCIe и кабель питания: разные вещи

PCIe описывает электрический и протокольный интерфейс, а не один универсальный разъем.

PCIe CEM add-in card

Обычная плата расширения устанавливается в слот на материнской плате или riser. Спецификация CEM определяет механику, питание и тепловые требования к таким картам.

M.2

M.2 является форм-фактором. Разъем M.2 может передавать PCIe, SATA, USB и другие сигналы в зависимости от ключа и разводки платы. NVMe SSD обычно использует PCIe x4, но физическое совпадение M.2 не доказывает поддержку NVMe.

Mini PCIe

Mini PCI Express представляет отдельный форм-фактор для компактных устройств. Он не равен M.2 и не гарантирует передачу только PCIe, поскольку конкретный слот может использовать дополнительные интерфейсы.

Кабель PCIe от блока питания

Надпись PCIe на кабеле блока питания относится к электропитанию add-in card, а не к передаче данных. Такой кабель не добавляет линии и не увеличивает скорость. Мощные карты получают часть энергии через слот, а остальную через предусмотренные производителем вспомогательные разъемы. Кабели, переходники и допустимую мощность нужно проверять по документации блока питания, карты и сервера.

Откуда берутся линии PCIe в компьютере и сервере

Количество линий в datasheet процессора задает верхний архитектурный ресурс, но не показывает готовую топологию системы. Производитель платы распределяет линии между слотами, NVMe backplane, OCP-модулями, сетевыми контроллерами и другими устройствами.

Часть портов может идти напрямую от CPU. Другие подключаются к чипсету и делят его upstream до процессора. В двухсокетном сервере устройства относятся к разным root complexes, а часть высокоскоростных связей может использоваться для соединения процессоров.

Поэтому два внешне одинаковых слота x16 могут отличаться:

  • один работает как прямой CPU link x16;

  • второй разведен как x8;

  • третий подключен через switch;

  • четвертый делит линии с NVMe или другим слотом;

  • часть слотов доступна только при установленном втором CPU или определенном riser.

Эту тему на уровне GPU-сервера раскрывает руководство как выбрать CPU, проверить PCIe-линии, NUMA и топологию устройств.

Что такое bifurcation

PCIe bifurcation разделяет широкий root port на несколько независимых links. Например, x16 можно разделить на x8+x8 или x4+x4+x4+x4, если такую конфигурацию поддерживают CPU, плата, BIOS и riser.

Пассивная карта на четыре M.2 не содержит PCIe switch автоматически. Если хост не умеет нужную bifurcation, он может увидеть только один накопитель или не запустить конфигурацию. Активный адаптер с PCIe switch создает downstream ports сам, но его устройства делят общий upstream.

Для чего нужен PCIe switch

Switch полезен, когда endpoints больше, чем независимых CPU links, или нужна определенная peer-to-peer топология. Например, четыре GPU могут иметь собственные downstream x16, но вместе выходить к CPU через один или несколько общих upstream.

Наличие switch не означает проблему само по себе. Узкое место возникает только тогда, когда одновременный трафик устройств превышает общую полосу нужного пути. Проверять следует направление потоков, peer-to-peer, размеры передач и рабочую нагрузку.

4
Прямое подключение даёт устройствам независимые линии, bifurcation делит широкий root port, а PCIe switch позволяет подключить больше устройств через общий upstream к CPU.

Как рассчитать lane budget сервера

Начните со списка endpoints, а не с числа свободных разъемов. Для каждого устройства зафиксируйте требуемое поколение, электрическую ширину, источник линий и критичных соседей.

Учебный пример:

Устройство

Количество

Требуемый link

Всего endpoint lanes

GPU

2

x16

32

сетевой адаптер

2

x8

16

NVMe SSD

4

x4

16

Итого

64

Число 64 является арифметикой endpoints, а не готовым требованием «CPU на 64 линии». Платформа может использовать прямое подключение, PCIe switches или часть устройств за чипсетом. И наоборот, процессор с 64 линиями не гарантирует, что плата выведет их в нужные места и сохранит правильную NUMA locality.

После подсчета нужно открыть block diagram и ответить на вопросы:

  1. К какому CPU и root port подключено каждое устройство?

  2. Где есть общий switch или chipset upstream?

  3. Какая electrical width предусмотрена каждым riser?

  4. Какие слоты делят линии или становятся недоступны вместе?

  5. Требуется ли второй CPU для активации слота?

  6. Какие устройства интенсивно обмениваются друг с другом?

  7. Достаточно ли питания, пространства и охлаждения?

PCIe для GPU, NVMe и сетевых карт

Видеокарты и GPU-ускорители

PCIe x16 является распространенным интерфейсом дискретных GPU, но карта может электрически использовать x8. Влияние уменьшения полосы зависит от приложения, объема VRAM, частоты обмена с RAM и многопроцессорной топологии. Нельзя переносить результат одного игрового теста на обучение нейросети или GPU Direct Storage.

Кроме PCIe-карт существуют SXM и другие модульные платформы. При этом специализированная GPU-подсистема все равно может использовать PCIe для связи с host. Доступные классы оборудования собраны в каталоге GPU-ускорителей и серверных видеокарт.

NVMe SSD

Один NVMe SSD часто использует x4. Четыре диска потребуют до шестнадцати endpoint lanes, но за backplane они могут подключаться к switch или делить upstream. Проверяют не только суммарное число линий, но и hot-plug, dual-port, форм-фактор, охлаждение и поддержку backplane.

Сетевые адаптеры и DPU

Скоростной NIC должен передавать поток между сетью, памятью, GPU и хранилищем. Узкий или общий PCIe link может ограничить сетевой порт, но сравнивать нужно одинаковые единицы и учитывать направление трафика. Например, 400 Гбит/с соответствует 50 ГБ/с до сетевых и протокольных накладных расходов, поэтому для полной загрузки такого порта требуется подходящий host path.

Устройство сети и выбор коммутатора описаны отдельно в статье как работает сетевой коммутатор.

HBA, RAID, FPGA и карты расширения

Контроллер может обслуживать много downstream устройств, но его host link остается общей границей. Восемь быстрых SSD за контроллером не получат независимую полосу x4 до CPU, если сам контроллер подключен как x8. Аналогично USB- или SATA-плата ограничена суммарной полосой своего PCIe link.

Как выбрать версию и количество линий

Покупать наиболее новое поколение без оценки нагрузки не всегда нужно. Полезнее пройти четыре шага.

1. Найти требование endpoint

В datasheet устройства найдите максимальное поколение и ширину. Запись PCIe 5.0 x16 показывает capability интерфейса, но не доказывает, что приложению нужна вся полоса.

2. Определить поток данных

Зафиксируйте, откуда и куда идут данные, размер передач, долю чтения и записи, требования к задержке и одновременность. Для GPU важны host-to-device и peer-to-peer transfers. Для NVMe нужны IOPS, latency и последовательный поток. Для NIC учитывают реальный сетевой профиль.

3. Проверить полный путь

Сопоставьте slot, riser, switch, root complex, CPU socket и память. Один участок предыдущего поколения снижает режим link. Общий upstream может ограничить несколько устройств только при их одновременной активности.

4. Оставить управляемый запас

Запас нужен для роста и аварийных режимов, но пустая полоса не ускоряет приложение. Сравнивайте цену платформы, доступность слотов, лицензии, питание, охлаждение и будущие устройства.

Как узнать версию PCIe и фактическую ширину

Паспорт процессора показывает возможности CPU. Руководство платы показывает разводку. Фактический режим после сборки нужно проверить в работающей системе.

Linux

Дерево PCIe можно посмотреть командой:

lspci -t

Для выбранного BDF:

lspci -s <BDF> -vv

В PCI Express capability сравните LnkCap и LnkSta. LnkCap описывает возможности link, а LnkSta показывает текущие согласованные speed и width. Команда требует корректного BDF вида 0000:65:00.0. Часть информации может быть недоступна обычному пользователю.

Энергосбережение способно временно снижать активный режим некоторых устройств. Если результат вызывает сомнение, проверку повторяют под контролируемой нагрузкой и сопоставляют с документацией платформы.

Windows и BIOS

Диспетчер устройств показывает модель и драйвер, но не всегда удобно отображает negotiated link. Для проверки используют диагностические утилиты производителя GPU или системного оборудования, аппаратные профайлеры и BIOS. Значение из одной программы нужно сверять с руководством платы и фактическим расположением карты.

Для приемки сервера сохраните topology tree, текущие link speed и width для каждого GPU, NIC и NVMe, затем проведите нагрузочный тест. Общая программа описана в статье какие испытания включить в приемку GPU-сервера.

5
Максимальные возможности PCIe-устройства и фактический режим соединения могут различаться: LnkCap показывает capability, а LnkSta — текущие согласованные скорость и ширину link.

Типичные ошибки

Считать длинный слот полноценным x16

Физический connector может быть разведен как x8 или x4. Нужны manual и block diagram.

Складывать двунаправленную полосу для одной передачи

Потолок в обоих направлениях полезен для полнодуплексного трафика, но копирование одного буфера идет в конкретную сторону.

Приравнивать GT/s к ГБ/с

GT/s обозначает передачи, а не полезные байты. Нужно учитывать кодирование и протокольные накладные расходы.

Считать PCIe 5.0 автоматическим ускорением

Если endpoint поддерживает Gen4 или приложение не насыщает link, новый слот не даст двукратного прироста.

Считать число линий CPU числом доступных слотов

Реальное распределение задают плата, riser, switches, чипсет и конфигурация сокетов.

Использовать пассивный M.2-адаптер без bifurcation

Плата с четырьмя накопителями не разделит x16 сама, если на ней нет switch, а хост не поддерживает x4+x4+x4+x4.

Игнорировать питание и охлаждение

Частые вопросы

PCIe, что это такое?

PCIe представляет собой высокоскоростной пакетный интерфейс для подключения видеокарт, NVMe SSD, сетевых адаптеров и других устройств к процессору и памяти системы.

Что означает PCI Express на материнской плате?

Так маркируют слоты и соединения для PCIe-устройств. Рядом могут указывать поколение и ширину, например PCIe 5.0 x16. Физическая длина слота не всегда показывает число электрических линий.

Что такое линии PCIe?

Линия является минимальным двунаправленным каналом PCI Express. Соединения x1, x4, x8 и x16 используют одну, четыре, восемь или шестнадцать линий.

Чем PCIe x16 отличается от x8 и x4?

Числом линий и теоретической полосой при одном поколении. x16 имеет вдвое больше полосы, чем x8, и в четыре раза больше, чем x4. Реальная производительность изменится только тогда, когда устройство и приложение используют дополнительную полосу.

Совместимы ли PCIe 3.0, 4.0 и 5.0?

Стандарт поддерживает работу устройств разных поколений, а link согласует общий режим. Но нужно отдельно проверить форм-фактор, электрическую ширину, firmware, QVL, питание, охлаждение и драйвер.

Можно ли поставить карту x1 в слот x16?

Обычно да, если слот и платформа соответствуют PCIe и не имеют специальных ограничений. Карта будет работать как x1, свободная длина контактов не превратится в дополнительные линии.

Какая скорость PCIe x16?

Она зависит от поколения. В одном направлении PCIe 3.0 x16 дает около 15,75 ГБ/с, PCIe 4.0 x16 около 31,5 ГБ/с, PCIe 5.0 x16 около 63 ГБ/с до прочих накладных расходов.

Что быстрее: PCIe 4.0 x8 или PCIe 3.0 x16?

Их теоретическая полоса в одном направлении близка, около 15,75 ГБ/с. Фактический результат зависит от устройства, реализации платформы, топологии и нагрузки.

Как узнать версию PCIe?

Проверьте спецификации CPU и платы, block diagram и фактический negotiated link. В Linux используют lspci -t и подробный вывод lspci -s <BDF> -vv, где сравнивают LnkCap и LnkSta.

Что такое PCIe bifurcation?

Это разделение широкого root port на несколько независимых links, например x16 на x8+x8 или x4+x4+x4+x4. Поддержка нужна одновременно со стороны CPU, платы, BIOS и riser.

PCIe 6.0 и 7.0 уже можно использовать?

Базовые спецификации PCIe 6.0 и 7.0 завершены, но наличие стандарта не означает массовое наличие готовых процессоров, плат и устройств. При закупке проверяют серийную платформу и точные SKU, а не только номер спецификации.

Кабель PCIe от блока питания передает данные?

Нет. Он подает дополнительную электрическую мощность карте. Данные идут через слот, riser или предусмотренный системой PCIe interconnect.

Что передать для проверки PCIe-конфигурации

Для расчета нужны точные модели CPU, платы или сервера, список GPU, NVMe, NIC, HBA и других устройств, требуемые speed и width, схема обмена данными, число сокетов и правила заполнения riser.

Start Server проверяет lane budget, block diagram, NUMA locality, общий upstream, форм-факторы, питание, охлаждение и официальную поддержку компонентов. Начать можно с каталога комплектующих для AI-серверов, после чего собрать проверяемую спецификацию и программу приемки под реальную нагрузку.