Was ist eine PCI-Express Lane?

37

Ich lese einen Artikel, der beklagt, dass i7-5820K nur 28 PCI-Express-Lanes im Vergleich zu seinen Geschwisterprozessoren mit 40 Lanes haben wird.

Sind nicht schon 28 Fahrspuren zu viel? Wie viele Spuren würde ein normaler Heim-PC tatsächlich benötigen und zu welchen Zwecken?

Ich weiß nicht, wie die folgenden mit PCIe verbunden sein würden, aber haben sie sogar die Nummer 28?

2 Festplatten, 1 SSD, 1 CD-DVD-BR, Kartenleser, Drucker, WLAN oder LAN, aber selten beides, Joystick, Tastatur, Maus, Grafik.

Welche anderen Möglichkeiten würden einen direkten Zugriff auf PCIe für einen Heim- / Büro-PC erfordern? Oder sogar einen Server.

Gesegneter Aussenseiter
quelle

Antworten:

62

Viele Geräte verwenden mehr als eine Spur.

Zum Beispiel - Gaming-Grafikkarten verwenden 16 Bahnen. Einige leistungsstarke Gaming-Computer verfügen über zwei Grafikkarten - das sind 32 PCIe-Lanes (zwei x16-Ports).

Intel i7-5820K kann nicht mit zwei x16-Grafikkarten umgehen. Für einige Gaming-Enthusiasten oder einige Ingenieure kann dies ein ernstes Problem sein. Sie müssen möglicherweise eine andere CPU (möglicherweise Xeon) auswählen, wenn sie mehr als 4 Kerne und zwei x16-Grafikkarten benötigen.

PCIe-SSD-Laufwerke verwenden auch mehrere PCIe-Lanes (x4 oder x8).

Viele Gigabit-Netzwerkadapter verwenden PCIe x4, es gibt auch 10-Gigabit-Serveradapter und sie verwenden PCIe x8.

28 Fahrspuren ist nicht so viel. Wenn ein Motherboard-Hersteller einen x16-Steckplatz, einen x8-Steckplatz und einen x4-Steckplatz (insgesamt x28) anbietet, können Sie dort nur 3 Geräte verwenden und ... das ist alles.

Hier ist ein Bild aus dem Wikipedia PCIe-Artikel . Ich habe Informationen zu Spuren in diesen PCIe-Steckplätzen hinzugefügt.

Bildbeschreibung hier eingeben

Sie können mehr in einer anderen Antwort lesen , die von reirab geschrieben wurde .

Kamil
quelle
1
Zwei Grafikkarten könnten wahrscheinlich beim schnellen Rendern sehr hilfreich sein, aber ich weiß nicht viel über das Rendern von Animationsfilmen. Für Java / Eclipse wird es mehr als genug sein. Eclipse ist eine sehr langsame IDE (ich denke NetBeans ist schneller und besser für Java), aber ich verwende Eclipse mit Java / Android SDK und auf meinem alten Laptop (Core 2 Duo T9300, SSD) funktioniert es nicht so schlecht.
Kamil
2
Storyboard-Animation und Anime rendern nicht intensiv. Es ist intensiv mit der Berechnung / Extrapolation der Gelenke und der Bewegung eines Charakters, wenn der Charakter in Bewegung versetzt wird. Netbeans basiert auf Swing / AWT. Eclipse basiert auf SWT. IBM hat SWT erfunden, um den Zugriff auf native Grafik-I / O-Vorgänge einigermaßen zu ermöglichen, von denen behauptet wird, dass sie schneller sind als AWT.
Blessed Geek
3
Gigabit-Netzwerkkarten mit einem Port benötigen keine mehreren Lanes. Sogar eine PCIe 1.0-Lane bietet 250 MBit / s = 2000 GBit / s Bandbreite. Dies reicht aus, um 50% Overhead-Verluste zu ermöglichen und gleichzeitig einen Gigabit-Port gesättigt zu halten. Multiport-Gigabit-Karten können mehr als eine Spur benötigen. Aber wenn Sie sich darauf beziehen, sollten Sie genauer sein, da sie im Allgemeinen nicht außerhalb eines Serverraums zu sehen sind.
Dan Neely
6
Ein kleines Problem mit dem Lane-Konzept: PCI-E-Lanes sind Punkt-zu-Punkt-Lanes. 28 dieser Fahrspuren können am Core i7 enden. Einige teure Motherboards verfügen jedoch über einen PCI-e-Switch, mit dem zwei Grafikkarten direkt über die CPU kommunizieren können. Das heißt, Sie haben keine 2x16 Spuren, die auf der CPU enden.
MSalters
2
Gute Antwort, aber ich möchte nur darauf hinweisen, dass LinusTechTips PCIe 3.0 SLI mit einer 28-Lane-CPU im Vergleich zu einer 40-Lane-CPU verglichen hat und die 16x / 8x vs. Unterschied: youtube.com/watch?v=rctaLgK5stA Es kann also wirklich von der Hardware / dem Anwendungsfall abhängen, ob es darauf ankommt, ob die Bandbreite der gesamten Spur erreicht wird oder nicht.
Abe Voelker
26

Eine PCIe-Lane besteht aus zwei unterschiedlichen Signalpaaren. Ein differentielles Paar wird zum Senden und das andere zum Empfangen verwendet, was eine gleichzeitige bidirektionale Kommunikation ermöglicht. Jede Spur ist Punkt-zu-Punkt. Das heißt, jede Lane verbindet einen einzelnen Host direkt mit einem einzelnen Gerät. PCIe-Switches können jedoch verwendet werden, wenn eine Host-Lane von mehreren Geräten gemeinsam genutzt werden muss. Gemäß Wikipedia ist die Bandbreite einer einzelnen PCIe-Lane (in jede Richtung) wie folgt:

  • PCIe 1.x: 250 MB / s
  • PCIe 2.x: 500 MB / s
  • PCIe 3.0: 985 MB / s
  • PCIe 4.0: 1969 MB / s
  • PCIe 5.0: 3,9 GB / s

Wie Kamil sagte, verwenden die meisten PCIe-Geräte mehrere Lanes. Einige Geräte wie Netzwerkkarten, Soundkarten und andere Geräte mit relativ geringer Bandbreite verwenden nur eine Spur. SSDs, RAID-Controller und andere Geräte mit mittlerer Bandbreite verwenden normalerweise 4 oder 8 Lanes. Grafikkarten und andere Geräte mit hoher Bandbreite (z. B. FPGAs) verwenden normalerweise 16 Lanes. Beim Systemstart verhandeln der Host und das Gerät die Anzahl der Lanes, die für eine bestimmte Verbindung verwendet werden. In der Regel wird entweder die kleinere Anzahl von Lanes, für die die Karte verkabelt ist, oder die Anzahl von Lanes, für die der installierte Slot verkabelt ist (dh die maximal mögliche physische Anzahl), ausgehandelt, obwohl die Anzahl in Fällen, in denen dies der Fall ist, geringer sein kann Es sind so viele PCIe-Geräte installiert, dass der Host nicht über genügend Lanes verfügt, um jedem das Maximum zu geben.

Einige Chipsätze verwenden auch einige der PCIe-Lanes, um die Southbridge zu verbinden. So funktionierte der Intel x58-Chipsatz (der Chipsatz für die Bloomfield-Chips, das High-End der Core i7-Prozessoren der ersten Generation). Die Southbridge war vierspurig, für alles andere blieben 36 Spuren übrig. Dies wurde in der Regel in zwei 16-Lane-Links für Grafikkarten und vier Lanes für andere Geräte aufgeteilt. Karten, die 3 oder 4 Grafikkarten unterstützen, müssten bei Installation von 3 oder 4 Grafikkarten einige oder alle Grafikkarten auf 8 Lanes reduzieren.

In Spielesystemen ist es sehr verbreitet, 2 Grafikkarten zu haben, und viele Spielesysteme haben tatsächlich 3 oder 4 Grafikkarten. Selbst bei einer Konfiguration mit zwei Karten muss mindestens eine Karte in einem System mit nur 28 verfügbaren Bahnen auf den x8-Modus zurückgreifen. Außerdem sind auf Systemen, die Grafikkarten als Rechenbeschleuniger verwenden, häufig 2-4 Grafikkarten installiert. In diesen Situationen ist nur das Vorhandensein von 28 Lanes ein Problem, da dies die für jede Karte verfügbare Bandbreite von Host zu Gerät (und von Gerät zu Host) stark einschränkt. Insbesondere CUDA hat in den letzten Jahren eine breite Popularität erlangt, insbesondere in der High-Performance-Computing-Community. Der PCIe-Bus kann sehr leicht zum Engpass bei GPGPU-Anwendungen (General Purpose Computing auf Grafikprozessoren) werden.

reirab
quelle
1
Das ist eine schöne Ergänzung für meine Antwort.
Kamil
0

Eine PCIe-Lane ist ein Paar von seriellen Hochgeschwindigkeitsdifferentialverbindungen, eine an jedem Standort. Eine Verbindung zwischen Geräten kann und wird häufig aus mehreren Spuren für höhere Datenraten hergestellt. Die Datenraten der einzelnen Spuren variieren ebenfalls je nach Generation. Grob gesagt liefert eine Spur von Gen x ungefähr die gleiche Datenrate wie zwei Spuren von Gen x-1.

Auf modernen Intel-Systemen werden einige PCIe-Lanes direkt von der CPU bereitgestellt, während andere vom PCH im Chipsatz bereitgestellt werden. Die Verbindung von der CPU zum Chipsatz ähnelt der von PCIe, es gibt jedoch Unterschiede in den Details.

Motherboard-Anbieter müssen entscheiden, wie die von der CPU und dem PCH bereitgestellten Lanes den integrierten Geräten und Steckplätzen zugewiesen werden. Sie können und enthalten häufig Signalschalter, um dem Benutzer einige Optionen zu bieten, aber es gibt eine Grenze dafür, wie viel Signalschalter kostengünstig implementiert werden können.

Intels "Mainstream Desktop" -Plattformen verfügen derzeit über 16 Lanes von der CPU sowie bis zu 24 Lanes (abhängig vom ausgewählten Chipsatz) vom Chipsatz. Die Lanes des Chipsatzes sind jedoch durch die gesamte Bandbreite begrenzt, die der CPU für den Chipsatz zur Verfügung steht (entspricht in etwa PCIe 3.0 x4 IIRC).

16 Lanes von der CPU und 24 Lanes vom Chipsatz reichen für einen normalen Desktop- oder kleinen Server nicht aus. Sie können Ihre Grafikkarte auf die 16 Lanes von der CPU und dann auf die Lanes vom Chipsatz plus die im Chipsatz integrierten Controller setzen Ausreichend für Storage, Networking usw. Selbst mit zwei GPUs reichen meistens 8 Lanes pro GPU aus.

Wenn Sie jedoch ein High-End-System mit 3+ GPUs (oder möglicherweise zwei erstklassigen GPUs) aufbauen, sind viel schneller Speicher und / oder sehr schnelle Netzwerkschnittstellen mit mehr Spuren wünschenswert. Wenn Sie jedem Gerät die maximal mögliche Kapazität zuweisen möchten, sehen Sie sich 16 Lanes pro GPU an.

Für diejenigen mit höheren Ansprüchen hat Intel einen High-End-Desktop-Sockel, derzeit LGA2066. Dieser Sockel deckt auch Workstation- / Server-Systeme mit einem Sockel ab, obwohl die Workstation- / Server-Prozessoren in den meisten Desktop-Boards anscheinend offiziell nicht verwendet werden können.

Leider war bei früheren Generationen von High-End-Desktops die Anzahl der PCIe-Lanes und RAM-Kanäle festgelegt. Bei LGA2066 variiert die Anzahl jedoch je nach ausgewähltem Prozessor. Eine Desktop-LGA2066-CPU kann 16, 28 oder 44 PCIe-Lanes haben.

Dies bringt Motherboard-Anbieter in eine schwierige Lage. Sie müssen entscheiden, wie sie damit umgehen, den echten High-End-Kunden die volle Funktionalität ihrer CPU zu bieten, während sie entscheiden, was für diejenigen mit Low-End-CPUs deaktiviert oder gedrosselt werden soll. Systemhersteller müssen wiederum die Handbücher für die Motherboards sorgfältig lesen, um herauszufinden, welche Einschränkungen bestehen, bevor sie kaufen.

Grabbing das Handbuch für eines der billigeren X299 Platten https://dlcdnets.asus.com/pub/ASUS/mb/LGA2066/TUF_X299_MARK2/E12906_TUF_X299_MARK2_UM_WEB.pdf zeigt , dass die Hauptbegrenzung die x16 - Steckplätze ist, auf einem 44 Spur CPU alle drei Steckplätze können mit zwei im x16-Modus und einem im x8-Modus verwendet werden. Auf der anderen Seite erhalten Sie auf einer 28-Lane-CPU eine x16 eine x8 und eine unbrauchbare und auf einer 16-Lane-CPU erhalten Sie nur eine x16 oder zwei x8.

Greifen Sie nach dem Handbuch für ein X299-High-End-Board https://dlcdnets.asus.com/pub/ASUS/mb/LGA2066/ROG_RAMPAGE_VI_EXTREME_OMEGA/E15119_ROG_RAMPAGE_VI_EXTREME_OMEGA_UM_V2_WEB.pdf . Mit dieser Karte können Sie drei GPUs auf einer 28-Lane-CPU verwenden, der zweite m.2-Steckplatz und der u.2-Anschluss sind jedoch nur bei 44-Lane-CPUs verfügbar

Plugwash
quelle