PCIe lane question

Apr 17, 2018
39
0
30
I have searched for an answer but am still a little confused on something about chipset/cpu lanes and how they're divided.

I am looking to do a build with an ASRock x370 Killer SLI/ac
(https://www.asrock.com/mb/AMD/X370%20Killer%20SLIac/index.us.asp)

and a Ryzen 5 2400g. Now the cpu has x8 GPU PCIe lanes, and the x370 chipset has 8 gen 2 lanes.

I plan on having an M.2 SSD, and SATA 3 hard drive, and another (inexpensive) discrete graphics card (I want to run dual monitors, but the Vega chips on the 2400g are plenty for my needs).

So how will the PCI lanes be divided? Are the 8 lanes on the CPU only for the a discrete graphics card? The ASRock website says that there are 2 PCI3 x16 slots (single at x16 (PCIE2); dual at x8 (PCIE2) / x8 (PCIE4)), 4 PCI2 x1 slots, an ultra M.2 slot that is PCI gen3 x4, another M.2 slot that is PCI gen2 x2.

Since the CPU has graphics onboard, does that use any lanes? If there are 8 on the CPU and (if I'm reading correctly) 16 on the board, then I have 24 total? Am I correct in thinking that 4 motherboard lanes will be allocated to the M.2 drive (if I plug it into the ultra slot), no lanes will be allocated to the SATA drive, and the discrete card will be allocated the 8 from the CPU? So, please correct me if I am wrong, but that is 24 (total) - 4 (m.2 drive) - 8 (discrete graphics) = 12 lanes left over? If I did not use a discrete graphics card, could I allocate those 8 CPU lanes to another peripheral?

Thank you for any guidance!

P.S. I used to build computers and networks almost 20 years ago, when ATA drives barely reached a few GB and 64mb of RAM was high-end. I haven't built one in that time, so I've missed all of the advancements!
 
Solution
Let's say I go with the original board I proposed and no discrete GPU, then I'll have the 8 lanes from the CPU free + the 8 lanes from the mobo, right? Why wouldn't the m.2 drive use the lanes from the board rather than the CPU? Do peripherals prefer the CPU lanes, and resort to the ones provided by the board when they need to?

The lanes from the CPU are dedicated to graphics because Ryzen CPUs dont have integrated graphics. So it reserves those lanes because the CPU has to be paired with a GPU to run. While the 2400g does have integrated graphics, it is built on the same platform as the Ryzen CPUs. So to make the difference CPUs work together on one platform, the 8 lanes from the 2400g have to be dedicated to graphics...
The 2400g only provides x8 lanes of PCIe 3.0. So if you put a GPU in the PCIe slot, it will use all of those lanes. If you want to add a PCIe m.2 SSD, it will use x4 lanes. So your GPU will only run on x4 lanes. Which is fine, for an older GPU that supports only x4 lanes of PCIe 3.0.

But you really should not buy a x370 motherboard to pair with a 2400g. You would save money by getting a b350 board. I would also consider looking at a b450 board for your 2400g that supports dual monitor setups. You don't need to run a separate GPU to run dual monitors on the 2400g, you just need a motherboard that has more than one HDMI/DP connection.

Here is a gigabyte b350 board that will support dual monitors with your 2400g. This way you wont need the additional GPU and you will still have plenty of lanes. This mobo should be cheaper than the x370 you listed above.

https://www.gigabyte.com/Motherboard/GA-AB350N-Gaming-WIFI-rev-10#kf
 
feelinfroggy, I didn't know about the gigabyte board with two HDMIs. It's obviously an easier solution for me. I was looking for a board with that, but because I was looking for x370 boards, I couldn't find any.

I also found this b350 board that supports 2 HDMIs
https://www.asrock.com/mb/AMD/Fatal1ty%20AB350%20Gaming-ITXac/index.us.asp

But I'm still a little unclear on the PCIe lane thing because your answer didn't include the lanes on the motherboard. Let's say I go with the original board I proposed and no discrete GPU, then I'll have the 8 lanes from the CPU free + the 8 lanes from the mobo, right? Why wouldn't the m.2 drive use the lanes from the board rather than the CPU? Do peripherals prefer the CPU lanes, and resort to the ones provided by the board when they need to?

Basically, when figuring out the total lanes available, do you add the ones from the CPU and motherboard together? And what decides which peripherals use which ones, the CPU or chipset? Do certain peripherals only use certain lanes, or can you allocate them as you wish?
 
Let's say I go with the original board I proposed and no discrete GPU, then I'll have the 8 lanes from the CPU free + the 8 lanes from the mobo, right? Why wouldn't the m.2 drive use the lanes from the board rather than the CPU? Do peripherals prefer the CPU lanes, and resort to the ones provided by the board when they need to?

The lanes from the CPU are dedicated to graphics because Ryzen CPUs dont have integrated graphics. So it reserves those lanes because the CPU has to be paired with a GPU to run. While the 2400g does have integrated graphics, it is built on the same platform as the Ryzen CPUs. So to make the difference CPUs work together on one platform, the 8 lanes from the 2400g have to be dedicated to graphics. Technically, the 2400g has 16 lanes, but the integrated graphics takes up 8 on its own. So the M.2 drive uses lanes from the chipset instead because that is how Ryzen was designed to have bandwidth for graphics.

In the end, the 2400g only has 8 lanes of bandwidth available for the system. All of the PCIe lanes in the system flows to the 8 lanes on the CPU. Think of a freeway that has 4 lanes of traffic. It may have a dozen entrance and exit ramps, but it is only 4 lanes and those 4 lanes can only hold "x" amount of cars. The chipset is able to manipulate the bandwidth in a way that devices can send data over the lanes from the chipset. But when it gets to the CPU, it will only run at the CPU native bandwidth. Which in the case of the 2400g is 8x lanes of PCIe 3.0.
 
Solution