Версия pci express 3.0 материнские платы. PCI Express: существующие стандарты и их пропускная способность. Влияние количества линий на пропускную способность

Введение

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

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


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

Впрочем, мы пообщались с группой PCI-SIG (Special Interest Group, которая отвечает за стандарты PCI и PCI Express), что позволило нам получить некоторые ответы.

PCI Express 3.0: планы

Эл Янс (Al Yanes), президент и председатель PCI-SIG, и Рамин Нешати (Ramin Neshati), председатель PCI-SIG Serial Communications Workgroup, поделились текущими планами по поводу внедрения PCI Express 3.0.



Нажмите на картинку для увеличения.

23 июня 2010 вышла версия 0.71 спецификации PCI Express 3.0. Янс утверждал, что версия 0.71 должна устранить все проблемы с обратной совместимостью, которые привели к первоначальной задержке. Нешати отметил, что основная проблема с совместимостью заключалась в функции "DC wandering", которую он объяснил так, что устройства PCI Express 2.0 и более ранние "не давали нужных нуликов и единичек", чтобы соответствовать интерфейсу PCI Express 3.0.

Сегодня, когда проблемы с обратной совместимостью решены, PCI-SIG готова представить базовую версию 0.9 "позднее этим летом". И за этой базовой версией ожидается уже версия 1.0 в четвёртом квартале этого года.

Конечно, самый интригующий вопрос заключается в том, когда материнские платы PCI Express 3.0 появятся на прилавках магазинов. Нешати отметил, что он ожидает появления первых продуктов в первом квартале 2011 года (треугольник "FYI" на картинке с планом).

Нешати добавил, что между версиями 0.9 и 1.0 не должно произойти изменений на уровне кристалла кремния (то есть все изменения будут затрагивать только программное обеспечение и прошивку), так что некоторые продукты должны выйти на рынок ещё до появления финальной спецификации 1.0. И продукты уже могут сертифицироваться для списка PCI-SIG "Integrator’s List" (треугольник "IL"), который является вариантом логотипа соответствия PCI-SIG.

Нешати в шутку назвал третий квартал 2011 как дату "Fry’s and Buy" (вероятно, ссылаясь на сайты Frys.com, Buy.com или Best Buy). То есть в этот период мы должны ожидать появление большого количества продуктов с поддержкой PCI Express 3.0 в розничных магазинах и в интернет-магазинах.

PCI Express 3.0: разработан для скорости

Для конечных пользователей основное отличие между PCI Express 2.0 и PCI Express 3.0 будет заключаться в значительном увеличении максимальной пропускной способности. У PCI Express 2.0 сигнальная скорость передачи составляет 5 GT/s, то есть пропускная способность равняется 500 Мбайт/с для каждой линии. Таким образом, основной графический слот PCI Express 2.0, который обычно использует 16 линий, обеспечивает двунаправленную пропускную способность до 8 Гбайт/с.

У PCI Express 3.0 мы получим удвоение этих показателей. PCI Express 3.0 использует сигнальную скорость 8 GT/s, что даёт пропускную способность 1 Гбайт/с на линию. Таким образом, основной слот для видеокарты получит пропускную способность до 16 Гбайт/с.

На первый взгляд увеличение сигнальной скорости с 5 GT/s до 8 GT/s не кажется удвоением. Однако стандарт PCI Express 2.0 использует схему кодирования 8b/10b, где 8 бит данных передаются в виде 10-битных символов для алгоритма устранения ошибок. В итоге мы получаем 20% избыточность, то есть снижение полезной пропускной способности.

PCI Express 3.0 переходит на намного более эффективную схему кодирования 128b/130b, устраняя 20% избыточность. Поэтому 8 GT/s – это уже не "теоретическая" скорость; это фактическая скорость, сравнимая по производительности с сигнальной скоростью 10 GT/s, если бы использовался принцип кодирования 8b/10b.



Нажмите на картинку для увеличения.

Мы поинтересовались у Янса насчёт устройств, которые потребуют повышение в скорости. Он ответил, что они будут включать "коммутаторы PLX, контроллеры Ethernet 40 Гбит/с, InfiniBand, твёрдотельные устройства, которые становятся всё популярнее, и, конечно, видеокарты". Он добавил "Мы не исчерпали инновации, они появляются не статически, это непрерывный поток", они открывают путь для дальнейших улучшений в будущих версиях интерфейса PCI Express.

Анализ: где мы будем использовать PCI Express 3.0?

Накопители

AMD уже интегрировала поддержку SATA 6 Гбит/с в свою 8-ю линейку чипсетов, да и производители материнских плат добавляют контроллеры USB 3.0. Intel в этой области немного отстаёт, поскольку не поддерживает в чипсетах USB 3.0 или SATA 6 Гбит/с (у нас в лаборатории уже появились предварительные образцы материнских плат на P67, и у них присутствует поддержка SATA 6 Гбит/с, но USB 3.0 в этом поколении мы не получим). Впрочем, как мы уже неоднократно видели в противостоянии AMD и Intel, инновации AMD часто вдохновляют Intel. Учитывая скорости интерфейса накопителей следующего поколения и периферии, пока нет необходимости переносить любую из технологий на PCI Express 3.0. И для USB 3.0 (5 Гбит/с), и для SATA 6 Гбит/с (пока ещё не появилось накопителей, которые бы подошли к пределам этого интерфейса) будет достаточно одной линии PCI Express второго поколения.

Конечно, когда дело касается накопителей, то взаимодействие между приводами и контроллерами – это только часть вопроса. Представьте себе массив из нескольких SSD с интерфейсом SATA 6 Гбит/с у чипсета, когда массив RAID 0 потенциально может нагрузить одну линию PCI Express второго поколения, которую большинство производителей материнских плат используют для подключения контроллера. Так что определиться с тем, могут ли интерфейсы USB 3.0 и SATA 6 Гбит/с действительно требовать поддержки PCI Express 3.0, можно после несложных подсчётов.



Нажмите на картинку для увеличения.

Как мы уже упоминали, интерфейс USB 3.0 даёт максимальную скорость 5 Гбит/с. Но и как стандарт PCI Express 2.1, USB 3.0 использует кодирование 8b/10b, то есть фактическая пиковая скорость составляет 4 Гбит/с. Поделите биты на восемь, чтобы преобразовать в байты, и вы получите пиковую пропускную способность 500 Мбайт/с – как раз такую же, что и у одной линии нынешнего стандарта PCI Express 2.1. SATA 6 Гбит/с работает со скоростью 6 Гбит/с, но здесь тоже используется схема кодирования 8b/10b, в результате которой теоретические 6 Гбит/с превращаются в фактические 4,8 Гбит/с. Опять же, преобразуйте это значение в байты, и вы получите 600 Мбайт/с или на 20% больше, чем может обеспечить линия PCI Express 2.0.

Впрочем, проблема кроется в том, что даже самые быстрые SSD сегодня не могут полностью загрузить подключение SATA 3 Гбит/с. Периферия и близко не подходит к нагрузке интерфейса USB 3.0, то же самое можно сказать и про последнее поколение SATA 6 Гбит/с. По крайней мере, сегодня интерфейс PCI Express 3.0 не является необходимым для активного его продвижения на рынке платформ. Но будем надеяться, что по мере перехода Intel на производство флэш-памяти NAND третьего поколения, тактовые частоты будут возрастать, и мы получим устройства, способные превысить уровень 3 Гбит/с у портов SATA второго поколения.

Видеокарты

Мы проводили собственные исследования влияния пропускной способности PCI Express на производительность видеокарт – после выхода на рынок PCI Express 2.0 , в начале 2010 года , а также и совсем недавно . Как мы обнаружили, очень сложно нагрузить пропускную способность x16, которая на данный момент доступна у материнских плат PCI Express 2.1. Вам потребуется конфигурация на нескольких GPU или экстремальная high-end видеокарта на одном GPU, чтобы вы смогли обнаружить разницу между подключениями x8 и x16.

Мы попросили AMD и Nvidia прокомментировать потребность в PCI Express 3.0 - потребуется ли эта скоростная шина для раскрытия всего потенциала производительности видеокарт следующего поколения? Представитель AMD сообщил нам, что пока не может давать комментарии.


Нажмите на картинку для увеличения.

Представитель Nvidia оказался более сговорчивым: "Nvidia играла одну из ключевых ролей в индустрии при разработке PCI Express 3.0, который должен в два раза увеличить пропускную работу стандарта текущего поколения (2.0). Когда происходят подобные существенные увеличения пропускной способности, то появляются приложения, которые могут их использовать. От нового стандарта выиграют потребители и профессионалы, благодаря увеличенной производительности графики и вычислений в ноутбуках, настольных ПК, рабочих станциях и серверах, где есть GPU".

Возможно, ключевой можно назвать фразу "появятся приложения, которые могут их использовать". Похоже, в мире графики ничего не уменьшается. Дисплеи становятся больше, высокое разрешение выходит на смену стандартному разрешению, текстуры в играх становятся всё более детализованными и интригующими. Сегодня мы не считаем, что даже у новейших топовых видеокарт есть потребность в использовании интерфейса PCI Express 3.0 с 16 линиями. Но энтузиасты из года в год наблюдают повторение истории: прогресс технологии прокладывает путь для новых способов задействовать "более толстые трубы". Возможно, мы получим взрывной рост приложений, которые сделают вычисления на GPU более массовыми. Или, возможно, падение производительности, которое наблюдается при выходе за пределы памяти видеокарты, когда начинается подкачка из системной памяти, будет уже не таким ощутимым у массовых и low-end продуктов. В любом случае, нам предстоит увидеть инновации, которые PCI Express 3.0 позволит реализовать AMD и Nvidia.

Подключения компонентов материнской платы

AMD и Intel всегда очень неохотно делятся информацией по поводу интерфейсов, которые они используют для связи компонентов чипсета или логических "кирпичиков" в северном/южном мостах. Мы знаем скорость, с которой работают эти интерфейсы, а также и то, что они разрабатываются так, чтобы, по возможности, не создавать "узких мест". Иногда мы знаем, кто произвёл определённую часть системной логики, например, AMD использовала в SB600 контроллер SATA на основе разработки Silicon Logic. Но технологии, используемые для наведения мостиков между компонентами, часто остаются "белыми пятнами". PCI Express 3.0, конечно, кажется весьма привлекательным решением, наподобие интерфейса A-Link, который использует AMD.

Недавнее появление контроллеров USB 3.0 и SATA 6 Гбит/с на большом количестве материнских плат тоже позволяет оценить ситуацию. Поскольку чипсет Intel X58 не предоставляет "родную" поддержку ни одной из двух технологий, компаниям, таким как Gigabyte, приходится интегрировать на материнские платы контроллеры, используя для их подключения доступные линии.

У материнской платы Gigabyte EX58-UD5 нет поддержки ни USB 3.0, ни SATA 6 Гбит/с. Однако у неё есть слот x4 PCI Express.



Нажмите на картинку для увеличения.

Gigabyte заменила материнскую плату EX58-UD5 новой моделью X58A-UD5, которая имеет поддержку двух портов USB 3.0 и двух портов SATA 6 Гбит/с. Где Gigabyte нашла пропускную способность, чтобы поддержать две этих технологии? Компания взяла под одной линии PCI Express 2.0 для каждого контроллера, урезав возможности по установке карт расширения, но вместе с тем обогатив функциональность материнской платы.

Помимо добавления USB 3.0 и SATA 6 Гбит/с, единственное заметное отличие между двумя материнскими платами касается удаления слота x4.



Нажмите на картинку для увеличения.

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

CUDA и параллельные вычисления

Мы вступаем в эпоху настольных суперкомпьютеров. В наших системах работают графические процессоры с интенсивной параллельной обработкой данных, а также блоки питания и материнские платы, способные поддерживать одновременную работу до четырёх видеокарт. Технология Nvidia CUDA позволяет преобразовать видеокарту в инструмент для программистов по расчётам не только в играх, но и в научных сферах, и в инженерных приложениях. Интерфейс программирования уже прекрасно зарекомендовал себя при разработке разнообразных решений для корпоративного сектора , включая обработку изображений в медицине, математику, работы по разведыванию месторождений нефти и газа.



Нажмите на картинку для увеличения.

Мы поинтересовались мнением программиста OpenGL Терри Велша (Terry Welsh) из компании Really Slick Screensavers насчёт PCI Express 3.0 и вычислений на GPU. Терри сообщил нам, что "PCI Express получил хороший рывок, и мне нравится, что разработчики удваивают пропускную способность когда захотят - как с версией 3.0. Однако в проектах, над которыми мне приходится работать, я не ожидаю увидеть какую-либо разницу. Большая часть моей работы связана с авиасимуляторами, но они, как правило, упираются в память и производительность ввода/вывода жёсткого диска; графическая шина не является "узким местом" вообще. Но я могу с лёгкостью предвидеть, что шина PCI Express 3.0 обусловит существенное продвижение вперёд для сферы вычислений на GPU; для людей, которые выполняют научную работу с большими массивами данных".



Нажмите на картинку для увеличения.

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

Любой геймер с чипсетом Intel P55 может рассказать о преимуществах и недостатках Intel P55 по сравнению с чипсетом Intel X58. Преимущество: большинство материнских плат на чипсете P55 стоят более разумно, чем модели на Intel X58 (в целом, конечно). Недостаток: у P55 минимальные возможности по подключению PCI Express, основная задача возложена на процессоры Intel Clarkdale и Lynnfield, которые обладают 16 линиями PCIe второго поколения в самом CPU. Между тем, X58 может похвастаться 36 линиями PCI Express 2.0.

Для покупателей P55, которые желают использовать две видеокарты, их придётся подключать через x8 линий каждую. Если вы захотите добавить к платформе Intel P55 третью видеокарту, то придётся использовать линии чипсета - но они, к сожалению, ограничены скоростью первого поколения, да и чипсет может выделить, максимум, четыре линии для слота расширения.

Когда мы поинтересовались у Эла Янса из PCI-SIG тем, сколько линий можно ожидать в чипсетах с поддержкой PCI Express 3.0 от AMD и Intel, то он ответил, что это "частная информация", которую он "не может раскрыть". Конечно, мы не ожидали получить ответ, но вопрос всё равно задать стоило. Впрочем, вряд ли AMD и Intel, которые входят в состав PCI-SIG Board of Directors, стали бы инвестировать время и деньги в PCI Express 3.0, если бы они планировали использовать новый стандарт PCI Express просто как средство снижения числа линий. Как нам кажется, в будущем чипсеты AMD и Intel будут по-прежнему сегментироваться так, как мы наблюдаем сегодня, у high-end платформ будет достаточно возможностей для подключения пары видеокарт с полным интерфейсом x16, а у чипсетов для массового рынка число линий будет урезано.

Представьте себе чипсет, подобный Intel P55, но с 16 доступными линиями PCI Express 3.0. Поскольку эти 16 линий работают в два раза быстрее PCI Express 2.0, то мы получим эквивалент 32 линиям старого стандарта. В такой ситуации от Intel будет зависеть, пожелает ли она сделать чипсет совместимым с конфигурациями 3-way и 4-way GPU. К сожалению, как мы уже знаем, чипсеты следующего поколения Intel P67 и X68 будут ограничены поддержкой PCIe 2.0 (а процессоры Sandy Bridge будут точно так же ограничены поддержкой 16 линий на кристалле).

Помимо параллельных вычислений CUDA/Fusion, мы также видим рост возможностей систем для массового рынка благодаря повышению скорости связи компонентов PCI Express 3.0 - здесь, как нам кажется, тоже скрыт немалый потенциал. Вне всякого сомнения, PCI Express 3.0 улучшит возможности недорогих материнских плат, которые в предыдущем поколении были доступны только high-end платформам. А high-end платформы, получившие в своё распоряжение PCI Express 3.0, позволят нам поставить новые рекорды по производительности благодаря инновациям в графике, подсистеме хранения данных и сетевых технологиях, которые смогут использовать доступную пропускную способность шины.

Поддержка интерфейса PCI Express 3.0 в материнских платах – реальное преимущество или маркетинговый ход?

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

Напомним, что стандарт PCI Express 3.0 был утвержден в прошлом году. Он обладает многочисленными преимуществами над своими предшественниками, поэтому не удивительно что производители видеокарт и материнских плат хотят как можно скорее реализовать его в своих решениях. Однако, существующие на сегодня чипсеты от компаний Intel и AMD ограничены поддержкой стандарта PCI Express 2.0. Единственная надежда воспользоваться преимуществами интерфейса PCI Express 3.0 в ближайшей перспективе связана с новыми процессорами Intel Ivy Bridge, анонс которых запланирован лишь на март-апрель следующего года. В этих процессорах интегрирован контроллер шины PCI Express 3.0, но им смогут воспользоваться только графические чипы, поскольку другие компоненты используют контроллер чипсета.

Отметим, что лишь заменой процессора дело не ограничивается. Необходимо дополнительно обновить настройки BIOS и прошивку чипсета. Кроме этого, на материнских платах с несколькими слотами PCI Express x16 появляется проблема с «переключателями» − маленькими микросхемами, которые располагаются возле каждого слота и отвечают за оперативное реконфигурование количества выделенных линий. Данные «переключатели» также должны быть совместимы с интерфейсом PCI Express 3.0. При этом следует отметить, что мостовые микросхемы nForce 200 или Lucid поддерживают лишь стандарт PCI Express 2.0 и они не могут работать со спецификацией PCI Express 3.0.

Последним аргументом является то, что на данный момент у производителей материнских плат отсутствуют инженерные образцы новых процессоров линейки Intel Ivy Bridge или новых графических чипов, в которых на аппаратном уровне реализована поддержка спецификации PCI Express 3.0. Тому анонсированная совместимость с этим высокоскоростным интерфейсом является теоретической и не может, на данный момент, быть практически подтверждена.

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

Технологии PCI Express 3.0

В версии PCI Express 3.0 максимальная полоса пропускания канала была увеличена до 8 ГТ/с с незначительными изменениями протокола обмена, форм-фактора и методов обеспечения целостности данных.

Реальная скорость передачи данных по PCI Express 3.0 вдвое выше, чем у PCI Express 2.0. Материнские платы с поддержкой PCI Express 3.0 смогут работать с видеокартами, потребляющими до 300 Вт . Дополнительная мощность будет потребляться через разъёмы питания, подключаемые к видеокарте. У величение скорости передачи данных осуществляется и за счет развития новых технологий.

Именно для обеспечения высокой пропускной способности при ограниченной частоте было принято решение перейти на использование более агрессивной схемы кодирования 128b130b, которая предусматривает передачу всего 1,6% избыточной информации, по сравнению с 20% в текущей схеме кодирования 8b10b. Выбор такого принципа устранения избыточности вместо перехода на 10 ГТ/с был обусловлен тем, что 8 ГТ/с является наиболее оптимальным компромиссом между затратами, возможностями производства, энергопотреблением и совместимостью. Отказаться от повышения частоты до 10 ГГц пришлось, прежде всего, из соображений сохранения уровня энергопотребления в разумных границах, поскольку рост частоты сопровождается экспоненциальным увеличением потребляемой мощности. Вместе с тем, планируется сохранение механической совместимости PCIe 3.0 с разъемами, используемыми в более ранних версиях стандарта.

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

В составе готовых систем новые интерфейсы начали появляться еще в 2011 г., с основным прицелом на «жадные» к пропускной способности графические чипы в настольных системах высокого уровня и серверы, использующие мультипортовые карты 10 Гбит Ethernet и 8 Гбит Fibre Channel. Что касается устройств, для которых потребуется быстродействие PCI Express 3.0, то это коммутаторы PLX, контроллеры Ethernet 40 Гбит/с, InfiniBand, твёрдотельные устройства, которые становятся всё популярнее, и, конечно, видеокарты. Все возможные инновации разработчики PCI Express еще не исчерпали, и они появляются не статически, а непрерывным потоком, который открывает путь для дальнейших улучшений в будущих версиях интерфейса PCI Express. Первые материнские платы и графические адаптеры с поддержкой PCI Express 3.0 вышли уже в 2011 году.

Поддержка виртуальных каналов. Механизм виртуальных каналов, иначе VC (Virtual Channel ) , является "фун-даментом" для поддержки различных сервисов внутри структуры PCI Express . Он разрешает развертывание физически независимых ресурсов, ко-торые в совокупности с маркировкой трафика необходимы для оптимизиро-ванной обработки разнородного трафика. Маркировка трафика поддерживает-ся через использование маркеров (меток) класса транзакций или, иначе, ТС (Transaction Class ) TLP-уровня. Точная политика для разнородного трафика регулируется путем отображения TC / VC и путем арбитража на уровне VC . Отображение TC/VC зависит от требований применения платформы. Эти тре-бования управляют выбором алгоритма арбитража VC и конфигурируемостью/программируемостью арбитров, что обеспечивает точную настройку политики обслуживания трафика. Механизмы виртуальных каналов (VC) с прицелом на бу-дущее адресуют следующие уровни детализации:

Поддерживаемые конфигурации TC/VC;

Правила и алгоритмы арбитража, основанного на VC;

Рассмотрение упорядочивания трафика;

Изохронную поддержку, как определенную пользовательскую модель.

Поддерживаемые конфигурации TC / VC . Виртуальный канал (VC) устанавливается, когда один или несколько клас-сов транзакций (ТС) связываются с физическим ресурсом VC, назначенным идентификатором ID VC. Каждый поддерживаемый класс трафика "Traffic Class" должен быть отображен в один из виртуальных каналов. Основная (базо-вая) конфигурация PCI Express должна поддерживать пару по умолчанию TC0/VC0, которая является постоянной, т. е. не конфигурируемой. Любая под-держка выше данного уровня является необязательной. Процесс конфигуриро-вания TC/VC управляется системным ПО, использующим программную модель. Для упрощения взаимодействия при конфигурировании множества виртуальных каналов через канал PCI Express, в стандарте определены ограничения для мно-жества разрешенных (правильных) конфигураций VC. В общем, отображение трафика в виртуальный канал, отличный от TC0/VC0, является задачей сис-темного ПО. Основными конфигурациями TC/VC являются следующие:

Симметричное отображение трафика в виртуальный канал;

Реотображение трафика в виртуальный канал.

Многопортовые компоненты (коммутаторы и корневые комплексы) должны поддерживать независимое отображение TC/VC для каждого порта PCI Express.

Механизм " Device Synchronization Stop ". Изменение нумерации шин системным ПО во время функционирования сис-темы может привести к изменению ID запросчика данного устройства (осно-ванного на номерах шин); это может привести к тому, что любые запросы или выполнения для этого устройства еще в процессе их передачи могут быть изменены неверно в соответствии с изменением в ID запросчика. Также жела-тельно гарантировать, чтобы во время извлечения устройства Hot-Plug не про-исходило никаких выходящих транзакций. Механизм "Device Synchronization Stop" позволяет системному ПО гарантировать, что в процессе передачи по от-ношению к конкретному оконечному устройству не будет находиться никаких транзакций до выполнения операции ренумерации шин, которая может при-вести к изменению номера данного устройства (и ID запросчика). Синхронная остановка для оконечных устройств реализована через механизм "Stop" и связана с битом Stop регистра Device Command и битом Transac-tions Pending регистра Device Status. Системное ПО сообщает устройству требование остановиться путем установ-ки бита Stop в регистре Device Command устройства. ПО считает операцию остановки выполненной, если устройство сообщает, что больше нет незавер-шенных транзакций путем сбрасывания бита статуса Transactions Pending в регистре Device Status; при этом устройству не запрещено издавать любой новый запрос после того, как установлен бит Stop. Прежде чем сбросить бит Transaction Pending, оконечное устройство долж-но гарантировать, что:

Выполнения небуферизуемых запросов для всех используемых классов трафика были приняты соответствующими запросчиками;

Все запросы, инициированные данным устройством, имеют возвращенные выполнения;

Все буферизованные запросы всех классов трафика были "очище-ны/сброшены" (т. е. были приняты предназначенными целями) во всех на-правлениях между оконечным устройством и системой и между одноранго-выми оконечными устройствами.

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

Блокированные транзакции. Поддержка задержанных транзакций необходима для предотвращения бло-кировки в системе при использовании унаследованного ПО, которое иниции-рует доступы к устройствам ввода-вывода. Некоторые процессоры могут ге-нерировать блокированные доступы как результат выполнения инструкций, которые неявно блокируют счетчик. Некоторое старое ПО неправильно приме-няет эти транзакции и генерирует блокированные последовательности, даже ко-гда монопольный доступ не требуется. Поскольку блокированные доступы к устройствам ввода-вывода приводят к потенциальным блокировкам помимо упомянутых выше, что может привести к серьезному снижению производи-тельности, то для оконечных устройств PCI Express запрещена поддержка мо-нопольных доступов. Новое ПО также не должно использовать инструкции, которые будут инициировать монопольные доступы к устройствам ввода-вывода. Поддержка оконечными устройствами монопольных доступов введена только из-за вопросов совместимости с существующим ПО. Инициирование блокированных запросов PCI Express разрешено только корне-вому комплексу. Блокированные запросы, инициированные оконечными устройствами и мостами, не поддерживаются. Данная непротиворечивость с ограничениями для блокированных транзакций использует принципы специфи-кации "PCILocal Bus Specification" версии 2.3. Данный раздел определяет правила, связанные с поддержкой монопольных доступов от главного процессора к устройствам Legacy Endpoint, включая рас-пространение таких транзакций через коммутаторы и мосты PCI Express/PCI.

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

Блокировка инициируется на PCI Express, используя тип "lock" - Read Request/Completion (MRdLk/CplDLk) и завершается с сообщением "Unlock" (семантика MRdLk, CplDLk и Unlock разрешена только для класса

трафика, определенного по умолчанию (ТСО)).

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

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

Последовательности блокированных транзакций начинаются с запроса MRdLk (любые последовательные чтения для блокированных транзакций также используют запросы MRdLk; выполнения для любого запроса MRdLk используют тип выполнения CplDLk).

Оконечные устройства Legacy Endpoint . Устройствам Legacy Endpoint запрещено поддерживать монопольные доступы, хотя и допускается их использование. Если монопольный доступ поддержан, устройство должно обрабатывать его в соответствии со следующими прави-лами:

Устройство становится блокированным, когда оно передает первое вы-полнение для первою запроса чтения монопольного доступа. (один раз заблокированное устройство должно оставаться в этом состоя-нии, пока оно не примет сообщения "Unlock");

При нахождении в заблокированном состоянии устройство не должно ге-нерировать никакого запроса, использующего классы трафика, которые отображаются в виртуальный канал по умолчанию (VC0) (данное требование применяется ко всем возможным источникам запросов внутри оконечного устройства, в случае, когда внутри него присутствуют больше чем один возможный источник; запросы могут быть сгенерированы путем использования класса трафика, отображаемого в виртуальный канал, отличный от виртуального канала «по умолчанию»).

Оконечные устройства PCI Express . Оконечные устройства PCI Express не поддерживают монопольный доступ. Данные устройства должны интерпретировать запросы MRdLk как непод-держиваемые запросы.

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

Сброс Power Good Reset, происходящий после подачи питания к ком-поненту, называется холодным сбросом или, иначе, Cold Reset . В некоторых случаях возможен запуск механизма "Power Good Reset" аппаратным обеспечением без снятия и подачи питания компонента. Такой сброс называется теплым сбросом или, иначе, Warm Reset .

Также существует внеполосный механизм для распространения сброса за пределами канала, он называется горячим сбросом или, иначе, Hot Reset . Переход в состояние "DL_Inactive" в некоторых случаях идентичен сбросу Hot Reset.

При выходе из любого типа сброса (Cold, Warm или Hot), все регистры порта и конечные автоматы должны быть установлены в их начальные состояния, определенные стандартом PCI Express .

При выходе из состояния Power Good Reset физический уровень будет пы-таться запустить ("поднять") канал. Как только оба компонента вошли в со-стояние начальной проверки канала, то далее их состояние будет изменять-ся через инициализацию канала для физического уровня и затем через инициализацию для виртуального канала VC0, подготавливая таким обра-зом уровень транзакций и канальный уровень к использованию канала. После инициализации VC0 пакеты TLP и DLLP могут быть переданы через канал.

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

Правила требований адресации для компонентов и устройств разделяются на два подмножества:

Требования к компонентам;

Требования к системе.

Требования правил адресации к компонентам. Компонент должен входить в начальное активное состояние проверки канала в пределах 80 мс после завершения сброса Power Good Reset. В некоторых системах возможно, что два компонента на канале могут выйти из состояния Power Good Reset в разное время. Каждый компонент должен соблюдать требования для входа в начальное активное состояние провер-ки канала в пределах 80 мс после окончания Power Good Reset с их точки зрения, т. е. после того, как они определили, что произошел выход из сброса. При выполнении проверки канала (вхождении в состояние "DL_Active") компонент должен быть способен принять и обработать пакеты TLP и DLLP.

Требования правил адресации к системе. В целях корректного выполнения компонентом внутренней инициализа-ции системное ПО должно ожидать минимум 100 мс после окончания сброса (Cold/Warm/Hot), перед тем как разрешать генерирование конфигу-рационных запросов к устройствам PCI Express. Система должна гарантировать, что все компоненты, предназначенные для взаимодействия с ПО во время загрузки, готовы принять конфигурацион-ные запросы в пределах 100 мс после окончания состояния Power Good Reset (реализация не определена стандартом и возлагается на разработчика).

Корневой комплекс и/или системное ПО после сброса (Hot/Warm/Cold) должны ожидать от устройства возвращения статуса "Successful Completion" для правильного конфигурационного запроса 1.0 с. По истечении этого времени устройство считается неисправным. Если корневой комплекс повторяет конфигурационные запросы, за-вершенные со статусом "Configuration Request Retry", тогда они долж-ны быть повторены до 1 с после истечения времени Tоrc (время задержки корневого комплекса), в этой точке корневой комплекс может завершить запрос как неподдерживаемый. Данная задержка аналогична параметру T rhfa , определенному для PCI/PCI-X, и предназначена для выделения адекватного количества времени устройству, которому необходимо провести собственную ини-циализацию. При попытке конфигурационного доступа к устройствам в PCl или PCI-X сегменте позади PCI xpress/PCI(PCI -X) моста временной параметр T rhfa дол-жен соответствовать данным стандартам.

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

Установка бита Secondary Bus Reset в регистре Bridge Control ;

Переход в состояние " DL _ Inactive " на основной стороне моста;

Сброс канала с использованием механизма физического уровня для со-общения " Link Reset " .

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

Во всех случаях, когда подано питание, должны быть определены следующие временные параметры:

Tpvpgl - минимальное время, в течение которого сигнал PowerGood дол-жен оставаться неактивным после подачи питания;

T pwrgd - минимальное время, в течение которого сигнал Power_Good дол-жен находиться в неактивном состоянии после снятия;

Тfail - после подачи питания сигнал Power_Good должен быть снят внутри этого временного интервала.

Кроме того, могут быть определены и дополнительные параметры.

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

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

Технология PCI Express подходит к решению проблем, характерных для обычной технологии "горячего" подключения устройств, следующим путем:

Технология PCI Express изначально разрабатывалась с учетом возможности горячего подключения устройств, поэтому регистры управления "горячим" подключением являются частью стандарта PCI Express (в отличие от стандарта SHPC1.0);

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

Обеспечена стандартная возможность "горячего" подключения аппаратными средствами, определенная на базовом архитектурном уровне;

В основе технологии лежит стандартная базовая архитектура контроллеров "горячего" подключения (Standard Hot-Plug Controller, SHPC).

Усовершенствование конструктивных характеристик повышает надежность платформы при относительно низких затратах на производство OEM-продукции.

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

С корпусом

С разъемом шины

С оконечным устройством (адаптером)

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

Базовая архитектура технологии PCI Express основана на стандартной архитектуре контроллеров "горячего" подключения (Standard Hot-Plug Controller, SHPC), как определено в спецификации PCI Standard Hot-Plug Controller and Subsystem Specification, Revision 1.0. Эта спецификация опубликована группой PCI Special Interest Group (PCI SIG) и доступна на Web-сайте группы PCI-SIG. Технология PCI Express использует всю совокупность компонентов стандартной архитектуры SHPC, которые сведены в таблицу, представленную ниже. В столбцах "Области компонентов" представлены составляющие платформы, реализующие модель SHPC.

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

Технология PCI Express использует достоинства имеющейся архитектуры ввода/вывода и в то же время отвечает насущным и будущим потребностям благодаря возможности включения и отключения поддержки элементов расширения собственными средствами операционной системы. Этот метод управления, названный «горячим подключением под управлением операционной системы» (Operating System Hot-Plug, OSHP), должен обеспечиваться резидентной программой платформенной BIOS с поддержкой механизма ACPI. Если поддержка расширения Native отключена, то управление горячим подключением передается интерфейсу ACPI BIOS. Если поддержка расширения собственными средствами операционной системы включена, то ACPI BIOS не задействуется, позволяя операционной системе самостоятельно управлять "горячим" подключением устройств.

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

Технология PCI Express поддерживает возможность "горячего" подключения устройств как для модульных, так и для интегрированных решений. Значительным усовершенствованием, которое внесла технология PCI Express в существующие принципы, является разъем типа "mate-last/break-first" (сначала питание, затем подключение), который защищает аппаратные средства от сбоев. Одно из ключевых преимуществ технологии "горячего" подключения PCI Express по сравнению с предыдущими моделями заключается в уникальности модулей PCI Express - их подключение осуществляется через заднюю или переднюю панель и не требует вскрытия корпуса.

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

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

Разработчики аппаратных средств должны включать в свои новые проекты поддержку технологии

Разработчики программного обеспечения должны включать поддержку OSHP в новые версии BIOS и внедрить модель использования на базе архитектуры SHPC;

OEM-производители должны распространять интегрированную серверную продукцию на базе компонентов, поддерживающих технологию PCI Express;

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

Архитектура PCI Express разработана с собственной поддержкой горячего подключения и горячей замены устройств (стандартная пользовательская модель) для всех форм факторов PCI Express, поддерживающих "горячую" замену и "горячее" подключение устройств. Эта модель предоставляет основу для поведения индикаторов и кнопок, если они реализованы в системе. Определение индикаторов и кнопок применяется ко всем моделям PCI Express Hot-Plug .

Пользовательская модель PCI Express Hot - Plug . Стандартная пользовательская модель, как следует из названия, в первую очередь нацелена на пользователей, которые эксплуатируют системы со сло-тами Hot-Plug. Такое назначение объясняется тем, что обычно в пользова-тельских системах присутствует аппаратное и программное обеспечение от различных производителей. Модель позволяет пользователям использовать слоты Hot-Plug их систем без дополнительного переобучения. Стандартная пользовательская модель PCI Express Hot-Plug выведена из стандартной поль-зовательской модели, определенной в спецификации "PCI Standard Hot-Plug Controller and Subsystem Specification" версии 1.0. Данные модели идентичны с точки зрения пользователя. Были произведены лишь незначительные изменения в определениях регистров и соответствия со стандартной пользовательской моделью, требуемые всеми форм-факторами PCI Express, которые реализуют Hot-Plug и используют индикаторы и кнопки.

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

Сложность эксплуатации для пользователя;

Более дорогое тестирование аппаратного обеспечения;

Функциональная несовместимость с системным ПО;

Ошибки системного ПО из-за непроверенного поведения системы.

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

Включено,

Выключено,

Мерцание.

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

Мерцающие индикаторы функционируют на часто-те от 1 до 2 Гц с коэффициентом заполнения 50% (± 5%). Мерцающие инди-каторы не должны быть синхронизированы и синфазны между портами.

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

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

Индикатор внимания. Индикатор внимания " Attention " желтого или янтарного цвета используется для указания на проблемы функционирования или указывает, что слот Hot-Plug находится в процессе идентификации , что позволяет локализовать его состояние.

Индикатор внимания выключен. Когда индикатор внимания "Attention" выключен, это означает, что плата расширения (если таковая представлена) и слот Hot-Plug функционируют нормально и не требуют внимания.

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

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

Мерцание индикатора внимания. Мерцание индикатора внимания "Attention" означает, что системное ПО идентифицирует данный слот при запросе оператора. Данное поведение управляется пользователем (например, через программный интерфейс поль-зователя или средства управления).

Индикатор питания. Индикатор питания имеет приятный зеленый цвет и используется для указа-ния состояния питания слота (табл. 9).

Индикатор питания отключен. Когда индикатор питания выключен, это означает, что разрешена установка или извлечение платы расширения. Основное питание слота снято, если это необ-ходимо для форм-фактора, примером снятия основного питания является форм-фактор платы PCI Express. Если платформа обеспечивает напряжение Vaux в слоты Hot-Plug и защелка MRL закрыта, то любые сигналы, коммутируе-мые защелкой MRL, сообщаются в слот независимо от состояния индикатора. При открытии защелки MRL коммутируемые ей сигналы снимаются. Систем-ное ПО должно отключать индикатор питания, когда слот не запитан и/или разрешено вставлять или извлекать платы расширения. Данное правило дик-туется соответствующей электромеханической спецификацией на форм-фак-тор.

Индикатор питания включен. Когда индикатор питания включен, это означает, что основное питание пода-но в слот и что установка или извлечение платы расширения запрещено.

Мерцание индикатора питания. Мерцание индикатора питания означает, что в слот подается питание или снимается из него и что установка или извлечение плат расширения запреще-но. Мерцание индикатора питания также обеспечивает оператора зрительной обратной связью при нажатии кнопки "Attention Button".

Ручная защелка MRL . Защелка MRL (Manually-operated Retention Latch) - это управляемый вруч-ную механизм удержания, который удерживает плату расширения в слоте и предотвращает извлечение платы пользователем. Эта защелка жестко держит плату в слоте, так что кабели могут быть присоединены без риска создания прерывистого контакта. В платформах, которые не реализуют сенсоры MRL, разрешены защелки MRL, которые держат две или больше плат расширения одновременно.

Сенсор MRL . Сенсором MRL может быть коммутируемое, оптическое или другое сенсорное устройство , которое сообщает порту позицию защелки MRL . Сенсор MRL со-общает "закрыто", когда защелка MRL полностью закрыта, и "открыто" во всех других случаях (т. е. полностью открыта и все промежуточные поло-жения). Если питание Vaux подведено к слотам Hot-Plug, то коммутируемые защел-кой MRL сигналы должны быть автоматически сняты со слота, если сенсор MRL указывает, что защелка MRL открыта, и сигналы должны быть поданы в слот, если сенсор MRL указывает, что защелка MRL была снова закрыта. Сенсор MRL позволяет порту отслеживать позицию защелки MRL и, следо-вательно, позволяет определить внезапное открытие защелки MRL. Когда внезапное открытие защелки MRL связано с уже идентифицированным слотом, то порт изменяет состояние этого слота на выключенное и уведомляет системное ПО. Порт не изменяет состояние индикаторов питания и внимания.

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

Кнопка внимания. Кнопка внимания (Attention Button ) является кнопкой мгновенного срабаты-вания, размещенной рядом с каждым слотом Hot-Plug или на модуле, и управляется пользователем для начала операции "горячего" извлечения или замены в данном слоте . Индикатор питания обеспечивает визуальную обратную связь с оператором (если системное ПО принимает запрос, инициированный кнопкой внимания) путем мерцания . Как только индикатор питания замерцал, то пользователю дается пятисекундный интервал времени на отмену , во время которого по-вторное нажатие кнопки отменяет операцию .

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

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

В системах с несколькими слотами Hot-Plug системное ПО должно позволять пользователю инициировать операции в каждом слоте независимо от состоя-ния остальных слотов. Таким образом, пользователю разрешено инициировать операции Hot-Plug в слоте, используя либо программный пользовательский интерфейс, либо кнопку внимания (Attention Button), пока на другом слоте происходит операция Hot-Plug, независимо от того, какой интерфейс был ис-пользован для начала первой операции.

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

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

Полное питание системы (информация об источнике питания);

Полное питание, выделенное системным встроенным ПО (устройствами материнской платы);

Полное количество слотов и типов слотов.

Системное встроенное ПО отвечает за выделение питания для всех устройств на материнской плате, которые не имеют функций распределения питания. Встроенное ПО может как охватывать стандартные устройства PCI Express, которые соединены со стандартными шинами питания, так и не выделять пи-тание для них. При выделении встроенным ПО питания для устройства, ПО должно установить бит SYSTEM_ALLOC регистра Power Budget Capability (регистр устройства) в состояние логической " 1", для указания успешности опе-рации. Менеджер распределения питания отвечает за выделение питания всем устройствам PCI Express, в том числе устройствам материнской платы, имеющим функции распределения питания, но которые были помечены для выделения. Менеджер распределения питания также отвечает за определение возможности подключения устройств Hot-Plug в системе.

Указанные методы могут обеспечить одинаковую функциональность, и не тре-буется, чтобы процесс распределения питания был реализован именно в этой манере.

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

Поля Slot Power Limit Value и Scale регистра Slot Capability, реализован-ного в Downstream-портах корневого комплекса и коммутатора;

Поля Slot Power Limit Value и Scale регистра Device Capability, реализованно-го в Upstream-портах оконечного устройства, коммутатора и моста PCI Express-to-PCI;

Сообщение "Set_Slot_Power_Limit". Это сообщение передает содержимое полей Slot Power Limit Value и Scale регистра Slot Capability порта Down-stream (корневого комплекса или коммутатора) в соответствующие поля Slot Power Limit Value и Scale регистра Device Capability порта Upstream компо-нента, присоединенного к тому же каналу.

Пределы потребляемой мощности на платформе обычно контролируются ПО (например, встроенным ПО платформы), которое учитывает специфику плат-формы, такую как:

Разделение платформы, включая слоты для расширения ввода-вывода, ис-пользующие платы/модули расширения;

Возможности по обеспечению питанием;

Температурные возможности.

Данное ПО отвечает за корректное программирование полей Slot Power Limit Value и Scale регистров Slot Capability портов Downstream, соединенных со слотами расширения. После того как значение было записано в регистр внут-ри Downstream-порта, оно передается к другому компоненту, соединенному с этим портом путем сообщения "Set_SlotJPower_Limit". Получатель должен использовать содержащееся в сообщении значение для ограничения использова-ния питания всей платы/модуля. Исключение составляют платы/модули, кото-рые ни при каких условиях не выходят за предел минимального значения, определенного в соответствующей электромеханической спецификации. Предполагается, что программное обеспечение драйвера устройства платы/модуля будет в состоянии (путем чтения значения полей Slot Power Limit Value и Scale регистра Device Capability) отконфигурировать аппаратное обеспечение платы/модуля таким образом, что плата/модуль не превысят продиктованный предел. В случае, когда платформа определяет предел, кото-рый ниже минимума, необходимого для нормального функционирования, драйвер устройства должен быть в состоянии сообщить данное несоответствие верхнему уровню конфигурационного ПО.

Системой должны соблюдаться следующие правила относящиеся к механизму управления "Slot Power Limit" для плат/модулей:

До тех пор, пока не будет принято сообщение "Set_Slot_Power_Limit", ука-зывающее значение предела, большее чем минимальное значение, опреде-ленное в электромеханической спецификации для форм-фактора платы или модуля, плата/модуль не должны потреблять питания больше, чем оп-ределено этим минимальным значением;

Максимально допустимая потребляемая мощность для платы/модуля оп-ределяется самым большим значением из всех принятых сообщений " Set_Slot_Power_Lim it".

Оконечным устройствам, коммутатору и мосту PCI Express-to-PC 1, которые предназначены для объединения на плате/модуле, где полное потребление мощности ниже минимального предела для данного форм-фактора, запре-щено игнорировать сообщения "Set_Slot_Powcr_Limit" и возвращать значе-ние "0" в нолях Slot Power Limit Value и Scale регистра Device Capability.

Перечисленные ранее компоненты должны корректно принять сообщение "Set_Slot_Power_Limit", но вместо обработки просто отменить его.

Правила относящиеся к механизму управления "Slot Power Limit"для корневых комплексов и коммутаторов, содержащих слоты:

Downstream-порт не должен передавать сообщение "Set_Slot_Power_Limit", предел которого будет меньше, чем минимальное значение, определенное в электромеханической спецификации для форм-фактора этих слотов.

Управляющие регистры Slot Power Limit . Обычно регистры Slot Power Limit внутри Downstream-портов корневого комплекса или коммутатора программируются специфическим программным обеспечением платформы. Некоторые реализации могут использовать аппа-ратный метод для инициализации значения этих регистров и таким образом не требуют программной поддержки.

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

  1. Здравствуйте! Объясните пожалуйста разницу в пропускной способности между интерфейсом PCI Express 3.0 x16 и PCI Express 2.0 x16. Сейчас ещё есть в продаже материнские платы с интерфейсом PCI Express 2.0 x16. Я с ильно потеряю в производительности видюхи, если установлю новую видеокарту интерфейса PCI Express 3.0 на компьютер с материнской платой, где есть только разъём PCI-E 2.0? Думаю что потеряю, ведь суммарная скорость передачи данных у PCI Express 2.0 равна - 16 ГБ/с, а суммарная скорость передачи данных у PCI Express 3.0 в два раза больше - 32 ГБ/с.
  2. Привет! У меня компьютер с мощным, но уже не новым процессором Intel Core i7 2700K и материнской платой, на которой имеется разъём PCI Express 2.0. Скажите, если я куплю новую видеокарту интерфейса PCI Express 3.0, то эта видеокарта будет работать в два раза медленнее, чем если бы у меня была материнка с разъёмом PCI Express 3.0? То есть мне пора менять компьютер?
  3. Ответьте пожалуйста на такой вопрос. На моей материнской плате есть два разъёма: PCI Express 3.0 и PCI Express 2.0, но в разъём PCI Express 3.0 новая видеокарта PCI Express 3.0 не лезет, мешает радиатор южного моста. Если я установлю видеокарту PCI-E 3.0 в слот PCI-E 2.0, то моя видеокарта будет работать хуже, чем если бы она была установлена в слот PCI Express 3.0 ?
  4. Здравствуйте, хочу купить у приятеля за две тысячи рублей немного бывшую в употреблении материнскую плату. Три года назад он покупал её за 7000 рублей, но меня смущает то, что на ней слот для видеокарты интерфейса PCI-E 2.0, а видеокарта у меня PCI-E 3.0. Моя видеокарта на этой материнской плате будет работать на полную мощность или нет?

Привет друзья! На сегодняшний день в продаже можно встретить материнские платы с разъёмом для установки видеокарт PCI Express 2.0 x16, так и PCI Express 3.0 x16. Тоже самое можно сказать и о графических адаптерах, в продаже встречаются видеокарты с интерфейсом PCI-E 3.0, а также PCI-E 2.0. Если смотреть официальные характеристики интерфейсов PCI Express 3.0 x16 и PCI Express 2.0 x16, то вы узнаете, что суммарная скорость передачи данных у PCI Express 2.0 равна - 16 ГБ/с, а у PCI Express 3.0 она в два раза больше - 32 ГБ/с. Не буду углубляться в дебри специфики работы этих интерфейсов и просто скажу вам, что такая большая разница в скорости передачи данных видна лишь в теории, на практике же она очень небольшая. Если читать статьи на эту тему в интернете, то вы придёте к выводу, что современные видеокарты интерфейса PCI Express 3.0 работают с одинаковой скоростью в разъёмах PCI Express 3.0 x16 и PCI Express 2.0 x16 и разница в пропускной способности между PCI-E 3.0 x16 и PCI-E 2.0 x16 составляет всего 1-2% потери производительности видеокарты . То есть, всё равно в какой слот вы установите видеокарту, в PCI-E 3.0 или PCI-E 2.0, работать всё будет одинаково.

Но к сожалению все эти статьи написаны в 2013 и 2014 году и в то время не было таких игр, как Far Cry Primal, Battlefield 1 и других новинок, появившихся в 2016 году. Также в 2016 году увидело свет семейство графических процессоров NVIDIA 10-ой серии, к примеру видеокарты GeForce GTX 1050 и GeForce GTX 1050 Ti и даже GTX 1060. Мои эксперименты с новыми играми и новыми видеокартами показали, что преимущество интерфейса PCI-E 3.0 над PCI-E 2.0 уже далеко не 1-2%, а в среднем 6-7%. Что интересно, если видеокарта ниже классом, чем GeForce GTX 1050 , то процент меньше (2-3 %) , а если наоборот, то больше - 9-13%.

Итак, в своём эксперименте я использовал видеокарту GeForce GTX 1050 интерфейса PCI-E 3.0 и материнскую плату с разъёмами PCI Express 3.0 x16 и PCI Express 2.0 x16.

Н астройки графики в играх везде максимальные.

  1. Игра FAR CRY PRIMAL. Интерфейс PCI-E 3.0 показал преимущество над PCI-E 2.0, так как всегда выше на 4-5 кадров, что в процентом соотношении примерно 4 % %.
  2. Игра Battlefield 1.Отрыв PCI-E 3.0 от PCI-E 2.0 составил 8-10 кадров , что в процентом соотношении примерно 9 %.
  3. Rise of the Tomb Raider. Преимущество PCI-E 3.0 составляет в среднем 9- 10 fps или 9 %.
  4. Ведьмак. Преимущество PCI-E 3.0 составил 3 %.
  5. Grand Theft Auto V. Преимущество PCI-E 3.0 составляет 5 fps или 5 %.

То есть, разница в пропускной способности между интерфейсом PCI-E 3.0 x16 и PCI-E 2.0 x16 всё же есть и не в пользу PCI-E 2.0. Поэтому я бы не стал покупать на данный момент материнскую плату с одним разъёмом PCI-E 2.0.

Один мой приятель купил бывшую в употреблении материнскую плату за три тысячи рублей. Да, когда-то она была наворочена и стоила около десяти тысяч рублей, на ней много разъёмов SATA III и USB 3.0, также 8 слотов для оперативки, она поддерживает технологию RAID и др, но построена она на устаревшем чипсете и слот для видеокарты на ней PCI Express 2.0! Моё мнение, лучше бы купил . Почему?

Вполне может так случиться, что уже через год-два новейшие видеокарты будут работать только в разъёме PCI Express 3.0 x16 , а на вашей материнке будет морально-устаревший и уже неиспользуемый производителями разъём PCI Express 2.0 x16 . Вы купите новую видеокарту, а она откажется работать в старом разъёме. Лично я уже много раз сталкивался с тем, что видеокарта PCI-E 3.0 не запускалась на мат. плате с разъёмом PCI-E 2.0, и не помогало даже обновление БИОСа материнской платы. Также я имел дело с видеокартами PCI-E 2.0 x16, которые отказывались работать на старых материнских платах с интерфейсом PCI-E 1.0 x16, хотя везде пишут об обратной совместимости. Случаев, когда видеокарта PCI Express 3.0 x16 не заводилась на материнках с PCI Express 1.0 x16, ещё больше.

Ну и не забудьте о появлении уже в этом году интерфейса PCI Express 4.0. В этом случае устаревшим окажется уже PCI Express 3.0.

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

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

Для чего необходим PCI-Express и что это такое?

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

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

Рис.2 (Слоты PCI-Express 3.0 на материнской плате)

Основные характеристики PCI–Express (1.0, 2.0 и 3.0)

Несмотря на то, что названия PCI и PCI-Express очень похожи, принципы соединения (взаимодействия) у них кардинально отличаются. В случае PCI-Express используется линия – двунаправленное последовательное соединение, типа «точка-точка», данных линий может быть несколько. В случае с видеокартами и материнскими платами (не учитываем Cross Fire и SLI), которые поддерживают PCI-Express x16 (то есть большинство), можно запросто догадаться, что таких линий 16 (рис.3), довольно часто на материнских платах с PCI-E 1.0, можно было наблюдать второй слот x8, для работы в режиме SLI или Cross Fire.

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

Рис. 3. Пример слотов с различным количеством линий

(как уже говорилось ранее, наиболее часто используется х16)


Для интерфейса пропускная способность составляет 2,5 Гбит/c. Эти данные нужны нам, чтобы отслеживать изменения этого параметра в различных версиях PCI-E.

Далее, версия 1.0 эволюционировала в PCI-E 2.0 . В результате данного преображения, мы получили в два раза большую пропускную способность, то есть 5 Гбит/c, но хотелось бы отметить, что в производительности графические адаптеры, особо не выиграли, так как это просто версия интерфейса. Большая часть производительности зависит от самой видеокарты, версия интерфейса может только незначительно улучшать или тормозить передачу данных (в данном случае «торможения» нет, и присутствует неплохой запас).

Точно так же в 2010 году, с запасом, был разработан интерфейс PCI-E 3.0 , на данный момент он используется во всех новых системах, но если у Вас все ещё 1.0 или 2.0, то не горюйте – ниже мы поговорим о относительно обратной совместимости различных версий.

В версии PCI-E 3.0, пропускная способность была увеличена в два раза по сравнению с версией 2.0. Также там было произведено немало технических изменений.

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

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

Обратная совместимость версий PCI-Express 1.0, 2.0 и 3.0

Данный вопрос волнует многих, особенно при выборе видеокарты для текущей системы. Так как довольствуясь системой с материнской платой, которая поддерживает PCI-Express 1.0, возникают сомнения, будет ли корректно работать видеокарта с PCI-Express 2.0 или 3.0? Да, будет, по крайней мере так обещают разработчики, которые обеспечили эту самую совместимость. Единственное то, что видеокарта, не сможет полностью раскрыться во всей красе, но потери производительности, в большинстве случаев, будут незначительны.


С точностью наоборот, можно преспокойно устанавливать видеокарты с интерфейсом PCI-E 1.0, в материнские платы, которые поддерживают PCI-E 3.0 или 2.0, тут вообще ничего не ограничивается, так что будьте спокойны по поводу совместимости. Если, конечно же, с другими факторами все в порядке, к таковым можно отнести недостаточно мощный блок питания и т.д.

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