Тарифы Услуги Сим-карты

Типы pci. PCI Express vs. PCI Вести со звуковых фронтов

Энциклопедичный YouTube

  • 1 / 5

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

    Устройства PCI Express взаимодействуют между собой через среду, образованную коммутаторами, при этом каждое устройство напрямую связано соединением типа точка-точка с коммутатором.

    Кроме того, шиной PCI Express поддерживается:

    • гарантированная полоса пропускания (QoS);
    • управление энергопотреблением;
    • контроль целостности передаваемых данных.

    Шина PCI Express нацелена на использование только в качестве локальной шины. Так как программная модель PCI Express во многом унаследована от PCI, то существующие системы и контроллеры могут быть доработаны для использования шины PCI Express заменой только физического уровня, без доработки программного обеспечения. Высокая пиковая производительность шины PCI Express позволяет использовать её вместо шин AGP и тем более PCI и PCI-X . Де-факто PCI Express заменила эти шины в персональных компьютерах.

    Разъёмы

    • MiniCard (Mini PCIe) - замена форм-фактора Mini PCI . На разъём Mini Card выведены шины: x1 PCIe, USB 2.0 и SMBus.
    • ExpressCard - подобен форм-фактору PCMCIA . На разъём ExpressCard выведены шины x1 PCIe и USB 2.0, карты ExpressCard поддерживают горячее подключение.
    • AdvancedTCA - форм-фактор для телекоммуникационного оборудования.
    • Mobile PCI Express Module (MXM) - промышленный форм-фактор, созданный для ноутбуков фирмой NVIDIA . Его используют для подключения графических ускорителей.
    • Кабельные спецификации PCI Express позволяют доводить длину одного соединения до десятков метров, что делает возможным создание ЭВМ, периферийные устройства которой находятся на значительном удалении.
    • StackPC - спецификация для построения наращиваемых компьютерных систем. Данная спецификация описывает разъёмы расширения StackPC, FPE и их взаимное расположение.

    PCI Express X1

    Mini PCI-E

    Mini PCI Express - формат шины PCI Express для портативных устройств.

    Для этого стандарта разъёма выпускается много периферийных устройств:

    SSD Mini PCI Express

    • Питание 3.3 В

    ExpressCard

    Слоты ExpressCard на настоящее время (ноябрь 2010) применяются для подключения:

    • Плат SSD накопителей
    • Видеокарт
    • Контроллеров 1394/FireWire (iLINK)
    • Док-станций
    • Измерительных приборов
    • Памяти
    • Адаптеров карт памяти (CF, MS, SD, xD, и т. д.)
    • Мышей
    • Сетевых адаптеров
    • Параллельных портов
    • Адаптеров PC Card/PCMCIA
    • Расширения PCI
    • Расширения PCI Express
    • Дистанционного управления
    • Контроллеров SATA
    • Последовательных портов
    • Адаптеров SmartCard
    • ТВ-тюнеров
    • Контроллеров USB
    • Беспроводных сетевых адаптеров Wi-Fi
    • Беспроводных широкополосных интернет-адаптеров (3G, CDMA, EVDO, GPRS, UMTS, и т. д.)
    • Звуковых карт для домашнего мультимедиа и профессиональных аудиоинтерфейсов.

    Описание протокола

    Для подключения устройства PCI Express используется двунаправленное последовательное соединение типа точка-точка , называемое линией (англ. lane - полоса, ряд); это резко отличается от PCI , в которой все устройства подключаются к общей 32-разрядной параллельной двунаправленной шине.

    Конкурирующие протоколы

    Кроме PCI Express, существует ещё ряд высокоскоростных стандартизованных последовательных интерфейсов, вот только некоторые из них: HyperTransport , InfiniBand , RapidIO , и StarFabric. Каждый интерфейс имеет своих сторонников среди промышленных компаний, так как на разработку спецификаций протоколов уже ушли значительные суммы, и каждый консорциум стремится подчеркнуть преимущества именно своего интерфейса над другими.

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

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

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

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

    PCI Express это шина, которая используется для подключения разнообразных комплектующих к настольному ПК. С ее помощью подключают видеокарты, сетевые карты, звуковые карты, WiFi модули и другие подобные устройства. Разработку данной шины начала компания Intel в 2002 году. Сейчас разработку новых версий данной шины занимается некоммерческая организация PCI Special Interest Group.

    На данный момент шина PCI Express полностью заменила такие устаревшие шины как AGP, PCI и PCI-X. Шина PCI Express размещается в нижней части материнской платы в горизонтальном положении.

    В чем отличия PCI Express от PCI

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

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

    Кроме этого, шина PCI Express поддерживает такие новые возможности как:

    • Горячее подключение устройств;
    • Гарантированная скорость обмена данными;
    • Управление потреблением энергии;
    • Контроль целостности передаваемой информации;

    Как работает шина PCI Express

    Для подключения устройств шина PCI Express использует двунаправленное последовательное соединение. При этом такое соединение может иметь одну (x1) или несколько (x2, x4, x8, x12, x16 и x32) отдельных линий. Чем больше таких линий используется, тем большую скорость передачи данных может обеспечить шина PCI Express. В зависимости от количества поддерживаемых линий размер сорта на материнской плате будет отличаться. Существуют слоты с одной (x1), четырьмя (x4) и шестнадцатью (x16) линиями.

    Наглядная демонстрация размеров слота PCI Express и PCI

    При этом любое PCI Express устройство может работать в любом слоте, если слот имеет такое же или большее количество линий. Это позволяет установить PCI Express карту с разъемом x1 в слот x16 на материнской плате.

    Пропускная способность PCI Express зависит от количества линий и версии шины.

    В одну/обе стороны в Гбит/с
    Количество линий
    x1 x2 x4 x8 x12 x16 x32
    PCIe 1.0 2/4 4/8 8/16 16/32 24/48 32/64 64/128
    PCIe 2.0 4/8 8/16 16/32 32/64 48/96 64/128 128/256
    PCIe 3.0 8/16 16/32 32/64 64/128 96/192 128/256 256/512
    PCIe 4.0 16/32 32/64 64/128 128/256 192/384 256/512 512/1024

    Если Вам нужна в выборе видеокарты или , звоните и мы поможем!

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

    На протяжении многих лет, для подключения видеокарты к материнской плате, использовалась шина PCI(Peripheral Component Interconnect), помимо этого она использовалась также и для подключения некоторых других устройств, например, сетевой и звуковой карты.

    Вот как выглядят эти слоты:

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

    PCI-Express поддерживает «горячее» подключение, потребляет меньшее, чем ее предшественники количество энергии, контролирует целостность передаваемых данных. К тому же она совместима с драйверами PCI – шины. Еще одной замечательной особенностью данной шины, является ее масштабируемость, т.е. pci express card подключается и работает в любом слоте аналогичной или большей пропускной способности. По всей вероятности, эта функция будет обеспечивать ее использование в последующие годы.

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

    Характеристики и пропускная способность шины PCI-E

    Она может иметь от одной двунаправленной линии соединения x1, до x32 (32 линий). Линия функционирует по принципу точка к точке. Современные версии предоставляют гораздо большую пропускную способность, по сравнению со своими предшественниками. x16 можно использовать для подключения видеокарты, а x1 и x2 могут использоваться для подключения обычных карт.

    Вот как выглядят слоты х1 и pci express x16 на :

    PCI-E
    Количество линий x1 x2 x4 x8 x16 x32
    Ширина полосы 500 Мб /с 1000 МБ /с 2000 Мб /с 4000 МБ /с 8000 МБ / с 16000 Мб / с

    Версии PCI-E и совместимость

    Когда речь идет о компьютерах, то любое упоминание о версиях ассоциируется с проблемами совместимости. И, как любая другая современная технология, PCI-E постоянно развивается и модернизируется. Последний доступный вариант pci express 3.0, но уже ведется развитие шины PCI-E версии 4.0., которая должна появиться примерно в 2015 году(pci express 2.0 практически устарела).
    Взгляните на следующую таблицу совместимости PCI-E.
    Версии PCI-E 3,0 2,0 1,1
    Общая пропускная способность
    (X16) 32 Гб / с 16 Гб / с 8 Гб / с
    Скорость передачи данных 8,0 ГТ / с 5,0 ГТ / с 2,5 ГТ / с

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

    А это на закуску:

    AGP-слот с защёлкой для графической карты.

    Большинство графических карт в пользовательских ПК используют интерфейс Accelerated Graphics Port (AGP). У самых старых систем для той же цели применяется интерфейс PCI. Впрочем, на замену обоим интерфейсам призван PCI Express (PCIe). Несмотря на название, PCI Express является последовательной шиной, а PCI (без суффикса Express) - параллельной. В общем, шины PCI и PCI Express не имеют ничего общего, помимо названия.

    Графическая карта AGP (сверху) и графическая карта PCI Express (снизу).

    Материнские платы для рабочих станций используют слот AGP Pro, который обеспечивает дополнительное питание для прожорливых карт OpenGL. Впрочем, в него можно устанавливать и обычные графические карты. Однако AGP Pro так и не получил широкое признание. Обычно прожорливые графические карты комплектуются дополнительным гнездом питания - для той же вилки Molex, к примеру.

    Дополнительное питание для графической карты: 4- или 6-контактное гнездо.

    Дополнительное питание для графической карты: гнедо Molex.

    Стандарт AGP пережил несколько обновлений.

    Стандарт Пропускная способность
    AGP 1X 256 Мбайт/с
    AGP 2X 533 Мбайт/с
    AGP 4X 1066 Мбайт/с
    AGP 8X 2133 Мбайт/с

    Если вы любите копаться в "железе", то следует помнить о двух уровнях напряжения интерфейса. Стандарты AGP 1X и 2X работают на 3,3 В, в то время как AGP 4X и 8X требуют всего 1,5 В. Кроме того, существуют карты типа Universal AGP, которые подходят для разъёма любого типа. Чтобы предотвратить ошибочную установку карт, слоты AGP используют специальные выступы. А карты - прорези.

    У верхней карты есть прорезь для AGP 3,3 В. В середине: универсальная карта с двумя вырезами (один для AGP 3,3 В, второй - для AGP 1,5 В). Снизу показана карта с вырезом справа для AGP 1,5 В.

    Слоты расширения материнской платы: PCI Express x16 линий (сверху) и 2 PCI Express x1 линия (снизу).

    Два слота PCI Express для установки двух графических карт nVidia SLi. Между ними можно заметить маленький слот PCI Express x1.

    PCI Express является последовательным интерфейсом, и его не следует путать с шинами PCI-X или PCI, которые используют параллельную передачу сигналов.

    PCI Express (PCIe) является самым современным интерфейсом для графических карт. В то же время, он подходит и для установки других карт расширения, хотя на рынке пока их очень мало. PCIe x16 обеспечивает в два раза большую пропускную способность, чем AGP 8x. Но на практике это преимущество так себя и не проявило.

    Графическая карта AGP (сверху) в сравнении с графической картой PCI Express (снизу).

    Сверху вниз: PCI Express x16 (последовательный), два интерфейса параллельной PCI и PCI Express x1 (последовательный).

    Число линий PCI Express Пропускная способность в одном направлении Суммарная пропускная способность
    1 256 Мбайт/с 512 Мбайт/с
    2 512 Мбайт/с 1 Гбайт/с
    4 1 Гбайт/с 2 Гбайт/с
    8 2 Гбайт/с 4 Гбайт/с
    16 4 Гбайт/с 8 Гбайт/с

    PCI является стандартной шиной для подключения периферийных устройств. Среди них можно отметить сетевые карты, модемы, звуковые карты и платы захвата видео.

    Среди материнских плат для широкого рынка больше всего распространена шина PCI стандарта 2.1, работающая на частоте 33 МГц и имеющая ширину 32 бита. Она обладает пропускной способностью до 133 Мбит/с. Производители так широко и не приняли шины PCI 2.3 с частотой до 66 МГц. Именно поэтому карт данного стандарта очень мало. Но некоторые материнские платы этот стандарт поддерживают.

    Ещё одна разработка в мире параллельной шины PCI известна как PCI-X. Данные слоты чаще всего встречаются на материнских платах для серверов и рабочих станций, поскольку PCI-X обеспечивает более высокую пропускную способность для RAID-контроллеров или сетевых карт. К примеру, шина PCI-X 1.0 предлагает пропускную способность до 1 Гбит/с с частотой шины 133 МГц и разрядностью 64 бита.

    Спецификация PCI 2.1 сегодня предусматривает напряжение питания 3,3 В. Левый вырез/выступ предотвращает установку старых 5-В карт, которые показаны на иллюстрации.

    Карта с вырезом, а также PCI-слот с ключом.

    RAID-контроллер для 64-битного слота PCI-X.

    Классический 32-битный слот PCI сверху, а три 64-битных слота PCI-X снизу. Зелёный слот поддерживает ZCR (Zero Channel RAID).

    Словарик

    • PCI = Peripheral Component Interconnect


    СОДЕРЖАНИЕ

    Если спросить, какой интерфейс следует использовать для твердотельного накопителя с поддержкой протокола 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 раз. Из чего, разумеется, не следует, что нужно спешно бежать осваивать совсем медленные интерфейсы - их время ушло безвозвратно. Просто многие возможности быстрых интерфейсов могут быть реализованы лишь в будущем. Или в условиях, с которыми обычный пользователь обычного компьютера никогда в жизни непосредственно не столкнется (за исключением любителей меряться известно чем). Собственно, и всё.