Материнские платы 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, позволят нам поставить новые рекорды по производительности благодаря инновациям в графике, подсистеме хранения данных и сетевых технологиях, которые смогут использовать доступную пропускную способность шины.

Если спросить, какой интерфейс следует использовать для твердотельного накопителя с поддержкой протокола NVMe, то любой человек (вообще знающий, что такое NVMe) ответит: конечно PCIe 3.0 x4! Правда, с обоснованием у него, скорее всего, возникнут сложности. В лучшем случае получим ответ, что такие накопители поддерживают PCIe 3.0 x4, а пропускная способность интерфейса имеет значение. Иметь-то имеет, однако все разговоры об этом начались только тогда, когда некоторым накопителям на некоторых операциях стало тесно в рамках «обычного» SATA. Но ведь между его 600 МБ/с и (столь же теоретическими) 4 ГБ/с интерфейса PCIe 3.0 x4 - просто пропасть, причем заполненная массой вариантов! А вдруг и одной линии PCIe 3.0 хватит, поскольку это уже в полтора раза больше SATA600? Масла в огонь подливают производители контроллеров, грозящиеся в бюджетной продукции перейти на PCIe 3.0 x2, а также тот факт, что у многих пользователей и такого-то нет. Точнее, теоретически есть, но высвободить их можно, лишь переконфигурировав систему или даже что-то в ней поменяв, чего делать не хочется. А вот купить топовый твердотельный накопитель - хочется, но есть опасения, что пользы от этого не будет совсем никакой (даже морального удовлетворения от результатов тестовых утилит).

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

PCI Express: существующие стандарты и их пропускная способность

Начнем с того, что́ представляет собой PCIe и с какой скоростью этот интерфейс работает. Часто его называют «шиной», что несколько неверно идеологически: как таковой шины, с которой соединены все устройства, нет. На деле имеется набор соединений «точка-точка» (похожий на многие другие последовательные интерфейсы) с контроллером в середине и присоединенными к нему устройствами (каждое из которых само по себе может быть и концентратором следующего уровня).

Первая версия PCI Express появилась почти 15 лет назад. Ориентация на использование внутри компьютера (нередко - и в пределах одной платы) позволила сделать стандарт скоростным: 2,5 гигатранзакции в секунду. Поскольку интерфейс последовательный и дуплексный, одна линия PCIe (x1; фактически атомарная единица) обеспечивает передачу данных на скоростях до 5 Гбит/с. Однако в каждом направлении - лишь половина от этого, т. е. 2,5 Гбит/с, причем это полная скорость интерфейса, а не «полезная»: для повышения надежности каждый байт кодируется 10 битами, так что теоретическая пропускная способность одной линии PCIe 1.x составляет примерно 250 МБ/с в каждую сторону. На практике нужно еще передавать служебную информацию, и в итоге правильнее говорить о ≈200 МБ/с передачи пользовательских данных. Что, впрочем, на тот момент времени не только покрывало потребности большинства устройств, но и обеспечивало солидный запас: достаточно вспомнить, что предшественница PCIe в сегменте массовых системных интерфейсов, а именно шина PCI, обеспечивала пропускную способность в 133 МБ/с. И даже если рассматривать не только массовую реализацию, но и все варианты PCI, то максимумом были 533 МБ/с, причем на всю шину, т. е. такая ПС делилась на все подключенные к ней устройства. Здесь же 250 МБ/с (поскольку и для PCI приводится обычно полная, а не полезная пропускная способность) на одну линию - в монопольном использовании. А для устройств, которым нужно больше, изначально была предусмотрена возможность агрегирования нескольких линий в единый интерфейс, по степеням двойки - от 2 до 32, т. е. предусмотренный стандартом вариант х32 в каждую сторону мог передавать уже до 8 ГБ/с. В персональных компьютерах х32 не использовался из-за сложности создания и разведения соответствующих контроллеров и устройств, так что максимумом стал вариант с 16 линиями. Использовался он (да и сейчас используется) в основном видеокартами, поскольку большинству устройств столько не требуется. Вообще, немалому их количеству и одной линии вполне достаточно, но некоторые применяют с успехом и х4, и х8: как раз по накопительной теме - RAID-контроллеры или SSD.

Время на месте не стояло, и около 10 лет назад появилась вторая версия PCIe. Улучшения касались не только скоростей, но и в этом отношении был сделан шаг вперед - интерфейс начал обеспечивать 5 гигатранзакций в секунду с сохранением той же схемы кодирования, т. е. пропускная способность удвоилась. И еще раз она удвоилась в 2010 году: PCIe 3.0 обеспечивает 8 (а не 10) гигатранзакций в секунду, но избыточность уменьшилась - теперь для кодирования 128 бит используется 130, а не 160, как ранее. В принципе, и версия PCIe 4.0 с очередным удвоением скоростей уже готова появиться на бумаге, но в ближайшее время в железе мы ее массово вряд ли увидим. На самом деле и PCIe 3.0 до сих пор в массе платформ используется совместно с PCIe 2.0, потому что и производительность последней для многих сфер применения просто... не нужна. А где нужна - работает старый добрый метод агрегации линий. Только каждая из них стала за прошедшие годы вчетверо быстрее, т. е. PCIe 3.0 х4 - это PCIe 1.0 x16, самый быстрый слот в компьютерах середины нулевых. Именно этот вариант поддерживают топовые контроллеры SSD, и именно его рекомендуется использовать. Понятно, что если такая возможность есть - много не мало. А если ее нет? Будут ли возникать какие-то проблемы, и если да, то какие? Вот с этим-то вопросом нам и предстоит разобраться.

Методика тестирования

Провести тесты с разными версиями стандарта PCIe несложно: практически все контроллеры позволяют использовать не только поддерживаемый ими, но и все более ранние. Вот с количеством линий - сложнее: нам хотелось непосредственно протестировать и варианты с одной-двумя линиями PCIe. Используемая нами обычно плата Asus H97-Pro Gamer на чипсете Intel H97 полного набора не поддерживает, но кроме «процессорного» слота х16 (который обычно и используется) на ней есть еще один, работающий в режимах PCIe 2.0 х2 или х4. Вот этой тройкой мы и воспользовались, добавив к ней еще и режим PCIe 2.0 «процессорного» слота, дабы оценить, есть ли разница. Все-таки в этом случае между процессором и SSD посторонних «посредников» нет, а вот при работе с «чипсетным» слотом - есть: собственно чипсет, фактически соединяющийся с процессором тем же PCIe 2.0 x4. Можно было добавить еще несколько режимов работы, но основную часть исследования мы все равно собирались провести на другой системе.

Дело в том, что мы решили воспользоваться случаем и заодно проверить одну «городскую легенду», а именно поверие о полезности использования топовых процессоров для тестирования накопителей. Вот и взяли восьмиядерный Core i7-5960X - родственника обычно применяемого в тестах Core i3-4170 (это Haswell и Haswell-E), но у которого ядер в четыре раза больше. Кроме того, обнаруженная в закромах плата Asus Sabertooth X99 нам сегодня полезна наличием слота PCIe x4, на деле способного работать как х1 или х2. В этой системе мы протестировали три варианта х4 (PCIe 1.0/2.0/3.0) от процессора и чипсетные PCIe 1.0 х1, PCIe 1.0 х2, PCIe 2.0 х1 и PCIe 2.0 х2 (во всех случаях чипсетные конфигурации отмечены на диаграммах значком (c) ). Есть ли смысл сейчас обращаться к первой версии PCIe, с учетом того, что вряд ли найдется хоть одна плата с поддержкой только этой версии стандарта, способная загрузиться с NVMe-устройства? С практической точки зрения - нет, а вот для проверки априори предполагаемого соотношения PCIe 1.1 х4 = PCIe 2.0 х2 и подобных оно нам пригодится. Если проверка покажет, что масштабируемость шины соответствует теории, значит, и неважно, что нам не удалось пока получить практически значимые способы подключения PCIe 3.0 x1/х2: первый будет идентичен как раз PCIe 1.1 х4 или PCIe 2.0 х2, а второй - PCIe 2.0 х4. А они у нас есть.

В плане ПО мы ограничились только Anvil’s Storage Utilities 1.1.0: разнообразные низкоуровневые характеристики накопителей она измеряет неплохо, а ничего другого нам и не нужно. Даже наоборот: любое влияние других компонентов системы является крайне нежелательным, так что низкоуровневая синтетика для наших целей безальтернативна.

В качестве «рабочего тела» мы использовали Patriot Hellfire емкостью 240 ГБ . Как было установлено при его тестировании, это не рекордсмен по производительности, но его скоростные характеристики вполне соответствуют результатам лучших SSD того же класса и той же емкости. Да и более медленные устройства на рынке уже есть, причем их будет становиться все больше. В принципе, можно будет повторить тесты и с чем-нибудь более быстрым, однако, как нам кажется, необходимости в этом нет - результаты предсказуемы. Но не станем забегать вперед, а посмотрим, что же у нас получилось.

Результаты тестов

Тестируя Hellfire, мы обратили внимание на то, что максимальную скорость на последовательных операциях из него можно «выжать» лишь многопоточной нагрузкой, так что это тоже надо принимать во внимание на будущее: теоретическая пропускная способность на то и теоретическая, что «реальные» данные, полученные в разных программах по разным сценариям, будут больше зависеть не от нее, а от этих самых программ и сценариев - в том случае, конечно, когда не помешают обстоятельства непреодолимой силы:) Как раз такие обстоятельства мы сейчас и наблюдаем: выше уже было сказано, что PCIe 1.x x1 - это ≈200 МБ/с, и именно это мы и видим. Две линии PCIe 1.x или одна PCIe 2.0 - вдвое быстрее, и именно это мы и видим. Четыре линии PCIe 1.x, две PCIe 2.0 или одна PCIe 3.0 - еще вдвое быстрее, что подтвердилось для первых двух вариантов, так что и третий вряд ли будет отличаться. То есть в принципе масштабируемость, как и предполагалось, идеальная: операции линейные, флэш с ними справляется хорошо, так что интерфейс имеет значение. Флэш перестает справляться хорошо на PCIe 2.0 x4 для записи (значит, подойдет и PCIe 3.0 x2). Чтение «может» больше, но последний шаг дает уже полутора-, а не двукратный (каким он потенциально должен быть) прирост. Также отметим, что заметной разницы между чипсетным и процессорным контроллером нет, да и между платформами тоже. Впрочем, LGA2011-3 немного впереди, но на самую малость.

Все ровно и красиво. Но шаблоны не рвет : максимум в этих тестах составляет лишь немногим больше 500 МБ/с, а это вполне по силам даже SATA600 или (в приложении к сегодняшнему тестированию) PCIe 1.0 х4 / PCIe 2.0 х2 / PCIe 3.0 х1 . Именно так: не стоит пугаться выпуску бюджетных контроллеров под PCIe х2 или наличию лишь такого количества линий (причем версии стандарта 2.0) в слотах М.2 на некоторых платах, когда больше-то и не нужно. Иногда и столько не нужно: максимальные результаты достигнуты при очереди в 16 команд, что для массового ПО не типично. Чаще встречается очередь с 1-4 командами, а для этого обойтись можно и одной линией самого первого PCIe и даже самым первым SATA. Впрочем, накладные расходы и прочее имеют место быть, так что быстрый интерфейс полезен. Однако излишне быстрый - разве что не вреден.

А еще в этом тесте по-разному ведут себя платформы, причем с единичной очередью команд - принципиально по-разному. «Беда» вовсе не в том, что много ядер - плохо. Они тут все равно не используются, разве что одно, и не настолько, чтоб вовсю развернулся буст-режим. Вот и имеем разницу где-то в 20% по частоте ядер и полтора раза по кэш-памяти - она в Haswell-E работает на более низкой частоте, а не синхронно с ядрами. В общем, топовая платформа может пригодиться разве что для вышибания максимума «йопсов» посредством максимально многопоточного режима с большой глубиной очереди команд. Жаль только, что с точки зрения практической работы это совсем уж сферическая синтетика в вакууме:)

На записи положение дел принципиально не изменилось - во всех смыслах. Но, что забавно, на обеих системах самым быстрым оказался режим PCIe 2.0 х4 в «процессорном» слоте. На обеих! И при многократных проверках/перепроверках. Тут уж поневоле задумаешься, нужны ли эти ваши новые стандарты или лучше вообще никуда не торопиться...

При работе с блоками разного размера теоретическая идиллия разбивается о то, что повышение скорости интерфейса все же имеет смысл. Результирующие цифры такие, что хватило бы пары линий PCIe 2.0, но реально в таком случае производительность ниже, чем у PCIe 3.0 х4, пусть и не в разы. И вообще тут бюджетная платформа топовую «забивает» в куда большей степени. А ведь как раз такого рода операции в основном в прикладном ПО и встречаются, т. е. эта диаграмма - наиболее приближенная к реальности. В итоге нет ничего удивительного, что никакого «вау-эффекта» толстые интерфейсы и модные протоколы не дают. Точнее, переходящему с механики - дадут, но ровно такой же, какой ему обеспечит любой твердотельный накопитель с любым интерфейсом.

Итого

Для облегчения восприятия картины по больнице в целом мы воспользовались выдаваемым программой баллом (суммарным - по чтению и записи), проведя его нормирование по «чипсетному» режиму PCIe 2.0 x4: на данный момент именно он является наиболее массово доступным, поскольку встречается даже на LGA1155 или платформах AMD без необходимости «обижать» видеокарту. Кроме того, он эквивалентен PCIe 3.0 x2, который готовятся освоить бюджетные контроллеры. Да и на новой платформе AMD АМ4, опять же, именно этот режим как раз можно получить без влияния на дискретную видеокарту.

Итак, что мы видим? Применение PCIe 3.0 x4 при наличии возможности является, безусловно, предпочтительным, но не необходимым: NVMe-накопителям среднего класса (в своем изначально топовом сегменте) он приносит буквально 10% дополнительной производительности. Да и то - за счет операций в общем-то не столь уж часто встречающихся на практике. Для чего же в данном случае реализован именно этот вариант? Во-первых, была такая возможность, а запас карман не тянет. Во-вторых, есть накопители и побыстрее, чем наш тестовый Patriot Hellfire. В-третьих, есть такие области деятельности, где «атипичные» для настольной системы нагрузки - как раз вполне типичные. Причем именно там наиболее критично быстродействие системы хранения данных или, по крайней мере, возможность сделать ее часть очень быстрой. Но к обычным персональным компьютерам это все не относится.

В них, как видим, и использование PCIe 2.0 x2 (или, соответственно, PCIe 3.0 х1) не приводит к драматическому снижению производительности - лишь на 15-20%. И это несмотря на то, что потенциальные возможности контроллера в этом случае мы ограничили в четыре раза! Для многих операций и такой пропускной способности достаточно. Вот одной линии PCIe 2.0 уже недостаточно, поэтому контроллерам имеет смысл поддерживать именно PCIe 3.0 - и в условиях жесткой нехватки линий в современной системе это будет работать неплохо. Кроме того, полезна ширина х4 - даже при отсутствии поддержки современных версий PCIe в системе она все равно позволит работать с нормальной скоростью (пусть и медленнее, чем могло бы потенциально), если найдется более-менее широкий слот.

В принципе, большое количество сценариев, в которых узким местом оказывается собственно флэш-память (да, это возможно и присуще не только механике), приводит к тому, что четыре линии третьей версии PCIe на этом накопителе обгоняют одну первой примерно в 3,5 раза - теоретическая же пропускная способность этих двух случаев различается в 16 раз. Из чего, разумеется, не следует, что нужно спешно бежать осваивать совсем медленные интерфейсы - их время ушло безвозвратно. Просто многие возможности быстрых интерфейсов могут быть реализованы лишь в будущем. Или в условиях, с которыми обычный пользователь обычного компьютера никогда в жизни непосредственно не столкнется (за исключением любителей меряться известно чем). Собственно, и всё.

  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. Но даже стандарт PCI Express имеет свои разновидности и отличающийся друг от друга характер подключения. На новых материнских платах, начиная примерно с 2010 года, можно увидеть на одной материнской плате целую россыпь портов, обозначенных как PCIE или PCI-E , которые могут отличаться по количеству линий: одной x1 или нескольких x2, x4, x8, x12, x16 и x32.

Итак, давайте выясним почему такая путаница среди казалось бы простого периферийного порта PCI Express. И какое предназначение у каждого стандарта PCI Express x2, x4, x8, x12, x16 и x32?

Что такое шина PCI Express?

В далеких 2000-х, когда состоялся переход с устаревающего стандарта PCI (расш. - взаимосвязь периферийных компонентов) на PCI Express, у последнего было одно огромное преимущество: вместо последовательной шины, которой и была PCI, использовалась двухточечная шина доступа. Это означало, что каждый отдельный порт PCI и установленные в него карты, могли в полной мере использовать максимальную пропускную способность не мешая друг другу, как это происходило при подключении к PCI. В те времена количество периферийных устройств, вставляемых в карты расширения, было предостаточно. Сетевые карты, аудио карты, ТВ-тюнеры и так далее - все требовали достаточное количество ресурсов ПК. Но в отличие от стандарта PCI, использовавшего для передачи данных общую шину с подключением параллельно нескольких устройств, PCI Express, если рассматривать в общем, является пакетной сетью с топологией типа звезда.


PCI Express x16, PCI Express x1 и PCI на одной плате

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

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

Также и с выделенными полосами передачи данных для каждой карты расширения или встроенными компонентами материнской платы.

Влияние количества линий на пропускную способность

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

PCI-E прошел множество изменений со времени своего создания. В настоящее время новые материнские платы обычно используют уже 3 версию стандарта, причем более быстрая 4 версия становится все более распространенной, а версия 5 ожидается в 2019 году. Но разные версии используют одни и те же физические соединения, и эти соединения могут быть выполнены в четырех основных размерах: x1, x4, x8 и x16. (x32-порты существуют, но крайне редко встречаются на материнских платах обычных компьютерах).

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

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

Возвращаясь к нашей метафоре: если речь идёт об одном продавце в магазине, то полоса x1 и будет этим единственным продавцом, обслуживающим одного клиента. У магазина с 4-мя кассирами - уже 4 линии х4 . И так далее можно расписать кассиров по количеству линий, умножая на 2.


Различные карты PCI Express

Типы устройств, использующих PCI Express x2, x4, x8, x12, x16 и x32

Для версии PCI Express 3.0 общая максимальная скорость передачи данных составляет 8 ГТ/с, В реальности же скорость для версии PCI-E 3 чуть меньше одного гигабайта в секунду на одну полосу.

Таким образом, устройство, использующее порт PCI-E x1, например, маломощная звуковая карта или Wi-Fi-антенна смогут передавать данные с максимальной скоростью в 1 Гбит/с.

Карта, которая физически подходит в более крупный слот - x4 или x8 , например, карта расширения USB 3.0, сможет передавать данные в четыре или восемь раз быстрее соответственно.

Скорость передачи портов PCI-E x16 теоретически ограничивается максимальной полосой пропуская в размере около 15 Гбит/с. Этого более чем достаточно в 2017 года для всех современных графических видеокарт, разработанных NVIDIA и AMD.


Большинство дискретных видеокарт используют слот PCI-E x16

Протокол PCI Express 4.0 позволяет использовать уже 16 ГТ/с, а PCI Express 5.0 будет задействовать 32 ГТ/с.

Но в настоящее время не существует компонентов, которые смогли бы использовать такое количество полос с максимальной пропускной способностью. Современные топовые графические карты обычно используют x16 стандарта PCI Express 3.0. Нет смысла использовать те же полосы и для сетевой карты, которая на порту x16 будет использовать только одну линию, так как порт Ethernet способен передавать данные только до одного гигабита в секунду (что, около одной восьмой пропускной способности одной PCI-E полосы - помните: восемь бит в одном байте).

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

Размеры портов и линий PCI-E могут различаться

Это одна из наиболее запутанных задач по PCI-E: порт может быть выполнен размером в форм-факторе x16, но иметь недостаточное количество полос для пропуска данных, например, всего например x4. Это связано с тем, что даже если PCI-E может нести на себе неограниченное количество отдельных соединений, все же существует практический предел пропускной способности полосы пропускания чипсета. Более дешевые материнские платы с более бюджетными чипсетами могут иметь только один слот x8, даже если этот слот может физически разместить карту форм-фактора x16.

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

Очевидно, это может вызывать проблемы. Если материнская плата имеет два слота размером x16, но один из них имеет только полосы x4, то подключение новой графической карты снизит производительность первой аж на 75%. Это, конечно, только теоретический результат. Архитектура материнских плат такова, что Вы не увидите резкого снижения производительности.

Правильная конфигурация двух графических видео карт должна задействовать именно два слота x16, если Вы хотите максимального комфорта от тандема двух видеокарт. Выяснить сколько линий на Вашей материнской плате имеет тот или иной слот поможет руководство на оф. сайте производителя.

Иногда производители даже помечают на текстолите материнской платы рядом со слотом количество линий

Нужно знать, что более короткая карта x1 или x4 может физически вписаться в более длинный слот x8 или x16. Конфигурация контактов электрических контактов делает это возможным. Естественно, если карта физически больше, чем слот, то вставить ее не получится.

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



Есть вопросы?

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: