Все ли устройства подключены к основному мосту PCIe (и количество линий автоматически согласовывается для каждого устройства), или материнская плата подключает устройства напрямую к одному из предположительно 3 вспомогательных мостов 16x, 16x и 8x (количество линий затем согласовывается). для каждого из этих подмостов)?
Это функция конструкции материнской платы, по крайней мере частично, поэтому конкретного ответа дать нельзя. Но если на вашей материнской плате нет дополнительного оборудования PCIE, такого как коммутаторы PCIE, то вполне вероятно, что ваша материнская плата имеет как минимум 1 «порт» PCIE x16 и некоторое количество других «портов», т. е. слотов, которые могут иметь различную «ширину», т. е. x16. , х8, х4, х2, х1 и т. д.
Современный ЦП Intel имеет внутренний «корневой комплекс» PCIE, который используется всеми линиями, выходящими из устройства. Полосы, выходящие из устройства, будут сгруппированы в один или несколько «портов». Корневой комплекс PCIE является логическим объектом, тогда как порты имеют как логический, так и физический характер.
Существует автоматическое согласование ширины полосы движения, но обычно это используется только в качестве стратегии поддержки и устранения ошибок. Порт x16 будет ожидать согласования ширины x16, если к нему подключена «конечная точка» x16 (т. е. устройство) (он также может согласоваться с меньшей шириной, если обнаружены ошибки, локализуемые для определенных полос). Обычно порт может работать с устройством меньшей ширины, поэтому, если устройство x8 подключено к порту x16, обычно все будет «просто работать», хотя обычно это не означает, что у вас есть 8 дополнительных полос, которые вы можете использовать «где-то еще» .
Реконфигурация порта x16 на два порта x8 — это не то, что обычно происходит автоматически при подключении «адаптера x16 на x8», что бы это ни было. Конечно, вы можете уменьшить порт x16 до порта x8, но это не даст вам 8 дополнительных линий для автоматического использования в другом месте.
Процесс разделения 40 линий, выходящих из вашего устройства Haswell, на логические «порты» включает в себя как аппаратную конструкцию материнской платы, так и разработку микропрограммы (BIOS). Порт x16 нельзя автоматически разделить на два (логических) порта x8. Некоторые материнские платы имеют такие параметры конфигурации, и они обычно выбираются с помощью некоторых явных средств, таких как конфигурация BIOS или модификация коммутатора или платы маршрутизации, а также наличие двух слотов, по одному для каждого из возможных портов.
Однако довольно распространенным является использование коммутаторов PCIE. Такие коммутаторы позволяют одному порту PCIE (восходящему) обслуживать два (или более) нисходящих порта. Это не обязательно должно подразумевать преобразование логического символа x16 в логический символ x8 (хотя это может быть в зависимости от реализации), но обычно это подразумевает, что любое ограничение пропускной способности, установленное для восходящего порта, применяется в совокупности к нисходящим портам. Тем не менее, это довольно распространенная стратегия продукта, и вы можете найти примеры материнских плат, в которые встроены эти устройства (для эффективного предоставления большего количества слотов или портов), а также адаптеры/планары, которые можно подключить к существующему порту ( то есть слот) и предоставит несколько портов/слотов из этого единственного порта/слота.
В среде Linux для обнаружения этих топологий полезна команда lstopo
. Возможно, вам потребуется установить пакет hwloc
в вашем дистрибутиве Linux.
person
Robert Crovella
schedule
21.03.2016