logo search
Материалы по интерфейсам периферий / Для Скрипко / Для пособия ПУ (Восстановлен) (2)

Pci Express

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

Одна из концептуальных особенностей интерфейсаPCI Express, позволяющая существенно повысить производительность системы, - использование топологии "звезда". В топологии "шина" (рис. 14.5а) устройствам приходится разделять пропускную способностьPCIмежду собой. При топологии "звезда" (рис. 14.5б) каждое устройство монопольно использует канал, связывающий его с концентратором (switch)PCI Express, не деля ни с кем пропускную способность этого канала.

Рис. 14.5.Сравнение топологий PCI и PCI Express

Канал (link), связывающий устройство с концентратором PCI Express, представляет собой совокупность дуплексных последовательных (однобитных) линий связи, называемых полосами (lane). Дуплексный характер полос также контрастирует с архитектуройPCI, в которойшинаданных - полудуплексная (в один момент времени передача выполняется только в определенном направлении). На электрическом уровне каждая полоса соответствует двум парам проводников с дифференциальным кодированием сигналов. Одна пара используется для приема, другая - для передачи.PCI Expressпервого поколения декларирует скорость передачи одной полосы 2,5 Гбит/с в каждом направлении. В будущем планируется увеличить скорость до 5 и 10 Гбит/с.

Канал может состоять из нескольких полос: одной (x1 link), двух (x2 link), четырех (x4 link), восьми (x8 link), шестнадцати (x16 link) или тридцати двух (x32 link). Все устройства должны поддерживать работу с однополосным каналом. Аналогично, различают слоты: x1, x2, x4, x8, x16, x32. Однако слот может быть "шире", чем подведенный к нему канал, т.е. на слот x16 фактически может быть выведен канал x8 link и т.п. Карта PCI Expressдолжна физически подходить и корректно работать в слоте, который по размерам не меньше разъема на карте, т.е. карта x4 будет работать в слотах x4, x8, x16, даже если реально к ним подведен однополосный канал. Процедура согласования каналаPCI Expressобеспечивает выбор максимального количества полос, поддерживаемого обеими сторонами.

При передаче данных по многополосным каналам используется принцип чередования или "разборки данных" (data stripping): каждый последующий байт передается по другой полосе. В случае канала x2 это означает, что все четные байты передаются по одной полосе, а нечетные - по другой.

Как и большинство других высокоскоростных последовательных протоколов, PCI Expressиспользует схему кодирования данных, встраивающую тактирующий сигнал в закодированные данные, т.е. обеспечивающую самосинхронизацию. Применяемый вPCI Expressалгоритм 8B / 10B (8 бит в 10 бит) обеспечивает разбиение длинных последовательностей нулей или единиц так, чтобы приемная сторона не потеряла границы битов. С учетом кодирования 8B/10B пропускную способность однополосного каналаPCI Expressможно оценить, как 2500 Мбит/с / 10 бит/байт = 250 мегабайт/с (238 Мбайт/с).

PCI Expressобеспечивает передачу управляющих сообщений, в том числе прерываний, по тем же линиям данных. Последовательный протокол не предусматривает блокирование, поэтому легко обеспечивается латентность, сопоставимая сPCI, где имеются выделенные линии для прерываний.