How do PCI-E lanes work?

Status
Not open for further replies.

Sturmgewehr_44

Honorable
Jul 21, 2014
375
0
10,810
I've watched this video by Linus: https://www.youtube.com/watch?v=rctaLgK5stA

It is explained pretty well, but I'm still confused. How do PCIE lanes work exactly?

My 3770k has a mere 16 lanes. That is enough for just my 980...allegedly. However, I'm also using a Network card in a 1x slot as well. I don't notice any performance loss or lack of bandwidth. Are the amount of lanes just relevant for the 16x slot, or do the amount of devices in each PCIE-E slot add up to how many lanes the CPU supports?
 
Solution
as far as pcie lanes, it depends on your motherboard. You may have a pcie x16 (16 lanes) meaning that at least one slot is capable of pcie 16x. If they have two pcie slots, the specs will say something like pcie x16 or pcie x8/x8 or pcie x16/x8 . Meaning installing 1 card, it will use all 16 lanes. If it's x8/x8 that means it only has 16 lanes total and each card in dual configuration will use x8. If it says x16/x8 it means there are 24 lanes and the first card will use 16 while the second will only use 8. If it's 3 way sli or crossfire, then you might see something like x16/x8/x8 meaning the additional 2 cards will run at half the lanes as the first.
 

Math Geek

Titan
Ambassador
The chipset will allot the lanes to each device. Just the GPU plugged in will get all 16 lanes. Plug in others and lanes will be split between the devices. I don't think it is standard as to how they are split but dependent on the mobo.

Lots of debate out there but 8 lanes is plenty for any GPU on either 3.0 or 2.0 slot. This much most will agree on and I've never seen any proof to say otherwise.
 

Sturmgewehr_44

Honorable
Jul 21, 2014
375
0
10,810
I do understand that, and know PCIE 3.0 has no relevance, but because I'm also using a network card, would it half my 16x to 8x because I ran out of CPU bandwidth for PCI-E lanes?

The chipset does support more, but does it in the same sense as the CPU supporting 16 lanes? How come when I look up a 3770k or 4770k, it says 16 lanes max when most decent motherboards support more than that? What's the purpose?

 

Sturmgewehr_44

Honorable
Jul 21, 2014
375
0
10,810
So it will half the bandwidth that my 1x slot is allocating to my network card? Is that how it works? I understand that for the graphics card, but what about everything else?

How does the motherboard supported amount of PCIE lanes come into all this? Does my Sabertooth Z77 (I believe it supports 28 lanes in total), technically allow 12 more lanes because of this, or is this not how it works?

 

Math Geek

Titan
Ambassador
I don't believe the chipset adds any lanes but controls the lanes the CPU provides. The CPU can handle 16 lanes and that's it. Whatever combination of devices has to share the 16 lanes. A pcie x1 slot will get its lanes whether it needs them all or not. Each slot gets its allotment and only it can use them while its still installed. The use is not dynamic based on need.
 

Math Geek

Titan
Ambassador
Some mobo's have an add on chip too add lanes. I'm not sure his this works but it kind of fakes it so the CPU thinks its only using its max 16 lanes. I'm not well versed on these but I believe this is the basic idea.

But if a slot is allotted 4 lanes it gets them no matter what. So your 16 lanes can be split as 8 for the GPU and 8 for the network card even though it does not need all 8 lanes. A third device will probably split the 8 again leaving the network card with 4 and the 3rd item with 4.

In the end since 8 lanes (and maybe even 4 3.0 lanes) is enough splitting it up and faking lanes really makes no difference to overall performance
 

Sturmgewehr_44

Honorable
Jul 21, 2014
375
0
10,810
Are you sure?

Let's say I was running Tri-SLI on an X99 board, with a 5930k that supports 40 lanes in total, as in the video.

I could run them at 16x/16x/8x

That adds up to 40, which is the limit of the CPU.

What if I found out, I needed an add-on card or PCI-E SSD for certain purposes on top of all this? What would I do?

Are the CPU max lanes only relevant when occupying 16x or 8x slots?

I can check again, but I believe I'm running at PCI-E 3.0 16x with my 980, despite having a 1x Asus network card. Nothing is being splited.


Am I misunderstanding this whole concept? It is bloody confusing!

Am I correct in saying that only 8x and 16x slots add up to the supported PCI-E lanes on CPUs?

Would my 1x, 2x, or 4x lanes contribute in adding up to the 16 lanes in total for my 3770k?
 

Sturmgewehr_44

Honorable
Jul 21, 2014
375
0
10,810
Ah, that makes much more sense.

In fact, I did just check my Bios and I confirmed that my 980 is running at 16x link speed.

So you are saying the PCIE 2.0 1x and 4x slots don't have anything in common with the 8x/16x PCIE 3.0 slots and don't contribute to the overall amount of lanes?

I will check that link out, but it makes much more sense if that is true.

 


PCIe is rather complicated so I'll try to focus on answering just your question without getting into too much technical detail.

PCIe devices connect to the system through what's known as a root port, and each root port communicates with the system through a root complex. Each root complex controls one or more root ports.

Intel's CPUs that utilize the LGA-1156, LGA-1155, and LGA-1150 sockets have one 16x root port on the CPU. Intel's CPUs that utilize the LGA-2011 socket have three root ports on the CPU, two 16x and one 8x. These ports can be split into multiple sub ports in the following fashion.

Nehalem (excluding x58 based microprocessors), Westmere (excuding x58 based microprocessors, and Sandybridge: 16/0, or 8/8

Ivybridge, Haswell: 16/0/0, 8/8/0. 8/4/4

Sandybridge-E, Ivybridge-E, Haswell-E: 16/16/8/0/0/0/0/0/0/0 all the way down to 4/4/4/4/4/4/4/4/4/4 for up to 10 devices connected at once.

Each sub port can be individual down-negotiated, so it would be possible to configure an Ivybridge micrprocessor as 8/4/1 or 4/1/4. However, it is not possible to connect more than three devices to an Ivybridge or Haswell CPU without using an external PCIe switch, and it is not possible to connect more than two devices to Nehalem, Westmere, or Sandybridge.

In addition to the PCIe lanes exposed from the CPU itself, there is an additional 8x port on the PCH chipset. This port can be configured as 8/0/0/0/0/0/0/0 all the way down to 1/1/1/1/1/1/1/1 which is very ideal for connecting numerous low bandwidth add-in devices.
Most motherboards that include 4x and 1x slots connect those slots to these ports on the PCH, often with shared bandwidth. This enables the use of either a single 4x port in 4x mode, or a 4x port in 1x mode in addition to three 1x ports.

One of the beautiful aspects of PCIe is that it automatically negotiates link width. It is possible to insert a native 1x device into a full-speed 16x slot and have it run at 1x. The card will not be well secured but it will work. Furthermore, it is possible to cut the connector on a native 16x device (don't do this) and insert it into a 1x slot. If power requirements are satisfied, it will work at 1x link width. Similarly, placing tape over some of the connectors on a 16x device can reduce it to 8x, 4x, or 1x as appropriate.

Almost all graphics cards are native 16x devices but this is really just to take advantage of the 75 watts of power that 16x slots are required to deliver when requested. The bandwidth provided by a 16x slot is almost always sufficient; performance would only be impacted by utilizing a modern graphics card on a very old motherboard. For example, running a GTX 980 (native 16x PCIe 3.0) at 4x PCIe 1.1 may cause problems, but running it at 8x PCIe 3.0 will have a negligible impact on performance.
 

endeavour37a

Honorable


Reading through this thread I take it you have a Sabertooth Z77 board. Your graphics cards should go in the 2nd and 4th slot, with one card you have 3.0 x16, with 2 cards you have 3.0 x8 /x8, it splits the 3.0 lanes.
All other slots are 2.0 slots/lanes and do not effect the 3.0 lanes. The small x1 slots have 2.0 x1 lane to work with, your 2.0 x16 slot has 4 lanes to work with.

Reason I say this is to let you know to not use the 4th slot (from the CPU) for anything except for another graphics card, it will split the 3.0 lanes if you do.

Nice explanation Pinhead, my complements as I learned something from you also on how they are split up as root ports, a bit over my simple mind.... :)
 
Solution
Status
Not open for further replies.