Frage Motherboard Lane Routing

Noah1801

Mitglied
Mitglied seit
Sep 17, 2019
Beiträge
22
Bewertungspunkte
1
Punkte
2
Alter
24
Hallo liebe Community,

hat jemand eine Idee, woran man eine direkte Verbindung der PCIe Slots mit der CPU erkennen kann?
Ich nutze Linux mit GPU passthrough und möchte zukünftig IOMMU Gruppen nicht manuell seperieren müssen. :D

LG Noah
 
Um welches Mainboard geht es den überhaupt?

Schau mal ins handbuch rein den dort sollte stehen welche slots direkt an die CPU und welche über den "extra Chip" angebunden sind.
 
Jo, Lane-Anbindung steht im Handbuch vom Mainboard. Die IOMMU-Gruppen allerdings nicht, das ist u.a. BIOS-abhängig und muss man im Zweigel selbst herausfinden bzw. ergooglen.
 
Um welches Mainboard geht es den überhaupt?

Schau mal ins handbuch rein den dort sollte stehen welche slots direkt an die CPU und welche über den "extra Chip" angebunden sind.
Das Mainboard, um welches es geht existiert noch nicht :D Ich frage rein aus Interesse, damit ich die Problematik in Zukunft (wer weiß, vielleicht bei Intel 14th gen/ Ryzen 8000) vermeiden kann.
 
Testweise habe ich mal in die Bedienungsanleitung vom X570 Taichi geschmökert, habe aber nur die Konfiguration im Fall von mehreren Grafikkarten gefunden. 2.4, Seite 29. Steht leider nichts bezüglich der Anbindungen. :/
 
Vereinfacht erklärt haben die aktuellen AMD-Boards (ausser Serverplattformen) immer 16 Lanes für die Grafikkarten, 4 für die erste M.2-SSD und 4 für den Chipsatz an dem alles andere hängt. Je nach Board kann es etwas anders aussehen, aber der Grundsätzliche Aufbau ist meist gleich.

Wenn im 2. PCIe 16x-Steckplatz etwas verbaut ist, zweigt der per Switch 8 Lanes vom ersten PCIe x16 ab. Falls ein 3. PCIe x16 oder x8 vorhanden und belegt ist, zweigt der 4 Lanes vom 2. ab. So ist bei den x16-PCIe-Steckplätzen 1 x16 oder 2 x8 oder 1 x8 + 2 x4 möglich. Alle kleineren Steckplätze werden vom Chipsatz versorgt.

Von der ersten M.2 werden teilweise Lanes für den 2. M.2 oder gewisse SATA-Anschlüsse abgezweigt. Manchmal hängt aber auch alles am Chipsatz. Auch Lanes vom Chipsatz können gesplittet sein. Das ist je nach Board angegeben, wenn gewisse Steckplätze einzelne SATA-Anschlüsse deaktivieren.

Mit Linux kenne ich mich nicht aus. Aber grundsätzlich kann ein Betriebssystem nichts anderes daraus machen als auf dem Board verkabelt ist.
 
Vereinfacht erklärt haben die aktuellen AMD-Boards (ausser Serverplattformen) immer 16 Lanes für die Grafikkarten, 4 für die erste M.2-SSD und 4 für den Chipsatz an dem alles andere hängt. Je nach Board kann es etwas anders aussehen, aber der Grundsätzliche Aufbau ist meist gleich.

Wenn im 2. PCIe 16x-Steckplatz etwas verbaut ist, zweigt der per Switch 8 Lanes vom ersten PCIe x16 ab. Falls ein 3. PCIe x16 oder x8 vorhanden und belegt ist, zweigt der 4 Lanes vom 2. ab. So ist bei den x16-PCIe-Steckplätzen 1 x16 oder 2 x8 oder 1 x8 + 2 x4 möglich. Alle kleineren Steckplätze werden vom Chipsatz versorgt.

Von der ersten M.2 werden teilweise Lanes für den 2. M.2 oder gewisse SATA-Anschlüsse abgezweigt. Manchmal hängt aber auch alles am Chipsatz. Auch Lanes vom Chipsatz können gesplittet sein. Das ist je nach Board angegeben, wenn gewisse Steckplätze einzelne SATA-Anschlüsse deaktivieren.

Mit Linux kenne ich mich nicht aus. Aber grundsätzlich kann ein Betriebssystem nichts anderes daraus machen als auf dem Board verkabelt ist.
Wie die Verteilung der Anzahl der Lanes erfolgt, ist mir bewusst. Allerdings nicht, wohin diese gehen.

Beispiel:
Ryzen 5 2600
MSI B350 PC Mate
Samsung SM951 128GB NVME SSD
Radeon RX 580 an PCIe x16 Slot (elektrisch mit x16 angebunden)
GeForce GTX 750 an PCIe x16 Slot (mit x8 angebunden)
Gigabyte WiFi Karte an PCIe x1 Slot

Rein theoretisch könnte diese Konfiguration wie folgend angebunden werden:
20 PCIe Lanes (4 für m.2 SSD reserviert)
- SSD x4 (CPU)
- AMD GPU x8 (CPU)
-Nvidia GPU x8 (CPU)
= 0 vorhande Lanes

Dazu kommt aber ja die WiFi Karte, welche mit x1 angebunden werden muss. Rein theoretisch kann dieser allerdings auch vom Chipsatz übernommen werden. In der Praxis sieht das allerdings ein wenig anders aus. Die GTX 750 wird mit PCIe x1 angesteuert und wird durch das Motherboard geschleift. Erkennbar an der IOMMU Gruppe, in welcher sich die Karte befand. Dort fanden sich diverse andere Controller, was durch das Durchschleifen durch den Chipsatz passiert. Eine direkte Anbindung an die CPU bedeutet, dass sich die Karte nicht eine IOMMU Gruppe teilen darf.
Daher kam mir die Eingangsfrage ja auf. Ich möchte die Aufteilung der Gruppen beim Basteln des nächsten Rechners nicht unbedingt manuell aufteilen müssen, weil die zweite Karte durch den Chipsatz rennt.
 
Sag uns doch gleich, welche Hardware du hast und wo das Problem liegt.

In den technischen Daten des Mainboards ist das so aufgeführt:
Slots
• 1 x PCIe 3.0 x16 slot (PCI_E2)
- Supports x 16 speed with RYZEN Series Processors
- Supports x 8 speed with 7th Gen A-series/ Athlon™ processors
• 1 x PCIe 2.0 x16 slot (PCI_E4, supports x4 mode)*
• 2 x PCIe 2.0 x1 slots
• 2 x PCI slots
* PCI_E4 slot will support PCIe 2.0 x2 only, when installing device in any PCIe x1 slot.

Hier steht nichts von SLI-Support oder einer Aufteilung der Lanes x8 + x8. Die 16 Lanes gehen somit fix zum ersten PCIe x16.

Die 1. M.2 scheint sich die Lanes dann mit einigen SATA-Ports zu teilen. Alles andere wie die restlichen PCIe-Slots hängt zwangsläufig am Chipsatz.
 
Sofern also nicht steht, dass die Slots aufgeteilt werden können, wird auch nichts aufgeteilt? Ich dachte immer, dass ein x16 Gerät dann einfach auf x8, x4, x2 und x1 laufen kann.
 
Für die 2 oder 3 PCIe x16-Steckplätze gibt eigentlich nur die Aufteilungen x16 oder x8 + x8 oder x8 + x4 + x4 . Das steht dann auch so in der Mainboardbeschreibung und im Handbuch. Diese Schaltungen der Lanes sind auch fest so verbaut. Man kann daran also Softwaremässig nichts verändern. Wenn eine karte im ersten PCIe 16x-Steckplatz sitzt, bekommt diese alles 16 Lanes. Wenn im zweiten 16x-Steckplatz eine karte steckt, schlten 8 Lanes vom ersten auf den 2. Platz um. Wenn auch im dritten 16x-Steckplatz etwas verbaut wird, schalten 4 Lanes vom 2. zum 3. um. Daran kann man auch Softwaremässig nichts verändern. Ein Gerät passt sich dann schon an die maximalen Lanes an, die es bekommen kann. Aber maximal sind eben nur die Aufteilungen möglich, die auf dem Board verbaut sind.

Alles andere hängt normalerweise am Chipsatz (ausser die erste M.2).
 
Oben Unten