Причина не в экономии на одном конкретном слоте: у процессора и чипсета есть конечное число PCIe-линий, а производитель платы сам решает, как их распределить. На актуальных AM5 и LGA1851 это распределение уже стоит проверять до покупки платы, особенно если в компьютере будет несколько NVMe, плата видеозахвата, 10GbE или другая PCIe-периферия.
Откуда берутся PCIe-линии и почему на плате разьемов больше, чем их есть у процессора
PCI Express строится из отдельных последовательных линий. Обозначения x1, x2, x4, x8 и x16 показывают число линий в соединении. Одна линия одновременно содержит передающую и принимающую дифференциальную пару, поэтому PCIe является полнодуплексным интерфейсом: передача в обе стороны идет одновременно. С каждым поколением скорость одной линии росла. PCIe 3.0 работает на 8 GT/s, PCIe 4.0 на 16 GT/s, PCIe 5.0 на 32 GT/s. PCI-SIG для PCIe 5.0 сохранила кодирование 128b/130b, поэтому без учета накладных расходов транзакций одна линия PCIe 5.0 дает примерно 3,94 ГБ/с в каждом направлении, x4 около 15,75 ГБ/с, x8 около 31,5 ГБ/с, x16 около 63 ГБ/с. Для PCIe 4.0 эти значения вдвое меньше.
Из этого следует деталь, которую легко пропустить в характеристиках платы. Фраза PCIe 5.0 x16 состоит сразу из двух параметров: поколения и ширины соединения. PCIe 5.0 x8 по теоретической пропускной способности примерно соответствует PCIe 4.0 x16. PCIe 4.0 x4 имеет такую же ширину в четыре линии, как PCIe 5.0 x4, но вдвое меньшую пропускную способность. Поэтому длинный разьем x16, работающий электрически как PCIe 4.0 x4, никак не превращается в x16 по пропускной способности из-за своего размера. Физическую длину слота производитель выбирает в том числе ради совместимости с полноразмерными картами, а число реально подключенных линий указывает в спецификации.

У настольных Ryzen 9000 AMD указывает 28 нативных PCIe-линий, из которых пользователю доступны 24. Для X870E типовая конфигурация включает x16 для графики, x4 для NVMe и еще четыре процессорные линии общего назначения; отдельное соединение связывает CPU с чипсетом. Сам AMD Ryzen 9 9950X, например, официально имеет PCIe 5.0 и 28/24 native/usable lanes. В таблице AM5-чипсетов AMD отдельно указывает для X870E графическую конфигурацию 1x16 или 2x8 PCIe 5.0, процессорный NVMe x4 PCIe 5.0 и еще четыре GPP-линии.
Эти 24 линии нельзя бесконечно размножить. Если производитель хочет вывести от CPU три M.2 PCIe 5.0 x4, только SSD потребуют уже 12 линий. Основная видеокарта просит еще 16. Получается 28, хотя пользовательских линий у процессора 24. Значит, придется выбирать: часть M.2 подключить к чипсету, разделить графические линии или сделать несколько разьемов взаимоисключающими. Именно поэтому на дорогой плате с пятью M.2 можно встретить больше ограничений, чем на модели с двумя SSD-слотами. Производитель вывел больше вариантов подключения, но число процессорных линий от этого не изменилось.
У Intel Core Ultra 200S схема отличается цифрами, но принцип тот же. Core Ultra 9 285K имеет максимум 24 процессорные PCIe-линии: поддерживаются PCIe 5.0 и 4.0, а среди допустимых конфигураций Intel приводит 1x16+2x4, 2x8+2x4 и 1x8+4x4. Для платформы Core Ultra 200S Intel отдельно указывает 20 процессорных линий PCIe 5.0 и четыре PCIe 4.0. Чипсет Z890 добавляет до 24 PCIe 4.0, но эти линии находятся уже за PCH, который связан с процессором через DMI 4.0 x8. Поэтому надпись "24 линии чипсета" не означает появление 24 независимых прямых линий от каждого устройства к процессору: весь трафик устройств за PCH в итоге проходит через общее соединение CPU-PCH.

Именно этим объясняется большое число интерфейсов на современной плате. Часть соединена непосредственно с процессором, часть обслуживает чипсет. Некоторые функции используют отдельные контроллеры, которые сами занимают линии чипсета. В эту группу могут попасть дополнительный Ethernet, Wi-Fi, USB-контроллер, SATA-контроллер, карта Thunderbolt или USB4 и нижние PCIe-слоты. Когда все устройства за чипсетом начинают передавать данные одновременно, они используют общий аплинк. Для обычного домашнего компьютера это редко становится проблемой: клавиатура, звук, сеть и несколько накопителей почти никогда не создают длительный максимальный поток одновременно. В рабочей станции с несколькими NVMe, 10GbE и платой видеозахвата расположение устройств уже способно непосредственно влиять на производительность.
Почему установка M.2 иногда превращает PCIe x16 в x8
Самая неприятная для владельца ситуация возникает с M.2, подключенными напрямую к процессору. Быстрый SSD PCIe 5.0 x4 требует четыре процессорные линии. Если свободных линий для него нет, производитель может забрать их из шестнадцатилинейного графического интерфейса. Видеокарта после установки SSD продолжает находиться в том же верхнем слоте, но соединение перестраивается. В GPU-Z, HWiNFO или BIOS вместо PCIe x16 появляется x8. Никакой неисправности при этом нет: именно такая схема была заложена при проектировании платы.
Конкретный пример есть у Gigabyte X870E AORUS MASTER. Основной PCIEX16 подключен к CPU и с Ryzen 9000/7000 поддерживает PCIe 5.0 x16. Но производитель прямо пишет, что этот слот делит полосу с M2B_CPU и M2C_CPU. Если установить устройство в M2B_CPU или M2C_CPU, PCIEX16 начинает работать максимум в x8. Первый M2A_CPU при этом тоже подключен к процессору и поддерживает PCIe 5.0 x4, но в этом ограничении не участвует. Получается практическое различие между тремя внешне похожими M.2: установка накопителя в первый слот оставляет GPU x16, а установка во второй или третий переводит его в x8.
На ASUS ROG Crosshair X870E Apex логика еще нагляднее. Плата имеет несколько процессорных M.2 PCIe 5.0 x4, но M.2_2 и M.2_3 используют ресурс, связанный с графическими линиями. ASUS указывает: при использовании M.2_2 основной PCIEX16_1 переходит в x8, а PCIEX16_2 отключается; при использовании только M.2_3 основной слот тоже становится x8, а второй работает x4. При занятии обоих M.2 основной слот остается x8, второй отключается. Получить одновременно GPU x16 и заполнить все процессорные PCIe 5.0 M.2 на такой разводке нельзя. Это аппаратное ограничение платы, а не настройка Windows.
Из этого не следует, что любой второй M.2 отнимает линии у видеокарты. MSI на X870 показывает другую реализацию. У MAG X870 Tomahawk WiFi основной PCI_E1 работает от CPU до PCIe 5.0 x16 и не делит свои линии с M.2. M2_1 тоже имеет собственное процессорное PCIe 5.0 x4 соединение. Зато M2_2 делит процессорные четыре линии с USB4, а M2_3, подключенный к чипсету, делит четыре линии PCIe 4.0 с нижним PCI_E3. Производитель использовал тот же ограниченный ресурс иначе. Один покупатель может предпочесть такую схему ради сохранения GPU x16, другому важнее одновременная работа USB4 и нескольких накопителей.

Причина, по которой производители вообще связывают M.2 с графическим интерфейсом, находится в пропускной способности. Четыре линии PCIe 5.0 от процессора дают накопителю теоретически около 15,75 ГБ/с до учета накладных расходов. Такой SSD уже способен читать последовательно больше 14 ГБ/с. Подключить его через старый чипсетный PCIe 4.0 x4 означало бы ограничить интерфейс примерно вдвое. Поэтому на дорогих платах производитель старается вывести дополнительные PCIe 5.0 M.2 непосредственно от CPU и вынужден где-то брать линии. Шестнадцать графических линий являются самым крупным доступным блоком, который стандартная платформа позволяет разбить как минимум на x8+x8, а на некоторых платах и на x8+x4+x4.
Насколько переход GPU с x16 на x8 влияет на игры, зависит уже от поколения PCIe и конкретной видеокарты. Само обозначение x8 нельзя считать автоматической потерей половины FPS. PCIe 5.0 x8 сохраняет теоретическую полосу примерно на уровне PCIe 4.0 x16, а PCIe 4.0 x8 примерно соответствует PCIe 3.0 x16. Видеокарте не требуется непрерывно передавать через PCIe весь объем данных, который она обрабатывает внутри собственной VRAM. Сильнее ограничение проявляется в сценариях с интенсивным обменом между системной памятью и VRAM, недостатком собственной видеопамяти, вычислительными задачами и у карт, которые изначально имеют меньше линий. Проверять влияние нужно для конкретного GPU, но сначала полезно установить сам факт: работает он x16 или x8 и почему.
Чипсетные линии тоже не бесплатны: один M.2 может делить канал с SATA, PCIe или USB4
Подключение M.2 к чипсету сохраняет процессорные линии для видеокарты, но переносит проблему дальше по цепочке. У чипсета есть собственное ограниченное число внутренних высокоскоростных портов, а связь с процессором одна. Производитель материнской платы распределяет эти ресурсы между M.2, SATA, USB, Ethernet и слотами расширения. Поэтому таблица совместного использования в руководстве платы часто важнее общего количества разьемов на рекламной странице.
На современных Intel Z890 возможностей действительно много. Сам Z890 предоставляет до 24 PCIe 4.0, до восьми SATA 6 Гбит/с и до десяти USB 3.2, причем с процессором он соединяется через DMI 4.0 x8. У младших чипсетов ресурсов меньше: Intel в документации семейства 800 указывает для B860 максимум 14 линий PCIe 4.0 и DMI 4.0 x4, для H810 всего восемь линий PCIe 4.0 и тот же DMI x4. Поэтому две платы на одинаковом сокете LGA1851 могут иметь сильно отличающийся набор слотов и разную вероятность совместного использования ресурсов.
На AM5 различия есть и между чипсетами AMD. Таблица AMD Socket AM5 указывает для X870E до 44 используемых PCIe-линий в сумме возможностей платформы, для X870 и B850 до 36, для B840 до 34. При этом количество PCIe 5.0 различается намного сильнее: до 24 на X870E и X870, до четырех на B850, ноль обязательных линий PCIe 5.0 у B840. Эти цифры нельзя читать как количество прямых линий процессора. В них входят ресурсы платформы, включая чипсет, а реальная разводка конкретной платы остается решением ее производителя.
Некоторые ограничения вообще не затрагивают видеокарту. Производитель может подключить M.2 и нижний PCIe x16 к одним четырем чипсетным линиям через переключатели. Тогда установка SSD отключает нижний слот или уменьшает его ширину. Такой слот внешне сохраняет длину x16, и в него физически устанавливается полноразмерная карта, но электрически там может быть x4. Для платы видеозахвата PCIe x4 этого достаточно, для второй видеокарты с интенсивным обменом уже может стать ограничением. Именно поэтому фраза "на материнской плате три PCIe x16" без чтения электрических режимов практически бесполезна.
SATA создает еще один вариант совместного использования. На части плат отдельные M.2 допускают как PCIe/NVMe, так и SATA M.2, а переключение режима занимает ресурс SATA-контроллера. На других моделях установка PCIe M.2 отключает один или несколько физических SATA-разьемов из-за внутреннего мультиплексирования линий чипсета. Современная дорогая плата может содержать четыре подписанных SATA-разьема и несколько M.2, но определенная комбинация никогда не работает одновременно. Это особенно неприятно при переносе в новый компьютер массива из нескольких старых SATA SSD или HDD: после установки очередного NVMe один диск внезапно исчезает из BIOS, хотя кабель и питание исправны.

USB4 тоже может участвовать в таком обмене ресурсами. В упомянутой схеме MSI MAG X870 Tomahawk WiFi M2_2 и задние USB4 используют один процессорный ресурс PCIe 5.0 x4. Это конкретный пример того, почему наличие двух функций в спецификации не всегда означает их независимую максимальную работу. На другой материнской плате USB4 может обслуживаться отдельным контроллером через чипсет или быть реализован по иной схеме. Поэтому перенос логики с одной модели на другую даже внутри одного X870 или X870E не работает.
У Intel существует еще одно полезное различие: процессорные линии и чипсетные линии неравноценны по задержке и пути прохождения данных. Устройство на CPU PCIe идет непосредственно к процессору. Устройство за PCH сначала общается с чипсетом, затем трафик проходит по DMI. Для одиночного NVMe в обычной работе разница часто мала, но несколько быстрых устройств способны конкурировать за общий аплинк. Например, два PCIe 4.0 x4 SSD теоретически могут создать около 15,75 ГБ/с суммарного однонаправленного потока еще до накладных расходов, а рядом через тот же PCH могут работать сеть и другие PCIe-устройства. Именно по этой причине производители рабочих станций стараются оставлять наиболее требовательные накопители и ускорители на процессорных линиях.
Почему Ryzen 8000 может радикально изменить возможности той же самой AM5-платы
Один из менее очевидных случаев появляется, когда возможности материнской платы зависят от установленного процессора. Плата физически остается той же, но число и поколение доступных CPU-линий меняется вместе с процессором. Поэтому надпись PCIe 5.0 x16 на коробке материнской платы иногда относится не ко всем совместимым CPU.
На X870E AORUS MASTER Gigabyte указывает, что Ryzen 9000 и 7000 дают основному графическому слоту PCIe 5.0 x16. Для Ryzen 8000 Phoenix 1 этот же слот ограничивается PCIe 4.0 x8, а для Phoenix 2 PCIe 4.0 x4. Разница огромна: физически используется тот же длинный усиленный PCIEX16, но процессор предоставляет ему другой интерфейс. В той же спецификации процессорные M2B_CPU и M2C_CPU заявлены для Ryzen 9000/7000, а перечень доступных M.2 с Ryzen 8000 меняется.
Причина находится в самой архитектуре APU. Например, появившийся позднее Ryzen 3 8305GE имеет только 14 нативных PCIe-линий, из которых доступны десять, и PCIe 4.0. Для сравнения, Ryzen 9 9950X имеет 28/24 и PCIe 5.0. Одинаковый сокет AM5 не означает одинаковый I/O-комплекс. Пользователь, который сначала покупает дорогую плату с несколькими Gen5 M.2, а затем ставит более дешевый APU, может физически получить меньше работающих слотов или меньшую ширину графического интерфейса, чем ожидал по характеристикам материнской платы.
На Intel та же мысль проявляется через конфигурацию процессорных портов. Core Ultra 9 285K поддерживает до 24 PCIe-линий CPU и несколько схем их деления. Но сама плата решает, какие из этих схем реально разведены. Даже если процессор допускает 2x8+2x4, материнская плата не обязана выводить два полноценных x8 и два процессорных M.2. Производитель может направить доступные линии иначе, часть оставить под встроенный контроллер, а какие-то сочетания реализовать через PCIe switches или multiplexers. Поэтому справочник CPU показывает верхнюю аппаратную возможность, а руководство платы показывает то, что пользователь действительно получает.
Отдельная тема - PCIe bifurcation. Это разделение большого процессорного соединения на несколько меньших: например, x16 превращается в x8+x8 или x4+x4+x4+x4. Такая функция нужна не только для нескольких видеокарт. Популярный сценарий в рабочих станциях и домашних серверах - пассивная плата, на которой установлены четыре M.2 NVMe. У нее нет собственного дорогого PCIe switch: каждый SSD должен получить отдельные четыре линии от процессора. Если BIOS и процессор умеют разбить x16 на x4+x4+x4+x4, четыре накопителя определяются. Если плата поддерживает только x16 или x8+x8, простая четырехдисковая M.2-карта работать полностью не сможет.
MSI для ряда X870/X870E прямо публикует поддерживаемые варианты bifurcation. Для основного PCI_E1 у MAG X870 Tomahawk WiFi указаны x16, x8+x8, x8+x4+x4 и x4+x4+x4+x4. Последний режим как раз позволяет раздать шестнадцать линий четырем устройствам по четыре. На других платах набор может быть короче. Поэтому перед покупкой многодискового M.2 адаптера нужно проверять не только физическое наличие x16, но и доступный режим bifurcation в BIOS.
Активная плата с PCIe switch работает иначе. На ней находится собственный коммутатор, который соединяет несколько конечных устройств с меньшим числом линий хоста и динамически распределяет пропускную способность. Такое решение дороже и потребляет больше энергии, зато не требует отдельной процессорной x4-линии для каждого SSD. Четыре NVMe могут быть видны даже через одно x8 или x16 соединение, но при одновременной максимальной нагрузке они делят полосу аплинка. Пассивная bifurcation-карта и активная switch-карта поэтому могут выглядеть похоже, но предъявляют совершенно разные требования к материнской плате.
Как заранее понять, какие слоты можно занимать, и не обнаружить ограничение после сборки
Первое, что нужно смотреть в спецификации платы, это не количество M.2 и PCIe-разьемов, а пометки возле них. Обычно производители используют формулировки shared bandwidth, shares bandwidth with, when M.2_x is enabled, PCIEX16 runs at x8, SATA port disabled или подобные. Иногда информация находится прямо на странице характеристик, иногда только в PDF-руководстве. Если в компьютере будет одна видеокарта и один M.2, почти любая современная плата работает предсказуемо. При двух-трех NVMe, дополнительной PCIe-карте и старых SATA-дисках таблицу совместного использования лучше прочитать до покупки.
Второй шаг - определить, какие M.2 идут непосредственно от процессора. Обычно первый верхний M.2 расположен ближе всего к CPU и получает x4 CPU lanes, но полагаться только на расположение нельзя. На дорогих X870E несколько M.2 могут быть процессорными, причем часть из них забирает линии у GPU. Чипсетные M.2 часто лучше использовать для накопителей, которым не требуется максимальная последовательная скорость PCIe 5.0. Игровой SSD PCIe 4.0 x4, например, не получает практического преимущества от подключения к PCIe 5.0 x4, если сам контроллер накопителя ограничен Gen4. В такой ситуации нет причины отдавать ему четыре дефицитные Gen5-линии CPU.
Третий шаг - учитывать реальную ширину платы расширения. Для сетевой карты 10GbE не нужен PCIe 5.0 x16. Теоретический поток 10 Гбит/с составляет 1,25 ГБ/с до протокольных накладных расходов, поэтому даже PCIe 3.0 x2 или PCIe 4.0 x1 уже находятся примерно в нужном диапазоне, хотя конкретная карта может физически требовать x4. Плата видеозахвата 4K, HBA-контроллер с несколькими дисками и сетевой адаптер 25GbE требуют другой полосы. Если заранее посчитать потребности карт, нижний x16@x4 перестает выглядеть "урезанным": для многих устройств четыре линии являются полностью нормальным интерфейсом.
Четвертый шаг - после сборки проверить фактический режим. Для видеокарты его показывают GPU-Z и HWiNFO. Нужно учитывать энергосбережение: в простое некоторые программы отображают пониженную текущую скорость поколения, поэтому GPU-Z имеет встроенный render test, который создает нагрузку и переводит соединение в рабочий режим. Если видеокарта при нагрузке показывает x8 там, где ожидалось x16, первым делом нужно открыть таблицу lane sharing платы и проверить занятые M.2. Перестановка SSD в другой разьем часто возвращает x16 без любых изменений BIOS.
Для NVMe полезно смотреть negotiated link width и link speed в HWiNFO, Linux lspci или фирменной утилите производителя SSD. Накопитель PCIe 4.0 x4, неожиданно работающий как x2, потеряет примерно половину максимальной интерфейсной полосы. Причиной может быть конкретный слот, режим BIOS, установленный процессор или совместное использование линий. Если SSD последовательно читает около 3,5 ГБ/с при заявленных 7 ГБ/с, PCIe 4.0 x2 является одним из первых режимов, которые имеет смысл проверить, прежде чем обвинять NAND или контроллер накопителя.
При большой конфигурации полезно буквально составить схему. Например: GPU - CPU x16; SSD1 - CPU x4; SSD2 - chipset x4; 10GbE - chipset x4; плата захвата - chipset x4. Затем отдельно отметить общие ресурсы из руководства. За несколько минут становится видно, можно ли одновременно использовать все устройства и какие из них окажутся за чипсетным аплинком. Такой расчет особенно полезен для домашнего сервера, рабочей станции видеомонтажа или компьютера с тремя-четырьмя NVMe, где простое число разьемов на странице магазина уже почти ничего не говорит.
Наконец, не нужно автоматически бояться режима x8. Если современная видеокарта работает через PCIe 5.0 x8 или PCIe 4.0 x8, фактический ущерб определяется ее нагрузкой, а не половиной числа в обозначении. Гораздо хуже случайно посадить требовательную карту на чипсетный PCIe 3.0 x1 или установить PCIe 5.0 SSD в слот, который электрически ограничен Gen4 x2. Правильная раскладка устройств начинается с понимания трех вещей: сколько линий дает процессор, какие ресурсы добавляет чипсет и что именно производитель материнской платы сделал с этими линиями.
Поэтому характеристику "5 x M.2 и 3 x PCIe x16" нельзя читать как обещание пяти независимых NVMe x4 и трех шестнадцатилинейных карт. Это перечень физических разьемов. Реальная конфигурация скрыта в примечаниях: x16 может стать x8 после установки SSD, длинный нижний слот может изначально иметь четыре линии, еще один M.2 делить канал с USB4, а доступность части слотов зависеть от модели процессора. Для обычной сборки эти ограничения часто не проявляются вообще. Для системы с большим числом накопителей и плат расширения именно схема PCIe становится одной из главных характеристик материнской платы.








