PCI Express: пункт прибытия 2014 год


«– В этом поезде никто ничего не знает!
– А чего еще ждать от этих бездельников иностранцев?»

Агата Кристи, «Восточный Экспресс».

Итак, господа, пришло время сменить шину, в течение 10 лет бывшую общепринятым индустриальным стандартом. PCI, первая версия стандарта которой была разработана еще в 1991 году, прожила долгую и счастливую жизнь, в различных своих ипостасях являясь основой для малых и крупных серверов, промышленных компьютеров, ноутбуков и графических решений (напомним, что AGP также ведет свою родословную от PCI и является специализированным и расширенным вариантом последней). Но, прежде чем рассказывать о новинке, подобьем исторических бабок, вспомнив как происходило развитие PCI. Ибо, не однократно было замечено, что, говоря о будущих перспективах, всегда полезно найти исторические аналогии: История PCI

В 1991 году Intel предлагает базовую версию (1.0) проекта стандарта шины PCI (Peripheral Component Interconnect — Соединение Периферийных Компонент). PCI призвана заменить ISA (а позже и ее не очень удачную и дорогую серверную расширенную модификацию EISA). Кроме значительно возросшей пропускной способности, новую шину характеризует возможность динамической конфигурации выделяемых присоединенным устройствам ресурсов (прерываний).

В 1993 году PCI Special Interest Group (PCISIG, Специальная Группа Интересов PCI, http://www.pcisig.com/ — организация, взявшая на себя заботу о разработке и принятии различных стандартов имеющих отношение к PCI) публикует обновленную 2.0 ревизию стандарта ставшую основой для широкой экспансии PCI (и различных ее модификаций) в индустрии информационных технологий. В деятельности PCISIG принимают участие многие известные компании, включая родоначальника PCI — корпорацию Intel, подарившую индустрии множество долгоиграющих, исторически успешных стандартов. Итак, базовая версия PCI (IEEE P1386.1):

  • Тактовая частота шины 33 МГц, используется синхронная передача данных;
  • Пиковая пропускная способность 133 МБ в секунду;
  • Параллельная шина данных шириною 32-бита;
  • Адресное пространство 32-бита (4 ГБ);
  • Сигнальный уровень 3,3 или 5 вольт.

Позже появляются следующие ключевые модификации шины:

  • PCI 2.2 — допускается 64-бит ширина шины и/или тактовая частота 66 МГц, т.е. пиковая пропускная способность до 533 МБ/сек.;
  • PCI-X, 64-бит версия PCI 2.2 с увеличенной до 133 МГц частотой (пиковая пропускная полоса 1066 МБ/сек.);
  • PCI-X 266 (PCI-X DDR), DDR версия PCI-X (эффективная частота 266 МГц, реальная 133 МГц с передачей по обоим фронтам тактового сигнала, пиковая пропускная полоса 2.1 ГБ/сек);
  • PCI-X 533 (PCI-X QDR), QDR версия PCI-X (эффективная частота 533 МГц, пиковая пропускная полоса 4,3 ГБ/сек.);
  • Mini PCI — PCI с разъемом в стиле SO-DIMM, применяется преимущественно для миниатюрных сетевых, модемных и прочих карточек в ноутбуках;
  • Compact PCI — стандарт на форм фактор (модули вставляются с торца в шкаф с общей шиной на задней плоскости) и разъем, предназначенные в первую очередь для промышленных компьютеров и других критических применений;
  • Accelerated Graphics Port (AGP) — высокоскоростная версия PCI оптимизированная для графических ускорителей. Отсутствует арбитраж шины (т.е. допустимо только одно устройство, за исключением последней, 3.0 версии стандарта AGP, где устройств и слотов может быть два). Передачи в сторону ускорителя оптимизированы, есть набор специальных дополнительных возможностей специфических для графики. Впервые данная шина появилась вместе с первыми системными наборами для процессора Pentium II. Существует три базовых версии протокола AGP, дополнительная спецификация на питание (AGP Pro) и 4 скорости передачи данных — от 1х (266 МБ/сек) до 8х (2ГБ/сек), в том числе допустим сигнальные уровни 1,5, 1,0 и 0,8 вольт.

Упомянем также CARDBUS — 32 разрядную версию шины для PCMCIA карт, с горячим подключением и некоторыми дополнительными возможностями, тем не менее, имеющую много общего с базовой версией PCI.

Как мы видим, основное развитие шины идет по следующим направлениям:

  1. Создание специализированных модификаций (AGP);
  2. Создание специализированных форм факторов (Mini PCI, Compact PCI, CARDBUS);
  3. Увеличение разрядности;
  4. Увеличение тактовой частоты и применение DDR/QDR схем передачи данных.

Все это вполне логично, учитывая огромный срок жизни подобного всеобщего стандарта. Причем, пункты 1 и 2 не ставят своей целью сохранение совместимости с базовыми PCI картами, а вот пункты 3 и 4 выполняются за счет увеличения оригинального PCI разъема, и допускают установку обычных 32х разрядных PCI карт. Справедливости ради, отметим, что в ходе эволюции шины случались и сознательные потери совместимости со старыми картами, даже для базового варианта разъема PCI — например, в спецификации 2.3 исчезло упоминание о поддержке 5 вольт сигнального уровня и питающего напряжения. В результате, серверные платы снабженные этой модификацией шины могут пострадать при установке в них старых, пятивольтовых карт, хотя, с точки зрения геометрии разъема, эти карты к ним подходят.

Однако, как и любая другая технология (например, архитектуры процессорных ядер), шинная технология имеет свои разумные границы масштабирования, при приближении к которым увеличение пропускной полосы дается все большей и большей ценою. Возросшая тактовая частота требует более дорогостоящей разводки и накладывает существенные ограничения на длину сигнальных линий, увеличение разрядности или использование DDR решений также влечет за собою множество проблем, которые в итоге банально выливаются в рост стоимости. И если в серверном сегменте, решения подобные PCI-X 266/533 еще будут некоторое время экономически оправданными, то в потребительских PC мы их не увидели, и не увидим. Почему? Очевидно, что в идеале пропускная способность шин должна расти синхронно с ростом производительности процессора, при этом цена реализации должна не только сохраняться прежней, но и в идеале снижаться. На данный момент это возможно только при использовании новой шинной технологии. О них мы сегодня и поговорим: Эпоха последовательных шин

Итак, ни для кого не секрет что в наше время, идеальный внешний интерфейс, так или иначе, является последовательным. Прошли времена многожильных центрониксов, и толстенных (обухом не перешибешь) SCSI шлангов — фактически, наследия еще до PC-шных времен. Переход происходил медленно, но верно: сначала клавиатура и мышь, затем модем, затем, через годы и годы — сканеры и принтеры, видеокамеры, цифровые фотоаппараты. USB, IEE1394, USB 2. На данный момент, вся потребительская внешняя периферия перебралась на последовательные соединения. Не за горами и беспроводные решения. Механизм очевиден — в наше время выгоднее заложить максимум функциональности в чип (горячее подключение, последовательное кодирование, передача и прием, декодирование данных, протоколы маршрутизации и защиты от ошибок и пр. необходимые для выжимания необходимой топологической гибкости и существенной полосы пропускания из пары проводов вещи), нежели иметь дело с избыточными объемами контактов, шлангами с сотней проводов внутри, недешевыми пайкой, экранированием, разводкой и медью. В наше время последовательные шины становятся более удобны не только с точки зрения конечного потребителя, но и с точки зрения банальной выгоды — пропускная полоса умножить на расстояние делить на баксы. Разумеется, со временем эта тенденция не могла не распространиться на внутренности компьютера — мы уже во всю наблюдаем первый плод подобного подхода — Serial ATA. Более того, можно экстраполировать эту тенденцию не только на системные шины (основная тема данной статьи) но и на шину памяти (справедливо отметить, что подобный пример уже был — Rambus, но индустрия справедливо сочла его преждевременным) и даже на процессорную шину (потенциально более удачный пример — HT). Кто знает, сколько контактов будет у Pentium Х — возможно менее сотни, при условии, что половина из них — земля и питание. Время притормозить и четко сформулировать преимущества последовательных шин и интерфейсов:

  1. Выгодный перенос все большей части практической реализации шины на кремний, что облегчает отладку, повышает гибкость и сокращает время разработки;
  2. Перспектива органично использовать в будущем иные носители сигнала, например оптические;
  3. Экономия пространства (не бьющая по карману миниатюризация) и снижение сложности монтажа;
  4. Проще реализовывать горячие подключения и динамическую конфигурацию в любом смысле;
  5. Возможность выделять гарантированные и изохронные каналы;
  6. Переход от разделяемых шин с арбитражем и непредсказуемыми прерываниями, неудобными для надежных/критических систем к более предсказуемым соединениям точка-точка;
  7. Лучшая с точки зрения затрат и более гибкая с точки зрения топологии масштабируемость;
  8. Этого еще не достаточно??? ;-).

В будущем же следует ожидать перехода на беспроводные шины, технологии подобные UWB (Ultra Wide Band) однако, это дело не ближайшего года и даже не пяти лет.

А теперь, самое время обсудить все преимущества на конкретном примере — новой стандартной системной шине PCI Express, массовое распространение которой на сегмент PC и средних/малых серверов ожидается уже в середине следующего года. PCI Express — только факты

  • Последовательная системная шина общего назначения;
  • Имя — PCI Express, на стадии проектирования была также известна как 3GIO (Ввод-вывод третьего поколения) или по кодовому имени рабочей группы и проекта «Arapahoe», причем оба названия (3GIO и PCI Express) являются зарегистрированными торговыми марками PCISIG;
  • Дата рождения — 22 июля 2002 года — опубликована базовая спецификация протокола и сигнального уровня, а также базовая спецификация на форм-фактор и энергопотребление карт и разъемы;
  • Фактически — совокупность независимых самостоятельных последовательных каналов передачи данных;
  • Сигнальный уровень 0.8 вольт. Каждый канал состоит из двух дифференциальных сигнальных пар (необходимо только 4 контакта):
  • Используется избыточное защищенное от помех кодирование — каждый байт при передаче представляется десятью битами;
  • Пропускная способность 2.5 Гигабита (250 МБ) в секунду для одного канала в каждом направлении одновременно (полный дуплекс), однако, следует учесть, что эффективная скорость передачи данных за вычетом избыточного кодирования составляет 2 Гигабита (200 МБ) ровно;
  • Стандартизированы 1, 2, 4, 8, 16 и 32 канальные варианты (до 6.4 эффективных Гигабайт в секунду соответственно, при передаче в одну сторону и вдвое больше при передаче в обоих направлениях). При передаче данных они передаются параллельно (но не синхронно) по всем доступным каналам:
  • Вся контрольная информация передается по тем же линиям что и данные, используется стек протоколов, из нескольких уровней, включая маршрутизацию данных:
  • Стандарт предусматривает и альтернативные носители сигнала, такие как оптические волноводы;
  • Возможность динамического подключения и конфигурации устройств;
  • Возможность распознавания и использования альтернативных (улучшенных) протоколов обмена.
PCI Express — ключевые отличия

Подробнее остановимся на ключевых отличиях PCI Express от PCI:

  1. Как уже неоднократно упоминалось — новая шина последовательна, а не параллельна. Основные преимущества — снижение стоимости, миниатюризация, лучшее масштабирование, более выгодные электрические и частотные параметры (нет необходимости синхронизировать все сигнальные линии);
  2. Спецификация разделена на целый стек протоколов, каждый уровень которого может быть усовершенствован, упрощен или заменен не сказываясь на остальных. Например — может быть использован иной носитель сигнала или может быть упразднена маршрутизация в случае выделенного канала только для одного устройства. Могут быть добавлены дополнительные контрольные возможности. Развитие такой шины будет происходить гораздо менее болезненно — увеличение пропускной способности не потребует изменять контрольный протокол и наоборот. Быстро и удобно разрабатывать адаптированные варианты специального назначения;
  3. В изначальной спецификации заложены возможности горячей замены карт;
  4. В изначальной спецификации заложены возможности создания виртуальных каналов, гарантирования пропускной полосы и времени отклика, сбора статистики QoS (Quality of Service — Качество Обслуживания);
  5. В изначальной спецификации заложены возможности контроля целостности передаваемых данных (CRC);
  6. В изначальной спецификации заложены возможности управления питанием.

Итак, более широкие диапазоны применимости, более удобное масштабирование и адаптация, богатый набор изначально заложенных возможностей. Все так хорошо, что просто не верится. Впрочем, в отношении этой шины, даже заядлые пессимисты высказываются скорее положительно, чем отрицательно. И это не удивительно — кандидат на десятилетний трон общего стандарта для большого числа различных применений (начиная с мобильных и встраиваемых и заканчивая серверами «Энтерпрайз» класса или критическими применениями) просто обязан выглядеть безупречным со всех сторон, хотя бы на бумаге :-). Как оно будет в деле — мы скоро увидим сами. PCI Express — как это будет выглядеть

Самый простой вариант перехода на PCI-Express для стандартных по архитектуре настольных систем выглядит так:

Однако в будущем логично ожидать появление некоего разветвителя PCI Express. Тогда вполне оправданным станет и объединение северного южного мостов. Приведем примеры возможных системных топологий. Классический PC с двумя мостами:

Более обобщенная (серверная) архитектура с одним мостом:

Мощный сервер:

Производительный сетевой раутер:

Гибкость решения позволяет создавать различные топологические схемы, оптимально балансируя пропускную способность. А теперь ответим на вопрос «как это будет выглядеть» дословно. Карта:

(мысленно отломайте верхнюю и заднюю части, и вы увидите так называемый низкопрофильный вариант). А вот типичная для PC сектора системная плата с тремя х1 и одним х8 (в том числе, для графических карт) разъемами:

Те же разъемы вблизи:

Как уже упоминалось, предусмотрен и стандартизирован Mini PCI Express слот:

И новый слот для внешних заменяемых карт, на подобии CARDBUS, на который вынесена не только PCI Express но и USB 2.0:

Интересно, что предусмотрено два форм фактора карт, но отличаются они не толщиной как ранее, а шириной:

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

Для облегчения перехода предусмотрен механизм совместимости с программным обеспечением, написанным для PCI (драйверы устройств, OS). Кроме того, разъемы PCI Express в отличие от PCI расположены на другой стороне отведенной для карты расширения секции, т.е. могут сосуществовать на одном месте с PCI разъемами. Пользователю останется только выбирать какую карту он хочет вставить. В первую очередь появление PCI Express ожидается в начальных серверных (двупроцессорных) платформах Intel в первой половине 2004 года, затем в настольных платформах класса «Энтузиаст» и рабочих станциях (в том же году). Насколько быстро PCI Express будет поддержана другими производителями чипсетов не ясно, однако и NVIDIA и SIS отвечают на вопрос утвердительно, хотя и не называют конкретные сроки. Уже давно запланированы и готовятся к выходу в первой половине 2004 года графические решения (ускорители) от NVIDIA и ATI, снабженные встроенной поддержкой PCI Express х16. Множество других производителей являются активными участниками разработки и тестирования PCI Express и также намерены представить свои продукты до конца 2004 года.

Посмотрим! Есть подозрение, что ребеночек вышел удачный.
В добрый путь, PCI Express: отправление 2004, прибытие 2014.




4 сентября 2003 Г.

PCI Express - 2014

PCI Express: 2014

«– !
– ?»

, « ».

, , , 10 . PCI, 1991 , , , , (, AGP PCI ). , , , PCI. , , , , :

PCI

1991 Intel (1.0) PCI (Peripheral Component Interconnect — ). PCI ISA ( EISA). , ().

1993 PCI Special Interest Group (PCISIG, PCI, http://www.pcisig.com/ — , PCI) 2.0 PCI ( ) . PCISIG , PCI — Intel, , . , PCI (IEEE P1386.1):

  • 33 , ;
  • 133 ;
  • 32-;
  • 32- (4 );
  • 3,3 5 .

:

  • PCI 2.2 — 64- / 66 , .. 533 /.;
  • PCI-X, 64- PCI 2.2 133 ( 1066 /.);
  • PCI-X 266 (PCI-X DDR), DDR PCI-X ( 266 , 133 , 2.1 /);
  • PCI-X 533 (PCI-X QDR), QDR PCI-X ( 533 , 4,3 /.);
  • Mini PCI — PCI SO-DIMM, , ;
  • Compact PCI — ( ) , ;
  • Accelerated Graphics Port (AGP) — PCI . (.. , , 3.0 AGP, ). , . Pentium II. AGP, (AGP Pro) 4 — 1 (266 /) 8 (2/), 1,5, 1,0 0,8 .

CARDBUS — 32 PCMCIA , , , PCI.

, :

  1. (AGP);
  2. (Mini PCI, Compact PCI, CARDBUS);
  3. ;
  4. DDR/QDR .

, . , 1 2 PCI , 3 4 PCI , 32 PCI . , , , PCI — , 2.3 5 . , , , , , .

, (, ), , . , DDR , . , PCI-X 266/533 , PC , . ? , , , . . :

, , , , . , ( ) SCSI — , PC- . , : , , , — , , . USB, IEE1394, USB 2. , . . — ( , , , , . ), , , , , . , — . , — — Serial ATA. , ( ) ( , — Rambus, ) ( — HT). , Pentium — , , — . :

  1. , , ;
  2. , ;
  3. ( ) ;
  4. ;
  5. ;
  6. , / -;
  7. ;
  8. ??? ;-).

, UWB (Ultra Wide Band) , .

, — PCI Express, PC / .

PCI Express —

  • ;
  • PCI Express, 3GIO (- ) «Arapahoe», (3GIO PCI Express) PCISIG;
  • — 22 2002 — , - ;
  • — ;
  • 0.8 . ( 4 ):
  • — ;
  • 2.5 (250 ) ( ), , , 2 (200 ) ;
  • 1, 2, 4, 8, 16 32 ( 6.4 , ). ( ) :
  • , , , :
  • , ;
  • ;
  • () .

PCI Express —

PCI Express PCI:

  1. — , . — , , , ( );
  2. , , . — . . — . ;
  3. ;
  4. , , QoS (Quality of Service — );
  5. (CRC);
  6. .

, , , . , . , , , . — ( «» ) , :-). — .

PCI Express —

PCI-Express :


PCI Express. . . PC :


() :


:


:


, . « » . :


( , ). PC 1 8 ( , ) :


:


, Mini PCI Express :


, CARDBUS, PCI Express USB 2.0:


, , , :


— - , -, , .. . NewCard , PCI Express.

PCI Express —

, PCI ( , OS). , PCI Express PCI , .. PCI . . PCI Express () Intel 2004 , «» ( ). PCI Express , NVIDIA SIS , . 2004 () NVIDIA ATI, PCI Express 16. PCI Express 2004 .

! , .
, PCI Express: 2004, 2014.