Пропускная способность pci e x4

Обновлено: 04.07.2024

Если спросить, какой интерфейс следует использовать для твердотельного накопителя с поддержкой протокола 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 несложно: практически все контроллеры позволяют использовать не только поддерживаемый ими, но и все более ранние. Вот с количеством линий — сложнее: нам хотелось непосредственно протестировать и варианты с одной-двумя линиями 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 того же класса и той же емкости. Да и более медленные устройства на рынке уже есть, причем их будет становиться все больше. В принципе, можно будет повторить тесты и с чем-нибудь более быстрым, однако, как нам кажется, необходимости в этом нет — результаты предсказуемы. Но не станем забегать вперед, а посмотрим, что же у нас получилось.

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



Все ровно и красиво. Но шаблоны не рвет: максимум в этих тестах составляет лишь немногим больше 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 x4: на данный момент именно он является наиболее массово доступным, поскольку встречается даже на LGA1155 или платформах AMD без необходимости «обижать» видеокарту. Кроме того, он эквивалентен PCIe 3.0 x2, который готовятся освоить бюджетные контроллеры. Да и на новой платформе AMD АМ4, опять же, именно этот режим как раз можно получить без влияния на дискретную видеокарту.


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

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

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

Разница в пропускной способности между интерфейсом PCI Express 3.0 x16 и PCI Express 2.0 x16


Привет друзья! На сегодняшний день в продаже можно встретить материнские платы с разъёмом для установки видеокарт 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 .

То есть, разница в пропускной способности между интерфейсом 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! Моё мнение, лучше бы купил недорогую материнскую плату (4 тысячи рублей), но на современном чипсете и с разъёмом под видеокарту PCI-E 3.0 x16. Почему?

Вполне может так случиться, что уже через год-два новейшие видеокарты будут работать только в разъёме 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 x16, x8, x4 и x1

Стандарт 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, если рассматривать в общем, является пакетной сетью с топологией типа звезда.

PCIE x16, PCIE x1 и PCI

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 и столько же линий для максимальной пропускной способности.

пять слотов PCI-E x16

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

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

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

метки на материнской плате PCI Express x1 и x4

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

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

Шина PCI Express x1, x2, x4, x8, x16

PCI Express (PCIe или PCI-E) – высокоскоростная локальная шина применяемая для расширения аппаратных возможностей ПК путем установки дополнительного «железа»: видеокарта, аудиокарта, сетевая карта, Bluetooth и Wi-Fi модули, специализированные контроллеры диагностики и т.д.

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

Протокол PCI Express

При такой организации, любое из устройств PCI Express имеет прямое двунаправленное последовательное соединение с коммутатором шины, которое может иметь одну (x1) или несколько линий (x2, x4, x8, x16). Приём и передача информации производится каждым устройством PCI Express по отдельным двум проводникам, таким образом, в простейшем случае, устройство подключается к коммутатору PCI Express всего лишь четырьмя проводниками. Данный метод позволяет карте для PCI Express корректно работать в любом слоте той же или большей пропускной способности, то есть карта PCI-E x1 будет работать в слотах PCI-E x4 и PCI-E x16.

Совместимость версий PCI Express

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

Та же ситуация наблюдается и при использовании устройства с версией интерфейса PCI Express 2.0 в слоте PCI Express 3.0. Пропускная способность останется на уровне версии PCI Express 2.0.

Читайте также: