Описание протокола

Для подключения устройства PCI Express используется двунаправленное последовательное соединение типа точка-точка, называемое lane; это резко отличается от PCI, в которой все устройства подключаются к общей 32-разрядной параллельной однонаправленной шине.

Соединиение двух устройств PCI Express называется link и состоит из одного (называемого 1x) или нескольких (2x, 4x, 8x, 12x, 16x и 32x) двунаправленных последовательных соединений lane. Каждое устройство должно поддерживать соединение 1x.

На электрическом уровне каждое соединение использует низковольтную дифференциальную передачу сигнала (LVDS), прием и передача информации производится каждым устройством PCI Express по отдельной витой паре, таким образом, в простейшем случае, устройство подключается к коммутатору PCI Express всего лишь четырьмя проводниками. Использование подобного подхода имеет следующие преимущества:

· карта PCI Express помещается и корректно работает в любом слоте той же или большей пропускной способности (например, карта x1 будет работать в слотах x4 и x16);

· слот большего физического размера может использовать не все lane’ы (например, к слоту 16x можно подвести линии передачи информации, соответствующие 1x или 8x, и все это будет нормально функционировать; однако, при этом необходимо подключить все линии «питание» и «земля», необходимые для слота 16x).

В обоих случаях, на шине PCI Express будет использовать максимальное количество lane’ов доступных как для карты, так и для слота. Однако это не позволяет устройству работать в слоте, предназначенном для карт с меньшей пропускной способностью шины PCI Express (например, карта x4 физически не поместится в слот x1 несмотря на то, что она могла бы работать в слоте 4x с использованием только одного lane).

PCI Express пересылает всю управляющую информацию, включая прерывания, через те же линии, что используются для передачи данных. Последовательный протокол никогда не может быть заблокирован, таким образом задержки шины PCI Express вполне сравнимы с таковыми для шины PCI (заметим, что шина PCI для передачи сигнала о запросе на прерывание использует отдельные физические линии IRQ#A, IRQ#B, IRQ#C, IRQ#D).

Во всех высокоскоростных последовательных протоколах (например, GigabitEthernet), информация о синхронизации должна быть встроена в передаваемый сигнал. На физическом уровне PCI Express использует ставший общепринятым метод кодирования 8B/10B (8 бит данных заменяются на 10 бит, передаваемых по каналу, таким образом 20% передаваемого по каналу трафика избыточны), который позволяет поднять помехозащищенность.

Некоторые протоколы (например, SONET/SDH) используют другой метод помехозащищенного кодирования, который называется скремблинг (scrambling), для встраивания информации о синхронизации в поток данных. Спецификация PCI Express также предусматривает алгоритм скремблинга, но скремблинг PCI Epress отличается от такового для SONET.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: