Большой архив статей, книг, документации по программированию, вебдизайну, компьютерной графике, сетям, операционным системам и многому другому
 
<Добавить в Избранное>    <Сделать стартовой>    <Реклама на сайте>    <Контакты>
  Главная Документация Программы Обои   Экспорт RSS E-Books
 
 

   Компьютеры -> Мат. платы -> Шина PCI Express: утопия или общая стандартизация?


Шина PCI Express: утопия или общая стандартизация?

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

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

Что было раньше?

Во-первых, напомним, что шина PCI, бывшая буквально до последнего времени безусловным стандартом, не так давно отметила десятилетний юбилей - а это, согласитесь, в компьютерном летоисчислении аналогично отрезку времени от египетских пирамид до наших дней. Еще в далеком 1991 году компания Intel представила первую спецификацию системной шины, известной как Peripheral Component Interconnect, которая в сжатые сроки вытеснила устаревшую даже по тем временам шину ISA, верой и правдой прослужившую очень долго, а также ее более дорогую и менее удачную серверную сестру EISA.

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

Итак, начало положено. Вряд ли кто-то из разработчиков тогда думал о том, какая долгая жизнь уготована интерфейсу PCI (мы говорим не конкретно о версии 1.0, а о Peripheral Component Interconnect вообще). Однако толчком к бурному росту числа продуктов, ориентированных на использование с шиной PCI, стало появление двумя годами позднее второй редакции стандарта PCI, 2.0 - и с этого момента началось медленное, но уверенное «выдавливание» с арены ветеранов ISA и EISA.

До сих пор все прекрасно помнят основные параметры PCI 2.0 - это, конечно, ширина шины, равная 32 битам, максимальное адресуемое адресное пространство 4 Гбайт, тактовая частота шины 33 МГц при синхронном обмене данными и пиковая пропускная способность 133 Мбайт/с. И напоследок: устройства были рассчитаны на напряжение питания 5 В и 3,3 В. По сегодняшним меркам - смехотворные цифры. Но в 1993 году такие величины казались поистине громадными.

Со временем появилось множество вариаций на тему PCI 2.0, наиболее распространенные из которых - стандарт PCI 2.2, стандарт AGP, PCI-X, mini-PCI и Card Bus (32-разрядная версия стандарта PCMCIA, допускающая горячее подключение).

Каковы основные шаги в развитии PCI с точки зрения вышеупомянутых вариаций? Наиболее заметна для конечного пользователя была, естественно, шина AGP, являющаяся, тем не менее, частным случаем PCI 2.0. AGP предназначена для использования с производительными графическими адаптерами, которым недостаточно даже пиковых скоростных значений PCI 2.0. AGP характеризуется отсутствием арбитража интерфейса - допускается подключение к этой шине только одного устройства; хотя, версия AGP 3.0 нивелирует это ограничение, к ней можно подключить уже два устройства (при наличии, разумеется, двух соответствующих разъемов на системной плате). Шина AGP появилась в четырех вариациях, которые различаются между собой пиковой пропускной способностью - AGP 1x, 2x, 4x и 8x. Несмотря на то что скоростей четыре, стандартов AGP три - AGP 1.0, 2.0 и 3.0. Кроме того имеется спецификация на питание шины AGP Pro.

Не менее ярко выступил стандарт PCI 2.2, в котором ширина шины может быть увеличена до 64 бит, а также допускается «разгон» тактовой частоты до 66 МГц - вдвое по сравнению с PCI 2.0. Еще дальше пошла PCI-X - это ни что иное, как ускоренная до 133 МГц шина PCI 2.2 с обязательно 64-битной разрядностью интерфейса. PCI-X выпускалась и в более форсированных вариантах, с 266 МГц и 533 МГц тактовой частотой.

Менее заметна, но не менее важна шина mini-PCI, применяющаяся в портативных компьютерах для подключения различной «мелкой» периферии.

Из вышесказанного следует, что удачная разработка PCI развивалась отнюдь не линейно - встречались и ветвления для узкоспециализированных применений: AGP - графика, PCI 2.2 - периферийные потребительские устройства, PCI-X - серверная периферия, mini-PCI и Card Bus - нашли место в ноутбуках.

Пиком скоростного развития стандарта PCI можно назвать PCI-X 533 и AGP 8x. А дальше - общеизвестная история: основные компоненты вычислительных систем, процессоры и память выросли из детских штанишек межкомпонентного интерфейса, что, в принципе, не так уж и страшно. Беда в том, что далее наращивать пропускную способность PCI оказалась технологически сложно и дорого. Например, для того чтобы не мудрствуя лукаво наращивать тактовую частоту, требуются дополнительные проверки для исключения сбоев - новая разводка, новые сигналы, что в конечном итоге отражается на стоимости решения. Требуется совершенно новая разработка, гарантирующая «безболезненную» масштабируемость и наращиваемость на ближайшие несколько лет.

PCI Express, в девичестве «Arapahoe»

О грядущем тупике разработчики, конечно же, догадались отнюдь не вчера. Еще в пору ожидания AGP 3.0 в Интернете вовсю ходили слухи о новом межкомпонентном интерфейсе, разрабатываемом в недрах Intel под кодовым названием Arapahoe, сейчас 3GIO (Third Generation In-Out - ввод/вывод третьего поколения). Главным отличием этого решения должен был стать последовательный интерфейс. Это означало, во-первых, однозначное подключение «точка-точка», исключающее арбитраж шины и перетасовку ресурсов (как частный случай: прерываний). Во-вторых, упрощалась схемотехника, разводка и монтаж. В-третьих, экономилось место. Огромный плюс - отпадает необходимость в громоздкой синхронизации сигналов. Ведь при параллельной организации передачи все происходит на «делай раз, делай два», биты приходят от источника к приемнику не вразнобой, а «строем». Кстати, с увеличением таковых частот синхронизация добавляла разработчикам немало головной боли. На самом деле преимуществ последовательных интерфейсов перед параллельными гораздо больше, но они относятся, в основном, уже к «дебрям».

Итак, новая последовательная шина, которой предписывалось решить все проблемы компьютерной отрасли разом, получила название PCI Express - это случилось 22 июля 2002 года. Основной двигатель прогресса здесь, конечно же, корпорация Intel. Более того, существует весьма любопытный факт - несмотря на то что компания AMD делала большие ставки на свою шину Hyper-Transport, даже ее Intel удалось склонить на сторону продвижения PCI Express. Это обстоятельство стало буквально козырной картой интерфейса, и теперь IT-общественность не сомневается: PCI Express - быть. Давайте разберемся, чему собственно быть.

Во-первых, новая шина теоретически должна выступить в качестве основного транспорта между всеми, без исключения, узлами компьютера. В самом деле, ведь предшественница PCI ввиду своего отставания от требований к пропускной способности с течением времени оказалась постепенно вытесненной из основного «круговорота»; и выглядела уже не как первостепенной важности элемент, а, если хотите, как обуза. Процессор с памятью, диски Serial ATA, даже сетевые контроллеры - все компоненты обходились своими собственными соединениями. Что же оставалось PCI? Диски Parallel ATA, модемы, сетевые да звуковые карты. Согласитесь, не совсем достойная участь для некогда революционной разработки.

В общем, при разработке спецификаций нового стандарта Intel не стала изобретать ничего кардинально нового - в ход пошли передовые наработки из сетевой отрасли. Много внимания инженеры уделили и кодированию информации с устойчивостью к ошибкам. Опираясь на два этих факта, можно сказать, что PCI Express - это очень современно. Также стоит вспомнить, что подобный подход уже однажды был применен Intel на этапе внедрения процессора Pentium 4: как необычно звучало словосочетание Intel Hub несколько лет назад…

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

На данном этапе Root Complex представляется как некий альтернативный узел, снабженный одним или несколькими портами PCI Express. Для взаимодействия с остальными узлами ПК, которые так или иначе обходятся собственными шинами (это не обязательно процессорная шина и шина памяти, некоторое время неизбежно присутствие и старинных PCI 2.2 или PCI-X) предусмотрена система мостов и свитчей. Логика всей структуры такова, что любые межкомпонентные соединения непременно оказываются построенными по принципу «точка-точка», тем более, ни о какой широковещательности речь не идет, вышеупомянутые свитчи-коммутаторы выполняют однозначную маршрутизацию пакета от отправителя к получателю. Коммутаторы могут выполнять и более интеллектуальные функции, нежели простой роутинг данных.

Имея последовательно-сетевую природу, стек PCI Express разделен на три уровня: аппаратный (Physical - физический), аппаратно-логический (Data link - передача данных) и логический (Transaction - транзакции). Начнем с аппаратного - здесь есть как новинки, так и аксиомы принципов передачи информации.

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

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

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

Пришлось сделать «новый байт для PCI Express», состоящий из десяти бит, которые уже можно отделить друг от друга. Восемь бит - хрестоматийные, два бита - служебные. В итоге - 20%-ную избыточность, а значит, 20% от заявленных 2,5 Гбит/с и 5 Гбит/с мы так и не увидим. То есть синхронизация все-таки имеется, но выполнена она таким оригинальным образом. Что же случится, если по шине не проходит никаких данных? Велика возможность рассогласования между отправителем и адресатом, поэтому трафик на шине PCI Express не прекращается никогда: в отсутствие данных посылаются специальные последовательности из нулей, закодированные по все той же десятибитной схеме.

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

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

Можно сказать, что на данном этапе последовательная передача, как таковая, заканчивается. Единственное соединение, представляющее собой линию PCI Express, две пары проводов, - этого не достаточно для обеспечения высокой пропускной способности. Поэтому линии привычно выстраивают в ряд - их может быть 32, 16, 12, 8, 4 и 2. В итоге, вся последовательность данных, которую необходимо передать, распределяется на все имеющиеся линии «веером»- передача параллельная, но не синхронная. Если имеется 12 линий, то первый байт блока данных передается по первой линии, второй - по второй, и т. д., а тринадцатый байт - снова по первой. Теоретически шина с 32 линиями способна выдать пропускную способность 20 Гбит/с, от которых отнимаем 20% - 16 Гбит/c, или же по 8 Гбит/с в каждую сторону.

Более высокий уровень стека PCI Express отвечает за корректность передачи данных. Получив от самого верхнего уровня иерархии, Transaction, для передачи пакет данных, алгоритм Data Link присоединяет к последнему номер последовательности и его контрольную сумму. Кроме того, Data Link отвечает и за информирование остальных уровней стека о состоянии канала связи. Третья важная функция Data Link - управление энергопотреблением.

Наиболее интеллектуальный уровень PCI Express - Transaction Layer, который задействует четыре различных адресных пространства. Это память (адрес может быть как 32-, так 64-разрядным), сообщения, конфигурация и ввод/вывод.

Интересно организовано управление функциями питания PCI Express. Конечно, новый стандарт базируется на основных принципах управления питанием своего предшественника PCI и отвечает требованиям ACPI 2.0 и PCI Bus Power Management Interface Specification 1.1. Для каждого соединения управление питанием выполняется индивидуально, а регламент предусматривает привычные четыре состояния - L3, L2, L1 и L0s. Состояние L3 соответствует режиму «выключено», L2 - отключение основного питания и частотного генератора, L1 - формальный режим совместимости с PCI, при котором уровни питания и частоты находятся в номинальном режиме, но степень готовности ниже, чем в полностью «заряженном» режиме L0s. В последнем для восстановления состояния канала связи не требуется выполнять повторную инициализацию соединения, достаточно лишь «взбодрить» линию быстрой последовательностью тренировки канала.

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

Воплощение

Аппаратная реализация слотов PCI Express чем-то напоминает матрешку. Имеются четыре разновидности контактных наборов на 1, 4, 8 и 16 линий соответственно. Периферийные карты с меньшим количеством контактов можно устанавливать в слоты с большим количеством контактов, при этом будет задействовано именно столько линий, сколько разведено на карте.

Если в 16-канальный слот установить 16-канальную PCI Express-видеокарту, это будет оправданное решение, пропускной способности в данном случае не бывает много. Но если в такой же слот установить, скажем, модем 56K, не заполняющий и один канал шины, - это уже вопиющая расточительность.

Периферийные карты опционально могут поддерживать горячую замену, что может быть полезно, например, в случае серверного применения. Для питания устройств имеется три группы контактов: +12 В, +3,3 В (основное питание), +3,3 В (вспомогательное питание).

Что впереди?

На сегодняшний день четко очерчены границы применения шины PCI Express. В привычных настольных компьютерах этот стандарт должен упразднить лишь шины PCI и AGP, грубо говоря, «PCI и компанию». Нет оснований полагать, что PCI Express станет связующим звеном для дисковой подсистемы, подсистем памяти и процессора, его удел - периферия. Более широкий круг задач - на рынке портативных систем; помимо подключения внутренних периферийных устройств PCI Express будет применяться для связи с док-станциями ноутбуков и внешними периферийными картами, которые придут на смену сегодняшним PC Card.

Производительные рабочие станции и серверы смогут задействовать PCI Express и для подключения дисковых массивов. В целом, судя по спецификациям, будущее этого интерфейса достаточно безоблачно: особую надежду вселяют значения пропускной способности 2,5 Гбит/с на канал, определенные в качестве стартовых - значит, есть куда расти. Небольшая ложка дегтя, выраженная в необходимости отдать 20% трафика по шине на служебные нужды, не может служить весомым поводом для беспокойства. Ведь по большому счету, если переживать из-за всех уступок человека железу, можно впасть в состояние перманентной депрессии. А если вспомнить о восторгах со стороны многочисленных производителей периферийного оборудования по поводу PCI Express, тем более, можно жить и радоваться. Но вернемся к названию статьи: утопия ли PCI Express? Нет, это вполне сбалансированное и своевременное решение. PCI Express - попытка общей стандартизации? Тоже нет, ведь всех под одну гребенку все равно не причесать. Чем же тогда все-таки является PCI Express? Пожалуй, требованием времени.

Автор: Евгений Патий
Источник: www.electronica.finestreet.ru

Ссылки по теме
Как выбрать материнскую плату
Gigabyte GA-8ANXP-D: удовлетворение энтузиаста
Лёгкий способ апгрейда для фанатов AMD - ASRock K8 Combo-Z под Socket 754 и Socket 939
Архитектура и технологии Intel D925XCV
BTX: подробности о новом форм-факторе
PF4 Extreme: моддинг может быть экономным
Компоненты материнской платы
 

Компьютерная документация от А до Я - Главная

 

 
Интересное в сети
 
10 новых программ
CodeLobster PHP Edition 3.7.2
WinToFlash 0.7.0008
Free Video to Flash Converter 4.7.24
Total Commander v7.55
aTunes 2.0.1
Process Explorer v12.04
Backup42 v3.0
Predator 2.0.1
FastStone Image Viewer 4.1
Process Lasso 3.70.4
FastStone Image Viewer 4.0
Xion Audio Player 1.0.125
Notepad GNU v.2.2.8.7.7
K-Lite Codec Pack 5.3.0 Full


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

Copyright © CompDoc.Ru
При цитировании и перепечатке ссылка на www.compdoc.ru обязательна. Карта сайта.