Конкурирующие протоколы.
Пропускная способность.
Битрейт в 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, что также внесло свои ограничения.