Пропускная способность pci express x16. Когда нам ждать звуковых карт на PCIe? Переход на карты PCI Express

31.05.2019

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

Алексей Борзенко ,
к.т.н., доцент РРТА

Интерфейс PCI Express (известный прежде под названием 3GIO) основан на открытых стандартах и выступает как наследник PCI и его вариантов для систем ввода-вывода серверов и клиентских устройств. В отличие от PCI и PCI-X, основанных на 32- и 64-разрядной параллельной шине, PCI Express использует высокоскоростную технологию последовательного соединения, похожую на ту, что используется в Gigabit Ethernet, Serial ATA (SATA) и Serial Attached SCSI (SAS). PCI Express отражает общую для компьютерной индустрии тенденцию замены устаревших параллельных общих шин на высокоскоростные последовательные соединения типа "точка-точка" (point-to-point).

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

По сравнению с PCI технология PCI Express имеет следующие преимущества:

  • высокая пропускная способность - в первой версии теоретическая пиковая пропускная способность составит 5-80 Гбит/с, в зависимости от реализации;
  • последовательное соединение, обеспечивающее масштабирование производительности;
  • отдельное соединение "точка-точка" для каждого устройства вместо общей шины PCI;
  • малые задержки для серверной архитектуры;
  • меньший размер разъемов и упрощенное проектирование систем;
  • расширенные функции.

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

Шина PCI

Шина PCI, появившаяся в 1992 г., стала основой системы ввода-вывода практически для всех компьютерных платформ. Первоначальная 33-МГц, 32-разрядная реализация обеспечивала теоретически возможную пиковую производительность 133 Мбайт/с. В последующие годы архитектура платформы развивалась, различные функции перекладывались на варианты PCI с более высокой пропускной способностью (табл. 1), включая AGP и PCI-X.

Таблица 1. Пропускная способность шин PCI, PCI-X и AGP

Шина и частота Пиковая пропускная способность, Мбайт/с
в 32-разрядном режиме в 64-разрядном режиме
PCI 33 МГц 133 266
PCI 66 МГц 266 532
PCI-X 100 МГц Не поддерживает 800
PCI-X 133 МГц Не поддерживает 1 Гбайт/с
AGP 8X 2,1 Гбайт/с Не поддерживает

Если внимательно изучить применяемую в PCI технологию передачи сигналов, станет ясно, что увеличить производительность этой многоточечной параллельной шины уже невозможно. Дело в том, что для шины PCI трудно реализовать наращивание частоты или уменьшение напряжения. Кроме того, она не поддерживает такие функции, как расширенное управление энергопотреблением, замена и подключение в горячем режиме периферийных устройств и функции качества сервиса - QoS (а проще говоря, доступности) для гарантированной полосы пропускания операций в реальном времени. Наконец, вся имеющаяся полоса пропускания шины PCI не поддерживает одновременную передачу данных в обоих направлениях. Многие сети передачи данных обеспечивают параллельный трафик, благодаря чему задержка при передаче сообщений сводится к минимуму.

Клиентские системы

Первый вариант шины PCI был разработан для поддержки 2D-графики, высокопроизводительных жестких дисков и локальных сетей. Вскоре после появления PCI выросшие требования к пропускной способности графической подсистемы 3D превысили возможности 32-разрядной шины PCI с частотой 33 МГц. Чтобы решить эту проблему, корпорация Intel (http://www.intel.com) вместе с несколькими производителями графических плат разработали спецификацию AGP, описывающую выделенную высокоскоростную шину для работы с графикой. Шина AGP освободила систему PCI от передачи графики, что позволило задействовать ее пропускную способность для других операций передачи данных и ввода-вывода. Кроме того, впоследствии Intel добавила выделенные каналы USB 2.0 и Serial ATA к южному мосту своих наборов микросхем (НМС), что дополнительно уменьшило нагрузку ввода-вывода на шину PCI. На рис. 1 показана внутренняя архитектура типичной клиентской системы ПК и пропускная способность шины ввода-вывода и графики.

Узкие места клиентских систем

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

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

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

Например, для Gigabit Ethernet нужна полоса пропускания 125 Мбайт/с, иными словами, этот сетевой протокол фактически полностью загружает шину PCI 133 Мбайт/с. У IEEE 1394b максимальная полоса пропускания составляет 100 Мбайт/с, и он также полностью загружает стандартную PCI-шину.

AGP. В последнее десятилетие требования к производительности видео удваивались каждые два года. За этот период шина передачи графики перешла от PCI к AGP, затем от AGP к AGP 2X, AGP 4X и, наконец, к сегодняшней AGP 8X.

AGP 8X работает на скорости 2,134 Гбайт/с. Несмотря на такую полосу пропускания, постепенный рост требований к производительности шины AGP создает значительные проблемы при проектировании плат и повышает стоимость соединений. Как и в случае шины PCI, расширение возможностей шины AGP становится все сложнее и дороже по мере роста частот.

Канал между северным и южным мостами. Нагрузка на шину PCI влияет и на связь между северным и южным мостами, особенно при использовании дисков SATA и устройств USB. В будущем здесь потребуется канал с большей полосой пропускания.

Серверные системы

В серверах первоначальная 32-разрядная, 33-МГц шина PCI была расширена до 64-разрядной 66-МГц с пропускной способностью 532 Мбайт/с. Частота 64-разрядной шины была увеличена до 100 и до 133 МГц - этот вариант называется PCI-X. Такая шина соединяет НМС серверной системы (или двухпроцессорной рабочей станции класса high-end) со слотами расширения, контроллерами Gigabit Ethernet и Ultra320 SCSI, интегрированными на системной плате. 64-разрядная шина PCI-X с частотой 133 МГц обеспечивает пиковую полосу пропускания 1 Гбайт/с между НМС системы и устройством ввода-вывода. Сейчас этого достаточно для большинства операций ввода-вывода, включая протоколы Gigabit Ethernet, Ultra320 SCSI и Fibre Channel 2 Гбит/с. Однако PCI-X, как и PCI, - это общая шина с присущими ей недостатками.

Группа PCI Special Interest Group (PCI SIG, http://www.psisig.com) разработала спецификацию PCI-X 2.0, описывающую 64-разрядную, 266-МГц шину PCI-X, у которой скорость передачи вдвое больше, чем у 133-МГц PCI-X. Тем не менее при использовании расширенного варианта параллельной шины PCI-X возникают серьезные проблемы с проектированием. Разъемы для нее громоздкие и дорогие, а строгие требования к проектированию значительно повышают стоимость системных плат по мере роста частот. Кроме того, на высоких частотах допускается подключение к шине PCI-X 2.0 только одного устройства ввода-вывода в конфигурации "точка-точка".

Узкие места серверных систем

На рис. 3 показаны внутренние системные межсоединения в типичной двухпроцессорной серверной системе. В этой архитектуре расширение полосы пропускания обеспечивается с помощью фирменного интерфейса между микросхемами северного моста и моста PCI-X. Несколько шин PCI-X подключаются к высокоскоростным слотам расширения, 10-Гбит Ethernet и дискам SAS/SATA. Но эта архитектура имеет несколько недостатков. Специальные кристаллы мостов PCI-X соединяют несколько параллельных шин PCI-X со специальным последовательным межсоединением НМС. Такой подход связан с высокими затратами, неэффективен и приводит к задержке передачи между устройствами ввода-вывода и северным мостом. Например, этот подход предусматривает соединение последовательной фабрики 10 Гбит/с с 64-разрядной параллельной шиной, которая, в свою очередь, подключается через фирменный кристалл моста PCI-X к последовательному межсоединению в северном мосте.

Рис. 3. Современная двухпроцессорная архитектура процессора.

Кроме того, технология внешнего ввода-вывода в серверах нового поколения требует намного более широкой полосы пропускания, чем способна обеспечить 133-МГц шина PCI-X. Эти технологии включают такие фабрики, как 10-Гбит Ethernet, Fibre Channel 10 Гбит/с и 4x Infiniband, а также будущие высокоскоростные интерфейсы жестких дисков - SATA и SAS 3 Гбит/с. В случае фабрики 10 Гбит/с каждый порт с пропускной способностью 10 Гбит/с может передавать данные в обоих направлениях с пиковой скоростью 2 Гбайт/с, а 133-МГц шина PCI-X обеспечивает максимальную скорость 1 Гбайт/с в одном направлении в один момент времени. Это означает, что 133-МГц шина PCI-X способна обработать пиковую пропускную способность таких фабрик не более чем на 50%.

Хотя PCI-X 2.0 с частотой 266 МГц удвоит ширину пиковой полосы пропускания PCI-X - до 2 Гбайт/с, ее все же будет недостаточно для суммарных 4 Гбайт/с, которые нужны двухпортовому контроллеру фабрики 10 Гбит/с. Ясно, что клиентским системам и серверам требуется замена параллельной шины PCI и ее вариантов.

PCI Express

PCI Express предоставляет масштабируемую высокоскоростную последовательную шину ввода-вывода. Многоуровневая архитектура PCI Express поддерживает существующие приложения PCI и драйверы за счет обратной совместимости с существующей моделью PCI. В частности, архитектура PCI Express определяет высокопроизводительную масштабируемую последовательную шину "точка-точка". Канал PCI Express состоит из двух однонаправленных каналов, каждый из которых реализован как пара передачи и пара приема для одновременной передачи в обоих направлениях. Каждая пара состоит из двух низковольтных пар дифференциальных сигналов. Таймер синхронизации встроен в каждую пару и использует схему кодировки для синхронизации 8b/10b, позволяя достичь высокой скорости передачи данных. На рис. 4 представлены каналы PCI в сравнении с PCI Express.


Рис. 4. PCI в сравнении с PCI Express.

Многоуровневая архитектура PCI Express

Уровень Конфигурация/ОС определяет стандартный механизм (в соответствии со спецификацией PCI Plug-and-Play) инициализации устройств, их нумерацию и конфигурирование. Этот уровень общается с уровнем ПО, инициирующего передачу данных между периферийными устройствами или получение данных от подключенной периферии. Интерфейс PCI Express разрабатывался как совместимый с существующими ОС, но для поддержки мощных функций технологии потребуются ОС будущего времени.

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

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

Канальный уровень добавляет последовательность пакетов и обнаружение ошибок на основе циклических кодов избыточности (CRC) к пакетам данных, создавая надежный механизм передачи данных между системным НМС и контроллером ввода-вывода.

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

Механический уровень определяет форм-факторы периферийных устройств.

Уровни архитектуры PCI Express

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

Базовый канал x1 имеет пиковую "сырую" полосу пропускания на уровне 2,5 Гбит/с. Поскольку шина работает в двух направлениях (данные могут одновременно передаваться в обоих направлениях), эффективная "сырая" скорость передачи равна 5 Гбит/с. В табл. 2 приведены скорости передачи данных с кодированием и без кодирования при реализации линий x1, x4, x8 и x16, которые определены в первой версии PCI Express.

Таблица 2. Полоса пропускания PCI Express

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

PCI Express, в отличие от PCI, имеет минимальные сигналы боковой полосы, а временные метки и информация об адресе встроены в данные. Именно поэтому данная технология обеспечивает высокую полосу пропускания на один контакт разъема ввода-вывода по сравнению с PCI (рис. 5). В результате соединители становятся более эффективными, компактными и дешевыми.

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

В первоначальной спецификации PCI Express определены графические платы мощностью до 75 Вт. Сейчас разрабатывается новая спецификация графики PCI Express для карт мощностью до 150 Вт. Эти характеристики соответствуют требованиям графических адаптеров, для которых сейчас предел мощности составляет 41 Вт для массовых карт AGP и 110 Вт для карт AGP Pro 110.

Полоса пропускания PCI Express

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

Ширина "кодированной" полосы пропускания базовой линии x1 PCI Express равна 5 Гбит/с. Однако более точную цифру дает полоса пропускания "без кодировки", ширина которой составляет 80% "кодированной", т. е. 4 Гбит/с. В табл. 2 приведена полоса пропускания PCI Express с кодировкой и без нее.

Расширенные функции PCI Express

В PCI Express предусмотрены расширенные функции, которые будут постепенно реализовываться по мере их поддержки ОС и устройствами, а также по мере их использования приложениями. В список этих функций входят:

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

Расширенное управление энергопотреблением

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

Для решения этой проблемы спецификация PCI Express определяет два состояния канала с низким энергопотреблением и протокол Active-State Power Management (ASPM). Когда канал PCI Express не используется, он может перейти в одно из двух состояний с низким энергопотреблением. Эти состояния экономят энергию, но требуют времени на восстановление для ресинхронизации передатчика и получателя, когда нужно передать данные. Чем дольше время восстановления (или запаздывания), тем ниже энергопотребление.

Поддержка трафика реального времени

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

Горячая замена

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

В PCI Express реализована оригинальная поддержка для горячей замены периферии ввода-вывода. Единая программная модель может использоваться для всех форм-факторов PCI Express.

Целостность данных и обработка ошибок

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

Форм-факторы PCI Express

Разработаны различные форм-факторы PCI Express, предназначенные для клиентских систем, серверов и портативных компьютеров. В их числе стандартные и низкопрофильные карты - для настольных ПК, рабочих станций и серверов, Mini Card - для портативных компьютеров, ExpressCard - для портативных и настольных ПК, а также модули Server I/O Module (SIOM).

Стандартные и низкопрофильные карты

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

Карты PCI и PCI Express отличаются соединителями ввода-вывода - разъем x1 PCI Express имеет 36 контактов, а у стандартного соединителя PCI их 120.

Коннектор x1 PCI Express намного меньше, чем у карты PCI Card. Рядом с разъемом PCI Express расположена маленькая заглушка, которая не позволяет вставить его в слот PCI. Стандартные и низкопрофильные форм-факторы также поддерживают реализации x4, x8 и x16. На рис. 6 показаны размеры соединителей PCI в сравнении с разъемами PCI, AGP 8X и PCI-X, которые они заменят на системной плате.

В табл. 3 приведены требования к совместимости для стандартных и низкопрофильных карт PCI Express. Карта x1 может использоваться во всех четырех слотах системной платы: x1, x4, x8 и x16. Когда карта x1 вставляется в слот с более высокой скоростью, канальный уровень снижает скорость канала до x1.

Таблица 3. Совместимость карт PCI Express Card

Реализация PCI Express Слот x1 Слот x4 Слот x8 Слот x16
Карта x1 Нужна Нужна Нужна Нужна
Карта x4 Нет Нужна Допускается Допускается
Карта x8 Нет Допускается* Нужна Допускается
Карта x16 Нет Нет Нет Нужна
*Эта реализация будет иметь коннектор x8 на слоте x4, т. е. в такой слот можно вставлять карты x8,
которые, однако, будут работать на скорости x4.

Переход на карты PCI Express

Платы клиентских систем будут постепенно переходить от соединителей PCI к соединителям x1 PCI Express. Рабочие станции соответственно будут переходить от PCI на разъемы x1 PCI Express и от PCI-X - к x4 PCI Express. Соединитель AGP 8X будет заменяться разъемом x16 PCI Express. В отличие от AGP, он может использоваться для других карт PCI Express, если не требуется графическая карта PCI Express.

Серверы будут постепенно переходить от соединителей PCI-X в основном на x4 и x8. Использование в серверных системах комбинации слотов PCI Express и PCI/PCI-X позволит покупателям адаптироваться к новой технологии при сохранении поддержки унаследованных систем.

Рассмотрим пример типичной современной клиентской системы и переходной системной платы PCI Express. Системная плата PCI содержит пять стандартных слотов PCI и один слот AGP. Системная плата PCI Express также имеет шесть слотов ввода-вывода, но только три из них - слоты PCI, а еще два - это соединители x1 PCI Express и один - разъем x16 PCI Express, заменяющий слот AGP 8X. Соединители PCI Express на системной плате иногда делают черными, чтобы отличить их от белых слотов PCI и коричневых AGP.

Конечно, первыми устройствами, которые перейдут на карты PCI Express, станут платы с повышенными требованиями к полосе пропускания. В клиентских системах это графические адаптеры, адаптеры стандарта IEEE 1394, Gigabit Ethernet и ТВ-тюнеры, а в серверных системах - карты Ultra320 SCSI RAID, HBA-адаптеры Fibre Channel и карты Gigabit Ethernet и 10 Gigabit Ethernet. Ожидается, что стоимость этих плат будет сравнима с ценой аналогичных PCI-X, а в некоторых случаях даже меньше. Другие карты также постепенно перейдут на PCI Express, но может потребоваться несколько лет, прежде чем недорогие карты, работающие с низкой пропускной способностью (например, модемы), начнут использовать эту технологию. Таким образом, как это было и с переходом от ISA к шине PCI, еще долгие годы PCI и PCI Express будут сосуществовать.

PCI Express Mini Card

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

PCI Express Mini Card может использовать PCI Express и/или USB 2.0. Разъем PCI Express Mini Card на системной плате должен поддерживать как канал x1 PCI Express, так и USB 2.0. Поддержка USB 2.0 облегчит переход на PCI Express, потому что производителям периферии нужно определенное время для реализации поддержки PCI Express в своих наборах микросхем. В переходный период PCI Express Mini Card можно будет легко подключать с помощью USB 2.0.

ExpressCard

ExpressCard - это маленькая модульная дополнительная карта, которая в течение следующих лет должна заменить PC Card. Спецификация ExpressCard была разработана ассоциацией Personal Computer Memory Card International Association (PCMCIA, http://www.pcmcia.org). Форм-фактор ExpressCard обеспечивает замену PC Card с меньшими размерами и стоимостью и более высокой производительностью. Как и PCI Express Mini Card, модуль ExpressCard поддерживает каналы x1 PCI Express и USB 2.0. Низкая цена делает его оптимальным для настольных систем с уменьшенным форм-фактором. Модуль ExpressCard также имеет пониженное энергопотребление, и его можно вставлять в горячем режиме. Скорее всего, ExpressCard будут использоваться в сетевых платах, жестких дисках и будущих технологиях ввода-вывода.

PCI Express Server I/O Module

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

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

Модули SIOM с самым большим форм-фактором способны выполнять сравнительно сложные функции и использовать весь диапазон каналов PCI Express.

Примеры систем с PCI Express

Рассмотрим, как технология PCI Express может быть реализована в клиентской и серверной системах. Первоначально канал x16 PCI Express заменит шину AGP между графической подсистемой и северным мостом. Вариант PCI Express может заменить и канал между обоими мостами НМС. Предусмотрено также несколько каналов PCI Express от южного моста к контроллеру сетевого интерфейса (NIC), устройствам IEEE 1394 и другой периферии. Южный мост будет по-прежнему поддерживать устаревшие слоты PCI.

Такая архитектура дает покупателям несколько важных преимуществ. Настольные системы еще долго будут оснащаться шинами как PCI, так и PCI Express. Первые поколения серверов PCI Express также будут иметь слоты PCI-X для устаревших карт PCI-X. Чтобы упростить переход, предусмотрена защита от ошибочной установки PCI в слоты PCI Express и карт PCI Express - в слоты PCI. Кроме того, PCI Express обеспечивает широкое применение карт Gigabit Ethernet, 10 Gigabit Ethernet, 1394b и других высокоскоростных устройств в клиентских системах. Он также поддерживает растущие требования к полосе пропускания графических подсистем.

PCI Express может применяться в двухпроцессорной серверной архитектуре, значительно упрощая систему. Каналы PCI Express для устройств ввода-вывода и слотов подключаются непосредственно к северному мосту. Такой подход дает ряд преимуществ. Во-первых, это высокая полоса пропускания для ввода-вывода следующего поколения, например, 10 Gigabit Ethernet и фабрики x4 Infiniband. Например, канал x8 PCI Express способен обеспечить пиковую полосу пропускания, которая требуется двухпортовому контроллеру 10 Гбит/с.

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

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

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

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

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

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

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

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

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

1 x PCI —E ~ 500 Мбс

PCI —E ~ 2 Гбс

8 x PCI —E ~ 4 Гбс

16х PCI —E ~ 8 Гбс

32х PCI-E ~ 16 Гбс

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

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

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

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

PCI 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 году, эта разновидность транспорта данных до сих пор остается самой актуальной, распространенной, непрерывно развивающейся и по-прежнему перспективной.

Похожие статьи