PCI и PCI Express шина¶
PCI (англ. Peripheral Component Interconnect, «взаимосвязь периферийных компонентов») — шина ввода-вывода для подключения периферийных устройств к материнской плате компьютера, разработанная корпорацией Intel в 1992 году. Стандарт был представлен как замена устаревших шин ISA, EISA и VLB и на протяжении более чем десяти лет оставался основным интерфейсом для подключения внутренних компонентов персонального компьютера. Впоследствии на смену PCI пришла её модификация PCI Express, которая используется в большинстве компьютеров по сей день.
¶История развития
Разработка спецификации PCI началась в Intel в 1991 году в рамках проекта по созданию процессоров Pentium. Первая версия спецификации 1.0 вышла в июне 1992 года, однако массовое распространение шина получила после выхода версии 2.0 в 1993 году. В отличие от предшественников, PCI не зависела от частоты процессора и поддерживала автоконфигурирование устройств (технология Plug and Play), что существенно упростило установку дополнительных карт.
К середине 1990-х годов PCI стала стандартом де-факто для персональных компьютеров, вытеснив ISA. В 1998 году был представлен стандарт PCI 2.2, а в 2002-м — PCI 2.3, работавший на напряжении 3,3 В. Параллельно развивался стандарт PCI-X, предназначенный для серверов и рабочих станций и обеспечивавший более высокую пропускную способность за счёт увеличения тактовой частоты до 133 МГц.
В 2004 году Intel представила спецификацию PCI Express (PCIe) 1.0, которая использовала последовательную архитектуру с передачей данных по высокоскоростным линиям. К 2008–2010 годам PCIe полностью вытеснила классическую параллельную шину PCI из массовых материнских плат, однако в промышленных и встраиваемых системах PCI продолжала использоваться ещё долгое время.
¶Архитектура и устройство PCI
Шина PCI представляет собой параллельный интерфейс с разрядностью 32 или 64 бита. Тактовая частота стандартной шины составляет 33 МГц или 66 МГц. Пропускная способность 32-битной шины на частоте 33 МГц достигает 133 МБ/с, а 64-битной на 66 МГц — 533 МБ/с.
Архитектура PCI основана на принципе мостов. Устройства подключаются через PCI-мост (host bridge) к системной шине процессора. Мост выполняет согласование протоколов и обеспечивает изоляцию частот, что позволяет шине работать независимо от скорости процессора. Управление шиной может быть передано любому устройству, поддерживающему режим Bus Mastering, что позволяет периферийным контроллерам обмениваться данными без участия центрального процессора.
Ключевой особенностью PCI является поддержка механизма конфигурационного пространства. Каждое устройство имеет область памяти объёмом 256 байт, в которой хранятся идентификаторы производителя и устройства, класс функции и параметры адресации. При включении компьютера операционная система или BIOS опрашивает конфигурационное пространство всех устройств и автоматически распределяет адреса памяти и запросы прерываний, что реализует технологию Plug and Play.
¶Разъёмы и форм-факторы
Существует несколько вариантов разъёмов PCI:
- 32-битный разъём длиной 120 мм — наиболее распространённый в настольных компьютерах;
- 64-битный разъём длиной 168 мм — применялся в серверных платах;
- разъёмы с пониженным напряжением 3,3 В и универсальные, поддерживающие оба напряжения.
Карты расширения PCI могли устанавливаться в слоты с напряжением 5 В (ранние версии), 3,3 В (версия 2.3) или в универсальные слоты. Неправильная установка карты в несовместимый слот приводила к выходу устройства из строя.
¶PCI Express
PCI Express (PCIe) — последовательная высокоскоростная шина, разработанная в 2002–2004 годах организацией PCI-SIG как преемник параллельной шины PCI. В отличие от предшественника, PCIe использует топологию «точка-точка»: каждое устройство соединяется с коммутатором или контроллером отдельным каналом, что исключает конкуренцию за общую шину.
¶Архитектура PCIe
Основой PCIe является линия (lane), состоящая из двух пар проводников — одна пара для передачи, другая для приёма. Скорость передачи в каждой линии составляет 2,5 ГТ/с (гигатранзакций в секунду) в версии 1.x, 5 ГТ/с в версии 2.x, 8 ГТ/с в версии 3.0, 16 ГТ/с в версии 4.0 и 32 ГТ/с в версии 5.0. С учётом кодирования 128b/130b в версиях 3.0 и новее эффективная пропускная способность одной линии в PCIe 3.0 достигает около 985 МБ/с в каждом направлении.
Устройства могут использовать несколько линий: x1, x4, x8 или x16. Слоты PCIe x16, предназначенные для видеокарт, обеспечивают пропускную способность до 15,75 ГБ/с в версии 3.0 и до 31,5 ГБ/с в версии 4.0.
Протокол PCIe организован в три уровня: транзакционный, уровень данных и физический. Транзакционный уровень формирует пакеты чтения и записи, уровень данных обеспечивает надёжность передачи с контролем целостности, а физический уровень отвечает за электрическое соединение и кодирование.
¶Разъёмы и совместимость
Слоты PCIe имеют разную длину в зависимости от числа линий: x1 — 25 мм, x4 — 39 мм, x8 — 56 мм, x16 — 89 мм. Карта меньшего размера может быть установлена в слот большего размера (например, карта x1 в слот x4), но не наоборот. Существуют также разъёмы внешнего подключения — ExpressCard и PCIe OCuLink для внешних устройств.
Версии PCIe обратно совместимы: устройства более ранних версий работают в слотах более новых версий, но на меньшей скорости, определяемой младшей из версий. Переход с PCIe 3.0 на 4.0 и 5.0 потребовал применения более качественных материалов печатных плат и усиления сигнала, что привело к появлению ретраймеров и редрайверов в высокоскоростных линиях.
¶Применение
Шина PCI применялась для подключения:
Современная шина PCIe используется для подключения:
- видеокарт (слоты x16);
- твердотельных накопителей NVMe (слоты M.2, использующие линии PCIe);
- сетевых адаптеров, включая высокоскоростные Ethernet 10–100 Гбит/с;
- контроллеров USB 3.x и Thunderbolt;
- звуковых карт и плат захвата видео;
- GPU-ускорителей для вычислений.
Помимо материнских плат, PCIe применяется в серверных системах, коммутаторах, промышленных компьютерах и встраиваемой технике. Интерфейс PCIe также используется для соединения чипсета с процессором и для подключения внешних устройств через Thunderbolt, который базируется на протоколе PCIe.
¶Перспективы
В 2022 году организация PCI-SIG опубликовала спецификацию PCIe 6.0, удваивающую скорость до 64 ГТ/с на линию и использующую импульсно-амплитудную модуляцию PAM-4. В 2025 году ожидается завершение спецификации PCIe 7.0 со скоростью 128 ГТ/с. Несмотря на развитие альтернативных интерфейсов (например, CXL для когерентной памяти), PCIe сохраняет положение универсального стандарта подключения периферии в вычислительных системах всех классов.
¶Источники
- PCI Local Bus Specification Revision 2.3, PCI-SIG, 2002.
- PCI Express Base Specification Revision 5.0, PCI-SIG, 2019.
- Shanley T., Anderson D. PCI System Architecture. — MindShare, 1995.
- Budruk R., Anderson D., Shanley T. PCI Express System Architecture. — MindShare, 2003.
