Что такое pci в компьютере. Интерфейс PCI в компьютере: виды и назначение

Когда мы говорим о шине PCI Express(PCI-E), то, пожалуй, первое что выделяет ее среди других аналогичных решений – это эффективность. Благодаря этой современной шине, повышается производительность компьютера, улучшается качество графики.

На протяжении многих лет, для подключения видеокарты к материнской плате, использовалась шина PCI(Peripheral Component Interconnect), помимо этого она использовалась также и для подключения некоторых других устройств, например, сетевой и звуковой карты.

Вот как выглядят эти слоты:

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

PCI-Express поддерживает «горячее» подключение, потребляет меньшее, чем ее предшественники количество энергии, контролирует целостность передаваемых данных. К тому же она совместима с драйверами PCI – шины. Еще одной замечательной особенностью данной шины, является ее масштабируемость, т.е. pci express card подключается и работает в любом слоте аналогичной или большей пропускной способности. По всей вероятности, эта функция будет обеспечивать ее использование в последующие годы.

Традиционный тип слота PCI был достаточно хорош для основных аудио/видео функций. С шиной AGP, схема работы с мультимедийными данными улучшилась, соответственно возросло и качество аудио/видео данных. Это было незадолго до того момента, когда достижения в области микроархитектуры процессоров стали еще нагляднее демонстрировать медлительность шины PCI, которая заставляла самые быстрые и новейшие на тот момент времени модели компьютеров буквально еле-еле тащиться.

Характеристики и пропускная способность шины PCI-E

Она может иметь от одной двунаправленной линии соединения x1, до x32 (32 линий). Линия функционирует по принципу точка к точке. Современные версии предоставляют гораздо большую пропускную способность, по сравнению со своими предшественниками. x16 можно использовать для подключения видеокарты, а x1 и x2 могут использоваться для подключения обычных карт.

Вот как выглядят слоты х1 и pci express x16 на :

PCI-E
Количество линий x1 x2 x4 x8 x16 x32
Ширина полосы 500 Мб /с 1000 МБ /с 2000 Мб /с 4000 МБ /с 8000 МБ / с 16000 Мб / с

Версии PCI-E и совместимость

Когда речь идет о компьютерах, то любое упоминание о версиях ассоциируется с проблемами совместимости. И, как любая другая современная технология, PCI-E постоянно развивается и модернизируется. Последний доступный вариант pci express 3.0, но уже ведется развитие шины PCI-E версии 4.0., которая должна появиться примерно в 2015 году(pci express 2.0 практически устарела).
Взгляните на следующую таблицу совместимости PCI-E.
Версии PCI-E 3,0 2,0 1,1
Общая пропускная способность
(X16) 32 Гб / с 16 Гб / с 8 Гб / с
Скорость передачи данных 8,0 ГТ / с 5,0 ГТ / с 2,5 ГТ / с

Версия PCI-E не имеет никакого влияния на функциональность карты. Наиболее отличительной чертой данного интерфейса является его прямая и обратная совместимость, что делает его безопасным и способным к синхронизации со многими вариантами карт, независимо от интерфейса версии. То есть вы можете в слот PCI-Express первой версии, вставить карту второй или третьей версии и она будет работать, хотя и с некоторой потерей производительности. Точно так же и в слот PCI-E третьей версии можно устанавливать карту первой версии PCI-Express. В настоящее время все современные модели видеокарт от NVIDIA и AMD совместимы с такой шиной.

А это на закуску:

Весной 1991 года компания Intel завершает разработку первой макетной версии шины PCI. Перед инженерами была поставлена задача разработать недорогое и производительное решение, которое позволило бы реализовать возможности процессоров 486, Pentium и Pentium Pro. Кроме того, было необходимо учесть ошибки, допущенные VESA при проектировании шины VLB (электрическая нагрузка не позволяла подключать более 3 плат расширения), а также реализовать автоматическую настройку устройств.

В 1992 году появляется первая версия шины PCI, Intel объявляет, что стандарт шины будет открытым, и создаёт PCI Special Interest Group. Благодаря этому любой заинтересованный разработчик получает возможность создавать устройства для шины PCI без необходимости приобретения лицензии. Первая версия шины имела тактовую частоту 33 МГц, могла быть 32- или 64-битной, а устройства могли работать с сигналами в 5 В или 3,3 В. Теоретически пропускная способность шины 133 Мбайт/с, однако в реальности пропускная способность составляла около 80 Мбайт/с.

Основные характеристики:

  • частота шины - 33,33 или 66,66 МГц, передача синхронная;
  • разрядность шины - 32 или 64 бита, шина мультиплексированная (адрес и данные передаются по одним и тем же линиям);
  • пиковая пропускная способность для 32-разрядного варианта, работающего на частоте 33,33 МГц - 133 Мбайт/с;
  • адресное пространство памяти - 32 бита (4 байта);
  • адресное пространство портов ввода-вывода - 32 бита (4 байта);
  • конфигурационное адресное пространство (для одной функции) - 256 байт;
  • напряжение - 3,3 или 5 В.

Фото разъемов:

MiniPCI - 124 pin
MiniPCI Express MiniSata/mSATA - 52 pin
Apple MBA SSD, 2012
Apple SSD, 2012
Apple PCIe SSD
MXM, Graphics Card, 230 / 232 pin

MXM2 NGIFF 75 pins

KEY A PCIe x2

KEY B PCIe x4 Sata SMBus

MXM3, Graphics Card, 314 pin
PCI 5V
PCI Universal
PCI-X 5v
AGP Universal
AGP 3.3 v
AGP 3.3 v + ADS Power
PCIe x1
PCIe x16
Custom PCIe
ISA 8bit

ISA 16bit
eISA
VESA
NuBus
PDS
PDS
Apple II / GS Expasion slot
PC/ XT / AT expasion bus 8 bit
ISA (industry standard architecture) - 16 bit
eISA
MBA - Micro Bus architecture 16 bit
MBA - Micro Bus architecture с видео 16 bit
MBA - Micro Bus architecture 32 bit
MBA - Micro Bus architecture с видео 32 bit
ISA 16 + VLB (VESA)
Processor Direct Slot PDS
601 Processor Direct Slot PDS
LC Processor Direct Slot PERCH
NuBus
PCI (Peripheral Computer Interconnect) - 5v
PCI 3.3v
CNR (Communications / network Riser)
AMR (Audio / Modem Riser)
ACR (Advanced communication Riser)
PCI-X (Периферийный PCI) 3.3v
PCI-X 5v
PCI 5v + RAID option - ARO
AGP 3.3v
AGP 1.5v
AGP Universal
AGP Pro 1.5v
AGP Pro 1.5v+ADC power
PCIe (peripheral component interconnect express) x1
PCIe x4
PCIe x8
PCIe x16

PCI 2.0

Первая версия базового стандарта, получившая широкое распространение, использовались как карты, так и слоты с сигнальным напряжением только 5 вольт. Пиковая пропускная способность - 133 Мбайт/с.

PCI 2.1 - 3.0

Отличались от версии 2.0 возможностью одновременной работы нескольких шинных задатчиков (англ. bus-master, т. н. конкурентный режим), а также появлением универсальных карт расширения, способных работать как в слотах, использующих напряжение 5 вольт, так и в слотах, использующих 3,3 вольта (с частотой 33 и 66 МГц соответственно). Пиковая пропускная способность для 33 МГц - 133 Мбайт/с, а для 66 МГц - 266 Мбайт/с.

  • Версия 2.1 - работа с картами, рассчитанными на напряжение 3,3 вольта, и наличие соответствующих линий питания являлись опциональными.
  • Версия 2.2 - сделанные в соответствии с этими стандартами карты расширения имеют универсальный ключ разъёма по питанию и способны работать во многих более поздних разновидностях слотов шины PCI, а также, в некоторых случаях, и в слотах версии 2.1.
  • Версия 2.3 - несовместима с картами PCI, рассчитанными на использование 5 вольт, несмотря на продолжающееся использование 32-битных слотов с 5-вольтовым ключом. Карты расширения имеют универсальный разъём, но не способны работать в 5-вольтовых слотах ранних версий (до 2.1 включительно).
  • Версия 3.0 - завершает переход на карты PCI 3,3 вольт, карты PCI 5 вольт больше не поддерживаются.

PCI 64

Расширение базового стандарта PCI, появившееся в версии 2.1, удваивающее число линий данных, и, следовательно, пропускную способность. Слот PCI 64 является удлинённой версией обычного PCI-слота. Формально совместимость 32-битных карт с 64-битным слотами (при условии наличия общего поддерживаемого сигнального напряжения) полная, а совместимость 64-битной карты с 32-битным слотами является ограниченной (в любом случае произойдёт потеря производительности). Работает на тактовой частоте 33 МГц. Пиковая пропускная способность - 266 Мбайт/с.

  • Версия 1 - использует слот PCI 64-бита и напряжение 5 вольт.
  • Версия 2 - использует слот PCI 64-бита и напряжение 3,3 вольта.

PCI 66

Версия PCI 66 является работающим на тактовой частоте 66 МГц развитием PCI 64; использует напряжение 3,3 вольта в слоте; карты имеют универсальный, либо форм-фактор на 3,3 В. Пиковая пропускная способность - 533 Мбайт/с.

PCI 64/66

Комбинация PCI 64 и PCI 66 позволяет вчетверо увеличить скорость передачи данных по сравнению с базовым стандартом PCI; использует 64-битные 3,3-вольтовые слоты, совместимые только с универсальными, и 3,3-вольтовые 32-битные карты расширения. Карты стандарта PCI64/66 имеют либо универсальный (но имеющий ограниченную совместимость с 32-битными слотами), либо 3,3-вольтовый форм-фактор (последний вариант принципиально не совместим с 32-битными 33-мегагерцовыми слотами популярных стандартов). Пиковая пропускная способность - 533 Мбайт/с.

PCI-X

PCI-X 1.0 - расширение шины PCI64 с добавлением двух новых частот работы, 100 и 133 МГц, а также механизма раздельных транзакций для улучшения производительности при одновременной работе нескольких устройств. Как правило, обратно совместима со всеми 3.3В и универсальными PCI-картами. PCI-X карты обычно выполняются в 64-бит 3,3 В формате и имеют ограниченную обратную совместимость со слотами PCI64/66, а некоторые PCI-X карты - в универсальном формате и способны работать (хотя практической ценности это почти не имеет) в обычном PCI 2.2/2.3. В сложных случаях для того, чтобы быть полностью уверенным в работоспособности комбинации из материнской платы и карты расширения, надо посмотреть таблицы совместимости (compatibility lists) производителей обоих устройств.

PCI-X 2.0

PCI-X 2.0 - дальнейшее расширение возможностей PCI-X 1.0; добавлены частоты 266 и 533 МГц, а также - коррекция ошибок чётности при передаче данных (ECC ). Допускает расщепление на 4 независимых 16-битных шины, что применяется исключительно во встраиваемых и промышленных системах ; сигнальное напряжение снижено до 1,5 В, но сохранена обратная совместимость разъёмов со всеми картами, использующими сигнальное напряжение 3,3 В. В настоящее время для не профессионального сегмента рынка высокопроизводительных компьютеров (мощных рабочих станций и серверов начального уровня), в которых находит применение шина PCI-X, выпускается крайне мало материнских плат с поддержкой шины. Примером материнской платы для такого сегмента является ASUS P5K WS. В профессиональном сегменте применяется в RAID-контроллерах, в SSD-накопителях под PCI-E.

Mini PCI

Форм-фактор PCI 2.2, предназначен для использования, в основном, в ноутбуках.

PCI Express

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 поддерживается:

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

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

  • MiniCard (Mini PCIe ) - замена форм-фактора Mini PCI . На разъём Mini Card выведены шины: x1 PCIe, 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 и их взаимное расположение.

Несмотря на то, что стандарт допускает x32 линий на порт, такие решения физически достаточно громоздки и не выпускаются.

Год
выпуска
Версия
PCI Express
Кодирование Скорость
передачи
Пропускная способность на x линий
×1 ×2 ×4 ×8 ×16
2002 1.0 8b/10b 2,5 ГТ/с 2 4 8 16 32
2007 2.0 8b/10b 5 ГТ/с 4 8 16 32 64
2010 3.0 128b/130b 8 ГТ/с ~7,877 ~15,754 ~31,508 ~63,015 ~126,031
2017 4.0 128b/130b 16 ГТ/с ~15,754 ~31,508 ~63,015 ~126,031 ~252,062
2019
5.0 128b/130b 32 ГТ/с ~32 ~64 ~128 ~256 ~512

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.х.).

PCI Express 2.1

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

PCI Express 3.0

В ноябре 2010 года были утверждены спецификации версии 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 Express 4.0

PCI Special Interest Group (PCI SIG) заявила, что PCI Express 4.0 может быть стандартизирован до конца 2016 года, однако на середину 2016 года, когда ряд чипов уже готовился к изготовлению, СМИ сообщали, что стандартизация ожидается в начале 2017. Ожидается, что он будет иметь пропускную способность 16 GT/s, то есть будет в два раза быстрее PCIe 3.0.

Оставьте свой комментарий!

Если спросить, какой интерфейс следует использовать для твердотельного накопителя с поддержкой протокола NVMe, то любой человек (вообще знающий, что такое NVMe) ответит: конечно PCIe 3.0 x4! Правда, с обоснованием у него, скорее всего, возникнут сложности. В лучшем случае получим ответ, что такие накопители поддерживают PCIe 3.0 x4, а пропускная способность интерфейса имеет значение. Иметь-то имеет, однако все разговоры об этом начались только тогда, когда некоторым накопителям на некоторых операциях стало тесно в рамках «обычного» SATA. Но ведь между его 600 МБ/с и (столь же теоретическими) 4 ГБ/с интерфейса PCIe 3.0 x4 - просто пропасть, причем заполненная массой вариантов! А вдруг и одной линии PCIe 3.0 хватит, поскольку это уже в полтора раза больше SATA600? Масла в огонь подливают производители контроллеров, грозящиеся в бюджетной продукции перейти на PCIe 3.0 x2, а также тот факт, что у многих пользователей и такого-то нет. Точнее, теоретически есть, но высвободить их можно, лишь переконфигурировав систему или даже что-то в ней поменяв, чего делать не хочется. А вот купить топовый твердотельный накопитель - хочется, но есть опасения, что пользы от этого не будет совсем никакой (даже морального удовлетворения от результатов тестовых утилит).

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

PCI Express: существующие стандарты и их пропускная способность

Начнем с того, что́ представляет собой PCIe и с какой скоростью этот интерфейс работает. Часто его называют «шиной», что несколько неверно идеологически: как таковой шины, с которой соединены все устройства, нет. На деле имеется набор соединений «точка-точка» (похожий на многие другие последовательные интерфейсы) с контроллером в середине и присоединенными к нему устройствами (каждое из которых само по себе может быть и концентратором следующего уровня).

Первая версия PCI Express появилась почти 15 лет назад. Ориентация на использование внутри компьютера (нередко - и в пределах одной платы) позволила сделать стандарт скоростным: 2,5 гигатранзакции в секунду. Поскольку интерфейс последовательный и дуплексный, одна линия PCIe (x1; фактически атомарная единица) обеспечивает передачу данных на скоростях до 5 Гбит/с. Однако в каждом направлении - лишь половина от этого, т. е. 2,5 Гбит/с, причем это полная скорость интерфейса, а не «полезная»: для повышения надежности каждый байт кодируется 10 битами, так что теоретическая пропускная способность одной линии PCIe 1.x составляет примерно 250 МБ/с в каждую сторону. На практике нужно еще передавать служебную информацию, и в итоге правильнее говорить о ≈200 МБ/с передачи пользовательских данных. Что, впрочем, на тот момент времени не только покрывало потребности большинства устройств, но и обеспечивало солидный запас: достаточно вспомнить, что предшественница PCIe в сегменте массовых системных интерфейсов, а именно шина PCI, обеспечивала пропускную способность в 133 МБ/с. И даже если рассматривать не только массовую реализацию, но и все варианты PCI, то максимумом были 533 МБ/с, причем на всю шину, т. е. такая ПС делилась на все подключенные к ней устройства. Здесь же 250 МБ/с (поскольку и для PCI приводится обычно полная, а не полезная пропускная способность) на одну линию - в монопольном использовании. А для устройств, которым нужно больше, изначально была предусмотрена возможность агрегирования нескольких линий в единый интерфейс, по степеням двойки - от 2 до 32, т. е. предусмотренный стандартом вариант х32 в каждую сторону мог передавать уже до 8 ГБ/с. В персональных компьютерах х32 не использовался из-за сложности создания и разведения соответствующих контроллеров и устройств, так что максимумом стал вариант с 16 линиями. Использовался он (да и сейчас используется) в основном видеокартами, поскольку большинству устройств столько не требуется. Вообще, немалому их количеству и одной линии вполне достаточно, но некоторые применяют с успехом и х4, и х8: как раз по накопительной теме - RAID-контроллеры или SSD.

Время на месте не стояло, и около 10 лет назад появилась вторая версия PCIe. Улучшения касались не только скоростей, но и в этом отношении был сделан шаг вперед - интерфейс начал обеспечивать 5 гигатранзакций в секунду с сохранением той же схемы кодирования, т. е. пропускная способность удвоилась. И еще раз она удвоилась в 2010 году: PCIe 3.0 обеспечивает 8 (а не 10) гигатранзакций в секунду, но избыточность уменьшилась - теперь для кодирования 128 бит используется 130, а не 160, как ранее. В принципе, и версия PCIe 4.0 с очередным удвоением скоростей уже готова появиться на бумаге, но в ближайшее время в железе мы ее массово вряд ли увидим. На самом деле и PCIe 3.0 до сих пор в массе платформ используется совместно с PCIe 2.0, потому что и производительность последней для многих сфер применения просто... не нужна. А где нужна - работает старый добрый метод агрегации линий. Только каждая из них стала за прошедшие годы вчетверо быстрее, т. е. PCIe 3.0 х4 - это PCIe 1.0 x16, самый быстрый слот в компьютерах середины нулевых. Именно этот вариант поддерживают топовые контроллеры SSD, и именно его рекомендуется использовать. Понятно, что если такая возможность есть - много не мало. А если ее нет? Будут ли возникать какие-то проблемы, и если да, то какие? Вот с этим-то вопросом нам и предстоит разобраться.

Методика тестирования

Провести тесты с разными версиями стандарта PCIe несложно: практически все контроллеры позволяют использовать не только поддерживаемый ими, но и все более ранние. Вот с количеством линий - сложнее: нам хотелось непосредственно протестировать и варианты с одной-двумя линиями PCIe. Используемая нами обычно плата Asus H97-Pro Gamer на чипсете Intel H97 полного набора не поддерживает, но кроме «процессорного» слота х16 (который обычно и используется) на ней есть еще один, работающий в режимах PCIe 2.0 х2 или х4. Вот этой тройкой мы и воспользовались, добавив к ней еще и режим PCIe 2.0 «процессорного» слота, дабы оценить, есть ли разница. Все-таки в этом случае между процессором и SSD посторонних «посредников» нет, а вот при работе с «чипсетным» слотом - есть: собственно чипсет, фактически соединяющийся с процессором тем же PCIe 2.0 x4. Можно было добавить еще несколько режимов работы, но основную часть исследования мы все равно собирались провести на другой системе.

Дело в том, что мы решили воспользоваться случаем и заодно проверить одну «городскую легенду», а именно поверие о полезности использования топовых процессоров для тестирования накопителей. Вот и взяли восьмиядерный Core i7-5960X - родственника обычно применяемого в тестах Core i3-4170 (это Haswell и Haswell-E), но у которого ядер в четыре раза больше. Кроме того, обнаруженная в закромах плата Asus Sabertooth X99 нам сегодня полезна наличием слота PCIe x4, на деле способного работать как х1 или х2. В этой системе мы протестировали три варианта х4 (PCIe 1.0/2.0/3.0) от процессора и чипсетные PCIe 1.0 х1, PCIe 1.0 х2, PCIe 2.0 х1 и PCIe 2.0 х2 (во всех случаях чипсетные конфигурации отмечены на диаграммах значком (c) ). Есть ли смысл сейчас обращаться к первой версии PCIe, с учетом того, что вряд ли найдется хоть одна плата с поддержкой только этой версии стандарта, способная загрузиться с NVMe-устройства? С практической точки зрения - нет, а вот для проверки априори предполагаемого соотношения PCIe 1.1 х4 = PCIe 2.0 х2 и подобных оно нам пригодится. Если проверка покажет, что масштабируемость шины соответствует теории, значит, и неважно, что нам не удалось пока получить практически значимые способы подключения PCIe 3.0 x1/х2: первый будет идентичен как раз PCIe 1.1 х4 или PCIe 2.0 х2, а второй - PCIe 2.0 х4. А они у нас есть.

В плане ПО мы ограничились только Anvil’s Storage Utilities 1.1.0: разнообразные низкоуровневые характеристики накопителей она измеряет неплохо, а ничего другого нам и не нужно. Даже наоборот: любое влияние других компонентов системы является крайне нежелательным, так что низкоуровневая синтетика для наших целей безальтернативна.

В качестве «рабочего тела» мы использовали Patriot Hellfire емкостью 240 ГБ . Как было установлено при его тестировании, это не рекордсмен по производительности, но его скоростные характеристики вполне соответствуют результатам лучших SSD того же класса и той же емкости. Да и более медленные устройства на рынке уже есть, причем их будет становиться все больше. В принципе, можно будет повторить тесты и с чем-нибудь более быстрым, однако, как нам кажется, необходимости в этом нет - результаты предсказуемы. Но не станем забегать вперед, а посмотрим, что же у нас получилось.

Результаты тестов

Тестируя Hellfire, мы обратили внимание на то, что максимальную скорость на последовательных операциях из него можно «выжать» лишь многопоточной нагрузкой, так что это тоже надо принимать во внимание на будущее: теоретическая пропускная способность на то и теоретическая, что «реальные» данные, полученные в разных программах по разным сценариям, будут больше зависеть не от нее, а от этих самых программ и сценариев - в том случае, конечно, когда не помешают обстоятельства непреодолимой силы:) Как раз такие обстоятельства мы сейчас и наблюдаем: выше уже было сказано, что PCIe 1.x x1 - это ≈200 МБ/с, и именно это мы и видим. Две линии PCIe 1.x или одна PCIe 2.0 - вдвое быстрее, и именно это мы и видим. Четыре линии PCIe 1.x, две PCIe 2.0 или одна PCIe 3.0 - еще вдвое быстрее, что подтвердилось для первых двух вариантов, так что и третий вряд ли будет отличаться. То есть в принципе масштабируемость, как и предполагалось, идеальная: операции линейные, флэш с ними справляется хорошо, так что интерфейс имеет значение. Флэш перестает справляться хорошо на PCIe 2.0 x4 для записи (значит, подойдет и PCIe 3.0 x2). Чтение «может» больше, но последний шаг дает уже полутора-, а не двукратный (каким он потенциально должен быть) прирост. Также отметим, что заметной разницы между чипсетным и процессорным контроллером нет, да и между платформами тоже. Впрочем, LGA2011-3 немного впереди, но на самую малость.

Все ровно и красиво. Но шаблоны не рвет : максимум в этих тестах составляет лишь немногим больше 500 МБ/с, а это вполне по силам даже SATA600 или (в приложении к сегодняшнему тестированию) PCIe 1.0 х4 / PCIe 2.0 х2 / PCIe 3.0 х1 . Именно так: не стоит пугаться выпуску бюджетных контроллеров под PCIe х2 или наличию лишь такого количества линий (причем версии стандарта 2.0) в слотах М.2 на некоторых платах, когда больше-то и не нужно. Иногда и столько не нужно: максимальные результаты достигнуты при очереди в 16 команд, что для массового ПО не типично. Чаще встречается очередь с 1-4 командами, а для этого обойтись можно и одной линией самого первого PCIe и даже самым первым SATA. Впрочем, накладные расходы и прочее имеют место быть, так что быстрый интерфейс полезен. Однако излишне быстрый - разве что не вреден.

А еще в этом тесте по-разному ведут себя платформы, причем с единичной очередью команд - принципиально по-разному. «Беда» вовсе не в том, что много ядер - плохо. Они тут все равно не используются, разве что одно, и не настолько, чтоб вовсю развернулся буст-режим. Вот и имеем разницу где-то в 20% по частоте ядер и полтора раза по кэш-памяти - она в Haswell-E работает на более низкой частоте, а не синхронно с ядрами. В общем, топовая платформа может пригодиться разве что для вышибания максимума «йопсов» посредством максимально многопоточного режима с большой глубиной очереди команд. Жаль только, что с точки зрения практической работы это совсем уж сферическая синтетика в вакууме:)

На записи положение дел принципиально не изменилось - во всех смыслах. Но, что забавно, на обеих системах самым быстрым оказался режим PCIe 2.0 х4 в «процессорном» слоте. На обеих! И при многократных проверках/перепроверках. Тут уж поневоле задумаешься, нужны ли эти ваши новые стандарты или лучше вообще никуда не торопиться...

При работе с блоками разного размера теоретическая идиллия разбивается о то, что повышение скорости интерфейса все же имеет смысл. Результирующие цифры такие, что хватило бы пары линий PCIe 2.0, но реально в таком случае производительность ниже, чем у PCIe 3.0 х4, пусть и не в разы. И вообще тут бюджетная платформа топовую «забивает» в куда большей степени. А ведь как раз такого рода операции в основном в прикладном ПО и встречаются, т. е. эта диаграмма - наиболее приближенная к реальности. В итоге нет ничего удивительного, что никакого «вау-эффекта» толстые интерфейсы и модные протоколы не дают. Точнее, переходящему с механики - дадут, но ровно такой же, какой ему обеспечит любой твердотельный накопитель с любым интерфейсом.

Итого

Для облегчения восприятия картины по больнице в целом мы воспользовались выдаваемым программой баллом (суммарным - по чтению и записи), проведя его нормирование по «чипсетному» режиму PCIe 2.0 x4: на данный момент именно он является наиболее массово доступным, поскольку встречается даже на LGA1155 или платформах AMD без необходимости «обижать» видеокарту. Кроме того, он эквивалентен PCIe 3.0 x2, который готовятся освоить бюджетные контроллеры. Да и на новой платформе AMD АМ4, опять же, именно этот режим как раз можно получить без влияния на дискретную видеокарту.

Итак, что мы видим? Применение PCIe 3.0 x4 при наличии возможности является, безусловно, предпочтительным, но не необходимым: NVMe-накопителям среднего класса (в своем изначально топовом сегменте) он приносит буквально 10% дополнительной производительности. Да и то - за счет операций в общем-то не столь уж часто встречающихся на практике. Для чего же в данном случае реализован именно этот вариант? Во-первых, была такая возможность, а запас карман не тянет. Во-вторых, есть накопители и побыстрее, чем наш тестовый Patriot Hellfire. В-третьих, есть такие области деятельности, где «атипичные» для настольной системы нагрузки - как раз вполне типичные. Причем именно там наиболее критично быстродействие системы хранения данных или, по крайней мере, возможность сделать ее часть очень быстрой. Но к обычным персональным компьютерам это все не относится.

В них, как видим, и использование PCIe 2.0 x2 (или, соответственно, PCIe 3.0 х1) не приводит к драматическому снижению производительности - лишь на 15-20%. И это несмотря на то, что потенциальные возможности контроллера в этом случае мы ограничили в четыре раза! Для многих операций и такой пропускной способности достаточно. Вот одной линии PCIe 2.0 уже недостаточно, поэтому контроллерам имеет смысл поддерживать именно PCIe 3.0 - и в условиях жесткой нехватки линий в современной системе это будет работать неплохо. Кроме того, полезна ширина х4 - даже при отсутствии поддержки современных версий PCIe в системе она все равно позволит работать с нормальной скоростью (пусть и медленнее, чем могло бы потенциально), если найдется более-менее широкий слот.

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

Стандарт PCI Express является одной из основ современных компьютеров. Слоты PCI Express уже давно занимают прочное место на любой материнской плате декстопного компьютера, вытесняя другие стандарты, например, такие как PCI. Но даже стандарт PCI Express имеет свои разновидности и отличающийся друг от друга характер подключения. На новых материнских платах, начиная примерно с 2010 года, можно увидеть на одной материнской плате целую россыпь портов, обозначенных как PCIE или PCI-E , которые могут отличаться по количеству линий: одной x1 или нескольких x2, x4, x8, x12, x16 и x32.

Итак, давайте выясним почему такая путаница среди казалось бы простого периферийного порта PCI Express. И какое предназначение у каждого стандарта PCI Express x2, x4, x8, x12, x16 и x32?

Что такое шина PCI Express?

В далеких 2000-х, когда состоялся переход с устаревающего стандарта PCI (расш. - взаимосвязь периферийных компонентов) на PCI Express, у последнего было одно огромное преимущество: вместо последовательной шины, которой и была PCI, использовалась двухточечная шина доступа. Это означало, что каждый отдельный порт PCI и установленные в него карты, могли в полной мере использовать максимальную пропускную способность не мешая друг другу, как это происходило при подключении к PCI. В те времена количество периферийных устройств, вставляемых в карты расширения, было предостаточно. Сетевые карты, аудио карты, ТВ-тюнеры и так далее - все требовали достаточное количество ресурсов ПК. Но в отличие от стандарта PCI, использовавшего для передачи данных общую шину с подключением параллельно нескольких устройств, PCI Express, если рассматривать в общем, является пакетной сетью с топологией типа звезда.


PCI Express x16, PCI Express x1 и PCI на одной плате

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

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

Также и с выделенными полосами передачи данных для каждой карты расширения или встроенными компонентами материнской платы.

Влияние количества линий на пропускную способность

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

PCI-E прошел множество изменений со времени своего создания. В настоящее время новые материнские платы обычно используют уже 3 версию стандарта, причем более быстрая 4 версия становится все более распространенной, а версия 5 ожидается в 2019 году. Но разные версии используют одни и те же физические соединения, и эти соединения могут быть выполнены в четырех основных размерах: x1, x4, x8 и x16. (x32-порты существуют, но крайне редко встречаются на материнских платах обычных компьютерах).

Различные физические размеры портов PCI-Express позволяют четко разделить их по количеству одновременных соединений с материнской платой: чем больше порт физически, тем больше максимальных подключений он способен передать на карту или обратно. Эти соединения еще называют линиями . Одну линию можно представить как дорожку, состоящею из двух сигнальных пар: одна для отправки данных, а другая для приема.

Различные версии стандарта PCI-E позволяют использовать разные скорости на каждой полосе. Но, вообще говоря, чем больше полос находится на одном PCI-E-порту, тем быстрее данные могут перетекать между периферийной и остальной частью компьютера.

Возвращаясь к нашей метафоре: если речь идёт об одном продавце в магазине, то полоса x1 и будет этим единственным продавцом, обслуживающим одного клиента. У магазина с 4-мя кассирами - уже 4 линии х4 . И так далее можно расписать кассиров по количеству линий, умножая на 2.


Различные карты PCI Express

Типы устройств, использующих PCI Express x2, x4, x8, x12, x16 и x32

Для версии PCI Express 3.0 общая максимальная скорость передачи данных составляет 8 ГТ/с, В реальности же скорость для версии PCI-E 3 чуть меньше одного гигабайта в секунду на одну полосу.

Таким образом, устройство, использующее порт PCI-E x1, например, маломощная звуковая карта или Wi-Fi-антенна смогут передавать данные с максимальной скоростью в 1 Гбит/с.

Карта, которая физически подходит в более крупный слот - x4 или x8 , например, карта расширения USB 3.0, сможет передавать данные в четыре или восемь раз быстрее соответственно.

Скорость передачи портов PCI-E x16 теоретически ограничивается максимальной полосой пропуская в размере около 15 Гбит/с. Этого более чем достаточно в 2017 года для всех современных графических видеокарт, разработанных NVIDIA и AMD.


Большинство дискретных видеокарт используют слот PCI-E x16

Протокол PCI Express 4.0 позволяет использовать уже 16 ГТ/с, а PCI Express 5.0 будет задействовать 32 ГТ/с.

Но в настоящее время не существует компонентов, которые смогли бы использовать такое количество полос с максимальной пропускной способностью. Современные топовые графические карты обычно используют x16 стандарта PCI Express 3.0. Нет смысла использовать те же полосы и для сетевой карты, которая на порту x16 будет использовать только одну линию, так как порт Ethernet способен передавать данные только до одного гигабита в секунду (что, около одной восьмой пропускной способности одной PCI-E полосы - помните: восемь бит в одном байте).

На рынке можно найти твердотельные накопители PCI-E, которые поддерживают порт x4, но они, похоже, скоро будут вытеснены быстро развивающимся новым стандартом M.2. для твердотельных накопителей, которые также могут использовать шину PCI-E. Высококачественные сетевые карты и оборудование для энтузиастов, такие как RAID-контроллеры, используют сочетание форматов x4 и x8.

Размеры портов и линий PCI-E могут различаться

Это одна из наиболее запутанных задач по PCI-E: порт может быть выполнен размером в форм-факторе x16, но иметь недостаточное количество полос для пропуска данных, например, всего например x4. Это связано с тем, что даже если PCI-E может нести на себе неограниченное количество отдельных соединений, все же существует практический предел пропускной способности полосы пропускания чипсета. Более дешевые материнские платы с более бюджетными чипсетами могут иметь только один слот x8, даже если этот слот может физически разместить карту форм-фактора x16.

Кроме того, материнские платы, ориентированные на геймеров, включают до четырех полных слотов PCI-E с x16 и столько же линий для максимальной пропускной способности.

Очевидно, это может вызывать проблемы. Если материнская плата имеет два слота размером x16, но один из них имеет только полосы x4, то подключение новой графической карты снизит производительность первой аж на 75%. Это, конечно, только теоретический результат. Архитектура материнских плат такова, что Вы не увидите резкого снижения производительности.

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

Иногда производители даже помечают на текстолите материнской платы рядом со слотом количество линий

Нужно знать, что более короткая карта x1 или x4 может физически вписаться в более длинный слот x8 или x16. Конфигурация контактов электрических контактов делает это возможным. Естественно, если карта физически больше, чем слот, то вставить ее не получится.

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

PCI Express «родилась» 22 июля 2002 года. Ее создателем стала корпорация Intel, именно в этот день стала доступна её техническая документация. До этого момента, на этапе разработки «шина» имела обозначение 3GIO (third generation input-output). Два этих названия были брендированы PCI SIG (организацией, которая теперь продвигает этот стандарт).

PCIe — высокопроизводительное соединение «точка – точка», пришедшее на смену шине PCI (читается, как ПиСиАй). Физически отличается тем, что не использует общие выделенные линии для связи с процессором, а имеет свои собственные, для каждого подключенного устройства. Напряжение передачи сигнала составляет 0,8 вольт. Каждый канал – представляет собой два физических проводника (четыре контакта). При транслировании информации восемь бит кодируется десятью, что дает неплохую защиту от помех.

Роднит с предшественником ее общая программная модель. Для передачи данных, которая в данном случае осуществляется последовательно, применяется физический протокол с большой пропускной способностью. Используется для подключения высокопроизводительных периферийных устройств. За псевдошиной закрепилась роль локального канала обмена данными.

Отличия PCI Express от PCI

PCI – прежде всего шина, то есть общий канал, который делят все подключенные к нему устройства. А PCI Express – для каждого устройства имеет свои пути, которые оформлены физически. Преемственность цифровой структуры трансфера информации упрощает адаптацию существующих изделий, ранее выпускавшихся для работы со старой шиной. На производстве оказывается достаточным внести незначительные поправки в конструкцию и можно выпускать ту же разновидность, но с новым интерфейсом.

Принцип работы, совместимость

Являясь двусторонним, соединение передает данные последовательно в пакетном режиме. Пропускная способность зависит от исполнения в каждом конкретном случае. PCI Express бывают одна (1х), две и более линий транспорта (2Х, 4Х, 6х, 8х, 12х, 16х, 32х), что определяет длину слота на системной плате. Характерно, что аппаратура способна работать c любым из них, но приспособленные для серьезных скоростей карты расширения не могут физически поместиться в менее производительные разъемы, просто не совпадая в размере. Хотя наоборот, менее продуктивные платы расширения, имеющие короткие контактные группы — легко помещаются в большие и корректно работают.

В таблице мы привели сводную таблицу соотношения количества линий и пропускной способности :

Сейчас доступно несколько спецификаций шины:

  • PCI Express 1.0 и 1.1. Первые и наименее производительные решения, которые сейчас практически не используются. Сохраняются на старых платах, еще встречающихся в эксплуатации.
  • 2.0. Переработке и усовершенствованию подверглись все сколько-нибудь определяющие производительность качества, усовершенствованы логические протоколы, всесторонне оптимизировано управление связью, улучшено автоопределение подключаемых модулей.
  • Внешняя кабельная спецификация PCIe . Позволяет соединять оборудование кабелем длинной до 10 м.
  • 2.1. Промежуточный аналог 2.0 с некоторыми расширенными возможностями, предшествующими появлению 3.0.
  • 3.0. Скорость в 8 гигатранзакций в секунду (ГТ/с) стала доступной благодаря новой системе шифрования 128b/130b. Таким образом разница между pci 2.0 и 3.0 в шифровании и скорости передачи данных.
  • 4.0. Утвержден стандарт недавно — 5.10.2017. По сравнению с предыдущим — скорость удвоена. Возросли отдельные показатели, связанные с виртуализацией, оптимизирована передача пакетов данных.
  • 5.0. Ориентировочно, релиз запланирован зимой-весной 2019. Заявлена расширенная поддержка приложений, визуализирующих виртуальную реальность.

Существующие разъемы и виды портов

Портов подключения для интерфейса существуют множество. Рассмотрим некоторые, самые распространённые из них:

  • MiniPCI-E (M.2). Общая шина для некоторых наиболее распространённых компьютерных протоколов и устройств с интерфейсом x1 и х4 PCIe.
  • ExpressCard. Аналогичный разъем, но с выводом шины только для x1 PCIe.
  • AdvancedTCA, MicroTCA – порты для аппаратуры связи.
  • MobilePCIExpressModule (MXM) – разработка NVIDIA для соединения видеокарт.
  • StackPC – для создания суперкомпьютеров, позволяет масштабировать вычислительные устройства.

Как узнать версию PCI Express на материнской плате

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

Самая часто встречающаяся периферия для наиболее производительных слотов х16 – это видеокарты и ssd-диски. Не редки и контролеры типа дополнительных USB, SATA и подобных им скоростных портов или разнообразные адаптеры, такие как звуковые, музыкальные карты, Wi-Fi модули.

Видеокарта

Жесткий диск

Беспроводной адаптер

Распиновка PCI Express

Исчерпывающе показать расположение выходов линий связи проще на примере линий самого крупного и скоростного порта.

Устройство контактной группы слота PCI-Express 16x:

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

Появившись в 2002 году, эта разновидность транспорта данных до сих пор остается самой актуальной, распространенной, непрерывно развивающейся и по-прежнему перспективной.



 

Пожалуйста, поделитесь этим материалом в социальных сетях, если он оказался полезен!