Андрей Смирнов
Время чтения: ~11 мин.
Просмотров: 1

Pci express в плис v-й серии intel: основы интерфейса и особенности аппаратных ядер

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

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

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

Соединение (англ. link — связь, соединение) между двумя устройствами PCI Express состоит из одной (x1) или нескольких (x2, x4, x8, 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.

Содержимое пакетов уровня транзакций

Рисунок 3 — Пример запроса на запись в память длиной в 1 DWРисунок 4 — Пример запроса на чтение из памяти длиной в 1 DWРисунок 5 — Пример успешного ответа на чтениеРисунок 6— Пример ответа о неподдерживаемом запросеРисунок 7 — Пример заголовка запроса на запись 128 байтТаблица 4 — Перечень сокращений для полей заголовков

№ п. Обозначение поля Название поля Назначение
1 TC Категория трафика ‒ Traffic Class Определяет принадлежность к виртуальному каналу
2 Атр. Атрибуты Устанавливают порядок очередности пакетов: строгий, нестрогий, очередность только по ID, нестрогая очередность вместе с адресацией по ID.
3 TH Наличие подсказки обработки пакетов ‒ TLP Processing Hint Показывает, есть ли подсказка по обработке пакета в битах двойного слова с младшими байтами адреса.
4 TD Наличие на уровне транзакций контрольной суммы пакета ‒ TLP Digest Показывает, является последнее двойное слово в пакете контрольной суммой или нет.
5 EP Наличие ошибки целостности данных пакета Показывает, нарушена целостность данных пакета или нет.
6 AT Трансляция адреса ‒ Address Translation Определяет, должен ли адрес быть транслирован: адрес не транслирован, запрос трансляции, адрес транслирован
7 BE Активные байты в первом и последнем двойных словах ‒ Byte Enable Определяет положение активных байт внутри первого и последнего двойных слов
8 PH Подсказка по обработке пакета ‒ Processing Hint Подсказывает получателю пакета, как должен использоваться пакет, а также ‒ структуру данных
9 BCM Наличие изменения числа байт Показывает, было ли изменено количество байт в пакете. Флаг может устанавливать только отправитель в лице PCI-X устройства
  • унаследованные прерывания (Legacy Interrupts или INT);
  • прерывания в виде сообщений (Message Signaled Interrupts или MSI);
  • расширенные прерывания в виде сообщения (Message Signaled Interrupts Extended или MSI-X).

Рисунок 8 — Таблица векторов прерываний MSI-XРисунок 9 — Таблица флагов ожидающих прерываний

Примечания

  1.  (недоступная ссылка). Дата обращения 10 апреля 2010.
  2.  (англ.). pcisig.com. Дата обращения 9 июня 2017.
  3. ↑ . Overclockers.ru (19 июня 2019). Дата обращения 28 июня 2019.
  4.  (недоступная ссылка). Дата обращения 15 мая 2018.
  5. Андрей Шиллинг. . «Hardwareluxx» (30 мая 2019). Дата обращения 28 июня 2019.
  6.  (недоступная ссылка). PCI SIG (18 декабря 2014).
  7. . PCI-SIG. — «Based on PCI-SIG feasibility analysis, the bit rate for the PCIe 4.0 specification will be 16GT/s.». Дата обращения 22 октября 2016.
  8.  (англ.). pcisig.com. Дата обращения 18 января 2018.
  9. .
  10. . GIGABYTE. Дата обращения 27 мая 2019.
  11. Галадей, Андрей. . Игромания (11 июня 2020). Дата обращения 12 июня 2020.

PCI Express 4.0

PCI Special Interest Group (PCI SIG) заявила, что PCI Express 4.0 может быть стандартизирован до конца 2016 года, однако на середину 2016 года, когда ряд чипов уже готовился к изготовлению, СМИ сообщали, что стандартизация ожидается в начале 2017. Ожидалось, что он будет иметь пропускную способность 16 GT/s, то есть будет в два раза быстрее PCIe 3.0. Позднее сроки стандартизации были перенесены, и спецификация была опубликована только 5 октября 2017 года. По сравнению со спецификацией PCI Express 3.0 максимальная скорость передачи данных по шине PCI Express удвоена — с 8 до 16 GT/s. Кроме того, уменьшены задержки, улучшена масштабируемость и поддержка виртуализации. Для 4 линий скорость передачи данных составляет 8 Гбайт/с, для 16 линий — 32 Гбайт/с.

7 ноября 2018 года AMD объявила о планах выпуска в продажу в четвёртом квартале 2018 года первого GPU с поддержкой PCI Express 4.0 x16. 27 мая 2019 года компания Gigabyte объявила о выпуске системных плат серии X570 Aorus. По словам производителя, эти платы «открывают эру PCIe 4.0».

PCI Express 2.0

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

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

PCI Express 2.0 полностью совместим с PCI Express 1.1 (старые видеокарты будут работать в системных платах с новыми разъёмами, но только на скорости 2,5 ГТ/с, так как старые чипсеты не могут поддерживать удвоенную скорость передачи данных; новые видеоадаптеры будут без проблем работать в старых разъёмах стандарта PCI Express 1.х.).

Внешняя кабельная спецификация 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, существует ещё ряд высокоскоростных стандартизованных последовательных интерфейсов, вот только некоторые из них: HyperTransport, InfiniBand, RapidIO, и StarFabric.
Каждый интерфейс имеет своих сторонников среди промышленных компаний, так как на разработку спецификаций протоколов уже ушли значительные суммы, и каждый консорциум стремится подчеркнуть преимущества именно своего интерфейса над другими.

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

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

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

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

Также существуют специализированные шины для подключения чипсетов (между северным и южным мостом), созданные на базе физического протокола PCI Express (обычно x4), но с иными логическими протоколами. Например, в платформах Intel используется шина DMI, а в системах AMD с чипсетом  — шина .

Разъёмы

  • MiniCard (Mini PCIe) — замена форм-фактора Mini PCI

    M.2 — вторая версия Mini PCIe, до x4 PCIe и SATA.

    . На разъём Mini Card выведены шины: x1 PCIe, USB 2.0 и SMBus.

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

PCI Express X1

Выводы PCI Express X1
№ вывода Назначение № вывода Назначение
B1 +12V A1 PRSNT1#
B2 +12V A2 +12V
B3 +12V A3 +12V
B4 GND A4 GND
B5 SMCLK A5 JTAG2
B6 SMDAT A6 JTAG3
B7 GND A7 JTAG4
B8 +3.3V A8 JTAG5
B9 JTAG1 A9 +3.3V
B10 3.3V__AUX A10 3.3V
B11 WAKE# A11 PERST#
Перегородка
B12 RSVD A12 GND_A12
B13 GND A13 REFCLK+
B14 PETP0 A14 REFCLK-
B15 PETN0 A15 GND
B16 GND A16 PERP0
B17 PRSNT2# A17 PERN0
B18 GND A18 GND

Mini PCI-E

См. также M.2

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
  • Выводы для индикаторных светодиодов
  • Выводы подключения SIM-карт (для GSM WCDMA)
  • Имеет зарезервированные контакты (для будущих устройств)
  • Питание 1,5 В и 3,3 В
Выводы Mini PCI-E
№ вывода Назначение № вывода Назначение
51 Зарезервировано 52 +3.3 V
49 Зарезервировано 50 GND
47 Зарезервировано 48 +1.5 V
45 Зарезервировано 46 LED_WPAN#
43 Зарезервировано 44 LED_WLAN#
41 Зарезервировано (+3.3 V) 42 LED_WWAN#
39 Зарезервировано (+3.3 V) 40 GND
37 Зарезервировано (GND) 38 USB_D+
35 GND 36 USB_D-
33 PETp0 34 GND
31 PETn0 32 SMB_DATA
29 GND 30 SMB_CLK
27 GND 28 +1.5 V
25 PERp0 26 GND
23 PERn0 24 +3.3 Vaux
21 GND 22 PERST#
19 Зарезервировано (UIM_C4) 20 W_DISABLE#
17 Зарезервировано (UIM_C8) 18 GND
Перегородка
15 GND 16 UIM_VPP
13 REFCLK+ 14 UIM_RESET
11 REFCLK- 12 UIM_CLK
9 GND 10 UIM_DATA
7 CLKREQ# 8 UIM_PWR
5 Зарезервировано (COEX2) 6 1.5 V
3 Зарезервировано (COEX1) 4 GND
1 WAKE# 2 3.3 V

MiniPCI и MiniPCI Express

SSD Mini PCI Express

  • PATA
  • SATA
  • USB
  • Питание 3.3 В
Контакты SSD Mini PCI Express[источник не указан 2515 дней]
33 Sata TX+ 34 GND
31 Sata TX- 32 IDE_DMARQ
29 GND 30 IDE_DMACK
27 GND 28 IDE_IOREAD
25 Sata RX+ 26 GND
23 Sata RX- 24 IDE_IOWR
21 GND 22 IDE_RESET
19 IDE_D7 20 IDE_D8
17 IDE_D6 18 GND
Перегородка
Перегородка
15 GND 16 IDE_D9
13 IDE_D5 14 IDE_D10
11 IDE_D4 12 IDE_D11
9 GND 10 IDE_D12
7 IDE_D3 8 IDE_D13
5 IDE_D2 6 IDE_D14
3 IDE_D1 4 GND
1 IDE_D0 2 IDE_D15

ExpressCard

Слоты ExpressCard применяются в ноутбуках для подключения:

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

Описание

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

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

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

  • горячая замена карт;
  • гарантированная полоса пропускания (QoS);
  • управление энергопотреблением;
  • контроль целостности передаваемых данных.

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

Рейтинг автора
5
Материал подготовил
Максим Иванов
Наш эксперт
Написано статей
129
Ссылка на основную публикацию
Похожие публикации