[SOLVED] Understanding PCIe and10gb Ethernet

Nov 24, 2020
6
0
10
Hello,

I am considering purchasing a NAS device that supports 10gb ethernet speeds. However before I do I want to be sure my current PC can support a 10gb ethernet PCIe card. I do not fully understand how PCI works. I understand there are various lanes 1, 4, 8, and 16 and there are different generations 1-5 that affect the speed but I do not fully understand how my CPU affects the number of PCIe cards my system can support. My system is as follows:

CPU: Intel Core i7-7700K 4.2GHz, 4200 Mhz, 4 cores, 8 logical processors
Motherboard: Maximus IX Hero
RAM: 32gb (not sure about the make and model)
Graphics card: GTX 1080 Ti (using a 16 lane slot, says "PCIEX16/X8_i" on motherboard)
Sound card: Sound Blaster Z (using a 1 lane slot, says "PCIEX1_3" on the motherboard)

If I am understanding what is written correctly I believe the "PCIEX1_3" means the slot has one lane and is generation three and the "PCIEX16" indicates the slot is 16 lanes. What I do not understand is what the "X8_i" means. If someone could explain that in laymans terms I would be very grateful. Regardless, based on the information provided, could my current set up support a 10gb ethernet card in one of the remaining PCIe slots? Whether yes or no, my real question is why. How does the CPU allocate resources? A gentleman at my local Microcenter explained that my CPU could only support 16 lanes or something. I did not fully understand him. he said my graphics card used 8 lanes and my sound card four, was he correct? Based on the PCIe slots I would assume my graphics card used 16 lanes and my sound card 1 for a total of 17, which doesn't match what he said. What am I not understanding?

Thank you for taking the time to read and respond to my inquiry.
 
Solution
Okay let's start from the bottom.
PCI-E is a protocol, not a physical standard. Almost everything in your computer is connected via PCI-E to your cpu or chipset, even stuff like usb and sata. they aren't pci-e themselves, but they connect back to your cpu or chipset with it.

Why either the cpu or the chipset? The cpu provides 16 lanes, but the chipset also provides some. I'm pretty sure Z270 (which your board is) supports 8 more open lanes. (there are more, but they are allocated to sata or usb or whatever I think)
As for the PCI-E slots, that is a physical standard that lets you plug things in that use the pci-e bus to talk to your pc, like a graphics card, soundcard, or network card.

Your pc will default to this configuration:
The...
Okay let's start from the bottom.
PCI-E is a protocol, not a physical standard. Almost everything in your computer is connected via PCI-E to your cpu or chipset, even stuff like usb and sata. they aren't pci-e themselves, but they connect back to your cpu or chipset with it.

Why either the cpu or the chipset? The cpu provides 16 lanes, but the chipset also provides some. I'm pretty sure Z270 (which your board is) supports 8 more open lanes. (there are more, but they are allocated to sata or usb or whatever I think)
As for the PCI-E slots, that is a physical standard that lets you plug things in that use the pci-e bus to talk to your pc, like a graphics card, soundcard, or network card.

Your pc will default to this configuration:
The top slot is a 1X slot connected to the cpu 1_1.
The 2nd slot (from the top) Is a 16X slot connected to the cpu 16/8_1.*
The 3rd slot is a 1X slot connected to the chipset 1_2.
The 4th slot is an 8X slot connected to the cpu 8_2.
The 5th slot is a 1X slot connected to the chipset 1_3, and shares bandwidth with 4_3.
The 6th slot is a 16X PHYSICAL slot, BUT 4X PROTOCOL slot 4_3, and shares bandwidth with 1_3.

* If there are 2 bi-furcated cards, say, you we're going SLI with 2 gpus, 16_1 will instead become an 8X slot, and give the other 8X to 8_2, helping them work together. If you just put 2 unrelated cards, it will be a 16_1 will stay 16 and 8_2 will still be 8, just, different 8.
What does all this mean?
The cpu and chipset manage these dynamically.
You can populate ALL the slots, with 16X for the 3 16X physical slots, and 3 1X cards for the 1X physical slots.
Not all of them will be able to access all the bandwidth, with priority going to the top most slots I think.
Say, you have a gpu in 16_1, and a network card in 8_2.
Let's say the network card uses and needs all 8 lanes.
Your gpu might, and probably won't need all the 16X lanes right then, so the cpu might allocate the bandwidth to the slot that needs it more right then.
 
  • Like
Reactions: SockPuppeteer
Solution
Nov 24, 2020
6
0
10
Thank you for your prompt and informative response. I think I understand better now. Is the number of lanes supported based on the number of CPU cores? 4 cores provides 4 lanes each for a total of 16? Also thank you for clarifying what the "X8" on the 16 slot meant. that makes sense. Based on the information you've provided I believe my PC could support this card:

https://www.newegg.com/startech-st20000spexi/p/N82E16833114147?&quicklink=true

Since the network card utilizes a PCIe x4 slot it shouldn't impact performance of any of the other cards correct? 16 lanes are used by the GPU and 4 by the soundcard that would leave the remaining 4 for the network card, am I understanding this correctly?
 
Thank you for your prompt and informative response. I think I understand better now. Is the number of lanes supported based on the number of CPU cores? 4 cores provides 4 lanes each for a total of 16? Also thank you for clarifying what the "X8" on the 16 slot meant. that makes sense. Based on the information you've provided I believe my PC could support this card:

https://www.newegg.com/startech-st20000spexi/p/N82E16833114147?&quicklink=true

Since the network card utilizes a PCIe x4 slot it shouldn't impact performance of any of the other cards correct? 16 lanes are used by the GPU and 4 by the soundcard that would leave the remaining 4 for the network card, am I understanding this correctly?
If you say, put the gpu in 16_1, the soundcard in 8_2, and the network card in 4_3 AND NO CARD IN 1_3, then yes.