Причина не в экономии на одном конкретном слоте: у процессора и чипсета есть конечное число 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.


