Конкурирующие протоколы.

Пропускная способность.

Битрейт в PCIe 1.0 составляет 2,5 Гбит/с.

 

Битрейт - буквально, скорость прохождения битов информации. Битрейт принято использовать при измерении эффективной скорости передачи информации по каналу, то есть скорости передачи «полезной информации» (помимо таковой, по каналу может передаваться служебная информация — например, стартовые и стоповые биты при асинхронной передаче по RS-232 или контрольные символы при избыточном кодировании.

 

Для расчёта пропускной способности шины необходимо учесть дуплексность и избыточность 8b/10b (8 бит в десяти).

 

Например, дуплексная пропускная способность соединения x1 составляет:

 

2,5 · 2 · 0,8 = 4 Гбит/с,

 

где:

2,5 - битрейт, Гбит/с;

2 - учёт дуплексности (двунаправленности);

0,8 - учёт избыточности 8b/10b для PCIe 1.0 и 2.0; 0,985для PCIe 3.0

Табл. 4.Пропускная способность (в одну/обе стороны, Гбит/с.)

Версия стандарта Количество линий (связей)
x1 x2 x4 x8 x12 x16 x32
PCIe 1.0 2/4 4/8 8/16 16/32 24/48 32/64 64/128
PCIe 2.0 4/8 8/16 16/32 32/64 48/96 64/128 128/256
PCIe 3.0 8/16 16/32 32/64 64/128 96/192 128/256 256/512

 

Кроме PCI Express существует ещё ряд высокоскоростных стандартизованных последовательных интерфейсов, вот только некоторые из них: HyperTransport, InfiniBand, RapidIO, и StarFabric. Каждый интерфейс имеет своих сторонников среди промышленных компаний, так как на разработку спецификаций протоколов уже ушли значительные суммы, и каждый консорциум стремится подчеркнуть преимущества именно своего интерфейса над другими.

 

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

В сущности, различия между интерфейсами заключаются именно в выбранном разработчиками конкретного интерфейса компромиссе между этими двумя конфликтующими требованиями.

 

К примеру, дополнительная служебная маршрутная информация в пакете позволяет организовать сложную и гибкую маршрутизацию пакета, но увеличивает накладные расходы на обработку пакета, также снижается пропускная способность интерфейса, усложняется программное обеспечение, которое инициализирует и настраивает устройства, подключенные к интерфейсу. При необходимости обеспечения горячего подключения устройств необходимо специальное программное обеспечение, которое бы отслеживало изменение в топологии сети. Примерами интерфейсов, которые приспособлены для этого являются RapidIO, InfiniBand и StarFabric.

 

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

Положение PCI Express - между описанными подходами, так как шина PCI Express предназначена для работы в качестве локальной шины, нежели шины процессор-память или сложной маршрутизируемой сети. Кроме того, PCI Express изначально задумывалась как шина, логически совместимая с шиной PCI, что также внесло свои ограничения.