Вот уже более десяти лет PCI – шина для подключения периферийных устройств к материнской плате компьютера – находится внутри практически каждого компьютера и, даже несмотря на моральное устаревание и уже недостаточную пропускную способность, продолжает (пока ещё) оставаться основной шиной для подключения к системе внешних устройств. Тем не менее она неуклонно сдаёт позиции новой последовательной шине PCI-Express, о которой чуть ниже.
В далёком 1991 году компания Intel представила первую спецификацию системной шины PCI – Peripheral Component Interconnect (дословно: взаимосвязь периферийных компонентов). А в 1993 году уже началось активное продвижение на рынок шины PCI 2.0, которая дала толчок увеличению числа ориентированных на неё продуктов и довольно быстро вытеснила изрядно устаревшие к тому времени шины ISA и EISA.
Причины успеха PCI – это гораздо большая скорость и возможность динамического конфигурирования периферийных устройств, подключённых к PCI (чего не было в ISA), то есть распределения ресурсов между периферийными устройствами наиболее приемлемым в данный момент времени образом и без постороннего вмешательства.
Основные тактико-технические характеристики PCI 2.0:
- частота шины – 33,33 МГц, передача синхронная
- разрядность шины – 32 бит
- пиковая пропускная способность – 133 Мбит/с
- адресное пространство памяти – 32 бит (4 Гбайт)
- адресное пространство портов ввода-вывода – 32 бит (4 Гбайт)
- количество подключаемых устройств – до четырёх (для увеличения их количества используется мост PCI-to-PCI)
- конфигурационное адресное пространство (для одной функции) 256 байт
- напряжение 3,3 или 5 В
Вскоре PCI «взяли на вооружение» также платформы с процессорами Alpha, MIPS, PowerPC, SPARC и другие.
Ещё большее распространение получил стандарт 2.2.
Отличия PCI 2.2 от 2.0:
- возможность одновременной работы нескольких устройств bus-master (так называемый конкурентный режим)
- появление универсальных карт расширения, способных работать как в слотах 5 В, так и в 3,3 В
- появились расширения PCI66 и PCI64 (ширина шины может быть увеличена до 64 бит, а также допускается разгон тактовой частоты до 66 МГц – вдвое по сравнению с PCI 2.0)
- сделанные в соответствии с этими стандартами карты расширения имеют универсальный разъём и способны работать практически во всех более поздних разновидностях слотов шины PCI, а также, в некоторых случаях, и в слотах 2.1
Типы PCI-разъёмов
Со времён анонса PCI 2.0 разработкой и продвижением стандарта занимается специальная организация – консорциум PCI-SIG (Special Interest Group), она же занимается продвижением PCI Express.
Существует множество вариаций на тему PCI 2.Х, наиболее распространённые из которых:
- AGP – разработана на базе PCI 2.1 и предназначена для использования с графическими адаптерами, характеризуется отсутствием арбитража интерфейса, то есть допускается подключение к этой шине только одного устройства, также устранена мультиплексированность
- PCI-X – ускоренная до 133 МГц (также выпускались варианты с 266 и 533 МГц) шина PCI 2.2 с обязательно 64-битной разрядностью интерфейса
Эмблема PCI-X
- Compact-PCI – системная шина, широко используемая в промышленной автоматике. Электрически шина соответствует обычной PCI и обычно использует тот же набор микросхем, но физически разъём выполнен по-другому, что позволяет использовать «горячее» подключение плат
- mini-PCI – применяется в портативных компьютерах
- Card Bus (32-разрядная версия стандарта PCMCIA, допускающая «горячее» подключение)
Сводная таблица конструктивов карт и слотов в зависимости от версии стандарта
Стандарт |
Макс. Скорость, Мб/с |
Тип слота |
Тип карты |
PCI 1.x-2.0 |
133 |
32 бит, 5 В |
32 бит, 5 В |
PCI 2.1-2.3 33 MГц |
133 |
32 бит, 5 В |
32 бит, 5 В / универсальный |
PCI 2.2-2.3 66 MГц |
266 |
32 бит, 3,3 В |
32 бит, 3,3 В / универсальный |
PCI64 33 МГц (v 2.1) |
266 |
64 бит, 5 В |
64 бит, 5 В / универсальный |
PCI64 33 МГц (v 2.2) |
266 |
64 бит, 3,3 В |
64 бит, 3,3 В / универсальный |
PCI64 66 МГц |
533 |
64 бит, 3,3 В |
64 бит, 3,3 В / универсальный |
PCI-X 1.0 |
1024 |
64 бит, 3,3 В |
64 бит, 3,3 В / универсальный |
PCI-X 1.0 |
4096 |
64 бит, 3,3 В |
64 бит, 3,3 В |
Однако, как и многие параллельные шинные решения (те же Parallel ATA, SCSI), шина PCI в данное время находится на границе разумного масштабирования производительности, после которого «гонка частот и разрядности» приведёт к непозволительно высоким технологическим усложнениям и, соответственно, к затратам. Но на данный момент проблема эффективной масштабируемости и наращивания уже решена, ведь в компьютерной индустрии уже полным ходом идёт переезд с PCI на новую последовательную шину PCI-Express.
Различия топологий PCI и PCI-Express
PCI-Express
Эмблема PCI Express
Разработка рабочей группой Arapahoe, основанной компаниями Compaq, Dell, IBM, Intel и Microsoft при участии организации PCI-SIG, нового межкомпонентного интерфейса была начата фирмой Intel еще тогда, когда только ожидался выход в свет AGP 3.0 (он же AGP 8х). Так, программную модель PCI планировали унаследовать и в новом интерфейсе, чтобы системы и контроллеры могли быть доработаны для использования новой шины путём замены только физического уровня, без доработки программного обеспечения. Сам же интерфейс должен был быть последовательным. Это означало, во-первых, однозначное подключение «точка-точка», исключающее арбитраж шины и перетасовку ресурсов (как частный случай – прерываний). Во-вторых, упрощалась схемотехника, разводка и монтаж. В-третьих, экономилось место.
Анонс первой базовой спецификации PCI-Express состоялся в июле 2002 года, когда уже стало ясно, что PCI-Express – это последовательный интерфейс, нацеленный на использование в качестве локальной шины и имеющий много общего с сетевой организацией обмена данными, в частности, топологию типа «звезда» и стек протоколов.
Для взаимодействия с остальными узлами ПК, которые так или иначе обходятся собственными шинами, основной связующий компонент системной платы – Root Complex Hub (узел, являющийся перекрёстком процессорной шины, шины памяти и PCI-Express) – предусматривает систему мостов и свитчей. Логика всей структуры такова, что любые межкомпонентные соединения непременно оказываются построенными по принципу «точка-точка», свитчи-коммутаторы выполняют однозначную маршрутизацию пакета от отправителя к получателю.
Соединение между двумя устройствами PCI Express называется link и состоит из одного (называемого 1x) или нескольких (2x, 4x, 8x, 12x, 16x и 32x) двунаправленных последовательных соединений lane. Каждое устройство должно поддерживать соединение 1x.
Число линий PCI Express lane count) |
Пропускная способность соединения (link) в одном направлении |
Суммарная пропускная способность соединения (link) |
1 |
250 Мбайт/с |
500 Мбайт/с |
2 |
500 Мбайт/с |
1 Гбайт/с |
4 |
1 Гбайт/с |
2 Гбайт/с |
8 |
2 Гбайт/с |
4 Гбайт/с |
16 |
4 Гбайт/с |
8 Гбайт/с |
32 |
8 Гбайт/с |
16 Гбайт/с |
Таблица. Пропускная способность шины PCI Express с разным количеством связей
В спецификации PCI-Express 2.0 планируется увеличить пропускную способность lane до 5 Гбит/с при сохранении совместимости с PCI-Express 1.1.
Использование шин и устройств PCI Express.
Шины (links) PCI Express показаны оранжевым цветом
Кроме всего прочего, PCI Express предлагает:
- стек протоколов, каждый уровень которого может быть усовершенствован, упрощён или заменён, не влияя на остальные. Например: может быть использован иной носитель сигнала – или может быть упразднена маршрутизация в случае выделенного канала только для одного устройства (как в случае PCI Express x16 для графики)
- возможности «горячей» замены карт (заложены в спецификации, опционально реализуются в серверных системах)
- возможности создания виртуальных каналов, гарантирования пропускной полосы и времени отклика, сбора статистики QoS (Quality of Service – качество обслуживания)8
- возможности контроля целостности передаваемых данных (CRC)8
- поддержка технологий энергосбережения (ACPI)8
Итоги
Как мы видим, последовательные интерфейсы пришли в компьютерную индустрию всерьёз и надолго. Не за горами времена, когда такие почётные долгожители, как PCI, IDE(PATA), SCSI, совсем уйдут со сцены, ибо преемники – PCI Express, Serial ATA, Serial Attached SCSI – уже агрессивно отвоёвывают позиции у «старичков». В стане процессорных шин пока паритет – архитектура K8 компании AMD c организацией процессорной шины на основе HyperTransport уже зарекомендовала себя как удачное решение, но и компания Intel с «последней редакцией» параллельной шины FSB (QPB) чувствует себя довольно уверенно и не собирается от неё отказываться.
Что касается возможной войны технологий PCI Express и HyperTransport, то здесь не тот случай – уж слишком разные сферы применения уготованы разработчиками этим решениям. Для вторжения в сферу сверхбыстрых передач у PCI Express недостаточно пропускной способности (максимум 8 ГБ/с для х16 против 41 ГБ/с у HyperTransport). Что касается работы HyperTransport с периферийными контроллерами, то данная шина не обладает для этого достаточными возможностями протоколов в силу своего изначального предназначения – замены процессорной шины, первое упоминание о «горячем» подключении появилось лишь в спецификации HyperTransport 3.0, да и стандартом пока что не предусмотрено внешних разъёмов.