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

Когда в начале 1990-x гг. она появилась, то по своим техническим характеристикам значительно превосходила все существовавшие до того момента шины, такие, как ISA, EISA, MCA и VL-bus. В то время шина PCI(Peripheral Component Interconnect - взаимодействие периферийных компонентов), работавшая на частоте 33 Мгц, хорошо подходила для большинства периферийных устройств. Но сегодня ситуация во многом изменилась. Прежде всего, значительно возросли тактовые частоты процессора и памяти. Например, тактовая частота процессоров увеличились с 33 МГц до нескольких ГГц, в то время как рабочая частота PCI увеличилась всего до 66 МГц. Появление таких технологий, как Gigabit Ethernet и IEEE 1394B грозило тем, что вся пропускная способность шины PCI может уйти на обслуживание одного-единственного устройства на основе данных технологий.

При этом архитектура PCI имеет ряд преимуществ по сравнению с предшественниками, поэтому полностью пересматривать было нерационально. Прежде всего, она не зависит от типа процессора, поддерживает буферную изоляцию, технологию bus mastering (захват шины) и технологию PnP в полном объеме. Буферная изоляция означает, что шина PCI действует независимо от внутренней шины процессора, что дает возможность шине процессора функционировать независимо от скорости и загруженности системной шины. Благодаря технологии захвата шины периферийные устройства получили возможность непосредственно управлять процессом передачи данных по шине, вместо того, чтобы ожидать помощи от центрального процессора, что отразилось бы на производительности системы. Наконец, поддержка Plug and Play позволяет осуществлять автоматическую настройку и конфигурирование пользующихся ею устройств и избежать возни с джамперами и переключателями, которая изрядно портила жизнь владельцам ISA-устройств.

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

Сравнительные характеристики различных стандартов PCI

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

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

Новое поколение шины - PCI Express (или сокращенно PCI-E), было впервые представлено в 2004 году и было призвано решить все те проблемы, с которыми столкнулась её предшественница. Сегодня большая часть новых компьютеров снабжается шиной PCI Express. Хотя стандартные слоты PCI в них тоже присутствуют, однако не за горами то время, когда шина станет достоянием истории.

Архитектура PCI Express

Архитектура шины имеет многоуровневую структуру, как показано на рисунке.

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

Рассмотрим предназначение различных уровней организации PCI-E. На программном уровне шины формируются запросы чтения/записи, которые передаются на транспортном уровне при помощи специального пакетного протокола. Уровень данных отвечает за помехоустойчивое кодирование и обеспечивает целостность данных. Базовый аппаратный уровень состоит из двойного симплексного канала, состоящего из передающей и принимающей пары, которые вместе называются линией. Общая скорость шины в 2,5 Гб/с означает, что пропускная способность для каждой линии PCI Express составляет 250 Мб/c в каждую сторону. Если принять во внимание потери на накладные расходы протокола, то для каждого устройства доступно около 200 Мб/c. Эта пропускная способность в 2-4 раза выше, чем та, которая была доступна для устройств PCI. И, в отличие от PCI, в том случае, если пропускная способность распределяется между всеми устройствами, то она в полном объеме достается каждому устройству.

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

Пропускная способность шины PCI Express x16 для разных версий PCI-E, Гб/c:

  • 32/64
  • 64/128
  • 128/256

Форматы шины PCI-E

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

Видеокарта с интерфейсом PCI Express x16.

Платы расширения PCI Express очень похожи на платы PCI, однако разъемы PCI-E отличаются повышенным сцеплением, что позволяет быть уверенным в том, что плата не выскользнет из слота из-за вибрации или при транспортировке. Существует несколько форм-факторов слотов PCI Express, размер которых зависит от количества используемых линий. Например, шина, имеющая 16 линий, обозначается как PCI Express x16. Хотя общее количество линий может достигать 32, на практике большинство материнских плат в настоящее время оснащены шиной PCI Express x16.

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

Внешний вид разъемов различных типов на материнской плате. Сверху вниз: слот PCI-X, слот PCI Express х8, слот PCI, слот PCI Express х16.

Express Card

Стандарт Express Card предлагает очень простой способ добавления оборудования в систему. Целевым рынком для модулей Express Card являются ноутбуки и небольшие ПК. В отличие от традиционных плат расширения настольных компьютеров, карта Express может подключаться к системе в любой момент во время работы компьютера.

Одной из популярных разновидностей Express Card является карта PCI Express Mini Card, разработанная в качестве замены карт форм-фактора Mini PCI. Карта, созданная в этом формате, поддерживает как PCI Express, так и USB 2.0. Размеры PCI Express Mini Card составляют 30×56 мм. Карта PCI Express Mini Card может подключаться к PCI Express х1.

Преимущества PCI-E

Технология PCI Express позволила получить преимущество по сравнению с PCI в следующих пяти областях:

  1. Более высокая производительность. При наличии всего одной линии пропускная способность PCI Express в два раза выше, чем у PCI. При этом пропускная способность увеличивается пропорционально количеству линий в шине, максимальное количество которых может достигать 32. Дополнительным преимуществом является то, что информация по шине может передаваться одновременно в обоих направлениях.
  2. Упрощение ввода-вывода. PCI Express использует преимущества таких шин, как AGP и PCI-X и обладает при этом менее сложной архитектурой, а также сравнительной простотой реализации.
  3. Многоуровневая архитектура. PCI Express предлагает архитектуру, которая может подстраиваться к новым технологиям и не требует значительного обновления ПО.
  4. Технологии ввода/вывода нового поколения. PCI Express дает новые возможности получения данных при помощи технологии одновременных передач данных, обеспечивающей своевременное получение информации.
  5. Простота использования. PCI-E значительно упрощает обновление и расширение системы пользователем. Дополнительные форматы плат Express, такие, как ExpressCard, значительно увеличивают возможности добавления высокоскоростных периферийных устройств в серверы и ноутбуки.

Заключение

PCI Express – это технология шины для подключения периферийных устройств, пришедшая на смену таким технологиям как ISA, AGP и PCI. Её применение значительно увеличивает производительность компьютера, а также возможности пользователя по расширению и обновлению системы.

Если спросить, какой интерфейс следует использовать для твердотельного накопителя с поддержкой протокола 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 раз. Из чего, разумеется, не следует, что нужно спешно бежать осваивать совсем медленные интерфейсы - их время ушло безвозвратно. Просто многие возможности быстрых интерфейсов могут быть реализованы лишь в будущем. Или в условиях, с которыми обычный пользователь обычного компьютера никогда в жизни непосредственно не столкнется (за исключением любителей меряться известно чем). Собственно, и всё.

WiFi модули и другие подобные устройства. Разработку данной шины начала компания Intel в 2002 году. Сейчас разработку новых версий данной шины занимается некоммерческая организация PCI Special Interest Group.

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

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

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

Слоты PCI Express и PCI на материнской плате

Кроме этого, шина PCI Express поддерживает такие новые возможности как:

  • Горячее подключение устройств;
  • Гарантированная скорость обмена данными;
  • Управление потреблением энергии;
  • Контроль целостности передаваемой информации;

Как работает шина PCI Express

Для подключения устройств шина PCI Express использует двунаправленное последовательное соединение. При этом такое соединение может иметь одну (x1) или несколько (x2, x4, x8, x12, x16 и x32) отдельных линий. Чем больше таких линий используется, тем большую скорость передачи данных может обеспечить шина PCI Express. В зависимости от количества поддерживаемых линий размер сорта на материнской плате будет отличаться. Существуют слоты с одной (x1), четырьмя (x4) и шестнадцатью (x16) линиями.

Наглядная демонстрация размеров слота PCI Express

При этом любое PCI Express устройство может работать в любом слоте, если слот имеет такое же или большее количество линий. Это позволяет установить PCI Express карту с разъемом x1 в слот x16 на материнской плате.

Пропускная способность PCI Express зависит от количества линий и версии шины.

В одну/обе стороны в Гбит/с

Количество линий

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 16/32 32/64 64/128 128/256 192/384 256/512 512/1024

Примеры PCI Express устройств

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

Видеокарта GIGABYTE GeForce GTX 770

Однако это далеко не все что умеет шина PCI Express. Ее используют производители других комплектующих.

Звуковая карта SUS Xonar DX

SSD накопитель OCZ Z-Drive R4 Enterprise

В нем применено две новых частоты работы: 100 МГц и 133 МГц. Кроме того, в данной шине реализован механизм раздельных транзакций в целях улучшения производительности при единовременном подключении нескольких устройств.

По сути, PCI-X, который можно расшифровать как PCI-eXtended , является укороченной версией PCI-E. Впоследствии расширение было вытеснено своим более компактным аналогом, поскольку пространство на материнской плате стало все более острым вопросом, "материнки" становились все меньше, что требовало того же от слотов. Так PCI-E практически полностью вытеснил PCI-X.

Для шины PCI-X существуют ограничения по числу подключаемых к ней устройств: 66 МГц - 4, 100 МГц - 2, 133 МГц - 1, 2, 266 и 533 МГц - только 1.

Данная шина совместима со всеми 3.3 В и универсальными картами расширения PCI. Как правило, PCI-X не широко используется на современных материнских платах. В проф-сегменте используется для RAID -контроллеров, в SSD, под PCI-E .

PCI-X была разработана в сотрудничестве компаниий IBM, HP и Compaq. Шина появилась на рынке в 1998 году. Основной целью создания новой шины являлась попытка внедрить на рынок кодифицированную различными расширениями на платформе локальной PCI новую шину, которая бы исключила недостатки PCI, была бы быстрее и производительнее, и при этом увеличила бы популярность таких устройств, как: Gigabit Ethernet , Fibre Channel и карт Ultra3 SCSI . PCI-X отключается от других PCI шин и позволяет различным агентам использовать ее. Сплит-ответы увеличивают эффективность шины за счет устранения повторных циклов, в течение которых данные не могут быть переданы по шине. Кроме того, в PCI-X добавились устройства MSI, прерывание системы с помощью записи в хост-памяти.

Теоретически, максимальный объем данных, передаваемых между процессором и периферийными устройствами посредством PCI-X, составляет 1,06 Гб/с, по сравнению с 133 Мб/с у стандартного PCI. PCI-X также обладает улучшенным уровнем отказоустойчивости, позволяя пользователю, например, провести повторную инициализацию неисправной карты или перевести ее в автономный режим.

PCI-X не совместим со старыми 5-Вольтовыми I/O, которые так широко применялись в стандартной версии PCI.

В чем отличие PCI-X от PCI 64?

64-битный PCI слот отличим от 32-битного по длине, в первую очередь, а от PCI-X он отличается наличием трех сегментов, с одним посередине, который намного короче остальных. PCI-X слоты можно отличить от PCI 64 по маленькому сегменту а начале, такой же маленький в PCI 64 находится посередине слота. Это что касается визуальных отличий.

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


Версии:

Карты

  • 66 MHz
  • 100 MHz
  • 133 MHz
  • 266 MHz
  • 533 MHz

Слоты

  • 66 MHz
  • 133 MHz
  • 266 MHz
  • 533 MHz

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

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

К счастью, за прошедшее время успели кануть в лету не только слоты расширения ISA и VESA Local Bus (которые интересны лишь будущим археологам) и соответствующие им видеокарты, но практически исчезли и видеокарты для слотов PCI, а все AGP-модели безнадежно устарели. И все современные графические процессоры используют только один тип интерфейса — PCI Express. Ранее был широко распространён стандарт AGP, эти интерфейсы значительно отличаются друг от друга, в том числе пропускной способностью, предоставляемыми возможностями для питания видеокарты, а также другими менее важными характеристиками.

Лишь очень малая часть современных системных плат не имеет слотов PCI Express, и если ваша система настолько древняя, что использует AGP видеокарту, то заняться её апгрейдом не получится — нужно менять всю систему. Рассмотрим эти интерфейсы подробнее, именно эти слоты вам нужно искать на своих системных платах. Смотрите фотографии и сравнивайте.

AGP (Accelerated Graphics Port или Advanced Graphics Port) — это высокоскоростной интерфейс, основанный на спецификации PCI, но созданный специально для соединения видеокарт и системных плат. Шина AGP хотя и лучше подходит для видеоадаптеров по сравнению с PCI (не Express!), предоставляет прямую связь между центральным процессором и видеочипом, а также некоторые другие возможности, увеличивающие производительность в некоторых случаях, например, GART — возможность чтения текстур напрямую из оперативной памяти, без их копирования в видеопамять; более высокую тактовую частоту, упрощенные протоколы передачи данных и др., но этот тип слотов безнадёжно устарел и новых изделий с ним давно не выпускают.

Но всё же, для порядка упомянем и об этом типе. Спецификации AGP появились в 1997 году, тогда Intel выпустил первую версию описания, включающую две скорости: 1x и 2x. Во второй версии (2.0) появился AGP 4x, а в 3.0 — 8x. Рассмотрим все варианты подробнее:
AGP 1x — это 32-битный канал, работающий на частоте 66 МГц, с пропускной способностью 266 Мбайт/с, что в два раза выше полосы PCI (133 Мбайт/с, 33 МГц и 32 бит).
AGP 2x — 32-битный канал, работающий с удвоенной пропускной способностью 533 Мбайт/с на той же частоте 66 МГц за счет передачи данных по двум фронтам, аналогично DDR памяти (только для направления «к видеокарте»).
AGP 4x — такой же 32-битный канал, работающий на 66 МГц, но в результате дальнейших ухищрений была достигнута учетверенная «эффективная» частота 266 МГц, с максимальной пропускной способностью более 1 ГБ/с.
AGP 8x — дополнительные изменения в этой модификации позволили получить пропускную способность уже до 2,1 ГБ/с.

Видеокарты с интерфейсом AGP и соответствующие слоты на системных платах совместимы в определенных пределах. Видеокарты, рассчитанные на 1,5 В, не работают в слотах 3,3 В, и наоборот. Впрочем, существуют и универсальные разъемы, которые поддерживают оба типа плат. Видеокарты, рассчитанные на морально и физически устаревший слот AGP, давно не рассматриваются, поэтому чтобы узнать о старых AGP-системах, лучше будет ознакомиться со статьей:

PCI Express (PCIe или PCI-E, не путать с PCI-X), ранее известная как Arapahoe или 3GIO, отличается от PCI и AGP тем, что это последовательный, а не параллельный интерфейс, что позволило уменьшить число контактов и увеличить пропускную способность. PCIe — это лишь один из примеров перехода от параллельных шин к последовательным, вот другие примеры этого движения: HyperTransport, Serial ATA, USB и FireWire. Важное преимущество PCI Express в том, что он позволяет складывать несколько одиночных линий в один канал для увеличения пропускной способности. Многоканальность последовательного дизайна увеличивает гибкость, медленным устройствам можно выделять меньшее количество линий с малым числом контактов, а быстрым — большее.

Интерфейс PCIe 1.0 пропускает данные на скорости 250 Мбайт/с на одну линию, что почти вдвое превышает возможности обычных слотов PCI. Максимально поддерживаемое слотами PCI Express 1.0 количество линий — 32, что дает пропускную способность до 8 ГБ/с. А слот PCIe с восемью рабочими линиями примерно сопоставим по этому параметру с быстрейшей из версий AGP — 8x. Что еще больше впечатляет при учете возможности одновременной передачи в обоих направлениях на высокой скорости. Наиболее распространенные слоты PCI Express x1 дают пропускную способность одной линии (250 Мбайт/с) в каждом направлении, а PCI Express x16, который применяется для видеокарт и в котором сочетается 16 линий, обеспечивает пропускную способность до 4 ГБ/с в каждом направлении.

Несмотря на то, что соединение между двумя PCIe-устройствами иногда собирается из нескольких линий, все устройства поддерживают одиночную линию, как минимум, но опционально могут работать с большим их количеством. Физически, карты расширения PCIe входят и работают нормально в любых слотах с равным или большим количеством линий, так, карта PCI Express x1 будет спокойно работать в разъемах x4 и x16. Также, слот физически большего размера может работать с логически меньшим количеством линий (например, на вид обычный разъем x16, но разведены лишь 8 линий). В любом из приведенных вариантов PCIe сам выберет максимально возможный режим, и будет нормально работать.

Чаще всего для видеоадаптеров используются разъемы x16, но есть платы и с разъемами x1. А большая часть системных плат с двумя слотами PCI Express x16 работает в режиме x8 для создания SLI- и CrossFire-систем. Физически другие варианты слотов, такие как x4, для видеокарт не используются. Напоминаю, что всё это относится только к физическому уровню, попадаются и системные платы с физическими разъемами PCI-E x16, но в реальности с разведенными 8, 4 или даже 1 каналами. И любые видеокарты, рассчитанные на 16 каналов, работать в таких слотах будут, но с меньшей производительностью. Кстати, на фотографии выше показаны слоты x16, x4 и x1, а для сравнения оставлен и PCI (снизу).

Хотя разница в играх получается не такой уж и большой. Вот, например, обзор двух системных плат на нашем сайте, в котором исследуется разница в скорости трехмерных игр на двух системных платах, пара тестовых видеокарт в которых работает в режимах 8 каналов и 1 канала соответственно:

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

PCI Express отличается не только пропускной способностью, но и новыми возможностями по энергопотреблению. Эта необходимость возникла потому, что по слоту AGP 8x (версия 3.0) можно передать лишь не более 40 с небольшим ватт суммарно, чего уже не хватало видеокартам тогдашних поколений, рассчитанных для AGP, на которых устанавливали по одному или двум стандартным четырехконтактным разъемам питания. По разъему PCI Express можно передавать до 75 Вт, а дополнительные 75 Вт получают по стандартному шестиконтактному разъему питания (см. последний раздел этой части). В последнее время появились видеокарты с двумя такими разъемами, что в сумме даёт до 225 Вт.

В дальнейшем группа PCI-SIG, которая занимается разработкой соответствующих стандартов, представила основные спецификации PCI Express 2.0. Вторая версия PCIe вдвое увеличила стандартную пропускную способность, с 2,5 Гбит/с до 5 Гбит/с, так что разъем x16 позволяет передавать данные на скорости до 8 ГБ/с в каждом направлении. При этом PCIe 2.0 совместим с PCIe 1.1, старые карты расширения обычно нормально работают в новых системных платах.

Спецификация PCIe 2.0 поддерживает скорости передачи как 2,5 Гбит/с, так и 5 Гбит/с, это сделано для обеспечения обратной совместимости с существующими решениями PCIe 1.0 и 1.1. Обратная совместимость PCI Express 2.0 позволяет использовать устаревшие решения с 2,5 Гбит/с в слотах 5,0 Гбит/с, которые просто будут в таком случае работать на меньшей скорости. А устройства, разработанные по спецификациям версии 2.0, могут поддерживать скорости 2,5 Гбит/с и/или 5 Гбит/с.

Хотя основное нововведение в PCI Express 2.0 — это удвоенная до 5 Гбит/с скорость, но это не единственное изменение, есть и другие модификации для увеличения гибкости, новые механизмы для программного управления скоростью соединений и т. п. Нас больше всего интересуют изменения, связанные с электропитанием устройств, так как требования видеокарт к питанию неуклонно растут. В PCI-SIG разработали новую спецификацию для обеспечения увеличивающегося энергопотребления графических карт, она расширяет текущие возможности энергоснабжения до 225/300 Вт на видеокарту. Для поддержки этой спецификации используется новый 2×4-штырьковый разъем питания, предназначенный для обеспечения питанием топовых моделей видеокарт.

Видеокарты и системные платы с поддержкой PCI Express 2.0 появились в широкой продаже уже в 2007 году, а теперь на рынке других и не встретить. Оба основных производителя видеочипов, AMD и NVIDIA, выпустили новые линейки GPU и видеокарт на их основе, поддерживающие увеличенную пропускную способность второй версии PCI Express и пользующиеся новыми возможностями по электрическому питанию для карт расширения. Все они обратно совместимы с системными платами, имеющими на борту слоты PCI Express 1.x, хотя в некоторых редких случаях наблюдается несовместимость, так что нужно быть осторожным.

Собственно, появление третьей версии PCIe было очевидным событием. В ноябре 2010 года спецификации третьей версии PCI Express окончательно утвердили. Хотя этот интерфейс обладает скоростью передачи 8 гигатранзакций/с вместо 5 Гт/с у версии 2.0, его пропускная способность снова возросла ровно вдвое по сравнению со стандартом PCI Express 2.0. Для этого применили иную схему кодирования пересылаемых по шине данных, но совместимость с предыдущими версиями PCI Express при этом сохранилась. Первые продукты версии PCI Express 3.0 были представлены летом 2011-го, а реальные устройства только-только начали появляться на рынке.

Среди производителей системных плат разгорелась целая война за право первым представить продукт с поддержкой PCI Express 3.0 (в основном, на базе чипсета Intel Z68), и соответствующие пресс-релизы представили сразу несколько компаний. Хотя на момент обновления путеводителя видеокарт с такой поддержкой просто нет, так что это просто неинтересно. К тому времени, когда поддержка PCIe 3.0 будет нужна, появятся совершенно иные платы. Скорее всего, это произойдёт не ранее 2012 года.

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

External PCI Express

В 2007 году группа PCI-SIG, занимающаяся официальной стандартизацией решений PCI Express, объявила о принятии спецификации PCI Express External Cabling 1.0, описывающей стандарт передачи данных по внешнему интерфейсу PCI Express 1.1. Эта версия позволяет передавать данные со скоростью 2,5 Гбит/с, а следующая должна увеличить пропускную способность до 5 Гбит/с. В рамках стандарта представлены четыре внешних разъема: PCI Express x1, x4, x8 и x16. Старшие разъемы оснащены специальным язычком, облегчающим подключение.

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

Теоретически, это могло облегчить жизнь любителей ноутбуков, когда при работе от батарей используется маломощное встроенное видеоядро, а при подключении к настольному монитору — мощная внешняя видеокарта. Значительно облегчается апгрейд подобных видеокарт, не нужно вскрывать корпус ПК. Производители могут делать совершенно новые системы охлаждения, не ограниченные особенностями карт расширения, да и с питанием должно быть меньше проблем — скорее всего, будут использоваться внешние блоки питания, рассчитанные специально на определенную видеокарту, их можно встроить в один внешний корпус с видеокартой, используя одну систему охлаждения. Может облегчиться сборка систем на нескольких видеокартах (SLI/CrossFire), да и с учётом постоянного роста популярности мобильных решений такие внешние PCI Express должны были завоевать определенную популярность.

Должны были, но не завоевали. По состоянию на осень 2011 года внешних вариантов видеокарт на рынке практически нет. Их круг ограничен устаревшими моделями видеочипов и узким выбором совместимых ноутбуков. К сожалению, дело внешних видеокарт дальше не пошло, и потихоньку заглохло. Не слышно уже даже победных рекламных заявлений от производителей ноутбуков… Возможно, мощностей современных мобильных видеокарт просто стало хватать даже для требовательных 3D-приложений, в т. ч. и многих игр.

Остаётся надежда на развитие внешних решений в перспективном интерфейсе для подключения периферийных устройств Thunderbolt, ранее известном как Light Peak. Его разработала корпорация Intel на базе технологии DisplayPort, и первые решения уже выпущены компанией Apple. Thunderbolt объединяет возможности DisplayPort и PCI Express и позволяет подключать внешние устройства. Впрочем, пока таковых просто не существует, хотя кабели уже есть:

В статье мы не трогаем устаревшие интерфейсы, абсолютное большинство современных видеоплат рассчитано на интерфейс PCI Express 2.0, поэтому при выборе видеокарты мы предлагаем рассматривать только его, все данные о AGP приведены лишь для справки. Новые платы используют интерфейс PCI Express 2.0, объединяющий скорость 16 линий PCI Express, что дает пропускную способность до 8 ГБ/с в каждом направлении, это в несколько раз больше по сравнению с той же характеристикой лучшего из AGP. Кроме того, PCI Express работает с такой скоростью в каждом из направлений, в отличие от AGP.

С другой стороны, продукты с поддержкой PCI-E 3.0 ещё толком не вышли, поэтому рассматривать их тоже не имеет особого смысла. Если речь идёт об апгрейде старой или покупке новой платы или одновременной смене системной и видеоплаты, то просто нужно приобретать платы с интерфейсом PCI Express 2.0, который будет вполне достаточен и наиболее распространен еще несколько лет, тем более что продукты разных версий PCI Express совместимы между собой.



Эта статья также доступна на следующих языках: Тайский

  • Next

    Огромное Вам СПАСИБО за очень полезную информацию в статье. Очень понятно все изложено. Чувствуется, что проделана большая работа по анализу работы магазина eBay

    • Спасибо вам и другим постоянным читателям моего блога. Без вас у меня не было бы достаточной мотивации, чтобы посвящать много времени ведению этого сайта. У меня мозги так устроены: люблю копнуть вглубь, систематизировать разрозненные данные, пробовать то, что раньше до меня никто не делал, либо не смотрел под таким углом зрения. Жаль, что только нашим соотечественникам из-за кризиса в России отнюдь не до шоппинга на eBay. Покупают на Алиэкспрессе из Китая, так как там в разы дешевле товары (часто в ущерб качеству). Но онлайн-аукционы eBay, Amazon, ETSY легко дадут китайцам фору по ассортименту брендовых вещей, винтажных вещей, ручной работы и разных этнических товаров.

      • Next

        В ваших статьях ценно именно ваше личное отношение и анализ темы. Вы этот блог не бросайте, я сюда часто заглядываю. Нас таких много должно быть. Мне на эл. почту пришло недавно предложение о том, что научат торговать на Амазоне и eBay. И я вспомнила про ваши подробные статьи об этих торг. площ. Перечитала все заново и сделала вывод, что курсы- это лохотрон. Сама на eBay еще ничего не покупала. Я не из России , а из Казахстана (г. Алматы). Но нам тоже лишних трат пока не надо. Желаю вам удачи и берегите себя в азиатских краях.

  • Еще приятно, что попытки eBay по руссификации интерфейса для пользователей из России и стран СНГ, начали приносить плоды. Ведь подавляющая часть граждан стран бывшего СССР не сильна познаниями иностранных языков. Английский язык знают не более 5% населения. Среди молодежи — побольше. Поэтому хотя бы интерфейс на русском языке — это большая помощь для онлайн-шоппинга на этой торговой площадке. Ебей не пошел по пути китайского собрата Алиэкспресс, где совершается машинный (очень корявый и непонятный, местами вызывающий смех) перевод описания товаров. Надеюсь, что на более продвинутом этапе развития искусственного интеллекта станет реальностью качественный машинный перевод с любого языка на любой за считанные доли секунды. Пока имеем вот что (профиль одного из продавцов на ебей с русским интерфейсом, но англоязычным описанием):
    https://uploads.disquscdn.com/images/7a52c9a89108b922159a4fad35de0ab0bee0c8804b9731f56d8a1dc659655d60.png