Карты pci express. Шины PCI, PCI-X и PCI Express

PCI — Express (PCIe , PCI — E ) – последовательная, универсальная шина впервые обнародованная 22 июля 2002 года.

Является общей , объединяющей шиной для всех узлов системной платы, в которой соседствуют все подключённые к ней устройства. Пришла на замену устаревающей шине PCI и её вариации AGP , по причине возросших требований к пропускной способности шины и невозможности за разумные средства улучшить скоростные показатели последних.

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

Данные по шине идут симплексно (полный дуплекс), то есть одновременно в обе стороны с одинаковой скоростью, причём сигнал по линиям, течёт непрерывно , даже при отключении устройства (как постоянный ток, или битовый сигнал из нулей).

Синхронизация построена избыточным методом. То есть вместо 8 бит информации, передаётся 10 бит , два из которых являются служебными (20% ) и в определённой последовательности служат маячками для синхронизации тактовых генераторов или выявления ошибок . Поэтому, заявленная скорость для одной линии в 2.5 Гбитс , на самом деле равна примерно 2.0 Гбитс реальных.

Питание каждого устройства по шине, подбирается отдельно и регулируется с помощью технологии ASPM (Active State Power Management ). Она позволяет при простое (без подачи сигнала) устройства занижать его тактовый генератор и переводить шину в режим пониженного энергопотребления . Если сигнал не поступал в течение нескольких микросекунд, устройство считается неактивным и переводится в режим ожидания (время зависит от типа устройства).

Скоростные характеристики в двух направлениях PCI — Express 1.0 :*

1 x PCI —E ~ 500 Мбс

PCI —E ~ 2 Гбс

8 x PCI —E ~ 4 Гбс

16х PCI —E ~ 8 Гбс

32х PCI-E ~ 16 Гбс

*Скорость передачи данных в одном направлении в 2 раза ниже данных показателей

15 января 2007 года, PCI —SIG выпустила обновлённую спецификацию именуемую PCI-Express 2.0

Основным улучшением стала в 2 раза увеличенная скорость передачи данных (5.0 Ггц , против 2.5Ггц в старой версии). Усовершенствованию подвергся также двухточечный протокол передачи данных (точка-точка), доработана программная составляющая и добавлена система программного мониторинга за скоростью шины. При этом сохранилась совместимость с версиями протокола PCI —E 1.х

В новой версии стандарта (PCI — Express 3.0 ), главным нововведением будет измененная система кодирования и синхронизации . Вместо 10 битной системы (8 бит информации, 2 бита служебных), будет применяться 130 битная (128 бит информации, 2 бита служебных). Это позволит снизить потери в скорости с 20% до ~1.5% . Будет также переработан алгоритм синхронизации передатчика и приёмника, улучшен PLL (phase-locked loop). Скорость передачи увеличится предположительно в 2 раза (в сравнении с PCI —E 2.0 ), при этом сохранится совместимость с прошлыми версиями PCI —Express .

Итак, переходим к самому интересному. Что же находится на сегодняшний день внутри большинства наших компьютеров? Естественно, шина PCI. Другой вопрос, почему именно эта шина. Попробуем разобраться.

Итак, разработка шины PCI началась весной 1991 года как внутренний проект корпорации Intel (Release 0.1). Специалисты компании поставили перед собой цель разработать недорогое решение, которое бы позволило полностью реализовать возможности нового поколения процессоров 486/Pentium/P6 (вот уже половина ответа). Особенно подчеркивалось, что разработка проводилась "с нуля", а не была попыткой установки новых "заплат" на существующие решения. В результате шина PCI появилась в июне 1992 года (R1.0). Разработчики Intel отказались от использования шины процессора и ввели еще одну "антресольную" (mezzanine) шину.

Благодаря такому решению шина получилась, во-первых, процессоро-независимой (в отличие от VLbus), а во-вторых, могла работать параллельно с шиной процессора, не обращаясь к ней за запросами. Например, процессор работает себе с кэшем или системной памятью, а в это время по сети на винчестер пишется информация. Просто здорово! На самом деле идиллии, конечно, не получается, но загрузка шины процессора снижается здорово. Кроме того, стандарт шины был объявлен открытым и передан PCI Special Interest Group, которая продолжила работу по совершенствованию шины (в настоящее время доступен R2.1), и в этом, пожалуй, вторая половина ответа на вопрос "почему PCI?"

Основные возможности шины следующие.


При разработке шины в ее архитектуру были заложены передовые технические решения, позволяющие повысить пропускную способность.

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

Шина PCI является той черепахой, на которой стоят слоны, поддерживающие "Землю" - архитектуру Microsoft/Intel Plug and Play (PnP) PC architecture. Спецификация шины PCI определяет три типа ресурсов: два обычных (диапазон памяти и диапазон ввода/вывода, как их называет компания Microsoft) и configuration space - "конфигурационное пространство".

Конфигурационное пространство состоит из трех регионов:

  • заголовка, независимого от устройства (device-independent header region);
  • региона, определяемого типом устройства (header-type region);
  • региона, определяемого пользователем (user-defined region).

В заголовке содержится информация о производителе и типе устройства - поле Class Code (сетевой адаптер, контроллер диска, мультимедиа и т.д.) и прочая служебная информация.

Следующий регион содержит регистры диапазонов памяти и ввода/вывода, которые позволяют динамически выделять устройству область системной памяти и адресного пространства. В зависимости от реализации системы конфигурация устройств производится либо BIOS (при выполнении POST - power-on self test), либо программно. Базовый регистр expansion ROM аналогично позволяет отображать ROM устройства в системную память. Поле CIS (Card Information Structure) pointer используется картами cardbus (PCMCIA R3.0). С Subsystem vendor/Subsystem ID все понятно, а последние 4 байта региона используются для определения прерывания и времени запроса/владения.

И PCI-X представляют собой щелевые разъемы, имеющие контакты с шагом 0,05 дюйма. Слоты расположены несколько дальше от задней панели, чем ISA/EISA или MCA. Компоненты карт PCI расположены на левой поверхности плат. По этой причине крайний PCI-слот обычно совместно использует посадочное место адаптера (прорезь на задней стенке корпуса) с соседним ISA-слотом. Такой слот называют разделяемым (shared slot), в него может устанавливаться либо карта ISA, либо PCI.

Карты PCI могут предназначаться для интерфейсных сигналов уровня 5 В и 3,3 В, а также быть универсальными. Слоты PCI имеют уровни сигналов, соответствующие питанию микросхем PCI-устройств системной платы (включая главный мост): либо 5 В, либо 3,3 В. Во избежание ошибочного подключения слоты имеют ключи, определяющие номинал напряжения. Ключами являются пропущенные ряды контактов 12, 13 и/или 50, 51:

  • для слота на 5 В ключ (перегородка) расположен на месте контактов 50, 51 (ближе к передней стенке корпуса); такие слоты отменены в PCI 3.0;
  • для слота на 3,3 В перегородка находится на месте контактов 12, 13 (ближе к задней стенке корпуса);
  • на универсальных слотах перегородок нет;
  • на краевых разъемах карт 5 В имеются ответные прорези только на месте контактов 50, 51; такие карты отменены в PCI 2.3;
  • на картах 3,3 В прорези только на месте контактов 12, 13;
  • на универсальных картах имеется оба ключа (две прорези).

Ключи не позволяют установить карту в слот с неподходящим напряжением питания. Карты и слоты различаются лишь питанием буферных схем, которое поступает с линий +V I/O:

  • на слоте «5 В» на линии +V I/O подается + 5 В;
  • на слоте «3,3 В» на линии +V I/O подается + (3,3–3,6) В;
  • на карте «5 В» буферные микросхемы рассчитаны только на питание + 5 В;
  • на карте «3,3 В» буферные микросхемы рассчитаны только на питание + (3,3– 3,6) В;
  • на универсальной карте буферные микросхемы допускают оба варианта питания и будут нормально формировать и воспринимать сигналы по спецификациям 5 или 3,3 В, в зависимости от типа слота, в который установлена карта (то есть от напряжения на контактах + V I/O).

На слотах обоих типов присутствуют питающие напряжения + 3,3, + 5, + 12 и –12 В на одноименных линиях. В PCI 2.2 определена дополнительная линия 3.3Vaux - «дежурное» питание + 3,3 В для устройств, формирующих сигнал PME# при отключенном основном питании.

ПРИМЕЧАНИЕ!

Выше приведены положения из официальных спецификаций PCI. На современных системных платах пока чаще всего встречаются слоты, по ключу являющиеся 5вольтовыми. Однако при этом напряжение на линиях +V I/O и уровни сигналов интерфейса являются 3,3-вольтовыми. В этих слотах нормально работают все современные карты с 5-вольтовыми ключами - их интерфейсные схемы работают при питании как 3,3, так и 5 В. Интерфейс с 5-вольтовым питанием может работать только на частоте до 33 МГц. «Настоящие» 5-вольтовые системные платы были только для процессоров 486 и первых моделей Pentium.

Наибольшее распространение получили 32-битные слоты, заканчивающиеся контактами A62/B62. 64-битные слоты встречаются реже, они длиннее и заканчиваются контактами A94/B94. Конструкция разъемов и протокол позволяют устанавливать 64-битные карты как в 64-битные, так и в 32-битные разъемы, и наоборот, 34-битные карты как в 32-битные, так и в 64-битные разъемы. При этом разрядность обмена будет соответствовать слабейшему компоненту.

Для сигнализации об установке карты и потребляемой ею мощности на разъемах PCI предусмотрено два контакта - PRSNT1# и PRSNT2#, из которых хотя бы один соединяется на карте с шиной GND. С их помощью система может определить присутствие карты в слоте и ее энергопотребление. Кодирование потребляемой мощности приведено в таблице; здесь приведены значения и для малогабаритных карт Small PCI.

Карты и слоты PCI-X по механическим ключам соответствуют 3,3-вольтовым картам и слотам; напряжение питания + V I/O для PCI-X Mode 2 устанавливается 1,5 В.

На рисунке изображены карты PCI в конструктиве PC/AT-совместимых компьютеров. Полноразмерные карты (Long Card, 107×312 мм) используются редко, чаще применяются укороченные платы (Short Card, 107×175 мм), но многие карты имеют и меньшие размеры. Карта имеет обрамление (скобку), стандартное для конструктива ISA (раньше встречались карты и с обрамлением в стиле MCA IBM PS/2). У низкопрофильных карт (Low Profile) высота не превышает 64,4 мм; их скобки также имеют меньшую высоту. Такие карты могут устанавливаться вертикально в 19-дюймовые корпуса высотой 2U (около 9 см).

Назначение выводов разъема карт PCI/PCI-X приведено в таблице ниже.

Ряд B Ряд A Ряд B Ряд A
-12В 1 TRST# GND/M66EN 1 49 AD9
TCK 2 +12 В GND/Ключ 5 В/MODE 2 50 GND/Ключ 5 В
GND 3 TMS GND/Ключ 5 В 51 GND/Ключ 5 В
TDO 4 TDI AD8 52 C/BE 0 #
+5 В 5 +5 В AD7 53 +3,3 В
+5 В 6 INTA# +3,3 В 54 AD6
INTB# 7 INTC# AD5 55 AD4
INTD# 8 +5 В AD3 56 GND
PRSNT1# 9 ECC 5 2 GND 57 AD2
ECC4 2 10 +V I/O AD1 58 AD0
PRSNT2# 11 ECC 3 2 +V I/O 59 +V I/O
GND/Ключ 3,3 В 12 GND/Ключ 3,3 В ACK 64 #/ ECC 1 60 REQ 64 #/ ECC 6
GND/Ключ 3,3 В 13 GND/Ключ 3,3 В +5 В 61 +5 В
ECC2 2 14 3.3Vaux 3 +5 В 62 +5 В
GND 15 RST# Конец 32-битного разъема
CLK 16 +V I/O Резерв 63 GND
GND 17 GNT# GND 64 C/BE 7 #
REQ# 18 GND C/BE 6 # 65 C/BE 5 #
+V I/O 19 PME# 3 C/BE 4 # 66 +V I/O
AD31 20 AD30 GND 67 PAR 64 /ECC 7 2
AD29 21 +3,3 В AD63 68 AD62
GND 22 AD28 AD61 69 GND
AD27 23 AD26 +V I/O 70 AD60
AD25 24 GND AD59 71 AD58
+3,3 В 25 AD24 AD57 72 GND
C/BE3# 26 IDSEL GND 73 AD56
AD23 27 +3,3 В AD55 74 AD54
GND 28 AD22 AD53 75 +V I/O
AD21 29 AD20 GND 76 AD52
AD19 30 GND AD51 77 AD50
+3.3 В 31 AD18 AD49 78 GND
AD17 32 AD16 +V I/O 79 AD48
C/BE 2 # 33 +3,3 В AD47 80 AD46
GND 34 FRAME# AD45 81 GND
IRDY# 35 GND GND 82 AD44
+3,3 В 36 TRDY# AD43 83 AD42
DEVSEL# 37 GND AD41 84 +V I/O
PCIXCAP 4 38 STOP# GND 85 AD40
LOCK# 39 +3,3 В AD39 86 AD38
PERR# 40 SMBCLK 5 AD37 87 GND
+3,3 В 41 SMBDAT 5 +V I/O 88 AD36
SERR# 42 GND AD35 89 AD34
+3,3 В 43 PAR/ECC0 AD33 90 GND
C/BE 1 # 44 AD15 GND 91 AD32
AD14 45 +3,3 В Резерв 92 Резерв
GND 46 AD13 Резерв 93 GND
AD12 47 AD11 GND 94 Резерв
AD10 48 GND Конец 64-битного разъема

Примечание!

1 - Сигнал M66EN определен в PCI 2.1 только для слотов на 3,3 В.
2 - Сигнал введен в PCI-X 2.0 (прежде был резерв).
3 - Сигнал введен в PCI 2.2 (прежде был резерв).
4 - Сигнал введен в PCI-X (в PCI - GND).
5 - Сигналы введены в PCI 2.3. В PCI 2.0 и 2.1 контакты A40 (SDONE#) и A41 (SBOFF#) использовались для слежения за кэшем; в PCI 2.2 они были освобождены (для совместимости на системной плате эти цепи подтягивались к высокому уровню резисторами 5 кОм).

На слотах PCI имеются контакты для тестирования адаптеров по интерфейсу JTAG (сигналы TCK, TDI, TDO, TMS и TRST#). На системной плате эти сигналы задействованы не всегда, но они могут и организовывать логическую цепочку тестируемых адаптеров, к которой можно подключить внешнее тестовое оборудование. Для непрерывности цепочки на карте, не использующей JTAG, должна быть связь TDI–TDO.

На некоторых старых системных платах позади одного из слотов PCI встречается разъем Media Bus, на который выводятся сигналы ISA. Он предназначен для размещения на карте PCI звукового чипсета, предназначенного для шины ISA. Большинство сигналов PCI соединяются по чистой шинной топологии, то есть одноименные контакты слотов одной шины PCI электрически соединяются друг с другом. Из этого правила есть несколько исключений:

  • сигналы REQ# и GNT# индивидуальны для каждого слота, они соединяют слот с арбитром (обычно - мостом, подключающим эту шину к вышестоящей);
  • сигнал IDSEL для каждого слота соединяется (возможно, через резистор) с одной из линий AD, задавая номер устройства на шине;
  • сигналы INTA#, INTB#, INTC#, INTD# циклически сдвигаются по контактам, обеспечивая распределение запросов прерываний;
  • сигнал CLK заводится на каждый слот индивидуально от своего выхода буфера синхронизации; длина подводящих проводников выравнивается, обеспечивая синхронность сигнала на всех слотах (для 33 МГц допуск ± 2 нс, для 66 МГц - ± 1 нс).

AGP-слот с защёлкой для графической карты.

Большинство графических карт в пользовательских ПК используют интерфейс Accelerated Graphics Port (AGP). У самых старых систем для той же цели применяется интерфейс PCI. Впрочем, на замену обоим интерфейсам призван PCI Express (PCIe). Несмотря на название, PCI Express является последовательной шиной, а PCI (без суффикса Express) - параллельной. В общем, шины PCI и PCI Express не имеют ничего общего, помимо названия.

Графическая карта AGP (сверху) и графическая карта PCI Express (снизу).

Материнские платы для рабочих станций используют слот AGP Pro, который обеспечивает дополнительное питание для прожорливых карт OpenGL. Впрочем, в него можно устанавливать и обычные графические карты. Однако AGP Pro так и не получил широкое признание. Обычно прожорливые графические карты комплектуются дополнительным гнездом питания - для той же вилки Molex, к примеру.

Дополнительное питание для графической карты: 4- или 6-контактное гнездо.

Дополнительное питание для графической карты: гнедо Molex.

Стандарт AGP пережил несколько обновлений.

Стандарт Пропускная способность
AGP 1X 256 Мбайт/с
AGP 2X 533 Мбайт/с
AGP 4X 1066 Мбайт/с
AGP 8X 2133 Мбайт/с

Если вы любите копаться в "железе", то следует помнить о двух уровнях напряжения интерфейса. Стандарты AGP 1X и 2X работают на 3,3 В, в то время как AGP 4X и 8X требуют всего 1,5 В. Кроме того, существуют карты типа Universal AGP, которые подходят для разъёма любого типа. Чтобы предотвратить ошибочную установку карт, слоты AGP используют специальные выступы. А карты - прорези.

У верхней карты есть прорезь для AGP 3,3 В. В середине: универсальная карта с двумя вырезами (один для AGP 3,3 В, второй - для AGP 1,5 В). Снизу показана карта с вырезом справа для AGP 1,5 В.

Слоты расширения материнской платы: PCI Express x16 линий (сверху) и 2 PCI Express x1 линия (снизу).

Два слота PCI Express для установки двух графических карт nVidia SLi. Между ними можно заметить маленький слот PCI Express x1.

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

PCI Express (PCIe) является самым современным интерфейсом для графических карт. В то же время, он подходит и для установки других карт расширения, хотя на рынке пока их очень мало. PCIe x16 обеспечивает в два раза большую пропускную способность, чем AGP 8x. Но на практике это преимущество так себя и не проявило.

Графическая карта AGP (сверху) в сравнении с графической картой PCI Express (снизу).

Сверху вниз: PCI Express x16 (последовательный), два интерфейса параллельной PCI и PCI Express x1 (последовательный).

Число линий PCI Express Пропускная способность в одном направлении Суммарная пропускная способность
1 256 Мбайт/с 512 Мбайт/с
2 512 Мбайт/с 1 Гбайт/с
4 1 Гбайт/с 2 Гбайт/с
8 2 Гбайт/с 4 Гбайт/с
16 4 Гбайт/с 8 Гбайт/с

PCI является стандартной шиной для подключения периферийных устройств. Среди них можно отметить сетевые карты, модемы, звуковые карты и платы захвата видео.

Среди материнских плат для широкого рынка больше всего распространена шина PCI стандарта 2.1, работающая на частоте 33 МГц и имеющая ширину 32 бита. Она обладает пропускной способностью до 133 Мбит/с. Производители так широко и не приняли шины PCI 2.3 с частотой до 66 МГц. Именно поэтому карт данного стандарта очень мало. Но некоторые материнские платы этот стандарт поддерживают.

Ещё одна разработка в мире параллельной шины PCI известна как PCI-X. Данные слоты чаще всего встречаются на материнских платах для серверов и рабочих станций, поскольку PCI-X обеспечивает более высокую пропускную способность для RAID-контроллеров или сетевых карт. К примеру, шина PCI-X 1.0 предлагает пропускную способность до 1 Гбит/с с частотой шины 133 МГц и разрядностью 64 бита.

Спецификация PCI 2.1 сегодня предусматривает напряжение питания 3,3 В. Левый вырез/выступ предотвращает установку старых 5-В карт, которые показаны на иллюстрации.

Карта с вырезом, а также PCI-слот с ключом.

RAID-контроллер для 64-битного слота PCI-X.

Классический 32-битный слот PCI сверху, а три 64-битных слота PCI-X снизу. Зелёный слот поддерживает ZCR (Zero Channel RAID).

Словарик

  • PCI = Peripheral Component Interconnect


СОДЕРЖАНИЕ

Отключите компьютер от электросети. Выключите его и обесточьте - иными словами, отключите системный блок от электричества, вытащив из него соответствующий кабель. Впрочем, затем вам нужно будет отключить и все прочие кабели, которые подключены к системному блоку. Если компьютер вы использовали недавно, то есть смысл несколько минут подождать, пока тот не остынет.

  • Примечание: иные PCI-карты требуют предварительной установки драйверов на устройство, на это в наши дни редкость. Тем не менее, заглядывать в документацию по PCI-карте все равно надо.

Откройте корпус компьютера. PCI-слоты расположены на материнской плате, а добраться до нее можно лишь одним способом: открыв корпус системного блока. Для этого придется снять боковую крышку (правую, если смотреть на заднюю панель корпуса), а та, как правило, сидит на винтах (иногда встречаются модели корпусов, где надо сперва снять верх, но там все тоже на винтах).

  • Как правило, для откручивания тех винтов отвертка не нужна, хотя изредка все же без нее не обойтись.
  • Не кладите корпус на ковер или аналогичные поверхности. Статическое электричество, созданное трением, убьет платы быстро, незаметно и на раз.
  • Найдите PCI-слоты. Прямоугольные слоты напротив прямоугольных же отверстий (прикрытых заглушками) на корпусе - это как раз то, что нужно. Скорее всего, один или даже 2 PCI-слота (те, что ближе всего к процессору) будут заняты видеокартой. Свободным будут, соответственно, 1-2 слота, если только у вас уже не установлены какие-то другие платы.

    • Если найти PCI-слоты что-то не получается, возьмите руководство к материнской плате, там все будет написано.
  • Снимите заглушку напротив пустого PCI-слота. Место напротив каждого слота прикрыто такой заглушкой, чтобы в корпус не попадала пыль. Не бойтесь, заглушки в наше время выламывать уже не надо, они, как правило, на зажимах, а то и на одном-единственном зажиме. Главное на этом этапе - не ошибиться с заглушкой.

    • Не снимайте лишние заглушки, чтобы в корпус не подала лишняя пыль (а она там вся - лишняя).
  • Заземлитесь. Помните, что мы говорили про статику? Запомните: прежде чем лезть во внутренности компьютера, надо заземлиться. Если не заземляться, то есть риск убить статикой платы.

    • Электростатический браслет, который можно купить в магазине товаров для компьютеров, прекрасно подойдет (его надо будет надеть на руку). Впрочем, заземлиться можно и иначе - коснувшись чего-нибудь металлического.
  • Достаньте плату из коробки. Вытаскивайте ее аккуратно, не трогайте ни контуры, вытравленные на плате, ни контакты.

    Вставьте карту. Итак, приставьте карту контактами к PCI-слоту и надавите на нее, чтобы та вошла в слот. Применяйте силу с умом, не сломайте ничего! Затем обязательно проверьте, до конца ли встала карта.

    Закрепите карту. Тем же крепежом, который вы снимали, чтобы вытащить заглушку, теперь закрепите карту, да понадежнее, чтобы та не шаталась!

    • Карта будет находиться в горизонтальном положении, поэтому вопрос закрепления является куда более важным, чем то может показаться на первый взгляд.
  • Закройте корпус компьютера. Верните боковую панель на место, не забудьте про болты. Затем поставьте компьютер обратно и подключите к нему все, что вы перед этим отключили. Впрочем, если вы подключили плату, которая, скажем, добавляет новые USB-порты, то пока в них ничего не подключайте.