PCI Express

Материал из Википедии — свободной энциклопедии
(перенаправлено с «PCIe»)
Перейти к: навигация, поиск
PCI-E
PCI Express
Pci-express-logo.gif
PCI Express logo
Год открытия: 2002 (1.0)
15 января 2007 (2.0)
ноябрь 2010 (Спецификации версии 3.0)
Разработчик: Intel, PCI Special Interest Group
Что эта шина заменила: AGP, PCI-X, PCI

Ширина в битах: 32
Тип: Последовательная
Эта шина поддерживает горячее подключение? да
Эта шина внешняя? нет
На фотографии слоты материнской платы DFI LanParty nForce4 SLI-DR (сверху вниз): x4 PCI Express,
x16 PCI Express,
x1 PCI Express,
x16 PCI Express,
стандартный 32‑разрядный слот PCI

PCI Express, или PCIe, или PCI-E (также известная как 3GIO for 3rd Generation I/O; не путать с PCI-X и PXI) — компьютерная шина (хотя на физическом уровне шиной не является, будучи соединением типа "точка-точка"), использующая программную модель шины PCI и высокопроизводительный физический протокол, основанный на последовательной передаче данных.

Разработка стандарта PCI Express была начата фирмой Intel после отказа от шины InfiniBand. Официально первая базовая спецификация PCI Express появилась в июле 2002 года. Развитием стандарта PCI Express занимается организация PCI Special Interest Group.

Описание[править | править вики-текст]

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

Устройства PCI Express взаимодействуют между собой через среду, образованную коммутаторами, при этом каждое устройство напрямую связано соединением типа точка-точка с коммутатором.

Кроме того, шиной PCI Express поддерживается:

Шина PCI Express нацелена на использование только в качестве локальной шины. Так как программная модель PCI Express во многом унаследована от PCI, то существующие системы и контроллеры могут быть доработаны для использования шины PCI Express заменой только физического уровня, без доработки программного обеспечения. Высокая пиковая производительность шины PCI Express позволяет использовать её вместо шин AGP и тем более PCI и PCI-X. Де-факто PCI Express заменила эти шины в персональных компьютерах.

Разъёмы[править | править вики-текст]

  • MiniCard (Mini PCIe) — замена форм-фактора Mini PCI. На разъём Mini Card выведены шины: x1 PCIe, USB 2.0 и SMBus.
  • ExpressCard — подобен форм-фактору PCMCIA. На разъём ExpressCard выведены шины x1 PCIe и USB 2.0, карты ExpressCard поддерживают горячее подключение.
  • AdvancedTCA — форм-фактор для телекоммуникационного оборудования.
  • Mobile PCI Express Module (MXM) — промышленный форм-фактор, созданный для ноутбуков фирмой NVIDIA. Его используют для подключения графических ускорителей.
  • Кабельные спецификации PCI Express позволяют доводить длину одного соединения до десятков метров, что делает возможным создание ЭВМ, периферийные устройства которой находятся на значительном удалении.

PCI Express X1[править | править вики-текст]

Mini PCI-E[править | править вики-текст]

Mini PCI Express — формат шины PCI Express для портативных устройств.

Для этого стандарта разъёма выпускается масса периферийных устройств:

  • WiFi карты
  • WiMax карты
  • GSM модемы
  • GPS приёмники
  • SSD накопители — Использует нестандартную распиновку разъёма Mini PCI-E (SSD Mini PCI Express)
  • Контроллеры USB (2.0 или 3.0), SATA (I, II или III)
  • Контроллер COM-портов (RS232)
  • SMBus
  • Выводы для индикаторных светодиодов
  • Выводы подключения СИМ карт (для GSM WCDMA) [1]
  • Имеет зарезервированные контакты (для будущих устройств)
  • Питание 1.5 В и 3.3 В

SSD Mini PCI Express[править | править вики-текст]

  • PATA
  • SATA
  • USB
  • Питание 3.3 В

Контакты SSD Mini PCI Express[источник не указан 430 дней]

ExpressCard[править | править вики-текст]

Слоты ExpressCard на настоящее время (Ноябрь 2010) применяются для подключения:[2]

  • Плат SSD накопителей
  • Контроллеров 1394/FireWire (iLINK)
  • Док-станций
  • Измерительных приборов
  • Памяти
  • Адаптеров карт памяти (CF, MS, SD, xD, и т.д.)
  • Мышей
  • Сетевых адаптеров
  • Параллельных портов
  • Адаптеров PC Card/PCMCIA
  • Расширения PCI
  • Расширения PCI Express
  • Дистанционного управления
  • Контроллеров SATA
  • Последовательных портов
  • Адаптеров SmartCard
  • ТВ-тюнеров
  • Контроллеров USB
  • Беспроводных сетевых адаптеров Wi-Fi
  • Беспроводных широкополосных интернет-адаптеров (3G, CDMA, EVDO, GPRS, UMTS, и т.д.)
  • Звуковых карт для домашнего мультимедиа и профессиональных аудио-интерфейсов.

Описание протокола[править | править вики-текст]

Видеокарта для PCI Express x16

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

Соединение (англ. link — связь, соединение) между двумя устройствами PCI Express состоит из одной (x1) или нескольких (x2, x4, x8, x12, x16 и x32) двунаправленных последовательных линий. Каждое устройство должно поддерживать соединение по крайней мере с одной линией (x1).

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

Использование подобного подхода имеет следующие преимущества:

  • карта PCI Express помещается и корректно работает в любом слоте той же или большей пропускной способности (например, карта x1 будет работать в слотах x4 и x16);
  • слот большего физического размера может использовать не все линии (например, к слоту x16 можно подвести проводники передачи информации, соответствующие x1 или x8, и всё это будет нормально функционировать; однако, при этом необходимо подключить все проводники питания и заземления, необходимые для слота x16).

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

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

Во всех высокоскоростных последовательных протоколах (например, гигабитный Ethernet), информация о синхронизации должна быть встроена в передаваемый сигнал. На физическом уровне, PCI Express использует метод канального кодирования 8b/10b (8 бит в десяти, избыточность — 20%) для устранения постоянной составляющей в передаваемом сигнале и для встраивания информации о синхронизации в поток данных. В PCI Express 3.0 используется более экономное кодирование 128b/130b с избыточностью 1,5%.

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

Пропускная способность[править | править вики-текст]

Битрейт в PCIe 1.0 составляет 2,5 Гбит/с. Для расчёта пропускной способности шины необходимо учесть дуплексность[3] и избыточность 8b/10b (8 бит в десяти). Например, дуплексная пропускная способность соединения x1 составляет:

2,5 · 2 · 0,8 = 4 Гбит/с
где:
  • 2,5 — битрейт, Гбит/с;
  • 2 — учёт дуплексности (двунаправленности);
  • 0,8 — учёт избыточности 8b/10b для 1.0 и 2.0; 0,985 — 128b/130b для 3.0;
В одну/обе стороны, Гбит/с
Связей
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
PCIe 4.0 (предварительно) [4] 16/32 32/64 64/128 128/256 192/384 256/512 512/1024

Шина UMI — представляет собой модифицированный интерфейс PCI-E x4 c вдвое увеличеной пропускной способностью, за счет перехода с первой на вторую версию стандарта. Входит в состав чипсета AMD Fusion A55.

Конкурирующие протоколы[править | править вики-текст]

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

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

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

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

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

PCI Express 2.0[править | править вики-текст]

Группа PCI-SIG выпустила спецификацию PCI Express 2.0 15 января 2007 года. Основные нововведения в PCI Express 2.0:

  • Увеличенная пропускная способность. Спецификация PCI Express 2.0 определяет максимальную пропускную способность одной линии в 500 МБ/с, или 5 ГТ/с (Гигатранзакций/с), при этом сохранена совместимость с PCI Express 1.x. Внесены усовершенствования в протокол передачи между устройствами и программную модель. Таким образом, плата расширения, поддерживающая стандарт PCIE 1.x может работать, будучи установленной в слот PCIE 2.0. Устройства же с интерфейсом PCI Express 2.0 смогут работать в материнских платах, оснащённых слотом PCI Express x16 поколения PCI Express 1.x, но только на скорости 2,5 ГТ/с, так как старые чипсеты не могут поддерживать удвоенную скорость передачи данных.
  • Динамическое управление скоростью (для управления скоростью работы связи).
  • Оповещение о пропускной способности (для оповещения ПО об изменениях скорости и ширины шины).
  • Расширения структуры возможностей[уточнить] — расширение управляющих регистров для лучшего управления устройствами, слотами и интерконнектом).
  • Службы управления доступом — опциональные возможности управления транзакциями точка-точка).
  • Управление таймаутом выполнения.
  • Сброс на уровне функций — опциональный механизм для сброса функций (англ. PCI funcs) внутри устройства (англ. PCI device).
  • Переопределение предела по мощности (для переопределения лимита мощности слота при присоединении устройств, потребляющих бо́льшую мощность).

Внешняя кабельная спецификация PCIe[править | править вики-текст]

7 февраля 2007 года PCI-SIG выпустила спецификацию внешней кабельной системы PCIE. Новая спецификация позволяет использовать кабели длиной до 10 метров, работающие с пропускной способностью 2,5 ГТ/с.

PCI Express 2.1[править | править вики-текст]

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

PCI Express 3.0[править | править вики-текст]

В ноябре 2010 года[5] были утверждены спецификации версии PCI Express 3.0. Интерфейс обладает скоростью передачи данных 8 GT/s(Гигатранзакций/с). Но, несмотря на это, его реальная пропускная способность всё равно была увеличена вдвое по сравнению со стандартом PCI Express 2.0. Этого удалось достигнуть благодаря более агрессивной схеме кодирования 128b/130b, когда 128 бит данных, пересылаемых по шине, кодируются 130 битами. При этом сохранилась полная совместимость с предыдущими версиями PCI Express. Карты PCI Express 1.x и 2.x будут работать в разъёме 3.0 и наоборот карта PCI Express 3.0 будет работать в разъёмах 1.х и 2.х. По данным PCI-SIG, первые тесты PCI Express 3.0 начались в 2011 году, средства для проверки совместимости для партнеров появились лишь в середине 2011-го, а реальные устройства ― только в 2012-м.

Компания MSI стала первым в мире[6] производителем, выпустившим материнскую плату с поддержкой стандарта PCI Express 3.0.

Летом 2011 года Gigabyte официально представила материнскую плату G1.Sniper 2, построенную на чипсете Intel Z68 и поддерживающую интерфейс PCI Express 3.0.[7][8]

PCI Express 4.0[править | править вики-текст]

PCI Special Interest Group (PCI SIG) заявила, что PCI Express 4.0 может быть стандартизирован до 2015 года. Ожидается, он будет иметь пропускную способность 16 GT/s или более, т.е. будет в два раза быстрее PCIe 3.0.[9][10]

См. также[править | править вики-текст]

Примечания[править | править вики-текст]

Литература[править | править вики-текст]

  • Ravi Budruk, Don Anderson, Tom Shanley PCI Express System Architecture. — Addison-Wesley Professional, 1999. — С. 832. — (PC System Architecture Series). — ISBN 978-0201309744.
  • Doug Abbott PCI Bus Demystified. — 2-е. — Newnes, 2004. — С. 250. — (Demystifying Technology Series). — ISBN 978-0750677394.

Ссылки[править | править вики-текст]