promontory pcie speed что это
Чем отличается дорогой SSD M.2 от дешевого
Содержание
Содержание
Выбирая SSD-накопитель формата М.2 для персонального компьютера порой задаешься вопросом: «А нужно ли переплачивать за более дорогую модель или взять дешевую такого же объема?». В поиске ответа на этот вопрос мы рассмотрим потребительские SSD с интерфейсом подключения по PCI-E.
Данный интерфейс имеет несколько поколений (версий), которые отличаются между собой пропускной способностью.
Интерфейс
Интерфейс PCI-E 3.0 x2
Его пропускная способность менее 2 Гб/с — это связано с тем, что одна линия третьего поколения PCI-E способна пропустить данные со скоростью до 1 Гб/с (985 Мб/с). Данный интерфейс уже не часто встретишь на рынке SSD-накопителей, в основном он используется в недорогих моделях.
Интерфейс PCI-E 3.0 x4
Он имеет 4 линии передачи данных. Максимальная скорость передачи составляет чуть меньше 4 Гб/с. В настоящее время это один из самых популярных интерфейсов у PCI-E SSD-накопителей.
Интерфейс PCI-E 4.0 x4
На сегодняшний день это один из самых быстрых интерфейсов для передачи данных. Одна линия четвертого поколения PCI-E способна передать данные с максимальной скоростью до 2 Гб/с, а 4 линии — до 8 Гб/с (7,88 Гб/с). Данный интерфейс используется на одних из самых дорогих SSD-накопителей.
Скорость передачи данных у SSD-накопителей может ограничиваться интерфейсом подключения на материнских платах. На материнских платах есть специальное гнездо для накопителей формата M.2, который использует PCI-E линии с процессора и управляются чипсетом материнской платы.
Например, SSD-накопитель с логическим интерфейсом PCI-E 4.0 x4 и объемом на 500Гб на PCI-E 4.0 x4 показывает максимальную скорость чтения — 6900 Мбайт/сек, а записи — 5000 Мбайт/сек. На PCI-E 3.0 x4 его максимальная скорость чтения и записи будет приблизительно 3940 Мбайт/сек. Поэтому если вы не планируете в ближайшее время менять материнскую плату с большим числом линий, а также с более новыми поколениями совместимых интерфейсов, то брать SSD с более быстрым PCI-E нет смысла.
С помощью программы CrystalDiskInfo можно узнать текущей режим подключения в строке «Режим передачи».
Контроллеры
Помимо PCI-E интерфейса SSD-накопители отличаются между собой контроллером — он обеспечивает обмен данными с шиной PCI-E, а так же управляет операциями по чтению и записи в ячейках памяти. От того насколько эффективно контроллер осуществляет эти команды и зависит быстродействие всего SSD-накопителя.
В контроллере важно количество ядер и каналов. Чем больше ядер и каналов, тем лучше производительность и скорость SSD-накопителя при чтении и записи информации, следовательно, цена на данный накопитель будет выше, чем у более слабого контролера.
Модель контролера
PS5007-E7
PS5008-E8
PS50012-E12
Шина
PCIe Gen3x4
PCIe Gen3x2
PCIe Gen3x4
Поддерживаемая память
MLC/TLC
MLC/TLC
QLC/TLC
Кол-во ядер CPU
Потоков
Макс. скорость чтения, ГБ/с
Макс. скорость записи, ГБ/с
Чтобы узнать какой контролер именно в вашем SSD-накопителе достаточно заглянуть в описание характеристик, так же можно посмотреть на самом SSD-накопителе маркировку контролера.
Фирм, выпускающих контролеры, довольно много. Но самые известные можно перечислить по пальцам: Silicon Motion, Phison, Realtek, Samsung.
Тип памяти
Немаловажным аспектом при выборе SSD-накопителя является тип памяти. На сегодняшний день существует четыре типа памяти:
SLC «Single Level Cell» — на один блок помещается 1 бит информации. Данный тип памяти используется на дорогих SSD-накопителях и выдерживает около 100 тыс. перезаписей.
MLC «Multi Level Cell — на один блок помещается 2 бита информации. Данная память используется на высокоскоростных SSD-накопителях, которые выдерживают около 10 тыс. перезаписей, такие SSD существенно дешевле, чем память на SLC.
TLC «Triple Level Cell» — в нем на один блок записывается 3 бита информации. TLC память используется в подавляющем количестве накопителей. Его ресурс приблизительно 3–5 тыс. перезаписей.
QLC «Quad Level Cell» — новый тип памяти из четырех представленных. На один блок записывается 4 бита информации. Память QLC является самой дешевой на сегодняшний день и ее ресурс около 1 тыс. перезаписей.
Бренд
Если мы сравниваем именитые бренды, которые зарекомендовали себя на рынке, с неизвестными брендами с «поднебесной», то можно сказать многое. У именитого производителя SSD работают по передаче данных на заявленной скорости, имеют гарантию, их техническое описание соответствует реальности. Неизвестные бренды не всегда могут похвастаться этим: их скорость передачи данных может не соответствовать заявленной, а компонентная база SSD-накопителя собирается на неизвестных моделях.
Одним из самых популярных брендов SSD-накопителей является Samsung. Связано это с тем, что компания сама производит компонентную базу для своих накопителей, а так же обеспечивает максимальную скорость передачи данных и надежность на своих SSD-накопителях, но не стоит забывать и о других брендах. Например, Western Digital, его SSD- накопителем WD Black SN850 может с легкостью потягаться с Samsung 980 PRO по скорости передачи данных на чтении и записи, а другие производители SSD-накопителей могут не показывать столь выдающихся результатов, но при этом быть столь же надежными и стоить намного дешевле.
Шина PCIe: только ли физические ограничения влияют на скорость передачи?
Начну издалека. Прошлой зимой довелось мне делать USB-устройство с ядром, размещаемым в ПЛИС. Само собой, очень мне хотелось проверить реальную пропускную способность этой шины. Ведь в контроллере — там слишком много всего наверчено. Всегда можно сказать, что вот тут внесена задержка, или вон там. В случае же с ПЛИС — я вижу блок, прокачивающий данные, вот он сказал мне, что в нём данные есть. А вот я выставил, что всё обработано, и я готов принимать новую порцию (при этом, он уже принимает данные во второй буфер этой же конечной точки). Отлично, ставим готовность с первого же такта и смотрим, что получается, когда USB может «молотить» без остановки.
А получается удивительная вещь. Если USB 2.0 устройство воткнуто в «голубенький» разъём (это который USB 3.0), то скорость получается одна. Если в «чёрненький» — другая. Вот мой график зависимости скорости записи в USB от длины передаваемых данных. USB3 и USB2 — это тип разъёма, устройство всегда USB 2.0 HS.
Я пробовал в разных машинах. Результат — близок. Никто не мог объяснить мне этот феномен. Уже потом я нашёл наиболее вероятную причину. А причина очень проста. Вот свойства контроллера USB 2.0:
У контроллеров, управляющих «голубеньким» разъёмом такого нет. А разница — как раз примерно процентов 20.
Из этого мы делаем вывод, что не всегда ограничения пропускной способности определяются физическими свойствами шины. Иногда накладываются ещё какие-то вещи. Переходим с этими знаниями в наши дни.
Первичный эксперимент
Итак. Всё начиналось весьма буднично. Шла проверка одной программы. Проверялся процесс записи данных одновременно на несколько дисков. Аппаратура простая: имеется материнская плата с четырьмя PCIe-слотами. Во все слоты воткнуты совершенно одинаковые карточки с AHCI-контроллерами, каждый из которых поддерживает исключительно PCIe x1.
Каждая карта обслуживает 4 накопителя.
И вот выясняется следующий эффект. Берём один диск и начинаем записывать на него данные. Получаем скорость от 180 до 220 мегабайт в секунду (здесь и далее, мегабайт — это 1024*1024 байт):
Берём второй накопитель. Скорость записи на него — от 170 до 190 МБ/с:
Пишем сразу на оба — получаем просадку скорости:
Суммарная скорость получается в районе 290 МБ/с. Но удивительность состоит в том, что отлаживали (так получилось) эту программу мы на тех же накопителях, но на других каналах. И там всё было хорошо. Быстро перетыкаем в те каналы (они будут идти через другую карту), получаем прекрасную работу:
Куплю слот в хорошем районе
Сразу скажу, что винить во всём какие-то чужие компоненты не стоит. Здесь всё написано нами, начиная от самой программы, заканчивая драйверами. Так что весь путь прохождения данных может быть проконтролирован. Неизвестность наступает только когда запрос ушёл в аппаратуру.
После первичного разбора выяснилось, что скорость не ограничивается в «длинных» слотах PCIe и ограничивается в «коротких». Длинные — это куда можно вставить карты x16 (правда, один из них работает в режиме не выше x4), а короткие — только для карт x1.
Всё бы ничего, но контроллеры в текущих картах в принципе не могут работать в режиме, отличном от PCIex1. То есть, все контроллеры должны быть в абсолютно идентичных условиях, независимо от длины слота! Ан нет. Кто живёт в «длинном» — работает быстро, кто в «коротком» — медленно. Хорошо. А быстро — насколько быстро? Добавляем третий накопитель, пишем на все три.
В «коротких» слотах ограничение всё ещё в районе 290 МБ/с:
В «длинных» — в районе 400 МБ/с:
Я перерыл весь Интернет. Во-первых, через некоторое время я уже смеялся со статей, где говорится о том, что пропускная способность PCIe gen 1 и gen 2 для x1 составляет 250 и 500 МБ/с. Это «сырые» мегабайты. За счёт оверхеда (я использую это нерусское слово, чтобы обозначить служебный обмен, идущий по тем же линиям, что и основные данные) для gen 2 получается именно 400 мегабайт в секунду полезного потока. Во-вторых, я упорно не мог найти ничего про магическую цифру 290 (забегая вперёд — до сих пор не нашёл).
Отлично. Пытаемся глянуть на топологию включения наших контроллеров. Вот она (013-015 — это суффиксы имён устройств, по которым я сопоставил их, чтобы как-то различать). Зелёные —быстрые, красные — медленные.
Контроллер «015» мы даже не рассматриваем. Он живёт в привилегированном слоте, предназначенном для видеокарты. Но 013-й подключён к тому же коммутатору, что и 012-й с 014-м. Чем он отличается?
Отдельные статьи говорят, что разные карты могут отличаться параметрами Max Payload. Я изучил конфигурационное пространство всех карт — этот параметр стоит у всех в одном и том же, минимально возможном значении. Мало того, в документации на чипсет этой материнки сказано, что иного значения и быть не может.
В общем, я перерыл всё в конфигурационном пространстве — всё настроено идентично. А скорость разная! Многократно перечитал документацию на чипсет — никаких настроек пропускной способности. Приоритеты — да, что-то про них написано, но тесты же ведутся при полном отсутствии нагрузки по другим каналам! То есть дело не в них.
На всякий случай, я даже отключил работу программы по прерываниям. Нагрузка на процессор возросла до безумных величин, ведь теперь он постоянно тупо читает бит готовности, но показания скорости не изменились. Так что обвинить в проблемах эту подсистему тоже нельзя.
А что там у других плат?
Попробовали поменять материнскую плату на точно такую же. Никаких изменений. Попробовали заменить процессор (были основания считать, что он барахлит). Тоже никаких изменений скорости (но старый процессор и правда барахлил). Поставили материнскую плату более нового поколения — всё просто летает на всех слотах. Причём предельная скорость уже не 400, а 418 мегабайт в секунду, хоть в «длинных», хоть в «коротких» слотах:
Но здесь — никаких чудес. Привычным движением руки (за эти дни уже привык) считываем конфигурационное пространство и видим, что параметр Max Payload установлен не на 128, а на 256 байт.
Больше размер пакета — меньше количество пакетов. Меньше оверхед на их пересылку — больше полезных данных успевает пробежать за то же время. Всё верно.
Так кто же виноват?
Точного ответа на вопрос из заголовка, со ссылкой на документы, я не дам. Но мысль моя пошла по следующему пути: допустим, что ограничение потока задано внутри чипсета. Его нельзя программировать, оно задано намертво, но оно есть. Например, оно равно 290 мегабайт в секунду на каждую дифф. пару. Больше — режется уже где-то внутри чипсета на его внутренних механизмах. Поэтому в «длинном» слоте (куда можно воткнуть карты вплоть до x4) внутри чипсета для нашей карты ничего не режется, а мы упираемся в физический предел шины x1. В «коротком» же разъёме мы упираемся в это ограничение.
На самом деле, проверить это не просто, а очень просто. Втыкаем в 013-й слот не AHCI, а SAS-контроллер, который обслуживает сразу 8 накопителей и может работать в режимах PCIe вплоть до x4. Подключаем ему 4 шустрых SSD накопителя. Смотрим скорость записи — аж душа радуется:
Теперь добавляем те 4 диска, которые фигурировали в первых тестах. Скорость работы SSD предсказуемо просела:
Вычисляем суммарную скорость, проходящую через SAS-контроллер, получаем 1175 мегабайт в секунду. Делим на 4 (столько линий идёт в «длинный» слот), получаем… Барабанная дробь… 293 мегабайта в секунду. Где-то я это число уже видел!
Итак, в рамках данного проекта было доказано, что дело не в нашей программе или драйвере, а в странных ограничениях чипсета, которые наверняка «зашиты» намертво. Была выведена методика подбора материнских плат, которые могут быть использованы в проекте. А в целом, выводы делаем следующие.
PCIEX16_1 Link Speed
материал № 9681
Параметр устанавливает скорость работы шины расширения PCI Express.
Существует несколько стандартов шины, обеспечивающих возрастающую от поколения к поколению пропускную способность: PCIe Gen 1, PCIe Gen 2, PCIe Gen 3, PCIe Gen 4 и т.д. Указанные стандарты обеспечивают теоретическую пропускную способность в 4, 8, 16, 32 Гб/сек при задействовании 16-ти линий.
КОММЕНТАРИИ к «PCIEX16_1 Link Speed»
ДРУГИЕ МАТЕРИАЛЫ ПО ТЕМЕ
Проявления неисправностей, связанных с данным параметром (0)
IT-WIKI (0)
Параметры BIOS (29)
Описание значений параметров:
Описание значений параметров:
Описание значений параметров:
Параметр включает поддержку ASPM для южного моста материнской платы.
Базовая спецификация PCI Express определяет два уровня ASPM, которые предназначены для обеспечения возможности компенсировать повышенное энергосбережение с быстрым восстановлением до состояния L0.
Описание значений параметров:
— ошибка четности на фазе адреса транзакции,
— ошибка четности на этапе данных транзакции специального цикла,
— серьезные проблемы, кроме четности, обнаруженные устройством PCI,
— критические сбои системы, обнаруженные логикой системной платы
Иными словами, включение данной функции позволяет обнаруживать ошибки, возникающие при передаче данных по шине PCI.
Описание значений параметров:
— Serial Port Settings
— COM Port Settings
— Onboard UART 1/2
— Onboard UART
— Onboard Serial Port
— Change Settings
Описание значений параметров:
— Serial Port
— COM Port
Описание значений параметров:
— Power Up On PCI/PCIE Devices
— Resume by PCIE PME
— PCI Express PME
Описание значений параметров:
PERR# является устойчивым сигналом трех состояний, используемым для сигнализации об обнаружении ошибки четности, связанной с фазой данных. Во время каждой фазы данных транзакции чтения целевой объект передает данные на шину AD. Таким образом, цель состоит в том, чтобы обеспечить правильную четность для инициатора по сигналу PAR, начинающемуся через один такт после подтверждения TRDY# (Target Ready). По завершении каждой фазы данных инициатор обязан зафиксировать содержимое AD (31: 0] и C/BE # [3: 0] и рассчитать ожидаемый паритет в течение тактового цикла, сразу после завершения фазы данных. Затем инициатор фиксирует бит четности, предоставленный целью, из сигнала PAR на следующем переднем фронте тактовых импульсов и сравнивает вычисленную и фактическую четность. Если происходит несовпадение, инициатор затем устанавливает PERR# в течение следующих тактовых импульсов (если это можно сделать с помощью единицы в бите ответа об ошибке четности в его регистре команд.) Утверждение PERR # откладывает завершение каждой фазы данных на два тактовых цикла PCI.
Иными словами, включение данной функции позволяет обнаруживать ошибки, возникающие при передаче данных по шине PCI.
Описание значений параметров:
Линии PCIe – что это
Выбирая материнскую плату, мы обязательно обращаем внимание на количество и тип разъемов для установки различных устройств, от видеокарты и SSD до самых разнообразных контроллеров и адаптеров. Одним из параметров этих разъемов, помимо физического размера, является конфигурация интерфейса, выведенного на них. Давайте немного углубимся сегодня в эту тему, а точнее, поподробнее поищем ответ на вопрос линии PCIe – что это, для чего это, и сколько этого вообще надо.
Исходные данные
Как вы уже поняли, сегодня речь про интерфейс PCIe, он же PCI-Express. Благо никакой другой сейчас по сути не используется. Все еще можно встретить редкие материнские платы с устаревшим PCI, но это специфические модели для работы с античными устройствами, которые по разным причинам заменить не представляется возможным.
Ну и как было сказано в названии, в первую очередь сделаем упор на линии PCIe. Нас интересует, зачем их несколько, сколько оных нам надо и как их использовать.
История PCI-Express
Не буду углубляться в этапы развития этого интерфейса, но кратко все же надо пробежаться по версиям PCI-Express, дабы иметь представление, о чем речь и каковы перспективы.
Первая базовая спецификация PCI-Express была представлена в июле 2002 года. Устройства, работающие с этим интерфейсом, используют двунаправленную последовательную связь типа «точка-точка». Применяется низковольтная дифференциальная передача сигнала (LVDS) по двум проводникам. Собственно, это и есть та самая линия. Это полнодуплексная связь, т. е. передача сигнала и в одну, и противоположную сторону может выполняться одновременно на полной скорости.
«Скорость», т. е. пропускная способность первой версии интерфейса составляла 2.5 ГТ/с (гигатранзакции в секунду). Для того, чтобы перевести это значение в более привычные Гига/Мега байты или биты, надо учитывать кодировку 8b/10b. Каждый байт (8 бит) исходных данных дополняется двумя битами, превращая 8-битные слова в 10-битные. Это необходимо для контроля целостности информации и некоторых служебных нужд. В итоге, пропускная способность PCI Express 1.0 составляет 250 МБ/с.
Вторая версия PCI-Express появилась в 2007 году. Скорость передачи удвоилась, достигнув 5 ГТ/с или 500 МБ/с при той же системе кодирования данных.
Больше изменений произошло с выходом 3-й версии этого интерфейса в конце 2010 года. Скорость передачи составила 8 ГТ/с, но реальный прирост все равно практически удвоился. Это было достигнуто за счет перехода на кодирование 128b/130b. Фактически, в предыдущих генерациях интерфейса 1/5 часть пропускной способности тратилась на служебную информацию. За счет перехода на новую систему кодирования «ширина» канала для передачи данных увеличилась.
В 2019 году свет увидела 4-я версия PCIe, где опять удвоилась скорость передачи до 16 ГТ/с, что стало составлять 1 969 ГБ/с на одну линию. Этот интерфейс уже появился на материнских платах последних поколений и используется современными видеокартами и высокопроизводительными твердотельными накопителями.
На горизонте PCIe 5.0 с очередным удвоением пропускной способности до 32 ГТ/с, или 3 938 ГБ/с. Ведутся работы и над PCIe 6.0.
Что такое линия PCIe
Уровни PCIe
Если уж мы сравниваем PCIe с сетевым протоколом, то, наверное, должны быть тут и уровни, или слои? Ну там физический, канальный… В общем то да, тут их 4, которые давайте кратко рассмотрим.
Application Layer
Нижний уровень, на котором формируется пакет данных с заголовком (Header+Data) для передачи от одного устройства к другому. По сути, программный слой, задача которого только подготовить информацию к передаче на следующий уровень.
В случае приема из полученного пакета извлекаются присланные данные, которые затем используются пользователем (приложением) по назначению.
Transaction Layer
При отправке данных полученный блок информации с заголовком (Header+Data) дополняется кодом проверки ECRC (End to End Cyclic Redundancy Check). При приеме этот код может быть сравнен с контрольным вычисленным значением для подтверждения того, что блок данных поступил без искажений.
Data Link Layer
На этом уровне формируется уникальный двухбайтовый номер (Sequence Number) пакета, который может понадобиться при неуспешной отправке данных. Затем к нему добавляется информация, полученная от Transaction Layer (Header+Data+ECRC), и добавляется код LCRC (Local Cyclic Redundancy Check), используемый для проверки целостности данных от предыдущего уровня.
При приеме производится проверка кода LCRC, и если ошибок нет, то источнику передается сигнал ACK (ACKnowledge) об успешной передаче. Если же обнаружена проблема, то посылается сигнал NAK (Not AcKnowledge), означающий, что пакет с данным номером (Sequence Number) должен быть передан заново.
Physical Layer (физический уровень)
Во время передачи данных информация, поступившая с предыдущего уровня (Header+Data+ECRC+LCRC), предваряется стартовым байтом, который, по сути, информирует получателей о начале блока данных. Аналогично, по окончании передается еще один байт, информирующий о конце передачи блока информации.
При приеме данные начальный и конечный байты позволяют определить блок данных.
Как выполняется контроль целостности данных
При передаче или приеме данных важно быть уверенным, что информация не была повреждена в процессе перемещения пакета информации от одного устройства к другому. Для контроля используются специальные коды проверки целостности.
Для версий PCIe 1.0 и 2.0 использовалась кодировка 8b/10b. Начиная с 3-й версии интерфейса используется 128b/130b. Это значит, что в старых версиях PCIe каждый байт дополнялся двумя служебными битами, а PCIe 3.0 и последующие дополняют каждые 128 бит двумя служебными битами.
Что это дает? При кодировании 8b/10b 20% пропускной способности шины тратится на передачу служебной информации. Кодировка 128b/130b позволяет уменьшить эти потери до 1.5%.
На иллюстрации выше показано начало таблицы кодирования данных при использовании кодировки 8b/10b. Исходный байт разделяется на две части. Младшие 5 бит дополняются одним контрольным, в свою очередь также старшие три бита также дополняются еще одним. В результате имеем формулу 5b/6b и 3b/4b.
Принцип кодирования – тема объемная, и если ее и рассматривать, то в отдельном материале.
Как рассчитать скорость передачи
Зная версию интерфейса и частоту его работы, можно определить скорость передачи PCIe. Округленные значения разных версий этого интерфейса приведены в таблице:
Версия PCIe | Частота (ГТ/с) | Тип кодирования | Скорость передачи (ГБ/с) | ||||
x1 | x2 | x4 | x8 | x16 | |||
PCIe 1.0 | 2.5 | 8b/10b | 0.25 | 0.5 | 1 | 2 | 4 |
PCIe 2.0 | 5 | 8b/10b | 0.5 | 1 | 2 | 4 | 8 |
PCIe 3.0 | 8 | 128b/130b | 1 | 2 | 4 | 8 | 16 |
PCIe 4.0 | 16 | 128b/130b | 2 | 4 | 8 | 16 | 32 |
PCIe 5.0 | 32 | 128b/130b | 4 | 8 | 16 | 32 | 53 |
PCIe 6.0 | 64 | 128b/130b | 8 | 16 | 32 | 64 | 128 |
Если есть желание, можно вычислить поточнее скорость передачи в каждом случае.
Формула расчета довольно проста:
BW (МБ/с) = FR (МТ/с) * EN * 1B/8b
Например, для PCIe 2.0 вычислим скорость передачи одной линии интерфейса:
BW = 5000 * 8/10 * 1/8 = 5000 * 0.8 * 0.125
Если же надо выяснить скорость передачи для PCIe 3.0, то расчет будет таким:
BW = 8000 * 128/130 * 1/8 = 8000 * 0.985 * 0.125
Это скорость одной линии. Если оных несколько, то просто перемножаем полученное значение на количество линий PCIe. Так, в варианте x4 (например, для SSD) максимальная скорость передачи составит 3 940 МБ/с). Соответственно, максимальная скорость для видеокарты, работающей с 16-ю линиями будет уже 15 760 МБ/с.
Надо оговориться, что это теоретическая пропускная способность. В реальности она несколько ниже, т. к. в расчетах мы не приняли во внимание передачу стартового и стопового байтов, заголовка, проверочных кодов.
Сколько линий PCIe необходимо?
Чтобы ответить на этот вопрос, необходимо определиться с конфигурацией будущей системы. Я сейчас не затрагиваю тему разгона, ибо это несколько иной подход к выбору материнской платы, а исхожу из требований к использованию каких-либо плат расширения. Вариант офисного компьютера также оставлю за рамками разговора, т. к. в большинстве случаев достаточно минимальной конфигурации с использованием встроенного в процессор видеоядра и установка каких-либо дискретных адаптеров скорее всего не планируется.
Если будущий ПК предназначен для сборки игровой системы нижне-среднего уровня без разгона и использования флагманских CPU и GPU, то будет использоваться только внешняя видеокарта в сочетании с 1-2-3 накопителями. Значит, рассматривать можно платы, начиная с младших чипсетов. Даже у них есть возможность установки некоторых дополнительных адаптеров.
А кстати, сколько вот для этих «некоторых дополнительных адаптеров» линий-то нужно? Давайте попробуем свести это в табличку:
Плата расширения | Кол-во линий PCIe |
Видеокарта AMD/NVidia | 16 |
RAID-контроллер | 4-8 |
SSD PCIe x4 | 4 (каждый) |
Адаптер SSD M.2 накопителей | 4-8 |
Звуковая карта | 1 |
Адаптер USB 3.2 Gen1 | 1-4 |
Адаптер USB 3.2 Gen2 | 4 |
Адаптер eSATA | 1 |
Это не весь возможный перечень. При необходимости, можно установить адаптер LPT и прочих портов, дополнительный сетевой контроллер и т. п. Как бы то ни было, надо точно знать, какой разъем для такой платы нужен и сколько линий PCIe он требует.
Если же выбор останавливается на топовом железе, то в любом случае в вашем распоряжении будет максимально возможное количество линий, и остается только не выйти за их лимит, утыкивая материнскую плату разнообразными адаптерами, накопителями и т. п.
Подробнее про линии процессоров и чипсетов
Давайте от теории поближе к практике. Мы уже выяснили, что фактически «владельцами» линий PCIe являются процессор и чипсет, хотя никто не запрещает другим устройствам обмениваться данными между собой по этим линиям. Чтобы разобраться пообстоятельнее, рассмотрим каждый сокет отдельно.
AMD AM4
Возьмем, например, CPU AMD Ryzen 7 5800X и чипсет к нему X570.
На иллюстрации представлен условный процессор 5000-й серии с указанием интерфейсных линий. Из нее видно, что у процессора есть 16 линий для видеокарты и 4 – для SSD. Итого 20. Иногда можно встретить упоминание, что линий 24, но это с учетом четырех, которые связывают CPU с чипсетом. Эти линии никоим образом не могут быть переконфигурируемы и их упоминание справедливо разве что для статистики.
Те линии, которые идут на видеокарту, вернее, на разъем под нее, могут быть разделены между двумя разъемами для поддержки технологий SLI/Crossfire. В этом случае линии распределяются поровну между двумя разъемами (режим x8/x8) или второй работает в режиме x4.
Четыре процессорные линии для накопителей выводятся на ближний к сокету CPU разъем M.2.
Количество доступных линий у чипсета зависит от его модели. Так, X570 располагает 16-ю линиями, 8 из которых могут свободно конфигурироваться производителями материнских плат, а еще 8 можно использовать для SATA или накопителей/разъемов. При этом в работе будет интерфейс 4-го поколения.
Чипсеты B550 и A520 могут использовать только PCIe 3.0, даже для связи с процессором. Самих линий тоже меньше, 10 и 6 соответственно.
Intel 1200
На данный момент это самый «свежий» сокет под процессоры 10-го и 11-го поколения. Более подробно рассмотрим самое последнее CPU Rocket Lake. Конфигурация линий тут та же, что и у конкурентов – 16 линий для видеокарты и 4 для накопителя. Правда, связь с чипсетом по-прежнему осуществляется по шине DMI3, что фактически является PCIe 3.0, но зато таких линий теперь 8, а не 4.
Старший чипсет Z590 располагает 24-ю линиями PCIe 3.0, что дает возможность установить несколько M.2, а также несколько разъемов PCIe 3.0 x4 и/или PCIe x1. У Z570 линий 20, у B560 – 12, а младший A510 довольствуется 6-ю.
Как определить количество доступных линий на материнской плате
А что в этом сложного? Посмотреть на разъемы, которые есть на материнской плате, и все станет ясно. Верно? Давайте разбираться.
Разъемы для плат расширения
Для начала определимся с форм-факторами разъемов PCIe. В настоящее время используются разъемы PCIe x1, x4 и x16. В теории, существуют еще PCIe x8, но в реальности они не используются.
Для прояснения темы легче всего использовать конкретные примеры, для чего нам сначала понадобится плата ASRock Z590M Phantom Gaming 4. Давайте посмотрим на нее внимательно, в частности, на установленные на ней разъемы PCIe.
В нашем распоряжении по одному PCIe x16, PCIe x4 и PCIe x1. В результате мы можем воспользоваться 21-й линией для установки различных дискретных устройств – видеокарт, адаптеров, контроллеров и проч. Ну вот, предположение разве не подтвердилось?
Подтвердилось, но давайте возьмем другой пример, MSI MPG Z590 Gaming Force. У нее три «больших» разъема PCIe x16 и два маленьких x1. Ну и сколько у нас всего линий, 50? Давайте считать, у процессора Intel 11-го поколения доступных линий 16 для плат расширения (читай, видеокарты), у чипсета Z590 – 24, итого 40. Ну ладно, предположим, что на эти разъемы каким-то образом выведены еще 4 линии, предназначенные для накопителя. Все равно шесть не хватает.
Вот тут и кроется проблема, что значение после буквы «x» в маркировке разъемов PCIe x** отражает реальное положение вещей только в одном случае – для PCIe x1. Только для него можно абсолютно точно сказать, что разъем работает с одной линией интерфейса.
К сожалению, маркировка PCIe x16 и PCIe x4, скорее, говорит нам о физическом размере, и о том, что эти разъемы МОГУТ иметь по 16 и 4 линии соответственно. Могут, но не обязаны. Реальность такова, что к PCIe x16 могут быть подведены 1, 2, 4, 8 или 16 интерфейсных линий. В случае с PCIe x4 этот перечень заканчивается на 4.
В итоге, у рассматриваемой MSI MPG Z590 Gaming Force первый разъем действительно имеет 16 линий (процессорных), второй – только 8 (тоже от процессора), а у третьего их вообще 4. И никакими 50-ю тут и не пахнет. Отсюда вывод – геометрические размеры разъема мало что говорят о параметрах подключенного к нему интерфейса.
Так как же узнать, где и сколько линий используется? В первую очередь обратиться к спецификациям на данную модель материнской платы. Там указано, что первые два слота подключены к процессору и могут работать в режимах x16/x0, x8/x8 или x8/x4, т. е. в первом разъеме действительно 16 линий, а во втором только восемь.
Это означает, что если во второй разъем установлена та или иная плата, то она получит максимум 8 линий, и столько же останется в первом разъеме, вне зависимости от того, что в него установлено. Скажем, видеокарта, использующая 16 линий, будет работать с вдвое меньшим их количеством.
Третий разъем, хоть он и не уступает по размерам оставшимся, имеет 4 линии PCIe от чипсета.
В действительности определить, сколько линий в том или ином разъеме можно, если внимательно посмотреть на них, а вернее, в них. Для примера привожу фотографию части платы MSI MPG Z590 Gaming Force.
Нас интересуют три «больших» разъема, а точнее те его части, что располагаются после перемычки. Давайте присмотримся внимательнее. Несложно заметить, что у первого, ближнего к процессору, все места под контакты заполнены. А вот у второго видно, что контакты (такие блестящие металлические точки в данном случае) заканчиваются где-то посередине. А третий вообще заполнен ими на четверть.
Что мы можем почерпнуть из полученных сведений? Судя по всему, у первого разъема 16 линий, у второго – 8 (контакты заканчиваются посередине), а у третьего скорее всего 4. Обратимся к спецификациям и видим, что так и есть.
К сожалению, таким образом можно провести только предварительный анализ возможностей платы, но вот как распределены линии, от кого (CPU или чипсета) подведены к каждому конкретному разъему и сколько их в реальности, можно узнать только из официальных характеристик на плату. Тем не менее, возможность прикинуть конфигурацию «на глаз» может иногда оказаться полезной.
Разъемы M.2 для накопителей
Ну вот с ними-то уж все ясно. Все они на современных материнках поддерживают SSD с интерфейсом PCIe, значит, уж по 4 линии у них есть, верно? Не хочу показаться занудой, но давайте разбираться опять.
Еще более внимательные обратят внимание, что тут младший чипсет a520, у которого всего 6 линий, 2 из которых обычно отдается для SATA (и их тут действительно 4), остается 4 линии. Из них одна скорее всего отдана сетевому контроллеру, итого остается 3.
При этом есть еще разъем PCIe x4 с двумя линиями, второй M.2 и… что-то не сходится. Действительно, этот второй M.2 делит интерфейсные линии с двумя разъемами SATA, 3-м и 4-м. Это значит, что можно либо использовать SSD M.2 PCIe x2 при отключенных двух SATA разъемах, либо наоборот, задействовать все SATA без возможности установить второй твердотельный накопитель.
Справедливости ради надо сказать, что эта плата едва ли не исключение из общего правила, и в подавляющем большинстве случаев разъемы M.2 действительно имеют по 4 линии PCIe, и просто перемножение этих линий на количество разъемов дает нам представление о том, сколько линий занято под накопители.
Таким образом, беглый анализ конфигурации (чипсет, количество и номенклатура разъемов) позволяют предположить конфигурацию материнской платы. Повторюсь, что окончательные выводы можно делать только после ознакомления с подробными характеристиками платы.
Что делать, если линий PCIe не хватает
Если не предполагается использование чего-либо, кроме дискретной видеокарты, то этот вопрос неактуален. А вот тем, кто вынужден в силу решаемых задач использовать какие-либо дополнительные адаптеры, эта тема может быть актуальна. При условии, конечно, что вы не готовы переплачивать за флагманский чипсет, а предпочитаете выбрать что-то из среднего сегмента.
Предположим ситуацию, что помимо графического адаптера будет установлен еще быстродействующий SSD накопитель в разъем, обслуживаемый процессором, а также еще один SSD M.2 в чипсетный. А еще может быть, звуковую карту и/или адаптер для дополнительных USB.
Если подняться на ступеньку выше, до AMD B550 или Intel B560, то проблем с двумя-тремя накопителями M.2 уже нет, да и для различных плат разъемов больше. Напомню, у этих чипсетов 10 и 12 линий соответственно.
Теперь другая ситуация – требуется использование дискретной видеокарты, а также сборка RAID-массива на внешнем адаптере, или установка нескольких высокоскоростных SSD PCIe 4.0 для специфических задач. Ситуация, может, и довольно редкая, но вполне реальная.
Ладно, для видеокарты слот есть, и тут заботиться не надо. Для адаптера SSD тоже хотя бы один PCIe x4 есть. Так что хватит. А хватит ли? Если накопители будут с SATA интерфейсом, то для каждого такого SSD достаточно по одной линии PCIe. Например, для QNAP QM2-2S-220A достаточно использовать 2 линии для каждого из двух SSD.
Вот тут может оказаться полезной возможность перераспределения процессорных интерфейсных линий между двумя разъемами PCIe. Как всегда, обратимся к конкретному примеру, например, плате Asus ROG STRIX B550-E GAMING. Что в ней интересного?
Интересны два первых разъема PCIe x16. Первый, как и положено, задействует все 16 процессорных линий. А вот второй – их же, но только половину, т. е. 8 штук. Как это работает?
Установленная видеокарта при пустом втором слоте PCIe x16 забирает все имеющиеся ресурсы. Если же мы хотим использовать, скажем, контроллер для дискового массива или адаптер для пары высокоскоростных SSD, то мы установим его во второй слот PCIe x16. В итоге получаем 8 линий PCIe 4.0 от CPU и радуемся производительности. Но откуда взялись эти линии?
Их отняли у видеокарты. Трагедия? Отнюдь. Как показывают обзоры, даже с уменьшенным вдвое количеством линий PCIe видеокарты показывают те же результаты, что и в полноценном режиме работы. Различия в итоговых значениях тестов если и есть, то находятся в пределах погрешности. Даже самые современные видеокарты не способны исчерпать возможности интерфейса.
Зато теперь мы имеем возможность и всласть поиграться без падения производительности, и получить мощную быстродействующую систему хранения для специфических задач. Или установить вторую видеокарту в режим SLI/CrossFire.
Правда, такими возможностями обладают далеко не все материнские платы. На Intel B560 я таких моделей вообще не нашел (может просмотрел), да и у AMD вариантов немного – помимо рассмотренной выше ASUS есть еще, например, ASRock B550 Taichi (Razer Edition), Gigabyte B550 VISION D. Как правило, процессор управляет единственным разъемом PCIe x16, и для большинства задач такая конфигурация более чем достаточна.
Заключение. Линии PCIe – что это
Да, в данном случае имеем компактный форм-фактор и такое расположение разъемов – мера вынужденная. И все же обращать внимание на это следует.
Как и на то, как распределяются интерфейсные линии. Так, некоторые разъемы M.2 могут использовать те же ресурсы, что и некоторые SATA порты, т. е. можно использовать либо одно, либо другое.
Также следует помнить, что, например, видеокарту можно установить в разъем с 8-ю линиями, и она будет прекрасно работать. Можно ее поставить и в PCIe x16 с четырьмя линиями, но в данном случае пропускной способности шины может уже и не хватить.
И наоборот, адаптер, которому нужно, скажем, 2 линии, можно установить в разъем с 4 или 8 линиями. Будут использоваться только необходимые ресурсы. А вот то, что какой-либо адаптер, которому надо 4 линии, заработает в разъеме с двумя линиями, при условии, что физически он в него устанавливается, далеко не факт.
Если видеокарта – не единственное устройство, которое будет устанавливаться в компьютер, то перед покупкой материнской платы следует уточнить количество и тип разъемов на ней, их возможности, дабы все работало как надо. И далеко не всегда нужно тратиться на топовый продукт, т. к. даже материнки попроще вполне могут обеспечить нужный функционал без необходимости переплаты за неиспользуемые возможности.
Обязательно внимательно ознакомьтесь с характеристиками выбранной платы. Все возможные варианты работы и ограничения там будут указаны.