Comment on Why aren’t motherboards mostly USB-C by now?

orclev@lemmy.world ⁨7⁩ ⁨months⁩ ago

So, much as I hate to admit it, the real reason for this is bandwidth. Lets look at the best case scenario without dipping our toes into server grade hardware. AMD CPUs tend to have more I/O bandwidth allocated than Intel, so we’ll take the top of the line desktop AMD CPU as of right now, the Ryzen 9 7950X (technically the X3D version is the actual top of the line, but that makes certain tradeoffs and for our purposes in this discussion both chips are identical).

On paper, the 7950X has 24 PCIe 5.0 lanes, and 4 on board USB 3.2 ports on its built in USB controller. So already we could have a maximum of 4 type-C ports if we had no type-A ports, however in practice most manufacturers opt to split the difference and go with 1 or 2 type-C ports and the remaining 2 or 3 ports as type-A. You can have more USB ports of course, but you need to then include a USB controller on your motherboards chipset, and that in turn needs to be wired into the PCIe bus which means taking up PCIe lanes, so lets take a look at the situation over there.

We start with 24 PCIe lanes, but immediately we’re going to be sacrificing 16 of those for the GPU, so really we have 8 PCIe lanes. Further, most systems now use NVMe M.2 drives, and NVMe uses up to 4 PCIe lanes at its highest supported speed. So we’re now down to 4 PCIe lanes, and this is without any extra PCIe cards or a second NVMe drive.

So, now you need to plug a USB controller into your PCIe bus. USB 3.2 spec defines the highest supported bandwidth as 10 Gbps. PCIe 5.0 defines the maximum bandwidth of a single PCIe lane as a bit over 31 Gbps. So the good news is, you can successfully drive up to 3 USB 3.2 ports off a single PCIe 5.0 lane. In practice though USB controllers are always designed with even numbers of ports, typically 2 or 4. In the case of 4, one lane isn’t going to cut it, you’ll need at least 2 PCIe lanes.

I think you can see at this point why manufacturers aren’t in a huge rush to slap a ton of USB type-c connectors on their motherboards. With a modern desktop there’s already a ton of devices competing for limited CPU I/O bandwidth. Even without an extra USB controller added in it’s already entirely feasible to come dangerously close to completely saturating all available bandwidth.

source
Sort:hotnewtop